@uxf/ui 11.10.0 → 11.11.2

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.
Files changed (45) hide show
  1. package/_input-with-popover/input-with-popover.js +1 -1
  2. package/avatar-file-input/avatar-file-input.js +1 -1
  3. package/avatar-file-input/avatar-file-input.stories.js +3 -3
  4. package/checkbox/checkbox.stories.js +4 -4
  5. package/checkbox-button/checkbox-button.stories.js +3 -3
  6. package/checkbox-input/checkbox-input.js +1 -1
  7. package/checkbox-input/checkbox-input.stories.js +5 -5
  8. package/color-radio/color-radio.stories.js +6 -6
  9. package/color-radio-group/color-radio-group.js +1 -1
  10. package/color-radio-group/color-radio-group.stories.js +1 -1
  11. package/color-scheme/get-color-scheme-class-name.d.ts +2 -0
  12. package/color-scheme/get-color-scheme-class-name.js +14 -0
  13. package/color-scheme/get-color-scheme.d.ts +2 -0
  14. package/color-scheme/get-color-scheme.js +17 -0
  15. package/color-scheme/index.d.ts +2 -0
  16. package/color-scheme/index.js +5 -1
  17. package/color-scheme/use-color-scheme.d.ts +2 -1
  18. package/color-scheme/use-color-scheme.js +10 -13
  19. package/css/button-list.css +2 -0
  20. package/dropzone/dropzone.stories.js +7 -7
  21. package/file-input/file-input.js +1 -1
  22. package/file-input/file-input.stories.js +3 -3
  23. package/form-component/form-component.d.ts +1 -0
  24. package/form-component/form-component.js +1 -1
  25. package/form-component/form-component.stories.js +4 -4
  26. package/input/input-element.js +1 -1
  27. package/input/input.stories.js +9 -9
  28. package/multi-combobox/_multi-combobox-base.js +1 -1
  29. package/multi-combobox/multi-combobox.js +1 -1
  30. package/multi-select/multi-select.js +1 -1
  31. package/multi-select/multi-select.stories.js +1 -1
  32. package/package.json +1 -1
  33. package/radio/radio.stories.js +8 -8
  34. package/radio-group/radio-group.js +1 -1
  35. package/radio-group/radio-group.stories.js +5 -5
  36. package/select/select.stories.d.ts +0 -9
  37. package/select/select.stories.js +12 -18
  38. package/text-input/text-input.js +1 -1
  39. package/text-input/text-input.stories.d.ts +0 -5
  40. package/text-input/text-input.stories.js +8 -14
  41. package/textarea/textarea.d.ts +0 -1
  42. package/textarea/textarea.js +1 -1
  43. package/textarea/textarea.stories.js +4 -4
  44. package/toggle/toggle.stories.js +4 -4
  45. package/types/form-control-props.d.ts +1 -1
@@ -71,7 +71,7 @@ exports._InputWithPopover = (0, react_3.forwardRef)((props, ref) => {
71
71
  });
72
72
  const isInteractive = !props.isDisabled && !props.isReadOnly;
73
73
  const showRemoveButton = !!(props.value && isInteractive && props.isClearable);
74
- return (react_3.default.createElement(form_component_1.FormComponent, { className: rootClassName, errorId: error.errorId, form: props.form, helperText: props.helperText, hiddenLabel: props.hiddenLabel, inputId: id, isRequired: props.isRequired, label: props.label },
74
+ return (react_3.default.createElement(form_component_1.FormComponent, { className: rootClassName, errorId: error.errorId, form: props.form, helperText: props.helperText, hiddenLabel: props.hiddenLabel, inputId: id, isRequired: props.isRequired, label: props.label, name: props.name },
75
75
  react_3.default.createElement(react_2.Popover, { as: react_3.Fragment }, (renderProps) => (react_3.default.createElement(react_3.default.Fragment, null,
76
76
  react_3.default.createElement(input_1.Input, { inputFocus: input, size: props.size, variant: props.variant, wrapperRef: floatingPopover.refs.setReference },
77
77
  props.leftAddon && react_3.default.createElement(input_1.Input.LeftAddon, null, props.leftAddon),
@@ -53,7 +53,7 @@ exports.AvatarFileInput = (0, react_1.forwardRef)((props, ref) => {
53
53
  inputNode.value = "";
54
54
  }
55
55
  };
56
- return (react_1.default.createElement(form_component_1.FormComponent, { className: rootClassName, errorId: props.id, helperText: props.helperText, hiddenLabel: props.hiddenLabel, inputId: id, label: props.label },
56
+ return (react_1.default.createElement(form_component_1.FormComponent, { className: rootClassName, errorId: props.id, helperText: props.helperText, hiddenLabel: props.hiddenLabel, inputId: id, label: props.label, name: props.name },
57
57
  react_1.default.createElement("div", { className: "uxf-avatar-file-input__inner-wrapper" },
58
58
  react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-avatar-file-input__input", stateClassName), onClick: onSelectFile },
59
59
  react_1.default.createElement(_file_input_base_1._FileInputBase, { accept: (_c = props.accept) !== null && _c !== void 0 ? _c : "image/*", "aria-describedby": errorId, "aria-invalid": props.isInvalid, className: "uxf-avatar-file-input__input-element", form: props.form, id: id, isDisabled: props.isDisabled, isFocused: props.isFocused, isInvalid: props.isInvalid, isReadOnly: props.isReadOnly, isRequired: props.isRequired, maxFileSize: props.maxFileSize, name: props.name, onBlur: input.onBlur, onFocus: input.onFocus, onChange: props.onChange, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, ref: (0, composeRefs_1.composeRefs)(innerRef, ref), value: props.value }),
@@ -42,8 +42,8 @@ function Default() {
42
42
  console.log("Upload error", err);
43
43
  };
44
44
  return (react_1.default.createElement("div", { className: "space-y-4 p-20" },
45
- react_1.default.createElement(index_1.AvatarFileInput, { label: "Nahrajte fotku", onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value, variant: "square" }),
46
- react_1.default.createElement(index_1.AvatarFileInput, { isDisabled: true, onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value, variant: "square" }),
47
- react_1.default.createElement(index_1.AvatarFileInput, { id: "afi", isInvalid: true, label: "Vyberte Avatar", onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value })));
45
+ react_1.default.createElement(index_1.AvatarFileInput, { label: "Nahrajte fotku", onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value, variant: "square", name: "avatar-input" }),
46
+ react_1.default.createElement(index_1.AvatarFileInput, { isDisabled: true, onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value, variant: "square", name: "avatar-input-disabled" }),
47
+ react_1.default.createElement(index_1.AvatarFileInput, { id: "afi", isInvalid: true, label: "Vyberte Avatar", onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value, name: "avatar-input-isInvalid" })));
48
48
  }
49
49
  exports.Default = Default;
@@ -35,10 +35,10 @@ function Default() {
35
35
  const [checked, setChecked] = (0, react_1.useState)(true);
36
36
  const onChange = (0, action_1.action)("onChange", () => setChecked((prev) => !prev));
37
37
  const checkboxes = (react_1.default.createElement(react_1.default.Fragment, null,
38
- react_1.default.createElement(checkbox_1.Checkbox, { onChange: onChange, value: checked }),
39
- react_1.default.createElement(checkbox_1.Checkbox, { isDisabled: true, onChange: onChange, value: checked }),
40
- react_1.default.createElement(checkbox_1.Checkbox, { isInvalid: true, onChange: onChange, value: checked }),
41
- react_1.default.createElement(checkbox_1.Checkbox, { onChange: onChange, value: checked, size: "lg" })));
38
+ react_1.default.createElement(checkbox_1.Checkbox, { onChange: onChange, value: checked, name: "checkbox" }),
39
+ react_1.default.createElement(checkbox_1.Checkbox, { isDisabled: true, onChange: onChange, value: checked, name: "checkbox-disabled" }),
40
+ react_1.default.createElement(checkbox_1.Checkbox, { isInvalid: true, onChange: onChange, value: checked, name: "checkbox-invalid" }),
41
+ react_1.default.createElement(checkbox_1.Checkbox, { onChange: onChange, value: checked, size: "lg", name: "checkbox-size-lg" })));
42
42
  return (react_1.default.createElement("div", { className: "flex" },
43
43
  react_1.default.createElement("div", { className: "flex flex-col gap-4 p-20" }, checkboxes)));
44
44
  }
@@ -36,8 +36,8 @@ function Default() {
36
36
  const onChange = (0, action_1.action)("onChange", () => setChecked((prev) => !prev));
37
37
  return (react_1.default.createElement("div", { className: "flex" },
38
38
  react_1.default.createElement("div", { className: "flex flex-col gap-4 p-20" },
39
- react_1.default.createElement(index_1.CheckboxButton, { label: "Opravdu?", onChange: onChange, value: checked }),
40
- react_1.default.createElement(index_1.CheckboxButton, { label: "Opravdu?", isDisabled: true, onChange: onChange, value: checked }),
41
- react_1.default.createElement(index_1.CheckboxButton, { label: "Opravdu?", isInvalid: true, onChange: onChange, value: checked }))));
39
+ react_1.default.createElement(index_1.CheckboxButton, { label: "Opravdu?", onChange: onChange, value: checked, name: "checkbox-button" }),
40
+ react_1.default.createElement(index_1.CheckboxButton, { label: "Opravdu?", isDisabled: true, onChange: onChange, value: checked, name: "checkbox-button-disabled" }),
41
+ react_1.default.createElement(index_1.CheckboxButton, { label: "Opravdu?", isInvalid: true, onChange: onChange, value: checked, name: "checkbox-button-invalid" }))));
42
42
  }
43
43
  exports.Default = Default;
@@ -34,7 +34,7 @@ exports.CheckboxInput = (0, react_2.forwardRef)((props, ref) => {
34
34
  const errorId = props.isInvalid ? `${id}--error-message` : undefined;
35
35
  return (react_2.default.createElement(react_1.Switch.Group, null,
36
36
  react_2.default.createElement("div", { className: `uxf-checkbox-input__wrapper ${(_b = props.className) !== null && _b !== void 0 ? _b : ""}` },
37
- react_2.default.createElement(react_1.Switch, { as: react_2.Fragment, checked: props.value, name: props.name, onChange: props.onChange }, ({ checked }) => (react_2.default.createElement(checkbox_1.Checkbox, { className: "uxf-checkbox-input", id: props.id, indeterminate: props.indeterminate, isDisabled: props.isDisabled, isFocused: props.isFocused, isInvalid: props.isInvalid, isReadOnly: props.isReadOnly, isRequired: props.isRequired, onChange: props.onChange, ref: ref, size: props.size, style: props.style, value: checked }))),
37
+ react_2.default.createElement(react_1.Switch, { as: react_2.Fragment, checked: props.value, name: props.name, onChange: props.onChange }, ({ checked }) => (react_2.default.createElement(checkbox_1.Checkbox, { className: "uxf-checkbox-input", id: props.id, indeterminate: props.indeterminate, isDisabled: props.isDisabled, isFocused: props.isFocused, isInvalid: props.isInvalid, isReadOnly: props.isReadOnly, isRequired: props.isRequired, onChange: props.onChange, ref: ref, size: props.size, style: props.style, value: checked, name: props.name }))),
38
38
  react_2.default.createElement(react_1.Switch.Label, { className: `uxf-checkbox-input__label ${props.hiddenLabel ? "uxf-checkbox-input__label--hidden" : ""}` },
39
39
  react_2.default.createElement("span", { className: "uxf-checkbox-input__label--text" }, props.label),
40
40
  react_2.default.createElement("span", { id: errorId, className: "uxf-checkbox-input__label--subtitle" }, props.helperText)))));
@@ -35,11 +35,11 @@ function Default() {
35
35
  const [checked, setChecked] = (0, react_1.useState)(true);
36
36
  const onChange = (0, action_1.action)("onChange", () => setChecked((prev) => !prev));
37
37
  const checkboxes = (react_1.default.createElement(react_1.default.Fragment, null,
38
- react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "Opravdu?", onChange: onChange, value: checked }),
39
- react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "Opravdu?", isDisabled: true, onChange: onChange, value: checked }),
40
- react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "Opravdu?", isInvalid: true, onChange: onChange, value: checked }),
41
- react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "Opravdu? (size lg)", onChange: onChange, value: checked, size: "lg" }),
42
- react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "hidden label", hiddenLabel: true, onChange: onChange, value: checked, size: "lg" })));
38
+ react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "Opravdu?", onChange: onChange, value: checked, name: "checkbox-input" }),
39
+ react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "Opravdu?", isDisabled: true, onChange: onChange, value: checked, name: "checkbox-input-disabled" }),
40
+ react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "Opravdu?", isInvalid: true, onChange: onChange, value: checked, name: "checkbox-input-invalid" }),
41
+ react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "Opravdu? (size lg)", onChange: onChange, value: checked, size: "lg", name: "checkbox-input-lg" }),
42
+ react_1.default.createElement(checkbox_input_1.CheckboxInput, { label: "hidden label", hiddenLabel: true, onChange: onChange, value: checked, size: "lg", name: "checkbox-input-hidden-label-lg" })));
43
43
  return (react_1.default.createElement("div", { className: "flex" },
44
44
  react_1.default.createElement("div", { className: "flex flex-col gap-4 p-20" }, checkboxes)));
