@stenajs-webui/forms 15.7.0 → 17.0.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/dist/components/ui/text-input/TextInputBox.d.ts +2 -0
- package/dist/index.es.js +10 -13
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +8 -12
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
# v17.0.0 (Fri Jun 17 2022)
|
|
2
|
+
|
|
3
|
+
#### 💥 Breaking Change
|
|
4
|
+
|
|
5
|
+
- Upgrade and apply prettier. [#467](https://github.com/StenaIT/stenajs-webui/pull/467) ([@mattias800](https://github.com/mattias800))
|
|
6
|
+
|
|
7
|
+
#### 🔩 Dependency Updates
|
|
8
|
+
|
|
9
|
+
- Update Typescript, React, Jest, etc. [#466](https://github.com/StenaIT/stenajs-webui/pull/466) ([@mattias800](https://github.com/mattias800))
|
|
10
|
+
|
|
11
|
+
#### Authors: 1
|
|
12
|
+
|
|
13
|
+
- Mattias Andersson ([@mattias800](https://github.com/mattias800))
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# v16.1.0 (Fri Jun 17 2022)
|
|
18
|
+
|
|
19
|
+
#### 🚀 Enhancement
|
|
20
|
+
|
|
21
|
+
- Accessible font-sizes using `rem` instead of `px` [#458](https://github.com/StenaIT/stenajs-webui/pull/458) ([@mattias800](https://github.com/mattias800))
|
|
22
|
+
|
|
23
|
+
#### Authors: 1
|
|
24
|
+
|
|
25
|
+
- Mattias Andersson ([@mattias800](https://github.com/mattias800))
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
1
29
|
# v15.7.0 (Tue Jun 14 2022)
|
|
2
30
|
|
|
3
31
|
#### 🚀 Enhancement
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { ReactNode } from "react";
|
|
2
3
|
import { TextInputProps } from "./TextInput";
|
|
3
4
|
export interface TextInputBoxProps extends Pick<TextInputProps, "variant" | "wrapperClassName" | "disabled" | "wrapperStyle" | "contentLeft" | "contentRight" | "disableContentPadding" | "disableContentPaddingLeft" | "disableContentPaddingRight" | "iconRight" | "iconLeft" | "onClickLeft" | "onClickRight"> {
|
|
5
|
+
children?: ReactNode;
|
|
4
6
|
}
|
|
5
7
|
export declare const TextInputBox: React.FC<TextInputBoxProps>;
|
package/dist/index.es.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { forwardRef, useRef, useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { Box, Space, Text, Row, parseFloatElseUndefined } from '@stenajs-webui/core';
|
|
4
|
-
import cx
|
|
4
|
+
import cx from 'classnames';
|
|
5
5
|
import { FlatButton, InputSpinner, UpDownButtons } from '@stenajs-webui/elements';
|
|
6
6
|
import { faCheck } from '@fortawesome/free-solid-svg-icons/faCheck';
|
|
7
7
|
import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons/faExclamationTriangle';
|
|
8
|
-
import classNames from 'classnames/bind';
|
|
9
8
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
10
9
|
import { faEye } from '@fortawesome/free-solid-svg-icons/faEye';
|
|
11
10
|
import { faEyeSlash } from '@fortawesome/free-solid-svg-icons/faEyeSlash';
|
|
@@ -79,7 +78,7 @@ var css_248z$5 = ".Switch-module_switch__aK2ff {\n --swui-switch-width: 50px;\n
|
|
|
79
78
|
var styles$5 = {"switch":"Switch-module_switch__aK2ff","knob":"Switch-module_knob__1Kx4S","filler":"Switch-module_filler__184NF","checked":"Switch-module_checked__EgDKL"};
|
|
80
79
|
styleInject(css_248z$5);
|
|
81
80
|
|
|
82
|
-
var styleChecked = styles$5.switch
|
|
81
|
+
var styleChecked = "".concat(styles$5.switch, " ").concat(styles$5.checked);
|
|
83
82
|
var Switch = function (_a) {
|
|
84
83
|
var value = _a.value, disabled = _a.disabled, onValueChange = _a.onValueChange, className = _a.className, wrapperRef = _a.wrapperRef, restProps = __rest(_a, ["value", "disabled", "onValueChange", "className", "wrapperRef"]);
|
|
85
84
|
return (React.createElement("div", { className: className, ref: wrapperRef },
|
|
@@ -98,7 +97,7 @@ var SwitchWithLabel = function (_a) {
|
|
|
98
97
|
React.createElement(Text, { userSelect: "none", color: textColor }, label)))));
|
|
99
98
|
};
|
|
100
99
|
|
|
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 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:
|
|
100
|
+
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 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: 1.4rem;\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
101
|
var styles$4 = {"checkbox":"Checkbox-module_checkbox__Ey0_E","standard":"Checkbox-module_standard__1WgNJ","small":"Checkbox-module_small__IGbRq"};
|
|
103
102
|
styleInject(css_248z$4);
|
|
104
103
|
|
|
@@ -132,7 +131,7 @@ var Checkbox = forwardRef(function (_a, ref) {
|
|
|
132
131
|
localRef.current.indeterminate = Boolean(indeterminate);
|
|
133
132
|
}
|
|
134
133
|
}, [indeterminate, localRef]);
|
|
135
|
-
return (React.createElement("input", __assign({ type: "checkbox", className: cx
|
|
134
|
+
return (React.createElement("input", __assign({ type: "checkbox", className: cx(styles$4.checkbox, styles$4[size]), checked: value, onChange: handleInputChange, ref: setRef }, inputProps)));
|
|
136
135
|
});
|
|
137
136
|
|
|
138
137
|
var CheckboxWithLabel = function (_a) {
|
|
@@ -146,7 +145,7 @@ var CheckboxWithLabel = function (_a) {
|
|
|
146
145
|
children))));
|
|
147
146
|
};
|
|
148
147
|
|
|
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 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:
|
|
148
|
+
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 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: 1.4rem;\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
149
|
var styles$3 = {"radiobutton":"RadioButton-module_radiobutton__13XTW","standard":"RadioButton-module_standard__PVQ2A","small":"RadioButton-module_small__37EpP"};
|
|
151
150
|
styleInject(css_248z$3);
|
|
152
151
|
|
|
@@ -322,11 +321,10 @@ var TextInputIcon = function (_a) {
|
|
|
322
321
|
}
|
|
323
322
|
return (React.createElement(React.Fragment, null,
|
|
324
323
|
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
|
|
324
|
+
icon && (React.createElement(React.Fragment, null, onClick ? (React.createElement(FlatButton, { onClick: onClick, leftIcon: icon, size: "small" })) : (React.createElement(FontAwesomeIcon, { icon: icon, className: cx(styles$2.icon, iconClassName) })))),
|
|
326
325
|
spaceOnRight ? React.createElement(Space, null) : null));
|
|
327
326
|
};
|
|
328
327
|
|
|
329
|
-
var cx$1 = classNames.bind(styles$2);
|
|
330
328
|
var TextInput = function (props) {
|
|
331
329
|
var _a, _b;
|
|
332
330
|
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"]);
|
|
@@ -352,13 +350,13 @@ var TextInput = function (props) {
|
|
|
352
350
|
? faExclamationTriangle
|
|
353
351
|
: iconRight;
|
|
354
352
|
var currentContentRight = variant === "loading" ? React.createElement(InputSpinner, null) : contentRight;
|
|
355
|
-
return (React.createElement("div", { className: cx
|
|
353
|
+
return (React.createElement("div", { className: cx(styles$2.textInput, styles$2[variant], (_a = {},
|
|
356
354
|
_a[styles$2.disabled] = disabled,
|
|
357
355
|
_a), (_b = {},
|
|
358
356
|
_b[styles$2.hideBorder] = hideBorder,
|
|
359
357
|
_b), wrapperClassName), style: wrapperStyle },
|
|
360
358
|
React.createElement(TextInputIcon, { content: contentLeft, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: iconLeft, spaceOnLeft: true, onClick: onClickLeft }),
|
|
361
|
-
React.createElement("input", __assign({ className: cx
|
|
359
|
+
React.createElement("input", __assign({ className: cx(styles$2.input, className), type: "text", disabled: disabled, ref: refToUse, autoFocus: autoFocus }, inputProps, hookProps)),
|
|
362
360
|
React.createElement(TextInputIcon, { content: currentContentRight, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: currentIconRight, spaceOnRight: true, onClick: onClickRight })));
|
|
363
361
|
};
|
|
364
362
|
|
|
@@ -416,7 +414,7 @@ var NumericTextInput = function (_a) {
|
|
|
416
414
|
contentRight,
|
|
417
415
|
React.createElement(Space, null))),
|
|
418
416
|
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
|
|
417
|
+
return (React.createElement(TextInput, __assign({ contentRight: contentRightToUse, value: value, onValueChange: onChange, disableContentPaddingRight: !hideButtons, type: "number", min: min, max: max, step: step, className: cx(styles$1.numericTextInputInput, className), disabled: disabled }, restProps)));
|
|
420
418
|
};
|
|
421
419
|
|
|
422
420
|
var useNumericInputValue = function (value, onValueChange) {
|
|
@@ -451,7 +449,6 @@ var PasswordInput = function (_a) {
|
|
|
451
449
|
return (React.createElement(TextInput, __assign({ iconRight: isPassword ? hiddenIcon : visibleIcon, onClickRight: function () { return setIsPassword(function (x) { return !x; }); }, type: isPassword ? "password" : "text" }, props)));
|
|
452
450
|
};
|
|
453
451
|
|
|
454
|
-
var cx = classNames.bind(styles$2);
|
|
455
452
|
var TextInputBox = function (_a) {
|
|
456
453
|
var _b;
|
|
457
454
|
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;
|
|
@@ -483,7 +480,7 @@ var TextArea = forwardRef(function (_a, ref) {
|
|
|
483
480
|
onValueChange(ev.target.value);
|
|
484
481
|
}
|
|
485
482
|
}, [onChange, onValueChange]);
|
|
486
|
-
return (React.createElement("textarea", __assign({ disabled: disabled, rows: rows, readOnly: readOnly, className: cx
|
|
483
|
+
return (React.createElement("textarea", __assign({ disabled: disabled, rows: rows, readOnly: readOnly, className: cx(styles.textArea, className), style: { resize: resize }, onChange: onChangeHandler, value: value, ref: ref }, textAreaProps)));
|
|
487
484
|
});
|
|
488
485
|
|
|
489
486
|
export { Checkbox, CheckboxWithLabel, NumericTextInput, PasswordInput, RadioButton, RadioButtonWithLabel, Switch, SwitchWithLabel, TextArea, TextInput, TextInputBox, elementHasSelectionRange, onStepValueChange, onTextValueChange, useKeyboardNavigation, useNumericInputValue, useSelectAllOnMount, useTextInput };
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/ui/switch/Switch.tsx","../src/components/ui/switch/SwitchWithLabel.tsx","../src/components/ui/checkbox/Checkbox.tsx","../src/components/ui/checkbox/CheckboxWithLabel.tsx","../src/components/ui/radio/RadioButton.tsx","../src/components/ui/radio/RadioButtonWithLabel.tsx","../src/hooks/UseKeyboardNavigation.ts","../src/hooks/UseSelectAllOnMount.ts","../src/hooks/UseTextInput.ts","../src/components/ui/text-input/TextInputIcon.tsx","../src/components/ui/text-input/TextInput.tsx","../src/utils/NumericHelpers.ts","../src/components/ui/numeric-text-input/NumericTextInput.tsx","../src/components/ui/numeric-text-input/hooks/UseNumericInputValue.ts","../src/components/ui/password-input/PasswordInput.tsx","../src/components/ui/text-input/TextInputBox.tsx","../src/components/ui/text-area/TextArea.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { Ref } from \"react\";\nimport * as React from \"react\";\nimport { ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ValueAndOnValueChangeProps } from \"../types\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps\n extends Omit<ButtonElementProps, \"value\">,\n ValueAndOnValueChangeProps<boolean> {\n wrapperRef?: Ref<HTMLDivElement>;\n}\n\nconst styleChecked = `${styles.switch} ${styles.checked}`;\n\nexport const Switch: React.FC<SwitchProps> = ({\n value,\n disabled,\n onValueChange,\n className,\n wrapperRef,\n ...restProps\n}) => {\n return (\n <div className={className} ref={wrapperRef}>\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={value}\n className={value ? styleChecked : styles.switch}\n disabled={disabled}\n onClick={() => onValueChange && onValueChange(!value)}\n {...restProps}\n >\n <div className={styles.filler} />\n <div className={styles.knob} />\n </button>\n </div>\n );\n};\n","import { Box, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Switch, SwitchProps } from \"./Switch\";\n\nexport interface SwitchWithLabelProps extends SwitchProps {\n label: string;\n textColor?: string;\n}\n\nexport const SwitchWithLabel: React.FC<SwitchWithLabelProps> = ({\n label,\n disabled,\n textColor,\n wrapperRef,\n ...switchProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Box row alignItems={\"center\"}>\n <Switch disabled={disabled} {...switchProps} />\n <Space />\n <Text userSelect={\"none\"} color={textColor}>\n {label}\n </Text>\n </Box>\n </label>\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n forwardRef,\n MutableRefObject,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { FullOnChangeProps } from \"../types\";\nimport cx from \"classnames\";\nimport styles from \"./Checkbox.module.css\";\n\nexport type CheckboxSize = \"standard\" | \"small\";\n\nexport interface CheckboxProps\n extends FullOnChangeProps<boolean, ChangeEvent<HTMLInputElement>>,\n Omit<ComponentPropsWithoutRef<\"input\">, \"size\" | \"value\"> {\n indeterminate?: boolean;\n size?: CheckboxSize;\n disabled?: boolean;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n indeterminate = false,\n onChange,\n onValueChange,\n value = false,\n size = \"standard\",\n ...inputProps\n },\n ref\n ) => {\n const localRef = useRef<HTMLInputElement>();\n\n const setRef = (element: HTMLInputElement) => {\n localRef.current = element;\n if (localRef.current) {\n localRef.current.indeterminate = Boolean(indeterminate);\n }\n if (ref) {\n if (typeof ref === \"function\") {\n ref(element);\n } else {\n (ref as MutableRefObject<HTMLInputElement>).current = element;\n }\n }\n };\n\n const handleInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.checked);\n }\n },\n [onChange, onValueChange]\n );\n\n useEffect(() => {\n if (localRef.current) {\n localRef.current.indeterminate = Boolean(indeterminate);\n }\n }, [indeterminate, localRef]);\n\n return (\n <input\n type={\"checkbox\"}\n className={cx(styles.checkbox, styles[size])}\n checked={value}\n onChange={handleInputChange}\n ref={setRef}\n {...inputProps}\n />\n );\n }\n);\n","import { Row, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Ref } from \"react\";\nimport { Checkbox, CheckboxProps } from \"./Checkbox\";\n\nexport interface CheckboxWithLabelProps extends CheckboxProps {\n label?: string;\n textColor?: string;\n wrapperRef?: Ref<HTMLDivElement>;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const CheckboxWithLabel: React.FC<CheckboxWithLabelProps> = ({\n children,\n label,\n inputRef,\n wrapperRef,\n textColor,\n ...checkboxProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Row alignItems={\"center\"}>\n <Checkbox {...checkboxProps} ref={inputRef} />\n <Space />\n {label && (\n <Text userSelect={\"none\"} color={textColor}>\n {label}\n </Text>\n )}\n {children}\n </Row>\n </label>\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { FullOnChangeProps } from \"../types\";\nimport styles from \"./RadioButton.module.css\";\n\nexport type RadioButtonSize = \"standard\" | \"small\";\n\nexport interface RadioButtonProps\n extends FullOnChangeProps<string, ChangeEvent<HTMLInputElement>>,\n Omit<ComponentPropsWithoutRef<\"input\">, \"size\" | \"value\"> {\n size?: RadioButtonSize;\n}\n\nexport const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(\n (\n { onChange, onValueChange, size = \"standard\", name, ...inputProps },\n ref\n ) => {\n const handleInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.value);\n }\n },\n [onChange, onValueChange]\n );\n\n return (\n <input\n type={\"radio\"}\n name={name}\n className={styles.radiobutton + \" \" + styles[size]}\n onChange={handleInputChange}\n ref={ref}\n {...inputProps}\n />\n );\n }\n);\n","import { Row, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Ref } from \"react\";\nimport { RadioButton, RadioButtonProps } from \"./RadioButton\";\n\nexport interface RadioButtonWithLabelProps extends RadioButtonProps {\n label: string;\n textColor?: string;\n wrapperRef?: Ref<HTMLDivElement>;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const RadioButtonWithLabel: React.FC<RadioButtonWithLabelProps> = ({\n label,\n inputRef,\n wrapperRef,\n textColor,\n ...radioButtonProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Row alignItems={\"center\"}>\n <RadioButton ref={inputRef} {...radioButtonProps} />\n <Space />\n <Text color={textColor} userSelect={\"none\"}>\n {label}\n </Text>\n </Row>\n </label>\n </div>\n );\n};\n","import {\n FocusEventHandler,\n KeyboardEvent,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n useRef,\n} from \"react\";\n\nexport type MoveDirection = \"right\" | \"left\" | \"down\" | \"up\";\nexport type TextInputElement = HTMLTextAreaElement | HTMLInputElement;\n\nexport const useKeyboardNavigation = <TElement extends TextInputElement>(\n ref: RefObject<TElement>,\n /**\n * User-provided onKeyDown. Internal handler should forward calls to this.\n * */\n onKeyDown: KeyboardEventHandler<TElement> | undefined,\n onEnter: (() => void) | undefined,\n onEsc: (() => void) | undefined,\n /**\n * onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab.\n * */\n onMove: ((direction: MoveDirection) => void) | undefined,\n onDone: ((value: string) => void) | undefined,\n onBlur: FocusEventHandler<TElement> | undefined,\n onFocus: FocusEventHandler<TElement> | undefined\n) => {\n const wasHandled = useRef(false);\n\n const onBlurHandler: FocusEventHandler<TElement> = (ev) => {\n if (!wasHandled.current) {\n onDone?.(ev.target.value ?? \"\");\n }\n onBlur?.(ev);\n };\n\n const onFocusHandler: FocusEventHandler<TElement> = (ev) => {\n wasHandled.current = false;\n onFocus?.(ev);\n };\n\n const onKeyDownHandler: KeyboardEventHandler<TElement> = useCallback(\n (ev) => {\n const { key } = ev;\n if (key === \"Enter\") {\n wasHandled.current = true;\n onEnter?.();\n onDone?.(ev.currentTarget.value ?? \"\");\n } else if (key === \"Escape\") {\n wasHandled.current = true;\n onEsc?.();\n ev.preventDefault();\n ev.stopPropagation();\n } else if (onMove) {\n const blurMoveAndCancel = (\n direction: MoveDirection,\n e: KeyboardEvent<TElement>\n ) => {\n wasHandled.current = true;\n ref.current!.blur();\n onMove(direction);\n e.preventDefault();\n e.stopPropagation();\n };\n\n if (ev.shiftKey && key === \"Tab\") {\n blurMoveAndCancel(\"left\", ev);\n } else if (key === \"Tab\") {\n blurMoveAndCancel(\"right\", ev);\n } else if (key === \"ArrowUp\") {\n blurMoveAndCancel(\"up\", ev);\n } else if (key === \"ArrowDown\") {\n blurMoveAndCancel(\"down\", ev);\n } else if (key === \"ArrowRight\") {\n if (ref.current!.value.length === ref.current!.selectionStart) {\n blurMoveAndCancel(\"right\", ev);\n }\n } else if (key === \"ArrowLeft\") {\n if (ref.current!.selectionStart === 0) {\n blurMoveAndCancel(\"left\", ev);\n }\n }\n }\n\n if (onKeyDown) {\n onKeyDown(ev);\n }\n },\n [onEsc, onMove, onKeyDown, ref, onEnter, onDone]\n );\n\n return {\n onKeyDownHandler,\n onBlurHandler,\n onFocusHandler,\n };\n};\n","import { RefObject, useEffect } from \"react\";\nimport { TextInputElement } from \"./UseKeyboardNavigation\";\n\nexport function elementHasSelectionRange(element: TextInputElement): boolean {\n if (element.tagName === \"TEXTAREA\") {\n return true;\n }\n\n if (\n element.tagName === \"INPUT\" &&\n (element.type === \"text\" ||\n element.type === \"search\" ||\n element.type === \"url\" ||\n element.type === \"tel\" ||\n element.type === \"password\")\n ) {\n return true;\n }\n\n return false;\n}\n\nexport const useSelectAllOnMount = (\n ref: RefObject<TextInputElement>,\n moveCursorToEnd: boolean,\n enabled: boolean\n) => {\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n /*\n `selectionStart`, `selectionEnd` properties and `setSelectionRange` method apply only to inputs of types text, search, URL, tel and password.\n Chrome, starting from version 33, throws an exception while accessing those properties and method on the rest of input types.\n https://html.spec.whatwg.org/multipage/input.html#concept-input-apply\n */\n if (!elementHasSelectionRange(ref.current)) {\n return;\n }\n\n if (enabled) {\n ref.current.setSelectionRange(0, ref.current.value.length);\n } else if (moveCursorToEnd) {\n ref.current.setSelectionRange(\n ref.current.value.length,\n ref.current.value.length\n );\n }\n }, [moveCursorToEnd, ref, enabled]);\n};\n","import {\n ChangeEvent,\n ChangeEventHandler,\n CSSProperties,\n FocusEventHandler,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n} from \"react\";\nimport { TextInputVariant } from \"../components/ui/text-input/TextInput\";\nimport {\n MoveDirection,\n TextInputElement,\n useKeyboardNavigation,\n} from \"./UseKeyboardNavigation\";\nimport { useSelectAllOnMount } from \"./UseSelectAllOnMount\";\nimport { FullOnChangeProps } from \"../components/ui/types\";\n\ninterface UseTextInputOptions<TElement extends TextInputElement>\n extends FullOnChangeProps<string, ChangeEvent<TElement>> {\n wrapperStyle?: CSSProperties;\n wrapperClassName?: string;\n variant?: TextInputVariant;\n hideBorder?: boolean;\n selectAllOnMount?: boolean;\n moveCursorToEndOnMount?: boolean;\n onDone?: (value: string) => void;\n onEnter?: () => void;\n onEsc?: () => void;\n autoFocus?: boolean;\n /** onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab. */\n onMove?: (direction: MoveDirection) => void;\n onFocus?: FocusEventHandler<TElement>;\n onBlur?: FocusEventHandler<TElement>;\n onKeyDown?: KeyboardEventHandler<TElement>;\n}\n\ninterface UseTextInputHookResult<TElement extends TextInputElement> {\n autoFocus?: boolean;\n onChange: ChangeEventHandler<TElement>;\n onFocus: FocusEventHandler<TElement>;\n onBlur: FocusEventHandler<TElement>;\n onKeyDown: KeyboardEventHandler<TElement>;\n}\n\nexport const useTextInput = <TElement extends TextInputElement>(\n ref: RefObject<TElement>,\n {\n onEnter,\n onEsc,\n onChange,\n onValueChange,\n selectAllOnMount,\n moveCursorToEndOnMount,\n onDone,\n onMove,\n onFocus,\n onBlur,\n onKeyDown,\n autoFocus,\n }: UseTextInputOptions<TElement>\n): UseTextInputHookResult<TElement> => {\n useSelectAllOnMount(ref, !!moveCursorToEndOnMount, !!selectAllOnMount);\n\n const {\n onKeyDownHandler,\n onFocusHandler,\n onBlurHandler,\n } = useKeyboardNavigation<TElement>(\n ref,\n onKeyDown,\n onEnter,\n onEsc,\n onMove,\n onDone,\n onBlur,\n onFocus\n );\n\n const onChangeHandler = useCallback<ChangeEventHandler<TElement>>(\n (ev) => {\n onChange?.(ev);\n onValueChange?.(ev.target.value);\n },\n [onChange, onValueChange]\n );\n\n return {\n onBlur: onBlurHandler,\n onChange: onChangeHandler,\n onFocus: onFocusHandler,\n onKeyDown: onKeyDownHandler,\n autoFocus: selectAllOnMount || autoFocus,\n };\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./TextInput.module.css\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\n\nexport interface TextInputIconProps {\n iconClassName?: string;\n content?: React.ReactNode;\n icon?: IconDefinition;\n spaceOnRight?: boolean;\n spaceOnLeft?: boolean;\n disableContentPadding?: boolean;\n disableContentPaddingLeft?: boolean;\n disableContentPaddingRight?: boolean;\n onClick?: () => void;\n}\n\nexport const TextInputIcon: React.FC<TextInputIconProps> = ({\n icon,\n iconClassName,\n content,\n spaceOnLeft,\n spaceOnRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n onClick,\n}) => {\n if (!content && !icon) {\n return null;\n }\n\n if (content) {\n return (\n <>\n {spaceOnLeft &&\n !(disableContentPadding || disableContentPaddingLeft) ? (\n <Space />\n ) : null}\n {onClick ? (\n <span onClick={onClick} className={styles.clickable}>\n {content || null}\n </span>\n ) : (\n <>{content || null}</>\n )}\n\n {spaceOnRight &&\n !(disableContentPadding || disableContentPaddingRight) ? (\n <Space />\n ) : null}\n </>\n );\n }\n\n return (\n <>\n {spaceOnLeft ? <Space /> : null}\n {icon && (\n <>\n {onClick ? (\n <FlatButton onClick={onClick} leftIcon={icon} size={\"small\"} />\n ) : (\n <FontAwesomeIcon\n icon={icon}\n className={cx(styles.icon, iconClassName)}\n />\n )}\n </>\n )}\n {spaceOnRight ? <Space /> : null}\n </>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons/faCheck\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { InputProps } from \"@stenajs-webui/core\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport classNames from \"classnames/bind\";\nimport * as React from \"react\";\nimport { ChangeEvent, CSSProperties, useRef } from \"react\";\nimport { MoveDirection } from \"../../../hooks/UseKeyboardNavigation\";\nimport { useTextInput } from \"../../../hooks/UseTextInput\";\nimport { FullOnChangeProps } from \"../types\";\nimport styles from \"./TextInput.module.css\";\nimport { TextInputIcon } from \"./TextInputIcon\";\n\nconst cx = classNames.bind(styles);\n\nexport type TextInputVariant =\n | \"standard\"\n | \"loading\"\n | \"warning\"\n | \"error\"\n | \"modified\"\n | \"success\";\n\ninterface ExtraContent {\n /** React node to put to the left. Left icon is ignored if this is set. */\n contentLeft?: React.ReactNode;\n /** React node to put to the right. Right icon is ignored if this is set. */\n contentRight?: React.ReactNode;\n /** If true, there will be no padding between contentLeft/contentRight and the border. */\n disableContentPadding?: boolean;\n /** If true, there will be no padding between contentLeft and the border. */\n disableContentPaddingLeft?: boolean;\n /** If true, there will be no padding between contentRight and the border. */\n disableContentPaddingRight?: boolean;\n /** Icon on the left side. */\n iconLeft?: IconDefinition;\n /** Icon on the right side. */\n iconRight?: IconDefinition;\n /** On click left. */\n onClickLeft?: () => void;\n /** On click right. */\n onClickRight?: () => void;\n}\n\nexport interface TextInputProps\n extends FullOnChangeProps<string, ChangeEvent<HTMLInputElement>>,\n InputProps,\n ExtraContent {\n wrapperStyle?: CSSProperties;\n wrapperClassName?: string;\n variant?: TextInputVariant;\n hideBorder?: boolean;\n selectAllOnMount?: boolean;\n moveCursorToEndOnMount?: boolean;\n onDone?: (value: string) => void;\n onEnter?: () => void;\n onEsc?: () => void;\n autoFocus?: boolean;\n /** onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab. */\n onMove?: (direction: MoveDirection) => void;\n}\n\nexport const TextInput: React.FC<TextInputProps> = (props) => {\n const {\n variant = \"standard\",\n inputRef,\n disabled,\n className,\n contentLeft,\n contentRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n iconLeft,\n iconRight,\n onClickLeft,\n onClickRight,\n moveCursorToEndOnMount,\n selectAllOnMount,\n autoFocus,\n onValueChange,\n wrapperClassName,\n wrapperStyle,\n onDone,\n onEnter,\n onEsc,\n onMove,\n onChange,\n onKeyDown,\n hideBorder,\n onFocus,\n onBlur,\n ...inputProps\n } = props;\n const localRef = useRef<HTMLInputElement>(null);\n const refToUse = inputRef ?? localRef;\n const hookProps = useTextInput<HTMLInputElement>(refToUse, {\n onEnter,\n onEsc,\n onChange,\n onValueChange,\n selectAllOnMount,\n moveCursorToEndOnMount,\n onDone,\n onMove,\n onFocus,\n onBlur,\n onKeyDown,\n autoFocus,\n });\n\n const currentIconRight =\n variant === \"success\"\n ? faCheck\n : variant === \"warning\" || variant === \"error\"\n ? faExclamationTriangle\n : iconRight;\n\n const currentContentRight =\n variant === \"loading\" ? <InputSpinner /> : contentRight;\n\n return (\n <div\n className={cx(\n styles.textInput,\n styles[variant],\n {\n [styles.disabled]: disabled,\n },\n {\n [styles.hideBorder]: hideBorder,\n },\n wrapperClassName\n )}\n style={wrapperStyle}\n >\n <TextInputIcon\n content={contentLeft}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={iconLeft}\n spaceOnLeft\n onClick={onClickLeft}\n />\n <input\n className={cx(styles.input, className)}\n type={\"text\"}\n disabled={disabled}\n ref={refToUse}\n autoFocus={autoFocus}\n {...inputProps}\n {...hookProps}\n />\n <TextInputIcon\n content={currentContentRight}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={currentIconRight}\n spaceOnRight\n onClick={onClickRight}\n />\n </div>\n );\n};\n","import { parseFloatElseUndefined } from \"@stenajs-webui/core\";\n\nexport const onStepValueChange = ({\n onValueChange,\n value,\n numSteps,\n min,\n max,\n}: {\n onValueChange: ((value: string) => void) | undefined;\n value: string | undefined;\n numSteps: number;\n min: number | undefined;\n max: number | undefined;\n}) => {\n if (onValueChange) {\n if (!value) {\n onValueChange(String(limitWithinRange(numSteps, min, max)));\n } else {\n const parsedValue = parseFloatElseUndefined(value);\n const newValue = (parsedValue || 0) + numSteps;\n onValueChange(String(limitWithinRange(newValue, min, max)));\n }\n }\n};\n\nexport const onTextValueChange = ({\n onValueChange,\n newValue,\n min,\n max,\n}: {\n onValueChange: ((value: string) => void) | undefined;\n newValue: string;\n min: number | undefined;\n max: number | undefined;\n}) => {\n if (onValueChange) {\n if (newValue === \"\") {\n onValueChange(\"\");\n } else {\n const parsedValue = parseFloatElseUndefined(newValue);\n const value = parsedValue || 0;\n onValueChange(String(limitWithinRange(value, min, max)));\n }\n }\n};\n\nconst limitWithinRange = (\n value: number,\n min?: number,\n max?: number\n): number => {\n let v = value;\n if (min != null) {\n v = Math.max(min, v);\n }\n if (max != null) {\n v = Math.min(max, v);\n }\n return v;\n};\n","import { Omit, Space } from \"@stenajs-webui/core\";\nimport { UpDownButtons } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { TextInput, TextInputProps } from \"../text-input/TextInput\";\nimport styles from \"./NumericTextInput.module.css\";\nimport cx from \"classnames\";\nimport {\n onStepValueChange,\n onTextValueChange,\n} from \"../../../utils/NumericHelpers\";\n\nexport interface NumericTextInputProps\n extends Omit<\n TextInputProps,\n | \"onChange\" // Omit onChange, since up down buttons don't generate HTMLInput event.\n | \"selectAllOnMount\" // Not supported by browser when input type='number'\n | \"moveCursorToEndOnMount\" // Not supported by browser when input type='number'\n > {\n max?: number;\n min?: number;\n step?: number;\n hideButtons?: boolean;\n}\n\nexport const NumericTextInput: React.FC<NumericTextInputProps> = ({\n value,\n onValueChange,\n max,\n min,\n step = 1,\n contentRight,\n disabled,\n className,\n hideButtons,\n ...restProps\n}) => {\n const onClick = useCallback(\n (numSteps: number) => {\n onStepValueChange({ onValueChange, value, numSteps, min, max });\n },\n [value, max, min, onValueChange]\n );\n const onChange = useCallback(\n (newValue: string) => {\n onTextValueChange({ onValueChange, newValue, min, max });\n },\n [max, min, onValueChange]\n );\n\n const contentRightToUse = hideButtons ? (\n contentRight\n ) : (\n <>\n {contentRight && (\n <>\n {contentRight}\n <Space />\n </>\n )}\n <UpDownButtons\n onClickUp={disabled ? undefined : () => onClick(step)}\n onClickDown={disabled ? undefined : () => onClick(-step)}\n iconColor={\"var(--swui-textinput-text-color)\"}\n disabled={disabled}\n />\n </>\n );\n\n return (\n <TextInput\n contentRight={contentRightToUse}\n value={value}\n onValueChange={onChange}\n disableContentPaddingRight={!hideButtons}\n type={\"number\"}\n min={min}\n max={max}\n step={step}\n className={cx(styles.numericTextInputInput, className)}\n disabled={disabled}\n {...restProps}\n />\n );\n};\n","import { useCallback, useMemo } from \"react\";\nimport { ValueAndOnValueChangeProps } from \"../../types\";\nimport { NumericTextInputProps } from \"../NumericTextInput\";\nimport { parseFloatElseUndefined } from \"@stenajs-webui/core\";\n\nexport type NumericInputValueProps = ValueAndOnValueChangeProps<\n number | undefined\n>;\n\nexport const useNumericInputValue = (\n value: number | undefined,\n onValueChange?: (value: number | undefined) => void\n): Partial<NumericTextInputProps> => {\n const onValueChangeString = useCallback(\n (newValue) => {\n if (onValueChange) {\n if (!newValue) {\n onValueChange(undefined);\n } else {\n const n = parseFloatElseUndefined(newValue);\n if (n !== undefined) {\n onValueChange(n);\n }\n }\n }\n },\n [onValueChange]\n );\n\n const valueString = useMemo(() => {\n if (value === undefined) {\n return \"\";\n }\n return String(value);\n }, [value]);\n\n return {\n onValueChange: onValueChangeString,\n value: valueString,\n };\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { TextInput, TextInputProps } from \"../text-input/TextInput\";\nimport { faEye } from \"@fortawesome/free-solid-svg-icons/faEye\";\nimport { faEyeSlash } from \"@fortawesome/free-solid-svg-icons/faEyeSlash\";\n\nexport interface PasswordInputProps extends TextInputProps {\n visibleIcon?: IconDefinition;\n hiddenIcon?: IconDefinition;\n}\n\nexport const PasswordInput: React.FC<PasswordInputProps> = ({\n hiddenIcon = faEye,\n visibleIcon = faEyeSlash,\n ...props\n}) => {\n const [isPassword, setIsPassword] = useState(true);\n\n return (\n <TextInput\n iconRight={isPassword ? hiddenIcon : visibleIcon}\n onClickRight={() => setIsPassword((x) => !x)}\n type={isPassword ? \"password\" : \"text\"}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport styles from \"./TextInput.module.css\";\nimport classNames from \"classnames/bind\";\nimport { TextInputProps } from \"./TextInput\";\nimport { TextInputIcon } from \"./TextInputIcon\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons/faCheck\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport { Row } from \"@stenajs-webui/core\";\n\nconst cx = classNames.bind(styles);\n\nexport interface TextInputBoxProps\n extends Pick<\n TextInputProps,\n | \"variant\"\n | \"wrapperClassName\"\n | \"disabled\"\n | \"wrapperStyle\"\n | \"contentLeft\"\n | \"contentRight\"\n | \"disableContentPadding\"\n | \"disableContentPaddingLeft\"\n | \"disableContentPaddingRight\"\n | \"iconRight\"\n | \"iconLeft\"\n | \"onClickLeft\"\n | \"onClickRight\"\n > {}\n\nexport const TextInputBox: React.FC<TextInputBoxProps> = ({\n variant = \"standard\",\n disabled,\n wrapperClassName,\n wrapperStyle,\n contentLeft,\n contentRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n iconRight,\n iconLeft,\n onClickLeft,\n onClickRight,\n children,\n}) => {\n const currentIconRight =\n variant === \"success\"\n ? faCheck\n : variant === \"warning\" || variant === \"error\"\n ? faExclamationTriangle\n : iconRight;\n\n const currentContentRight =\n variant === \"loading\" ? <InputSpinner /> : contentRight;\n\n return (\n <div\n className={cx(\n styles.textInput,\n styles.inputContainer,\n styles[variant],\n {\n [styles.disabled]: disabled,\n },\n wrapperClassName\n )}\n style={wrapperStyle}\n >\n <TextInputIcon\n content={contentLeft}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={iconLeft}\n spaceOnLeft\n onClick={onClickLeft}\n />\n <Row alignItems={\"center\"}>{children}</Row>\n <TextInputIcon\n content={currentContentRight}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={currentIconRight}\n spaceOnRight\n onClick={onClickRight}\n />\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n} from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./TextArea.module.css\";\nimport { FullOnChangeProps } from \"../types\";\n\ntype Resize =\n | \"none\"\n | \"both\"\n | \"horizontal\"\n | \"vertical\"\n | \"inherit\"\n | \"initial\"\n | \"revert\"\n | \"unset\";\n\nexport interface TextAreaProps\n extends Omit<ComponentPropsWithoutRef<\"textarea\">, \"value\">,\n FullOnChangeProps<string, ChangeEvent<HTMLTextAreaElement>> {\n resize?: Resize;\n readOnly?: boolean;\n rows?: number;\n disabled?: boolean;\n}\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n (\n {\n className,\n value,\n onValueChange,\n onChange,\n resize = \"none\",\n readOnly = false,\n rows,\n disabled,\n ...textAreaProps\n },\n ref\n ) => {\n const onChangeHandler: ChangeEventHandler<HTMLTextAreaElement> = useCallback(\n (ev) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.value);\n }\n },\n [onChange, onValueChange]\n );\n\n return (\n <textarea\n disabled={disabled}\n rows={rows}\n readOnly={readOnly}\n className={cx(styles.textArea, className)}\n style={{ resize }}\n onChange={onChangeHandler}\n value={value}\n ref={ref}\n {...textAreaProps}\n />\n );\n }\n);\n"],"names":["styles","cx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/ui/switch/Switch.tsx","../src/components/ui/switch/SwitchWithLabel.tsx","../src/components/ui/checkbox/Checkbox.tsx","../src/components/ui/checkbox/CheckboxWithLabel.tsx","../src/components/ui/radio/RadioButton.tsx","../src/components/ui/radio/RadioButtonWithLabel.tsx","../src/hooks/UseKeyboardNavigation.ts","../src/hooks/UseSelectAllOnMount.ts","../src/hooks/UseTextInput.ts","../src/components/ui/text-input/TextInputIcon.tsx","../src/components/ui/text-input/TextInput.tsx","../src/utils/NumericHelpers.ts","../src/components/ui/numeric-text-input/NumericTextInput.tsx","../src/components/ui/numeric-text-input/hooks/UseNumericInputValue.ts","../src/components/ui/password-input/PasswordInput.tsx","../src/components/ui/text-input/TextInputBox.tsx","../src/components/ui/text-area/TextArea.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { Ref } from \"react\";\nimport * as React from \"react\";\nimport { ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ValueAndOnValueChangeProps } from \"../types\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps\n extends Omit<ButtonElementProps, \"value\">,\n ValueAndOnValueChangeProps<boolean> {\n wrapperRef?: Ref<HTMLDivElement>;\n}\n\nconst styleChecked = `${styles.switch} ${styles.checked}`;\n\nexport const Switch: React.FC<SwitchProps> = ({\n value,\n disabled,\n onValueChange,\n className,\n wrapperRef,\n ...restProps\n}) => {\n return (\n <div className={className} ref={wrapperRef}>\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={value}\n className={value ? styleChecked : styles.switch}\n disabled={disabled}\n onClick={() => onValueChange && onValueChange(!value)}\n {...restProps}\n >\n <div className={styles.filler} />\n <div className={styles.knob} />\n </button>\n </div>\n );\n};\n","import { Box, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Switch, SwitchProps } from \"./Switch\";\n\nexport interface SwitchWithLabelProps extends SwitchProps {\n label: string;\n textColor?: string;\n}\n\nexport const SwitchWithLabel: React.FC<SwitchWithLabelProps> = ({\n label,\n disabled,\n textColor,\n wrapperRef,\n ...switchProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Box row alignItems={\"center\"}>\n <Switch disabled={disabled} {...switchProps} />\n <Space />\n <Text userSelect={\"none\"} color={textColor}>\n {label}\n </Text>\n </Box>\n </label>\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n forwardRef,\n MutableRefObject,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { FullOnChangeProps } from \"../types\";\nimport cx from \"classnames\";\nimport styles from \"./Checkbox.module.css\";\n\nexport type CheckboxSize = \"standard\" | \"small\";\n\nexport interface CheckboxProps\n extends FullOnChangeProps<boolean, ChangeEvent<HTMLInputElement>>,\n Omit<ComponentPropsWithoutRef<\"input\">, \"size\" | \"value\"> {\n indeterminate?: boolean;\n size?: CheckboxSize;\n disabled?: boolean;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n indeterminate = false,\n onChange,\n onValueChange,\n value = false,\n size = \"standard\",\n ...inputProps\n },\n ref\n ) => {\n const localRef = useRef<HTMLInputElement>();\n\n const setRef = (element: HTMLInputElement) => {\n localRef.current = element;\n if (localRef.current) {\n localRef.current.indeterminate = Boolean(indeterminate);\n }\n if (ref) {\n if (typeof ref === \"function\") {\n ref(element);\n } else {\n (ref as MutableRefObject<HTMLInputElement>).current = element;\n }\n }\n };\n\n const handleInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.checked);\n }\n },\n [onChange, onValueChange]\n );\n\n useEffect(() => {\n if (localRef.current) {\n localRef.current.indeterminate = Boolean(indeterminate);\n }\n }, [indeterminate, localRef]);\n\n return (\n <input\n type={\"checkbox\"}\n className={cx(styles.checkbox, styles[size])}\n checked={value}\n onChange={handleInputChange}\n ref={setRef}\n {...inputProps}\n />\n );\n }\n);\n","import { Row, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Ref } from \"react\";\nimport { Checkbox, CheckboxProps } from \"./Checkbox\";\n\nexport interface CheckboxWithLabelProps extends CheckboxProps {\n label?: string;\n textColor?: string;\n wrapperRef?: Ref<HTMLDivElement>;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const CheckboxWithLabel: React.FC<CheckboxWithLabelProps> = ({\n children,\n label,\n inputRef,\n wrapperRef,\n textColor,\n ...checkboxProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Row alignItems={\"center\"}>\n <Checkbox {...checkboxProps} ref={inputRef} />\n <Space />\n {label && (\n <Text userSelect={\"none\"} color={textColor}>\n {label}\n </Text>\n )}\n {children}\n </Row>\n </label>\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { FullOnChangeProps } from \"../types\";\nimport styles from \"./RadioButton.module.css\";\n\nexport type RadioButtonSize = \"standard\" | \"small\";\n\nexport interface RadioButtonProps\n extends FullOnChangeProps<string, ChangeEvent<HTMLInputElement>>,\n Omit<ComponentPropsWithoutRef<\"input\">, \"size\" | \"value\"> {\n size?: RadioButtonSize;\n}\n\nexport const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(\n (\n { onChange, onValueChange, size = \"standard\", name, ...inputProps },\n ref\n ) => {\n const handleInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.value);\n }\n },\n [onChange, onValueChange]\n );\n\n return (\n <input\n type={\"radio\"}\n name={name}\n className={styles.radiobutton + \" \" + styles[size]}\n onChange={handleInputChange}\n ref={ref}\n {...inputProps}\n />\n );\n }\n);\n","import { Row, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Ref } from \"react\";\nimport { RadioButton, RadioButtonProps } from \"./RadioButton\";\n\nexport interface RadioButtonWithLabelProps extends RadioButtonProps {\n label: string;\n textColor?: string;\n wrapperRef?: Ref<HTMLDivElement>;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const RadioButtonWithLabel: React.FC<RadioButtonWithLabelProps> = ({\n label,\n inputRef,\n wrapperRef,\n textColor,\n ...radioButtonProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Row alignItems={\"center\"}>\n <RadioButton ref={inputRef} {...radioButtonProps} />\n <Space />\n <Text color={textColor} userSelect={\"none\"}>\n {label}\n </Text>\n </Row>\n </label>\n </div>\n );\n};\n","import {\n FocusEventHandler,\n KeyboardEvent,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n useRef,\n} from \"react\";\n\nexport type MoveDirection = \"right\" | \"left\" | \"down\" | \"up\";\nexport type TextInputElement = HTMLTextAreaElement | HTMLInputElement;\n\nexport const useKeyboardNavigation = <TElement extends TextInputElement>(\n ref: RefObject<TElement>,\n /**\n * User-provided onKeyDown. Internal handler should forward calls to this.\n * */\n onKeyDown: KeyboardEventHandler<TElement> | undefined,\n onEnter: (() => void) | undefined,\n onEsc: (() => void) | undefined,\n /**\n * onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab.\n * */\n onMove: ((direction: MoveDirection) => void) | undefined,\n onDone: ((value: string) => void) | undefined,\n onBlur: FocusEventHandler<TElement> | undefined,\n onFocus: FocusEventHandler<TElement> | undefined\n) => {\n const wasHandled = useRef(false);\n\n const onBlurHandler: FocusEventHandler<TElement> = (ev) => {\n if (!wasHandled.current) {\n onDone?.(ev.target.value ?? \"\");\n }\n onBlur?.(ev);\n };\n\n const onFocusHandler: FocusEventHandler<TElement> = (ev) => {\n wasHandled.current = false;\n onFocus?.(ev);\n };\n\n const onKeyDownHandler: KeyboardEventHandler<TElement> = useCallback(\n (ev) => {\n const { key } = ev;\n if (key === \"Enter\") {\n wasHandled.current = true;\n onEnter?.();\n onDone?.(ev.currentTarget.value ?? \"\");\n } else if (key === \"Escape\") {\n wasHandled.current = true;\n onEsc?.();\n ev.preventDefault();\n ev.stopPropagation();\n } else if (onMove) {\n const blurMoveAndCancel = (\n direction: MoveDirection,\n e: KeyboardEvent<TElement>\n ) => {\n wasHandled.current = true;\n ref.current!.blur();\n onMove(direction);\n e.preventDefault();\n e.stopPropagation();\n };\n\n if (ev.shiftKey && key === \"Tab\") {\n blurMoveAndCancel(\"left\", ev);\n } else if (key === \"Tab\") {\n blurMoveAndCancel(\"right\", ev);\n } else if (key === \"ArrowUp\") {\n blurMoveAndCancel(\"up\", ev);\n } else if (key === \"ArrowDown\") {\n blurMoveAndCancel(\"down\", ev);\n } else if (key === \"ArrowRight\") {\n if (ref.current!.value.length === ref.current!.selectionStart) {\n blurMoveAndCancel(\"right\", ev);\n }\n } else if (key === \"ArrowLeft\") {\n if (ref.current!.selectionStart === 0) {\n blurMoveAndCancel(\"left\", ev);\n }\n }\n }\n\n if (onKeyDown) {\n onKeyDown(ev);\n }\n },\n [onEsc, onMove, onKeyDown, ref, onEnter, onDone]\n );\n\n return {\n onKeyDownHandler,\n onBlurHandler,\n onFocusHandler,\n };\n};\n","import { RefObject, useEffect } from \"react\";\nimport { TextInputElement } from \"./UseKeyboardNavigation\";\n\nexport function elementHasSelectionRange(element: TextInputElement): boolean {\n if (element.tagName === \"TEXTAREA\") {\n return true;\n }\n\n if (\n element.tagName === \"INPUT\" &&\n (element.type === \"text\" ||\n element.type === \"search\" ||\n element.type === \"url\" ||\n element.type === \"tel\" ||\n element.type === \"password\")\n ) {\n return true;\n }\n\n return false;\n}\n\nexport const useSelectAllOnMount = (\n ref: RefObject<TextInputElement>,\n moveCursorToEnd: boolean,\n enabled: boolean\n) => {\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n /*\n `selectionStart`, `selectionEnd` properties and `setSelectionRange` method apply only to inputs of types text, search, URL, tel and password.\n Chrome, starting from version 33, throws an exception while accessing those properties and method on the rest of input types.\n https://html.spec.whatwg.org/multipage/input.html#concept-input-apply\n */\n if (!elementHasSelectionRange(ref.current)) {\n return;\n }\n\n if (enabled) {\n ref.current.setSelectionRange(0, ref.current.value.length);\n } else if (moveCursorToEnd) {\n ref.current.setSelectionRange(\n ref.current.value.length,\n ref.current.value.length\n );\n }\n }, [moveCursorToEnd, ref, enabled]);\n};\n","import {\n ChangeEvent,\n ChangeEventHandler,\n CSSProperties,\n FocusEventHandler,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n} from \"react\";\nimport { TextInputVariant } from \"../components/ui/text-input/TextInput\";\nimport {\n MoveDirection,\n TextInputElement,\n useKeyboardNavigation,\n} from \"./UseKeyboardNavigation\";\nimport { useSelectAllOnMount } from \"./UseSelectAllOnMount\";\nimport { FullOnChangeProps } from \"../components/ui/types\";\n\ninterface UseTextInputOptions<TElement extends TextInputElement>\n extends FullOnChangeProps<string, ChangeEvent<TElement>> {\n wrapperStyle?: CSSProperties;\n wrapperClassName?: string;\n variant?: TextInputVariant;\n hideBorder?: boolean;\n selectAllOnMount?: boolean;\n moveCursorToEndOnMount?: boolean;\n onDone?: (value: string) => void;\n onEnter?: () => void;\n onEsc?: () => void;\n autoFocus?: boolean;\n /** onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab. */\n onMove?: (direction: MoveDirection) => void;\n onFocus?: FocusEventHandler<TElement>;\n onBlur?: FocusEventHandler<TElement>;\n onKeyDown?: KeyboardEventHandler<TElement>;\n}\n\ninterface UseTextInputHookResult<TElement extends TextInputElement> {\n autoFocus?: boolean;\n onChange: ChangeEventHandler<TElement>;\n onFocus: FocusEventHandler<TElement>;\n onBlur: FocusEventHandler<TElement>;\n onKeyDown: KeyboardEventHandler<TElement>;\n}\n\nexport const useTextInput = <TElement extends TextInputElement>(\n ref: RefObject<TElement>,\n {\n onEnter,\n onEsc,\n onChange,\n onValueChange,\n selectAllOnMount,\n moveCursorToEndOnMount,\n onDone,\n onMove,\n onFocus,\n onBlur,\n onKeyDown,\n autoFocus,\n }: UseTextInputOptions<TElement>\n): UseTextInputHookResult<TElement> => {\n useSelectAllOnMount(ref, !!moveCursorToEndOnMount, !!selectAllOnMount);\n\n const { onKeyDownHandler, onFocusHandler, onBlurHandler } =\n useKeyboardNavigation<TElement>(\n ref,\n onKeyDown,\n onEnter,\n onEsc,\n onMove,\n onDone,\n onBlur,\n onFocus\n );\n\n const onChangeHandler = useCallback<ChangeEventHandler<TElement>>(\n (ev) => {\n onChange?.(ev);\n onValueChange?.(ev.target.value);\n },\n [onChange, onValueChange]\n );\n\n return {\n onBlur: onBlurHandler,\n onChange: onChangeHandler,\n onFocus: onFocusHandler,\n onKeyDown: onKeyDownHandler,\n autoFocus: selectAllOnMount || autoFocus,\n };\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./TextInput.module.css\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\n\nexport interface TextInputIconProps {\n iconClassName?: string;\n content?: React.ReactNode;\n icon?: IconDefinition;\n spaceOnRight?: boolean;\n spaceOnLeft?: boolean;\n disableContentPadding?: boolean;\n disableContentPaddingLeft?: boolean;\n disableContentPaddingRight?: boolean;\n onClick?: () => void;\n}\n\nexport const TextInputIcon: React.FC<TextInputIconProps> = ({\n icon,\n iconClassName,\n content,\n spaceOnLeft,\n spaceOnRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n onClick,\n}) => {\n if (!content && !icon) {\n return null;\n }\n\n if (content) {\n return (\n <>\n {spaceOnLeft &&\n !(disableContentPadding || disableContentPaddingLeft) ? (\n <Space />\n ) : null}\n {onClick ? (\n <span onClick={onClick} className={styles.clickable}>\n {content || null}\n </span>\n ) : (\n <>{content || null}</>\n )}\n\n {spaceOnRight &&\n !(disableContentPadding || disableContentPaddingRight) ? (\n <Space />\n ) : null}\n </>\n );\n }\n\n return (\n <>\n {spaceOnLeft ? <Space /> : null}\n {icon && (\n <>\n {onClick ? (\n <FlatButton onClick={onClick} leftIcon={icon} size={\"small\"} />\n ) : (\n <FontAwesomeIcon\n icon={icon}\n className={cx(styles.icon, iconClassName)}\n />\n )}\n </>\n )}\n {spaceOnRight ? <Space /> : null}\n </>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons/faCheck\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { InputProps } from \"@stenajs-webui/core\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { ChangeEvent, CSSProperties, useRef } from \"react\";\nimport { MoveDirection } from \"../../../hooks/UseKeyboardNavigation\";\nimport { useTextInput } from \"../../../hooks/UseTextInput\";\nimport { FullOnChangeProps } from \"../types\";\nimport styles from \"./TextInput.module.css\";\nimport { TextInputIcon } from \"./TextInputIcon\";\n\nexport type TextInputVariant =\n | \"standard\"\n | \"loading\"\n | \"warning\"\n | \"error\"\n | \"modified\"\n | \"success\";\n\ninterface ExtraContent {\n /** React node to put to the left. Left icon is ignored if this is set. */\n contentLeft?: React.ReactNode;\n /** React node to put to the right. Right icon is ignored if this is set. */\n contentRight?: React.ReactNode;\n /** If true, there will be no padding between contentLeft/contentRight and the border. */\n disableContentPadding?: boolean;\n /** If true, there will be no padding between contentLeft and the border. */\n disableContentPaddingLeft?: boolean;\n /** If true, there will be no padding between contentRight and the border. */\n disableContentPaddingRight?: boolean;\n /** Icon on the left side. */\n iconLeft?: IconDefinition;\n /** Icon on the right side. */\n iconRight?: IconDefinition;\n /** On click left. */\n onClickLeft?: () => void;\n /** On click right. */\n onClickRight?: () => void;\n}\n\nexport interface TextInputProps\n extends FullOnChangeProps<string, ChangeEvent<HTMLInputElement>>,\n InputProps,\n ExtraContent {\n wrapperStyle?: CSSProperties;\n wrapperClassName?: string;\n variant?: TextInputVariant;\n hideBorder?: boolean;\n selectAllOnMount?: boolean;\n moveCursorToEndOnMount?: boolean;\n onDone?: (value: string) => void;\n onEnter?: () => void;\n onEsc?: () => void;\n autoFocus?: boolean;\n /** onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab. */\n onMove?: (direction: MoveDirection) => void;\n}\n\nexport const TextInput: React.FC<TextInputProps> = (props) => {\n const {\n variant = \"standard\",\n inputRef,\n disabled,\n className,\n contentLeft,\n contentRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n iconLeft,\n iconRight,\n onClickLeft,\n onClickRight,\n moveCursorToEndOnMount,\n selectAllOnMount,\n autoFocus,\n onValueChange,\n wrapperClassName,\n wrapperStyle,\n onDone,\n onEnter,\n onEsc,\n onMove,\n onChange,\n onKeyDown,\n hideBorder,\n onFocus,\n onBlur,\n ...inputProps\n } = props;\n const localRef = useRef<HTMLInputElement>(null);\n const refToUse = inputRef ?? localRef;\n const hookProps = useTextInput<HTMLInputElement>(refToUse, {\n onEnter,\n onEsc,\n onChange,\n onValueChange,\n selectAllOnMount,\n moveCursorToEndOnMount,\n onDone,\n onMove,\n onFocus,\n onBlur,\n onKeyDown,\n autoFocus,\n });\n\n const currentIconRight =\n variant === \"success\"\n ? faCheck\n : variant === \"warning\" || variant === \"error\"\n ? faExclamationTriangle\n : iconRight;\n\n const currentContentRight =\n variant === \"loading\" ? <InputSpinner /> : contentRight;\n\n return (\n <div\n className={cx(\n styles.textInput,\n styles[variant],\n {\n [styles.disabled]: disabled,\n },\n {\n [styles.hideBorder]: hideBorder,\n },\n wrapperClassName\n )}\n style={wrapperStyle}\n >\n <TextInputIcon\n content={contentLeft}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={iconLeft}\n spaceOnLeft\n onClick={onClickLeft}\n />\n <input\n className={cx(styles.input, className)}\n type={\"text\"}\n disabled={disabled}\n ref={refToUse}\n autoFocus={autoFocus}\n {...inputProps}\n {...hookProps}\n />\n <TextInputIcon\n content={currentContentRight}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={currentIconRight}\n spaceOnRight\n onClick={onClickRight}\n />\n </div>\n );\n};\n","import { parseFloatElseUndefined } from \"@stenajs-webui/core\";\n\nexport const onStepValueChange = ({\n onValueChange,\n value,\n numSteps,\n min,\n max,\n}: {\n onValueChange: ((value: string) => void) | undefined;\n value: string | undefined;\n numSteps: number;\n min: number | undefined;\n max: number | undefined;\n}) => {\n if (onValueChange) {\n if (!value) {\n onValueChange(String(limitWithinRange(numSteps, min, max)));\n } else {\n const parsedValue = parseFloatElseUndefined(value);\n const newValue = (parsedValue || 0) + numSteps;\n onValueChange(String(limitWithinRange(newValue, min, max)));\n }\n }\n};\n\nexport const onTextValueChange = ({\n onValueChange,\n newValue,\n min,\n max,\n}: {\n onValueChange: ((value: string) => void) | undefined;\n newValue: string;\n min: number | undefined;\n max: number | undefined;\n}) => {\n if (onValueChange) {\n if (newValue === \"\") {\n onValueChange(\"\");\n } else {\n const parsedValue = parseFloatElseUndefined(newValue);\n const value = parsedValue || 0;\n onValueChange(String(limitWithinRange(value, min, max)));\n }\n }\n};\n\nconst limitWithinRange = (\n value: number,\n min?: number,\n max?: number\n): number => {\n let v = value;\n if (min != null) {\n v = Math.max(min, v);\n }\n if (max != null) {\n v = Math.min(max, v);\n }\n return v;\n};\n","import { Omit, Space } from \"@stenajs-webui/core\";\nimport { UpDownButtons } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { TextInput, TextInputProps } from \"../text-input/TextInput\";\nimport styles from \"./NumericTextInput.module.css\";\nimport cx from \"classnames\";\nimport {\n onStepValueChange,\n onTextValueChange,\n} from \"../../../utils/NumericHelpers\";\n\nexport interface NumericTextInputProps\n extends Omit<\n TextInputProps,\n | \"onChange\" // Omit onChange, since up down buttons don't generate HTMLInput event.\n | \"selectAllOnMount\" // Not supported by browser when input type='number'\n | \"moveCursorToEndOnMount\" // Not supported by browser when input type='number'\n > {\n max?: number;\n min?: number;\n step?: number;\n hideButtons?: boolean;\n}\n\nexport const NumericTextInput: React.FC<NumericTextInputProps> = ({\n value,\n onValueChange,\n max,\n min,\n step = 1,\n contentRight,\n disabled,\n className,\n hideButtons,\n ...restProps\n}) => {\n const onClick = useCallback(\n (numSteps: number) => {\n onStepValueChange({ onValueChange, value, numSteps, min, max });\n },\n [value, max, min, onValueChange]\n );\n const onChange = useCallback(\n (newValue: string) => {\n onTextValueChange({ onValueChange, newValue, min, max });\n },\n [max, min, onValueChange]\n );\n\n const contentRightToUse = hideButtons ? (\n contentRight\n ) : (\n <>\n {contentRight && (\n <>\n {contentRight}\n <Space />\n </>\n )}\n <UpDownButtons\n onClickUp={disabled ? undefined : () => onClick(step)}\n onClickDown={disabled ? undefined : () => onClick(-step)}\n iconColor={\"var(--swui-textinput-text-color)\"}\n disabled={disabled}\n />\n </>\n );\n\n return (\n <TextInput\n contentRight={contentRightToUse}\n value={value}\n onValueChange={onChange}\n disableContentPaddingRight={!hideButtons}\n type={\"number\"}\n min={min}\n max={max}\n step={step}\n className={cx(styles.numericTextInputInput, className)}\n disabled={disabled}\n {...restProps}\n />\n );\n};\n","import { useCallback, useMemo } from \"react\";\nimport { ValueAndOnValueChangeProps } from \"../../types\";\nimport { NumericTextInputProps } from \"../NumericTextInput\";\nimport { parseFloatElseUndefined } from \"@stenajs-webui/core\";\n\nexport type NumericInputValueProps = ValueAndOnValueChangeProps<\n number | undefined\n>;\n\nexport const useNumericInputValue = (\n value: number | undefined,\n onValueChange?: (value: number | undefined) => void\n): Partial<NumericTextInputProps> => {\n const onValueChangeString = useCallback(\n (newValue: string) => {\n if (onValueChange) {\n if (!newValue) {\n onValueChange(undefined);\n } else {\n const n = parseFloatElseUndefined(newValue);\n if (n !== undefined) {\n onValueChange(n);\n }\n }\n }\n },\n [onValueChange]\n );\n\n const valueString = useMemo(() => {\n if (value === undefined) {\n return \"\";\n }\n return String(value);\n }, [value]);\n\n return {\n onValueChange: onValueChangeString,\n value: valueString,\n };\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { TextInput, TextInputProps } from \"../text-input/TextInput\";\nimport { faEye } from \"@fortawesome/free-solid-svg-icons/faEye\";\nimport { faEyeSlash } from \"@fortawesome/free-solid-svg-icons/faEyeSlash\";\n\nexport interface PasswordInputProps extends TextInputProps {\n visibleIcon?: IconDefinition;\n hiddenIcon?: IconDefinition;\n}\n\nexport const PasswordInput: React.FC<PasswordInputProps> = ({\n hiddenIcon = faEye,\n visibleIcon = faEyeSlash,\n ...props\n}) => {\n const [isPassword, setIsPassword] = useState(true);\n\n return (\n <TextInput\n iconRight={isPassword ? hiddenIcon : visibleIcon}\n onClickRight={() => setIsPassword((x) => !x)}\n type={isPassword ? \"password\" : \"text\"}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport styles from \"./TextInput.module.css\";\nimport cx from \"classnames\";\nimport { TextInputProps } from \"./TextInput\";\nimport { TextInputIcon } from \"./TextInputIcon\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons/faCheck\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport { Row } from \"@stenajs-webui/core\";\n\nexport interface TextInputBoxProps\n extends Pick<\n TextInputProps,\n | \"variant\"\n | \"wrapperClassName\"\n | \"disabled\"\n | \"wrapperStyle\"\n | \"contentLeft\"\n | \"contentRight\"\n | \"disableContentPadding\"\n | \"disableContentPaddingLeft\"\n | \"disableContentPaddingRight\"\n | \"iconRight\"\n | \"iconLeft\"\n | \"onClickLeft\"\n | \"onClickRight\"\n > {\n children?: ReactNode;\n}\n\nexport const TextInputBox: React.FC<TextInputBoxProps> = ({\n variant = \"standard\",\n disabled,\n wrapperClassName,\n wrapperStyle,\n contentLeft,\n contentRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n iconRight,\n iconLeft,\n onClickLeft,\n onClickRight,\n children,\n}) => {\n const currentIconRight =\n variant === \"success\"\n ? faCheck\n : variant === \"warning\" || variant === \"error\"\n ? faExclamationTriangle\n : iconRight;\n\n const currentContentRight =\n variant === \"loading\" ? <InputSpinner /> : contentRight;\n\n return (\n <div\n className={cx(\n styles.textInput,\n styles.inputContainer,\n styles[variant],\n {\n [styles.disabled]: disabled,\n },\n wrapperClassName\n )}\n style={wrapperStyle}\n >\n <TextInputIcon\n content={contentLeft}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={iconLeft}\n spaceOnLeft\n onClick={onClickLeft}\n />\n <Row alignItems={\"center\"}>{children}</Row>\n <TextInputIcon\n content={currentContentRight}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={currentIconRight}\n spaceOnRight\n onClick={onClickRight}\n />\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n} from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./TextArea.module.css\";\nimport { FullOnChangeProps } from \"../types\";\n\ntype Resize =\n | \"none\"\n | \"both\"\n | \"horizontal\"\n | \"vertical\"\n | \"inherit\"\n | \"initial\"\n | \"revert\"\n | \"unset\";\n\nexport interface TextAreaProps\n extends Omit<ComponentPropsWithoutRef<\"textarea\">, \"value\">,\n FullOnChangeProps<string, ChangeEvent<HTMLTextAreaElement>> {\n resize?: Resize;\n readOnly?: boolean;\n rows?: number;\n disabled?: boolean;\n}\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n (\n {\n className,\n value,\n onValueChange,\n onChange,\n resize = \"none\",\n readOnly = false,\n rows,\n disabled,\n ...textAreaProps\n },\n ref\n ) => {\n const onChangeHandler: ChangeEventHandler<HTMLTextAreaElement> =\n useCallback(\n (ev) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.value);\n }\n },\n [onChange, onValueChange]\n );\n\n return (\n <textarea\n disabled={disabled}\n rows={rows}\n readOnly={readOnly}\n className={cx(styles.textArea, className)}\n style={{ resize }}\n onChange={onChangeHandler}\n value={value}\n ref={ref}\n {...textAreaProps}\n />\n );\n }\n);\n"],"names":["styles"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,11 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var core = require('@stenajs-webui/core');
|
|
7
|
-
var cx
|
|
7
|
+
var cx = require('classnames');
|
|
8
8
|
var elements = require('@stenajs-webui/elements');
|
|
9
9
|
var faCheck = require('@fortawesome/free-solid-svg-icons/faCheck');
|
|
10
10
|
var faExclamationTriangle = require('@fortawesome/free-solid-svg-icons/faExclamationTriangle');
|
|
11
|
-
var classNames = require('classnames/bind');
|
|
12
11
|
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
13
12
|
var faEye = require('@fortawesome/free-solid-svg-icons/faEye');
|
|
14
13
|
var faEyeSlash = require('@fortawesome/free-solid-svg-icons/faEyeSlash');
|
|
@@ -34,8 +33,7 @@ function _interopNamespace(e) {
|
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
37
|
-
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx
|
|
38
|
-
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
36
|
+
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
39
37
|
|
|
40
38
|
/*! *****************************************************************************
|
|
41
39
|
Copyright (c) Microsoft Corporation.
|
|
@@ -106,7 +104,7 @@ var css_248z$5 = ".Switch-module_switch__aK2ff {\n --swui-switch-width: 50px;\n
|
|
|
106
104
|
var styles$5 = {"switch":"Switch-module_switch__aK2ff","knob":"Switch-module_knob__1Kx4S","filler":"Switch-module_filler__184NF","checked":"Switch-module_checked__EgDKL"};
|
|
107
105
|
styleInject(css_248z$5);
|
|
108
106
|
|
|
109
|
-
var styleChecked = styles$5.switch
|
|
107
|
+
var styleChecked = "".concat(styles$5.switch, " ").concat(styles$5.checked);
|
|
110
108
|
var Switch = function (_a) {
|
|
111
109
|
var value = _a.value, disabled = _a.disabled, onValueChange = _a.onValueChange, className = _a.className, wrapperRef = _a.wrapperRef, restProps = __rest(_a, ["value", "disabled", "onValueChange", "className", "wrapperRef"]);
|
|
112
110
|
return (React__namespace.createElement("div", { className: className, ref: wrapperRef },
|
|
@@ -125,7 +123,7 @@ var SwitchWithLabel = function (_a) {
|
|
|
125
123
|
React__namespace.createElement(core.Text, { userSelect: "none", color: textColor }, label)))));
|
|
126
124
|
};
|
|
127
125
|
|
|
128
|
-
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 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:
|
|
126
|
+
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 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: 1.4rem;\n line-height: var(--swui-checkbox-height);\n display: inline-block;\n vertical-align: top;\n cursor: pointer;\n margin-left: 4px;\n }\n";
|
|
129
127
|
var styles$4 = {"checkbox":"Checkbox-module_checkbox__Ey0_E","standard":"Checkbox-module_standard__1WgNJ","small":"Checkbox-module_small__IGbRq"};
|
|
130
128
|
styleInject(css_248z$4);
|
|
131
129
|
|
|
@@ -173,7 +171,7 @@ var CheckboxWithLabel = function (_a) {
|
|
|
173
171
|
children))));
|
|
174
172
|
};
|
|
175
173
|
|
|
176
|
-
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 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:
|
|
174
|
+
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 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: 1.4rem;\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";
|
|
177
175
|
var styles$3 = {"radiobutton":"RadioButton-module_radiobutton__13XTW","standard":"RadioButton-module_standard__PVQ2A","small":"RadioButton-module_small__37EpP"};
|
|
178
176
|
styleInject(css_248z$3);
|
|
179
177
|
|
|
@@ -353,7 +351,6 @@ var TextInputIcon = function (_a) {
|
|
|
353
351
|
spaceOnRight ? React__namespace.createElement(core.Space, null) : null));
|
|
354
352
|
};
|
|
355
353
|
|
|
356
|
-
var cx$1 = classNames__default["default"].bind(styles$2);
|
|
357
354
|
var TextInput = function (props) {
|
|
358
355
|
var _a, _b;
|
|
359
356
|
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"]);
|
|
@@ -379,13 +376,13 @@ var TextInput = function (props) {
|
|
|
379
376
|
? faExclamationTriangle.faExclamationTriangle
|
|
380
377
|
: iconRight;
|
|
381
378
|
var currentContentRight = variant === "loading" ? React__namespace.createElement(elements.InputSpinner, null) : contentRight;
|
|
382
|
-
return (React__namespace.createElement("div", { className:
|
|
379
|
+
return (React__namespace.createElement("div", { className: cx__default["default"](styles$2.textInput, styles$2[variant], (_a = {},
|
|
383
380
|
_a[styles$2.disabled] = disabled,
|
|
384
381
|
_a), (_b = {},
|
|
385
382
|
_b[styles$2.hideBorder] = hideBorder,
|
|
386
383
|
_b), wrapperClassName), style: wrapperStyle },
|
|
387
384
|
React__namespace.createElement(TextInputIcon, { content: contentLeft, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: iconLeft, spaceOnLeft: true, onClick: onClickLeft }),
|
|
388
|
-
React__namespace.createElement("input", __assign({ className:
|
|
385
|
+
React__namespace.createElement("input", __assign({ className: cx__default["default"](styles$2.input, className), type: "text", disabled: disabled, ref: refToUse, autoFocus: autoFocus }, inputProps, hookProps)),
|
|
389
386
|
React__namespace.createElement(TextInputIcon, { content: currentContentRight, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: currentIconRight, spaceOnRight: true, onClick: onClickRight })));
|
|
390
387
|
};
|
|
391
388
|
|
|
@@ -478,7 +475,6 @@ var PasswordInput = function (_a) {
|
|
|
478
475
|
return (React__namespace.createElement(TextInput, __assign({ iconRight: isPassword ? hiddenIcon : visibleIcon, onClickRight: function () { return setIsPassword(function (x) { return !x; }); }, type: isPassword ? "password" : "text" }, props)));
|
|
479
476
|
};
|
|
480
477
|
|
|
481
|
-
var cx = classNames__default["default"].bind(styles$2);
|
|
482
478
|
var TextInputBox = function (_a) {
|
|
483
479
|
var _b;
|
|
484
480
|
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;
|
|
@@ -488,7 +484,7 @@ var TextInputBox = function (_a) {
|
|
|
488
484
|
? faExclamationTriangle.faExclamationTriangle
|
|
489
485
|
: iconRight;
|
|
490
486
|
var currentContentRight = variant === "loading" ? React__namespace.createElement(elements.InputSpinner, null) : contentRight;
|
|
491
|
-
return (React__namespace.createElement("div", { className:
|
|
487
|
+
return (React__namespace.createElement("div", { className: cx__default["default"](styles$2.textInput, styles$2.inputContainer, styles$2[variant], (_b = {},
|
|
492
488
|
_b[styles$2.disabled] = disabled,
|
|
493
489
|
_b), wrapperClassName), style: wrapperStyle },
|
|
494
490
|
React__namespace.createElement(TextInputIcon, { content: contentLeft, disableContentPadding: disableContentPadding, disableContentPaddingLeft: disableContentPaddingLeft, disableContentPaddingRight: disableContentPaddingRight, icon: iconLeft, spaceOnLeft: true, onClick: onClickLeft }),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/ui/switch/Switch.tsx","../src/components/ui/switch/SwitchWithLabel.tsx","../src/components/ui/checkbox/Checkbox.tsx","../src/components/ui/checkbox/CheckboxWithLabel.tsx","../src/components/ui/radio/RadioButton.tsx","../src/components/ui/radio/RadioButtonWithLabel.tsx","../src/hooks/UseKeyboardNavigation.ts","../src/hooks/UseSelectAllOnMount.ts","../src/hooks/UseTextInput.ts","../src/components/ui/text-input/TextInputIcon.tsx","../src/components/ui/text-input/TextInput.tsx","../src/utils/NumericHelpers.ts","../src/components/ui/numeric-text-input/NumericTextInput.tsx","../src/components/ui/numeric-text-input/hooks/UseNumericInputValue.ts","../src/components/ui/password-input/PasswordInput.tsx","../src/components/ui/text-input/TextInputBox.tsx","../src/components/ui/text-area/TextArea.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { Ref } from \"react\";\nimport * as React from \"react\";\nimport { ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ValueAndOnValueChangeProps } from \"../types\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps\n extends Omit<ButtonElementProps, \"value\">,\n ValueAndOnValueChangeProps<boolean> {\n wrapperRef?: Ref<HTMLDivElement>;\n}\n\nconst styleChecked = `${styles.switch} ${styles.checked}`;\n\nexport const Switch: React.FC<SwitchProps> = ({\n value,\n disabled,\n onValueChange,\n className,\n wrapperRef,\n ...restProps\n}) => {\n return (\n <div className={className} ref={wrapperRef}>\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={value}\n className={value ? styleChecked : styles.switch}\n disabled={disabled}\n onClick={() => onValueChange && onValueChange(!value)}\n {...restProps}\n >\n <div className={styles.filler} />\n <div className={styles.knob} />\n </button>\n </div>\n );\n};\n","import { Box, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Switch, SwitchProps } from \"./Switch\";\n\nexport interface SwitchWithLabelProps extends SwitchProps {\n label: string;\n textColor?: string;\n}\n\nexport const SwitchWithLabel: React.FC<SwitchWithLabelProps> = ({\n label,\n disabled,\n textColor,\n wrapperRef,\n ...switchProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Box row alignItems={\"center\"}>\n <Switch disabled={disabled} {...switchProps} />\n <Space />\n <Text userSelect={\"none\"} color={textColor}>\n {label}\n </Text>\n </Box>\n </label>\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n forwardRef,\n MutableRefObject,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { FullOnChangeProps } from \"../types\";\nimport cx from \"classnames\";\nimport styles from \"./Checkbox.module.css\";\n\nexport type CheckboxSize = \"standard\" | \"small\";\n\nexport interface CheckboxProps\n extends FullOnChangeProps<boolean, ChangeEvent<HTMLInputElement>>,\n Omit<ComponentPropsWithoutRef<\"input\">, \"size\" | \"value\"> {\n indeterminate?: boolean;\n size?: CheckboxSize;\n disabled?: boolean;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n indeterminate = false,\n onChange,\n onValueChange,\n value = false,\n size = \"standard\",\n ...inputProps\n },\n ref\n ) => {\n const localRef = useRef<HTMLInputElement>();\n\n const setRef = (element: HTMLInputElement) => {\n localRef.current = element;\n if (localRef.current) {\n localRef.current.indeterminate = Boolean(indeterminate);\n }\n if (ref) {\n if (typeof ref === \"function\") {\n ref(element);\n } else {\n (ref as MutableRefObject<HTMLInputElement>).current = element;\n }\n }\n };\n\n const handleInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.checked);\n }\n },\n [onChange, onValueChange]\n );\n\n useEffect(() => {\n if (localRef.current) {\n localRef.current.indeterminate = Boolean(indeterminate);\n }\n }, [indeterminate, localRef]);\n\n return (\n <input\n type={\"checkbox\"}\n className={cx(styles.checkbox, styles[size])}\n checked={value}\n onChange={handleInputChange}\n ref={setRef}\n {...inputProps}\n />\n );\n }\n);\n","import { Row, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Ref } from \"react\";\nimport { Checkbox, CheckboxProps } from \"./Checkbox\";\n\nexport interface CheckboxWithLabelProps extends CheckboxProps {\n label?: string;\n textColor?: string;\n wrapperRef?: Ref<HTMLDivElement>;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const CheckboxWithLabel: React.FC<CheckboxWithLabelProps> = ({\n children,\n label,\n inputRef,\n wrapperRef,\n textColor,\n ...checkboxProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Row alignItems={\"center\"}>\n <Checkbox {...checkboxProps} ref={inputRef} />\n <Space />\n {label && (\n <Text userSelect={\"none\"} color={textColor}>\n {label}\n </Text>\n )}\n {children}\n </Row>\n </label>\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { FullOnChangeProps } from \"../types\";\nimport styles from \"./RadioButton.module.css\";\n\nexport type RadioButtonSize = \"standard\" | \"small\";\n\nexport interface RadioButtonProps\n extends FullOnChangeProps<string, ChangeEvent<HTMLInputElement>>,\n Omit<ComponentPropsWithoutRef<\"input\">, \"size\" | \"value\"> {\n size?: RadioButtonSize;\n}\n\nexport const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(\n (\n { onChange, onValueChange, size = \"standard\", name, ...inputProps },\n ref\n ) => {\n const handleInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.value);\n }\n },\n [onChange, onValueChange]\n );\n\n return (\n <input\n type={\"radio\"}\n name={name}\n className={styles.radiobutton + \" \" + styles[size]}\n onChange={handleInputChange}\n ref={ref}\n {...inputProps}\n />\n );\n }\n);\n","import { Row, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Ref } from \"react\";\nimport { RadioButton, RadioButtonProps } from \"./RadioButton\";\n\nexport interface RadioButtonWithLabelProps extends RadioButtonProps {\n label: string;\n textColor?: string;\n wrapperRef?: Ref<HTMLDivElement>;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const RadioButtonWithLabel: React.FC<RadioButtonWithLabelProps> = ({\n label,\n inputRef,\n wrapperRef,\n textColor,\n ...radioButtonProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Row alignItems={\"center\"}>\n <RadioButton ref={inputRef} {...radioButtonProps} />\n <Space />\n <Text color={textColor} userSelect={\"none\"}>\n {label}\n </Text>\n </Row>\n </label>\n </div>\n );\n};\n","import {\n FocusEventHandler,\n KeyboardEvent,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n useRef,\n} from \"react\";\n\nexport type MoveDirection = \"right\" | \"left\" | \"down\" | \"up\";\nexport type TextInputElement = HTMLTextAreaElement | HTMLInputElement;\n\nexport const useKeyboardNavigation = <TElement extends TextInputElement>(\n ref: RefObject<TElement>,\n /**\n * User-provided onKeyDown. Internal handler should forward calls to this.\n * */\n onKeyDown: KeyboardEventHandler<TElement> | undefined,\n onEnter: (() => void) | undefined,\n onEsc: (() => void) | undefined,\n /**\n * onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab.\n * */\n onMove: ((direction: MoveDirection) => void) | undefined,\n onDone: ((value: string) => void) | undefined,\n onBlur: FocusEventHandler<TElement> | undefined,\n onFocus: FocusEventHandler<TElement> | undefined\n) => {\n const wasHandled = useRef(false);\n\n const onBlurHandler: FocusEventHandler<TElement> = (ev) => {\n if (!wasHandled.current) {\n onDone?.(ev.target.value ?? \"\");\n }\n onBlur?.(ev);\n };\n\n const onFocusHandler: FocusEventHandler<TElement> = (ev) => {\n wasHandled.current = false;\n onFocus?.(ev);\n };\n\n const onKeyDownHandler: KeyboardEventHandler<TElement> = useCallback(\n (ev) => {\n const { key } = ev;\n if (key === \"Enter\") {\n wasHandled.current = true;\n onEnter?.();\n onDone?.(ev.currentTarget.value ?? \"\");\n } else if (key === \"Escape\") {\n wasHandled.current = true;\n onEsc?.();\n ev.preventDefault();\n ev.stopPropagation();\n } else if (onMove) {\n const blurMoveAndCancel = (\n direction: MoveDirection,\n e: KeyboardEvent<TElement>\n ) => {\n wasHandled.current = true;\n ref.current!.blur();\n onMove(direction);\n e.preventDefault();\n e.stopPropagation();\n };\n\n if (ev.shiftKey && key === \"Tab\") {\n blurMoveAndCancel(\"left\", ev);\n } else if (key === \"Tab\") {\n blurMoveAndCancel(\"right\", ev);\n } else if (key === \"ArrowUp\") {\n blurMoveAndCancel(\"up\", ev);\n } else if (key === \"ArrowDown\") {\n blurMoveAndCancel(\"down\", ev);\n } else if (key === \"ArrowRight\") {\n if (ref.current!.value.length === ref.current!.selectionStart) {\n blurMoveAndCancel(\"right\", ev);\n }\n } else if (key === \"ArrowLeft\") {\n if (ref.current!.selectionStart === 0) {\n blurMoveAndCancel(\"left\", ev);\n }\n }\n }\n\n if (onKeyDown) {\n onKeyDown(ev);\n }\n },\n [onEsc, onMove, onKeyDown, ref, onEnter, onDone]\n );\n\n return {\n onKeyDownHandler,\n onBlurHandler,\n onFocusHandler,\n };\n};\n","import { RefObject, useEffect } from \"react\";\nimport { TextInputElement } from \"./UseKeyboardNavigation\";\n\nexport function elementHasSelectionRange(element: TextInputElement): boolean {\n if (element.tagName === \"TEXTAREA\") {\n return true;\n }\n\n if (\n element.tagName === \"INPUT\" &&\n (element.type === \"text\" ||\n element.type === \"search\" ||\n element.type === \"url\" ||\n element.type === \"tel\" ||\n element.type === \"password\")\n ) {\n return true;\n }\n\n return false;\n}\n\nexport const useSelectAllOnMount = (\n ref: RefObject<TextInputElement>,\n moveCursorToEnd: boolean,\n enabled: boolean\n) => {\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n /*\n `selectionStart`, `selectionEnd` properties and `setSelectionRange` method apply only to inputs of types text, search, URL, tel and password.\n Chrome, starting from version 33, throws an exception while accessing those properties and method on the rest of input types.\n https://html.spec.whatwg.org/multipage/input.html#concept-input-apply\n */\n if (!elementHasSelectionRange(ref.current)) {\n return;\n }\n\n if (enabled) {\n ref.current.setSelectionRange(0, ref.current.value.length);\n } else if (moveCursorToEnd) {\n ref.current.setSelectionRange(\n ref.current.value.length,\n ref.current.value.length\n );\n }\n }, [moveCursorToEnd, ref, enabled]);\n};\n","import {\n ChangeEvent,\n ChangeEventHandler,\n CSSProperties,\n FocusEventHandler,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n} from \"react\";\nimport { TextInputVariant } from \"../components/ui/text-input/TextInput\";\nimport {\n MoveDirection,\n TextInputElement,\n useKeyboardNavigation,\n} from \"./UseKeyboardNavigation\";\nimport { useSelectAllOnMount } from \"./UseSelectAllOnMount\";\nimport { FullOnChangeProps } from \"../components/ui/types\";\n\ninterface UseTextInputOptions<TElement extends TextInputElement>\n extends FullOnChangeProps<string, ChangeEvent<TElement>> {\n wrapperStyle?: CSSProperties;\n wrapperClassName?: string;\n variant?: TextInputVariant;\n hideBorder?: boolean;\n selectAllOnMount?: boolean;\n moveCursorToEndOnMount?: boolean;\n onDone?: (value: string) => void;\n onEnter?: () => void;\n onEsc?: () => void;\n autoFocus?: boolean;\n /** onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab. */\n onMove?: (direction: MoveDirection) => void;\n onFocus?: FocusEventHandler<TElement>;\n onBlur?: FocusEventHandler<TElement>;\n onKeyDown?: KeyboardEventHandler<TElement>;\n}\n\ninterface UseTextInputHookResult<TElement extends TextInputElement> {\n autoFocus?: boolean;\n onChange: ChangeEventHandler<TElement>;\n onFocus: FocusEventHandler<TElement>;\n onBlur: FocusEventHandler<TElement>;\n onKeyDown: KeyboardEventHandler<TElement>;\n}\n\nexport const useTextInput = <TElement extends TextInputElement>(\n ref: RefObject<TElement>,\n {\n onEnter,\n onEsc,\n onChange,\n onValueChange,\n selectAllOnMount,\n moveCursorToEndOnMount,\n onDone,\n onMove,\n onFocus,\n onBlur,\n onKeyDown,\n autoFocus,\n }: UseTextInputOptions<TElement>\n): UseTextInputHookResult<TElement> => {\n useSelectAllOnMount(ref, !!moveCursorToEndOnMount, !!selectAllOnMount);\n\n const {\n onKeyDownHandler,\n onFocusHandler,\n onBlurHandler,\n } = useKeyboardNavigation<TElement>(\n ref,\n onKeyDown,\n onEnter,\n onEsc,\n onMove,\n onDone,\n onBlur,\n onFocus\n );\n\n const onChangeHandler = useCallback<ChangeEventHandler<TElement>>(\n (ev) => {\n onChange?.(ev);\n onValueChange?.(ev.target.value);\n },\n [onChange, onValueChange]\n );\n\n return {\n onBlur: onBlurHandler,\n onChange: onChangeHandler,\n onFocus: onFocusHandler,\n onKeyDown: onKeyDownHandler,\n autoFocus: selectAllOnMount || autoFocus,\n };\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./TextInput.module.css\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\n\nexport interface TextInputIconProps {\n iconClassName?: string;\n content?: React.ReactNode;\n icon?: IconDefinition;\n spaceOnRight?: boolean;\n spaceOnLeft?: boolean;\n disableContentPadding?: boolean;\n disableContentPaddingLeft?: boolean;\n disableContentPaddingRight?: boolean;\n onClick?: () => void;\n}\n\nexport const TextInputIcon: React.FC<TextInputIconProps> = ({\n icon,\n iconClassName,\n content,\n spaceOnLeft,\n spaceOnRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n onClick,\n}) => {\n if (!content && !icon) {\n return null;\n }\n\n if (content) {\n return (\n <>\n {spaceOnLeft &&\n !(disableContentPadding || disableContentPaddingLeft) ? (\n <Space />\n ) : null}\n {onClick ? (\n <span onClick={onClick} className={styles.clickable}>\n {content || null}\n </span>\n ) : (\n <>{content || null}</>\n )}\n\n {spaceOnRight &&\n !(disableContentPadding || disableContentPaddingRight) ? (\n <Space />\n ) : null}\n </>\n );\n }\n\n return (\n <>\n {spaceOnLeft ? <Space /> : null}\n {icon && (\n <>\n {onClick ? (\n <FlatButton onClick={onClick} leftIcon={icon} size={\"small\"} />\n ) : (\n <FontAwesomeIcon\n icon={icon}\n className={cx(styles.icon, iconClassName)}\n />\n )}\n </>\n )}\n {spaceOnRight ? <Space /> : null}\n </>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons/faCheck\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { InputProps } from \"@stenajs-webui/core\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport classNames from \"classnames/bind\";\nimport * as React from \"react\";\nimport { ChangeEvent, CSSProperties, useRef } from \"react\";\nimport { MoveDirection } from \"../../../hooks/UseKeyboardNavigation\";\nimport { useTextInput } from \"../../../hooks/UseTextInput\";\nimport { FullOnChangeProps } from \"../types\";\nimport styles from \"./TextInput.module.css\";\nimport { TextInputIcon } from \"./TextInputIcon\";\n\nconst cx = classNames.bind(styles);\n\nexport type TextInputVariant =\n | \"standard\"\n | \"loading\"\n | \"warning\"\n | \"error\"\n | \"modified\"\n | \"success\";\n\ninterface ExtraContent {\n /** React node to put to the left. Left icon is ignored if this is set. */\n contentLeft?: React.ReactNode;\n /** React node to put to the right. Right icon is ignored if this is set. */\n contentRight?: React.ReactNode;\n /** If true, there will be no padding between contentLeft/contentRight and the border. */\n disableContentPadding?: boolean;\n /** If true, there will be no padding between contentLeft and the border. */\n disableContentPaddingLeft?: boolean;\n /** If true, there will be no padding between contentRight and the border. */\n disableContentPaddingRight?: boolean;\n /** Icon on the left side. */\n iconLeft?: IconDefinition;\n /** Icon on the right side. */\n iconRight?: IconDefinition;\n /** On click left. */\n onClickLeft?: () => void;\n /** On click right. */\n onClickRight?: () => void;\n}\n\nexport interface TextInputProps\n extends FullOnChangeProps<string, ChangeEvent<HTMLInputElement>>,\n InputProps,\n ExtraContent {\n wrapperStyle?: CSSProperties;\n wrapperClassName?: string;\n variant?: TextInputVariant;\n hideBorder?: boolean;\n selectAllOnMount?: boolean;\n moveCursorToEndOnMount?: boolean;\n onDone?: (value: string) => void;\n onEnter?: () => void;\n onEsc?: () => void;\n autoFocus?: boolean;\n /** onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab. */\n onMove?: (direction: MoveDirection) => void;\n}\n\nexport const TextInput: React.FC<TextInputProps> = (props) => {\n const {\n variant = \"standard\",\n inputRef,\n disabled,\n className,\n contentLeft,\n contentRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n iconLeft,\n iconRight,\n onClickLeft,\n onClickRight,\n moveCursorToEndOnMount,\n selectAllOnMount,\n autoFocus,\n onValueChange,\n wrapperClassName,\n wrapperStyle,\n onDone,\n onEnter,\n onEsc,\n onMove,\n onChange,\n onKeyDown,\n hideBorder,\n onFocus,\n onBlur,\n ...inputProps\n } = props;\n const localRef = useRef<HTMLInputElement>(null);\n const refToUse = inputRef ?? localRef;\n const hookProps = useTextInput<HTMLInputElement>(refToUse, {\n onEnter,\n onEsc,\n onChange,\n onValueChange,\n selectAllOnMount,\n moveCursorToEndOnMount,\n onDone,\n onMove,\n onFocus,\n onBlur,\n onKeyDown,\n autoFocus,\n });\n\n const currentIconRight =\n variant === \"success\"\n ? faCheck\n : variant === \"warning\" || variant === \"error\"\n ? faExclamationTriangle\n : iconRight;\n\n const currentContentRight =\n variant === \"loading\" ? <InputSpinner /> : contentRight;\n\n return (\n <div\n className={cx(\n styles.textInput,\n styles[variant],\n {\n [styles.disabled]: disabled,\n },\n {\n [styles.hideBorder]: hideBorder,\n },\n wrapperClassName\n )}\n style={wrapperStyle}\n >\n <TextInputIcon\n content={contentLeft}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={iconLeft}\n spaceOnLeft\n onClick={onClickLeft}\n />\n <input\n className={cx(styles.input, className)}\n type={\"text\"}\n disabled={disabled}\n ref={refToUse}\n autoFocus={autoFocus}\n {...inputProps}\n {...hookProps}\n />\n <TextInputIcon\n content={currentContentRight}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={currentIconRight}\n spaceOnRight\n onClick={onClickRight}\n />\n </div>\n );\n};\n","import { parseFloatElseUndefined } from \"@stenajs-webui/core\";\n\nexport const onStepValueChange = ({\n onValueChange,\n value,\n numSteps,\n min,\n max,\n}: {\n onValueChange: ((value: string) => void) | undefined;\n value: string | undefined;\n numSteps: number;\n min: number | undefined;\n max: number | undefined;\n}) => {\n if (onValueChange) {\n if (!value) {\n onValueChange(String(limitWithinRange(numSteps, min, max)));\n } else {\n const parsedValue = parseFloatElseUndefined(value);\n const newValue = (parsedValue || 0) + numSteps;\n onValueChange(String(limitWithinRange(newValue, min, max)));\n }\n }\n};\n\nexport const onTextValueChange = ({\n onValueChange,\n newValue,\n min,\n max,\n}: {\n onValueChange: ((value: string) => void) | undefined;\n newValue: string;\n min: number | undefined;\n max: number | undefined;\n}) => {\n if (onValueChange) {\n if (newValue === \"\") {\n onValueChange(\"\");\n } else {\n const parsedValue = parseFloatElseUndefined(newValue);\n const value = parsedValue || 0;\n onValueChange(String(limitWithinRange(value, min, max)));\n }\n }\n};\n\nconst limitWithinRange = (\n value: number,\n min?: number,\n max?: number\n): number => {\n let v = value;\n if (min != null) {\n v = Math.max(min, v);\n }\n if (max != null) {\n v = Math.min(max, v);\n }\n return v;\n};\n","import { Omit, Space } from \"@stenajs-webui/core\";\nimport { UpDownButtons } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { TextInput, TextInputProps } from \"../text-input/TextInput\";\nimport styles from \"./NumericTextInput.module.css\";\nimport cx from \"classnames\";\nimport {\n onStepValueChange,\n onTextValueChange,\n} from \"../../../utils/NumericHelpers\";\n\nexport interface NumericTextInputProps\n extends Omit<\n TextInputProps,\n | \"onChange\" // Omit onChange, since up down buttons don't generate HTMLInput event.\n | \"selectAllOnMount\" // Not supported by browser when input type='number'\n | \"moveCursorToEndOnMount\" // Not supported by browser when input type='number'\n > {\n max?: number;\n min?: number;\n step?: number;\n hideButtons?: boolean;\n}\n\nexport const NumericTextInput: React.FC<NumericTextInputProps> = ({\n value,\n onValueChange,\n max,\n min,\n step = 1,\n contentRight,\n disabled,\n className,\n hideButtons,\n ...restProps\n}) => {\n const onClick = useCallback(\n (numSteps: number) => {\n onStepValueChange({ onValueChange, value, numSteps, min, max });\n },\n [value, max, min, onValueChange]\n );\n const onChange = useCallback(\n (newValue: string) => {\n onTextValueChange({ onValueChange, newValue, min, max });\n },\n [max, min, onValueChange]\n );\n\n const contentRightToUse = hideButtons ? (\n contentRight\n ) : (\n <>\n {contentRight && (\n <>\n {contentRight}\n <Space />\n </>\n )}\n <UpDownButtons\n onClickUp={disabled ? undefined : () => onClick(step)}\n onClickDown={disabled ? undefined : () => onClick(-step)}\n iconColor={\"var(--swui-textinput-text-color)\"}\n disabled={disabled}\n />\n </>\n );\n\n return (\n <TextInput\n contentRight={contentRightToUse}\n value={value}\n onValueChange={onChange}\n disableContentPaddingRight={!hideButtons}\n type={\"number\"}\n min={min}\n max={max}\n step={step}\n className={cx(styles.numericTextInputInput, className)}\n disabled={disabled}\n {...restProps}\n />\n );\n};\n","import { useCallback, useMemo } from \"react\";\nimport { ValueAndOnValueChangeProps } from \"../../types\";\nimport { NumericTextInputProps } from \"../NumericTextInput\";\nimport { parseFloatElseUndefined } from \"@stenajs-webui/core\";\n\nexport type NumericInputValueProps = ValueAndOnValueChangeProps<\n number | undefined\n>;\n\nexport const useNumericInputValue = (\n value: number | undefined,\n onValueChange?: (value: number | undefined) => void\n): Partial<NumericTextInputProps> => {\n const onValueChangeString = useCallback(\n (newValue) => {\n if (onValueChange) {\n if (!newValue) {\n onValueChange(undefined);\n } else {\n const n = parseFloatElseUndefined(newValue);\n if (n !== undefined) {\n onValueChange(n);\n }\n }\n }\n },\n [onValueChange]\n );\n\n const valueString = useMemo(() => {\n if (value === undefined) {\n return \"\";\n }\n return String(value);\n }, [value]);\n\n return {\n onValueChange: onValueChangeString,\n value: valueString,\n };\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { TextInput, TextInputProps } from \"../text-input/TextInput\";\nimport { faEye } from \"@fortawesome/free-solid-svg-icons/faEye\";\nimport { faEyeSlash } from \"@fortawesome/free-solid-svg-icons/faEyeSlash\";\n\nexport interface PasswordInputProps extends TextInputProps {\n visibleIcon?: IconDefinition;\n hiddenIcon?: IconDefinition;\n}\n\nexport const PasswordInput: React.FC<PasswordInputProps> = ({\n hiddenIcon = faEye,\n visibleIcon = faEyeSlash,\n ...props\n}) => {\n const [isPassword, setIsPassword] = useState(true);\n\n return (\n <TextInput\n iconRight={isPassword ? hiddenIcon : visibleIcon}\n onClickRight={() => setIsPassword((x) => !x)}\n type={isPassword ? \"password\" : \"text\"}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport styles from \"./TextInput.module.css\";\nimport classNames from \"classnames/bind\";\nimport { TextInputProps } from \"./TextInput\";\nimport { TextInputIcon } from \"./TextInputIcon\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons/faCheck\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport { Row } from \"@stenajs-webui/core\";\n\nconst cx = classNames.bind(styles);\n\nexport interface TextInputBoxProps\n extends Pick<\n TextInputProps,\n | \"variant\"\n | \"wrapperClassName\"\n | \"disabled\"\n | \"wrapperStyle\"\n | \"contentLeft\"\n | \"contentRight\"\n | \"disableContentPadding\"\n | \"disableContentPaddingLeft\"\n | \"disableContentPaddingRight\"\n | \"iconRight\"\n | \"iconLeft\"\n | \"onClickLeft\"\n | \"onClickRight\"\n > {}\n\nexport const TextInputBox: React.FC<TextInputBoxProps> = ({\n variant = \"standard\",\n disabled,\n wrapperClassName,\n wrapperStyle,\n contentLeft,\n contentRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n iconRight,\n iconLeft,\n onClickLeft,\n onClickRight,\n children,\n}) => {\n const currentIconRight =\n variant === \"success\"\n ? faCheck\n : variant === \"warning\" || variant === \"error\"\n ? faExclamationTriangle\n : iconRight;\n\n const currentContentRight =\n variant === \"loading\" ? <InputSpinner /> : contentRight;\n\n return (\n <div\n className={cx(\n styles.textInput,\n styles.inputContainer,\n styles[variant],\n {\n [styles.disabled]: disabled,\n },\n wrapperClassName\n )}\n style={wrapperStyle}\n >\n <TextInputIcon\n content={contentLeft}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={iconLeft}\n spaceOnLeft\n onClick={onClickLeft}\n />\n <Row alignItems={\"center\"}>{children}</Row>\n <TextInputIcon\n content={currentContentRight}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={currentIconRight}\n spaceOnRight\n onClick={onClickRight}\n />\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n} from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./TextArea.module.css\";\nimport { FullOnChangeProps } from \"../types\";\n\ntype Resize =\n | \"none\"\n | \"both\"\n | \"horizontal\"\n | \"vertical\"\n | \"inherit\"\n | \"initial\"\n | \"revert\"\n | \"unset\";\n\nexport interface TextAreaProps\n extends Omit<ComponentPropsWithoutRef<\"textarea\">, \"value\">,\n FullOnChangeProps<string, ChangeEvent<HTMLTextAreaElement>> {\n resize?: Resize;\n readOnly?: boolean;\n rows?: number;\n disabled?: boolean;\n}\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n (\n {\n className,\n value,\n onValueChange,\n onChange,\n resize = \"none\",\n readOnly = false,\n rows,\n disabled,\n ...textAreaProps\n },\n ref\n ) => {\n const onChangeHandler: ChangeEventHandler<HTMLTextAreaElement> = useCallback(\n (ev) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.value);\n }\n },\n [onChange, onValueChange]\n );\n\n return (\n <textarea\n disabled={disabled}\n rows={rows}\n readOnly={readOnly}\n className={cx(styles.textArea, className)}\n style={{ resize }}\n onChange={onChangeHandler}\n value={value}\n ref={ref}\n {...textAreaProps}\n />\n );\n }\n);\n"],"names":["styles","React","Box","Space","Text","forwardRef","useRef","useCallback","useEffect","cx","Row","FlatButton","FontAwesomeIcon","classNames","faCheck","faExclamationTriangle","InputSpinner","parseFloatElseUndefined","UpDownButtons","useMemo","faEye","faEyeSlash","useState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/ui/switch/Switch.tsx","../src/components/ui/switch/SwitchWithLabel.tsx","../src/components/ui/checkbox/Checkbox.tsx","../src/components/ui/checkbox/CheckboxWithLabel.tsx","../src/components/ui/radio/RadioButton.tsx","../src/components/ui/radio/RadioButtonWithLabel.tsx","../src/hooks/UseKeyboardNavigation.ts","../src/hooks/UseSelectAllOnMount.ts","../src/hooks/UseTextInput.ts","../src/components/ui/text-input/TextInputIcon.tsx","../src/components/ui/text-input/TextInput.tsx","../src/utils/NumericHelpers.ts","../src/components/ui/numeric-text-input/NumericTextInput.tsx","../src/components/ui/numeric-text-input/hooks/UseNumericInputValue.ts","../src/components/ui/password-input/PasswordInput.tsx","../src/components/ui/text-input/TextInputBox.tsx","../src/components/ui/text-area/TextArea.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { Ref } from \"react\";\nimport * as React from \"react\";\nimport { ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ValueAndOnValueChangeProps } from \"../types\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps\n extends Omit<ButtonElementProps, \"value\">,\n ValueAndOnValueChangeProps<boolean> {\n wrapperRef?: Ref<HTMLDivElement>;\n}\n\nconst styleChecked = `${styles.switch} ${styles.checked}`;\n\nexport const Switch: React.FC<SwitchProps> = ({\n value,\n disabled,\n onValueChange,\n className,\n wrapperRef,\n ...restProps\n}) => {\n return (\n <div className={className} ref={wrapperRef}>\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={value}\n className={value ? styleChecked : styles.switch}\n disabled={disabled}\n onClick={() => onValueChange && onValueChange(!value)}\n {...restProps}\n >\n <div className={styles.filler} />\n <div className={styles.knob} />\n </button>\n </div>\n );\n};\n","import { Box, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Switch, SwitchProps } from \"./Switch\";\n\nexport interface SwitchWithLabelProps extends SwitchProps {\n label: string;\n textColor?: string;\n}\n\nexport const SwitchWithLabel: React.FC<SwitchWithLabelProps> = ({\n label,\n disabled,\n textColor,\n wrapperRef,\n ...switchProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Box row alignItems={\"center\"}>\n <Switch disabled={disabled} {...switchProps} />\n <Space />\n <Text userSelect={\"none\"} color={textColor}>\n {label}\n </Text>\n </Box>\n </label>\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n forwardRef,\n MutableRefObject,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { FullOnChangeProps } from \"../types\";\nimport cx from \"classnames\";\nimport styles from \"./Checkbox.module.css\";\n\nexport type CheckboxSize = \"standard\" | \"small\";\n\nexport interface CheckboxProps\n extends FullOnChangeProps<boolean, ChangeEvent<HTMLInputElement>>,\n Omit<ComponentPropsWithoutRef<\"input\">, \"size\" | \"value\"> {\n indeterminate?: boolean;\n size?: CheckboxSize;\n disabled?: boolean;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n indeterminate = false,\n onChange,\n onValueChange,\n value = false,\n size = \"standard\",\n ...inputProps\n },\n ref\n ) => {\n const localRef = useRef<HTMLInputElement>();\n\n const setRef = (element: HTMLInputElement) => {\n localRef.current = element;\n if (localRef.current) {\n localRef.current.indeterminate = Boolean(indeterminate);\n }\n if (ref) {\n if (typeof ref === \"function\") {\n ref(element);\n } else {\n (ref as MutableRefObject<HTMLInputElement>).current = element;\n }\n }\n };\n\n const handleInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.checked);\n }\n },\n [onChange, onValueChange]\n );\n\n useEffect(() => {\n if (localRef.current) {\n localRef.current.indeterminate = Boolean(indeterminate);\n }\n }, [indeterminate, localRef]);\n\n return (\n <input\n type={\"checkbox\"}\n className={cx(styles.checkbox, styles[size])}\n checked={value}\n onChange={handleInputChange}\n ref={setRef}\n {...inputProps}\n />\n );\n }\n);\n","import { Row, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Ref } from \"react\";\nimport { Checkbox, CheckboxProps } from \"./Checkbox\";\n\nexport interface CheckboxWithLabelProps extends CheckboxProps {\n label?: string;\n textColor?: string;\n wrapperRef?: Ref<HTMLDivElement>;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const CheckboxWithLabel: React.FC<CheckboxWithLabelProps> = ({\n children,\n label,\n inputRef,\n wrapperRef,\n textColor,\n ...checkboxProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Row alignItems={\"center\"}>\n <Checkbox {...checkboxProps} ref={inputRef} />\n <Space />\n {label && (\n <Text userSelect={\"none\"} color={textColor}>\n {label}\n </Text>\n )}\n {children}\n </Row>\n </label>\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { FullOnChangeProps } from \"../types\";\nimport styles from \"./RadioButton.module.css\";\n\nexport type RadioButtonSize = \"standard\" | \"small\";\n\nexport interface RadioButtonProps\n extends FullOnChangeProps<string, ChangeEvent<HTMLInputElement>>,\n Omit<ComponentPropsWithoutRef<\"input\">, \"size\" | \"value\"> {\n size?: RadioButtonSize;\n}\n\nexport const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(\n (\n { onChange, onValueChange, size = \"standard\", name, ...inputProps },\n ref\n ) => {\n const handleInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.value);\n }\n },\n [onChange, onValueChange]\n );\n\n return (\n <input\n type={\"radio\"}\n name={name}\n className={styles.radiobutton + \" \" + styles[size]}\n onChange={handleInputChange}\n ref={ref}\n {...inputProps}\n />\n );\n }\n);\n","import { Row, Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { Ref } from \"react\";\nimport { RadioButton, RadioButtonProps } from \"./RadioButton\";\n\nexport interface RadioButtonWithLabelProps extends RadioButtonProps {\n label: string;\n textColor?: string;\n wrapperRef?: Ref<HTMLDivElement>;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const RadioButtonWithLabel: React.FC<RadioButtonWithLabelProps> = ({\n label,\n inputRef,\n wrapperRef,\n textColor,\n ...radioButtonProps\n}) => {\n return (\n <div ref={wrapperRef}>\n <label>\n <Row alignItems={\"center\"}>\n <RadioButton ref={inputRef} {...radioButtonProps} />\n <Space />\n <Text color={textColor} userSelect={\"none\"}>\n {label}\n </Text>\n </Row>\n </label>\n </div>\n );\n};\n","import {\n FocusEventHandler,\n KeyboardEvent,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n useRef,\n} from \"react\";\n\nexport type MoveDirection = \"right\" | \"left\" | \"down\" | \"up\";\nexport type TextInputElement = HTMLTextAreaElement | HTMLInputElement;\n\nexport const useKeyboardNavigation = <TElement extends TextInputElement>(\n ref: RefObject<TElement>,\n /**\n * User-provided onKeyDown. Internal handler should forward calls to this.\n * */\n onKeyDown: KeyboardEventHandler<TElement> | undefined,\n onEnter: (() => void) | undefined,\n onEsc: (() => void) | undefined,\n /**\n * onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab.\n * */\n onMove: ((direction: MoveDirection) => void) | undefined,\n onDone: ((value: string) => void) | undefined,\n onBlur: FocusEventHandler<TElement> | undefined,\n onFocus: FocusEventHandler<TElement> | undefined\n) => {\n const wasHandled = useRef(false);\n\n const onBlurHandler: FocusEventHandler<TElement> = (ev) => {\n if (!wasHandled.current) {\n onDone?.(ev.target.value ?? \"\");\n }\n onBlur?.(ev);\n };\n\n const onFocusHandler: FocusEventHandler<TElement> = (ev) => {\n wasHandled.current = false;\n onFocus?.(ev);\n };\n\n const onKeyDownHandler: KeyboardEventHandler<TElement> = useCallback(\n (ev) => {\n const { key } = ev;\n if (key === \"Enter\") {\n wasHandled.current = true;\n onEnter?.();\n onDone?.(ev.currentTarget.value ?? \"\");\n } else if (key === \"Escape\") {\n wasHandled.current = true;\n onEsc?.();\n ev.preventDefault();\n ev.stopPropagation();\n } else if (onMove) {\n const blurMoveAndCancel = (\n direction: MoveDirection,\n e: KeyboardEvent<TElement>\n ) => {\n wasHandled.current = true;\n ref.current!.blur();\n onMove(direction);\n e.preventDefault();\n e.stopPropagation();\n };\n\n if (ev.shiftKey && key === \"Tab\") {\n blurMoveAndCancel(\"left\", ev);\n } else if (key === \"Tab\") {\n blurMoveAndCancel(\"right\", ev);\n } else if (key === \"ArrowUp\") {\n blurMoveAndCancel(\"up\", ev);\n } else if (key === \"ArrowDown\") {\n blurMoveAndCancel(\"down\", ev);\n } else if (key === \"ArrowRight\") {\n if (ref.current!.value.length === ref.current!.selectionStart) {\n blurMoveAndCancel(\"right\", ev);\n }\n } else if (key === \"ArrowLeft\") {\n if (ref.current!.selectionStart === 0) {\n blurMoveAndCancel(\"left\", ev);\n }\n }\n }\n\n if (onKeyDown) {\n onKeyDown(ev);\n }\n },\n [onEsc, onMove, onKeyDown, ref, onEnter, onDone]\n );\n\n return {\n onKeyDownHandler,\n onBlurHandler,\n onFocusHandler,\n };\n};\n","import { RefObject, useEffect } from \"react\";\nimport { TextInputElement } from \"./UseKeyboardNavigation\";\n\nexport function elementHasSelectionRange(element: TextInputElement): boolean {\n if (element.tagName === \"TEXTAREA\") {\n return true;\n }\n\n if (\n element.tagName === \"INPUT\" &&\n (element.type === \"text\" ||\n element.type === \"search\" ||\n element.type === \"url\" ||\n element.type === \"tel\" ||\n element.type === \"password\")\n ) {\n return true;\n }\n\n return false;\n}\n\nexport const useSelectAllOnMount = (\n ref: RefObject<TextInputElement>,\n moveCursorToEnd: boolean,\n enabled: boolean\n) => {\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n /*\n `selectionStart`, `selectionEnd` properties and `setSelectionRange` method apply only to inputs of types text, search, URL, tel and password.\n Chrome, starting from version 33, throws an exception while accessing those properties and method on the rest of input types.\n https://html.spec.whatwg.org/multipage/input.html#concept-input-apply\n */\n if (!elementHasSelectionRange(ref.current)) {\n return;\n }\n\n if (enabled) {\n ref.current.setSelectionRange(0, ref.current.value.length);\n } else if (moveCursorToEnd) {\n ref.current.setSelectionRange(\n ref.current.value.length,\n ref.current.value.length\n );\n }\n }, [moveCursorToEnd, ref, enabled]);\n};\n","import {\n ChangeEvent,\n ChangeEventHandler,\n CSSProperties,\n FocusEventHandler,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n} from \"react\";\nimport { TextInputVariant } from \"../components/ui/text-input/TextInput\";\nimport {\n MoveDirection,\n TextInputElement,\n useKeyboardNavigation,\n} from \"./UseKeyboardNavigation\";\nimport { useSelectAllOnMount } from \"./UseSelectAllOnMount\";\nimport { FullOnChangeProps } from \"../components/ui/types\";\n\ninterface UseTextInputOptions<TElement extends TextInputElement>\n extends FullOnChangeProps<string, ChangeEvent<TElement>> {\n wrapperStyle?: CSSProperties;\n wrapperClassName?: string;\n variant?: TextInputVariant;\n hideBorder?: boolean;\n selectAllOnMount?: boolean;\n moveCursorToEndOnMount?: boolean;\n onDone?: (value: string) => void;\n onEnter?: () => void;\n onEsc?: () => void;\n autoFocus?: boolean;\n /** onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab. */\n onMove?: (direction: MoveDirection) => void;\n onFocus?: FocusEventHandler<TElement>;\n onBlur?: FocusEventHandler<TElement>;\n onKeyDown?: KeyboardEventHandler<TElement>;\n}\n\ninterface UseTextInputHookResult<TElement extends TextInputElement> {\n autoFocus?: boolean;\n onChange: ChangeEventHandler<TElement>;\n onFocus: FocusEventHandler<TElement>;\n onBlur: FocusEventHandler<TElement>;\n onKeyDown: KeyboardEventHandler<TElement>;\n}\n\nexport const useTextInput = <TElement extends TextInputElement>(\n ref: RefObject<TElement>,\n {\n onEnter,\n onEsc,\n onChange,\n onValueChange,\n selectAllOnMount,\n moveCursorToEndOnMount,\n onDone,\n onMove,\n onFocus,\n onBlur,\n onKeyDown,\n autoFocus,\n }: UseTextInputOptions<TElement>\n): UseTextInputHookResult<TElement> => {\n useSelectAllOnMount(ref, !!moveCursorToEndOnMount, !!selectAllOnMount);\n\n const { onKeyDownHandler, onFocusHandler, onBlurHandler } =\n useKeyboardNavigation<TElement>(\n ref,\n onKeyDown,\n onEnter,\n onEsc,\n onMove,\n onDone,\n onBlur,\n onFocus\n );\n\n const onChangeHandler = useCallback<ChangeEventHandler<TElement>>(\n (ev) => {\n onChange?.(ev);\n onValueChange?.(ev.target.value);\n },\n [onChange, onValueChange]\n );\n\n return {\n onBlur: onBlurHandler,\n onChange: onChangeHandler,\n onFocus: onFocusHandler,\n onKeyDown: onKeyDownHandler,\n autoFocus: selectAllOnMount || autoFocus,\n };\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./TextInput.module.css\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\n\nexport interface TextInputIconProps {\n iconClassName?: string;\n content?: React.ReactNode;\n icon?: IconDefinition;\n spaceOnRight?: boolean;\n spaceOnLeft?: boolean;\n disableContentPadding?: boolean;\n disableContentPaddingLeft?: boolean;\n disableContentPaddingRight?: boolean;\n onClick?: () => void;\n}\n\nexport const TextInputIcon: React.FC<TextInputIconProps> = ({\n icon,\n iconClassName,\n content,\n spaceOnLeft,\n spaceOnRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n onClick,\n}) => {\n if (!content && !icon) {\n return null;\n }\n\n if (content) {\n return (\n <>\n {spaceOnLeft &&\n !(disableContentPadding || disableContentPaddingLeft) ? (\n <Space />\n ) : null}\n {onClick ? (\n <span onClick={onClick} className={styles.clickable}>\n {content || null}\n </span>\n ) : (\n <>{content || null}</>\n )}\n\n {spaceOnRight &&\n !(disableContentPadding || disableContentPaddingRight) ? (\n <Space />\n ) : null}\n </>\n );\n }\n\n return (\n <>\n {spaceOnLeft ? <Space /> : null}\n {icon && (\n <>\n {onClick ? (\n <FlatButton onClick={onClick} leftIcon={icon} size={\"small\"} />\n ) : (\n <FontAwesomeIcon\n icon={icon}\n className={cx(styles.icon, iconClassName)}\n />\n )}\n </>\n )}\n {spaceOnRight ? <Space /> : null}\n </>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons/faCheck\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { InputProps } from \"@stenajs-webui/core\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { ChangeEvent, CSSProperties, useRef } from \"react\";\nimport { MoveDirection } from \"../../../hooks/UseKeyboardNavigation\";\nimport { useTextInput } from \"../../../hooks/UseTextInput\";\nimport { FullOnChangeProps } from \"../types\";\nimport styles from \"./TextInput.module.css\";\nimport { TextInputIcon } from \"./TextInputIcon\";\n\nexport type TextInputVariant =\n | \"standard\"\n | \"loading\"\n | \"warning\"\n | \"error\"\n | \"modified\"\n | \"success\";\n\ninterface ExtraContent {\n /** React node to put to the left. Left icon is ignored if this is set. */\n contentLeft?: React.ReactNode;\n /** React node to put to the right. Right icon is ignored if this is set. */\n contentRight?: React.ReactNode;\n /** If true, there will be no padding between contentLeft/contentRight and the border. */\n disableContentPadding?: boolean;\n /** If true, there will be no padding between contentLeft and the border. */\n disableContentPaddingLeft?: boolean;\n /** If true, there will be no padding between contentRight and the border. */\n disableContentPaddingRight?: boolean;\n /** Icon on the left side. */\n iconLeft?: IconDefinition;\n /** Icon on the right side. */\n iconRight?: IconDefinition;\n /** On click left. */\n onClickLeft?: () => void;\n /** On click right. */\n onClickRight?: () => void;\n}\n\nexport interface TextInputProps\n extends FullOnChangeProps<string, ChangeEvent<HTMLInputElement>>,\n InputProps,\n ExtraContent {\n wrapperStyle?: CSSProperties;\n wrapperClassName?: string;\n variant?: TextInputVariant;\n hideBorder?: boolean;\n selectAllOnMount?: boolean;\n moveCursorToEndOnMount?: boolean;\n onDone?: (value: string) => void;\n onEnter?: () => void;\n onEsc?: () => void;\n autoFocus?: boolean;\n /** onMove callback, triggered when user tries to move outside of field using arrow keys, tab or shift+tab. */\n onMove?: (direction: MoveDirection) => void;\n}\n\nexport const TextInput: React.FC<TextInputProps> = (props) => {\n const {\n variant = \"standard\",\n inputRef,\n disabled,\n className,\n contentLeft,\n contentRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n iconLeft,\n iconRight,\n onClickLeft,\n onClickRight,\n moveCursorToEndOnMount,\n selectAllOnMount,\n autoFocus,\n onValueChange,\n wrapperClassName,\n wrapperStyle,\n onDone,\n onEnter,\n onEsc,\n onMove,\n onChange,\n onKeyDown,\n hideBorder,\n onFocus,\n onBlur,\n ...inputProps\n } = props;\n const localRef = useRef<HTMLInputElement>(null);\n const refToUse = inputRef ?? localRef;\n const hookProps = useTextInput<HTMLInputElement>(refToUse, {\n onEnter,\n onEsc,\n onChange,\n onValueChange,\n selectAllOnMount,\n moveCursorToEndOnMount,\n onDone,\n onMove,\n onFocus,\n onBlur,\n onKeyDown,\n autoFocus,\n });\n\n const currentIconRight =\n variant === \"success\"\n ? faCheck\n : variant === \"warning\" || variant === \"error\"\n ? faExclamationTriangle\n : iconRight;\n\n const currentContentRight =\n variant === \"loading\" ? <InputSpinner /> : contentRight;\n\n return (\n <div\n className={cx(\n styles.textInput,\n styles[variant],\n {\n [styles.disabled]: disabled,\n },\n {\n [styles.hideBorder]: hideBorder,\n },\n wrapperClassName\n )}\n style={wrapperStyle}\n >\n <TextInputIcon\n content={contentLeft}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={iconLeft}\n spaceOnLeft\n onClick={onClickLeft}\n />\n <input\n className={cx(styles.input, className)}\n type={\"text\"}\n disabled={disabled}\n ref={refToUse}\n autoFocus={autoFocus}\n {...inputProps}\n {...hookProps}\n />\n <TextInputIcon\n content={currentContentRight}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={currentIconRight}\n spaceOnRight\n onClick={onClickRight}\n />\n </div>\n );\n};\n","import { parseFloatElseUndefined } from \"@stenajs-webui/core\";\n\nexport const onStepValueChange = ({\n onValueChange,\n value,\n numSteps,\n min,\n max,\n}: {\n onValueChange: ((value: string) => void) | undefined;\n value: string | undefined;\n numSteps: number;\n min: number | undefined;\n max: number | undefined;\n}) => {\n if (onValueChange) {\n if (!value) {\n onValueChange(String(limitWithinRange(numSteps, min, max)));\n } else {\n const parsedValue = parseFloatElseUndefined(value);\n const newValue = (parsedValue || 0) + numSteps;\n onValueChange(String(limitWithinRange(newValue, min, max)));\n }\n }\n};\n\nexport const onTextValueChange = ({\n onValueChange,\n newValue,\n min,\n max,\n}: {\n onValueChange: ((value: string) => void) | undefined;\n newValue: string;\n min: number | undefined;\n max: number | undefined;\n}) => {\n if (onValueChange) {\n if (newValue === \"\") {\n onValueChange(\"\");\n } else {\n const parsedValue = parseFloatElseUndefined(newValue);\n const value = parsedValue || 0;\n onValueChange(String(limitWithinRange(value, min, max)));\n }\n }\n};\n\nconst limitWithinRange = (\n value: number,\n min?: number,\n max?: number\n): number => {\n let v = value;\n if (min != null) {\n v = Math.max(min, v);\n }\n if (max != null) {\n v = Math.min(max, v);\n }\n return v;\n};\n","import { Omit, Space } from \"@stenajs-webui/core\";\nimport { UpDownButtons } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { TextInput, TextInputProps } from \"../text-input/TextInput\";\nimport styles from \"./NumericTextInput.module.css\";\nimport cx from \"classnames\";\nimport {\n onStepValueChange,\n onTextValueChange,\n} from \"../../../utils/NumericHelpers\";\n\nexport interface NumericTextInputProps\n extends Omit<\n TextInputProps,\n | \"onChange\" // Omit onChange, since up down buttons don't generate HTMLInput event.\n | \"selectAllOnMount\" // Not supported by browser when input type='number'\n | \"moveCursorToEndOnMount\" // Not supported by browser when input type='number'\n > {\n max?: number;\n min?: number;\n step?: number;\n hideButtons?: boolean;\n}\n\nexport const NumericTextInput: React.FC<NumericTextInputProps> = ({\n value,\n onValueChange,\n max,\n min,\n step = 1,\n contentRight,\n disabled,\n className,\n hideButtons,\n ...restProps\n}) => {\n const onClick = useCallback(\n (numSteps: number) => {\n onStepValueChange({ onValueChange, value, numSteps, min, max });\n },\n [value, max, min, onValueChange]\n );\n const onChange = useCallback(\n (newValue: string) => {\n onTextValueChange({ onValueChange, newValue, min, max });\n },\n [max, min, onValueChange]\n );\n\n const contentRightToUse = hideButtons ? (\n contentRight\n ) : (\n <>\n {contentRight && (\n <>\n {contentRight}\n <Space />\n </>\n )}\n <UpDownButtons\n onClickUp={disabled ? undefined : () => onClick(step)}\n onClickDown={disabled ? undefined : () => onClick(-step)}\n iconColor={\"var(--swui-textinput-text-color)\"}\n disabled={disabled}\n />\n </>\n );\n\n return (\n <TextInput\n contentRight={contentRightToUse}\n value={value}\n onValueChange={onChange}\n disableContentPaddingRight={!hideButtons}\n type={\"number\"}\n min={min}\n max={max}\n step={step}\n className={cx(styles.numericTextInputInput, className)}\n disabled={disabled}\n {...restProps}\n />\n );\n};\n","import { useCallback, useMemo } from \"react\";\nimport { ValueAndOnValueChangeProps } from \"../../types\";\nimport { NumericTextInputProps } from \"../NumericTextInput\";\nimport { parseFloatElseUndefined } from \"@stenajs-webui/core\";\n\nexport type NumericInputValueProps = ValueAndOnValueChangeProps<\n number | undefined\n>;\n\nexport const useNumericInputValue = (\n value: number | undefined,\n onValueChange?: (value: number | undefined) => void\n): Partial<NumericTextInputProps> => {\n const onValueChangeString = useCallback(\n (newValue: string) => {\n if (onValueChange) {\n if (!newValue) {\n onValueChange(undefined);\n } else {\n const n = parseFloatElseUndefined(newValue);\n if (n !== undefined) {\n onValueChange(n);\n }\n }\n }\n },\n [onValueChange]\n );\n\n const valueString = useMemo(() => {\n if (value === undefined) {\n return \"\";\n }\n return String(value);\n }, [value]);\n\n return {\n onValueChange: onValueChangeString,\n value: valueString,\n };\n};\n","import * as React from \"react\";\nimport { useState } from \"react\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { TextInput, TextInputProps } from \"../text-input/TextInput\";\nimport { faEye } from \"@fortawesome/free-solid-svg-icons/faEye\";\nimport { faEyeSlash } from \"@fortawesome/free-solid-svg-icons/faEyeSlash\";\n\nexport interface PasswordInputProps extends TextInputProps {\n visibleIcon?: IconDefinition;\n hiddenIcon?: IconDefinition;\n}\n\nexport const PasswordInput: React.FC<PasswordInputProps> = ({\n hiddenIcon = faEye,\n visibleIcon = faEyeSlash,\n ...props\n}) => {\n const [isPassword, setIsPassword] = useState(true);\n\n return (\n <TextInput\n iconRight={isPassword ? hiddenIcon : visibleIcon}\n onClickRight={() => setIsPassword((x) => !x)}\n type={isPassword ? \"password\" : \"text\"}\n {...props}\n />\n );\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport styles from \"./TextInput.module.css\";\nimport cx from \"classnames\";\nimport { TextInputProps } from \"./TextInput\";\nimport { TextInputIcon } from \"./TextInputIcon\";\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons/faCheck\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons/faExclamationTriangle\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport { Row } from \"@stenajs-webui/core\";\n\nexport interface TextInputBoxProps\n extends Pick<\n TextInputProps,\n | \"variant\"\n | \"wrapperClassName\"\n | \"disabled\"\n | \"wrapperStyle\"\n | \"contentLeft\"\n | \"contentRight\"\n | \"disableContentPadding\"\n | \"disableContentPaddingLeft\"\n | \"disableContentPaddingRight\"\n | \"iconRight\"\n | \"iconLeft\"\n | \"onClickLeft\"\n | \"onClickRight\"\n > {\n children?: ReactNode;\n}\n\nexport const TextInputBox: React.FC<TextInputBoxProps> = ({\n variant = \"standard\",\n disabled,\n wrapperClassName,\n wrapperStyle,\n contentLeft,\n contentRight,\n disableContentPadding,\n disableContentPaddingLeft,\n disableContentPaddingRight,\n iconRight,\n iconLeft,\n onClickLeft,\n onClickRight,\n children,\n}) => {\n const currentIconRight =\n variant === \"success\"\n ? faCheck\n : variant === \"warning\" || variant === \"error\"\n ? faExclamationTriangle\n : iconRight;\n\n const currentContentRight =\n variant === \"loading\" ? <InputSpinner /> : contentRight;\n\n return (\n <div\n className={cx(\n styles.textInput,\n styles.inputContainer,\n styles[variant],\n {\n [styles.disabled]: disabled,\n },\n wrapperClassName\n )}\n style={wrapperStyle}\n >\n <TextInputIcon\n content={contentLeft}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={iconLeft}\n spaceOnLeft\n onClick={onClickLeft}\n />\n <Row alignItems={\"center\"}>{children}</Row>\n <TextInputIcon\n content={currentContentRight}\n disableContentPadding={disableContentPadding}\n disableContentPaddingLeft={disableContentPaddingLeft}\n disableContentPaddingRight={disableContentPaddingRight}\n icon={currentIconRight}\n spaceOnRight\n onClick={onClickRight}\n />\n </div>\n );\n};\n","import * as React from \"react\";\nimport {\n ChangeEvent,\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n} from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./TextArea.module.css\";\nimport { FullOnChangeProps } from \"../types\";\n\ntype Resize =\n | \"none\"\n | \"both\"\n | \"horizontal\"\n | \"vertical\"\n | \"inherit\"\n | \"initial\"\n | \"revert\"\n | \"unset\";\n\nexport interface TextAreaProps\n extends Omit<ComponentPropsWithoutRef<\"textarea\">, \"value\">,\n FullOnChangeProps<string, ChangeEvent<HTMLTextAreaElement>> {\n resize?: Resize;\n readOnly?: boolean;\n rows?: number;\n disabled?: boolean;\n}\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n (\n {\n className,\n value,\n onValueChange,\n onChange,\n resize = \"none\",\n readOnly = false,\n rows,\n disabled,\n ...textAreaProps\n },\n ref\n ) => {\n const onChangeHandler: ChangeEventHandler<HTMLTextAreaElement> =\n useCallback(\n (ev) => {\n if (onChange) {\n onChange(ev);\n }\n if (onValueChange) {\n onValueChange(ev.target.value);\n }\n },\n [onChange, onValueChange]\n );\n\n return (\n <textarea\n disabled={disabled}\n rows={rows}\n readOnly={readOnly}\n className={cx(styles.textArea, className)}\n style={{ resize }}\n onChange={onChangeHandler}\n value={value}\n ref={ref}\n {...textAreaProps}\n />\n );\n }\n);\n"],"names":["styles","React","Box","Space","Text","forwardRef","useRef","useCallback","useEffect","cx","Row","FlatButton","FontAwesomeIcon","faCheck","faExclamationTriangle","InputSpinner","parseFloatElseUndefined","UpDownButtons","useMemo","faEye","faEyeSlash","useState"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stenajs-webui/forms",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "17.0.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "mattias800",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"deploy": "gh-pages -d example/build"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@stenajs-webui/core": "
|
|
31
|
-
"@stenajs-webui/elements": "
|
|
30
|
+
"@stenajs-webui/core": "17.0.0",
|
|
31
|
+
"@stenajs-webui/elements": "17.0.0",
|
|
32
32
|
"classnames": "^2.3.1",
|
|
33
33
|
"date-fns": "2.26.0"
|
|
34
34
|
},
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
"@fortawesome/free-solid-svg-icons": ">=5.15.3",
|
|
41
41
|
"@fortawesome/react-fontawesome": ">=0.1.14",
|
|
42
42
|
"@types/lodash": ">=4.14.168",
|
|
43
|
-
"@types/react": ">=
|
|
44
|
-
"@types/react-dom": ">=
|
|
43
|
+
"@types/react": ">=18.0.14",
|
|
44
|
+
"@types/react-dom": ">=18.0.5",
|
|
45
45
|
"@types/styled-system": ">=5.1.10",
|
|
46
46
|
"csstype": ">=3.0.8",
|
|
47
47
|
"lodash": ">=4.17.21",
|
|
48
48
|
"prop-types": ">=15.5.4",
|
|
49
|
-
"react": ">=
|
|
50
|
-
"react-dom": ">=
|
|
49
|
+
"react": ">=18.2.0",
|
|
50
|
+
"react-dom": ">=18.2.0",
|
|
51
51
|
"styled-system": ">=5.1.5"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
@@ -60,19 +60,19 @@
|
|
|
60
60
|
"@types/enzyme": "^3.9.1",
|
|
61
61
|
"@types/jest": "^23.1.5",
|
|
62
62
|
"@types/lodash": "^4.14.168",
|
|
63
|
-
"@types/react": "^
|
|
64
|
-
"@types/react-dom": "^
|
|
63
|
+
"@types/react": "^18.0.14",
|
|
64
|
+
"@types/react-dom": "^18.0.5",
|
|
65
65
|
"@types/styled-system": "^5.1.10",
|
|
66
66
|
"csstype": "^3.0.8",
|
|
67
67
|
"enzyme": "^3.9.0",
|
|
68
68
|
"lodash": "^4.17.21",
|
|
69
69
|
"prop-types": "^15.5.4",
|
|
70
|
-
"react": "^
|
|
71
|
-
"react-dom": "^
|
|
70
|
+
"react": "^18.2.0",
|
|
71
|
+
"react-dom": "^18.2.0",
|
|
72
72
|
"styled-system": "^5.1.5"
|
|
73
73
|
},
|
|
74
74
|
"files": [
|
|
75
75
|
"dist"
|
|
76
76
|
],
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "d2ef80338559080f4106bb97aa7a9d457615e3fb"
|
|
78
78
|
}
|