@ttoss/forms 0.32.7 → 0.32.8

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/README.md CHANGED
@@ -232,7 +232,6 @@ All form field components share common props:
232
232
  - `disabled`: Disables the field
233
233
  - `defaultValue`: Initial field value
234
234
  - `tooltip`: Label tooltip configuration
235
- - `inputTooltip`: Input field tooltip configuration
236
235
  - `warning`: Warning message displayed below the field
237
236
  - `sx`: Theme-UI styling object
238
237
 
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { FieldValues, FieldPath } from 'react-hook-form';
3
3
  import { PatternFormatProps } from 'react-number-format';
4
- import { F as FormFieldProps, a as FormFieldPatternFormatProps } from '../FormFieldPatternFormat-SKHmLjAO.js';
4
+ import { F as FormFieldProps, a as FormFieldPatternFormatProps } from '../FormFieldPatternFormat-CMYof3db.js';
5
5
  import '@ttoss/ui';
6
6
  import 'react';
7
7
 
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { FieldValues, FieldPath, UseControllerReturn, FieldPathValue, RegisterOptions } from 'react-hook-form';
3
3
  import { PatternFormatProps } from 'react-number-format';
4
- import { ThemeUIStyleObject, Theme, SxProp } from '@ttoss/ui';
4
+ import { TooltipProps, SxProp } from '@ttoss/ui';
5
5
  import * as React from 'react';
6
6
 
7
7
  type Rules<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Omit<RegisterOptions<TFieldValues, TName>, 'valueAsNumber' | 'valueAsDate' | 'setValueAs' | 'disabled'>;
@@ -11,27 +11,14 @@ type FormFieldProps<TFieldValues extends FieldValues = FieldValues, TName extend
11
11
  name: TName;
12
12
  defaultValue?: FieldPathValue<TFieldValues, TName>;
13
13
  disabled?: boolean;
14
- tooltip?: {
15
- render: string | React.ReactNode;
16
- place: 'top';
17
- openOnClick?: boolean;
18
- clickable?: boolean;
19
- };
20
- inputTooltip?: {
21
- render: string | React.ReactNode;
22
- place: 'bottom' | 'top' | 'left' | 'right';
23
- openOnClick?: boolean;
24
- clickable?: boolean;
25
- variant?: 'info' | 'warning' | 'success' | 'error';
26
- sx?: ThemeUIStyleObject<Theme>;
27
- };
14
+ tooltip?: TooltipProps;
28
15
  warning?: string | React.ReactNode;
29
16
  rules?: Rules<TFieldValues, TName>;
30
17
  } & SxProp;
31
18
  type FormFieldCompleteProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
32
19
  render: (props: UseControllerReturn<TFieldValues, TName>) => React.ReactElement;
33
20
  } & FormFieldProps<TFieldValues, TName>;
34
- declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ label, id: idProp, name, defaultValue, disabled: propsDisabled, tooltip, inputTooltip, sx, css, render, warning, rules, }: FormFieldCompleteProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
21
+ declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ label, id: idProp, name, defaultValue, disabled: propsDisabled, tooltip, sx, css, render, warning, rules, }: FormFieldCompleteProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
35
22
 
36
23
  type FormFieldPatternFormatProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<PatternFormatProps, 'name'>;
