@cloud-ru/uikit-product-utils 7.0.0 → 7.0.1

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 (194) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +13 -0
  3. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +13 -0
  4. package/dist/cjs/components/ConfigProvider/index.d.ts +1 -0
  5. package/dist/cjs/components/ConfigProvider/index.js +17 -0
  6. package/dist/cjs/components/ForThemeMode/ForThemeMode.d.ts +6 -0
  7. package/dist/cjs/components/ForThemeMode/ForThemeMode.js +9 -0
  8. package/dist/cjs/components/ForThemeMode/hooks.d.ts +6 -0
  9. package/dist/cjs/components/ForThemeMode/hooks.js +13 -0
  10. package/dist/cjs/components/ForThemeMode/index.d.ts +2 -0
  11. package/dist/cjs/components/ForThemeMode/index.js +18 -0
  12. package/dist/cjs/components/index.d.ts +2 -0
  13. package/dist/cjs/components/index.js +18 -0
  14. package/dist/cjs/constants/adaptive.d.ts +34 -0
  15. package/dist/cjs/constants/adaptive.js +44 -0
  16. package/dist/cjs/constants/displayMode.d.ts +16 -0
  17. package/dist/cjs/constants/displayMode.js +24 -0
  18. package/dist/cjs/constants/environment.d.ts +14 -0
  19. package/dist/cjs/constants/environment.js +18 -0
  20. package/dist/cjs/helpers/tryParseJson.d.ts +1 -0
  21. package/dist/cjs/helpers/tryParseJson.js +15 -0
  22. package/dist/cjs/hooks/index.d.ts +13 -0
  23. package/dist/cjs/hooks/index.js +29 -0
  24. package/dist/cjs/hooks/private/getCustomStore.d.ts +2 -0
  25. package/dist/cjs/hooks/private/getCustomStore.js +11 -0
  26. package/dist/cjs/hooks/useAdaptive.d.ts +4 -0
  27. package/dist/cjs/hooks/useAdaptive.js +9 -0
  28. package/dist/cjs/hooks/useBrand.d.ts +5 -0
  29. package/dist/cjs/hooks/useBrand.js +28 -0
  30. package/dist/cjs/hooks/useComponentSize.d.ts +5 -0
  31. package/dist/cjs/hooks/useComponentSize.js +36 -0
  32. package/dist/cjs/hooks/useConfig.d.ts +8 -0
  33. package/dist/cjs/hooks/useConfig.js +126 -0
  34. package/dist/cjs/hooks/useDisplayMode.d.ts +3 -0
  35. package/dist/cjs/hooks/useDisplayMode.js +9 -0
  36. package/dist/cjs/hooks/useEventHandler.d.ts +1 -0
  37. package/dist/cjs/hooks/useEventHandler.js +17 -0
  38. package/dist/cjs/hooks/useForceUpdate.d.ts +1 -0
  39. package/dist/cjs/hooks/useForceUpdate.js +8 -0
  40. package/dist/cjs/hooks/useForceUpdateOnPageLoadedCompletely.d.ts +1 -0
  41. package/dist/cjs/hooks/useForceUpdateOnPageLoadedCompletely.js +14 -0
  42. package/dist/cjs/hooks/useLanguage.d.ts +9 -0
  43. package/dist/cjs/hooks/useLanguage.js +52 -0
  44. package/dist/cjs/hooks/useMatchMedia.d.ts +7 -0
  45. package/dist/cjs/hooks/useMatchMedia.js +39 -0
  46. package/dist/cjs/hooks/useTextProvider.d.ts +4 -0
  47. package/dist/cjs/hooks/useTextProvider.js +10 -0
  48. package/dist/cjs/hooks/useTheme.d.ts +5 -0
  49. package/dist/cjs/hooks/useTheme.js +28 -0
  50. package/dist/cjs/hooks/useUniqueId.d.ts +1 -0
  51. package/dist/cjs/hooks/useUniqueId.js +8 -0
  52. package/dist/cjs/index.d.ts +7 -0
  53. package/dist/cjs/index.js +23 -0
  54. package/dist/cjs/styles/default.d.ts +9 -0
  55. package/dist/cjs/styles/default.js +65 -0
  56. package/dist/cjs/styles/index.d.ts +1 -0
  57. package/dist/cjs/styles/index.js +17 -0
  58. package/dist/cjs/types/adaptive.d.ts +7 -0
  59. package/dist/cjs/types/adaptive.js +2 -0
  60. package/dist/cjs/types/general.d.ts +9 -0
  61. package/dist/cjs/types/general.js +2 -0
  62. package/dist/cjs/types/index.d.ts +5 -0
  63. package/dist/cjs/types/index.js +21 -0
  64. package/dist/cjs/types/language.d.ts +227 -0
  65. package/dist/cjs/types/language.js +231 -0
  66. package/dist/cjs/types/theme.d.ts +18 -0
  67. package/dist/cjs/types/theme.js +23 -0
  68. package/dist/cjs/types/withSupportProps.d.ts +4 -0
  69. package/dist/cjs/types/withSupportProps.js +2 -0
  70. package/dist/cjs/utils/alert.d.ts +2 -0
  71. package/dist/cjs/utils/alert.js +7 -0
  72. package/dist/cjs/utils/createTextProvider.d.ts +2 -0
  73. package/dist/cjs/utils/createTextProvider.js +16 -0
  74. package/dist/cjs/utils/excludeSupportProps.d.ts +3 -0
  75. package/dist/cjs/utils/excludeSupportProps.js +8 -0
  76. package/dist/cjs/utils/extractSupportProps.d.ts +1 -0
  77. package/dist/cjs/utils/extractSupportProps.js +8 -0
  78. package/dist/cjs/utils/getAdaptive.d.ts +5 -0
  79. package/dist/cjs/utils/getAdaptive.js +20 -0
  80. package/dist/cjs/utils/getDisplayMode.d.ts +3 -0
  81. package/dist/cjs/utils/getDisplayMode.js +28 -0
  82. package/dist/cjs/utils/getMatchMedia.d.ts +10 -0
  83. package/dist/cjs/utils/getMatchMedia.js +21 -0
  84. package/dist/cjs/utils/getUserAgentInfo.d.ts +20 -0
  85. package/dist/cjs/utils/getUserAgentInfo.js +29 -0
  86. package/dist/cjs/utils/index.d.ts +10 -0
  87. package/dist/cjs/utils/index.js +26 -0
  88. package/dist/cjs/utils/keyboardSelectHandler.d.ts +2 -0
  89. package/dist/cjs/utils/keyboardSelectHandler.js +10 -0
  90. package/dist/cjs/utils/private/constants.d.ts +1 -0
  91. package/dist/cjs/utils/private/constants.js +4 -0
  92. package/dist/cjs/utils/private/excludeProps.d.ts +3 -0
  93. package/dist/cjs/utils/private/excludeProps.js +8 -0
  94. package/dist/cjs/utils/private/extractProps.d.ts +1 -0
  95. package/dist/cjs/utils/private/extractProps.js +10 -0
  96. package/dist/cjs/utils/uniqueId.d.ts +8 -0
  97. package/dist/cjs/utils/uniqueId.js +13 -0
  98. package/dist/esm/components/ConfigProvider/ConfigProvider.d.ts +13 -0
  99. package/dist/esm/components/ConfigProvider/ConfigProvider.js +10 -0
  100. package/dist/esm/components/ConfigProvider/index.d.ts +1 -0
  101. package/dist/esm/components/ConfigProvider/index.js +1 -0
  102. package/dist/esm/components/ForThemeMode/ForThemeMode.d.ts +6 -0
  103. package/dist/esm/components/ForThemeMode/ForThemeMode.js +6 -0
  104. package/dist/esm/components/ForThemeMode/hooks.d.ts +6 -0
  105. package/dist/esm/components/ForThemeMode/hooks.js +10 -0
  106. package/dist/esm/components/ForThemeMode/index.d.ts +2 -0
  107. package/dist/esm/components/ForThemeMode/index.js +2 -0
  108. package/dist/esm/components/index.d.ts +2 -0
  109. package/dist/esm/components/index.js +2 -0
  110. package/dist/esm/constants/adaptive.d.ts +34 -0
  111. package/dist/esm/constants/adaptive.js +41 -0
  112. package/dist/esm/constants/displayMode.d.ts +16 -0
  113. package/dist/esm/constants/displayMode.js +21 -0
  114. package/dist/esm/constants/environment.d.ts +14 -0
  115. package/dist/esm/constants/environment.js +15 -0
  116. package/dist/esm/helpers/tryParseJson.d.ts +1 -0
  117. package/dist/esm/helpers/tryParseJson.js +12 -0
  118. package/dist/esm/hooks/index.d.ts +13 -0
  119. package/dist/esm/hooks/index.js +13 -0
  120. package/dist/esm/hooks/private/getCustomStore.d.ts +2 -0
  121. package/dist/esm/hooks/private/getCustomStore.js +8 -0
  122. package/dist/esm/hooks/useAdaptive.d.ts +4 -0
  123. package/dist/esm/hooks/useAdaptive.js +6 -0
  124. package/dist/esm/hooks/useBrand.d.ts +5 -0
  125. package/dist/esm/hooks/useBrand.js +24 -0
  126. package/dist/esm/hooks/useComponentSize.d.ts +5 -0
  127. package/dist/esm/hooks/useComponentSize.js +33 -0
  128. package/dist/esm/hooks/useConfig.d.ts +8 -0
  129. package/dist/esm/hooks/useConfig.js +120 -0
  130. package/dist/esm/hooks/useDisplayMode.d.ts +3 -0
  131. package/dist/esm/hooks/useDisplayMode.js +6 -0
  132. package/dist/esm/hooks/useEventHandler.d.ts +1 -0
  133. package/dist/esm/hooks/useEventHandler.js +14 -0
  134. package/dist/esm/hooks/useForceUpdate.d.ts +1 -0
  135. package/dist/esm/hooks/useForceUpdate.js +5 -0
  136. package/dist/esm/hooks/useForceUpdateOnPageLoadedCompletely.d.ts +1 -0
  137. package/dist/esm/hooks/useForceUpdateOnPageLoadedCompletely.js +11 -0
  138. package/dist/esm/hooks/useLanguage.d.ts +9 -0
  139. package/dist/esm/hooks/useLanguage.js +48 -0
  140. package/dist/esm/hooks/useMatchMedia.d.ts +7 -0
  141. package/dist/esm/hooks/useMatchMedia.js +33 -0
  142. package/dist/esm/hooks/useTextProvider.d.ts +4 -0
  143. package/dist/esm/hooks/useTextProvider.js +6 -0
  144. package/dist/esm/hooks/useTheme.d.ts +5 -0
  145. package/dist/esm/hooks/useTheme.js +24 -0
  146. package/dist/esm/hooks/useUniqueId.d.ts +1 -0
  147. package/dist/esm/hooks/useUniqueId.js +5 -0
  148. package/dist/esm/index.d.ts +7 -0
  149. package/dist/esm/index.js +7 -0
  150. package/dist/esm/styles/default.d.ts +9 -0
  151. package/dist/esm/styles/default.js +62 -0
  152. package/dist/esm/styles/index.d.ts +1 -0
  153. package/dist/esm/styles/index.js +1 -0
  154. package/dist/esm/types/adaptive.d.ts +7 -0
  155. package/dist/esm/types/adaptive.js +1 -0
  156. package/dist/esm/types/general.d.ts +9 -0
  157. package/dist/esm/types/general.js +1 -0
  158. package/dist/esm/types/index.d.ts +5 -0
  159. package/dist/esm/types/index.js +5 -0
  160. package/dist/esm/types/language.d.ts +227 -0
  161. package/dist/esm/types/language.js +228 -0
  162. package/dist/esm/types/theme.d.ts +18 -0
  163. package/dist/esm/types/theme.js +20 -0
  164. package/dist/esm/types/withSupportProps.d.ts +4 -0
  165. package/dist/esm/types/withSupportProps.js +1 -0
  166. package/dist/esm/utils/alert.d.ts +2 -0
  167. package/dist/esm/utils/alert.js +3 -0
  168. package/dist/esm/utils/createTextProvider.d.ts +2 -0
  169. package/dist/esm/utils/createTextProvider.js +13 -0
  170. package/dist/esm/utils/excludeSupportProps.d.ts +3 -0
  171. package/dist/esm/utils/excludeSupportProps.js +5 -0
  172. package/dist/esm/utils/extractSupportProps.d.ts +1 -0
  173. package/dist/esm/utils/extractSupportProps.js +5 -0
  174. package/dist/esm/utils/getAdaptive.d.ts +5 -0
  175. package/dist/esm/utils/getAdaptive.js +17 -0
  176. package/dist/esm/utils/getDisplayMode.d.ts +3 -0
  177. package/dist/esm/utils/getDisplayMode.js +25 -0
  178. package/dist/esm/utils/getMatchMedia.d.ts +10 -0
  179. package/dist/esm/utils/getMatchMedia.js +14 -0
  180. package/dist/esm/utils/getUserAgentInfo.d.ts +20 -0
  181. package/dist/esm/utils/getUserAgentInfo.js +26 -0
  182. package/dist/esm/utils/index.d.ts +10 -0
  183. package/dist/esm/utils/index.js +10 -0
  184. package/dist/esm/utils/keyboardSelectHandler.d.ts +2 -0
  185. package/dist/esm/utils/keyboardSelectHandler.js +7 -0
  186. package/dist/esm/utils/private/constants.d.ts +1 -0
  187. package/dist/esm/utils/private/constants.js +1 -0
  188. package/dist/esm/utils/private/excludeProps.d.ts +3 -0
  189. package/dist/esm/utils/private/excludeProps.js +5 -0
  190. package/dist/esm/utils/private/extractProps.d.ts +1 -0
  191. package/dist/esm/utils/private/extractProps.js +7 -0
  192. package/dist/esm/utils/uniqueId.d.ts +8 -0
  193. package/dist/esm/utils/uniqueId.js +10 -0
  194. package/package.json +3 -2
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useEventHandler = useEventHandler;
4
+ const react_1 = require("react");
5
+ const utils_1 = require("@snack-uikit/utils");
6
+ const utils_2 = require("../utils");
7
+ function useEventHandler(handler) {
8
+ const handlerRef = (0, react_1.useRef)(null);
9
+ (0, utils_1.useLayoutEffect)(() => {
10
+ handlerRef.current = handler;
11
+ });
12
+ return (0, react_1.useCallback)((...args) => {
13
+ const handler = handlerRef.current;
14
+ (0, utils_2.warning)('The event handler cannot be called during render', handler === null);
15
+ return handler === null || handler === void 0 ? void 0 : handler(...args);
16
+ }, []);
17
+ }
@@ -0,0 +1 @@
1
+ export declare function useForceUpdate(): () => void;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useForceUpdate = useForceUpdate;
4
+ const react_1 = require("react");
5
+ function useForceUpdate() {
6
+ const [, setVersion] = (0, react_1.useState)(0);
7
+ return (0, react_1.useCallback)(() => setVersion(version => version + 1), []);
8
+ }
@@ -0,0 +1 @@
1
+ export declare function useForceUpdateOnPageLoadedCompletely(): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useForceUpdateOnPageLoadedCompletely = useForceUpdateOnPageLoadedCompletely;
4
+ const react_1 = require("react");
5
+ const useForceUpdate_1 = require("./useForceUpdate");
6
+ function useForceUpdateOnPageLoadedCompletely() {
7
+ const rerender = (0, useForceUpdate_1.useForceUpdate)();
8
+ (0, react_1.useEffect)(() => {
9
+ window.addEventListener('load', rerender);
10
+ return () => {
11
+ window.removeEventListener('load', rerender);
12
+ };
13
+ }, [rerender]);
14
+ }
@@ -0,0 +1,9 @@
1
+ import { LanguageCodeType } from '../types';
2
+ type useLanguageProps = {
3
+ onlyEnabledLanguage?: boolean;
4
+ };
5
+ export declare const useLanguage: (props?: useLanguageProps) => {
6
+ languageCode: LanguageCodeType;
7
+ changeLanguage: (languageCode: LanguageCodeType) => void;
8
+ };
9
+ export {};
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLanguage = void 0;
4
+ const react_1 = require("react");
5
+ const utils_1 = require("@snack-uikit/utils");
6
+ const environment_1 = require("../constants/environment");
7
+ const tryParseJson_1 = require("../helpers/tryParseJson");
8
+ const types_1 = require("../types");
9
+ const getCustomStore_1 = require("./private/getCustomStore");
10
+ const useLanguage = (props) => {
11
+ const store = (0, getCustomStore_1.getCustomStore)();
12
+ const [languageCode, setLanguageCode] = (0, react_1.useState)(store.languageCode || environment_1.DEFAULT.LANGUAGE);
13
+ const onlyEnabledLanguage = props === null || props === void 0 ? void 0 : props.onlyEnabledLanguage;
14
+ (0, react_1.useEffect)(() => {
15
+ const receiveChangeLanguageDoneMessage = (event) => {
16
+ const eventData = (0, tryParseJson_1.tryParseJson)(event.data);
17
+ if (eventData.key !== environment_1.POST_MESSAGE_KEY.changeLanguageDone)
18
+ return;
19
+ setLanguageCode(eventData.value);
20
+ };
21
+ window.addEventListener('message', receiveChangeLanguageDoneMessage, false);
22
+ return () => window.removeEventListener('message', receiveChangeLanguageDoneMessage, false);
23
+ }, []);
24
+ (0, utils_1.useLayoutEffect)(() => {
25
+ if (!onlyEnabledLanguage) {
26
+ return;
27
+ }
28
+ const miniCode = languageCode.split('-')[0];
29
+ const enGroup = miniCode === 'en';
30
+ const ruGroup = ['ru', 'be'].includes(miniCode);
31
+ if (enGroup) {
32
+ setLanguageCode(types_1.LanguageCodeType.enGB);
33
+ return;
34
+ }
35
+ if (ruGroup) {
36
+ setLanguageCode(types_1.LanguageCodeType.ruRU);
37
+ return;
38
+ }
39
+ if (languageCode === types_1.LanguageCodeType.cimode) {
40
+ setLanguageCode(types_1.LanguageCodeType.cimode);
41
+ return;
42
+ }
43
+ setLanguageCode(types_1.LanguageCodeType.ruRU);
44
+ }, [languageCode, onlyEnabledLanguage]);
45
+ const changeLanguage = (0, react_1.useCallback)((languageCode) => {
46
+ if ((0, utils_1.isBrowser)()) {
47
+ window.postMessage(JSON.stringify({ key: environment_1.POST_MESSAGE_KEY.changeLanguage, value: languageCode }), location.origin);
48
+ }
49
+ }, []);
50
+ return { languageCode, changeLanguage };
51
+ };
52
+ exports.useLanguage = useLanguage;
@@ -0,0 +1,7 @@
1
+ import { MatchMediaGeneric } from '../types';
2
+ export declare const useMatchMediaGeneric: <T extends string>({ queryValues, initialValues, }: {
3
+ queryValues: Record<T, string>;
4
+ initialValues: MatchMediaGeneric<T>;
5
+ }) => MatchMediaGeneric<T>;
6
+ export declare function useAdaptiveMatchMedia(): MatchMediaGeneric<import("../constants/adaptive").AdaptiveQueriesTitle>;
7
+ export declare function useDisplayModeMatchMedia(): MatchMediaGeneric<"isBrowser" | "isPwa" | "isFullscreen" | "isMinimalUI" | "isWindowControlsOverlay">;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMatchMediaGeneric = void 0;
4
+ exports.useAdaptiveMatchMedia = useAdaptiveMatchMedia;
5
+ exports.useDisplayModeMatchMedia = useDisplayModeMatchMedia;
6
+ const react_1 = require("react");
7
+ const utils_1 = require("@snack-uikit/utils");
8
+ const adaptive_1 = require("../constants/adaptive");
9
+ const displayMode_1 = require("../constants/displayMode");
10
+ const getMatchMedia_1 = require("../utils/getMatchMedia");
11
+ const useMatchMediaGeneric = ({ queryValues, initialValues, }) => {
12
+ const updatedHandlers = {
13
+ getMatchMedia: () => (0, getMatchMedia_1.getMatchMediaGeneric)({ queryValues, initialValues }),
14
+ getMediaQueryList: () => (0, getMatchMedia_1.getMediaQueryListGeneric)({ queryValues }),
15
+ };
16
+ const handlersRef = (0, react_1.useRef)(updatedHandlers);
17
+ handlersRef.current = updatedHandlers;
18
+ const [value, setValue] = (0, react_1.useState)(handlersRef.current.getMatchMedia);
19
+ (0, utils_1.useLayoutEffect)(() => {
20
+ const handler = () => setValue(handlersRef.current.getMatchMedia);
21
+ const mediaQueryList = handlersRef.current.getMediaQueryList();
22
+ mediaQueryList.forEach(([, mql]) => mql.addEventListener('change', handler));
23
+ return () => mediaQueryList.forEach(([, mql]) => mql.removeEventListener('change', handler));
24
+ }, []);
25
+ return value;
26
+ };
27
+ exports.useMatchMediaGeneric = useMatchMediaGeneric;
28
+ function useAdaptiveMatchMedia() {
29
+ return (0, exports.useMatchMediaGeneric)({
30
+ queryValues: adaptive_1.ADAPTIVE_QUERIES,
31
+ initialValues: adaptive_1.INITIAL_ADAPTIVE_QUERIES_VALUE,
32
+ });
33
+ }
34
+ function useDisplayModeMatchMedia() {
35
+ return (0, exports.useMatchMediaGeneric)({
36
+ queryValues: displayMode_1.DISPLAY_MODE_QUERIES,
37
+ initialValues: displayMode_1.INITIAL_DISPLAY_MODE_QUERIES_VALUE,
38
+ });
39
+ }
@@ -0,0 +1,4 @@
1
+ import { LanguageCodeType } from '../types';
2
+ type TextProviderFunction<T extends string> = (entity: T) => string;
3
+ export declare const useTextProvider: <T extends string>(textProvider: (language: LanguageCodeType, entity: T) => string) => TextProviderFunction<T>;
4
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTextProvider = void 0;
4
+ const react_1 = require("react");
5
+ const useLanguage_1 = require("./useLanguage");
6
+ const useTextProvider = (textProvider) => {
7
+ const { languageCode } = (0, useLanguage_1.useLanguage)({ onlyEnabledLanguage: true });
8
+ return (0, react_1.useCallback)((entity) => textProvider(languageCode, entity), [languageCode, textProvider]);
9
+ };
10
+ exports.useTextProvider = useTextProvider;
@@ -0,0 +1,5 @@
1
+ import { Themes } from '../types/theme';
2
+ export declare const useTheme: () => {
3
+ theme: Themes;
4
+ changeTheme: (theme: Themes) => void;
5
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTheme = void 0;
4
+ const react_1 = require("react");
5
+ const utils_1 = require("@snack-uikit/utils");
6
+ const environment_1 = require("../constants/environment");
7
+ const tryParseJson_1 = require("../helpers/tryParseJson");
8
+ const getCustomStore_1 = require("./private/getCustomStore");
9
+ const useTheme = () => {
10
+ const store = (0, getCustomStore_1.getCustomStore)();
11
+ const [theme, setTheme] = (0, react_1.useState)(store.theme || environment_1.DEFAULT.THEME);
12
+ (0, react_1.useEffect)(() => {
13
+ const receiveChangeThemeDoneMessage = (event) => {
14
+ const eventData = (0, tryParseJson_1.tryParseJson)(event.data);
15
+ if (eventData.key !== environment_1.POST_MESSAGE_KEY.changeThemeDone)
16
+ return;
17
+ setTheme(eventData.value);
18
+ };
19
+ window.addEventListener('message', receiveChangeThemeDoneMessage, false);
20
+ return () => window.removeEventListener('message', receiveChangeThemeDoneMessage, false);
21
+ }, []);
22
+ const changeTheme = (0, react_1.useCallback)((theme) => {
23
+ (0, utils_1.isBrowser)() &&
24
+ window.postMessage(JSON.stringify({ key: environment_1.POST_MESSAGE_KEY.changeTheme, value: theme }), location.origin);
25
+ }, []);
26
+ return { theme, changeTheme };
27
+ };
28
+ exports.useTheme = useTheme;
@@ -0,0 +1 @@
1
+ export declare function useUniqueId(namespace?: string): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useUniqueId = useUniqueId;
4
+ const react_1 = require("react");
5
+ const utils_1 = require("../utils");
6
+ function useUniqueId(namespace) {
7
+ return (0, react_1.useMemo)(() => (0, utils_1.uniqueId)(namespace), [namespace]);
8
+ }
@@ -0,0 +1,7 @@
1
+ export * from './components';
2
+ export * from './hooks';
3
+ export * from './utils';
4
+ export * from './types';
5
+ export * from './styles';
6
+ export * from './constants/adaptive';
7
+ export * from './constants/displayMode';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./components"), exports);
18
+ __exportStar(require("./hooks"), exports);
19
+ __exportStar(require("./utils"), exports);
20
+ __exportStar(require("./types"), exports);
21
+ __exportStar(require("./styles"), exports);
22
+ __exportStar(require("./constants/adaptive"), exports);
23
+ __exportStar(require("./constants/displayMode"), exports);
@@ -0,0 +1,9 @@
1
+ export declare const DEFAULT_STYLES: {
2
+ COMMON: string;
3
+ BORDERLESS: string;
4
+ };
5
+ export declare const ANIMATIONS: {
6
+ TRANSITION: string;
7
+ LOADING_WHEEL: string;
8
+ };
9
+ export declare const SHADOW: Record<string, string>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SHADOW = exports.ANIMATIONS = exports.DEFAULT_STYLES = void 0;
4
+ const figma_tokens_cloud_platform_1 = require("@sbercloud/figma-tokens-cloud-platform");
5
+ function getLoadingWheelAnimationPerChild(quantity, duration) {
6
+ function getLoadingWheelAnimation(child) {
7
+ return `
8
+ &:nth-child(${child}) {
9
+ animation-delay: ${(-child / quantity) * duration}ms;
10
+ animation-duration: ${duration}ms;
11
+ }
12
+ `;
13
+ }
14
+ return Array.from({ length: quantity }, (_, index) => index + 1)
15
+ .map(getLoadingWheelAnimation)
16
+ .join('');
17
+ }
18
+ exports.DEFAULT_STYLES = {
19
+ COMMON: `
20
+ box-sizing: border-box;
21
+ margin: 0;
22
+ padding: 0;
23
+ outline: 0;
24
+
25
+ &::after,
26
+ &::before {
27
+ box-sizing: border-box;
28
+ }
29
+ `,
30
+ BORDERLESS: `
31
+ border: none;
32
+ border-radius: 0;
33
+ `,
34
+ };
35
+ exports.ANIMATIONS = {
36
+ TRANSITION: '0.2s ease-in-out',
37
+ LOADING_WHEEL: `
38
+ & > path {
39
+ @keyframes loading-wheel {
40
+ 0% {
41
+ opacity: 1;
42
+ }
43
+
44
+ 90% {
45
+ opacity: 0.125;
46
+ }
47
+
48
+ 100% {
49
+ opacity: 1;
50
+ }
51
+ }
52
+
53
+ animation-iteration-count: infinite;
54
+ animation-name: loading-wheel;
55
+ animation-timing-function: linear;
56
+
57
+ ${getLoadingWheelAnimationPerChild(8, 1000)};
58
+ }
59
+ `,
60
+ };
61
+ exports.SHADOW = {
62
+ SMALL: figma_tokens_cloud_platform_1.themeVars.boxShadow.elevation.level1, // old value: '0 2px 12px rgba(0, 0, 0, 0.04)',
63
+ MEDIUM: figma_tokens_cloud_platform_1.themeVars.boxShadow.elevation.level3, // old value: '0 4px 20px rgba(0, 0, 0, 0.08)',
64
+ LARGE: figma_tokens_cloud_platform_1.themeVars.boxShadow.elevation.level4, // old value: '0 8px 32px rgba(0, 0, 0, 0.08)',
65
+ };
@@ -0,0 +1 @@
1
+ export * from './default';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./default"), exports);
@@ -0,0 +1,7 @@
1
+ import { ValueOf } from '@snack-uikit/utils';
2
+ import { LAYOUT_TYPE } from '../constants/adaptive';
3
+ export type MatchMediaGeneric<T extends string> = Record<T, boolean>;
4
+ export type LayoutType = ValueOf<typeof LAYOUT_TYPE>;
5
+ export type WithLayoutType<T = object> = T & {
6
+ layoutType: LayoutType;
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { LanguageCodeType } from './language';
2
+ import { Brand, Themes } from './theme';
3
+ export type WindowStore = {
4
+ sbercloudUIKit: {
5
+ languageCode: LanguageCodeType;
6
+ theme: Themes;
7
+ brand: Brand;
8
+ };
9
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ export * from './adaptive';
2
+ export * from './general';
3
+ export * from './language';
4
+ export * from './theme';
5
+ export * from './withSupportProps';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./adaptive"), exports);
18
+ __exportStar(require("./general"), exports);
19
+ __exportStar(require("./language"), exports);
20
+ __exportStar(require("./theme"), exports);
21
+ __exportStar(require("./withSupportProps"), exports);
@@ -0,0 +1,227 @@
1
+ export declare enum LanguageCodeType {
2
+ arSA = "ar-SA",
3
+ bgBG = "bg-BG",
4
+ caES = "ca-ES",
5
+ zhTW = "zh-TW",
6
+ csCZ = "cs-CZ",
7
+ daDK = "da-DK",
8
+ deDE = "de-DE",
9
+ elGR = "el-GR",
10
+ enUS = "en-US",
11
+ es = "es",
12
+ fiFI = "fi-FI",
13
+ frFR = "fr-FR",
14
+ heIL = "he-IL",
15
+ huHU = "hu-HU",
16
+ isIS = "is-IS",
17
+ itIT = "it-IT",
18
+ jaJP = "ja-JP",
19
+ koKR = "ko-KR",
20
+ nlNL = "nl-NL",
21
+ nbNO = "nb-NO",
22
+ plPL = "pl-PL",
23
+ ptBR = "pt-BR",
24
+ rmCH = "rm-CH",
25
+ roRO = "ro-RO",
26
+ ruRU = "ru-RU",
27
+ hrHR = "hr-HR",
28
+ skSK = "sk-SK",
29
+ sqAL = "sq-AL",
30
+ svSE = "sv-SE",
31
+ thTH = "th-TH",
32
+ trTR = "tr-TR",
33
+ urPK = "ur-PK",
34
+ idID = "id-ID",
35
+ ukUA = "uk-UA",
36
+ beBY = "be-BY",
37
+ slSI = "sl-SI",
38
+ etEE = "et-EE",
39
+ lvLV = "lv-LV",
40
+ ltLT = "lt-LT",
41
+ tgCyrlTJ = "tg-Cyrl-TJ",
42
+ faIR = "fa-IR",
43
+ viVN = "vi-VN",
44
+ hyAM = "hy-AM",
45
+ azLatnAZ = "az-Latn-AZ",
46
+ euES = "eu-ES",
47
+ hsbDE = "hsb-DE",
48
+ mkMK = "mk-MK",
49
+ tnZA = "tn-ZA",
50
+ xhZA = "xh-ZA",
51
+ zuZA = "zu-ZA",
52
+ afZA = "af-ZA",
53
+ kaGE = "ka-GE",
54
+ foFO = "fo-FO",
55
+ hiIN = "hi-IN",
56
+ mtMT = "mt-MT",
57
+ seNO = "se-NO",
58
+ msMY = "ms-MY",
59
+ kkKZ = "kk-KZ",
60
+ kyKG = "ky-KG",
61
+ swKE = "sw-KE",
62
+ tkTM = "tk-TM",
63
+ uzLatnUZ = "uz-Latn-UZ",
64
+ ttRU = "tt-RU",
65
+ bnIN = "bn-IN",
66
+ paIN = "pa-IN",
67
+ guIN = "gu-IN",
68
+ orIN = "or-IN",
69
+ taIN = "ta-IN",
70
+ teIN = "te-IN",
71
+ knIN = "kn-IN",
72
+ mlIN = "ml-IN",
73
+ asIN = "as-IN",
74
+ mrIN = "mr-IN",
75
+ saIN = "sa-IN",
76
+ mnMN = "mn-MN",
77
+ boCN = "bo-CN",
78
+ cyGB = "cy-GB",
79
+ kmKH = "km-KH",
80
+ loLA = "lo-LA",
81
+ chrCherUS = "chr-Cher-US",
82
+ iuCansCA = "iu-Cans-CA",
83
+ glES = "gl-ES",
84
+ kokIN = "kok-IN",
85
+ syrSY = "syr-SY",
86
+ siLK = "si-LK",
87
+ amET = "am-ET",
88
+ neNP = "ne-NP",
89
+ fyNL = "fy-NL",
90
+ psAF = "ps-AF",
91
+ filPH = "fil-PH",
92
+ dvMV = "dv-MV",
93
+ haLatnNG = "ha-Latn-NG",
94
+ yoNG = "yo-NG",
95
+ quzBO = "quz-BO",
96
+ nsoZA = "nso-ZA",
97
+ baRU = "ba-RU",
98
+ lbLU = "lb-LU",
99
+ klGL = "kl-GL",
100
+ igNG = "ig-NG",
101
+ tiET = "ti-ET",
102
+ hawUS = "haw-US",
103
+ iiCN = "ii-CN",
104
+ arnCL = "arn-CL",
105
+ mohCA = "moh-CA",
106
+ brFR = "br-FR",
107
+ ugCN = "ug-CN",
108
+ miNZ = "mi-NZ",
109
+ ocFR = "oc-FR",
110
+ coFR = "co-FR",
111
+ gswFR = "gsw-FR",
112
+ sahRU = "sah-RU",
113
+ qutGT = "qut-GT",
114
+ rwRW = "rw-RW",
115
+ woSN = "wo-SN",
116
+ prsAF = "prs-AF",
117
+ gdGB = "gd-GB",
118
+ kuArabIQ = "ku-Arab-IQ",
119
+ arIQ = "ar-IQ",
120
+ caESvalencia = "ca-ES-valencia",
121
+ zhCN = "zh-CN",
122
+ deCH = "de-CH",
123
+ enGB = "en-GB",
124
+ esMX = "es-MX",
125
+ frBE = "fr-BE",
126
+ itCH = "it-CH",
127
+ nlBE = "nl-BE",
128
+ nnNO = "nn-NO",
129
+ ptPT = "pt-PT",
130
+ ruMO = "ru-MO",
131
+ srLatnCS = "sr-Latn-CS",
132
+ svFI = "sv-FI",
133
+ azCyrlAZ = "az-Cyrl-AZ",
134
+ dsbDE = "dsb-DE",
135
+ tnBW = "tn-BW",
136
+ seSE = "se-SE",
137
+ gaIE = "ga-IE",
138
+ msBN = "ms-BN",
139
+ uzCyrlUZ = "uz-Cyrl-UZ",
140
+ bnBD = "bn-BD",
141
+ paArabPK = "pa-Arab-PK",
142
+ taLK = "ta-LK",
143
+ mnMongCN = "mn-Mong-CN",
144
+ sdArabPK = "sd-Arab-PK",
145
+ iuLatnCA = "iu-Latn-CA",
146
+ tzmLatnDZ = "tzm-Latn-DZ",
147
+ ffLatnSN = "ff-Latn-SN",
148
+ quzEC = "quz-EC",
149
+ tiER = "ti-ER",
150
+ arEG = "ar-EG",
151
+ zhHK = "zh-HK",
152
+ deAT = "de-AT",
153
+ enAU = "en-AU",
154
+ esES = "es-ES",
155
+ frCA = "fr-CA",
156
+ srCyrlCS = "sr-Cyrl-CS",
157
+ seFI = "se-FI",
158
+ quzPE = "quz-PE",
159
+ arLY = "ar-LY",
160
+ zhSG = "zh-SG",
161
+ deLU = "de-LU",
162
+ enCA = "en-CA",
163
+ esGT = "es-GT",
164
+ frCH = "fr-CH",
165
+ hrBA = "hr-BA",
166
+ smjNO = "smj-NO",
167
+ tzmTfngMA = "tzm-Tfng-MA",
168
+ arDZ = "ar-DZ",
169
+ zhMO = "zh-MO",
170
+ deLI = "de-LI",
171
+ enNZ = "en-NZ",
172
+ esCR = "es-CR",
173
+ frLU = "fr-LU",
174
+ bsLatnBA = "bs-Latn-BA",
175
+ smjSE = "smj-SE",
176
+ arMA = "ar-MA",
177
+ enIE = "en-IE",
178
+ esPA = "es-PA",
179
+ frMC = "fr-MC",
180
+ srSPCyrl = "sr-SP-Cyrl",
181
+ smaNO = "sma-NO",
182
+ arTN = "ar-TN",
183
+ enZA = "en-ZA",
184
+ esDO = "es-DO",
185
+ srCyrlBA = "sr-Cyrl-BA",
186
+ smaSE = "sma-SE",
187
+ arOM = "ar-OM",
188
+ enJM = "en-JM",
189
+ esVE = "es-VE",
190
+ bsCyrlBA = "bs-Cyrl-BA",
191
+ smsFI = "sms-FI",
192
+ arYE = "ar-YE",
193
+ en029 = "en-029",
194
+ esCO = "es-CO",
195
+ srLatnRS = "sr-Latn-RS",
196
+ smnFI = "smn-FI",
197
+ arSY = "ar-SY",
198
+ enBZ = "en-BZ",
199
+ esPE = "es-PE",
200
+ srCyrlRS = "sr-Cyrl-RS",
201
+ arJO = "ar-JO",
202
+ enTT = "en-TT",
203
+ esAR = "es-AR",
204
+ srLatnME = "sr-Latn-ME",
205
+ arLB = "ar-LB",
206
+ enZW = "en-ZW",
207
+ esEC = "es-EC",
208
+ srCyrlME = "sr-Cyrl-ME",
209
+ arKW = "ar-KW",
210
+ enPH = "en-PH",
211
+ esCL = "es-CL",
212
+ arAE = "ar-AE",
213
+ esUY = "es-UY",
214
+ arBH = "ar-BH",
215
+ esPY = "es-PY",
216
+ arQA = "ar-QA",
217
+ enIN = "en-IN",
218
+ esBO = "es-BO",
219
+ enMY = "en-MY",
220
+ esSV = "es-SV",
221
+ enSG = "en-SG",
222
+ esHN = "es-HN",
223
+ esNI = "es-NI",
224
+ esPR = "es-PR",
225
+ esUS = "es-US",
226
+ cimode = "cimode"
227
+ }