@itcase/ui 1.8.123 → 1.8.124
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/dist/Avatar_cjs_mojzcWRL.js +161 -0
- package/dist/Avatar_es_BFom0nAS.js +157 -0
- package/dist/{Button_cjs_Ce97psFT.js → Button_cjs_CZz8OjWi.js} +39 -27
- package/dist/{Button_es_CZss7cXh.js → Button_es_Cn3wtv3M.js} +39 -27
- package/dist/ChipsGroup_cjs_Dgskkc1e.js +344 -0
- package/dist/{ChipsGroup_es_ayPPUwQ7.js → ChipsGroup_es_BVQ7_n0k.js} +48 -35
- package/dist/DatePicker_cjs_Lzrr9Amf.js +182 -0
- package/dist/DatePicker_es_D1LvY5RT.js +178 -0
- package/dist/Divider_cjs_DrmV2ezS.js +105 -0
- package/dist/Divider_es_BiYozVBS.js +101 -0
- package/dist/DropdownItem_cjs_rKLdFxSj.js +211 -0
- package/dist/DropdownItem_es_B-1qtEa7.js +206 -0
- package/dist/Group_cjs_DmfeUcFI.js +59 -0
- package/dist/Group_es_BU5k8f5S.js +55 -0
- package/dist/{Icon_cjs_Cz6IyOkb.js → Icon_cjs_DpFxIFv5.js} +170 -121
- package/dist/{Icon_es_BrwLifge.js → Icon_es_D5eiycFI.js} +170 -121
- package/dist/Image_cjs_CBDMUzv_.js +29 -0
- package/dist/Image_es_BHec4iVN.js +27 -0
- package/dist/{Input_cjs_DRPK_RHK.js → Input_cjs_DDi5JVAV.js} +27 -19
- package/dist/{Input_es_Cv5nEb_n.js → Input_es_BnCXATnh.js} +27 -19
- package/dist/{Label_cjs_DMoaOoHi.js → Label_cjs_C-x9blCL.js} +45 -33
- package/dist/{Label_es_SULlg9bL.js → Label_es_DCqpSw_F.js} +45 -33
- package/dist/{Link_cjs_C5UsZUiF.js → Link_cjs_qKXVfU8e.js} +43 -30
- package/dist/{Link_es_XiqbdwLp.js → Link_es_P2b6ya7P.js} +43 -30
- package/dist/Loader_cjs_DIDsIq3J.js +143 -0
- package/dist/Loader_es_CmSggwbR.js +139 -0
- package/dist/Overlay_cjs_tGA2fU43.js +42 -0
- package/dist/Overlay_es_BS7OTFoy.js +38 -0
- package/dist/{Scrollbar_cjs_DcKOfcNp.js → Scrollbar_cjs_Cp-7v2Mt.js} +1 -1
- package/dist/{Scrollbar_es_CThJeCLF.js → Scrollbar_es_CcMgNvGi.js} +1 -1
- package/dist/Text_cjs_BDTjOTVB.js +69 -0
- package/dist/Text_es_CnymlElo.js +65 -0
- package/dist/cjs/components/Accordion.js +37 -34
- package/dist/cjs/components/Avatar.js +5 -6
- package/dist/cjs/components/AvatarStack/stories/__mock__.js +1 -1
- package/dist/cjs/components/AvatarStack.js +17 -16
- package/dist/cjs/components/Badge.js +3 -4
- package/dist/cjs/components/Breadcrumbs/stories/__mock__.js +1 -1
- package/dist/cjs/components/Breadcrumbs.js +27 -23
- package/dist/cjs/components/Button.js +5 -6
- package/dist/cjs/components/Cell/stories/__mock__.js +1 -1
- package/dist/cjs/components/Cell.js +28 -25
- package/dist/cjs/components/Checkbox.js +33 -26
- package/dist/cjs/components/Checkmark.js +28 -23
- package/dist/cjs/components/Chips/stories/__mock__.js +1 -1
- package/dist/cjs/components/Chips.js +4 -5
- package/dist/cjs/components/Choice/stories/__mock__.js +2 -2
- package/dist/cjs/components/Choice.js +46 -40
- package/dist/cjs/components/Code.js +34 -26
- package/dist/cjs/components/CookiesWarning.js +23 -23
- package/dist/cjs/components/Dadata.js +14 -9
- package/dist/cjs/components/DatePeriod.js +32 -30
- package/dist/cjs/components/DatePicker.js +8 -9
- package/dist/cjs/components/Divider.js +1 -2
- package/dist/cjs/components/Dot.js +5 -6
- package/dist/cjs/components/Drawer.js +23 -21
- package/dist/cjs/components/Dropdown/stories/__mock__.js +6 -6
- package/dist/cjs/components/Dropdown.js +5 -6
- package/dist/cjs/components/Flex.js +11 -12
- package/dist/cjs/components/Grid.js +15 -16
- package/dist/cjs/components/Group.js +1 -2
- package/dist/cjs/components/HTMLContent.js +5 -6
- package/dist/cjs/components/HeroTitle.js +17 -16
- package/dist/cjs/components/Icon.js +3 -4
- package/dist/cjs/components/Image.js +1 -2
- package/dist/cjs/components/Input.js +1 -2
- package/dist/cjs/components/InputPassword.js +34 -26
- package/dist/cjs/components/Label.js +4 -5
- package/dist/cjs/components/Link.js +1 -2
- package/dist/cjs/components/List.js +39 -28
- package/dist/cjs/components/Loader.js +2 -3
- package/dist/cjs/components/Logo.js +10 -11
- package/dist/cjs/components/MenuItem.js +36 -33
- package/dist/cjs/components/Modal.js +40 -38
- package/dist/cjs/components/ModalSheetBottom.js +17 -18
- package/dist/cjs/components/Notification/stories/__mock__.js +1 -1
- package/dist/cjs/components/Notification.js +31 -24
- package/dist/cjs/components/Overlay.js +1 -2
- package/dist/cjs/components/Pagination.js +43 -41
- package/dist/cjs/components/Radio.js +34 -26
- package/dist/cjs/components/RangeSlider.js +8 -9
- package/dist/cjs/components/Response/img.js +1 -1
- package/dist/cjs/components/Response.js +45 -34
- package/dist/cjs/components/SVGContent.js +6 -7
- package/dist/cjs/components/ScrollOnDrag/stories/__mock__.js +2 -2
- package/dist/cjs/components/ScrollOnDrag.js +7 -8
- package/dist/cjs/components/ScrollToView.js +8 -9
- package/dist/cjs/components/Scrollbar/stories/__mock__.js +1 -1
- package/dist/cjs/components/Scrollbar.js +1 -1
- package/dist/cjs/components/Search.js +39 -31
- package/dist/cjs/components/Segmented/stories/__mock__.js +23 -10
- package/dist/cjs/components/Segmented.js +46 -41
- package/dist/cjs/components/Select.js +118 -113
- package/dist/cjs/components/Swiper/stories/__mock__.js +3 -3
- package/dist/cjs/components/Swiper.js +27 -29
- package/dist/cjs/components/Switch.js +33 -26
- package/dist/cjs/components/Tab/stories/__mock__.js +1 -1
- package/dist/cjs/components/Tab.js +33 -27
- package/dist/cjs/components/Text.js +1 -2
- package/dist/cjs/components/Textarea.js +26 -18
- package/dist/cjs/components/Tile.js +21 -17
- package/dist/cjs/components/Title.js +3 -4
- package/dist/cjs/components/Tooltip.js +3 -4
- package/dist/cjs/components/Video/stories/__mocks__.js +1 -1
- package/dist/cjs/components/Video.js +3 -4
- package/dist/cjs/components/Warning.js +26 -20
- package/dist/cjs/context/Notifications.js +38 -42
- package/dist/cjs/context/UIContext.js +19 -17
- package/dist/cjs/context/UrlAssetPrefix.js +3 -3
- package/dist/cjs/hoc/urlWithAssetPrefix.js +13 -16
- package/dist/cjs/hooks/useActiveClasses/useActiveClasses.helpers.js +13 -40
- package/dist/cjs/hooks/useActiveClasses/useActiveClasses.interface.js +1 -1
- package/dist/cjs/hooks/useActiveClasses/useActiveClasses.js +25 -29
- package/dist/cjs/hooks/useAppearanceConfig/useAppearanceConfig.js +13 -15
- package/dist/cjs/hooks/useAppearanceConfig.js +0 -1
- package/dist/cjs/hooks/useDevicePropsGenerator/useDevicePropsGenerator.js +21 -28
- package/dist/cjs/hooks/useDevicePropsGenerator.js +0 -1
- package/dist/cjs/hooks/useDeviceTargetClass.js +0 -1
- package/dist/cjs/hooks/useStyles/styleAttributes.js +1 -1
- package/dist/cjs/hooks/useStyles/useStyles.js +0 -1
- package/dist/cjs/hooks/useStyles.js +0 -1
- package/dist/cjs/hooks/useViewportFix.js +5 -5
- package/dist/cjs/hooks.js +1 -1
- package/dist/cjs/utils/setViewportProperty.js +3 -3
- package/dist/components/Accordion.js +37 -34
- package/dist/components/Avatar.js +5 -6
- package/dist/components/AvatarStack/stories/__mock__.js +1 -1
- package/dist/components/AvatarStack.js +17 -16
- package/dist/components/Badge.js +3 -4
- package/dist/components/Breadcrumbs/stories/__mock__.js +1 -1
- package/dist/components/Breadcrumbs.js +27 -23
- package/dist/components/Button.js +5 -6
- package/dist/components/Cell/stories/__mock__.js +1 -1
- package/dist/components/Cell.js +28 -25
- package/dist/components/Checkbox.js +33 -26
- package/dist/components/Checkmark.js +28 -23
- package/dist/components/Chips/stories/__mock__.js +1 -1
- package/dist/components/Chips.js +4 -5
- package/dist/components/Choice/stories/__mock__.js +2 -2
- package/dist/components/Choice.js +46 -40
- package/dist/components/Code.js +34 -26
- package/dist/components/CookiesWarning.js +23 -23
- package/dist/components/Dadata.js +14 -9
- package/dist/components/DatePeriod.js +32 -30
- package/dist/components/DatePicker.js +8 -9
- package/dist/components/Divider.js +1 -2
- package/dist/components/Dot.js +5 -6
- package/dist/components/Drawer.js +23 -21
- package/dist/components/Dropdown/stories/__mock__.js +6 -6
- package/dist/components/Dropdown.js +5 -6
- package/dist/components/Flex.js +11 -12
- package/dist/components/Grid.js +15 -16
- package/dist/components/Group.js +1 -2
- package/dist/components/HTMLContent.js +5 -6
- package/dist/components/HeroTitle.js +17 -16
- package/dist/components/Icon.js +3 -4
- package/dist/components/Image.js +1 -2
- package/dist/components/Input.js +1 -2
- package/dist/components/InputPassword.js +34 -26
- package/dist/components/Label.js +4 -5
- package/dist/components/Link.js +1 -2
- package/dist/components/List.js +39 -28
- package/dist/components/Loader.js +2 -3
- package/dist/components/Logo.js +10 -11
- package/dist/components/MenuItem.js +36 -33
- package/dist/components/Modal.js +40 -38
- package/dist/components/ModalSheetBottom.js +17 -18
- package/dist/components/Notification/stories/__mock__.js +1 -1
- package/dist/components/Notification.js +31 -24
- package/dist/components/Overlay.js +1 -2
- package/dist/components/Pagination.js +43 -41
- package/dist/components/Radio.js +34 -26
- package/dist/components/RangeSlider.js +8 -9
- package/dist/components/Response/img.js +1 -1
- package/dist/components/Response.js +45 -34
- package/dist/components/SVGContent.js +6 -7
- package/dist/components/ScrollOnDrag/stories/__mock__.js +2 -2
- package/dist/components/ScrollOnDrag.js +7 -8
- package/dist/components/ScrollToView.js +8 -9
- package/dist/components/Scrollbar/stories/__mock__.js +1 -1
- package/dist/components/Scrollbar.js +1 -1
- package/dist/components/Search.js +39 -31
- package/dist/components/Segmented/stories/__mock__.js +23 -10
- package/dist/components/Segmented.js +46 -41
- package/dist/components/Select.js +118 -113
- package/dist/components/Swiper/stories/__mock__.js +3 -3
- package/dist/components/Swiper.js +27 -29
- package/dist/components/Switch.js +33 -26
- package/dist/components/Tab/stories/__mock__.js +1 -1
- package/dist/components/Tab.js +33 -27
- package/dist/components/Text.js +1 -2
- package/dist/components/Textarea.js +26 -18
- package/dist/components/Tile.js +21 -17
- package/dist/components/Title.js +3 -4
- package/dist/components/Tooltip.js +3 -4
- package/dist/components/Video/stories/__mocks__.js +1 -1
- package/dist/components/Video.js +3 -4
- package/dist/components/Warning.js +26 -20
- package/dist/context/Notifications.js +38 -42
- package/dist/context/UIContext.js +19 -17
- package/dist/context/UrlAssetPrefix.js +3 -3
- package/dist/css/components/Tile/Tile.css +3 -3
- package/dist/hoc/urlWithAssetPrefix.js +13 -16
- package/dist/hooks/useActiveClasses/useActiveClasses.helpers.js +13 -40
- package/dist/hooks/useActiveClasses/useActiveClasses.interface.js +1 -1
- package/dist/hooks/useActiveClasses/useActiveClasses.js +25 -29
- package/dist/hooks/useAppearanceConfig/useAppearanceConfig.js +13 -15
- package/dist/hooks/useAppearanceConfig.js +0 -1
- package/dist/hooks/useDevicePropsGenerator/useDevicePropsGenerator.js +21 -28
- package/dist/hooks/useDevicePropsGenerator.js +0 -1
- package/dist/hooks/useDeviceTargetClass.js +0 -1
- package/dist/hooks/useStyles/styleAttributes.js +1 -1
- package/dist/hooks/useStyles/useStyles.js +0 -1
- package/dist/hooks/useStyles.js +0 -1
- package/dist/hooks/useViewportFix.js +5 -5
- package/dist/hooks.js +1 -1
- package/dist/types/components/Select/SelectContainer.d.ts +1 -1
- package/dist/utils/setViewportProperty.js +3 -3
- package/package.json +3 -3
- package/dist/Avatar_cjs_CLJnKU39.js +0 -157
- package/dist/Avatar_es_BgN-fbOj.js +0 -153
- package/dist/ChipsGroup_cjs_C8L3ZeD_.js +0 -331
- package/dist/DatePicker_cjs_BzEtDAb8.js +0 -183
- package/dist/DatePicker_es_DRyCMO0I.js +0 -179
- package/dist/Divider_cjs_DUYtmwn2.js +0 -97
- package/dist/Divider_es_CCLBFIx6.js +0 -93
- package/dist/DropdownItem_cjs_Bhss6lyM.js +0 -207
- package/dist/DropdownItem_es_BXl6lPJx.js +0 -202
- package/dist/Group_cjs_CsJ6ICKK.js +0 -59
- package/dist/Group_es_DRqIIM9m.js +0 -55
- package/dist/Image_cjs_DRhhc66R.js +0 -29
- package/dist/Image_es_BpMidmve.js +0 -27
- package/dist/Loader_cjs_D3lnxPlI.js +0 -132
- package/dist/Loader_es_BUSqFrCd.js +0 -128
- package/dist/Overlay_cjs_CcfJYN5o.js +0 -41
- package/dist/Overlay_es_DF3DAdxS.js +0 -37
- package/dist/Text_cjs_0EINiUq4.js +0 -68
- package/dist/Text_es_CwV9rjFD.js +0 -64
- package/dist/tslib.es6_cjs_CCZ3TN_7.js +0 -59
- package/dist/tslib.es6_es_Bwu1Cn-t.js +0 -56
|
@@ -5,8 +5,7 @@ var clsx = require('clsx');
|
|
|
5
5
|
var useAppearanceConfig = require('../hooks/useAppearanceConfig/useAppearanceConfig.js');
|
|
6
6
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
7
7
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
8
|
-
var
|
|
9
|
-
var Link = require('../../Link_cjs_C5UsZUiF.js');
|
|
8
|
+
var Link = require('../../Link_cjs_qKXVfU8e.js');
|
|
10
9
|
require('react');
|
|
11
10
|
require('lodash/camelCase');
|
|
12
11
|
require('lodash/castArray');
|
|
@@ -22,7 +21,7 @@ require('../hooks.js');
|
|
|
22
21
|
require('../hooks/useStyles/styleAttributes.js');
|
|
23
22
|
require('lodash/maxBy');
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
const listAppearanceAccent = {
|
|
26
25
|
accent: {
|
|
27
26
|
fill: 'accentPrimary',
|
|
28
27
|
fillHover: 'accentPrimaryHover',
|
|
@@ -43,14 +42,14 @@ var listAppearanceAccent = {
|
|
|
43
42
|
},
|
|
44
43
|
};
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
const listAppearanceDanger = {
|
|
47
46
|
danger: {
|
|
48
47
|
fill: 'dangerPrimary',
|
|
49
48
|
fillHover: 'dangerPrimaryHover',
|
|
50
49
|
},
|
|
51
50
|
};
|
|
52
51
|
|
|
53
|
-
|
|
52
|
+
const listAppearanceError = {
|
|
54
53
|
error: {
|
|
55
54
|
fill: 'errorPrimary',
|
|
56
55
|
fillHover: 'errorPrimaryHover',
|
|
@@ -61,7 +60,7 @@ var listAppearanceError = {
|
|
|
61
60
|
},
|
|
62
61
|
};
|
|
63
62
|
|
|
64
|
-
|
|
63
|
+
const listAppearanceInfo = {
|
|
65
64
|
info: {
|
|
66
65
|
fill: 'accentPrimary',
|
|
67
66
|
fillHover: 'accentPrimaryHover',
|
|
@@ -82,7 +81,7 @@ var listAppearanceInfo = {
|
|
|
82
81
|
},
|
|
83
82
|
};
|
|
84
83
|
|
|
85
|
-
|
|
84
|
+
const listAppearancePrimary = {
|
|
86
85
|
primary: {
|
|
87
86
|
fill: 'primaryPrimary',
|
|
88
87
|
fillHover: 'primaryPrimaryHover',
|
|
@@ -90,7 +89,7 @@ var listAppearancePrimary = {
|
|
|
90
89
|
},
|
|
91
90
|
};
|
|
92
91
|
|
|
93
|
-
|
|
92
|
+
const listAppearanceSecondary = {
|
|
94
93
|
secondary: {
|
|
95
94
|
fill: 'secondaryPrimary',
|
|
96
95
|
fillHover: 'secondaryPrimaryHover',
|
|
@@ -98,7 +97,7 @@ var listAppearanceSecondary = {
|
|
|
98
97
|
},
|
|
99
98
|
};
|
|
100
99
|
|
|
101
|
-
|
|
100
|
+
const listAppearanceSize = {
|
|
102
101
|
sizeXXL: {
|
|
103
102
|
size: 'xxl',
|
|
104
103
|
labelTextSize: 'xxl',
|
|
@@ -157,7 +156,7 @@ var listAppearanceSize = {
|
|
|
157
156
|
},
|
|
158
157
|
};
|
|
159
158
|
|
|
160
|
-
|
|
159
|
+
const listAppearanceStyle = {
|
|
161
160
|
full: {
|
|
162
161
|
borderColor: '0',
|
|
163
162
|
},
|
|
@@ -173,7 +172,7 @@ var listAppearanceStyle = {
|
|
|
173
172
|
},
|
|
174
173
|
};
|
|
175
174
|
|
|
176
|
-
|
|
175
|
+
const listAppearanceSuccess = {
|
|
177
176
|
success: {
|
|
178
177
|
fill: 'successPrimary',
|
|
179
178
|
fillHover: 'successPrimaryHover',
|
|
@@ -184,7 +183,7 @@ var listAppearanceSuccess = {
|
|
|
184
183
|
},
|
|
185
184
|
};
|
|
186
185
|
|
|
187
|
-
|
|
186
|
+
const listAppearanceSurface = {
|
|
188
187
|
surfacePrimary: {
|
|
189
188
|
fill: 'surfacePrimary',
|
|
190
189
|
fillHover: 'surfacePrimaryHover',
|
|
@@ -209,7 +208,7 @@ var listAppearanceSurface = {
|
|
|
209
208
|
},
|
|
210
209
|
};
|
|
211
210
|
|
|
212
|
-
|
|
211
|
+
const listAppearanceWarning = {
|
|
213
212
|
warning: {
|
|
214
213
|
fill: 'warningPrimary',
|
|
215
214
|
fillHover: 'warningPrimaryHover',
|
|
@@ -220,31 +219,43 @@ var listAppearanceWarning = {
|
|
|
220
219
|
},
|
|
221
220
|
};
|
|
222
221
|
|
|
223
|
-
|
|
222
|
+
const listAppearance = {
|
|
223
|
+
...listAppearanceSize,
|
|
224
|
+
...listAppearanceStyle,
|
|
225
|
+
...listAppearanceAccent,
|
|
226
|
+
...listAppearanceDanger,
|
|
227
|
+
...listAppearanceError,
|
|
228
|
+
...listAppearanceInfo,
|
|
229
|
+
...listAppearancePrimary,
|
|
230
|
+
...listAppearanceSecondary,
|
|
231
|
+
...listAppearanceSuccess,
|
|
232
|
+
...listAppearanceSurface,
|
|
233
|
+
...listAppearanceWarning,
|
|
234
|
+
};
|
|
224
235
|
|
|
225
|
-
|
|
236
|
+
const listConfig = {
|
|
226
237
|
appearance: listAppearance};
|
|
227
238
|
function List(props) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
239
|
+
const { className, type, appearance, style, children } = props;
|
|
240
|
+
const appearanceConfig = useAppearanceConfig.useAppearanceConfig(appearance, listConfig);
|
|
241
|
+
const propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
|
|
242
|
+
const { directionClass, bulletFillClass, bulletSizeClass, bulletTextColorClass, sizeClass, } = propsGenerator;
|
|
232
243
|
// @ts-expect-error
|
|
233
|
-
|
|
234
|
-
return (jsxRuntime.jsx("ul", { className: clsx(className, 'list', bulletSizeClass &&
|
|
235
|
-
|
|
244
|
+
const { styles: ulStyles } = useStyles.useStyles(props);
|
|
245
|
+
return (jsxRuntime.jsx("ul", { className: clsx(className, 'list', bulletSizeClass && `list_bullet-size_${bulletSizeClass}`, bulletFillClass && `list_bullet-fill_${bulletFillClass}`, bulletTextColorClass &&
|
|
246
|
+
`list_bullet-text-color_${bulletTextColorClass}`, directionClass && `list_direction_${directionClass}`, sizeClass && `list_size_${sizeClass}`, style && `list_style_${style}`, type && `list_type_${type}`), style: ulStyles, children: children }));
|
|
236
247
|
}
|
|
237
248
|
|
|
238
249
|
function ListItem(props) {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
250
|
+
const { className, text, href, link, before, after, children } = props;
|
|
251
|
+
const propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props);
|
|
252
|
+
const { fillClass, textColorClass, textStyleClass, textWeightClass } = propsGenerator;
|
|
242
253
|
// @ts-expect-error
|
|
243
|
-
|
|
254
|
+
const { link: linkStyles, styles: liStyles } = useStyles.useStyles(props);
|
|
244
255
|
if (link) {
|
|
245
|
-
return (jsxRuntime.jsx("li", { className: clsx(className, 'list__item', 'list__item_type_link', textStyleClass &&
|
|
256
|
+
return (jsxRuntime.jsx("li", { className: clsx(className, 'list__item', 'list__item_type_link', textStyleClass && `text text-style_${textStyleClass}`, textWeightClass && `text text-weight_${textWeightClass}`, textColorClass && `text-color_${textColorClass}`, fillClass && `fill_${fillClass}`), style: liStyles, children: jsxRuntime.jsx(Link.Link, { className: clsx('list__item-link'), href: link || href, style: linkStyles, children: children || text }) }));
|
|
246
257
|
}
|
|
247
|
-
return (jsxRuntime.jsxs("li", { className: clsx(className, 'list__item', textStyleClass &&
|
|
258
|
+
return (jsxRuntime.jsxs("li", { className: clsx(className, 'list__item', textStyleClass && `text text-style_${textStyleClass}`, textWeightClass && `text text-weight_${textWeightClass}`, textColorClass && `text-color_${textColorClass}`, fillClass && `fill_${fillClass}`), style: liStyles, children: [before, children || text, after] }));
|
|
248
259
|
}
|
|
249
260
|
|
|
250
261
|
exports.List = List;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var Loader = require('../../
|
|
3
|
+
var Loader = require('../../Loader_cjs_DIDsIq3J.js');
|
|
4
4
|
require('react/jsx-runtime');
|
|
5
5
|
require('clsx');
|
|
6
6
|
require('../hooks/useAppearanceConfig/useAppearanceConfig.js');
|
|
7
|
-
require('../../tslib.es6_cjs_CCZ3TN_7.js');
|
|
8
7
|
require('react');
|
|
9
8
|
require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
10
9
|
require('lodash/camelCase');
|
|
@@ -21,7 +20,7 @@ require('../hooks.js');
|
|
|
21
20
|
require('../hooks/useStyles/styleAttributes.js');
|
|
22
21
|
require('../hooks/useStyles/useStyles.js');
|
|
23
22
|
require('lodash/maxBy');
|
|
24
|
-
require('../../
|
|
23
|
+
require('../../Text_cjs_BDTjOTVB.js');
|
|
25
24
|
|
|
26
25
|
|
|
27
26
|
|
|
@@ -6,8 +6,7 @@ var urlWithAssetPrefix = require('../hoc/urlWithAssetPrefix.js');
|
|
|
6
6
|
var useAppearanceConfig = require('../hooks/useAppearanceConfig/useAppearanceConfig.js');
|
|
7
7
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
8
8
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
9
|
-
var Link = require('../../
|
|
10
|
-
require('../../tslib.es6_cjs_CCZ3TN_7.js');
|
|
9
|
+
var Link = require('../../Link_cjs_qKXVfU8e.js');
|
|
11
10
|
require('react');
|
|
12
11
|
require('@itcase/common');
|
|
13
12
|
require('../context/UrlAssetPrefix.js');
|
|
@@ -24,19 +23,19 @@ require('../hooks.js');
|
|
|
24
23
|
require('../hooks/useStyles/styleAttributes.js');
|
|
25
24
|
require('lodash/maxBy');
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
const logoConfig = {
|
|
28
27
|
appearance: undefined,
|
|
29
|
-
setAppearance:
|
|
28
|
+
setAppearance: (appearanceConfig) => {
|
|
30
29
|
logoConfig.appearance = appearanceConfig;
|
|
31
30
|
},
|
|
32
31
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return (jsxRuntime.jsx("div", { className: clsx(className, 'logo', alignClass &&
|
|
32
|
+
const Logo = urlWithAssetPrefix.urlWithAssetPrefix(function Logo(props) {
|
|
33
|
+
const { className, appearance, href, link } = props;
|
|
34
|
+
const appearanceConfig = useAppearanceConfig.useAppearanceConfig(appearance, logoConfig);
|
|
35
|
+
const propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
|
|
36
|
+
const { alignClass, alignDirectionClass, alignItemsClass, src, title, alt, sizeClass, widthClass, } = propsGenerator;
|
|
37
|
+
const { styles: logo } = useStyles.useStyles(props);
|
|
38
|
+
return (jsxRuntime.jsx("div", { className: clsx(className, 'logo', alignClass && `align_${alignClass}`, alignDirectionClass && `align_${alignDirectionClass}`, alignItemsClass && `logo_align-items_${alignItemsClass}`, sizeClass && `logo_size_${sizeClass}`, widthClass && `width_${widthClass}`), style: logo, children: link || href ? (jsxRuntime.jsx(Link.LinkWrapper, { className: "logo__link", href: link || href, children: jsxRuntime.jsx("img", { className: "logo__image", src: src, title: title || alt, alt: alt || title }) })) : (jsxRuntime.jsx("img", { className: "logo__image", src: src, title: title || alt, alt: alt || title })) }));
|
|
40
39
|
});
|
|
41
40
|
|
|
42
41
|
exports.Logo = Logo;
|
|
@@ -6,10 +6,9 @@ var clsx = require('clsx');
|
|
|
6
6
|
var useAppearanceConfig = require('../hooks/useAppearanceConfig/useAppearanceConfig.js');
|
|
7
7
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
8
8
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
9
|
-
var Icon = require('../../
|
|
10
|
-
var Link = require('../../
|
|
11
|
-
var Text = require('../../
|
|
12
|
-
var tslib_es6 = require('../../tslib.es6_cjs_CCZ3TN_7.js');
|
|
9
|
+
var Icon = require('../../Icon_cjs_DpFxIFv5.js');
|
|
10
|
+
var Link = require('../../Link_cjs_qKXVfU8e.js');
|
|
11
|
+
var Text = require('../../Text_cjs_BDTjOTVB.js');
|
|
13
12
|
require('lodash/camelCase');
|
|
14
13
|
require('lodash/castArray');
|
|
15
14
|
require('lodash/upperFirst');
|
|
@@ -27,7 +26,7 @@ require('react-inlinesvg');
|
|
|
27
26
|
require('../hoc/urlWithAssetPrefix.js');
|
|
28
27
|
require('../context/UrlAssetPrefix.js');
|
|
29
28
|
|
|
30
|
-
|
|
29
|
+
const menuItemAppearanceAccent = {
|
|
31
30
|
accentMutedPrimary: {
|
|
32
31
|
fill: 'accentTertiary',
|
|
33
32
|
fillHover: 'accentTertiaryHover',
|
|
@@ -54,7 +53,7 @@ var menuItemAppearanceAccent = {
|
|
|
54
53
|
},
|
|
55
54
|
};
|
|
56
55
|
|
|
57
|
-
|
|
56
|
+
const menuItemAppearanceError = {
|
|
58
57
|
errorMutedPrimary: {
|
|
59
58
|
fill: 'errorDisabled',
|
|
60
59
|
labelTextColor: 'errorTextQuaternary',
|
|
@@ -73,7 +72,7 @@ var menuItemAppearanceError = {
|
|
|
73
72
|
},
|
|
74
73
|
};
|
|
75
74
|
|
|
76
|
-
|
|
75
|
+
const menuItemAppearanceSize = {
|
|
77
76
|
sizeXXL: {
|
|
78
77
|
size: 'xxl',
|
|
79
78
|
labelTextSize: 'l',
|
|
@@ -118,7 +117,7 @@ var menuItemAppearanceSize = {
|
|
|
118
117
|
},
|
|
119
118
|
};
|
|
120
119
|
|
|
121
|
-
|
|
120
|
+
const menuItemAppearanceStyle = {
|
|
122
121
|
solid: {
|
|
123
122
|
borderColor: 'none',
|
|
124
123
|
},
|
|
@@ -132,7 +131,7 @@ var menuItemAppearanceStyle = {
|
|
|
132
131
|
},
|
|
133
132
|
};
|
|
134
133
|
|
|
135
|
-
|
|
134
|
+
const menuItemAppearanceSurface = {
|
|
136
135
|
surfaceMutedPrimary: {
|
|
137
136
|
fill: 'surfaceSecondary',
|
|
138
137
|
fillActive: 'surfacePrimary',
|
|
@@ -176,43 +175,47 @@ var menuItemAppearanceSurface = {
|
|
|
176
175
|
},
|
|
177
176
|
};
|
|
178
177
|
|
|
179
|
-
|
|
178
|
+
const menuItemAppearance = {
|
|
179
|
+
...menuItemAppearanceSize,
|
|
180
|
+
...menuItemAppearanceStyle,
|
|
181
|
+
...menuItemAppearanceAccent,
|
|
182
|
+
...menuItemAppearanceError,
|
|
183
|
+
...menuItemAppearanceSurface,
|
|
184
|
+
};
|
|
180
185
|
|
|
181
|
-
|
|
186
|
+
const menuItemConfig = {
|
|
182
187
|
appearance: menuItemAppearance,
|
|
183
|
-
setAppearance:
|
|
188
|
+
setAppearance: (appearanceConfig) => {
|
|
184
189
|
menuItemConfig.appearance = appearanceConfig;
|
|
185
190
|
},
|
|
186
191
|
};
|
|
187
192
|
function MenuItem(props) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
var _a;
|
|
193
|
+
const { className, appearance, label, isDisabled, href, link, LinkComponent, rel, showTooltip, target, tooltipAppearance, underline, before, after, isActive, onClick, children, } = props;
|
|
194
|
+
const tooltipRef = React.useRef(null);
|
|
195
|
+
const onMouseEnter = React.useCallback(() => {
|
|
192
196
|
if (showTooltip) {
|
|
193
|
-
|
|
197
|
+
tooltipRef.current?.openTooltip();
|
|
194
198
|
}
|
|
195
199
|
}, [showTooltip]);
|
|
196
|
-
|
|
197
|
-
var _a;
|
|
200
|
+
const onMouseLeave = React.useCallback(() => {
|
|
198
201
|
if (showTooltip) {
|
|
199
|
-
|
|
202
|
+
tooltipRef.current?.closeTooltip();
|
|
200
203
|
}
|
|
201
204
|
}, [showTooltip]);
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
+
const appearanceConfig = useAppearanceConfig.useAppearanceConfig(appearance, menuItemConfig, isDisabled);
|
|
206
|
+
const propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
|
|
207
|
+
const { directionClass, justifyContentClass, alignClass, alignDirectionClass, fillActiveClass, fillActiveHoverClass, fillClass, fillHoverClass, labelStyle, labelTextActiveColor, labelTextActiveHoverColor, labelTextColor, labelTextColorDisabled, labelTextHoverColor, labelTextSize, labelWeight, labelWrap, borderColorClass, iconAfter, iconAfterFill, iconAfterFillIcon, iconAfterFillSize, iconAfterShape, iconAfterSize, iconAfterSrc, iconBadgeAppearance, iconBadgeShape, iconBadgeSize, iconBadgeTextColor, iconBadgeTextSize, iconBadgeValue, iconBefore, iconBeforeFill, iconBeforeFillIcon, iconBeforeFillSize, iconBeforeShape, iconBeforeSize, iconBeforeSrc, shapeClass, shapeStrengthClass, sizeClass, tooltipFill, tooltipShapeStrength, tooltipText, tooltipTextColor, tooltipTitleTextColor, typeClass, widthClass, isSkeleton, } = propsGenerator;
|
|
205
208
|
// @ts-expect-error
|
|
206
|
-
|
|
207
|
-
return (jsxRuntime.jsxs("div", { className: clsx('menu-item', isActive && 'menu-item_state_active', isDisabled &&
|
|
208
|
-
'menu-item_label-icon', sizeClass &&
|
|
209
|
-
? fillClass &&
|
|
210
|
-
: fillActiveClass &&
|
|
211
|
-
? fillHoverClass &&
|
|
212
|
-
: fillActiveHoverClass &&
|
|
213
|
-
?
|
|
214
|
-
: shapeClass === 'rounded' && 'shape-strength_default', typeClass &&
|
|
215
|
-
|
|
209
|
+
const { styles: menuItem } = useStyles.useStyles(props);
|
|
210
|
+
return (jsxRuntime.jsxs("div", { className: clsx('menu-item', isActive && 'menu-item_state_active', isDisabled && `menu-item_state_disabled`, directionClass && `menu-item_direction_${directionClass}`, className, (iconBefore || iconBeforeSrc || iconAfter || iconAfterSrc) &&
|
|
211
|
+
'menu-item_label-icon', sizeClass && `menu-item_size_${sizeClass}`, borderColorClass && `border-color_${borderColorClass}`, !isActive
|
|
212
|
+
? fillClass && `fill_${fillClass}`
|
|
213
|
+
: fillActiveClass && `fill_active_${fillActiveClass}`, !isActive
|
|
214
|
+
? fillHoverClass && `fill_hover_${fillHoverClass}`
|
|
215
|
+
: fillActiveHoverClass && `fill_active_hover_${fillActiveHoverClass}`, shapeClass && `shape_${shapeClass}`, shapeStrengthClass
|
|
216
|
+
? `shape-strength_${shapeStrengthClass}`
|
|
217
|
+
: shapeClass === 'rounded' && 'shape-strength_default', typeClass && `menu-item_type_${typeClass}`, widthClass && `width_${widthClass}`, justifyContentClass &&
|
|
218
|
+
`menu-item_justify-content_${justifyContentClass}`, isSkeleton && `menu-item_skeleton`), style: menuItem, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, children: [jsxRuntime.jsxs(Link.Link, { className: clsx('menu-item__wrapper', alignDirectionClass && `align_${alignDirectionClass}`, alignClass && `align_${alignClass}`), href: link || href, LinkComponent: LinkComponent, rel: rel, target: target, underline: underline, children: [before, children || (jsxRuntime.jsxs(React.Fragment, { children: [(iconBefore || iconBeforeSrc) && (jsxRuntime.jsx(Icon.Icon, { className: clsx('menu-item__icon_before', iconBadgeValue && 'menu-item__icon_before-badge'), fill: iconBeforeFill, fillSize: iconBeforeFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: 'menu-item__icon_before_badge', badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconBeforeFillIcon, iconSize: iconBeforeSize, imageSrc: iconBeforeSrc, shape: iconBeforeShape, SvgImage: iconBefore })), label && (jsxRuntime.jsx(Text.Text, { className: "menu-item__label", size: labelTextSize, isDisabled: isDisabled, textColorDisabled: labelTextColorDisabled, textColor: labelTextColor, textColorActive: labelTextActiveColor, textColorActiveHover: labelTextActiveHoverColor, textColorHover: labelTextHoverColor, textStyle: labelStyle, textWeight: labelWeight, textWrap: labelWrap, isActive: isActive, children: label })), (iconAfter || iconAfterSrc) && (jsxRuntime.jsx(Icon.Icon, { className: clsx('menu-item__icon_after', iconBadgeValue && 'menu-item__icon_after-badge'), fill: iconAfterFill, fillSize: iconAfterFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: "menu-item__icon_after_badge", badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconAfterFillIcon, iconSize: iconAfterSize, imageSrc: iconAfterSrc, shape: iconAfterShape, SvgImage: iconAfter }))] })), after] }), showTooltip && (jsxRuntime.jsx(Icon.Tooltip, { className: "menu-item__tooltip", ref: tooltipRef, appearance: tooltipAppearance, minWidth: "auto", fill: tooltipFill, left: "100%", zIndex: "100", titleTextColor: tooltipTitleTextColor, text: tooltipText, textColor: tooltipTextColor, centering: "vertical", shapeStrength: tooltipShapeStrength }))] }));
|
|
216
219
|
}
|
|
217
220
|
|
|
218
221
|
exports.MenuItem = MenuItem;
|
|
@@ -7,11 +7,10 @@ var ReactDOM = require('react-dom');
|
|
|
7
7
|
var useAppearanceConfig = require('../hooks/useAppearanceConfig/useAppearanceConfig.js');
|
|
8
8
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
9
9
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
10
|
-
var Icon = require('../../
|
|
11
|
-
var Overlay = require('../../
|
|
12
|
-
var tslib_es6 = require('../../tslib.es6_cjs_CCZ3TN_7.js');
|
|
10
|
+
var Icon = require('../../Icon_cjs_DpFxIFv5.js');
|
|
11
|
+
var Overlay = require('../../Overlay_cjs_tGA2fU43.js');
|
|
13
12
|
var _default = require('@itcase/icons/default');
|
|
14
|
-
var Loader = require('../../
|
|
13
|
+
var Loader = require('../../Loader_cjs_DIDsIq3J.js');
|
|
15
14
|
require('lodash/camelCase');
|
|
16
15
|
require('lodash/castArray');
|
|
17
16
|
require('lodash/upperFirst');
|
|
@@ -28,10 +27,10 @@ require('lodash/maxBy');
|
|
|
28
27
|
require('react-inlinesvg');
|
|
29
28
|
require('../hoc/urlWithAssetPrefix.js');
|
|
30
29
|
require('../context/UrlAssetPrefix.js');
|
|
31
|
-
require('../../
|
|
32
|
-
require('../../
|
|
30
|
+
require('../../Link_cjs_qKXVfU8e.js');
|
|
31
|
+
require('../../Text_cjs_BDTjOTVB.js');
|
|
33
32
|
|
|
34
|
-
|
|
33
|
+
const modalAppearanceShape = {
|
|
35
34
|
circular: {
|
|
36
35
|
shape: 'circular',
|
|
37
36
|
},
|
|
@@ -56,7 +55,7 @@ var modalAppearanceShape = {
|
|
|
56
55
|
},
|
|
57
56
|
};
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
const modalAppearanceSize = {
|
|
60
59
|
sizeXL: {
|
|
61
60
|
size: 'xl',
|
|
62
61
|
titleTextSize: 'h2',
|
|
@@ -83,7 +82,7 @@ var modalAppearanceSize = {
|
|
|
83
82
|
},
|
|
84
83
|
};
|
|
85
84
|
|
|
86
|
-
|
|
85
|
+
const modalAppearanceStyle = {
|
|
87
86
|
solid: {
|
|
88
87
|
borderColor: 'none',
|
|
89
88
|
},
|
|
@@ -97,7 +96,7 @@ var modalAppearanceStyle = {
|
|
|
97
96
|
},
|
|
98
97
|
};
|
|
99
98
|
|
|
100
|
-
|
|
99
|
+
const modalAppearanceSurface = {
|
|
101
100
|
surfacePrimary: {
|
|
102
101
|
fill: 'surfacePrimary',
|
|
103
102
|
borderColor: 'surfaceBorderPrimary',
|
|
@@ -105,43 +104,46 @@ var modalAppearanceSurface = {
|
|
|
105
104
|
},
|
|
106
105
|
};
|
|
107
106
|
|
|
108
|
-
|
|
107
|
+
const modalAppearance = {
|
|
108
|
+
...modalAppearanceSurface,
|
|
109
|
+
...modalAppearanceShape,
|
|
110
|
+
...modalAppearanceStyle,
|
|
111
|
+
...modalAppearanceSize,
|
|
112
|
+
};
|
|
109
113
|
|
|
110
|
-
|
|
114
|
+
const modalConfig = {
|
|
111
115
|
appearance: modalAppearance,
|
|
112
|
-
setAppearance:
|
|
116
|
+
setAppearance: (appearanceConfig) => {
|
|
113
117
|
modalConfig.appearance = appearanceConfig;
|
|
114
118
|
},
|
|
115
119
|
};
|
|
116
|
-
|
|
117
|
-
var _a;
|
|
118
|
-
if (className === void 0) { className = ''; }
|
|
120
|
+
const getOrCreateModalElement = (modalQuerySelector, className = '') => {
|
|
119
121
|
// prettier-ignore
|
|
120
|
-
|
|
122
|
+
const classList = className && typeof className === 'string'
|
|
121
123
|
? className.split(' ').filter(Boolean)
|
|
122
124
|
: [];
|
|
123
|
-
|
|
125
|
+
let modalElement = document.querySelector(modalQuerySelector);
|
|
124
126
|
if (!modalElement) {
|
|
125
127
|
// Add modal element into the DOM on mount.
|
|
126
128
|
modalElement = document.createElement('div');
|
|
127
129
|
modalElement.setAttribute('id', 'modal-global');
|
|
128
130
|
modalElement.classList.add('modal');
|
|
129
131
|
if (classList.length) {
|
|
130
|
-
|
|
132
|
+
modalElement.classList.add(...classList);
|
|
131
133
|
}
|
|
132
134
|
document.body.prepend(modalElement);
|
|
133
135
|
}
|
|
134
136
|
return modalElement;
|
|
135
137
|
};
|
|
136
138
|
// Modal component that is an abstraction around the portal API.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
const Modal = React.forwardRef(function Modal(props, ref) {
|
|
140
|
+
const { id, dataTestId, dataTour, className, appearance, title, contentClassName, modalQuerySelector = '#modal-global', scroll = false, stickyHeader = false, isCloseOnBlur = true, isOpen: initialIsOpen = false, isOverlay = true, isDisabled, isScrollOnOpen = true, isSetFocusOnOpen = true, isSkeleton, onClickOverlay, onCloseModal, onOpenModal, children, } = props;
|
|
139
141
|
// Query DOM element
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
142
|
+
const [modalElement, setModalElement] = React.useState(null);
|
|
143
|
+
const [isOpen, setIsOpen] = React.useState(initialIsOpen);
|
|
144
|
+
const modalContentRef = React.useRef(null);
|
|
143
145
|
// const modalOverlayRef = useRef(null)
|
|
144
|
-
|
|
146
|
+
const addModalProps = React.useCallback((element) => {
|
|
145
147
|
// Change class need in "useEffect"
|
|
146
148
|
if (isOpen) {
|
|
147
149
|
// Show modal
|
|
@@ -154,7 +156,7 @@ var Modal = React.forwardRef(function Modal(props, ref) {
|
|
|
154
156
|
// "setTimeout" in this implementation is needs for set focus on modal
|
|
155
157
|
// after "onMouseDown" event on button
|
|
156
158
|
if (isSetFocusOnOpen) {
|
|
157
|
-
setTimeout(
|
|
159
|
+
setTimeout(() => {
|
|
158
160
|
if (modalContentRef.current) {
|
|
159
161
|
modalContentRef.current.focus();
|
|
160
162
|
}
|
|
@@ -167,7 +169,7 @@ var Modal = React.forwardRef(function Modal(props, ref) {
|
|
|
167
169
|
}
|
|
168
170
|
}, [isOpen, isScrollOnOpen, isSetFocusOnOpen]);
|
|
169
171
|
// Show modal with children content
|
|
170
|
-
|
|
172
|
+
const openModal = React.useCallback(() => {
|
|
171
173
|
setIsOpen(true);
|
|
172
174
|
// Callback
|
|
173
175
|
if (typeof onOpenModal === 'function') {
|
|
@@ -188,10 +190,10 @@ var Modal = React.forwardRef(function Modal(props, ref) {
|
|
|
188
190
|
*/
|
|
189
191
|
}, [onOpenModal]);
|
|
190
192
|
// Hide modal and unmount children content
|
|
191
|
-
|
|
193
|
+
const closeModal = React.useCallback((event) => {
|
|
192
194
|
if (event) {
|
|
193
195
|
// prettier-ignore
|
|
194
|
-
|
|
196
|
+
const hasRelatedTarget = (event.relatedTarget &&
|
|
195
197
|
modalElement &&
|
|
196
198
|
modalElement.contains(event.relatedTarget));
|
|
197
199
|
if (hasRelatedTarget) {
|
|
@@ -202,31 +204,31 @@ var Modal = React.forwardRef(function Modal(props, ref) {
|
|
|
202
204
|
// Callback
|
|
203
205
|
onCloseModal && onCloseModal();
|
|
204
206
|
}, [modalElement, onCloseModal]);
|
|
205
|
-
React.useEffect(
|
|
207
|
+
React.useEffect(() => {
|
|
206
208
|
if (!modalElement) {
|
|
207
209
|
return;
|
|
208
210
|
}
|
|
209
211
|
addModalProps(modalElement);
|
|
210
212
|
}, [isOpen]); // eslint-disable-line
|
|
211
|
-
React.useLayoutEffect(
|
|
212
|
-
|
|
213
|
+
React.useLayoutEffect(() => {
|
|
214
|
+
const element = getOrCreateModalElement(modalQuerySelector, className);
|
|
213
215
|
setModalElement(element);
|
|
214
216
|
if (element) {
|
|
215
217
|
addModalProps(element);
|
|
216
218
|
}
|
|
217
219
|
}, [addModalProps, className, modalQuerySelector]);
|
|
218
220
|
// Save ref things
|
|
219
|
-
React.useImperativeHandle(ref,
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
221
|
+
React.useImperativeHandle(ref, () => ({ modalElement, openModal, closeModal, isOpen }), [isOpen, openModal, closeModal, modalElement]);
|
|
222
|
+
const appearanceConfig = useAppearanceConfig.useAppearanceConfig(appearance, modalConfig, isDisabled);
|
|
223
|
+
const propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
|
|
224
|
+
const { fillClass, titleTextColor, titleTextColorHover, titleTextSize, titleTextTruncate, titleTextWeight, titleTextWidth, titleTextWrap, borderColorClass, borderTypeClass, borderWidthClass, elevationClass, overlayFill, overlayOpacity, shapeClass, shapeStrengthClass, sizeClass, closeIconAppearance, closeIconAppearanceSize, closeIconFillSize, closeIconImage, closeIconShape, closeIconSize, } = propsGenerator;
|
|
223
225
|
// @ts-expect-error
|
|
224
|
-
|
|
226
|
+
const { styles: modalStyles } = useStyles.useStyles(props);
|
|
225
227
|
// Use a portal to render the children into the element
|
|
226
228
|
return (modalElement &&
|
|
227
229
|
ReactDOM.createPortal(
|
|
228
230
|
// Any valid React child: JSX, strings, arrays, etc.
|
|
229
|
-
isOpen ? (jsxRuntime.jsxs(React.Fragment, { children: [jsxRuntime.jsxs("div", { id: id, className: clsx('modal__content', contentClassName, fillClass &&
|
|
231
|
+
isOpen ? (jsxRuntime.jsxs(React.Fragment, { children: [jsxRuntime.jsxs("div", { id: id, className: clsx('modal__content', contentClassName, fillClass && `fill_${fillClass}`, borderWidthClass && `border-width_${borderWidthClass}`, borderColorClass && `border-color_${borderColorClass}`, borderTypeClass && `border_type_${borderTypeClass}`, shapeClass && `shape_${shapeClass}`, sizeClass && `modal_size_${sizeClass}`, shapeStrengthClass && `shape-strength_${shapeStrengthClass}`, borderColorClass && `border-color_${borderColorClass}`, borderWidthClass && `border-width_${borderWidthClass}`, borderTypeClass && `border_type_${borderTypeClass}`, elevationClass && `elevation_${elevationClass}`, scroll && !stickyHeader && `modal-scroll_${scroll}`, stickyHeader && 'modal-scroll_header_sticky', isSkeleton && 'modal_skeleton'), ref: modalContentRef, "data-test-id": dataTestId, "data-tour": dataTour, style: modalStyles, tabIndex: 0, onBlur: isCloseOnBlur ? closeModal : undefined, children: [(title || closeIconImage) && (jsxRuntime.jsxs("div", { className: clsx('modal__header'), children: [title && (jsxRuntime.jsx(Icon.Title, { className: "modal__title", width: titleTextWidth, size: titleTextSize, textColor: titleTextColor, textColorHover: titleTextColorHover, textTruncate: titleTextTruncate, textWeight: titleTextWeight, textWrap: titleTextWrap, children: title })), closeIconImage && (jsxRuntime.jsx("div", { className: "modal__close", onClick: closeModal, children: jsxRuntime.jsx(Icon.Icon, { appearance: `${closeIconAppearance} ${closeIconAppearanceSize}`, fillSize: closeIconFillSize, iconSize: closeIconSize, shape: closeIconShape, SvgImage: closeIconImage }) }))] })), jsxRuntime.jsx("div", { className: "modal__content-wrapper", children: children })] }), jsxRuntime.jsx(Overlay.Overlay, { className: "modal__overlay",
|
|
230
232
|
// ref={modalOverlayRef}
|
|
231
233
|
fill: overlayFill, opacity: overlayOpacity, isOverlay: isOverlay, onClick: onClickOverlay })] })) : null,
|
|
232
234
|
// A DOM element
|