45
45
  }
@@ -14,16 +14,16 @@ function Default() {
14
14
  const radios = (react_1.default.createElement("div", { className: "dark:text-white" },
15
15
  react_1.default.createElement("div", { className: "mb-2 mt-4 font-semibold" }, "Default"),
16
16
  react_1.default.createElement("div", { className: "flex flex-row gap-4" },
17
- react_1.default.createElement(color_radio_1.ColorRadio, { checked: false, color: "#ff0000", colorLabel: "Red", value: 1 }),
18
- react_1.default.createElement(color_radio_1.ColorRadio, { checked: true, color: "#cc0000", colorLabel: "Red", value: 2 })),
17
+ react_1.default.createElement(color_radio_1.ColorRadio, { checked: false, color: "#ff0000", colorLabel: "Red", value: 1, name: "value-1" }),
18
+ react_1.default.createElement(color_radio_1.ColorRadio, { checked: true, color: "#cc0000", colorLabel: "Red", value: 2, name: "value-2" })),
19
19
  react_1.default.createElement("div", { className: "mb-2 mt-4 font-semibold" }, "Invalid"),
20
20
  react_1.default.createElement("div", { className: "flex flex-row gap-4" },
21
- react_1.default.createElement(color_radio_1.ColorRadio, { checked: false, color: "#ff0000", colorLabel: "Red", isInvalid: true, value: 1 }),
22
- react_1.default.createElement(color_radio_1.ColorRadio, { checked: true, color: "#ff0000", colorLabel: "Red", isInvalid: true, value: 2 })),
21
+ react_1.default.createElement(color_radio_1.ColorRadio, { checked: false, color: "#ff0000", colorLabel: "Red", isInvalid: true, value: 1, name: "value-1" }),
22
+ react_1.default.createElement(color_radio_1.ColorRadio, { checked: true, color: "#ff0000", colorLabel: "Red", isInvalid: true, value: 2, name: "value-2" })),
23
23
  react_1.default.createElement("div", { className: "mb-2 mt-4 font-semibold" }, "Disabled"),
24
24
  react_1.default.createElement("div", { className: "flex flex-row gap-4" },
25
- react_1.default.createElement(color_radio_1.ColorRadio, { checked: false, color: "#ff0000", colorLabel: "Red", isDisabled: true, value: 1 }),
26
- react_1.default.createElement(color_radio_1.ColorRadio, { checked: true, color: "#ff0000", colorLabel: "Red", isDisabled: true, value: 2 }))));
25
+ react_1.default.createElement(color_radio_1.ColorRadio, { checked: false, color: "#ff0000", colorLabel: "Red", isDisabled: true, value: 1, name: "value-1" }),
26
+ react_1.default.createElement(color_radio_1.ColorRadio, { checked: true, color: "#ff0000", colorLabel: "Red", isDisabled: true, value: 2, name: "value-2" }))));
27
27
  return (react_1.default.createElement("div", { className: "flex" },
28
28
  react_1.default.createElement("div", { className: "p-20 " }, radios)));
29
29
  }
@@ -42,7 +42,7 @@ exports.ColorRadioGroup = (0, react_2.forwardRef)((props, ref) => {
42
42
  react_2.default.createElement("div", { className: "uxf-form-component__input" },
43
43
  react_2.default.createElement("div", { className: "uxf-color-radio-group__options-wrapper" }, props.options.map((option) => {
44
44
  const optionStyle = { "--option-color": option.value };
45
- return (react_2.default.createElement(react_1.RadioGroup.Option, { className: (0, cx_1.cx)("uxf-color-radio-group__option", props.isDisabled && classes_1.CLASSES.IS_DISABLED), key: option.value.toString(), value: option.value, style: optionStyle }, (o) => (react_2.default.createElement(color_radio_1.ColorRadio, { checked: o.checked, isDisabled: props.isDisabled || o.disabled, colorLabel: option.label, color: option.value, ref: o.checked ? innerRef : undefined, value: option.value }))));
45
+ return (react_2.default.createElement(react_1.RadioGroup.Option, { className: (0, cx_1.cx)("uxf-color-radio-group__option", props.isDisabled && classes_1.CLASSES.IS_DISABLED), key: option.value.toString(), value: option.value, style: optionStyle }, (o) => (react_2.default.createElement(color_radio_1.ColorRadio, { checked: o.checked, isDisabled: props.isDisabled || o.disabled, colorLabel: option.label, color: option.value, ref: o.checked ? innerRef : undefined, value: option.value, name: props.name }))));
46
46
  })),
47
47
  props.helperText && (react_2.default.createElement("div", { className: (0, cx_1.cx)("uxf-helper-text", props.isInvalid && classes_1.CLASSES.IS_INVALID), id: errorId }, props.helperText)))));
