@ttoss/forms 0.35.1 → 0.35.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttoss/forms",
3
- "version": "0.35.1",
3
+ "version": "0.35.3",
4
4
  "license": "MIT",
5
5
  "author": "ttoss",
6
6
  "contributors": [
@@ -39,23 +39,25 @@
39
39
  },
40
40
  "peerDependencies": {
41
41
  "react": ">=16.8.0",
42
- "@ttoss/react-i18n": "^2.0.24",
43
- "@ttoss/ui": "^6.0.4"
42
+ "@ttoss/components": "^2.10.2",
43
+ "@ttoss/react-i18n": "^2.0.25",
44
+ "@ttoss/ui": "^6.1.0"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@types/jest": "^30.0.0",
47
- "@types/react": "^19.2.6",
48
+ "@types/react": "^19.2.7",
48
49
  "jest": "^30.2.0",
49
- "react": "^19.2.0",
50
+ "react": "^19.2.1",
50
51
  "react-error-boundary": "^6.0.0",
51
52
  "tsup": "^8.5.1",
52
53
  "yup": "^1.7.1",
54
+ "@ttoss/components": "^2.10.2",
53
55
  "@ttoss/config": "^1.35.12",
54
- "@ttoss/react-icons": "^0.5.5",
55
- "@ttoss/test-utils": "^4.0.1",
56
- "@ttoss/react-i18n": "^2.0.24",
57
- "@ttoss/ui": "^6.0.4",
58
- "@ttoss/i18n-cli": "^0.7.38"
56
+ "@ttoss/i18n-cli": "^0.7.38",
57
+ "@ttoss/react-i18n": "^2.0.25",
58
+ "@ttoss/react-icons": "^0.5.6",
59
+ "@ttoss/test-utils": "^4.0.2",
60
+ "@ttoss/ui": "^6.1.0"
59
61
  },
