@skbkontur/react-ui 5.0.15 → 5.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/cjs/components/MiniModal/MiniModal.styles.d.ts +3 -6
- package/cjs/components/MiniModal/MiniModal.styles.js +9 -26
- package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalFooter.js +3 -13
- package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalIndent.js +1 -10
- package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +2 -6
- package/cjs/components/Toggle/Toggle.js +10 -1
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +8 -17
- package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.d.ts +3 -6
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +1 -5
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -1
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +5 -9
- package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +2 -0
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +2 -6
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.0.16](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.0.15...@skbkontur/react-ui@5.0.16) (2025-04-04)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **MiniModal:** prop 'gap' works in old browsers ([#3637](https://github.com/skbkontur/retail-ui/issues/3637)) ([c48feac](https://github.com/skbkontur/retail-ui/commit/c48feac17c8053afb1a106b04a8532fe7886525d))
|
|
12
|
+
* **Toggle:** pass name attribute ([#3636](https://github.com/skbkontur/retail-ui/issues/3636)) ([4dd924d](https://github.com/skbkontur/retail-ui/commit/4dd924d19f3b3438d25a7172fb73f3884fe5ece9))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
6
18
|
## [5.0.15](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.0.14...@skbkontur/react-ui@5.0.15) (2025-03-28)
|
|
7
19
|
|
|
8
20
|
|
|
@@ -4,11 +4,8 @@ export declare const styles: {
|
|
|
4
4
|
description(): string;
|
|
5
5
|
title(): string;
|
|
6
6
|
titleWithIcon(t: Theme): string;
|
|
7
|
-
actions(
|
|
7
|
+
actions(): string;
|
|
8
8
|
actionsIndent(t: Theme): string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
actionsColumn(): string;
|
|
12
|
-
actionsRowIE11Fallback(t: Theme): string;
|
|
13
|
-
actionsColumnIE11Fallback(t: Theme): string;
|
|
9
|
+
actionsRow(t: Theme): string;
|
|
10
|
+
actionsColumn(t: Theme): string;
|
|
14
11
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");
|
|
2
2
|
|
|
3
|
-
var _Button = require("../Button/Button.styles");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8
|
|
3
|
+
var _Button = require("../Button/Button.styles");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
4
4
|
|
|
5
5
|
var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
6
6
|
icon: function icon() {
|
|
@@ -27,12 +27,11 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
27
27
|
|
|
28
28
|
},
|
|
29
29
|
|
|
30
|
-
actions: function actions(
|
|
31
|
-
return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: flex;\n justify-content: stretch;\n text-align: center;\n
|
|
30
|
+
actions: function actions() {
|
|
31
|
+
return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: flex;\n justify-content: stretch;\n text-align: center;\n\n .", " {\n width: 100%;\n }\n "])),
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
t.miniModalActionGap,
|
|
36
35
|
|
|
37
36
|
_Button.globalClasses.root);
|
|
38
37
|
|
|
@@ -41,31 +40,14 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
41
40
|
},
|
|
42
41
|
|
|
43
42
|
actionsIndent: function actionsIndent(t) {
|
|
44
|
-
return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n
|
|
43
|
+
return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: ", " 0;\n "])),
|
|
45
44
|
t.miniModalCancelIndent);
|
|
46
45
|
|
|
47
46
|
},
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n
|
|
51
|
-
t.miniModalCancelIndent);
|
|
52
|
-
|
|
53
|
-
},
|
|
48
|
+
actionsRow: function actionsRow(t) {
|
|
49
|
+
return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n flex-direction: row;\n > *:nth-of-type(1) {\n margin-right: calc(", " / 2);\n }\n > *:nth-of-type(2) {\n margin-left: calc(", " / 2);\n }\n "])),
|
|
54
50
|
|
|
55
|
-
actionsRow: function actionsRow() {
|
|
56
|
-
return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n flex-direction: row;\n "])));
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
actionsColumn: function actionsColumn() {
|
|
62
|
-
return (0, _Emotion.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteralLoose2.default)(["\n flex-direction: column;\n "])));
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
actionsRowIE11Fallback: function actionsRowIE11Fallback(t) {
|
|
68
|
-
return (0, _Emotion.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteralLoose2.default)(["\n > *:nth-of-type(1) {\n margin-right: calc(", " / 2);\n }\n > *:nth-of-type(2) {\n margin-left: calc(", " / 2);\n }\n "])),
|
|
69
51
|
|
|
70
52
|
t.miniModalActionGap,
|
|
71
53
|
|
|
@@ -75,8 +57,9 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
75
57
|
|
|
76
58
|
},
|
|
77
59
|
|
|
78
|
-
|
|
79
|
-
return (0, _Emotion.css)(
|
|
60
|
+
actionsColumn: function actionsColumn(t) {
|
|
61
|
+
return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n flex-direction: column;\n > *:nth-of-type(2) {\n margin-top: ", ";\n }\n > *:nth-of-type(3) {\n margin-top: ", ";\n }\n "])),
|
|
62
|
+
|
|
80
63
|
|
|
81
64
|
t.miniModalActionGap,
|
|
82
65
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Emotion","require","_Button","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","
|
|
1
|
+
{"version":3,"names":["_Emotion","require","_Button","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","styles","exports","memoizeStyle","icon","css","_taggedTemplateLiteralLoose2","default","description","title","titleWithIcon","t","miniModalTitleMarginTop","actions","buttonGlobalClasses","root","actionsIndent","miniModalCancelIndent","actionsRow","miniModalActionGap","actionsColumn"],"sources":["MiniModal.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { globalClasses as buttonGlobalClasses } from '../Button/Button.styles';\n\nexport const styles = memoizeStyle({\n icon() {\n return css`\n text-align: center;\n `;\n },\n\n description() {\n return css`\n text-align: center;\n `;\n },\n\n title() {\n return css`\n text-align: center;\n `;\n },\n\n titleWithIcon(t: Theme) {\n return css`\n margin-top: ${t.miniModalTitleMarginTop};\n `;\n },\n\n actions() {\n return css`\n display: flex;\n justify-content: stretch;\n text-align: center;\n\n .${buttonGlobalClasses.root} {\n width: 100%;\n }\n `;\n },\n\n actionsIndent(t: Theme) {\n return css`\n padding: ${t.miniModalCancelIndent} 0;\n `;\n },\n\n actionsRow(t: Theme) {\n return css`\n flex-direction: row;\n > *:nth-of-type(1) {\n margin-right: calc(${t.miniModalActionGap} / 2);\n }\n > *:nth-of-type(2) {\n margin-left: calc(${t.miniModalActionGap} / 2);\n }\n `;\n },\n\n actionsColumn(t: Theme) {\n return css`\n flex-direction: column;\n > *:nth-of-type(2) {\n margin-top: ${t.miniModalActionGap};\n }\n > *:nth-of-type(3) {\n margin-top: ${t.miniModalActionGap};\n }\n `;\n },\n});\n"],"mappings":"oRAAA,IAAAA,QAAA,GAAAC,OAAA;;AAEA,IAAAC,OAAA,GAAAD,OAAA,4BAA+E,IAAAE,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;;AAExE,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,qBAAY,EAAC;EACjCC,IAAI,WAAAA,KAAA,EAAG;IACL,WAAOC,YAAG,EAAAZ,eAAA,KAAAA,eAAA,OAAAa,4BAAA,CAAAC,OAAA;;;EAGZ,CAAC;;EAEDC,WAAW,WAAAA,YAAA,EAAG;IACZ,WAAOH,YAAG,EAAAX,gBAAA,KAAAA,gBAAA,OAAAY,4BAAA,CAAAC,OAAA;;;EAGZ,CAAC;;EAEDE,KAAK,WAAAA,MAAA,EAAG;IACN,WAAOJ,YAAG,EAAAV,gBAAA,KAAAA,gBAAA,OAAAW,4BAAA,CAAAC,OAAA;;;EAGZ,CAAC;;EAEDG,aAAa,WAAAA,cAACC,CAAQ,EAAE;IACtB,WAAON,YAAG,EAAAT,gBAAA,KAAAA,gBAAA,OAAAU,4BAAA,CAAAC,OAAA;IACMI,CAAC,CAACC,uBAAuB;;EAE3C,CAAC;;EAEDC,OAAO,WAAAA,QAAA,EAAG;IACR,WAAOR,YAAG,EAAAR,gBAAA,KAAAA,gBAAA,OAAAS,4BAAA,CAAAC,OAAA;;;;;IAKLO,qBAAmB,CAACC,IAAI;;;;EAI/B,CAAC;;EAEDC,aAAa,WAAAA,cAACL,CAAQ,EAAE;IACtB,WAAON,YAAG,EAAAP,gBAAA,KAAAA,gBAAA,OAAAQ,4BAAA,CAAAC,OAAA;IACGI,CAAC,CAACM,qBAAqB;;EAEtC,CAAC;;EAEDC,UAAU,WAAAA,WAACP,CAAQ,EAAE;IACnB,WAAON,YAAG,EAAAN,gBAAA,KAAAA,gBAAA,OAAAO,4BAAA,CAAAC,OAAA;;;IAGeI,CAAC,CAACQ,kBAAkB;;;IAGrBR,CAAC,CAACQ,kBAAkB;;;EAG9C,CAAC;;EAEDC,aAAa,WAAAA,cAACT,CAAQ,EAAE;IACtB,WAAON,YAAG,EAAAL,gBAAA,KAAAA,gBAAA,OAAAM,4BAAA,CAAAC,OAAA;;;IAGQI,CAAC,CAACQ,kBAAkB;;;IAGpBR,CAAC,CAACQ,kBAAkB;;;EAGxC;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var _Modal = require("../Modal");
|
|
4
4
|
var _forwardRefAndName = require("../../lib/forwardRefAndName");
|
|
5
5
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
6
|
-
var _client = require("../../lib/client");
|
|
7
6
|
var _Emotion = require("../../lib/theming/Emotion");
|
|
8
7
|
|
|
9
8
|
var _MiniModal = require("./MiniModal.styles");
|
|
@@ -33,24 +32,15 @@ var MiniModalFooter = exports.MiniModalFooter = (0, _forwardRefAndName.forwardRe
|
|
|
33
32
|
var childrenCount = _react.default.Children.count(children);
|
|
34
33
|
var _direction = childrenCount > 2 || childrenCount === 1 ? 'column' : direction;
|
|
35
34
|
|
|
36
|
-
// IE11 does not support CSS property `gap`
|
|
37
|
-
var IE11FallbackClasses =
|
|
38
|
-
_client.isIE11 &&
|
|
39
|
-
(0, _Emotion.cx)(
|
|
40
|
-
_direction === 'row' && _MiniModal.styles.actionsRowIE11Fallback(theme),
|
|
41
|
-
_direction === 'column' && _MiniModal.styles.actionsColumnIE11Fallback(theme)
|
|
42
|
-
);
|
|
43
|
-
|
|
44
35
|
return /*#__PURE__*/(
|
|
45
36
|
_react.default.createElement(_Modal.Modal.Footer, rest, /*#__PURE__*/
|
|
46
37
|
_react.default.createElement("div", {
|
|
47
38
|
ref: ref,
|
|
48
39
|
"data-tid": _MiniModal2.MiniModalDataTids.actions,
|
|
49
40
|
className: (0, _Emotion.cx)(
|
|
50
|
-
_MiniModal.styles.actions(
|
|
51
|
-
_direction === 'row' && _MiniModal.styles.actionsRow(),
|
|
52
|
-
_direction === 'column' && _MiniModal.styles.actionsColumn()
|
|
53
|
-
IE11FallbackClasses
|
|
41
|
+
_MiniModal.styles.actions(),
|
|
42
|
+
_direction === 'row' && _MiniModal.styles.actionsRow(theme),
|
|
43
|
+
_direction === 'column' && _MiniModal.styles.actionsColumn(theme)
|
|
54
44
|
) },
|
|
55
45
|
|
|
56
46
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_Modal","_forwardRefAndName","_ThemeContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_Modal","_forwardRefAndName","_ThemeContext","_Emotion","_MiniModal","_MiniModal2","_excluded","MiniModalFooter","exports","forwardRefAndName","_ref","ref","_ref$direction","direction","children","rest","_objectWithoutPropertiesLoose2","default","theme","useContext","ThemeContext","childrenCount","React","Children","count","_direction","createElement","Modal","Footer","MiniModalDataTids","actions","className","cx","styles","actionsRow","actionsColumn"],"sources":["MiniModalFooter.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Modal, ModalFooterProps } from '../Modal';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './MiniModal.styles';\nimport { MiniModalDataTids } from './MiniModal';\n\ninterface MiniModalFooterProps extends ModalFooterProps {\n /**\n * Направление позиционирования кнопок.\n * `row` работает только для 2 элементов,\n * в других случаях автоматически включиться `column`.\n *\n * @default row\n */\n direction?: 'row' | 'column';\n}\n\n/**\n * Обёртка над Modal.Footer\n *\n * @visibleName MiniModal.Footer\n */\nexport const MiniModalFooter = forwardRefAndName<HTMLDivElement, MiniModalFooterProps>(\n 'MiniModalFooter',\n ({ direction = 'row', children, ...rest }, ref) => {\n const theme = useContext(ThemeContext);\n\n const childrenCount = React.Children.count(children);\n const _direction = childrenCount > 2 || childrenCount === 1 ? 'column' : direction;\n\n return (\n <Modal.Footer {...rest}>\n <div\n ref={ref}\n data-tid={MiniModalDataTids.actions}\n className={cx(\n styles.actions(),\n _direction === 'row' && styles.actionsRow(theme),\n _direction === 'column' && styles.actionsColumn(theme),\n )}\n >\n {children}\n </div>\n </Modal.Footer>\n );\n },\n);\n"],"mappings":"gYAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;;AAEA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA,gBAAgD,IAAAO,SAAA;;;;;;;;;;;;;AAahD;AACA;AACA;AACA;AACA;AACO,IAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,IAAAE,oCAAiB;EAC9C,iBAAiB;EACjB,UAAAC,IAAA,EAA2CC,GAAG,EAAK,KAAAC,cAAA,GAAAF,IAAA,CAAhDG,SAAS,CAATA,SAAS,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA,CAAEE,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAKC,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAAP,IAAA,EAAAJ,SAAA;IACrC,IAAMY,KAAK,GAAG,IAAAC,iBAAU,EAACC,0BAAY,CAAC;;IAEtC,IAAMC,aAAa,GAAGC,cAAK,CAACC,QAAQ,CAACC,KAAK,CAACV,QAAQ,CAAC;IACpD,IAAMW,UAAU,GAAGJ,aAAa,GAAG,CAAC,IAAIA,aAAa,KAAK,CAAC,GAAG,QAAQ,GAAGR,SAAS;;IAElF;MACEhB,MAAA,CAAAoB,OAAA,CAAAS,aAAA,CAAC1B,MAAA,CAAA2B,KAAK,CAACC,MAAM,EAAKb,IAAI;MACpBlB,MAAA,CAAAoB,OAAA,CAAAS,aAAA;QACEf,GAAG,EAAEA,GAAI;QACT,YAAUkB,6BAAiB,CAACC,OAAQ;QACpCC,SAAS,EAAE,IAAAC,WAAE;UACXC,iBAAM,CAACH,OAAO,CAAC,CAAC;UAChBL,UAAU,KAAK,KAAK,IAAIQ,iBAAM,CAACC,UAAU,CAAChB,KAAK,CAAC;UAChDO,UAAU,KAAK,QAAQ,IAAIQ,iBAAM,CAACE,aAAa,CAACjB,KAAK;QACvD,CAAE;;MAEDJ;MACE;MACO,CAAC;;EAEnB;AACF,CAAC","ignoreList":[]}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _forwardRefAndName = require("../../lib/forwardRefAndName");
|
|
4
4
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
5
|
-
var _Emotion = require("../../lib/theming/Emotion");
|
|
6
|
-
var _client = require("../../lib/client");
|
|
7
5
|
|
|
8
6
|
var _MiniModal = require("./MiniModal.styles");
|
|
9
7
|
var _MiniModal2 = require("./MiniModal");var _excluded = ["children"];
|
|
@@ -18,13 +16,6 @@ var MiniModalIndent = exports.MiniModalIndent = (0, _forwardRefAndName.forwardRe
|
|
|
18
16
|
function (_ref, ref) {var children = _ref.children,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
19
17
|
var theme = (0, _react.useContext)(_ThemeContext.ThemeContext);
|
|
20
18
|
|
|
21
|
-
return /*#__PURE__*/(
|
|
22
|
-
_react.default.createElement("div", (0, _extends2.default)({
|
|
23
|
-
"data-tid": _MiniModal2.MiniModalDataTids.indent,
|
|
24
|
-
ref: ref,
|
|
25
|
-
className: (0, _Emotion.cx)(!_client.isIE11 ? _MiniModal.styles.actionsIndent(theme) : _MiniModal.styles.actionsIndentIE11Fallback(theme)) },
|
|
26
|
-
rest)
|
|
27
|
-
));
|
|
28
|
-
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ "data-tid": _MiniModal2.MiniModalDataTids.indent, ref: ref, className: _MiniModal.styles.actionsIndent(theme) }, rest));
|
|
29
20
|
}
|
|
30
21
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_forwardRefAndName","_ThemeContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_forwardRefAndName","_ThemeContext","_MiniModal","_MiniModal2","_excluded","MiniModalIndent","exports","forwardRefAndName","_ref","ref","children","rest","_objectWithoutPropertiesLoose2","default","theme","useContext","ThemeContext","createElement","_extends2","MiniModalDataTids","indent","className","styles","actionsIndent"],"sources":["MiniModalIndent.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { styles } from './MiniModal.styles';\nimport { MiniModalDataTids } from './MiniModal';\n\n/**\n * Отступ между кнопками\n *\n * @visibleName MiniModal.Indent\n */\nexport const MiniModalIndent = forwardRefAndName<HTMLDivElement, React.InputHTMLAttributes<HTMLDivElement>>(\n 'MiniModalIndent',\n ({ children, ...rest }, ref) => {\n const theme = useContext(ThemeContext);\n\n return <div data-tid={MiniModalDataTids.indent} ref={ref} className={styles.actionsIndent(theme)} {...rest} />;\n },\n);\n"],"mappings":"kdAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;;AAEA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA,gBAAgD,IAAAK,SAAA;;AAEhD;AACA;AACA;AACA;AACA;AACO,IAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,IAAAE,oCAAiB;EAC9C,iBAAiB;EACjB,UAAAC,IAAA,EAAwBC,GAAG,EAAK,KAA7BC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAKC,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAJ,SAAA;IAClB,IAAMU,KAAK,GAAG,IAAAC,iBAAU,EAACC,0BAAY,CAAC;;IAEtC,oBAAOnB,MAAA,CAAAgB,OAAA,CAAAI,aAAA,YAAAC,SAAA,CAAAL,OAAA,IAAK,YAAUM,6BAAiB,CAACC,MAAO,EAACX,GAAG,EAAEA,GAAI,EAACY,SAAS,EAAEC,iBAAM,CAACC,aAAa,CAACT,KAAK,CAAE,IAAKH,IAAI,CAAG,CAAC;EAChH;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React, { AriaAttributes } from 'react';
|
|
1
|
+
import React, { AriaAttributes, InputHTMLAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
4
4
|
import { SizeProp } from '../../lib/types/props';
|
|
5
|
-
export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {
|
|
5
|
+
export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>, CommonProps {
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
/**
|
|
8
8
|
* Положение `children` относительно переключателя.
|
|
@@ -58,10 +58,6 @@ export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-d
|
|
|
58
58
|
* Событие вызывающееся, когда `тогл` теряет фокус.
|
|
59
59
|
*/
|
|
60
60
|
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
61
|
-
/**
|
|
62
|
-
* HTML-атрибут `id` для передачи во внутренний `<input />`.
|
|
63
|
-
*/
|
|
64
|
-
id?: string;
|
|
65
61
|
/**
|
|
66
62
|
* Не показывать анимацию
|
|
67
63
|
*/
|
|
@@ -298,6 +298,15 @@ Toggle = exports.Toggle = (0, _rootNode.rootNode)(_class = (_Toggle = /*#__PURE_
|
|
|
298
298
|
|
|
299
299
|
|
|
300
300
|
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
301
310
|
|
|
302
311
|
|
|
303
312
|
|
|
@@ -343,7 +352,7 @@ Toggle = exports.Toggle = (0, _rootNode.rootNode)(_class = (_Toggle = /*#__PURE_
|
|
|
343
352
|
handleBlur = function (event) {
|
|
344
353
|
_this.resetFocus();
|
|
345
354
|
_this.props.onBlur == null || _this.props.onBlur(event);
|
|
346
|
-
};_this.state = { focusByTab: false, checked: props.defaultChecked };return _this;}(0, _inheritsLoose2.default)(Toggle, _React$Component);var _proto = Toggle.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.autoFocus) {_keyListener.keyListener.isTabPressed = true;this.focus();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getContainerSizeClassName = function getContainerSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.containerLarge(this.theme);case 'medium':return _Toggle2.styles.containerMedium(this.theme);case 'small':default:return _Toggle2.styles.containerSmall(this.theme);}};_proto.getHandleSizeClassName = function getHandleSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.handleLarge(this.theme);case 'medium':return _Toggle2.styles.handleMedium(this.theme);case 'small':default:return _Toggle2.styles.handleSmall(this.theme);}};_proto.getButtonSizeClassName = function getButtonSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.buttonLarge(this.theme);case 'medium':return _Toggle2.styles.buttonMedium(this.theme);case 'small':default:return _Toggle2.styles.buttonSmall(this.theme);}};_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.rootLarge(this.theme);case 'medium':return _Toggle2.styles.rootMedium(this.theme);case 'small':default:return _Toggle2.styles.rootSmall(this.theme);}};_proto.getInputSizeClassName = function getInputSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.inputLarge(this.theme);case 'medium':return _Toggle2.styles.inputMedium(this.theme);case 'small':default:return _Toggle2.styles.inputSmall(this.theme);}};_proto.getCaptionSizeClassName = function getCaptionSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.captionLarge(this.theme);case 'medium':return _Toggle2.styles.captionMedium(this.theme);case 'small':default:return _Toggle2.styles.captionSmall(this.theme);}};_proto.renderMain = function renderMain() {var _cx, _cx2, _cx4, _cx5;var _this$props = this.props,children = _this$props.children,warning = _this$props.warning,error = _this$props.error,id = _this$props.id,ariaDescribedby = _this$props['aria-describedby'],ariaLabel = _this$props['aria-label'];var _this$getProps = this.getProps(),loading = _this$getProps.loading,captionPosition = _this$getProps.captionPosition,disableAnimations = _this$getProps.disableAnimations;var disabled = this.getProps().disabled || loading;var checked = this.isUncontrolled() ? this.state.checked : this.props.checked;var containerClassNames = (0, _Emotion.cx)(this.getContainerSizeClassName(), (_cx = {}, _cx[_Toggle2.styles.container(this.theme)] = true, _cx[_Toggle2.styles.containerDisabled(this.theme)] = !!disabled, _cx[_Toggle2.globalClasses.container] = true, _cx[_Toggle2.globalClasses.containerDisabled] = !!disabled, _cx[_Toggle2.globalClasses.containerLoading] = loading, _cx));var labelClassNames = (0, _Emotion.cx)(this.getRootSizeClassName(), (_cx2 = {}, _cx2[_Toggle2.styles.root(this.theme)] = true, _cx2[_Toggle2.styles.rootLeft()] = captionPosition === 'left', _cx2[_Toggle2.styles.disabled()] = !!disabled, _cx2[_Toggle2.globalClasses.disabled] = !!disabled, _cx2[_Toggle2.styles.disableAnimation()] = disableAnimations, _cx2));var caption = null;if (children) {var _cx3;var captionClass = (0, _Emotion.cx)(this.getCaptionSizeClassName(), (_cx3 = {}, _cx3[_Toggle2.styles.caption(this.theme)] = true, _cx3[_Toggle2.styles.captionLeft(this.theme)] = captionPosition === 'left', _cx3[_Toggle2.styles.disabledCaption(this.theme)] = !!disabled, _cx3));caption = /*#__PURE__*/_react.default.createElement("span", { className: captionClass }, children);}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("label", { "data-tid": ToggleDataTids.root, className: labelClassNames }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(this.getButtonSizeClassName(), (_cx4 = {}, _cx4[_Toggle2.styles.button(this.theme)] = true, _cx4[_Toggle2.styles.buttonRight()] = captionPosition === 'left', _cx4[_Toggle2.styles.isWarning(this.theme)] = !!warning, _cx4[_Toggle2.styles.isError(this.theme)] = !!error, _cx4[_Toggle2.styles.focused(this.theme)] = !disabled && !!this.state.focusByTab, _cx4)) }, /*#__PURE__*/_react.default.createElement(_FocusControlWrapper.FocusControlWrapper, { onBlurWhenDisabled: this.resetFocus }, /*#__PURE__*/_react.default.createElement("input", { type: "checkbox", checked: checked, onChange: this.handleChange, className: (0, _Emotion.cx)(this.getInputSizeClassName(), _Toggle2.styles.input(this.theme)), onFocus: this.handleFocus, onBlur: this.handleBlur, ref: this.inputRef, disabled: disabled, id: id, role: "switch", "aria-label": ariaLabel, "aria-describedby": ariaDescribedby })), /*#__PURE__*/_react.default.createElement("div", { className: containerClassNames }), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(this.getHandleSizeClassName(), _Toggle2.globalClasses.handle, (_cx5 = {}, _cx5[_Toggle2.styles.handle(this.theme)] = true, _cx5[_Toggle2.styles.handleDisabled(this.theme)] = disabled, _cx5)) })), caption));};_proto.
|
|
355
|
+
};_this.state = { focusByTab: false, checked: props.defaultChecked };return _this;}(0, _inheritsLoose2.default)(Toggle, _React$Component);var _proto = Toggle.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.autoFocus) {_keyListener.keyListener.isTabPressed = true;this.focus();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getContainerSizeClassName = function getContainerSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.containerLarge(this.theme);case 'medium':return _Toggle2.styles.containerMedium(this.theme);case 'small':default:return _Toggle2.styles.containerSmall(this.theme);}};_proto.getHandleSizeClassName = function getHandleSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.handleLarge(this.theme);case 'medium':return _Toggle2.styles.handleMedium(this.theme);case 'small':default:return _Toggle2.styles.handleSmall(this.theme);}};_proto.getButtonSizeClassName = function getButtonSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.buttonLarge(this.theme);case 'medium':return _Toggle2.styles.buttonMedium(this.theme);case 'small':default:return _Toggle2.styles.buttonSmall(this.theme);}};_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.rootLarge(this.theme);case 'medium':return _Toggle2.styles.rootMedium(this.theme);case 'small':default:return _Toggle2.styles.rootSmall(this.theme);}};_proto.getInputSizeClassName = function getInputSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.inputLarge(this.theme);case 'medium':return _Toggle2.styles.inputMedium(this.theme);case 'small':default:return _Toggle2.styles.inputSmall(this.theme);}};_proto.getCaptionSizeClassName = function getCaptionSizeClassName() {switch (this.getProps().size) {case 'large':return _Toggle2.styles.captionLarge(this.theme);case 'medium':return _Toggle2.styles.captionMedium(this.theme);case 'small':default:return _Toggle2.styles.captionSmall(this.theme);}};_proto.renderMain = function renderMain() {var _cx, _cx2, _cx4, _cx5;var _this$props = this.props,children = _this$props.children,warning = _this$props.warning,error = _this$props.error,id = _this$props.id,name = _this$props.name,ariaDescribedby = _this$props['aria-describedby'],ariaLabel = _this$props['aria-label'];var _this$getProps = this.getProps(),loading = _this$getProps.loading,captionPosition = _this$getProps.captionPosition,disableAnimations = _this$getProps.disableAnimations;var disabled = this.getProps().disabled || loading;var checked = this.isUncontrolled() ? this.state.checked : this.props.checked;var containerClassNames = (0, _Emotion.cx)(this.getContainerSizeClassName(), (_cx = {}, _cx[_Toggle2.styles.container(this.theme)] = true, _cx[_Toggle2.styles.containerDisabled(this.theme)] = !!disabled, _cx[_Toggle2.globalClasses.container] = true, _cx[_Toggle2.globalClasses.containerDisabled] = !!disabled, _cx[_Toggle2.globalClasses.containerLoading] = loading, _cx));var labelClassNames = (0, _Emotion.cx)(this.getRootSizeClassName(), (_cx2 = {}, _cx2[_Toggle2.styles.root(this.theme)] = true, _cx2[_Toggle2.styles.rootLeft()] = captionPosition === 'left', _cx2[_Toggle2.styles.disabled()] = !!disabled, _cx2[_Toggle2.globalClasses.disabled] = !!disabled, _cx2[_Toggle2.styles.disableAnimation()] = disableAnimations, _cx2));var caption = null;if (children) {var _cx3;var captionClass = (0, _Emotion.cx)(this.getCaptionSizeClassName(), (_cx3 = {}, _cx3[_Toggle2.styles.caption(this.theme)] = true, _cx3[_Toggle2.styles.captionLeft(this.theme)] = captionPosition === 'left', _cx3[_Toggle2.styles.disabledCaption(this.theme)] = !!disabled, _cx3));caption = /*#__PURE__*/_react.default.createElement("span", { className: captionClass }, children);}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("label", { "data-tid": ToggleDataTids.root, className: labelClassNames }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(this.getButtonSizeClassName(), (_cx4 = {}, _cx4[_Toggle2.styles.button(this.theme)] = true, _cx4[_Toggle2.styles.buttonRight()] = captionPosition === 'left', _cx4[_Toggle2.styles.isWarning(this.theme)] = !!warning, _cx4[_Toggle2.styles.isError(this.theme)] = !!error, _cx4[_Toggle2.styles.focused(this.theme)] = !disabled && !!this.state.focusByTab, _cx4)) }, /*#__PURE__*/_react.default.createElement(_FocusControlWrapper.FocusControlWrapper, { onBlurWhenDisabled: this.resetFocus }, /*#__PURE__*/_react.default.createElement("input", { type: "checkbox", checked: checked, onChange: this.handleChange, className: (0, _Emotion.cx)(this.getInputSizeClassName(), _Toggle2.styles.input(this.theme)), onFocus: this.handleFocus, onBlur: this.handleBlur, ref: this.inputRef, disabled: disabled, id: id, name: name, role: "switch", "aria-label": ariaLabel, "aria-describedby": ariaDescribedby })), /*#__PURE__*/_react.default.createElement("div", { className: containerClassNames }), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(this.getHandleSizeClassName(), _Toggle2.globalClasses.handle, (_cx5 = {}, _cx5[_Toggle2.styles.handle(this.theme)] = true, _cx5[_Toggle2.styles.handleDisabled(this.theme)] = disabled, _cx5)) })), caption));};_proto.
|
|
347
356
|
|
|
348
357
|
isUncontrolled = function isUncontrolled() {
|
|
349
358
|
return this.props.checked === undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_keyListener","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_currentEnvironment","_FocusControlWrapper","_Toggle2","_class","_Toggle","ToggleDataTids","exports","root","Toggle","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","input","focus","keyListener","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","resetFocus","handleBlur","onBlur","state","defaultChecked","_inheritsLoose2","default","_proto","prototype","componentDidMount","autoFocus","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","getContainerSizeClassName","size","styles","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","_cx","_cx2","_cx4","_cx5","_this$props","children","warning","error","id","ariaDescribedby","ariaLabel","_this$getProps","loading","captionPosition","disableAnimations","disabled","containerClassNames","cx","container","containerDisabled","globalClasses","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","_cx3","captionClass","captionLeft","disabledCaption","className","CommonWrapper","_extends2","rootNodeRef","setRootNode","button","buttonRight","isWarning","isError","focused","FocusControlWrapper","onBlurWhenDisabled","type","ref","role","handle","handleDisabled","undefined","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","func","isTestEnv"],"sources":["Toggle.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const { children, warning, error, id, 'aria-describedby': ariaDescribedby, 'aria-label': ariaLabel } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), styles.input(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </FocusControlWrapper>\n <div className={containerClassNames} />\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private resetFocus = () => this.setState({ focusByTab: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_keyListener","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_currentEnvironment","_FocusControlWrapper","_Toggle2","_class","_Toggle","ToggleDataTids","exports","root","Toggle","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","input","focus","keyListener","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","resetFocus","handleBlur","onBlur","state","defaultChecked","_inheritsLoose2","default","_proto","prototype","componentDidMount","autoFocus","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","getContainerSizeClassName","size","styles","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","_cx","_cx2","_cx4","_cx5","_this$props","children","warning","error","id","name","ariaDescribedby","ariaLabel","_this$getProps","loading","captionPosition","disableAnimations","disabled","containerClassNames","cx","container","containerDisabled","globalClasses","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","_cx3","captionClass","captionLeft","disabledCaption","className","CommonWrapper","_extends2","rootNodeRef","setRootNode","button","buttonRight","isWarning","isError","focused","FocusControlWrapper","onBlurWhenDisabled","type","ref","role","handle","handleDisabled","undefined","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","func","isTestEnv"],"sources":["Toggle.tsx"],"sourcesContent":["import React, { AriaAttributes, InputHTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport interface ToggleProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>,\n CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const {\n children,\n warning,\n error,\n id,\n name,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), styles.input(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n name={name}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </FocusControlWrapper>\n <div className={containerClassNames} />\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private resetFocus = () => this.setState({ focusByTab: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
3
3
|
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
4
4
|
import { globalClasses as buttonGlobalClasses } from "../../Button/Button.styles";
|
|
5
5
|
export var styles = memoizeStyle({
|
|
@@ -15,25 +15,16 @@ export var styles = memoizeStyle({
|
|
|
15
15
|
titleWithIcon: function titleWithIcon(t) {
|
|
16
16
|
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n margin-top: ", ";\n "])), t.miniModalTitleMarginTop);
|
|
17
17
|
},
|
|
18
|
-
actions: function actions(
|
|
19
|
-
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: stretch;\n text-align: center;\n
|
|
18
|
+
actions: function actions() {
|
|
19
|
+
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: stretch;\n text-align: center;\n\n .", " {\n width: 100%;\n }\n "])), buttonGlobalClasses.root);
|
|
20
20
|
},
|
|
21
21
|
actionsIndent: function actionsIndent(t) {
|
|
22
|
-
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n
|
|
22
|
+
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n padding: ", " 0;\n "])), t.miniModalCancelIndent);
|
|
23
23
|
},
|
|
24
|
-
|
|
25
|
-
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n
|
|
24
|
+
actionsRow: function actionsRow(t) {
|
|
25
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n flex-direction: row;\n > *:nth-of-type(1) {\n margin-right: calc(", " / 2);\n }\n > *:nth-of-type(2) {\n margin-left: calc(", " / 2);\n }\n "])), t.miniModalActionGap, t.miniModalActionGap);
|
|
26
26
|
},
|
|
27
|
-
|
|
28
|
-
return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n flex-direction:
|
|
29
|
-
},
|
|
30
|
-
actionsColumn: function actionsColumn() {
|
|
31
|
-
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n flex-direction: column;\n "])));
|
|
32
|
-
},
|
|
33
|
-
actionsRowIE11Fallback: function actionsRowIE11Fallback(t) {
|
|
34
|
-
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n > *:nth-of-type(1) {\n margin-right: calc(", " / 2);\n }\n > *:nth-of-type(2) {\n margin-left: calc(", " / 2);\n }\n "])), t.miniModalActionGap, t.miniModalActionGap);
|
|
35
|
-
},
|
|
36
|
-
actionsColumnIE11Fallback: function actionsColumnIE11Fallback(t) {
|
|
37
|
-
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n > *:nth-of-type(2) {\n margin-top: ", ";\n }\n > *:nth-of-type(3) {\n margin-top: ", ";\n }\n "])), t.miniModalActionGap, t.miniModalActionGap);
|
|
27
|
+
actionsColumn: function actionsColumn(t) {
|
|
28
|
+
return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n flex-direction: column;\n > *:nth-of-type(2) {\n margin-top: ", ";\n }\n > *:nth-of-type(3) {\n margin-top: ", ";\n }\n "])), t.miniModalActionGap, t.miniModalActionGap);
|
|
38
29
|
}
|
|
39
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["css","memoizeStyle","globalClasses","buttonGlobalClasses","styles","icon","_templateObject","_taggedTemplateLiteralLoose","description","_templateObject2","title","_templateObject3","titleWithIcon","t","_templateObject4","miniModalTitleMarginTop","actions","_templateObject5","
|
|
1
|
+
{"version":3,"names":["css","memoizeStyle","globalClasses","buttonGlobalClasses","styles","icon","_templateObject","_taggedTemplateLiteralLoose","description","_templateObject2","title","_templateObject3","titleWithIcon","t","_templateObject4","miniModalTitleMarginTop","actions","_templateObject5","root","actionsIndent","_templateObject6","miniModalCancelIndent","actionsRow","_templateObject7","miniModalActionGap","actionsColumn","_templateObject8"],"sources":["MiniModal.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { globalClasses as buttonGlobalClasses } from '../Button/Button.styles';\n\nexport const styles = memoizeStyle({\n icon() {\n return css`\n text-align: center;\n `;\n },\n\n description() {\n return css`\n text-align: center;\n `;\n },\n\n title() {\n return css`\n text-align: center;\n `;\n },\n\n titleWithIcon(t: Theme) {\n return css`\n margin-top: ${t.miniModalTitleMarginTop};\n `;\n },\n\n actions() {\n return css`\n display: flex;\n justify-content: stretch;\n text-align: center;\n\n .${buttonGlobalClasses.root} {\n width: 100%;\n }\n `;\n },\n\n actionsIndent(t: Theme) {\n return css`\n padding: ${t.miniModalCancelIndent} 0;\n `;\n },\n\n actionsRow(t: Theme) {\n return css`\n flex-direction: row;\n > *:nth-of-type(1) {\n margin-right: calc(${t.miniModalActionGap} / 2);\n }\n > *:nth-of-type(2) {\n margin-left: calc(${t.miniModalActionGap} / 2);\n }\n `;\n },\n\n actionsColumn(t: Theme) {\n return css`\n flex-direction: column;\n > *:nth-of-type(2) {\n margin-top: ${t.miniModalActionGap};\n }\n > *:nth-of-type(3) {\n margin-top: ${t.miniModalActionGap};\n }\n `;\n },\n});\n"],"mappings":"kPAAA,SAASA,GAAG,EAAEC,YAAY,QAAQ,2BAA2B;;AAE7D,SAASC,aAAa,IAAIC,mBAAmB,QAAQ,yBAAyB;;AAE9E,OAAO,IAAMC,MAAM,GAAGH,YAAY,CAAC;EACjCI,IAAI,WAAAA,KAAA,EAAG;IACL,OAAOL,GAAG,CAAAM,eAAA,KAAAA,eAAA,GAAAC,2BAAA;;;EAGZ,CAAC;;EAEDC,WAAW,WAAAA,YAAA,EAAG;IACZ,OAAOR,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAF,2BAAA;;;EAGZ,CAAC;;EAEDG,KAAK,WAAAA,MAAA,EAAG;IACN,OAAOV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAJ,2BAAA;;;EAGZ,CAAC;;EAEDK,aAAa,WAAAA,cAACC,CAAQ,EAAE;IACtB,OAAOb,GAAG,CAAAc,gBAAA,KAAAA,gBAAA,GAAAP,2BAAA;IACMM,CAAC,CAACE,uBAAuB;;EAE3C,CAAC;;EAEDC,OAAO,WAAAA,QAAA,EAAG;IACR,OAAOhB,GAAG,CAAAiB,gBAAA,KAAAA,gBAAA,GAAAV,2BAAA;;;;;IAKLJ,mBAAmB,CAACe,IAAI;;;;EAI/B,CAAC;;EAEDC,aAAa,WAAAA,cAACN,CAAQ,EAAE;IACtB,OAAOb,GAAG,CAAAoB,gBAAA,KAAAA,gBAAA,GAAAb,2BAAA;IACGM,CAAC,CAACQ,qBAAqB;;EAEtC,CAAC;;EAEDC,UAAU,WAAAA,WAACT,CAAQ,EAAE;IACnB,OAAOb,GAAG,CAAAuB,gBAAA,KAAAA,gBAAA,GAAAhB,2BAAA;;;IAGeM,CAAC,CAACW,kBAAkB;;;IAGrBX,CAAC,CAACW,kBAAkB;;;EAG9C,CAAC;;EAEDC,aAAa,WAAAA,cAACZ,CAAQ,EAAE;IACtB,OAAOb,GAAG,CAAA0B,gBAAA,KAAAA,gBAAA,GAAAnB,2BAAA;;;IAGQM,CAAC,CAACW,kBAAkB;;;IAGpBX,CAAC,CAACW,kBAAkB;;;EAGxC;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,11 +4,8 @@ export declare const styles: {
|
|
|
4
4
|
description(): string;
|
|
5
5
|
title(): string;
|
|
6
6
|
titleWithIcon(t: Theme): string;
|
|
7
|
-
actions(
|
|
7
|
+
actions(): string;
|
|
8
8
|
actionsIndent(t: Theme): string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
actionsColumn(): string;
|
|
12
|
-
actionsRowIE11Fallback(t: Theme): string;
|
|
13
|
-
actionsColumnIE11Fallback(t: Theme): string;
|
|
9
|
+
actionsRow(t: Theme): string;
|
|
10
|
+
actionsColumn(t: Theme): string;
|
|
14
11
|
};
|
|
@@ -4,7 +4,6 @@ import React, { useContext } from 'react';
|
|
|
4
4
|
import { Modal } from "../../Modal";
|
|
5
5
|
import { forwardRefAndName } from "../../../lib/forwardRefAndName";
|
|
6
6
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
7
|
-
import { isIE11 } from "../../../lib/client";
|
|
8
7
|
import { cx } from "../../../lib/theming/Emotion";
|
|
9
8
|
import { styles } from "../MiniModal.styles";
|
|
10
9
|
import { MiniModalDataTids } from "../MiniModal";
|
|
@@ -22,15 +21,12 @@ export var MiniModalFooter = forwardRefAndName('MiniModalFooter', function (_ref
|
|
|
22
21
|
var theme = useContext(ThemeContext);
|
|
23
22
|
var childrenCount = React.Children.count(children);
|
|
24
23
|
var _direction = childrenCount > 2 || childrenCount === 1 ? 'column' : direction;
|
|
25
|
-
|
|
26
|
-
// IE11 does not support CSS property `gap`
|
|
27
|
-
var IE11FallbackClasses = isIE11 && cx(_direction === 'row' && styles.actionsRowIE11Fallback(theme), _direction === 'column' && styles.actionsColumnIE11Fallback(theme));
|
|
28
24
|
return /*#__PURE__*/(
|
|
29
25
|
React.createElement(Modal.Footer, rest, /*#__PURE__*/
|
|
30
26
|
React.createElement("div", {
|
|
31
27
|
ref: ref,
|
|
32
28
|
"data-tid": MiniModalDataTids.actions,
|
|
33
|
-
className: cx(styles.actions(
|
|
29
|
+
className: cx(styles.actions(), _direction === 'row' && styles.actionsRow(theme), _direction === 'column' && styles.actionsColumn(theme))
|
|
34
30
|
}, children))
|
|
35
31
|
);
|
|
36
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useContext","Modal","forwardRefAndName","ThemeContext","
|
|
1
|
+
{"version":3,"names":["React","useContext","Modal","forwardRefAndName","ThemeContext","cx","styles","MiniModalDataTids","MiniModalFooter","_ref","ref","_ref$direction","direction","children","rest","_objectWithoutPropertiesLoose","_excluded","theme","childrenCount","Children","count","_direction","createElement","Footer","actions","className","actionsRow","actionsColumn"],"sources":["MiniModalFooter.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Modal, ModalFooterProps } from '../Modal';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './MiniModal.styles';\nimport { MiniModalDataTids } from './MiniModal';\n\ninterface MiniModalFooterProps extends ModalFooterProps {\n /**\n * Направление позиционирования кнопок.\n * `row` работает только для 2 элементов,\n * в других случаях автоматически включиться `column`.\n *\n * @default row\n */\n direction?: 'row' | 'column';\n}\n\n/**\n * Обёртка над Modal.Footer\n *\n * @visibleName MiniModal.Footer\n */\nexport const MiniModalFooter = forwardRefAndName<HTMLDivElement, MiniModalFooterProps>(\n 'MiniModalFooter',\n ({ direction = 'row', children, ...rest }, ref) => {\n const theme = useContext(ThemeContext);\n\n const childrenCount = React.Children.count(children);\n const _direction = childrenCount > 2 || childrenCount === 1 ? 'column' : direction;\n\n return (\n <Modal.Footer {...rest}>\n <div\n ref={ref}\n data-tid={MiniModalDataTids.actions}\n className={cx(\n styles.actions(),\n _direction === 'row' && styles.actionsRow(theme),\n _direction === 'column' && styles.actionsColumn(theme),\n )}\n >\n {children}\n </div>\n </Modal.Footer>\n );\n },\n);\n"],"mappings":"8IAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;AAEzC,SAASC,KAAK,QAA0B,UAAU;AAClD,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,EAAE,QAAQ,2BAA2B;;AAE9C,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,iBAAiB,QAAQ,aAAa;;;;;;;;;;;;;AAa/C;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAGL,iBAAiB;EAC9C,iBAAiB;EACjB,UAAAM,IAAA,EAA2CC,GAAG,EAAK,KAAAC,cAAA,GAAAF,IAAA,CAAhDG,SAAS,CAATA,SAAS,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA,CAAEE,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAKC,IAAI,GAAAC,6BAAA,CAAAN,IAAA,EAAAO,SAAA;IACrC,IAAMC,KAAK,GAAGhB,UAAU,CAACG,YAAY,CAAC;;IAEtC,IAAMc,aAAa,GAAGlB,KAAK,CAACmB,QAAQ,CAACC,KAAK,CAACP,QAAQ,CAAC;IACpD,IAAMQ,UAAU,GAAGH,aAAa,GAAG,CAAC,IAAIA,aAAa,KAAK,CAAC,GAAG,QAAQ,GAAGN,SAAS;;IAElF;MACEZ,KAAA,CAAAsB,aAAA,CAACpB,KAAK,CAACqB,MAAM,EAAKT,IAAI;MACpBd,KAAA,CAAAsB,aAAA;QACEZ,GAAG,EAAEA,GAAI;QACT,YAAUH,iBAAiB,CAACiB,OAAQ;QACpCC,SAAS,EAAEpB,EAAE;UACXC,MAAM,CAACkB,OAAO,CAAC,CAAC;UAChBH,UAAU,KAAK,KAAK,IAAIf,MAAM,CAACoB,UAAU,CAACT,KAAK,CAAC;UAChDI,UAAU,KAAK,QAAQ,IAAIf,MAAM,CAACqB,aAAa,CAACV,KAAK;QACvD,CAAE;;MAEDJ;MACE;MACO,CAAC;;EAEnB;AACF,CAAC","ignoreList":[]}
|
|
@@ -4,8 +4,6 @@ var _excluded = ["children"];
|
|
|
4
4
|
import React, { useContext } from 'react';
|
|
5
5
|
import { forwardRefAndName } from "../../../lib/forwardRefAndName";
|
|
6
6
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
7
|
-
import { cx } from "../../../lib/theming/Emotion";
|
|
8
|
-
import { isIE11 } from "../../../lib/client";
|
|
9
7
|
import { styles } from "../MiniModal.styles";
|
|
10
8
|
import { MiniModalDataTids } from "../MiniModal";
|
|
11
9
|
|
|
@@ -18,11 +16,9 @@ export var MiniModalIndent = forwardRefAndName('MiniModalIndent', function (_ref
|
|
|
18
16
|
var children = _ref.children,
|
|
19
17
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
20
18
|
var theme = useContext(ThemeContext);
|
|
21
|
-
return /*#__PURE__*/(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}, rest))
|
|
27
|
-
);
|
|
19
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
20
|
+
"data-tid": MiniModalDataTids.indent,
|
|
21
|
+
ref: ref,
|
|
22
|
+
className: styles.actionsIndent(theme)
|
|
23
|
+
}, rest));
|
|
28
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useContext","forwardRefAndName","ThemeContext","
|
|
1
|
+
{"version":3,"names":["React","useContext","forwardRefAndName","ThemeContext","styles","MiniModalDataTids","MiniModalIndent","_ref","ref","children","rest","_objectWithoutPropertiesLoose","_excluded","theme","createElement","_extends","indent","className","actionsIndent"],"sources":["MiniModalIndent.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { styles } from './MiniModal.styles';\nimport { MiniModalDataTids } from './MiniModal';\n\n/**\n * Отступ между кнопками\n *\n * @visibleName MiniModal.Indent\n */\nexport const MiniModalIndent = forwardRefAndName<HTMLDivElement, React.InputHTMLAttributes<HTMLDivElement>>(\n 'MiniModalIndent',\n ({ children, ...rest }, ref) => {\n const theme = useContext(ThemeContext);\n\n return <div data-tid={MiniModalDataTids.indent} ref={ref} className={styles.actionsIndent(theme)} {...rest} />;\n },\n);\n"],"mappings":"2LAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;AAEzC,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,iBAAiB,QAAQ,aAAa;;AAE/C;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAGJ,iBAAiB;EAC9C,iBAAiB;EACjB,UAAAK,IAAA,EAAwBC,GAAG,EAAK,KAA7BC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAKC,IAAI,GAAAC,6BAAA,CAAAJ,IAAA,EAAAK,SAAA;IAClB,IAAMC,KAAK,GAAGZ,UAAU,CAACE,YAAY,CAAC;;IAEtC,oBAAOH,KAAA,CAAAc,aAAA,QAAAC,QAAA,GAAK,YAAUV,iBAAiB,CAACW,MAAO,EAACR,GAAG,EAAEA,GAAI,EAACS,SAAS,EAAEb,MAAM,CAACc,aAAa,CAACL,KAAK,CAAE,IAAKH,IAAI,CAAG,CAAC;EAChH;AACF,CAAC","ignoreList":[]}
|
|
@@ -164,6 +164,7 @@ export var Toggle = rootNode(_class = (_Toggle = /*#__PURE__*/function (_React$C
|
|
|
164
164
|
warning = _this$props.warning,
|
|
165
165
|
error = _this$props.error,
|
|
166
166
|
id = _this$props.id,
|
|
167
|
+
name = _this$props.name,
|
|
167
168
|
ariaDescribedby = _this$props['aria-describedby'],
|
|
168
169
|
ariaLabel = _this$props['aria-label'];
|
|
169
170
|
var _this$getProps = this.getProps(),
|
|
@@ -201,6 +202,7 @@ export var Toggle = rootNode(_class = (_Toggle = /*#__PURE__*/function (_React$C
|
|
|
201
202
|
ref: this.inputRef,
|
|
202
203
|
disabled: disabled,
|
|
203
204
|
id: id,
|
|
205
|
+
name: name,
|
|
204
206
|
role: "switch",
|
|
205
207
|
"aria-label": ariaLabel,
|
|
206
208
|
"aria-describedby": ariaDescribedby
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PropTypes","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","FocusControlWrapper","styles","globalClasses","ToggleDataTids","root","Toggle","_class","_Toggle","_React$Component","props","_this","call","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","resetFocus","handleBlur","onBlur","state","defaultChecked","_inheritsLoose","_proto","prototype","componentDidMount","autoFocus","render","_this2","createElement","Consumer","theme","renderMain","getContainerSizeClassName","size","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","_cx","_cx2","_cx4","_cx5","_this$props","children","warning","error","id","ariaDescribedby","ariaLabel","_this$getProps","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","_cx3","captionClass","captionLeft","disabledCaption","className","_extends","rootNodeRef","setRootNode","button","buttonRight","isWarning","isError","focused","onBlurWhenDisabled","type","ref","role","handle","handleDisabled","undefined","Component","__KONTUR_REACT_UI__","displayName","propTypes","bool","func"],"sources":["Toggle.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const { children, warning, error, id, 'aria-describedby': ariaDescribedby, 'aria-label': ariaLabel } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), styles.input(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </FocusControlWrapper>\n <div className={containerClassNames} />\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private resetFocus = () => this.setState({ focusByTab: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"],"mappings":"oJAAA,OAAOA,KAAK,MAA0B,OAAO;AAC7C,OAAOC,SAAS,MAAM,YAAY;;AAElC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAAsBC,aAAa,QAAQ,8BAA8B;AACzE,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,QAAQ,QAAsB,oBAAoB;AAC3D,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,SAAS,QAAQ,8BAA8B;;AAExD,SAASC,mBAAmB,QAAQ,oCAAoC;;AAExE,SAASC,MAAM,EAAEC,aAAa,QAAQ,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEvD,OAAO,IAAMC,cAAc,GAAG;EAC5BC,IAAI,EAAE;AACR,CAAU;;;;;;AAMV;AACA;AACA;AACA;AACaC,MAAM,GADlBR,QAAQ,CAAAS,MAAA,IAAAC,OAAA,0BAAAC,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BP,SAAAH,OAAYI,KAAkB,EAAE,KAAAC,KAAA;IAC9BA,KAAA,GAAAF,gBAAA,CAAAG,IAAA,OAAMF,KAAK,CAAC,SAACC,KAAA,CAPPE,QAAQ,GAAGd,iBAAiB,CAACO,MAAM,CAACQ,YAAY,CAAC,CAAAH,KAAA,CAGjDI,KAAK,GAA4B,IAAI;;;;;;;;;;;;;;;IAmB7C;AACF;AACA,OAFEJ,KAAA;IAGOK,KAAK,GAAG,YAAM;MACnB,IAAIL,KAAA,CAAKI,KAAK,EAAE;QACdrB,WAAW,CAACuB,YAAY,GAAG,IAAI;QAC/BN,KAAA,CAAKI,KAAK,CAACC,KAAK,CAAC,CAAC;MACpB;IACF,CAAC,CAAAL,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+JOO,QAAQ,GAAG,UAACC,OAAyB,EAAK;MAChDR,KAAA,CAAKI,KAAK,GAAGI,OAAO;IACtB,CAAC,CAAAR,KAAA;;IAEOS,YAAY,GAAG,UAACC,KAA0C,EAAK;MACrE,IAAIV,KAAA,CAAKD,KAAK,CAACY,aAAa,EAAE;QAC5BX,KAAA,CAAKD,KAAK,CAACY,aAAa,CAACD,KAAK,CAACE,MAAM,CAACC,OAAO,CAAC;MAChD;;MAEA,IAAIb,KAAA,CAAKc,cAAc,CAAC,CAAC,EAAE;QACzBd,KAAA,CAAKe,QAAQ,CAAC;UACZF,OAAO,EAAEH,KAAK,CAACE,MAAM,CAACC;QACxB,CAAC,CAAC;MACJ;;MAEA,IAAIb,KAAA,CAAKD,KAAK,CAACiB,QAAQ,EAAE;QACvBhB,KAAA,CAAKD,KAAK,CAACiB,QAAQ,CAACN,KAAK,CAAC;MAC5B;IACF,CAAC,CAAAV,KAAA;;IAEOiB,WAAW,GAAG,UAACP,KAAyC,EAAK;MACnE,IAAIV,KAAA,CAAKD,KAAK,CAACmB,OAAO,EAAE;QACtBlB,KAAA,CAAKD,KAAK,CAACmB,OAAO,CAACR,KAAK,CAAC;MAC3B;;MAEA,IAAI3B,WAAW,CAACuB,YAAY,EAAE;QAC5BN,KAAA,CAAKe,QAAQ,CAAC,EAAEI,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;MACrC;IACF,CAAC,CAAAnB,KAAA;;IAEOoB,UAAU,GAAG,oBAAMpB,KAAA,CAAKe,QAAQ,CAAC,EAAEI,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,GAAAnB,KAAA;;IAEvDqB,UAAU,GAAG,UAACX,KAAyC,EAAK;MAClEV,KAAA,CAAKoB,UAAU,CAAC,CAAC;MACjBpB,KAAA,CAAKD,KAAK,CAACuB,MAAM,YAAjBtB,KAAA,CAAKD,KAAK,CAACuB,MAAM,CAAGZ,KAAK,CAAC;IAC5B,CAAC,CAvNCV,KAAA,CAAKuB,KAAK,GAAG,EACXJ,UAAU,EAAE,KAAK,EACjBN,OAAO,EAAEd,KAAK,CAACyB,cAAc,CAC/B,CAAC,CAAC,OAAAxB,KAAA,CACJ,CAACyB,cAAA,CAAA9B,MAAA,EAAAG,gBAAA,MAAA4B,MAAA,GAAA/B,MAAA,CAAAgC,SAAA,CAAAD,MAAA,CAEME,iBAAiB,GAAxB,SAAAA,kBAAA,EAA2B,CACzB,IAAI,IAAI,CAAC7B,KAAK,CAAC8B,SAAS,EAAE,CACxB9C,WAAW,CAACuB,YAAY,GAAG,IAAI,CAC/B,IAAI,CAACD,KAAK,CAAC,CAAC,CACd,CACF,CAAC,CAAAqB,MAAA,CAYMI,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACElD,KAAA,CAAAmD,aAAA,CAAChD,YAAY,CAACiD,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVH,MAAI,CAACG,KAAK,GAAGA,KAAK,CAClB,OAAOH,MAAI,CAACI,UAAU,CAAC,CAAC,CAC1B,CACqB,CAAC,CAE5B,CAAC,CAAAT,MAAA,CAEOU,yBAAyB,GAAjC,SAAAA,0BAAA,EAAoC,CAClC,QAAQ,IAAI,CAAClC,QAAQ,CAAC,CAAC,CAACmC,IAAI,GAC1B,KAAK,OAAO,CACV,OAAO9C,MAAM,CAAC+C,cAAc,CAAC,IAAI,CAACJ,KAAK,CAAC,CAC1C,KAAK,QAAQ,CACX,OAAO3C,MAAM,CAACgD,eAAe,CAAC,IAAI,CAACL,KAAK,CAAC,CAC3C,KAAK,OAAO,CACZ,QACE,OAAO3C,MAAM,CAACiD,cAAc,CAAC,IAAI,CAACN,KAAK,CAAC,CAC5C,CACF,CAAC,CAAAR,MAAA,CAEOe,sBAAsB,GAA9B,SAAAA,uBAAA,EAAiC,CAC/B,QAAQ,IAAI,CAACvC,QAAQ,CAAC,CAAC,CAACmC,IAAI,GAC1B,KAAK,OAAO,CACV,OAAO9C,MAAM,CAACmD,WAAW,CAAC,IAAI,CAACR,KAAK,CAAC,CACvC,KAAK,QAAQ,CACX,OAAO3C,MAAM,CAACoD,YAAY,CAAC,IAAI,CAACT,KAAK,CAAC,CACxC,KAAK,OAAO,CACZ,QACE,OAAO3C,MAAM,CAACqD,WAAW,CAAC,IAAI,CAACV,KAAK,CAAC,CACzC,CACF,CAAC,CAAAR,MAAA,CAEOmB,sBAAsB,GAA9B,SAAAA,uBAAA,EAAiC,CAC/B,QAAQ,IAAI,CAAC3C,QAAQ,CAAC,CAAC,CAACmC,IAAI,GAC1B,KAAK,OAAO,CACV,OAAO9C,MAAM,CAACuD,WAAW,CAAC,IAAI,CAACZ,KAAK,CAAC,CACvC,KAAK,QAAQ,CACX,OAAO3C,MAAM,CAACwD,YAAY,CAAC,IAAI,CAACb,KAAK,CAAC,CACxC,KAAK,OAAO,CACZ,QACE,OAAO3C,MAAM,CAACyD,WAAW,CAAC,IAAI,CAACd,KAAK,CAAC,CACzC,CACF,CAAC,CAAAR,MAAA,CAEOuB,oBAAoB,GAA5B,SAAAA,qBAAA,EAA+B,CAC7B,QAAQ,IAAI,CAAC/C,QAAQ,CAAC,CAAC,CAACmC,IAAI,GAC1B,KAAK,OAAO,CACV,OAAO9C,MAAM,CAAC2D,SAAS,CAAC,IAAI,CAAChB,KAAK,CAAC,CACrC,KAAK,QAAQ,CACX,OAAO3C,MAAM,CAAC4D,UAAU,CAAC,IAAI,CAACjB,KAAK,CAAC,CACtC,KAAK,OAAO,CACZ,QACE,OAAO3C,MAAM,CAAC6D,SAAS,CAAC,IAAI,CAAClB,KAAK,CAAC,CACvC,CACF,CAAC,CAAAR,MAAA,CAEO2B,qBAAqB,GAA7B,SAAAA,sBAAA,EAAgC,CAC9B,QAAQ,IAAI,CAACnD,QAAQ,CAAC,CAAC,CAACmC,IAAI,GAC1B,KAAK,OAAO,CACV,OAAO9C,MAAM,CAAC+D,UAAU,CAAC,IAAI,CAACpB,KAAK,CAAC,CACtC,KAAK,QAAQ,CACX,OAAO3C,MAAM,CAACgE,WAAW,CAAC,IAAI,CAACrB,KAAK,CAAC,CACvC,KAAK,OAAO,CACZ,QACE,OAAO3C,MAAM,CAACiE,UAAU,CAAC,IAAI,CAACtB,KAAK,CAAC,CACxC,CACF,CAAC,CAAAR,MAAA,CAEO+B,uBAAuB,GAA/B,SAAAA,wBAAA,EAAkC,CAChC,QAAQ,IAAI,CAACvD,QAAQ,CAAC,CAAC,CAACmC,IAAI,GAC1B,KAAK,OAAO,CACV,OAAO9C,MAAM,CAACmE,YAAY,CAAC,IAAI,CAACxB,KAAK,CAAC,CACxC,KAAK,QAAQ,CACX,OAAO3C,MAAM,CAACoE,aAAa,CAAC,IAAI,CAACzB,KAAK,CAAC,CACzC,KAAK,OAAO,CACZ,QACE,OAAO3C,MAAM,CAACqE,YAAY,CAAC,IAAI,CAAC1B,KAAK,CAAC,CAC1C,CACF,CAAC,CAAAR,MAAA,CAEOS,UAAU,GAAlB,SAAAA,WAAA,EAAqB,KAAA0B,GAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA,CACnB,IAAAC,WAAA,GAAuG,IAAI,CAAClE,KAAK,CAAzGmE,QAAQ,GAAAD,WAAA,CAARC,QAAQ,CAAEC,OAAO,GAAAF,WAAA,CAAPE,OAAO,CAAEC,KAAK,GAAAH,WAAA,CAALG,KAAK,CAAEC,EAAE,GAAAJ,WAAA,CAAFI,EAAE,CAAsBC,eAAe,GAAAL,WAAA,CAAnC,kBAAkB,EAAiCM,SAAS,GAAAN,WAAA,CAAvB,YAAY,EACvF,IAAAO,cAAA,GAAwD,IAAI,CAACtE,QAAQ,CAAC,CAAC,CAA/DuE,OAAO,GAAAD,cAAA,CAAPC,OAAO,CAAEC,eAAe,GAAAF,cAAA,CAAfE,eAAe,CAAEC,iBAAiB,GAAAH,cAAA,CAAjBG,iBAAiB,CACnD,IAAMC,QAAQ,GAAG,IAAI,CAAC1E,QAAQ,CAAC,CAAC,CAAC0E,QAAQ,IAAIH,OAAO,CACpD,IAAM5D,OAAO,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC,GAAG,IAAI,CAACS,KAAK,CAACV,OAAO,GAAG,IAAI,CAACd,KAAK,CAACc,OAAO,CAE/E,IAAMgE,mBAAmB,GAAG3F,EAAE,CAAC,IAAI,CAACkD,yBAAyB,CAAC,CAAC,GAAAyB,GAAA,OAAAA,GAAA,CAC5DtE,MAAM,CAACuF,SAAS,CAAC,IAAI,CAAC5C,KAAK,CAAC,IAAG,IAAI,EAAA2B,GAAA,CACnCtE,MAAM,CAACwF,iBAAiB,CAAC,IAAI,CAAC7C,KAAK,CAAC,IAAG,CAAC,CAAC0C,QAAQ,EAAAf,GAAA,CACjDrE,aAAa,CAACsF,SAAS,IAAG,IAAI,EAAAjB,GAAA,CAC9BrE,aAAa,CAACuF,iBAAiB,IAAG,CAAC,CAACH,QAAQ,EAAAf,GAAA,CAC5CrE,aAAa,CAACwF,gBAAgB,IAAGP,OAAO,EAAAZ,GAAA,CAC1C,CAAC,CAEF,IAAMoB,eAAe,GAAG/F,EAAE,CAAC,IAAI,CAAC+D,oBAAoB,CAAC,CAAC,GAAAa,IAAA,OAAAA,IAAA,CACnDvE,MAAM,CAACG,IAAI,CAAC,IAAI,CAACwC,KAAK,CAAC,IAAG,IAAI,EAAA4B,IAAA,CAC9BvE,MAAM,CAAC2F,QAAQ,CAAC,CAAC,IAAGR,eAAe,KAAK,MAAM,EAAAZ,IAAA,CAC9CvE,MAAM,CAACqF,QAAQ,CAAC,CAAC,IAAG,CAAC,CAACA,QAAQ,EAAAd,IAAA,CAC9BtE,aAAa,CAACoF,QAAQ,IAAG,CAAC,CAACA,QAAQ,EAAAd,IAAA,CACnCvE,MAAM,CAAC4F,gBAAgB,CAAC,CAAC,IAAGR,iBAAiB,EAAAb,IAAA,CAC/C,CAAC,CAEF,IAAIsB,OAAO,GAAG,IAAI,CAClB,IAAIlB,QAAQ,EAAE,KAAAmB,IAAA,CACZ,IAAMC,YAAY,GAAGpG,EAAE,CAAC,IAAI,CAACuE,uBAAuB,CAAC,CAAC,GAAA4B,IAAA,OAAAA,IAAA,CACnD9F,MAAM,CAAC6F,OAAO,CAAC,IAAI,CAAClD,KAAK,CAAC,IAAG,IAAI,EAAAmD,IAAA,CACjC9F,MAAM,CAACgG,WAAW,CAAC,IAAI,CAACrD,KAAK,CAAC,IAAGwC,eAAe,KAAK,MAAM,EAAAW,IAAA,CAC3D9F,MAAM,CAACiG,eAAe,CAAC,IAAI,CAACtD,KAAK,CAAC,IAAG,CAAC,CAAC0C,QAAQ,EAAAS,IAAA,CACjD,CAAC,CACFD,OAAO,gBAAGvG,KAAA,CAAAmD,aAAA,WAAMyD,SAAS,EAAEH,YAAa,IAAEpB,QAAe,CAAC,CAC5D,CAEA,oBACErF,KAAA,CAAAmD,aAAA,CAAC/C,aAAa,EAAAyG,QAAA,GAACC,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAAC7F,KAAK,gBAC1DlB,KAAA,CAAAmD,aAAA,YAAO,YAAUvC,cAAc,CAACC,IAAK,EAAC+F,SAAS,EAAER,eAAgB,iBAC/DpG,KAAA,CAAAmD,aAAA,UACEyD,SAAS,EAAEvG,EAAE,CAAC,IAAI,CAAC2D,sBAAsB,CAAC,CAAC,GAAAkB,IAAA,OAAAA,IAAA,CACxCxE,MAAM,CAACsG,MAAM,CAAC,IAAI,CAAC3D,KAAK,CAAC,IAAG,IAAI,EAAA6B,IAAA,CAChCxE,MAAM,CAACuG,WAAW,CAAC,CAAC,IAAGpB,eAAe,KAAK,MAAM,EAAAX,IAAA,CACjDxE,MAAM,CAACwG,SAAS,CAAC,IAAI,CAAC7D,KAAK,CAAC,IAAG,CAAC,CAACiC,OAAO,EAAAJ,IAAA,CACxCxE,MAAM,CAACyG,OAAO,CAAC,IAAI,CAAC9D,KAAK,CAAC,IAAG,CAAC,CAACkC,KAAK,EAAAL,IAAA,CACpCxE,MAAM,CAAC0G,OAAO,CAAC,IAAI,CAAC/D,KAAK,CAAC,IAAG,CAAC0C,QAAQ,IAAI,CAAC,CAAC,IAAI,CAACrD,KAAK,CAACJ,UAAU,EAAA4C,IAAA,CACnE,CAAE,iBAEHlF,KAAA,CAAAmD,aAAA,CAAC1C,mBAAmB,IAAC4G,kBAAkB,EAAE,IAAI,CAAC9E,UAAW,iBACvDvC,KAAA,CAAAmD,aAAA,YACEmE,IAAI,EAAC,UAAU,EACftF,OAAO,EAAEA,OAAQ,EACjBG,QAAQ,EAAE,IAAI,CAACP,YAAa,EAC5BgF,SAAS,EAAEvG,EAAE,CAAC,IAAI,CAACmE,qBAAqB,CAAC,CAAC,EAAE9D,MAAM,CAACa,KAAK,CAAC,IAAI,CAAC8B,KAAK,CAAC,CAAE,EACtEhB,OAAO,EAAE,IAAI,CAACD,WAAY,EAC1BK,MAAM,EAAE,IAAI,CAACD,UAAW,EACxB+E,GAAG,EAAE,IAAI,CAAC7F,QAAS,EACnBqE,QAAQ,EAAEA,QAAS,EACnBP,EAAE,EAAEA,EAAG,EACPgC,IAAI,EAAC,QAAQ,EACb,cAAY9B,SAAU,EACtB,oBAAkBD,eAAgB,EACnC,CACkB,CAAC,eACtBzF,KAAA,CAAAmD,aAAA,UAAKyD,SAAS,EAAEZ,mBAAoB,EAAE,CAAC,eACvChG,KAAA,CAAAmD,aAAA,UACEyD,SAAS,EAAEvG,EAAE,CAAC,IAAI,CAACuD,sBAAsB,CAAC,CAAC,EAAEjD,aAAa,CAAC8G,MAAM,GAAAtC,IAAA,OAAAA,IAAA,CAC9DzE,MAAM,CAAC+G,MAAM,CAAC,IAAI,CAACpE,KAAK,CAAC,IAAG,IAAI,EAAA8B,IAAA,CAChCzE,MAAM,CAACgH,cAAc,CAAC,IAAI,CAACrE,KAAK,CAAC,IAAG0C,QAAQ,EAAAZ,IAAA,CAC9C,CAAE,EACJ,CACE,CAAC,EACLoB,OACI,CACM,CAAC,CAEpB,CAAC,CAAA1D,MAAA;;EAuCOZ,cAAc,GAAtB,SAAAA,eAAA,EAAyB;IACvB,OAAO,IAAI,CAACf,KAAK,CAACc,OAAO,KAAK2F,SAAS;EACzC,CAAC,QAAA7G,MAAA,GA1PyBd,KAAK,CAAC4H,SAAS,GAAA5G,OAAA,CAC3B6G,mBAAmB,GAAG,QAAQ,EAAA7G,OAAA,CAC9B8G,WAAW,GAAG,QAAQ,EAAA9G,OAAA,CAEtB+G,SAAS,GAAG,EACxB/F,OAAO,EAAE/B,SAAS,CAAC+H,IAAI,EACvBrF,cAAc,EAAE1C,SAAS,CAAC+H,IAAI,EAC9BjC,QAAQ,EAAE9F,SAAS,CAAC+H,IAAI,EACxBzC,KAAK,EAAEtF,SAAS,CAAC+H,IAAI,EACrBpC,OAAO,EAAE3F,SAAS,CAAC+H,IAAI,EACvB1C,OAAO,EAAErF,SAAS,CAAC+H,IAAI,EACvBlG,aAAa,EAAE7B,SAAS,CAACgI,IAAI,CAC/B,CAAC,EAAAjH,OAAA,CAEaM,YAAY,GAAiB,EACzCyE,QAAQ,EAAE,KAAK,EACfH,OAAO,EAAE,KAAK,EACdC,eAAe,EAAE,OAAO,EACxBC,iBAAiB,EAAEtF,SAAS,EAC5BgD,IAAI,EAAE,OAAO,CACf,CAAC,EAAAxC,OAAA,MAAAD,MAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","PropTypes","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","FocusControlWrapper","styles","globalClasses","ToggleDataTids","root","Toggle","_class","_Toggle","_React$Component","props","_this","call","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","resetFocus","handleBlur","onBlur","state","defaultChecked","_inheritsLoose","_proto","prototype","componentDidMount","autoFocus","render","_this2","createElement","Consumer","theme","renderMain","getContainerSizeClassName","size","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","_cx","_cx2","_cx4","_cx5","_this$props","children","warning","error","id","name","ariaDescribedby","ariaLabel","_this$getProps","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","_cx3","captionClass","captionLeft","disabledCaption","className","_extends","rootNodeRef","setRootNode","button","buttonRight","isWarning","isError","focused","onBlurWhenDisabled","type","ref","role","handle","handleDisabled","undefined","Component","__KONTUR_REACT_UI__","displayName","propTypes","bool","func"],"sources":["Toggle.tsx"],"sourcesContent":["import React, { AriaAttributes, InputHTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport interface ToggleProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>,\n CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const {\n children,\n warning,\n error,\n id,\n name,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), styles.input(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n name={name}\n role=\"switch\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </FocusControlWrapper>\n <div className={containerClassNames} />\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private resetFocus = () => this.setState({ focusByTab: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React, { AriaAttributes } from 'react';
|
|
1
|
+
import React, { AriaAttributes, InputHTMLAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
4
4
|
import { SizeProp } from '../../lib/types/props';
|
|
5
|
-
export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, CommonProps {
|
|
5
|
+
export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>, CommonProps {
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
/**
|
|
8
8
|
* Положение `children` относительно переключателя.
|
|
@@ -58,10 +58,6 @@ export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-d
|
|
|
58
58
|
* Событие вызывающееся, когда `тогл` теряет фокус.
|
|
59
59
|
*/
|
|
60
60
|
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
61
|
-
/**
|
|
62
|
-
* HTML-атрибут `id` для передачи во внутренний `<input />`.
|
|
63
|
-
*/
|
|
64
|
-
id?: string;
|
|
65
61
|
/**
|
|
66
62
|
* Не показывать анимацию
|
|
67
63
|
*/
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skbkontur/react-ui",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.16",
|
|
4
4
|
"description": "UI Components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "index.js",
|
|
7
7
|
"sideEffects": false,
|
|
8
|
-
"homepage": "https://tech.skbkontur.ru/react-ui/5.0.
|
|
8
|
+
"homepage": "https://tech.skbkontur.ru/react-ui/5.0.16/",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "git@github.com:skbkontur/retail-ui.git"
|