@stenajs-webui/forms 14.1.1 → 15.0.0-alpha.10

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.
@@ -1,7 +1,8 @@
1
- import { FocusEventHandler, KeyboardEvent, KeyboardEventHandler, RefObject } from "react";
1
+ import { FocusEventHandler, KeyboardEventHandler, RefObject } from "react";
2
2
  export declare type MoveDirection = "right" | "left" | "down" | "up";
3
- export declare const useKeyboardNavigation: (ref: RefObject<HTMLInputElement>, onKeyDown: KeyboardEventHandler<HTMLInputElement> | undefined, onEnter: (() => void) | undefined, onEsc: (() => void) | undefined, onMove: ((direction: MoveDirection) => void) | undefined, onDone: ((value: string) => void) | undefined, onBlur: FocusEventHandler<HTMLInputElement> | undefined, onFocus: FocusEventHandler<HTMLInputElement> | undefined) => {
4
- onKeyDownHandler: (event: KeyboardEvent<HTMLInputElement>) => void;
5
- onBlurHandler: (event: import("react").FocusEvent<HTMLInputElement>) => void;
6
- onFocusHandler: (event: import("react").FocusEvent<HTMLInputElement>) => void;
3
+ export declare type TextInputElement = HTMLTextAreaElement | HTMLInputElement;
4
+ export declare const useKeyboardNavigation: <TElement extends TextInputElement>(ref: RefObject<TElement>, onKeyDown: KeyboardEventHandler<TElement> | undefined, onEnter: (() => void) | undefined, onEsc: (() => void) | undefined, onMove: ((direction: MoveDirection) => void) | undefined, onDone: ((value: string) => void) | undefined, onBlur: FocusEventHandler<TElement> | undefined, onFocus: FocusEventHandler<TElement> | undefined) => {
5
+ onKeyDownHandler: KeyboardEventHandler<TElement>;
6
+ onBlurHandler: FocusEventHandler<TElement>;
7
+ onFocusHandler: FocusEventHandler<TElement>;
7
8
  };
@@ -1,2 +1,4 @@
1
1
  import { RefObject } from "react";
2
- export declare const useSelectAllOnMount: (ref: RefObject<HTMLInputElement>, moveCursorToEnd: boolean, enabled: boolean) => void;
2
+ import { TextInputElement } from "./UseKeyboardNavigation";
3
+ export declare function elementHasSelectionRange(element: TextInputElement): boolean;
4
+ export declare const useSelectAllOnMount: (ref: RefObject<TextInputElement>, moveCursorToEnd: boolean, enabled: boolean) => void;
@@ -1,3 +1,30 @@
1
- import { ComponentPropsWithoutRef, RefObject } from "react";
2
- import { TextInputProps } from "../components/ui/text-input/TextInput";
3
- export declare const useTextInput: (ref: RefObject<HTMLInputElement>, { onEnter, onEsc, onChange, onValueChange, selectAllOnMount, moveCursorToEndOnMount, onDone, onMove, onFocus, onBlur, onKeyDown, autoFocus, }: TextInputProps) => ComponentPropsWithoutRef<"input">;
1
+ import { ChangeEvent, ChangeEventHandler, CSSProperties, FocusEventHandler, KeyboardEventHandler, RefObject } from "react";
2
+ import { TextInputVariant } from "../components/ui/text-input/TextInput";
3
+ import { MoveDirection, TextInputElement } from "./UseKeyboardNavigation";
4
+ import { FullOnChangeProps } from "../components/ui/types";
5
+ interface UseTextInputOptions<TElement extends TextInputElement> extends FullOnChangeProps<string, ChangeEvent<TElement>> {
6
+ wrapperStyle?: CSSProperties;
7
+ wrapperClassName?: string;
8
+ variant?: TextInputVariant;
9
+ hideBorder?: boolean;
10
+ selectAllOnMount?: boolean;
11
+ moveCursorToEndOnMount?: boolean;
12
+ onDone?: (value: string) => void;
13
+ onEnter?: () => void;
14
+ onEsc?: () => void;
15
+ autoFocus?: boolean;
16
+ /** onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab. */
17
+ onMove?: (direction: MoveDirection) => void;
18
+ onFocus?: FocusEventHandler<TElement>;
19
+ onBlur?: FocusEventHandler<TElement>;
20
+ onKeyDown?: KeyboardEventHandler<TElement>;
21
+ }
22
+ interface UseTextInputHookResult<TElement extends TextInputElement> {
23
+ autoFocus?: boolean;
24
+ onChange: ChangeEventHandler<TElement>;
25
+ onFocus: FocusEventHandler<TElement>;
26
+ onBlur: FocusEventHandler<TElement>;
27
+ onKeyDown: KeyboardEventHandler<TElement>;
28
+ }
29
+ export declare const useTextInput: <TElement extends TextInputElement>(ref: RefObject<TElement>, { onEnter, onEsc, onChange, onValueChange, selectAllOnMount, moveCursorToEndOnMount, onDone, onMove, onFocus, onBlur, onKeyDown, autoFocus, }: UseTextInputOptions<TElement>) => UseTextInputHookResult<TElement>;
30
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.es.js CHANGED
@@ -1,7 +1,8 @@
1
- import { createElement, forwardRef, useRef, useCallback, useEffect, Fragment, useMemo, useState } from 'react';
1
+ import * as React from 'react';
2
+ import { forwardRef, useRef, useCallback, useEffect, useMemo, useState } from 'react';
2
3
  import { Box, Space, Text, Row, parseFloatElseUndefined } from '@stenajs-webui/core';
3
4
  import cx$2 from 'classnames';
4
- import { InputSpinner, UpDownButtons } from '@stenajs-webui/elements';
5
+ import { FlatButton, InputSpinner, UpDownButtons } from '@stenajs-webui/elements';
5
6
  import { faCheck } from '@fortawesome/free-solid-svg-icons/faCheck';
6
7
  import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons/faExclamationTriangle';
7
8
  import classNames from 'classnames/bind';
@@ -74,32 +75,32 @@ function styleInject(css, ref) {
74
75
  }
75
76
  }
76
77
 
77
- var css_248z = ".Switch-module_switch__aK2ff {\n --swui-switch-width: 50px;\n --swui-switch-height: var(--swui-field-box-size-medium);\n --swui-switch-animation-time: var(--swui-animation-time-medium);\n --swui-switch-selected-highlight-color: var(--swui-primary-action-color);\n --swui-switch-knob-width: calc(var(--swui-switch-height) - 2px);\n /* Backgrounds */\n --swui-switch-knob-bg-color-enabled: var(--swui-handle-bg-enabled-color);\n --swui-switch-knob-bg-color-disabled: var(--swui-handle-bg-disabled-color);\n --swui-switch-container-bg-color-enabled: var(--swui-field-bg-enabled);\n --swui-switch-container-bg-color-disabled: var(--swui-field-bg-disabled);\n /* Borders */\n --swui-switch-knob-border-color-enabled: var(--swui-separator-color);\n --swui-switch-container-border-color: var(--swui-field-border-color);\n --swui-switch-container-border-color-hover: var(\n --swui-field-border-color-hover\n );\n --swui-switch-container-border-color-disabled: var(\n --swui-field-border-color-disabled\n );\n /* Shadow */\n --swui-switch-knob-shadow-color: var(--swui-field-shadow-color);\n\n display: -webkit-flex;\n\n display: flex;\n -webkit-flex-direction: row;\n flex-direction: row;\n border: 1px solid var(--swui-switch-container-border-color);\n box-sizing: border-box;\n background-color: var(--swui-switch-container-bg-color-enabled);\n height: var(--swui-switch-height);\n width: var(--swui-switch-width);\n border-radius: calc(var(--swui-switch-height) / 2);\n padding: 0;\n margin: 0;\n cursor: pointer;\n transition: background-color var(--swui-switch-animation-time);\n}\n\n .Switch-module_switch__aK2ff:focus {\n outline: 0;\n border: 1px solid var(--swui-switch-selected-highlight-color);\n box-shadow: inset var(--swui-switch-selected-highlight-color) 0 0 4px 0;\n }\n\n .Switch-module_switch__aK2ff:hover {\n border: 1px solid var(--swui-switch-selected-highlight-color);\n }\n\n .Switch-module_switch__aK2ff:disabled {\n cursor: default;\n background-color: var(--swui-switch-container-bg-color-disabled);\n border: 1px solid var(--swui-switch-container-border-color-disabled);\n }\n\n .Switch-module_switch__aK2ff:disabled .Switch-module_knob__1Kx4S {\n background-color: var(--swui-switch-knob-bg-color-disabled);\n }\n\n .Switch-module_switch__aK2ff .Switch-module_filler__184NF {\n -webkit-flex: none;\n flex: none;\n transition: -webkit-flex var(--swui-switch-animation-time);\n transition: flex var(--swui-switch-animation-time);\n transition: flex var(--swui-switch-animation-time), -webkit-flex var(--swui-switch-animation-time);\n }\n\n .Switch-module_switch__aK2ff .Switch-module_knob__1Kx4S {\n width: var(--swui-switch-knob-width);\n height: var(--swui-switch-knob-width);\n border-radius: 50%;\n background-color: var(--swui-switch-knob-bg-color-enabled);\n box-shadow: var(--swui-switch-knob-shadow-color) 0 0 4px 1px;\n }\n\n.Switch-module_checked__EgDKL {\n border: 1px solid var(--swui-switch-selected-highlight-color);\n background-color: var(--swui-switch-selected-highlight-color);\n}\n\n.Switch-module_checked__EgDKL .Switch-module_filler__184NF {\n -webkit-flex: 1;\n flex: 1;\n }\n";
78
- var styles = {"switch":"Switch-module_switch__aK2ff","knob":"Switch-module_knob__1Kx4S","filler":"Switch-module_filler__184NF","checked":"Switch-module_checked__EgDKL"};
79
- styleInject(css_248z);
78
+ var css_248z$5 = ".Switch-module_switch__aK2ff {\n --swui-switch-width: 50px;\n --swui-switch-height: var(--swui-field-box-size-medium);\n --swui-switch-animation-time: var(--swui-animation-time-medium);\n --swui-switch-selected-highlight-color: var(--swui-primary-action-color);\n --swui-switch-knob-width: calc(var(--swui-switch-height) - 2px);\n /* Backgrounds */\n --swui-switch-knob-bg-color-enabled: var(--swui-handle-bg-enabled-color);\n --swui-switch-knob-bg-color-disabled: var(--swui-handle-bg-disabled-color);\n --swui-switch-container-bg-color-enabled: var(--swui-field-bg-enabled);\n --swui-switch-container-bg-color-disabled: var(--swui-field-bg-disabled);\n /* Borders */\n --swui-switch-knob-border-color-enabled: var(--swui-separator-color);\n --swui-switch-container-border-color: var(--swui-field-border-color);\n --swui-switch-container-border-color-hover: var(\n --swui-field-border-color-hover\n );\n --swui-switch-container-border-color-disabled: var(\n --swui-field-border-color-disabled\n );\n /* Shadow */\n --swui-switch-knob-shadow-color: var(--swui-field-shadow-color);\n\n display: -webkit-flex;\n\n display: flex;\n -webkit-flex-direction: row;\n flex-direction: row;\n border: 1px solid var(--swui-switch-container-border-color);\n box-sizing: border-box;\n background-color: var(--swui-switch-container-bg-color-enabled);\n height: var(--swui-switch-height);\n width: var(--swui-switch-width);\n border-radius: calc(var(--swui-switch-height) / 2);\n padding: 0;\n margin: 0;\n cursor: pointer;\n transition: background-color var(--swui-switch-animation-time);\n}\n\n .Switch-module_switch__aK2ff:focus {\n outline: 0;\n border: 1px solid var(--swui-switch-selected-highlight-color);\n box-shadow: inset var(--swui-switch-selected-highlight-color) 0 0 4px 0;\n }\n\n .Switch-module_switch__aK2ff:hover {\n border: 1px solid var(--swui-switch-selected-highlight-color);\n }\n\n .Switch-module_switch__aK2ff:disabled {\n cursor: default;\n background-color: var(--swui-switch-container-bg-color-disabled);\n border: 1px solid var(--swui-switch-container-border-color-disabled);\n }\n\n .Switch-module_switch__aK2ff:disabled .Switch-module_knob__1Kx4S {\n background-color: var(--swui-switch-knob-bg-color-disabled);\n }\n\n .Switch-module_switch__aK2ff .Switch-module_filler__184NF {\n -webkit-flex: none;\n flex: none;\n transition: -webkit-flex var(--swui-switch-animation-time);\n transition: flex var(--swui-switch-animation-time);\n transition: flex var(--swui-switch-animation-time), -webkit-flex var(--swui-switch-animation-time);\n }\n\n .Switch-module_switch__aK2ff .Switch-module_knob__1Kx4S {\n width: var(--swui-switch-knob-width);\n height: var(--swui-switch-knob-width);\n border-radius: 50%;\n background-color: var(--swui-switch-knob-bg-color-enabled);\n box-shadow: var(--swui-switch-knob-shadow-color) 0 0 4px 1px;\n }\n\n.Switch-module_checked__EgDKL {\n border: 1px solid var(--swui-switch-selected-highlight-color);\n background-color: var(--swui-switch-selected-highlight-color);\n}\n\n.Switch-module_checked__EgDKL .Switch-module_filler__184NF {\n -webkit-flex: 1;\n flex: 1;\n }\n";
79
+ var styles$5 = {"switch":"Switch-module_switch__aK2ff","knob":"Switch-module_knob__1Kx4S","filler":"Switch-module_filler__184NF","checked":"Switch-module_checked__EgDKL"};
80
+ styleInject(css_248z$5);
80
81
 
