@uxf/form 11.72.3 → 11.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/README.md +3 -1
  2. package/package.json +4 -2
  3. package/translations/translations.d.ts +389 -0
  4. package/translations/translations.js +55 -0
  5. package/_code-generator/form-code-generator.d.ts +0 -16
  6. package/_code-generator/form-code-generator.js +0 -69
  7. package/avatar-file-input/avatar-file-input.d.ts +0 -14
  8. package/avatar-file-input/avatar-file-input.js +0 -38
  9. package/avatar-file-input/avatar-file-input.stories.d.ts +0 -8
  10. package/avatar-file-input/avatar-file-input.stories.js +0 -23
  11. package/avatar-file-input/index.d.ts +0 -1
  12. package/avatar-file-input/index.js +0 -17
  13. package/bin/form-code-generator.d.ts +0 -2
  14. package/bin/form-code-generator.js +0 -55
  15. package/checkbox-button/checkbox-button.d.ts +0 -14
  16. package/checkbox-button/checkbox-button.js +0 -38
  17. package/checkbox-button/checkbox-button.stories.d.ts +0 -8
  18. package/checkbox-button/checkbox-button.stories.js +0 -24
  19. package/checkbox-button/index.d.ts +0 -1
  20. package/checkbox-button/index.js +0 -17
  21. package/checkbox-input/checkbox-input.d.ts +0 -14
  22. package/checkbox-input/checkbox-input.js +0 -38
  23. package/checkbox-input/checkbox-input.stories.d.ts +0 -8
  24. package/checkbox-input/checkbox-input.stories.js +0 -24
  25. package/checkbox-input/index.d.ts +0 -1
  26. package/checkbox-input/index.js +0 -17
  27. package/checkbox-list/checkbox-list.d.ts +0 -19
  28. package/checkbox-list/checkbox-list.js +0 -36
  29. package/checkbox-list/checkbox-list.stories.d.ts +0 -2
  30. package/checkbox-list/checkbox-list.stories.js +0 -22
  31. package/checkbox-list/index.d.ts +0 -1
  32. package/checkbox-list/index.js +0 -17
  33. package/color-radio-group/color-radio-group.d.ts +0 -13
  34. package/color-radio-group/color-radio-group.js +0 -38
  35. package/color-radio-group/color-radio-group.stories.d.ts +0 -8
  36. package/color-radio-group/color-radio-group.stories.js +0 -62
  37. package/color-radio-group/index.d.ts +0 -1
  38. package/color-radio-group/index.js +0 -17
  39. package/combobox/combobox.d.ts +0 -13
  40. package/combobox/combobox.js +0 -44
  41. package/combobox/combobox.stories.d.ts +0 -8
  42. package/combobox/combobox.stories.js +0 -30
  43. package/combobox/index.d.ts +0 -1
  44. package/combobox/index.js +0 -17
  45. package/components.d.ts +0 -127
  46. package/components.js +0 -154
  47. package/date-picker-input/date-picker-input.d.ts +0 -15
  48. package/date-picker-input/date-picker-input.js +0 -89
  49. package/date-picker-input/date-picker-input.stories.d.ts +0 -8
  50. package/date-picker-input/date-picker-input.stories.js +0 -31
  51. package/date-picker-input/index.d.ts +0 -1
  52. package/date-picker-input/index.js +0 -17
  53. package/date-range-picker-input/date-range-picker-input.d.ts +0 -12
  54. package/date-range-picker-input/date-range-picker-input.js +0 -106
  55. package/date-range-picker-input/date-range-picker-input.stories.d.ts +0 -8
  56. package/date-range-picker-input/date-range-picker-input.stories.js +0 -25
  57. package/date-range-picker-input/index.d.ts +0 -1
  58. package/date-range-picker-input/index.js +0 -17
  59. package/datetime-picker-input/datetime-picker-input.d.ts +0 -15
  60. package/datetime-picker-input/datetime-picker-input.js +0 -90
  61. package/datetime-picker-input/datetime-picker-input.stories.d.ts +0 -2
  62. package/datetime-picker-input/datetime-picker-input.stories.js +0 -28
  63. package/datetime-picker-input/index.d.ts +0 -1
  64. package/datetime-picker-input/index.js +0 -17
  65. package/dropzone/dropzone-input.d.ts +0 -13
  66. package/dropzone/dropzone-input.js +0 -59
  67. package/dropzone/dropzone-list.d.ts +0 -11
  68. package/dropzone/dropzone-list.js +0 -23
  69. package/dropzone/dropzone.stories.d.ts +0 -2
  70. package/dropzone/dropzone.stories.js +0 -50
  71. package/dropzone/index.d.ts +0 -9
  72. package/dropzone/index.js +0 -6
  73. package/file-input/file-input.d.ts +0 -14
  74. package/file-input/file-input.js +0 -38
  75. package/file-input/file-input.stories.d.ts +0 -8
  76. package/file-input/file-input.stories.js +0 -31
  77. package/file-input/index.d.ts +0 -1
  78. package/file-input/index.js +0 -17
  79. package/form/form.d.ts +0 -19
  80. package/form/form.js +0 -25
  81. package/form/form.stories.d.ts +0 -8
  82. package/form/form.stories.js +0 -24
  83. package/form/index.d.ts +0 -1
  84. package/form/index.js +0 -17
  85. package/form-id-context/form-context.d.ts +0 -7
  86. package/form-id-context/form-context.js +0 -12
  87. package/form-id-context/form-id-context.d.ts +0 -2
  88. package/form-id-context/form-id-context.js +0 -7
  89. package/form-id-context/index.d.ts +0 -1
  90. package/form-id-context/index.js +0 -17
  91. package/form-renderer/big-test-schema.d.ts +0 -33
  92. package/form-renderer/big-test-schema.js +0 -295
  93. package/form-renderer/field/base-field.d.ts +0 -4
  94. package/form-renderer/field/base-field.js +0 -70
  95. package/form-renderer/field/embedded.d.ts +0 -4
  96. package/form-renderer/field/embedded.js +0 -19
  97. package/form-renderer/field/one-to-many.d.ts +0 -4
  98. package/form-renderer/field/one-to-many.js +0 -50
  99. package/form-renderer/form-renderer.d.ts +0 -16
  100. package/form-renderer/form-renderer.js +0 -26
  101. package/form-renderer/form-renderer.stories.d.ts +0 -2
  102. package/form-renderer/form-renderer.stories.js +0 -23
  103. package/form-renderer/index.d.ts +0 -2
  104. package/form-renderer/index.js +0 -18
  105. package/form-renderer/mapper.d.ts +0 -2
  106. package/form-renderer/mapper.js +0 -30
  107. package/form-renderer/types.d.ts +0 -39
  108. package/form-renderer/types.js +0 -2
  109. package/gps-input/gps-input.d.ts +0 -20
  110. package/gps-input/gps-input.js +0 -154
  111. package/gps-input/gps-input.stories.d.ts +0 -8
  112. package/gps-input/gps-input.stories.js +0 -22
  113. package/gps-input/index.d.ts +0 -1
  114. package/gps-input/index.js +0 -17
  115. package/money-input/index.d.ts +0 -1
  116. package/money-input/index.js +0 -17
  117. package/money-input/money-input.d.ts +0 -24
  118. package/money-input/money-input.js +0 -108
  119. package/money-input/money-input.stories.d.ts +0 -2
  120. package/money-input/money-input.stories.js +0 -15
  121. package/multi-combobox/index.d.ts +0 -1
  122. package/multi-combobox/index.js +0 -17
  123. package/multi-combobox/multi-combobox.d.ts +0 -13
  124. package/multi-combobox/multi-combobox.js +0 -44
  125. package/multi-combobox/multi-combobox.stories.d.ts +0 -8
  126. package/multi-combobox/multi-combobox.stories.js +0 -54
  127. package/multi-select/index.d.ts +0 -1
  128. package/multi-select/index.js +0 -17
  129. package/multi-select/multi-select.d.ts +0 -13
  130. package/multi-select/multi-select.js +0 -39
  131. package/multi-select/multi-select.stories.d.ts +0 -8
  132. package/multi-select/multi-select.stories.js +0 -47
  133. package/number-input/index.d.ts +0 -1
  134. package/number-input/index.js +0 -17
  135. package/number-input/number-input.d.ts +0 -17
  136. package/number-input/number-input.js +0 -72
  137. package/number-input/number-input.stories.d.ts +0 -8
  138. package/number-input/number-input.stories.js +0 -24
  139. package/password-input/index.d.ts +0 -1
  140. package/password-input/index.js +0 -17
  141. package/password-input/password-input.d.ts +0 -15
  142. package/password-input/password-input.js +0 -93
  143. package/password-input/password-input.stories.d.ts +0 -8
  144. package/password-input/password-input.stories.js +0 -23
  145. package/radio-group/index.d.ts +0 -1
  146. package/radio-group/index.js +0 -17
  147. package/radio-group/radio-group.d.ts +0 -13
  148. package/radio-group/radio-group.js +0 -38
  149. package/radio-group/radio-group.stories.d.ts +0 -8
  150. package/radio-group/radio-group.stories.js +0 -38
  151. package/readmes.d.ts +0 -28
  152. package/readmes.js +0 -59
  153. package/select/index.d.ts +0 -1
  154. package/select/index.js +0 -17
  155. package/select/select.d.ts +0 -13
  156. package/select/select.js +0 -39
  157. package/select/select.stories.d.ts +0 -8
  158. package/select/select.stories.js +0 -44
  159. package/storybook/form-data-printer.d.ts +0 -6
  160. package/storybook/form-data-printer.js +0 -12
  161. package/storybook/storybook-form.d.ts +0 -8
  162. package/storybook/storybook-form.js +0 -42
  163. package/text-input/index.d.ts +0 -1
  164. package/text-input/index.js +0 -17
  165. package/text-input/text-input.d.ts +0 -33
  166. package/text-input/text-input.js +0 -57
  167. package/text-input/text-input.stories.d.ts +0 -8
  168. package/text-input/text-input.stories.js +0 -26
  169. package/textarea/index.d.ts +0 -1
  170. package/textarea/index.js +0 -17
  171. package/textarea/textarea.d.ts +0 -13
  172. package/textarea/textarea.js +0 -58
  173. package/textarea/textarea.stories.d.ts +0 -8
  174. package/textarea/textarea.stories.js +0 -22
  175. package/time-picker-input/index.d.ts +0 -1
  176. package/time-picker-input/index.js +0 -17
  177. package/time-picker-input/time-picker-input.d.ts +0 -14
  178. package/time-picker-input/time-picker-input.js +0 -77
  179. package/time-picker-input/time-picker-input.stories.d.ts +0 -8
  180. package/time-picker-input/time-picker-input.stories.js +0 -25
  181. package/toggle/index.d.ts +0 -1
  182. package/toggle/index.js +0 -17
  183. package/toggle/toggle.d.ts +0 -14
  184. package/toggle/toggle.js +0 -38
  185. package/toggle/toggle.stories.d.ts +0 -8
  186. package/toggle/toggle.stories.js +0 -23
  187. package/types.d.ts +0 -4
  188. package/types.js +0 -2