37
24
  declare const FormFieldPatternFormat: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldPatternFormatProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  /** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
2
2
  import * as React from 'react';
3
- import { FormField, FormFieldCNPJ, FormFieldPatternFormat, __name, isCnpjValid } from "../chunk-A5YD5USY.js";
3
+ import { FormField, FormFieldCNPJ, FormFieldPatternFormat, __name, isCnpjValid } from "../chunk-VOT2YVQW.js";
4
4
 
5
5
  // src/Brazil/FormFieldPhone.tsx
6
6
  import { Input } from "@ttoss/ui";
@@ -13,7 +13,6 @@ var FormFieldPhone = /* @__PURE__ */__name(({
13
13
  label,
14
14
  name,
15
15
  tooltip,
16
- inputTooltip,
17
16
  warning,
18
17
  sx,
19
18
  css,
@@ -28,7 +27,6 @@ var FormFieldPhone = /* @__PURE__ */__name(({
28
27
  label,
29
28
  name,
30
29
  tooltip,
31
- inputTooltip,
32
30
  warning,
33
31
  sx,
34
32
  css,
@@ -1,7 +1,7 @@
1
1
  /** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
2
2
  import * as React from 'react';
3
- import { Form, useForm, yupResolver } from "../chunk-474RNBAE.js";
4
- import { __name } from "../chunk-A5YD5USY.js";
3
+ import { Form, useForm, yupResolver } from "../chunk-3RZVOUP4.js";
4
+ import { __name } from "../chunk-VOT2YVQW.js";
5
5
 
6
6
  // src/MultistepForm/MultistepForm.tsx
7
7
  import { Flex as Flex6 } from "@ttoss/ui";
@@ -1,6 +1,6 @@
1
1
  /** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
2
2
  import * as React from 'react';
3
- import { FormErrorMessage, FormField, FormFieldPatternFormat, __name, isCnpjValid } from "./chunk-A5YD5USY.js";
3
+ import { FormErrorMessage, FormField, FormFieldPatternFormat, __name, isCnpjValid } from "./chunk-VOT2YVQW.js";
4
4
 
5
5
  // src/Form.tsx
6
6
  import { Box } from "@ttoss/ui";
@@ -33,7 +33,6 @@ var FormFieldCheckbox = /* @__PURE__ */__name(({
33
33
  label,
34
34
  name,
35
35
  tooltip,
36
- inputTooltip,
37
36
  warning,
38
37
  sx,
39
38
  css,
@@ -46,7 +45,6 @@ var FormFieldCheckbox = /* @__PURE__ */__name(({
46
45
  label,
47
46
  name,
48
47
  tooltip,
49
- inputTooltip,
50
48
  warning,
51
49
  sx,
52
50
  css,
@@ -99,7 +97,6 @@ var FormFieldNumericFormat = /* @__PURE__ */__name(({
99
97
  label,
100
98
  name,
101
99
  tooltip,
102
- inputTooltip,
103
100
  warning,
104
101
  sx,
105
102
  css,
@@ -113,7 +110,6 @@ var FormFieldNumericFormat = /* @__PURE__ */__name(({
113
110
  label,
114
111
  name,
115
112
  tooltip,
116
- inputTooltip,
117
113
  warning,
118
114
  sx,
119
115
  css,
@@ -189,7 +185,6 @@ var FormFieldInput = /* @__PURE__ */__name(({
189
185
  label,
190
186
  name,
191
187
  tooltip,
192
- inputTooltip,
193
188
  warning,
194
189
  sx,
195
190
  css,
@@ -202,7 +197,6 @@ var FormFieldInput = /* @__PURE__ */__name(({
202
197
  label,
203
198
  name,
204
199
  tooltip,
205
- inputTooltip,
206
200
  warning,
207
201
  sx,
208
202
  css,
@@ -234,7 +228,6 @@ var FormFieldPassword = /* @__PURE__ */__name(({
234
228
  label,
235
229
  name,
236
230
  tooltip,
237
- inputTooltip,
238
231
  warning,
239
232
  sx,
240
233
  css,
@@ -247,7 +240,6 @@ var FormFieldPassword = /* @__PURE__ */__name(({
247
240
  label,
248
241
  name,
249
242
  tooltip,
250
- inputTooltip,
251
243
  warning,
252
244
  sx,
253
245
  css,
@@ -279,7 +271,6 @@ var FormFieldRadio = /* @__PURE__ */__name(({
279
271
  label,
280
272
  name,
281
273
  tooltip,
282
- inputTooltip,
283
274
  warning,
284
275
  sx,
285
276
  css,
@@ -293,7 +284,6 @@ var FormFieldRadio = /* @__PURE__ */__name(({
293
284
  label,
294
285
  name,
295
286
  tooltip,
296
- inputTooltip,
297
287
  warning,
298
288
  sx,
299
289
  css,
@@ -340,7 +330,6 @@ var FormFieldRadioCard = /* @__PURE__ */__name(({
340
330
  label,
341
331
  name,
342
332
  tooltip,
343
- inputTooltip,
344
333
  warning,
345
334
  sx,
346
335
  css,
@@ -357,7 +346,6 @@ var FormFieldRadioCard = /* @__PURE__ */__name(({
357
346
  label,
358
347
  name,
359
348
  tooltip,
360
- inputTooltip,
361
349
  warning,
362
350
  sx,
363
351
  css,
@@ -424,7 +412,6 @@ var FormFieldRadioCardIcony = /* @__PURE__ */__name(({
424
412
  label,
425
413
  name,
426
414
  tooltip,
427
- inputTooltip,
428
415
  warning,
429
416
  sx,
430
417
  css,
@@ -440,7 +427,6 @@ var FormFieldRadioCardIcony = /* @__PURE__ */__name(({
440
427
  label,
441
428
  name,
442
429
  tooltip,
443
- inputTooltip,
444
430
  warning,
445
431
  sx,
446
432
  css,
@@ -535,7 +521,6 @@ var FormFieldSelect = /* @__PURE__ */__name(({
535
521
  label,
536
522
  name,
537
523
  tooltip,
538
- inputTooltip,
539
524
  warning,
540
525
  sx,
541
526
  css,
@@ -549,7 +534,6 @@ var FormFieldSelect = /* @__PURE__ */__name(({
549
534
  label,
550
535
  name,
551
536
  tooltip,
552
- inputTooltip,
553
537
  warning,
554
538
  sx,
555
539
  css,
@@ -580,7 +564,6 @@ var FormFieldSwitch = /* @__PURE__ */__name(({
580
564
  label,
581
565
  name,
582
566
  tooltip,
583
- inputTooltip,
584
567
  warning,
585
568
  sx,
586
569
  css,
@@ -594,7 +577,6 @@ var FormFieldSwitch = /* @__PURE__ */__name(({
594
577
  label,
595
578
  name,
596
579
  tooltip,
597
- inputTooltip,
598
580
  warning,
599
581
  sx,
600
582
  css,
@@ -626,7 +608,6 @@ var FormFieldTextarea = /* @__PURE__ */__name(({
626
608
  label,
627
609
  name,
628
610
  tooltip,
629
- inputTooltip,
630
611
  warning,
631
612
  sx,
632
613
  css,
@@ -639,7 +620,6 @@ var FormFieldTextarea = /* @__PURE__ */__name(({
639
620
  label,
640
621
  name,
641
622
  tooltip,
642
- inputTooltip,
643
623
  warning,
644
624
  sx,
645
625
  css,
@@ -46,7 +46,7 @@ var FormErrorMessage = /* @__PURE__ */__name(({
46
46
  }, "FormErrorMessage");
47
47
 
48
48
  // src/FormField.tsx
49
- import { Checkbox, Flex, Label, Switch, Tooltip } from "@ttoss/ui";
49
+ import { Checkbox, Flex, Label, Switch } from "@ttoss/ui";
50
50
  import * as React2 from "react";
51
51
  import { useController, useFormContext as useFormContext2 } from "react-hook-form";
52
52
  var FormField = /* @__PURE__ */__name(({
@@ -56,7 +56,6 @@ var FormField = /* @__PURE__ */__name(({
56
56
  defaultValue,
57
57
  disabled: propsDisabled,
58
58
  tooltip,
59
- inputTooltip,
60
59
  sx,
61
60
  css,
62
61
  render,
@@ -77,63 +76,6 @@ var FormField = /* @__PURE__ */__name(({
77
76
  const hasError = !!errors[name];
78
77
  const uniqueId = React2.useId();
79
78
  const id = idProp || `form-field-${name}-${uniqueId}`;
80
- const tooltipId = `${id}-tooltip`;
81
- const [showInputTooltip, setShowInputTooltip] = React2.useState(false);
82
- const inputRef = React2.useRef(null);
83
- const handleClickOutside = React2.useCallback(event => {
84
- if (inputRef.current && !inputRef.current.contains(event.target)) {
85
- setShowInputTooltip(false);
86
- }
87
- }, []);
88
- const handleEscapeKey = React2.useCallback(event => {
89
- if (event.key === "Escape") {
90
- setShowInputTooltip(false);
91
- }
92
- }, []);
93
- React2.useEffect(() => {
94
- if (!inputTooltip || !showInputTooltip) {
95
- return;
96
- }
97
- document.addEventListener("mousedown", handleClickOutside);
98
- document.addEventListener("keydown", handleEscapeKey);
99
- return () => {
100
- document.removeEventListener("mousedown", handleClickOutside);
101
- document.removeEventListener("keydown", handleEscapeKey);
102
- };
103
- }, [showInputTooltip, inputTooltip, handleClickOutside, handleEscapeKey]);
104
- const handleInputClick = React2.useCallback(() => {
105
- if (inputTooltip) {
106
- setShowInputTooltip(true);
107
- }
108
- }, [inputTooltip]);
109
- const handleInputFocus = React2.useCallback(() => {
110
- if (inputTooltip && !inputTooltip.openOnClick) {
111
- setShowInputTooltip(true);
112
- }
113
- }, [inputTooltip]);
114
- const handleInputBlur = React2.useCallback(() => {
115
- if (inputTooltip && !inputTooltip.openOnClick) {
116
- setShowInputTooltip(false);
117
- }
118
- }, [inputTooltip]);
119
- const tooltipElement = React2.useMemo(() => {
120
- if (!inputTooltip || !showInputTooltip) {
121
- return null;
122
- }
123
- return /* @__PURE__ */React2.createElement(Flex, {
124
- sx: {
125
- width: "full",
126
- fontSize: "sm"
127
- }
128
- }, /* @__PURE__ */React2.createElement(Tooltip, {
129
- id: tooltipId,
130
- place: inputTooltip.place,
131
- clickable: inputTooltip.clickable,
132
- isOpen: showInputTooltip,
133
- variant: inputTooltip.variant,
134
- sx: inputTooltip.sx
135
- }, inputTooltip.render));
136
- }, [inputTooltip, showInputTooltip, tooltipId]);
137
79
  const isCheckboxOrSwitch = /* @__PURE__ */__name(element => {
138
80
  return [Checkbox, Switch].some(component => {
139
81
  return element.type === component;
@@ -154,41 +96,28 @@ var FormField = /* @__PURE__ */__name(({
154
96
  return null;
155
97
  }
156
98
  const childProps = child.props;
157
- const inputProps = {
158
- ...childProps,
159
- ref: inputRef,
160
- onClick: /* @__PURE__ */__name(e => {
161
- childProps.onClick?.(e);
162
- handleInputClick();
163
- }, "onClick"),
164
- onFocus: /* @__PURE__ */__name(e => {
165
- childProps.onFocus?.(e);
166
- handleInputFocus();
167
- }, "onFocus"),
168
- onBlur: /* @__PURE__ */__name(e => {
169
- childProps.onBlur?.(e);
170
- handleInputBlur();
171
- }, "onBlur"),
172
- ...(inputTooltip && showInputTooltip ? {
173
- "data-tooltip-id": tooltipId
174
- } : {})
175
- };
176
99
  const elementProps = {
177
100
  id,
178
- ...inputProps,
101
+ ...childProps,
179
102
  ...(warning && {
180
103
  trailingIcon: "warning-alt"
181
104
  })
182
105
  };
183
106
  if (label && isCheckboxOrSwitch(child)) {
184
- return /* @__PURE__ */React2.createElement(React2.Fragment, null, /* @__PURE__ */React2.createElement(Label, {
185
- "aria-disabled": disabled,
186
- tooltip
107
+ return /* @__PURE__ */React2.createElement(Flex, {
108
+ sx: {
109
+ flexDirection: "row",
110
+ alignItems: "center"
111
+ }
187
112
  }, /* @__PURE__ */React2.createElement(Flex, {
188
113
  sx: {
189
114
  position: "relative"
190
115
  }
191
- }, /* @__PURE__ */React2.createElement(child.type, elementProps)), label), tooltipElement);
116
+ }, /* @__PURE__ */React2.createElement(child.type, elementProps)), /* @__PURE__ */React2.createElement(Label, {
117
+ "aria-disabled": disabled,
118
+ htmlFor: id,
119
+ tooltip
120
+ }, label));
192
121
  }
193
122
  return /* @__PURE__ */React2.createElement(Flex, {
194
123
  sx: {
@@ -200,9 +129,9 @@ var FormField = /* @__PURE__ */__name(({
200
129
  "aria-disabled": disabled,
201
130
  htmlFor: id,
202
131
  tooltip
203
- }, label), /* @__PURE__ */React2.createElement(child.type, elementProps), tooltipElement);
132
+ }, label), /* @__PURE__ */React2.createElement(child.type, elementProps));
204
133
  });
205
- }, [render, controllerReturnWithDisabled, label, disabled, id, tooltip, warning, inputTooltip, showInputTooltip, tooltipId, handleInputClick, handleInputFocus, handleInputBlur, tooltipElement]);
134
+ }, [render, controllerReturnWithDisabled, label, disabled, id, tooltip, warning]);
206
135
  return /* @__PURE__ */React2.createElement(Flex, {
207
136
  sx: {
208
137
  flexDirection: "column",
@@ -236,7 +165,6 @@ var FormFieldPatternFormat = /* @__PURE__ */__name(({
236
165
  label,
237
166
  name,
238
167
  tooltip,
239
- inputTooltip,
240
168
  warning,
241
169
  sx,
242
170
  css,
@@ -250,7 +178,6 @@ var FormFieldPatternFormat = /* @__PURE__ */__name(({
250
178
  label,
251
179
  name,
252
180
  tooltip,
253
- inputTooltip,
254
181
  warning,
255
182
  sx,
256
183
  css,
@@ -326,7 +253,6 @@ var FormFieldCNPJ = /* @__PURE__ */__name(({
326
253
  label,
327
254
  name,
328
255
  tooltip,
329
- inputTooltip,
330
256
  warning,
331
257
  sx,
332
258
  css,
@@ -341,7 +267,6 @@ var FormFieldCNPJ = /* @__PURE__ */__name(({
341
267
  label,
342
268
  name,
343
269
  tooltip,
344
- inputTooltip,
345
270
  warning,
346
271
  sx,
347
272
  css,
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  /** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
2
- import { Controller, Form, FormFieldCheckbox, FormFieldCreditCardNumber, FormFieldCurrencyInput, FormFieldInput, FormFieldNumericFormat, FormFieldPassword, FormFieldRadio, FormFieldRadioCard, FormFieldRadioCardIcony, FormFieldSelect, FormFieldSwitch, FormFieldTextarea, FormGroup, FormProvider, useController, useFieldArray, useForm, useFormContext, useFormGroup, useFormState, useWatch, yup, yupResolver } from "./chunk-474RNBAE.js";
3
- import { FormErrorMessage, FormField, FormFieldPatternFormat } from "./chunk-A5YD5USY.js";
2
+ import { Controller, Form, FormFieldCheckbox, FormFieldCreditCardNumber, FormFieldCurrencyInput, FormFieldInput, FormFieldNumericFormat, FormFieldPassword, FormFieldRadio, FormFieldRadioCard, FormFieldRadioCardIcony, FormFieldSelect, FormFieldSwitch, FormFieldTextarea, FormGroup, FormProvider, useController, useFieldArray, useForm, useFormContext, useFormGroup, useFormState, useWatch, yup, yupResolver } from "./chunk-3RZVOUP4.js";
3
+ import { FormErrorMessage, FormField, FormFieldPatternFormat } from "./chunk-VOT2YVQW.js";
4
4
  export { Controller, Form, FormErrorMessage, FormField, FormFieldCheckbox, FormFieldCreditCardNumber, FormFieldCurrencyInput, FormFieldInput, FormFieldNumericFormat, FormFieldPassword, FormFieldPatternFormat, FormFieldRadio, FormFieldRadioCard, FormFieldRadioCardIcony, FormFieldSelect, FormFieldSwitch, FormFieldTextarea, FormGroup, FormProvider, useController, useFieldArray, useForm, useFormContext, useFormGroup, useFormState, useWatch, yup, yupResolver };
package/dist/index.d.ts CHANGED
@@ -4,8 +4,8 @@ import * as React from 'react';
4
4
  import { FieldValues, FormProviderProps, FieldName, FieldPath } from 'react-hook-form';
5
5
  export * from 'react-hook-form';
6
6
  export { Controller, FormProvider, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch } from 'react-hook-form';
7
- import { F as FormFieldProps, a as FormFieldPatternFormatProps } from './FormFieldPatternFormat-SKHmLjAO.js';
8
- export { b as FormField, c as FormFieldPatternFormat } from './FormFieldPatternFormat-SKHmLjAO.js';
7
+ import { F as FormFieldProps, a as FormFieldPatternFormatProps } from './FormFieldPatternFormat-CMYof3db.js';
8
+ export { b as FormField, c as FormFieldPatternFormat } from './FormFieldPatternFormat-CMYof3db.js';
9
9
  import { NumericFormatProps } from 'react-number-format';
10
10
  import './typings.d-HZBqJJjn.js';
11
11
  import * as yup from 'yup';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttoss/forms",
3
- "version": "0.32.7",
3
+ "version": "0.32.8",
4
4
  "license": "MIT",
5
5
  "author": "ttoss",
6
6
  "contributors": [
@@ -39,8 +39,8 @@
39
39
  },
40
40
  "peerDependencies": {
41
41
  "react": ">=16.8.0",
42
- "@ttoss/ui": "^5.11.0",
43
- "@ttoss/react-i18n": "^2.0.22"
42
+ "@ttoss/react-i18n": "^2.0.22",
43
+ "@ttoss/ui": "^5.11.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/jest": "^30.0.0",
@@ -53,9 +53,9 @@
53
53
  "@ttoss/config": "^1.35.12",
54
54
  "@ttoss/i18n-cli": "^0.7.38",
55
55
  "@ttoss/react-i18n": "^2.0.22",
56
- "@ttoss/react-icons": "^0.5.3",
57
56
  "@ttoss/test-utils": "^3.0.4",
58
- "@ttoss/ui": "^5.11.0"
57
+ "@ttoss/react-icons": "^0.5.3",
58
+ "@ttoss/ui": "^5.11.1"
59
59
  },
60
60
  "publishConfig": {
61
61
  "access": "public",