48
48
  });
@@ -74,6 +74,6 @@ function Default() {
74
74
  const onChange = (0, action_1.action)("onChange", setValue);
75
75
  return (react_1.default.createElement("div", { className: "flex" },
76
76
  react_1.default.createElement("div", { className: "w-1/2 p-20" },
77
- react_1.default.createElement(index_1.ColorRadioGroup, { id: "radiogroup", label: "Light Color Radio group", onChange: onChange, options: options, value: value }))));
77
+ react_1.default.createElement(index_1.ColorRadioGroup, { id: "radiogroup", label: "Light Color Radio group", onChange: onChange, options: options, value: value, name: "color-radio-button" }))));
78
78
  }
79
79
  exports.Default = Default;
@@ -0,0 +1,2 @@
1
+ import { ColorScheme } from "../types";
2
+ export declare function getColorSchemeClassName(colorScheme: ColorScheme | undefined): "dark" | "light";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getColorSchemeClassName = void 0;
4
+ function getColorSchemeClassName(colorScheme) {
5
+ switch (colorScheme) {
6
+ case "dark":
7
+ return "dark";
8
+ case "light":
9
+ return "light";
10
+ default:
11
+ return "light";
12
+ }
13
+ }
14
+ exports.getColorSchemeClassName = getColorSchemeClassName;
@@ -0,0 +1,2 @@
1
+ import { ColorScheme } from "../types";
2
+ export declare function getColorScheme(): ColorScheme | undefined;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getColorScheme = void 0;
4
+ const isServer_1 = require("@uxf/core/utils/isServer");
5
+ function getColorScheme() {
6
+ if (isServer_1.isServer) {
7
+ return;
8
+ }
9
+ const bodyClassList = document.body.classList;
10
+ if (bodyClassList.contains("light")) {
11
+ return "light";
12
+ }
13
+ if (bodyClassList.contains("dark")) {
14
+ return "dark";
15
+ }
16
+ }
17
+ exports.getColorScheme = getColorScheme;
@@ -1,3 +1,5 @@
1
1
  export { COLOR_SCHEME_DEFAULTS } from "./color-scheme-defaults";
2
+ export { getColorScheme } from "./get-color-scheme";
3
+ export { getColorSchemeClassName } from "./get-color-scheme-class-name";
2
4
  export { useColorScheme } from "./use-color-scheme";
3
5
  export { useToggleColorScheme } from "./use-toggle-color-scheme";
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useToggleColorScheme = exports.useColorScheme = exports.COLOR_SCHEME_DEFAULTS = void 0;
3
+ exports.useToggleColorScheme = exports.useColorScheme = exports.getColorSchemeClassName = exports.getColorScheme = exports.COLOR_SCHEME_DEFAULTS = void 0;
4
4
  var color_scheme_defaults_1 = require("./color-scheme-defaults");
5
5
  Object.defineProperty(exports, "COLOR_SCHEME_DEFAULTS", { enumerable: true, get: function () { return color_scheme_defaults_1.COLOR_SCHEME_DEFAULTS; } });
6
+ var get_color_scheme_1 = require("./get-color-scheme");
7
+ Object.defineProperty(exports, "getColorScheme", { enumerable: true, get: function () { return get_color_scheme_1.getColorScheme; } });
8
+ var get_color_scheme_class_name_1 = require("./get-color-scheme-class-name");
9
+ Object.defineProperty(exports, "getColorSchemeClassName", { enumerable: true, get: function () { return get_color_scheme_class_name_1.getColorSchemeClassName; } });
6
10
  var use_color_scheme_1 = require("./use-color-scheme");
7
11
  Object.defineProperty(exports, "useColorScheme", { enumerable: true, get: function () { return use_color_scheme_1.useColorScheme; } });
8
12
  var use_toggle_color_scheme_1 = require("./use-toggle-color-scheme");
@@ -1 +1,2 @@
1
- export declare function useColorScheme(): () => "dark" | "light" | undefined;
1
+ import { ColorScheme } from "../types";
2
+ export declare function useColorScheme(): ColorScheme | undefined;
@@ -1,19 +1,16 @@
1
1
  "use strict";
2
+ "use client";
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.useColorScheme = void 0;
4
- const isServer_1 = require("@uxf/core/utils/isServer");
5
+ const react_1 = require("react");
6
+ const get_color_scheme_1 = require("./get-color-scheme");
5
7
  function useColorScheme() {
6
- return () => {
7
- if (isServer_1.isServer) {
8
- return;
9
- }
10
- const bodyClassList = document.body.classList;
11
- if (bodyClassList.contains("light")) {
12
- return "light";
13
- }
14
- if (bodyClassList.contains("dark")) {
15
- return "dark";
16
- }
17
- };
8
+ const [colorScheme, setColorScheme] = (0, react_1.useState)(get_color_scheme_1.getColorScheme);
9
+ (0, react_1.useEffect)(() => {
10
+ const observer = new MutationObserver((mutations) => mutations.forEach(() => setColorScheme((0, get_color_scheme_1.getColorScheme)())));
11
+ observer.observe(document.body, { attributes: true, attributeFilter: ["class"] });
12
+ return () => observer.disconnect();
13
+ }, []);
14
+ return colorScheme;
18
15
  }
19
16
  exports.useColorScheme = useColorScheme;
@@ -3,6 +3,8 @@
3
3
 
4
4
  &__menu {
5
5
  @apply relative;
6
+
7
+ display: flex;
6
8
  }
7
9
 
8
10
  &__menu-items {
@@ -57,14 +57,14 @@ function Default() {
57
57
  });
58
58
  };
59
59
  const storyDropzone = (react_1.default.createElement("div", { className: "space-y-2" },
60
- react_1.default.createElement(index_1.Dropzone, { helperText: "Disabled drag 'n' drop", label: "Use drag and drop or click to upload", noDrag: true, onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files }),
61
- react_1.default.createElement(index_1.Dropzone, { helperText: "Disabled onClick upload", label: react_1.default.createElement("span", { className: "bg-primary-600 rounded-lg px-4 py-2 font-bold text-white" }, "JSX label"), noClick: true, onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files }),
62
- react_1.default.createElement(index_1.Dropzone, { accept: { "image/*": [] }, label: "Only images upload", onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files }),
63
- react_1.default.createElement(index_1.Dropzone, { label: "Single file upload", maxFilesCount: 1, onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files }),
64
- react_1.default.createElement(index_1.Dropzone, { isDisabled: true, label: "Disabled dropzone", onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files }),
65
- react_1.default.createElement(index_1.Dropzone.List, { errorText: "Chyba p\u0159i nahr\u00E1v\u00E1n\u00ED souboru", onChange: onChange, onRemoveConfirm: onRemoveConfirm, value: files }),
60
+ react_1.default.createElement(index_1.Dropzone, { helperText: "Disabled drag 'n' drop", label: "Use drag and drop or click to upload", noDrag: true, onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files, name: "dropzone-disabled-drag-and-drop" }),
61
+ react_1.default.createElement(index_1.Dropzone, { helperText: "Disabled onClick upload", label: react_1.default.createElement("span", { className: "bg-primary-600 rounded-lg px-4 py-2 font-bold text-white" }, "JSX label"), noClick: true, onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files, name: "dropzone-disabled-click" }),
62
+ react_1.default.createElement(index_1.Dropzone, { accept: { "image/*": [] }, label: "Only images upload", onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files, name: "dropzone-only-images" }),
63
+ react_1.default.createElement(index_1.Dropzone, { label: "Single file upload", maxFilesCount: 1, onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files, name: "dropzone-single-file" }),
64
+ react_1.default.createElement(index_1.Dropzone, { isDisabled: true, label: "Disabled dropzone", onChange: onChange, onUploadFile: upload_file_mock_1.uploadFile, value: files, name: "dropzone-disabled" }),
65
+ react_1.default.createElement(index_1.Dropzone.List, { errorText: "Chyba p\u0159i nahr\u00E1v\u00E1n\u00ED souboru", onChange: onChange, onRemoveConfirm: onRemoveConfirm, value: files, name: "dropzone-error-message" }),
66
66
  react_1.default.createElement(index_1.Dropzone.List, { onChange: onChange, onRemoveConfirm: onRemoveConfirm, renderItem: (file) => (react_1.default.createElement("li", { key: file.id },
67
- react_1.default.createElement("pre", null, JSON.stringify(file, null, 4)))), value: files })));
67
+ react_1.default.createElement("pre", null, JSON.stringify(file, null, 4)))), value: files, name: "dropzone-list" })));
68
68
  return (react_1.default.createElement(context_1.UiContextProvider, { value: (0, get_provider_config_1.getProviderConfig)() },
69
69
  react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
70
70
  react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyDropzone))));