81
- var styleChecked = styles.switch + " " + styles.checked;
82
+ var styleChecked = styles$5.switch + " " + styles$5.checked;
82
83
  var Switch = function (_a) {
83
84
  var value = _a.value, disabled = _a.disabled, onValueChange = _a.onValueChange, className = _a.className, wrapperRef = _a.wrapperRef, restProps = __rest(_a, ["value", "disabled", "onValueChange", "className", "wrapperRef"]);
84
- return (createElement("div", { className: className, ref: wrapperRef },
85
- createElement("button", __assign({ type: "button", role: "switch", "aria-checked": value, className: value ? styleChecked : styles.switch, disabled: disabled, onClick: function () { return onValueChange && onValueChange(!value); } }, restProps),
86
- createElement("div", { className: styles.filler }),
87
- createElement("div", { className: styles.knob }))));
85
+ return (React.createElement("div", { className: className, ref: wrapperRef },
86
+ React.createElement("button", __assign({ type: "button", role: "switch", "aria-checked": value, className: value ? styleChecked : styles$5.switch, disabled: disabled, onClick: function () { return onValueChange && onValueChange(!value); } }, restProps),
87
+ React.createElement("div", { className: styles$5.filler }),
88
+ React.createElement("div", { className: styles$5.knob }))));
88
89
  };
89
90
 
90
91
  var SwitchWithLabel = function (_a) {
91
92
  var label = _a.label, disabled = _a.disabled, textColor = _a.textColor, wrapperRef = _a.wrapperRef, switchProps = __rest(_a, ["label", "disabled", "textColor", "wrapperRef"]);
92
- return (createElement("div", { ref: wrapperRef },
93
- createElement("label", null,
94
- createElement(Box, { row: true, alignItems: "center" },
95
- createElement(Switch, __assign({ disabled: disabled }, switchProps)),
96
- createElement(Space, null),
97
- createElement(Text, { userSelect: "none", color: textColor }, label)))));
93
+ return (React.createElement("div", { ref: wrapperRef },
94
+ React.createElement("label", null,
95
+ React.createElement(Box, { row: true, alignItems: "center" },
96
+ React.createElement(Switch, __assign({ disabled: disabled }, switchProps)),
97
+ React.createElement(Space, null),
98
+ React.createElement(Text, { userSelect: "none", color: textColor }, label)))));
98
99
  };
99
100
 
