@doyourjob/gravity-ui-page-constructor-addons 2.1.30 → 2.1.32

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 (77) hide show
  1. package/build/cjs/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.css +166 -0
  2. package/build/cjs/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.d.ts +3 -0
  3. package/build/cjs/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.js +55 -0
  4. package/build/cjs/components/NewHeader/components/NHLoginButton/NHLoginButton.css +1 -1
  5. package/build/cjs/components/NewHeader/components/NHLoginPopup/NHLoginPopup.css +5 -31
  6. package/build/cjs/components/NewHeader/components/NHLoginPopup/NHLoginPopup.js +3 -4
  7. package/build/cjs/components/NewHeader/components/NHNavigation/NHNavigation.js +5 -21
  8. package/build/cjs/components/NewHeader/components/NHPopupItem/ArrowRight.d.ts +2 -0
  9. package/build/cjs/components/NewHeader/components/NHPopupItem/ArrowRight.js +8 -0
  10. package/build/cjs/components/NewHeader/components/NHPopupItem/NHPopupItem.css +50 -55
  11. package/build/cjs/components/NewHeader/components/NHPopupItem/NHPopupItem.d.ts +1 -7
  12. package/build/cjs/components/NewHeader/components/NHPopupItem/NHPopupItem.js +12 -17
  13. package/build/cjs/components/NewHeader/components/NHProductsPopup/NHProductsPopup.css +55 -61
  14. package/build/cjs/components/NewHeader/components/NHProductsPopup/NHProductsPopup.d.ts +1 -1
  15. package/build/cjs/components/NewHeader/components/NHProductsPopup/NHProductsPopup.js +27 -49
  16. package/build/cjs/components/NewHeader/models.d.ts +45 -114
  17. package/build/cjs/components/NewHeader/models.js +2 -13
  18. package/build/esm/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.css +166 -0
  19. package/build/esm/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.d.ts +4 -0
  20. package/build/esm/components/NewHeader/components/NHDefaultPopup/NHDefaultPopup.js +51 -0
  21. package/build/esm/components/NewHeader/components/NHLoginButton/NHLoginButton.css +1 -1
  22. package/build/esm/components/NewHeader/components/NHLoginPopup/NHLoginPopup.css +5 -31
  23. package/build/esm/components/NewHeader/components/NHLoginPopup/NHLoginPopup.js +3 -4
  24. package/build/esm/components/NewHeader/components/NHNavigation/NHNavigation.js +6 -22
  25. package/build/esm/components/NewHeader/components/NHPopupItem/ArrowRight.d.ts +2 -0
  26. package/build/esm/components/NewHeader/components/NHPopupItem/ArrowRight.js +3 -0
  27. package/build/esm/components/NewHeader/components/NHPopupItem/NHPopupItem.css +50 -55
  28. package/build/esm/components/NewHeader/components/NHPopupItem/NHPopupItem.d.ts +1 -7
  29. package/build/esm/components/NewHeader/components/NHPopupItem/NHPopupItem.js +13 -18
  30. package/build/esm/components/NewHeader/components/NHProductsPopup/NHProductsPopup.css +55 -61
  31. package/build/esm/components/NewHeader/components/NHProductsPopup/NHProductsPopup.d.ts +1 -1
  32. package/build/esm/components/NewHeader/components/NHProductsPopup/NHProductsPopup.js +28 -50
  33. package/build/esm/components/NewHeader/models.d.ts +45 -114
  34. package/build/esm/components/NewHeader/models.js +1 -12
  35. package/package.json +1 -1
  36. package/build/cjs/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.css +0 -30
  37. package/build/cjs/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.d.ts +0 -3
  38. package/build/cjs/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.js +0 -20
  39. package/build/cjs/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.css +0 -86
  40. package/build/cjs/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.d.ts +0 -3
  41. package/build/cjs/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.js +0 -22
  42. package/build/cjs/components/NewHeader/components/NHMediumPopup/NHMediumPopup.css +0 -8
  43. package/build/cjs/components/NewHeader/components/NHMediumPopup/NHMediumPopup.d.ts +0 -3
  44. package/build/cjs/components/NewHeader/components/NHMediumPopup/NHMediumPopup.js +0 -17
  45. package/build/cjs/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.css +0 -209
  46. package/build/cjs/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.d.ts +0 -3
  47. package/build/cjs/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.js +0 -42
  48. package/build/cjs/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.css +0 -48
  49. package/build/cjs/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.d.ts +0 -3
  50. package/build/cjs/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.js +0 -20
  51. package/build/cjs/components/NewHeader/components/NHTag/NHTag.css +0 -21
  52. package/build/cjs/components/NewHeader/components/NHTag/NHTag.d.ts +0 -6
  53. package/build/cjs/components/NewHeader/components/NHTag/NHTag.js +0 -22
  54. package/build/cjs/components/NewHeader/components/NHWhyPopup/NHWhyPopup.css +0 -80
  55. package/build/cjs/components/NewHeader/components/NHWhyPopup/NHWhyPopup.d.ts +0 -3
  56. package/build/cjs/components/NewHeader/components/NHWhyPopup/NHWhyPopup.js +0 -21
  57. package/build/esm/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.css +0 -30
  58. package/build/esm/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.d.ts +0 -4
  59. package/build/esm/components/NewHeader/components/NHCompanyPopup/NHCompanyPopup.js +0 -16
  60. package/build/esm/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.css +0 -86
  61. package/build/esm/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.d.ts +0 -4
  62. package/build/esm/components/NewHeader/components/NHInvestorPopup/NHInvestorPopup.js +0 -18
  63. package/build/esm/components/NewHeader/components/NHMediumPopup/NHMediumPopup.css +0 -8
  64. package/build/esm/components/NewHeader/components/NHMediumPopup/NHMediumPopup.d.ts +0 -4
  65. package/build/esm/components/NewHeader/components/NHMediumPopup/NHMediumPopup.js +0 -13
  66. package/build/esm/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.css +0 -209
  67. package/build/esm/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.d.ts +0 -4
  68. package/build/esm/components/NewHeader/components/NHResourcesPopup/NHResourcesPopup.js +0 -38
  69. package/build/esm/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.css +0 -48
  70. package/build/esm/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.d.ts +0 -4
  71. package/build/esm/components/NewHeader/components/NHSolutionsPopup/NHSolutionsPopup.js +0 -16
  72. package/build/esm/components/NewHeader/components/NHTag/NHTag.css +0 -21
  73. package/build/esm/components/NewHeader/components/NHTag/NHTag.d.ts +0 -7
  74. package/build/esm/components/NewHeader/components/NHTag/NHTag.js +0 -18
  75. package/build/esm/components/NewHeader/components/NHWhyPopup/NHWhyPopup.css +0 -80
  76. package/build/esm/components/NewHeader/components/NHWhyPopup/NHWhyPopup.d.ts +0 -4
  77. package/build/esm/components/NewHeader/components/NHWhyPopup/NHWhyPopup.js +0 -17
