@skbkontur/react-ui 3.8.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Checkbox/Checkbox.styles.js +1 -2
  4. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  5. package/cjs/components/Kebab/Kebab.js +2 -1
  6. package/cjs/components/Kebab/Kebab.js.map +1 -1
  7. package/cjs/components/Textarea/Textarea.d.ts +0 -2
  8. package/cjs/components/Textarea/Textarea.js +6 -3
  9. package/cjs/components/Textarea/Textarea.js.map +1 -1
  10. package/cjs/components/Toggle/Toggle.d.ts +43 -1
  11. package/cjs/components/Toggle/Toggle.js +45 -2
  12. package/cjs/components/Toggle/Toggle.js.map +1 -1
  13. package/cjs/components/Toggle/Toggle.md +70 -9
  14. package/cjs/components/Toggle/Toggle.styles.d.ts +1 -0
  15. package/cjs/components/Toggle/Toggle.styles.js +8 -2
  16. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  17. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
  18. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  19. package/components/Kebab/Kebab/Kebab.js +2 -1
  20. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  21. package/components/Textarea/Textarea/Textarea.js +1 -2
  22. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  23. package/components/Textarea/Textarea.d.ts +0 -2
  24. package/components/Toggle/Toggle/Toggle.js +5 -1
  25. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  26. package/components/Toggle/Toggle.d.ts +43 -1
  27. package/components/Toggle/Toggle.md +70 -9
  28. package/components/Toggle/Toggle.styles/Toggle.styles.js +5 -2
  29. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  30. package/components/Toggle/Toggle.styles.d.ts +1 -0
  31. package/package.json +2 -2
@@ -4,27 +4,69 @@ import { CommonProps } from '../../internal/CommonWrapper';
4
4
  export interface ToggleProps extends CommonProps {
5
5
  children?: React.ReactNode;
6
6
  /**
7
- * Положение children справа или слева от переключателя
7
+ * Положение `children` относительно переключателя.
8
8
  * @default 'right'
9
9
  */
10
10
  captionPosition: 'left' | 'right';
11
+ /**
12
+ * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.
13
+ * @default false
14
+ */
11
15
  checked?: boolean;
16
+ /**
17
+ * Делает `тогл` включенным по умолчанию.
18
+ */
12
19
  defaultChecked?: boolean;
20
+ /**
21
+ * Отключает `тогл`.
22
+ */
13
23
  disabled?: boolean;
24
+ /**
25
+ * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.
26
+ */
14
27
  onValueChange?: (value: boolean) => void;
28
+ /**
29
+ * Событие вызывающееся при клике на `тогл`.
30
+ */
15
31
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
32
+ /**
33
+ * Добавляет оранжевую обводку вокруг переключателя.
34
+ * @default false
35
+ */
16
36
  warning?: boolean;
37
+ /**
38
+ * Добавляет красную обводку вокруг переключателя.
39
+ * @default false
40
+ */
17
41
  error?: boolean;
42
+ /**
43
+ * Добавляет стили для состояния `loading` и отключает `тогл`.
44
+ */
18
45
  loading?: boolean;
46
+ /**
47
+ * Если true, выставляет фокус на `тогле` после загрузки страницы.
48
+ */
19
49
  autoFocus?: boolean;
50
+ /**
51
+ * Событие вызывающееся, когда `тогл` получает фокус.
52
+ */
20
53
  onFocus?: React.FocusEventHandler<HTMLInputElement>;
54
+ /**
55
+ * Событие вызывающееся, когда `тогл` теряет фокус.
56
+ */
21
57
  onBlur?: React.FocusEventHandler<HTMLInputElement>;
58
+ /**
59
+ * @deprecated используйте переменную темы `toggleBgChecked` вместо этого пропа.
60
+ */
22
61
  color?: React.CSSProperties['color'];
23
62
  }
24
63
  export interface ToggleState {
25
64
  checked?: boolean;
26
65
  focusByTab?: boolean;
27
66
  }
