@skbkontur/react-ui 6.1.7-c386f.0 → 6.1.7
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 +13 -0
- package/components/Checkbox/Checkbox.d.ts +0 -5
- package/components/Checkbox/Checkbox.js +21 -42
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.mixins.d.ts +0 -2
- package/components/Checkbox/Checkbox.mixins.js +0 -6
- package/components/Checkbox/Checkbox.mixins.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +0 -7
- package/components/Checkbox/Checkbox.styles.js +2 -23
- package/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/components/Group/Group.js +2 -3
- package/components/Group/Group.js.map +1 -1
- package/components/Input/Input.d.ts +4 -1
- package/components/Input/Input.js +4 -1
- package/components/Input/Input.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +1 -1
- package/components/MenuItem/MenuItem.js.map +1 -1
- package/components/PasswordInput/PasswordInput.js +13 -1
- package/components/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio.d.ts +0 -4
- package/components/Radio/Radio.js +1 -20
- package/components/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.mixins.d.ts +0 -2
- package/components/Radio/Radio.mixins.js +0 -6
- package/components/Radio/Radio.mixins.js.map +1 -1
- package/components/Radio/Radio.styles.d.ts +0 -6
- package/components/Radio/Radio.styles.js +4 -22
- package/components/Radio/Radio.styles.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +0 -5
- package/components/Toggle/Toggle.js +22 -46
- package/components/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.mixins.d.ts +0 -2
- package/components/Toggle/Toggle.mixins.js +0 -6
- package/components/Toggle/Toggle.mixins.js.map +1 -1
- package/components/Toggle/Toggle.styles.d.ts +0 -9
- package/components/Toggle/Toggle.styles.js +2 -29
- package/components/Toggle/Toggle.styles.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +2 -0
- package/components/Tooltip/Tooltip.js +25 -4
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +0 -65
- package/internal/themes/BasicTheme.js +0 -253
- package/internal/themes/BasicTheme.js.map +1 -1
- package/internal/themes/DarkTheme6_0.js +0 -1
- package/internal/themes/DarkTheme6_0.js.map +1 -1
- package/lib/locale/types.d.ts +0 -2
- package/lib/locale/types.js.map +1 -1
- package/lib/utils.d.ts +0 -2
- package/lib/utils.js +0 -1
- package/lib/utils.js.map +1 -1
- package/package.json +1 -9
- package/components/TimePicker/TimeClockIcon.d.ts +0 -3
- package/components/TimePicker/TimeClockIcon.js +0 -11
- package/components/TimePicker/TimeClockIcon.js.map +0 -1
- package/components/TimePicker/TimePicker.d.ts +0 -153
- package/components/TimePicker/TimePicker.js +0 -739
- package/components/TimePicker/TimePicker.js.map +0 -1
- package/components/TimePicker/TimePicker.styles.d.ts +0 -13
- package/components/TimePicker/TimePicker.styles.js +0 -42
- package/components/TimePicker/TimePicker.styles.js.map +0 -1
- package/components/TimePicker/TimePickerItems.d.ts +0 -20
- package/components/TimePicker/TimePickerItems.js +0 -115
- package/components/TimePicker/TimePickerItems.js.map +0 -1
- package/components/TimePicker/TimePickerMobilePopup.d.ts +0 -45
- package/components/TimePicker/TimePickerMobilePopup.js +0 -45
- package/components/TimePicker/TimePickerMobilePopup.js.map +0 -1
- package/components/TimePicker/TimePickerPopup.d.ts +0 -23
- package/components/TimePicker/TimePickerPopup.js +0 -18
- package/components/TimePicker/TimePickerPopup.js.map +0 -1
- package/components/TimePicker/helpers/TimePicker.constants.d.ts +0 -29
- package/components/TimePicker/helpers/TimePicker.constants.js +0 -38
- package/components/TimePicker/helpers/TimePicker.constants.js.map +0 -1
- package/components/TimePicker/helpers/TimePicker.editing.d.ts +0 -23
- package/components/TimePicker/helpers/TimePicker.editing.js +0 -101
- package/components/TimePicker/helpers/TimePicker.editing.js.map +0 -1
- package/components/TimePicker/helpers/TimePicker.layout.d.ts +0 -6
- package/components/TimePicker/helpers/TimePicker.layout.js +0 -49
- package/components/TimePicker/helpers/TimePicker.layout.js.map +0 -1
- package/components/TimePicker/helpers/TimePicker.selection.d.ts +0 -5
- package/components/TimePicker/helpers/TimePicker.selection.js +0 -23
- package/components/TimePicker/helpers/TimePicker.selection.js.map +0 -1
- package/components/TimePicker/helpers/TimePicker.shared.d.ts +0 -91
- package/components/TimePicker/helpers/TimePicker.shared.js +0 -111
- package/components/TimePicker/helpers/TimePicker.shared.js.map +0 -1
- package/components/TimePicker/helpers/TimePicker.value.d.ts +0 -80
- package/components/TimePicker/helpers/TimePicker.value.js +0 -237
- package/components/TimePicker/helpers/TimePicker.value.js.map +0 -1
- package/components/TimePicker/helpers/scrollSelectedItemIntoView.d.ts +0 -4
- package/components/TimePicker/helpers/scrollSelectedItemIntoView.js +0 -24
- package/components/TimePicker/helpers/scrollSelectedItemIntoView.js.map +0 -1
- package/components/TimePicker/helpers/validateTimePicker.d.ts +0 -8
- package/components/TimePicker/helpers/validateTimePicker.js +0 -17
- package/components/TimePicker/helpers/validateTimePicker.js.map +0 -1
- package/components/TimePicker/hooks/useTimePickerDropdown.d.ts +0 -23
- package/components/TimePicker/hooks/useTimePickerDropdown.js +0 -83
- package/components/TimePicker/hooks/useTimePickerDropdown.js.map +0 -1
- package/components/TimePicker/hooks/useTimePickerSelection.d.ts +0 -18
- package/components/TimePicker/hooks/useTimePickerSelection.js +0 -66
- package/components/TimePicker/hooks/useTimePickerSelection.js.map +0 -1
- package/components/TimePicker/hooks/useTimePickerSource.d.ts +0 -27
- package/components/TimePicker/hooks/useTimePickerSource.js +0 -59
- package/components/TimePicker/hooks/useTimePickerSource.js.map +0 -1
- package/components/TimePicker/hooks/useTimePickerValue.d.ts +0 -33
- package/components/TimePicker/hooks/useTimePickerValue.js +0 -97
- package/components/TimePicker/hooks/useTimePickerValue.js.map +0 -1
- package/components/TimePicker/index.d.ts +0 -4
- package/components/TimePicker/index.js +0 -3
- package/components/TimePicker/index.js.map +0 -1
- package/components/TimePicker/locale/index.d.ts +0 -4
- package/components/TimePicker/locale/index.js +0 -9
- package/components/TimePicker/locale/index.js.map +0 -1
- package/components/TimePicker/locale/locales/en.d.ts +0 -2
- package/components/TimePicker/locale/locales/en.js +0 -5
- package/components/TimePicker/locale/locales/en.js.map +0 -1
- package/components/TimePicker/locale/locales/ru.d.ts +0 -2
- package/components/TimePicker/locale/locales/ru.js +0 -5
- package/components/TimePicker/locale/locales/ru.js.map +0 -1
- package/components/TimePicker/locale/types.d.ts +0 -4
- package/components/TimePicker/locale/types.js +0 -2
- package/components/TimePicker/locale/types.js.map +0 -1
- package/internal/NativeTimeInput/NativeTimeInput.d.ts +0 -16
- package/internal/NativeTimeInput/NativeTimeInput.js +0 -25
- package/internal/NativeTimeInput/NativeTimeInput.js.map +0 -1
- package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -3
- package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -15
- package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +0 -1
- package/internal/NativeTimeInput/NativeTimeInput.utils.d.ts +0 -7
- package/internal/NativeTimeInput/NativeTimeInput.utils.js +0 -28
- package/internal/NativeTimeInput/NativeTimeInput.utils.js.map +0 -1
- package/internal/NativeTimeInput/index.d.ts +0 -1
- package/internal/NativeTimeInput/index.js +0 -2
- package/internal/NativeTimeInput/index.js.map +0 -1
- package/internal/TimeInput/TimeFragments.d.ts +0 -15
- package/internal/TimeInput/TimeFragments.js +0 -72
- package/internal/TimeInput/TimeFragments.js.map +0 -1
- package/internal/TimeInput/TimeFragments.styles.d.ts +0 -12
- package/internal/TimeInput/TimeFragments.styles.js +0 -43
- package/internal/TimeInput/TimeFragments.styles.js.map +0 -1
- package/internal/TimeInput/TimeInput.d.ts +0 -22
- package/internal/TimeInput/TimeInput.js +0 -103
- package/internal/TimeInput/TimeInput.js.map +0 -1
- package/internal/TimeInput/TimeInput.styles.d.ts +0 -6
- package/internal/TimeInput/TimeInput.styles.js +0 -21
- package/internal/TimeInput/TimeInput.styles.js.map +0 -1
- package/internal/TimeInput/index.d.ts +0 -1
- package/internal/TimeInput/index.js +0 -2
- package/internal/TimeInput/index.js.map +0 -1
- package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.d.ts +0 -2
- package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js +0 -20
- package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js.map +0 -1
- package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.d.ts +0 -2
- package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js +0 -20
- package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js.map +0 -1
- package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.d.ts +0 -2
- package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js +0 -20
- package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.mixins.js","sourceRoot":"","sources":["Radio.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAE9G,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,EAAE,SAAiB;IACtG,OAAO,2BACQ,QAAQ,iCACN,UAAU,6BACd,QAAQ,gDAER,SAAS,iBAErB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,gCAAwC,EACxC,QAAgB,EAChB,SAAiB,EACjB,4BAAoC,EACpC,kBAA0B;IAE1B,IAAM,yBAAyB,GAAG,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7E,IAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAM,oBAAoB,GAAG,mCAAmC,CAC9D,aAAa,EACb,yBAAyB,EACzB,QAAQ,EACR,SAAS,CACV,CAAC;IACF,IAAM,UAAU,GAAG,eAAQ,SAAS,oBAAU,4BAA4B,MAAG,CAAC;IAC9E,IAAM,aAAa,GAAG,eAAQ,kBAAkB,gBAAM,4BAA4B,gBAAM,oBAAoB,QAAK,CAAC;IAClH,IAAM,aAAa,GAAG,4BAA4B,CAAC;IACnD,OAAO,wBACK,UAAU,2BACX,UAAU,4BACT,aAAa,cAAI,aAAa,YACzC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,UAAkB;IAClD,OAAO,2CAEO,UAAU,6BACX,UAAU,iBAEtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,iBAAyB;IACzD,OAAO,kEAGG,iBAAiB,6BACd,iBAAiB,2BACnB,iBAAiB,4BAChB,iBAAiB,kCACX,iBAAiB,0FAIlC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,MAAc,EAAE,WAAmB;IACnE,OAAO,4BACS,MAAM,kCACJ,WAAW,UAC5B,CAAC;AACJ,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"Radio.mixins.js","sourceRoot":"","sources":["Radio.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAE9G,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,EAAE,SAAiB;IACtG,OAAO,2BACQ,QAAQ,iCACN,UAAU,6BACd,QAAQ,gDAER,SAAS,iBAErB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,gCAAwC,EACxC,QAAgB,EAChB,SAAiB,EACjB,4BAAoC,EACpC,kBAA0B;IAE1B,IAAM,yBAAyB,GAAG,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7E,IAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAM,oBAAoB,GAAG,mCAAmC,CAC9D,aAAa,EACb,yBAAyB,EACzB,QAAQ,EACR,SAAS,CACV,CAAC;IACF,IAAM,UAAU,GAAG,eAAQ,SAAS,oBAAU,4BAA4B,MAAG,CAAC;IAC9E,IAAM,aAAa,GAAG,eAAQ,kBAAkB,gBAAM,4BAA4B,gBAAM,oBAAoB,QAAK,CAAC;IAClH,IAAM,aAAa,GAAG,4BAA4B,CAAC;IACnD,OAAO,wBACK,UAAU,2BACX,UAAU,4BACT,aAAa,cAAI,aAAa,YACzC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,UAAkB;IAClD,OAAO,2CAEO,UAAU,6BACX,UAAU,iBAEtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,iBAAyB;IACzD,OAAO,kEAGG,iBAAiB,6BACd,iBAAiB,2BACnB,iBAAiB,4BAChB,iBAAiB,kCACX,iBAAiB,0FAIlC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,MAAc,EAAE,WAAmB;IACnE,OAAO,4BACS,MAAM,kCACJ,WAAW,UAC5B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { isChrome, isFirefox } from '../../lib/client.js';\nimport { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation.js';\n\nexport const radioSizeMixin = (fontSize: string, lineHeight: string, paddingY: string, radioSize: string): string => {\n return `\n font-size: ${fontSize};\n line-height: ${lineHeight};\n padding: ${paddingY} 0;\n &::before {\n width: ${radioSize};\n }\n `;\n};\n\nexport const circleSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n radioSize: string,\n radioBorderWidthCompensation: string,\n radioCircleOffsetY: string,\n): string => {\n const labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);\n const radioFontSize = parseInt(fontSize);\n\n const baselineCompensation = getLabGrotesqueBaselineCompensation(\n radioFontSize,\n labGrotesqueCompenstation,\n isChrome,\n isFirefox,\n );\n const circleSize = `calc(${radioSize} - 2 * ${radioBorderWidthCompensation})`;\n const circleOffsetY = `calc(${radioCircleOffsetY} + ${radioBorderWidthCompensation} + ${baselineCompensation}px)`;\n const circleMarginX = radioBorderWidthCompensation;\n return `\n height: ${circleSize};\n width: ${circleSize};\n margin: ${circleOffsetY} ${circleMarginX} 0;\n `;\n};\n\nexport const radioCheckedMixin = (bulletSize: string): string => {\n return `\n &::before {\n height: ${bulletSize};\n width: ${bulletSize};\n }\n `;\n};\n\nexport const afterOutlineMixin = (radioOutlineWidth: string): string => {\n return `\n content: ' ';\n position: absolute;\n top: -${radioOutlineWidth};\n bottom: -${radioOutlineWidth};\n left: -${radioOutlineWidth};\n right: -${radioOutlineWidth};\n border-width: ${radioOutlineWidth};\n border-style: solid;\n border-radius: 50%;\n box-sizing: border-box;\n `;\n};\n\nexport const outlineColorMixin = (shadow: string, borderColor: string): string => {\n return `\n box-shadow: ${shadow};\n border-color: ${borderColor};\n `;\n};\n"]}
|
|
@@ -25,10 +25,4 @@ export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGet
|
|
|
25
25
|
caption(t: Theme): string;
|
|
26
26
|
captionDisabled(t: Theme): string;
|
|
27
27
|
placeholder(): string;
|
|
28
|
-
captionWrapper(t: Theme): string;
|
|
29
|
-
subcaption(t: Theme): string;
|
|
30
|
-
subcaptionDisabled(t: Theme): string;
|
|
31
|
-
subcaptionSmall(t: Theme): string;
|
|
32
|
-
subcaptionMedium(t: Theme): string;
|
|
33
|
-
subcaptionLarge(t: Theme): string;
|
|
34
28
|
}>;
|
|
@@ -3,7 +3,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
3
3
|
return cooked;
|
|
4
4
|
};
|
|
5
5
|
import { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';
|
|
6
|
-
import { afterOutlineMixin, circleSizeMixin,
|
|
6
|
+
import { afterOutlineMixin, circleSizeMixin, outlineColorMixin, radioCheckedMixin, radioSizeMixin, } from './Radio.mixins.js';
|
|
7
7
|
export var globalClasses = prefix('radio')({
|
|
8
8
|
circle: 'circle',
|
|
9
9
|
});
|
|
@@ -68,33 +68,15 @@ export var getStyles = memoizeGetStyles(function (_a) {
|
|
|
68
68
|
return css(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n background: ", " !important; // override root hover/active styles\n border-color: transparent !important; // override root hover/active styles\n box-shadow: ", " !important; // override root hover/active styles\n "], ["\n background: ", " !important; // override root hover/active styles\n border-color: transparent !important; // override root hover/active styles\n box-shadow: ", " !important; // override root hover/active styles\n "])), t.radioDisabledBg, t.radioDisabledShadow);
|
|
69
69
|
},
|
|
70
70
|
caption: function (t) {
|
|
71
|
-
return css(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n display: ", ";\n white-space: normal;\n color: ", ";\n "], ["\n display: ", ";\n white-space: normal;\n color: ", ";\n "])), t.radioCaptionDisplay, t.radioTextColor);
|
|
71
|
+
return css(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n display: ", ";\n padding-left: ", ";\n white-space: normal;\n color: ", ";\n "], ["\n display: ", ";\n padding-left: ", ";\n white-space: normal;\n color: ", ";\n "])), t.radioCaptionDisplay, t.radioCaptionGap, t.radioTextColor);
|
|
72
72
|
},
|
|
73
73
|
captionDisabled: function (t) {
|
|
74
|
-
return css(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])),
|
|
74
|
+
return css(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), t.textColorDisabled);
|
|
75
75
|
},
|
|
76
76
|
placeholder: function () {
|
|
77
77
|
return css(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n display: inline-block;\n "], ["\n display: inline-block;\n "])));
|
|
78
78
|
},
|
|
79
|
-
captionWrapper: function (t) {
|
|
80
|
-
return css(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n display: inline-block;\n padding-left: ", ";\n "], ["\n display: inline-block;\n padding-left: ", ";\n "])), t.radioCaptionGap);
|
|
81
|
-
},
|
|
82
|
-
subcaption: function (t) {
|
|
83
|
-
return css(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n margin-top: 2px;\n color: ", ";\n "], ["\n margin-top: 2px;\n color: ", ";\n "])), t.radioCommentTextColor);
|
|
84
|
-
},
|
|
85
|
-
subcaptionDisabled: function (t) {
|
|
86
|
-
return css(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), disabledTextColorMixin(t.textColorDisabled));
|
|
87
|
-
},
|
|
88
|
-
subcaptionSmall: function (t) {
|
|
89
|
-
return css(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), subcaptionMixin(t.radioCommentFontSizeSmall, t.radioCommentLineHeightSmall));
|
|
90
|
-
},
|
|
91
|
-
subcaptionMedium: function (t) {
|
|
92
|
-
return css(templateObject_27 || (templateObject_27 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), subcaptionMixin(t.radioCommentFontSizeMedium, t.radioCommentLineHeightMedium));
|
|
93
|
-
},
|
|
94
|
-
subcaptionLarge: function (t) {
|
|
95
|
-
return css(templateObject_28 || (templateObject_28 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), subcaptionMixin(t.radioCommentFontSizeLarge, t.radioCommentLineHeightLarge));
|
|
96
|
-
},
|
|
97
79
|
});
|
|
98
80
|
});
|
|
99
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22
|
|
81
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22;
|
|
100
82
|
//# sourceMappingURL=Radio.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.styles.js","sourceRoot":"","sources":["Radio.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport {\n afterOutlineMixin,\n circleSizeMixin,\n disabledTextColorMixin,\n outlineColorMixin,\n radioCheckedMixin,\n radioSizeMixin,\n subcaptionMixin,\n} from './Radio.mixins.js';\n\nexport const globalClasses = prefix('radio')({\n circle: 'circle',\n});\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n return css`\n cursor: pointer;\n position: relative;\n white-space: nowrap;\n display: inline-flex;\n align-items: baseline;\n\n .${globalClasses.circle} {\n transition: background ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.circle} {\n background: ${t.radioHoverBg};\n box-shadow: ${t.radioHoverShadow};\n }\n &:active .${globalClasses.circle} {\n background: ${t.radioActiveBg};\n box-shadow: ${t.radioActiveShadow};\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned circle,\n // and also height and baseline for radio without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n `;\n },\n rootSmall(t: Theme) {\n return css`\n ${radioSizeMixin(t.radioFontSizeSmall, t.radioLineHeightSmall, t.radioPaddingYSmall, t.radioSizeSmall)};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${radioSizeMixin(t.radioFontSizeMedium, t.radioLineHeightMedium, t.radioPaddingYMedium, t.radioSizeMedium)};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${radioSizeMixin(t.radioFontSizeLarge, t.radioLineHeightLarge, t.radioPaddingYLarge, t.radioSizeLarge)};\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.circle} {\n background: ${t.radioCheckedHoverBgColor};\n }\n `;\n },\n\n circle(t: Theme) {\n return css`\n background-image: ${t.radioBgImage};\n border-radius: 50%;\n border: ${t.radioBorder};\n box-shadow: ${t.radioBoxShadow};\n box-sizing: border-box;\n display: inline-block;\n position: absolute;\n left: 0;\n background-color: ${t.radioBgColor};\n `;\n },\n circleSmall(t: Theme) {\n return css`\n ${circleSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.radioFontSizeSmall,\n t.radioSizeSmall,\n t.radioBorderWidthCompensation,\n t.radioCircleOffsetY,\n )};\n `;\n },\n circleMedium(t: Theme) {\n return css`\n ${circleSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.radioFontSizeMedium,\n t.radioSizeMedium,\n t.radioBorderWidthCompensation,\n t.radioCircleOffsetY,\n )};\n `;\n },\n circleLarge(t: Theme) {\n return css`\n ${circleSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.radioFontSizeLarge,\n t.radioSizeLarge,\n t.radioBorderWidthCompensation,\n t.radioCircleOffsetY,\n )};\n `;\n },\n\n focus(t: Theme) {\n return css`\n &::after {\n ${afterOutlineMixin(t.radioOutlineWidth)};\n ${outlineColorMixin(t.radioFocusShadow, t.radioBorderColorFocus)};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n &::after {\n ${afterOutlineMixin(t.radioOutlineWidth)};\n ${outlineColorMixin(t.radioFocusShadow, t.radioBorderColorWarning)};\n }\n `;\n },\n\n error(t: Theme) {\n return css`\n &::after {\n ${afterOutlineMixin(t.radioOutlineWidth)};\n ${outlineColorMixin(t.radioFocusShadow, t.radioBorderColorError)};\n }\n `;\n },\n\n checked(t: Theme) {\n return css`\n background-color: ${t.radioCheckedBgColor};\n border-color: ${t.radioCheckedBorderColor};\n\n &::before {\n content: ' ';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: auto;\n border-radius: 50%;\n background: ${t.radioCheckedBulletColor};\n }\n `;\n },\n checkedSmall(t: Theme) {\n return css`\n ${radioCheckedMixin(t.radioBulletSizeSmall)};\n `;\n },\n checkedMedium(t: Theme) {\n return css`\n ${radioCheckedMixin(t.radioBulletSizeMedium)};\n `;\n },\n checkedLarge(t: Theme) {\n return css`\n ${radioCheckedMixin(t.radioBulletSizeLarge)};\n `;\n },\n\n checkedDisabled(t: Theme) {\n return css`\n &::before {\n background: ${t.radioCheckedDisabledBulletBg};\n }\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background: ${t.radioDisabledBg} !important; // override root hover/active styles\n border-color: transparent !important; // override root hover/active styles\n box-shadow: ${t.radioDisabledShadow} !important; // override root hover/active styles\n `;\n },\n\n caption(t: Theme) {\n return css`\n display: ${t.radioCaptionDisplay};\n white-space: normal;\n color: ${t.radioTextColor};\n `;\n },\n\n captionDisabled(t: Theme) {\n return css`\n ${disabledTextColorMixin(t.textColorDisabled)};\n `;\n },\n\n placeholder() {\n return css`\n display: inline-block;\n `;\n },\n\n captionWrapper(t: Theme) {\n return css`\n display: inline-block;\n padding-left: ${t.radioCaptionGap};\n `;\n },\n\n subcaption(t: Theme) {\n return css`\n margin-top: 2px;\n color: ${t.radioCommentTextColor};\n `;\n },\n\n subcaptionDisabled(t: Theme) {\n return css`\n ${disabledTextColorMixin(t.textColorDisabled)};\n `;\n },\n\n subcaptionSmall(t: Theme) {\n return css`\n ${subcaptionMixin(t.radioCommentFontSizeSmall, t.radioCommentLineHeightSmall)};\n `;\n },\n subcaptionMedium(t: Theme) {\n return css`\n ${subcaptionMixin(t.radioCommentFontSizeMedium, t.radioCommentLineHeightMedium)};\n `;\n },\n subcaptionLarge(t: Theme) {\n return css`\n ${subcaptionMixin(t.radioCommentFontSizeLarge, t.radioCommentLineHeightLarge)};\n `;\n },\n}));\n"]}
|
|
1
|
+
{"version":3,"file":"Radio.styles.js","sourceRoot":"","sources":["Radio.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,ouBAAA,uJAOL,EAAoB,qCACI,EAAoB,GAAI,EAA0B,+BAGlE,EAAoB,0BACf,EAAc,yBACd,EAAkB,8BAEtB,EAAoB,0BAChB,EAAe,yBACf,EAAmB,+SAWpC,KArBI,aAAa,CAAC,MAAM,EACI,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAGlE,aAAa,CAAC,MAAM,EACf,CAAC,CAAC,YAAY,EACd,CAAC,CAAC,gBAAgB,EAEtB,aAAa,CAAC,MAAM,EAChB,CAAC,CAAC,aAAa,EACf,CAAC,CAAC,iBAAiB,EAWnC;QACJ,CAAC;QACD,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,wFAAA,UACN,EAAoG,SACvG,KADG,cAAc,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,cAAc,CAAC,EACtG;QACJ,CAAC;QACD,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,wFAAA,UACN,EAAwG,SAC3G,KADG,cAAc,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,eAAe,CAAC,EAC1G;QACJ,CAAC;QACD,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,wFAAA,UACN,EAAoG,SACvG,KADG,cAAc,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,cAAc,CAAC,EACtG;QACJ,CAAC;QAED,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,sIAAA,mBACG,EAAoB,0BACf,EAA0B,kBAE3C,KAHY,aAAa,CAAC,MAAM,EACf,CAAC,CAAC,wBAAwB,EAE1C;QACJ,CAAC;QAED,MAAM,YAAC,CAAQ;YACb,OAAO,GAAG,0TAAA,4BACY,EAAc,8CAExB,EAAa,uBACT,EAAgB,qIAKV,EAAc,SACnC,KATqB,CAAC,CAAC,YAAY,EAExB,CAAC,CAAC,WAAW,EACT,CAAC,CAAC,cAAc,EAKV,CAAC,CAAC,YAAY,EAClC;QACJ,CAAC;QACD,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,wFAAA,UACN,EAMD,SACF,KAPG,eAAe,CACf,CAAC,CAAC,gCAAgC,EAClC,CAAC,CAAC,kBAAkB,EACpB,CAAC,CAAC,cAAc,EAChB,CAAC,CAAC,4BAA4B,EAC9B,CAAC,CAAC,kBAAkB,CACrB,EACD;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,wFAAA,UACN,EAMD,SACF,KAPG,eAAe,CACf,CAAC,CAAC,gCAAgC,EAClC,CAAC,CAAC,mBAAmB,EACrB,CAAC,CAAC,eAAe,EACjB,CAAC,CAAC,4BAA4B,EAC9B,CAAC,CAAC,kBAAkB,CACrB,EACD;QACJ,CAAC;QACD,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,wFAAA,UACN,EAMD,SACF,KAPG,eAAe,CACf,CAAC,CAAC,gCAAgC,EAClC,CAAC,CAAC,kBAAkB,EACpB,CAAC,CAAC,cAAc,EAChB,CAAC,CAAC,4BAA4B,EAC9B,CAAC,CAAC,kBAAkB,CACrB,EACD;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,sIAAA,8BAEJ,EAAsC,aACtC,EAA8D,kBAEnE,KAHK,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,EACtC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAElE;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,sIAAA,8BAEJ,EAAsC,aACtC,EAAgE,kBAErE,KAHK,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,EACtC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAEpE;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,sIAAA,8BAEJ,EAAsC,aACtC,EAA8D,kBAEnE,KAHK,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,EACtC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAElE;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,kXAAA,4BACY,EAAqB,yBACzB,EAAyB,gOAWzB,EAAyB,kBAE1C,KAdqB,CAAC,CAAC,mBAAmB,EACzB,CAAC,CAAC,uBAAuB,EAWzB,CAAC,CAAC,uBAAuB,EAEzC;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,0FAAA,UACN,EAAyC,SAC5C,KADG,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAC3C;QACJ,CAAC;QACD,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,0FAAA,UACN,EAA0C,SAC7C,KADG,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAC5C;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,0FAAA,UACN,EAAyC,SAC5C,KADG,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAC3C;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,oIAAA,2CAEQ,EAA8B,kBAE/C,KAFiB,CAAC,CAAC,4BAA4B,EAE9C;QACJ,CAAC;QAED,KAAK;YACH,OAAO,GAAG,gNAAA,2IAOT,KAAC;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,OAAO,GAAG,iTAAA,sBACM,EAAiB,yJAEjB,EAAqB,yDACpC,KAHe,CAAC,CAAC,eAAe,EAEjB,CAAC,CAAC,mBAAmB,EACnC;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,8KAAA,mBACG,EAAqB,yBAChB,EAAiB,8CAExB,EAAgB,SAC1B,KAJY,CAAC,CAAC,mBAAmB,EAChB,CAAC,CAAC,eAAe,EAExB,CAAC,CAAC,cAAc,EACzB;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,iGAAA,iBACC,EAAmB,SAC7B,KADU,CAAC,CAAC,iBAAiB,EAC5B;QACJ,CAAC;QAED,WAAW;YACT,OAAO,GAAG,2GAAA,sCAET,KAAC;QACJ,CAAC;KACF,CAAC;AAnN8D,CAmN9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport {\n afterOutlineMixin,\n circleSizeMixin,\n outlineColorMixin,\n radioCheckedMixin,\n radioSizeMixin,\n} from './Radio.mixins.js';\n\nexport const globalClasses = prefix('radio')({\n circle: 'circle',\n});\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n return css`\n cursor: pointer;\n position: relative;\n white-space: nowrap;\n display: inline-flex;\n align-items: baseline;\n\n .${globalClasses.circle} {\n transition: background ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.circle} {\n background: ${t.radioHoverBg};\n box-shadow: ${t.radioHoverShadow};\n }\n &:active .${globalClasses.circle} {\n background: ${t.radioActiveBg};\n box-shadow: ${t.radioActiveShadow};\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned circle,\n // and also height and baseline for radio without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n `;\n },\n rootSmall(t: Theme) {\n return css`\n ${radioSizeMixin(t.radioFontSizeSmall, t.radioLineHeightSmall, t.radioPaddingYSmall, t.radioSizeSmall)};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${radioSizeMixin(t.radioFontSizeMedium, t.radioLineHeightMedium, t.radioPaddingYMedium, t.radioSizeMedium)};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${radioSizeMixin(t.radioFontSizeLarge, t.radioLineHeightLarge, t.radioPaddingYLarge, t.radioSizeLarge)};\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.circle} {\n background: ${t.radioCheckedHoverBgColor};\n }\n `;\n },\n\n circle(t: Theme) {\n return css`\n background-image: ${t.radioBgImage};\n border-radius: 50%;\n border: ${t.radioBorder};\n box-shadow: ${t.radioBoxShadow};\n box-sizing: border-box;\n display: inline-block;\n position: absolute;\n left: 0;\n background-color: ${t.radioBgColor};\n `;\n },\n circleSmall(t: Theme) {\n return css`\n ${circleSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.radioFontSizeSmall,\n t.radioSizeSmall,\n t.radioBorderWidthCompensation,\n t.radioCircleOffsetY,\n )};\n `;\n },\n circleMedium(t: Theme) {\n return css`\n ${circleSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.radioFontSizeMedium,\n t.radioSizeMedium,\n t.radioBorderWidthCompensation,\n t.radioCircleOffsetY,\n )};\n `;\n },\n circleLarge(t: Theme) {\n return css`\n ${circleSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.radioFontSizeLarge,\n t.radioSizeLarge,\n t.radioBorderWidthCompensation,\n t.radioCircleOffsetY,\n )};\n `;\n },\n\n focus(t: Theme) {\n return css`\n &::after {\n ${afterOutlineMixin(t.radioOutlineWidth)};\n ${outlineColorMixin(t.radioFocusShadow, t.radioBorderColorFocus)};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n &::after {\n ${afterOutlineMixin(t.radioOutlineWidth)};\n ${outlineColorMixin(t.radioFocusShadow, t.radioBorderColorWarning)};\n }\n `;\n },\n\n error(t: Theme) {\n return css`\n &::after {\n ${afterOutlineMixin(t.radioOutlineWidth)};\n ${outlineColorMixin(t.radioFocusShadow, t.radioBorderColorError)};\n }\n `;\n },\n\n checked(t: Theme) {\n return css`\n background-color: ${t.radioCheckedBgColor};\n border-color: ${t.radioCheckedBorderColor};\n\n &::before {\n content: ' ';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n margin: auto;\n border-radius: 50%;\n background: ${t.radioCheckedBulletColor};\n }\n `;\n },\n checkedSmall(t: Theme) {\n return css`\n ${radioCheckedMixin(t.radioBulletSizeSmall)};\n `;\n },\n checkedMedium(t: Theme) {\n return css`\n ${radioCheckedMixin(t.radioBulletSizeMedium)};\n `;\n },\n checkedLarge(t: Theme) {\n return css`\n ${radioCheckedMixin(t.radioBulletSizeLarge)};\n `;\n },\n\n checkedDisabled(t: Theme) {\n return css`\n &::before {\n background: ${t.radioCheckedDisabledBulletBg};\n }\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background: ${t.radioDisabledBg} !important; // override root hover/active styles\n border-color: transparent !important; // override root hover/active styles\n box-shadow: ${t.radioDisabledShadow} !important; // override root hover/active styles\n `;\n },\n\n caption(t: Theme) {\n return css`\n display: ${t.radioCaptionDisplay};\n padding-left: ${t.radioCaptionGap};\n white-space: normal;\n color: ${t.radioTextColor};\n `;\n },\n\n captionDisabled(t: Theme) {\n return css`\n color: ${t.textColorDisabled};\n `;\n },\n\n placeholder() {\n return css`\n display: inline-block;\n `;\n },\n}));\n"]}
|
|
@@ -39,8 +39,6 @@ export interface ToggleProps extends Pick<AriaAttributes, 'aria-label' | 'aria-d
|
|
|
39
39
|
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
40
40
|
/** Отключает анимацию. */
|
|
41
41
|
disableAnimations?: boolean;
|
|
42
|
-
/** Задаёт второстепенный пояснительный текст под основным текстом тогла. */
|
|
43
|
-
comment?: React.ReactNode;
|
|
44
42
|
}
|
|
45
43
|
export interface ToggleState {
|
|
46
44
|
checked?: boolean;
|
|
@@ -82,10 +80,7 @@ export declare class Toggle extends React.Component<ToggleProps, ToggleState> {
|
|
|
82
80
|
private getRootSizeClassName;
|
|
83
81
|
private getInputSizeClassName;
|
|
84
82
|
private getCaptionSizeClassName;
|
|
85
|
-
private getSubcaptionSizeClassName;
|
|
86
83
|
private renderMain;
|
|
87
|
-
private renderCaption;
|
|
88
|
-
private renderComment;
|
|
89
84
|
private inputRef;
|
|
90
85
|
private handleChange;
|
|
91
86
|
private handleFocus;
|
|
@@ -181,20 +181,9 @@ var Toggle = /** @class */ (function (_super) {
|
|
|
181
181
|
return this.styles.captionSmall(this.theme);
|
|
182
182
|
}
|
|
183
183
|
};
|
|
184
|
-
Toggle.prototype.getSubcaptionSizeClassName = function () {
|
|
185
|
-
switch (this.size) {
|
|
186
|
-
case 'large':
|
|
187
|
-
return this.styles.subcaptionLarge(this.theme);
|
|
188
|
-
case 'medium':
|
|
189
|
-
return this.styles.subcaptionMedium(this.theme);
|
|
190
|
-
case 'small':
|
|
191
|
-
default:
|
|
192
|
-
return this.styles.subcaptionSmall(this.theme);
|
|
193
|
-
}
|
|
194
|
-
};
|
|
195
184
|
Toggle.prototype.renderMain = function () {
|
|
196
185
|
var _a, _b, _c, _d, _e;
|
|
197
|
-
var _f = this.props, children = _f.children, warning = _f.warning, error = _f.error, id = _f.id, name = _f.name,
|
|
186
|
+
var _f = this.props, children = _f.children, warning = _f.warning, error = _f.error, id = _f.id, name = _f.name, ariaDescribedby = _f["aria-describedby"], ariaLabel = _f["aria-label"];
|
|
198
187
|
var _g = this.getProps(), loading = _g.loading, captionPosition = _g.captionPosition, disableAnimations = _g.disableAnimations;
|
|
199
188
|
var disabled = this.getProps().disabled || loading;
|
|
200
189
|
var checked = this.isUncontrolled() ? this.state.checked : this.props.checked;
|
|
@@ -212,45 +201,32 @@ var Toggle = /** @class */ (function (_super) {
|
|
|
212
201
|
_b[globalClasses.disabled] = !!disabled,
|
|
213
202
|
_b[this.styles.disableAnimation()] = disableAnimations,
|
|
214
203
|
_b));
|
|
204
|
+
var caption = null;
|
|
205
|
+
if (children) {
|
|
206
|
+
var captionClass = this.cx(this.getCaptionSizeClassName(), (_c = {},
|
|
207
|
+
_c[this.styles.caption(this.theme)] = true,
|
|
208
|
+
_c[this.styles.captionLeft(this.theme)] = captionPosition === 'left',
|
|
209
|
+
_c[this.styles.disabledCaption(this.theme)] = !!disabled,
|
|
210
|
+
_c));
|
|
211
|
+
caption = React.createElement("span", { className: captionClass }, children);
|
|
212
|
+
}
|
|
215
213
|
return (React.createElement(CommonWrapper, __assign({ rootNodeRef: this.setRootNode }, this.props),
|
|
216
214
|
React.createElement("label", { "data-tid": ToggleDataTids.root, className: labelClassNames },
|
|
217
|
-
React.createElement("div", { className: this.cx(this.getButtonSizeClassName(), (
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
215
|
+
React.createElement("div", { className: this.cx(this.getButtonSizeClassName(), (_d = {},
|
|
216
|
+
_d[this.styles.button(this.theme)] = true,
|
|
217
|
+
_d[this.styles.buttonRight()] = captionPosition === 'left',
|
|
218
|
+
_d[this.styles.isWarning(this.theme)] = !!warning,
|
|
219
|
+
_d[this.styles.isError(this.theme)] = !!error,
|
|
220
|
+
_d[this.styles.focused(this.theme)] = !disabled && !!this.state.focusByTab,
|
|
221
|
+
_d)) },
|
|
224
222
|
React.createElement(FocusControlWrapper, { onBlurWhenDisabled: this.resetFocus },
|
|
225
223
|
React.createElement("input", { type: "checkbox", checked: checked, onChange: this.handleChange, className: this.cx(this.getInputSizeClassName(), this.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 })),
|
|
226
224
|
React.createElement("div", { className: containerClassNames }),
|
|
227
|
-
React.createElement("div", { className: this.cx(this.getHandleSizeClassName(), globalClasses.handle, (
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
(comment ? (React.createElement("div", { className: this.cx(this.styles.captionWrapper(), (_e = {},
|
|
233
|
-
_e[this.styles.captionWrapperGap(this.theme)] = captionPosition !== 'left',
|
|
234
|
-
_e[this.styles.captionWrapperGapLeft(this.theme)] = captionPosition === 'left',
|
|
235
|
-
_e)) },
|
|
236
|
-
this.renderCaption(disabled, captionPosition, true),
|
|
237
|
-
this.renderComment(disabled))) : (this.renderCaption(disabled, captionPosition, false))))));
|
|
238
|
-
};
|
|
239
|
-
Toggle.prototype.renderCaption = function (disabled, captionPosition, noGap) {
|
|
240
|
-
var _a;
|
|
241
|
-
var captionClass = this.cx(this.getCaptionSizeClassName(), (_a = {},
|
|
242
|
-
_a[this.styles.caption(this.theme)] = true,
|
|
243
|
-
_a[this.styles.captionLeft(this.theme)] = captionPosition === 'left',
|
|
244
|
-
_a[this.styles.disabledCaption(this.theme)] = !!disabled,
|
|
245
|
-
_a[this.styles.captionNoGap()] = noGap,
|
|
246
|
-
_a));
|
|
247
|
-
return React.createElement("div", { className: captionClass }, this.props.children);
|
|
248
|
-
};
|
|
249
|
-
Toggle.prototype.renderComment = function (disabled) {
|
|
250
|
-
var _a;
|
|
251
|
-
return (React.createElement("div", { className: this.cx(this.styles.subcaption(this.theme), this.getSubcaptionSizeClassName(), (_a = {},
|
|
252
|
-
_a[this.styles.subcaptionDisabled(this.theme)] = !!disabled,
|
|
253
|
-
_a)) }, this.props.comment));
|
|
225
|
+
React.createElement("div", { className: this.cx(this.getHandleSizeClassName(), globalClasses.handle, (_e = {},
|
|
226
|
+
_e[this.styles.handle(this.theme)] = true,
|
|
227
|
+
_e[this.styles.handleDisabled(this.theme)] = disabled,
|
|
228
|
+
_e)) })),
|
|
229
|
+
caption)));
|
|
254
230
|
};
|
|
255
231
|
Toggle.prototype.isUncontrolled = function () {
|
|
256
232
|
return this.props.checked === undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","sourceRoot":"","sources":["Toggle.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, InputHTMLAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport { KeyListener } from '../../lib/events/keyListener.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getStyles, globalClasses } from './Toggle.styles.js';\n\nexport interface ToggleProps\n extends\n Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>,\n CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Расположение названия относительно переключателя.\n * @default 'right' */\n captionPosition?: 'left' | 'right';\n\n /** Включает тогл.\n * @default false */\n checked?: boolean;\n\n /** Делает тогл включенным по умолчанию. Не работает, если задан проп `checked`. */\n defaultChecked?: boolean;\n\n /** Блокирует тогл. */\n disabled?: boolean;\n\n /** Событие изменения значения. */\n onValueChange?: (value: boolean) => void;\n\n /** Событие клика на тогл. */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n\n /** Переводит тогл в состояние предупреждения.\n * @default false */\n warning?: boolean;\n\n /** Переводит тогл в состояние ошибки.\n * @default false */\n error?: boolean;\n\n /** Переводит тогл в состояние загрузки: добавляет стили для состояния `loading` и отключает тогл.*/\n loading?: boolean;\n\n /** Устанавливает фокус на тогл после окончания загрузки страницы.\n * @default false */\n autoFocus?: boolean;\n\n /** Размер тогла. */\n size?: SizeProp;\n\n /** Событие получения тоглом фокуса.*/\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Событие потери тоглом фокуса. */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Задаёт второстепенный пояснительный текст под основным текстом тогла. */\n comment?: React.ReactNode;\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<Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations'>>;\n\n/**\n * Тогл переключает состояния. Например, включает или отключает уведомления в настройках.\n * Состоит из надписи и переключателя.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n };\n private size!: SizeProp;\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private styles!: ReturnType<typeof getStyles>;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private globalObject!: GlobalObject;\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private keyListener!: KeyListener;\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 this.keyListener = new KeyListener(this.globalObject);\n if (this.props.autoFocus) {\n this.keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\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.size) {\n case 'large':\n return this.styles.containerLarge(this.theme);\n case 'medium':\n return this.styles.containerMedium(this.theme);\n case 'small':\n default:\n return this.styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.handleLarge(this.theme);\n case 'medium':\n return this.styles.handleMedium(this.theme);\n case 'small':\n default:\n return this.styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.buttonLarge(this.theme);\n case 'medium':\n return this.styles.buttonMedium(this.theme);\n case 'small':\n default:\n return this.styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge(this.theme);\n case 'medium':\n return this.styles.rootMedium(this.theme);\n case 'small':\n default:\n return this.styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.inputLarge(this.theme);\n case 'medium':\n return this.styles.inputMedium(this.theme);\n case 'small':\n default:\n return this.styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.captionLarge(this.theme);\n case 'medium':\n return this.styles.captionMedium(this.theme);\n case 'small':\n default:\n return this.styles.captionSmall(this.theme);\n }\n }\n\n private getSubcaptionSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.subcaptionLarge(this.theme);\n case 'medium':\n return this.styles.subcaptionMedium(this.theme);\n case 'small':\n default:\n return this.styles.subcaptionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const {\n children,\n warning,\n error,\n id,\n name,\n comment,\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 = this.cx(this.getContainerSizeClassName(), {\n [this.styles.container(this.theme)]: true,\n [this.styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = this.cx(this.getRootSizeClassName(), {\n [this.styles.root(this.theme)]: true,\n [this.styles.rootLeft()]: captionPosition === 'left',\n [this.styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [this.styles.disableAnimation()]: disableAnimations,\n });\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={this.cx(this.getButtonSizeClassName(), {\n [this.styles.button(this.theme)]: true,\n [this.styles.buttonRight()]: captionPosition === 'left',\n [this.styles.isWarning(this.theme)]: !!warning,\n [this.styles.isError(this.theme)]: !!error,\n [this.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={this.cx(this.getInputSizeClassName(), this.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={this.cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [this.styles.handle(this.theme)]: true,\n [this.styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {children &&\n (comment ? (\n <div\n className={this.cx(this.styles.captionWrapper(), {\n [this.styles.captionWrapperGap(this.theme)]: captionPosition !== 'left',\n [this.styles.captionWrapperGapLeft(this.theme)]: captionPosition === 'left',\n })}\n >\n {this.renderCaption(disabled, captionPosition, true)}\n {this.renderComment(disabled)}\n </div>\n ) : (\n this.renderCaption(disabled, captionPosition, false)\n ))}\n </label>\n </CommonWrapper>\n );\n }\n\n private renderCaption(disabled: boolean, captionPosition: 'left' | 'right', noGap: boolean) {\n const captionClass = this.cx(this.getCaptionSizeClassName(), {\n [this.styles.caption(this.theme)]: true,\n [this.styles.captionLeft(this.theme)]: captionPosition === 'left',\n [this.styles.disabledCaption(this.theme)]: !!disabled,\n [this.styles.captionNoGap()]: noGap,\n });\n\n return <div className={captionClass}>{this.props.children}</div>;\n }\n\n private renderComment(disabled: boolean) {\n return (\n <div\n className={this.cx(this.styles.subcaption(this.theme), this.getSubcaptionSizeClassName(), {\n [this.styles.subcaptionDisabled(this.theme)]: !!disabled,\n })}\n >\n {this.props.comment}\n </div>\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 (this.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"]}
|
|
1
|
+
{"version":3,"file":"Toggle.js","sourceRoot":"","sources":["Toggle.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, InputHTMLAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport { KeyListener } from '../../lib/events/keyListener.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getStyles, globalClasses } from './Toggle.styles.js';\n\nexport interface ToggleProps\n extends\n Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'name'>,\n CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Расположение названия относительно переключателя.\n * @default 'right' */\n captionPosition?: 'left' | 'right';\n\n /** Включает тогл.\n * @default false */\n checked?: boolean;\n\n /** Делает тогл включенным по умолчанию. Не работает, если задан проп `checked`. */\n defaultChecked?: boolean;\n\n /** Блокирует тогл. */\n disabled?: boolean;\n\n /** Событие изменения значения. */\n onValueChange?: (value: boolean) => void;\n\n /** Событие клика на тогл. */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n\n /** Переводит тогл в состояние предупреждения.\n * @default false */\n warning?: boolean;\n\n /** Переводит тогл в состояние ошибки.\n * @default false */\n error?: boolean;\n\n /** Переводит тогл в состояние загрузки: добавляет стили для состояния `loading` и отключает тогл.*/\n loading?: boolean;\n\n /** Устанавливает фокус на тогл после окончания загрузки страницы.\n * @default false */\n autoFocus?: boolean;\n\n /** Размер тогла. */\n size?: SizeProp;\n\n /** Событие получения тоглом фокуса.*/\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n\n /** Событие потери тоглом фокуса. */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\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<Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations'>>;\n\n/**\n * Тогл переключает состояния. Например, включает или отключает уведомления в настройках.\n * Состоит из надписи и переключателя.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n public static displayName = 'Toggle';\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n };\n private size!: SizeProp;\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private styles!: ReturnType<typeof getStyles>;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private globalObject!: GlobalObject;\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private keyListener!: KeyListener;\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 this.keyListener = new KeyListener(this.globalObject);\n if (this.props.autoFocus) {\n this.keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\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.size) {\n case 'large':\n return this.styles.containerLarge(this.theme);\n case 'medium':\n return this.styles.containerMedium(this.theme);\n case 'small':\n default:\n return this.styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.handleLarge(this.theme);\n case 'medium':\n return this.styles.handleMedium(this.theme);\n case 'small':\n default:\n return this.styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.buttonLarge(this.theme);\n case 'medium':\n return this.styles.buttonMedium(this.theme);\n case 'small':\n default:\n return this.styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge(this.theme);\n case 'medium':\n return this.styles.rootMedium(this.theme);\n case 'small':\n default:\n return this.styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.inputLarge(this.theme);\n case 'medium':\n return this.styles.inputMedium(this.theme);\n case 'small':\n default:\n return this.styles.inputSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.captionLarge(this.theme);\n case 'medium':\n return this.styles.captionMedium(this.theme);\n case 'small':\n default:\n return this.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 = this.cx(this.getContainerSizeClassName(), {\n [this.styles.container(this.theme)]: true,\n [this.styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = this.cx(this.getRootSizeClassName(), {\n [this.styles.root(this.theme)]: true,\n [this.styles.rootLeft()]: captionPosition === 'left',\n [this.styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [this.styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = this.cx(this.getCaptionSizeClassName(), {\n [this.styles.caption(this.theme)]: true,\n [this.styles.captionLeft(this.theme)]: captionPosition === 'left',\n [this.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={this.cx(this.getButtonSizeClassName(), {\n [this.styles.button(this.theme)]: true,\n [this.styles.buttonRight()]: captionPosition === 'left',\n [this.styles.isWarning(this.theme)]: !!warning,\n [this.styles.isError(this.theme)]: !!error,\n [this.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={this.cx(this.getInputSizeClassName(), this.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={this.cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [this.styles.handle(this.theme)]: true,\n [this.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 (this.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"]}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export declare const toggleSizeMixin: (fontSize: string, toggleHeight: string, toggleWidth: string) => string;
|
|
2
2
|
export declare const buttonSizeMixin: (labGrotesqueBaselineCompensation: string, fontSize: string, toggleHeight: string, toggleWidth: string, toggleBorderRadius: string, toggleButtonOffsetY: string) => string;
|
|
3
3
|
export declare const captionSizeMixin: (fontSize: string, toggleHeight: string) => string;
|
|
4
|
-
export declare const subcaptionMixin: (fontSize: string, lineHeight: string) => string;
|
|
5
|
-
export declare const disabledTextColorMixin: (textColor: string) => string;
|
|
6
4
|
export declare const handleMixin: (toggleHandleSize: string, toggleHandleBorderRadius: string) => string;
|
|
7
5
|
export declare const containerSizeMixin: (toggleBorderRadius: string) => string;
|
|
8
6
|
export declare const inputSizeMixin: (toggleHeight: string, toggleWidth: string) => string;
|
|
@@ -12,12 +12,6 @@ export var buttonSizeMixin = function (labGrotesqueBaselineCompensation, fontSiz
|
|
|
12
12
|
export var captionSizeMixin = function (fontSize, toggleHeight) {
|
|
13
13
|
return "\n line-height: ".concat(toggleHeight, ";\n font-size: ").concat(fontSize, ";\n ");
|
|
14
14
|
};
|
|
15
|
-
export var subcaptionMixin = function (fontSize, lineHeight) {
|
|
16
|
-
return "\n font-size: ".concat(fontSize, ";\n line-height: ").concat(lineHeight, ";\n ");
|
|
17
|
-
};
|
|
18
|
-
export var disabledTextColorMixin = function (textColor) {
|
|
19
|
-
return "\n color: ".concat(textColor, ";\n ");
|
|
20
|
-
};
|
|
21
15
|
export var handleMixin = function (toggleHandleSize, toggleHandleBorderRadius) {
|
|
22
16
|
return "\n border-radius: ".concat(toggleHandleBorderRadius, ";\n height: ").concat(toggleHandleSize, ";\n width: ").concat(toggleHandleSize, ";\n ");
|
|
23
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.mixins.js","sourceRoot":"","sources":["Toggle.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,QAAgB,EAAE,YAAoB,EAAE,WAAmB;IACzF,OAAO,6BACU,YAAY,+BACd,QAAQ,gDAGV,WAAW,iBAEvB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,gCAAwC,EACxC,QAAgB,EAChB,YAAoB,EACpB,WAAmB,EACnB,kBAA0B,EAC1B,mBAA2B;IAE3B,IAAM,yBAAyB,GAAG,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7E,IAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAM,oBAAoB,GAAG,cAAc,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,OAAO,wBACK,YAAY,2BACb,WAAW,8BACR,WAAW,qCAEN,kBAAkB,iCACpB,YAAY,uCAER,mBAAmB,gBAAM,oBAAoB,aACjE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,QAAgB,EAAE,YAAoB;IACrE,OAAO,6BACU,YAAY,+BACd,QAAQ,UACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,
|
|
1
|
+
{"version":3,"file":"Toggle.mixins.js","sourceRoot":"","sources":["Toggle.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,QAAgB,EAAE,YAAoB,EAAE,WAAmB;IACzF,OAAO,6BACU,YAAY,+BACd,QAAQ,gDAGV,WAAW,iBAEvB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,gCAAwC,EACxC,QAAgB,EAChB,YAAoB,EACpB,WAAmB,EACnB,kBAA0B,EAC1B,mBAA2B;IAE3B,IAAM,yBAAyB,GAAG,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7E,IAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAM,oBAAoB,GAAG,cAAc,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,OAAO,wBACK,YAAY,2BACb,WAAW,8BACR,WAAW,qCAEN,kBAAkB,iCACpB,YAAY,uCAER,mBAAmB,gBAAM,oBAAoB,aACjE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,QAAgB,EAAE,YAAoB;IACrE,OAAO,6BACU,YAAY,+BACd,QAAQ,UACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,gBAAwB,EAAE,wBAAgC;IACpF,OAAO,+BACY,wBAAwB,4BAC/B,gBAAgB,2BACjB,gBAAgB,UAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,kBAA0B;IAC3D,OAAO,+BACY,kBAAkB,UACpC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,YAAoB,EAAE,WAAmB;IACtE,IAAM,sBAAsB,GAAG,YAAY,CAAC;IAC5C,IAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACtC,OAAO,6BACU,aAAa,CAAC,iBAAiB,eAAK,aAAa,CAAC,UAAU,sCACxD,MAAM,GAAG,GAAG,oBAAU,MAAM,GAAG,GAAG,0CAEtC,aAAa,CAAC,MAAM,6CACT,WAAW,2BAAiB,sBAAsB,kBAE7E,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { isChrome } from '../../lib/client.js';\nimport { globalClasses } from './Toggle.classes.js';\n\nexport const toggleSizeMixin = (fontSize: string, toggleHeight: string, toggleWidth: string): string => {\n return `\n line-height: ${toggleHeight};\n font-size: ${fontSize};\n\n &::before {\n width: ${toggleWidth};\n }\n `;\n};\n\nexport const buttonSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n toggleHeight: string,\n toggleWidth: string,\n toggleBorderRadius: string,\n toggleButtonOffsetY: string,\n): string => {\n const labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);\n const buttonFontSize = parseInt(fontSize);\n const baselineCompensation = buttonFontSize <= 16 && isChrome ? -labGrotesqueCompenstation : 0;\n return `\n height: ${toggleHeight};\n width: ${toggleWidth};\n flex: 1 0 ${toggleWidth};\n\n border-radius: ${toggleBorderRadius};\n line-height: ${toggleHeight};\n\n margin-top: calc(${toggleButtonOffsetY} + ${baselineCompensation}px);\n `;\n};\n\nexport const captionSizeMixin = (fontSize: string, toggleHeight: string): string => {\n return `\n line-height: ${toggleHeight};\n font-size: ${fontSize};\n `;\n};\n\nexport const handleMixin = (toggleHandleSize: string, toggleHandleBorderRadius: string): string => {\n return `\n border-radius: ${toggleHandleBorderRadius};\n height: ${toggleHandleSize};\n width: ${toggleHandleSize};\n `;\n};\n\nexport const containerSizeMixin = (toggleBorderRadius: string): string => {\n return `\n border-radius: ${toggleBorderRadius};\n `;\n};\n\nexport const inputSizeMixin = (toggleHeight: string, toggleWidth: string): string => {\n const handleWidthWithBorders = toggleHeight;\n const height = parseInt(toggleHeight);\n return `\n &:checked ~ .${globalClasses.containerDisabled} .${globalClasses.background} {\n border-radius: ${height * 0.5}px 0 0 ${height * 0.5}px;\n }\n &:checked ~ .${globalClasses.handle} {\n transform: translateX(${toggleWidth}) translateX(-${handleWidthWithBorders});\n }\n `;\n};\n"]}
|
|
@@ -37,13 +37,4 @@ export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGet
|
|
|
37
37
|
captionLarge(t: Theme): string;
|
|
38
38
|
disabledCaption(t: Theme): string;
|
|
39
39
|
captionLeft(t: Theme): string;
|
|
40
|
-
captionWrapper(): string;
|
|
41
|
-
captionWrapperGap(t: Theme): string;
|
|
42
|
-
captionWrapperGapLeft(t: Theme): string;
|
|
43
|
-
captionNoGap(): string;
|
|
44
|
-
subcaption(t: Theme): string;
|
|
45
|
-
subcaptionDisabled(t: Theme): string;
|
|
46
|
-
subcaptionSmall(t: Theme): string;
|
|
47
|
-
subcaptionMedium(t: Theme): string;
|
|
48
|
-
subcaptionLarge(t: Theme): string;
|
|
49
40
|
}>;
|
|
@@ -4,7 +4,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
4
4
|
};
|
|
5
5
|
import { memoizeGetStyles } from '../../lib/theming/Emotion.js';
|
|
6
6
|
import { globalClasses } from './Toggle.classes.js';
|
|
7
|
-
import { buttonSizeMixin, captionSizeMixin, containerSizeMixin,
|
|
7
|
+
import { buttonSizeMixin, captionSizeMixin, containerSizeMixin, handleMixin, inputSizeMixin, toggleSizeMixin, } from './Toggle.mixins.js';
|
|
8
8
|
export { globalClasses };
|
|
9
9
|
export var getStyles = memoizeGetStyles(function (_a) {
|
|
10
10
|
var css = _a.css;
|
|
@@ -114,34 +114,7 @@ export var getStyles = memoizeGetStyles(function (_a) {
|
|
|
114
114
|
captionLeft: function (t) {
|
|
115
115
|
return css(templateObject_35 || (templateObject_35 = __makeTemplateObject(["\n color: ", ";\n padding: 0 ", " 0 0;\n "], ["\n color: ", ";\n padding: 0 ", " 0 0;\n "])), t.toggleTextColor, t.toggleCaptionGap);
|
|
116
116
|
},
|
|
117
|
-
captionWrapper: function () {
|
|
118
|
-
return css(templateObject_36 || (templateObject_36 = __makeTemplateObject(["\n display: inline-block;\n "], ["\n display: inline-block;\n "])));
|
|
119
|
-
},
|
|
120
|
-
captionWrapperGap: function (t) {
|
|
121
|
-
return css(templateObject_37 || (templateObject_37 = __makeTemplateObject(["\n padding: 0 0 0 ", ";\n "], ["\n padding: 0 0 0 ", ";\n "])), t.toggleCaptionGap);
|
|
122
|
-
},
|
|
123
|
-
captionWrapperGapLeft: function (t) {
|
|
124
|
-
return css(templateObject_38 || (templateObject_38 = __makeTemplateObject(["\n padding: 0 ", " 0 0;\n "], ["\n padding: 0 ", " 0 0;\n "])), t.toggleCaptionGap);
|
|
125
|
-
},
|
|
126
|
-
captionNoGap: function () {
|
|
127
|
-
return css(templateObject_39 || (templateObject_39 = __makeTemplateObject(["\n padding: 0;\n "], ["\n padding: 0;\n "])));
|
|
128
|
-
},
|
|
129
|
-
subcaption: function (t) {
|
|
130
|
-
return css(templateObject_40 || (templateObject_40 = __makeTemplateObject(["\n margin-top: 2px;\n color: ", ";\n "], ["\n margin-top: 2px;\n color: ", ";\n "])), t.toggleCommentTextColor);
|
|
131
|
-
},
|
|
132
|
-
subcaptionDisabled: function (t) {
|
|
133
|
-
return css(templateObject_41 || (templateObject_41 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), disabledTextColorMixin(t.textColorDisabled));
|
|
134
|
-
},
|
|
135
|
-
subcaptionSmall: function (t) {
|
|
136
|
-
return css(templateObject_42 || (templateObject_42 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), subcaptionMixin(t.toggleCommentFontSizeSmall, t.toggleCommentLineHeightSmall));
|
|
137
|
-
},
|
|
138
|
-
subcaptionMedium: function (t) {
|
|
139
|
-
return css(templateObject_43 || (templateObject_43 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), subcaptionMixin(t.toggleCommentFontSizeMedium, t.toggleCommentLineHeightMedium));
|
|
140
|
-
},
|
|
141
|
-
subcaptionLarge: function (t) {
|
|
142
|
-
return css(templateObject_44 || (templateObject_44 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), subcaptionMixin(t.toggleCommentFontSizeLarge, t.toggleCommentLineHeightLarge));
|
|
143
|
-
},
|
|
144
117
|
});
|
|
145
118
|
});
|
|
146
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32, templateObject_33, templateObject_34, templateObject_35
|
|
119
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32, templateObject_33, templateObject_34, templateObject_35;
|
|
147
120
|
//# sourceMappingURL=Toggle.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.styles.js","sourceRoot":"","sources":["Toggle.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { globalClasses } from './Toggle.classes.js';\nimport {\n buttonSizeMixin,\n captionSizeMixin,\n containerSizeMixin,\n disabledTextColorMixin,\n handleMixin,\n inputSizeMixin,\n subcaptionMixin,\n toggleSizeMixin,\n} from './Toggle.mixins.js';\n\nexport { globalClasses };\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n return css`\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n\n &:hover .${globalClasses.handle} {\n background: ${t.toggleBgHover};\n }\n `;\n },\n rootSmall(t: Theme) {\n return css`\n ${toggleSizeMixin(t.toggleFontSizeSmall, t.toggleHeightSmall, t.toggleWidthSmall)};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${toggleSizeMixin(t.toggleFontSizeMedium, t.toggleHeightMedium, t.toggleWidthMedium)};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${toggleSizeMixin(t.toggleFontSizeLarge, t.toggleHeightLarge, t.toggleWidthLarge)};\n `;\n },\n\n disableAnimation() {\n return css`\n &,\n * {\n transition: none !important;\n }\n `;\n },\n\n handle(t: Theme) {\n return css`\n bottom: ${t.toggleBorderWidth};\n left: ${t.toggleHandleLeft};\n position: absolute;\n top: ${t.toggleHandleTop};\n `;\n },\n handleSmall(t: Theme) {\n return css`\n ${handleMixin(t.toggleHandleSizeSmall, t.toggleHandleBorderRadiusSmall)};\n `;\n },\n handleMedium(t: Theme) {\n return css`\n ${handleMixin(t.toggleHandleSizeMedium, t.toggleHandleBorderRadiusMedium)};\n `;\n },\n handleLarge(t: Theme) {\n return css`\n ${handleMixin(t.toggleHandleSizeLarge, t.toggleHandleBorderRadiusLarge)};\n `;\n },\n\n handleDisabled(t: Theme) {\n return css`\n background: ${t.toggleDisabledHandleBg} !important; // override root hover/active styles\n `;\n },\n\n input(t: Theme) {\n return css`\n position: absolute;\n opacity: 0;\n\n &:enabled {\n ~ .${globalClasses.container}, ~ .${globalClasses.handle} {\n transition: 0.2s ease-in;\n }\n :not(:checked) {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBg};\n box-shadow: ${t.toggleContainerBoxShadow};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBg};\n box-shadow: ${t.toggleHandleBoxShadow};\n }\n }\n :checked {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgChecked};\n box-shadow: ${t.toggleContainerBoxShadowChecked};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgChecked};\n box-shadow: ${t.toggleHandleBoxShadowChecked};\n }\n }\n }\n &:enabled:hover {\n :not(:checked) {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgHover};\n box-shadow: ${t.toggleContainerBoxShadowHover};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgHover};\n box-shadow: ${t.toggleHandleBoxShadowHover};\n }\n }\n :checked {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgCheckedHover};\n box-shadow: ${t.toggleContainerBoxShadowCheckedHover};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgCheckedHover};\n box-shadow: ${t.toggleHandleBoxShadowCheckedHover};\n }\n }\n }\n &:disabled {\n :not(:checked) {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgDisabled};\n box-shadow: ${t.toggleContainerBoxShadowDisabled};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgDisabled} !important;\n box-shadow: ${t.toggleHandleBoxShadowDisabled};\n }\n }\n :checked {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgDisabledChecked};\n box-shadow: ${t.toggleContainerBoxShadowDisabledChecked};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgDisabledChecked} !important;\n box-shadow: ${t.toggleHandleBoxShadowDisabledChecked};\n }\n }\n }\n `;\n },\n inputSmall(t: Theme) {\n return css`\n ${inputSizeMixin(t.toggleHeightSmall, t.toggleWidthSmall)};\n `;\n },\n inputMedium(t: Theme) {\n return css`\n ${inputSizeMixin(t.toggleHeightMedium, t.toggleWidthMedium)};\n `;\n },\n inputLarge(t: Theme) {\n return css`\n ${inputSizeMixin(t.toggleHeightLarge, t.toggleWidthLarge)};\n `;\n },\n\n container(t: Theme) {\n return css`\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 containerSmall(t: Theme) {\n return css`\n ${containerSizeMixin(t.toggleBorderRadiusSmall)};\n `;\n },\n containerMedium(t: Theme) {\n return css`\n ${containerSizeMixin(t.toggleBorderRadiusMedium)};\n `;\n },\n containerLarge(t: Theme) {\n return css`\n ${containerSizeMixin(t.toggleBorderRadiusLarge)};\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:\n 0 0 0 1px ${t.toggleOutlineColorFocus},\n 0 0 0 ${t.toggleOutlineWidth} ${t.toggleFocusShadowColor};\n `;\n },\n\n isWarning(t: Theme) {\n return css`\n box-shadow:\n 0 0 0 1px ${t.toggleOutlineColorFocus},\n 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorWarning};\n `;\n },\n\n isError(t: Theme) {\n return css`\n box-shadow:\n 0 0 0 1px ${t.toggleOutlineColorFocus},\n 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorError};\n `;\n },\n\n button(t: Theme) {\n return css`\n position: absolute;\n left: 0;\n top: 0;\n background: ${t.toggleBaseBg};\n line-height: ${t.toggleHeightSmall};\n `;\n },\n buttonSmall(t: Theme) {\n return css`\n ${buttonSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.toggleFontSizeSmall,\n t.toggleHeightSmall,\n t.toggleWidthSmall,\n t.toggleBorderRadiusSmall,\n t.toggleButtonOffsetY,\n )};\n `;\n },\n buttonMedium(t: Theme) {\n return css`\n ${buttonSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.toggleFontSizeMedium,\n t.toggleHeightMedium,\n t.toggleWidthMedium,\n t.toggleBorderRadiusMedium,\n t.toggleButtonOffsetY,\n )};\n `;\n },\n buttonLarge(t: Theme) {\n return css`\n ${buttonSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.toggleFontSizeLarge,\n t.toggleHeightLarge,\n t.toggleWidthLarge,\n t.toggleBorderRadiusLarge,\n t.toggleButtonOffsetY,\n )};\n `;\n },\n\n buttonRight() {\n return css`\n right: 0;\n left: auto;\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 captionSmall(t: Theme) {\n return css`\n ${captionSizeMixin(t.toggleFontSizeSmall, t.toggleHeightSmall)};\n `;\n },\n captionMedium(t: Theme) {\n return css`\n ${captionSizeMixin(t.toggleFontSizeMedium, t.toggleHeightMedium)};\n `;\n },\n captionLarge(t: Theme) {\n return css`\n ${captionSizeMixin(t.toggleFontSizeLarge, t.toggleHeightLarge)};\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 captionWrapper() {\n return css`\n display: inline-block;\n `;\n },\n\n captionWrapperGap(t: Theme) {\n return css`\n padding: 0 0 0 ${t.toggleCaptionGap};\n `;\n },\n\n captionWrapperGapLeft(t: Theme) {\n return css`\n padding: 0 ${t.toggleCaptionGap} 0 0;\n `;\n },\n\n captionNoGap() {\n return css`\n padding: 0;\n `;\n },\n\n subcaption(t: Theme) {\n return css`\n margin-top: 2px;\n color: ${t.toggleCommentTextColor};\n `;\n },\n\n subcaptionDisabled(t: Theme) {\n return css`\n ${disabledTextColorMixin(t.textColorDisabled)};\n `;\n },\n\n subcaptionSmall(t: Theme) {\n return css`\n ${subcaptionMixin(t.toggleCommentFontSizeSmall, t.toggleCommentLineHeightSmall)};\n `;\n },\n subcaptionMedium(t: Theme) {\n return css`\n ${subcaptionMixin(t.toggleCommentFontSizeMedium, t.toggleCommentLineHeightMedium)};\n `;\n },\n subcaptionLarge(t: Theme) {\n return css`\n ${subcaptionMixin(t.toggleCommentFontSizeLarge, t.toggleCommentLineHeightLarge)};\n `;\n },\n}));\n"]}
|
|
1
|
+
{"version":3,"file":"Toggle.styles.js","sourceRoot":"","sources":["Toggle.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { globalClasses } from './Toggle.classes.js';\nimport {\n buttonSizeMixin,\n captionSizeMixin,\n containerSizeMixin,\n handleMixin,\n inputSizeMixin,\n toggleSizeMixin,\n} from './Toggle.mixins.js';\n\nexport { globalClasses };\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n return css`\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n\n &:hover .${globalClasses.handle} {\n background: ${t.toggleBgHover};\n }\n `;\n },\n rootSmall(t: Theme) {\n return css`\n ${toggleSizeMixin(t.toggleFontSizeSmall, t.toggleHeightSmall, t.toggleWidthSmall)};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${toggleSizeMixin(t.toggleFontSizeMedium, t.toggleHeightMedium, t.toggleWidthMedium)};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${toggleSizeMixin(t.toggleFontSizeLarge, t.toggleHeightLarge, t.toggleWidthLarge)};\n `;\n },\n\n disableAnimation() {\n return css`\n &,\n * {\n transition: none !important;\n }\n `;\n },\n\n handle(t: Theme) {\n return css`\n bottom: ${t.toggleBorderWidth};\n left: ${t.toggleHandleLeft};\n position: absolute;\n top: ${t.toggleHandleTop};\n `;\n },\n handleSmall(t: Theme) {\n return css`\n ${handleMixin(t.toggleHandleSizeSmall, t.toggleHandleBorderRadiusSmall)};\n `;\n },\n handleMedium(t: Theme) {\n return css`\n ${handleMixin(t.toggleHandleSizeMedium, t.toggleHandleBorderRadiusMedium)};\n `;\n },\n handleLarge(t: Theme) {\n return css`\n ${handleMixin(t.toggleHandleSizeLarge, t.toggleHandleBorderRadiusLarge)};\n `;\n },\n\n handleDisabled(t: Theme) {\n return css`\n background: ${t.toggleDisabledHandleBg} !important; // override root hover/active styles\n `;\n },\n\n input(t: Theme) {\n return css`\n position: absolute;\n opacity: 0;\n\n &:enabled {\n ~ .${globalClasses.container}, ~ .${globalClasses.handle} {\n transition: 0.2s ease-in;\n }\n :not(:checked) {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBg};\n box-shadow: ${t.toggleContainerBoxShadow};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBg};\n box-shadow: ${t.toggleHandleBoxShadow};\n }\n }\n :checked {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgChecked};\n box-shadow: ${t.toggleContainerBoxShadowChecked};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgChecked};\n box-shadow: ${t.toggleHandleBoxShadowChecked};\n }\n }\n }\n &:enabled:hover {\n :not(:checked) {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgHover};\n box-shadow: ${t.toggleContainerBoxShadowHover};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgHover};\n box-shadow: ${t.toggleHandleBoxShadowHover};\n }\n }\n :checked {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgCheckedHover};\n box-shadow: ${t.toggleContainerBoxShadowCheckedHover};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgCheckedHover};\n box-shadow: ${t.toggleHandleBoxShadowCheckedHover};\n }\n }\n }\n &:disabled {\n :not(:checked) {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgDisabled};\n box-shadow: ${t.toggleContainerBoxShadowDisabled};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgDisabled} !important;\n box-shadow: ${t.toggleHandleBoxShadowDisabled};\n }\n }\n :checked {\n ~ .${globalClasses.container} {\n background: ${t.toggleContainerBgDisabledChecked};\n box-shadow: ${t.toggleContainerBoxShadowDisabledChecked};\n }\n ~ .${globalClasses.handle} {\n background: ${t.toggleHandleBgDisabledChecked} !important;\n box-shadow: ${t.toggleHandleBoxShadowDisabledChecked};\n }\n }\n }\n `;\n },\n inputSmall(t: Theme) {\n return css`\n ${inputSizeMixin(t.toggleHeightSmall, t.toggleWidthSmall)};\n `;\n },\n inputMedium(t: Theme) {\n return css`\n ${inputSizeMixin(t.toggleHeightMedium, t.toggleWidthMedium)};\n `;\n },\n inputLarge(t: Theme) {\n return css`\n ${inputSizeMixin(t.toggleHeightLarge, t.toggleWidthLarge)};\n `;\n },\n\n container(t: Theme) {\n return css`\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 containerSmall(t: Theme) {\n return css`\n ${containerSizeMixin(t.toggleBorderRadiusSmall)};\n `;\n },\n containerMedium(t: Theme) {\n return css`\n ${containerSizeMixin(t.toggleBorderRadiusMedium)};\n `;\n },\n containerLarge(t: Theme) {\n return css`\n ${containerSizeMixin(t.toggleBorderRadiusLarge)};\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:\n 0 0 0 1px ${t.toggleOutlineColorFocus},\n 0 0 0 ${t.toggleOutlineWidth} ${t.toggleFocusShadowColor};\n `;\n },\n\n isWarning(t: Theme) {\n return css`\n box-shadow:\n 0 0 0 1px ${t.toggleOutlineColorFocus},\n 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorWarning};\n `;\n },\n\n isError(t: Theme) {\n return css`\n box-shadow:\n 0 0 0 1px ${t.toggleOutlineColorFocus},\n 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorError};\n `;\n },\n\n button(t: Theme) {\n return css`\n position: absolute;\n left: 0;\n top: 0;\n background: ${t.toggleBaseBg};\n line-height: ${t.toggleHeightSmall};\n `;\n },\n buttonSmall(t: Theme) {\n return css`\n ${buttonSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.toggleFontSizeSmall,\n t.toggleHeightSmall,\n t.toggleWidthSmall,\n t.toggleBorderRadiusSmall,\n t.toggleButtonOffsetY,\n )};\n `;\n },\n buttonMedium(t: Theme) {\n return css`\n ${buttonSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.toggleFontSizeMedium,\n t.toggleHeightMedium,\n t.toggleWidthMedium,\n t.toggleBorderRadiusMedium,\n t.toggleButtonOffsetY,\n )};\n `;\n },\n buttonLarge(t: Theme) {\n return css`\n ${buttonSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.toggleFontSizeLarge,\n t.toggleHeightLarge,\n t.toggleWidthLarge,\n t.toggleBorderRadiusLarge,\n t.toggleButtonOffsetY,\n )};\n `;\n },\n\n buttonRight() {\n return css`\n right: 0;\n left: auto;\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 captionSmall(t: Theme) {\n return css`\n ${captionSizeMixin(t.toggleFontSizeSmall, t.toggleHeightSmall)};\n `;\n },\n captionMedium(t: Theme) {\n return css`\n ${captionSizeMixin(t.toggleFontSizeMedium, t.toggleHeightMedium)};\n `;\n },\n captionLarge(t: Theme) {\n return css`\n ${captionSizeMixin(t.toggleFontSizeLarge, t.toggleHeightLarge)};\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"]}
|
|
@@ -94,6 +94,7 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
|
|
|
94
94
|
private size;
|
|
95
95
|
private sizeVariables;
|
|
96
96
|
private hoverTimeout;
|
|
97
|
+
private clickTimeout;
|
|
97
98
|
private contentElement;
|
|
98
99
|
private clickedOutside;
|
|
99
100
|
getRootNode: TGetRootNode;
|
|
@@ -129,6 +130,7 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
|
|
|
129
130
|
private open;
|
|
130
131
|
private close;
|
|
131
132
|
private clearHoverTimeout;
|
|
133
|
+
private clearClickTimeout;
|
|
132
134
|
private handleMouseEnter;
|
|
133
135
|
private handleMouseLeave;
|
|
134
136
|
private handleClick;
|
|
@@ -157,11 +157,24 @@ var Tooltip = /** @class */ (function (_super) {
|
|
|
157
157
|
}
|
|
158
158
|
};
|
|
159
159
|
_this.handleClick = function () {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
160
|
+
var _a, _b;
|
|
161
|
+
var toggleOpenState = function () {
|
|
162
|
+
if (_this.isMobileLayout && _this.state.opened) {
|
|
163
|
+
_this.close();
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
_this.open();
|
|
167
|
+
};
|
|
168
|
+
if (_this.isMobileLayout) {
|
|
169
|
+
// Don't lose change event of Checkbox/RadioGroup/Toggle on mobile tap
|
|
170
|
+
_this.clickTimeout = (_b = (_a = _this.globalObject).requestAnimationFrame) === null || _b === void 0 ? void 0 : _b.call(_a, function () {
|
|
171
|
+
_this.clickTimeout = null;
|
|
172
|
+
toggleOpenState();
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
toggleOpenState();
|
|
163
177
|
}
|
|
164
|
-
_this.open();
|
|
165
178
|
};
|
|
166
179
|
_this.handleClickOutsideAnchor = function (event) {
|
|
167
180
|
_this.clickedOutside = _this.isClickOutsideContent(event);
|
|
@@ -266,6 +279,7 @@ var Tooltip = /** @class */ (function (_super) {
|
|
|
266
279
|
};
|
|
267
280
|
Tooltip.prototype.componentWillUnmount = function () {
|
|
268
281
|
this.clearHoverTimeout();
|
|
282
|
+
this.clearClickTimeout();
|
|
269
283
|
};
|
|
270
284
|
Tooltip.prototype.render = function () {
|
|
271
285
|
var _this = this;
|
|
@@ -424,6 +438,13 @@ var Tooltip = /** @class */ (function (_super) {
|
|
|
424
438
|
this.hoverTimeout = null;
|
|
425
439
|
}
|
|
426
440
|
};
|
|
441
|
+
Tooltip.prototype.clearClickTimeout = function () {
|
|
442
|
+
var _a, _b;
|
|
443
|
+
if (this.clickTimeout) {
|
|
444
|
+
(_b = (_a = this.globalObject).cancelAnimationFrame) === null || _b === void 0 ? void 0 : _b.call(_a, this.clickTimeout);
|
|
445
|
+
this.clickTimeout = null;
|
|
446
|
+
}
|
|
447
|
+
};
|
|
427
448
|
Tooltip.prototype.isClickOutsideContent = function (event) {
|
|
428
449
|
if (this.contentElement && isInstanceOf(event.target, this.globalObject.Element)) {
|
|
429
450
|
return !containsTargetOrRenderContainer(event.target)(this.contentElement);
|