@skbkontur/react-ui 6.1.7 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/components/Checkbox/Checkbox.d.ts +5 -0
- package/components/Checkbox/Checkbox.js +42 -21
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.mixins.d.ts +2 -0
- package/components/Checkbox/Checkbox.mixins.js +6 -0
- package/components/Checkbox/Checkbox.mixins.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +7 -0
- package/components/Checkbox/Checkbox.styles.js +23 -2
- package/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/components/FileUploader/FileUploaderFile.js +3 -1
- package/components/FileUploader/FileUploaderFile.js.map +1 -1
- package/components/FileUploader/locale/locales/en.js +1 -0
- package/components/FileUploader/locale/locales/en.js.map +1 -1
- package/components/FileUploader/locale/locales/ru.js +1 -0
- package/components/FileUploader/locale/locales/ru.js.map +1 -1
- package/components/FileUploader/locale/types.d.ts +1 -0
- package/components/FileUploader/locale/types.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +1 -1
- package/components/FxInput/FxInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +6 -2
- package/components/MaskedInput/MaskedInput.js +10 -126
- package/components/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInputLegacy.d.ts +3 -0
- package/components/MaskedInput/MaskedInputLegacy.js +142 -0
- package/components/MaskedInput/MaskedInputLegacy.js.map +1 -0
- package/components/MaskedInput/index.d.ts +1 -0
- package/components/MaskedInput/index.js +1 -0
- package/components/MaskedInput/index.js.map +1 -1
- package/components/MaskedInputV2/MaskedInputV2.d.ts +62 -0
- package/components/MaskedInputV2/MaskedInputV2.helpers.d.ts +9 -0
- package/components/MaskedInputV2/MaskedInputV2.helpers.js +17 -0
- package/components/MaskedInputV2/MaskedInputV2.helpers.js.map +1 -0
- package/components/MaskedInputV2/MaskedInputV2.js +307 -0
- package/components/MaskedInputV2/MaskedInputV2.js.map +1 -0
- package/components/MaskedInputV2/MaskedInputV2.phone.d.ts +28 -0
- package/components/MaskedInputV2/MaskedInputV2.phone.js +38 -0
- package/components/MaskedInputV2/MaskedInputV2.phone.js.map +1 -0
- package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +7 -0
- package/components/MaskedInputV2/MaskedInputV2.styles.js +19 -0
- package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -0
- package/components/MaskedInputV2/index.d.ts +2 -0
- package/components/MaskedInputV2/index.js +3 -0
- package/components/MaskedInputV2/index.js.map +1 -0
- package/components/MaskedInputV2/internal/MaskOverlay.d.ts +19 -0
- package/components/MaskedInputV2/internal/MaskOverlay.js +54 -0
- package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -0
- package/components/MaskedInputV2/internal/MaskedCore.d.ts +8 -0
- package/components/MaskedInputV2/internal/MaskedCore.js +186 -0
- package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -0
- package/components/MaskedInputV2/internal/MaskedCore.types.d.ts +37 -0
- package/components/MaskedInputV2/internal/MaskedCore.types.js +2 -0
- package/components/MaskedInputV2/internal/MaskedCore.types.js.map +1 -0
- package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +15 -0
- package/components/MaskedInputV2/internal/MaskedInternal.styles.js +34 -0
- package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -0
- package/components/MaskedInputV2/internal/buildSlotMap.d.ts +11 -0
- package/components/MaskedInputV2/internal/buildSlotMap.js +37 -0
- package/components/MaskedInputV2/internal/buildSlotMap.js.map +1 -0
- package/components/MaskedInputV2/internal/computeMaskAlignPadding.d.ts +6 -0
- package/components/MaskedInputV2/internal/computeMaskAlignPadding.js +47 -0
- package/components/MaskedInputV2/internal/computeMaskAlignPadding.js.map +1 -0
- package/components/MaskedInputV2/internal/computePasteMaskedCursor.d.ts +3 -0
- package/components/MaskedInputV2/internal/computePasteMaskedCursor.js +11 -0
- package/components/MaskedInputV2/internal/computePasteMaskedCursor.js.map +1 -0
- package/components/MaskedInputV2/internal/extractRaw.d.ts +10 -0
- package/components/MaskedInputV2/internal/extractRaw.js +16 -0
- package/components/MaskedInputV2/internal/extractRaw.js.map +1 -0
- package/components/MaskedInputV2/internal/findNearestRawLeft.d.ts +10 -0
- package/components/MaskedInputV2/internal/findNearestRawLeft.js +18 -0
- package/components/MaskedInputV2/internal/findNearestRawLeft.js.map +1 -0
- package/components/MaskedInputV2/internal/helpers.d.ts +8 -0
- package/components/MaskedInputV2/internal/helpers.js +9 -0
- package/components/MaskedInputV2/internal/helpers.js.map +1 -0
- package/components/MaskedInputV2/internal/maskedCoreClipboard.d.ts +37 -0
- package/components/MaskedInputV2/internal/maskedCoreClipboard.js +52 -0
- package/components/MaskedInputV2/internal/maskedCoreClipboard.js.map +1 -0
- package/components/MaskedInputV2/internal/maskedCoreDeletion.d.ts +28 -0
- package/components/MaskedInputV2/internal/maskedCoreDeletion.js +70 -0
- package/components/MaskedInputV2/internal/maskedCoreDeletion.js.map +1 -0
- package/components/MaskedInputV2/internal/maskedCoreInputChange.d.ts +38 -0
- package/components/MaskedInputV2/internal/maskedCoreInputChange.js +49 -0
- package/components/MaskedInputV2/internal/maskedCoreInputChange.js.map +1 -0
- package/components/MaskedInputV2/internal/maskedCoreNavigation.d.ts +13 -0
- package/components/MaskedInputV2/internal/maskedCoreNavigation.js +79 -0
- package/components/MaskedInputV2/internal/maskedCoreNavigation.js.map +1 -0
- package/components/MaskedInputV2/internal/measureInputTextWidth.d.ts +2 -0
- package/components/MaskedInputV2/internal/measureInputTextWidth.js +30 -0
- package/components/MaskedInputV2/internal/measureInputTextWidth.js.map +1 -0
- package/components/MaskedInputV2/internal/setMaskInputSelectionRange.d.ts +2 -0
- package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js +25 -0
- package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js.map +1 -0
- package/components/MaskedInputV2/internal/showOverlay.d.ts +3 -0
- package/components/MaskedInputV2/internal/showOverlay.js +16 -0
- package/components/MaskedInputV2/internal/showOverlay.js.map +1 -0
- package/components/MaskedInputV2/internal/stripMaskChars.d.ts +11 -0
- package/components/MaskedInputV2/internal/stripMaskChars.js +20 -0
- package/components/MaskedInputV2/internal/stripMaskChars.js.map +1 -0
- package/components/MaskedInputV2/internal/types.d.ts +74 -0
- package/components/MaskedInputV2/internal/types.js +2 -0
- package/components/MaskedInputV2/internal/types.js.map +1 -0
- package/components/MaskedInputV2/internal/useInputOverflow.d.ts +4 -0
- package/components/MaskedInputV2/internal/useInputOverflow.js +34 -0
- package/components/MaskedInputV2/internal/useInputOverflow.js.map +1 -0
- package/components/MaskedInputV2/internal/useMaskAlignPadding.d.ts +2 -0
- package/components/MaskedInputV2/internal/useMaskAlignPadding.js +33 -0
- package/components/MaskedInputV2/internal/useMaskAlignPadding.js.map +1 -0
- package/components/MaskedInputV2/internal/useMaskEngine.d.ts +42 -0
- package/components/MaskedInputV2/internal/useMaskEngine.js +128 -0
- package/components/MaskedInputV2/internal/useMaskEngine.js.map +1 -0
- package/components/MaskedInputV2/internal/useMaskedCoreHandlers.d.ts +34 -0
- package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js +335 -0
- package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.d.ts +16 -0
- package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js +59 -0
- package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.d.ts +20 -0
- package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js +106 -0
- package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/controls/input-history.d.ts +17 -0
- package/components/MaskedInputV2/react-imask/imask/controls/input-history.js +49 -0
- package/components/MaskedInputV2/react-imask/imask/controls/input-history.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/controls/input.d.ts +95 -0
- package/components/MaskedInputV2/react-imask/imask/controls/input.js +420 -0
- package/components/MaskedInputV2/react-imask/imask/controls/input.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/controls/mask-element.d.ts +30 -0
- package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js +59 -0
- package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/core/action-details.d.ts +30 -0
- package/components/MaskedInputV2/react-imask/imask/core/action-details.js +100 -0
- package/components/MaskedInputV2/react-imask/imask/core/action-details.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/core/change-details.d.ts +20 -0
- package/components/MaskedInputV2/react-imask/imask/core/change-details.js +46 -0
- package/components/MaskedInputV2/react-imask/imask/core/change-details.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.d.ts +21 -0
- package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js +52 -0
- package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/core/holder.d.ts +34 -0
- package/components/MaskedInputV2/react-imask/imask/core/holder.js +38 -0
- package/components/MaskedInputV2/react-imask/imask/core/holder.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/core/tail-details.d.ts +20 -0
- package/components/MaskedInputV2/react-imask/imask/core/tail-details.js +2 -0
- package/components/MaskedInputV2/react-imask/imask/core/tail-details.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/core/utils.d.ts +24 -0
- package/components/MaskedInputV2/react-imask/imask/core/utils.js +100 -0
- package/components/MaskedInputV2/react-imask/imask/core/utils.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/imask.d.ts +5 -0
- package/components/MaskedInputV2/react-imask/imask/imask.js +7 -0
- package/components/MaskedInputV2/react-imask/imask/imask.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/index.d.ts +17 -0
- package/components/MaskedInputV2/react-imask/imask/index.js +16 -0
- package/components/MaskedInputV2/react-imask/imask/index.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/base.d.ts +114 -0
- package/components/MaskedInputV2/react-imask/imask/masked/base.js +411 -0
- package/components/MaskedInputV2/react-imask/imask/masked/base.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/create.d.ts +14 -0
- package/components/MaskedInputV2/react-imask/imask/masked/create.js +11 -0
- package/components/MaskedInputV2/react-imask/imask/masked/create.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/factory.d.ts +62 -0
- package/components/MaskedInputV2/react-imask/imask/masked/factory.js +107 -0
- package/components/MaskedInputV2/react-imask/imask/masked/factory.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/pattern.d.ts +101 -0
- package/components/MaskedInputV2/react-imask/imask/masked/pattern.js +549 -0
- package/components/MaskedInputV2/react-imask/imask/masked/pattern.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.d.ts +30 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js +2 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.d.ts +20 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js +182 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.d.ts +31 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js +163 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.d.ts +42 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js +158 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.d.ts +56 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js +185 -0
- package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js.map +1 -0
- package/components/MaskedInputV2/react-imask/imask/masked/regexp.d.ts +17 -0
- package/components/MaskedInputV2/react-imask/imask/masked/regexp.js +36 -0
- package/components/MaskedInputV2/react-imask/imask/masked/regexp.js.map +1 -0
- package/components/MaskedInputV2/react-imask/index.d.ts +3 -0
- package/components/MaskedInputV2/react-imask/index.js +4 -0
- package/components/MaskedInputV2/react-imask/index.js.map +1 -0
- package/components/MaskedInputV2/react-imask/input.d.ts +8 -0
- package/components/MaskedInputV2/react-imask/input.js +35 -0
- package/components/MaskedInputV2/react-imask/input.js.map +1 -0
- package/components/MaskedInputV2/react-imask/mixin.d.ts +31 -0
- package/components/MaskedInputV2/react-imask/mixin.js +246 -0
- package/components/MaskedInputV2/react-imask/mixin.js.map +1 -0
- package/components/Radio/Radio.d.ts +4 -0
- package/components/Radio/Radio.js +20 -1
- package/components/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.mixins.d.ts +2 -0
- package/components/Radio/Radio.mixins.js +6 -0
- package/components/Radio/Radio.mixins.js.map +1 -1
- package/components/Radio/Radio.styles.d.ts +6 -0
- package/components/Radio/Radio.styles.js +22 -4
- package/components/Radio/Radio.styles.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +5 -0
- package/components/Toggle/Toggle.js +46 -22
- package/components/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.mixins.d.ts +2 -0
- package/components/Toggle/Toggle.mixins.js +6 -0
- package/components/Toggle/Toggle.mixins.js.map +1 -1
- package/components/Toggle/Toggle.styles.d.ts +9 -0
- package/components/Toggle/Toggle.styles.js +29 -2
- package/components/Toggle/Toggle.styles.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +32 -1
- package/internal/themes/BasicTheme.js +164 -1
- package/internal/themes/BasicTheme.js.map +1 -1
- package/internal/themes/DarkTheme6_0.js +1 -0
- package/internal/themes/DarkTheme6_0.js.map +1 -1
- package/lib/events/keyboard/KeyboardEventCodes.d.ts +2 -0
- package/lib/events/keyboard/KeyboardEventCodes.js +2 -0
- package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
- package/lib/events/keyboard/KeyboardMapKeys.js +2 -0
- package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
- package/lib/events/keyboard/identifiers.d.ts +2 -0
- package/lib/events/keyboard/identifiers.js +6 -0
- package/lib/events/keyboard/identifiers.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/utils.d.ts +2 -1
- package/lib/utils.js +7 -4
- package/lib/utils.js.map +1 -1
- package/package.json +4 -1
|
@@ -181,9 +181,20 @@ 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
|
+
};
|
|
184
195
|
Toggle.prototype.renderMain = function () {
|
|
185
196
|
var _a, _b, _c, _d, _e;
|
|
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"];
|
|
197
|
+
var _f = this.props, children = _f.children, warning = _f.warning, error = _f.error, id = _f.id, name = _f.name, comment = _f.comment, ariaDescribedby = _f["aria-describedby"], ariaLabel = _f["aria-label"];
|
|
187
198
|
var _g = this.getProps(), loading = _g.loading, captionPosition = _g.captionPosition, disableAnimations = _g.disableAnimations;
|
|
188
199
|
var disabled = this.getProps().disabled || loading;
|
|
189
200
|
var checked = this.isUncontrolled() ? this.state.checked : this.props.checked;
|
|
@@ -201,32 +212,45 @@ var Toggle = /** @class */ (function (_super) {
|
|
|
201
212
|
_b[globalClasses.disabled] = !!disabled,
|
|
202
213
|
_b[this.styles.disableAnimation()] = disableAnimations,
|
|
203
214
|
_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
|
-
}
|
|
213
215
|
return (React.createElement(CommonWrapper, __assign({ rootNodeRef: this.setRootNode }, this.props),
|
|
214
216
|
React.createElement("label", { "data-tid": ToggleDataTids.root, className: labelClassNames },
|
|
215
|
-
React.createElement("div", { className: this.cx(this.getButtonSizeClassName(), (
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
217
|
+
React.createElement("div", { className: this.cx(this.getButtonSizeClassName(), (_c = {},
|
|
218
|
+
_c[this.styles.button(this.theme)] = true,
|
|
219
|
+
_c[this.styles.buttonRight()] = captionPosition === 'left',
|
|
220
|
+
_c[this.styles.isWarning(this.theme)] = !!warning,
|
|
221
|
+
_c[this.styles.isError(this.theme)] = !!error,
|
|
222
|
+
_c[this.styles.focused(this.theme)] = !disabled && !!this.state.focusByTab,
|
|
223
|
+
_c)) },
|
|
222
224
|
React.createElement(FocusControlWrapper, { onBlurWhenDisabled: this.resetFocus },
|
|
223
225
|
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 })),
|
|
224
226
|
React.createElement("div", { className: containerClassNames }),
|
|
225
|
-
React.createElement("div", { className: this.cx(this.getHandleSizeClassName(), globalClasses.handle, (
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
227
|
+
React.createElement("div", { className: this.cx(this.getHandleSizeClassName(), globalClasses.handle, (_d = {},
|
|
228
|
+
_d[this.styles.handle(this.theme)] = true,
|
|
229
|
+
_d[this.styles.handleDisabled(this.theme)] = disabled,
|
|
230
|
+
_d)) })),
|
|
231
|
+
children &&
|
|
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));
|
|
230
254
|
};
|
|
231
255
|
Toggle.prototype.isUncontrolled = function () {
|
|
232
256
|
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\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
|
+
{"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,6 +1,8 @@
|
|
|
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;
|
|
4
6
|
export declare const handleMixin: (toggleHandleSize: string, toggleHandleBorderRadius: string) => string;
|
|
5
7
|
export declare const containerSizeMixin: (toggleBorderRadius: string) => string;
|
|
6
8
|
export declare const inputSizeMixin: (toggleHeight: string, toggleWidth: string) => string;
|
|
@@ -12,6 +12,12 @@ 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
|
+
};
|
|
15
21
|
export var handleMixin = function (toggleHandleSize, toggleHandleBorderRadius) {
|
|
16
22
|
return "\n border-radius: ".concat(toggleHandleBorderRadius, ";\n height: ").concat(toggleHandleSize, ";\n width: ").concat(toggleHandleSize, ";\n ");
|
|
17
23
|
};
|
|
@@ -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,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"]}
|
|
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,eAAe,GAAG,UAAC,QAAgB,EAAE,UAAkB;IAClE,OAAO,2BACQ,QAAQ,iCACN,UAAU,UAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,SAAiB;IACtD,OAAO,uBACI,SAAS,UACnB,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 subcaptionMixin = (fontSize: string, lineHeight: string): string => {\n return `\n font-size: ${fontSize};\n line-height: ${lineHeight};\n `;\n};\n\nexport const disabledTextColorMixin = (textColor: string): string => {\n return `\n color: ${textColor};\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,4 +37,13 @@ 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;
|
|
40
49
|
}>;
|
|
@@ -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, handleMixin, inputSizeMixin, toggleSizeMixin, } from './Toggle.mixins.js';
|
|
7
|
+
import { buttonSizeMixin, captionSizeMixin, containerSizeMixin, disabledTextColorMixin, handleMixin, inputSizeMixin, subcaptionMixin, toggleSizeMixin, } from './Toggle.mixins.js';
|
|
8
8
|
export { globalClasses };
|
|
9
9
|
export var getStyles = memoizeGetStyles(function (_a) {
|
|
10
10
|
var css = _a.css;
|
|
@@ -114,7 +114,34 @@ 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
|
+
},
|
|
117
144
|
});
|
|
118
145
|
});
|
|
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;
|
|
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, templateObject_36, templateObject_37, templateObject_38, templateObject_39, templateObject_40, templateObject_41, templateObject_42, templateObject_43, templateObject_44;
|
|
120
147
|
//# sourceMappingURL=Toggle.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.styles.js","sourceRoot":"","sources":["Toggle.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,khBAAA,iaAeG,EAAoB,0BACf,EAAe,kBAEhC,KAHY,aAAa,CAAC,MAAM,EACf,CAAC,CAAC,aAAa,EAE/B;QACJ,CAAC;QACD,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,wFAAA,UACN,EAA+E,SAClF,KADG,eAAe,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,gBAAgB,CAAC,EACjF;QACJ,CAAC;QACD,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,wFAAA,UACN,EAAkF,SACrF,KADG,eAAe,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,iBAAiB,CAAC,EACpF;QACJ,CAAC;QACD,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,wFAAA,UACN,EAA+E,SAClF,KADG,eAAe,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,gBAAgB,CAAC,EACjF;QACJ,CAAC;QAED,gBAAgB;YACd,OAAO,GAAG,+IAAA,4EAKT,KAAC;QACJ,CAAC;QAED,MAAM,YAAC,CAAQ;YACb,OAAO,GAAG,gKAAA,kBACE,EAAmB,iBACrB,EAAkB,2CAEnB,EAAiB,SACzB,KAJW,CAAC,CAAC,iBAAiB,EACrB,CAAC,CAAC,gBAAgB,EAEnB,CAAC,CAAC,eAAe,EACxB;QACJ,CAAC;QACD,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,wFAAA,UACN,EAAqE,SACxE,KADG,WAAW,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,6BAA6B,CAAC,EACvE;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,wFAAA,UACN,EAAuE,SAC1E,KADG,WAAW,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,8BAA8B,CAAC,EACzE;QACJ,CAAC;QACD,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,wFAAA,UACN,EAAqE,SACxE,KADG,WAAW,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,6BAA6B,CAAC,EACvE;QACJ,CAAC;QAED,cAAc,YAAC,CAAQ;YACrB,OAAO,GAAG,sJAAA,sBACM,EAAwB,yDACvC,KADe,CAAC,CAAC,sBAAsB,EACtC;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,soDAAA,kFAKD,EAAuB,OAAQ,EAAoB,6FAIjD,EAAuB,8BACZ,EAAmB,6BACnB,EAA0B,+BAErC,EAAoB,8BACT,EAAgB,6BAChB,EAAuB,8DAIlC,EAAuB,8BACZ,EAA0B,6BAC1B,EAAiC,+BAE5C,EAAoB,8BACT,EAAuB,6BACvB,EAA8B,sGAMzC,EAAuB,8BACZ,EAAwB,6BACxB,EAA+B,+BAE1C,EAAoB,8BACT,EAAqB,6BACrB,EAA4B,8DAIvC,EAAuB,8BACZ,EAA+B,6BAC/B,EAAsC,+BAEjD,EAAoB,8BACT,EAA4B,6BAC5B,EAAmC,iGAM9C,EAAuB,8BACZ,EAA2B,6BAC3B,EAAkC,+BAE7C,EAAoB,8BACT,EAAwB,wCACxB,EAA+B,8DAI1C,EAAuB,8BACZ,EAAkC,6BAClC,EAAyC,+BAEpD,EAAoB,8BACT,EAA+B,wCAC/B,EAAsC,0CAI3D,KApEQ,aAAa,CAAC,SAAS,EAAQ,aAAa,CAAC,MAAM,EAIjD,aAAa,CAAC,SAAS,EACZ,CAAC,CAAC,iBAAiB,EACnB,CAAC,CAAC,wBAAwB,EAErC,aAAa,CAAC,MAAM,EACT,CAAC,CAAC,cAAc,EAChB,CAAC,CAAC,qBAAqB,EAIlC,aAAa,CAAC,SAAS,EACZ,CAAC,CAAC,wBAAwB,EAC1B,CAAC,CAAC,+BAA+B,EAE5C,aAAa,CAAC,MAAM,EACT,CAAC,CAAC,qBAAqB,EACvB,CAAC,CAAC,4BAA4B,EAMzC,aAAa,CAAC,SAAS,EACZ,CAAC,CAAC,sBAAsB,EACxB,CAAC,CAAC,6BAA6B,EAE1C,aAAa,CAAC,MAAM,EACT,CAAC,CAAC,mBAAmB,EACrB,CAAC,CAAC,0BAA0B,EAIvC,aAAa,CAAC,SAAS,EACZ,CAAC,CAAC,6BAA6B,EAC/B,CAAC,CAAC,oCAAoC,EAEjD,aAAa,CAAC,MAAM,EACT,CAAC,CAAC,0BAA0B,EAC5B,CAAC,CAAC,iCAAiC,EAM9C,aAAa,CAAC,SAAS,EACZ,CAAC,CAAC,yBAAyB,EAC3B,CAAC,CAAC,gCAAgC,EAE7C,aAAa,CAAC,MAAM,EACT,CAAC,CAAC,sBAAsB,EACxB,CAAC,CAAC,6BAA6B,EAI1C,aAAa,CAAC,SAAS,EACZ,CAAC,CAAC,gCAAgC,EAClC,CAAC,CAAC,uCAAuC,EAEpD,aAAa,CAAC,MAAM,EACT,CAAC,CAAC,6BAA6B,EAC/B,CAAC,CAAC,oCAAoC,EAI1D;QACJ,CAAC;QACD,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,0FAAA,UACN,EAAuD,SAC1D,KADG,cAAc,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,gBAAgB,CAAC,EACzD;QACJ,CAAC;QACD,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,0FAAA,UACN,EAAyD,SAC5D,KADG,cAAc,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC3D;QACJ,CAAC;QACD,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,0FAAA,UACN,EAAuD,SAC1D,KADG,cAAc,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,gBAAgB,CAAC,EACzD;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,kUAAA,kCACkB,EAAmB,GAAI,EAAmB,oNAOrE,KAP2B,CAAC,CAAC,iBAAiB,EAAI,CAAC,CAAC,iBAAiB,EAOpE;QACJ,CAAC;QACD,cAAc,YAAC,CAAQ;YACrB,OAAO,GAAG,0FAAA,UACN,EAA6C,SAChD,KADG,kBAAkB,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAC/C;QACJ,CAAC;QACD,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,0FAAA,UACN,EAA8C,SACjD,KADG,kBAAkB,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAChD;QACJ,CAAC;QACD,cAAc,YAAC,CAAQ;YACrB,OAAO,GAAG,0FAAA,UACN,EAA6C,SAChD,KADG,kBAAkB,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAC/C;QACJ,CAAC;QAED,iBAAiB,YAAC,CAAQ;YACxB,OAAO,GAAG,+IAAA,sBACM,EAAkB,uCACF,EAA2B,SAC1D,KAFe,CAAC,CAAC,gBAAgB,EACF,CAAC,CAAC,yBAAyB,EACzD;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,mJAAA,yCAEM,EAAyB,mBAC7B,EAAoB,GAAI,EAAwB,SAC3D,KAFe,CAAC,CAAC,uBAAuB,EAC7B,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,sBAAsB,EAC1D;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,mJAAA,yCAEM,EAAyB,mBAC7B,EAAoB,GAAI,EAA0B,SAC7D,KAFe,CAAC,CAAC,uBAAuB,EAC7B,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAC5D;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,mJAAA,yCAEM,EAAyB,mBAC7B,EAAoB,GAAI,EAAwB,SAC3D,KAFe,CAAC,CAAC,uBAAuB,EAC7B,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,sBAAsB,EAC1D;QACJ,CAAC;QAED,MAAM,YAAC,CAAQ;YACb,OAAO,GAAG,0LAAA,gFAIM,EAAc,wBACb,EAAmB,SACnC,KAFe,CAAC,CAAC,YAAY,EACb,CAAC,CAAC,iBAAiB,EAClC;QACJ,CAAC;QACD,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,0FAAA,UACN,EAOD,SACF,KARG,eAAe,CACf,CAAC,CAAC,gCAAgC,EAClC,CAAC,CAAC,mBAAmB,EACrB,CAAC,CAAC,iBAAiB,EACnB,CAAC,CAAC,gBAAgB,EAClB,CAAC,CAAC,uBAAuB,EACzB,CAAC,CAAC,mBAAmB,CACtB,EACD;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,0FAAA,UACN,EAOD,SACF,KARG,eAAe,CACf,CAAC,CAAC,gCAAgC,EAClC,CAAC,CAAC,oBAAoB,EACtB,CAAC,CAAC,kBAAkB,EACpB,CAAC,CAAC,iBAAiB,EACnB,CAAC,CAAC,wBAAwB,EAC1B,CAAC,CAAC,mBAAmB,CACtB,EACD;QACJ,CAAC;QACD,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,0FAAA,UACN,EAOD,SACF,KARG,eAAe,CACf,CAAC,CAAC,gCAAgC,EAClC,CAAC,CAAC,mBAAmB,EACrB,CAAC,CAAC,iBAAiB,EACnB,CAAC,CAAC,gBAAgB,EAClB,CAAC,CAAC,uBAAuB,EACzB,CAAC,CAAC,mBAAmB,CACtB,EACD;QACJ,CAAC;QAED,WAAW;YACT,OAAO,GAAG,iHAAA,4CAGT,KAAC;QACJ,CAAC;QAED,QAAQ;YACN,OAAO,GAAG,qGAAA,gCAET,KAAC;QACJ,CAAC;QAED,QAAQ;YACN,OAAO,GAAG,iHAAA,4CAET,KAAC;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,6HAAA,iBACC,EAAiB,0BACT,EAAkB,SACpC,KAFU,CAAC,CAAC,eAAe,EACT,CAAC,CAAC,gBAAgB,EACnC;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,0FAAA,UACN,EAA4D,SAC/D,KADG,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC9D;QACJ,CAAC;QACD,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,0FAAA,UACN,EAA8D,SACjE,KADG,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChE;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,0FAAA,UACN,EAA4D,SAC/D,KADG,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC9D;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,iGAAA,iBACC,EAAmB,SAC7B,KADU,CAAC,CAAC,iBAAiB,EAC5B;QACJ,CAAC;QAED,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,6HAAA,iBACC,EAAiB,sBACb,EAAkB,aAChC,KAFU,CAAC,CAAC,eAAe,EACb,CAAC,CAAC,gBAAgB,EAC/B;QACJ,CAAC;KACF,CAAC;AAtU8D,CAsU9D,CAAC,CAAC","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"]}
|
|
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"]}
|
|
@@ -67,6 +67,13 @@ export declare class BasicThemeClass {
|
|
|
67
67
|
static mobileMediaQuery: string;
|
|
68
68
|
static transitionDuration: string;
|
|
69
69
|
static transitionTimingFunction: string;
|
|
70
|
+
static commentFontSizeSmall: string;
|
|
71
|
+
static commentFontSizeMedium: string;
|
|
72
|
+
static commentFontSizeLarge: string;
|
|
73
|
+
static commentLineHeightSmall: string;
|
|
74
|
+
static commentLineHeightMedium: string;
|
|
75
|
+
static commentLineHeightLarge: string;
|
|
76
|
+
static commentTextColor: string;
|
|
70
77
|
static linkColor: string;
|
|
71
78
|
static linkTextDecoration: string;
|
|
72
79
|
static linkHoverColor: string;
|
|
@@ -1067,6 +1074,13 @@ export declare class BasicThemeClass {
|
|
|
1067
1074
|
static toggleBgFocus: string;
|
|
1068
1075
|
static toggleCaptionGap: string;
|
|
1069
1076
|
static toggleButtonOffsetY: string;
|
|
1077
|
+
static get toggleCommentFontSizeSmall(): string;
|
|
1078
|
+
static get toggleCommentFontSizeMedium(): string;
|
|
1079
|
+
static get toggleCommentFontSizeLarge(): string;
|
|
1080
|
+
static get toggleCommentLineHeightSmall(): string;
|
|
1081
|
+
static get toggleCommentLineHeightMedium(): string;
|
|
1082
|
+
static get toggleCommentLineHeightLarge(): string;
|
|
1083
|
+
static get toggleCommentTextColor(): string;
|
|
1070
1084
|
static get toggleOutlineColorFocus(): string;
|
|
1071
1085
|
static toggleContainerBg: string;
|
|
1072
1086
|
static toggleHandleBg: string;
|
|
@@ -1179,6 +1193,13 @@ export declare class BasicThemeClass {
|
|
|
1179
1193
|
static checkboxBoxSizeMedium: string;
|
|
1180
1194
|
static checkboxBoxSizeLarge: string;
|
|
1181
1195
|
static checkboxCaptionGap: string;
|
|
1196
|
+
static get checkboxCommentFontSizeSmall(): string;
|
|
1197
|
+
static get checkboxCommentFontSizeMedium(): string;
|
|
1198
|
+
static get checkboxCommentFontSizeLarge(): string;
|
|
1199
|
+
static get checkboxCommentLineHeightSmall(): string;
|
|
1200
|
+
static get checkboxCommentLineHeightMedium(): string;
|
|
1201
|
+
static get checkboxCommentLineHeightLarge(): string;
|
|
1202
|
+
static get checkboxCommentTextColor(): string;
|
|
1182
1203
|
static get checkboxPaddingYSmall(): string;
|
|
1183
1204
|
static get checkboxPaddingYMedium(): string;
|
|
1184
1205
|
static get checkboxPaddingYLarge(): string;
|
|
@@ -1270,6 +1291,13 @@ export declare class BasicThemeClass {
|
|
|
1270
1291
|
static get radioLineHeightSmall(): string;
|
|
1271
1292
|
static get radioLineHeightMedium(): string;
|
|
1272
1293
|
static get radioLineHeightLarge(): string;
|
|
1294
|
+
static get radioCommentFontSizeSmall(): string;
|
|
1295
|
+
static get radioCommentFontSizeMedium(): string;
|
|
1296
|
+
static get radioCommentFontSizeLarge(): string;
|
|
1297
|
+
static get radioCommentLineHeightSmall(): string;
|
|
1298
|
+
static get radioCommentLineHeightMedium(): string;
|
|
1299
|
+
static get radioCommentLineHeightLarge(): string;
|
|
1300
|
+
static get radioCommentTextColor(): string;
|
|
1273
1301
|
static radioCaptionGap: string;
|
|
1274
1302
|
static get radioPaddingYSmall(): string;
|
|
1275
1303
|
static get radioPaddingYMedium(): string;
|
|
@@ -1295,6 +1323,9 @@ export declare class BasicThemeClass {
|
|
|
1295
1323
|
static get radioCheckedHoverBgColor(): string;
|
|
1296
1324
|
static get radioDisabledBg(): string;
|
|
1297
1325
|
static get radioDisabledShadow(): string;
|
|
1326
|
+
/**
|
|
1327
|
+
* @deprecated Не используется. Будет удалена в `7.0`.
|
|
1328
|
+
*/
|
|
1298
1329
|
static radioCaptionDisplay: string;
|
|
1299
1330
|
static radioBorderWidthCompensation: string;
|
|
1300
1331
|
static radioCircleOffsetY: string;
|
|
@@ -1489,7 +1520,7 @@ export declare class BasicThemeClass {
|
|
|
1489
1520
|
static fileUploaderWarningBgColor: string;
|
|
1490
1521
|
static fileUploaderWarningBgHoverColor: string;
|
|
1491
1522
|
static fileUploaderWarningTextColor: string;
|
|
1492
|
-
static fileUploaderValidationTextColor: string;
|
|
1523
|
+
static get fileUploaderValidationTextColor(): string;
|
|
1493
1524
|
static fileUploaderLinkHoverTextDecoration: string;
|
|
1494
1525
|
static fileUploaderHoveredBg: string;
|
|
1495
1526
|
static fileUploaderActiveBg: string;
|