@@ -60,7 +60,7 @@ exports.FileInput = (0, react_1.forwardRef)((props, ref) => {
60
60
  }
61
61
  props.onChange(value, event);
62
62
  };
63
- return (react_1.default.createElement(form_component_1.FormComponent, { className: (0, cx_1.cx)(input.focused && classes_1.CLASSES.IS_FOCUSED, props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID, props.isReadOnly && classes_1.CLASSES.IS_READONLY), errorId: errorId, form: props.form, helperText: props.helperText, inputId: id, isRequired: props.isRequired, label: props.label, hiddenLabel: props.hiddenLabel },
63
+ return (react_1.default.createElement(form_component_1.FormComponent, { className: (0, cx_1.cx)(input.focused && classes_1.CLASSES.IS_FOCUSED, props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID, props.isReadOnly && classes_1.CLASSES.IS_READONLY), errorId: errorId, form: props.form, helperText: props.helperText, inputId: id, isRequired: props.isRequired, label: props.label, hiddenLabel: props.hiddenLabel, name: props.name },
64
64
  react_1.default.createElement(react_1.default.Fragment, null,
65
65
  react_1.default.createElement(_file_input_base_1._FileInputBase, { accept: props.accept, "aria-describedby": errorId, "aria-invalid": props.isInvalid, className: `uxf-file-input__input ${(_a = props.className) !== null && _a !== void 0 ? _a : ""}`, form: props.form, id: id, isDisabled: props.isDisabled || isUploading, isInvalid: props.isInvalid, isReadOnly: props.isReadOnly, isRequired: props.isRequired, maxFileSize: props.maxFileSize, name: props.name, onBlur: input.onBlur, onChange: onChange, onFocus: input.onFocus, onUploadError: props.onUploadError, onUploadFile: onUploadFile, ref: (0, composeRefs_1.composeRefs)(ref, innerRef), value: props.value }),
66
66
  react_1.default.createElement("label", { className: (0, cx_1.cx)("uxf-input", "uxf-file-input__label", input.focused && classes_1.CLASSES.IS_FOCUSED, (props.isDisabled || props.isReadOnly) && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID, isUploading && classes_1.CLASSES.IS_LOADING, isUploading && "uxf-file-input__label--has-right-addon", `uxf-input--size-${(_b = props.size) !== null && _b !== void 0 ? _b : "default"}`, `uxf-input--variant-${(_c = props.variant) !== null && _c !== void 0 ? _c : "default"}`), htmlFor: id },
@@ -40,9 +40,9 @@ function Default() {
40
40
  console.log("Upload error", err);
41
41
  };
42
42
  const storyFileInputs = (react_1.default.createElement("div", { className: "space-y-2" },
43
- react_1.default.createElement(index_1.FileInput, { label: "Default file input", onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value }),
44
- react_1.default.createElement(index_1.FileInput, { helperText: "Error file input", id: "error-file-input", isInvalid: true, label: "Error file input", onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value, isClearable: true }),
45
- react_1.default.createElement(index_1.FileInput, { helperText: "Readonly/disabled file input", label: "Readonly/disabled file input", isReadOnly: true, isDisabled: true, onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value })));
43
+ react_1.default.createElement(index_1.FileInput, { label: "Default file input", onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value, name: "file-input" }),
44
+ react_1.default.createElement(index_1.FileInput, { helperText: "Error file input", id: "error-file-input", isInvalid: true, label: "Error file input", onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value, isClearable: true, name: "file-input-error-message" }),
45
+ react_1.default.createElement(index_1.FileInput, { helperText: "Readonly/disabled file input", label: "Readonly/disabled file input", isReadOnly: true, isDisabled: true, onChange: onChange, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile, value: value, name: "file-input-read-only" })));
46
46
  return (react_1.default.createElement(react_1.default.Fragment, null,
47
47
  react_1.default.createElement("div", { className: "space-y-2 p-20" }, storyFileInputs)));
48
48
  }
@@ -9,5 +9,6 @@ export interface FormComponentProps {
9
9
  inputId: string;
10
10
  isRequired?: boolean;
11
11
  label?: ReactNode;
12
+ name: string;
12
13
  }
13
14
  export declare const FormComponent: React.ForwardRefExoticComponent<FormComponentProps & React.RefAttributes<HTMLDivElement>>;
@@ -31,7 +31,7 @@ const label_1 = require("../label");
31
31
  exports.FormComponent = (0, react_1.forwardRef)((props, ref) => {
32
32
  var _a;
33
33
  const helperTextClassName = (0, cx_1.cx)("uxf-helper-text", props.errorId && classes_1.CLASSES.IS_INVALID);
34
- return (react_1.default.createElement("div", { className: `uxf-form-component ${(_a = props.className) !== null && _a !== void 0 ? _a : ""}`, ref: ref },
34
+ return (react_1.default.createElement("div", { className: `uxf-form-component ${(_a = props.className) !== null && _a !== void 0 ? _a : ""}`, ref: ref, "data-name": props.name },
35
35
  react_1.default.createElement("div", { className: "uxf-form-component__label" },
36
36
  react_1.default.createElement(label_1.Label, { isHidden: props.hiddenLabel, isRequired: props.isRequired, htmlFor: props.inputId, form: props.form }, props.label)),
37
37
  react_1.default.createElement("div", { className: "uxf-form-component__input" },
@@ -13,13 +13,13 @@ exports.default = {
13
13
  };
14
14
  function Default() {
15
15
  return (react_1.default.createElement("div", { className: "space-y-4" },
16
- react_1.default.createElement(form_component_1.FormComponent, { inputId: "default", helperText: "helper text", label: "Default" },
16
+ react_1.default.createElement(form_component_1.FormComponent, { inputId: "default", helperText: "helper text", label: "Default", name: "form-component" },
17
17
  react_1.default.createElement("div", null, "Default")),
18
- react_1.default.createElement(form_component_1.FormComponent, { inputId: "default", helperText: "helper text", label: "Default", isRequired: true },
18
+ react_1.default.createElement(form_component_1.FormComponent, { inputId: "default", helperText: "helper text", label: "Default", isRequired: true, name: "form-component-required" },
19
19
  react_1.default.createElement("div", null, "Is required")),
20
- react_1.default.createElement(form_component_1.FormComponent, { inputId: "error", helperText: "helper text", label: "Default", errorId: "error--error", isRequired: true },
20
+ react_1.default.createElement(form_component_1.FormComponent, { inputId: "error", helperText: "helper text", label: "Default", errorId: "error--error", isRequired: true, name: "form-component-invalid" },
21
21
  react_1.default.createElement("div", null, "Is invalid")),
22
- react_1.default.createElement(form_component_1.FormComponent, { inputId: "error", helperText: "helper text", label: "Default", errorId: "error--error", hiddenLabel: true },
22
+ react_1.default.createElement(form_component_1.FormComponent, { inputId: "error", helperText: "helper text", label: "Default", errorId: "error--error", hiddenLabel: true, name: "form-component-hidden-label" },
23
23
  react_1.default.createElement("div", null, "hidden label"))));
24
24
  }
25
25
  exports.Default = Default;
@@ -28,6 +28,6 @@ const react_1 = __importStar(require("react"));
28
28
  exports.InputElement = (0, react_1.forwardRef)((props, ref) => {
29
29
  const onChange = (event) => props.onChange(event.target.value, event);
30
30
  const filteredProps = Object.fromEntries(Object.entries(props).filter((p) => p[0].startsWith("aria-") || p[0].startsWith("data-")));
31
- return (react_1.default.createElement("input", { ...filteredProps, "aria-describedby": props["aria-describedby"], "aria-invalid": props.isInvalid, autoComplete: props.autoComplete, autoFocus: props.autoFocus, className: "uxf-input__element", disabled: props.isDisabled, form: props.form, id: props.id, inputMode: props.inputMode, max: props.max, maxLength: props.maxLength, min: props.min, minLength: props.minLength, onBlur: props.onBlur, onChange: onChange, onFocus: props.onFocus, onKeyDown: props.onKeyDown, pattern: props.pattern, placeholder: props.placeholder, readOnly: props.isReadOnly, ref: ref, step: props.step, tabIndex: props.isReadOnly ? -1 : undefined, type: props.type, value: props.value }));
31
+ return (react_1.default.createElement("input", { ...filteredProps, "aria-describedby": props["aria-describedby"], "aria-invalid": props.isInvalid, autoComplete: props.autoComplete, autoFocus: props.autoFocus, className: "uxf-input__element", disabled: props.isDisabled, form: props.form, id: props.id, inputMode: props.inputMode, max: props.max, maxLength: props.maxLength, min: props.min, minLength: props.minLength, name: props.name, onBlur: props.onBlur, onChange: onChange, onFocus: props.onFocus, onKeyDown: props.onKeyDown, pattern: props.pattern, placeholder: props.placeholder, readOnly: props.isReadOnly, ref: ref, step: props.step, tabIndex: props.isReadOnly ? -1 : undefined, type: props.type, value: props.value }));
32
32
  });
33
33
  exports.InputElement.displayName = "UxfUiInputElement";
@@ -44,26 +44,26 @@ function Default() {
44
44
  react_1.default.createElement(input_1.Input, null,
45
45
  react_1.default.createElement(input_1.Input.LeftAddon, null, "InputLeftAddon"),
46
46
  react_1.default.createElement(input_1.Input.LeftElement, null, "InputLeftElement"),
47
- react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid }),
47
+ react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid, name: "input-element-1" }),
48
48
  react_1.default.createElement(input_1.Input.RightElement, null, "InputRightElement"),
49
49
  react_1.default.createElement(input_1.Input.RightAddon, null, "InputRightAddon")),
50
50
  react_1.default.createElement(input_1.Input, null,
51
51
  react_1.default.createElement(input_1.Input.LeftAddon, null, "https://"),
52
- react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid }),
52
+ react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid, name: "input-element-2" }),
53
53
  react_1.default.createElement(input_1.Input.RightAddon, null, ".uxf.cz")),
54
54
  react_1.default.createElement(input_1.Input, null,
55
- react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid }),
55
+ react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid, name: "input-element-3" }),
56
56
  react_1.default.createElement(input_1.Input.RightAddon, null, ".test.cz")),
57
57
  react_1.default.createElement(input_1.Input, null,
58
58
  react_1.default.createElement(input_1.Input.LeftElement, null, "\uD83C\uDF37"),
59
- react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid }),
59
+ react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid, name: "input-element-4" }),
60
60
  react_1.default.createElement(input_1.Input.RightElement, null, "\uD83D\uDD14")),
