@react-fabric/form 1.0.0-beta.51 → 1.0.0-beta.52

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 (114) hide show
  1. package/dist/cjs/form/Controller.js +45 -0
  2. package/dist/cjs/form/Form.js +32 -0
  3. package/dist/cjs/hooks/useFileUploader.js +16 -0
  4. package/dist/cjs/hooks/useFormBuilder.js +30 -0
  5. package/dist/cjs/i18n/ar.json.js +5 -4
  6. package/dist/cjs/i18n/en.json.js +5 -5
  7. package/dist/cjs/input/ArrayInput.js +39 -0
  8. package/dist/cjs/input/AvatarInput.js +8 -0
  9. package/dist/cjs/input/Checkbox.js +9 -0
  10. package/dist/cjs/input/ColorInput.js +13 -0
  11. package/dist/cjs/input/ColorPicker.js +10 -0
  12. package/dist/cjs/input/DateInput.js +9 -0
  13. package/dist/cjs/input/Field.js +5 -0
  14. package/dist/cjs/input/File.js +10 -0
  15. package/dist/cjs/input/Hidden.js +8 -0
  16. package/dist/cjs/input/Input.js +8 -0
  17. package/dist/cjs/input/Number.js +8 -0
  18. package/dist/cjs/input/Password.js +6 -0
  19. package/dist/cjs/input/Radio.js +9 -0
  20. package/dist/cjs/input/RadioGroup.js +8 -0
  21. package/dist/cjs/input/RangeSlider.js +9 -1
  22. package/dist/cjs/input/Search.js +9 -0
  23. package/dist/cjs/input/Slider.js +7 -1
  24. package/dist/cjs/input/Switch.js +9 -0
  25. package/dist/cjs/input/Textarea.js +10 -0
  26. package/dist/cjs/select/AutoComplete.js +7 -0
  27. package/dist/cjs/select/DualList.js +11 -0
  28. package/dist/esm/form/Controller.js +45 -0
  29. package/dist/esm/form/Form.js +32 -0
  30. package/dist/esm/hooks/useFileUploader.js +16 -0
  31. package/dist/esm/hooks/useFormBuilder.js +30 -0
  32. package/dist/esm/i18n/ar.json.js +5 -4
  33. package/dist/esm/i18n/en.json.js +5 -5
  34. package/dist/esm/input/ArrayInput.js +39 -0
  35. package/dist/esm/input/AvatarInput.js +8 -0
  36. package/dist/esm/input/Checkbox.js +9 -0
  37. package/dist/esm/input/ColorInput.js +13 -0
  38. package/dist/esm/input/ColorPicker.js +10 -0
  39. package/dist/esm/input/DateInput.js +9 -0
  40. package/dist/esm/input/Field.js +5 -0
  41. package/dist/esm/input/File.js +10 -0
  42. package/dist/esm/input/Hidden.js +8 -0
  43. package/dist/esm/input/Input.js +8 -0
  44. package/dist/esm/input/Number.js +8 -0
  45. package/dist/esm/input/Password.js +6 -0
  46. package/dist/esm/input/Radio.js +9 -0
  47. package/dist/esm/input/RadioGroup.js +8 -0
  48. package/dist/esm/input/RangeSlider.js +9 -1
  49. package/dist/esm/input/Search.js +9 -0
  50. package/dist/esm/input/Slider.js +7 -1
  51. package/dist/esm/input/Switch.js +9 -0
  52. package/dist/esm/input/Textarea.js +10 -0
  53. package/dist/esm/select/AutoComplete.js +7 -0
  54. package/dist/esm/select/DualList.js +11 -0
  55. package/dist/types/builder/SchemaEditor.d.ts +7 -0
  56. package/dist/types/form/Controller.d.ts +45 -0
  57. package/dist/types/form/Form.d.ts +32 -1
  58. package/dist/types/hooks/useFileUploader.d.ts +16 -0
  59. package/dist/types/hooks/useFormBuilder.d.ts +30 -1
  60. package/dist/types/input/ArrayInput.d.ts +40 -1
  61. package/dist/types/input/AvatarInput.d.ts +8 -0
  62. package/dist/types/input/Checkbox.d.ts +9 -0
  63. package/dist/types/input/ColorInput.d.ts +13 -0
  64. package/dist/types/input/ColorPicker.d.ts +10 -0
  65. package/dist/types/input/DateInput.d.ts +9 -0
  66. package/dist/types/input/Field.d.ts +5 -0
  67. package/dist/types/input/File.d.ts +9 -0
  68. package/dist/types/input/Hidden.d.ts +8 -0
  69. package/dist/types/input/Input.d.ts +8 -0
  70. package/dist/types/input/Number.d.ts +8 -0
  71. package/dist/types/input/Password.d.ts +6 -0
  72. package/dist/types/input/Radio.d.ts +9 -0
  73. package/dist/types/input/RadioGroup.d.ts +8 -0
  74. package/dist/types/input/RangeSlider.d.ts +9 -1
  75. package/dist/types/input/Search.d.ts +9 -0
  76. package/dist/types/input/Slider.d.ts +7 -1
  77. package/dist/types/input/Switch.d.ts +9 -0
  78. package/dist/types/input/Textarea.d.ts +10 -0
  79. package/dist/types/select/AutoComplete.d.ts +7 -0
  80. package/dist/types/select/DualList.d.ts +12 -1
  81. package/dist/types/select/List.d.ts +9 -1
  82. package/dist/types/select/Select.d.ts +9 -1
  83. package/dist/types/select/useSelect.d.ts +11 -2
  84. package/package.json +5 -5
  85. package/src/builder/SchemaEditor.tsx +7 -0
  86. package/src/form/Controller.tsx +45 -0
  87. package/src/form/Form.tsx +31 -0
  88. package/src/hooks/useFileUploader.ts +16 -0
  89. package/src/hooks/useFormBuilder.tsx +29 -0
  90. package/src/i18n/ar.json +5 -4
  91. package/src/i18n/en.json +5 -5
  92. package/src/input/ArrayInput.tsx +39 -0
  93. package/src/input/AvatarInput.tsx +8 -0
  94. package/src/input/Checkbox.tsx +9 -0
  95. package/src/input/ColorInput.tsx +13 -0
  96. package/src/input/ColorPicker.tsx +10 -0
  97. package/src/input/DateInput.tsx +9 -0
  98. package/src/input/Field.tsx +5 -0
  99. package/src/input/File.tsx +9 -0
  100. package/src/input/Hidden.tsx +8 -0
  101. package/src/input/Input.tsx +8 -0
  102. package/src/input/Number.tsx +8 -0
  103. package/src/input/Password.tsx +6 -0
  104. package/src/input/Radio.tsx +9 -0
  105. package/src/input/RadioGroup.tsx +8 -0
  106. package/src/input/RangeSlider.tsx +9 -1
  107. package/src/input/Search.tsx +9 -0
  108. package/src/input/Slider.tsx +7 -1
  109. package/src/input/Switch.tsx +9 -0
  110. package/src/input/Textarea.tsx +10 -0
  111. package/src/select/AutoComplete.tsx +7 -0
  112. package/src/select/DualList.tsx +11 -0
  113. package/src/select/List.tsx +8 -0
  114. package/src/select/Select.tsx +8 -0
