@itcase/ui-core 1.10.77 → 1.10.79

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 (97) hide show
  1. package/dist/cjs/context/Notifications/index.js +14 -0
  2. package/dist/cjs/context/{UIContext.js → UIProvider/UIProvider.js} +13 -23
  3. package/dist/cjs/context/UIProvider/index.js +15 -0
  4. package/dist/cjs/context/UIProviderApp/UIProviderApp.js +20 -0
  5. package/dist/cjs/context/UIProviderApp/index.js +11 -0
  6. package/dist/cjs/context/UrlAssetPrefix/index.js +10 -0
  7. package/dist/cjs/context/UserDeviceContext/UserDeviceContext.helpers.js +16 -0
  8. package/dist/cjs/context/UserDeviceContext/UserDeviceContext.js +24 -0
  9. package/dist/cjs/context/UserDeviceContext/index.js +12 -0
  10. package/dist/cjs/context/index.js +5 -18
  11. package/dist/cjs/context/index2.js +26 -0
  12. package/dist/cjs/hoc/index.js +1 -1
  13. package/dist/cjs/hoc/urlWithAssetPrefix.js +1 -1
  14. package/dist/cjs/hooks/index.js +3 -9
  15. package/dist/cjs/hooks/useDevicePropsGenerator/index.js +1 -9
  16. package/dist/cjs/hooks/useDevicePropsGenerator/useDevicePropsGenerator.js +2 -10
  17. package/dist/cjs/hooks/useDeviceTargetClass/index.js +10 -0
  18. package/dist/cjs/hooks/useDeviceTargetClass/useDeviceTargetClass.js +50 -0
  19. package/dist/cjs/hooks/useStyles/index.js +1 -9
  20. package/dist/cjs/hooks/useStyles/useStyles.js +2 -10
  21. package/dist/cjs/hooks/useStylesReactNative/index.js +12 -0
  22. package/dist/cjs/hooks/useStylesReactNative/styleAttributes.js +137 -0
  23. package/dist/cjs/hooks/useStylesReactNative/useStyles.js +59 -0
  24. package/dist/cjs/hooks/useViewportFix/index.js +8 -0
  25. package/dist/cjs/utils/setViewportProperty.js +3 -0
  26. package/dist/context/Notifications/index.js +5 -0
  27. package/dist/context/{UIContext.js → UIProvider/UIProvider.js} +14 -23
  28. package/dist/context/UIProvider/index.js +9 -0
  29. package/dist/context/UIProviderApp/UIProviderApp.js +18 -0
  30. package/dist/context/UIProviderApp/index.js +4 -0
  31. package/dist/context/UrlAssetPrefix/index.js +3 -0
  32. package/dist/context/UserDeviceContext/UserDeviceContext.helpers.js +14 -0
  33. package/dist/context/UserDeviceContext/UserDeviceContext.js +20 -0
  34. package/dist/context/UserDeviceContext/index.js +3 -0
  35. package/dist/context/index.js +3 -10
  36. package/dist/context/index2.js +13 -0
  37. package/dist/hoc/index.js +1 -1
  38. package/dist/hoc/urlWithAssetPrefix.js +1 -1
  39. package/dist/hooks/index.js +3 -9
  40. package/dist/hooks/useDevicePropsGenerator/index.js +1 -9
  41. package/dist/hooks/useDevicePropsGenerator/useDevicePropsGenerator.js +1 -9
  42. package/dist/hooks/useDeviceTargetClass/index.js +4 -0
  43. package/dist/hooks/useDeviceTargetClass/useDeviceTargetClass.js +48 -0
  44. package/dist/hooks/useStyles/index.js +1 -9
  45. package/dist/hooks/useStyles/useStyles.js +1 -9
  46. package/dist/hooks/useStylesReactNative/index.js +5 -0
  47. package/dist/hooks/useStylesReactNative/styleAttributes.js +135 -0
  48. package/dist/hooks/useStylesReactNative/useStyles.js +57 -0
  49. package/dist/hooks/useViewportFix/index.js +2 -0
  50. package/dist/stories/useDevicePropsGenerator.mdx +1 -1
  51. package/dist/types/context/Notifications/index.d.ts +4 -0
  52. package/dist/types/context/UIProvider/UIProvider.d.ts +3 -0
  53. package/dist/types/context/UIProvider/UIProvider.interface.d.ts +7 -0
  54. package/dist/types/context/UIProvider/index.d.ts +4 -0
  55. package/dist/types/context/UIProviderApp/UIProviderApp.d.ts +3 -0
  56. package/dist/types/context/UIProviderApp/UIProviderApp.interface.d.ts +5 -0
  57. package/dist/types/context/UIProviderApp/index.d.ts +6 -0
  58. package/dist/types/context/{UrlAssetPrefix.d.ts → UrlAssetPrefix/UrlAssetPrefix.d.ts} +1 -9
  59. package/dist/types/context/UrlAssetPrefix/UrlAssetPrefix.interface.d.ts +11 -0
  60. package/dist/types/context/UrlAssetPrefix/index.d.ts +4 -0
  61. package/dist/types/context/UserDeviceContext/UserDeviceContext.d.ts +5 -0
  62. package/dist/types/context/UserDeviceContext/UserDeviceContext.helpers.d.ts +3 -0
  63. package/dist/types/context/UserDeviceContext/UserDeviceContext.interface.d.ts +10 -0
  64. package/dist/types/context/UserDeviceContext/index.d.ts +5 -0
  65. package/dist/types/context/index.d.ts +10 -4
  66. package/dist/types/context/index.native.d.ts +4 -0
  67. package/dist/types/hooks/useDeviceTargetClass/index.d.ts +4 -0
  68. package/dist/types/hooks/useDeviceTargetClass/useDeviceTargetClass.d.ts +7 -0
  69. package/dist/types/hooks/useDeviceTargetClass/useDeviceTargetClass.interface.d.ts +9 -0
  70. package/dist/types/hooks/useStylesReactNative/index.d.ts +6 -0
  71. package/dist/types/hooks/useStylesReactNative/styleAttributes.d.ts +30 -0
  72. package/dist/types/hooks/useStylesReactNative/styleAttributes.interface.d.ts +143 -0
  73. package/dist/types/hooks/useStylesReactNative/useStyles.d.ts +6 -0
  74. package/dist/types/hooks/useViewportFix/index.d.ts +2 -0
  75. package/dist/utils/setViewportProperty.js +3 -0
  76. package/package.json +42 -4
  77. package/dist/cjs/context/Notifications.interface.js +0 -2
  78. package/dist/cjs/hooks/useActiveClasses/useActiveClasses.interface.js +0 -65
  79. package/dist/cjs/hooks/useDevicePropsGenerator/useDevicePropsGenerator.interface.js +0 -2
  80. package/dist/cjs/hooks/useDeviceTargetClass.js +0 -64
  81. package/dist/cjs/hooks/useStyles/styleAttributes.interface.js +0 -2
  82. package/dist/context/Notifications.interface.js +0 -1
  83. package/dist/hooks/useActiveClasses/useActiveClasses.interface.js +0 -63
  84. package/dist/hooks/useDevicePropsGenerator/useDevicePropsGenerator.interface.js +0 -1
  85. package/dist/hooks/useDeviceTargetClass.js +0 -62
  86. package/dist/hooks/useStyles/styleAttributes.interface.js +0 -1
  87. package/dist/types/context/UIContext.d.ts +0 -23
  88. package/dist/types/hooks/useDeviceTargetClass.d.ts +0 -6
  89. /package/dist/cjs/context/{Notifications.js → Notifications/Notifications.js} +0 -0
  90. /package/dist/cjs/context/{UrlAssetPrefix.js → UrlAssetPrefix/UrlAssetPrefix.js} +0 -0
  91. /package/dist/cjs/hooks/{useViewportFix.js → useViewportFix/useViewportFix.js} +0 -0
  92. /package/dist/context/{Notifications.js → Notifications/Notifications.js} +0 -0
  93. /package/dist/context/{UrlAssetPrefix.js → UrlAssetPrefix/UrlAssetPrefix.js} +0 -0
  94. /package/dist/hooks/{useViewportFix.js → useViewportFix/useViewportFix.js} +0 -0
  95. /package/dist/types/context/{Notifications.d.ts → Notifications/Notifications.d.ts} +0 -0
  96. /package/dist/types/context/{Notifications.interface.d.ts → Notifications/Notifications.interface.d.ts} +0 -0
  97. /package/dist/types/hooks/{useViewportFix.d.ts → useViewportFix/useViewportFix.d.ts} +0 -0
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var Notifications = require('./Notifications.js');
4
+ require('react/jsx-runtime');
5
+ require('react');
6
+ require('uuid');
7
+ require('@itcase/common');
8
+
9
+
10
+
11
+ exports.NotificationsProvider = Notifications.NotificationsProvider;
12
+ exports.statusToAppearanceList = Notifications.statusToAppearanceList;
13
+ exports.useNotifications = Notifications.useNotifications;
14
+ exports.useNotificationsAPI = Notifications.useNotificationsAPI;
@@ -4,18 +4,12 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
6
  var camelCase = require('lodash/camelCase');
