@stenajs-webui/forms 17.13.2 → 17.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../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":["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 { InputProps } from \"@stenajs-webui/core\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport { stenaCheck, stenaExclamationTriangle } 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 ? stenaCheck\n : variant === \"warning\" || variant === \"error\"\n ? stenaExclamationTriangle\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 { stenaCheck } from \"@stenajs-webui/elements\";\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 ? stenaCheck\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":["styleChecked","styles","switch","checked","Switch","value","disabled","onValueChange","className","wrapperRef","restProps","_jsx","filler","knob","SwitchWithLabel","label","textColor","switchProps","Checkbox","forwardRef","indeterminate","onChange","size","inputProps","ref","localRef","useRef","setRef","element","current","Boolean","handleInputChange","useCallback","ev","target","useEffect","cx","checkbox","CheckboxWithLabel","children","inputRef","checkboxProps","RadioButton","name","radiobutton","RadioButtonWithLabel","radioButtonProps","TextInputIcon","icon","iconClassName","content","spaceOnLeft","spaceOnRight","disableContentPadding","disableContentPaddingLeft","disableContentPaddingRight","onClick","_Fragment","clickable","TextInput","props","variant","contentLeft","contentRight","iconLeft","iconRight","onClickLeft","onClickRight","moveCursorToEndOnMount","selectAllOnMount","autoFocus","wrapperClassName","wrapperStyle","onDone","onEnter","onEsc","onMove","onKeyDown","hideBorder","onFocus","onBlur","refToUse","hookProps","useTextInput","currentIconRight","stenaCheck","stenaExclamationTriangle","currentContentRight","textInput","input","NumericTextInput","max","min","step","hideButtons","numSteps","newValue","contentRightToUse","_jsxs","undefined","numericTextInputInput","PasswordInput","hiddenIcon","faEye","visibleIcon","faEyeSlash","isPassword","setIsPassword","useState","x","TextInputBox","faExclamationTriangle","inputContainer","TextArea","resize","readOnly","rows","textAreaProps","onChangeHandler","textArea"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../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":["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 { InputProps } from \"@stenajs-webui/core\";\nimport { InputSpinner } from \"@stenajs-webui/elements\";\nimport { stenaCheck, stenaExclamationTriangle } 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 ? stenaCheck\n : variant === \"warning\" || variant === \"error\"\n ? stenaExclamationTriangle\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 { stenaCheck } from \"@stenajs-webui/elements\";\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 ? stenaCheck\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":["styleChecked","styles","switch","checked","Switch","value","disabled","onValueChange","className","wrapperRef","restProps","_jsx","filler","knob","SwitchWithLabel","label","textColor","switchProps","Box","Space","Text","Checkbox","forwardRef","indeterminate","onChange","size","inputProps","ref","localRef","useRef","setRef","element","current","Boolean","handleInputChange","useCallback","ev","target","useEffect","cx","checkbox","CheckboxWithLabel","children","inputRef","checkboxProps","Row","RadioButton","name","radiobutton","RadioButtonWithLabel","radioButtonProps","useKeyboardNavigation","onKeyDown","onEnter","onEsc","onMove","onDone","onBlur","onFocus","wasHandled","onBlurHandler","_a","onFocusHandler","key","blurMoveAndCancel","direction","e","elementHasSelectionRange","useSelectAllOnMount","moveCursorToEnd","enabled","useTextInput","selectAllOnMount","moveCursorToEndOnMount","autoFocus","onKeyDownHandler","onChangeHandler","TextInputIcon","icon","iconClassName","content","spaceOnLeft","spaceOnRight","disableContentPadding","disableContentPaddingLeft","disableContentPaddingRight","onClick","_Fragment","clickable","FlatButton","FontAwesomeIcon","TextInput","props","variant","contentLeft","contentRight","iconLeft","iconRight","onClickLeft","onClickRight","wrapperClassName","wrapperStyle","hideBorder","refToUse","hookProps","currentIconRight","stenaCheck","stenaExclamationTriangle","currentContentRight","InputSpinner","textInput","input","onStepValueChange","numSteps","min","max","limitWithinRange","newValue","parseFloatElseUndefined","onTextValueChange","v","NumericTextInput","step","hideButtons","_jsxs","UpDownButtons","undefined","numericTextInputInput","useNumericInputValue","onValueChangeString","n","valueString","useMemo","PasswordInput","hiddenIcon","faEye","visibleIcon","faEyeSlash","isPassword","setIsPassword","useState","x","TextInputBox","faExclamationTriangle","inputContainer","TextArea","resize","readOnly","rows","textAreaProps","textArea"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
- (function(){ try {var elementStyle = document.createElement('style'); elementStyle.appendChild(document.createTextNode("._switch_ven48_1{--swui-switch-width: 50px;--swui-switch-height: var(--swui-field-box-size-medium);--swui-switch-animation-time: var(--swui-animation-time-medium);--swui-switch-selected-highlight-color: var(--swui-primary-action-color);--swui-switch-knob-width: calc(var(--swui-switch-height) - 2px);--swui-switch-knob-bg-color-enabled: var(--swui-handle-bg-enabled-color);--swui-switch-knob-bg-color-disabled: var(--swui-handle-bg-disabled-color);--swui-switch-container-bg-color-enabled: var(--swui-field-bg-enabled);--swui-switch-container-bg-color-disabled: var(--swui-field-bg-disabled);--swui-switch-knob-border-color-enabled: var(--swui-separator-color);--swui-switch-container-border-color: var(--swui-field-border-color);--swui-switch-container-border-color-hover: var( --swui-field-border-color-hover );--swui-switch-container-border-color-disabled: var( --swui-field-border-color-disabled );--swui-switch-knob-shadow-color: var(--swui-field-shadow-color);display:flex;flex-direction:row;border:1px solid var(--swui-switch-container-border-color);box-sizing:border-box;background-color:var(--swui-switch-container-bg-color-enabled);height:var(--swui-switch-height);width:var(--swui-switch-width);border-radius:calc(var(--swui-switch-height) / 2);padding:0;margin:0;cursor:pointer;transition:background-color var(--swui-switch-animation-time)}._switch_ven48_1:focus{outline:0;border:1px solid var(--swui-switch-selected-highlight-color);box-shadow:inset var(--swui-switch-selected-highlight-color) 0 0 4px 0}._switch_ven48_1:hover{border:1px solid var(--swui-switch-selected-highlight-color)}._switch_ven48_1:disabled{cursor:default;background-color:var(--swui-switch-container-bg-color-disabled);border:1px solid var(--swui-switch-container-border-color-disabled)}._switch_ven48_1:disabled ._knob_ven48_52{background-color:var(--swui-switch-knob-bg-color-disabled)}._switch_ven48_1 ._filler_ven48_57{flex:none;transition:flex var(--swui-switch-animation-time)}._switch_ven48_1 ._knob_ven48_52{width:var(--swui-switch-knob-width);height:var(--swui-switch-knob-width);border-radius:50%;background-color:var(--swui-switch-knob-bg-color-enabled);box-shadow:var(--swui-switch-knob-shadow-color) 0 0 4px 1px}._checked_ven48_71{border:1px solid var(--swui-switch-selected-highlight-color);background-color:var(--swui-switch-selected-highlight-color)}._checked_ven48_71 ._filler_ven48_57{flex:1}._checkbox_pf7pg_1{--swui-checkbox-height: var(--swui-field-box-size-medium);--swui-checkbox-height-small: var(--swui-field-box-size-small);--swui-checkbox-border-radius: var(--swui-field-border-radius);--swui-checkbox-animation-time: var(--swui-animation-time-medium);--swui-checkbox-icon-color: var(--swui-field-indicator-active-color);--swui-checkbox-disabled-icon-color: var(--swui-field-border-color-disabled);--swui-checkbox-unchecked-icon-color: var( --swui-field-indicator-inactive-color );--swui-checkbox-unchecked-bg-color: var(--swui-white);--swui-checkbox-checked-bg-color: var(--swui-primary-action-color);--swui-checkbox-disabled-bg-color: var(--swui-field-bg-disabled);--swui-checkbox-disabled-checked-bg-color: var(--swui-field-bg-disabled);--swui-checkbox-border-color: var(--swui-field-border-color);--swui-checkbox-border-hover-color: var(--swui-field-border-color-hover);--swui-checkbox-disabled-border-color: var( --swui-field-border-color-disabled );--swui-checkbox-checked-focus-shadow: var(--swui-field-focus-shadow-inverted);--swui-checkbox-unchecked-focus-shadow: var(--swui-field-focus-shadow);-webkit-appearance:none;-moz-appearance:none;border-radius:var(--swui-checkbox-border-radius);outline:none;display:inline-block;vertical-align:top;position:relative;margin:0;cursor:pointer;border:1px solid var(--current-border-color, var(--swui-checkbox-border-color));background:var(--current-bg-color, var(--swui-checkbox-unchecked-bg-color));transition:background var(--swui-checkbox-animation-time),border-color var(--swui-checkbox-animation-time),box-shadow var(--swui-checkbox-animation-time);flex-shrink:0}._checkbox_pf7pg_1._standard_pf7pg_44{width:var(--swui-checkbox-height);height:var(--swui-checkbox-height)}._checkbox_pf7pg_1._standard_pf7pg_44:after{width:3px;height:6px;left:9px;top:6px}._checkbox_pf7pg_1._small_pf7pg_56{width:var(--swui-checkbox-height-small);height:var(--swui-checkbox-height-small)}._checkbox_pf7pg_1._small_pf7pg_56:after{width:3px;height:6px;left:5px;top:2px}._checkbox_pf7pg_1:after{content:\"\";display:block;position:absolute;transition:opacity var(--swui-checkbox-animation-time),width var(--swui-checkbox-animation-time),top var(--swui-checkbox-animation-time),-webkit-transform var(--swui-checkbox-animation-time) var(--d-t-e, ease);transition:transform var(--swui-checkbox-animation-time) var(--d-t-e, ease),opacity var(--swui-checkbox-animation-time),width var(--swui-checkbox-animation-time),top var(--swui-checkbox-animation-time);transition:transform var(--swui-checkbox-animation-time) var(--d-t-e, ease),opacity var(--swui-checkbox-animation-time),width var(--swui-checkbox-animation-time),top var(--swui-checkbox-animation-time),-webkit-transform var(--swui-checkbox-animation-time) var(--d-t-e, ease);border:2px solid var( --current-checkbox-icon-color, var(--swui-checkbox-unchecked-icon-color) );border-top:0;border-left:0;-webkit-transform:rotate(var(--current-check-rotation, 20deg));transform:rotate(var(--current-check-rotation, 20deg));box-sizing:content-box}._checkbox_pf7pg_1:checked{--current-check-rotation: 43deg;--current-bg-color: var(--swui-checkbox-checked-bg-color);--current-border-color: var(--swui-checkbox-checked-bg-color);--d-t-e: cubic-bezier(.2, .85, .32, 1.2)}._checkbox_pf7pg_1:checked:after{--current-checkbox-icon-color: var(--swui-checkbox-icon-color)}._checkbox_pf7pg_1:disabled:not(:checked){--current-bg-color: var(--swui-checkbox-disabled-bg-color);--current-border-color: var(--swui-checkbox-disabled-border-color)}._checkbox_pf7pg_1:disabled:not(:checked):after{--current-checkbox-icon-color: --swui-checkbox-unchecked-icon-color}._checkbox_pf7pg_1:disabled:checked{--current-bg-color: var(--swui-checkbox-disabled-checked-bg-color);--current-border-color: var(--swui-checkbox-disabled-border-color)}._checkbox_pf7pg_1:disabled:checked:after{--current-checkbox-icon-color: var(--swui-checkbox-disabled-icon-color)}._checkbox_pf7pg_1:indeterminate{--current-check-rotation: 43deg;--current-bg-color: var(--swui-checkbox-checked-bg-color);--current-border-color: var(--swui-checkbox-checked-bg-color);--d-t-e: cubic-bezier(.2, .85, .32, 1.2)}._checkbox_pf7pg_1:indeterminate:after{--current-checkbox-icon-color: var(--swui-checkbox-icon-color);border-right:0;-webkit-transform:rotate(0deg);transform:rotate(0);width:6px}._checkbox_pf7pg_1:indeterminate._standard_pf7pg_44:after{top:4px;left:8px}._checkbox_pf7pg_1:indeterminate._small_pf7pg_56:after{top:0;left:4px}._checkbox_pf7pg_1:indeterminate:disabled:after{--current-checkbox-icon-color: var(--swui-checkbox-disabled-icon-color)}._checkbox_pf7pg_1:hover:not(:checked):not(:disabled){--current-border-color: var(--swui-checkbox-border-hover-color)}._checkbox_pf7pg_1:focus:checked{box-shadow:var(--swui-checkbox-checked-focus-shadow)}._checkbox_pf7pg_1:focus:not(:checked){box-shadow:var(--swui-checkbox-unchecked-focus-shadow)}._checkbox_pf7pg_1+label{font-size:1.4rem;line-height:var(--swui-checkbox-height);display:inline-block;vertical-align:top;cursor:pointer;margin-left:4px}._radiobutton_qxvf5_1{--swui-radiobutton-size-standard: var(--swui-field-box-size-medium);--swui-radiobutton-size-small: var(--swui-field-box-size-small);--swui-radiobutton-animation-time: var(--swui-animation-time-medium);--swui-radiobutton-icon-color: var(--swui-field-indicator-active-color);--swui-radiobutton-disabled-icon-color: var(--swui-separator-color);--swui-radiobutton-unchecked-icon-color: var( --swui-field-indicator-inactive-color );--swui-radiobutton-checked-bg-color: var(--swui-primary-action-color);--swui-radiobutton-checked-disabled-bg-color: var(--swui-field-bg-disabled);--swui-radiobutton-unchecked-bg-color: var(--swui-white);--swui-radiobutton-unchecked-disabled-bg-color: var(--swui-field-bg-disabled);--swui-radiobutton-unchecked-border-color: var(--swui-field-border-color);--swui-radiobutton-unchecked-hover-border-color: var( --swui-field-border-color-hover );--swui-radiobutton-disabled-border-color: var( --swui-field-border-color-disabled );--swui-radiobutton-checked-focus-shadow: var( --swui-field-focus-shadow-inverted );--swui-radiobutton-unchecked-focus-shadow: var(--swui-field-focus-shadow);-webkit-appearance:none;-moz-appearance:none;outline:none;display:inline-block;vertical-align:top;position:relative;margin:0;flex:none;cursor:pointer;border:1px solid var(--current-border-color, var(--swui-radiobutton-unchecked-border-color));border-radius:50%;background:var( --current-bg-color, var(--swui-radiobutton-unchecked-bg-color) );transition:background var(--swui-radiobutton-animation-time),border-color var(--swui-radiobutton-animation-time),box-shadow var(--swui-radiobutton-animation-time)}._radiobutton_qxvf5_1._standard_qxvf5_51{height:var(--swui-radiobutton-size-standard);width:var(--swui-radiobutton-size-standard)}._radiobutton_qxvf5_1._standard_qxvf5_51:after{left:7px;top:7px}._radiobutton_qxvf5_1._small_qxvf5_61{height:var(--swui-radiobutton-size-small);width:var(--swui-radiobutton-size-small)}._radiobutton_qxvf5_1._small_qxvf5_61:after{left:3px;top:3px}._radiobutton_qxvf5_1:after{content:\"\";display:block;position:absolute;transition:opacity var(--current-opacity-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease),-webkit-transform var(--current-transform-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease);transition:transform var(--current-transform-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease),opacity var(--current-opacity-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease);transition:transform var(--current-transform-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease),opacity var(--current-opacity-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease),-webkit-transform var(--current-transform-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease);-webkit-transform:scale(var(--current-scale, 0));transform:scale(var(--current-scale, 0));width:8px;height:8px;border-radius:50%;background:var( --current-icon-color, var(--swui-radiobutton-unchecked-icon-color) );opacity:var(--current-opacity, 0)}._radiobutton_qxvf5_1:checked{--current-bg-color: var(--swui-radiobutton-checked-bg-color);--current-border-color: var(--swui-radiobutton-checked-bg-color);--current-opacity-time: var(--swui-radiobutton-animation-time);--current-transform-time: .6s;--current-transform-type: cubic-bezier(.2, .85, .32, 1.2);--current-opacity: 1;--current-scale: 1}._radiobutton_qxvf5_1:checked:after{--current-icon-color: var(--swui-radiobutton-icon-color)}._radiobutton_qxvf5_1:disabled{--current-bg-color: var(--swui-radiobutton-unchecked-disabled-bg-color);--current-border-color: var(--swui-radiobutton-disabled-border-color)}._radiobutton_qxvf5_1:disabled:checked{--current-bg-color: var(--swui-radiobutton-checked-disabled-bg-color)}._radiobutton_qxvf5_1:disabled:checked:after{--current-icon-color: var(--swui-radiobutton-disabled-icon-color)}._radiobutton_qxvf5_1:hover:not(:checked):not(:disabled){--current-border-color: var( --swui-radiobutton-unchecked-hover-border-color )}._radiobutton_qxvf5_1:focus:checked{box-shadow:var(--swui-radiobutton-checked-focus-shadow)}._radiobutton_qxvf5_1:focus:not(:checked){box-shadow:var(--swui-radiobutton-unchecked-focus-shadow)}._radiobutton_qxvf5_1+label{font-size:1.4rem;line-height:var(--swui-radiobutton-size-standard);display:inline-block;vertical-align:top;cursor:pointer;margin-left:4px}._textInput_ijduv_1{--swui-textinput-text-color: var(--swui-field-text-color);--swui-textinput-text-color-disabled: var(--swui-field-text-color-disabled);--swui-textinput-letter-spacing: var(--swui-field-letter-spacing);--swui-textinput-line-height: var(--swui-field-text-line-height);--swui-textinput-indent: var(--swui-metrics-indent);--swui-textinput-spacing: calc(var(--swui-field-text-spacing) - 1px);--swui-textinput-font-size: var(--swui-font-size-inputs);--swui-textinput-font-family: var(--swui-font-input);--swui-textinput-font-weight: var(--swui-font-weight-inputs);--swui-textinput-placeholder-color: var(--swui-field-placeholder-color);--swui-textinput-animation-time: var(--swui-animation-time-medium);--swui-textinput-icon-color: var(--swui-field-border-color-disabled);--swui-textinput-icon-hover-color: var(--swui-primary-action-color);--swui-textinput-icon-size: var(--swui-field-icon-size);--swui-textinput-icon-color-success: var(--swui-state-success-color);--swui-textinput-bg-loading: var(--swui-state-loading-light-color);--swui-textinput-border-color-loading: var(--swui-state-loading-color);--swui-textinput-bg-modified: var(--swui-state-modified-light-color);--swui-textinput-border-color-modified: var(--swui-state-modified-color);--swui-textinput-bg-warning: var(--swui-state-alert-light-color);--swui-textinput-border-color-warning: var(--swui-state-alert-color);--swui-textinput-bg-error: var(--swui-state-error-light-color);--swui-textinput-border-color-error: var(--swui-state-error-color);--swui-textinput-bg-color: var(--swui-field-bg-enabled);--swui-textinput-bg-color-disabled: var(--swui-field-bg-disabled);--swui-textinput-border-radius: var(--swui-field-border-radius);--swui-textinput-border-color: var(--swui-field-border-color);--swui-textinput-border-color-hover: var(--swui-field-border-color-hover);--swui-textinput-border-color-disabled: var( --swui-field-border-color-disabled );--swui-textinput-focus-shadow: var(--swui-field-focus-shadow);--current-bg: var(--swui-textinput-bg-color);--current-border-color: var(--swui-textinput-border-color);--current-icon-color: var(--swui-textinput-icon-color);display:flex;width:100%;align-items:center;background:var(--current-bg);border:1px solid var(--current-border-color);border-radius:var(--swui-textinput-border-radius);transition:all var(--swui-textinput-animation-time)}._textInput_ijduv_1._textInput_ijduv_1:focus-within:not(._disabled_ijduv_61){box-shadow:var(--swui-textinput-focus-shadow);--current-border-color: var(--swui-textinput-border-color-hover);--current-bg: var(--swui-textinput-bg-color)}._textInput_ijduv_1 ._input_ijduv_67{letter-spacing:var(--swui-textinput-letter-spacing);line-height:var(--swui-textinput-line-height);width:100%;padding:var(--swui-textinput-spacing) var(--swui-textinput-indent);color:var(--swui-textinput-text-color);font-size:var(--swui-textinput-font-size);font-family:var(--swui-textinput-font-family);font-weight:var(--swui-textinput-font-weight);background:var(--swui-hidden);border:none;min-width:0;margin:0}._textInput_ijduv_1 ._input_ijduv_67:disabled{color:var(--swui-textinput-text-color-disabled)}._textInput_ijduv_1 ._input_ijduv_67::-webkit-input-placeholder{color:var(--swui-textinput-placeholder-color)}._textInput_ijduv_1 ._input_ijduv_67:-ms-input-placeholder{color:var(--swui-textinput-placeholder-color)}._textInput_ijduv_1 ._input_ijduv_67::placeholder{color:var(--swui-textinput-placeholder-color)}._textInput_ijduv_1 ._input_ijduv_67:focus{outline:none}._textInput_ijduv_1 ._input_ijduv_67::-webkit-calendar-picker-indicator{display:none}._textInput_ijduv_1._standard_ijduv_102:hover:not(._disabled_ijduv_61),._textInput_ijduv_1._success_ijduv_103:hover:not(._disabled_ijduv_61){--current-border-color: var(--swui-textinput-border-color-hover)}._textInput_ijduv_1._success_ijduv_103{--current-icon-color: var(--swui-textinput-icon-color-success)}._textInput_ijduv_1._loading_ijduv_115{--current-bg: var(--swui-textinput-bg-loading);--current-border-color: var(--swui-textinput-border-color-loading)}._textInput_ijduv_1._modified_ijduv_120{--current-bg: var(--swui-textinput-bg-modified);--current-border-color: var(--swui-textinput-border-color-modified);--current-icon-color: var(--lhds-color-blue-300)}._textInput_ijduv_1._error_ijduv_126{--current-bg: var(--swui-textinput-bg-error);--current-border-color: var(--swui-textinput-border-color-error);--current-icon-color: var(--swui-textinput-border-color-error)}._textInput_ijduv_1._warning_ijduv_132{--current-bg: var(--swui-textinput-bg-warning);--current-border-color: var(--swui-textinput-border-color-warning);--current-icon-color: var(--swui-textinput-border-color-warning)}._textInput_ijduv_1._disabled_ijduv_61{--current-bg: var(--swui-textinput-bg-color-disabled);--current-border-color: var(--swui-textinput-border-color-disabled)}._textInput_ijduv_1._textInput_ijduv_1._hideBorder_ijduv_143{border:none;box-shadow:none;background:none}._textInput_ijduv_1 ._clickable_ijduv_149:hover{--current-icon-color: var(--swui-textinput-icon-hover-color);cursor:pointer}._textInput_ijduv_1 ._icon_ijduv_154{transition:color var(--swui-textinput-animation-time);color:var(--current-icon-color);font-size:var(--swui-textinput-icon-size)}._numericTextInputInput_1tnr6_1{-moz-appearance:textfield}._numericTextInputInput_1tnr6_1::-webkit-outer-spin-button,._numericTextInputInput_1tnr6_1::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}._textArea_1ta4a_1{--swui-textarea-text-color: var(--swui-field-text-color);--swui-textarea-text-color-disabled: var(--swui-field-text-color-disabled);--swui-textarea-letter-spacing: var(--swui-field-letter-spacing);--swui-textarea-line-height: var(--swui-field-text-line-height);--swui-textarea-indent: var(--swui-metrics-indent);--swui-textarea-spacing: calc(var(--swui-field-text-spacing) - 1px);--swui-textarea-font-size: var(--swui-font-size-inputs);--swui-textarea-font-family: var(--swui-font-input);--swui-textarea-font-weight: var(--swui-font-weight-inputs);--swui-textarea-placeholder-color: var(--swui-text-disabled-color);--swui-textarea-animation-time: var(--swui-animation-time-medium);--swui-textarea-icon-color: var(--swui-field-border-color-disabled);--swui-textarea-icon-size: var(--swui-field-icon-size);--swui-textarea-icon-color-success: var(--swui-state-success-color);--swui-textarea-bg-loading: var(--swui-state-loading-light-color);--swui-textarea-border-color-loading: var(--swui-state-loading-color);--swui-textarea-bg-modified: var(--swui-state-modified-light-color);--swui-textarea-border-color-modified: var(--swui-state-modified-color);--swui-textarea-bg-warning: var(--swui-state-alert-light-color);--swui-textarea-border-color-warning: var(--swui-state-alert-color);--swui-textarea-bg-error: var(--swui-state-error-light-color);--swui-textarea-border-color-error: var(--swui-state-error-color);--swui-textarea-bg-color: var(--swui-field-bg-enabled);--swui-textarea-bg-color-disabled: var(--swui-field-bg-disabled);--swui-textarea-border-radius: var(--swui-field-border-radius);--swui-textarea-border-color: var(--swui-field-border-color);--swui-textarea-border-color-hover: var(--swui-field-border-color-hover);--swui-textarea-border-color-disabled: var( --swui-field-border-color-disabled );--swui-textarea-focus-shadow: var(--swui-field-focus-shadow);max-width:100%;letter-spacing:var(--swui-textarea-letter-spacing);line-height:var(--swui-textarea-line-height);padding:var(--swui-textarea-spacing) var(--swui-textarea-indent);color:var(--swui-textarea-text-color);font-size:var(--swui-textarea-font-size);font-family:var(--swui-textarea-font-family);font-weight:var(--swui-textarea-font-weight);background:var(--current-bg, var(--swui-textarea-bg-color));border:1px solid var(--current-border-color, var(--swui-textarea-border-color));border-radius:var(--swui-textarea-border-radius);transition:border var(--swui-textarea-animation-time);--current-icon-color: var(--swui-textarea-icon-color)}._textArea_1ta4a_1:focus{outline:none;box-shadow:var(--swui-textarea-focus-shadow);--current-border-color: var(--swui-textarea-border-color-hover);--current-bg: var(--swui-textarea-bg-color)}._textArea_1ta4a_1:disabled{color:var(--swui-textarea-text-color-disabled);--current-bg: var(--swui-textarea-bg-color-disabled);--current-border-color: var(--swui-textarea-border-color-disabled)}")); document.head.appendChild(elementStyle);} catch(e) {console.error('vite-plugin-css-injected-by-js', e);} })();"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var s=require("react/jsx-runtime"),x=require("@stenajs-webui/core"),p=require("react"),se=require("classnames"),m=require("@stenajs-webui/elements"),re=require("@fortawesome/react-fontawesome"),ne=require("@fortawesome/free-solid-svg-icons/faEye"),ce=require("@fortawesome/free-solid-svg-icons/faEyeSlash"),ae=require("@fortawesome/free-solid-svg-icons/faExclamationTriangle");function ie(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var k=ie(se);const le="_knob_ven48_52",oe="_filler_ven48_57",ue="_checked_ven48_71";var I={switch:"_switch_ven48_1",knob:le,filler:oe,checked:ue};const de=`${I.switch} ${I.checked}`,B=({value:e,disabled:t,onValueChange:r,className:n,wrapperRef:c,...a})=>s.jsx("div",{className:n,ref:c,children:s.jsxs("button",{type:"button",role:"switch","aria-checked":e,className:e?de:I.switch,disabled:t,onClick:()=>r&&r(!e),...a,children:[s.jsx("div",{className:I.filler}),s.jsx("div",{className:I.knob})]})}),fe=({label:e,disabled:t,textColor:r,wrapperRef:n,...c})=>s.jsx("div",{ref:n,children:s.jsx("label",{children:s.jsxs(x.Box,{row:!0,alignItems:"center",children:[s.jsx(B,{disabled:t,...c}),s.jsx(x.Space,{}),s.jsx(x.Text,{userSelect:"none",color:r,children:e})]})})}),xe="_checkbox_pf7pg_1",pe="_standard_pf7pg_44",_e="_small_pf7pg_56";var N={checkbox:xe,standard:pe,small:_e};const C=p.forwardRef(({indeterminate:e=!1,onChange:t,onValueChange:r,value:n=!1,size:c="standard",...a},i)=>{const l=p.useRef(),o=f=>{l.current=f,l.current&&(l.current.indeterminate=Boolean(e)),i&&(typeof i=="function"?i(f):i.current=f)},_=p.useCallback(f=>{t&&t(f),r&&r(f.target.checked)},[t,r]);return p.useEffect(()=>{l.current&&(l.current.indeterminate=Boolean(e))},[e,l]),s.jsx("input",{type:"checkbox",className:k.default(N.checkbox,N[c]),checked:n,onChange:_,ref:o,...a})}),he=({children:e,label:t,inputRef:r,wrapperRef:n,textColor:c,...a})=>s.jsx("div",{ref:n,children:s.jsx("label",{children:s.jsxs(x.Row,{alignItems:"center",children:[s.jsx(C,{...a,ref:r}),s.jsx(x.Space,{}),t&&s.jsx(x.Text,{userSelect:"none",color:c,children:t}),e]})})}),je="_radiobutton_qxvf5_1",ge="_standard_qxvf5_51",be="_small_qxvf5_61";var A={radiobutton:je,standard:ge,small:be};const F=p.forwardRef(({onChange:e,onValueChange:t,size:r="standard",name:n,...c},a)=>{const i=p.useCallback(l=>{e&&e(l),t&&t(l.target.value)},[e,t]);return s.jsx("input",{type:"radio",name:n,className:A.radiobutton+" "+A[r],onChange:i,ref:a,...c})}),we=({label:e,inputRef:t,wrapperRef:r,textColor:n,...c})=>s.jsx("div",{ref:r,children:s.jsx("label",{children:s.jsxs(x.Row,{alignItems:"center",children:[s.jsx(F,{ref:t,...c}),s.jsx(x.Space,{}),s.jsx(x.Text,{color:n,userSelect:"none",children:e})]})})}),q=(e,t,r,n,c,a,i,l)=>{const o=p.useRef(!1),_=u=>{var d;o.current||a==null||a((d=u.target.value)!=null?d:""),i==null||i(u)},f=u=>{o.current=!1,l==null||l(u)};return{onKeyDownHandler:p.useCallback(u=>{var b;const{key:d}=u;if(d==="Enter")o.current=!0,r==null||r(),a==null||a((b=u.currentTarget.value)!=null?b:"");else if(d==="Escape")o.current=!0,n==null||n(),u.preventDefault(),u.stopPropagation();else if(c){const h=(v,w)=>{o.current=!0,e.current.blur(),c(v),w.preventDefault(),w.stopPropagation()};u.shiftKey&&d==="Tab"?h("left",u):d==="Tab"?h("right",u):d==="ArrowUp"?h("up",u):d==="ArrowDown"?h("down",u):d==="ArrowRight"?e.current.value.length===e.current.selectionStart&&h("right",u):d==="ArrowLeft"&&e.current.selectionStart===0&&h("left",u)}t&&t(u)},[n,c,t,e,r,a]),onBlurHandler:_,onFocusHandler:f}};function H(e){return e.tagName==="TEXTAREA"||e.tagName==="INPUT"&&(e.type==="text"||e.type==="search"||e.type==="url"||e.type==="tel"||e.type==="password")}const L=(e,t,r)=>{p.useEffect(()=>{!e.current||!H(e.current)||(r?e.current.setSelectionRange(0,e.current.value.length):t&&e.current.setSelectionRange(e.current.value.length,e.current.value.length))},[t,e,r])},E=(e,{onEnter:t,onEsc:r,onChange:n,onValueChange:c,selectAllOnMount:a,moveCursorToEndOnMount:i,onDone:l,onMove:o,onFocus:_,onBlur:f,onKeyDown:j,autoFocus:u})=>{L(e,!!i,!!a);const{onKeyDownHandler:d,onFocusHandler:b,onBlurHandler:h}=q(e,j,t,r,o,l,f,_),v=p.useCallback(w=>{n==null||n(w),c==null||c(w.target.value)},[n,c]);return{onBlur:h,onChange:v,onFocus:b,onKeyDown:d,autoFocus:a||u}},me="_textInput_ijduv_1",ke="_disabled_ijduv_61",ve="_input_ijduv_67",Ie="_standard_ijduv_102",ye="_success_ijduv_103",Se="_loading_ijduv_115",Re="_modified_ijduv_120",Te="_error_ijduv_126",Ne="_warning_ijduv_132",Ae="_hideBorder_ijduv_143",Be="_clickable_ijduv_149",Ce="_icon_ijduv_154";var g={textInput:me,disabled:ke,input:ve,standard:Ie,success:ye,loading:Se,modified:Re,error:Te,warning:Ne,hideBorder:Ae,clickable:Be,icon:Ce};const y=({icon:e,iconClassName:t,content:r,spaceOnLeft:n,spaceOnRight:c,disableContentPadding:a,disableContentPaddingLeft:i,disableContentPaddingRight:l,onClick:o})=>!r&&!e?null:r?s.jsxs(s.Fragment,{children:[n&&!(a||i)?s.jsx(x.Space,{}):null,o?s.jsx("span",{onClick:o,className:g.clickable,children:r||null}):s.jsx(s.Fragment,{children:r||null}),c&&!(a||l)?s.jsx(x.Space,{}):null]}):s.jsxs(s.Fragment,{children:[n?s.jsx(x.Space,{}):null,e&&s.jsx(s.Fragment,{children:o?s.jsx(m.FlatButton,{onClick:o,leftIcon:e,size:"small"}):s.jsx(re.FontAwesomeIcon,{icon:e,className:k.default(g.icon,t)})}),c?s.jsx(x.Space,{}):null]}),R=e=>{const{variant:t="standard",inputRef:r,disabled:n,className:c,contentLeft:a,contentRight:i,disableContentPadding:l,disableContentPaddingLeft:o,disableContentPaddingRight:_,iconLeft:f,iconRight:j,onClickLeft:u,onClickRight:d,moveCursorToEndOnMount:b,selectAllOnMount:h,autoFocus:v,onValueChange:w,wrapperClassName:U,wrapperStyle:M,onDone:W,onEnter:K,onEsc:O,onMove:z,onChange:X,onKeyDown:D,hideBorder:G,onFocus:J,onBlur:Q,...Y}=e,Z=p.useRef(null),T=r!=null?r:Z,V=E(T,{onEnter:K,onEsc:O,onChange:X,onValueChange:w,selectAllOnMount:h,moveCursorToEndOnMount:b,onDone:W,onMove:z,onFocus:J,onBlur:Q,onKeyDown:D,autoFocus:v}),ee=t==="success"?m.stenaCheck:t==="warning"||t==="error"?m.stenaExclamationTriangle:j,te=t==="loading"?s.jsx(m.InputSpinner,{}):i;return s.jsxs("div",{className:k.default(g.textInput,g[t],{[g.disabled]:n},{[g.hideBorder]:G},U),style:M,children:[s.jsx(y,{content:a,disableContentPadding:l,disableContentPaddingLeft:o,disableContentPaddingRight:_,icon:f,spaceOnLeft:!0,onClick:u}),s.jsx("input",{className:k.default(g.input,c),type:"text",disabled:n,ref:T,autoFocus:v,...Y,...V}),s.jsx(y,{content:te,disableContentPadding:l,disableContentPaddingLeft:o,disableContentPaddingRight:_,icon:ee,spaceOnRight:!0,onClick:d})]})},Fe="_numericTextInputInput_1tnr6_1";var qe={numericTextInputInput:Fe};const P=({onValueChange:e,value:t,numSteps:r,min:n,max:c})=>{if(e)if(!t)e(String(S(r,n,c)));else{const i=(x.parseFloatElseUndefined(t)||0)+r;e(String(S(i,n,c)))}},$=({onValueChange:e,newValue:t,min:r,max:n})=>{if(e)if(t==="")e("");else{const a=x.parseFloatElseUndefined(t)||0;e(String(S(a,r,n)))}},S=(e,t,r)=>{let n=e;return t!=null&&(n=Math.max(t,n)),r!=null&&(n=Math.min(r,n)),n},He=({value:e,onValueChange:t,max:r,min:n,step:c=1,contentRight:a,disabled:i,className:l,hideButtons:o,..._})=>{const f=p.useCallback(d=>{P({onValueChange:t,value:e,numSteps:d,min:n,max:r})},[e,r,n,t]),j=p.useCallback(d=>{$({onValueChange:t,newValue:d,min:n,max:r})},[r,n,t]),u=o?a:s.jsxs(s.Fragment,{children:[a&&s.jsxs(s.Fragment,{children:[a,s.jsx(x.Space,{})]}),s.jsx(m.UpDownButtons,{onClickUp:i?void 0:()=>f(c),onClickDown:i?void 0:()=>f(-c),iconColor:"var(--swui-textinput-text-color)",disabled:i})]});return s.jsx(R,{contentRight:u,value:e,onValueChange:j,disableContentPaddingRight:!o,type:"number",min:n,max:r,step:c,className:k.default(qe.numericTextInputInput,l),disabled:i,..._})},Le=(e,t)=>{const r=p.useCallback(c=>{if(t)if(!c)t(void 0);else{const a=x.parseFloatElseUndefined(c);a!==void 0&&t(a)}},[t]),n=p.useMemo(()=>e===void 0?"":String(e),[e]);return{onValueChange:r,value:n}},Ee=({hiddenIcon:e=ne.faEye,visibleIcon:t=ce.faEyeSlash,...r})=>{const[n,c]=p.useState(!0);return s.jsx(R,{iconRight:n?e:t,onClickRight:()=>c(a=>!a),type:n?"password":"text",...r})},Pe=({variant:e="standard",disabled:t,wrapperClassName:r,wrapperStyle:n,contentLeft:c,contentRight:a,disableContentPadding:i,disableContentPaddingLeft:l,disableContentPaddingRight:o,iconRight:_,iconLeft:f,onClickLeft:j,onClickRight:u,children:d})=>{const b=e==="success"?m.stenaCheck:e==="warning"||e==="error"?ae.faExclamationTriangle:_,h=e==="loading"?s.jsx(m.InputSpinner,{}):a;return s.jsxs("div",{className:k.default(g.textInput,g.inputContainer,g[e],{[g.disabled]:t},r),style:n,children:[s.jsx(y,{content:c,disableContentPadding:i,disableContentPaddingLeft:l,disableContentPaddingRight:o,icon:f,spaceOnLeft:!0,onClick:j}),s.jsx(x.Row,{alignItems:"center",children:d}),s.jsx(y,{content:h,disableContentPadding:i,disableContentPaddingLeft:l,disableContentPaddingRight:o,icon:b,spaceOnRight:!0,onClick:u})]})},$e="_textArea_1ta4a_1";var Ue={textArea:$e};const Me=p.forwardRef(({className:e,value:t,onValueChange:r,onChange:n,resize:c="none",readOnly:a=!1,rows:i,disabled:l,...o},_)=>{const f=p.useCallback(j=>{n&&n(j),r&&r(j.target.value)},[n,r]);return s.jsx("textarea",{disabled:l,rows:i,readOnly:a,className:k.default(Ue.textArea,e),style:{resize:c},onChange:f,value:t,ref:_,...o})});exports.Checkbox=C;exports.CheckboxWithLabel=he;exports.NumericTextInput=He;exports.PasswordInput=Ee;exports.RadioButton=F;exports.RadioButtonWithLabel=we;exports.Switch=B;exports.SwitchWithLabel=fe;exports.TextArea=Me;exports.TextInput=R;exports.TextInputBox=Pe;exports.elementHasSelectionRange=H;exports.onStepValueChange=P;exports.onTextValueChange=$;exports.useKeyboardNavigation=q;exports.useNumericInputValue=Le;exports.useSelectAllOnMount=L;exports.useTextInput=E;
1
+ (function(){"use strict";try{var r=document.createElement("style");r.appendChild(document.createTextNode('._switch_ven48_1{--swui-switch-width: 50px;--swui-switch-height: var(--swui-field-box-size-medium);--swui-switch-animation-time: var(--swui-animation-time-medium);--swui-switch-selected-highlight-color: var(--swui-primary-action-color);--swui-switch-knob-width: calc(var(--swui-switch-height) - 2px);--swui-switch-knob-bg-color-enabled: var(--swui-handle-bg-enabled-color);--swui-switch-knob-bg-color-disabled: var(--swui-handle-bg-disabled-color);--swui-switch-container-bg-color-enabled: var(--swui-field-bg-enabled);--swui-switch-container-bg-color-disabled: var(--swui-field-bg-disabled);--swui-switch-knob-border-color-enabled: var(--swui-separator-color);--swui-switch-container-border-color: var(--swui-field-border-color);--swui-switch-container-border-color-hover: var( --swui-field-border-color-hover );--swui-switch-container-border-color-disabled: var( --swui-field-border-color-disabled );--swui-switch-knob-shadow-color: var(--swui-field-shadow-color);display:flex;flex-direction:row;border:1px solid var(--swui-switch-container-border-color);box-sizing:border-box;background-color:var(--swui-switch-container-bg-color-enabled);height:var(--swui-switch-height);width:var(--swui-switch-width);border-radius:calc(var(--swui-switch-height) / 2);padding:0;margin:0;cursor:pointer;transition:background-color var(--swui-switch-animation-time)}._switch_ven48_1:focus{outline:0;border:1px solid var(--swui-switch-selected-highlight-color);box-shadow:inset var(--swui-switch-selected-highlight-color) 0 0 4px 0}._switch_ven48_1:hover{border:1px solid var(--swui-switch-selected-highlight-color)}._switch_ven48_1:disabled{cursor:default;background-color:var(--swui-switch-container-bg-color-disabled);border:1px solid var(--swui-switch-container-border-color-disabled)}._switch_ven48_1:disabled ._knob_ven48_52{background-color:var(--swui-switch-knob-bg-color-disabled)}._switch_ven48_1 ._filler_ven48_57{flex:none;transition:flex var(--swui-switch-animation-time)}._switch_ven48_1 ._knob_ven48_52{width:var(--swui-switch-knob-width);height:var(--swui-switch-knob-width);border-radius:50%;background-color:var(--swui-switch-knob-bg-color-enabled);box-shadow:var(--swui-switch-knob-shadow-color) 0 0 4px 1px}._checked_ven48_71{border:1px solid var(--swui-switch-selected-highlight-color);background-color:var(--swui-switch-selected-highlight-color)}._checked_ven48_71 ._filler_ven48_57{flex:1}._checkbox_pf7pg_1{--swui-checkbox-height: var(--swui-field-box-size-medium);--swui-checkbox-height-small: var(--swui-field-box-size-small);--swui-checkbox-border-radius: var(--swui-field-border-radius);--swui-checkbox-animation-time: var(--swui-animation-time-medium);--swui-checkbox-icon-color: var(--swui-field-indicator-active-color);--swui-checkbox-disabled-icon-color: var(--swui-field-border-color-disabled);--swui-checkbox-unchecked-icon-color: var( --swui-field-indicator-inactive-color );--swui-checkbox-unchecked-bg-color: var(--swui-white);--swui-checkbox-checked-bg-color: var(--swui-primary-action-color);--swui-checkbox-disabled-bg-color: var(--swui-field-bg-disabled);--swui-checkbox-disabled-checked-bg-color: var(--swui-field-bg-disabled);--swui-checkbox-border-color: var(--swui-field-border-color);--swui-checkbox-border-hover-color: var(--swui-field-border-color-hover);--swui-checkbox-disabled-border-color: var( --swui-field-border-color-disabled );--swui-checkbox-checked-focus-shadow: var(--swui-field-focus-shadow-inverted);--swui-checkbox-unchecked-focus-shadow: var(--swui-field-focus-shadow);-webkit-appearance:none;-moz-appearance:none;border-radius:var(--swui-checkbox-border-radius);outline:none;display:inline-block;vertical-align:top;position:relative;margin:0;cursor:pointer;border:1px solid var(--current-border-color, var(--swui-checkbox-border-color));background:var(--current-bg-color, var(--swui-checkbox-unchecked-bg-color));transition:background var(--swui-checkbox-animation-time),border-color var(--swui-checkbox-animation-time),box-shadow var(--swui-checkbox-animation-time);flex-shrink:0}._checkbox_pf7pg_1._standard_pf7pg_44{width:var(--swui-checkbox-height);height:var(--swui-checkbox-height)}._checkbox_pf7pg_1._standard_pf7pg_44:after{width:3px;height:6px;left:9px;top:6px}._checkbox_pf7pg_1._small_pf7pg_56{width:var(--swui-checkbox-height-small);height:var(--swui-checkbox-height-small)}._checkbox_pf7pg_1._small_pf7pg_56:after{width:3px;height:6px;left:5px;top:2px}._checkbox_pf7pg_1:after{content:"";display:block;position:absolute;transition:opacity var(--swui-checkbox-animation-time),width var(--swui-checkbox-animation-time),top var(--swui-checkbox-animation-time),-webkit-transform var(--swui-checkbox-animation-time) var(--d-t-e, ease);transition:transform var(--swui-checkbox-animation-time) var(--d-t-e, ease),opacity var(--swui-checkbox-animation-time),width var(--swui-checkbox-animation-time),top var(--swui-checkbox-animation-time);transition:transform var(--swui-checkbox-animation-time) var(--d-t-e, ease),opacity var(--swui-checkbox-animation-time),width var(--swui-checkbox-animation-time),top var(--swui-checkbox-animation-time),-webkit-transform var(--swui-checkbox-animation-time) var(--d-t-e, ease);border:2px solid var( --current-checkbox-icon-color, var(--swui-checkbox-unchecked-icon-color) );border-top:0;border-left:0;-webkit-transform:rotate(var(--current-check-rotation, 20deg));transform:rotate(var(--current-check-rotation, 20deg));box-sizing:content-box}._checkbox_pf7pg_1:checked{--current-check-rotation: 43deg;--current-bg-color: var(--swui-checkbox-checked-bg-color);--current-border-color: var(--swui-checkbox-checked-bg-color);--d-t-e: cubic-bezier(.2, .85, .32, 1.2)}._checkbox_pf7pg_1:checked:after{--current-checkbox-icon-color: var(--swui-checkbox-icon-color)}._checkbox_pf7pg_1:disabled:not(:checked){--current-bg-color: var(--swui-checkbox-disabled-bg-color);--current-border-color: var(--swui-checkbox-disabled-border-color)}._checkbox_pf7pg_1:disabled:not(:checked):after{--current-checkbox-icon-color: --swui-checkbox-unchecked-icon-color}._checkbox_pf7pg_1:disabled:checked{--current-bg-color: var(--swui-checkbox-disabled-checked-bg-color);--current-border-color: var(--swui-checkbox-disabled-border-color)}._checkbox_pf7pg_1:disabled:checked:after{--current-checkbox-icon-color: var(--swui-checkbox-disabled-icon-color)}._checkbox_pf7pg_1:indeterminate{--current-check-rotation: 43deg;--current-bg-color: var(--swui-checkbox-checked-bg-color);--current-border-color: var(--swui-checkbox-checked-bg-color);--d-t-e: cubic-bezier(.2, .85, .32, 1.2)}._checkbox_pf7pg_1:indeterminate:after{--current-checkbox-icon-color: var(--swui-checkbox-icon-color);border-right:0;-webkit-transform:rotate(0deg);transform:rotate(0);width:6px}._checkbox_pf7pg_1:indeterminate._standard_pf7pg_44:after{top:4px;left:8px}._checkbox_pf7pg_1:indeterminate._small_pf7pg_56:after{top:0;left:4px}._checkbox_pf7pg_1:indeterminate:disabled:after{--current-checkbox-icon-color: var(--swui-checkbox-disabled-icon-color)}._checkbox_pf7pg_1:hover:not(:checked):not(:disabled){--current-border-color: var(--swui-checkbox-border-hover-color)}._checkbox_pf7pg_1:focus:checked{box-shadow:var(--swui-checkbox-checked-focus-shadow)}._checkbox_pf7pg_1:focus:not(:checked){box-shadow:var(--swui-checkbox-unchecked-focus-shadow)}._checkbox_pf7pg_1+label{font-size:1.4rem;line-height:var(--swui-checkbox-height);display:inline-block;vertical-align:top;cursor:pointer;margin-left:4px}._radiobutton_qxvf5_1{--swui-radiobutton-size-standard: var(--swui-field-box-size-medium);--swui-radiobutton-size-small: var(--swui-field-box-size-small);--swui-radiobutton-animation-time: var(--swui-animation-time-medium);--swui-radiobutton-icon-color: var(--swui-field-indicator-active-color);--swui-radiobutton-disabled-icon-color: var(--swui-separator-color);--swui-radiobutton-unchecked-icon-color: var( --swui-field-indicator-inactive-color );--swui-radiobutton-checked-bg-color: var(--swui-primary-action-color);--swui-radiobutton-checked-disabled-bg-color: var(--swui-field-bg-disabled);--swui-radiobutton-unchecked-bg-color: var(--swui-white);--swui-radiobutton-unchecked-disabled-bg-color: var(--swui-field-bg-disabled);--swui-radiobutton-unchecked-border-color: var(--swui-field-border-color);--swui-radiobutton-unchecked-hover-border-color: var( --swui-field-border-color-hover );--swui-radiobutton-disabled-border-color: var( --swui-field-border-color-disabled );--swui-radiobutton-checked-focus-shadow: var( --swui-field-focus-shadow-inverted );--swui-radiobutton-unchecked-focus-shadow: var(--swui-field-focus-shadow);-webkit-appearance:none;-moz-appearance:none;outline:none;display:inline-block;vertical-align:top;position:relative;margin:0;flex:none;cursor:pointer;border:1px solid var(--current-border-color, var(--swui-radiobutton-unchecked-border-color));border-radius:50%;background:var( --current-bg-color, var(--swui-radiobutton-unchecked-bg-color) );transition:background var(--swui-radiobutton-animation-time),border-color var(--swui-radiobutton-animation-time),box-shadow var(--swui-radiobutton-animation-time)}._radiobutton_qxvf5_1._standard_qxvf5_51{height:var(--swui-radiobutton-size-standard);width:var(--swui-radiobutton-size-standard)}._radiobutton_qxvf5_1._standard_qxvf5_51:after{left:7px;top:7px}._radiobutton_qxvf5_1._small_qxvf5_61{height:var(--swui-radiobutton-size-small);width:var(--swui-radiobutton-size-small)}._radiobutton_qxvf5_1._small_qxvf5_61:after{left:3px;top:3px}._radiobutton_qxvf5_1:after{content:"";display:block;position:absolute;transition:opacity var(--current-opacity-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease),-webkit-transform var(--current-transform-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease);transition:transform var(--current-transform-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease),opacity var(--current-opacity-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease);transition:transform var(--current-transform-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease),opacity var(--current-opacity-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease),-webkit-transform var(--current-transform-time, var(--swui-radiobutton-animation-time)) var(--current-transform-type, ease);-webkit-transform:scale(var(--current-scale, 0));transform:scale(var(--current-scale, 0));width:8px;height:8px;border-radius:50%;background:var( --current-icon-color, var(--swui-radiobutton-unchecked-icon-color) );opacity:var(--current-opacity, 0)}._radiobutton_qxvf5_1:checked{--current-bg-color: var(--swui-radiobutton-checked-bg-color);--current-border-color: var(--swui-radiobutton-checked-bg-color);--current-opacity-time: var(--swui-radiobutton-animation-time);--current-transform-time: .6s;--current-transform-type: cubic-bezier(.2, .85, .32, 1.2);--current-opacity: 1;--current-scale: 1}._radiobutton_qxvf5_1:checked:after{--current-icon-color: var(--swui-radiobutton-icon-color)}._radiobutton_qxvf5_1:disabled{--current-bg-color: var(--swui-radiobutton-unchecked-disabled-bg-color);--current-border-color: var(--swui-radiobutton-disabled-border-color)}._radiobutton_qxvf5_1:disabled:checked{--current-bg-color: var(--swui-radiobutton-checked-disabled-bg-color)}._radiobutton_qxvf5_1:disabled:checked:after{--current-icon-color: var(--swui-radiobutton-disabled-icon-color)}._radiobutton_qxvf5_1:hover:not(:checked):not(:disabled){--current-border-color: var( --swui-radiobutton-unchecked-hover-border-color )}._radiobutton_qxvf5_1:focus:checked{box-shadow:var(--swui-radiobutton-checked-focus-shadow)}._radiobutton_qxvf5_1:focus:not(:checked){box-shadow:var(--swui-radiobutton-unchecked-focus-shadow)}._radiobutton_qxvf5_1+label{font-size:1.4rem;line-height:var(--swui-radiobutton-size-standard);display:inline-block;vertical-align:top;cursor:pointer;margin-left:4px}._textInput_ijduv_1{--swui-textinput-text-color: var(--swui-field-text-color);--swui-textinput-text-color-disabled: var(--swui-field-text-color-disabled);--swui-textinput-letter-spacing: var(--swui-field-letter-spacing);--swui-textinput-line-height: var(--swui-field-text-line-height);--swui-textinput-indent: var(--swui-metrics-indent);--swui-textinput-spacing: calc(var(--swui-field-text-spacing) - 1px);--swui-textinput-font-size: var(--swui-font-size-inputs);--swui-textinput-font-family: var(--swui-font-input);--swui-textinput-font-weight: var(--swui-font-weight-inputs);--swui-textinput-placeholder-color: var(--swui-field-placeholder-color);--swui-textinput-animation-time: var(--swui-animation-time-medium);--swui-textinput-icon-color: var(--swui-field-border-color-disabled);--swui-textinput-icon-hover-color: var(--swui-primary-action-color);--swui-textinput-icon-size: var(--swui-field-icon-size);--swui-textinput-icon-color-success: var(--swui-state-success-color);--swui-textinput-bg-loading: var(--swui-state-loading-light-color);--swui-textinput-border-color-loading: var(--swui-state-loading-color);--swui-textinput-bg-modified: var(--swui-state-modified-light-color);--swui-textinput-border-color-modified: var(--swui-state-modified-color);--swui-textinput-bg-warning: var(--swui-state-alert-light-color);--swui-textinput-border-color-warning: var(--swui-state-alert-color);--swui-textinput-bg-error: var(--swui-state-error-light-color);--swui-textinput-border-color-error: var(--swui-state-error-color);--swui-textinput-bg-color: var(--swui-field-bg-enabled);--swui-textinput-bg-color-disabled: var(--swui-field-bg-disabled);--swui-textinput-border-radius: var(--swui-field-border-radius);--swui-textinput-border-color: var(--swui-field-border-color);--swui-textinput-border-color-hover: var(--swui-field-border-color-hover);--swui-textinput-border-color-disabled: var( --swui-field-border-color-disabled );--swui-textinput-focus-shadow: var(--swui-field-focus-shadow);--current-bg: var(--swui-textinput-bg-color);--current-border-color: var(--swui-textinput-border-color);--current-icon-color: var(--swui-textinput-icon-color);display:flex;width:100%;align-items:center;background:var(--current-bg);border:1px solid var(--current-border-color);border-radius:var(--swui-textinput-border-radius);transition:all var(--swui-textinput-animation-time)}._textInput_ijduv_1._textInput_ijduv_1:focus-within:not(._disabled_ijduv_61){box-shadow:var(--swui-textinput-focus-shadow);--current-border-color: var(--swui-textinput-border-color-hover);--current-bg: var(--swui-textinput-bg-color)}._textInput_ijduv_1 ._input_ijduv_67{letter-spacing:var(--swui-textinput-letter-spacing);line-height:var(--swui-textinput-line-height);width:100%;padding:var(--swui-textinput-spacing) var(--swui-textinput-indent);color:var(--swui-textinput-text-color);font-size:var(--swui-textinput-font-size);font-family:var(--swui-textinput-font-family);font-weight:var(--swui-textinput-font-weight);background:var(--swui-hidden);border:none;min-width:0;margin:0}._textInput_ijduv_1 ._input_ijduv_67:disabled{color:var(--swui-textinput-text-color-disabled)}._textInput_ijduv_1 ._input_ijduv_67::-webkit-input-placeholder{color:var(--swui-textinput-placeholder-color)}._textInput_ijduv_1 ._input_ijduv_67:-ms-input-placeholder{color:var(--swui-textinput-placeholder-color)}._textInput_ijduv_1 ._input_ijduv_67::placeholder{color:var(--swui-textinput-placeholder-color)}._textInput_ijduv_1 ._input_ijduv_67:focus{outline:none}._textInput_ijduv_1 ._input_ijduv_67::-webkit-calendar-picker-indicator{display:none}._textInput_ijduv_1._standard_ijduv_102:hover:not(._disabled_ijduv_61),._textInput_ijduv_1._success_ijduv_103:hover:not(._disabled_ijduv_61){--current-border-color: var(--swui-textinput-border-color-hover)}._textInput_ijduv_1._success_ijduv_103{--current-icon-color: var(--swui-textinput-icon-color-success)}._textInput_ijduv_1._loading_ijduv_115{--current-bg: var(--swui-textinput-bg-loading);--current-border-color: var(--swui-textinput-border-color-loading)}._textInput_ijduv_1._modified_ijduv_120{--current-bg: var(--swui-textinput-bg-modified);--current-border-color: var(--swui-textinput-border-color-modified);--current-icon-color: var(--lhds-color-blue-300)}._textInput_ijduv_1._error_ijduv_126{--current-bg: var(--swui-textinput-bg-error);--current-border-color: var(--swui-textinput-border-color-error);--current-icon-color: var(--swui-textinput-border-color-error)}._textInput_ijduv_1._warning_ijduv_132{--current-bg: var(--swui-textinput-bg-warning);--current-border-color: var(--swui-textinput-border-color-warning);--current-icon-color: var(--swui-textinput-border-color-warning)}._textInput_ijduv_1._disabled_ijduv_61{--current-bg: var(--swui-textinput-bg-color-disabled);--current-border-color: var(--swui-textinput-border-color-disabled)}._textInput_ijduv_1._textInput_ijduv_1._hideBorder_ijduv_143{border:none;box-shadow:none;background:none}._textInput_ijduv_1 ._clickable_ijduv_149:hover{--current-icon-color: var(--swui-textinput-icon-hover-color);cursor:pointer}._textInput_ijduv_1 ._icon_ijduv_154{transition:color var(--swui-textinput-animation-time);color:var(--current-icon-color);font-size:var(--swui-textinput-icon-size)}._numericTextInputInput_1tnr6_1{-moz-appearance:textfield}._numericTextInputInput_1tnr6_1::-webkit-outer-spin-button,._numericTextInputInput_1tnr6_1::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}._textArea_1ta4a_1{--swui-textarea-text-color: var(--swui-field-text-color);--swui-textarea-text-color-disabled: var(--swui-field-text-color-disabled);--swui-textarea-letter-spacing: var(--swui-field-letter-spacing);--swui-textarea-line-height: var(--swui-field-text-line-height);--swui-textarea-indent: var(--swui-metrics-indent);--swui-textarea-spacing: calc(var(--swui-field-text-spacing) - 1px);--swui-textarea-font-size: var(--swui-font-size-inputs);--swui-textarea-font-family: var(--swui-font-input);--swui-textarea-font-weight: var(--swui-font-weight-inputs);--swui-textarea-placeholder-color: var(--swui-text-disabled-color);--swui-textarea-animation-time: var(--swui-animation-time-medium);--swui-textarea-icon-color: var(--swui-field-border-color-disabled);--swui-textarea-icon-size: var(--swui-field-icon-size);--swui-textarea-icon-color-success: var(--swui-state-success-color);--swui-textarea-bg-loading: var(--swui-state-loading-light-color);--swui-textarea-border-color-loading: var(--swui-state-loading-color);--swui-textarea-bg-modified: var(--swui-state-modified-light-color);--swui-textarea-border-color-modified: var(--swui-state-modified-color);--swui-textarea-bg-warning: var(--swui-state-alert-light-color);--swui-textarea-border-color-warning: var(--swui-state-alert-color);--swui-textarea-bg-error: var(--swui-state-error-light-color);--swui-textarea-border-color-error: var(--swui-state-error-color);--swui-textarea-bg-color: var(--swui-field-bg-enabled);--swui-textarea-bg-color-disabled: var(--swui-field-bg-disabled);--swui-textarea-border-radius: var(--swui-field-border-radius);--swui-textarea-border-color: var(--swui-field-border-color);--swui-textarea-border-color-hover: var(--swui-field-border-color-hover);--swui-textarea-border-color-disabled: var( --swui-field-border-color-disabled );--swui-textarea-focus-shadow: var(--swui-field-focus-shadow);max-width:100%;letter-spacing:var(--swui-textarea-letter-spacing);line-height:var(--swui-textarea-line-height);padding:var(--swui-textarea-spacing) var(--swui-textarea-indent);color:var(--swui-textarea-text-color);font-size:var(--swui-textarea-font-size);font-family:var(--swui-textarea-font-family);font-weight:var(--swui-textarea-font-weight);background:var(--current-bg, var(--swui-textarea-bg-color));border:1px solid var(--current-border-color, var(--swui-textarea-border-color));border-radius:var(--swui-textarea-border-radius);transition:border var(--swui-textarea-animation-time);--current-icon-color: var(--swui-textarea-icon-color)}._textArea_1ta4a_1:focus{outline:none;box-shadow:var(--swui-textarea-focus-shadow);--current-border-color: var(--swui-textarea-border-color-hover);--current-bg: var(--swui-textarea-bg-color)}._textArea_1ta4a_1:disabled{color:var(--swui-textarea-text-color-disabled);--current-bg: var(--swui-textarea-bg-color-disabled);--current-border-color: var(--swui-textarea-border-color-disabled)}')),document.head.appendChild(r)}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();
2
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),x=require("@stenajs-webui/core"),p=require("react"),se=require("classnames"),m=require("@stenajs-webui/elements"),ne=require("@fortawesome/react-fontawesome"),re=require("@fortawesome/free-solid-svg-icons/faEye"),ce=require("@fortawesome/free-solid-svg-icons/faEyeSlash"),ae=require("@fortawesome/free-solid-svg-icons/faExclamationTriangle"),ie=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},k=ie(se),oe="_knob_ven48_52",le="_filler_ven48_57",ue="_checked_ven48_71",y={switch:"_switch_ven48_1",knob:oe,filler:le,checked:ue},de=`${y.switch} ${y.checked}`,B=({value:e,disabled:t,onValueChange:n,className:r,wrapperRef:c,...a})=>s.jsx("div",{className:r,ref:c,children:s.jsxs("button",{type:"button",role:"switch","aria-checked":e,className:e?de:y.switch,disabled:t,onClick:()=>n&&n(!e),...a,children:[s.jsx("div",{className:y.filler}),s.jsx("div",{className:y.knob})]})}),fe=({label:e,disabled:t,textColor:n,wrapperRef:r,...c})=>s.jsx("div",{ref:r,children:s.jsx("label",{children:s.jsxs(x.Box,{row:!0,alignItems:"center",children:[s.jsx(B,{disabled:t,...c}),s.jsx(x.Space,{}),s.jsx(x.Text,{userSelect:"none",color:n,children:e})]})})}),xe="_checkbox_pf7pg_1",pe="_standard_pf7pg_44",_e="_small_pf7pg_56",N={checkbox:xe,standard:pe,small:_e},C=p.forwardRef(({indeterminate:e=!1,onChange:t,onValueChange:n,value:r=!1,size:c="standard",...a},i)=>{const o=p.useRef(),l=f=>{o.current=f,o.current&&(o.current.indeterminate=Boolean(e)),i&&(typeof i=="function"?i(f):i.current=f)},_=p.useCallback(f=>{t&&t(f),n&&n(f.target.checked)},[t,n]);return p.useEffect(()=>{o.current&&(o.current.indeterminate=Boolean(e))},[e,o]),s.jsx("input",{type:"checkbox",className:k.default(N.checkbox,N[c]),checked:r,onChange:_,ref:l,...a})}),he=({children:e,label:t,inputRef:n,wrapperRef:r,textColor:c,...a})=>s.jsx("div",{ref:r,children:s.jsx("label",{children:s.jsxs(x.Row,{alignItems:"center",children:[s.jsx(C,{...a,ref:n}),s.jsx(x.Space,{}),t&&s.jsx(x.Text,{userSelect:"none",color:c,children:t}),e]})})}),je="_radiobutton_qxvf5_1",ge="_standard_qxvf5_51",be="_small_qxvf5_61",A={radiobutton:je,standard:ge,small:be},F=p.forwardRef(({onChange:e,onValueChange:t,size:n="standard",name:r,...c},a)=>{const i=p.useCallback(o=>{e&&e(o),t&&t(o.target.value)},[e,t]);return s.jsx("input",{type:"radio",name:r,className:A.radiobutton+" "+A[n],onChange:i,ref:a,...c})}),we=({label:e,inputRef:t,wrapperRef:n,textColor:r,...c})=>s.jsx("div",{ref:n,children:s.jsx("label",{children:s.jsxs(x.Row,{alignItems:"center",children:[s.jsx(F,{ref:t,...c}),s.jsx(x.Space,{}),s.jsx(x.Text,{color:r,userSelect:"none",children:e})]})})}),q=(e,t,n,r,c,a,i,o)=>{const l=p.useRef(!1),_=u=>{var d;l.current||a==null||a((d=u.target.value)!=null?d:""),i==null||i(u)},f=u=>{l.current=!1,o==null||o(u)};return{onKeyDownHandler:p.useCallback(u=>{var b;const{key:d}=u;if(d==="Enter")l.current=!0,n==null||n(),a==null||a((b=u.currentTarget.value)!=null?b:"");else if(d==="Escape")l.current=!0,r==null||r(),u.preventDefault(),u.stopPropagation();else if(c){const h=(I,w)=>{l.current=!0,e.current.blur(),c(I),w.preventDefault(),w.stopPropagation()};u.shiftKey&&d==="Tab"?h("left",u):d==="Tab"?h("right",u):d==="ArrowUp"?h("up",u):d==="ArrowDown"?h("down",u):d==="ArrowRight"?e.current.value.length===e.current.selectionStart&&h("right",u):d==="ArrowLeft"&&e.current.selectionStart===0&&h("left",u)}t&&t(u)},[r,c,t,e,n,a]),onBlurHandler:_,onFocusHandler:f}};function H(e){return e.tagName==="TEXTAREA"||e.tagName==="INPUT"&&(e.type==="text"||e.type==="search"||e.type==="url"||e.type==="tel"||e.type==="password")}const L=(e,t,n)=>{p.useEffect(()=>{!e.current||!H(e.current)||(n?e.current.setSelectionRange(0,e.current.value.length):t&&e.current.setSelectionRange(e.current.value.length,e.current.value.length))},[t,e,n])},E=(e,{onEnter:t,onEsc:n,onChange:r,onValueChange:c,selectAllOnMount:a,moveCursorToEndOnMount:i,onDone:o,onMove:l,onFocus:_,onBlur:f,onKeyDown:j,autoFocus:u})=>{L(e,!!i,!!a);const{onKeyDownHandler:d,onFocusHandler:b,onBlurHandler:h}=q(e,j,t,n,l,o,f,_),I=p.useCallback(w=>{r==null||r(w),c==null||c(w.target.value)},[r,c]);return{onBlur:h,onChange:I,onFocus:b,onKeyDown:d,autoFocus:a||u}},me="_textInput_ijduv_1",ke="_disabled_ijduv_61",Ie="_input_ijduv_67",ye="_standard_ijduv_102",Se="_success_ijduv_103",Re="_loading_ijduv_115",Te="_modified_ijduv_120",ve="_error_ijduv_126",Ne="_warning_ijduv_132",Ae="_hideBorder_ijduv_143",Be="_clickable_ijduv_149",Ce="_icon_ijduv_154",g={textInput:me,disabled:ke,input:Ie,standard:ye,success:Se,loading:Re,modified:Te,error:ve,warning:Ne,hideBorder:Ae,clickable:Be,icon:Ce},S=({icon:e,iconClassName:t,content:n,spaceOnLeft:r,spaceOnRight:c,disableContentPadding:a,disableContentPaddingLeft:i,disableContentPaddingRight:o,onClick:l})=>!n&&!e?null:n?s.jsxs(s.Fragment,{children:[r&&!(a||i)?s.jsx(x.Space,{}):null,l?s.jsx("span",{onClick:l,className:g.clickable,children:n||null}):s.jsx(s.Fragment,{children:n||null}),c&&!(a||o)?s.jsx(x.Space,{}):null]}):s.jsxs(s.Fragment,{children:[r?s.jsx(x.Space,{}):null,e&&s.jsx(s.Fragment,{children:l?s.jsx(m.FlatButton,{onClick:l,leftIcon:e,size:"small"}):s.jsx(ne.FontAwesomeIcon,{icon:e,className:k.default(g.icon,t)})}),c?s.jsx(x.Space,{}):null]}),T=e=>{const{variant:t="standard",inputRef:n,disabled:r,className:c,contentLeft:a,contentRight:i,disableContentPadding:o,disableContentPaddingLeft:l,disableContentPaddingRight:_,iconLeft:f,iconRight:j,onClickLeft:u,onClickRight:d,moveCursorToEndOnMount:b,selectAllOnMount:h,autoFocus:I,onValueChange:w,wrapperClassName:U,wrapperStyle:M,onDone:W,onEnter:K,onEsc:O,onMove:z,onChange:X,onKeyDown:D,hideBorder:G,onFocus:J,onBlur:Q,...Y}=e,Z=p.useRef(null),v=n!=null?n:Z,V=E(v,{onEnter:K,onEsc:O,onChange:X,onValueChange:w,selectAllOnMount:h,moveCursorToEndOnMount:b,onDone:W,onMove:z,onFocus:J,onBlur:Q,onKeyDown:D,autoFocus:I}),ee=t==="success"?m.stenaCheck:t==="warning"||t==="error"?m.stenaExclamationTriangle:j,te=t==="loading"?s.jsx(m.InputSpinner,{}):i;return s.jsxs("div",{className:k.default(g.textInput,g[t],{[g.disabled]:r},{[g.hideBorder]:G},U),style:M,children:[s.jsx(S,{content:a,disableContentPadding:o,disableContentPaddingLeft:l,disableContentPaddingRight:_,icon:f,spaceOnLeft:!0,onClick:u}),s.jsx("input",{className:k.default(g.input,c),type:"text",disabled:r,ref:v,autoFocus:I,...Y,...V}),s.jsx(S,{content:te,disableContentPadding:o,disableContentPaddingLeft:l,disableContentPaddingRight:_,icon:ee,spaceOnRight:!0,onClick:d})]})},Fe="_numericTextInputInput_1tnr6_1",qe={numericTextInputInput:Fe},P=({onValueChange:e,value:t,numSteps:n,min:r,max:c})=>{if(e)if(!t)e(String(R(n,r,c)));else{const i=(x.parseFloatElseUndefined(t)||0)+n;e(String(R(i,r,c)))}},$=({onValueChange:e,newValue:t,min:n,max:r})=>{if(e)if(t==="")e("");else{const a=x.parseFloatElseUndefined(t)||0;e(String(R(a,n,r)))}},R=(e,t,n)=>{let r=e;return t!=null&&(r=Math.max(t,r)),n!=null&&(r=Math.min(n,r)),r},He=({value:e,onValueChange:t,max:n,min:r,step:c=1,contentRight:a,disabled:i,className:o,hideButtons:l,..._})=>{const f=p.useCallback(d=>{P({onValueChange:t,value:e,numSteps:d,min:r,max:n})},[e,n,r,t]),j=p.useCallback(d=>{$({onValueChange:t,newValue:d,min:r,max:n})},[n,r,t]),u=l?a:s.jsxs(s.Fragment,{children:[a&&s.jsxs(s.Fragment,{children:[a,s.jsx(x.Space,{})]}),s.jsx(m.UpDownButtons,{onClickUp:i?void 0:()=>f(c),onClickDown:i?void 0:()=>f(-c),iconColor:"var(--swui-textinput-text-color)",disabled:i})]});return s.jsx(T,{contentRight:u,value:e,onValueChange:j,disableContentPaddingRight:!l,type:"number",min:r,max:n,step:c,className:k.default(qe.numericTextInputInput,o),disabled:i,..._})},Le=(e,t)=>{const n=p.useCallback(c=>{if(t)if(!c)t(void 0);else{const a=x.parseFloatElseUndefined(c);a!==void 0&&t(a)}},[t]),r=p.useMemo(()=>e===void 0?"":String(e),[e]);return{onValueChange:n,value:r}},Ee=({hiddenIcon:e=re.faEye,visibleIcon:t=ce.faEyeSlash,...n})=>{const[r,c]=p.useState(!0);return s.jsx(T,{iconRight:r?e:t,onClickRight:()=>c(a=>!a),type:r?"password":"text",...n})},Pe=({variant:e="standard",disabled:t,wrapperClassName:n,wrapperStyle:r,contentLeft:c,contentRight:a,disableContentPadding:i,disableContentPaddingLeft:o,disableContentPaddingRight:l,iconRight:_,iconLeft:f,onClickLeft:j,onClickRight:u,children:d})=>{const b=e==="success"?m.stenaCheck:e==="warning"||e==="error"?ae.faExclamationTriangle:_,h=e==="loading"?s.jsx(m.InputSpinner,{}):a;return s.jsxs("div",{className:k.default(g.textInput,g.inputContainer,g[e],{[g.disabled]:t},n),style:r,children:[s.jsx(S,{content:c,disableContentPadding:i,disableContentPaddingLeft:o,disableContentPaddingRight:l,icon:f,spaceOnLeft:!0,onClick:j}),s.jsx(x.Row,{alignItems:"center",children:d}),s.jsx(S,{content:h,disableContentPadding:i,disableContentPaddingLeft:o,disableContentPaddingRight:l,icon:b,spaceOnRight:!0,onClick:u})]})},$e="_textArea_1ta4a_1",Ue={textArea:$e},Me=p.forwardRef(({className:e,value:t,onValueChange:n,onChange:r,resize:c="none",readOnly:a=!1,rows:i,disabled:o,...l},_)=>{const f=p.useCallback(j=>{r&&r(j),n&&n(j.target.value)},[r,n]);return s.jsx("textarea",{disabled:o,rows:i,readOnly:a,className:k.default(Ue.textArea,e),style:{resize:c},onChange:f,value:t,ref:_,...l})});exports.Checkbox=C;exports.CheckboxWithLabel=he;exports.NumericTextInput=He;exports.PasswordInput=Ee;exports.RadioButton=F;exports.RadioButtonWithLabel=we;exports.Switch=B;exports.SwitchWithLabel=fe;exports.TextArea=Me;exports.TextInput=T;exports.TextInputBox=Pe;exports.elementHasSelectionRange=H;exports.onStepValueChange=P;exports.onTextValueChange=$;exports.useKeyboardNavigation=q;exports.useNumericInputValue=Le;exports.useSelectAllOnMount=L;exports.useTextInput=E;
2
3
  //# sourceMappingURL=index.js.map