100
- var css_248z$1 = ".Checkbox-module_checkbox__Ey0_E {\n --swui-checkbox-height: var(--swui-field-box-size-medium);\n --swui-checkbox-height-small: var(--swui-field-box-size-small);\n --swui-checkbox-border-radius: var(--swui-field-border-radius);\n --swui-checkbox-animation-time: var(--swui-animation-time-medium);\n /* Icon */\n --swui-checkbox-icon-color: var(--swui-field-indicator-active-color);\n --swui-checkbox-disabled-icon-color: var(--swui-field-border-color-disabled);\n --swui-checkbox-unchecked-icon-color: var(\n --swui-field-indicator-inactive-color\n );\n /* Background */\n --swui-checkbox-unchecked-bg-color: var(--swui-white);\n --swui-checkbox-checked-bg-color: var(--swui-primary-action-color);\n --swui-checkbox-disabled-bg-color: var(--swui-field-bg-disabled);\n --swui-checkbox-disabled-checked-bg-color: var(--swui-field-bg-disabled);\n /* Border */\n --swui-checkbox-border-color: var(--swui-field-border-color);\n --swui-checkbox-border-hover-color: var(--swui-field-border-color-hover);\n --swui-checkbox-disabled-border-color: var(\n --swui-field-border-color-disabled\n );\n /* Shadow */\n --swui-checkbox-checked-focus-shadow: var(--swui-field-focus-shadow-inverted);\n --swui-checkbox-unchecked-focus-shadow: var(--swui-field-focus-shadow);\n\n -webkit-appearance: none;\n -moz-appearance: none;\n border-radius: var(--swui-checkbox-border-radius);\n outline: none;\n display: inline-block;\n vertical-align: top;\n position: relative;\n margin: 0;\n cursor: pointer;\n border: 1px solid\n var(--current-border-color, var(--swui-checkbox-border-color));\n background: var(--current-bg-color, var(--swui-checkbox-unchecked-bg-color));\n transition: background var(--swui-checkbox-animation-time),\n border-color var(--swui-checkbox-animation-time),\n box-shadow var(--swui-checkbox-animation-time);\n -webkit-flex-shrink: 0;\n flex-shrink: 0;\n}\n\n .Checkbox-module_checkbox__Ey0_E.Checkbox-module_standard__1WgNJ {\n width: var(--swui-checkbox-height);\n height: var(--swui-checkbox-height);\n }\n\n .Checkbox-module_checkbox__Ey0_E.Checkbox-module_standard__1WgNJ:after {\n width: 3px;\n height: 6px;\n left: 9px;\n top: 6px;\n }\n\n .Checkbox-module_checkbox__Ey0_E.Checkbox-module_small__IGbRq {\n width: var(--swui-checkbox-height-small);\n height: var(--swui-checkbox-height-small);\n }\n\n .Checkbox-module_checkbox__Ey0_E.Checkbox-module_small__IGbRq:after {\n width: 3px;\n height: 6px;\n left: 5px;\n top: 2px;\n }\n\n .Checkbox-module_checkbox__Ey0_E:after {\n content: \"\";\n display: block;\n position: absolute;\n transition: opacity var(--swui-checkbox-animation-time),\n width var(--swui-checkbox-animation-time),\n top var(--swui-checkbox-animation-time),\n -webkit-transform var(--swui-checkbox-animation-time) var(--d-t-e, ease);\n transition: transform var(--swui-checkbox-animation-time) var(--d-t-e, ease),\n opacity var(--swui-checkbox-animation-time),\n width var(--swui-checkbox-animation-time),\n top var(--swui-checkbox-animation-time);\n transition: transform var(--swui-checkbox-animation-time) var(--d-t-e, ease),\n opacity var(--swui-checkbox-animation-time),\n width var(--swui-checkbox-animation-time),\n top var(--swui-checkbox-animation-time),\n -webkit-transform var(--swui-checkbox-animation-time) var(--d-t-e, ease);\n border: 2px solid\n var(\n --current-checkbox-icon-color,\n var(--swui-checkbox-unchecked-icon-color)\n );\n border-top: 0;\n border-left: 0;\n -webkit-transform: rotate(var(--current-check-rotation, 20deg));\n transform: rotate(var(--current-check-rotation, 20deg));\n box-sizing: content-box;\n }\n\n .Checkbox-module_checkbox__Ey0_E:checked {\n --current-check-rotation: 43deg;\n --current-bg-color: var(--swui-checkbox-checked-bg-color);\n --current-border-color: var(--swui-checkbox-checked-bg-color);\n --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2);\n }\n\n .Checkbox-module_checkbox__Ey0_E:checked:after {\n --current-checkbox-icon-color: var(--swui-checkbox-icon-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:not(:checked) {\n --current-bg-color: var(--swui-checkbox-disabled-bg-color);\n --current-border-color: var(--swui-checkbox-disabled-border-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:not(:checked):after {\n --current-checkbox-icon-color: --swui-checkbox-unchecked-icon-color;\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:checked {\n --current-bg-color: var(--swui-checkbox-disabled-checked-bg-color);\n --current-border-color: var(--swui-checkbox-disabled-border-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:checked:after {\n --current-checkbox-icon-color: var(--swui-checkbox-disabled-icon-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:checked + label {\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate {\n --current-check-rotation: 43deg;\n --current-bg-color: var(--swui-checkbox-checked-bg-color);\n --current-border-color: var(--swui-checkbox-checked-bg-color);\n --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2);\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate:after {\n --current-checkbox-icon-color: var(--swui-checkbox-icon-color);\n border-right: 0;\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n width: 6px;\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate.Checkbox-module_standard__1WgNJ:after {\n top: 4px;\n left: 8px;\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate.Checkbox-module_small__IGbRq:after {\n top: 0;\n left: 4px;\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate:disabled:after {\n --current-checkbox-icon-color: var(--swui-checkbox-disabled-icon-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:hover:not(:checked):not(:disabled) {\n --current-border-color: var(--swui-checkbox-border-hover-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:focus:checked {\n box-shadow: var(--swui-checkbox-checked-focus-shadow);\n }\n\n .Checkbox-module_checkbox__Ey0_E:focus:not(:checked) {\n box-shadow: var(--swui-checkbox-unchecked-focus-shadow);\n }\n\n .Checkbox-module_checkbox__Ey0_E + label {\n font-size: 14px;\n line-height: var(--swui-checkbox-height);\n display: inline-block;\n vertical-align: top;\n cursor: pointer;\n margin-left: 4px;\n }\n";
101
- var styles$1 = {"checkbox":"Checkbox-module_checkbox__Ey0_E","standard":"Checkbox-module_standard__1WgNJ","small":"Checkbox-module_small__IGbRq"};
102
- styleInject(css_248z$1);
101
+ var css_248z$4 = ".Checkbox-module_checkbox__Ey0_E {\n --swui-checkbox-height: var(--swui-field-box-size-medium);\n --swui-checkbox-height-small: var(--swui-field-box-size-small);\n --swui-checkbox-border-radius: var(--swui-field-border-radius);\n --swui-checkbox-animation-time: var(--swui-animation-time-medium);\n /* Icon */\n --swui-checkbox-icon-color: var(--swui-field-indicator-active-color);\n --swui-checkbox-disabled-icon-color: var(--swui-field-border-color-disabled);\n --swui-checkbox-unchecked-icon-color: var(\n --swui-field-indicator-inactive-color\n );\n /* Background */\n --swui-checkbox-unchecked-bg-color: var(--swui-white);\n --swui-checkbox-checked-bg-color: var(--swui-primary-action-color);\n --swui-checkbox-disabled-bg-color: var(--swui-field-bg-disabled);\n --swui-checkbox-disabled-checked-bg-color: var(--swui-field-bg-disabled);\n /* Border */\n --swui-checkbox-border-color: var(--swui-field-border-color);\n --swui-checkbox-border-hover-color: var(--swui-field-border-color-hover);\n --swui-checkbox-disabled-border-color: var(\n --swui-field-border-color-disabled\n );\n /* Shadow */\n --swui-checkbox-checked-focus-shadow: var(--swui-field-focus-shadow-inverted);\n --swui-checkbox-unchecked-focus-shadow: var(--swui-field-focus-shadow);\n\n -webkit-appearance: none;\n -moz-appearance: none;\n border-radius: var(--swui-checkbox-border-radius);\n outline: none;\n display: inline-block;\n vertical-align: top;\n position: relative;\n margin: 0;\n cursor: pointer;\n border: 1px solid\n var(--current-border-color, var(--swui-checkbox-border-color));\n background: var(--current-bg-color, var(--swui-checkbox-unchecked-bg-color));\n transition: background var(--swui-checkbox-animation-time),\n border-color var(--swui-checkbox-animation-time),\n box-shadow var(--swui-checkbox-animation-time);\n -webkit-flex-shrink: 0;\n flex-shrink: 0;\n}\n\n .Checkbox-module_checkbox__Ey0_E.Checkbox-module_standard__1WgNJ {\n width: var(--swui-checkbox-height);\n height: var(--swui-checkbox-height);\n }\n\n .Checkbox-module_checkbox__Ey0_E.Checkbox-module_standard__1WgNJ:after {\n width: 3px;\n height: 6px;\n left: 9px;\n top: 6px;\n }\n\n .Checkbox-module_checkbox__Ey0_E.Checkbox-module_small__IGbRq {\n width: var(--swui-checkbox-height-small);\n height: var(--swui-checkbox-height-small);\n }\n\n .Checkbox-module_checkbox__Ey0_E.Checkbox-module_small__IGbRq:after {\n width: 3px;\n height: 6px;\n left: 5px;\n top: 2px;\n }\n\n .Checkbox-module_checkbox__Ey0_E:after {\n content: \"\";\n display: block;\n position: absolute;\n transition: opacity var(--swui-checkbox-animation-time),\n width var(--swui-checkbox-animation-time),\n top var(--swui-checkbox-animation-time),\n -webkit-transform var(--swui-checkbox-animation-time) var(--d-t-e, ease);\n transition: transform var(--swui-checkbox-animation-time) var(--d-t-e, ease),\n opacity var(--swui-checkbox-animation-time),\n width var(--swui-checkbox-animation-time),\n top var(--swui-checkbox-animation-time);\n transition: transform var(--swui-checkbox-animation-time) var(--d-t-e, ease),\n opacity var(--swui-checkbox-animation-time),\n width var(--swui-checkbox-animation-time),\n top var(--swui-checkbox-animation-time),\n -webkit-transform var(--swui-checkbox-animation-time) var(--d-t-e, ease);\n border: 2px solid\n var(\n --current-checkbox-icon-color,\n var(--swui-checkbox-unchecked-icon-color)\n );\n border-top: 0;\n border-left: 0;\n -webkit-transform: rotate(var(--current-check-rotation, 20deg));\n transform: rotate(var(--current-check-rotation, 20deg));\n box-sizing: content-box;\n }\n\n .Checkbox-module_checkbox__Ey0_E:checked {\n --current-check-rotation: 43deg;\n --current-bg-color: var(--swui-checkbox-checked-bg-color);\n --current-border-color: var(--swui-checkbox-checked-bg-color);\n --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2);\n }\n\n .Checkbox-module_checkbox__Ey0_E:checked:after {\n --current-checkbox-icon-color: var(--swui-checkbox-icon-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:not(:checked) {\n --current-bg-color: var(--swui-checkbox-disabled-bg-color);\n --current-border-color: var(--swui-checkbox-disabled-border-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:not(:checked):after {\n --current-checkbox-icon-color: --swui-checkbox-unchecked-icon-color;\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:checked {\n --current-bg-color: var(--swui-checkbox-disabled-checked-bg-color);\n --current-border-color: var(--swui-checkbox-disabled-border-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:checked:after {\n --current-checkbox-icon-color: var(--swui-checkbox-disabled-icon-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:disabled:checked + label {\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate {\n --current-check-rotation: 43deg;\n --current-bg-color: var(--swui-checkbox-checked-bg-color);\n --current-border-color: var(--swui-checkbox-checked-bg-color);\n --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2);\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate:after {\n --current-checkbox-icon-color: var(--swui-checkbox-icon-color);\n border-right: 0;\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n width: 6px;\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate.Checkbox-module_standard__1WgNJ:after {\n top: 4px;\n left: 8px;\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate.Checkbox-module_small__IGbRq:after {\n top: 0;\n left: 4px;\n }\n\n .Checkbox-module_checkbox__Ey0_E:indeterminate:disabled:after {\n --current-checkbox-icon-color: var(--swui-checkbox-disabled-icon-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:hover:not(:checked):not(:disabled) {\n --current-border-color: var(--swui-checkbox-border-hover-color);\n }\n\n .Checkbox-module_checkbox__Ey0_E:focus:checked {\n box-shadow: var(--swui-checkbox-checked-focus-shadow);\n }\n\n .Checkbox-module_checkbox__Ey0_E:focus:not(:checked) {\n box-shadow: var(--swui-checkbox-unchecked-focus-shadow);\n }\n\n .Checkbox-module_checkbox__Ey0_E + label {\n font-size: 14px;\n line-height: var(--swui-checkbox-height);\n display: inline-block;\n vertical-align: top;\n cursor: pointer;\n margin-left: 4px;\n }\n";
102
+ var styles$4 = {"checkbox":"Checkbox-module_checkbox__Ey0_E","standard":"Checkbox-module_standard__1WgNJ","small":"Checkbox-module_small__IGbRq"};
103
+ styleInject(css_248z$4);
103
104
 
104
105
  var Checkbox = forwardRef(function (_a, ref) {
105
106
  var _b = _a.indeterminate, indeterminate = _b === void 0 ? false : _b, onChange = _a.onChange, onValueChange = _a.onValueChange, _c = _a.value, value = _c === void 0 ? false : _c, _d = _a.size, size = _d === void 0 ? "standard" : _d, inputProps = __rest(_a, ["indeterminate", "onChange", "onValueChange", "value", "size"]);
@@ -131,23 +132,23 @@ var Checkbox = forwardRef(function (_a, ref) {
131
132
  localRef.current.indeterminate = Boolean(indeterminate);
132
133
  }
133
134
  }, [indeterminate, localRef]);
134
- return (createElement("input", __assign({ type: "checkbox", className: cx$2(styles$1.checkbox, styles$1[size]), checked: value, onChange: handleInputChange, ref: setRef }, inputProps)));
135
+ return (React.createElement("input", __assign({ type: "checkbox", className: cx$2(styles$4.checkbox, styles$4[size]), checked: value, onChange: handleInputChange, ref: setRef }, inputProps)));
135
136
  });
136
137
 