@@ -10,6 +10,51 @@ var _excluded = ["name", "children"],
10
10
  _excluded2 = ["ref", "onChange"];
11
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ /**
14
+ * This component is used to wrap form controls
15
+ * and provide them with the necessary props and state management.
16
+ *
17
+ * It uses the `Controller` component from `react-hook-form`
18
+ * to manage the form state and validation.
19
+ *
20
+ * It accepts a `name` prop to identify the form control,
21
+ * and a `children` prop which can either be a React element
22
+ * or a function that receives the necessary props to render the control.
23
+ *
24
+ * The component will pass down the following props to the child:
25
+ * - `name`: the name of the form control
26
+ * - `error`: any validation error message
27
+ * - `checked`: whether the control is checked (for checkboxes/radios)
28
+ * - `value`: the current value of the control
29
+ * - `invalid`: whether the control is invalid
30
+ * - `readOnly`: whether the control is read-only (disabled during submission)
31
+ * - `disabled`: whether the control is disabled
32
+ * - `onBlur`: function to call when the control loses focus
33
+ * - `onChange`: function to call when the control value changes
34
+ * - `ref`: a ref to the control element
35
+ * * The component also handles the `ref` prop to ensure that it is passed correctly
36
+ * to the child component, allowing for proper focus management and DOM access.
37
+ *
38
+ * @param {ControllerProps} props - The properties for the Controller component.
39
+ * @returns {JSX.Element} The rendered Controller component.
40
+ *
41
+ * @example
42
+ * ```jsx
43
+ * <Controller
44
+ * name="username"
45
+ * children={({ name, error, checked, value, invalid, readOnly, onChange }) => (
46
+ * <input
47
+ * type="text"
48
+ * name={name}
49
+ * onChange={onChange}
50
+ * readOnly={readOnly}
51
+ * aria-invalid={invalid}
52
+ * value={value}
53
+ * />
54
+ * )}
55
+ * />
56
+ * ```
57
+ */
13
58
  var Controller = function Controller(_ref) {
14
59
  var name = _ref.name,
15
60
  children = _ref.children,
@@ -18,6 +18,38 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
18
18
  var DEFAULT_SUBMIT = function DEFAULT_SUBMIT() {
19
19
  return undefined;
20
20
  };
21
+
22
+ /**
23
+ * Form component for managing form state and validation using react-hook-form and yup.
24
+ * It provides a simple interface for form handling, including submission, validation, and value management.
25
+ * It supports nested form structures and allows for custom validation schemas using Yup.
26
+ *
27
+ * @param {FormProps<K>} props - The properties for the Form component.
28
+ * @returns {JSX.Element} The rendered Form component.
29
+ *
30
+ * @example
31
+ * ```jsx
32
+ * <Form
33
+ * formRef={formRef}
34
+ * schema={yup.object().shape({
35
+ * name: yup.string().required("Name is required"),
36
+ * email: yup.string().email("Invalid email").required("Email is required"),
37
+ * })}
38
+ * defaultValues={{ name: "", email: "" }}
39
+ * onSubmit={(values) => {
40
+ * console.log("Form submitted with values:", values);
41
+ * }}
42
+ * >
43
+ * <input name="name" ref={form.register} placeholder="Name" />
44
+ * <input name="email" ref={form.register} placeholder="Email" />
45
+ * <button type="submit">Submit</button>
46
+ * </Form>
47
+ * ```
48
+ *
49
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/form-form--docs} for the properties that can be passed to this component.
50
+ * @see {@link https://react-hook-form.com/docs/useform} for more details on the properties.
51
+ * @see {@link https://github.com/jquense/yup} for more details on the Yup validation schema.
52
+ */
21
53
  var Form = function Form(_ref) {
22
54
  var formRef = _ref.formRef,
23
55
  schema = _ref.schema,
@@ -12,6 +12,22 @@ var _excluded = ["progress", "abort"],
12
12
  _excluded2 = ["file", "progress", "abort"];
13
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ /**
16
+ * useFileUploader hook provides a way to handle file uploads
17
+ * with progress tracking, error handling, and file management.
18
+ * It uses a reducer to manage the state of uploaded files and their statuses.
19
+ *
20
+ * @param uploader - The function that handles the file upload.
21
+ * @param initialList - Initial list of files to be managed by the uploader.
22
+ * @param multiple - Whether to allow multiple file uploads or not.
23
+ * @returns An object containing methods to upload, remove, retry files,
24
+ * and the current state of the uploader including pending uploads and file list.
25
+ *
26
+ * @example
27
+ * ```jsx
28
+ * const { upload, remove, retry, state } = useFileUploader(uploader, initialList, multiple);
29
+ * ```
30
+ */
15
31
  var useFileUploader = function useFileUploader(uploader, initialList) {
16
32
  var multiple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
17
33
  var _useReducer = react.useReducer(function (state, action) {
@@ -62,6 +62,36 @@ var makeYupField = function makeYupField(field) {
62
62
  }
63
63
  return yupField.label(field.label);
64
64
  };
65
+
66
+ /**
67
+ * useFormBuilder hook to create a form definition based on a schema.
68
+ * It generates a Yup validation schema and a form definition component.
69
+ *
70
+ * @param {FormSchema} schema - The schema defining the form fields.
71
+ * @param {Object} options - Optional parameters for the form builder.
72
+ * @returns An object containing the form definition and the Yup validation schema.
73
+ *
74
+ * @example
75
+ * ```jsx
76
+ * const { formDef, schemaDef } = useFormBuilder(schema, {
77
+ * prefix: "form",
78
+ * inline: true,
79
+ * fileUrl: (path) => `/files/${path}`,
80
+ * uploadHandler: async (file) => {
81
+ * // handle file upload
82
+ * },
83
+ * optionLists: {
84
+ * // define option lists for select fields
85
+ * }
86
+ * * });
87
+ * <FormBuilder
88
+ * schema={schemaDef}
89
+ * onSubmit={(data) => console.log(data)}
90
+ * >
91
+ * {formDef}
92
+ * </FormBuilder>
93
+ * ```
94
+ */
65
95
  var useFormBuilder = function useFormBuilder(schema$1) {
66
96
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
67
97
  var filteredSchema = react.useMemo(function () {
@@ -4,17 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var addArray = "اضافة عنصر";
6
6
  var password = {
7
- show: "عرض كلمة المرور",
8
- hide: "اخفاء كلمة المرور"
7
+ hide: "اخفاء كلمة المرور",
8
+ show: "عرض كلمة المرور"
9
9
  };
10
10
  var select = {
11
+ createOption: "إنشاء خيار جديد ل ",
11
12
  emptyList: "لا توجد خيارات متاحة",
12
- notFound: "لم يتم العثور على خيارات ل ",
13
- createOption: "إنشاء خيار جديد ل "
13
+ notFound: "لم يتم العثور على خيارات ل "
14
14
  };
15
15
  var yup = {
16
16
  arrayMax: "{{label}} حدد ما يصل {{max}} غرض",
17
17
  arrayMin: "{{label}} اختر على الأقل {{min}} غرض",
18
+ empty: "{{label}} يجب ألا يكون فارغًا",
18
19
  invalid: "{{label}} نوع بيانات غير صالح",
19
20
  invalidType: "{{label}} غير صالح",
20
21
  numberMax: "{{label}} الحد الأقصى {{max}}",
@@ -4,19 +4,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var addArray = "Add Item";
6
6
  var password = {
7
- show: "Show password",
8
- hide: "Hide password"
7
+ hide: "Hide password",
8
+ show: "Show password"
9
9
  };
10
10
  var select = {
11
+ createOption: "Create new option for <0>{{query}}</0>",
11
12
  emptyList: "No options available",
12
- notFound: "No options found for <0>{{query}}</0>",
13
- createOption: "Create new option for <0>{{query}}</0>"
13
+ notFound: "No options found for <0>{{query}}</0>"
14
14
  };
15
15
  var yup = {
16
16
  arrayMax: "{{label}} must contain upto {{max}} item",
17
17
  arrayMin: "{{label}} must contain atleast {{min}} item",
18
- invalid: "{{label}} invalid",
19
18
  empty: "{{label}} must not be empty",
19
+ invalid: "{{label}} invalid",
20
20
  invalidType: "{{label}} invalid datatype",
21
21
  numberMax: "{{label}} maximum {{max}}",
22
22
  numberMin: "{{label}} minimum {{min}}",
@@ -18,6 +18,45 @@ var jsxRuntime = require('react/jsx-runtime');
18
18
  var _excluded = ["name", "children", "addLabel", "fixedList", "focusName", "buttonPosition", "onAdd", "onRemove", "onBeforeRemove", "canRemove", "arrayRef", "enableSorting", "disabled", "readOnly", "minItems", "maxItems"];
19
19
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
20
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
+ /**
22
+ * ArrayInput component for managing an array of items in a form.
23
+ * It allows adding, removing, and sorting items within the array.
24
+ * It integrates with react-hook-form for form state management and validation.
25
+ * It supports fixed-length lists, custom add/remove handlers, and can display validation errors.
26
+ * It also provides options for inline display and custom button positioning.
27
+ *
28
+ * It uses the `useFieldArray` hook from `react-hook-form` to manage the array state and provides a simple interface for adding and removing items.
29
+ *
30
+ * It also supports drag-and-drop sorting using `@dnd-kit/core` and `@dnd-kit/sortable` for a better user experience when reordering items.
31
+ *
32
+ * @param {ArrayInputProps<T>} props - The properties for the ArrayInput component.
33
+ * @returns {JSX.Element} The rendered ArrayInput component.
34
+ *
35
+ * @example
36
+ * ```jsx
37
+ * <ArrayInput
38
+ * name="items"
39
+ * label="Items"
40
+ * addLabel="Add Item"
41
+ * onAdd={() => ({ name: "", value: "" })}
42
+ * onRemove={(item, index) => console.log("Removed item:", item, "at index:", index)}
43
+ * onBeforeRemove={(item, index) => confirm(`Are you sure you want to remove item at index ${index}?`)}
44
+ * canRemove={({ item, index, lastItem }) => !lastItem} // Prevent removing the last item
45
+ * >
46
+ * {({ index, name }) => (
47
+ * <Input
48
+ * name={name}
49
+ * label={`Item ${index + 1}`}
50
+ * placeholder="Enter item value"
51
+ * required={index === 0} // Make the first item required
52
+ * />
53
+ * )}
54
+ * </ArrayInput>
55
+ * ```
56
+ *
57
+ * @see {@link https://react-hook-form.com/api/usefieldarray} for more details on `useFieldArray`.
58
+ * @see {@link https://react-dnd.github.io/react-dnd/about} for more details on DnD context and sorting.
59
+ */
21
60
  var ArrayInput = function ArrayInput(_ref) {
22
61
  var name = _ref.name,
23
62
  children = _ref.children,
@@ -14,6 +14,14 @@ var jsxRuntime = require('react/jsx-runtime');
14
14
  var _excluded = ["size", "avatarName", "value", "fileUrl", "uploadHandler"];
15
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ /**
18
+ * Avatar input component for uploading and displaying user avatars.
19
+ * It allows users to select an image file, upload it, and display the avatar.
20
+ * It also provides a way to remove the uploaded file and shows upload progress.
21
+ *
22
+ * @param {Props} props - The properties for the AvatarInput component.
23
+ * @returns {JSX.Element} - The rendered AvatarInput component.
24
+ */
17
25
  var AvatarInput = function AvatarInput(_ref) {
18
26
  var _list$;
19
27
  var _ref$size = _ref.size,
@@ -12,6 +12,15 @@ var jsxRuntime = require('react/jsx-runtime');
12
12
  var _excluded = ["ref", "label", "value", "name", "checked", "invalid", "disabled", "error", "width", "icon", "iconChecked", "required", "onChange"];
13
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ /**
16
+ * Checkbox component for rendering a checkbox input with label and error handling.
17
+ * It supports custom icons for checked and unchecked states, and handles disabled and invalid states.
18
+ * The component uses a deferred value to manage the checked state, ensuring smooth updates.
19
+ * It also provides an error icon to indicate validation errors.
20
+ *
21
+ * @param {CheckboxProps} props - The properties for the Checkbox component.
22
+ * @returns {JSX.Element} The rendered Checkbox component.
23
+ */
15
24
  var Checkbox = function Checkbox(_ref) {
16
25
  var ref = _ref.ref,
17
26
  label = _ref.label,
@@ -13,6 +13,19 @@ var jsxRuntime = require('react/jsx-runtime');
13
13
  var _excluded = ["ref", "required", "disabled", "readOnly", "invalid", "error", "value", "showPicker", "defaultColor", "onBlur", "onFocus", "onChange", "noOutline"];
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ /**
17
+ * Color input component that allows users to select a color
18
+ * and optionally use an eye dropper to pick a color from the screen.
19
+ * It uses the Floating UI library for positioning the color picker.
20
+ * It also provides a button to clear the selected color.
21
+ *
22
+ * This component is a wrapper around the `ColorPicker` component
23
+ * and provides additional functionality such as showing an eye dropper
24
+ * and handling the color selection state.
25
+ *
26
+ * @param {ColorInputProps} props - The properties for the ColorInput component.
27
+ * @returns {JSX.Element} - The rendered ColorInput component.
28
+ */
16
29
  var ColorInput = function ColorInput(_ref) {
17
30
  _ref.ref;
18
31
  var required = _ref.required,
@@ -11,6 +11,16 @@ var _excluded = ["a"],
11
11
  _excluded2 = ["a"];
12
12
  var DEFAULT_SWATCHES = [Color("#d7323a").mix(Color("#171a1c"), 0.5).hex(), Color("#ff781c").mix(Color("#171a1c"), 0.5).hex(), Color("#f7b731").mix(Color("#171a1c"), 0.5).hex(), Color("#88ab1b").mix(Color("#171a1c"), 0.5).hex(), Color("#22aa85").mix(Color("#171a1c"), 0.5).hex(), Color("#399bec").mix(Color("#171a1c"), 0.5).hex(), Color("#4862c8").mix(Color("#171a1c"), 0.5).hex(), Color("#aa66cf").mix(Color("#171a1c"), 0.5).hex(), Color("#f43f7b").mix(Color("#171a1c"), 0.5).hex(), Color("#a37f4f").mix(Color("#171a1c"), 0.5).hex(), "#d7323a", "#ff781c", "#f7b731", "#88ab1b", "#22aa85", "#399bec", "#4862c8", "#aa66cf", "#f43f7b", "#a37f4f", Color("#d7323a").mix(Color("#f1f3f4"), 0.5).hex(), Color("#ff781c").mix(Color("#f1f3f4"), 0.5).hex(), Color("#f7b731").mix(Color("#f1f3f4"), 0.5).hex(), Color("#88ab1b").mix(Color("#f1f3f4"), 0.5).hex(), Color("#22aa85").mix(Color("#f1f3f4"), 0.5).hex(), Color("#399bec").mix(Color("#f1f3f4"), 0.5).hex(), Color("#4862c8").mix(Color("#f1f3f4"), 0.5).hex(), Color("#aa66cf").mix(Color("#f1f3f4"), 0.5).hex(), Color("#f43f7b").mix(Color("#f1f3f4"), 0.5).hex(), Color("#a37f4f").mix(Color("#f1f3f4"), 0.5).hex(), "#171a1c", "#2d3439", "#444e55", "#5b6971", "#71838e", "#86959e", "#9ca8b0", "#b8c1c6", "#d5dadd", "#f1f3f4"];
13
13
 
14
+ /**
15
+ * ColorPicker component allows users to select a color using a color picker UI.
16
+ * It supports swatches, alpha transparency, and custom styles.
17
+ * The component uses the `react-color` library for the color picker functionality.
18
+ *
19
+ * @param {ColorProps} props - The properties for the ColorPicker component.
20
+ * @returns {JSX.Element} The rendered ColorPicker component.
21
+ *
22
+ * @see {@link https://react-color.github.io/react-color/} for more details on the color picker library.
23
+ */
14
24
  // eslint-disable-next-line react/display-name
15
25
  var ColorPicker = /*#__PURE__*/react.memo(function (_ref) {
16
26
  var value = _ref.value,
@@ -15,6 +15,15 @@ var jsxRuntime = require('react/jsx-runtime');
15
15
  var _excluded = ["ref", "name", "value", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "error", "type", "onBlur", "onFocus", "onChange", "onEnterPressed", "format", "min", "max"];
16
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
+ /**
19
+ * Date input component that allows users to select a date or datetime.
20
+ * It uses the Floating UI library for positioning the date picker.
21
+ * It also provides a button to clear the selected date.
22
+ * The component supports both date and datetime types, with appropriate formatting.
23
+ *
24
+ * @param {DateProps} props - The properties for the DateInput component.
25
+ * @returns {JSX.Element} - The rendered DateInput component.
26
+ */
18
27
  var DateInput = function DateInput(_ref) {
19
28
  var ref = _ref.ref,
20
29
  name = _ref.name,
@@ -11,6 +11,11 @@ var jsxRuntime = require('react/jsx-runtime');
11
11
  var _excluded = ["children", "vertical", "noOutline", "plain"];
12
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
13
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
+ /**
15
+ * Field component for rendering multiple form fields under a single label.
16
+ * It supports various properties for customization, including label, info, required state,
17
+ * and styling options.
18
+ */
14
19
  var Field = function Field(_ref) {
15
20
  var children = _ref.children,
16
21
  vertical = _ref.vertical,
@@ -29,6 +29,16 @@ var FileExists = function FileExists(prop) {
29
29
  children: ["File [", prop.name, "] already added to list"]
30
30
  });
31
31
  };
32
+
33
+ /**
34
+ * File input component that allows users to select files from their system.
35
+ * It supports multiple file selection and displays a list of selected files.
36
+ * The component also provides functionality to remove files from the list.
37
+ * It handles file changes, invalid states, and read-only or disabled states.
38
+ *
39
+ * @param {FileInputProps} props - The properties for the FileInput component.
40
+ * @returns {JSX.Element} - The rendered FileInput component.
41
+ */
32
42
  var FileInput = function FileInput(_ref) {
33
43
  var _actualValue$map;
34
44
  var ref = _ref.ref,
@@ -27,6 +27,14 @@ var jsxRuntime = require('react/jsx-runtime');
27
27
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
28
  */
29
29
 
30
+ /**
31
+ * Hidden input component to handle hidden values in forms.
32
+ * It will trigger the onChange handler with the hidden value after a short delay.
33
+ * This is useful for cases where you need to update the form state without user interaction.
34
+ *
35
+ * @param {Object} props - Component properties.
36
+ * @returns {JSX.Element} The rendered hidden input field and error icon.
37
+ */
30
38
  var HiddenInput = function HiddenInput(_ref) {
31
39
  var hiddenValue = _ref.hiddenValue,
32
40
  onChange = _ref.onChange,
@@ -13,6 +13,14 @@ var jsxRuntime = require('react/jsx-runtime');
13
13
  var _excluded = ["ref", "name", "value", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "error", "monospace", "type", "onBlur", "onFocus", "onChange", "onEnterPressed"];
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ /**
17
+ * This component is used to render a text input field with various properties such as name, value, invalid state, read-only, disabled, required, placeholder, autoFocus, error message, monospace font option, and event handlers for blur, focus, change, and enter key press.
18
+ * It also includes a clear button that appears when there is a value in the input field, allowing users to clear the input easily.
19
+ * The component uses a wrapper to handle the clear button and styling, and it supports deferred value updates to optimize performance.
20
+ *
21
+ * @param {TextInputProps} props - The properties for the text input component.
22
+ * @returns {JSX.Element} - A JSX element representing the text input field.
23
+ */
16
24
  var Input = function Input(_ref) {
17
25
  var ref = _ref.ref,
18
26
  name = _ref.name,
@@ -12,6 +12,14 @@ var jsxRuntime = require('react/jsx-runtime');
12
12
  var _excluded = ["ref", "value", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "name", "min", "max", "step", "onBlur", "onFocus", "onChange", "onEnterPressed"];
13
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ /**
16
+ * This component allows users to input numeric values with optional minimum, maximum, and step constraints.
17
+ * It provides a clear interface for entering numbers, with support for validation and accessibility features.
18
+ * It also includes a clear button to reset the input value.
19
+ *
20
+ * @param {NumberProps} props - The properties for the Number input component.
21
+ * @returns {JSX.Element} The rendered Number input component.
22
+ */
15
23
  var Number = function Number(_ref) {
16
24
  var ref = _ref.ref,
17
25
  value = _ref.value,
@@ -15,6 +15,12 @@ var jsxRuntime = require('react/jsx-runtime');
15
15
  var _excluded = ["ref", "value", "name", "strength", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "showToggle", "onBlur", "onFocus", "onChange", "onEnterPressed"];
16
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
+ /**
19
+ * Password input component with optional strength meter and toggle visibility.
20
+ *
21
+ * @param {PasswordProps} props - The properties for the Password component.
22
+ * @returns {JSX.Element} The rendered Password input component.
23
+ */
18
24
  var Password = function Password(_ref) {
19
25
  var ref = _ref.ref,
20
26
  value = _ref.value,
@@ -10,6 +10,15 @@ var jsxRuntime = require('react/jsx-runtime');
10
10
  var _excluded = ["ref", "name", "label", "value", "invalid", "disabled", "error", "width", "icon", "iconChecked", "onChange"];
11
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ /**
14
+ * Radio input component with custom icons and label.
15
+ *
16
+ * This component renders a radio button with an optional label and custom icons for checked and unchecked states.
17
+ * It supports disabled and invalid states, and allows for custom width.
18
+ *
19
+ * @param {RadioProps} props - The properties for the Radio component.
20
+ * @returns {JSX.Element} The rendered Radio input component.
21
+ */
13
22
  var Radio = function Radio(_ref) {
14
23
  var ref = _ref.ref,
15
24
  name = _ref.name,
@@ -10,6 +10,14 @@ var jsxRuntime = require('react/jsx-runtime');
10
10
  var _excluded = ["children", "name", "className", "optionWidth", "onChange"];
11
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ /**
14
+ * RadioGroup component for rendering a group of radio buttons.
15
+ * It allows for customization of the label, options, and layout.
16
+ * The component supports inline and vertical orientations, and can handle change events.
17
+ *
18
+ * @param {RadioGroupProps} props - The properties for the RadioGroup component.
19
+ * @returns {JSX.Element} The rendered RadioGroup component.
20
+ */
13
21
  var RadioGroup = function RadioGroup(_ref) {
14
22
  var children = _ref.children,
15
23
  name = _ref.name,
@@ -14,7 +14,15 @@ var _excluded = ["error", "name", "value", "step", "min", "max", "height", "colo
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
16
  /**
17
- * Number Range input
17
+ * RangeSlider component for rendering a range slider input.
18
+ * It supports vertical orientation, custom colors, step increments,
19
+ * min/max values, and display of labels and value tooltips.
20
+ * The component uses the Ranger library for handling the slider functionality.
21
+ * It also provides error handling and supports disabled and read-only states.
22
+ * The component is designed to be flexible and customizable, allowing for various configurations.
23
+ *
24
+ * @param {RangeProps} props - The properties for the RangeSlider component.
25
+ * @returns {JSX.Element} The rendered RangeSlider component.
18
26
  */
19
27
  var RangeSlider = function RangeSlider(_ref) {
20
28
  var error = _ref.error;
@@ -13,6 +13,15 @@ var jsxRuntime = require('react/jsx-runtime');
13
13
  var _excluded = ["ref", "value", "name", "invalid", "readOnly", "disabled", "required", "searching", "placeholder", "autoFocus", "hideHandle", "allowClear", "searchOnChange", "onBlur", "onFocus", "onSearch", "onChange", "onEnterPressed"];
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ /**
17
+ * Search input component with optional searching state and search handler.
18
+ * This component allows users to input search queries and trigger a search action.
19
+ * It supports features like searching on value change, showing a search handle,
20
+ * and handling search actions with a debounce mechanism.
21
+ *
22
+ * @param {SearchProps} props - The properties for the Search component.
23
+ * @returns {JSX.Element} The rendered Search input component.
24
+ */
16
25
  var Search = function Search(_ref) {
17
26
  var ref = _ref.ref,
18
27
  value = _ref.value,
@@ -14,7 +14,13 @@ var _excluded = ["error", "name", "value", "step", "min", "max", "height", "colo
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
16
  /**
17
- * Number slider input
17
+ * Slider component for rendering a slider input with labels and value display.
18
+ * It supports vertical orientation, custom min/max labels, and step ranges.
19
+ * The component handles value changes, displays tooltips, and integrates with ranger for slider functionality.
20
+ * It also supports deferred value updates for smoother interactions.
21
+ *
22
+ * @param {SliderProps} props - The properties for the Slider component.
23
+ * @returns {JSX.Element} The rendered Slider component.
18
24
  */
19
25
  var Slider = function Slider(_ref) {
20
26
  var error = _ref.error;
@@ -14,6 +14,15 @@ var jsxRuntime = require('react/jsx-runtime');
14
14
  var _excluded = ["ref", "label", "checked", "invalid", "disabled", "error", "width", "color", "name", "onLabel", "offLabel", "onLabelColor", "offLabelColor", "defaultColor", "required", "onChange"];
15
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ /**
18
+ * Switch input component with custom labels and colors.
19
+ * This component renders a switch input with optional labels for the "on" and "off" states,
20
+ * and allows for custom colors for the switch background and labels.
21
+ * It supports disabled and invalid states, and handles change events.
22
+ *
23
+ * @param {SwitchProps} props - The properties for the Switch component.
24
+ * @returns {JSX.Element} The rendered Switch input component.
25
+ */
17
26
  var Switch = function Switch(_ref) {
18
27
  var ref = _ref.ref,
19
28
  label = _ref.label,
@@ -12,6 +12,16 @@ var jsxRuntime = require('react/jsx-runtime');
12
12
  var _excluded = ["ref", "value", "name", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "rows", "maxRows", "variableRows", "expandable", "onBlur", "onFocus", "onChange", "onEnterPressed"];
13
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ /**
16
+ * Textarea component that allows users to input multi-line text.
17
+ * It supports features like variable row count, expandable behavior,
18
+ * and handling of focus, blur, and change events.
19
+ * This component is designed to be flexible and user-friendly,
20
+ * providing a clear interface for text input with optional validation and accessibility features.
21
+ *
22
+ * @param {TextareaProps} props - The properties for the Textarea component.
23
+ * @returns {JSX.Element} The rendered Textarea component.
24
+ */
15
25
  var Textarea = function Textarea(_ref) {
16
26
  var ref = _ref.ref,
17
27
  value = _ref.value,
@@ -15,6 +15,13 @@ var jsxRuntime = require('react/jsx-runtime');
15
15
  var _excluded = ["ref", "name", "value", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "expandOnEdit", "error", "history", "multiple", "onChange", "onSelect", "onInput", "onFocus", "onBlur", "onQuery", "onEnterPressed"];
16
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
+ /**
19
+ * AutoComplete component for selecting or entering values with history suggestions.
20
+ * It supports multiple selections, history suggestions, and custom styling.
21
+ *
22
+ * @param {AutoCompleteProps} props - The properties for the AutoComplete component.
23
+ * @returns {JSX.Element} The rendered AutoComplete component.
24
+ */
18
25
  var AutoComplete = function AutoComplete(_ref) {
19
26
  var _refs$reference$curre;
20
27
  var ref = _ref.ref,
@@ -16,6 +16,17 @@ var jsxRuntime = require('react/jsx-runtime');
16
16
  var _excluded = ["ref", "value", "options", "emptyDisplay", "groupProperty", "height", "labelProperty", "valueProperty", "renderer", "onChange", "name", "invalid", "readOnly", "disabled", "placeholder", "autoFocus", "error"];
17
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
+ /**
20
+ * DualList component allows users to select items from two lists.
21
+ * It displays two lists side by side, one for unselected items and one for selected items.
22
+ * Users can move items between the lists using buttons or drag-and-drop functionality.
23
+ * It supports multiple selections and provides options for grouping, labeling, and rendering items.
24
+ * It also includes features for handling empty states and custom rendering of items.
25
+ * This component is useful for scenarios where users need to manage selections from a larger set of options, such as in forms or settings.
26
+ *
27
+ * @param {DualListProps<T>} props - The properties for the DualList component.
28
+ * @returns {JSX.Element} The rendered DualList component.
29
+ */
19
30
  var DualList = function DualList(_ref) {
20
31
  var ref = _ref.ref,
21
32
  value = _ref.value,