@skbkontur/react-ui 4.5.2 → 4.5.3-theme2022.0

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 (173) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +21 -21
  3. package/cjs/components/Button/Button.d.ts +10 -1
  4. package/cjs/components/Button/Button.js +81 -3
  5. package/cjs/components/Button/Button.js.map +1 -1
  6. package/cjs/components/Button/Button.mixins.js +5 -4
  7. package/cjs/components/Button/Button.mixins.js.map +1 -1
  8. package/cjs/components/Button/Button.styles.d.ts +23 -0
  9. package/cjs/components/Button/Button.styles.js +331 -73
  10. package/cjs/components/Button/Button.styles.js.map +1 -1
  11. package/cjs/components/Checkbox/Checkbox.js +1 -1
  12. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  13. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -1
  14. package/cjs/components/Checkbox/Checkbox.styles.js +6 -4
  15. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  16. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  17. package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
  18. package/cjs/components/Dropdown/Dropdown.js +21 -3
  19. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  20. package/cjs/components/FileUploader/FileUploader.md +6 -1
  21. package/cjs/components/Gapped/Gapped.md +43 -43
  22. package/cjs/components/Link/Link.d.ts +3 -0
  23. package/cjs/components/Link/Link.js +31 -8
  24. package/cjs/components/Link/Link.js.map +1 -1
  25. package/cjs/components/Link/Link.mixins.d.ts +1 -0
  26. package/cjs/components/Link/Link.mixins.js +44 -6
  27. package/cjs/components/Link/Link.mixins.js.map +1 -1
  28. package/cjs/components/Link/Link.styles.d.ts +6 -0
  29. package/cjs/components/Link/Link.styles.js +86 -17
  30. package/cjs/components/Link/Link.styles.js.map +1 -1
  31. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +2 -2
  32. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  33. package/cjs/components/Modal/Modal.styles.d.ts +3 -0
  34. package/cjs/components/Modal/Modal.styles.js +32 -10
  35. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  36. package/cjs/components/Modal/ModalFooter.js +6 -2
  37. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  38. package/cjs/components/Modal/ModalHeader.js +9 -3
  39. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  40. package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
  41. package/cjs/components/Modal/ModalSeparator.js +21 -0
  42. package/cjs/components/Modal/ModalSeparator.js.map +1 -0
  43. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  44. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  45. package/cjs/components/Select/selectTheme.js +2 -0
  46. package/cjs/components/Select/selectTheme.js.map +1 -1
  47. package/cjs/components/Token/Token.md +112 -112
  48. package/cjs/internal/FakeUserActions/FakeUserActions.d.ts +7 -0
  49. package/cjs/internal/FakeUserActions/FakeUserActions.js +29 -0
  50. package/cjs/internal/FakeUserActions/FakeUserActions.js.map +1 -0
  51. package/cjs/internal/FakeUserActions/FakeUserActionsTable.d.ts +6 -0
  52. package/cjs/internal/FakeUserActions/FakeUserActionsTable.js +216 -0
  53. package/cjs/internal/FakeUserActions/FakeUserActionsTable.js.map +1 -0
  54. package/cjs/internal/FakeUserActions/Selectors.d.ts +6 -0
  55. package/cjs/internal/FakeUserActions/Selectors.js +20 -0
  56. package/cjs/internal/FakeUserActions/Selectors.js.map +1 -0
  57. package/cjs/internal/FakeUserActions/hasFakeUserAction.d.ts +3 -0
  58. package/cjs/internal/FakeUserActions/hasFakeUserAction.js +9 -0
  59. package/cjs/internal/FakeUserActions/hasFakeUserAction.js.map +1 -0
  60. package/cjs/internal/Menu/Menu.styles.js +1 -2
  61. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  62. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  63. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  64. package/cjs/internal/icons/16px/BaseIcon.d.ts +8 -0
  65. package/cjs/internal/icons/16px/BaseIcon.js +33 -0
  66. package/cjs/internal/icons/16px/BaseIcon.js.map +1 -0
  67. package/cjs/internal/icons/16px/index.d.ts +3 -0
  68. package/cjs/internal/icons/16px/index.js +22 -8
  69. package/cjs/internal/icons/16px/index.js.map +1 -1
  70. package/cjs/internal/themes/DefaultTheme.d.ts +41 -0
  71. package/cjs/internal/themes/DefaultTheme.js +87 -3
  72. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  73. package/cjs/internal/themes/Theme2022.d.ts +60 -4
  74. package/cjs/internal/themes/Theme2022.js +156 -63
  75. package/cjs/internal/themes/Theme2022.js.map +1 -1
  76. package/cjs/internal/themes/Theme2022Dark.d.ts +9 -0
  77. package/cjs/internal/themes/Theme2022Dark.js +15 -1
  78. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  79. package/cjs/lib/theming/ThemeHelpers.d.ts +3 -0
  80. package/cjs/lib/theming/ThemeHelpers.js +17 -1
  81. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  82. package/cjs/lib/theming/themes/Theme2022.js +2 -1
  83. package/cjs/lib/theming/themes/Theme2022.js.map +1 -1
  84. package/cjs/typings/utility-types.d.ts +1 -1
  85. package/components/Button/Button/Button.js +61 -11
  86. package/components/Button/Button/Button.js.map +1 -1
  87. package/components/Button/Button.d.ts +10 -1
  88. package/components/Button/Button.mixins/Button.mixins.js +2 -2
  89. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  90. package/components/Button/Button.styles/Button.styles.js +130 -62
  91. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  92. package/components/Button/Button.styles.d.ts +23 -0
  93. package/components/Checkbox/Checkbox/Checkbox.js +1 -1
  94. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  95. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +2 -2
  96. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  97. package/components/Checkbox/Checkbox.styles.d.ts +1 -1
  98. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  99. package/components/Dropdown/Dropdown/Dropdown.js +18 -5
  100. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  101. package/components/Dropdown/Dropdown.d.ts +1 -0
  102. package/components/FileUploader/FileUploader.md +6 -1
  103. package/components/Gapped/Gapped.md +43 -43
  104. package/components/Link/Link/Link.js +26 -4
  105. package/components/Link/Link/Link.js.map +1 -1
  106. package/components/Link/Link.d.ts +3 -0
  107. package/components/Link/Link.mixins/Link.mixins.js +11 -3
  108. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  109. package/components/Link/Link.mixins.d.ts +1 -0
  110. package/components/Link/Link.styles/Link.styles.js +26 -14
  111. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  112. package/components/Link/Link.styles.d.ts +6 -0
  113. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js +1 -1
  114. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  115. package/components/Modal/Modal.styles/Modal.styles.js +14 -5
  116. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  117. package/components/Modal/Modal.styles.d.ts +3 -0
  118. package/components/Modal/ModalFooter/ModalFooter.js +5 -2
  119. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  120. package/components/Modal/ModalHeader/ModalHeader.js +5 -2
  121. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  122. package/components/Modal/ModalSeparator/ModalSeparator.js +14 -0
  123. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -0
  124. package/components/Modal/ModalSeparator/package.json +6 -0
  125. package/components/Modal/ModalSeparator.d.ts +5 -0
  126. package/components/PasswordInput/PasswordInput.md +9 -9
  127. package/components/RadioGroup/RadioGroup.md +43 -43
  128. package/components/Select/selectTheme/selectTheme.js +1 -0
  129. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  130. package/components/Token/Token.md +112 -112
  131. package/internal/FakeUserActions/FakeUserActions/FakeUserActions.js +33 -0
  132. package/internal/FakeUserActions/FakeUserActions/FakeUserActions.js.map +1 -0
  133. package/internal/FakeUserActions/FakeUserActions/package.json +6 -0
  134. package/internal/FakeUserActions/FakeUserActions.d.ts +7 -0
  135. package/internal/FakeUserActions/FakeUserActionsTable/FakeUserActionsTable.js +171 -0
  136. package/internal/FakeUserActions/FakeUserActionsTable/FakeUserActionsTable.js.map +1 -0
  137. package/internal/FakeUserActions/FakeUserActionsTable/package.json +6 -0
  138. package/internal/FakeUserActions/FakeUserActionsTable.d.ts +6 -0
  139. package/internal/FakeUserActions/Selectors/Selectors.js +29 -0
  140. package/internal/FakeUserActions/Selectors/Selectors.js.map +1 -0
  141. package/internal/FakeUserActions/Selectors/package.json +6 -0
  142. package/internal/FakeUserActions/Selectors.d.ts +6 -0
  143. package/internal/FakeUserActions/hasFakeUserAction/hasFakeUserAction.js +6 -0
  144. package/internal/FakeUserActions/hasFakeUserAction/hasFakeUserAction.js.map +1 -0
  145. package/internal/FakeUserActions/hasFakeUserAction/package.json +6 -0
  146. package/internal/FakeUserActions/hasFakeUserAction.d.ts +3 -0
  147. package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
  148. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  149. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  150. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  151. package/internal/icons/16px/BaseIcon/BaseIcon.js +28 -0
  152. package/internal/icons/16px/BaseIcon/BaseIcon.js.map +1 -0
  153. package/internal/icons/16px/BaseIcon/package.json +6 -0
  154. package/internal/icons/16px/BaseIcon.d.ts +8 -0
  155. package/internal/icons/16px/index/index.js +19 -5
  156. package/internal/icons/16px/index/index.js.map +1 -1
  157. package/internal/icons/16px/index.d.ts +3 -0
  158. package/internal/themes/DefaultTheme/DefaultTheme.js +119 -2
  159. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  160. package/internal/themes/DefaultTheme.d.ts +41 -0
  161. package/internal/themes/Theme2022/Theme2022.js +90 -4
  162. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  163. package/internal/themes/Theme2022.d.ts +60 -4
  164. package/internal/themes/Theme2022Dark/Theme2022Dark.js +9 -0
  165. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  166. package/internal/themes/Theme2022Dark.d.ts +9 -0
  167. package/lib/theming/ThemeHelpers/ThemeHelpers.js +14 -0
  168. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  169. package/lib/theming/ThemeHelpers.d.ts +3 -0
  170. package/lib/theming/themes/Theme2022/Theme2022.js +2 -1
  171. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -1
  172. package/package.json +3 -5
  173. package/typings/utility-types.d.ts +1 -1