67
+ /**
68
+ * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.
69
+ */
28
70
  export declare class Toggle extends React.Component<ToggleProps, ToggleState> {
29
71
  static __KONTUR_REACT_UI__: string;
30
72
  static propTypes: {
@@ -1,20 +1,81 @@
1
+ Базовый пример тогла.
2
+
1
3
  ```jsx harmony
2
4
  const [checked, setChecked] = React.useState(false);
3
5
 
4
- <div>
5
- <Toggle checked={checked} onValueChange={setChecked} /> {checked ? 'On' : 'Off'}
6
- </div>;
6
+ <Toggle checked={checked} onValueChange={setChecked}>
7
+ {checked ? 'On' : 'Off'}
8
+ </Toggle>
9
+ ```
10
+
11
+ Пример тогла включенного по умолчанию.
12
+
13
+ ```jsx harmony
14
+ <Toggle defaultChecked>
15
+ Включен по умолчанию
16
+ </Toggle>
7
17
  ```
8
18
 
9
- В компонент можно передать `children`, который будет отображаться рядом с переключателем.
10
- Положение `children` относительно переключателя указывается в `captionPosition`.
19
+ Тогл с надписью слева от переключателя.
11
20
 
12
21
  ```jsx harmony
13
22
  const [checked, setChecked] = React.useState(false);
14
23
 
15
- <div>
16
- <Toggle checked={checked} onValueChange={setChecked} captionPosition="left">
17
- <span>Показывать уведомления</span>
24
+ <Toggle checked={checked} onValueChange={setChecked} captionPosition="left">
25
+ Показывать уведомления
26
+ </Toggle>
27
+ ```
28
+
29
+ Тогл получающий фокус после загрузки страницы.
30
+
31
+ ```jsx harmony
32
+ <Toggle autoFocus>
33
+ Сразу с фокусом
34
+ </Toggle>
35
+ ```
36
+
37
+ Тоглы в различных стилях.
38
+
39
+ ```jsx harmony
40
+ import { Gapped } from '@skbkontur/react-ui';
41
+
42
+ <Gapped gap="20px">
43
+ <Toggle warning>
44
+ Warning
45
+ </Toggle>
46
+ <Toggle error>
47
+ Error
18
48
  </Toggle>
19
- </div>;
49
+ <Toggle loading>
50
+ Loading
51
+ </Toggle>
52
+ <Toggle disabled>
53
+ Disabled
54
+ </Toggle>
55
+ </Gapped>
56
+ ```
57
+
58
+ Тогл с кастомным действием при получении и потере фокуса.
59
+
60
+
61
+ ```jsx harmony
62
+ import { Toast } from '@skbkontur/react-ui';
63
+
64
+ <Toggle
65
+ onFocus={() => Toast.push('Я получил фокус!')}
66
+ onBlur={() => Toast.push('И потерял его...')}
67
+ >
68
+ С кастомными действиями при фокусе и его потере
69
+ </Toggle>
70
+ ```
71
+
72
+
73
+ Тогл с кастомным действием при переключении.
74
+
75
+ ```jsx harmony
76
+ import { Toast } from '@skbkontur/react-ui';
77
+
78
+ <Toggle onChange={() => Toast.push("Запускаю кастомное действие")}>
79
+ Кастомное действие при переключении
80
+ </Toggle>
20
81
  ```
@@ -1,6 +1,6 @@
1
1
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
2
 
3
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19;
4
4
 
5
5
  import { css, memoizeStyle, prefix } from "../../../lib/theming/Emotion";
6
6
  export var globalClasses = prefix('toggle')({
@@ -67,7 +67,10 @@ export var styles = memoizeStyle({
67
67
  caption: function caption(t) {
68
68
  return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n color: ", ";\n padding: 0 0 0 ", ";\n "])), t.toggleTextColor, t.toggleCaptionGap);
69
69
  },
70
+ disabledCaption: function disabledCaption(t) {
71
+ return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.textColorDisabled);
72
+ },
70
73
  captionLeft: function captionLeft(t) {
71
- return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n color: ", ";\n padding: 0 ", " 0 0;\n "])), t.toggleTextColor, t.toggleCaptionGap);
74
+ return css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n color: ", ";\n padding: 0 ", " 0 0;\n "])), t.toggleTextColor, t.toggleCaptionGap);
72
75
  }
73
76
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["Toggle.styles.ts"],"names":["css","memoizeStyle","prefix","globalClasses","handle","container","containerDisabled","containerLoading","background","styles","root","t","handleWidthWithBorders","toggleHeight","handleActiveWidth","toggleBorderWidth","toggleHandleActiveWidthIncrement","toggleBgHover","toggleWidth","handleSize","toggleBg","toggleHandleBorderRadius","handleDisabled","toggleDisabledHandleBg","input","toggleBgChecked","toggleBorderColorDisabledChecked","toggleBgDisabledChecked","toggleBorderColor","toggleBorderRadius","toggleBgDisabled","toggleBorderColorDisabled","focused","outlineColorFocus","toggleOutlineWidth","toggleFocusShadowColor","activeBackground","disabledBackground","activeBackgroundLoading","toggleBgActive","isWarning","toggleShadowColorWarning","isError","toggleShadowColorError","outline","toggleBaseBg","wrapper","disabled","rootLeft","caption","toggleTextColor","toggleCaptionGap","captionLeft"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const globalClasses = prefix('toggle')({\n handle: 'handle',\n container: 'container',\n containerDisabled: 'container-disabled',\n containerLoading: 'container-loading',\n background: 'background',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n const handleActiveWidth = `calc(${handleWidthWithBorders} - 2 * ${t.toggleBorderWidth} + ${t.toggleHandleActiveWidthIncrement})`;\n return css`\n display: inline-flex;\n cursor: pointer;\n\n &:hover .${globalClasses.handle} {\n background: ${t.toggleBgHover};\n }\n &:active .${globalClasses.handle} {\n width: ${handleActiveWidth};\n }\n &:active input:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders})\n translateX(-${t.toggleHandleActiveWidthIncrement});\n }\n `;\n },\n\n handle(t: Theme) {\n const handleSize = `calc(${t.toggleHeight} - 2 * ${t.toggleBorderWidth})`;\n return css`\n background: ${t.toggleBg};\n border-radius: ${t.toggleHandleBorderRadius};\n bottom: ${t.toggleBorderWidth};\n box-shadow: 0 ${t.toggleBorderWidth} 0 0 rgba(0, 0, 0, 0.15), 0 0 0 ${t.toggleBorderWidth} rgba(0, 0, 0, 0.15);\n height: ${handleSize};\n left: ${t.toggleBorderWidth};\n position: absolute;\n top: ${t.toggleBorderWidth};\n transition: 0.2s ease-in;\n width: ${handleSize};\n `;\n },\n\n handleDisabled(t: Theme) {\n const handleSize = `calc(${t.toggleHeight} - 2 * ${t.toggleBorderWidth})`;\n return css`\n background: ${t.toggleDisabledHandleBg} !important; // override root hover/active styles\n width: ${handleSize} !important; // override root active styles\n `;\n },\n\n input(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n return css`\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .${globalClasses.container} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBgChecked};\n background: ${t.toggleBgChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerDisabled} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColorDisabledChecked};\n background: ${t.toggleBgDisabledChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerLoading} {\n background: ${t.toggleBorderColor};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n }\n &:checked ~ .${globalClasses.container} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgChecked};\n }\n &:checked ~ .${globalClasses.containerDisabled} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgDisabledChecked};\n border-radius: calc(${t.toggleHeight} * 0.5) 0 0 calc(${t.toggleHeight} * 0.5);\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabledChecked};\n }\n &:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders});\n }\n `;\n },\n\n container(t: Theme) {\n return css`\n border-radius: ${t.toggleBorderRadius};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n height: 100%;\n overflow: hidden;\n position: absolute;\n width: 100%;\n /* fixes overflow issue in Safari: https://bugs.webkit.org/show_bug.cgi?id=98538 */\n z-index: 0;\n `;\n },\n\n containerDisabled(t: Theme) {\n return css`\n background: ${t.toggleBgDisabled};\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n `;\n },\n\n focused(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleFocusShadowColor};\n `;\n },\n\n activeBackground() {\n return css`\n background: inherit;\n bottom: 0;\n left: 0;\n position: absolute;\n top: 0;\n transition: 0.2s ease-in;\n width: 10px;\n `;\n },\n\n disabledBackground(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n width: 0;\n `;\n },\n\n activeBackgroundLoading(t: Theme) {\n return css`\n background: ${t.toggleBgActive};\n `;\n },\n\n isWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorWarning};\n `;\n },\n\n isError(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorError};\n `;\n },\n\n outline(t: Theme) {\n return css`\n background: ${t.toggleBaseBg};\n border-radius: ${t.toggleBorderRadius};\n `;\n },\n\n wrapper(t: Theme) {\n return css`\n display: inline-block;\n height: ${t.toggleHeight};\n position: relative;\n width: ${t.toggleWidth};\n flex: 1 0 ${t.toggleWidth};\n\n &::after {\n content: '';\n display: inline-block;\n }\n `;\n },\n\n disabled() {\n return css`\n cursor: default;\n `;\n },\n\n rootLeft() {\n return css`\n flex-direction: row-reverse;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 0 0 ${t.toggleCaptionGap};\n `;\n },\n\n captionLeft(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 ${t.toggleCaptionGap} 0 0;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Toggle.styles.ts"],"names":["css","memoizeStyle","prefix","globalClasses","handle","container","containerDisabled","containerLoading","background","styles","root","t","handleWidthWithBorders","toggleHeight","handleActiveWidth","toggleBorderWidth","toggleHandleActiveWidthIncrement","toggleBgHover","toggleWidth","handleSize","toggleBg","toggleHandleBorderRadius","handleDisabled","toggleDisabledHandleBg","input","toggleBgChecked","toggleBorderColorDisabledChecked","toggleBgDisabledChecked","toggleBorderColor","toggleBorderRadius","toggleBgDisabled","toggleBorderColorDisabled","focused","outlineColorFocus","toggleOutlineWidth","toggleFocusShadowColor","activeBackground","disabledBackground","activeBackgroundLoading","toggleBgActive","isWarning","toggleShadowColorWarning","isError","toggleShadowColorError","outline","toggleBaseBg","wrapper","disabled","rootLeft","caption","toggleTextColor","toggleCaptionGap","disabledCaption","textColorDisabled","captionLeft"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const globalClasses = prefix('toggle')({\n handle: 'handle',\n container: 'container',\n containerDisabled: 'container-disabled',\n containerLoading: 'container-loading',\n background: 'background',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n const handleActiveWidth = `calc(${handleWidthWithBorders} - 2 * ${t.toggleBorderWidth} + ${t.toggleHandleActiveWidthIncrement})`;\n return css`\n display: inline-flex;\n cursor: pointer;\n\n &:hover .${globalClasses.handle} {\n background: ${t.toggleBgHover};\n }\n &:active .${globalClasses.handle} {\n width: ${handleActiveWidth};\n }\n &:active input:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders})\n translateX(-${t.toggleHandleActiveWidthIncrement});\n }\n `;\n },\n\n handle(t: Theme) {\n const handleSize = `calc(${t.toggleHeight} - 2 * ${t.toggleBorderWidth})`;\n return css`\n background: ${t.toggleBg};\n border-radius: ${t.toggleHandleBorderRadius};\n bottom: ${t.toggleBorderWidth};\n box-shadow: 0 ${t.toggleBorderWidth} 0 0 rgba(0, 0, 0, 0.15), 0 0 0 ${t.toggleBorderWidth} rgba(0, 0, 0, 0.15);\n height: ${handleSize};\n left: ${t.toggleBorderWidth};\n position: absolute;\n top: ${t.toggleBorderWidth};\n transition: 0.2s ease-in;\n width: ${handleSize};\n `;\n },\n\n handleDisabled(t: Theme) {\n const handleSize = `calc(${t.toggleHeight} - 2 * ${t.toggleBorderWidth})`;\n return css`\n background: ${t.toggleDisabledHandleBg} !important; // override root hover/active styles\n width: ${handleSize} !important; // override root active styles\n `;\n },\n\n input(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n return css`\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .${globalClasses.container} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBgChecked};\n background: ${t.toggleBgChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerDisabled} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColorDisabledChecked};\n background: ${t.toggleBgDisabledChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerLoading} {\n background: ${t.toggleBorderColor};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n }\n &:checked ~ .${globalClasses.container} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgChecked};\n }\n &:checked ~ .${globalClasses.containerDisabled} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgDisabledChecked};\n border-radius: calc(${t.toggleHeight} * 0.5) 0 0 calc(${t.toggleHeight} * 0.5);\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabledChecked};\n }\n &:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders});\n }\n `;\n },\n\n container(t: Theme) {\n return css`\n border-radius: ${t.toggleBorderRadius};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n height: 100%;\n overflow: hidden;\n position: absolute;\n width: 100%;\n /* fixes overflow issue in Safari: https://bugs.webkit.org/show_bug.cgi?id=98538 */\n z-index: 0;\n `;\n },\n\n containerDisabled(t: Theme) {\n return css`\n background: ${t.toggleBgDisabled};\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n `;\n },\n\n focused(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleFocusShadowColor};\n `;\n },\n\n activeBackground() {\n return css`\n background: inherit;\n bottom: 0;\n left: 0;\n position: absolute;\n top: 0;\n transition: 0.2s ease-in;\n width: 10px;\n `;\n },\n\n disabledBackground(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n width: 0;\n `;\n },\n\n activeBackgroundLoading(t: Theme) {\n return css`\n background: ${t.toggleBgActive};\n `;\n },\n\n isWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorWarning};\n `;\n },\n\n isError(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorError};\n `;\n },\n\n outline(t: Theme) {\n return css`\n background: ${t.toggleBaseBg};\n border-radius: ${t.toggleBorderRadius};\n `;\n },\n\n wrapper(t: Theme) {\n return css`\n display: inline-block;\n height: ${t.toggleHeight};\n position: relative;\n width: ${t.toggleWidth};\n flex: 1 0 ${t.toggleWidth};\n\n &::after {\n content: '';\n display: inline-block;\n }\n `;\n },\n\n disabled() {\n return css`\n cursor: default;\n `;\n },\n\n rootLeft() {\n return css`\n flex-direction: row-reverse;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 0 0 ${t.toggleCaptionGap};\n `;\n },\n\n disabledCaption(t: Theme) {\n return css`\n color: ${t.textColorDisabled};\n `;\n },\n\n captionLeft(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 ${t.toggleCaptionGap} 0 0;\n `;\n },\n});\n"]}
@@ -24,5 +24,6 @@ export declare const styles: {
24
24
  disabled(): string;
25
25
  rootLeft(): string;
26
26
  caption(t: Theme): string;
27
+ disabledCaption(t: Theme): string;
27
28
  captionLeft(t: Theme): string;
28
29
  };
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@skbkontur/react-ui",
3
- "version": "3.8.0",
3
+ "version": "3.8.1",
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/3.8.0/",
8
+ "homepage": "https://tech.skbkontur.ru/react-ui/3.8.1/",
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "git@github.com:skbkontur/retail-ui.git"