@@ -1,25 +0,0 @@
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 date_range_picker_input_1 = require("./date-range-picker-input");
11
- exports.default = {
12
- title: "Form/DateRangePickerInput",
13
- component: date_range_picker_input_1.DateRangePickerInput,
14
- };
15
- function Default() {
16
- const storyFormDatePickers = (control) => (react_1.default.createElement("div", { className: "space-y-4" },
17
- react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { control: control, isClearable: true, isRequired: true, label: "Default date range picker", name: "default" }),
18
- react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { control: control, isClearable: true, isRequired: true, label: "Date range picker with two months", name: "twomonths", numberOfMonths: 2 }),
19
- react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { bottomContent: react_1.default.createElement("div", null,
20
- "Bottom content",
21
- react_1.default.createElement("p", null, "Here can goes anything")), control: control, isClearable: true, isRequired: true, label: "With bottom content", name: "default" }),
22
- react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
23
- return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
24
- react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormDatePickers(control))))));
25
- }
@@ -1 +0,0 @@
1
- export * from "./date-range-picker-input";
@@ -1,17 +0,0 @@
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("./date-range-picker-input"), exports);
@@ -1,15 +0,0 @@
1
- import { DatetimePickerInputProps as UIDatetimePickerInputProps } from "@uxf/ui/datetime-picker-input";
2
- import React from "react";
3
- import { FieldValues } from "react-hook-form";
4
- import { ControlProps } from "../types";
5
- export type DatetimePickerInputProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UIDatetimePickerInputProps, "isFocused" | "isInvalid" | "max" | "min" | "name" | "onChange" | "pattern" | "step" | "value"> & {
6
- onChange?: UIDatetimePickerInputProps["onChange"];
7
- requiredMessage?: string;
8
- minDate?: string;
9
- maxDate?: string;
10
- };
11
- export type DatetimePickerInputValue = string | null;
12
- export declare function DatetimePickerInput<FormData extends FieldValues>(props: DatetimePickerInputProps<FormData>): React.JSX.Element;
13
- export declare namespace DatetimePickerInput {
14
- var displayName: string;
15
- }
@@ -1,90 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
27
- return (mod && mod.__esModule) ? mod : { "default": mod };
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.DatetimePickerInput = DatetimePickerInput;
31
- const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
32
- const date_picker_input_1 = require("@uxf/ui/date-picker-input");
33
- const datetime_picker_1 = require("@uxf/ui/datetime-picker");
34
- const datetime_picker_input_1 = require("@uxf/ui/datetime-picker-input");
35
- const dayjs_1 = __importStar(require("dayjs"));
36
- const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
37
- const react_1 = __importDefault(require("react"));
38
- const react_hook_form_1 = require("react-hook-form");
39
- const form_context_1 = require("../form-id-context/form-context");
40
- (0, dayjs_1.extend)(customParseFormat_1.default);
41
- function DatetimePickerInput(props) {
42
- var _a, _b, _c, _d, _e;
43
- const formContext = (0, form_context_1.useFormContext)();
44
- const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
45
- const { field, fieldState } = (0, react_hook_form_1.useController)({
46
- control: props.control,
47
- name: props.name,
48
- rules: {
49
- required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
50
- ...props.rules,
51
- validate: {
52
- validDate: (value) => {
53
- if (!value) {
54
- return;
55
- }
56
- if (!(0, datetime_picker_1.getStrictParsedDatetime)(value).isValid()) {
57
- return `Datum a čas musí být ve formátu ${datetime_picker_input_1.DISPLAY_DATETIME_FORMAT}.`;
58
- }
59
- },
60
- validDateRange: (value) => {
61
- if (!value) {
62
- return;
63
- }
64
- if (props.minDate && (0, dayjs_1.default)(value, date_picker_input_1.OUTPUT_DATE_FORMAT, true).isBefore(props.minDate, "date")) {
65
- return `Minimální datum, který je možné zadat, je: ${(0, dayjs_1.default)(props.minDate).format(date_picker_input_1.DISPLAY_DATE_FORMAT)}`;
66
- }
67
- if (props.maxDate && (0, dayjs_1.default)(value, date_picker_input_1.OUTPUT_DATE_FORMAT, true).isAfter(props.maxDate, "date")) {
68
- return `Maximální datum, který je možné zadat, je: ${(0, dayjs_1.default)(props.maxDate).format(date_picker_input_1.DISPLAY_DATE_FORMAT)}`;
69
- }
70
- },
71
- ...(typeof ((_b = props.rules) === null || _b === void 0 ? void 0 : _b.validate) === "function"
72
- ? { custom: props.rules.validate }
73
- : (_c = props.rules) === null || _c === void 0 ? void 0 : _c.validate),
74
- },
75
- },
76
- shouldUnregister: props.shouldUnregister,
77
- });
78
- const onBlur = (event) => {
79
- var _a;
80
- field.onBlur();
81
- (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
82
- };
83
- const onChange = (value, event) => {
84
- var _a;
85
- field.onChange(value);
86
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
87
- };
88
- return (react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { CustomDatetimePicker: props.CustomDatetimePicker, autoFocus: props.autoFocus, bottomContent: props.bottomContent, className: props.className, 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, isClearable: props.isClearable, 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, maxDate: props.maxDate, minDate: props.minDate, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, placeholder: props.placeholder, popoverPlacement: props.popoverPlacement, popoverStrategy: props.popoverStrategy, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, triggerElement: props.triggerElement, unavailableDates: props.unavailableDates, value: field.value, variant: props.variant }));
89
- }
90
- DatetimePickerInput.displayName = "UxfFormDatePickerInput";
@@ -1,2 +0,0 @@
1
- import React from "react";
2
- export declare function Default(): React.JSX.Element;
@@ -1,28 +0,0 @@
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 date_picker_input_1 = require("@uxf/ui/date-picker-input");
9
- const dayjs_1 = __importDefault(require("dayjs"));
10
- const react_1 = __importDefault(require("react"));
11
- const storybook_form_1 = require("../storybook/storybook-form");
12
- const datetime_picker_input_1 = require("./datetime-picker-input");
13
- function Default() {
14
- return (react_1.default.createElement(storybook_form_1.StorybookForm, { className: "space-y-4 p-4", defaultValues: { withDefaultValue: (0, dayjs_1.default)("2023-10-20T14:32:10.511").toISOString() } }, ({ control }) => (react_1.default.createElement(react_1.default.Fragment, null,
15
- react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { control: control, isClearable: true, isRequired: true, label: "Default datetime picker", name: "default" }),
16
- react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { control: control, isClearable: true, isRequired: true, label: "Default datetime picker with default value", name: "withDefaultValue" }),
17
- react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { control: control, isClearable: true, isRequired: true, label: "Date time picker with input min/max validation - only next 7 days", maxDate: (0, dayjs_1.default)().add(6, "days").format(date_picker_input_1.OUTPUT_DATE_FORMAT), minDate: (0, dayjs_1.default)().format(date_picker_input_1.OUTPUT_DATE_FORMAT), name: "withMinMaxValidation" }),
18
- react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { bottomContent: react_1.default.createElement("div", null,
19
- "Bottom content",
20
- react_1.default.createElement("p", null, "Here can goes anything")), control: control, isClearable: true, isRequired: true, label: "With bottom content", name: "default" }),
21
- react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { CustomDatetimePicker: (props) => (react_1.default.createElement(button_1.Button, { onClick: () => {
22
- props.onChange((0, dayjs_1.default)()
23
- .add(1, "day")
24
- .startOf("day")
25
- .format("YYYY-MM-DD[T]HH:mm:ssZ"));
26
- props.onClose();
27
- } }, "Z\u00EDtra")), control: control, isClearable: true, label: "With custom datetime picker", name: "withCustomDatetimePicker" })))));
28
- }
@@ -1 +0,0 @@
1
- export * from "./datetime-picker-input";
@@ -1,17 +0,0 @@
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("./datetime-picker-input"), exports);
@@ -1,13 +0,0 @@
1
- import { DropzoneInputProps as UIDropzoneProps } from "@uxf/ui/dropzone";
2
- import React from "react";
3
- import { FieldValues } from "react-hook-form";
4
- import { ControlProps } from "../types";
5
- export type DropzoneProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UIDropzoneProps, "isFocused" | "isInvalid" | "onChange" | "value"> & {
6
- minFilesCount?: number;
7
- onChange?: UIDropzoneProps["onChange"];
8
- requiredMessage?: string;
9
- };
10
- export declare function DropzoneInput<FormData extends FieldValues>(props: DropzoneProps<FormData>): React.JSX.Element;
11
- export declare namespace DropzoneInput {
12
- var displayName: string;
13
- }
@@ -1,59 +0,0 @@
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.DropzoneInput = DropzoneInput;
8
- const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
9
- const dropzone_1 = require("@uxf/ui/dropzone");
10
- const react_1 = __importDefault(require("react"));
11
- const react_hook_form_1 = require("react-hook-form");
12
- const form_context_1 = require("../form-id-context/form-context");
13
- function DropzoneInput(props) {
14
- var _a, _b, _c;
15
- const formContext = (0, form_context_1.useFormContext)();
16
- const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
17
- const { field, fieldState } = (0, react_hook_form_1.useController)({
18
- control: props.control,
19
- disabled: props.isDisabled,
20
- name: props.name,
21
- rules: {
22
- ...props.rules,
23
- validate: {
24
- default: (value) => {
25
- var _a;
26
- if (props.isRequired &&
27
- props.minFilesCount !== 0 &&
28
- (!value || value.length < ((_a = props.minFilesCount) !== null && _a !== void 0 ? _a : 1))) {
29
- return props.requiredMessage || "Toto pole je povinné";
30
- }
31
- if (props.maxFilesCount && value && value.length > props.maxFilesCount) {
32
- return `Maximální počet souborů je ${props.maxFilesCount}`;
33
- }
34
- if (props.minFilesCount && value && value.length < props.minFilesCount) {
35
- return `Minimální počet souborů je ${props.minFilesCount}`;
36
- }
37
- // TODO – validate this only on submit
38
- // if (value?.some((file) => file.id < 0)) {
39
- // return "Nahrávání souborů ještě nebylo dokončeno";
40
- // }
41
- return true;
42
- },
43
- ...(((_b = props.rules) === null || _b === void 0 ? void 0 : _b.validate)
44
- ? typeof props.rules.validate === "function"
45
- ? { custom: props.rules.validate }
46
- : props.rules.validate
47
- : {}),
48
- },
49
- },
50
- shouldUnregister: props.shouldUnregister,
51
- });
52
- const onChange = (value, event) => {
53
- var _a;
54
- field.onChange(value);
55
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
56
- };
57
- return (react_1.default.createElement(dropzone_1.Dropzone, { accept: props.accept, className: props.className, helperText: ((_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) || props.helperText, icon: props.icon, id: id, isDisabled: formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isNotClickable: props.isNotClickable, isNotDraggable: props.isNotDraggable, isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, maxFileSize: props.maxFileSize, maxFilesCount: props.maxFilesCount, minFileSize: props.minFileSize, name: props.name, onChange: onChange, onDropRejected: props.onDropRejected, onUploadComplete: props.onUploadComplete, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, ref: field.ref, style: props.style, value: field.value }));
58
- }
59
- DropzoneInput.displayName = "UxfFormDropzoneInput";
@@ -1,11 +0,0 @@
1
- import { DropzoneListProps as UIDropzoneListProps } from "@uxf/ui/dropzone";
2
- import React from "react";
3
- import { FieldValues } from "react-hook-form";
4
- import { ControlProps } from "../types";
5
- export interface DropzoneListProps<FormData extends FieldValues> extends Pick<ControlProps<FormData>, "control" | "name">, Pick<UIDropzoneListProps, "className" | "errorText" | "isDownloadableOnClick" | "onRemoveConfirm" | "renderItem" | "style"> {
6
- onChange?: UIDropzoneListProps["onChange"];
7
- }
8
- export declare function DropzoneList<FormData extends FieldValues>(props: DropzoneListProps<FormData>): React.JSX.Element;
9
- export declare namespace DropzoneList {
10
- var displayName: string;
11
- }
@@ -1,23 +0,0 @@
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.DropzoneList = DropzoneList;
8
- const dropzone_1 = require("@uxf/ui/dropzone");
9
- const react_1 = __importDefault(require("react"));
10
- const react_hook_form_1 = require("react-hook-form");
11
- function DropzoneList(props) {
12
- const { field } = (0, react_hook_form_1.useController)({
13
- control: props.control,
14
- name: props.name,
15
- });
16
- const onChange = (value, event) => {
17
- var _a;
18
- field.onChange(value);
19
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
20
- };
21
- return (react_1.default.createElement(dropzone_1.Dropzone.List, { className: props.className, errorText: props.errorText, isDownloadableOnClick: props.isDownloadableOnClick, name: props.name, onChange: onChange, onRemoveConfirm: props.onRemoveConfirm, renderItem: props.renderItem, style: props.style, value: field.value }));
22
- }
23
- DropzoneList.displayName = "UxfFormDropzoneList";
@@ -1,2 +0,0 @@
1
- import React from "react";
2
- export declare function Default(): React.JSX.Element;
@@ -1,50 +0,0 @@
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 handle_rejected_files_1 = require("@uxf/ui/dropzone/handle-rejected-files");
9
- const get_dropzone_state_1 = require("@uxf/ui/utils/get-dropzone-state");
10
- const upload_file_mock_1 = require("@uxf/ui/utils/mocks/upload-file.mock");
11
- const validator_exceptions_1 = require("@uxf/ui/utils/validator/validator-exceptions");
12
- const react_1 = __importDefault(require("react"));
13
- const storybook_form_1 = require("../storybook/storybook-form");
14
- const index_1 = require("./index");
15
- const DUMMY_FILES = [
16
- {
17
- id: 1,
18
- uuid: "1",
19
- name: "file1",
20
- extension: "jpg",
21
- namespace: null,
22
- progress: null,
23
- },
24
- {
25
- id: 2,
26
- uuid: "2",
27
- name: "file2",
28
- extension: "pdf",
29
- namespace: null,
30
- progress: null,
31
- },
32
- ];
33
- function Default() {
34
- const onRemoveConfirm = () => Promise.resolve(confirm("Do you want to delete the file?"));
35
- const onUploadError = async (e) => {
36
- if (e === validator_exceptions_1.ValidatorExceptions.MaxFileSize) {
37
- // eslint-disable-next-line no-alert
38
- alert("Maximální velikost souboru je 1\xa0MB.");
39
- }
40
- };
41
- return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: { dropzone: DUMMY_FILES } }, ({ control, watch }) => {
42
- const { status } = (0, get_dropzone_state_1.getDropzoneState)(watch("dropzone"));
43
- return (react_1.default.createElement("div", { className: "space-y-8 p-20 lg:w-1/2" },
44
- react_1.default.createElement(index_1.Dropzone, { accept: {
45
- "image/png": [".png"],
46
- }, control: control, helperText: "Allow multiple files, 1MB max file size, only .png", isDisabled: status === "UPLOADING", isRequired: true, label: "Use drag and drop or click to upload", maxFileSize: 1024 * 1024, name: "dropzone", onDropRejected: handle_rejected_files_1.handleRejectedFiles, onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile }),
47
- react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit"),
48
- react_1.default.createElement(index_1.Dropzone.List, { control: control, errorText: "Oops, n\u011Bco se pokazilo", name: "dropzone", onRemoveConfirm: onRemoveConfirm })));
49
- }));
50
- }
@@ -1,9 +0,0 @@
1
- import { DropzoneFile } from "@uxf/ui/dropzone/types";
2
- import { DropzoneInput } from "./dropzone-input";
3
- import { DropzoneList } from "./dropzone-list";
4
- export type { DropzoneProps } from "./dropzone-input";
5
- export type { DropzoneListProps } from "./dropzone-list";
6
- export type DropzoneValue = DropzoneFile[] | undefined;
7
- export declare const Dropzone: typeof DropzoneInput & {
8
- List: typeof DropzoneList;
9
- };
package/dropzone/index.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Dropzone = void 0;
4
- const dropzone_input_1 = require("./dropzone-input");
5
- const dropzone_list_1 = require("./dropzone-list");
6
- exports.Dropzone = Object.assign(dropzone_input_1.DropzoneInput, { List: dropzone_list_1.DropzoneList });
@@ -1,14 +0,0 @@
1
- import { FileResponse } from "@uxf/core/types";
2
- import { FileInputProps as UIFileInputProps } from "@uxf/ui/file-input";
3
- import React from "react";
4
- import { FieldValues } from "react-hook-form";
5
- import { ControlProps } from "../types";
6
- export type FileInputProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UIFileInputProps, "isFocused" | "isInvalid" | "onChange" | "value"> & {
7
- onChange?: UIFileInputProps["onChange"];
8
- requiredMessage?: string;
9
- };
10
- export type FileInputValue = FileResponse | null;
11
- export declare function FileInput<FormData extends FieldValues>(props: FileInputProps<FormData>): React.JSX.Element;
12
- export declare namespace FileInput {
13
- var displayName: string;
14
- }
@@ -1,38 +0,0 @@
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.FileInput = FileInput;
8
- const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
9
- const file_input_1 = require("@uxf/ui/file-input");
10
- const react_1 = __importDefault(require("react"));
11
- const react_hook_form_1 = require("react-hook-form");
12
- const form_context_1 = require("../form-id-context/form-context");
13
- function FileInput(props) {
14
- var _a, _b, _c;
15
- const formContext = (0, form_context_1.useFormContext)();
16
- const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
17
- const { field, fieldState } = (0, react_hook_form_1.useController)({
18
- control: props.control,
19
- name: props.name,
20
- rules: {
21
- required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
22
- ...props.rules,
23
- },
24
- shouldUnregister: props.shouldUnregister,
25
- });
26
- const onBlur = (event) => {
27
- var _a;
28
- field.onBlur();
29
- (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
30
- };
31
- const onChange = (value, event) => {
32
- var _a;
33
- field.onChange(value);
34
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
35
- };
36
- return (react_1.default.createElement(file_input_1.FileInput, { accept: props.accept, className: props.className, 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, isClearable: props.isClearable, 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, maxFileSize: props.maxFileSize, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, placeholder: props.placeholder, ref: field.ref, size: props.size, uploadButtonLabel: props.uploadButtonLabel, value: field.value, variant: props.variant }));
37
- }
38
- FileInput.displayName = "FileInput";
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { FileInput } from "./file-input";
3
- declare const _default: {
4
- title: string;
5
- component: typeof FileInput;
6
- };
7
- export default _default;
8
- export declare function Default(): React.JSX.Element;
@@ -1,31 +0,0 @@
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 upload_file_mock_1 = require("@uxf/ui/utils/mocks/upload-file.mock");
9
- const react_1 = __importDefault(require("react"));
10
- const storybook_form_1 = require("../storybook/storybook-form");
11
- const file_input_1 = require("./file-input");
12
- exports.default = {
13
- title: "Form/FileInput",
14
- component: file_input_1.FileInput,
15
- };
16
- const DUMMY_FILE = {
17
- id: 1,
18
- uuid: "1",
19
- name: "file1",
20
- namespace: null,
21
- extension: "jpg",
22
- };
23
- function Default() {
24
- const storyFormFileInputs = (control, mode) => (react_1.default.createElement("div", { className: "space-y-4" },
25
- react_1.default.createElement(file_input_1.FileInput, { control: control, isClearable: true, label: "Default file input", name: `default-${mode}`, onUploadFile: upload_file_mock_1.uploadFile, placeholder: "Nahraj soubor" }),
26
- react_1.default.createElement(file_input_1.FileInput, { control: control, id: `required-${mode}`, isRequired: true, label: "Required file input", name: `required-${mode}`, onUploadFile: upload_file_mock_1.uploadFile }),
27
- react_1.default.createElement(file_input_1.FileInput, { control: control, isClearable: true, label: "Custom button label", name: `default-${mode}`, onUploadFile: upload_file_mock_1.uploadFile, placeholder: "Nahrajte soubor", uploadButtonLabel: "Nahrajte dokument" }),
28
- react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
29
- return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: { "default-light": DUMMY_FILE } }, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
30
- react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormFileInputs(control, "light"))))));
31
- }
@@ -1 +0,0 @@
1
- export * from "./file-input";
@@ -1,17 +0,0 @@
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("./file-input"), exports);
package/form/form.d.ts DELETED
@@ -1,19 +0,0 @@
1
- import React, { ReactNode, Ref } from "react";
2
- import { FieldValues, SubmitErrorHandler, SubmitHandler, UseFormReturn } from "react-hook-form";
3
- export type FormProps<TFieldValues extends FieldValues> = {
4
- children: ReactNode;
5
- className?: string;
6
- formApi: UseFormReturn<TFieldValues>;
7
- forwardRef?: Ref<HTMLFormElement> | undefined;
8
- id: string;
9
- method?: "get" | "post";
10
- onError?: SubmitErrorHandler<TFieldValues>;
11
- onSubmit: SubmitHandler<TFieldValues>;
12
- shouldOmitSubmitInput?: boolean;
13
- isDisabled?: boolean;
14
- isReadOnly?: boolean;
15
- };
16
- export declare function Form<TFieldValues extends FieldValues = FieldValues>(props: FormProps<TFieldValues>): React.JSX.Element;
17
- export declare namespace Form {
18
- var displayName: string;
19
- }
package/form/form.js DELETED
@@ -1,25 +0,0 @@
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.Form = Form;
8
- const sr_only_1 = require("@uxf/styles/mixins/sr-only");
9
- const react_1 = __importDefault(require("react"));
10
- const react_hook_form_1 = require("react-hook-form");
11
- const form_context_1 = require("../form-id-context/form-context");
12
- function Form(props) {
13
- var _a;
14
- const context = {
15
- formId: props.id,
16
- isFormDisabled: Boolean(props.isDisabled),
17
- isFormReadOnly: Boolean(props.isReadOnly),
18
- };
19
- return (react_1.default.createElement(form_context_1.FormContextProvider, { value: context },
20
- react_1.default.createElement(react_hook_form_1.FormProvider, { ...props.formApi },
21
- react_1.default.createElement("form", { className: props.className, id: props.id, method: (_a = props.method) !== null && _a !== void 0 ? _a : "post", noValidate: true, onSubmit: props.formApi.handleSubmit(props.onSubmit, props.onError), ref: props.forwardRef },
22
- props.children,
23
- !props.shouldOmitSubmitInput && react_1.default.createElement("input", { style: sr_only_1.srOnly, type: "submit" })))));
24
- }
25
- Form.displayName = "UxfForm";
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { Form } from "./form";
3
- declare const _default: {
4
- title: string;
5
- component: typeof Form;
6
- };
7
- export default _default;
8
- export declare function Default(): React.JSX.Element;
@@ -1,24 +0,0 @@
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 react_hook_form_1 = require("react-hook-form");
10
- const text_input_1 = require("../text-input");
11
- const form_1 = require("./form");
12
- exports.default = {
13
- title: "Form/Form",
14
- component: form_1.Form,
15
- };
16
- function Default() {
17
- const formApi = (0, react_hook_form_1.useForm)();
18
- return (
19
- // eslint-disable-next-line no-console
20
- react_1.default.createElement(form_1.Form, { formApi: formApi, id: "form", onSubmit: console.log },
21
- react_1.default.createElement("div", { className: "mb-4 space-y-4 p-4" },
22
- react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isRequired: true, label: "Default input", name: "default" }),
23
- react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit"))));
24
- }
package/form/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./form";
package/form/index.js DELETED
@@ -1,17 +0,0 @@
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("./form"), exports);
@@ -1,7 +0,0 @@
1
- export interface FormContextType {
2
- formId: string;
3
- isFormDisabled: boolean;
4
- isFormReadOnly: boolean;
5
- }
6
- export declare const FormContextProvider: import("react").Provider<FormContextType>;
7
- export declare const useFormContext: () => FormContextType;