@@ -0,0 +1,166 @@
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
+ margin-bottom: auto;
149
+ z-index: 1;
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
+ margin-bottom: 4px;
158
+ z-index: 1;
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
+ }
@@ -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 }: NHDefaultPopupData) => React.JSX.Element;
@@ -0,0 +1,51 @@
1
+ import React, { useMemo } from 'react';
2
+ import { 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
+ export const NHDefaultPopup = ({ sections, right, maxWidth }) => {
19
+ const rootStyle = useMemo(() => maxWidth
20
+ ? {
21
+ marginLeft: 'auto',
22
+ maxWidth,
23
+ }
24
+ : undefined, [maxWidth]);
25
+ const wrapsStyle = useMemo(() => sections.map((section) => ({
26
+ gridTemplateColumns: `repeat(${section.columns || 3}, 1fr)`,
27
+ })), [sections]);
28
+ const cards = useMemo(() => {
29
+ if (right === null || right === void 0 ? void 0 : right.stories) {
30
+ return right.stories.map((card, index) => React.createElement(NHStoryCard, Object.assign({ key: index }, card)));
31
+ }
32
+ if (right === null || right === void 0 ? void 0 : right.events) {
33
+ return right.events.map((card, index) => React.createElement(NHEventCard, Object.assign({ key: index }, card)));
34
+ }
35
+ return null;
36
+ }, [right]);
37
+ return (React.createElement("div", { className: b(), style: rootStyle },
38
+ React.createElement("div", { className: b('left') }, sections.map((section, index) => (React.createElement("div", { key: index, className: b('section') },
39
+ section.title || section.subtitle ? (React.createElement("div", { className: b('head') },
40
+ React.createElement("div", { className: b('title') }, section.title),
41
+ React.createElement("div", { className: b('subtitle') }, section.subtitle))) : null,
42
+ React.createElement("div", { className: b('wrap'), style: wrapsStyle[index] }, section.items.map((item) => (React.createElement(NHPopupItem, Object.assign({ key: item.title }, item))))))))),
43
+ right && (React.createElement("div", { className: b('right') },
44
+ React.createElement("div", { className: b('title') }, right.title),
45
+ cards && React.createElement("div", { className: b('cards') }, cards),
46
+ right.stock && (React.createElement("div", { className: b('stock') },
47
+ right.stock.background ? (React.createElement("img", { className: b('stock-background'), src: right.stock.background, alt: "Stock background" })) : null,
48
+ React.createElement("div", { className: b('stock-title') }, right.stock.title),
49
+ React.createElement("div", { className: b('stock-value') }, right.stock.value),
50
+ React.createElement("div", { className: b('stock-date') }, right.stock.date)))))));
51
+ };
@@ -8,7 +8,7 @@ unpredictable css rules order in build */
8
8
  padding: 0 8px 0 12px;
9
9
  background: var(--g-color-base-brand);
10
10
  color: var(--g-color-text-brand-contrast);
11
- border-radius: var(--g-button-border-radius, 8px);
11
+ border-radius: 24px;
12
12
  font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
13
13
  line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
14
14
  font-weight: 500;
@@ -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
  }
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ArrowRight: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export const ArrowRight = (props) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": "true" }, props),
3
+ React.createElement("path", { xmlns: "http://www.w3.org/2000/svg", d: "M3.00073 8.49151L3.00024 6.96175L10.6817 6.96059L7.76622 4.04513L8.82439 3.00146L13.5493 7.72639L8.8238 12.4519L7.76495 11.3931L10.6822 8.49035L3.00073 8.49151Z", fill: "currentColor" })));
@@ -1,75 +1,79 @@
1
1
  /* use this for style redefinitions to awoid problems with
2
2
  unpredictable css rules order in build */
