@itcase/ui 1.8.123 → 1.8.125
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_AwXEUY8j.js +161 -0
- package/dist/Avatar_es_BtlaCRc5.js +157 -0
- package/dist/{Button_cjs_Ce97psFT.js → Button_cjs_C34BU1BK.js} +46 -34
- package/dist/{Button_es_CZss7cXh.js → Button_es_DnlzLBUT.js} +46 -34
- package/dist/ChipsGroup_cjs_DfAKN5CA.js +344 -0
- package/dist/{ChipsGroup_es_ayPPUwQ7.js → ChipsGroup_es_DBKY2UyF.js} +48 -35
- package/dist/DatePicker_cjs_DfbeIL2m.js +182 -0
- package/dist/DatePicker_es_BIJNx427.js +178 -0
- package/dist/Divider_cjs_DrmV2ezS.js +105 -0
- package/dist/Divider_es_BiYozVBS.js +101 -0
- package/dist/DropdownItem_cjs_vHuzXW9M.js +211 -0
- package/dist/DropdownItem_es_DVHWWgnU.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_BVLGzj7Y.js} +170 -157
- package/dist/{Icon_es_BrwLifge.js → Icon_es_DkVkzTha.js} +170 -157
- package/dist/Image_cjs_BUM81t4Y.js +28 -0
- package/dist/Image_es_C-IjVkKX.js +26 -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_DwAmukik.js} +45 -33
- package/dist/{Label_es_SULlg9bL.js → Label_es_B2kcstsG.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 -29
- 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 -29
- 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/Button/Button.appearance.d.ts +232 -232
- package/dist/types/components/Button/Button.d.ts +4 -4
- package/dist/types/components/Button/Button.interface.d.ts +5 -5
- package/dist/types/components/Pagination/Pagination.d.ts +1 -1
- package/dist/types/components/Select/SelectContainer.d.ts +1 -1
- package/dist/types/components/Text/Text.appearance.d.ts +58 -58
- package/dist/types/components/Text/Text.interface.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
|
@@ -1,61 +1,57 @@
|
|
|
1
1
|
import clsx from 'clsx';
|
|
2
2
|
import { CLASS_RULES, toKebabCase, formatState } from './useActiveClasses.helpers.js';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Object.entries(CLASS_RULES).forEach(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var key = _a.key, stateFn = _a.stateFn;
|
|
12
|
-
var value = propsGenerator[key];
|
|
4
|
+
const useActiveClasses = (params) => {
|
|
5
|
+
const { isDisabled, propsGenerator, suffixes = [], isActive } = params;
|
|
6
|
+
const rootClassesArray = [];
|
|
7
|
+
Object.entries(CLASS_RULES).forEach(([rulesName, rules]) => {
|
|
8
|
+
const kebabRuleName = toKebabCase(rulesName);
|
|
9
|
+
rules.forEach(({ key, stateFn }) => {
|
|
10
|
+
const value = propsGenerator[key];
|
|
13
11
|
if (!value) {
|
|
14
12
|
return;
|
|
15
13
|
}
|
|
16
14
|
if (stateFn) {
|
|
17
|
-
|
|
15
|
+
const active = stateFn({ isDisabled, isActive });
|
|
18
16
|
if (!active) {
|
|
19
17
|
return;
|
|
20
18
|
}
|
|
21
19
|
}
|
|
22
|
-
|
|
23
|
-
rootClassesArray.push(
|
|
20
|
+
const stateName = formatState(key);
|
|
21
|
+
rootClassesArray.push(`${kebabRuleName}${stateName}_${value}`);
|
|
24
22
|
});
|
|
25
23
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
Object.entries(CLASS_RULES).forEach(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
var propKey = rulesName + suffix + withoutPrefixRulesName;
|
|
35
|
-
var value = propsGenerator[propKey];
|
|
24
|
+
const rootClasses = clsx(rootClassesArray);
|
|
25
|
+
const suffixClasses = suffixes.reduce((acc, suffix) => {
|
|
26
|
+
const classes = [];
|
|
27
|
+
Object.entries(CLASS_RULES).forEach(([rulesName, rules]) => {
|
|
28
|
+
rules.forEach(({ key, stateFn }) => {
|
|
29
|
+
const withoutPrefixRulesName = key.replace(rulesName, '');
|
|
30
|
+
const propKey = rulesName + suffix + withoutPrefixRulesName;
|
|
31
|
+
const value = propsGenerator[propKey];
|
|
36
32
|
if (!value) {
|
|
37
33
|
return;
|
|
38
34
|
}
|
|
39
35
|
if (stateFn) {
|
|
40
|
-
|
|
36
|
+
const active = stateFn({ isDisabled, isActive });
|
|
41
37
|
if (!active) {
|
|
42
38
|
return;
|
|
43
39
|
}
|
|
44
40
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
classes.push(
|
|
41
|
+
const state = formatState(propKey);
|
|
42
|
+
const kebabName = toKebabCase(rulesName);
|
|
43
|
+
classes.push(`${kebabName}${state}_${value}`);
|
|
48
44
|
});
|
|
49
45
|
});
|
|
50
|
-
|
|
46
|
+
const suffixKey = suffix === 'HTMLContent'
|
|
51
47
|
? 'htmlContent'
|
|
52
48
|
: (suffix[0].toLowerCase() + suffix.slice(1));
|
|
53
49
|
acc[suffixKey] = clsx(classes);
|
|
54
50
|
return acc;
|
|
55
51
|
}, {});
|
|
56
52
|
return {
|
|
57
|
-
rootClasses
|
|
58
|
-
suffixClasses
|
|
53
|
+
rootClasses,
|
|
54
|
+
suffixClasses,
|
|
59
55
|
};
|
|
60
56
|
};
|
|
61
57
|
|
|
@@ -1,28 +1,26 @@
|
|
|
1
|
-
import { _ as __assign } from '../../tslib.es6_es_Bwu1Cn-t.js';
|
|
2
1
|
import { useMemo } from 'react';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _a, _b, _c, _d, _e, _f;
|
|
3
|
+
const useAppearanceConfig = (appearance, componentConfig, isDisabled) => {
|
|
4
|
+
const appearanceConfig = useMemo(() => {
|
|
7
5
|
if (appearance) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}, {});
|
|
6
|
+
const appearanceProps = appearance.split(' ').reduce((resultConfig, appearanceKey) => ({
|
|
7
|
+
...resultConfig,
|
|
8
|
+
...componentConfig.appearance?.[appearanceKey],
|
|
9
|
+
}), {});
|
|
12
10
|
if (isDisabled &&
|
|
13
|
-
(
|
|
14
|
-
|
|
15
|
-
Object.assign(appearanceProps,
|
|
16
|
-
|
|
11
|
+
(componentConfig?.appearance?.disabled ||
|
|
12
|
+
componentConfig?.appearance?.disabledPrimary)) {
|
|
13
|
+
Object.assign(appearanceProps, componentConfig?.appearance?.disabled ||
|
|
14
|
+
componentConfig?.appearance?.disabledPrimary);
|
|
17
15
|
}
|
|
18
16
|
return appearanceProps;
|
|
19
17
|
}
|
|
20
18
|
if (isDisabled) {
|
|
21
|
-
return (
|
|
22
|
-
|
|
19
|
+
return (componentConfig?.appearance?.disabled ||
|
|
20
|
+
componentConfig?.appearance?.disabledPrimary);
|
|
23
21
|
}
|
|
24
22
|
return {};
|
|
25
|
-
}, [appearance, componentConfig
|
|
23
|
+
}, [appearance, componentConfig?.appearance, isDisabled]);
|
|
26
24
|
return appearanceConfig;
|
|
27
25
|
};
|
|
28
26
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { a as __spreadArray } from '../../tslib.es6_es_Bwu1Cn-t.js';
|
|
2
1
|
import { useMemo } from 'react';
|
|
3
2
|
import camelCase from 'lodash/camelCase';
|
|
4
3
|
import castArray from 'lodash/castArray';
|
|
@@ -48,17 +47,17 @@ function useDevicePropsGenerator(componentProps, appearanceConfig) {
|
|
|
48
47
|
* - titleTextSizeDesktop
|
|
49
48
|
* ---------
|
|
50
49
|
**/
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
getProp
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
50
|
+
const { deviceCurrentMainType } = useUserDeviceContext();
|
|
51
|
+
const devicePropsGenerator = useMemo(() => {
|
|
52
|
+
const propsGenerator = {
|
|
53
|
+
getProp(propKey) {
|
|
54
|
+
const propsForDeviceKey = `${propKey}${upperFirst(deviceCurrentMainType)}`;
|
|
55
|
+
const valueForDevice = componentProps[propsForDeviceKey];
|
|
56
|
+
const valueDefault = componentProps[propKey];
|
|
57
|
+
const appearanceForDevice = appearanceConfig?.[propsForDeviceKey];
|
|
58
|
+
const appearanceDefault = appearanceConfig?.[propKey];
|
|
60
59
|
// prettier-ignore
|
|
61
|
-
|
|
60
|
+
const targetPropsValue = (
|
|
62
61
|
// Value for device from props is first priority
|
|
63
62
|
valueForDevice ||
|
|
64
63
|
// Value without device from props is second priority
|
|
@@ -70,12 +69,10 @@ function useDevicePropsGenerator(componentProps, appearanceConfig) {
|
|
|
70
69
|
return targetPropsValue;
|
|
71
70
|
},
|
|
72
71
|
// eslint-disable-next-line perfectionist/sort-objects
|
|
73
|
-
getClassName
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return getStyleAttributeKey(attr);
|
|
78
|
-
});
|
|
72
|
+
getClassName(propKey, params) {
|
|
73
|
+
const { prefix = '', replace = [/([A-Z])/g, '-$1'] } = params || {};
|
|
74
|
+
const targetClassValue = this.getProp(String(propKey));
|
|
75
|
+
const styleAttributeKeys = styleAttributes.map((attr) => getStyleAttributeKey(attr));
|
|
79
76
|
if (styleAttributeKeys.includes(String(propKey)) &&
|
|
80
77
|
(typeof targetClassValue === 'number' ||
|
|
81
78
|
(typeof targetClassValue === 'string' &&
|
|
@@ -83,36 +80,32 @@ function useDevicePropsGenerator(componentProps, appearanceConfig) {
|
|
|
83
80
|
return '';
|
|
84
81
|
}
|
|
85
82
|
if (targetClassValue) {
|
|
86
|
-
|
|
83
|
+
let cleanClassValue = String(targetClassValue);
|
|
87
84
|
if (!cleanClassValue.includes('.')) {
|
|
88
85
|
cleanClassValue = camelCase(cleanClassValue);
|
|
89
86
|
}
|
|
90
87
|
if (replace) {
|
|
91
|
-
|
|
88
|
+
const replaceList = castArray(replace);
|
|
92
89
|
cleanClassValue = cleanClassValue.replace(replaceList[0],
|
|
93
90
|
// @ts-expect-error
|
|
94
91
|
replaceList[1] || '');
|
|
95
92
|
}
|
|
96
93
|
// prettier-ignore
|
|
97
|
-
return
|
|
94
|
+
return `${prefix}${cleanClassValue}`.toLowerCase();
|
|
98
95
|
}
|
|
99
96
|
// If target key not exists in props and appearance config - return empty class
|
|
100
97
|
return '';
|
|
101
98
|
},
|
|
102
99
|
};
|
|
103
|
-
|
|
104
|
-
get
|
|
105
|
-
var args = [];
|
|
106
|
-
for (var _i = 3; _i < arguments.length; _i++) {
|
|
107
|
-
args[_i - 3] = arguments[_i];
|
|
108
|
-
}
|
|
100
|
+
const generatorProxyHandler = {
|
|
101
|
+
get(target, propKey, receiver, ...args) {
|
|
109
102
|
if (typeof propKey === 'string') {
|
|
110
103
|
// If object does not have the property being retrieved
|
|
111
104
|
if (!Reflect.has(target, propKey)) {
|
|
112
105
|
// And property ended on "Class" keyword
|
|
113
106
|
if (propKey.endsWith('Class')) {
|
|
114
107
|
// prettier-ignore
|
|
115
|
-
|
|
108
|
+
const shortProp = propKey.substring(0, propKey.lastIndexOf('Class'));
|
|
116
109
|
// Return prop from props for device as formatted class name
|
|
117
110
|
return target.getClassName(shortProp);
|
|
118
111
|
}
|
|
@@ -121,7 +114,7 @@ function useDevicePropsGenerator(componentProps, appearanceConfig) {
|
|
|
121
114
|
}
|
|
122
115
|
// Return object property. Original "get".
|
|
123
116
|
// @ts-expect-error
|
|
124
|
-
return Reflect.get
|
|
117
|
+
return Reflect.get(target, propKey, receiver, ...args);
|
|
125
118
|
}
|
|
126
119
|
// In some cases, like in Chrome browser, sometime "prop" is not string.
|
|
127
120
|
// We return this object as is.
|
|
@@ -2,7 +2,6 @@ import { useMemo } from 'react';
|
|
|
2
2
|
import camelCase from 'lodash/camelCase';
|
|
3
3
|
import castArray from 'lodash/castArray';
|
|
4
4
|
import { useUserDeviceContext } from '../context/UIContext.js';
|
|
5
|
-
import '../tslib.es6_es_Bwu1Cn-t.js';
|
|
6
5
|
import 'react/jsx-runtime';
|
|
7
6
|
import './useMediaQueries/useMediaQueries.js';
|
|
8
7
|
import 'react-responsive';
|
|
@@ -33,7 +33,7 @@ var styleAttributes = [
|
|
|
33
33
|
/**
|
|
34
34
|
* Grid
|
|
35
35
|
*/
|
|
36
|
-
'gridTemplateColumns', 'gridArea', 'gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplate', 'gridTemplateAreas', 'gridTemplateRows', 'gridColumn', 'gridColumnGap', 'gridRow', 'gridRowGap',
|
|
36
|
+
'gridTemplateColumns', 'gridArea', 'gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplate', 'gridTemplateAreas', 'gridTemplateRows', 'gridColumn', 'gridColumnStart', 'gridColumnEnd', 'gridColumnGap', 'gridRow', 'gridRowStart', 'gridRowEnd', 'gridRowGap',
|
|
37
37
|
/**
|
|
38
38
|
* Filter
|
|
39
39
|
*/
|
|
@@ -6,7 +6,6 @@ import '../../context/Notifications.js';
|
|
|
6
6
|
import { useUserDeviceContext } from '../../context/UIContext.js';
|
|
7
7
|
import { getStyleAttributeKey } from '../../hooks.js';
|
|
8
8
|
import styleAttributes from './styleAttributes.js';
|
|
9
|
-
import '../../tslib.es6_es_Bwu1Cn-t.js';
|
|
10
9
|
import 'react/jsx-runtime';
|
|
11
10
|
import 'uuid';
|
|
12
11
|
import '@itcase/common';
|
package/dist/hooks/useStyles.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
|
|
3
3
|
function useViewportFix() {
|
|
4
|
-
useEffect(
|
|
4
|
+
useEffect(() => {
|
|
5
5
|
// https://css-tricks.com/the-trick-to-viewport-units-on-mobile/
|
|
6
|
-
|
|
6
|
+
const setViewportProperty = () => {
|
|
7
7
|
// "vh" unit is equal to 1% of the height of the initial containing block
|
|
8
8
|
// https://www.w3.org/R/css-values-3/#viewport-relative-lengths
|
|
9
|
-
|
|
9
|
+
const vh = window.innerHeight * 0.01;
|
|
10
10
|
/** NOTE:
|
|
11
11
|
* In JavaScript, you can always get the value of the current viewport
|
|
12
12
|
* by using the global variable window.innerHeight. This value takes
|
|
@@ -26,13 +26,13 @@ function useViewportFix() {
|
|
|
26
26
|
* to assign as our viewport height unit value.
|
|
27
27
|
* Then we politely asked JS to create the CSS variable "--vh" at the ":root":
|
|
28
28
|
*/
|
|
29
|
-
document.documentElement.style.setProperty('--vh',
|
|
29
|
+
document.documentElement.style.setProperty('--vh', `${vh}px`);
|
|
30
30
|
};
|
|
31
31
|
// Update the value of "--vh" after render
|
|
32
32
|
setViewportProperty();
|
|
33
33
|
// Update the value of "--vh" by listening to the window resize event
|
|
34
34
|
window.addEventListener('resize', setViewportProperty);
|
|
35
|
-
return
|
|
35
|
+
return () => {
|
|
36
36
|
window.removeEventListener('resize', setViewportProperty);
|
|
37
37
|
};
|
|
38
38
|
}, []);
|
package/dist/hooks.js
CHANGED