@uxf/form 11.74.0 → 11.74.1

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 (233) hide show
  1. package/_code-generator/form-code-generator.d.ts +16 -0
  2. package/_code-generator/form-code-generator.js +69 -0
  3. package/avatar-file-input/avatar-file-input.d.ts +14 -0
  4. package/avatar-file-input/avatar-file-input.js +42 -0
  5. package/avatar-file-input/avatar-file-input.stories.d.ts +8 -0
  6. package/avatar-file-input/avatar-file-input.stories.js +23 -0
  7. package/avatar-file-input/index.d.ts +1 -0
  8. package/avatar-file-input/index.js +17 -0
  9. package/avatar-file-input/translations.d.ts +13 -0
  10. package/avatar-file-input/translations.js +14 -0
  11. package/bin/form-code-generator.d.ts +2 -0
  12. package/bin/form-code-generator.js +55 -0
  13. package/checkbox-button/checkbox-button.d.ts +14 -0
  14. package/checkbox-button/checkbox-button.js +42 -0
  15. package/checkbox-button/checkbox-button.stories.d.ts +8 -0
  16. package/checkbox-button/checkbox-button.stories.js +24 -0
  17. package/checkbox-button/index.d.ts +1 -0
  18. package/checkbox-button/index.js +17 -0
  19. package/checkbox-button/translations.d.ts +13 -0
  20. package/checkbox-button/translations.js +14 -0
  21. package/checkbox-input/checkbox-input.d.ts +14 -0
  22. package/checkbox-input/checkbox-input.js +42 -0
  23. package/checkbox-input/checkbox-input.stories.d.ts +8 -0
  24. package/checkbox-input/checkbox-input.stories.js +24 -0
  25. package/checkbox-input/index.d.ts +1 -0
  26. package/checkbox-input/index.js +17 -0
  27. package/checkbox-input/translations.d.ts +13 -0
  28. package/checkbox-input/translations.js +14 -0
  29. package/checkbox-list/checkbox-list.d.ts +19 -0
  30. package/checkbox-list/checkbox-list.js +40 -0
  31. package/checkbox-list/checkbox-list.stories.d.ts +2 -0
  32. package/checkbox-list/checkbox-list.stories.js +22 -0
  33. package/checkbox-list/index.d.ts +1 -0
  34. package/checkbox-list/index.js +17 -0
  35. package/checkbox-list/translations.d.ts +13 -0
  36. package/checkbox-list/translations.js +14 -0
  37. package/color-radio-group/color-radio-group.d.ts +13 -0
  38. package/color-radio-group/color-radio-group.js +42 -0
  39. package/color-radio-group/color-radio-group.stories.d.ts +8 -0
  40. package/color-radio-group/color-radio-group.stories.js +62 -0
  41. package/color-radio-group/index.d.ts +1 -0
  42. package/color-radio-group/index.js +17 -0
  43. package/color-radio-group/translations.d.ts +13 -0
  44. package/color-radio-group/translations.js +14 -0
  45. package/combobox/combobox.d.ts +13 -0
  46. package/combobox/combobox.js +48 -0
  47. package/combobox/combobox.stories.d.ts +8 -0
  48. package/combobox/combobox.stories.js +30 -0
  49. package/combobox/index.d.ts +1 -0
  50. package/combobox/index.js +17 -0
  51. package/combobox/translations.d.ts +13 -0
  52. package/combobox/translations.js +14 -0
  53. package/components.d.ts +127 -0
  54. package/components.js +154 -0
  55. package/date-picker-input/date-picker-input.d.ts +15 -0
  56. package/date-picker-input/date-picker-input.js +102 -0
  57. package/date-picker-input/date-picker-input.stories.d.ts +8 -0
  58. package/date-picker-input/date-picker-input.stories.js +31 -0
  59. package/date-picker-input/index.d.ts +1 -0
  60. package/date-picker-input/index.js +17 -0
  61. package/date-picker-input/translations.d.ts +31 -0
  62. package/date-picker-input/translations.js +32 -0
  63. package/date-range-picker-input/date-range-picker-input.d.ts +12 -0
  64. package/date-range-picker-input/date-range-picker-input.js +115 -0
  65. package/date-range-picker-input/date-range-picker-input.stories.d.ts +8 -0
  66. package/date-range-picker-input/date-range-picker-input.stories.js +25 -0
  67. package/date-range-picker-input/index.d.ts +1 -0
  68. package/date-range-picker-input/index.js +17 -0
  69. package/date-range-picker-input/translations.d.ts +25 -0
  70. package/date-range-picker-input/translations.js +26 -0
  71. package/datetime-picker-input/datetime-picker-input.d.ts +15 -0
  72. package/datetime-picker-input/datetime-picker-input.js +103 -0
  73. package/datetime-picker-input/datetime-picker-input.stories.d.ts +2 -0
  74. package/datetime-picker-input/datetime-picker-input.stories.js +28 -0
  75. package/datetime-picker-input/index.d.ts +1 -0
  76. package/datetime-picker-input/index.js +17 -0
  77. package/datetime-picker-input/translations.d.ts +31 -0
  78. package/datetime-picker-input/translations.js +32 -0
  79. package/dropzone/dropzone-input.d.ts +13 -0
  80. package/dropzone/dropzone-input.js +67 -0
  81. package/dropzone/dropzone-list.d.ts +11 -0
  82. package/dropzone/dropzone-list.js +23 -0
  83. package/dropzone/dropzone.stories.d.ts +2 -0
  84. package/dropzone/dropzone.stories.js +50 -0
  85. package/dropzone/index.d.ts +9 -0
  86. package/dropzone/index.js +6 -0
  87. package/dropzone/translations.d.ts +31 -0
  88. package/dropzone/translations.js +32 -0
  89. package/file-input/file-input.d.ts +14 -0
  90. package/file-input/file-input.js +42 -0
  91. package/file-input/file-input.stories.d.ts +8 -0
  92. package/file-input/file-input.stories.js +31 -0
  93. package/file-input/index.d.ts +1 -0
  94. package/file-input/index.js +17 -0
  95. package/file-input/translations.d.ts +13 -0
  96. package/file-input/translations.js +14 -0
  97. package/form/form.d.ts +19 -0
  98. package/form/form.js +25 -0
  99. package/form/form.stories.d.ts +8 -0
  100. package/form/form.stories.js +24 -0
  101. package/form/index.d.ts +1 -0
  102. package/form/index.js +17 -0
  103. package/form-id-context/form-context.d.ts +7 -0
  104. package/form-id-context/form-context.js +12 -0
  105. package/form-id-context/form-id-context.d.ts +2 -0
  106. package/form-id-context/form-id-context.js +7 -0
  107. package/form-id-context/index.d.ts +1 -0
  108. package/form-id-context/index.js +17 -0
  109. package/form-renderer/big-test-schema.d.ts +33 -0
  110. package/form-renderer/big-test-schema.js +295 -0
  111. package/form-renderer/field/base-field.d.ts +4 -0
  112. package/form-renderer/field/base-field.js +72 -0
  113. package/form-renderer/field/embedded.d.ts +4 -0
  114. package/form-renderer/field/embedded.js +19 -0
  115. package/form-renderer/field/one-to-many.d.ts +4 -0
  116. package/form-renderer/field/one-to-many.js +52 -0
  117. package/form-renderer/form-renderer.d.ts +16 -0
  118. package/form-renderer/form-renderer.js +28 -0
  119. package/form-renderer/form-renderer.stories.d.ts +2 -0
  120. package/form-renderer/form-renderer.stories.js +23 -0
  121. package/form-renderer/index.d.ts +2 -0
  122. package/form-renderer/index.js +18 -0
  123. package/form-renderer/mapper.d.ts +2 -0
  124. package/form-renderer/mapper.js +30 -0
  125. package/form-renderer/translations.d.ts +33 -0
  126. package/form-renderer/translations.js +34 -0
  127. package/form-renderer/types.d.ts +39 -0
  128. package/form-renderer/types.js +2 -0
  129. package/gps-input/gps-input.d.ts +20 -0
  130. package/gps-input/gps-input.js +156 -0
  131. package/gps-input/gps-input.stories.d.ts +8 -0
  132. package/gps-input/gps-input.stories.js +22 -0
  133. package/gps-input/index.d.ts +1 -0
  134. package/gps-input/index.js +17 -0
  135. package/gps-input/translations.d.ts +31 -0
  136. package/gps-input/translations.js +32 -0
  137. package/money-input/index.d.ts +1 -0
  138. package/money-input/index.js +17 -0
  139. package/money-input/money-input.d.ts +24 -0
  140. package/money-input/money-input.js +112 -0
  141. package/money-input/money-input.stories.d.ts +2 -0
  142. package/money-input/money-input.stories.js +15 -0
  143. package/money-input/translations.d.ts +13 -0
  144. package/money-input/translations.js +14 -0
  145. package/multi-combobox/index.d.ts +1 -0
  146. package/multi-combobox/index.js +17 -0
  147. package/multi-combobox/multi-combobox.d.ts +13 -0
  148. package/multi-combobox/multi-combobox.js +48 -0
  149. package/multi-combobox/multi-combobox.stories.d.ts +8 -0
  150. package/multi-combobox/multi-combobox.stories.js +54 -0
  151. package/multi-combobox/translations.d.ts +13 -0
  152. package/multi-combobox/translations.js +14 -0
  153. package/multi-select/index.d.ts +1 -0
  154. package/multi-select/index.js +17 -0
  155. package/multi-select/multi-select.d.ts +13 -0
  156. package/multi-select/multi-select.js +43 -0
  157. package/multi-select/multi-select.stories.d.ts +8 -0
  158. package/multi-select/multi-select.stories.js +47 -0
  159. package/multi-select/translations.d.ts +13 -0
  160. package/multi-select/translations.js +14 -0
  161. package/number-input/index.d.ts +1 -0
  162. package/number-input/index.js +17 -0
  163. package/number-input/number-input.d.ts +17 -0
  164. package/number-input/number-input.js +87 -0
  165. package/number-input/number-input.stories.d.ts +8 -0
  166. package/number-input/number-input.stories.js +24 -0
  167. package/number-input/translations.d.ts +25 -0
  168. package/number-input/translations.js +26 -0
  169. package/package.json +3 -3
  170. package/password-input/index.d.ts +1 -0
  171. package/password-input/index.js +17 -0
  172. package/password-input/password-input.d.ts +15 -0
  173. package/password-input/password-input.js +108 -0
  174. package/password-input/password-input.stories.d.ts +8 -0
  175. package/password-input/password-input.stories.js +23 -0
  176. package/password-input/translations.d.ts +19 -0
  177. package/password-input/translations.js +20 -0
  178. package/radio-group/index.d.ts +1 -0
  179. package/radio-group/index.js +17 -0
  180. package/radio-group/radio-group.d.ts +13 -0
  181. package/radio-group/radio-group.js +42 -0
  182. package/radio-group/radio-group.stories.d.ts +8 -0
  183. package/radio-group/radio-group.stories.js +38 -0
  184. package/radio-group/translations.d.ts +13 -0
  185. package/radio-group/translations.js +14 -0
  186. package/readmes.d.ts +28 -0
  187. package/readmes.js +59 -0
  188. package/select/index.d.ts +1 -0
  189. package/select/index.js +17 -0
  190. package/select/select.d.ts +13 -0
  191. package/select/select.js +41 -0
  192. package/select/select.stories.d.ts +8 -0
  193. package/select/select.stories.js +44 -0
  194. package/select/translations.d.ts +13 -0
  195. package/select/translations.js +14 -0
  196. package/storybook/form-data-printer.d.ts +6 -0
  197. package/storybook/form-data-printer.js +12 -0
  198. package/storybook/storybook-form.d.ts +8 -0
  199. package/storybook/storybook-form.js +42 -0
  200. package/text-input/index.d.ts +1 -0
  201. package/text-input/index.js +17 -0
  202. package/text-input/text-input.d.ts +33 -0
  203. package/text-input/text-input.js +75 -0
  204. package/text-input/text-input.stories.d.ts +8 -0
  205. package/text-input/text-input.stories.js +26 -0
  206. package/text-input/translations.d.ts +31 -0
  207. package/text-input/translations.js +32 -0
  208. package/textarea/index.d.ts +1 -0
  209. package/textarea/index.js +17 -0
  210. package/textarea/textarea.d.ts +13 -0
  211. package/textarea/textarea.js +62 -0
  212. package/textarea/textarea.stories.d.ts +8 -0
  213. package/textarea/textarea.stories.js +22 -0
  214. package/textarea/translations.d.ts +13 -0
  215. package/textarea/translations.js +14 -0
  216. package/time-picker-input/index.d.ts +1 -0
  217. package/time-picker-input/index.js +17 -0
  218. package/time-picker-input/time-picker-input.d.ts +14 -0
  219. package/time-picker-input/time-picker-input.js +84 -0
  220. package/time-picker-input/time-picker-input.stories.d.ts +8 -0
  221. package/time-picker-input/time-picker-input.stories.js +25 -0
  222. package/time-picker-input/translations.d.ts +19 -0
  223. package/time-picker-input/translations.js +20 -0
  224. package/toggle/index.d.ts +1 -0
  225. package/toggle/index.js +17 -0
  226. package/toggle/toggle.d.ts +14 -0
  227. package/toggle/toggle.js +40 -0
  228. package/toggle/toggle.stories.d.ts +8 -0
  229. package/toggle/toggle.stories.js +23 -0
  230. package/toggle/translations.d.ts +13 -0
  231. package/toggle/translations.js +14 -0
  232. package/types.d.ts +4 -0
  233. package/types.js +2 -0