@@ -1,112 +1,112 @@
1
- Token example
2
-
3
- ```jsx harmony
4
- import { Token } from '@skbkontur/react-ui';
5
-
6
- <Token>Example</Token>;
7
- ```
8
-
9
- You can control color of each token
10
-
11
- ```jsx harmony
12
- import { Gapped, Token } from '@skbkontur/react-ui';
13
-
14
- const colors = {
15
- default: {
16
- idle: 'defaultIdle',
17
- active: 'defaultActive',
18
- },
19
- gray: {
20
- idle: 'grayIdle',
21
- active: 'grayActive',
22
- },
23
- blue: {
24
- idle: 'blueIdle',
25
- active: 'blueActive',
26
- },
27
- green: {
28
- idle: 'greenIdle',
29
- active: 'greenActive',
30
- },
31
- yellow: {
32
- idle: 'yellowIdle',
33
- active: 'yellowActive',
34
- },
35
- red: {
36
- idle: 'redIdle',
37
- active: 'redActive',
38
- },
39
- mono: {
40
- idle: 'white',
41
- active: 'black',
42
- },
43
- };
44
-
45
- <Gapped gap={20} vertical>
46
- <Gapped gap={10}>
47
- <Token colors={colors.default}>Default</Token>
48
- <Token isActive colors={colors.default}>
49
- Default
50
- </Token>
51
- </Gapped>
52
- <Gapped gap={10}>
53
- <Token colors={colors.gray}>Gray</Token>
54
- <Token isActive colors={colors.gray}>
55
- Gray
56
- </Token>
57
- </Gapped>
58
- <Gapped gap={10}>
59
- <Token colors={colors.blue}>Blue</Token>
60
- <Token isActive colors={colors.blue}>
61
- Blue
62
- </Token>
63
- </Gapped>
64
- <Gapped gap={10}>
65
- <Token colors={colors.green}>Green</Token>
66
- <Token isActive colors={colors.green}>
67
- Green
68
- </Token>
69
- </Gapped>
70
- <Gapped gap={10}>
71
- <Token colors={colors.yellow}>Yellow</Token>
72
- <Token isActive colors={colors.yellow}>
73
- Yellow
74
- </Token>
75
- </Gapped>
76
- <Gapped gap={10}>
77
- <Token colors={colors.red}>Red</Token>
78
- <Token isActive colors={colors.red}>
79
- Red
80
- </Token>
81
- </Gapped>
82
- <Gapped gap={10}>
83
- <Token colors={colors.mono}>Monochrome</Token>
84
- <Token isActive colors={colors.mono}>
85
- Monochrome
86
- </Token>
87
- </Gapped>
88
- </Gapped>;
89
- ```
90
-
91
- Can accept validation state
92
-
93
- ```jsx harmony
94
- import { Gapped, Token } from '@skbkontur/react-ui';
95
-
96
- <Gapped gap={20} vertical>
97
- <Gapped gap={10}>
98
- <Token>Correct</Token>
99
- <Token warning>Warned</Token>
100
- <Token error>Errored</Token>
101
- </Gapped>
102
- <Gapped gap={10}>
103
- <Token isActive>Correct</Token>
104
- <Token isActive warning>
105
- Warned
106
- </Token>
107
- <Token isActive error>
108
- Errored
109
- </Token>
110
- </Gapped>
111
- </Gapped>;
112
- ```
1
+ Token example
2
+
3
+ ```jsx harmony
4
+ import { Token } from '@skbkontur/react-ui';
5
+
6
+ <Token>Example</Token>;
7
+ ```
8
+
9
+ You can control color of each token
10
+
11
+ ```jsx harmony
12
+ import { Gapped, Token } from '@skbkontur/react-ui';
13
+
14
+ const colors = {
15
+ default: {
16
+ idle: 'defaultIdle',
17
+ active: 'defaultActive',
18
+ },
19
+ gray: {
20
+ idle: 'grayIdle',
21
+ active: 'grayActive',
22
+ },
23
+ blue: {
24
+ idle: 'blueIdle',
25
+ active: 'blueActive',
26
+ },
27
+ green: {
28
+ idle: 'greenIdle',
29
+ active: 'greenActive',
30
+ },
31
+ yellow: {
32
+ idle: 'yellowIdle',
33
+ active: 'yellowActive',
34
+ },
35
+ red: {
36
+ idle: 'redIdle',
37
+ active: 'redActive',
38
+ },
39
+ mono: {
40
+ idle: 'white',
41
+ active: 'black',
42
+ },
43
+ };
44
+
45
+ <Gapped gap={20} vertical>
46
+ <Gapped gap={10}>
47
+ <Token colors={colors.default}>Default</Token>
48
+ <Token isActive colors={colors.default}>
49
+ Default
50
+ </Token>
51
+ </Gapped>
52
+ <Gapped gap={10}>
53
+ <Token colors={colors.gray}>Gray</Token>
54
+ <Token isActive colors={colors.gray}>
55
+ Gray
56
+ </Token>
57
+ </Gapped>
58
+ <Gapped gap={10}>
59
+ <Token colors={colors.blue}>Blue</Token>
60
+ <Token isActive colors={colors.blue}>
61
+ Blue
62
+ </Token>
63
+ </Gapped>
64
+ <Gapped gap={10}>
65
+ <Token colors={colors.green}>Green</Token>
66
+ <Token isActive colors={colors.green}>
67
+ Green
68
+ </Token>
69
+ </Gapped>
70
+ <Gapped gap={10}>
71
+ <Token colors={colors.yellow}>Yellow</Token>
72
+ <Token isActive colors={colors.yellow}>
73
+ Yellow
74
+ </Token>
75
+ </Gapped>
76
+ <Gapped gap={10}>
77
+ <Token colors={colors.red}>Red</Token>
78
+ <Token isActive colors={colors.red}>
79
+ Red
80
+ </Token>
81
+ </Gapped>
82
+ <Gapped gap={10}>
83
+ <Token colors={colors.mono}>Monochrome</Token>
84
+ <Token isActive colors={colors.mono}>
85
+ Monochrome
86
+ </Token>
87
+ </Gapped>
88
+ </Gapped>;
89
+ ```
90
+
91
+ Can accept validation state
92
+
93
+ ```jsx harmony
94
+ import { Gapped, Token } from '@skbkontur/react-ui';
95
+
96
+ <Gapped gap={20} vertical>
97
+ <Gapped gap={10}>
98
+ <Token>Correct</Token>
99
+ <Token warning>Warned</Token>
100
+ <Token error>Errored</Token>
101
+ </Gapped>
102
+ <Gapped gap={10}>
103
+ <Token isActive>Correct</Token>
104
+ <Token isActive warning>
105
+ Warned
106
+ </Token>
107
+ <Token isActive error>
108
+ Errored
109
+ </Token>
110
+ </Gapped>
111
+ </Gapped>;
112
+ ```
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export declare type FakeUserAction = 'hover' | 'active' | 'focus';
3
+ export declare const FAKE_USER_ACTION_ATTR: Record<FakeUserAction, string>;
4
+ export declare const FakeUserActions: React.FunctionComponent<{
5
+ children: React.ReactElement;
6
+ acts?: FakeUserAction[];
7
+ }>;
@@ -0,0 +1,29 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.FakeUserActions = exports.FAKE_USER_ACTION_ATTR = void 0;var _react = _interopRequireDefault(require("react"));
2
+
3
+ var _rootNode = require("../../lib/rootNode");
4
+
5
+
6
+
7
+ var FAKE_USER_ACTION_ATTR = {
8
+ hover: 'data-style-hover',
9
+ active: 'data-style-active',
10
+ focus: 'data-style-focus' };exports.FAKE_USER_ACTION_ATTR = FAKE_USER_ACTION_ATTR;
11
+
12
+
13
+ var FakeUserActions = function FakeUserActions(_ref)
14
+
15
+
16
+ {var children = _ref.children,_ref$acts = _ref.acts,acts = _ref$acts === void 0 ? [] : _ref$acts;
17
+ var ref = _react.default.useRef();
18
+ var setProp = function setProp(node) {
19
+ acts.forEach(function (act) {return node.setAttribute(FAKE_USER_ACTION_ATTR[act], 'true');});
20
+ };
21
+ _react.default.useEffect(function () {
22
+ var node = (0, _rootNode.getRootNode)(ref.current);
23
+ if (node instanceof HTMLElement) {var _ref$current;
24
+ setProp(node);
25
+ (_ref$current = ref.current) == null ? void 0 : _ref$current.forceUpdate();
26
+ }
27
+ });
28
+ return /*#__PURE__*/_react.default.cloneElement(children, { ref: ref });
29
+ };exports.FakeUserActions = FakeUserActions;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FakeUserActions.tsx"],"names":["FAKE_USER_ACTION_ATTR","hover","active","focus","FakeUserActions","children","acts","ref","React","useRef","setProp","node","forEach","act","setAttribute","useEffect","current","HTMLElement","forceUpdate","cloneElement"],"mappings":"6LAAA;;AAEA;;;;AAIO,IAAMA,qBAAqD,GAAG;AACnEC,EAAAA,KAAK,EAAE,kBAD4D;AAEnEC,EAAAA,MAAM,EAAE,mBAF2D;AAGnEC,EAAAA,KAAK,EAAE,kBAH4D,EAA9D,C;;;AAMA,IAAMC,eAAmG,GAAG,SAAtGA,eAAsG;;;AAG7G,KAFJC,QAEI,QAFJA,QAEI,kBADJC,IACI,CADJA,IACI,0BADG,EACH;AACJ,MAAMC,GAAG,GAAGC,eAAMC,MAAN,EAAZ;AACA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,EAAuB;AACrCL,IAAAA,IAAI,CAACM,OAAL,CAAa,UAACC,GAAD,UAASF,IAAI,CAACG,YAAL,CAAkBd,qBAAqB,CAACa,GAAD,CAAvC,EAA8C,MAA9C,CAAT,EAAb;AACD,GAFD;AAGAL,iBAAMO,SAAN,CAAgB,YAAM;AACpB,QAAMJ,IAAI,GAAG,2BAAYJ,GAAG,CAACS,OAAhB,CAAb;AACA,QAAIL,IAAI,YAAYM,WAApB,EAAiC;AAC/BP,MAAAA,OAAO,CAACC,IAAD,CAAP;AACA,sBAAAJ,GAAG,CAACS,OAAJ,kCAAaE,WAAb;AACD;AACF,GAND;AAOA,sBAAOV,eAAMW,YAAN,CAAmBd,QAAnB,EAA6B,EAAEE,GAAG,EAAHA,GAAF,EAA7B,CAAP;AACD,CAhBM,C","sourcesContent":["import React from 'react';\n\nimport { getRootNode } from '../../lib/rootNode';\n\nexport type FakeUserAction = 'hover' | 'active' | 'focus';\n\nexport const FAKE_USER_ACTION_ATTR: Record<FakeUserAction, string> = {\n hover: 'data-style-hover',\n active: 'data-style-active',\n focus: 'data-style-focus',\n};\n\nexport const FakeUserActions: React.FunctionComponent<{ children: React.ReactElement; acts?: FakeUserAction[] }> = ({\n children,\n acts = [],\n}) => {\n const ref = React.useRef<React.Component>();\n const setProp = (node: HTMLElement) => {\n acts.forEach((act) => node.setAttribute(FAKE_USER_ACTION_ATTR[act], 'true'));\n };\n React.useEffect(() => {\n const node = getRootNode(ref.current);\n if (node instanceof HTMLElement) {\n setProp(node);\n ref.current?.forceUpdate();\n }\n });\n return React.cloneElement(children, { ref });\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare const FakeUserActionsTable: React.FunctionComponent<{
3
+ children: React.ReactElement;
4
+ propName?: string;
5
+ propValues?: unknown[];
6
+ }>;
@@ -0,0 +1,216 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.FakeUserActionsTable = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react = _interopRequireWildcard(require("react"));
2
+
3
+ var _Emotion = require("../../lib/theming/Emotion");
4
+ var _Button = require("../../components/Button");
5
+ var _Gapped = require("../../components/Gapped");
6
+ var _Input = require("../../components/Input");
7
+ var _Toggle = require("../../components/Toggle");
8
+
9
+ var _FakeUserActions = require("./FakeUserActions");var _templateObject, _templateObject2;function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+ var baselineAnimation = (0, _Emotion.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n 0% {\n border-bottom-color: red;\n }\n 33% {\n border-bottom-color: green;\n }\n 66% {\n border-bottom-color: white;\n }\n 100% {\n border-bottom-color: red;\n }\n"])));
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+ var tableClass = (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n tr td:not(:first-child) {\n padding: 10px;\n vertical-align: middle;\n text-align: center;\n }\n\n thead td,\n tr td:first-child {\n white-space: pre-wrap;\n line-height: 10px;\n font-family: monospace;\n }\n\n td[colspan] {\n text-align: left !important;\n white-space: pre-wrap;\n font-family: monospace;\n font-size: 12px;\n }\n\n .baseline {\n position: absolute;\n border-bottom: solid 1px red;\n box-shadow: 1px 0 0 0 green;\n left: 0;\n width: 100%;\n z-index: 10;\n color: transparent;\n animation: ", " 10s infinite;\n pointer-events: none;\n }\n"])),
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+ baselineAnimation);
66
+
67
+
68
+
69
+
70
+ var userActsSets = [
71
+ [],
72
+ ['hover'],
73
+ ['active'],
74
+ ['focus'],
75
+ ['hover', 'focus'],
76
+ ['active', 'focus']];
77
+
78
+
79
+ var HelpersContext = /*#__PURE__*/_react.default.createContext({
80
+ background: ['', function () {return null;}],
81
+ content: ['Текст', function () {return null;}],
82
+ withText: [false, function () {return null;}],
83
+ hasBaseline: [false, function () {return null;}],
84
+ baselineShift: [0, function () {return null;}] });
85
+
86
+
87
+ var Controls = function Controls() {
88
+ var _useContext =
89
+
90
+
91
+
92
+
93
+
94
+ (0, _react.useContext)(HelpersContext),_useContext$backgroun = _useContext.background,background = _useContext$backgroun[0],setBackground = _useContext$backgroun[1],_useContext$content = _useContext.content,content = _useContext$content[0],setContent = _useContext$content[1],_useContext$withText = _useContext.withText,withText = _useContext$withText[0],setWithText = _useContext$withText[1],_useContext$hasBaseli = _useContext.hasBaseline,hasBaseline = _useContext$hasBaseli[0],setHasBaseline = _useContext$hasBaseli[1],_useContext$baselineS = _useContext.baselineShift,baselineShift = _useContext$baselineS[0],setBaselineShift = _useContext$baselineS[1];
95
+
96
+ return /*#__PURE__*/(
97
+ _react.default.createElement(_Gapped.Gapped, { vertical: true, gap: 20, style: { margin: 10, padding: '20px 10px', background: '#eee' } }, /*#__PURE__*/
98
+ _react.default.createElement(_Gapped.Gapped, null, /*#__PURE__*/
99
+ _react.default.createElement(_Input.Input, { value: content, onValueChange: setContent, style: { width: 100 } }), "\u0421\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435"), /*#__PURE__*/
100
+
101
+
102
+ _react.default.createElement(_Gapped.Gapped, null, /*#__PURE__*/
103
+ _react.default.createElement(_Input.Input, { value: background, onValueChange: setBackground, style: { width: 100 } }), "\u0424\u043E\u043D"), /*#__PURE__*/
104
+
105
+
106
+ _react.default.createElement(_Toggle.Toggle, { checked: withText, onValueChange: setWithText }, "\u0422\u0435\u043A\u0441\u0442 \u0441\u043B\u0435\u0432\u0430 \u0438 \u0441\u043F\u0440\u0430\u0432\u0430"), /*#__PURE__*/
107
+
108
+
109
+ _react.default.createElement(_Gapped.Gapped, null, /*#__PURE__*/
110
+ _react.default.createElement(_Toggle.Toggle, { checked: hasBaseline, onValueChange: setHasBaseline }, "\u0411\u0430\u0437\u043E\u0432\u0430\u044F \u043B\u0438\u043D\u0438\u044F"),
111
+
112
+
113
+ hasBaseline && /*#__PURE__*/
114
+ _react.default.createElement(_Gapped.Gapped, { style: { position: 'absolute', marginTop: -20 } }, /*#__PURE__*/
115
+ _react.default.createElement(_Button.Button, { onClick: function onClick() {return setBaselineShift(baselineShift - 1);} }, "\u2B06"),
116
+ baselineShift, /*#__PURE__*/
117
+ _react.default.createElement(_Button.Button, { onClick: function onClick() {return setBaselineShift(baselineShift + 1);} }, "\u2B07")))));
118
+
119
+
120
+
121
+
122
+
123
+ };
124
+
125
+ var ManualRow =
126
+
127
+
128
+
129
+ function ManualRow(_ref) {var children = _ref.children,propName = _ref.propName,propValue = _ref.propValue;
130
+ var _useContext2 =
131
+
132
+
133
+
134
+
135
+
136
+ (0, _react.useContext)(HelpersContext),_useContext2$backgrou = _useContext2.background,background = _useContext2$backgrou[0],_useContext2$content = _useContext2.content,content = _useContext2$content[0],_useContext2$withText = _useContext2.withText,withText = _useContext2$withText[0],_useContext2$hasBasel = _useContext2.hasBaseline,hasBaseline = _useContext2$hasBasel[0],_useContext2$baseline = _useContext2.baselineShift,baselineShift = _useContext2$baseline[0];
137
+
138
+ return /*#__PURE__*/(
139
+ _react.default.createElement("tr", null, /*#__PURE__*/
140
+ _react.default.createElement("td", null,
141
+ propValue,
142
+ hasBaseline && /*#__PURE__*/
143
+ _react.default.createElement("span", { className: "baseline", style: { marginTop: baselineShift } }, "1")),
144
+
145
+
146
+
147
+
148
+ userActsSets.map(function (_userActs, i) {var _ref2;return /*#__PURE__*/(
149
+ _react.default.createElement("td", { key: i, style: { background: background } },
150
+ withText && /*#__PURE__*/_react.default.createElement("span", null, "\u0441\u043B\u0435\u0432\u0430"), /*#__PURE__*/
151
+ _react.default.createElement(_FakeUserActions.FakeUserActions, { acts: _userActs }, /*#__PURE__*/
152
+ _react.default.cloneElement(children, (0, _extends2.default)({
153
+ children: content },
154
+ propName ? (_ref2 = {}, _ref2[propName] = propValue, _ref2) : {}))),
155
+
156
+
157
+ withText && /*#__PURE__*/_react.default.createElement("span", null, "\u0441\u043F\u0440\u0430\u0432\u0430")));})));
158
+
159
+
160
+
161
+
162
+ };
163
+
164
+ var Table =
165
+
166
+
167
+
168
+ function Table(_ref3) {var children = _ref3.children,_ref3$propName = _ref3.propName,propName = _ref3$propName === void 0 ? '' : _ref3$propName,_ref3$propValues = _ref3.propValues,propValues = _ref3$propValues === void 0 ? [] : _ref3$propValues;
169
+ return /*#__PURE__*/(
170
+ _react.default.createElement("table", { id: "FakeUserActionsTable", className: tableClass }, /*#__PURE__*/
171
+ _react.default.createElement("thead", null, /*#__PURE__*/
172
+ _react.default.createElement("tr", null, /*#__PURE__*/
173
+ _react.default.createElement("td", null, /*#__PURE__*/
174
+ _react.default.createElement("sub", null, propName), "\\", /*#__PURE__*/_react.default.createElement("sup", null, "style")),
175
+
176
+ userActsSets.map(function (_userActs, i) {return /*#__PURE__*/(
177
+ _react.default.createElement("td", { key: i }, _userActs.join('\n + \n')));}))), /*#__PURE__*/
178
+
179
+
180
+
181
+ _react.default.createElement("tbody", null, /*#__PURE__*/
182
+ _react.default.createElement(ManualRow, null, children),
183
+ propValues.map(function (value, index) {return /*#__PURE__*/(
184
+ _react.default.createElement(ManualRow, { key: index, propName: propName, propValue: value },
185
+ children));}))));
186
+
187
+
188
+
189
+
190
+
191
+ };
192
+
193
+ var FakeUserActionsTable =
194
+
195
+
196
+
197
+ function FakeUserActionsTable(_ref4) {var children = _ref4.children,propName = _ref4.propName,propValues = _ref4.propValues;
198
+ var helpers = {
199
+ background: (0, _react.useState)('#fff'),
200
+ content: (0, _react.useState)('Текст'),
201
+ withText: (0, _react.useState)(false),
202
+ hasBaseline: (0, _react.useState)(false),
203
+ baselineShift: (0, _react.useState)(0) };
204
+
205
+
206
+ return /*#__PURE__*/(
207
+ _react.default.createElement("div", null, /*#__PURE__*/
208
+ _react.default.createElement(HelpersContext.Provider, { value: helpers }, /*#__PURE__*/
209
+ _react.default.createElement(Table, { propName: propName, propValues: propValues },
210
+ children), /*#__PURE__*/
211
+
212
+ _react.default.createElement(Controls, null))));
213
+
214
+
215
+
216
+ };exports.FakeUserActionsTable = FakeUserActionsTable;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FakeUserActionsTable.tsx"],"names":["baselineAnimation","keyframes","tableClass","css","userActsSets","HelpersContext","React","createContext","background","content","withText","hasBaseline","baselineShift","Controls","setBackground","setContent","setWithText","setHasBaseline","setBaselineShift","margin","padding","width","position","marginTop","ManualRow","children","propName","propValue","map","_userActs","i","cloneElement","Table","propValues","join","value","index","FakeUserActionsTable","helpers"],"mappings":"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","sourcesContent":["import React, { useContext, useState } from 'react';\n\nimport { css, keyframes } from '../../lib/theming/Emotion';\nimport { Button } from '../../components/Button';\nimport { Gapped } from '../../components/Gapped';\nimport { Input } from '../../components/Input';\nimport { Toggle } from '../../components/Toggle';\n\nimport { FakeUserActions, FakeUserAction } from './FakeUserActions';\n\ntype Helper<V> = [V, (value: V) => void];\n\ninterface Helpers {\n background: Helper<string>;\n content: Helper<string>;\n withText: Helper<boolean>;\n hasBaseline: Helper<boolean>;\n baselineShift: Helper<number>;\n}\n\nconst baselineAnimation = keyframes`\n 0% {\n border-bottom-color: red;\n }\n 33% {\n border-bottom-color: green;\n }\n 66% {\n border-bottom-color: white;\n }\n 100% {\n border-bottom-color: red;\n }\n`;\n\nconst tableClass = css`\n tr td:not(:first-child) {\n padding: 10px;\n vertical-align: middle;\n text-align: center;\n }\n\n thead td,\n tr td:first-child {\n white-space: pre-wrap;\n line-height: 10px;\n font-family: monospace;\n }\n\n td[colspan] {\n text-align: left !important;\n white-space: pre-wrap;\n font-family: monospace;\n font-size: 12px;\n }\n\n .baseline {\n position: absolute;\n border-bottom: solid 1px red;\n box-shadow: 1px 0 0 0 green;\n left: 0;\n width: 100%;\n z-index: 10;\n color: transparent;\n animation: ${baselineAnimation} 10s infinite;\n pointer-events: none;\n }\n`;\n\nconst userActsSets: FakeUserAction[][] = [\n [],\n ['hover'],\n ['active'],\n ['focus'],\n ['hover', 'focus'],\n ['active', 'focus'],\n];\n\nconst HelpersContext = React.createContext<Helpers>({\n background: ['', () => null],\n content: ['Текст', () => null],\n withText: [false, () => null],\n hasBaseline: [false, () => null],\n baselineShift: [0, () => null],\n});\n\nconst Controls: React.FunctionComponent = () => {\n const {\n background: [background, setBackground],\n content: [content, setContent],\n withText: [withText, setWithText],\n hasBaseline: [hasBaseline, setHasBaseline],\n baselineShift: [baselineShift, setBaselineShift],\n } = useContext(HelpersContext);\n\n return (\n <Gapped vertical gap={20} style={{ margin: 10, padding: '20px 10px', background: '#eee' }}>\n <Gapped>\n <Input value={content} onValueChange={setContent} style={{ width: 100 }} />\n Содержимое\n </Gapped>\n <Gapped>\n <Input value={background} onValueChange={setBackground} style={{ width: 100 }} />\n Фон\n </Gapped>\n <Toggle checked={withText} onValueChange={setWithText}>\n Текст слева и справа\n </Toggle>\n <Gapped>\n <Toggle checked={hasBaseline} onValueChange={setHasBaseline}>\n Базовая линия\n </Toggle>\n {hasBaseline && (\n <Gapped style={{ position: 'absolute', marginTop: -20 }}>\n <Button onClick={() => setBaselineShift(baselineShift - 1)}>⬆</Button>\n {baselineShift}\n <Button onClick={() => setBaselineShift(baselineShift + 1)}>⬇</Button>\n </Gapped>\n )}\n </Gapped>\n </Gapped>\n );\n};\n\nconst ManualRow: React.FunctionComponent<{\n children: React.ReactElement;\n propName?: string;\n propValue?: unknown;\n}> = ({ children, propName, propValue }) => {\n const {\n background: [background],\n content: [content],\n withText: [withText],\n hasBaseline: [hasBaseline],\n baselineShift: [baselineShift],\n } = useContext(HelpersContext);\n\n return (\n <tr>\n <td>\n {propValue}\n {hasBaseline && (\n <span className=\"baseline\" style={{ marginTop: baselineShift }}>\n 1\n </span>\n )}\n </td>\n {userActsSets.map((_userActs, i) => (\n <td key={i} style={{ background }}>\n {withText && <span>слева</span>}\n <FakeUserActions acts={_userActs}>\n {React.cloneElement(children, {\n children: content,\n ...(propName ? { [propName]: propValue } : {}),\n })}\n </FakeUserActions>\n {withText && <span>справа</span>}\n </td>\n ))}\n </tr>\n );\n};\n\nconst Table: React.FunctionComponent<{\n children: React.ReactElement;\n propName?: string;\n propValues?: unknown[];\n}> = ({ children, propName = '', propValues = [] }) => {\n return (\n <table id=\"FakeUserActionsTable\" className={tableClass}>\n <thead>\n <tr>\n <td>\n <sub>{propName}</sub>\\<sup>style</sup>\n </td>\n {userActsSets.map((_userActs, i) => (\n <td key={i}>{_userActs.join('\\n + \\n')}</td>\n ))}\n </tr>\n </thead>\n <tbody>\n <ManualRow>{children}</ManualRow>\n {propValues.map((value, index) => (\n <ManualRow key={index} propName={propName} propValue={value}>\n {children}\n </ManualRow>\n ))}\n </tbody>\n </table>\n );\n};\n\nexport const FakeUserActionsTable: React.FunctionComponent<{\n children: React.ReactElement;\n propName?: string;\n propValues?: unknown[];\n}> = ({ children, propName, propValues }) => {\n const helpers: Helpers = {\n background: useState<string>('#fff'),\n content: useState<string>('Текст'),\n withText: useState<boolean>(false),\n hasBaseline: useState<boolean>(false),\n baselineShift: useState<number>(0),\n };\n\n return (\n <div>\n <HelpersContext.Provider value={helpers}>\n <Table propName={propName} propValues={propValues}>\n {children}\n </Table>\n <Controls />\n </HelpersContext.Provider>\n </div>\n );\n};\n"]}
@@ -0,0 +1,6 @@
1
+ export declare const hover: (strings: TemplateStringsArray, ...args: Array<string | number>) => string;
2
+ export declare const active: (strings: TemplateStringsArray, ...args: Array<string | number>) => string;
3
+ export declare const focus: (strings: TemplateStringsArray, ...args: Array<string | number>) => string;
4
+ export declare const fakeHover: string;
5
+ export declare const fakeActive: string;
6
+ export declare const fakeFocus: string;
@@ -0,0 +1,20 @@
1
+ "use strict";exports.__esModule = true;exports.hover = exports.focus = exports.fakeHover = exports.fakeFocus = exports.fakeActive = exports.active = void 0;var _FakeUserActions = require("./FakeUserActions");
2
+
3
+ var selector = function selector(act, extra) {if (extra === void 0) {extra = '';}return "\n[" +
4
+ _FakeUserActions.FAKE_USER_ACTION_ATTR[act] + "]" + extra + "\n";};
5
+
6
+
7
+ var sampler =
8
+ function sampler(act) {return (
9
+ function (strings) {for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {args[_key - 1] = arguments[_key];}
10
+ var extra = strings.reduce(function (prev, value, i) {return prev + value + (args[i] || '');}, '');
11
+ return selector(act, extra);
12
+ });};
13
+
14
+ var hover = sampler('hover');exports.hover = hover;
15
+ var active = sampler('active');exports.active = active;
16
+ var focus = sampler('focus');exports.focus = focus;
17
+
18
+ var fakeHover = selector('hover');exports.fakeHover = fakeHover;
19
+ var fakeActive = selector('active');exports.fakeActive = fakeActive;
20
+ var fakeFocus = selector('focus');exports.fakeFocus = fakeFocus;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Selectors.ts"],"names":["selector","act","extra","FAKE_USER_ACTION_ATTR","sampler","strings","args","reduce","prev","value","i","hover","active","focus","fakeHover","fakeActive","fakeFocus"],"mappings":"4JAAA;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAAsBC,KAAtB,OAAsBA,KAAtB,cAAsBA,KAAtB,GAA8B,EAA9B;AACdC,yCAAsBF,GAAtB,CADc,SACgBC,KADhB,SAAjB;;;AAIA,IAAME,OAAO;AACX,SADIA,OACJ,CAACH,GAAD;AACA,cAACI,OAAD,EAA4E,mCAAzCC,IAAyC,uEAAzCA,IAAyC;AAC1E,UAAMJ,KAAK,GAAGG,OAAO,CAACE,MAAR,CAAe,UAACC,IAAD,EAAOC,KAAP,EAAcC,CAAd,UAAoBF,IAAI,GAAGC,KAAP,IAAgBH,IAAI,CAACI,CAAD,CAAJ,IAAW,EAA3B,CAApB,EAAf,EAAmE,EAAnE,CAAd;AACA,aAAOV,QAAQ,CAACC,GAAD,EAAMC,KAAN,CAAf;AACD,KAJD,GADF;;AAOO,IAAMS,KAAK,GAAGP,OAAO,CAAC,OAAD,CAArB,C;AACA,IAAMQ,MAAM,GAAGR,OAAO,CAAC,QAAD,CAAtB,C;AACA,IAAMS,KAAK,GAAGT,OAAO,CAAC,OAAD,CAArB,C;;AAEA,IAAMU,SAAS,GAAGd,QAAQ,CAAC,OAAD,CAA1B,C;AACA,IAAMe,UAAU,GAAGf,QAAQ,CAAC,QAAD,CAA3B,C;AACA,IAAMgB,SAAS,GAAGhB,QAAQ,CAAC,OAAD,CAA1B,C","sourcesContent":["import { FAKE_USER_ACTION_ATTR, FakeUserAction } from './FakeUserActions';\n\nconst selector = (act: FakeUserAction, extra = '') => `\n[${FAKE_USER_ACTION_ATTR[act]}]${extra}\n`;\n\nconst sampler =\n (act: FakeUserAction) =>\n (strings: TemplateStringsArray, ...args: Array<string | number>): string => {\n const extra = strings.reduce((prev, value, i) => prev + value + (args[i] || ''), '');\n return selector(act, extra);\n };\n\nexport const hover = sampler('hover');\nexport const active = sampler('active');\nexport const focus = sampler('focus');\n\nexport const fakeHover = selector('hover');\nexport const fakeActive = selector('active');\nexport const fakeFocus = selector('focus');\n"]}
@@ -0,0 +1,3 @@
1
+ import { Nullable } from '../../typings/utility-types';
2
+ import { FakeUserAction } from './FakeUserActions';
3
+ export declare const hasFakeUserAction: (instance: Nullable<React.ReactInstance>, act: FakeUserAction) => boolean;
@@ -0,0 +1,9 @@
1
+ "use strict";exports.__esModule = true;exports.hasFakeUserAction = void 0;
2
+ var _rootNode = require("../../lib/rootNode");
3
+
4
+ var _FakeUserActions = require("./FakeUserActions");
5
+
6
+ var hasFakeUserAction = function hasFakeUserAction(instance, act) {
7
+ var node = (0, _rootNode.getRootNode)(instance);
8
+ return node ? node.hasAttribute(_FakeUserActions.FAKE_USER_ACTION_ATTR[act]) : false;
9
+ };exports.hasFakeUserAction = hasFakeUserAction;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["hasFakeUserAction.tsx"],"names":["hasFakeUserAction","instance","act","node","hasAttribute","FAKE_USER_ACTION_ATTR"],"mappings":";AACA;;AAEA;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,QAAD,EAA0CC,GAA1C,EAA2E;AAC1G,MAAMC,IAAI,GAAG,2BAAYF,QAAZ,CAAb;AACA,SAAOE,IAAI,GAAGA,IAAI,CAACC,YAAL,CAAkBC,uCAAsBH,GAAtB,CAAlB,CAAH,GAAmD,KAA9D;AACD,CAHM,C","sourcesContent":["import { Nullable } from '../../typings/utility-types';\nimport { getRootNode } from '../../lib/rootNode';\n\nimport { FAKE_USER_ACTION_ATTR, FakeUserAction } from './FakeUserActions';\n\nexport const hasFakeUserAction = (instance: Nullable<React.ReactInstance>, act: FakeUserAction): boolean => {\n const node = getRootNode(instance);\n return node ? node.hasAttribute(FAKE_USER_ACTION_ATTR[act]) : false;\n};\n"]}
@@ -3,9 +3,8 @@
3
3
 
4
4
  var styles = (0, _Emotion.memoizeStyle)({
5
5
  root: function root(t) {
6
- return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", ";\n border-radius: ", ";\n box-sizing: content-box;\n overflow: auto;\n padding: 0 ", ";\n border-radius: ", ";\n "])),
6
+ return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", ";\n box-sizing: content-box;\n overflow: auto;\n padding: 0 ", ";\n border-radius: ", ";\n "])),
7
7
  t.menuBgDefault,
8
- t.menuBorderRadius,
9
8
 
10
9
 
11
10
  t.menuPaddingX,
@@ -1 +1 @@
1
- {"version":3,"sources":["Menu.styles.ts"],"names":["styles","root","t","css","menuBgDefault","menuBorderRadius","menuPaddingX","alignRight","alignRightIE11","alignRightIE11FixAutoWidth","scrollContainer","menuPaddingY","shadow","menuBorder","menuShadow"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;AACgBD,IAAAA,CAAC,CAACE,aADlB;AAEmBF,IAAAA,CAAC,CAACG,gBAFrB;;;AAKeH,IAAAA,CAAC,CAACI,YALjB;AAMmBJ,IAAAA,CAAC,CAACG,gBANrB;;AAQD,GAVgC;;AAYjCE,EAAAA,UAZiC,wBAYpB;AACX,eAAOJ,YAAP;;;AAGD,GAhBgC;;AAkBjCK,EAAAA,cAlBiC,4BAkBhB;AACf,eAAOL,YAAP;;;;AAID,GAvBgC;;AAyBjCM,EAAAA,0BAzBiC,wCAyBJ;AAC3B,eAAON,YAAP;;;;AAID,GA9BgC;;AAgCjCO,EAAAA,eAhCiC,2BAgCjBR,CAhCiB,EAgCP;AACxB,eAAOC,YAAP;AACaD,IAAAA,CAAC,CAACS,YADf;;AAGD,GApCgC;;AAsCjCC,EAAAA,MAtCiC,kBAsC1BV,CAtC0B,EAsChB;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACW,UADd;AAEgBX,IAAAA,CAAC,CAACY,UAFlB;;AAID,GA3CgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n background: ${t.menuBgDefault};\n border-radius: ${t.menuBorderRadius};\n box-sizing: content-box;\n overflow: auto;\n padding: 0 ${t.menuPaddingX};\n border-radius: ${t.menuBorderRadius};\n `;\n },\n\n alignRight() {\n return css`\n flex: 1 1 100%;\n `;\n },\n\n alignRightIE11() {\n return css`\n float: right;\n width: 100%;\n `;\n },\n\n alignRightIE11FixAutoWidth() {\n return css`\n box-sizing: border-box !important; // override root styles\n overflow: hidden !important; // override root styles\n `;\n },\n\n scrollContainer(t: Theme) {\n return css`\n padding: ${t.menuPaddingY} 0;\n `;\n },\n\n shadow(t: Theme) {\n return css`\n border: ${t.menuBorder};\n box-shadow: ${t.menuShadow};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Menu.styles.ts"],"names":["styles","root","t","css","menuBgDefault","menuPaddingX","menuBorderRadius","alignRight","alignRightIE11","alignRightIE11FixAutoWidth","scrollContainer","menuPaddingY","shadow","menuBorder","menuShadow"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;AACgBD,IAAAA,CAAC,CAACE,aADlB;;;AAIeF,IAAAA,CAAC,CAACG,YAJjB;AAKmBH,IAAAA,CAAC,CAACI,gBALrB;;AAOD,GATgC;;AAWjCC,EAAAA,UAXiC,wBAWpB;AACX,eAAOJ,YAAP;;;AAGD,GAfgC;;AAiBjCK,EAAAA,cAjBiC,4BAiBhB;AACf,eAAOL,YAAP;;;;AAID,GAtBgC;;AAwBjCM,EAAAA,0BAxBiC,wCAwBJ;AAC3B,eAAON,YAAP;;;;AAID,GA7BgC;;AA+BjCO,EAAAA,eA/BiC,2BA+BjBR,CA/BiB,EA+BP;AACxB,eAAOC,YAAP;AACaD,IAAAA,CAAC,CAACS,YADf;;AAGD,GAnCgC;;AAqCjCC,EAAAA,MArCiC,kBAqC1BV,CArC0B,EAqChB;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACW,UADd;AAEgBX,IAAAA,CAAC,CAACY,UAFlB;;AAID,GA1CgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n background: ${t.menuBgDefault};\n box-sizing: content-box;\n overflow: auto;\n padding: 0 ${t.menuPaddingX};\n border-radius: ${t.menuBorderRadius};\n `;\n },\n\n alignRight() {\n return css`\n flex: 1 1 100%;\n `;\n },\n\n alignRightIE11() {\n return css`\n float: right;\n width: 100%;\n `;\n },\n\n alignRightIE11FixAutoWidth() {\n return css`\n box-sizing: border-box !important; // override root styles\n overflow: hidden !important; // override root styles\n `;\n },\n\n scrollContainer(t: Theme) {\n return css`\n padding: ${t.menuPaddingY} 0;\n `;\n },\n\n shadow(t: Theme) {\n return css`\n border: ${t.menuBorder};\n box-shadow: ${t.menuShadow};\n `;\n },\n});\n"]}
@@ -1,13 +1,13 @@
1
- ### Таблица переменных
2
-
3
- Список использующихся переменных для каждого кастомизируемого компонента.
4
- <br/>
5
- Таблица фильтруется по названию переменной.
6
- <br/>
7
- Значения в колонке `Variable name` кликабельны.
8
-
9
- ```jsx harmony
10
- import { ThemeShowcase } from '@skbkontur/react-ui/internal/ThemeShowcase/ThemeShowcase';
11
-
12
- <ThemeShowcase />;
13
- ```
1
+ ### Таблица переменных
2
+
3
+ Список использующихся переменных для каждого кастомизируемого компонента.
4
+ <br/>
5
+ Таблица фильтруется по названию переменной.
6
+ <br/>
7
+ Значения в колонке `Variable name` кликабельны.
8
+
9
+ ```jsx harmony
10
+ import { ThemeShowcase } from '@skbkontur/react-ui/internal/ThemeShowcase/ThemeShowcase';
11
+
12
+ <ThemeShowcase />;
13
+ ```