@uxf/form 11.47.0 → 11.48.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.
@@ -0,0 +1,9 @@
1
+ # CheckboxList
2
+
3
+ ## Css dependencies
4
+
5
+ ```css
6
+ @import url("@uxf/ui/checkbox-list/checkbox-list.css");
7
+ @import url("@uxf/ui/checkbox-input/checkbox-input.css");
8
+ @import url("@uxf/ui/checkbox/checkbox.css");
9
+ ```
@@ -0,0 +1,18 @@
1
+ import { CheckboxInputProps as UICheckboxInputProps } from "@uxf/ui/checkbox-input";
2
+ import { FormControlProps } from "@uxf/ui/types";
3
+ import React, { ReactNode } from "react";
4
+ import { FieldValues, UseControllerProps } from "react-hook-form";
5
+ type ValueType = string | number;
6
+ export type CheckboxListOption = {
7
+ id: ValueType;
8
+ label: ReactNode;
9
+ isDisabled?: boolean;
10
+ };
11
+ export type CheckboxListValue = ValueType[] | null;
12
+ type Props<FormData extends FieldValues> = UseControllerProps<FormData> & Omit<UICheckboxInputProps, "isInvalid" | "name" | "onChange" | "value"> & {
13
+ onChange?: FormControlProps<CheckboxListValue>["onChange"];
14
+ options: CheckboxListOption[];
15
+ requiredMessage?: string;
16
+ };
17
+ export declare function CheckboxList<FormData extends FieldValues>(props: Props<FormData>): React.JSX.Element;
18
+ export {};
@@ -0,0 +1,37 @@
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.CheckboxList = CheckboxList;
7
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
8
+ const form_id_context_1 = require("@uxf/form/form-id-context");
9
+ const checkbox_list_1 = require("@uxf/ui/checkbox-list");
10
+ const react_1 = __importDefault(require("react"));
11
+ const react_hook_form_1 = require("react-hook-form");
12
+ function CheckboxList(props) {
13
+ var _a, _b, _c, _d;
14
+ const formId = (0, form_id_context_1.useFormIdContext)();
15
+ const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
16
+ const { field, fieldState } = (0, react_hook_form_1.useController)({
17
+ control: props.control,
18
+ defaultValue: props.defaultValue,
19
+ name: props.name,
20
+ rules: {
21
+ required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
22
+ ...((_b = props.rules) !== null && _b !== void 0 ? _b : {}),
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(checkbox_list_1.CheckboxList, { className: props.className, hasHiddenLabel: props.hiddenLabel, helperText: (_d = (_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : props.helperText, id: id, isDisabled: props.isDisabled, isFocused: props.isFocused, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, name: props.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, value: field.value }));
37
+ }
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,22 @@
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 checkbox_list_1 = require("./checkbox-list");
11
+ const CHECKBOX_LIST_OPTIONS = [
12
+ { id: "1", label: "Option1" },
13
+ { id: "2", label: "Option2" },
14
+ { id: "3", label: "Option3" },
15
+ ];
16
+ function Default() {
17
+ return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "space-y-2 p-20" },
18
+ react_1.default.createElement(checkbox_list_1.CheckboxList, { control: control, label: "CheckboxList default", name: "checkboxList1", options: CHECKBOX_LIST_OPTIONS }),
19
+ react_1.default.createElement(checkbox_list_1.CheckboxList, { control: control, isRequired: true, label: "CheckboxList required", name: "checkboxList2", options: CHECKBOX_LIST_OPTIONS }),
20
+ react_1.default.createElement(checkbox_list_1.CheckboxList, { control: control, hiddenLabel: true, label: "CheckboxList with hidden label", name: "checkboxList3", options: CHECKBOX_LIST_OPTIONS }),
21
+ react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")))));
22
+ }
@@ -0,0 +1 @@
1
+ export * from "./checkbox-list";
@@ -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("./checkbox-list"), exports);
package/components.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as avatarFileInputStories from "./avatar-file-input/avatar-file-input.stories";
2
2
  import * as checkboxButtonStories from "./checkbox-button/checkbox-button.stories";
3
3
  import * as checkboxInputStories from "./checkbox-input/checkbox-input.stories";
4
+ import * as checkboxListStories from "./checkbox-list/checkbox-list.stories";
4
5
  import * as colorRadioGroupStories from "./color-radio-group/color-radio-group.stories";
5
6
  import * as comboboxStories from "./combobox/combobox.stories";
6
7
  import * as datePickerInputStories from "./date-picker-input/date-picker-input.stories";
@@ -34,6 +35,10 @@ export declare const components: {
34
35
  readonly title: "CheckboxInput";
35
36
  readonly stories: typeof checkboxInputStories;
36
37
  };
38
+ readonly "checkbox-list": {
39
+ readonly title: "CheckboxList";
40
+ readonly stories: typeof checkboxListStories;
41
+ };
37
42
  readonly "color-radio-group": {
38
43
  readonly title: "ColorRadioGroup";
39
44
  readonly stories: typeof colorRadioGroupStories;
package/components.js CHANGED
@@ -28,6 +28,7 @@ exports.components = void 0;
28
28
  const avatarFileInputStories = __importStar(require("./avatar-file-input/avatar-file-input.stories"));
29
29
  const checkboxButtonStories = __importStar(require("./checkbox-button/checkbox-button.stories"));
30
30
  const checkboxInputStories = __importStar(require("./checkbox-input/checkbox-input.stories"));
31
+ const checkboxListStories = __importStar(require("./checkbox-list/checkbox-list.stories"));
31
32
  const colorRadioGroupStories = __importStar(require("./color-radio-group/color-radio-group.stories"));
32
33
  const comboboxStories = __importStar(require("./combobox/combobox.stories"));
33
34
  const datePickerInputStories = __importStar(require("./date-picker-input/date-picker-input.stories"));
@@ -61,6 +62,10 @@ exports.components = {
61
62
  title: "CheckboxInput",
62
63
  stories: checkboxInputStories
63
64
  },
65
+ "checkbox-list": {
66
+ title: "CheckboxList",
67
+ stories: checkboxListStories
68
+ },
64
69
  "color-radio-group": {
65
70
  title: "ColorRadioGroup",
66
71
  stories: colorRadioGroupStories
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/form",
3
- "version": "11.47.0",
3
+ "version": "11.48.0",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "license": "MIT",
17
17
  "dependencies": {
18
- "@uxf/ui": "11.47.0",
18
+ "@uxf/ui": "11.48.0",
19
19
  "coordinate-parser": "1.0.7",
20
20
  "dayjs": "1.11.13",
21
21
  "react-hook-form": "7.53.0"
package/readmes.d.ts CHANGED
@@ -3,6 +3,7 @@ export declare const readmes: {
3
3
  readonly "avatar-file-input": typeof avatarFileInputReadme;
4
4
  readonly "checkbox-button": typeof avatarFileInputReadme;
5
5
  readonly "checkbox-input": typeof avatarFileInputReadme;
6
+ readonly "checkbox-list": typeof avatarFileInputReadme;
6
7
  readonly "color-radio-group": typeof avatarFileInputReadme;
7
8
  readonly combobox: typeof avatarFileInputReadme;
8
9
  readonly "date-picker-input": typeof avatarFileInputReadme;
package/readmes.js CHANGED
@@ -8,48 +8,50 @@ exports.readmes = void 0;
8
8
  const README_md_1 = __importDefault(require("./avatar-file-input/README.md"));
9
9
  const README_md_2 = __importDefault(require("./checkbox-button/README.md"));
10
10
  const README_md_3 = __importDefault(require("./checkbox-input/README.md"));
11
- const README_md_4 = __importDefault(require("./color-radio-group/README.md"));
12
- const README_md_5 = __importDefault(require("./combobox/README.md"));
13
- const README_md_6 = __importDefault(require("./date-picker-input/README.md"));
14
- const README_md_7 = __importDefault(require("./date-range-picker-input/README.md"));
15
- const README_md_8 = __importDefault(require("./datetime-picker-input/README.md"));
16
- const README_md_9 = __importDefault(require("./dropzone/README.md"));
17
- const README_md_10 = __importDefault(require("./file-input/README.md"));
18
- const README_md_11 = __importDefault(require("./form/README.md"));
19
- const README_md_12 = __importDefault(require("./gps-input/README.md"));
20
- const README_md_13 = __importDefault(require("./money-input/README.md"));
21
- const README_md_14 = __importDefault(require("./multi-combobox/README.md"));
22
- const README_md_15 = __importDefault(require("./multi-select/README.md"));
23
- const README_md_16 = __importDefault(require("./number-input/README.md"));
24
- const README_md_17 = __importDefault(require("./password-input/README.md"));
25
- const README_md_18 = __importDefault(require("./radio-group/README.md"));
26
- const README_md_19 = __importDefault(require("./select/README.md"));
27
- const README_md_20 = __importDefault(require("./text-input/README.md"));
28
- const README_md_21 = __importDefault(require("./textarea/README.md"));
29
- const README_md_22 = __importDefault(require("./time-picker-input/README.md"));
30
- const README_md_23 = __importDefault(require("./toggle/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("./gps-input/README.md"));
21
+ const README_md_14 = __importDefault(require("./money-input/README.md"));
22
+ const README_md_15 = __importDefault(require("./multi-combobox/README.md"));
23
+ const README_md_16 = __importDefault(require("./multi-select/README.md"));
24
+ const README_md_17 = __importDefault(require("./number-input/README.md"));
25
+ const README_md_18 = __importDefault(require("./password-input/README.md"));
26
+ const README_md_19 = __importDefault(require("./radio-group/README.md"));
27
+ const README_md_20 = __importDefault(require("./select/README.md"));
28
+ const README_md_21 = __importDefault(require("./text-input/README.md"));
29
+ const README_md_22 = __importDefault(require("./textarea/README.md"));
30
+ const README_md_23 = __importDefault(require("./time-picker-input/README.md"));
31
+ const README_md_24 = __importDefault(require("./toggle/README.md"));
31
32
  exports.readmes = {
32
33
  "avatar-file-input": README_md_1.default,
33
34
  "checkbox-button": README_md_2.default,
34
35
  "checkbox-input": README_md_3.default,
35
- "color-radio-group": README_md_4.default,
36
- "combobox": README_md_5.default,
37
- "date-picker-input": README_md_6.default,
38
- "date-range-picker-input": README_md_7.default,
39
- "datetime-picker-input": README_md_8.default,
40
- "dropzone": README_md_9.default,
41
- "file-input": README_md_10.default,
42
- "form": README_md_11.default,
43
- "gps-input": README_md_12.default,
44
- "money-input": README_md_13.default,
45
- "multi-combobox": README_md_14.default,
46
- "multi-select": README_md_15.default,
47
- "number-input": README_md_16.default,
48
- "password-input": README_md_17.default,
49
- "radio-group": README_md_18.default,
50
- "select": README_md_19.default,
51
- "text-input": README_md_20.default,
52
- "textarea": README_md_21.default,
53
- "time-picker-input": README_md_22.default,
54
- "toggle": README_md_23.default,
36
+ "checkbox-list": README_md_4.default,
37
+ "color-radio-group": README_md_5.default,
38
+ "combobox": README_md_6.default,
39
+ "date-picker-input": README_md_7.default,
40
+ "date-range-picker-input": README_md_8.default,
41
+ "datetime-picker-input": README_md_9.default,
42
+ "dropzone": README_md_10.default,
43
+ "file-input": README_md_11.default,
44
+ "form": README_md_12.default,
45
+ "gps-input": README_md_13.default,
46
+ "money-input": README_md_14.default,
47
+ "multi-combobox": README_md_15.default,
48
+ "multi-select": README_md_16.default,
49
+ "number-input": README_md_17.default,
50
+ "password-input": README_md_18.default,
51
+ "radio-group": README_md_19.default,
52
+ "select": README_md_20.default,
53
+ "text-input": README_md_21.default,
54
+ "textarea": README_md_22.default,
55
+ "time-picker-input": README_md_23.default,
56
+ "toggle": README_md_24.default,
55
57
  };