61
61
  react_1.default.createElement(input_1.Input, null,
62
- react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid })),
62
+ react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Placeholder", isInvalid: isInvalid, name: "input-element-5" })),
63
63
  react_1.default.createElement(input_1.Input, null,
64
- react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Disabled", isInvalid: isInvalid, isDisabled: true })),
64
+ react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Disabled", isInvalid: isInvalid, isDisabled: true, name: "input-element-6" })),
65
65
  react_1.default.createElement(input_1.Input, null,
66
- react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Read Only", isInvalid: isInvalid, isReadOnly: true }))));
66
+ react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: "Read Only", isInvalid: isInvalid, isReadOnly: true, name: "input-element-7" }))));
67
67
  const onInvalidChange = (e) => setInvalid(e.target.checked);
68
68
  return (react_1.default.createElement(react_1.default.Fragment, null,
69
69
  react_1.default.createElement("input", { type: "checkbox", checked: isInvalid, onChange: onInvalidChange }),
@@ -77,7 +77,7 @@ function Sizes() {
77
77
  return (react_1.default.createElement("div", { className: "space-y-4" }, config.sizes.map((size) => (react_1.default.createElement(input_1.Input, { key: size, size: size },
78
78
  react_1.default.createElement(input_1.Input.LeftAddon, null, "LeftAddon"),
79
79
  react_1.default.createElement(input_1.Input.LeftElement, null, "\uD83C\uDF37"),
80
- react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: size }),
80
+ react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, placeholder: size, name: `input-element-size-${size}` }),
81
81
  react_1.default.createElement(input_1.Input.RightElement, null, "\uD83D\uDD14"),
82
82
  react_1.default.createElement(input_1.Input.RightAddon, null, "RightAddon"))))));
83
83
  }
@@ -88,7 +88,7 @@ function ComponentStructure() {
88
88
  react_1.default.createElement(input_1.Input, null,
89
89
  react_1.default.createElement(input_1.Input.LeftAddon, null, "Left addon"),
90
90
  react_1.default.createElement(input_1.Input.LeftElement, null, "Left element"),
91
- react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange }),
91
+ react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange, name: "input-element-component-structure" }),
92
92
  react_1.default.createElement(input_1.Input.RightElement, null, "Right element"),
93
93
  react_1.default.createElement(input_1.Input.RightAddon, null, "Right addon"))));
94
94
  }
@@ -53,7 +53,7 @@ function handleInputKeyDownRecursion(selectedOptions, onRemove) {
53
53
  }
54
54
  }
55
55
  const OptionElement = (props) => {
56
- return (react_3.default.createElement(react_2.Combobox.Option, { className: (optionState) => (0, cx_1.cx)("uxf-dropdown__item", optionState.active && props.withoutPopover && classes_1.CLASSES.IS_ACTIVE, optionState.disabled && classes_1.CLASSES.IS_DISABLED, optionState.selected && classes_1.CLASSES.IS_SELECTED), disabled: props.option.disabled, value: props.option }, (optionState) => (react_3.default.createElement(react_3.default.Fragment, null, props.withCheckboxes ? (react_3.default.createElement(checkbox_input_1.CheckboxInput, { isDisabled: optionState.disabled, isFocused: optionState.active, label: props.label, onChange: props.handleCheckboxChange, value: optionState.selected })) : (props.label)))));
56
+ return (react_3.default.createElement(react_2.Combobox.Option, { className: (optionState) => (0, cx_1.cx)("uxf-dropdown__item", optionState.active && props.withoutPopover && classes_1.CLASSES.IS_ACTIVE, optionState.disabled && classes_1.CLASSES.IS_DISABLED, optionState.selected && classes_1.CLASSES.IS_SELECTED), disabled: props.option.disabled, value: props.option }, (optionState) => (react_3.default.createElement(react_3.default.Fragment, null, props.withCheckboxes ? (react_3.default.createElement(checkbox_input_1.CheckboxInput, { isDisabled: optionState.disabled, isFocused: optionState.active, label: props.label, onChange: props.handleCheckboxChange, value: optionState.selected, name: props.option.id.toString() })) : (props.label)))));
57
57
  };
58
58
  OptionElement.displayName = "UxfUiMultiComboboxOption";