3
3
  .pc-addons-nh-navigation-popup-item {
4
- font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
5
- line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
6
- margin-bottom: 2px;
7
- }
8
-
9
- .pc-addons-nh-navigation-popup-item__content {
10
- outline: none;
11
4
  color: inherit;
12
5
  text-decoration: none;
13
6
  display: flex;
7
+ align-items: flex-start;
14
8
  border-radius: var(--g-border-radius-xl);
15
9
  height: 100%;
10
+ gap: 16px;
16
11
  }
17
12
 
18
- .utilityfocus .pc-addons-nh-navigation-popup-item__content:focus {
19
- outline: 2px solid #ffdb4d;
13
+ .pc-addons-nh-navigation-popup-item_column {
14
+ flex-direction: column;
20
15
  }
21
16
 
22
- .pc-addons-nh-navigation-popup-item__content:focus {
23
- outline: 2px solid var(--g-color-line-focus);
24
- outline-offset: -2px;
17
+ .pc-addons-nh-navigation-popup-item_column .pc-addons-nh-navigation-popup-item__image {
18
+ width: auto;
19
+ max-width: 100%;
20
+ height: 30px;
25
21
  }
26
22
 
27
- .pc-addons-nh-navigation-popup-item__content:focus:not(:focus-visible) {
28
- outline: 0;
23
+ .pc-addons-nh-navigation-popup-item_column .pc-addons-nh-navigation-popup-item__image-container {
24
+ padding: 0;
25
+ border-radius: 0;
26
+ border: none;
29
27
  }
30
28
 
31
- .pc-addons-nh-navigation-popup-item__content_padding_default {
32
- padding: 12px;
29
+ .pc-addons-nh-navigation-popup-item_column .pc-addons-nh-navigation-popup-item__container {
30
+ align-self: initial;
33
31
  }
34
32
 
35
- .pc-addons-nh-navigation-popup-item__content_padding_s {
36
- padding: 6px 12px;
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 {
34
+ color: var(--g-color-text-primary);
37
35
  }
38
36
 
39
- .pc-addons-nh-navigation-popup-item__content_hover:hover, .pc-addons-nh-navigation-popup-item__content_hover:active {
40
- color: inherit;
37
+ .pc-addons-nh-navigation-popup-item:hover .pc-addons-nh-navigation-popup-item__image-container, .pc-addons-nh-navigation-popup-item:active .pc-addons-nh-navigation-popup-item__image-container {
38
+ background: var(--nh-popup-item-color-hover);
41
39
  }
42
40
 
43
- .pc-addons-nh-navigation-popup-item__content_hover:hover {
44
- background-color: var(--g-color-base-simple-hover);
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 {
42
+ pointer-events: initial;
43
+ opacity: 1;
45
44
  }
46
45
 
47
- .pc-addons-nh-navigation-popup-item__content_disable {
46
+ .pc-addons-nh-navigation-popup-item_disable {
48
47
  pointer-events: none;
49
48
  }
50
49
 
51
- .pc-addons-nh-navigation-popup-item__icon {
52
- color: var(--g-color-base-brand);
50
+ .pc-addons-nh-navigation-popup-item__container {
51
+ align-self: center;
53
52
  }
54
53
 
55
- .pc-addons-nh-navigation-popup-item__icon-container {
56
- position: absolute;
57
- width: 20px;
58
- height: 20px;
59
- display: flex;
60
- justify-content: center;
61
- align-items: center;
54
+ .pc-addons-nh-navigation-popup-item__title {
55
+ position: relative;
56
+ font-size: var(--g-text-body-2-font-size, var(--pc-text-body-2-font-size));
57
+ line-height: var(--g-text-body-2-line-height, var(--pc-text-body-2-line-height));
58
+ font-weight: 600;
59
+ color: var(--g-color-text-primary);
62
60
  }
63
61
 
64
- .pc-addons-nh-navigation-popup-item__container_with-margin {
65
- margin-left: 28px;
62
+ .pc-addons-nh-navigation-popup-item__title > svg {
63
+ display: inline-block;
64
+ position: absolute;
65
+ margin-top: 3px;
66
+ transition: opacity 0.2s;
67
+ opacity: 0;
68
+ pointer-events: none;
66
69
  }
67
70
 
68
71
  .pc-addons-nh-navigation-popup-item__description {
69
72
  font-size: var(--g-text-body-1-font-size, var(--pc-text-body-1-font-size));
70
73
  line-height: var(--g-text-body-1-line-height, var(--pc-text-body-1-line-height));
74
+ transition: color 0.2s;
71
75
  display: block;
72
- margin-top: 2px;
76
+ margin-top: 1px;
73
77
  color: var(--g-color-text-secondary);
74
78
  }
75
79
 
@@ -80,28 +84,19 @@ unpredictable css rules order in build */
80
84
 
81
85
  .pc-addons-nh-navigation-popup-item__image {
82
86
  display: block;
83
- position: relative;
84
- top: 2px;
85
- }
86
-
87
- .pc-addons-nh-navigation-popup-item__image_size_m {
88
- width: 18px;
89
- height: 18px;
87
+ width: 24px;
88
+ height: 24px;
90
89
  }
91
90
 
92
- .pc-addons-nh-navigation-popup-item__image_size_xm {
93
- width: 16px;
94
- height: 16px;
95
- }
96
-
97
- .pc-addons-nh-navigation-popup-item__image_size_s {
98
- width: 14px;
99
- height: 14px;
91
+ .pc-addons-nh-navigation-popup-item__image-container {
92
+ padding: 8px;
93
+ border-radius: 8px;
94
+ background: var(--nh-popup-item-color);
95
+ transition: background 0.2s;
100
96
  }
101
97
 
102
- .pc-addons-nh-navigation-popup-item__image-container {
103
- display: flex;
104
- justify-content: center;
105
- min-width: 20px;
106
- margin-right: 8px;
98
+ .pc-addons-nh-navigation-popup-item__image-container_no-bg {
99
+ border: 1px solid var(--g-color-line-generic-solid);
100
+ padding: 7px;
101
+ background: transparent;
107
102
  }
@@ -1,13 +1,7 @@
1
1
  import React from 'react';
2
- import type { GridColumnSizesType } from '@doyourjob/gravity-ui-page-constructor';
3
2
  import { NHPopupItemData } from '../../models';
4
3
  import './NHPopupItem.css';
5
4
  export interface NHPopupItemProps extends Partial<NHPopupItemData> {
6
- hover?: boolean;
7
- sizes?: GridColumnSizesType;
8
- className?: string;
9
- padding?: 'default' | 's';
10
- imageSize?: 's' | 'xm' | 'm';
11
- target?: string;
5
+ column?: boolean;
12
6
  }
13
7
  export declare const NHPopupItem: (props: NHPopupItemProps) => React.JSX.Element;
@@ -1,24 +1,19 @@
1
- import React from 'react';
2
- import { Col, HTML, Image, getLinkProps } from '@doyourjob/gravity-ui-page-constructor';
1
+ import React, { useMemo } from 'react';
2
+ import { HTML, Image, getLinkProps } from '@doyourjob/gravity-ui-page-constructor';
3
3
  import { Icon } from '@gravity-ui/uikit';
4
4
  import { block } from '../../../../utils/cn';
5
- import { DefaultCategorizedItemSizes } from '../../constants';
6
- import { NHNavigationTag } from '../NHTag/NHTag';
5
+ import { ArrowRight } from './ArrowRight';
7
6
  import './NHPopupItem.css';
8
7
  const b = block('nh-navigation-popup-item');
9
8
  export const NHPopupItem = (props) => {
10
- const { icon, url, target, title, tag, description, image, imageSize = 'm', hover, className, sizes = DefaultCategorizedItemSizes, padding = 'default', } = props;
11
- const navigationTag = tag && React.createElement(NHNavigationTag, Object.assign({ className: b('tag'), size: "s" }, tag));
12
- return (React.createElement(Col, { className: b(null, className), sizes: sizes },
13
- React.createElement("a", Object.assign({ className: b('content', { hover, padding, disable: !url }), href: url }, getLinkProps(url || '', undefined, target)),
14
- icon && (React.createElement("div", { className: b('icon-container') },
15
- React.createElement(Icon, { className: b('icon'), data: icon, size: 16 }))),
16
- image && (React.createElement("div", { className: b('image-container') },
17
- React.createElement(Image, { className: b('image', { size: imageSize }), src: image }))),
18
- React.createElement("div", { className: b('container', { 'with-margin': Boolean(icon) }) },
19
- React.createElement("div", { className: b('title-tag-wrapper') },
20
- React.createElement("span", { className: b('title') }, title),
21
- "\u00A0",
22
- navigationTag),
23
- description && React.createElement(HTML, { className: b('description') }, description)))));
9
+ const { url, target, title, description, image, imageColor, imageColorHover, column } = props;
10
+ const styleImageContainer = useMemo(() => (Object.assign(Object.assign({}, (imageColor ? { '--nh-popup-item-color': imageColor } : {})), (imageColorHover ? { '--nh-popup-item-color-hover': imageColorHover } : {}))), [imageColor, imageColorHover]);
11
+ return (React.createElement("a", Object.assign({ className: b({ disable: !url, column }), href: url }, getLinkProps(url || '', undefined, target)),
12
+ image && (React.createElement("div", { className: b('image-container', { 'no-bg': !imageColor }), style: styleImageContainer },
13
+ React.createElement(Image, { className: b('image'), src: image }))),
14
+ React.createElement("div", { className: b('container') },
15
+ React.createElement("div", { className: b('title') },
16
+ title,
17
+ React.createElement(Icon, { data: ArrowRight, size: 16 })),
18
+ description && React.createElement(HTML, { className: b('description') }, description))));
24
19
  };