@uxf/form 11.72.0 → 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,39 +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.MultiSelect = MultiSelect;
8
- const is_empty_1 = require("@uxf/core/utils/is-empty");
9
- const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
10
- const multi_select_1 = require("@uxf/ui/multi-select");
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
- function MultiSelect(props) {
15
- var _a, _b, _c;
16
- const formContext = (0, form_context_1.useFormContext)();
17
- const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
18
- const { field, fieldState } = (0, react_hook_form_1.useController)({
19
- control: props.control,
20
- name: props.name,
21
- rules: {
22
- required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
23
- ...props.rules,
24
- },
25
- shouldUnregister: props.shouldUnregister,
26
- });
27
- const onBlur = (event) => {
28
- var _a;
29
- field.onBlur();
30
- (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
31
- };
32
- const onChange = (value, event) => {
33
- var _a;
34
- field.onChange(value);
35
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
36
- };
37
- return (react_1.default.createElement(multi_select_1.MultiSelect, { allOptionsSelectedMessage: props.allOptionsSelectedMessage, 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, 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, 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, ref: field.ref, renderOption: props.renderOption, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, value: field.value, variant: props.variant, withCheckboxes: props.withCheckboxes }));
38
- }
39
- MultiSelect.displayName = "UxfFormMultiSelect";
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { MultiSelect } from "./multi-select";
3
- declare const _default: {
4
- title: string;
5
- component: typeof MultiSelect;
6
- };
7
- export default _default;
8
- export declare function Default(): React.JSX.Element;
@@ -1,47 +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 multi_select_1 = require("./multi-select");
11
- exports.default = {
12
- title: "Form/MultiSelect",
13
- component: multi_select_1.MultiSelect,
14
- };
15
- const options = [
16
- { id: "one", label: "Option one", color: "red" },
17
- { id: "two", label: "Option two disabled", color: "blue", disabled: true },
18
- { id: "three", label: "Option three", color: "green" },
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
- { id: "twelve", label: "Option twelve" },
27
- { id: "thirteen", label: "Option thirteen" },
28
- ];
29
- function Default() {
30
- const storyFormMultiSelect = (control) => (react_1.default.createElement("div", { className: "space-y-8" },
31
- react_1.default.createElement(multi_select_1.MultiSelect, { control: control, dropdownMaxHeight: 350, helperText: "Vyberte pros\u00EDm jednu nebo v\u00EDce mo\u017Enost\u00ED", id: "form-multi-select", isRequired: true, label: "MultiSelect with disabled option", name: "multi-select-with-disabled", options: options, placeholder: "Vyberte..." }),
32
- react_1.default.createElement(multi_select_1.MultiSelect, { control: control, id: "form-multi-select", label: "MultiSelect", name: "multi-select", options: options, placeholder: "Vyberte..." }),
33
- react_1.default.createElement(multi_select_1.MultiSelect, { control: control, id: "form-multi-select-required", label: "MultiSelect required", name: "multi-select-required", options: options, placeholder: "Vyberte..." }),
34
- react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
35
- return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: {
36
- "multi-select-with-disabled": [
37
- { id: "one", label: "Option one" },
38
- { id: "two", label: "Option two disabled", disabled: true },
39
- ],
40
- "multi-select": [
41
- { id: "one", label: "Option one" },
42
- { id: "two", label: "Option two" },
43
- ],
44
- "multi-select-required": [],
45
- } }, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
46
- react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormMultiSelect(control))))));
47
- }
@@ -1 +0,0 @@
1
- export * from "./number-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("./number-input"), exports);
@@ -1,17 +0,0 @@
1
- import { TextInputProps as UITextInputProps } from "@uxf/ui/text-input";
2
- import { FormControlProps } from "@uxf/ui/types";
3
- import React from "react";
4
- import { FieldValues } from "react-hook-form";
5
- import { ControlProps } from "../types";
6
- export type NumberInputProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UITextInputProps, "inputMode" | "isFocused" | "isInvalid" | "maxLength" | "minLength" | "name" | "onChange" | "value" | "type"> & {
7
- decimalPlaces?: number;
8
- maxMessage?: string;
9
- minMessage?: string;
10
- onChange?: FormControlProps<number | null>["onChange"];
11
- requiredMessage?: string;
12
- };
13
- export type NumberInputValue = number | null;
14
- export declare function NumberInput<FormData extends FieldValues>(props: NumberInputProps<FormData>): React.JSX.Element;
15
- export declare namespace NumberInput {
16
- var displayName: string;
17
- }
@@ -1,72 +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.NumberInput = NumberInput;
8
- const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
9
- const text_input_1 = require("@uxf/ui/text-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 NumberInput(props) {
14
- var _a, _b, _c, _d, _e, _f;
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
- max: typeof props.max === "number" && !isNaN(props.max)
22
- ? {
23
- value: props.max,
24
- message: (_b = props.maxMessage) !== null && _b !== void 0 ? _b : `Hodnota musí být menší nebo rovna ${props.max}.`,
25
- }
26
- : undefined,
27
- min: typeof props.min === "number" && !isNaN(props.min)
28
- ? {
29
- value: props.min,
30
- message: (_c = props.minMessage) !== null && _c !== void 0 ? _c : `Hodnota musí být větší nebo rovna ${props.min}.`,
31
- }
32
- : undefined,
33
- required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
34
- ...props.rules,
35
- },
36
- shouldUnregister: props.shouldUnregister,
37
- });
38
- const onBlur = (event) => {
39
- var _a;
40
- field.onBlur();
41
- (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
42
- };
43
- const onKeyDown = (event) => {
44
- var _a;
45
- // Allow special keys
46
- const specialKeys = ["Backspace", "Delete", "ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Tab"];
47
- // Allow keys for copy/paste/select/cut
48
- const controlKeys = ["v", "V", "c", "C", "x", "X", "a", "A"];
49
- // Allow digits and decimal point (.,)
50
- const allowedDigits = /[0-9+\-.,]/;
51
- const key = event.key;
52
- // Check if the key is allowed
53
- if (!specialKeys.includes(key) && !allowedDigits.test(key)) {
54
- // Check if Ctrl or Command key is pressed along with control key
55
- if (!(event.ctrlKey || event.metaKey) || !controlKeys.includes(key)) {
56
- event.preventDefault();
57
- }
58
- }
59
- (_a = props.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(props, event);
60
- };
61
- const onChange = (value, event) => {
62
- var _a;
63
- const parsedValue = props.decimalPlaces
64
- ? parseFloat(value.replace(" ", ""))
65
- : parseInt(value.replace(" ", ""), 10);
66
- const returnValue = isNaN(parsedValue) ? null : parsedValue;
67
- field.onChange(returnValue);
68
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, returnValue, event);
69
- };
70
- 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.decimalPlaces ? "decimal" : "numeric", 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, max: props.max, min: props.min, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onKeyDown: onKeyDown, pattern: props.pattern, placeholder: props.placeholder, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, step: props.decimalPlaces ? Number(0).toFixed(props.decimalPlaces - 1) + "1" : props.step, style: props.style, type: "number", value: (_f = field.value) !== null && _f !== void 0 ? _f : "", variant: props.variant }));
71
- }
72
- NumberInput.displayName = "UxfFormNumberInput";
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { NumberInput } from "./number-input";
3
- declare const _default: {
4
- title: string;
5
- component: typeof NumberInput;
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 storybook_form_1 = require("../storybook/storybook-form");
10
- const number_input_1 = require("./number-input");
11
- exports.default = {
12
- title: "Form/NumberInput",
13
- component: number_input_1.NumberInput,
14
- };
15
- function Default() {
16
- const storyFormNumberInputs = (control) => (react_1.default.createElement("div", { className: "light mb-4 space-y-4 p-4" },
17
- react_1.default.createElement(number_input_1.NumberInput, { control: control, label: "Default input", name: "default" }),
18
- react_1.default.createElement(number_input_1.NumberInput, { control: control, isRequired: true, label: "Required input", name: "required" }),
19
- react_1.default.createElement(number_input_1.NumberInput, { control: control, decimalPlaces: 3, label: "Dec\u00EDmal input", name: "decimal" }),
20
- react_1.default.createElement(number_input_1.NumberInput, { control: control, label: "max50 input", max: 50, name: "max50" }),
21
- react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
22
- return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
23
- react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormNumberInputs(control))))));
24
- }
@@ -1 +0,0 @@
1
- export * from "./password-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("./password-input"), exports);
@@ -1,15 +0,0 @@
1
- import { TextInputProps as UITextInputProps } from "@uxf/ui/text-input";
2
- import { FormControlProps } from "@uxf/ui/types";
3
- import React, { ReactNode } from "react";
4
- import { FieldValues } from "react-hook-form";
5
- import { ControlProps } from "../types";
6
- export type PasswordInputProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UITextInputProps, "isFocused" | "isInvalid" | "max" | "min" | "name" | "onChange" | "value" | "type"> & {
7
- minLengthMessage?: string;
8
- onChange?: FormControlProps<string | null>["onChange"];
9
- renderVisibilitySetter?: (isVisible: boolean, onToggle: () => void) => ReactNode;
10
- requiredMessage?: string;
11
- };
12
- export declare function PasswordInput<FormData extends FieldValues>(props: PasswordInputProps<FormData>): React.JSX.Element;
13
- export declare namespace PasswordInput {
14
- var displayName: string;
15
- }
@@ -1,93 +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
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.PasswordInput = PasswordInput;
28
- const use_on_unmount_1 = require("@uxf/core-react/hooks/use-on-unmount");
29
- const compose_refs_1 = require("@uxf/core-react/utils/compose-refs");
30
- const is_nil_1 = require("@uxf/core/utils/is-nil");
31
- const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
32
- const button_1 = require("@uxf/ui/button");
33
- const icon_1 = require("@uxf/ui/icon");
34
- const text_input_1 = require("@uxf/ui/text-input");
35
- const react_1 = __importStar(require("react"));
36
- const react_hook_form_1 = require("react-hook-form");
37
- const form_context_1 = require("../form-id-context/form-context");
38
- function usePasswordVisibility() {
39
- const inputRef = (0, react_1.useRef)(null);
40
- const [isVisible, setIsVisible] = (0, react_1.useState)(false);
41
- const timer = (0, react_1.useRef)();
42
- const visibilityChangeHandler = () => {
43
- if ((0, is_nil_1.isNil)(inputRef.current)) {
44
- return;
45
- }
46
- setIsVisible((prev) => !prev);
47
- timer.current = window.setTimeout(() => {
48
- if ((0, is_nil_1.isNil)(inputRef.current)) {
49
- return;
50
- }
51
- const newCursorPosition = inputRef.current.value.length;
52
- inputRef.current.selectionStart = newCursorPosition;
53
- inputRef.current.selectionEnd = newCursorPosition;
54
- }, 0);
55
- };
56
- (0, use_on_unmount_1.useOnUnmount)(() => clearTimeout(timer.current));
57
- return { isVisible, inputRef, onToggle: visibilityChangeHandler };
58
- }
59
- function PasswordInput(props) {
60
- var _a, _b, _c, _d, _e, _f;
61
- const formContext = (0, form_context_1.useFormContext)();
62
- const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formContext.formId}__${props.name}`;
63
- const { field, fieldState } = (0, react_hook_form_1.useController)({
64
- control: props.control,
65
- name: props.name,
66
- shouldUnregister: props.shouldUnregister,
67
- rules: {
68
- minLength: props.minLength
69
- ? {
70
- value: Number(props.minLength),
71
- message: props.minLengthMessage || `Heslo musí být nejméně ${props.minLength} znaků dlouhé.`,
72
- }
73
- : undefined,
74
- required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
75
- ...props.rules,
76
- },
77
- });
78
- const passwordVisibility = usePasswordVisibility();
79
- const inputRef = (0, compose_refs_1.composeRefs)(field.ref, passwordVisibility.inputRef);
80
- const onBlur = (event) => {
81
- var _a;
82
- field.onBlur();
83
- (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
84
- };
85
- const onChange = (value, event) => {
86
- var _a;
87
- field.onChange(value);
88
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
89
- };
90
- 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: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : 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, pattern: props.pattern, placeholder: props.placeholder, ref: inputRef, rightAddon: props.rightAddon, rightElement: (_e = (_d = props.renderVisibilitySetter) === null || _d === void 0 ? void 0 : _d.call(props, passwordVisibility.isVisible, passwordVisibility.onToggle)) !== null && _e !== void 0 ? _e : (react_1.default.createElement(button_1.Button, { onClick: passwordVisibility.onToggle, size: "sm", variant: "text" },
91
- react_1.default.createElement(icon_1.Icon, { name: passwordVisibility.isVisible ? "eye-slash" : "eye", size: 20 }))), size: props.size, style: props.style, type: passwordVisibility.isVisible ? "text" : "password", value: (_f = field.value) !== null && _f !== void 0 ? _f : "", variant: props.variant }));
92
- }
93
- PasswordInput.displayName = "UxfFormPasswordInput";
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { PasswordInput } from "./password-input";
3
- declare const _default: {
4
- title: string;
5
- component: typeof PasswordInput;
6
- };
7
- export default _default;
8
- export declare function Default(): React.JSX.Element;
@@ -1,23 +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 password_input_1 = require("./password-input");
11
- exports.default = {
12
- title: "Form/PasswordInput",
13
- component: password_input_1.PasswordInput,
14
- };
15
- function Default() {
16
- const storyFormPasswordInputs = (control) => (react_1.default.createElement("div", { className: "mb-4 space-y-4 p-4" },
17
- react_1.default.createElement(password_input_1.PasswordInput, { control: control, label: "Default input", name: "default" }),
18
- react_1.default.createElement(password_input_1.PasswordInput, { control: control, isRequired: true, label: "Min length 8", minLength: 12, name: "minLength" }),
19
- react_1.default.createElement(password_input_1.PasswordInput, { control: control, isRequired: true, label: "Required input", name: "required" }),
20
- react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
21
- return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
22
- react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormPasswordInputs(control))))));
23
- }
@@ -1 +0,0 @@
1
- export * from "./radio-group";
@@ -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("./radio-group"), exports);
@@ -1,13 +0,0 @@
1
- import { RadioGroupOptionValueId, RadioGroupProps as UIRadioGroupProps } from "@uxf/ui/radio-group";
2
- import React from "react";
3
- import { FieldValues } from "react-hook-form";
4
- import { ControlProps } from "../types";
5
- export type RadioGroupProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UIRadioGroupProps, "isFocused" | "isInvalid" | "name" | "onChange" | "value"> & {
6
- onChange?: UIRadioGroupProps["onChange"];
7
- requiredMessage?: string;
8
- };
9
- export type RadioGroupValue<T extends RadioGroupOptionValueId> = T | null;
10
- export declare function RadioGroup<FormData extends Record<string, any>>(props: RadioGroupProps<FormData>): React.JSX.Element;
11
- export declare namespace RadioGroup {
12
- var displayName: string;
13
- }
@@ -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.RadioGroup = RadioGroup;
8
- const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
9
- const radio_group_1 = require("@uxf/ui/radio-group");
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 RadioGroup(props) {
14
- var _a, _b, _c, _d;
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(radio_group_1.RadioGroup, { className: props.className, forceColumn: props.forceColumn, 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: props.options.length === 0 || formContext.isFormDisabled || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: formContext.isFormReadOnly || props.isReadOnly, isRequired: props.isRequired, label: props.label, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, radioSize: props.radioSize, ref: field.ref, style: props.style, value: (_d = field.value) !== null && _d !== void 0 ? _d : null, variant: props.variant }));
37
- }
38
- RadioGroup.displayName = "UxfFormRadioGroup";
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { RadioGroup } from "./index";
3
- declare const _default: {
4
- title: string;
5
- component: typeof RadioGroup;
6
- };
7
- export default _default;
8
- export declare function Default(): React.JSX.Element;
@@ -1,38 +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 index_1 = require("./index");
11
- exports.default = {
12
- title: "Form/RadioGroup",
13
- component: index_1.RadioGroup,
14
- };
15
- const options = [
16
- {
17
- id: "1",
18
- label: "Radio one",
19
- },
20
- {
21
- id: "2",
22
- label: "Radio two",
23
- },
24
- {
25
- id: "3",
26
- label: "Radio three-sixty",
27
- },
28
- ];
29
- function Default() {
30
- const storyFormRadioGroup = (control) => (react_1.default.createElement("div", { className: "space-y-4" },
31
- react_1.default.createElement(index_1.RadioGroup, { control: control, id: "radio-group", label: "Radio group form", name: "radio-group", options: options }),
32
- react_1.default.createElement(index_1.RadioGroup, { control: control, id: "radio-group", isDisabled: true, label: "Radio group form disabled", name: "radio-group-disabled", options: options }),
33
- react_1.default.createElement(index_1.RadioGroup, { control: control, helperText: "Choose one option", id: "radio-group", label: "Radio group form with helper text", name: "radio-group-helper-text", options: options }),
34
- react_1.default.createElement(index_1.RadioGroup, { control: control, id: "radio-group", label: "Radio group form with variant button", name: "radio-group-button", options: options, variant: "radioButton" }),
35
- react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
36
- return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
37
- react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormRadioGroup(control))))));
38
- }
package/readmes.d.ts DELETED
@@ -1,28 +0,0 @@
1
- import avatarFileInputReadme from "./avatar-file-input/README.md";
2
- export declare const readmes: {
3
- readonly "avatar-file-input": typeof avatarFileInputReadme;
4
- readonly "checkbox-button": typeof avatarFileInputReadme;
5
- readonly "checkbox-input": typeof avatarFileInputReadme;
6
- readonly "checkbox-list": typeof avatarFileInputReadme;
7
- readonly "color-radio-group": typeof avatarFileInputReadme;
8
- readonly combobox: typeof avatarFileInputReadme;
9
- readonly "date-picker-input": typeof avatarFileInputReadme;
10
- readonly "date-range-picker-input": typeof avatarFileInputReadme;
11
- readonly "datetime-picker-input": typeof avatarFileInputReadme;
12
- readonly dropzone: typeof avatarFileInputReadme;
13
- readonly "file-input": typeof avatarFileInputReadme;
14
- readonly form: typeof avatarFileInputReadme;
15
- readonly "form-renderer": typeof avatarFileInputReadme;
16
- readonly "gps-input": typeof avatarFileInputReadme;
17
- readonly "money-input": typeof avatarFileInputReadme;
18
- readonly "multi-combobox": typeof avatarFileInputReadme;
19
- readonly "multi-select": typeof avatarFileInputReadme;
20
- readonly "number-input": typeof avatarFileInputReadme;
21
- readonly "password-input": typeof avatarFileInputReadme;
22
- readonly "radio-group": typeof avatarFileInputReadme;
23
- readonly select: typeof avatarFileInputReadme;
24
- readonly "text-input": typeof avatarFileInputReadme;
25
- readonly textarea: typeof avatarFileInputReadme;
26
- readonly "time-picker-input": typeof avatarFileInputReadme;
27
- readonly toggle: typeof avatarFileInputReadme;
28
- };
package/readmes.js DELETED
@@ -1,59 +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.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
- };
package/select/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./select";