59
59
  exports._MultiComboboxBase = (0, react_3.forwardRef)((props, ref) => {
@@ -53,7 +53,7 @@ exports.MultiCombobox = (0, react_2.forwardRef)((props, ref) => {
53
53
  if (!props.withPopover) {
54
54
  return react_2.default.createElement(_multi_combobox_base_1._MultiComboboxBase, { ...props, errorId: errorId, ref: ref });
55
55
  }
56
- return (react_2.default.createElement(form_component_1.FormComponent, { className: (0, cx_1.cx)(props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID, props.isReadOnly && classes_1.CLASSES.IS_READONLY), errorId: errorId, form: props.form, helperText: props.helperText, inputId: fakeInputId, isRequired: props.isRequired, label: props.label },
56
+ return (react_2.default.createElement(form_component_1.FormComponent, { className: (0, cx_1.cx)(props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID, props.isReadOnly && classes_1.CLASSES.IS_READONLY), errorId: errorId, form: props.form, helperText: props.helperText, inputId: fakeInputId, isRequired: props.isRequired, label: props.label, name: props.name },
57
57
  react_2.default.createElement(react_1.Popover, { className: (0, cx_1.cx)("uxf-multi-combobox", props.isInvalid && classes_1.CLASSES.IS_INVALID, props.isRequired && classes_1.CLASSES.IS_REQUIRED, props.isReadOnly && classes_1.CLASSES.IS_READONLY, props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.className) }, (popoverRenderProps) => (react_2.default.createElement(react_2.default.Fragment, null,
58
58
  react_2.default.createElement(react_1.Popover.Button, { className: (0, cx_1.cx)("uxf-multi-combobox__button uxf-multi-combobox__button--with-popover", popoverRenderProps.open && classes_1.CLASSES.IS_OPEN, props.isReadOnly && classes_1.CLASSES.IS_READONLY, props.isInvalid && classes_1.CLASSES.IS_INVALID), id: fakeInputId, onKeyDown: handlePopoverButtonKeyPress, ref: fakeInputRef },
59
59
  react_2.default.createElement("span", { className: (0, cx_1.cx)("uxf-multi-combobox__input uxf-multi-combobox__input--with-popover", selectedOptions.length === 0 &&
@@ -41,7 +41,7 @@ exports.MultiSelect = (0, react_2.forwardRef)((props, ref) => {
41
41
  if (!props.withPopover) {
42
42
  return react_2.default.createElement(_multi_select_base_1._MultiSelectBase, { ...props, errorId: errorId, id: id, ref: ref });
43
43
  }
44
- return (react_2.default.createElement(form_component_1.FormComponent, { className: (0, cx_1.cx)(props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID, props.isReadOnly && classes_1.CLASSES.IS_READONLY), errorId: errorId, form: props.form, helperText: props.helperText, inputId: id, isRequired: props.isRequired, label: props.label },
44
+ return (react_2.default.createElement(form_component_1.FormComponent, { className: (0, cx_1.cx)(props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID, props.isReadOnly && classes_1.CLASSES.IS_READONLY), errorId: errorId, form: props.form, helperText: props.helperText, inputId: id, isRequired: props.isRequired, label: props.label, name: props.name },
45
45
  react_2.default.createElement(react_1.Popover, { className: (0, cx_1.cx)("uxf-multi-combobox", props.isInvalid && classes_1.CLASSES.IS_INVALID, props.isRequired && classes_1.CLASSES.IS_REQUIRED, props.isReadOnly && classes_1.CLASSES.IS_READONLY, props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.className) }, (popoverRenderProps) => (react_2.default.createElement(react_2.default.Fragment, null,
46
46
  react_2.default.createElement(react_1.Popover.Button, { className: (0, cx_1.cx)("uxf-multi-combobox__button uxf-multi-combobox__button--with-popover", popoverRenderProps.open && classes_1.CLASSES.IS_OPEN, props.isReadOnly && classes_1.CLASSES.IS_READONLY, props.isInvalid && classes_1.CLASSES.IS_INVALID) },
47
47
  react_2.default.createElement("span", { className: (0, cx_1.cx)("uxf-multi-combobox__input uxf-multi-combobox__input--with-popover", selectedOptions.length === 0 &&
@@ -63,6 +63,6 @@ exports.Default = Default;
63
63
  function ComponentStructure() {
64
64
  const [value, onChange] = (0, react_1.useState)(null);
65
65
  return (react_1.default.createElement(component_structure_analyzer_1.default, null,
66
- react_1.default.createElement(index_1.MultiSelect, { options: options, onChange: onChange, value: value })));
66
+ react_1.default.createElement(index_1.MultiSelect, { options: options, onChange: onChange, value: value, name: "multi-select-component-structure" })));
67
67
  }
68
68
  exports.ComponentStructure = ComponentStructure;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/ui",
3
- "version": "11.10.0",
3
+ "version": "11.11.2",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -14,20 +14,20 @@ function Default() {
14
14
  const radios = (react_1.default.createElement("div", { className: "dark:text-white" },
15
15
  react_1.default.createElement("div", { className: "mb-2 mt-4 font-semibold" }, "Default"),
16
16
  react_1.default.createElement("div", { className: "flex flex-row gap-4" },
17
- react_1.default.createElement(index_1.Radio, { checked: false, value: 1 }),
18
- react_1.default.createElement(index_1.Radio, { checked: true, value: 2 })),
17
+ react_1.default.createElement(index_1.Radio, { checked: false, value: 1, name: "radio-1" }),
18
+ react_1.default.createElement(index_1.Radio, { checked: true, value: 2, name: "radio-2" })),
19
19
  react_1.default.createElement("div", { className: "mb-2 mt-4 font-semibold" }, "Invalid"),
20
20
  react_1.default.createElement("div", { className: "flex flex-row gap-4" },
21
- react_1.default.createElement(index_1.Radio, { checked: false, isInvalid: true, value: 1 }),
22
- react_1.default.createElement(index_1.Radio, { checked: true, isInvalid: true, value: 2 })),
21
+ react_1.default.createElement(index_1.Radio, { checked: false, isInvalid: true, value: 1, name: "radio-invalid-1" }),
22
+ react_1.default.createElement(index_1.Radio, { checked: true, isInvalid: true, value: 2, name: "radio-invalid-2" })),
23
23
  react_1.default.createElement("div", { className: "mb-2 mt-4 font-semibold" }, "Disabled"),
24
24
  react_1.default.createElement("div", { className: "flex flex-row gap-4" },
25
- react_1.default.createElement(index_1.Radio, { checked: false, isDisabled: true, value: 1 }),
26
- react_1.default.createElement(index_1.Radio, { checked: true, isDisabled: true, value: 2 })),
25
+ react_1.default.createElement(index_1.Radio, { checked: false, isDisabled: true, value: 1, name: "radio-disabled-1" }),
26
+ react_1.default.createElement(index_1.Radio, { checked: true, isDisabled: true, value: 2, name: "radio-disabled-2" })),
27
27
  react_1.default.createElement("div", { className: "mb-2 mt-4 font-semibold" }, "size lg"),
28
28
  react_1.default.createElement("div", { className: "flex flex-row gap-4" },
29
- react_1.default.createElement(index_1.Radio, { checked: false, size: "lg", value: 1 }),
30
- react_1.default.createElement(index_1.Radio, { checked: true, size: "lg", value: 2 }))));
29
+ react_1.default.createElement(index_1.Radio, { checked: false, size: "lg", value: 1, name: "radio-size-lg-1" }),
30
+ react_1.default.createElement(index_1.Radio, { checked: true, size: "lg", value: 2, name: "radio-size-lg-2" }))));
31
31
  return (react_1.default.createElement("div", { className: "flex" },
32
32
  react_1.default.createElement("div", { className: "p-20" }, radios)));
33
33
  }
@@ -45,7 +45,7 @@ exports.RadioGroup = (0, react_2.forwardRef)((props, ref) => {
45
45
  react_2.default.createElement("div", { className: "uxf-form-component__input" },
46
46
  react_2.default.createElement("div", { className: "uxf-radio-group__options-wrapper" }, props.options.map((option) => (react_2.default.createElement(react_1.RadioGroup.Option, { className: (0, cx_1.cx)("uxf-radio-group__option", props.isDisabled && classes_1.CLASSES.IS_DISABLED), disabled: option.disabled, key: option.id.toString(), value: option.id }, (o) => (react_2.default.createElement("div", { className: (0, cx_1.cx)("uxf-radio-group__option-wrapper", o.checked && classes_1.CLASSES.IS_SELECTED) },
47
47
  react_2.default.createElement("span", { className: "uxf-radio-group__option-label" }, option.label),
48
- react_2.default.createElement(radio_1.Radio, { checked: o.checked, isDisabled: props.isDisabled || o.disabled, isInvalid: props.isInvalid, ref: o.checked ? innerRef : undefined, size: radioSize, value: option.id }))))))),
48
+ react_2.default.createElement(radio_1.Radio, { checked: o.checked, isDisabled: props.isDisabled || o.disabled, isInvalid: props.isInvalid, ref: o.checked ? innerRef : undefined, size: radioSize, value: option.id, name: props.name }))))))),
49
49
  props.helperText && (react_2.default.createElement("div", { className: (0, cx_1.cx)("uxf-helper-text", props.isInvalid && classes_1.CLASSES.IS_INVALID), id: errorId }, props.helperText)))));
50
50
  });
51
51
  exports.RadioGroup.displayName = "UxfUiRadioGroup";
@@ -49,11 +49,11 @@ function Default() {
49
49
  const [value, setValue] = (0, react_1.useState)(options[0].id);
50
50
  const onChange = (0, action_1.action)("onChange", setValue);
51
51
  const testRadioGroups = (react_1.default.createElement("div", { className: "space-y-10" },
52
- react_1.default.createElement(index_1.RadioGroup, { id: "radiogroup", label: "Light Radio group", onChange: onChange, options: options, value: value }),
53
- react_1.default.createElement(index_1.RadioGroup, { id: "radiogroup", label: "Radio group variant radio button", onChange: onChange, options: options, value: value, variant: "radioButton" }),
54
- react_1.default.createElement(index_1.RadioGroup, { hiddenLabel: true, id: "radiogroup", label: "Radio group variant row with hidden label", onChange: onChange, options: options, value: value, variant: "row" }),
55
- react_1.default.createElement(index_1.RadioGroup, { id: "radiogroup", label: "Radio group variant column, radioSize default", onChange: onChange, options: options, value: value, variant: "column", radioSize: "default" }),
56
- react_1.default.createElement(index_1.RadioGroup, { id: "radiogroup", label: "Radio group variant row, radioSize lg", onChange: onChange, options: options, value: value, variant: "row", radioSize: "lg" })));
52
+ react_1.default.createElement(index_1.RadioGroup, { id: "radiogroup", label: "Light Radio group", onChange: onChange, options: options, value: value, name: "radio-group-light" }),
53
+ react_1.default.createElement(index_1.RadioGroup, { id: "radiogroup", label: "Radio group variant radio button", onChange: onChange, options: options, value: value, variant: "radioButton", name: "radio-group" }),
54
+ react_1.default.createElement(index_1.RadioGroup, { hiddenLabel: true, id: "radiogroup", label: "Radio group variant row with hidden label", onChange: onChange, options: options, value: value, variant: "row", name: "radio-group-hidden-label" }),
55
+ react_1.default.createElement(index_1.RadioGroup, { id: "radiogroup", label: "Radio group variant column, radioSize default", onChange: onChange, options: options, value: value, variant: "column", radioSize: "default", name: "radio-group-variant-column" }),
56
+ react_1.default.createElement(index_1.RadioGroup, { id: "radiogroup", label: "Radio group variant row, radioSize lg", onChange: onChange, options: options, value: value, variant: "row", radioSize: "lg", name: "radio-group-variant-row" })));
57
57
  return (react_1.default.createElement(react_1.default.Fragment, null,
58
58
  react_1.default.createElement("div", { className: "rounded p-8" }, testRadioGroups)));
59
59
  }
@@ -1,12 +1,3 @@
1
1
  import React from "react";
2
- import { SelectOption } from "./index";
3
- declare const _default: {
4
- title: string;
5
- component: {
6
- <ValueId = import("../_select-base").SelectBaseValueId, Option = SelectOption<ValueId>, Value = Option>(props: import("./select").SelectProps<ValueId, Option, ValueId>): React.JSX.Element;
7
- displayName: string;
8
- };
9
- };
10
- export default _default;
11
2
  export declare function Default(): React.JSX.Element;
12
3
  export declare function ComponentStructure(): React.JSX.Element;
@@ -31,10 +31,6 @@ const react_1 = __importStar(require("react"));
31
31
  const action_1 = require("../utils/action");
32
32
  const component_structure_analyzer_1 = __importDefault(require("../utils/component-structure-analyzer"));
33
33
  const index_1 = require("./index");
34
- exports.default = {
35
- title: "UI/Select",
36
- component: index_1.Select,
37
- };
38
34
  const options = [
39
35
  { id: "one", label: "Option one" },
40
36
  { id: "two", label: "Option two disabled", disabled: true },
@@ -54,25 +50,23 @@ function Default() {
54
50
  console.log("Select value: ", v);
55
51
  setValue(v);
56
52
  });
57
- const storySelects = (react_1.default.createElement(react_1.default.Fragment, null,
58
- react_1.default.createElement(index_1.Select, { helperText: "Helper text", label: "Default select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
59
- react_1.default.createElement(index_1.Select, { helperText: "Helper text", isInvalid: true, label: "Invalid select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, isClearable: true }),
60
- react_1.default.createElement(index_1.Select, { helperText: "Helper text", isDisabled: true, label: "Disabled select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
61
- react_1.default.createElement(index_1.Select, { helperText: "Helper text", isReadOnly: true, label: "Read only select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
62
- react_1.default.createElement(index_1.Select, { helperText: "Helper text", isRequired: true, label: "Required select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
63
- react_1.default.createElement(index_1.Select, { dropdownPlacement: "top", isRequired: true, label: "Select with dropdown top", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
64
- react_1.default.createElement(index_1.Select, { helperText: "Helper text of Select with hidden label", hiddenLabel: true, label: "Hidden label", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
65
- react_1.default.createElement(index_1.Select, { label: "Size sm", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, size: "small" }),
66
- react_1.default.createElement(index_1.Select, { label: "Size default", onChange: onChange, options: options, placeholder: "Vyberte...", value: value }),
67
- react_1.default.createElement(index_1.Select, { label: "Size lg", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, size: "large" }),
53
+ return (react_1.default.createElement("div", { className: "flex flex-col gap-2" },
54
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text", label: "Default select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select" }),
55
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text", isInvalid: true, label: "Invalid select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, isClearable: true, name: "select-invalid" }),
56
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text", isDisabled: true, label: "Disabled select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-disabled" }),
57
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text", isReadOnly: true, label: "Read only select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-read-only" }),
58
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text", isRequired: true, label: "Required select", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-required" }),
59
+ react_1.default.createElement(index_1.Select, { dropdownPlacement: "top", isRequired: true, label: "Select with dropdown top", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-required-dropdown-top" }),
60
+ react_1.default.createElement(index_1.Select, { helperText: "Helper text of Select with hidden label", hiddenLabel: true, label: "Hidden label", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-hidden-label" }),
61
+ react_1.default.createElement(index_1.Select, { label: "Size sm", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, size: "small", name: "select-size-sm" }),
62
+ react_1.default.createElement(index_1.Select, { label: "Size default", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, name: "select-size-default" }),
63
+ react_1.default.createElement(index_1.Select, { label: "Size lg", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, size: "large", name: "select-size-lg" }),
68
64
  react_1.default.createElement(index_1.Select, { label: "RenderOption & RenderSelectedOption", onChange: onChange, options: options, placeholder: "Vyberte...", value: value, renderOption: (option, isSelected) => (react_1.default.createElement(react_1.default.Fragment, null,
69
65
  "Option: ",
70
66
  option.label,
71
67
  isSelected && " (selected)")), renderSelectedOption: (option) => react_1.default.createElement(react_1.default.Fragment, null,
72
68
  "Selected: ",
73
- option.label) })));
74
- return (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
75
- react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storySelects)));
69
+ option.label), name: "select-render-option" })));
76
70
  }
77
71
  exports.Default = Default;
78
72
  function ComponentStructure() {
@@ -39,7 +39,7 @@ exports.TextInput = (0, react_1.forwardRef)((props, ref) => {
39
39
  const id = (_a = props.id) !== null && _a !== void 0 ? _a : generatedId;
40
40
  const errorId = props.isInvalid ? `${id}--error-message` : undefined;
41
41
  const rootClassName = (0, cx_1.cx)("uxf-text-input", ((_b = props.isFocused) !== null && _b !== void 0 ? _b : input.focused) && classes_1.CLASSES.IS_FOCUSED, props.isDisabled && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID, props.isReadOnly && classes_1.CLASSES.IS_READONLY, props.isRequired && classes_1.CLASSES.IS_REQUIRED, props.className);
42
- return (react_1.default.createElement(form_component_1.FormComponent, { className: rootClassName, errorId: errorId, form: props.form, helperText: props.helperText, hiddenLabel: props.hiddenLabel, inputId: id, isRequired: props.isRequired, label: props.label },
42
+ return (react_1.default.createElement(form_component_1.FormComponent, { className: rootClassName, errorId: errorId, form: props.form, helperText: props.helperText, hiddenLabel: props.hiddenLabel, inputId: id, isRequired: props.isRequired, label: props.label, name: props.name },
43
43
  react_1.default.createElement(input_1.Input, { inputFocus: input, size: props.size, variant: props.variant },
44
44
  props.leftAddon && react_1.default.createElement(input_1.Input.LeftAddon, null, props.leftAddon),
45
45
  props.leftElement && react_1.default.createElement(input_1.Input.LeftElement, null, props.leftElement),
@@ -1,8 +1,3 @@
1
1
  import React from "react";
2
- declare const _default: {
3
- title: string;
4
- component: React.ForwardRefExoticComponent<import("@uxf/ui/text-input").TextInputProps & React.RefAttributes<HTMLInputElement>>;
5
- };
6
- export default _default;
7
2
  export declare function Default(): React.JSX.Element;
8
3
  export declare function ComponentStructure(): React.JSX.Element;
@@ -35,10 +35,6 @@ const text_input_1 = require("@uxf/ui/text-input");
35
35
  const component_structure_analyzer_1 = __importDefault(require("@uxf/ui/utils/component-structure-analyzer"));
36
36
  const react_1 = __importStar(require("react"));
37
37
  const action_1 = require("../utils/action");
38
- exports.default = {
39
- title: "UI/TextInput",
40
- component: text_input_1.TextInput,
41
- };
42
38
  function Default() {
43
39
  const [value, setValue] = (0, react_1.useState)("");
44
40
  const [timeValue, setTimeValue] = (0, react_1.useState)("");
@@ -51,21 +47,19 @@ function Default() {
51
47
  variant: isCopied ? "success" : "error",
52
48
  });
53
49
  });
54
- const storyTextInputs = (react_1.default.createElement("div", { className: "space-y-4" },
55
- react_1.default.createElement(text_input_1.TextInput, { label: "Default input", value: value, onChange: onChange, helperText: "Helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder..." }),
56
- react_1.default.createElement(text_input_1.TextInput, { label: "Error input", value: value, onChange: onChange, helperText: "Error helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder...", isInvalid: true }),
57
- react_1.default.createElement(text_input_1.TextInput, { label: "Read only input", value: value, onChange: onChange, helperText: "Error helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder...", isReadOnly: true }),
58
- react_1.default.createElement(text_input_1.TextInput, { label: "Disabled input", value: value, onChange: onChange, helperText: "Error helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder...", isDisabled: true }),
59
- react_1.default.createElement(text_input_1.TextInput, { label: "Default html time input", value: timeValue, onChange: onTimeChange, placeholder: "Some beautiful placeholder...", type: "time" }),
60
- react_1.default.createElement(text_input_1.TextInput, { label: "Copy to clipboard input", leftAddon: "I can be copied!", onChange: onChange, placeholder: "Some beautiful placeholder...", rightAddon: react_1.default.createElement(button_1.Button, { className: "size-full rounded-l-none border-none", disabled: value === "", onClick: onCopy, variant: "white" },
50
+ return (react_1.default.createElement("div", { className: "space-y-2 p-20" },
51
+ react_1.default.createElement(text_input_1.TextInput, { name: "default", label: "Default input", value: value, onChange: onChange, helperText: "Helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder..." }),
52
+ react_1.default.createElement(text_input_1.TextInput, { name: "error", label: "Error input", value: value, onChange: onChange, helperText: "Error helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder...", isInvalid: true }),
53
+ react_1.default.createElement(text_input_1.TextInput, { name: "readOnly", label: "Read only input", value: value, onChange: onChange, helperText: "Error helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder...", isReadOnly: true }),
54
+ react_1.default.createElement(text_input_1.TextInput, { name: "disabled", label: "Disabled input", value: value, onChange: onChange, helperText: "Error helper text", leftAddon: "https://", rightAddon: ".cz", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", placeholder: "Some beautiful placeholder...", isDisabled: true }),
55
+ react_1.default.createElement(text_input_1.TextInput, { name: "defaultHtmlTime", label: "Default html time input", value: timeValue, onChange: onTimeChange, placeholder: "Some beautiful placeholder...", type: "time" }),
56
+ react_1.default.createElement(text_input_1.TextInput, { name: "copyToClipboard", label: "Copy to clipboard input", leftAddon: "I can be copied!", onChange: onChange, placeholder: "Some beautiful placeholder...", rightAddon: react_1.default.createElement(button_1.Button, { className: "size-full rounded-l-none border-none", disabled: value === "", onClick: onCopy, variant: "white" },
61
57
  react_1.default.createElement(icon_1.Icon, { className: "w-4", name: "copy" })), value: value })));
62
- return (react_1.default.createElement(react_1.default.Fragment, null,
63
- react_1.default.createElement("div", { className: "space-y-2 p-20" }, storyTextInputs)));
64
58
  }
65
59
  exports.Default = Default;
66
60
  function ComponentStructure() {
67
61
  const [value, onChange] = (0, react_1.useState)("");
68
62
  return (react_1.default.createElement(component_structure_analyzer_1.default, null,
69
- react_1.default.createElement(text_input_1.TextInput, { label: "Label", placeholder: "Placeholder", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", leftAddon: "https://", rightAddon: ".cz", value: value, onChange: onChange, isInvalid: false, helperText: "Helper text" })));
63
+ react_1.default.createElement(text_input_1.TextInput, { label: "Label", placeholder: "Placeholder", leftElement: "\uD83C\uDF37", rightElement: "\uD83D\uDD14", leftAddon: "https://", rightAddon: ".cz", value: value, onChange: onChange, isInvalid: false, helperText: "Helper text", name: "text-input" })));
70
64
  }
71
65
  exports.ComponentStructure = ComponentStructure;
@@ -11,7 +11,6 @@ export interface TextareaProps extends FormControlProps<string, HTMLTextAreaElem
11
11
  label?: ReactNode;
12
12
  maxLength?: number | undefined;
13
13
  minLength?: number | undefined;
14
- name?: string;
15
14
  placeholder?: string;
16
15
  rows?: number;
17
16
  }
@@ -66,7 +66,7 @@ exports.Textarea = (0, react_1.forwardRef)((props, ref) => {
66
66
  };
67
67
  }, [props.disableAutoHeight, latestRows]);
68
68
  const onWrapperClick = () => { var _a; return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.focus(); };
69
- return (react_1.default.createElement(form_component_1.FormComponent, { className: rootClassName, errorId: errorId, form: props.form, helperText: props.helperText, hiddenLabel: props.hiddenLabel, inputId: id, isRequired: props.isRequired, label: props.label },
69
+ return (react_1.default.createElement(form_component_1.FormComponent, { className: rootClassName, errorId: errorId, form: props.form, helperText: props.helperText, hiddenLabel: props.hiddenLabel, inputId: id, isRequired: props.isRequired, label: props.label, name: props.name },
70
70
  react_1.default.createElement("div", { className: "uxf-textarea__wrapper", onClick: onWrapperClick },
71
71
  react_1.default.createElement("textarea", { "aria-describedby": errorId, "aria-invalid": props.isInvalid, autoComplete: props.autoComplete, className: "uxf-textarea__element", disabled: props.isDisabled, form: props.form, id: id, maxLength: props.maxLength, minLength: props.minLength, name: props.name, onBlur: input.onBlur, onChange: (event) => props.onChange(event.target.value, event), onFocus: input.onFocus, placeholder: props.placeholder, readOnly: props.isReadOnly, rows: props.rows, ref: (0, composeRefs_1.composeRefs)(innerRef, ref), required: props.isRequired, value: props.value }))));
72
72
  });
@@ -35,10 +35,10 @@ function Default() {
35
35
  const [value, setValue] = (0, react_1.useState)("test");
36
36
  const onChange = (0, action_1.action)("onChange", setValue);
37
37
  const storyTextAreas = (react_1.default.createElement("div", { className: "space-y-2" },
38
- react_1.default.createElement(index_1.Textarea, { id: "textarea", label: "Textarea", onChange: onChange, placeholder: "Placeholder text...", value: value }),
39
- react_1.default.createElement(index_1.Textarea, { id: "textarea-readonly", label: "Readonly", isReadOnly: true, onChange: onChange, value: value }),
40
- react_1.default.createElement(index_1.Textarea, { isDisabled: true, id: "textarea-disabled", label: "Textarea disabled", onChange: onChange, value: value }),
41
- react_1.default.createElement(index_1.Textarea, { id: "textarea-rows10", isInvalid: true, label: "Textarea rows = 10, invalid", placeholder: "Placeholder text....", rows: 10, onChange: onChange, value: value })));
38
+ react_1.default.createElement(index_1.Textarea, { id: "textarea", label: "Textarea", onChange: onChange, placeholder: "Placeholder text...", value: value, name: "text-area" }),
39
+ react_1.default.createElement(index_1.Textarea, { id: "textarea-readonly", label: "Readonly", isReadOnly: true, onChange: onChange, value: value, name: "text-area-read-only" }),
40
+ react_1.default.createElement(index_1.Textarea, { isDisabled: true, id: "textarea-disabled", label: "Textarea disabled", onChange: onChange, value: value, name: "text-area-diabled" }),
41
+ react_1.default.createElement(index_1.Textarea, { id: "textarea-rows10", isInvalid: true, label: "Textarea rows = 10, invalid", placeholder: "Placeholder text....", rows: 10, onChange: onChange, value: value, name: "text-area-invalid" })));
42
42
  return (react_1.default.createElement(react_1.default.Fragment, null,
43
43
  react_1.default.createElement("div", { className: "space-y-2 p-20" }, storyTextAreas)));
44
44
  }
@@ -35,10 +35,10 @@ function Default() {
35
35
  const [checked, setChecked] = (0, react_1.useState)(true);
36
36
  const onChange = (0, action_1.action)("onChange", () => setChecked((prev) => !prev));
37
37
  const storyToggles = (react_1.default.createElement(react_1.default.Fragment, null,
38
- react_1.default.createElement(index_1.Toggle, { label: "Opravdu?", onChange: onChange, value: checked }),
39
- react_1.default.createElement(index_1.Toggle, { label: "Opravdu?", onChange: onChange, value: checked, isDisabled: true }),
40
- react_1.default.createElement(index_1.Toggle, { label: "Opravdu?", onChange: onChange, value: checked, hiddenLabel: true }),
41
- react_1.default.createElement(index_1.Toggle, { label: "Opravdu? (reversed)", onChange: onChange, value: checked, variant: "reversed" })));
38
+ react_1.default.createElement(index_1.Toggle, { label: "Opravdu?", onChange: onChange, value: checked, name: "toggle" }),
39
+ react_1.default.createElement(index_1.Toggle, { label: "Opravdu?", onChange: onChange, value: checked, isDisabled: true, name: "toggle-disabled" }),
40
+ react_1.default.createElement(index_1.Toggle, { label: "Opravdu?", onChange: onChange, value: checked, hiddenLabel: true, name: "toggle-hidden-label" }),
41
+ react_1.default.createElement(index_1.Toggle, { label: "Opravdu? (reversed)", onChange: onChange, value: checked, variant: "reversed", name: "toggle-reversed" })));
42
42
  return (react_1.default.createElement("div", { className: "flex" },
43
43
  react_1.default.createElement("div", { className: "w-1/2 gap-4 p-20" }, storyToggles)));
44
44
  }
@@ -4,7 +4,7 @@ export interface FormControlProps<ValueType, ElementType = HTMLInputElement, Res
4
4
  onChange: (value: ValueType, event?: ChangeEvent<ElementType>, ...args: RestParams) => void;
5
5
  onBlur?: FocusEventHandler<ElementType>;
6
6
  onFocus?: FocusEventHandler<ElementType>;
7
- name?: string;
7
+ name: string;
8
8
  /**
9
9
  * @about
10
10
  * The input element will be disabled.