package/readmes.js ADDED
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.readmes = void 0;
7
+ // generated file
8
+ const README_md_1 = __importDefault(require("./avatar-file-input/README.md"));
9
+ const README_md_2 = __importDefault(require("./checkbox-button/README.md"));
10
+ const README_md_3 = __importDefault(require("./checkbox-input/README.md"));
11
+ const README_md_4 = __importDefault(require("./checkbox-list/README.md"));
12
+ const README_md_5 = __importDefault(require("./color-radio-group/README.md"));
13
+ const README_md_6 = __importDefault(require("./combobox/README.md"));
14
+ const README_md_7 = __importDefault(require("./date-picker-input/README.md"));
15
+ const README_md_8 = __importDefault(require("./date-range-picker-input/README.md"));
16
+ const README_md_9 = __importDefault(require("./datetime-picker-input/README.md"));
17
+ const README_md_10 = __importDefault(require("./dropzone/README.md"));
18
+ const README_md_11 = __importDefault(require("./file-input/README.md"));
19
+ const README_md_12 = __importDefault(require("./form/README.md"));
20
+ const README_md_13 = __importDefault(require("./form-renderer/README.md"));
21
+ const README_md_14 = __importDefault(require("./gps-input/README.md"));
22
+ const README_md_15 = __importDefault(require("./money-input/README.md"));
23
+ const README_md_16 = __importDefault(require("./multi-combobox/README.md"));
24
+ const README_md_17 = __importDefault(require("./multi-select/README.md"));
25
+ const README_md_18 = __importDefault(require("./number-input/README.md"));
26
+ const README_md_19 = __importDefault(require("./password-input/README.md"));
27
+ const README_md_20 = __importDefault(require("./radio-group/README.md"));
28
+ const README_md_21 = __importDefault(require("./select/README.md"));
29
+ const README_md_22 = __importDefault(require("./text-input/README.md"));
30
+ const README_md_23 = __importDefault(require("./textarea/README.md"));
31
+ const README_md_24 = __importDefault(require("./time-picker-input/README.md"));
32
+ const README_md_25 = __importDefault(require("./toggle/README.md"));
33
+ exports.readmes = {
34
+ "avatar-file-input": README_md_1.default,
35
+ "checkbox-button": README_md_2.default,
36
+ "checkbox-input": README_md_3.default,
37
+ "checkbox-list": README_md_4.default,
38
+ "color-radio-group": README_md_5.default,
39
+ "combobox": README_md_6.default,
40
+ "date-picker-input": README_md_7.default,
41
+ "date-range-picker-input": README_md_8.default,
42
+ "datetime-picker-input": README_md_9.default,
43
+ "dropzone": README_md_10.default,
44
+ "file-input": README_md_11.default,
45
+ "form": README_md_12.default,
46
+ "form-renderer": README_md_13.default,
47
+ "gps-input": README_md_14.default,
48
+ "money-input": README_md_15.default,
49
+ "multi-combobox": README_md_16.default,
50
+ "multi-select": README_md_17.default,
51
+ "number-input": README_md_18.default,
52
+ "password-input": README_md_19.default,
53
+ "radio-group": README_md_20.default,
54
+ "select": README_md_21.default,
55
+ "text-input": README_md_22.default,
56
+ "textarea": README_md_23.default,
57
+ "time-picker-input": README_md_24.default,
58
+ "toggle": README_md_25.default,
59
+ };
@@ -0,0 +1 @@
1
+ export * from "./select";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./select"), exports);
@@ -0,0 +1,13 @@
1
+ import { SelectProps as UISelectProps, SelectValue as UISelectValue } from "@uxf/ui/select";
2
+ import React from "react";
3
+ import { FieldValues } from "react-hook-form";
4
+ import { ControlProps } from "../types";
5
+ export type SelectProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UISelectProps, "inputGroupRef" | "inputRef" | "inputWrapperRef" | "isFocused" | "isInvalid" | "name" | "onChange" | "value"> & {
6
+ onChange?: UISelectProps["onChange"];
7
+ requiredMessage?: string;
8
+ };
9
+ export type SelectValue<T extends UISelectValue> = T | null;
10
+ export declare function Select<FormData extends Record<string, any>>(props: SelectProps<FormData>): React.JSX.Element;
11
+ export declare namespace Select {
12
+ var displayName: string;
13
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ "use client";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.Select = Select;
8
+ const translations_1 = require("@uxf/core-react/translations");
9
+ const is_empty_1 = require("@uxf/core/utils/is-empty");
10
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
11
+ const select_1 = require("@uxf/ui/select");
12
+ const react_1 = __importDefault(require("react"));
13
+ const react_hook_form_1 = require("react-hook-form");
14
+ const form_context_1 = require("../form-id-context/form-context");
15
+ function Select(props) {
16
+ var _a, _b, _c;
17
+ const formContext = (0, form_context_1.useFormContext)();
18
+ const t = (0, translations_1.useUxfTranslation)();
19
+ const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
20
+ const { field, fieldState } = (0, react_hook_form_1.useController)({
21
+ control: props.control,
22
+ name: props.name,
23
+ rules: {
24
+ required: props.isRequired ? props.requiredMessage || t("uxf-form-select:validation.required") : undefined,
25
+ ...props.rules,
26
+ },
27
+ shouldUnregister: props.shouldUnregister,
28
+ });
29
+ const onBlur = (event) => {
30
+ var _a;
31
+ field.onBlur();
32
+ (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
33
+ };
34
+ const onChange = (value, event) => {
35
+ var _a;
36
+ field.onChange(value);
37
+ (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
38
+ };
39
+ return (react_1.default.createElement(select_1.Select, { className: props.className, dropdownClassName: props.dropdownClassName, dropdownMatchesInputWidth: props.dropdownMatchesInputWidth, dropdownMaxHeight: props.dropdownMaxHeight, dropdownPlacement: props.dropdownPlacement, dropdownStrategy: props.dropdownStrategy, form: props.form, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, iconName: props.iconName, id: id, inputArrow: props.inputArrow, inputRef: field.ref, isClearable: props.isClearable, isDisabled: (0, is_empty_1.isEmpty)(props.options) || formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, keyExtractor: props.keyExtractor, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, name: field.name, noOptionsMessage: props.noOptionsMessage, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, placeholder: props.placeholder, renderOption: props.renderOption, renderSelectedOption: props.renderSelectedOption, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, value: field.value, variant: props.variant }));
40
+ }
41
+ Select.displayName = "UxfFormSelect";
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { Select } from "./select";
3
+ declare const _default: {
4
+ title: string;
5
+ component: typeof Select;
6
+ };
7
+ export default _default;
8
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Default = Default;
7
+ const button_1 = require("@uxf/ui/button");
8
+ const react_1 = __importDefault(require("react"));
9
+ const storybook_form_1 = require("../storybook/storybook-form");
10
+ const select_1 = require("./select");
11
+ exports.default = {
12
+ title: "Form/Select",
13
+ component: select_1.Select,
14
+ };
15
+ const options = [
16
+ { id: "one", label: "Option one" },
17
+ { id: "two", label: "Option two" },
18
+ { id: "three", label: "Option three" },
19
+ { id: "four", label: "Option four" },
20
+ { id: "five", label: "Option five" },
21
+ { id: "six", label: "Option six" },
22
+ { id: "seven", label: "Option seven" },
23
+ { id: "eight", label: "Option eight" },
24
+ { id: "nine", label: "Option nine" },
25
+ { id: "ten", label: "Option ten" },
26
+ ];
27
+ const numberOptions = [
28
+ { id: 0, label: "Option zero" },
29
+ { id: 1, label: "Option one" },
30
+ { id: 2, label: "Option two" },
31
+ ];
32
+ function Default() {
33
+ const storyFormSelects = (control) => (react_1.default.createElement("div", { className: "space-y-4" },
34
+ react_1.default.createElement(select_1.Select, { control: control, dropdownMaxHeight: 350, id: "form-select", isClearable: true, label: "Select form", name: "select", options: options, placeholder: "placeholder" }),
35
+ react_1.default.createElement(select_1.Select, { control: control, id: "form-select", isDisabled: true, label: "Select form disabled", name: "select-disabled", options: options, placeholder: "placeholder" }),
36
+ react_1.default.createElement(select_1.Select, { control: control, helperText: "Choose one option", id: "form-select", label: "Select form with helper text", name: "select-helper-text", options: options, placeholder: "placeholder" }),
37
+ react_1.default.createElement(select_1.Select, { control: control, helperText: "Choose one option", id: "form-select", isRequired: true, label: "Select form required", name: "select-required", options: options, placeholder: "placeholder" }),
38
+ react_1.default.createElement(select_1.Select, { control: control, dropdownPlacement: "top", id: "form-select", label: "Select form with dropdown top", name: "select-dropdown-top", options: options, placeholder: "placeholder" }),
39
+ react_1.default.createElement(select_1.Select, { control: control, id: "form-select", isClearable: true, label: "Select form clearable", name: "select-dropdown-clearable", options: options, placeholder: "placeholder" }),
40
+ react_1.default.createElement(select_1.Select, { control: control, id: "form-select", isClearable: true, label: "Select form with number options", name: "select-dropdown-number", options: numberOptions, placeholder: "placeholder" }),
41
+ react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
42
+ return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
43
+ react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormSelects(control))))));
44
+ }
@@ -0,0 +1,13 @@
1
+ declare const _default: {
2
+ "uxf-form-select": {
3
+ validation: {
4
+ required: {
5
+ cs: string;
6
+ en: string;
7
+ sk: string;
8
+ de: string;
9
+ };
10
+ };
11
+ };
12
+ };
13
+ export default _default;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ "uxf-form-select": {
5
+ validation: {
6
+ required: {
7
+ cs: "Toto pole je povinné",
8
+ en: "This field is required",
9
+ sk: "Toto pole je povinné",
10
+ de: "Dieses Feld ist erforderlich",
11
+ },
12
+ },
13
+ },
14
+ };
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface FormDataPrinterProps {
3
+ control: any;
4
+ }
5
+ export declare function FormDataPrinter(props: FormDataPrinterProps): React.JSX.Element;
6
+ export {};
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FormDataPrinter = FormDataPrinter;
7
+ const react_1 = __importDefault(require("react"));
8
+ const react_hook_form_1 = require("react-hook-form");
9
+ function FormDataPrinter(props) {
10
+ const data = (0, react_hook_form_1.useWatch)({ control: props.control });
11
+ return (react_1.default.createElement("pre", { className: "bg-slate-100 p-2 text-sm dark:bg-slate-800 dark:text-white" }, JSON.stringify(data, null, " ")));
12
+ }
@@ -0,0 +1,8 @@
1
+ import React, { ReactNode } from "react";
2
+ import { UseFormProps, UseFormReturn } from "react-hook-form";
3
+ interface FormProps extends UseFormProps {
4
+ children: (form: UseFormReturn) => ReactNode;
5
+ className?: string;
6
+ }
7
+ export declare function StorybookForm(props: FormProps): React.JSX.Element;
8
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.StorybookForm = StorybookForm;
27
+ const button_1 = require("@uxf/ui/button");
28
+ const react_1 = __importStar(require("react"));
29
+ const react_hook_form_1 = require("react-hook-form");
30
+ const form_1 = require("../form");
31
+ const form_data_printer_1 = require("./form-data-printer");
32
+ function StorybookForm(props) {
33
+ const form = (0, react_hook_form_1.useForm)(props);
34
+ const formId = (0, react_1.useId)();
35
+ return (
36
+ // eslint-disable-next-line no-console
37
+ react_1.default.createElement(form_1.Form, { className: props.className, formApi: form, id: formId, onSubmit: console.log },
38
+ props.children(form),
39
+ react_1.default.createElement("div", { className: "my-4" },
40
+ react_1.default.createElement(form_data_printer_1.FormDataPrinter, { control: form.control })),
41
+ react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
42
+ }
@@ -0,0 +1 @@
1
+ export * from "./text-input";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./text-input"), exports);
@@ -0,0 +1,33 @@
1
+ import { TextInputProps as UITextInputProps } from "@uxf/ui/text-input";
2
+ import React from "react";
3
+ import { FieldValues } from "react-hook-form";
4
+ import { ControlProps } from "../types";
5
+ export type TextInputProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UITextInputProps, "isFocused" | "isInvalid" | "max" | "min" | "name" | "onChange" | "pattern" | "step" | "value" | "type"> & {
6
+ onChange?: UITextInputProps["onChange"];
7
+ requiredMessage?: string;
8
+ } & ({
9
+ type: "email";
10
+ invalidEmailMessage?: string;
11
+ invalidPhoneMessage?: never;
12
+ invalidUrlMessage?: never;
13
+ } | {
14
+ type: "tel";
15
+ invalidPhoneMessage?: string;
16
+ invalidEmailMessage?: never;
17
+ invalidUrlMessage?: never;
18
+ } | {
19
+ type: "url";
20
+ invalidUrlMessage?: string;
21
+ invalidPhoneMessage?: never;
22
+ invalidEmailMessage?: never;
23
+ } | {
24
+ invalidEmailMessage?: never;
25
+ invalidUrlMessage?: never;
26
+ invalidPhoneMessage?: never;
27
+ type?: "password" | "search" | "text" | "url";
28
+ });
29
+ export type TextInputValue = string | null;
30
+ export declare function TextInput<FormData extends FieldValues>(props: TextInputProps<FormData>): React.JSX.Element;
31
+ export declare namespace TextInput {
32
+ var displayName: string;
33
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ "use client";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TextInput = TextInput;
8
+ const translations_1 = require("@uxf/core-react/translations");
9
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
10
+ const text_input_1 = require("@uxf/ui/text-input");
11
+ const react_1 = __importDefault(require("react"));
12
+ const react_hook_form_1 = require("react-hook-form");
13
+ const form_context_1 = require("../form-id-context/form-context");
14
+ const EMAIL_REGEXP = /^(([^<>()[\]\\.,;:\s@À-ÖÙ-öù-ÿĀ-žḀ-ỿ"]+(\.[^<>()[\]\\.,;:\s@À-ÖÙ-öù-ÿĀ-žḀ-ỿ"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
15
+ const PHONE_REGEXP = /^(\+)?[\d\s]*$/;
16
+ const URL_REGEXP = /^(https?:\/\/)?(www\.)?([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})(\/.*)?$/;
17
+ function TextInput(props) {
18
+ var _a, _b, _c, _d, _e, _f;
19
+ const formContext = (0, form_context_1.useFormContext)();
20
+ const t = (0, translations_1.useUxfTranslation)();
21
+ const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
22
+ const { field, fieldState } = (0, react_hook_form_1.useController)({
23
+ control: props.control,
24
+ name: props.name,
25
+ rules: {
26
+ required: props.isRequired
27
+ ? props.requiredMessage || t("uxf-form-text-input:validation.required")
28
+ : undefined,
29
+ validate: {
30
+ validEmail: (value) => {
31
+ if (!value) {
32
+ return;
33
+ }
34
+ if (props.type === "email" && value && !EMAIL_REGEXP.test(value)) {
35
+ return (props.invalidEmailMessage ||
36
+ t("uxf-form-text-input:validation.invalid-email", { value: value }));
37
+ }
38
+ },
39
+ validPhone: (value) => {
40
+ if (!value) {
41
+ return;
42
+ }
43
+ if (props.type === "tel" && value && !PHONE_REGEXP.test(value)) {
44
+ return (props.invalidPhoneMessage ||
45
+ t("uxf-form-text-input:validation.invalid-phone", { value: value }));
46
+ }
47
+ },
48
+ validUrl: (value) => {
49
+ if (!value) {
50
+ return;
51
+ }
52
+ if (props.type === "url" && value && !URL_REGEXP.test(value)) {
53
+ return (props.invalidUrlMessage || t("uxf-form-text-input:validation.invalid-url", { value: value }));
54
+ }
55
+ },
56
+ ...(typeof ((_b = props.rules) === null || _b === void 0 ? void 0 : _b.validate) === "function"
57
+ ? { custom: props.rules.validate }
58
+ : (_c = props.rules) === null || _c === void 0 ? void 0 : _c.validate),
59
+ },
60
+ },
61
+ shouldUnregister: props.shouldUnregister,
62
+ });
63
+ const onBlur = (event) => {
64
+ var _a;
65
+ field.onBlur();
66
+ (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
67
+ };
68
+ const onChange = (value, event) => {
69
+ var _a;
70
+ field.onChange(value);
71
+ (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
72
+ };
73
+ return (react_1.default.createElement(text_input_1.TextInput, { autoComplete: props.autoComplete, autoFocus: props.autoFocus, className: props.className, enterKeyHint: props.enterKeyHint, form: props.form, helperText: (_e = (_d = fieldState.error) === null || _d === void 0 ? void 0 : _d.message) !== null && _e !== void 0 ? _e : props.helperText, hiddenLabel: props.hiddenLabel, id: id, inputMode: props.inputMode, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, maxLength: props.maxLength, minLength: props.minLength, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onKeyDown: props.onKeyDown, placeholder: props.placeholder, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, type: props.type, value: (_f = field.value) !== null && _f !== void 0 ? _f : "", variant: props.variant }));
74
+ }
75
+ TextInput.displayName = "UxfFormTextInput";
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { TextInput } from "./text-input";
3
+ declare const _default: {
4
+ title: string;
5
+ component: typeof TextInput;
6
+ };
7
+ export default _default;
8
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Default = Default;
7
+ const button_1 = require("@uxf/ui/button");
8
+ const react_1 = __importDefault(require("react"));
9
+ const storybook_form_1 = require("../storybook/storybook-form");
10
+ const text_input_1 = require("./text-input");
11
+ exports.default = {
12
+ title: "Form/TextInput",
13
+ component: text_input_1.TextInput,
14
+ };
15
+ function Default() {
16
+ const storyFormTextInputs = (control) => (react_1.default.createElement("div", { className: "space-y-4" },
17
+ react_1.default.createElement(text_input_1.TextInput, { autoComplete: "off", control: control, label: "Default input", name: "default", placeholder: "Zadejte..." }),
18
+ react_1.default.createElement(text_input_1.TextInput, { control: control, isRequired: true, label: "Required input", name: "required", placeholder: "Zadejte..." }),
19
+ react_1.default.createElement(text_input_1.TextInput, { control: control, isRequired: true, label: "E-mail required input", name: "email", placeholder: "Zadejte...", type: "email" }),
20
+ react_1.default.createElement(text_input_1.TextInput, { control: control, isRequired: true, label: "Required url input with validation", name: "url", placeholder: "Zadejte...", type: "url" }),
21
+ react_1.default.createElement(text_input_1.TextInput, { control: control, isRequired: true, label: "Phone required input", name: "phone", placeholder: "Zadejte...", type: "tel" }),
22
+ react_1.default.createElement(text_input_1.TextInput, { control: control, label: "Password input", name: "password", placeholder: "Zadejte...", type: "password" }),
23
+ react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
24
+ return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
25
+ react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormTextInputs(control))))));
26
+ }
@@ -0,0 +1,31 @@
1
+ declare const _default: {
2
+ "uxf-form-text-input": {
3
+ validation: {
4
+ required: {
5
+ cs: string;
6
+ en: string;
7
+ sk: string;
8
+ de: string;
9
+ };
10
+ "invalid-email": {
11
+ cs: string;
12
+ en: string;
13
+ sk: string;
14
+ de: string;
15
+ };
16
+ "invalid-phone": {
17
+ cs: string;
18
+ en: string;
19
+ sk: string;
20
+ de: string;
21
+ };
22
+ "invalid-url": {
23
+ cs: string;
24
+ en: string;
25
+ sk: string;
26
+ de: string;
27
+ };
28
+ };
29
+ };
30
+ };
31
+ export default _default;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ "uxf-form-text-input": {
5
+ validation: {
6
+ required: {
7
+ cs: "Toto pole je povinné",
8
+ en: "This field is required",
9
+ sk: "Toto pole je povinné",
10
+ de: "Dieses Feld ist erforderlich",
11
+ },
12
+ "invalid-email": {
13
+ cs: "E-mail by měl být ve\xa0formátu: info@email.cz",
14
+ en: "Email should be in format: info@email.cz",
15
+ sk: "E-mail by mal byť vo\xa0formáte: info@email.cz",
16
+ de: "E-Mail sollte im\xa0Format info@email.cz sein",
17
+ },
18
+ "invalid-phone": {
19
+ cs: "Zadaný telefon není ve\xa0správném formátu",
20
+ en: "The entered phone number is not in the correct format",
21
+ sk: "Zadaný telefón nie je v\xa0správnom formáte",
22
+ de: "Die eingegebene Telefonnummer ist nicht im\xa0richtigen Format",
23
+ },
24
+ "invalid-url": {
25
+ cs: "Zadaný odkaz není ve\xa0správném formátu",
26
+ en: "The entered URL is not in the correct format",
27
+ sk: "Zadaný odkaz nie je v\xa0správnom formáte",
28
+ de: "Die eingegebene URL ist nicht im\xa0richtigen Format",
29
+ },
30
+ },
31
+ },
32
+ };
@@ -0,0 +1 @@
1
+ export * from "./textarea";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./textarea"), exports);
@@ -0,0 +1,13 @@
1
+ import { TextareaProps as UITextareaProps } from "@uxf/ui/textarea";
2
+ import React from "react";
3
+ import { FieldValues } from "react-hook-form";
4
+ import { ControlProps } from "../types";
5
+ export type TextareaProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UITextareaProps, "isFocused" | "isInvalid" | "name" | "onChange" | "value"> & {
6
+ onChange?: UITextareaProps["onChange"];
7
+ requiredMessage?: string;
8
+ };
9
+ export type TextareaValue = string | null;
10
+ export declare function Textarea<FormData extends Record<string, any>>(props: TextareaProps<FormData>): React.JSX.Element;
11
+ export declare namespace Textarea {
12
+ var displayName: string;
13
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ "use client";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.Textarea = Textarea;
28
+ const translations_1 = require("@uxf/core-react/translations");
29
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
30
+ const textarea_1 = require("@uxf/ui/textarea");
31
+ const react_1 = __importStar(require("react"));
32
+ const react_hook_form_1 = require("react-hook-form");
33
+ const form_context_1 = require("../form-id-context/form-context");
34
+ function Textarea(props) {
35
+ var _a, _b, _c;
36
+ const formContext = (0, form_context_1.useFormContext)();
37
+ const t = (0, translations_1.useUxfTranslation)();
38
+ const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
39
+ const { field, fieldState } = (0, react_hook_form_1.useController)({
40
+ control: props.control,
41
+ name: props.name,
42
+ rules: {
43
+ required: props.isRequired
44
+ ? props.requiredMessage || t("uxf-form-textarea:validation.required")
45
+ : undefined,
46
+ ...props.rules,
47
+ },
48
+ shouldUnregister: props.shouldUnregister,
49
+ });
50
+ const onBlur = (0, react_1.useCallback)((e) => {
51
+ var _a;
52
+ field.onBlur();
53
+ (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);
54
+ }, [field, props]);
55
+ const onChange = (value, event) => {
56
+ var _a;
57
+ field.onChange(value);
58
+ (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
59
+ };
60
+ return (react_1.default.createElement(textarea_1.Textarea, { autoComplete: props.autoComplete, className: props.className, disableAutoHeight: props.disableAutoHeight, form: props.form, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, maxLength: props.maxLength, minLength: props.minLength, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, placeholder: props.placeholder, ref: field.ref, rows: props.rows, style: props.style, value: field.value || "" }));
61
+ }
62
+ Textarea.displayName = "UxfFormTextarea";
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { Textarea } from "./textarea";
3
+ declare const _default: {
4
+ title: string;
5
+ component: typeof Textarea;
6
+ };
7
+ export default _default;
8
+ export declare function Default(): React.JSX.Element;