@uxf/form 11.79.0 → 11.80.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,11 +21,11 @@ const DUMMY_FILE = {
21
21
  extension: "jpg",
22
22
  };
23
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" }),
24
+ const storyFormFileInputs = (control) => (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", onUploadFile: upload_file_mock_1.uploadFile, placeholder: "Nahraj soubor" }),
26
+ react_1.default.createElement(file_input_1.FileInput, { control: control, id: "required-light", isRequired: true, label: "Required file input", name: "required", onUploadFile: upload_file_mock_1.uploadFile }),
27
+ react_1.default.createElement(file_input_1.FileInput, { control: control, isClearable: true, label: "Custom button label", name: "custom", onUploadFile: upload_file_mock_1.uploadFile, placeholder: "Nahrajte soubor", uploadButtonLabel: "Nahrajte dokument" }),
28
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"))))));
29
+ return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: { default: 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))))));
31
31
  }
@@ -1,13 +1,14 @@
1
- import { MultiSelectOption, MultiSelectProps as UIMultiSelectProps } from "@uxf/ui/multi-select";
1
+ import { SelectableId } from "@uxf/core/types";
2
+ import { MultiSelectProps as UIMultiSelectProps } from "@uxf/ui/multi-select";
2
3
  import React from "react";
3
4
  import { FieldValues } from "react-hook-form";
4
5
  import { ControlProps } from "../types";
5
- export type ComboProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UIMultiSelectProps, "isFocused" | "isInvalid" | "name" | "onChange" | "value"> & {
6
+ export type MultiSelectProps<FormData extends FieldValues> = ControlProps<FormData> & Omit<UIMultiSelectProps, "isFocused" | "isInvalid" | "name" | "onChange" | "value"> & {
6
7
  onChange?: UIMultiSelectProps["onChange"];
7
8
  requiredMessage?: string;
8
9
  };
9
- export type MultiSelectValue<Id> = MultiSelectOption<Id>[] | null;
10
- export declare function MultiSelect<FormData extends Record<string, any>>(props: ComboProps<FormData>): React.JSX.Element;
10
+ export type MultiSelectValue<T extends SelectableId> = T[] | null;
11
+ export declare function MultiSelect<FormData extends Record<string, any>>(props: MultiSelectProps<FormData>): React.JSX.Element;
11
12
  export declare namespace MultiSelect {
12
13
  var displayName: string;
13
14
  }
@@ -33,14 +33,8 @@ function Default() {
33
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
34
  react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
35
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
- ],
36
+ "multi-select-with-disabled": ["one", "two"],
37
+ "multi-select": ["one", "two"],
44
38
  "multi-select-required": [],
45
39
  } }, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
46
40
  react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormMultiSelect(control))))));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/form",
3
- "version": "11.79.0",
3
+ "version": "11.80.1",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -16,9 +16,9 @@
16
16
  },
17
17
  "license": "MIT",
18
18
  "dependencies": {
19
- "@uxf/core": "11.78.0",
20
- "@uxf/core-react": "11.78.0",
21
- "@uxf/ui": "11.79.0",
19
+ "@uxf/core": "11.80.0",
20
+ "@uxf/core-react": "11.80.0",
21
+ "@uxf/ui": "11.80.1",
22
22
  "coordinate-parser": "1.0.7",
23
23
  "dayjs": "1.11.13",
24
24
  "react-hook-form": "7.53.0"
@@ -1,8 +1,8 @@
1
1
  import React, { ReactNode } from "react";
2
- import { UseFormProps, UseFormReturn } from "react-hook-form";
3
- interface FormProps extends UseFormProps {
4
- children: (form: UseFormReturn) => ReactNode;
2
+ import { FieldValues, UseFormProps, UseFormReturn } from "react-hook-form";
3
+ interface FormProps<TFieldValues extends FieldValues> extends UseFormProps<TFieldValues> {
4
+ children: (form: UseFormReturn<TFieldValues>) => ReactNode;
5
5
  className?: string;
6
6
  }
7
- export declare function StorybookForm(props: FormProps): React.JSX.Element;
7
+ export declare function StorybookForm<TFieldValues extends FieldValues>(props: FormProps<TFieldValues>): React.JSX.Element;
8
8
  export {};
@@ -0,0 +1,14 @@
1
+ import type { TranslationsPaths } from "@uxf/core-react/translations/types";
2
+ import formTranslations from "@uxf/form/translations/translations";
3
+ import uiTranslations from "@uxf/ui/translations/translations";
4
+
5
+ type formTypes = typeof formTranslations;
6
+ type uiTypes = typeof uiTranslations;
7
+
8
+ type TranslationsKeys = TranslationsPaths<formTypes & uiTypes>;
9
+
10
+ type TypeSafeTranslate = (key: TranslationsKeys, options?: Record<string, any>) => string;
11
+
12
+ declare module "@uxf/core-react/translations" {
13
+ export function useUxfTranslation(): TypeSafeTranslate;
14
+ }