60
62
  "publishConfig": {
61
63
  "access": "public",
@@ -1,25 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { FieldValues, FieldPath } from 'react-hook-form';
3
- import { a as FormFieldPatternFormatProps, F as FormFieldProps } from '../FormFieldPatternFormat-D5CI6eUA.js';
4
- import { PatternFormatProps, NumberFormatBaseProps } from 'react-number-format';
5
- import '@ttoss/ui';
6
- import 'react';
7
-
8
- type FormFieldCEPProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Omit<FormFieldPatternFormatProps<TFieldValues, TName>, 'format'>;
9
- declare const FormFieldCEP: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ placeholder, ...formFieldPatternFormatProps }: FormFieldCEPProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
10
-
11
- type FormFieldCNPJProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<PatternFormatProps, 'name' | 'format'>;
12
- declare const isCnpjValid: (cnpj: any) => boolean;
13
- declare const FormFieldCNPJ: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldCNPJProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
14
-
15
- type FormFieldCPFProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<PatternFormatProps, 'name' | 'format'>;
16
- declare const isCpfValid: (cpf: any) => boolean;
17
- declare const FormFieldCPF: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldCPFProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
18
-
19
- type FormFieldCPFOrCNPJProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<NumberFormatBaseProps, 'name' | 'format'>;
20
- declare const FormFieldCPFOrCNPJ: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldCPFOrCNPJProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
21
-
22
- type FormFieldPhoneProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<PatternFormatProps, 'name' | 'format'>;
23
- declare const FormFieldPhone: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldPhoneProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
24
-
25
- export { FormFieldCEP, FormFieldCNPJ, FormFieldCPF, FormFieldCPFOrCNPJ, FormFieldPhone, isCnpjValid, isCpfValid };
@@ -1,59 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { TooltipProps, SxProp, InputProps } from '@ttoss/ui';
3
- import { FieldValues, FieldPath, RegisterOptions, FieldPathValue, UseControllerReturn } from 'react-hook-form';
4
- import { PatternFormatProps } from 'react-number-format';
5
- import * as React from 'react';
6
-
7
- type AuxiliaryCheckboxRules<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs' | 'disabled'>;
8
- /**
9
- * Props for the AuxiliaryCheckbox component.
10
- */
11
- type AuxiliaryCheckboxProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
12
- /**
13
- * The label to display next to the checkbox.
14
- */
15
- label: React.ReactNode;
16
- /**
17
- * The name of the checkbox field in the form.
18
- */
19
- name: TName;
20
- /**
21
- * The default value of the checkbox.
22
- * @default false
23
- */
24
- defaultValue?: boolean;
25
- /**
26
- * Validation rules for the checkbox field.
27
- */
28
- rules?: AuxiliaryCheckboxRules<TFieldValues, TName>;
29
- /**
30
- * Whether the checkbox is disabled.
31
- */
32
- disabled?: boolean;
33
- };
34
-
35
- type Rules<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs' | 'disabled'>;
36
- type FormFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
37
- label?: React.ReactNode;
38
- id?: string;
39
- name: TName;
40
- defaultValue?: FieldPathValue<TFieldValues, TName>;
41
- disabled?: boolean;
42
- labelTooltip?: TooltipProps;
43
- warning?: string | React.ReactNode;
44
- rules?: Rules<TFieldValues, TName>;
45
- /**
46
- * Optional auxiliary checkbox to render between the field and error message.
47
- * Useful for input confirmation or conditional display of other fields.
48
- */
49
- auxiliaryCheckbox?: Omit<AuxiliaryCheckboxProps<TFieldValues, FieldPath<TFieldValues>>, 'disabled'>;
50
- } & SxProp;
51
- type FormFieldCompleteProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
52
- render: (props: UseControllerReturn<TFieldValues, TName>) => React.ReactElement;
53
- } & FormFieldProps<TFieldValues, TName>;
54
- declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ label, id: idProp, name, defaultValue, disabled: propsDisabled, labelTooltip, sx, css, render, warning, rules, auxiliaryCheckbox, }: FormFieldCompleteProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
55
-
56
- type FormFieldPatternFormatProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<PatternFormatProps, 'name'> & Pick<InputProps, 'leadingIcon' | 'trailingIcon'>;
57
- declare const FormFieldPatternFormat: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldPatternFormatProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
58
-
59
- export { type FormFieldProps as F, type FormFieldPatternFormatProps as a, FormField as b, FormFieldPatternFormat as c };
@@ -1,65 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as React from 'react';
3
- import '../typings.d-BZ6kUiQ4.js';
4
- import * as yup from 'yup';
5
- import { IconType } from '@ttoss/react-icons';
6
-
7
- type MultistepFlowMessageVariant = 'image-text' | 'heading-and-subheading';
8
- type MultistepFlowMessageBase = {
9
- variant: MultistepFlowMessageVariant;
10
- };
11
-
12
- type MultistepFlowMessageImageTextProps = MultistepFlowMessageBase & {
13
- variant: 'image-text';
14
- src: string;
15
- description: string | React.ReactNode;
16
- };
17
-
18
- type MultistepFlowMessageProps = MultistepFlowMessageImageTextProps;
19
-
20
- type MultistepFormStepperProps = {
21
- flowMessage: MultistepFlowMessageProps;
22
- onSubmit: (data: unknown) => void;
23
- question: string;
24
- isLastStep: boolean;
25
- fields: React.ReactNode | React.ReactNode[];
26
- schema?: yup.ObjectSchema<any>;
27
- defaultValues?: any;
28
- submitLabel: string;
29
- stepNumber: number;
30
- };
31
-
32
- type MultistepHeaderTitledProps = {
33
- variant: 'titled';
34
- title: string;
35
- leftIcon: IconType;
36
- rightIcon: IconType;
37
- onLeftIconClick: () => void;
38
- onRightIconClick: () => void;
39
- };
40
- type MultistepHeaderLogoProps = {
41
- variant: 'logo';
42
- src: string;
43
- onClose?: () => void;
44
- };
45
- type MultistepHeaderProps = MultistepHeaderLogoProps | MultistepHeaderTitledProps;
46
-
47
- type MultistepStep = {
48
- question: string;
49
- flowMessage: MultistepFlowMessageProps;
50
- label: string;
51
- fields: React.ReactNode | React.ReactNode[];
52
- schema?: MultistepFormStepperProps['schema'];
53
- defaultValues?: MultistepFormStepperProps['defaultValues'];
54
- };
55
- type MultistepFormProps<FormValues = unknown> = {
56
- header: MultistepHeaderProps;
57
- steps: MultistepStep[];
58
- footer?: string;
59
- onSubmit: (data: FormValues) => void;
60
- nextStepButtonLabel?: string;
61
- submitButtonLabel?: string;
62
- };
63
- declare const MultistepForm: ({ nextStepButtonLabel, submitButtonLabel, ...props }: MultistepFormProps) => react_jsx_runtime.JSX.Element;
64
-
65
- export { MultistepForm, type MultistepFormProps };
@@ -1,128 +0,0 @@
1
- /** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
2
- import * as React from 'react';
3
- import { FormField, FormFieldCNPJ, FormFieldCPF, FormFieldPatternFormat, __name, isCnpjValid, isCpfValid } from "../chunk-QJQFXN4B.js";
4
-
5
- // src/Brazil/FormFieldCEP.tsx
6
- var FormFieldCEP = /* @__PURE__ */__name(({
7
- placeholder = "12345-678",
8
- ...formFieldPatternFormatProps
9
- }) => {
10
- return /* @__PURE__ */React.createElement(FormFieldPatternFormat, {
11
- format: "#####-###",
12
- placeholder,
13
- ...formFieldPatternFormatProps
14
- });
15
- }, "FormFieldCEP");
16
-
17
- // src/Brazil/FormFieldCPFOrCNPJ.tsx
18
- import { Input } from "@ttoss/ui";
19
- import { NumberFormatBase } from "react-number-format";
20
- var formatCPFOrCNPJ = /* @__PURE__ */__name(value => {
21
- const numericValue = value.replace(/\D/g, "");
22
- if (numericValue.length <= 11) {
23
- return numericValue.replace(/(\d{3})(\d)/, "$1.$2").replace(/(\d{3})(\d)/, "$1.$2").replace(/(\d{3})(\d{1,2})$/, "$1-$2");
24
- } else {
25
- return numericValue.substring(0, 14).replace(/(\d{2})(\d)/, "$1.$2").replace(/(\d{3})(\d)/, "$1.$2").replace(/(\d{3})(\d)/, "$1/$2").replace(/(\d{4})(\d{1,2})$/, "$1-$2");
26
- }
27
- }, "formatCPFOrCNPJ");
28
- var FormFieldCPFOrCNPJ = /* @__PURE__ */__name(({
29
- disabled,
30
- ...props
31
- }) => {
32
- const {
33
- label,
34
- name,
35
- labelTooltip,
36
- warning,
37
- sx,
38
- css,
39
- rules,
40
- id,
41
- defaultValue,
42
- placeholder = "123.456.789-00 or 12.345.678/0000-00",
43
- ...formatProps
44
- } = props;
45
- return /* @__PURE__ */React.createElement(FormField, {
46
- id,
47
- label,
48
- name,
49
- labelTooltip,
50
- warning,
51
- sx,
52
- css,
53
- defaultValue,
54
- rules,
55
- disabled,
56
- render: /* @__PURE__ */__name(({
57
- field
58
- }) => {
59
- return /* @__PURE__ */React.createElement(NumberFormatBase, {
60
- ...formatProps,
61
- value: field.value,
62
- onBlur: field.onBlur,
63
- onValueChange: /* @__PURE__ */__name(values => {
64
- field.onChange(values.value);
65
- }, "onValueChange"),
66
- format: formatCPFOrCNPJ,
67
- customInput: Input,
68
- placeholder,
69
- disabled: disabled ?? field.disabled
70
- });
71
- }, "render")
72
- });
73
- }, "FormFieldCPFOrCNPJ");
74
-
75
- // src/Brazil/FormFieldPhone.tsx
76
- import { Input as Input2 } from "@ttoss/ui";
77
- import { PatternFormat } from "react-number-format";
78
- var FormFieldPhone = /* @__PURE__ */__name(({
79
- disabled,
80
- ...props
81
- }) => {
82
- const {
83
- label,
84
- name,
85
- labelTooltip,
86
- warning,
87
- sx,
88
- css,
89
- rules,
90
- id,
91
- defaultValue,
92
- placeholder = "(11) 91234-1234",
93
- auxiliaryCheckbox,
94
- ...patternFormatProps
95
- } = props;
96
- return /* @__PURE__ */React.createElement(FormField, {
97
- id,
98
- label,
99
- name,
100
- labelTooltip,
101
- warning,
102
- sx,
103
- css,
104
- defaultValue,
105
- rules,
106
- disabled,
107
- auxiliaryCheckbox,
108
- render: /* @__PURE__ */__name(({
109
- field
110
- }) => {
111
- const format = field.value?.length > 10 ? "(##) #####-####" : "(##) ####-#####";
112
- return /* @__PURE__ */React.createElement(PatternFormat, {
113
- ...patternFormatProps,
114
- name: field.name,
115
- value: field.value,
116
- onBlur: field.onBlur,
117
- onValueChange: /* @__PURE__ */__name(values => {
118
- field.onChange(values.value);
119
- }, "onValueChange"),
120
- format,
121
- customInput: Input2,
122
- placeholder,
123
- disabled: disabled ?? field.disabled
124
- });
125
- }, "render")
126
- });
127
- }, "FormFieldPhone");
128
- export { FormFieldCEP, FormFieldCNPJ, FormFieldCPF, FormFieldCPFOrCNPJ, FormFieldPhone, isCnpjValid, isCpfValid };