137
138
  var CheckboxWithLabel = function (_a) {
138
139
  var children = _a.children, label = _a.label, inputRef = _a.inputRef, wrapperRef = _a.wrapperRef, textColor = _a.textColor, checkboxProps = __rest(_a, ["children", "label", "inputRef", "wrapperRef", "textColor"]);
139
- return (createElement("div", { ref: wrapperRef },
140
- createElement("label", null,
141
- createElement(Row, { alignItems: "center" },
142
- createElement(Checkbox, __assign({}, checkboxProps, { ref: inputRef })),
143
- createElement(Space, null),
144
- label && (createElement(Text, { userSelect: "none", color: textColor }, label)),
140
+ return (React.createElement("div", { ref: wrapperRef },
141
+ React.createElement("label", null,
142
+ React.createElement(Row, { alignItems: "center" },
143
+ React.createElement(Checkbox, __assign({}, checkboxProps, { ref: inputRef })),
144
+ React.createElement(Space, null),
145
+ label && (React.createElement(Text, { userSelect: "none", color: textColor }, label)),
145
146
  children))));
146
147
  };
147
148
 
148
- var css_248z$2 = ".RadioButton-module_radiobutton__13XTW {\n /* Sizes */\n --swui-radiobutton-size-standard: var(--swui-field-box-size-medium);\n --swui-radiobutton-size-small: var(--swui-field-box-size-small);\n --swui-radiobutton-animation-time: var(--swui-animation-time-medium);\n /* Icon */\n --swui-radiobutton-icon-color: var(--swui-field-indicator-active-color);\n --swui-radiobutton-disabled-icon-color: var(--swui-separator-color);\n --swui-radiobutton-unchecked-icon-color: var(\n --swui-field-indicator-inactive-color\n );\n /* Background */\n --swui-radiobutton-checked-bg-color: var(--swui-primary-action-color);\n --swui-radiobutton-checked-disabled-bg-color: var(--swui-field-bg-disabled);\n --swui-radiobutton-unchecked-bg-color: var(--swui-white);\n --swui-radiobutton-unchecked-disabled-bg-color: var(--swui-field-bg-disabled);\n /* Border */\n --swui-radiobutton-unchecked-border-color: var(--swui-field-border-color);\n --swui-radiobutton-unchecked-hover-border-color: var(\n --swui-field-border-color-hover\n );\n --swui-radiobutton-disabled-border-color: var(\n --swui-field-border-color-disabled\n );\n /* Shadow */\n --swui-radiobutton-checked-focus-shadow: var(\n --swui-field-focus-shadow-inverted\n );\n --swui-radiobutton-unchecked-focus-shadow: var(--swui-field-focus-shadow);\n\n -webkit-appearance: none;\n -moz-appearance: none;\n outline: none;\n display: inline-block;\n vertical-align: top;\n position: relative;\n margin: 0;\n -webkit-flex: none;\n flex: none;\n cursor: pointer;\n border: 1px solid\n var(--current-border-color, var(--swui-radiobutton-unchecked-border-color));\n border-radius: 50%;\n background: var(\n --current-bg-color,\n var(--swui-radiobutton-unchecked-bg-color)\n );\n transition: background var(--swui-radiobutton-animation-time),\n border-color var(--swui-radiobutton-animation-time),\n box-shadow var(--swui-radiobutton-animation-time);\n}\n\n .RadioButton-module_radiobutton__13XTW.RadioButton-module_standard__PVQ2A {\n height: var(--swui-radiobutton-size-standard);\n width: var(--swui-radiobutton-size-standard);\n }\n\n .RadioButton-module_radiobutton__13XTW.RadioButton-module_standard__PVQ2A:after {\n left: 7px;\n top: 7px;\n }\n\n .RadioButton-module_radiobutton__13XTW.RadioButton-module_small__37EpP {\n height: var(--swui-radiobutton-size-small);\n width: var(--swui-radiobutton-size-small);\n }\n\n .RadioButton-module_radiobutton__13XTW.RadioButton-module_small__37EpP:after {\n left: 3px;\n top: 3px;\n }\n\n .RadioButton-module_radiobutton__13XTW:after {\n content: \"\";\n display: block;\n position: absolute;\n transition: opacity\n var(--current-opacity-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease),\n -webkit-transform\n var(--current-transform-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease);\n transition: transform\n var(--current-transform-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease),\n opacity\n var(--current-opacity-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease);\n transition: transform\n var(--current-transform-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease),\n opacity\n var(--current-opacity-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease),\n -webkit-transform\n var(--current-transform-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease);\n -webkit-transform: scale(var(--current-scale, 0));\n transform: scale(var(--current-scale, 0));\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: var(\n --current-icon-color,\n var(--swui-radiobutton-unchecked-icon-color)\n );\n opacity: var(--current-opacity, 0);\n }\n\n .RadioButton-module_radiobutton__13XTW:checked {\n --current-bg-color: var(--swui-radiobutton-checked-bg-color);\n --current-border-color: var(--swui-radiobutton-checked-bg-color);\n --current-opacity-time: var(--swui-radiobutton-animation-time);\n --current-transform-time: 0.6s;\n --current-transform-type: cubic-bezier(0.2, 0.85, 0.32, 1.2);\n --current-opacity: 1;\n --current-scale: 1;\n }\n\n .RadioButton-module_radiobutton__13XTW:checked:after {\n --current-icon-color: var(--swui-radiobutton-icon-color);\n }\n\n .RadioButton-module_radiobutton__13XTW:disabled {\n --current-bg-color: var(--swui-radiobutton-unchecked-disabled-bg-color);\n --current-border-color: var(--swui-radiobutton-disabled-border-color);\n }\n\n .RadioButton-module_radiobutton__13XTW:disabled:checked {\n --current-bg-color: var(--swui-radiobutton-checked-disabled-bg-color);\n }\n\n .RadioButton-module_radiobutton__13XTW:disabled:checked:after {\n --current-icon-color: var(--swui-radiobutton-disabled-icon-color);\n }\n\n .RadioButton-module_radiobutton__13XTW:disabled + label {\n }\n\n .RadioButton-module_radiobutton__13XTW:hover:not(:checked):not(:disabled) {\n --current-border-color: var(\n --swui-radiobutton-unchecked-hover-border-color\n );\n }\n\n .RadioButton-module_radiobutton__13XTW:focus:checked {\n box-shadow: var(--swui-radiobutton-checked-focus-shadow);\n }\n\n .RadioButton-module_radiobutton__13XTW:focus:not(:checked) {\n box-shadow: var(--swui-radiobutton-unchecked-focus-shadow);\n }\n\n .RadioButton-module_radiobutton__13XTW + label {\n font-size: 14px;\n line-height: var(--swui-radiobutton-size-standard);\n display: inline-block;\n vertical-align: top;\n cursor: pointer;\n margin-left: 4px;\n }\n";
149
- var styles$2 = {"radiobutton":"RadioButton-module_radiobutton__13XTW","standard":"RadioButton-module_standard__PVQ2A","small":"RadioButton-module_small__37EpP"};
150
- styleInject(css_248z$2);
149
+ var css_248z$3 = ".RadioButton-module_radiobutton__13XTW {\n /* Sizes */\n --swui-radiobutton-size-standard: var(--swui-field-box-size-medium);\n --swui-radiobutton-size-small: var(--swui-field-box-size-small);\n --swui-radiobutton-animation-time: var(--swui-animation-time-medium);\n /* Icon */\n --swui-radiobutton-icon-color: var(--swui-field-indicator-active-color);\n --swui-radiobutton-disabled-icon-color: var(--swui-separator-color);\n --swui-radiobutton-unchecked-icon-color: var(\n --swui-field-indicator-inactive-color\n );\n /* Background */\n --swui-radiobutton-checked-bg-color: var(--swui-primary-action-color);\n --swui-radiobutton-checked-disabled-bg-color: var(--swui-field-bg-disabled);\n --swui-radiobutton-unchecked-bg-color: var(--swui-white);\n --swui-radiobutton-unchecked-disabled-bg-color: var(--swui-field-bg-disabled);\n /* Border */\n --swui-radiobutton-unchecked-border-color: var(--swui-field-border-color);\n --swui-radiobutton-unchecked-hover-border-color: var(\n --swui-field-border-color-hover\n );\n --swui-radiobutton-disabled-border-color: var(\n --swui-field-border-color-disabled\n );\n /* Shadow */\n --swui-radiobutton-checked-focus-shadow: var(\n --swui-field-focus-shadow-inverted\n );\n --swui-radiobutton-unchecked-focus-shadow: var(--swui-field-focus-shadow);\n\n -webkit-appearance: none;\n -moz-appearance: none;\n outline: none;\n display: inline-block;\n vertical-align: top;\n position: relative;\n margin: 0;\n -webkit-flex: none;\n flex: none;\n cursor: pointer;\n border: 1px solid\n var(--current-border-color, var(--swui-radiobutton-unchecked-border-color));\n border-radius: 50%;\n background: var(\n --current-bg-color,\n var(--swui-radiobutton-unchecked-bg-color)\n );\n transition: background var(--swui-radiobutton-animation-time),\n border-color var(--swui-radiobutton-animation-time),\n box-shadow var(--swui-radiobutton-animation-time);\n}\n\n .RadioButton-module_radiobutton__13XTW.RadioButton-module_standard__PVQ2A {\n height: var(--swui-radiobutton-size-standard);\n width: var(--swui-radiobutton-size-standard);\n }\n\n .RadioButton-module_radiobutton__13XTW.RadioButton-module_standard__PVQ2A:after {\n left: 7px;\n top: 7px;\n }\n\n .RadioButton-module_radiobutton__13XTW.RadioButton-module_small__37EpP {\n height: var(--swui-radiobutton-size-small);\n width: var(--swui-radiobutton-size-small);\n }\n\n .RadioButton-module_radiobutton__13XTW.RadioButton-module_small__37EpP:after {\n left: 3px;\n top: 3px;\n }\n\n .RadioButton-module_radiobutton__13XTW:after {\n content: \"\";\n display: block;\n position: absolute;\n transition: opacity\n var(--current-opacity-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease),\n -webkit-transform\n var(--current-transform-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease);\n transition: transform\n var(--current-transform-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease),\n opacity\n var(--current-opacity-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease);\n transition: transform\n var(--current-transform-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease),\n opacity\n var(--current-opacity-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease),\n -webkit-transform\n var(--current-transform-time, var(--swui-radiobutton-animation-time))\n var(--current-transform-type, ease);\n -webkit-transform: scale(var(--current-scale, 0));\n transform: scale(var(--current-scale, 0));\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: var(\n --current-icon-color,\n var(--swui-radiobutton-unchecked-icon-color)\n );\n opacity: var(--current-opacity, 0);\n }\n\n .RadioButton-module_radiobutton__13XTW:checked {\n --current-bg-color: var(--swui-radiobutton-checked-bg-color);\n --current-border-color: var(--swui-radiobutton-checked-bg-color);\n --current-opacity-time: var(--swui-radiobutton-animation-time);\n --current-transform-time: 0.6s;\n --current-transform-type: cubic-bezier(0.2, 0.85, 0.32, 1.2);\n --current-opacity: 1;\n --current-scale: 1;\n }\n\n .RadioButton-module_radiobutton__13XTW:checked:after {\n --current-icon-color: var(--swui-radiobutton-icon-color);\n }\n\n .RadioButton-module_radiobutton__13XTW:disabled {\n --current-bg-color: var(--swui-radiobutton-unchecked-disabled-bg-color);\n --current-border-color: var(--swui-radiobutton-disabled-border-color);\n }\n\n .RadioButton-module_radiobutton__13XTW:disabled:checked {\n --current-bg-color: var(--swui-radiobutton-checked-disabled-bg-color);\n }\n\n .RadioButton-module_radiobutton__13XTW:disabled:checked:after {\n --current-icon-color: var(--swui-radiobutton-disabled-icon-color);\n }\n\n .RadioButton-module_radiobutton__13XTW:disabled + label {\n }\n\n .RadioButton-module_radiobutton__13XTW:hover:not(:checked):not(:disabled) {\n --current-border-color: var(\n --swui-radiobutton-unchecked-hover-border-color\n );\n }\n\n .RadioButton-module_radiobutton__13XTW:focus:checked {\n box-shadow: var(--swui-radiobutton-checked-focus-shadow);\n }\n\n .RadioButton-module_radiobutton__13XTW:focus:not(:checked) {\n box-shadow: var(--swui-radiobutton-unchecked-focus-shadow);\n }\n\n .RadioButton-module_radiobutton__13XTW + label {\n font-size: 14px;\n line-height: var(--swui-radiobutton-size-standard);\n display: inline-block;\n vertical-align: top;\n cursor: pointer;\n margin-left: 4px;\n }\n";
150
+ var styles$3 = {"radiobutton":"RadioButton-module_radiobutton__13XTW","standard":"RadioButton-module_standard__PVQ2A","small":"RadioButton-module_small__37EpP"};
151
+ styleInject(css_248z$3);
151
152
 
152
153
  var RadioButton = forwardRef(function (_a, ref) {
153
154
  var onChange = _a.onChange, onValueChange = _a.onValueChange, _b = _a.size, size = _b === void 0 ? "standard" : _b, name = _a.name, inputProps = __rest(_a, ["onChange", "onValueChange", "size", "name"]);
@@ -159,17 +160,17 @@ var RadioButton = forwardRef(function (_a, ref) {
159
160
  onValueChange(ev.target.value);
160
161
  }
161
162
  }, [onChange, onValueChange]);
162
- return (createElement("input", __assign({ type: "radio", name: name, className: styles$2.radiobutton + " " + styles$2[size], onChange: handleInputChange, ref: ref }, inputProps)));
163
+ return (React.createElement("input", __assign({ type: "radio", name: name, className: styles$3.radiobutton + " " + styles$3[size], onChange: handleInputChange, ref: ref }, inputProps)));
163
164
  });
164
165
 
165
166
  var RadioButtonWithLabel = function (_a) {
166
167
  var label = _a.label, inputRef = _a.inputRef, wrapperRef = _a.wrapperRef, textColor = _a.textColor, radioButtonProps = __rest(_a, ["label", "inputRef", "wrapperRef", "textColor"]);
167
- return (createElement("div", { ref: wrapperRef },
168
- createElement("label", null,
169
- createElement(Row, { alignItems: "center" },
170
- createElement(RadioButton, __assign({ ref: inputRef }, radioButtonProps)),
171
- createElement(Space, null),
172
- createElement(Text, { color: textColor, userSelect: "none" }, label)))));
168
+ return (React.createElement("div", { ref: wrapperRef },
169
+ React.createElement("label", null,
170
+ React.createElement(Row, { alignItems: "center" },
171
+ React.createElement(RadioButton, __assign({ ref: inputRef }, radioButtonProps)),
172
+ React.createElement(Space, null),
173
+ React.createElement(Text, { color: textColor, userSelect: "none" }, label)))));
173
174
  };
174
175
 
175
176
  var useKeyboardNavigation = function (ref,
@@ -181,33 +182,35 @@ onKeyDown, onEnter, onEsc,
181
182
  * onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab.
182
183
  * */
183
184
  onMove, onDone, onBlur, onFocus) {
184
- var wasCancelledRef = useRef(false);
185
+ var wasHandled = useRef(false);
185
186
  var onBlurHandler = function (ev) {
186
187
  var _a;
187
- if (!wasCancelledRef.current) {
188
+ if (!wasHandled.current) {
188
189
  onDone === null || onDone === void 0 ? void 0 : onDone((_a = ev.target.value) !== null && _a !== void 0 ? _a : "");
189
190
  }
190
191
  onBlur === null || onBlur === void 0 ? void 0 : onBlur(ev);
191
192
  };
192
193
  var onFocusHandler = function (ev) {
193
- wasCancelledRef.current = false;
194
+ wasHandled.current = false;
194
195
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);
195
196
  };
196
197
  var onKeyDownHandler = useCallback(function (ev) {
197
198
  var _a;
198
199
  var key = ev.key;
199
200
  if (key === "Enter") {
201
+ wasHandled.current = true;
200
202
  onEnter === null || onEnter === void 0 ? void 0 : onEnter();
201
203
  onDone === null || onDone === void 0 ? void 0 : onDone((_a = ev.currentTarget.value) !== null && _a !== void 0 ? _a : "");
202
204
  }
203
205
  else if (key === "Escape") {
204
- wasCancelledRef.current = true;
206
+ wasHandled.current = true;
205
207
  onEsc === null || onEsc === void 0 ? void 0 : onEsc();
206
208
  ev.preventDefault();
207
209
  ev.stopPropagation();
208
210
  }
209
211
  else if (onMove) {
210
212
  var blurMoveAndCancel = function (direction, e) {
213
+ wasHandled.current = true;
211
214
  ref.current.blur();
212
215
  onMove(direction);
213
216
  e.preventDefault();
@@ -247,9 +250,22 @@ onMove, onDone, onBlur, onFocus) {
247
250
  };
248
251
  };
249
252
 
253
+ function elementHasSelectionRange(element) {
254
+ if (element.tagName === "TEXTAREA") {
255
+ return true;
256
+ }
257
+ if (element.tagName === "INPUT" &&
258
+ (element.type === "text" ||
259
+ element.type === "search" ||
260
+ element.type === "url" ||
261
+ element.type === "tel" ||
262
+ element.type === "password")) {
263
+ return true;
264
+ }
265
+ return false;
266
+ }
250
267
  var useSelectAllOnMount = function (ref, moveCursorToEnd, enabled) {
251
268
  useEffect(function () {
252
- var _a, _b, _c, _d, _e;
253
269
  if (!ref.current) {
254
270
  return;
255
271
  }
@@ -258,11 +274,7 @@ var useSelectAllOnMount = function (ref, moveCursorToEnd, enabled) {
258
274
  Chrome, starting from version 33, throws an exception while accessing those properties and method on the rest of input types.
259
275
  https://html.spec.whatwg.org/multipage/input.html#concept-input-apply
260
276
  */
261
- if (((_a = ref.current) === null || _a === void 0 ? void 0 : _a.type) !== "text" &&
262
- ((_b = ref.current) === null || _b === void 0 ? void 0 : _b.type) !== "search" &&
263
- ((_c = ref.current) === null || _c === void 0 ? void 0 : _c.type) !== "url" &&
264
- ((_d = ref.current) === null || _d === void 0 ? void 0 : _d.type) !== "tel" &&
265
- ((_e = ref.current) === null || _e === void 0 ? void 0 : _e.type) !== "password") {
277
+ if (!elementHasSelectionRange(ref.current)) {
266
278
  return;
267
279
  }
268
280
  if (enabled) {
@@ -279,12 +291,8 @@ var useTextInput = function (ref, _a) {
279
291
  useSelectAllOnMount(ref, !!moveCursorToEndOnMount, !!selectAllOnMount);
280
292
  var _b = useKeyboardNavigation(ref, onKeyDown, onEnter, onEsc, onMove, onDone, onBlur, onFocus), onKeyDownHandler = _b.onKeyDownHandler, onFocusHandler = _b.onFocusHandler, onBlurHandler = _b.onBlurHandler;
281
293
  var onChangeHandler = useCallback(function (ev) {
282
- if (onChange) {
283
- onChange(ev);
284
- }
285
- if (onValueChange) {
286
- onValueChange(ev.target.value);
287
- }
294
+ onChange === null || onChange === void 0 ? void 0 : onChange(ev);
295
+ onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(ev.target.value);
288
296
  }, [onChange, onValueChange]);
289
297
  return {
290
298
  onBlur: onBlurHandler,
@@ -295,9 +303,9 @@ var useTextInput = function (ref, _a) {
295
303
  };
296
304
  };
297
305
 
298
- var css_248z$3 = ".TextInput-module_textInput__241mK {\n --swui-textinput-text-color: var(--swui-field-text-color);\n --swui-textinput-text-color-disabled: var(--swui-field-text-color-disabled);\n --swui-textinput-letter-spacing: var(--swui-field-letter-spacing);\n --swui-textinput-line-height: var(--swui-field-text-line-height);\n --swui-textinput-indent: var(--swui-metrics-indent);\n --swui-textinput-spacing: calc(var(--swui-field-text-spacing) - 1px);\n --swui-textinput-font-size: var(--swui-font-size-inputs);\n --swui-textinput-font-family: var(--swui-font-input);\n --swui-textinput-font-weight: var(--swui-font-weight-inputs);\n --swui-textinput-placeholder-color: var(--swui-field-placeholder-color);\n --swui-textinput-animation-time: var(--swui-animation-time-medium);\n --swui-textinput-icon-color: var(--swui-field-border-color-disabled);\n --swui-textinput-icon-hover-color: var(--swui-primary-action-color);\n --swui-textinput-icon-size: var(--swui-field-icon-size);\n\n /* States */\n --swui-textinput-icon-color-success: var(--swui-state-success-color);\n\n --swui-textinput-bg-loading: var(--swui-state-loading-light-color);\n --swui-textinput-border-color-loading: var(--swui-state-loading-color);\n\n --swui-textinput-bg-modified: var(--swui-state-modified-light-color);\n --swui-textinput-border-color-modified: var(--swui-state-modified-color);\n\n --swui-textinput-bg-warning: var(--swui-state-alert-light-color);\n --swui-textinput-border-color-warning: var(--swui-state-alert-color);\n\n --swui-textinput-bg-error: var(--swui-state-error-light-color);\n --swui-textinput-border-color-error: var(--swui-state-error-color);\n\n /* Background */\n --swui-textinput-bg-color: var(--swui-field-bg-enabled);\n --swui-textinput-bg-color-disabled: var(--swui-field-bg-disabled);\n\n /* Border */\n --swui-textinput-border-radius: var(--swui-field-border-radius);\n --swui-textinput-border-color: var(--swui-field-border-color);\n --swui-textinput-border-color-hover: var(--swui-field-border-color-hover);\n --swui-textinput-border-color-disabled: var(\n --swui-field-border-color-disabled\n );\n\n /* Shadow */\n --swui-textinput-focus-shadow: var(--swui-field-focus-shadow);\n\n /* Current vars */\n --current-bg: var(--swui-textinput-bg-color);\n --current-border-color: var(--swui-textinput-border-color);\n --current-icon-color: var(--swui-textinput-icon-color);\n\n /* Styling */\n display: -webkit-flex;\n display: flex;\n width: 100%;\n -webkit-align-items: center;\n align-items: center;\n background: var(--current-bg);\n border: 1px solid var(--current-border-color);\n border-radius: var(--swui-textinput-border-radius);\n transition: all var(--swui-textinput-animation-time);\n}\n\n .TextInput-module_textInput__241mK.TextInput-module_textInput__241mK:focus-within {\n box-shadow: var(--swui-textinput-focus-shadow);\n --current-border-color: var(--swui-textinput-border-color-hover);\n --current-bg: var(--swui-textinput-bg-color);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az {\n letter-spacing: var(--swui-textinput-letter-spacing);\n line-height: var(--swui-textinput-line-height);\n width: 100%;\n padding: var(--swui-textinput-spacing) var(--swui-textinput-indent);\n color: var(--swui-textinput-text-color);\n font-size: var(--swui-textinput-font-size);\n font-family: var(--swui-textinput-font-family);\n font-weight: var(--swui-textinput-font-weight);\n background: var(--swui-hidden);\n border: none;\n min-width: 0; /* https://stackoverflow.com/a/43361500 */\n margin: 0;\n }\n\n /* Safari */\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az:disabled {\n color: var(--swui-textinput-text-color-disabled);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az::-webkit-input-placeholder {\n color: var(--swui-textinput-placeholder-color);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az:-ms-input-placeholder {\n color: var(--swui-textinput-placeholder-color);\n }\n\n &::-webkit-input-placeholder {\n color: var(--swui-textinput-placeholder-color);\n }\n\n &:-ms-input-placeholder {\n color: var(--swui-textinput-placeholder-color);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az::placeholder {\n color: var(--swui-textinput-placeholder-color);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az:focus {\n outline: none;\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az::-webkit-calendar-picker-indicator {\n display: none;\n }\n\n /*\n * States\n */\n\n .TextInput-module_textInput__241mK.TextInput-module_standard__UTt4V:hover:not(.TextInput-module_disabled__1uxhM), .TextInput-module_textInput__241mK.TextInput-module_success__12K-z:hover:not(.TextInput-module_disabled__1uxhM) {\n --current-border-color: var(--swui-textinput-border-color-hover);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_success__12K-z {\n --current-icon-color: var(--swui-textinput-icon-color-success);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_loading__oczVY {\n --current-bg: var(--swui-textinput-bg-loading);\n --current-border-color: var(--swui-textinput-border-color-loading);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_modified__2042t {\n --current-bg: var(--swui-textinput-bg-modified);\n --current-border-color: var(--swui-textinput-border-color-modified);\n --current-icon-color: var(--lhds-color-blue-300);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_error__39qGr {\n --current-bg: var(--swui-textinput-bg-error);\n --current-border-color: var(--swui-textinput-border-color-error);\n --current-icon-color: var(--swui-textinput-border-color-error);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_warning__kpGF8 {\n --current-bg: var(--swui-textinput-bg-warning);\n --current-border-color: var(--swui-textinput-border-color-warning);\n --current-icon-color: var(--swui-textinput-border-color-warning);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_disabled__1uxhM {\n --current-bg: var(--swui-textinput-bg-color-disabled);\n --current-border-color: var(--swui-textinput-border-color-disabled);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_textInput__241mK.TextInput-module_hideBorder__1_dYg {\n border: none;\n box-shadow: none;\n background: none;\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_clickable__2fPUX:hover {\n --current-icon-color: var(--swui-textinput-icon-hover-color);\n cursor: pointer;\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_icon__1U2OO {\n transition: color var(--swui-textinput-animation-time);\n color: var(--current-icon-color);\n font-size: var(--swui-textinput-icon-size);\n }\n";
299
- var styles$3 = {"textInput":"TextInput-module_textInput__241mK","input":"TextInput-module_input__2k0az","standard":"TextInput-module_standard__UTt4V","success":"TextInput-module_success__12K-z","disabled":"TextInput-module_disabled__1uxhM","loading":"TextInput-module_loading__oczVY","modified":"TextInput-module_modified__2042t","error":"TextInput-module_error__39qGr","warning":"TextInput-module_warning__kpGF8","hideBorder":"TextInput-module_hideBorder__1_dYg","clickable":"TextInput-module_clickable__2fPUX","icon":"TextInput-module_icon__1U2OO"};
300
- styleInject(css_248z$3);
306
+ var css_248z$2 = ".TextInput-module_textInput__241mK {\n --swui-textinput-text-color: var(--swui-field-text-color);\n --swui-textinput-text-color-disabled: var(--swui-field-text-color-disabled);\n --swui-textinput-letter-spacing: var(--swui-field-letter-spacing);\n --swui-textinput-line-height: var(--swui-field-text-line-height);\n --swui-textinput-indent: var(--swui-metrics-indent);\n --swui-textinput-spacing: calc(var(--swui-field-text-spacing) - 1px);\n --swui-textinput-font-size: var(--swui-font-size-inputs);\n --swui-textinput-font-family: var(--swui-font-input);\n --swui-textinput-font-weight: var(--swui-font-weight-inputs);\n --swui-textinput-placeholder-color: var(--swui-field-placeholder-color);\n --swui-textinput-animation-time: var(--swui-animation-time-medium);\n --swui-textinput-icon-color: var(--swui-field-border-color-disabled);\n --swui-textinput-icon-hover-color: var(--swui-primary-action-color);\n --swui-textinput-icon-size: var(--swui-field-icon-size);\n\n /* States */\n --swui-textinput-icon-color-success: var(--swui-state-success-color);\n\n --swui-textinput-bg-loading: var(--swui-state-loading-light-color);\n --swui-textinput-border-color-loading: var(--swui-state-loading-color);\n\n --swui-textinput-bg-modified: var(--swui-state-modified-light-color);\n --swui-textinput-border-color-modified: var(--swui-state-modified-color);\n\n --swui-textinput-bg-warning: var(--swui-state-alert-light-color);\n --swui-textinput-border-color-warning: var(--swui-state-alert-color);\n\n --swui-textinput-bg-error: var(--swui-state-error-light-color);\n --swui-textinput-border-color-error: var(--swui-state-error-color);\n\n /* Background */\n --swui-textinput-bg-color: var(--swui-field-bg-enabled);\n --swui-textinput-bg-color-disabled: var(--swui-field-bg-disabled);\n\n /* Border */\n --swui-textinput-border-radius: var(--swui-field-border-radius);\n --swui-textinput-border-color: var(--swui-field-border-color);\n --swui-textinput-border-color-hover: var(--swui-field-border-color-hover);\n --swui-textinput-border-color-disabled: var(\n --swui-field-border-color-disabled\n );\n\n /* Shadow */\n --swui-textinput-focus-shadow: var(--swui-field-focus-shadow);\n\n /* Current vars */\n --current-bg: var(--swui-textinput-bg-color);\n --current-border-color: var(--swui-textinput-border-color);\n --current-icon-color: var(--swui-textinput-icon-color);\n\n /* Styling */\n display: -webkit-flex;\n display: flex;\n width: 100%;\n -webkit-align-items: center;\n align-items: center;\n background: var(--current-bg);\n border: 1px solid var(--current-border-color);\n border-radius: var(--swui-textinput-border-radius);\n transition: all var(--swui-textinput-animation-time);\n}\n\n .TextInput-module_textInput__241mK.TextInput-module_textInput__241mK:focus-within {\n box-shadow: var(--swui-textinput-focus-shadow);\n --current-border-color: var(--swui-textinput-border-color-hover);\n --current-bg: var(--swui-textinput-bg-color);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az {\n letter-spacing: var(--swui-textinput-letter-spacing);\n line-height: var(--swui-textinput-line-height);\n width: 100%;\n padding: var(--swui-textinput-spacing) var(--swui-textinput-indent);\n color: var(--swui-textinput-text-color);\n font-size: var(--swui-textinput-font-size);\n font-family: var(--swui-textinput-font-family);\n font-weight: var(--swui-textinput-font-weight);\n background: var(--swui-hidden);\n border: none;\n min-width: 0; /* https://stackoverflow.com/a/43361500 */\n margin: 0;\n }\n\n /* Safari */\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az:disabled {\n color: var(--swui-textinput-text-color-disabled);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az::-webkit-input-placeholder {\n color: var(--swui-textinput-placeholder-color);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az:-ms-input-placeholder {\n color: var(--swui-textinput-placeholder-color);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az::placeholder {\n color: var(--swui-textinput-placeholder-color);\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az:focus {\n outline: none;\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_input__2k0az::-webkit-calendar-picker-indicator {\n display: none;\n }\n\n /*\n * States\n */\n\n .TextInput-module_textInput__241mK.TextInput-module_standard__UTt4V:hover:not(.TextInput-module_disabled__1uxhM), .TextInput-module_textInput__241mK.TextInput-module_success__12K-z:hover:not(.TextInput-module_disabled__1uxhM) {\n --current-border-color: var(--swui-textinput-border-color-hover);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_success__12K-z {\n --current-icon-color: var(--swui-textinput-icon-color-success);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_loading__oczVY {\n --current-bg: var(--swui-textinput-bg-loading);\n --current-border-color: var(--swui-textinput-border-color-loading);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_modified__2042t {\n --current-bg: var(--swui-textinput-bg-modified);\n --current-border-color: var(--swui-textinput-border-color-modified);\n --current-icon-color: var(--lhds-color-blue-300);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_error__39qGr {\n --current-bg: var(--swui-textinput-bg-error);\n --current-border-color: var(--swui-textinput-border-color-error);\n --current-icon-color: var(--swui-textinput-border-color-error);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_warning__kpGF8 {\n --current-bg: var(--swui-textinput-bg-warning);\n --current-border-color: var(--swui-textinput-border-color-warning);\n --current-icon-color: var(--swui-textinput-border-color-warning);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_disabled__1uxhM {\n --current-bg: var(--swui-textinput-bg-color-disabled);\n --current-border-color: var(--swui-textinput-border-color-disabled);\n }\n\n .TextInput-module_textInput__241mK.TextInput-module_textInput__241mK.TextInput-module_hideBorder__1_dYg {\n border: none;\n box-shadow: none;\n background: none;\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_clickable__2fPUX:hover {\n --current-icon-color: var(--swui-textinput-icon-hover-color);\n cursor: pointer;\n }\n\n .TextInput-module_textInput__241mK .TextInput-module_icon__1U2OO {\n transition: color var(--swui-textinput-animation-time);\n color: var(--current-icon-color);\n font-size: var(--swui-textinput-icon-size);\n }\n";
307
+ var styles$2 = {"textInput":"TextInput-module_textInput__241mK","input":"TextInput-module_input__2k0az","standard":"TextInput-module_standard__UTt4V","disabled":"TextInput-module_disabled__1uxhM","success":"TextInput-module_success__12K-z","loading":"TextInput-module_loading__oczVY","modified":"TextInput-module_modified__2042t","error":"TextInput-module_error__39qGr","warning":"TextInput-module_warning__kpGF8","hideBorder":"TextInput-module_hideBorder__1_dYg","clickable":"TextInput-module_clickable__2fPUX","icon":"TextInput-module_icon__1U2OO"};
308
+ styleInject(css_248z$2);
301
309
 
302
310
  var TextInputIcon = function (_a) {
303
311
  var icon = _a.icon, iconClassName = _a.iconClassName, content = _a.content, spaceOnLeft = _a.spaceOnLeft, spaceOnRight = _a.spaceOnRight, disableContentPadding = _a.disableContentPadding, disableContentPaddingLeft = _a.disableContentPaddingLeft, disableContentPaddingRight = _a.disableContentPaddingRight, onClick = _a.onClick;
@@ -305,46 +313,58 @@ var TextInputIcon = function (_a) {
305
313
  return null;
306
314
  }
307
315
  if (content) {
308
- return (createElement(Fragment, null,
316
+ return (React.createElement(React.Fragment, null,
309
317
  spaceOnLeft &&
310
- !(disableContentPadding || disableContentPaddingLeft) ? (createElement(Space, null)) : null,
311
- onClick ? (createElement("span", { onClick: onClick, className: styles$3.clickable }, content || null)) : (createElement(Fragment, null, content || null)),
318
+ !(disableContentPadding || disableContentPaddingLeft) ? (React.createElement(Space, null)) : null,
319
+ onClick ? (React.createElement("span", { onClick: onClick, className: styles$2.clickable }, content || null)) : (React.createElement(React.Fragment, null, content || null)),
312
320
  spaceOnRight &&
313
- !(disableContentPadding || disableContentPaddingRight) ? (createElement(Space, null)) : null));
321
+ !(disableContentPadding || disableContentPaddingRight) ? (React.createElement(Space, null)) : null));
314
322
  }
315
- var iconNode = icon && (createElement(FontAwesomeIcon, { icon: icon, className: cx$2(styles$3.icon, iconClassName) }));
316
- return (createElement(Fragment, null,
317
- spaceOnLeft ? createElement(Space, null) : null,
318
- iconNode && (createElement(Fragment, null, onClick ? (createElement("span", { onClick: onClick, className: styles$3.clickable }, iconNode || null)) : (createElement(Fragment, null, iconNode || null)))),
319
- spaceOnRight ? createElement(Space, null) : null));
323
+ return (React.createElement(React.Fragment, null,
324
+ spaceOnLeft ? React.createElement(Space, null) : null,
325
+ icon && (React.createElement(React.Fragment, null, onClick ? (React.createElement(FlatButton, { onClick: onClick, leftIcon: icon, size: "small" })) : (React.createElement(FontAwesomeIcon, { icon: icon, className: cx$2(styles$2.icon, iconClassName) })))),
326
+ spaceOnRight ? React.createElement(Space, null) : null));
320
327
  };
321
328
 
322
- var cx = classNames.bind(styles$3);
329
+ var cx$1 = classNames.bind(styles$2);
323
330
  var TextInput = function (props) {
324
331
  var _a, _b;
325
- var _c = props.variant, variant = _c === void 0 ? "standard" : _c, inputRef = props.inputRef, disabled = props.disabled, className = props.className, contentLeft = props.contentLeft, contentRight = props.contentRight, disableContentPadding = props.disableContentPadding, disableContentPaddingLeft = props.disableContentPaddingLeft, disableContentPaddingRight = props.disableContentPaddingRight, iconLeft = props.iconLeft, iconRight = props.iconRight, onClickLeft = props.onClickLeft, onClickRight = props.onClickRight, moveCursorToEndOnMount = props.moveCursorToEndOnMount, selectAllOnMount = props.selectAllOnMount, autoFocus = props.autoFocus, onValueChange = props.onValueChange, wrapperClassName = props.wrapperClassName, wrapperStyle = props.wrapperStyle, onDone = props.onDone, onEnter = props.onEnter, onEsc = props.onEsc, onMove = props.onMove, onChange = props.onChange, onKeyDown = props.onKeyDown, hideBorder = props.hideBorder, inputProps = __rest(props, ["variant", "inputRef", "disabled", "className", "contentLeft", "contentRight", "disableContentPadding", "disableContentPaddingLeft", "disableContentPaddingRight", "iconLeft", "iconRight", "onClickLeft", "onClickRight", "moveCursorToEndOnMount", "selectAllOnMount", "autoFocus", "onValueChange", "wrapperClassName", "wrapperStyle", "onDone", "onEnter", "onEsc", "onMove", "onChange", "onKeyDown", "hideBorder"]);
332
+ var _c = props.variant, variant = _c === void 0 ? "standard" : _c, inputRef = props.inputRef, disabled = props.disabled, className = props.className, contentLeft = props.contentLeft, contentRight = props.contentRight, disableContentPadding = props.disableContentPadding, disableContentPaddingLeft = props.disableContentPaddingLeft, disableContentPaddingRight = props.disableContentPaddingRight, iconLeft = props.iconLeft, iconRight = props.iconRight, onClickLeft = props.onClickLeft, onClickRight = props.onClickRight, moveCursorToEndOnMount = props.moveCursorToEndOnMount, selectAllOnMount = props.selectAllOnMount, autoFocus = props.autoFocus, onValueChange = props.onValueChange, wrapperClassName = props.wrapperClassName, wrapperStyle = props.wrapperStyle, onDone = props.onDone, onEnter = props.onEnter, onEsc = props.onEsc, onMove = props.onMove, onChange = props.onChange, onKeyDown = props.onKeyDown, hideBorder = props.hideBorder, onFocus = props.onFocus, onBlur = props.onBlur, inputProps = __rest(props, ["variant", "inputRef", "disabled", "className", "contentLeft", "contentRight", "disableContentPadding", "disableContentPaddingLeft", "disableContentPaddingRight", "iconLeft", "iconRight", "onClickLeft", "onClickRight", "moveCursorToEndOnMount", "selectAllOnMount", "autoFocus", "onValueChange", "wrapperClassName", "wrapperStyle", "onDone", "onEnter", "onEsc", "onMove", "onChange", "onKeyDown", "hideBorder", "onFocus", "onBlur"]);
326
333
  var localRef = useRef(null);
327
334
  var refToUse = inputRef !== null && inputRef !== void 0 ? inputRef : localRef;
328
- var hookProps = useTextInput(refToUse, props);
335
+ var hookProps = useTextInput(refToUse, {
336
+ onEnter: onEnter,
337
+ onEsc: onEsc,
338
+ onChange: onChange,
339
+ onValueChange: onValueChange,
340
+ selectAllOnMount: selectAllOnMount,
341
+ moveCursorToEndOnMount: moveCursorToEndOnMount,
342
+ onDone: onDone,
343
+ onMove: onMove,
344
+ onFocus: onFocus,
345
+ onBlur: onBlur,
346
+ onKeyDown: onKeyDown,
347
+ autoFocus: autoFocus,
348
+ });
329
349
  var currentIconRight = variant === "success"
330
350
  ? faCheck
331
351
  : variant === "warning" || variant === "error"
332
352
  ? faExclamationTriangle
333
353
  : iconRight;
334
- var currentContentRight = variant === "loading" ? createElement(InputSpinner, null) : contentRight;
335
- return (createElement("div", { className: cx(styles$3.textInput, styles$3[variant], (_a = {},
336
- _a[styles$3.disabled] = disabled,
354
+ var currentContentRight = variant === "loading" ? React.createElement(InputSpinner, null) : contentRight;
355
+ return (React.createElement("div", { className: cx$1(styles$2.textInput, styles$2[variant], (_a = {},
356
+ _a[styles$2.disabled] = disabled,
337
357
  _a), (_b = {},
338
- _b[styles$3.hideBorder] = hideBorder,
358
+ _b[styles$2.hideBorder] = hideBorder,
339
359
  _b), wrapperClassName), style: wrapperStyle },
340
- createElement(TextInputIcon, { content: contentLeft, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: iconLeft, spaceOnLeft: true, onClick: onClickLeft }),
341
- createElement("input", __assign({ className: cx(styles$3.input, className), type: "text", disabled: disabled, ref: refToUse, autoFocus: autoFocus }, inputProps, hookProps)),
342
- createElement(TextInputIcon, { content: currentContentRight, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: currentIconRight, spaceOnRight: true, onClick: onClickRight })));
360
+ React.createElement(TextInputIcon, { content: contentLeft, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: iconLeft, spaceOnLeft: true, onClick: onClickLeft }),
361
+ React.createElement("input", __assign({ className: cx$1(styles$2.input, className), type: "text", disabled: disabled, ref: refToUse, autoFocus: autoFocus }, inputProps, hookProps)),
362
+ React.createElement(TextInputIcon, { content: currentContentRight, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: currentIconRight, spaceOnRight: true, onClick: onClickRight })));
343
363
  };
344
364
 
345
- var css_248z$4 = ".NumericTextInput-module_numericTextInputInput__1UdyM {\n -moz-appearance: textfield;\n}\n .NumericTextInput-module_numericTextInputInput__1UdyM::-webkit-outer-spin-button,\n .NumericTextInput-module_numericTextInputInput__1UdyM::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n";
346
- var styles$4 = {"numericTextInputInput":"NumericTextInput-module_numericTextInputInput__1UdyM"};
347
- styleInject(css_248z$4);
365
+ var css_248z$1 = ".NumericTextInput-module_numericTextInputInput__1UdyM {\n -moz-appearance: textfield;\n}\n .NumericTextInput-module_numericTextInputInput__1UdyM::-webkit-outer-spin-button,\n .NumericTextInput-module_numericTextInputInput__1UdyM::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n";
366
+ var styles$1 = {"numericTextInputInput":"NumericTextInput-module_numericTextInputInput__1UdyM"};
367
+ styleInject(css_248z$1);
348
368
 
349
369
  var onStepValueChange = function (_a) {
350
370
  var onValueChange = _a.onValueChange, value = _a.value, numSteps = _a.numSteps, min = _a.min, max = _a.max;
@@ -391,12 +411,12 @@ var NumericTextInput = function (_a) {
391
411
  var onChange = useCallback(function (newValue) {
392
412
  onTextValueChange({ onValueChange: onValueChange, newValue: newValue, min: min, max: max });
393
413
  }, [max, min, onValueChange]);
394
- var contentRightToUse = hideButtons ? (contentRight) : (createElement(Fragment, null,
395
- contentRight && (createElement(Fragment, null,
414
+ var contentRightToUse = hideButtons ? (contentRight) : (React.createElement(React.Fragment, null,
415
+ contentRight && (React.createElement(React.Fragment, null,
396
416
  contentRight,
397
- createElement(Space, null))),
398
- createElement(UpDownButtons, { onClickUp: disabled ? undefined : function () { return onClick(step); }, onClickDown: disabled ? undefined : function () { return onClick(-step); }, iconColor: "var(--swui-textinput-text-color)", disabled: disabled })));
399
- return (createElement(TextInput, __assign({ contentRight: contentRightToUse, value: value, onValueChange: onChange, disableContentPaddingRight: !hideButtons, type: "number", min: min, max: max, step: step, className: cx$2(styles$4.numericTextInputInput, className), disabled: disabled }, restProps)));
417
+ React.createElement(Space, null))),
418
+ React.createElement(UpDownButtons, { onClickUp: disabled ? undefined : function () { return onClick(step); }, onClickDown: disabled ? undefined : function () { return onClick(-step); }, iconColor: "var(--swui-textinput-text-color)", disabled: disabled })));
419
+ return (React.createElement(TextInput, __assign({ contentRight: contentRightToUse, value: value, onValueChange: onChange, disableContentPaddingRight: !hideButtons, type: "number", min: min, max: max, step: step, className: cx$2(styles$1.numericTextInputInput, className), disabled: disabled }, restProps)));
400
420
  };
401
421
 
402
422
  var useNumericInputValue = function (value, onValueChange) {
@@ -428,10 +448,10 @@ var useNumericInputValue = function (value, onValueChange) {
428
448
  var PasswordInput = function (_a) {
429
449
  var _b = _a.hiddenIcon, hiddenIcon = _b === void 0 ? faEye : _b, _c = _a.visibleIcon, visibleIcon = _c === void 0 ? faEyeSlash : _c, props = __rest(_a, ["hiddenIcon", "visibleIcon"]);
430
450
  var _d = useState(true), isPassword = _d[0], setIsPassword = _d[1];
431
- return (createElement(TextInput, __assign({ iconRight: isPassword ? hiddenIcon : visibleIcon, onClickRight: function () { return setIsPassword(function (x) { return !x; }); }, type: isPassword ? "password" : "text" }, props)));
451
+ return (React.createElement(TextInput, __assign({ iconRight: isPassword ? hiddenIcon : visibleIcon, onClickRight: function () { return setIsPassword(function (x) { return !x; }); }, type: isPassword ? "password" : "text" }, props)));
432
452
  };
433
453
 
434
- var cx$1 = classNames.bind(styles$3);
454
+ var cx = classNames.bind(styles$2);
435
455
  var TextInputBox = function (_a) {
436
456
  var _b;
437
457
  var _c = _a.variant, variant = _c === void 0 ? "standard" : _c, disabled = _a.disabled, wrapperClassName = _a.wrapperClassName, wrapperStyle = _a.wrapperStyle, contentLeft = _a.contentLeft, contentRight = _a.contentRight, disableContentPadding = _a.disableContentPadding, disableContentPaddingLeft = _a.disableContentPaddingLeft, disableContentPaddingRight = _a.disableContentPaddingRight, iconRight = _a.iconRight, iconLeft = _a.iconLeft, onClickLeft = _a.onClickLeft, onClickRight = _a.onClickRight, children = _a.children;
@@ -440,18 +460,18 @@ var TextInputBox = function (_a) {
440
460
  : variant === "warning" || variant === "error"
441
461
  ? faExclamationTriangle
442
462
  : iconRight;
443
- var currentContentRight = variant === "loading" ? createElement(InputSpinner, null) : contentRight;
444
- return (createElement("div", { className: cx$1(styles$3.textInput, styles$3.inputContainer, styles$3[variant], (_b = {},
445
- _b[styles$3.disabled] = disabled,
463
+ var currentContentRight = variant === "loading" ? React.createElement(InputSpinner, null) : contentRight;
464
+ return (React.createElement("div", { className: cx(styles$2.textInput, styles$2.inputContainer, styles$2[variant], (_b = {},
465
+ _b[styles$2.disabled] = disabled,
446
466
  _b), wrapperClassName), style: wrapperStyle },
447
- createElement(TextInputIcon, { content: contentLeft, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: iconLeft, spaceOnLeft: true, onClick: onClickLeft }),
448
- createElement(Row, { alignItems: "center" }, children),
449
- createElement(TextInputIcon, { content: currentContentRight, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: currentIconRight, spaceOnRight: true, onClick: onClickRight })));
467
+ React.createElement(TextInputIcon, { content: contentLeft, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: iconLeft, spaceOnLeft: true, onClick: onClickLeft }),
468
+ React.createElement(Row, { alignItems: "center" }, children),
469
+ React.createElement(TextInputIcon, { content: currentContentRight, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: currentIconRight, spaceOnRight: true, onClick: onClickRight })));
450
470
  };
451
471
 
452
- var css_248z$5 = ".TextArea-module_textArea__RgCLh {\n --swui-textarea-text-color: var(--swui-field-text-color);\n --swui-textarea-text-color-disabled: var(--swui-field-text-color-disabled);\n --swui-textarea-letter-spacing: var(--swui-field-letter-spacing);\n --swui-textarea-line-height: var(--swui-field-text-line-height);\n --swui-textarea-indent: var(--swui-metrics-indent);\n --swui-textarea-spacing: calc(var(--swui-field-text-spacing) - 1px);\n --swui-textarea-font-size: var(--swui-font-size-inputs);\n --swui-textarea-font-family: var(--swui-font-input);\n --swui-textarea-font-weight: var(--swui-font-weight-inputs);\n --swui-textarea-placeholder-color: var(--swui-text-disabled-color);\n --swui-textarea-animation-time: var(--swui-animation-time-medium);\n --swui-textarea-icon-color: var(--swui-field-border-color-disabled);\n --swui-textarea-icon-size: var(--swui-field-icon-size);\n\n /* States */\n --swui-textarea-icon-color-success: var(--swui-state-success-color);\n\n --swui-textarea-bg-loading: var(--swui-state-loading-light-color);\n --swui-textarea-border-color-loading: var(--swui-state-loading-color);\n\n --swui-textarea-bg-modified: var(--swui-state-modified-light-color);\n --swui-textarea-border-color-modified: var(--swui-state-modified-color);\n\n --swui-textarea-bg-warning: var(--swui-state-alert-light-color);\n --swui-textarea-border-color-warning: var(--swui-state-alert-color);\n\n --swui-textarea-bg-error: var(--swui-state-error-light-color);\n --swui-textarea-border-color-error: var(--swui-state-error-color);\n\n /* Background */\n --swui-textarea-bg-color: var(--swui-field-bg-enabled);\n --swui-textarea-bg-color-disabled: var(--swui-field-bg-disabled);\n\n /* Border */\n --swui-textarea-border-radius: var(--swui-field-border-radius);\n --swui-textarea-border-color: var(--swui-field-border-color);\n --swui-textarea-border-color-hover: var(--swui-field-border-color-hover);\n --swui-textarea-border-color-disabled: var(\n --swui-field-border-color-disabled\n );\n /* Shadow */\n --swui-textarea-focus-shadow: var(--swui-field-focus-shadow);\n\n /*\n * Styling\n */\n max-width: 100%;\n letter-spacing: var(--swui-textarea-letter-spacing);\n line-height: var(--swui-textarea-line-height);\n padding: var(--swui-textarea-spacing) var(--swui-textarea-indent);\n color: var(--swui-textarea-text-color);\n font-size: var(--swui-textarea-font-size);\n font-family: var(--swui-textarea-font-family);\n font-weight: var(--swui-textarea-font-weight);\n\n background: var(--current-bg, var(--swui-textarea-bg-color));\n border: 1px solid\n var(--current-border-color, var(--swui-textarea-border-color));\n border-radius: var(--swui-textarea-border-radius);\n transition: border var(--swui-textarea-animation-time);\n --current-icon-color: var(--swui-textarea-icon-color);\n}\n\n .TextArea-module_textArea__RgCLh:focus {\n outline: none;\n box-shadow: var(--swui-textarea-focus-shadow);\n --current-border-color: var(--swui-textarea-border-color-hover);\n --current-bg: var(--swui-textarea-bg-color);\n }\n\n .TextArea-module_textArea__RgCLh:disabled {\n color: var(--swui-textarea-text-color-disabled);\n --current-bg: var(--swui-textarea-bg-color-disabled);\n --current-border-color: var(--swui-textarea-border-color-disabled);\n }\n";
453
- var styles$5 = {"textArea":"TextArea-module_textArea__RgCLh"};
454
- styleInject(css_248z$5);
472
+ var css_248z = ".TextArea-module_textArea__RgCLh {\n --swui-textarea-text-color: var(--swui-field-text-color);\n --swui-textarea-text-color-disabled: var(--swui-field-text-color-disabled);\n --swui-textarea-letter-spacing: var(--swui-field-letter-spacing);\n --swui-textarea-line-height: var(--swui-field-text-line-height);\n --swui-textarea-indent: var(--swui-metrics-indent);\n --swui-textarea-spacing: calc(var(--swui-field-text-spacing) - 1px);\n --swui-textarea-font-size: var(--swui-font-size-inputs);\n --swui-textarea-font-family: var(--swui-font-input);\n --swui-textarea-font-weight: var(--swui-font-weight-inputs);\n --swui-textarea-placeholder-color: var(--swui-text-disabled-color);\n --swui-textarea-animation-time: var(--swui-animation-time-medium);\n --swui-textarea-icon-color: var(--swui-field-border-color-disabled);\n --swui-textarea-icon-size: var(--swui-field-icon-size);\n\n /* States */\n --swui-textarea-icon-color-success: var(--swui-state-success-color);\n\n --swui-textarea-bg-loading: var(--swui-state-loading-light-color);\n --swui-textarea-border-color-loading: var(--swui-state-loading-color);\n\n --swui-textarea-bg-modified: var(--swui-state-modified-light-color);\n --swui-textarea-border-color-modified: var(--swui-state-modified-color);\n\n --swui-textarea-bg-warning: var(--swui-state-alert-light-color);\n --swui-textarea-border-color-warning: var(--swui-state-alert-color);\n\n --swui-textarea-bg-error: var(--swui-state-error-light-color);\n --swui-textarea-border-color-error: var(--swui-state-error-color);\n\n /* Background */\n --swui-textarea-bg-color: var(--swui-field-bg-enabled);\n --swui-textarea-bg-color-disabled: var(--swui-field-bg-disabled);\n\n /* Border */\n --swui-textarea-border-radius: var(--swui-field-border-radius);\n --swui-textarea-border-color: var(--swui-field-border-color);\n --swui-textarea-border-color-hover: var(--swui-field-border-color-hover);\n --swui-textarea-border-color-disabled: var(\n --swui-field-border-color-disabled\n );\n /* Shadow */\n --swui-textarea-focus-shadow: var(--swui-field-focus-shadow);\n\n /*\n * Styling\n */\n max-width: 100%;\n letter-spacing: var(--swui-textarea-letter-spacing);\n line-height: var(--swui-textarea-line-height);\n padding: var(--swui-textarea-spacing) var(--swui-textarea-indent);\n color: var(--swui-textarea-text-color);\n font-size: var(--swui-textarea-font-size);\n font-family: var(--swui-textarea-font-family);\n font-weight: var(--swui-textarea-font-weight);\n\n background: var(--current-bg, var(--swui-textarea-bg-color));\n border: 1px solid\n var(--current-border-color, var(--swui-textarea-border-color));\n border-radius: var(--swui-textarea-border-radius);\n transition: border var(--swui-textarea-animation-time);\n --current-icon-color: var(--swui-textarea-icon-color);\n}\n\n .TextArea-module_textArea__RgCLh:focus {\n outline: none;\n box-shadow: var(--swui-textarea-focus-shadow);\n --current-border-color: var(--swui-textarea-border-color-hover);\n --current-bg: var(--swui-textarea-bg-color);\n }\n\n .TextArea-module_textArea__RgCLh:disabled {\n color: var(--swui-textarea-text-color-disabled);\n --current-bg: var(--swui-textarea-bg-color-disabled);\n --current-border-color: var(--swui-textarea-border-color-disabled);\n }\n";
473
+ var styles = {"textArea":"TextArea-module_textArea__RgCLh"};
474
+ styleInject(css_248z);
455
475
 
456
476
  var TextArea = forwardRef(function (_a, ref) {
457
477
  var className = _a.className, value = _a.value, onValueChange = _a.onValueChange, onChange = _a.onChange, _b = _a.resize, resize = _b === void 0 ? "none" : _b, _c = _a.readOnly, readOnly = _c === void 0 ? false : _c, rows = _a.rows, disabled = _a.disabled, textAreaProps = __rest(_a, ["className", "value", "onValueChange", "onChange", "resize", "readOnly", "rows", "disabled"]);
@@ -463,8 +483,8 @@ var TextArea = forwardRef(function (_a, ref) {
463
483
  onValueChange(ev.target.value);
464
484
  }
465
485
  }, [onChange, onValueChange]);
466
- return (createElement("textarea", __assign({ disabled: disabled, rows: rows, readOnly: readOnly, className: cx$2(styles$5.textArea, className), style: { resize: resize }, onChange: onChangeHandler, value: value, ref: ref }, textAreaProps)));
486
+ return (React.createElement("textarea", __assign({ disabled: disabled, rows: rows, readOnly: readOnly, className: cx$2(styles.textArea, className), style: { resize: resize }, onChange: onChangeHandler, value: value, ref: ref }, textAreaProps)));
467
487
  });
468
488
 
469
- export { Checkbox, CheckboxWithLabel, NumericTextInput, PasswordInput, RadioButton, RadioButtonWithLabel, Switch, SwitchWithLabel, TextArea, TextInput, TextInputBox, onStepValueChange, onTextValueChange, useKeyboardNavigation, useNumericInputValue, useSelectAllOnMount, useTextInput };
489
+ export { Checkbox, CheckboxWithLabel, NumericTextInput, PasswordInput, RadioButton, RadioButtonWithLabel, Switch, SwitchWithLabel, TextArea, TextInput, TextInputBox, elementHasSelectionRange, onStepValueChange, onTextValueChange, useKeyboardNavigation, useNumericInputValue, useSelectAllOnMount, useTextInput };
470
490
  //# sourceMappingURL=index.es.js.map