7
- var useMediaQueries = require('../hooks/useMediaQueries/useMediaQueries.js');
8
- var setViewportProperty = require('../utils/setViewportProperty.js');
7
+ var useMediaQueries = require('../../hooks/useMediaQueries/useMediaQueries.js');
8
+ var setViewportProperty = require('../../utils/setViewportProperty.js');
9
+ var UserDeviceContext = require('../UserDeviceContext/UserDeviceContext.js');
10
+ var UserDeviceContext_helpers = require('../UserDeviceContext/UserDeviceContext.helpers.js');
9
11
  require('react-responsive');
10
12
 
11
- const UserDeviceContext = React.createContext({
12
- isMobile: false,
13
- isTablet: false,
14
- isDesktop: false,
15
- deviceCurrentMainType: '',
16
- deviceCurrentType: '',
17
- deviceTypesList: [],
18
- });
19
13
  const UIProvider = React.memo(function UIProvider(props) {
20
14
  const { userDeviceState = {}, children } = props;
21
15
  /** NOTE:
@@ -27,10 +21,11 @@ const UIProvider = React.memo(function UIProvider(props) {
27
21
  */
28
22
  const allDevicesTypes = useMediaQueries.useMediaQueries(userDeviceState);
29
23
  const { isMobile, isTablet, isDesktop, ...fullNamedDeviceTypes } = allDevicesTypes;
30
- const deviceCurrentMainType = (isMobile && 'mobile') ||
31
- (isTablet && 'tablet') ||
32
- (isDesktop && 'desktop') ||
33
- '';
24
+ const deviceCurrentMainType = UserDeviceContext_helpers.getDeviceMainTypeFromFlags({
25
+ isMobile: isMobile,
26
+ isTablet: isTablet,
27
+ isDesktop: isDesktop,
28
+ });
34
29
  const [deviceCurrentType, deviceTypesList] = React.useMemo(() => {
35
30
  const deviceTypesList = Object.keys(allDevicesTypes).map((key) => camelCase(key.replace('is', '')));
36
31
  // In same time "allDevicesTypes" can contain "isMobile" and "isMobileLarge" as true
@@ -59,18 +54,13 @@ const UIProvider = React.memo(function UIProvider(props) {
59
54
  deviceTypesList,
60
55
  ]);
61
56
  React.useEffect(() => {
57
+ if (typeof document === 'undefined') {
58
+ return;
59
+ }
62
60
  setViewportProperty.setViewportProperty();
63
61
  window.addEventListener('resize', setViewportProperty.setViewportProperty);
64
62
  }, []);
65
- return (jsxRuntime.jsx(UserDeviceContext.Provider, { value: deviceContextState, children: children }));
63
+ return (jsxRuntime.jsx(UserDeviceContext.UserDeviceContext.Provider, { value: deviceContextState, children: children }));
66
64
  });
67
- function useUserDeviceContext() {
68
- const context = React.useContext(UserDeviceContext);
69
- if (!context) {
70
- throw new Error('useUserDeviceContext is not defined');
71
- }
72
- return context;
73
- }
74
65
 
75
66
  exports.UIProvider = UIProvider;
76
- exports.useUserDeviceContext = useUserDeviceContext;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var UIProvider = require('./UIProvider.js');
4
+ require('react/jsx-runtime');
5
+ require('react');
6
+ require('lodash/camelCase');
7
+ require('../../hooks/useMediaQueries/useMediaQueries.js');
8
+ require('react-responsive');
9
+ require('../../utils/setViewportProperty.js');
10
+ require('../UserDeviceContext/UserDeviceContext.js');
11
+ require('../UserDeviceContext/UserDeviceContext.helpers.js');
12
+
13
+
14
+
15
+ exports.UIProvider = UIProvider.UIProvider;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var UserDeviceContext = require('../UserDeviceContext/UserDeviceContext.js');
6
+
7
+ const appUserDeviceState = {
8
+ isMobile: true,
9
+ isTablet: false,
10
+ isDesktop: false,
11
+ deviceCurrentMainType: 'mobile',
12
+ deviceCurrentType: 'mobile',
13
+ deviceTypesList: ['mobile'],
14
+ };
15
+ const UIProviderApp = React.memo(function UIProviderApp(props) {
16
+ const { children } = props;
17
+ return (jsxRuntime.jsx(UserDeviceContext.UserDeviceContext.Provider, { value: appUserDeviceState, children: children }));
18
+ });
19
+
20
+ exports.UIProviderApp = UIProviderApp;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var UserDeviceContext = require('../UserDeviceContext/UserDeviceContext.js');
4
+ var UIProviderApp = require('./UIProviderApp.js');
5
+ require('react');
6
+ require('react/jsx-runtime');
7
+
8
+
9
+
10
+ exports.useUserDeviceContext = UserDeviceContext.useUserDeviceContext;
11
+ exports.UIProviderApp = UIProviderApp.UIProviderApp;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var UrlAssetPrefix = require('./UrlAssetPrefix.js');
4
+ require('react/jsx-runtime');
5
+ require('react');
6
+
7
+
8
+
9
+ exports.UrlAssetPrefixContext = UrlAssetPrefix.UrlAssetPrefixContext;
10
+ exports.UrlAssetPrefixProvider = UrlAssetPrefix.UrlAssetPrefixProvider;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ function getDeviceMainTypeFromFlags(userDeviceState) {
4
+ if (userDeviceState?.isMobile) {
5
+ return 'mobile';
6
+ }
7
+ if (userDeviceState?.isTablet) {
8
+ return 'tablet';
9
+ }
10
+ if (userDeviceState?.isDesktop) {
11
+ return 'desktop';
12
+ }
13
+ return '';
14
+ }
15
+
16
+ exports.getDeviceMainTypeFromFlags = getDeviceMainTypeFromFlags;
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ const defaultUserDeviceState = {
6
+ isMobile: false,
7
+ isTablet: false,
8
+ isDesktop: false,
9
+ deviceCurrentMainType: '',
10
+ deviceCurrentType: '',
11
+ deviceTypesList: [],
12
+ };
13
+ const UserDeviceContext = React.createContext(defaultUserDeviceState);
14
+ function useUserDeviceContext() {
15
+ const context = React.useContext(UserDeviceContext);
16
+ if (!context) {
17
+ throw new Error('useUserDeviceContext is not defined');
18
+ }
19
+ return context;
20
+ }
21
+
22
+ exports.UserDeviceContext = UserDeviceContext;
23
+ exports.defaultUserDeviceState = defaultUserDeviceState;
24
+ exports.useUserDeviceContext = useUserDeviceContext;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var UserDeviceContext = require('./UserDeviceContext.js');
4
+ var UserDeviceContext_helpers = require('./UserDeviceContext.helpers.js');
5
+ require('react');
6
+
7
+
8
+
9
+ exports.UserDeviceContext = UserDeviceContext.UserDeviceContext;
10
+ exports.defaultUserDeviceState = UserDeviceContext.defaultUserDeviceState;
11
+ exports.useUserDeviceContext = UserDeviceContext.useUserDeviceContext;
12
+ exports.getDeviceMainTypeFromFlags = UserDeviceContext_helpers.getDeviceMainTypeFromFlags;
@@ -1,24 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var Notifications = require('./Notifications.js');
4
- var UIContext = require('./UIContext.js');
5
- var UrlAssetPrefix = require('./UrlAssetPrefix.js');
6
- require('react/jsx-runtime');
3
+ var UserDeviceContext = require('./UserDeviceContext/UserDeviceContext.js');
4
+ var UIProviderApp = require('./UIProviderApp/UIProviderApp.js');
7
5
  require('react');
8
- require('uuid');
9
- require('@itcase/common');
10
- require('lodash/camelCase');
11
- require('../hooks/useMediaQueries/useMediaQueries.js');
12
- require('react-responsive');
13
- require('../utils/setViewportProperty.js');
6
+ require('react/jsx-runtime');
14
7
 
15
8
 
16
9
 
17
- exports.NotificationsProvider = Notifications.NotificationsProvider;
18
- exports.statusToAppearanceList = Notifications.statusToAppearanceList;
19
- exports.useNotifications = Notifications.useNotifications;
20
- exports.useNotificationsAPI = Notifications.useNotificationsAPI;
21
- exports.UIProvider = UIContext.UIProvider;
22
- exports.useUserDeviceContext = UIContext.useUserDeviceContext;
23
- exports.UrlAssetPrefixContext = UrlAssetPrefix.UrlAssetPrefixContext;
24
- exports.UrlAssetPrefixProvider = UrlAssetPrefix.UrlAssetPrefixProvider;
10
+ exports.useUserDeviceContext = UserDeviceContext.useUserDeviceContext;
11
+ exports.UIProviderApp = UIProviderApp.UIProviderApp;
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var Notifications = require('./Notifications/Notifications.js');
4
+ var UIProvider = require('./UIProvider/UIProvider.js');
5
+ var UrlAssetPrefix = require('./UrlAssetPrefix/UrlAssetPrefix.js');
6
+ var UserDeviceContext = require('./UserDeviceContext/UserDeviceContext.js');
7
+ require('react/jsx-runtime');
8
+ require('react');
9
+ require('uuid');
10
+ require('@itcase/common');
11
+ require('lodash/camelCase');
12
+ require('../hooks/useMediaQueries/useMediaQueries.js');
13
+ require('react-responsive');
14
+ require('../utils/setViewportProperty.js');
15
+ require('./UserDeviceContext/UserDeviceContext.helpers.js');
16
+
17
+
18
+
19
+ exports.NotificationsProvider = Notifications.NotificationsProvider;
20
+ exports.statusToAppearanceList = Notifications.statusToAppearanceList;
21
+ exports.useNotifications = Notifications.useNotifications;
22
+ exports.useNotificationsAPI = Notifications.useNotificationsAPI;
23
+ exports.UIProvider = UIProvider.UIProvider;
24
+ exports.UrlAssetPrefixContext = UrlAssetPrefix.UrlAssetPrefixContext;
25
+ exports.UrlAssetPrefixProvider = UrlAssetPrefix.UrlAssetPrefixProvider;
26
+ exports.useUserDeviceContext = UserDeviceContext.useUserDeviceContext;
@@ -4,7 +4,7 @@ var urlWithAssetPrefix = require('./urlWithAssetPrefix.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('@itcase/common');
7
- require('../context/UrlAssetPrefix.js');
7
+ require('../context/UrlAssetPrefix/UrlAssetPrefix.js');
8
8
 
9
9
 
10
10
 
@@ -3,7 +3,7 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var common = require('@itcase/common');
6
- var UrlAssetPrefix = require('../context/UrlAssetPrefix.js');
6
+ var UrlAssetPrefix = require('../context/UrlAssetPrefix/UrlAssetPrefix.js');
7
7
 
8
8
  const urlPropsList = ['src', 'imageSrc', 'svgSrc', 'placeholderUrl'];
9
9
  /**
@@ -3,25 +3,19 @@
3
3
  var useActiveClasses = require('./useActiveClasses/useActiveClasses.js');
4
4
  var useAppearanceConfig = require('./useAppearanceConfig/useAppearanceConfig.js');
5
5
  var useDevicePropsGenerator = require('./useDevicePropsGenerator/useDevicePropsGenerator.js');
6
- var useDeviceTargetClass = require('./useDeviceTargetClass.js');
6
+ var useDeviceTargetClass = require('./useDeviceTargetClass/useDeviceTargetClass.js');
7
7
  var useMediaQueries = require('./useMediaQueries/useMediaQueries.js');
8
8
  var styleAttributes = require('./useStyles/styleAttributes.js');
9
9
  var styleAttributes_helpers = require('./useStyles/styleAttributes.helpers.js');
10
10
  var useStyles = require('./useStyles/useStyles.js');
11
- var useViewportFix = require('./useViewportFix.js');
11
+ var useViewportFix = require('./useViewportFix/useViewportFix.js');
12
12
  require('clsx');
13
13
  require('./useActiveClasses/useActiveClasses.helpers.js');
14
14
  require('react');
15
15
  require('lodash/camelCase');
16
16
  require('lodash/castArray');
17
17
  require('lodash/upperFirst');
18
- require('../context/Notifications.js');
19
- require('react/jsx-runtime');
20
- require('uuid');
21
- require('@itcase/common');
22
- require('../context/UIContext.js');
23
- require('../utils/setViewportProperty.js');
24
- require('../context/UrlAssetPrefix.js');
18
+ require('../context/UserDeviceContext/UserDeviceContext.js');
25
19
  require('lodash/kebabCase');
26
20
  require('lodash/maxBy');
27
21
  require('react-responsive');
@@ -5,15 +5,7 @@ require('react');
5
5
  require('lodash/camelCase');
6
6
  require('lodash/castArray');
7
7
  require('lodash/upperFirst');
8
- require('../../context/Notifications.js');
9
- require('react/jsx-runtime');
10
- require('uuid');
11
- require('@itcase/common');
12
- require('../../context/UIContext.js');
13
- require('../useMediaQueries/useMediaQueries.js');
14
- require('react-responsive');
15
- require('../../utils/setViewportProperty.js');
16
- require('../../context/UrlAssetPrefix.js');
8
+ require('../../context/UserDeviceContext/UserDeviceContext.js');
17
9
  require('../useStyles/styleAttributes.js');
18
10
  require('../useStyles/styleAttributes.helpers.js');
19
11
  require('lodash/kebabCase');
@@ -4,19 +4,11 @@ var React = require('react');
4
4
  var camelCase = require('lodash/camelCase');
5
5
  var castArray = require('lodash/castArray');
6
6
  var upperFirst = require('lodash/upperFirst');
7
- require('../../context/Notifications.js');
8
- var UIContext = require('../../context/UIContext.js');
9
- require('../../context/UrlAssetPrefix.js');
7
+ var UserDeviceContext = require('../../context/UserDeviceContext/UserDeviceContext.js');
10
8
  var styleAttributes = require('../useStyles/styleAttributes.js');
11
9
  var styleAttributes_helpers = require('../useStyles/styleAttributes.helpers.js');
12
10
  require('lodash/kebabCase');
13
11
  require('lodash/maxBy');
14
- require('react/jsx-runtime');
15
- require('uuid');
16
- require('@itcase/common');
17
- require('../useMediaQueries/useMediaQueries.js');
18
- require('react-responsive');
19
- require('../../utils/setViewportProperty.js');
20
12
 
21
13
  /* eslint-disable react-hooks/immutability */
22
14
  /* eslint-disable react-hooks/refs */
@@ -54,7 +46,7 @@ function useDevicePropsGenerator(componentProps, appearanceConfig) {
54
46
  * - titleTextSizeDesktop
55
47
  * ---------
56
48
  **/
57
- const { deviceCurrentMainType } = UIContext.useUserDeviceContext();
49
+ const { deviceCurrentMainType } = UserDeviceContext.useUserDeviceContext();
58
50
  // if (isDevelopmentEnv && isClientEnv) {
59
51
  // if (window.__cache === undefined) {
60
52
  // window.__cache = {
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var useDeviceTargetClass = require('./useDeviceTargetClass.js');
4
+ require('react');
5
+ require('lodash/camelCase');
6
+ require('../../context/UserDeviceContext/UserDeviceContext.js');
7
+
8
+
9
+
10
+ exports.useDeviceTargetClass = useDeviceTargetClass.useDeviceTargetClass;
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var camelCase = require('lodash/camelCase');
5
+ var UserDeviceContext = require('../../context/UserDeviceContext/UserDeviceContext.js');
6
+
7
+ /** TODO:
8
+ * Hook is still used in "itcase-forms".
9
+ * Need replace with "useDevicePropsGenerator" and delete this.
10
+ */
11
+ function useDeviceTargetClass(componentProps, hookProps) {
12
+ /** Generate a class depending on the user's device.
13
+ *
14
+ * Usage:
15
+ * const sizeClass = useDeviceTargetClass(props, {
16
+ * prefix: 'some-item_size_',
17
+ * propsKey: 'size',
18
+ * })
19
+ * Return: "some-item_size_m" (or "s", or "l", or something else)
20
+ *
21
+ * "componentProps" - "props" from component
22
+ * "hookProps" - special props for generating class
23
+ **/
24
+ const { prefix = '', propsKey, replace = [/([A-Z])/g, '-$1'] } = hookProps;
25
+ const { isMobile, isTablet, isDesktop } = UserDeviceContext.useUserDeviceContext();
26
+ const targetClassValue = React.useMemo(() => {
27
+ // prettier-ignore
28
+ const deviceCurrentMainType = ((isMobile && 'Mobile') ||
29
+ (isTablet && 'Tablet') ||
30
+ (isDesktop && 'Desktop') ||
31
+ '');
32
+ const valueForDevice = componentProps[`${propsKey}${deviceCurrentMainType}`];
33
+ const valueDefault = componentProps[propsKey];
34
+ return valueForDevice || valueDefault;
35
+ }, [isMobile, isTablet, isDesktop, componentProps, propsKey]);
36
+ const targetClass = React.useMemo(() => {
37
+ if (!targetClassValue) {
38
+ return null;
39
+ }
40
+ let cleanClassValue = camelCase(String(targetClassValue));
41
+ if (replace) {
42
+ const [searchValue, replaceValue = ''] = replace;
43
+ cleanClassValue = cleanClassValue.replace(searchValue, replaceValue);
44
+ }
45
+ return `${prefix}${cleanClassValue}`.toLowerCase();
46
+ }, [targetClassValue, prefix, replace]);
47
+ return targetClass;
48
+ }
49
+
50
+ exports.useDeviceTargetClass = useDeviceTargetClass;
@@ -8,15 +8,7 @@ require('lodash/camelCase');
8
8
  require('lodash/kebabCase');
9
9
  require('lodash/maxBy');
10
10
  require('lodash/upperFirst');
11
- require('../../context/Notifications.js');
12
- require('react/jsx-runtime');
13
- require('uuid');
14
- require('@itcase/common');
15
- require('../../context/UIContext.js');
16
- require('../useMediaQueries/useMediaQueries.js');
17
- require('react-responsive');
18
- require('../../utils/setViewportProperty.js');
19
- require('../../context/UrlAssetPrefix.js');
11
+ require('../../context/UserDeviceContext/UserDeviceContext.js');
20
12
 
21
13
 
22
14
 
@@ -5,17 +5,9 @@ var camelCase = require('lodash/camelCase');
5
5
  var kebabCase = require('lodash/kebabCase');
6
6
  var maxBy = require('lodash/maxBy');
7
7
  var upperFirst = require('lodash/upperFirst');
8
- require('../../context/Notifications.js');
9
- var UIContext = require('../../context/UIContext.js');
10
- require('../../context/UrlAssetPrefix.js');
8
+ var UserDeviceContext = require('../../context/UserDeviceContext/UserDeviceContext.js');
11
9
  var styleAttributes = require('./styleAttributes.js');
12
10
  var styleAttributes_helpers = require('./styleAttributes.helpers.js');
13
- require('react/jsx-runtime');
14
- require('uuid');
15
- require('@itcase/common');
16
- require('../useMediaQueries/useMediaQueries.js');
17
- require('react-responsive');
18
- require('../../utils/setViewportProperty.js');
19
11
 
20
12
  const LAYOUT_STYLE_KEYS = new Set([
21
13
  'alignContent',
@@ -34,7 +26,7 @@ const LAYOUT_STYLE_KEYS = new Set([
34
26
  * paddingHorizontalGridInnerWrapperMobileNormal: "10px"
35
27
  */
36
28
  function useStyles(props) {
37
- const { deviceCurrentMainType, deviceCurrentType, deviceTypesList } = UIContext.useUserDeviceContext();
29
+ const { deviceCurrentMainType, deviceCurrentType, deviceTypesList } = UserDeviceContext.useUserDeviceContext();
38
30
  const propsStyleAttributes = React.useMemo(() => {
39
31
  const styles = Object.entries(props).reduce((result, [propKey, propValue]) => {
40
32
  if (propValue === false || propValue == null) {
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var styleAttributes = require('./styleAttributes.js');
4
+ var useStyles = require('./useStyles.js');
5
+ require('react');
6
+ require('lodash/camelCase');
7
+ require('lodash/maxBy');
8
+
9
+
10
+
11
+ exports.styleAttributes = styleAttributes.styleAttributes;
12
+ exports.useStyles = useStyles.useStyles;
@@ -0,0 +1,137 @@
1
+ 'use strict';
2
+
3
+ const styleAttributes = [
4
+ /**
5
+ * Layout
6
+ */
7
+ 'alignContent',
8
+ 'alignItems',
9
+ 'alignSelf',
10
+ 'aspectRatio',
11
+ 'border',
12
+ 'borderBottomWidth',
13
+ 'borderEndWidth',
14
+ 'borderLeftWidth',
15
+ 'borderRightWidth',
16
+ 'borderStartWidth',
17
+ 'borderTopWidth',
18
+ 'borderWidth',
19
+ 'bottom',
20
+ 'display',
21
+ 'end',
22
+ 'flex',
23
+ 'flexBasis',
24
+ 'flexDirection',
25
+ 'flexGrow',
26
+ 'flexShrink',
27
+ 'flexWrap',
28
+ 'gap',
29
+ 'rowGap',
30
+ 'columnGap',
31
+ 'columnWidth',
32
+ 'height',
33
+ 'justifyContent',
34
+ 'left',
35
+ 'margin',
36
+ 'marginBottom',
37
+ 'marginEnd',
38
+ 'marginHorizontal',
39
+ 'marginLeft',
40
+ 'marginRight',
41
+ 'marginStart',
42
+ 'marginTop',
43
+ 'marginVertical',
44
+ 'maxHeight',
45
+ 'maxWidth',
46
+ 'minHeight',
47
+ 'minWidth',
48
+ 'overflow',
49
+ 'padding',
50
+ 'paddingBottom',
51
+ 'paddingEnd',
52
+ 'paddingHorizontal',
53
+ 'paddingLeft',
54
+ 'paddingRight',
55
+ 'paddingStart',
56
+ 'paddingTop',
57
+ 'paddingVertical',
58
+ 'position',
59
+ 'right',
60
+ 'start',
61
+ 'top',
62
+ 'width',
63
+ 'zIndex',
64
+ 'order',
65
+ /**
66
+ * Shadow
67
+ */
68
+ 'elevation',
69
+ 'shadowColor',
70
+ 'shadowOffset',
71
+ 'shadowOpacity',
72
+ 'shadowRadius',
73
+ /**
74
+ * Transform
75
+ */
76
+ 'transform',
77
+ /**
78
+ * View
79
+ */
80
+ 'background',
81
+ 'backgroundColor',
82
+ 'borderBottomColor',
83
+ 'borderBottomEndRadius',
84
+ 'borderBottomLeftRadius',
85
+ 'borderBottomRightRadius',
86
+ 'borderBottomStartRadius',
87
+ 'borderColor',
88
+ 'borderCurve',
89
+ 'borderEndColor',
90
+ 'borderLeftColor',
91
+ 'borderRadius',
92
+ 'borderRightColor',
93
+ 'borderStartColor',
94
+ 'borderStyle',
95
+ 'borderTopColor',
96
+ 'borderTopEndRadius',
97
+ 'borderTopLeftRadius',
98
+ 'borderTopRightRadius',
99
+ 'borderTopStartRadius',
100
+ 'opacity',
101
+ 'cursor',
102
+ /**
103
+ * Text
104
+ */
105
+ 'color',
106
+ 'fontFamily',
107
+ 'fontSize',
108
+ 'fontStyle',
109
+ 'fontVariant',
110
+ 'fontWeight',
111
+ 'letterSpacing',
112
+ 'lineHeight',
113
+ 'textAlign',
114
+ 'textDecorationColor',
115
+ 'textDecorationLine',
116
+ 'textDecorationStyle',
117
+ 'textShadowColor',
118
+ 'textShadowOffset',
119
+ 'textShadowRadius',
120
+ 'textTransform',
121
+ 'verticalAlign',
122
+ 'writingMode',
123
+ 'whiteSpace',
124
+ /**
125
+ * Image
126
+ */
127
+ 'overlayColor',
128
+ 'resizeMode',
129
+ 'tintColor',
130
+ 'objectFit',
131
+ /**
132
+ * Filter
133
+ */
134
+ 'backdropFilter',
135
+ ];
136
+
137
+ exports.styleAttributes = styleAttributes;