@giro-ds/react 1.0.4 → 2.0.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 (38) hide show
  1. package/dist/components/Checkbox/Checkbox.d.ts +4 -4
  2. package/dist/components/Checkbox/Checkbox.types.d.ts +4 -19
  3. package/dist/components/Checkbox/__tests__/Checkbox.test.d.ts +1 -0
  4. package/dist/components/Radio/Radio.d.ts +3 -3
  5. package/dist/components/Radio/Radio.types.d.ts +11 -14
  6. package/dist/components/Radio/__tests__/Radio.test.d.ts +1 -0
  7. package/dist/components/Radio/index.d.ts +1 -0
  8. package/dist/components/SelectRadix/SelectRadix.types.d.ts +5 -3
  9. package/dist/components/Switch/Switch.d.ts +4 -0
  10. package/dist/components/Switch/Switch.types.d.ts +8 -0
  11. package/dist/components/Switch/__tests__/Switch.test.d.ts +1 -0
  12. package/dist/components/Switch/index.d.ts +2 -0
  13. package/dist/components/TextField/TextField.d.ts +2 -2
  14. package/dist/components/TextField/TextField.types.d.ts +23 -14
  15. package/dist/components/TextField/__tests__/Textfield.test.d.ts +1 -0
  16. package/dist/components/TextField/utils/__tests__/validation.test.d.ts +1 -0
  17. package/dist/components/TextField/utils/index.d.ts +2 -0
  18. package/dist/components/TextField/utils/validation.d.ts +8 -0
  19. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  20. package/dist/components/Tooltip/Tooltip.types.d.ts +5 -1
  21. package/dist/components/Tooltip/__tests__/Tooltip.test.d.ts +1 -0
  22. package/dist/components/Tooltip/index.d.ts +1 -0
  23. package/dist/components/index.d.ts +3 -5
  24. package/dist/index.cjs +202 -327
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.d.ts +42 -72
  27. package/dist/index.esm.js +215 -321
  28. package/dist/index.esm.js.map +1 -1
  29. package/dist/shared/Label/index.d.ts +4 -2
  30. package/dist/styles.css +1 -1
  31. package/package.json +15 -13
  32. package/dist/components/CheckboxRadix/CheckboxRadix.d.ts +0 -4
  33. package/dist/components/CheckboxRadix/CheckboxRadix.types.d.ts +0 -10
  34. package/dist/components/CheckboxRadix/index.d.ts +0 -2
  35. package/dist/components/RadioRadix/RadioRadix.d.ts +0 -4
  36. package/dist/components/RadioRadix/RadioRadix.types.d.ts +0 -15
  37. package/dist/components/RadioRadix/index.d.ts +0 -2
  38. package/dist/components/TextField/ValidationUtils.d.ts +0 -8
package/dist/index.cjs CHANGED
@@ -8,37 +8,18 @@ var reactI18next = require('react-i18next');
8
8
  var i18n = require('i18next');
9
9
  var radixUi = require('radix-ui');
10
10
 
11
- function _interopNamespaceDefault(e) {
12
- var n = Object.create(null);
13
- if (e) {
14
- Object.keys(e).forEach(function (k) {
15
- if (k !== 'default') {
16
- var d = Object.getOwnPropertyDescriptor(e, k);
17
- Object.defineProperty(n, k, d.get ? d : {
18
- enumerable: true,
19
- get: function () { return e[k]; }
20
- });
21
- }
22
- });
23
- }
24
- n.default = e;
25
- return Object.freeze(n);
26
- }
27
-
28
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
29
-
30
- var styles$t = {"zds-avatar__circle":"Avatar-module__zds-avatar__circle___DXcGa","zds-avatar__large":"Avatar-module__zds-avatar__large___G6qoo","zds-avatar__circle__icon":"Avatar-module__zds-avatar__circle__icon___u14vV","zds-avatar__small":"Avatar-module__zds-avatar__small___d-Pj5"};
11
+ var styles$s = {"zds-avatar__circle":"Avatar-module__zds-avatar__circle___DXcGa","zds-avatar__large":"Avatar-module__zds-avatar__large___G6qoo","zds-avatar__circle__icon":"Avatar-module__zds-avatar__circle__icon___u14vV","zds-avatar__small":"Avatar-module__zds-avatar__small___d-Pj5"};
31
12
 
32
13
  let Avatar = ({ id = '', icon, size = 'small', className = '' }) => {
33
14
  const componentId = id || React.useId();
34
- const AvatarClass = clsx(styles$t['zds-avatar__circle'], {
35
- [styles$t['zds-avatar__large']]: size === 'large',
36
- [styles$t['zds-avatar__small']]: size === 'small',
15
+ const AvatarClass = clsx(styles$s['zds-avatar__circle'], {
16
+ [styles$s['zds-avatar__large']]: size === 'large',
17
+ [styles$s['zds-avatar__small']]: size === 'small',
37
18
  }, className);
38
- return (jsxRuntime.jsx("div", { className: AvatarClass, id: componentId, role: "img", "aria-label": `Avatar ${size}`, children: jsxRuntime.jsx("div", { className: styles$t['zds-avatar__circle__icon'], children: icon }) }));
19
+ return (jsxRuntime.jsx("div", { className: AvatarClass, id: componentId, role: "img", "aria-label": `Avatar ${size}`, children: jsxRuntime.jsx("div", { className: styles$s['zds-avatar__circle__icon'], children: icon }) }));
39
20
  };
40
21
 
41
- var styles$s = {"zds-badge__container":"Badge-module__zds-badge__container___NMAZD","zds-badge":"Badge-module__zds-badge___TeF7g","zds-badge__status":"Badge-module__zds-badge__status___3rFKE","zds-badge__small":"Badge-module__zds-badge__small___lVA0I","zds-badge__large":"Badge-module__zds-badge__large___yxb6z","zds-badge__status__empty":"Badge-module__zds-badge__status__empty___zWu8n"};
22
+ var styles$r = {"zds-badge__container":"Badge-module__zds-badge__container___NMAZD","zds-badge":"Badge-module__zds-badge___TeF7g","zds-badge__status":"Badge-module__zds-badge__status___3rFKE","zds-badge__small":"Badge-module__zds-badge__small___lVA0I","zds-badge__large":"Badge-module__zds-badge__large___yxb6z","zds-badge__status__empty":"Badge-module__zds-badge__status__empty___zWu8n"};
42
23
 
43
24
  const Badge = ({ children, badgeValue = null, type = 'notification', className = '', id, 'aria-label': ariaLabel, }) => {
44
25
  const isEmpty = badgeValue === null || badgeValue === undefined || badgeValue === '';
@@ -61,17 +42,17 @@ const Badge = ({ children, badgeValue = null, type = 'notification', className =
61
42
  };
62
43
  const displayValue = getDisplayValue(badgeValue);
63
44
  if (type === 'notification') {
64
- return (jsxRuntime.jsxs("div", { className: clsx(styles$s['zds-badge__container']), children: [jsxRuntime.jsx("div", { id: componentId, className: clsx(styles$s['zds-badge'], {
65
- [styles$s['zds-badge__small']]: Number(badgeValue) <= 10,
66
- [styles$s['zds-badge__large']]: Number(badgeValue) > 10,
67
- }, className), "data-testid": "badge-notification", children: !isEmpty && (jsxRuntime.jsx("span", { className: styles$s['zds-badge__value'], "aria-hidden": ariaLabel ? 'true' : 'false', children: displayValue })) }), children && (jsxRuntime.jsx("div", { className: styles$s['zds-badge__content'], "data-testid": "badge-content", children: children }))] }));
45
+ return (jsxRuntime.jsxs("div", { className: clsx(styles$r['zds-badge__container']), children: [jsxRuntime.jsx("div", { id: componentId, className: clsx(styles$r['zds-badge'], {
46
+ [styles$r['zds-badge__small']]: Number(badgeValue) <= 10,
47
+ [styles$r['zds-badge__large']]: Number(badgeValue) > 10,
48
+ }, className), "data-testid": "badge-notification", children: !isEmpty && (jsxRuntime.jsx("span", { className: styles$r['zds-badge__value'], "aria-hidden": ariaLabel ? 'true' : 'false', children: displayValue })) }), children && (jsxRuntime.jsx("div", { className: styles$r['zds-badge__content'], "data-testid": "badge-content", children: children }))] }));
68
49
  }
69
- return (jsxRuntime.jsx("div", { className: clsx(styles$s['zds-badge__container']), children: jsxRuntime.jsx("div", { className: clsx(styles$s['zds-badge__status'], {
70
- [styles$s['zds-badge__status__empty']]: isEmpty,
71
- }, className), "data-testid": "badge-status", children: !isEmpty && (jsxRuntime.jsx("span", { className: styles$s['zds-badge__status-value'], "aria-hidden": ariaLabel ? 'true' : 'false', children: displayValue })) }) }));
50
+ return (jsxRuntime.jsx("div", { className: clsx(styles$r['zds-badge__container']), children: jsxRuntime.jsx("div", { className: clsx(styles$r['zds-badge__status'], {
51
+ [styles$r['zds-badge__status__empty']]: isEmpty,
52
+ }, className), "data-testid": "badge-status", children: !isEmpty && (jsxRuntime.jsx("span", { className: styles$r['zds-badge__status-value'], "aria-hidden": ariaLabel ? 'true' : 'false', children: displayValue })) }) }));
72
53
  };
73
54
 
74
- var styles$r = {"zds-button":"Button-module__zds-button___yeGfH","zds-button__lg":"Button-module__zds-button__lg___3VQCU","zds-button__sm":"Button-module__zds-button__sm___YoOxy","zds-button__filled":"Button-module__zds-button__filled___8J2j-","zds-button__outlined":"Button-module__zds-button__outlined___fvHfI","zds-button__text":"Button-module__zds-button__text___WR6Oo","zds-button__with-icon":"Button-module__zds-button__with-icon___a2CVV","zds-button__icon-position-left":"Button-module__zds-button__icon-position-left___0Oid0","zds-button__icon-position-right":"Button-module__zds-button__icon-position-right___-rTaE","zds-button__no-content":"Button-module__zds-button__no-content___SpTQ-","zds-button__icon-only":"Button-module__zds-button__icon-only___jv5KY","zds-button__icon-left":"Button-module__zds-button__icon-left___fzDuF","zds-button__icon-right":"Button-module__zds-button__icon-right___IUOQu","zds-button__full-width":"Button-module__zds-button__full-width___GklRb","disabled":"Button-module__disabled___UzdWL"};
55
+ var styles$q = {"zds-button":"Button-module__zds-button___yeGfH","zds-button__lg":"Button-module__zds-button__lg___3VQCU","zds-button__sm":"Button-module__zds-button__sm___YoOxy","zds-button__filled":"Button-module__zds-button__filled___8J2j-","zds-button__outlined":"Button-module__zds-button__outlined___fvHfI","zds-button__text":"Button-module__zds-button__text___WR6Oo","zds-button__with-icon":"Button-module__zds-button__with-icon___a2CVV","zds-button__icon-position-left":"Button-module__zds-button__icon-position-left___0Oid0","zds-button__icon-position-right":"Button-module__zds-button__icon-position-right___-rTaE","zds-button__no-content":"Button-module__zds-button__no-content___SpTQ-","zds-button__icon-only":"Button-module__zds-button__icon-only___jv5KY","zds-button__icon-left":"Button-module__zds-button__icon-left___fzDuF","zds-button__icon-right":"Button-module__zds-button__icon-right___IUOQu","zds-button__full-width":"Button-module__zds-button__full-width___GklRb","disabled":"Button-module__disabled___UzdWL"};
75
56
 
76
57
  const Button = React.forwardRef(({ as, children, variant = 'filled', iconPosition = 'left', href, to, external = false, target, rel, routerProps = {}, disabled = false, onClick, size = 'lg', className = '', type = 'button', id = '', icon = null, fullWidth = false, ariaLabel = '', iconOnly = false, ...restProps }, ref) => {
77
58
  const componentId = id || React.useId();
@@ -88,13 +69,13 @@ const Button = React.forwardRef(({ as, children, variant = 'filled', iconPositio
88
69
  const hasContent = React.useMemo(() => {
89
70
  return children && React.Children.count(children) > 0;
90
71
  }, [children]);
91
- const buttonClasses = clsx(styles$r['zds-button'], styles$r[`zds-button__${variant}`], styles$r[`zds-button__${size}`], {
92
- [styles$r['zds-button__with-icon']]: icon && !iconOnly,
93
- [styles$r[`zds-button__icon-position-${iconPosition}`]]: icon && !iconOnly && iconPosition !== 'none',
94
- [styles$r['zds-button__no-content']]: icon && !hasContent && !iconOnly,
95
- [styles$r['zds-button__full-width']]: fullWidth,
96
- [styles$r['zds-button__icon-only']]: iconOnly,
97
- [styles$r['zds-button__disabled']]: disabled,
72
+ const buttonClasses = clsx(styles$q['zds-button'], styles$q[`zds-button__${variant}`], styles$q[`zds-button__${size}`], {
73
+ [styles$q['zds-button__with-icon']]: icon && !iconOnly,
74
+ [styles$q[`zds-button__icon-position-${iconPosition}`]]: icon && !iconOnly && iconPosition !== 'none',
75
+ [styles$q['zds-button__no-content']]: icon && !hasContent && !iconOnly,
76
+ [styles$q['zds-button__full-width']]: fullWidth,
77
+ [styles$q['zds-button__icon-only']]: iconOnly,
78
+ [styles$q['zds-button__disabled']]: disabled,
98
79
  }, className);
99
80
  const getAriaLabel = () => {
100
81
  if (ariaLabel)
@@ -118,9 +99,9 @@ const Button = React.forwardRef(({ as, children, variant = 'filled', iconPositio
118
99
  };
119
100
  const renderContent = () => {
120
101
  if (iconOnly && icon) {
121
- return (jsxRuntime.jsx("span", { className: styles$r['zds-button__icon-only'], "aria-hidden": "true", children: icon }));
102
+ return (jsxRuntime.jsx("span", { className: styles$q['zds-button__icon-only'], "aria-hidden": "true", children: icon }));
122
103
  }
123
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [icon && iconPosition === 'left' && (jsxRuntime.jsx("span", { className: styles$r['zds-button__icon-left'], "aria-hidden": "true", children: icon })), children, icon && iconPosition === 'right' && (jsxRuntime.jsx("span", { className: styles$r['zds-button__icon-right'], "aria-hidden": "true", children: icon }))] }));
104
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [icon && iconPosition === 'left' && (jsxRuntime.jsx("span", { className: styles$q['zds-button__icon-left'], "aria-hidden": "true", children: icon })), children, icon && iconPosition === 'right' && (jsxRuntime.jsx("span", { className: styles$q['zds-button__icon-right'], "aria-hidden": "true", children: icon }))] }));
124
105
  };
125
106
  const baseProps = {
126
107
  ref,
@@ -163,7 +144,7 @@ const Button = React.forwardRef(({ as, children, variant = 'filled', iconPositio
163
144
  });
164
145
  Button.displayName = 'Button';
165
146
 
166
- var styles$q = {"zds-calendar":"Calendar-module__zds-calendar___PxF9r","zds-calendar__header":"Calendar-module__zds-calendar__header___KsUk4","zds-calendar__month-name":"Calendar-module__zds-calendar__month-name___lyWIV","zds-calendar__year":"Calendar-module__zds-calendar__year___kWZ5P","zds-calendar__year-view":"Calendar-module__zds-calendar__year-view___srlWI","zds-calendar__year--current":"Calendar-module__zds-calendar__year--current___iVQH-","zds-calendar__navigation":"Calendar-module__zds-calendar__navigation___HVXdu","zds-calendar__weekdays":"Calendar-module__zds-calendar__weekdays___x8IAE","zds-calendar__grid":"Calendar-module__zds-calendar__grid___7VcR9","zds-calendar__weekday":"Calendar-module__zds-calendar__weekday___-dJW-","zds-calendar__days":"Calendar-module__zds-calendar__days___voUPb","zds-calendar__day":"Calendar-module__zds-calendar__day___ajiy4","zds-calendar__day--today":"Calendar-module__zds-calendar__day--today___qr5Cn","zds-calendar__day--selected":"Calendar-module__zds-calendar__day--selected___18JlM","zds-calendar__day--empty":"Calendar-module__zds-calendar__day--empty___uj4TJ","zds-calendar__clear":"Calendar-module__zds-calendar__clear___gEqoV"};
147
+ var styles$p = {"zds-calendar":"Calendar-module__zds-calendar___PxF9r","zds-calendar__header":"Calendar-module__zds-calendar__header___KsUk4","zds-calendar__month-name":"Calendar-module__zds-calendar__month-name___lyWIV","zds-calendar__year":"Calendar-module__zds-calendar__year___kWZ5P","zds-calendar__year-view":"Calendar-module__zds-calendar__year-view___srlWI","zds-calendar__year--current":"Calendar-module__zds-calendar__year--current___iVQH-","zds-calendar__navigation":"Calendar-module__zds-calendar__navigation___HVXdu","zds-calendar__weekdays":"Calendar-module__zds-calendar__weekdays___x8IAE","zds-calendar__grid":"Calendar-module__zds-calendar__grid___7VcR9","zds-calendar__weekday":"Calendar-module__zds-calendar__weekday___-dJW-","zds-calendar__days":"Calendar-module__zds-calendar__days___voUPb","zds-calendar__day":"Calendar-module__zds-calendar__day___ajiy4","zds-calendar__day--today":"Calendar-module__zds-calendar__day--today___qr5Cn","zds-calendar__day--selected":"Calendar-module__zds-calendar__day--selected___18JlM","zds-calendar__day--empty":"Calendar-module__zds-calendar__day--empty___uj4TJ","zds-calendar__clear":"Calendar-module__zds-calendar__clear___gEqoV"};
167
148
 
168
149
  // i18n.ts
169
150
  // Resources configuration
@@ -523,8 +504,8 @@ const Calendar = ({ currentDate, className, selectedDate = null, onDateChange, o
523
504
  * Renderiza os anos usando o array de objetos memoizado.
524
505
  */
525
506
  const renderYears = React.useCallback(() => {
526
- return yearsArray.map((item) => (jsxRuntime.jsx("div", { className: clsx(styles$q['zds-calendar__year'], {
527
- [styles$q['zds-calendar__year--current']]: item.isCurrent,
507
+ return yearsArray.map((item) => (jsxRuntime.jsx("div", { className: clsx(styles$p['zds-calendar__year'], {
508
+ [styles$p['zds-calendar__year--current']]: item.isCurrent,
528
509
  }), onClick: () => handleYearSelect(item.year), tabIndex: 0, role: "button", "aria-pressed": item.isCurrent, "aria-label": item.isCurrent
529
510
  ? locale === 'en-us'
530
511
  ? `Current year, ${item.year}`
@@ -544,14 +525,14 @@ const Calendar = ({ currentDate, className, selectedDate = null, onDateChange, o
544
525
  const renderDays = React.useCallback(() => {
545
526
  return daysArray.map((item) => {
546
527
  if (item.type === 'empty') {
547
- return (jsxRuntime.jsx("div", { className: clsx(styles$q['zds-calendar__day'], styles$q['zds-calendar__day--empty']), "aria-hidden": "true" }, item.key));
528
+ return (jsxRuntime.jsx("div", { className: clsx(styles$p['zds-calendar__day'], styles$p['zds-calendar__day--empty']), "aria-hidden": "true" }, item.key));
548
529
  }
549
530
  const dayItem = item;
550
531
  const isDisabled = !isDateInRange(dayItem.date);
551
- return (jsxRuntime.jsx("div", { className: clsx(styles$q['zds-calendar__day'], {
552
- [styles$q['zds-calendar__day--today']]: dayItem.isToday,
553
- [styles$q['zds-calendar__day--selected']]: dayItem.isSelected,
554
- [styles$q['zds-calendar__day--disabled']]: isDisabled,
532
+ return (jsxRuntime.jsx("div", { className: clsx(styles$p['zds-calendar__day'], {
533
+ [styles$p['zds-calendar__day--today']]: dayItem.isToday,
534
+ [styles$p['zds-calendar__day--selected']]: dayItem.isSelected,
535
+ [styles$p['zds-calendar__day--disabled']]: isDisabled,
555
536
  }), onClick: isDisabled ? undefined : () => handleSelectDay(dayItem.day), onKeyDown: isDisabled ? undefined : (e) => handleDayKeyDown(e, dayItem.day), tabIndex: isDisabled ? -1 : 0, role: "gridcell", "aria-selected": dayItem.isSelected, "aria-current": dayItem.isToday ? 'date' : undefined, "aria-disabled": isDisabled, "aria-label": `${dayItem.day} ${getMonthName()} ${year}${dayItem.isToday ? ` (${t('today')})` : ''}${dayItem.isSelected ? ` (${t('selected')})` : ''}${isDisabled ? ` (${t('disabled')})` : ''}`, children: dayItem.day }, dayItem.key));
556
537
  });
557
538
  }, [
@@ -567,7 +548,7 @@ const Calendar = ({ currentDate, className, selectedDate = null, onDateChange, o
567
548
  const weekdaysComponent = React.useMemo(() => {
568
549
  if (changeView)
569
550
  return null;
570
- return weekDaysLabels.map((day, idx) => (jsxRuntime.jsx("div", { className: styles$q['zds-calendar__weekday'], children: day }, `${day}-${idx}`)));
551
+ return weekDaysLabels.map((day, idx) => (jsxRuntime.jsx("div", { className: styles$p['zds-calendar__weekday'], children: day }, `${day}-${idx}`)));
571
552
  }, [changeView, weekDaysLabels]);
572
553
  // ✅ Limpa o anúncio após um tempo para evitar repetições
573
554
  React.useEffect(() => {
@@ -582,13 +563,13 @@ const Calendar = ({ currentDate, className, selectedDate = null, onDateChange, o
582
563
  setYearRangeStart(year - 13);
583
564
  }
584
565
  }, [changeView, year]);
585
- return (jsxRuntime.jsxs("div", { className: clsx(styles$q['zds-calendar'], { [styles$q['zds-calendar--year-view']]: changeView }, className), id: componentId, tabIndex: 0, ref: calendarRef, onKeyDown: handleCalendarKeyDown, "aria-label": t('calendar'), children: [jsxRuntime.jsx("div", { "aria-live": "polite", "aria-atomic": "true", className: styles$q['zds-calendar__aria-live'], style: {
566
+ return (jsxRuntime.jsxs("div", { className: clsx(styles$p['zds-calendar'], { [styles$p['zds-calendar--year-view']]: changeView }, className), id: componentId, tabIndex: 0, ref: calendarRef, onKeyDown: handleCalendarKeyDown, "aria-label": t('calendar'), children: [jsxRuntime.jsx("div", { "aria-live": "polite", "aria-atomic": "true", className: styles$p['zds-calendar__aria-live'], style: {
586
567
  position: 'absolute',
587
568
  width: 1,
588
569
  height: 1,
589
570
  overflow: 'hidden',
590
571
  clip: 'rect(1px, 1px, 1px, 1px)',
591
- }, children: announcement }), jsxRuntime.jsxs("div", { className: styles$q['zds-calendar__header'], children: [jsxRuntime.jsxs("span", { className: styles$q['zds-calendar__month-name'], onClick: handleToggleView, onKeyDown: (e) => {
572
+ }, children: announcement }), jsxRuntime.jsxs("div", { className: styles$p['zds-calendar__header'], children: [jsxRuntime.jsxs("span", { className: styles$p['zds-calendar__month-name'], onClick: handleToggleView, onKeyDown: (e) => {
592
573
  if (e.key === 'Enter' || e.key === ' ') {
593
574
  e.preventDefault();
594
575
  handleToggleView();
@@ -599,7 +580,7 @@ const Calendar = ({ currentDate, className, selectedDate = null, onDateChange, o
599
580
  : 'Fechar seleção de ano'
600
581
  : locale === 'en-us'
601
582
  ? 'Open year selection'
602
- : 'Abrir seleção de ano', children: [`${getMonthName()} ${year}`, changeView ? (jsxRuntime.jsx(reactIcons.ChevronUp16Regular, { "aria-hidden": "true" })) : (jsxRuntime.jsx(reactIcons.ChevronDown16Regular, { "aria-hidden": "true" }))] }), jsxRuntime.jsxs("div", { className: styles$q['zds-calendar__navigation'], children: [jsxRuntime.jsx("button", { onClick: handlePrevMonth, "aria-label": changeView
583
+ : 'Abrir seleção de ano', children: [`${getMonthName()} ${year}`, changeView ? (jsxRuntime.jsx(reactIcons.ChevronUp16Regular, { "aria-hidden": "true" })) : (jsxRuntime.jsx(reactIcons.ChevronDown16Regular, { "aria-hidden": "true" }))] }), jsxRuntime.jsxs("div", { className: styles$p['zds-calendar__navigation'], children: [jsxRuntime.jsx("button", { onClick: handlePrevMonth, "aria-label": changeView
603
584
  ? locale === 'en-us'
604
585
  ? 'Show previous years'
605
586
  : 'Mostrar anos anteriores'
@@ -611,27 +592,27 @@ const Calendar = ({ currentDate, className, selectedDate = null, onDateChange, o
611
592
  : 'Mostrar próximos anos'
612
593
  : locale === 'en-us'
613
594
  ? `Next month, ${new Date(year, month + 1, 1).toLocaleDateString('en-US', { month: 'long', year: 'numeric' })}`
614
- : `Próximo mês, ${new Date(year, month + 1, 1).toLocaleDateString('pt-BR', { month: 'long', year: 'numeric' })}`, type: "button", className: "zds-calendar__nav-button", children: jsxRuntime.jsx(reactIcons.ChevronRight16Regular, { "aria-hidden": "true" }) })] })] }), jsxRuntime.jsx("div", { className: styles$q['zds-calendar__weekdays'], children: weekdaysComponent }), jsxRuntime.jsx("div", { className: styles$q['zds-calendar__grid'], children: changeView ? (jsxRuntime.jsx("div", { className: styles$q['zds-calendar__year-view'], role: "grid", "aria-label": t('yearSelection'), children: renderYears() })) : (jsxRuntime.jsx("div", { className: styles$q['zds-calendar__days'], role: "grid", "aria-label": `${getMonthName()} ${year}`, children: renderDays() })) }), jsxRuntime.jsx("div", { className: styles$q['zds-calendar__clear'], children: jsxRuntime.jsx(Button, { size: "sm", variant: "outlined", onClick: handleClearDate, disabled: !selectedDate, children: "Limpar" }) })] }));
595
+ : `Próximo mês, ${new Date(year, month + 1, 1).toLocaleDateString('pt-BR', { month: 'long', year: 'numeric' })}`, type: "button", className: "zds-calendar__nav-button", children: jsxRuntime.jsx(reactIcons.ChevronRight16Regular, { "aria-hidden": "true" }) })] })] }), jsxRuntime.jsx("div", { className: styles$p['zds-calendar__weekdays'], children: weekdaysComponent }), jsxRuntime.jsx("div", { className: styles$p['zds-calendar__grid'], children: changeView ? (jsxRuntime.jsx("div", { className: styles$p['zds-calendar__year-view'], role: "grid", "aria-label": t('yearSelection'), children: renderYears() })) : (jsxRuntime.jsx("div", { className: styles$p['zds-calendar__days'], role: "grid", "aria-label": `${getMonthName()} ${year}`, children: renderDays() })) }), jsxRuntime.jsx("div", { className: styles$p['zds-calendar__clear'], children: jsxRuntime.jsx(Button, { size: "sm", variant: "outlined", onClick: handleClearDate, disabled: !selectedDate, children: "Limpar" }) })] }));
615
596
  };
616
597
  // ✅ Default props integrados na função usando valores padrão dos parâmetros
617
598
  Calendar.displayName = 'Calendar';
618
599
  const MemoizedCalendar = React.memo(Calendar);
619
600
  MemoizedCalendar.displayName = 'Calendar';
620
601
 
621
- var styles$p = {"zds-callout__container":"Callout-module__zds-callout__container___EoOQd","zds-callout__container__with-title":"Callout-module__zds-callout__container__with-title___NUq2k","zds-callout__neutral":"Callout-module__zds-callout__neutral___ib9gW","zds-callout__brand":"Callout-module__zds-callout__brand___UYVny","zds-callout__color":"Callout-module__zds-callout__color___6ojEV","zds-callout__alert":"Callout-module__zds-callout__alert___gSOsh","zds-callout__success":"Callout-module__zds-callout__success___6W096","zds-callout__title":"Callout-module__zds-callout__title___jmmqj","zds-callout__text":"Callout-module__zds-callout__text___MTO5R","zds-callout__icon":"Callout-module__zds-callout__icon___-CaUD","zds-callout__content":"Callout-module__zds-callout__content___hh0Mj","zds-callout__subcontent":"Callout-module__zds-callout__subcontent___olIpt"};
602
+ var styles$o = {"zds-callout__container":"Callout-module__zds-callout__container___EoOQd","zds-callout__container__with-title":"Callout-module__zds-callout__container__with-title___NUq2k","zds-callout__neutral":"Callout-module__zds-callout__neutral___ib9gW","zds-callout__brand":"Callout-module__zds-callout__brand___UYVny","zds-callout__color":"Callout-module__zds-callout__color___6ojEV","zds-callout__alert":"Callout-module__zds-callout__alert___gSOsh","zds-callout__success":"Callout-module__zds-callout__success___6W096","zds-callout__title":"Callout-module__zds-callout__title___jmmqj","zds-callout__text":"Callout-module__zds-callout__text___MTO5R","zds-callout__icon":"Callout-module__zds-callout__icon___-CaUD","zds-callout__content":"Callout-module__zds-callout__content___hh0Mj","zds-callout__subcontent":"Callout-module__zds-callout__subcontent___olIpt"};
622
603
 
623
604
  const Callout = ({ type = 'neutral', title = null, text = '', icon = null, className = '', id = '' }) => {
624
605
  const generatedId = React.useId();
625
606
  const titleId = id || `callout-title-${generatedId}`;
626
607
  const componentId = id || generatedId;
627
- const calloutClass = clsx(styles$p['zds-callout__container'], styles$p[`zds-callout__${type}`], {
628
- [styles$p['zds-callout__container__with-title']]: title,
629
- [styles$p['zds-callout__no-icon']]: !icon,
608
+ const calloutClass = clsx(styles$o['zds-callout__container'], styles$o[`zds-callout__${type}`], {
609
+ [styles$o['zds-callout__container__with-title']]: title,
610
+ [styles$o['zds-callout__no-icon']]: !icon,
630
611
  }, className);
631
- return (jsxRuntime.jsx("div", { id: componentId, className: calloutClass, "aria-live": "polite", role: "alert", "aria-labelledby": title ? titleId : undefined, children: jsxRuntime.jsxs("div", { className: styles$p['zds-callout__content'], children: [icon && jsxRuntime.jsx("span", { className: styles$p['zds-callout__icon'], children: icon }), jsxRuntime.jsxs("div", { className: styles$p['zds-callout__subcontent'], children: [title && (jsxRuntime.jsx("span", { id: titleId, className: styles$p['zds-callout__title'], children: title })), text && jsxRuntime.jsx("span", { className: styles$p['zds-callout__text'], children: text })] })] }) }));
612
+ return (jsxRuntime.jsx("div", { id: componentId, className: calloutClass, "aria-live": "polite", role: "alert", "aria-labelledby": title ? titleId : undefined, children: jsxRuntime.jsxs("div", { className: styles$o['zds-callout__content'], children: [icon && jsxRuntime.jsx("span", { className: styles$o['zds-callout__icon'], children: icon }), jsxRuntime.jsxs("div", { className: styles$o['zds-callout__subcontent'], children: [title && (jsxRuntime.jsx("span", { id: titleId, className: styles$o['zds-callout__title'], children: title })), text && jsxRuntime.jsx("span", { className: styles$o['zds-callout__text'], children: text })] })] }) }));
632
613
  };
633
614
 
634
- var styles$o = {"zds-checkbox":"Checkbox-module__zds-checkbox___-xea9","zds-checkbox__box-check":"Checkbox-module__zds-checkbox__box-check___URJVN","zds-checkbox__checkmark":"Checkbox-module__zds-checkbox__checkmark___vOLtW","zds-checkbox__text":"Checkbox-module__zds-checkbox__text___Qt-L3","zds-checkbox__label":"Checkbox-module__zds-checkbox__label___4ZMLn","zds-checkbox__icon":"Checkbox-module__zds-checkbox__icon___dGLvg","zds-checkbox__checkmark__indeterminate":"Checkbox-module__zds-checkbox__checkmark__indeterminate___0k5uY","zds-checkbox__disabled":"Checkbox-module__zds-checkbox__disabled___XFvqF"};
615
+ var styles$n = {"container":"Checkbox-module__container___pUY-s","root":"Checkbox-module__root___BS5dT","disabled":"Checkbox-module__disabled___WagIC","label":"Checkbox-module__label___JBaRm","indicator":"Checkbox-module__indicator___HXLHH","wrapperCheckbox":"Checkbox-module__wrapperCheckbox___m2qIW"};
635
616
 
636
617
  const CheckSmall = ({ className = '', width = 12, height = 10, fill = 'white', ...restProps }) => {
637
618
  return (jsxRuntime.jsx("svg", { width: width, height: height, viewBox: "0 0 12 10", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, "aria-hidden": "true", ...restProps, children: jsxRuntime.jsx("path", { d: "M4 9.4L0 5.4L1.4 4L4 6.6L10.6 0L12 1.4L4 9.4Z", fill: fill }) }));
@@ -641,57 +622,11 @@ const CheckHalf = ({ className = '', width = 16, height = 16, fill = 'white', ..
641
622
  return (jsxRuntime.jsx("svg", { width: width, height: height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, "aria-hidden": "true", ...restProps, children: jsxRuntime.jsx("g", { id: "Icons/check_indeterminate_small", children: jsxRuntime.jsx("path", { id: "icon", d: "M3 9V7H13V9H3Z", fill: fill }) }) }));
642
623
  };
643
624
 
644
- /**
645
- * A customizable Checkbox component that supports controlled and uncontrolled states.
646
- */
647
- const Checkbox = ({ id, name, onChange, label = 'Checkbox', className = '', value = '', disabled = false, indeterminate = false, checked = false, ariaDescribedby = '', }) => {
648
- const elementRef = React.useRef(null);
649
- const generatedId = React.useId();
650
- const inputId = id || generatedId;
651
- const handleChange = (e) => {
652
- if (disabled)
653
- return;
654
- onChange?.(e);
655
- };
656
- const checkboxClass = clsx(styles$o['zds-checkbox'], {
657
- [styles$o['zds-checkbox__disabled']]: disabled,
658
- [styles$o['zds-checkbox__checked']]: checked && !indeterminate,
659
- [styles$o['zds-checkbox__indeterminate']]: indeterminate,
660
- }, className);
661
- React.useEffect(() => {
662
- if (elementRef.current) {
663
- elementRef.current.indeterminate = indeterminate;
664
- }
665
- }, [indeterminate]);
666
- return (jsxRuntime.jsx("div", { className: checkboxClass, children: jsxRuntime.jsxs("label", { htmlFor: inputId, className: styles$o['zds-checkbox__box-check'], children: [jsxRuntime.jsxs("div", { className: clsx(styles$o['zds-checkbox__checkmark'], {
667
- [styles$o['zds-checkbox__checkmark__checked']]: checked && !indeterminate,
668
- [styles$o['zds-checkbox__checkmark__indeterminate']]: indeterminate,
669
- }), children: [jsxRuntime.jsx("input", { id: inputId, ref: elementRef, name: name, type: "checkbox", value: value, checked: checked, onChange: handleChange, disabled: disabled, "aria-checked": indeterminate ? 'mixed' : checked, "aria-describedby": ariaDescribedby || undefined, "aria-label": typeof label === 'string' ? label : 'Checkbox', tabIndex: disabled ? -1 : 0 }), checked && !indeterminate && (jsxRuntime.jsx("span", { className: styles$o['zds-checkbox__icon'], "aria-hidden": "true", children: jsxRuntime.jsx(CheckSmall, {}) })), indeterminate && (jsxRuntime.jsx("span", { className: styles$o['zds-checkbox__icon'], "aria-hidden": "true", children: jsxRuntime.jsx(CheckHalf, {}) }))] }), label && (jsxRuntime.jsx("div", { className: styles$o['zds-checkbox__text'], children: jsxRuntime.jsx("span", { className: styles$o['zds-checkbox__label'], children: label }) }))] }) }));
670
- };
671
- const MemoizedCheckbox = React.memo(Checkbox);
672
- MemoizedCheckbox.displayName = 'Checkbox';
673
-
674
- var styles$n = {"container":"CheckboxRadix-module__container___34peZ","root":"CheckboxRadix-module__root___P9Ddi","disabled":"CheckboxRadix-module__disabled___WmZnj","label":"CheckboxRadix-module__label___-d8vL","indicator":"CheckboxRadix-module__indicator___jwn2k","wrapperCheckbox":"CheckboxRadix-module__wrapperCheckbox___--xXQ"};
675
-
676
- const CheckboxRadix = ({ id, label, onCheckedChange, checked, disabled, className, indeterminate = false, ...rest }) => {
625
+ const Checkbox = ({ id, label = '', onCheckedChange, checked, disabled, className, indeterminate = false, ...rest }) => {
677
626
  const componentId = id || React.useId();
678
- const checkboxRef = React__namespace.useRef(null);
679
- const handleWrapperClick = (e) => {
680
- if (e.target !== checkboxRef.current && !disabled) {
681
- e.stopPropagation();
682
- e.preventDefault();
683
- checkboxRef.current?.click();
684
- }
685
- };
686
- const handleWrapperKeyDown = (e) => {
687
- if ((e.key === ' ' || e.key === 'Enter') && !disabled) {
688
- e.preventDefault();
689
- checkboxRef.current?.click();
690
- }
691
- };
692
627
  return (jsxRuntime.jsxs("div", { className: clsx(styles$n.container, className), children: [jsxRuntime.jsx("div", { className: clsx(styles$n.wrapperCheckbox, {
693
628
  [styles$n.disabled]: disabled,
694
- }), onClick: handleWrapperClick, role: "presentation", tabIndex: disabled ? -1 : 0, onKeyDown: handleWrapperKeyDown, children: jsxRuntime.jsx(radixUi.Checkbox.Root, { ref: checkboxRef, className: styles$n.root, checked: checked, id: componentId, onCheckedChange: onCheckedChange, disabled: disabled, "data-disabled": disabled, "data-indeterminate": indeterminate, "aria-checked": indeterminate ? 'mixed' : checked ? 'true' : 'false', ...rest, children: jsxRuntime.jsx(radixUi.Checkbox.Indicator, { className: styles$n.indicator, children: indeterminate ? jsxRuntime.jsx(CheckHalf, {}) : jsxRuntime.jsx(CheckSmall, {}) }) }) }), jsxRuntime.jsx("label", { className: clsx(styles$n.label, { [styles$n.disabled]: disabled }), htmlFor: componentId, onClick: handleWrapperClick, children: label })] }));
629
+ }), role: "presentation", tabIndex: disabled ? -1 : 0, children: jsxRuntime.jsx(radixUi.Checkbox.Root, { className: styles$n.root, checked: checked, id: componentId, onCheckedChange: onCheckedChange, disabled: disabled, "data-disabled": disabled, "data-indeterminate": indeterminate, "aria-checked": indeterminate ? 'mixed' : checked ? 'true' : 'false', ...rest, children: jsxRuntime.jsx(radixUi.Checkbox.Indicator, { className: styles$n.indicator, children: indeterminate ? jsxRuntime.jsx(CheckHalf, {}) : jsxRuntime.jsx(CheckSmall, {}) }) }) }), jsxRuntime.jsx("label", { className: clsx(styles$n.label, { [styles$n.disabled]: disabled }), htmlFor: componentId, children: label })] }));
695
630
  };
696
631
 
697
632
  var styles$m = {"zds-chips":"Chips-module__zds-chips___LEq0v","zds-chips__title":"Chips-module__zds-chips__title___JexH8","zds-chips__icon__left":"Chips-module__zds-chips__icon__left___frGxl","zds-chips__icon__right":"Chips-module__zds-chips__icon__right___3EmZr","has-left-icon":"Chips-module__has-left-icon___BNIkr","has-right-icon":"Chips-module__has-right-icon___jhoos","zds-chips--neutral":"Chips-module__zds-chips--neutral___FyRQq","zds-chips--brand":"Chips-module__zds-chips--brand___GbmJv","zds-chips--color":"Chips-module__zds-chips--color___JpMwI","zds-chips--alert":"Chips-module__zds-chips--alert___MHi5a","zds-chips--success":"Chips-module__zds-chips--success___jg4-F","zds-chips--disabled":"Chips-module__zds-chips--disabled___HkRDl"};
@@ -720,121 +655,83 @@ function Container({ children }) {
720
655
  return (jsxRuntime.jsx("main", { className: `${styles$l['container']} mx-auto`, children: children }));
721
656
  }
722
657
 
723
- var styles$k = {"zds-tooltip__wrapper":"Tooltip-module__zds-tooltip__wrapper___BaLW6","zds-tooltip__content":"Tooltip-module__zds-tooltip__content___E6A4Q","zds-tooltip__top-right":"Tooltip-module__zds-tooltip__top-right___04O6s","zds-tooltip__top-left":"Tooltip-module__zds-tooltip__top-left___EqSvC","zds-tooltip__left":"Tooltip-module__zds-tooltip__left___yxr2G","zds-tooltip__right":"Tooltip-module__zds-tooltip__right___Fq5jm","zds-tooltip__bottom-left":"Tooltip-module__zds-tooltip__bottom-left___aBINN","zds-tooltip__bottom-right":"Tooltip-module__zds-tooltip__bottom-right___yVKMn"};
724
-
725
- const Tooltip = ({ id, text, children, position = 'top-right' }) => {
726
- const [visible, setVisible] = React.useState(false);
727
- const timeoutRef = React.useRef(null);
728
- const tooltipRef = React.useRef(null);
729
- const tooltipId = id || React.useId();
730
- const handleMouseEnter = () => {
731
- if (timeoutRef.current)
732
- clearTimeout(timeoutRef.current);
733
- setVisible(true);
734
- };
735
- const handleMouseLeave = () => {
736
- timeoutRef.current = setTimeout(() => {
737
- setVisible(false);
738
- }, 800);
739
- };
740
- const handleKeyDown = (e) => {
741
- switch (e.key) {
742
- case 'Escape':
743
- setVisible(false);
744
- break;
745
- case 'Enter':
746
- case ' ':
747
- e.preventDefault();
748
- setVisible(!visible);
749
- break;
750
- }
751
- };
752
- React.useEffect(() => {
753
- return () => {
754
- if (timeoutRef.current) {
755
- clearTimeout(timeoutRef.current);
756
- }
757
- };
758
- }, []);
759
- const tooltipClass = clsx(styles$k['zds-tooltip__content'], styles$k[`zds-tooltip__${position}`]);
760
- return (jsxRuntime.jsxs("div", { className: clsx(styles$k['zds-tooltip__wrapper']), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onFocus: handleMouseEnter, onBlur: handleMouseLeave, onKeyDown: handleKeyDown, tabIndex: 0, "aria-describedby": visible ? tooltipId : undefined, children: [children, visible && (jsxRuntime.jsx("div", { ref: tooltipRef, className: tooltipClass, role: 'tooltip', id: tooltipId, "aria-describedby": tooltipId, "aria-hidden": !visible, children: text }))] }));
658
+ var styles$k = {"wrapperLabel":"index-module__wrapperLabel___XJzZO","requiredLabel":"index-module__requiredLabel___7oZkh","infoIcon":"index-module__infoIcon___lClx4","errorLabel":"index-module__errorLabel___qa6h6","disabledLabel":"index-module__disabledLabel___U9vL8"};
659
+
660
+ var styles$j = {"tooltipContent":"Tooltip-module__tooltipContent___xycUg","triggerWrapper":"Tooltip-module__triggerWrapper___x83XR"};
661
+
662
+ const Tooltip = ({ children, text, side = 'bottom', align = 'start', maxWidth, sideOffset = 10 }) => {
663
+ return (jsxRuntime.jsx(radixUi.Tooltip.Provider, { children: jsxRuntime.jsxs(radixUi.Tooltip.Root, { children: [jsxRuntime.jsx(radixUi.Tooltip.Trigger, { asChild: true, children: jsxRuntime.jsx("span", { className: styles$j.triggerWrapper, children: children }) }), jsxRuntime.jsx(radixUi.Tooltip.Portal, { children: jsxRuntime.jsx(radixUi.Tooltip.Content, { className: styles$j.tooltipContent, side: side, align: align, sideOffset: sideOffset, style: { maxWidth: maxWidth ? `${maxWidth}px` : 'auto' }, children: text }) })] }) }));
761
664
  };
762
665
 
763
- var styles$j = {"zds-textfield__container":"TextField-module__zds-textfield__container___8G0KS","zds-textfield__required":"TextField-module__zds-textfield__required___aK9hV","zds-textfield__box__input":"TextField-module__zds-textfield__box__input___WzrAO","zds-textfield__container__box":"TextField-module__zds-textfield__container__box___NsKhU","zds-textfield__helper-text":"TextField-module__zds-textfield__helper-text___claNj","zds-textfield__container-tooltip":"TextField-module__zds-textfield__container-tooltip___8Ard7","zds-textfield__icon":"TextField-module__zds-textfield__icon___xEnGh","zds-textfield__tooltip":"TextField-module__zds-textfield__tooltip___TgnF1","zds-textfield__error":"TextField-module__zds-textfield__error___I6In-","zds-textfield__disabled":"TextField-module__zds-textfield__disabled___4i913","zds-textfield__wrapper-label":"TextField-module__zds-textfield__wrapper-label___eLUCE"};
666
+ const LabelComponent = ({ children, htmlFor, required = false, tooltip = false, tooltipText, side = 'bottom', align = 'start', className, error = false, disabled = false }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: tooltip ? (jsxRuntime.jsx(Tooltip, { side: side, align: align, text: tooltipText || '', children: jsxRuntime.jsxs(radixUi.Label.Root, { className: clsx(styles$k.wrapperLabel, error && styles$k.errorLabel, className), htmlFor: htmlFor, children: [children, required && jsxRuntime.jsx("span", { className: styles$k.requiredLabel, children: "*" }), jsxRuntime.jsx(reactIcons.Info12Regular, { className: styles$k.infoIcon })] }) })) : (jsxRuntime.jsxs(radixUi.Label.Root, { className: clsx(styles$k.wrapperLabel, error && styles$k.errorLabel, disabled && styles$k.disabledLabel, className), htmlFor: htmlFor, children: [children, required && jsxRuntime.jsx("span", { className: styles$k.requiredLabel, children: "*" })] })) }));
764
667
 
765
- const validateInput = ({ value, maxLength, type, errorMessage, required }) => {
766
- if (required && (typeof value === 'string' ? value.trim() === '' : value === undefined)) {
668
+ var styles$i = {"container":"TextField-module__container___WJHFR","inputWrapper":"TextField-module__inputWrapper___INjfd","inputContainer":"TextField-module__inputContainer___3EsFJ","icon":"TextField-module__icon___p1vwi","clearButton":"TextField-module__clearButton___kgOot","helperText":"TextField-module__helperText___d5QGC","error":"TextField-module__error___IGQzp","disabled":"TextField-module__disabled___roIKP"};
669
+
670
+ const validateInput = ({ value, maxLength, errorMessage, required }) => {
671
+ if (required && value.trim() === '') {
767
672
  return errorMessage || 'Campo obrigatório.';
768
673
  }
769
- if (required && maxLength && (typeof value === 'string' ? value.length > maxLength : String(value).length > maxLength)) {
674
+ if (maxLength && value.length > maxLength) {
770
675
  return errorMessage || `Campo deve ter no máximo ${maxLength} caracteres.`;
771
676
  }
772
677
  return '';
773
678
  };
774
679
 
775
- const TextField = ({ name = 'textfield', className = '', value = '', label = '', placeholder = '', type = 'text', onChange = (value) => { }, disabled = false, maxLength = 30, required = false, helper = false, helperText = '', tooltip = false, tooltipText = '', positionTooltip = 'top-right', errorMessage = '', id = '', icon = null, }) => {
776
- const [inputValue, setValue] = React.useState(value);
680
+ const TextField$1 = React.forwardRef(({ className, value = '', label, placeholder, type = 'text', onChange, disabled = false, maxLength = 30, required = false, helperText, tooltip = false, tooltipText = '', side = 'bottom', align = 'start', errorMessage = '', id, icon, onBlur, onFocus, name, ...inputProps }, ref) => {
681
+ const [inputValue, setInputValue] = React.useState(value);
777
682
  const [inputError, setInputError] = React.useState('');
778
- const [focus, setFocus] = React.useState(false);
779
- const componentId = id || React.useId();
683
+ const [isFocused, setIsFocused] = React.useState(false);
684
+ const generatedId = React.useId();
685
+ const componentId = id || generatedId;
780
686
  const handleChange = React.useCallback((e) => {
781
687
  const newValue = e.target.value;
782
688
  if (!disabled && (!maxLength || newValue.length <= maxLength)) {
783
- setValue(newValue);
689
+ setInputValue(newValue);
784
690
  onChange?.(newValue);
785
691
  }
786
692
  }, [disabled, maxLength, onChange]);
787
- const clearInput = React.useCallback(() => {
693
+ const handleClear = React.useCallback(() => {
788
694
  if (!disabled) {
789
- setValue('');
695
+ setInputValue('');
790
696
  onChange?.('');
791
697
  }
792
698
  }, [disabled, onChange]);
793
- const onBlur = React.useCallback(() => {
794
- // Se existe um errorMessage externo, não validar internamente
795
- if (!errorMessage) {
796
- const error = validateInput({
797
- value: inputValue,
798
- type,
799
- maxLength,
800
- errorMessage,
801
- required,
802
- }) || '';
803
- setInputError(error);
804
- }
805
- setFocus(false);
806
- }, [inputValue, type, maxLength, errorMessage, required]);
807
- React.useEffect(() => {
808
- if (value !== inputValue) {
809
- setValue(value);
810
- }
811
- }, [value]);
812
- // Sincroniza errorMessage externo com estado interno
813
- React.useEffect(() => {
814
- if (errorMessage) {
815
- setInputError(errorMessage);
816
- }
817
- else if (!errorMessage && inputError && !required) {
818
- setInputError('');
819
- }
820
- }, [errorMessage]);
821
- const TextFieldClass = clsx(styles$j['zds-textfield__container'], {
822
- [styles$j['zds-textfield__error']]: inputError,
823
- [styles$j['zds-textfield__disabled']]: disabled,
824
- [className]: className,
825
- });
826
- const shouldRenderCustomIcon = typeof inputValue === 'string' && inputValue.trim().length === 0;
827
- const shouldRenderClearIcon = focus && typeof inputValue === 'string' && inputValue.trim().length > 0;
828
- const helperContent = inputError || (helper && helperText) || '\u00A0';
699
+ const handleBlur = React.useCallback((e) => {
700
+ const error = validateInput({
701
+ value: inputValue,
702
+ maxLength,
703
+ errorMessage,
704
+ required,
705
+ });
706
+ setInputError(error);
707
+ setIsFocused(false);
708
+ onBlur?.(e);
709
+ }, [inputValue, type, maxLength, errorMessage, required, onBlur]);
710
+ const handleFocus = React.useCallback((e) => {
711
+ setIsFocused(true);
712
+ onFocus?.(e);
713
+ }, [onFocus]);
714
+ const showCustomIcon = inputValue.trim().length === 0 && icon;
715
+ const showClearIcon = isFocused && inputValue.trim().length > 0;
716
+ const hasError = Boolean(inputError);
717
+ const displayHelperText = inputError || helperText || '\u00A0';
829
718
  const helperId = inputError
830
719
  ? `${componentId}-error`
831
- : helper && helperText
720
+ : helperText
832
721
  ? `${componentId}-helper`
833
722
  : undefined;
834
- return (jsxRuntime.jsxs("div", { className: TextFieldClass, children: [label && (jsxRuntime.jsx("label", { htmlFor: componentId, className: styles$j['zds-textfield__wrapper-label'], children: tooltip ? (jsxRuntime.jsx(Tooltip, { text: tooltipText, position: positionTooltip, children: jsxRuntime.jsxs("div", { className: styles$j['zds-textfield__container-tooltip'], children: [label, required && jsxRuntime.jsx("span", { className: styles$j['zds-textfield__required'], children: "*" }), jsxRuntime.jsx(reactIcons.Info12Regular, { className: styles$j['zds-textfield__tooltip'] })] }) })) : (jsxRuntime.jsxs("div", { className: styles$j['zds-textfield__container-tooltip'], children: [label, required && jsxRuntime.jsx("span", { className: styles$j['zds-textfield__required'], children: "*" })] })) })), jsxRuntime.jsxs("div", { className: styles$j['zds-textfield__container__box'], children: [jsxRuntime.jsxs("div", { className: styles$j['zds-textfield__box__input'], children: [jsxRuntime.jsx("input", { id: componentId, name: name, type: type, value: inputValue, placeholder: placeholder, onChange: handleChange, onFocus: () => setFocus(true), onBlur: onBlur, maxLength: maxLength, disabled: disabled, "aria-invalid": !!inputError, "aria-required": required, "aria-describedby": helperId }), shouldRenderCustomIcon && (jsxRuntime.jsx("span", { className: styles$j['zds-textfield__icon'], children: icon })), shouldRenderClearIcon && (jsxRuntime.jsx("span", { className: styles$j['zds-textfield__icon'], onClick: clearInput, onMouseDown: (e) => e.preventDefault(), role: "button", tabIndex: 0, "aria-label": "Limpar campo", children: jsxRuntime.jsx(reactIcons.Dismiss16Regular, {}) }))] }), jsxRuntime.jsx("span", { id: helperId, className: styles$j['zds-textfield__helper-text'], "aria-live": inputError ? 'polite' : undefined, children: helperContent })] })] }));
835
- };
836
- const MemoizedTextField = React.memo(TextField);
837
- MemoizedTextField.displayName = 'TextField';
723
+ const containerClass = clsx(styles$i.container, {
724
+ [styles$i.error]: hasError,
725
+ [styles$i.disabled]: disabled,
726
+ [className]: className,
727
+ });
728
+ return (jsxRuntime.jsxs("div", { className: containerClass, children: [label && (jsxRuntime.jsx(LabelComponent, { htmlFor: componentId, required: required, tooltip: tooltip, tooltipText: tooltipText, side: side, align: align, error: hasError, disabled: disabled, children: label })), jsxRuntime.jsxs("div", { className: styles$i.inputWrapper, children: [jsxRuntime.jsxs("div", { className: styles$i.inputContainer, children: [jsxRuntime.jsx("input", { ...inputProps, ref: ref, id: componentId, name: name, type: type, value: inputValue, placeholder: placeholder, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, maxLength: maxLength, disabled: disabled, "aria-invalid": hasError, "aria-required": required, "aria-describedby": helperId }), showCustomIcon && jsxRuntime.jsx("span", { className: styles$i.icon, children: icon }), showClearIcon && (jsxRuntime.jsx("button", { type: "button", className: styles$i.clearButton, onMouseDown: (e) => {
729
+ e.preventDefault();
730
+ handleClear();
731
+ }, "aria-label": "Limpar campo", tabIndex: -1, children: jsxRuntime.jsx(reactIcons.Dismiss16Regular, {}) }))] }), jsxRuntime.jsx("span", { id: helperId, className: styles$i.helperText, "aria-live": hasError ? 'polite' : undefined, children: displayHelperText })] })] }));
732
+ });
733
+ TextField$1.displayName = 'TextField';
734
+ var TextField = React.memo(TextField$1);
838
735
 
839
736
  /**
840
737
  * Formata uma data para string conforme o locale.
@@ -929,7 +826,7 @@ function parseDate(dateString, locale = 'pt-br') {
929
826
  return date;
930
827
  }
931
828
 
932
- var styles$i = {"zds-date-picker":"DatePicker-module__zds-date-picker___FjFTb","zds-date-picker__calendar-popup":"DatePicker-module__zds-date-picker__calendar-popup___hEkq7","zds-calendar--left":"DatePicker-module__zds-calendar--left___5z2UM","zds-calendar--right":"DatePicker-module__zds-calendar--right___NCJtd"};
829
+ var styles$h = {"zds-date-picker":"DatePicker-module__zds-date-picker___FjFTb","zds-date-picker__calendar-popup":"DatePicker-module__zds-date-picker__calendar-popup___hEkq7","zds-calendar--left":"DatePicker-module__zds-calendar--left___5z2UM","zds-calendar--right":"DatePicker-module__zds-calendar--right___NCJtd"};
933
830
 
934
831
  const DatePicker = ({ locale = 'pt-br', calendarPosition = 'left', helperText = '', required = false, label = 'Data', value, defaultValue, onChange, disabled = false, error: externalError, minDate, maxDate, className = '', 'data-testid': testId, }) => {
935
832
  // ✅ IDs únicos para acessibilidade
@@ -1111,13 +1008,13 @@ const DatePicker = ({ locale = 'pt-br', calendarPosition = 'left', helperText =
1111
1008
  setTempInputValue(formatDate(currentSelectedDate, locale));
1112
1009
  }
1113
1010
  }, [locale, currentSelectedDate, isEditing]);
1114
- return (jsxRuntime.jsx("div", { ref: wrapperRef, children: jsxRuntime.jsxs("div", { className: clsx(styles$i['zds-date-picker']), children: [jsxRuntime.jsx("div", { onClick: handleFieldClick, onFocus: handleFieldFocus, onKeyDown: handleKeyDown, style: { cursor: 'pointer' }, children: jsxRuntime.jsx(MemoizedTextField, { type: "tel", icon: jsxRuntime.jsx(reactIcons.Calendar16Regular, { onClick: handleIconClick, style: { cursor: 'pointer' } }), onChange: (e) => {
1011
+ return (jsxRuntime.jsx("div", { ref: wrapperRef, children: jsxRuntime.jsxs("div", { className: clsx(styles$h['zds-date-picker']), children: [jsxRuntime.jsx("div", { onClick: handleFieldClick, onFocus: handleFieldFocus, onKeyDown: handleKeyDown, style: { cursor: 'pointer' }, children: jsxRuntime.jsx(TextField, { type: "tel", icon: jsxRuntime.jsx(reactIcons.Calendar16Regular, { onClick: handleIconClick, style: { cursor: 'pointer' } }), onChange: (e) => {
1115
1012
  handleTextFieldChange(String(e));
1116
- }, "aria-label": "Open calendar", "aria-expanded": showCalendar, "aria-controls": "calendar-popup", placeholder: locale === 'en-us' ? 'MM/DD/YYYY' : 'DD/MM/YYYY', value: displayValue, errorMessage: undefined, "aria-invalid": !!currentError, "aria-describedby": combinedHelperText ? helperTextId : undefined, maxLength: 10, helper: combinedHelperText ? true : false, helperText: combinedHelperText, required: required, label: label }) }), jsxRuntime.jsx("div", { className: clsx(styles$i['zds-date-picker__calendar-popup'], calendarPosition === 'left' && styles$i['zds-calendar--left'], calendarPosition === 'right' && styles$i['zds-calendar--right']), children: showCalendar && (jsxRuntime.jsx(MemoizedCalendar, { selectedDate: currentSelectedDate, currentDate: currentDate, onDateChange: setCurrentDate, onDaySelect: handleDaySelect, locale: locale, format: locale === 'en-us' ? 'mm/dd/yyyy' : 'dd/mm/yyyy' })) })] }) }));
1013
+ }, "aria-label": "Open calendar", "aria-expanded": showCalendar, "aria-controls": "calendar-popup", placeholder: locale === 'en-us' ? 'MM/DD/YYYY' : 'DD/MM/YYYY', value: displayValue, errorMessage: undefined, "aria-invalid": !!currentError, "aria-describedby": combinedHelperText ? helperTextId : undefined, maxLength: 10, helperText: combinedHelperText, required: required, label: label }) }), jsxRuntime.jsx("div", { className: clsx(styles$h['zds-date-picker__calendar-popup'], calendarPosition === 'left' && styles$h['zds-calendar--left'], calendarPosition === 'right' && styles$h['zds-calendar--right']), children: showCalendar && (jsxRuntime.jsx(MemoizedCalendar, { selectedDate: currentSelectedDate, currentDate: currentDate, onDateChange: setCurrentDate, onDaySelect: handleDaySelect, locale: locale, format: locale === 'en-us' ? 'mm/dd/yyyy' : 'dd/mm/yyyy' })) })] }) }));
1117
1014
  };
1118
1015
  var DatePicker_default = React.memo(DatePicker);
1119
1016
 
1120
- var styles$h = {"zds-dialog__overlay":"Dialog-module__zds-dialog__overlay___I0T-Q","zds-dialog__wrapper":"Dialog-module__zds-dialog__wrapper___Va69y","zds-dialog":"Dialog-module__zds-dialog___Bi-9b","zds-dialog__title":"Dialog-module__zds-dialog__title___w9yHe","zds-dialog__text":"Dialog-module__zds-dialog__text___-GmvH","zds-dialog__actions":"Dialog-module__zds-dialog__actions___hHHmN"};
1017
+ var styles$g = {"zds-dialog__overlay":"Dialog-module__zds-dialog__overlay___I0T-Q","zds-dialog__wrapper":"Dialog-module__zds-dialog__wrapper___Va69y","zds-dialog":"Dialog-module__zds-dialog___Bi-9b","zds-dialog__title":"Dialog-module__zds-dialog__title___w9yHe","zds-dialog__text":"Dialog-module__zds-dialog__text___-GmvH","zds-dialog__actions":"Dialog-module__zds-dialog__actions___hHHmN"};
1121
1018
 
1122
1019
  const useFocusTrap = (isActive) => {
1123
1020
  const containerRef = React.useRef(null);
@@ -1200,13 +1097,13 @@ const Dialog = ({ show, title, text, textConfirm = 'OK', textCancel = 'Cancelar'
1200
1097
  }, [show, handleCancel]);
1201
1098
  if (!show)
1202
1099
  return null;
1203
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: styles$h['zds-dialog__overlay'] }), jsxRuntime.jsx("div", { className: styles$h['zds-dialog__wrapper'], children: jsxRuntime.jsxs("div", { className: clsx(styles$h['zds-dialog'], className), role: "dialog", "aria-modal": "true", id: id, "aria-labelledby": `zds-dialog-title-${id}`, "aria-describedby": `zds-dialog-desc-${id}`, tabIndex: -1, ref: containerRef, children: [jsxRuntime.jsx("div", { id: `zds-dialog-title-${id}`, className: styles$h['zds-dialog__title'], children: title }), jsxRuntime.jsx("div", { id: `zds-dialog-desc-${id}`, className: styles$h['zds-dialog__text'], children: text }), jsxRuntime.jsxs("div", { className: styles$h['zds-dialog__actions'], children: [!!(textCancel && textCancel.trim()) && (jsxRuntime.jsx(Button, { variant: "outlined", onClick: handleCancel, children: textCancel })), jsxRuntime.jsx(Button, { variant: "filled", onClick: handleConfirm, children: textConfirm })] })] }) })] }));
1100
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: styles$g['zds-dialog__overlay'] }), jsxRuntime.jsx("div", { className: styles$g['zds-dialog__wrapper'], children: jsxRuntime.jsxs("div", { className: clsx(styles$g['zds-dialog'], className), role: "dialog", "aria-modal": "true", id: id, "aria-labelledby": `zds-dialog-title-${id}`, "aria-describedby": `zds-dialog-desc-${id}`, tabIndex: -1, ref: containerRef, children: [jsxRuntime.jsx("div", { id: `zds-dialog-title-${id}`, className: styles$g['zds-dialog__title'], children: title }), jsxRuntime.jsx("div", { id: `zds-dialog-desc-${id}`, className: styles$g['zds-dialog__text'], children: text }), jsxRuntime.jsxs("div", { className: styles$g['zds-dialog__actions'], children: [!!(textCancel && textCancel.trim()) && (jsxRuntime.jsx(Button, { variant: "outlined", onClick: handleCancel, children: textCancel })), jsxRuntime.jsx(Button, { variant: "filled", onClick: handleConfirm, children: textConfirm })] })] }) })] }));
1204
1101
  };
1205
1102
  // Memoização para otimização de performance
1206
1103
  const MemoizedDialog = React.memo(Dialog);
1207
1104
  MemoizedDialog.displayName = 'Dialog';
1208
1105
 
1209
- var styles$g = {"zds-custom__drawer-shadow":"Drawer-module__zds-custom__drawer-shadow___xoF-q","zds-custom__drawer-shadow--visible":"Drawer-module__zds-custom__drawer-shadow--visible___9JUdU","zds-custom__drawer-sidebar":"Drawer-module__zds-custom__drawer-sidebar___MC8Zt","zds-custom__drawer-sidebar--open":"Drawer-module__zds-custom__drawer-sidebar--open___DiMJb","zds-custom__drawer-sidebar--disabled":"Drawer-module__zds-custom__drawer-sidebar--disabled___6OGsA","zds-drawer__title-close":"Drawer-module__zds-drawer__title-close___g9K3D","zds-drawer__title":"Drawer-module__zds-drawer__title___lqHFw","zds-drawer__children":"Drawer-module__zds-drawer__children___ZnzF6"};
1106
+ var styles$f = {"zds-custom__drawer-shadow":"Drawer-module__zds-custom__drawer-shadow___xoF-q","zds-custom__drawer-shadow--visible":"Drawer-module__zds-custom__drawer-shadow--visible___9JUdU","zds-custom__drawer-sidebar":"Drawer-module__zds-custom__drawer-sidebar___MC8Zt","zds-custom__drawer-sidebar--open":"Drawer-module__zds-custom__drawer-sidebar--open___DiMJb","zds-custom__drawer-sidebar--disabled":"Drawer-module__zds-custom__drawer-sidebar--disabled___6OGsA","zds-drawer__title-close":"Drawer-module__zds-drawer__title-close___g9K3D","zds-drawer__title":"Drawer-module__zds-drawer__title___lqHFw","zds-drawer__children":"Drawer-module__zds-drawer__children___ZnzF6"};
1210
1107
 
1211
1108
  /**
1212
1109
  * Componente Drawer do Zanthus Design System
@@ -1288,18 +1185,18 @@ onClose, title = 'Título', isOpen = false, onOpen, className = '', id, disabled
1288
1185
  event.stopPropagation();
1289
1186
  internalClose();
1290
1187
  };
1291
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: clsx(styles$g['zds-custom__drawer-shadow'], {
1292
- [styles$g['zds-custom__drawer-shadow--visible']]: isOpen,
1293
- }), onClick: handleOverlayClick, role: "presentation", "aria-hidden": "true", "data-testid": "drawer-overlay" }), jsxRuntime.jsxs("div", { className: clsx(styles$g['zds-custom__drawer-sidebar'], {
1294
- [styles$g['zds-custom__drawer-sidebar--open']]: isOpen,
1295
- [styles$g['zds-custom__drawer-sidebar--disabled']]: disabled,
1188
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: clsx(styles$f['zds-custom__drawer-shadow'], {
1189
+ [styles$f['zds-custom__drawer-shadow--visible']]: isOpen,
1190
+ }), onClick: handleOverlayClick, role: "presentation", "aria-hidden": "true", "data-testid": "drawer-overlay" }), jsxRuntime.jsxs("div", { className: clsx(styles$f['zds-custom__drawer-sidebar'], {
1191
+ [styles$f['zds-custom__drawer-sidebar--open']]: isOpen,
1192
+ [styles$f['zds-custom__drawer-sidebar--disabled']]: disabled,
1296
1193
  }, className), style: {
1297
1194
  // ✅ APENAS: Width customizável via CSS custom property
1298
1195
  '--drawer-custom-width': customWidth,
1299
- }, onClick: handleDrawerClick, role: "dialog", "aria-modal": "true", "aria-labelledby": id ? `${id}-title` : 'drawer-title', "aria-hidden": !isOpen, "data-testid": "drawer-panel", id: id, children: [jsxRuntime.jsxs("div", { className: clsx(styles$g['zds-drawer__title-close']), children: [jsxRuntime.jsx("div", { className: clsx(styles$g['zds-drawer__title']), id: id ? `${id}-title` : 'drawer-title', children: title }), jsxRuntime.jsx(Button, { onClick: handleCloseClick, variant: 'text', iconOnly: true, icon: jsxRuntime.jsx(reactIcons.Dismiss16Regular, {}), size: 'lg' })] }), jsxRuntime.jsx("div", { className: clsx(styles$g['zds-drawer__children']), "data-testid": "drawer-content", children: children })] })] }));
1196
+ }, onClick: handleDrawerClick, role: "dialog", "aria-modal": "true", "aria-labelledby": id ? `${id}-title` : 'drawer-title', "aria-hidden": !isOpen, "data-testid": "drawer-panel", id: id, children: [jsxRuntime.jsxs("div", { className: clsx(styles$f['zds-drawer__title-close']), children: [jsxRuntime.jsx("div", { className: clsx(styles$f['zds-drawer__title']), id: id ? `${id}-title` : 'drawer-title', children: title }), jsxRuntime.jsx(Button, { onClick: handleCloseClick, variant: 'text', iconOnly: true, icon: jsxRuntime.jsx(reactIcons.Dismiss16Regular, {}), size: 'lg' })] }), jsxRuntime.jsx("div", { className: clsx(styles$f['zds-drawer__children']), "data-testid": "drawer-content", children: children })] })] }));
1300
1197
  };
1301
1198
 
1302
- var styles$f = {"zds-search":"Search-module__zds-search___DRIVl","zds-search__leftIcon":"Search-module__zds-search__leftIcon___gBvTI","zds-search__clearIcon":"Search-module__zds-search__clearIcon___wsOBs"};
1199
+ var styles$e = {"zds-search":"Search-module__zds-search___DRIVl","zds-search__leftIcon":"Search-module__zds-search__leftIcon___gBvTI","zds-search__clearIcon":"Search-module__zds-search__clearIcon___wsOBs"};
1303
1200
 
1304
1201
  const Search = React.forwardRef(({ placeholder = 'Dica do que deve ser buscado', disabled = false, value, onChange, onKeyDown, onFocus, onBlur, onClear, onClick, onMouseDown, id = '', className = '', }, ref) => {
1305
1202
  const [internalValue, setInternalValue] = React.useState('');
@@ -1346,11 +1243,11 @@ const Search = React.forwardRef(({ placeholder = 'Dica do que deve ser buscado',
1346
1243
  return;
1347
1244
  onKeyDown?.(e);
1348
1245
  };
1349
- const searchClass = clsx(styles$f['zds-search'], {
1246
+ const searchClass = clsx(styles$e['zds-search'], {
1350
1247
  disabled,
1351
1248
  [className]: className,
1352
1249
  });
1353
- return (jsxRuntime.jsxs("div", { className: searchClass, onClick: onClick, onMouseDown: onMouseDown, children: [jsxRuntime.jsx("span", { className: clsx(styles$f['zds-search__leftIcon'], { disabled }), tabIndex: -1, role: "presentation", "aria-hidden": "true", children: jsxRuntime.jsx(reactIcons.Search16Regular, {}) }), jsxRuntime.jsx("input", { ref: ref, id: inputId, type: "text", placeholder: placeholder, "aria-label": placeholder, value: currentValue || '', onChange: handleChange, onKeyDown: handleKeyDown, disabled: disabled, onFocus: handleFocus, onBlur: handleBlur }), currentValue && currentValue.length > 0 && (jsxRuntime.jsx("span", { className: styles$f['zds-search__clearIcon'], "aria-hidden": "true", onClick: clearInputSearch, children: jsxRuntime.jsx(reactIcons.Dismiss16Regular, {}) }))] }));
1250
+ return (jsxRuntime.jsxs("div", { className: searchClass, onClick: onClick, onMouseDown: onMouseDown, children: [jsxRuntime.jsx("span", { className: clsx(styles$e['zds-search__leftIcon'], { disabled }), tabIndex: -1, role: "presentation", "aria-hidden": "true", children: jsxRuntime.jsx(reactIcons.Search16Regular, {}) }), jsxRuntime.jsx("input", { ref: ref, id: inputId, type: "text", placeholder: placeholder, "aria-label": placeholder, value: currentValue || '', onChange: handleChange, onKeyDown: handleKeyDown, disabled: disabled, onFocus: handleFocus, onBlur: handleBlur }), currentValue && currentValue.length > 0 && (jsxRuntime.jsx("span", { className: styles$e['zds-search__clearIcon'], "aria-hidden": "true", onClick: clearInputSearch, children: jsxRuntime.jsx(reactIcons.Dismiss16Regular, {}) }))] }));
1354
1251
  });
1355
1252
  Search.displayName = 'ZdsSearch';
1356
1253
 
@@ -1385,7 +1282,7 @@ const validateItems = (items, type) => {
1385
1282
  });
1386
1283
  };
1387
1284
 
1388
- var styles$e = {"zds-dropdown__container":"Dropdown-module__zds-dropdown__container___UMV5O","zds-dropdown__container--top":"Dropdown-module__zds-dropdown__container--top___nys1y","zds-dropdown__container--bottom":"Dropdown-module__zds-dropdown__container--bottom___5ncXH","zds-dropdown__search-container":"Dropdown-module__zds-dropdown__search-container___5igq1","zds-dropdown__item":"Dropdown-module__zds-dropdown__item___bqAnI","zds-dropdown--disabled":"Dropdown-module__zds-dropdown--disabled___WF-ao","zds-dropdown__item--focused":"Dropdown-module__zds-dropdown__item--focused___ulKda","zds-dropdown__item--selected":"Dropdown-module__zds-dropdown__item--selected___K-Mk-","zds-dropdown__title":"Dropdown-module__zds-dropdown__title___emxcQ","zds-dropdown__subtext":"Dropdown-module__zds-dropdown__subtext___YzXrw","zds-dropdown__item-content":"Dropdown-module__zds-dropdown__item-content___E3qkd","zds-dropdown__item-content--disabled":"Dropdown-module__zds-dropdown__item-content--disabled___RmhHd","zds-dropdown__item-text":"Dropdown-module__zds-dropdown__item-text___D39Qy","zds-dropdown__item-icon":"Dropdown-module__zds-dropdown__item-icon___QdCJz","zds-dropdown__item-icon-container":"Dropdown-module__zds-dropdown__item-icon-container___ULMHu","zds-dropdown__no-results":"Dropdown-module__zds-dropdown__no-results___rUZ-Z","zds-dropdown__list":"Dropdown-module__zds-dropdown__list___d65nL","zds-checkbox":"Dropdown-module__zds-checkbox___rJTmR","zds-dropdown__item--checkbox":"Dropdown-module__zds-dropdown__item--checkbox___z94nE","zds-dropdown__container-filter":"Dropdown-module__zds-dropdown__container-filter___Deixf","zds-dropdown__infinite-scroll-trigger":"Dropdown-module__zds-dropdown__infinite-scroll-trigger___RA9Gd","zds-dropdown__loading-indicator":"Dropdown-module__zds-dropdown__loading-indicator___Zf-uW"};
1285
+ var styles$d = {"zds-dropdown__container":"Dropdown-module__zds-dropdown__container___UMV5O","zds-dropdown__container--top":"Dropdown-module__zds-dropdown__container--top___nys1y","zds-dropdown__container--bottom":"Dropdown-module__zds-dropdown__container--bottom___5ncXH","zds-dropdown__search-container":"Dropdown-module__zds-dropdown__search-container___5igq1","zds-dropdown__item":"Dropdown-module__zds-dropdown__item___bqAnI","zds-dropdown--disabled":"Dropdown-module__zds-dropdown--disabled___WF-ao","zds-dropdown__item--focused":"Dropdown-module__zds-dropdown__item--focused___ulKda","zds-dropdown__item--selected":"Dropdown-module__zds-dropdown__item--selected___K-Mk-","zds-dropdown__title":"Dropdown-module__zds-dropdown__title___emxcQ","zds-dropdown__subtext":"Dropdown-module__zds-dropdown__subtext___YzXrw","zds-dropdown__item-content":"Dropdown-module__zds-dropdown__item-content___E3qkd","zds-dropdown__item-content--disabled":"Dropdown-module__zds-dropdown__item-content--disabled___RmhHd","zds-dropdown__item-text":"Dropdown-module__zds-dropdown__item-text___D39Qy","zds-dropdown__item-icon":"Dropdown-module__zds-dropdown__item-icon___QdCJz","zds-dropdown__item-icon-container":"Dropdown-module__zds-dropdown__item-icon-container___ULMHu","zds-dropdown__no-results":"Dropdown-module__zds-dropdown__no-results___rUZ-Z","zds-dropdown__list":"Dropdown-module__zds-dropdown__list___d65nL","zds-checkbox":"Dropdown-module__zds-checkbox___rJTmR","zds-dropdown__item--checkbox":"Dropdown-module__zds-dropdown__item--checkbox___z94nE","zds-dropdown__container-filter":"Dropdown-module__zds-dropdown__container-filter___Deixf","zds-dropdown__infinite-scroll-trigger":"Dropdown-module__zds-dropdown__infinite-scroll-trigger___RA9Gd","zds-dropdown__loading-indicator":"Dropdown-module__zds-dropdown__loading-indicator___Zf-uW"};
1389
1286
 
1390
1287
  /**
1391
1288
  * Hook otimizado para scroll infinito usando IntersectionObserver
@@ -1650,17 +1547,17 @@ const Dropdown = ({ className, items = [], id, type = 'text', applySearch = fals
1650
1547
  const renderItemContent = React.useCallback((item, index) => {
1651
1548
  const itemId = item.id || `dropdown-item-${index}`;
1652
1549
  const currentSelection = filter ? tempSelectedItems : selectedItems;
1653
- return (jsxRuntime.jsxs("div", { className: clsx(styles$e['zds-dropdown__item-content'], {
1654
- [styles$e['zds-dropdown__item-content--disabled']]: item.disabled,
1655
- }), children: [type === 'checkbox' && (jsxRuntime.jsx(MemoizedCheckbox, { checked: currentSelection[itemId], onChange: (event) => {
1656
- event.preventDefault();
1657
- event.stopPropagation();
1550
+ return (jsxRuntime.jsxs("div", { className: clsx(styles$d['zds-dropdown__item-content'], {
1551
+ [styles$d['zds-dropdown__item-content--disabled']]: item.disabled,
1552
+ }), children: [type === 'checkbox' && (jsxRuntime.jsx(Checkbox, { checked: !!currentSelection[itemId], onCheckedChange: (checked) => {
1553
+ if (checked === 'indeterminate')
1554
+ return;
1658
1555
  toggleSelection(itemId, item);
1659
- }, disabled: item.disabled, label: "" })), type === 'icon' && item.icon && (jsxRuntime.jsx("div", { className: styles$e['zds-dropdown__item-icon-container'], children: jsxRuntime.jsx("span", { className: styles$e['zds-dropdown__item-icon'], onClick: (event) => {
1556
+ }, disabled: item.disabled, label: "" })), type === 'icon' && item.icon && (jsxRuntime.jsx("div", { className: styles$d['zds-dropdown__item-icon-container'], children: jsxRuntime.jsx("span", { className: styles$d['zds-dropdown__item-icon'], onClick: (event) => {
1660
1557
  event.preventDefault();
1661
1558
  event.stopPropagation();
1662
1559
  handleItemClick(event, itemId, item);
1663
- }, children: item.icon }) })), jsxRuntime.jsxs("div", { className: styles$e['zds-dropdown__item-text'], children: [jsxRuntime.jsx("span", { id: `dropdown-item-${itemId}-label`, className: styles$e['zds-dropdown__title'], children: item.text }), showSubText && item.subText && (jsxRuntime.jsx("span", { id: `dropdown-item-${itemId}-desc`, className: styles$e['zds-dropdown__subtext'], children: item.subText }))] })] }));
1560
+ }, children: item.icon }) })), jsxRuntime.jsxs("div", { className: styles$d['zds-dropdown__item-text'], children: [jsxRuntime.jsx("span", { id: `dropdown-item-${itemId}-label`, className: styles$d['zds-dropdown__title'], children: item.text }), showSubText && item.subText && (jsxRuntime.jsx("span", { id: `dropdown-item-${itemId}-desc`, className: styles$d['zds-dropdown__subtext'], children: item.subText }))] })] }));
1664
1561
  }, [
1665
1562
  type,
1666
1563
  selectedItems,
@@ -1725,10 +1622,10 @@ const Dropdown = ({ className, items = [], id, type = 'text', applySearch = fals
1725
1622
  isSearchFocused,
1726
1623
  handleSearchClear,
1727
1624
  ]);
1728
- const DropdownClass = clsx(styles$e['zds-dropdown__container'], styles$e[`zds-dropdown__container--${position}`], {
1625
+ const DropdownClass = clsx(styles$d['zds-dropdown__container'], styles$d[`zds-dropdown__container--${position}`], {
1729
1626
  [className || '']: className,
1730
- [styles$e['zds-dropdown__container--search-active']]: searchQuery.length > 0,
1731
- [styles$e['zds-dropdown__container--fixed-width']]: !!maxWidth,
1627
+ [styles$d['zds-dropdown__container--search-active']]: searchQuery.length > 0,
1628
+ [styles$d['zds-dropdown__container--fixed-width']]: !!maxWidth,
1732
1629
  });
1733
1630
  const dropdownStyles = React.useMemo(() => {
1734
1631
  const styles = {};
@@ -1750,14 +1647,14 @@ const Dropdown = ({ className, items = [], id, type = 'text', applySearch = fals
1750
1647
  }
1751
1648
  return styles;
1752
1649
  }, [maxWidth, minWidth, width, maxHeight]);
1753
- return (jsxRuntime.jsx("div", { ref: containerRef, className: DropdownClass, tabIndex: 0, role: "combobox", "aria-expanded": filteredItems.length > 0 ? 'true' : 'false', "aria-haspopup": "listbox", "aria-owns": id ? `${id}-listbox` : undefined, "aria-controls": id ? `${id}-listbox` : undefined, "aria-activedescendant": focusedIndex >= 0 ? `${id}-option-${focusedIndex}` : undefined, "aria-label": "Dropdown de sele\u00E7\u00E3o", "aria-describedby": searchVisible ? `${id}-search-help` : undefined, onKeyDown: handleKeyDown, style: dropdownStyles, children: jsxRuntime.jsxs("ul", { className: styles$e['zds-dropdown__list'], id: id || undefined, role: "listbox", "aria-label": "Lista de op\u00E7\u00F5es", "aria-multiselectable": isMultiSelectable, children: [searchVisible && (jsxRuntime.jsx("li", { role: "none", className: styles$e['zds-dropdown__search-container'], children: jsxRuntime.jsx(Search, { value: inputValue, placeholder: placeholder || 'Digite e pressione Enter para buscar...', onChange: handleSearchChange, onKeyDown: handleSearchKeyDown, onFocus: () => setIsSearchFocused(true), onBlur: () => setIsSearchFocused(false), onClear: handleSearchClear, "aria-label": "Campo de busca - pressione Enter para pesquisar" }) })), filteredItems.length > 0 ? (filteredItems.map((item, index) => {
1650
+ return (jsxRuntime.jsx("div", { ref: containerRef, className: DropdownClass, tabIndex: 0, role: "combobox", "aria-expanded": filteredItems.length > 0 ? 'true' : 'false', "aria-haspopup": "listbox", "aria-owns": id ? `${id}-listbox` : undefined, "aria-controls": id ? `${id}-listbox` : undefined, "aria-activedescendant": focusedIndex >= 0 ? `${id}-option-${focusedIndex}` : undefined, "aria-label": "Dropdown de sele\u00E7\u00E3o", "aria-describedby": searchVisible ? `${id}-search-help` : undefined, onKeyDown: handleKeyDown, style: dropdownStyles, children: jsxRuntime.jsxs("ul", { className: styles$d['zds-dropdown__list'], id: id || undefined, role: "listbox", "aria-label": "Lista de op\u00E7\u00F5es", "aria-multiselectable": isMultiSelectable, children: [searchVisible && (jsxRuntime.jsx("li", { role: "none", className: styles$d['zds-dropdown__search-container'], children: jsxRuntime.jsx(Search, { value: inputValue, placeholder: placeholder || 'Digite e pressione Enter para buscar...', onChange: handleSearchChange, onKeyDown: handleSearchKeyDown, onFocus: () => setIsSearchFocused(true), onBlur: () => setIsSearchFocused(false), onClear: handleSearchClear, "aria-label": "Campo de busca - pressione Enter para pesquisar" }) })), filteredItems.length > 0 ? (filteredItems.map((item, index) => {
1754
1651
  const itemId = generateItemId(item, index);
1755
1652
  const currentSelection = filter ? tempSelectedItems : selectedItems;
1756
- return (jsxRuntime.jsx("li", { role: "option", "aria-selected": !!currentSelection[itemId], "aria-labelledby": `dropdown-item-${itemId}-label`, "aria-describedby": item.subText ? `dropdown-item-${itemId}-desc` : undefined, className: clsx(styles$e['zds-dropdown__item'], {
1757
- [styles$e[`zds-dropdown__item--${type}`]]: type,
1758
- [styles$e['zds-dropdown__item--selected']]: currentSelection[itemId],
1759
- [styles$e['zds-dropdown__item--focused']]: focusedIndex === index,
1760
- [styles$e['zds-dropdown__item--disabled']]: item.disabled,
1653
+ return (jsxRuntime.jsx("li", { role: "option", "aria-selected": !!currentSelection[itemId], "aria-labelledby": `dropdown-item-${itemId}-label`, "aria-describedby": item.subText ? `dropdown-item-${itemId}-desc` : undefined, className: clsx(styles$d['zds-dropdown__item'], {
1654
+ [styles$d[`zds-dropdown__item--${type}`]]: type,
1655
+ [styles$d['zds-dropdown__item--selected']]: currentSelection[itemId],
1656
+ [styles$d['zds-dropdown__item--focused']]: focusedIndex === index,
1657
+ [styles$d['zds-dropdown__item--disabled']]: item.disabled,
1761
1658
  }), tabIndex: focusedIndex === index ? 0 : -1, onFocus: () => setFocusedIndex(index), onClick: (event) => {
1762
1659
  event.stopPropagation();
1763
1660
  handleItemClick(event, itemId, item);
@@ -1767,12 +1664,12 @@ const Dropdown = ({ className, items = [], id, type = 'text', applySearch = fals
1767
1664
  setFocusedIndex(index);
1768
1665
  }
1769
1666
  }, children: renderItemContent(item, index) }, itemId));
1770
- })) : (jsxRuntime.jsx("li", { className: styles$e['zds-dropdown__no-results'], role: "status", "aria-live": "polite", children: "Nenhum item corresponde \u00E0 sua busca" })), filter && (jsxRuntime.jsxs("div", { className: styles$e['zds-dropdown__container-filter'], children: [jsxRuntime.jsx(Button, { size: "sm", variant: "outlined", onClick: handleClearFilter, children: "Limpar" }), jsxRuntime.jsx(Button, { size: "sm", onClick: handleApplyFilter, children: "Aplicar" })] })), infiniteScrollHook && infiniteScrollHook.hasNextPage && (jsxRuntime.jsx("li", { role: "none", className: styles$e['zds-dropdown__infinite-scroll-trigger'], children: jsxRuntime.jsx("div", { ref: infiniteScrollHook.observerRef, className: styles$e['zds-dropdown__loading-indicator'], children: infiniteScroll?.status === 'loading' ? (jsxRuntime.jsx("span", { children: "Carregando..." })) : (jsxRuntime.jsx("span", { children: "Trigger" })) }) }))] }) }));
1667
+ })) : (jsxRuntime.jsx("li", { className: styles$d['zds-dropdown__no-results'], role: "status", "aria-live": "polite", children: "Nenhum item corresponde \u00E0 sua busca" })), filter && (jsxRuntime.jsxs("div", { className: styles$d['zds-dropdown__container-filter'], children: [jsxRuntime.jsx(Button, { size: "sm", variant: "outlined", onClick: handleClearFilter, children: "Limpar" }), jsxRuntime.jsx(Button, { size: "sm", onClick: handleApplyFilter, children: "Aplicar" })] })), infiniteScrollHook && infiniteScrollHook.hasNextPage && (jsxRuntime.jsx("li", { role: "none", className: styles$d['zds-dropdown__infinite-scroll-trigger'], children: jsxRuntime.jsx("div", { ref: infiniteScrollHook.observerRef, className: styles$d['zds-dropdown__loading-indicator'], children: infiniteScroll?.status === 'loading' ? (jsxRuntime.jsx("span", { children: "Carregando..." })) : (jsxRuntime.jsx("span", { children: "Trigger" })) }) }))] }) }));
1771
1668
  };
1772
1669
  const MemoizedDropdown = React.memo(Dropdown);
1773
1670
  MemoizedDropdown.displayName = 'Dropdown';
1774
1671
 
1775
- var styles$d = {"zds-filter__container":"Filter-module__zds-filter__container___0E-nC","zds-filter__button":"Filter-module__zds-filter__button___gT9yM","zds-filter__icon":"Filter-module__zds-filter__icon___ypiCu","zds-filter__text":"Filter-module__zds-filter__text___1iywL","zds-filter__arrow":"Filter-module__zds-filter__arrow___xflU2","zds-filter__arrow--up":"Filter-module__zds-filter__arrow--up___R0HR-","zds-filter__arrow--down":"Filter-module__zds-filter__arrow--down___4YMmg","zds-filter__button--open":"Filter-module__zds-filter__button--open___OA6EF","zds-filter__dropdown":"Filter-module__zds-filter__dropdown___-67MJ","zds-filter__dropdown--left":"Filter-module__zds-filter__dropdown--left___GgonW","zds-filter__dropdown--right":"Filter-module__zds-filter__dropdown--right___7GS9L","zds-filter-button__content":"Filter-module__zds-filter-button__content___eNIIz","zds-filter-button__arrow":"Filter-module__zds-filter-button__arrow___ZhymS","zds-filter-button__icon":"Filter-module__zds-filter-button__icon___-42Ey"};
1672
+ var styles$c = {"zds-filter__container":"Filter-module__zds-filter__container___0E-nC","zds-filter__button":"Filter-module__zds-filter__button___gT9yM","zds-filter__icon":"Filter-module__zds-filter__icon___ypiCu","zds-filter__text":"Filter-module__zds-filter__text___1iywL","zds-filter__arrow":"Filter-module__zds-filter__arrow___xflU2","zds-filter__arrow--up":"Filter-module__zds-filter__arrow--up___R0HR-","zds-filter__arrow--down":"Filter-module__zds-filter__arrow--down___4YMmg","zds-filter__button--open":"Filter-module__zds-filter__button--open___OA6EF","zds-filter__dropdown":"Filter-module__zds-filter__dropdown___-67MJ","zds-filter__dropdown--left":"Filter-module__zds-filter__dropdown--left___GgonW","zds-filter__dropdown--right":"Filter-module__zds-filter__dropdown--right___7GS9L","zds-filter-button__content":"Filter-module__zds-filter-button__content___eNIIz","zds-filter-button__arrow":"Filter-module__zds-filter-button__arrow___ZhymS","zds-filter-button__icon":"Filter-module__zds-filter-button__icon___-42Ey"};
1776
1673
 
1777
1674
  // ✅ CORREÇÃO: Problema de loop infinito no useEffect
1778
1675
  const Filter = ({ items = [], type = 'checkbox', selectedIds = [], onApplyFilter, placeholder = 'Selecionar...', enableSearch = false, buttonText = 'Filter', icon, variant = 'outlined', onOpen, onClose, position = 'left', disabled = false, className = '', selectedDate, onDateSelect, onClearDate, minDate, maxDate, locale = 'pt-br', }) => {
@@ -1857,41 +1754,25 @@ const Filter = ({ items = [], type = 'checkbox', selectedIds = [], onApplyFilter
1857
1754
  }
1858
1755
  return () => document.removeEventListener('keydown', handleEscape);
1859
1756
  }, [isOpen, onClose]);
1860
- const filterClass = clsx(styles$d['zds-filter__container'], className);
1861
- const dropdownClass = clsx(styles$d['zds-filter__dropdown'], {
1862
- [styles$d[`zds-filter__dropdown--${position}`]]: position,
1757
+ const filterClass = clsx(styles$c['zds-filter__container'], className);
1758
+ const dropdownClass = clsx(styles$c['zds-filter__dropdown'], {
1759
+ [styles$c[`zds-filter__dropdown--${position}`]]: position,
1863
1760
  });
1864
- return (jsxRuntime.jsxs("div", { ref: filterRef, className: filterClass, children: [jsxRuntime.jsx(Button, { variant: variant, onClick: handleToggle, disabled: disabled, icon: type === 'calendar' ? jsxRuntime.jsx(reactIcons.Calendar16Regular, {}) : jsxRuntime.jsx(reactIcons.ChevronDownRegular, {}), iconPosition: "right", size: "lg", children: jsxRuntime.jsxs("div", { className: styles$d['zds-filter-button__content'], children: [icon && jsxRuntime.jsx("span", { className: styles$d['zds-filter-button__icon'], children: icon }), jsxRuntime.jsx("span", { className: styles$d['zds-filter-button__text'], children: buttonDisplayText }), jsxRuntime.jsx("span", { className: `${styles$d['zds-filter-button__arrow']} ${isOpen ? styles$d['zds-filter-button__arrow--open'] : ''}`, children: getBadgeValue() && (jsxRuntime.jsx(Badge, { badgeValue: `+${getBadgeValue()}`, type: "status" })) })] }) }), isOpen && (jsxRuntime.jsx("div", { className: dropdownClass, children: type === 'calendar' ? (jsxRuntime.jsx(MemoizedCalendar, { currentDate: currentCalendarDate, selectedDate: selectedDate, onDaySelect: handleDateSelection, onDateChange: handleCalendarNavigation, minDate: minDate, maxDate: maxDate, locale: locale, onClear: handleClear, id: `filter-calendar-${filterRef.current?.id || ''}`, "aria-label": "Selecionar data para filtro" })) : (jsxRuntime.jsx(MemoizedDropdown, { items: items, type: type, defaultSelectedIds: selectedIds, placeholder: placeholder, applySearch: enableSearch, filter: true, onSelectionChange: handleApplyFilter })) }))] }));
1761
+ return (jsxRuntime.jsxs("div", { ref: filterRef, className: filterClass, children: [jsxRuntime.jsx(Button, { variant: variant, onClick: handleToggle, disabled: disabled, icon: type === 'calendar' ? jsxRuntime.jsx(reactIcons.Calendar16Regular, {}) : jsxRuntime.jsx(reactIcons.ChevronDownRegular, {}), iconPosition: "right", size: "lg", children: jsxRuntime.jsxs("div", { className: styles$c['zds-filter-button__content'], children: [icon && jsxRuntime.jsx("span", { className: styles$c['zds-filter-button__icon'], children: icon }), jsxRuntime.jsx("span", { className: styles$c['zds-filter-button__text'], children: buttonDisplayText }), jsxRuntime.jsx("span", { className: `${styles$c['zds-filter-button__arrow']} ${isOpen ? styles$c['zds-filter-button__arrow--open'] : ''}`, children: getBadgeValue() && (jsxRuntime.jsx(Badge, { badgeValue: `+${getBadgeValue()}`, type: "status" })) })] }) }), isOpen && (jsxRuntime.jsx("div", { className: dropdownClass, children: type === 'calendar' ? (jsxRuntime.jsx(MemoizedCalendar, { currentDate: currentCalendarDate, selectedDate: selectedDate, onDaySelect: handleDateSelection, onDateChange: handleCalendarNavigation, minDate: minDate, maxDate: maxDate, locale: locale, onClear: handleClear, id: `filter-calendar-${filterRef.current?.id || ''}`, "aria-label": "Selecionar data para filtro" })) : (jsxRuntime.jsx(MemoizedDropdown, { items: items, type: type, defaultSelectedIds: selectedIds, placeholder: placeholder, applySearch: enableSearch, filter: true, onSelectionChange: handleApplyFilter })) }))] }));
1865
1762
  };
1866
1763
 
1867
- var styles$c = {"zds-radiobutton":"Radio-module__zds-radiobutton___b7a-O","zds-radiobutton__box-check":"Radio-module__zds-radiobutton__box-check___nJoyz","zds-radiobutton__box-check__text":"Radio-module__zds-radiobutton__box-check__text___xk4xV","zds-radiobutton__mini-box":"Radio-module__zds-radiobutton__mini-box___o0vCx","zds-radiobutton__disabled":"Radio-module__zds-radiobutton__disabled___rU5Yf"};
1764
+ var styles$b = {"root":"Radio-module__root___7ElY2","wrapper":"Radio-module__wrapper___NYQ1y","disabled":"Radio-module__disabled___RZ0be","labelText":"Radio-module__labelText___Wkb41","item":"Radio-module__item___3Kvj7","itemWrapper":"Radio-module__itemWrapper___5KbM1","labelWrapper":"Radio-module__labelWrapper___LOHmJ","indicator":"Radio-module__indicator___TJ5hz"};
1868
1765
 
1869
- /**
1870
- * Componente Radio para seleção única em grupos
1871
- *
1872
- * @description Componente de botão de rádio com label integrado,
1873
- * suporte a estados disabled e acessibilidade completa.
1874
- */
1875
- const Radio = ({ name = 'radiobutton', value = '', id, checked = false, className = '', onChange, label = '', disabled = false, }) => {
1876
- const uniqueId = React.useId();
1877
- const inputId = id || uniqueId;
1878
- const handleChange = (e) => {
1879
- if (disabled)
1880
- return;
1881
- onChange?.(e.target.value);
1882
- };
1883
- const radioClass = clsx(styles$c['zds-radiobutton'], {
1884
- [styles$c['zds-radiobutton--disabled']]: disabled,
1885
- }, className);
1886
- const labelClass = clsx(styles$c['zds-radiobutton__box-check'], {
1887
- [styles$c['zds-radiobutton__disabled']]: disabled,
1888
- });
1889
- return (jsxRuntime.jsx("div", { className: radioClass, children: jsxRuntime.jsxs("label", { className: labelClass, htmlFor: inputId, children: [jsxRuntime.jsx("div", { className: styles$c['zds-radiobutton__mini-box'], children: jsxRuntime.jsx("input", { id: inputId, type: "radio", name: name, value: value, checked: checked, disabled: disabled, onChange: handleChange }) }), label && (jsxRuntime.jsx("span", { id: `${inputId}-description`, className: styles$c['zds-radiobutton__box-check__text'], children: label }))] }) }));
1766
+ const Radio = ({ items, onValueChange, defaultValue, name, id, ariaLabel, orientation = 'vertical', ...rest }) => {
1767
+ const componentId = id || React.useId();
1768
+ return (jsxRuntime.jsx(radixUi.RadioGroup.Root, { id: componentId, className: styles$b.root, defaultValue: defaultValue, onValueChange: onValueChange, name: name, "aria-label": ariaLabel, "data-orientation": orientation, orientation: orientation, ...rest, children: items.map(({ id, value, disabled, label }) => {
1769
+ const itemKey = id ?? value;
1770
+ const uniqueId = `${componentId}-item-${value}`;
1771
+ return (jsxRuntime.jsx("div", { className: clsx(styles$b.wrapper, { [styles$b.disabled]: disabled }), children: jsxRuntime.jsxs("label", { className: styles$b.labelWrapper, htmlFor: uniqueId, children: [jsxRuntime.jsx("div", { className: styles$b.itemWrapper, children: jsxRuntime.jsx(radixUi.RadioGroup.Item, { disabled: disabled, className: styles$b.item, value: value, id: uniqueId, "data-disabled": disabled, children: jsxRuntime.jsx(radixUi.RadioGroup.Indicator, { className: styles$b.indicator }) }) }), jsxRuntime.jsx("span", { className: styles$b.labelText, children: label })] }) }, itemKey));
1772
+ }) }));
1890
1773
  };
1891
- const MemoizedRadio = React.memo(Radio);
1892
- MemoizedRadio.displayName = 'Radio';
1893
1774
 
1894
- var styles$b = {"zds-list-item__container":"ListItem-module__zds-list-item__container___mEIUK","zds-list-item--checkbox":"ListItem-module__zds-list-item--checkbox___wfi9-","zds-list-item--icon":"ListItem-module__zds-list-item--icon___h3Ijt","zds-list-item--radio":"ListItem-module__zds-list-item--radio___2l7mK","zds-list-item--text":"ListItem-module__zds-list-item--text___F0PDx","zds-list-item--hovered":"ListItem-module__zds-list-item--hovered___XrDWn","zds-list-item--disabled":"ListItem-module__zds-list-item--disabled___p1xZF","zds-list-item__wrapper-text":"ListItem-module__zds-list-item__wrapper-text___5-TX2","zds-list-item__wrapper-icon":"ListItem-module__zds-list-item__wrapper-icon___S6Fr1","zds-list-item__title":"ListItem-module__zds-list-item__title___AV7nz","zds-list-item__subtext":"ListItem-module__zds-list-item__subtext___nfXky","zds-list-item__text":"ListItem-module__zds-list-item__text___3y0sB"};
1775
+ var styles$a = {"zds-list-item__container":"ListItem-module__zds-list-item__container___mEIUK","zds-list-item--checkbox":"ListItem-module__zds-list-item--checkbox___wfi9-","zds-list-item--icon":"ListItem-module__zds-list-item--icon___h3Ijt","zds-list-item--radio":"ListItem-module__zds-list-item--radio___2l7mK","zds-list-item--text":"ListItem-module__zds-list-item--text___F0PDx","zds-list-item--hovered":"ListItem-module__zds-list-item--hovered___XrDWn","zds-list-item--disabled":"ListItem-module__zds-list-item--disabled___p1xZF","zds-list-item__wrapper-text":"ListItem-module__zds-list-item__wrapper-text___5-TX2","zds-list-item__wrapper-icon":"ListItem-module__zds-list-item__wrapper-icon___S6Fr1","zds-list-item__title":"ListItem-module__zds-list-item__title___AV7nz","zds-list-item__subtext":"ListItem-module__zds-list-item__subtext___nfXky","zds-list-item__text":"ListItem-module__zds-list-item__text___3y0sB"};
1895
1776
 
1896
1777
  /**
1897
1778
  * Componente ListItem do Zanthus Design System
@@ -1976,20 +1857,24 @@ const ListItem = ({ id, className, variant = 'text', text = '', name = '', subTe
1976
1857
  const currentVariant = validVariants.includes(variant) ? variant : 'text';
1977
1858
  switch (currentVariant) {
1978
1859
  case 'checkbox':
1979
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(MemoizedCheckbox, { name: name, checked: internalChecked, disabled: disabled, label: "", onChange: () => handleCheckboxClick({}), value: value }), jsxRuntime.jsxs("div", { className: styles$b['zds-list-item__wrapper-text'], children: [jsxRuntime.jsx("span", { id: `${itemId}-text`, className: styles$b['zds-list-item__text'], onClick: handleCheckboxClick, children: text }), showSubText && subText && (jsxRuntime.jsx("span", { id: `${itemId}-subtext`, className: styles$b['zds-list-item__subtext'], onClick: handleCheckboxClick, children: subText }))] })] }));
1860
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Checkbox, { checked: internalChecked, disabled: disabled, onCheckedChange: () => handleCheckboxClick({}) }), jsxRuntime.jsxs("div", { className: styles$a['zds-list-item__wrapper-text'], children: [jsxRuntime.jsx("span", { id: `${itemId}-text`, className: styles$a['zds-list-item__text'], onClick: handleCheckboxClick, children: text }), showSubText && subText && (jsxRuntime.jsx("span", { id: `${itemId}-subtext`, className: styles$a['zds-list-item__subtext'], onClick: handleCheckboxClick, children: subText }))] })] }));
1980
1861
  case 'radio':
1981
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: styles$b['zds-list-item__wrapper-radio'], children: jsxRuntime.jsx("span", { className: styles$b['zds-list-item__radio'], "aria-hidden": "true", children: jsxRuntime.jsx(MemoizedRadio, { name: name, checked: internalChecked, disabled: disabled, onChange: () => handleRadioClick({}), value: value, "aria-labelledby": `${itemId}-text` }) }) }), jsxRuntime.jsxs("div", { className: styles$b['zds-list-item__wrapper-text'], children: [jsxRuntime.jsx("span", { id: `${itemId}-text`, className: styles$b['zds-list-item__title'], onClick: handleRadioClick, children: text }), showSubText && subText && (jsxRuntime.jsx("span", { id: `${itemId}-subtext`, className: styles$b['zds-list-item__subtext'], children: subText }))] })] }));
1862
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: styles$a['zds-list-item__wrapper-radio'], children: jsxRuntime.jsx("span", { className: styles$a['zds-list-item__radio'], "aria-hidden": "true", children: jsxRuntime.jsx(Radio, { name: name, onValueChange: () => handleRadioClick({}), items: [{
1863
+ value: value,
1864
+ label: '',
1865
+ disabled: disabled
1866
+ }], "aria-labelledby": `${itemId}-text` }) }) }), jsxRuntime.jsxs("div", { className: styles$a['zds-list-item__wrapper-text'], children: [jsxRuntime.jsx("span", { id: `${itemId}-text`, className: styles$a['zds-list-item__title'], onClick: handleRadioClick, children: text }), showSubText && subText && (jsxRuntime.jsx("span", { id: `${itemId}-subtext`, className: styles$a['zds-list-item__subtext'], children: subText }))] })] }));
1982
1867
  case 'icon':
1983
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: styles$b['zds-list-item__wrapper-icon'], children: icon }), jsxRuntime.jsxs("div", { className: styles$b['zds-list-item__wrapper-text'], children: [jsxRuntime.jsx("span", { id: `${itemId}-text`, className: styles$b['zds-list-item__title'], onClick: handleTextOrIconClick, children: text }), showSubText && subText && (jsxRuntime.jsx("span", { id: `${itemId}-subtext`, className: styles$b['zds-list-item__subtext'], children: subText }))] })] }));
1868
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: styles$a['zds-list-item__wrapper-icon'], children: icon }), jsxRuntime.jsxs("div", { className: styles$a['zds-list-item__wrapper-text'], children: [jsxRuntime.jsx("span", { id: `${itemId}-text`, className: styles$a['zds-list-item__title'], onClick: handleTextOrIconClick, children: text }), showSubText && subText && (jsxRuntime.jsx("span", { id: `${itemId}-subtext`, className: styles$a['zds-list-item__subtext'], children: subText }))] })] }));
1984
1869
  case 'text':
1985
1870
  default:
1986
- return (jsxRuntime.jsxs("div", { className: styles$b['zds-list-item__wrapper-text'], children: [jsxRuntime.jsx("span", { id: `${itemId}-text`, className: styles$b['zds-list-item__title'], onClick: handleTextOrIconClick, children: text }), showSubText && subText && (jsxRuntime.jsx("span", { id: `${itemId}-subtext`, className: styles$b['zds-list-item__subtext'], children: subText }))] }));
1871
+ return (jsxRuntime.jsxs("div", { className: styles$a['zds-list-item__wrapper-text'], children: [jsxRuntime.jsx("span", { id: `${itemId}-text`, className: styles$a['zds-list-item__title'], onClick: handleTextOrIconClick, children: text }), showSubText && subText && (jsxRuntime.jsx("span", { id: `${itemId}-subtext`, className: styles$a['zds-list-item__subtext'], children: subText }))] }));
1987
1872
  }
1988
1873
  }, [variant, itemId, internalChecked, disabled, handleCheckboxClick, handleRadioClick, handleTextOrIconClick, value, text, showSubText, subText, icon, name]);
1989
- const listItemClass = clsx(styles$b['zds-list-item__container'], {
1990
- [styles$b[`zds-list-item--${variant}`]]: variant,
1991
- [styles$b['zds-list-item--disabled']]: disabled,
1992
- [styles$b['zds-list-item--hovered']]: hovered,
1874
+ const listItemClass = clsx(styles$a['zds-list-item__container'], {
1875
+ [styles$a[`zds-list-item--${variant}`]]: variant,
1876
+ [styles$a['zds-list-item--disabled']]: disabled,
1877
+ [styles$a['zds-list-item--hovered']]: hovered,
1993
1878
  [className || '']: className
1994
1879
  });
1995
1880
  const getAriaChecked = React.useCallback(() => {
@@ -2001,7 +1886,7 @@ const ListItem = ({ id, className, variant = 'text', text = '', name = '', subTe
2001
1886
  return (jsxRuntime.jsx("li", { className: listItemClass, tabIndex: disabled ? -1 : 0, onKeyDown: handleKeyDown, "aria-selected": variant === 'text' || variant === 'icon' ? internalSelected : undefined, "aria-disabled": disabled, "aria-checked": getAriaChecked(), "aria-labelledby": `${itemId}-text`, "aria-describedby": showSubText && subText ? `${itemId}-subtext` : undefined, "data-testid": "list-item", children: renderVariantContent() }));
2002
1887
  };
2003
1888
 
2004
- var styles$a = {"zds-menu__container":"Menu-module__zds-menu__container___BVQ87","zds-search":"Menu-module__zds-search___grixQ","zds-menu__dropdown":"Menu-module__zds-menu__dropdown___rnrrj","zds-menu__dropdown--left":"Menu-module__zds-menu__dropdown--left___1z4dD","zds-menu__dropdown--right":"Menu-module__zds-menu__dropdown--right___A0Mdg"};
1889
+ var styles$9 = {"zds-menu__container":"Menu-module__zds-menu__container___BVQ87","zds-search":"Menu-module__zds-search___grixQ","zds-menu__dropdown":"Menu-module__zds-menu__dropdown___rnrrj","zds-menu__dropdown--left":"Menu-module__zds-menu__dropdown--left___1z4dD","zds-menu__dropdown--right":"Menu-module__zds-menu__dropdown--right___A0Mdg"};
2005
1890
 
2006
1891
  const Menu = ({ children, menuItems = [], onMenuItemClick, onToggle, type = 'text', applySearch = false, placeholder = '', showSubText = false, className, id, maxWidth = '210px', minWidth, position = 'left' }) => {
2007
1892
  const [isMenuOpen, setIsMenuOpen] = React.useState(false);
@@ -2141,12 +2026,12 @@ const Menu = ({ children, menuItems = [], onMenuItemClick, onToggle, type = 'tex
2141
2026
  'aria-controls': isMenuOpen ? dropdownId : undefined
2142
2027
  });
2143
2028
  };
2144
- const menuClass = clsx.clsx(styles$a['zds-menu__container'], className);
2145
- const dropdownClass = clsx.clsx(styles$a['zds-menu__dropdown'], styles$a[`zds-menu__dropdown--${position}`]);
2029
+ const menuClass = clsx.clsx(styles$9['zds-menu__container'], className);
2030
+ const dropdownClass = clsx.clsx(styles$9['zds-menu__dropdown'], styles$9[`zds-menu__dropdown--${position}`]);
2146
2031
  return (jsxRuntime.jsxs("div", { ref: menuContainerRef, className: menuClass, id: id, children: [renderAnchor(), isMenuOpen && (jsxRuntime.jsx("div", { ref: dropdownRef, className: dropdownClass, role: "menu", "aria-label": "Menu de a\u00E7\u00F5es", id: `${id || 'menu'}-dropdown`, children: jsxRuntime.jsx(MemoizedDropdown, { type: type, items: menuItems, onSelectionChange: handleSelectionChange, initialItemsSelected: initialItemsSelected, applySearch: applySearch, placeholder: placeholder, showSubText: showSubText, "aria-label": "Menu de a\u00E7\u00F5es", minWidth: minWidth, maxWidth: maxWidth, className: dropdownClass }) }))] }));
2147
2032
  };
2148
2033
 
2149
- var styles$9 = {"content":"MenuRadix-module__content___zlnmj","subContent":"MenuRadix-module__subContent___tnX0E","itemsWrapper":"MenuRadix-module__itemsWrapper___FaUM1","item":"MenuRadix-module__item___xYiTK","subTrigger":"MenuRadix-module__subTrigger___HIuMb","itemSubText":"MenuRadix-module__itemSubText___Z8qgX","itemIcon":"MenuRadix-module__itemIcon___la-QC","itemSelected":"MenuRadix-module__itemSelected___sEBh6","itemText":"MenuRadix-module__itemText___ybPJy","wrapperText":"MenuRadix-module__wrapperText___-Sji9","chevronIcon":"MenuRadix-module__chevronIcon___VMHpF","searchWrapper":"MenuRadix-module__searchWrapper___qrshb","emptyState":"MenuRadix-module__emptyState___SVFf0","loadingMore":"MenuRadix-module__loadingMore___rYo-t"};
2034
+ var styles$8 = {"content":"MenuRadix-module__content___zlnmj","subContent":"MenuRadix-module__subContent___tnX0E","itemsWrapper":"MenuRadix-module__itemsWrapper___FaUM1","item":"MenuRadix-module__item___xYiTK","subTrigger":"MenuRadix-module__subTrigger___HIuMb","itemSubText":"MenuRadix-module__itemSubText___Z8qgX","itemIcon":"MenuRadix-module__itemIcon___la-QC","itemSelected":"MenuRadix-module__itemSelected___sEBh6","itemText":"MenuRadix-module__itemText___ybPJy","wrapperText":"MenuRadix-module__wrapperText___-Sji9","chevronIcon":"MenuRadix-module__chevronIcon___VMHpF","searchWrapper":"MenuRadix-module__searchWrapper___qrshb","emptyState":"MenuRadix-module__emptyState___SVFf0","loadingMore":"MenuRadix-module__loadingMore___rYo-t"};
2150
2035
 
2151
2036
  const normalizeText = (text) => {
2152
2037
  if (typeof text === 'string')
@@ -2269,7 +2154,7 @@ const MenuItem = React.memo(({ item, isSelected, onSelect }) => {
2269
2154
  const handleSelect = () => {
2270
2155
  onSelect(item);
2271
2156
  };
2272
- return (jsxRuntime.jsxs(radixUi.DropdownMenu.Item, { className: clsx(styles$9.item, { [styles$9.itemSelected]: isSelected }), onSelect: handleSelect, disabled: item.disabled, children: [item.icon && jsxRuntime.jsx("span", { className: styles$9.itemIcon, children: item.icon }), jsxRuntime.jsxs("div", { className: styles$9.wrapperText, children: [jsxRuntime.jsx("span", { className: styles$9.itemText, children: item.text }), item.subText && (jsxRuntime.jsx("span", { className: styles$9.itemSubText, children: item.subText }))] })] }));
2157
+ return (jsxRuntime.jsxs(radixUi.DropdownMenu.Item, { className: clsx(styles$8.item, { [styles$8.itemSelected]: isSelected }), onSelect: handleSelect, disabled: item.disabled, children: [item.icon && jsxRuntime.jsx("span", { className: styles$8.itemIcon, children: item.icon }), jsxRuntime.jsxs("div", { className: styles$8.wrapperText, children: [jsxRuntime.jsx("span", { className: styles$8.itemText, children: item.text }), item.subText && (jsxRuntime.jsx("span", { className: styles$8.itemSubText, children: item.subText }))] })] }));
2273
2158
  });
2274
2159
  MenuItem.displayName = 'MenuItem';
2275
2160
 
@@ -2376,7 +2261,7 @@ const MenuRadix = ({ items, children, onItemSelect, search, enableInfiniteScroll
2376
2261
  const renderMenuItem = React.useCallback((item, key) => {
2377
2262
  const hasChildren = item.children && item.children.length > 0;
2378
2263
  if (hasChildren) {
2379
- return (jsxRuntime.jsxs(radixUi.DropdownMenu.Sub, { children: [jsxRuntime.jsxs(radixUi.DropdownMenu.SubTrigger, { className: styles$9.subTrigger, disabled: item.disabled, children: [item.icon && (jsxRuntime.jsx("span", { className: styles$9.itemIcon, children: item.icon })), jsxRuntime.jsxs("div", { className: styles$9.wrapperText, children: [jsxRuntime.jsx("span", { className: styles$9.itemText, children: item.text }), item.subText && (jsxRuntime.jsx("span", { className: styles$9.itemSubText, children: item.subText }))] }), jsxRuntime.jsx(reactIcons.ChevronRight16Filled, { className: styles$9.chevronIcon })] }), jsxRuntime.jsx(radixUi.DropdownMenu.Portal, { children: jsxRuntime.jsx(radixUi.DropdownMenu.SubContent, { className: styles$9.subContent, sideOffset: 10, alignOffset: -5, collisionPadding: 20, children: item.children.map((childItem, childIndex) => renderMenuItem(childItem, `${key}-${childIndex}`)) }) })] }, key));
2264
+ return (jsxRuntime.jsxs(radixUi.DropdownMenu.Sub, { children: [jsxRuntime.jsxs(radixUi.DropdownMenu.SubTrigger, { className: styles$8.subTrigger, disabled: item.disabled, children: [item.icon && (jsxRuntime.jsx("span", { className: styles$8.itemIcon, children: item.icon })), jsxRuntime.jsxs("div", { className: styles$8.wrapperText, children: [jsxRuntime.jsx("span", { className: styles$8.itemText, children: item.text }), item.subText && (jsxRuntime.jsx("span", { className: styles$8.itemSubText, children: item.subText }))] }), jsxRuntime.jsx(reactIcons.ChevronRight16Filled, { className: styles$8.chevronIcon })] }), jsxRuntime.jsx(radixUi.DropdownMenu.Portal, { children: jsxRuntime.jsx(radixUi.DropdownMenu.SubContent, { className: styles$8.subContent, sideOffset: 10, alignOffset: -5, collisionPadding: 20, children: item.children.map((childItem, childIndex) => renderMenuItem(childItem, `${key}-${childIndex}`)) }) })] }, key));
2380
2265
  }
2381
2266
  return (jsxRuntime.jsx(MenuItem, { item: item, isSelected: isItemSelected(item), onSelect: handleItemSelect }, key));
2382
2267
  }, [handleItemSelect, isItemSelected]);
@@ -2389,14 +2274,14 @@ const MenuRadix = ({ items, children, onItemSelect, search, enableInfiniteScroll
2389
2274
  hasReachedEndRef.current = false;
2390
2275
  }
2391
2276
  };
2392
- return (jsxRuntime.jsxs(radixUi.DropdownMenu.Root, { open: open, onOpenChange: handleOpenChange, children: [jsxRuntime.jsx(radixUi.DropdownMenu.Trigger, { asChild: true, children: children }), jsxRuntime.jsx(radixUi.DropdownMenu.Portal, { children: jsxRuntime.jsxs(radixUi.DropdownMenu.Content, { className: clsx(styles$9.content, className), sideOffset: 8, align: align, onKeyDown: (e) => {
2277
+ return (jsxRuntime.jsxs(radixUi.DropdownMenu.Root, { open: open, onOpenChange: handleOpenChange, children: [jsxRuntime.jsx(radixUi.DropdownMenu.Trigger, { asChild: true, children: children }), jsxRuntime.jsx(radixUi.DropdownMenu.Portal, { children: jsxRuntime.jsxs(radixUi.DropdownMenu.Content, { className: clsx(styles$8.content, className), sideOffset: 8, align: align, onKeyDown: (e) => {
2393
2278
  if (search) {
2394
2279
  e.stopPropagation();
2395
2280
  }
2396
- }, ...rest, children: [search && (jsxRuntime.jsx("div", { className: styles$9.searchWrapper, children: jsxRuntime.jsx(Search, { placeholder: "Buscar", onChange: handleSearchChange, value: searchInput, onKeyDown: handleSearchKeyDown }) })), jsxRuntime.jsxs("div", { className: styles$9.itemsWrapper, ref: itemsWrapperRef, style: { maxHeight: maxHeightStyle }, children: [filteredItems.length > 0 ? (filteredItems.map((item, index) => renderMenuItem(item, item.value || item.text || `item-${index}`))) : (jsxRuntime.jsx("div", { className: styles$9.emptyState, children: "Nenhum item encontrado" })), enableInfiniteScroll && isLoadingMore && (jsxRuntime.jsx("div", { className: styles$9.loadingMore, children: "Carregando mais itens..." })), enableInfiniteScroll && (jsxRuntime.jsx("div", { ref: sentinelRef, "data-scroll-sentinel": true, style: { height: '1px', visibility: 'hidden' } }))] })] }) })] }));
2281
+ }, ...rest, children: [search && (jsxRuntime.jsx("div", { className: styles$8.searchWrapper, children: jsxRuntime.jsx(Search, { placeholder: "Buscar", onChange: handleSearchChange, value: searchInput, onKeyDown: handleSearchKeyDown }) })), jsxRuntime.jsxs("div", { className: styles$8.itemsWrapper, ref: itemsWrapperRef, style: { maxHeight: maxHeightStyle }, children: [filteredItems.length > 0 ? (filteredItems.map((item, index) => renderMenuItem(item, item.value || item.text || `item-${index}`))) : (jsxRuntime.jsx("div", { className: styles$8.emptyState, children: "Nenhum item encontrado" })), enableInfiniteScroll && isLoadingMore && (jsxRuntime.jsx("div", { className: styles$8.loadingMore, children: "Carregando mais itens..." })), enableInfiniteScroll && (jsxRuntime.jsx("div", { ref: sentinelRef, "data-scroll-sentinel": true, style: { height: '1px', visibility: 'hidden' } }))] })] }) })] }));
2397
2282
  };
2398
2283
 
2399
- var styles$8 = {"zds-quantity":"Quantity-module__zds-quantity___AymLj","zds-quantity__input":"Quantity-module__zds-quantity__input___Wlhmo"};
2284
+ var styles$7 = {"zds-quantity":"Quantity-module__zds-quantity___AymLj","zds-quantity__input":"Quantity-module__zds-quantity__input___Wlhmo"};
2400
2285
 
2401
2286
  /**
2402
2287
  * Componente Quantity - permite incrementar/decrementar valores numéricos
@@ -2615,22 +2500,11 @@ const Quantity = ({ defaultValue = 0, value: controlledValue, onChange, disabled
2615
2500
  }, [disabled, increment, decrement, decimal, decimalPlaces, isControlled, onChange, computedValue]);
2616
2501
  const uniqueId = React.useId();
2617
2502
  const inputId = id || uniqueId;
2618
- return (jsxRuntime.jsxs("div", { className: clsx(styles$8['zds-quantity'], { disabled }, className), children: [jsxRuntime.jsx(Button, { variant: 'outlined', size: size, type: 'button', iconOnly: true, icon: jsxRuntime.jsx(reactIcons.Subtract16Regular, {}), onClick: decrement, disabled: disabled || isMinValue, "aria-label": 'Diminuir quantidade' }), jsxRuntime.jsx("input", { ref: inputRef, className: clsx(styles$8['zds-quantity__input'], { disabled }), type: 'text', value: inputValue, onChange: handleInputChange, onBlur: handleBlur, onKeyDown: handleInputKeyDown, id: inputId, min: '0', step: stepValue, "aria-label": 'Quantidade', role: 'spinbutton', "aria-valuenow": computedValue, "aria-valuemin": 0, "aria-valuemax": decimal ? undefined : 9999, disabled: disabled, inputMode: decimal ? 'decimal' : 'numeric' }), jsxRuntime.jsx(Button, { variant: 'outlined', size: size, type: 'button', iconOnly: true, onClick: increment, disabled: disabled, "aria-label": 'Aumentar quantidade', icon: jsxRuntime.jsx(reactIcons.Add16Regular, {}) })] }));
2503
+ return (jsxRuntime.jsxs("div", { className: clsx(styles$7['zds-quantity'], { disabled }, className), children: [jsxRuntime.jsx(Button, { variant: 'outlined', size: size, type: 'button', iconOnly: true, icon: jsxRuntime.jsx(reactIcons.Subtract16Regular, {}), onClick: decrement, disabled: disabled || isMinValue, "aria-label": 'Diminuir quantidade' }), jsxRuntime.jsx("input", { ref: inputRef, className: clsx(styles$7['zds-quantity__input'], { disabled }), type: 'text', value: inputValue, onChange: handleInputChange, onBlur: handleBlur, onKeyDown: handleInputKeyDown, id: inputId, min: '0', step: stepValue, "aria-label": 'Quantidade', role: 'spinbutton', "aria-valuenow": computedValue, "aria-valuemin": 0, "aria-valuemax": decimal ? undefined : 9999, disabled: disabled, inputMode: decimal ? 'decimal' : 'numeric' }), jsxRuntime.jsx(Button, { variant: 'outlined', size: size, type: 'button', iconOnly: true, onClick: increment, disabled: disabled, "aria-label": 'Aumentar quantidade', icon: jsxRuntime.jsx(reactIcons.Add16Regular, {}) })] }));
2619
2504
  };
2620
2505
  const memorizedQuantity = React.memo(Quantity);
2621
2506
  memorizedQuantity.displayName = 'Quantity';
2622
2507
 
2623
- var styles$7 = {"root":"RadioRadix-module__root___fkfHL","wrapper":"RadioRadix-module__wrapper___IzWxC","labelWrapper":"RadioRadix-module__labelWrapper___YJy4H","itemWrapper":"RadioRadix-module__itemWrapper___VzD-H","item":"RadioRadix-module__item___z7087","disabled":"RadioRadix-module__disabled___eGuSF","labelText":"RadioRadix-module__labelText___jP1Lv","indicator":"RadioRadix-module__indicator___oJlhm"};
2624
-
2625
- const RadioRadix = ({ items, onValueChange, defaultValue, name, id, ariaLabel, orientation = 'vertical', ...rest }) => {
2626
- const componentId = id || React.useId();
2627
- return (jsxRuntime.jsx(radixUi.RadioGroup.Root, { id: componentId, className: styles$7.root, defaultValue: defaultValue, onValueChange: onValueChange, name: name, "aria-label": ariaLabel, "data-orientation": orientation, orientation: orientation, ...rest, children: items.map(({ id, value, disabled, label }, index) => {
2628
- const itemKey = id ?? value ?? `radio-${index}`;
2629
- const uniqueId = `${componentId}-item-${value}`;
2630
- return (jsxRuntime.jsx("div", { className: clsx(styles$7.wrapper, { [styles$7.disabled]: disabled }), children: jsxRuntime.jsxs("label", { className: styles$7.labelWrapper, htmlFor: uniqueId, children: [jsxRuntime.jsx("div", { className: styles$7.itemWrapper, children: jsxRuntime.jsx(radixUi.RadioGroup.Item, { disabled: disabled, className: styles$7.item, value: value, id: uniqueId, "data-disabled": disabled, children: jsxRuntime.jsx(radixUi.RadioGroup.Indicator, { className: styles$7.indicator }) }) }), jsxRuntime.jsx("span", { className: styles$7.labelText, children: label })] }) }, itemKey));
2631
- }) }));
2632
- };
2633
-
2634
2508
  var styles$6 = {"zds-select":"Select-module__zds-select___TePBJ","zds-select__dropdown":"Select-module__zds-select__dropdown___pEXsY","zds-dropdown__container":"Select-module__zds-dropdown__container___TJvrT","zds-select__dropdown--top":"Select-module__zds-select__dropdown--top___O3u5M","zds-select__dropdown--bottom":"Select-module__zds-select__dropdown--bottom___qfKLH"};
2635
2509
 
2636
2510
  var styles$5 = {"zds-select-field":"SelectField-module__zds-select-field___djzS5","zds-select-field__required":"SelectField-module__zds-select-field__required___T-LvC","zds-select-field__container-box":"SelectField-module__zds-select-field__container-box___nkzZy","zds-select-field__box__input":"SelectField-module__zds-select-field__box__input___xBdKZ","zds-select-field__display":"SelectField-module__zds-select-field__display___snLz3","zds-select-field--open":"SelectField-module__zds-select-field--open___IUfIn","zds-select-field__icon":"SelectField-module__zds-select-field__icon___kt-SW","zds-select-field__helper-text":"SelectField-module__zds-select-field__helper-text___9jTiW","zds-select-field__container-tooltip":"SelectField-module__zds-select-field__container-tooltip___xZr46","zds-select-field__tooltip":"SelectField-module__zds-select-field__tooltip___XYAEC","zds-select-field--error":"SelectField-module__zds-select-field--error___sb6H6","zds-select-field--disabled":"SelectField-module__zds-select-field--disabled___48f33"};
@@ -3227,16 +3101,15 @@ enableApiSearch = false, onApiSearch, isSearching = false, }) {
3227
3101
  };
3228
3102
  }
3229
3103
 
3230
- var styles$4 = {"fieldContainer":"index-module__fieldContainer___rfpwH","trigger":"index-module__trigger___RCzFG","disabled":"index-module__disabled___ust2Z","error":"index-module__error___bEUc-","hasValue":"index-module__hasValue___pp7kv","triggerText":"index-module__triggerText___Q67w2","containerLabel":"index-module__containerLabel___nM2na","content":"index-module__content___hK3aL","viewport":"index-module__viewport___lJTlo","group":"index-module__group___2RRJc","container":"index-module__container___IPFKk","searchWrapper":"index-module__searchWrapper___Mxi7i","item":"index-module__item___ePUP1","subTitle":"index-module__subTitle___6Iz6p","title":"index-module__title___XHkS6","checkboxItem":"index-module__checkboxItem___3Q7pV","checkboxContent":"index-module__checkboxContent___a9PQw","itemWrapper":"index-module__itemWrapper___LmG00","icon":"index-module__icon___5zWjG","itemIndicator":"index-module__itemIndicator___jC6dI","textContent":"index-module__textContent___sIMxV","helper":"index-module__helper___LK89V","errorMessage":"index-module__errorMessage___MDeJD","noResults":"index-module__noResults___mudWL","loadingMore":"index-module__loadingMore___WvQCu"};
3104
+ var styles$4 = {"fieldContainer":"index-module__fieldContainer___rfpwH","trigger":"index-module__trigger___RCzFG","disabled":"index-module__disabled___ust2Z","open":"index-module__open___JZ3rh","error":"index-module__error___bEUc-","hasValue":"index-module__hasValue___pp7kv","triggerText":"index-module__triggerText___Q67w2","containerLabel":"index-module__containerLabel___nM2na","content":"index-module__content___hK3aL","viewport":"index-module__viewport___lJTlo","group":"index-module__group___2RRJc","container":"index-module__container___IPFKk","searchWrapper":"index-module__searchWrapper___Mxi7i","item":"index-module__item___ePUP1","subTitle":"index-module__subTitle___6Iz6p","title":"index-module__title___XHkS6","checkboxItem":"index-module__checkboxItem___3Q7pV","checkboxContent":"index-module__checkboxContent___a9PQw","itemWrapper":"index-module__itemWrapper___LmG00","icon":"index-module__icon___5zWjG","itemIndicator":"index-module__itemIndicator___jC6dI","textContent":"index-module__textContent___sIMxV","helper":"index-module__helper___LK89V","errorMessage":"index-module__errorMessage___MDeJD","noResults":"index-module__noResults___mudWL","loadingMore":"index-module__loadingMore___WvQCu"};
3231
3105
 
3232
- const CheckboxSelectItem = ({ text, subTitle, disabled, checked, onChange, value, ...restProps }) => {
3233
- const handleCheckboxChange = (e) => {
3234
- e.stopPropagation();
3235
- onChange(e.target.checked);
3106
+ const CheckboxSelectItem = ({ text, subTitle, disabled, checked, onCheckedChange, value, ...restProps }) => {
3107
+ const handleCheckboxChange = (checkedValue) => {
3108
+ onCheckedChange(Boolean(checkedValue));
3236
3109
  };
3237
3110
  return (jsxRuntime.jsx("div", { className: clsx(styles$4.item, styles$4.checkboxItem, {
3238
3111
  [styles$4.disabled]: disabled,
3239
- }), role: "option", "aria-selected": checked, "data-selected": checked, "data-testid": `checkbox-item-${value}`, ...restProps, children: jsxRuntime.jsx("div", { className: styles$4.checkboxContent, children: jsxRuntime.jsx(MemoizedCheckbox, { checked: checked, onChange: handleCheckboxChange, disabled: disabled, label: jsxRuntime.jsxs("div", { className: styles$4.textContent, children: [jsxRuntime.jsx("span", { className: styles$4.title, children: text }), subTitle && jsxRuntime.jsx("div", { className: styles$4.subTitle, children: subTitle })] }), onClick: (e) => e.stopPropagation() }) }) }));
3112
+ }), role: "option", "aria-selected": checked, "data-selected": checked, "data-testid": `checkbox-item-${value}`, ...restProps, children: jsxRuntime.jsx("div", { className: styles$4.checkboxContent, children: jsxRuntime.jsx(Checkbox, { checked: checked, onCheckedChange: handleCheckboxChange, disabled: disabled, label: jsxRuntime.jsxs("div", { className: styles$4.textContent, children: [jsxRuntime.jsx("span", { className: styles$4.title, children: text }), subTitle && jsxRuntime.jsx("div", { className: styles$4.subTitle, children: subTitle })] }) }) }) }));
3240
3113
  };
3241
3114
  CheckboxSelectItem.displayName = 'CheckboxSelectItem';
3242
3115
 
@@ -3249,11 +3122,9 @@ const SelectItem = React.forwardRef(({ text, subTitle, icon, disabled, value, va
3249
3122
  });
3250
3123
  SelectItem.displayName = 'SelectItem';
3251
3124
 
3252
- var styles$3 = {"wrapperLabel":"index-module__wrapperLabel___XJzZO","requiredLabel":"index-module__requiredLabel___7oZkh","infoIcon":"index-module__infoIcon___lClx4","errorLabel":"index-module__errorLabel___qa6h6","disabledLabel":"index-module__disabledLabel___U9vL8"};
3253
-
3254
- const LabelComponent = ({ children, htmlFor, required = false, tooltip = false, tooltipMessage, className, error = false, disabled = false }) => (jsxRuntime.jsx("div", { className: styles$3.containerLabel, children: tooltip ? (jsxRuntime.jsx(Tooltip, { position: "top-left", text: tooltipMessage || '', children: jsxRuntime.jsxs(radixUi.Label.Root, { className: clsx(styles$3.wrapperLabel, error && styles$3.errorLabel, className), htmlFor: htmlFor, children: [children, required && jsxRuntime.jsx("span", { className: styles$3.requiredLabel, children: "*" }), jsxRuntime.jsx(reactIcons.Info12Regular, { className: styles$3.infoIcon })] }) })) : (jsxRuntime.jsxs(radixUi.Label.Root, { className: clsx(styles$3.wrapperLabel, error && styles$3.errorLabel, disabled && styles$3.disabledLabel, className), htmlFor: htmlFor, children: [children, required && jsxRuntime.jsx("span", { className: styles$3.requiredLabel, children: "*" })] })) }));
3255
-
3256
- const SelectRadix = ({ items, onValueChange, onOpenChange, variant, required = false, value, tooltip = false, tooltipMessage, label, helperText, placeholder = 'Selecione', maxWidth, search = false, errorMessage, disabled = false, className, 'aria-label': ariaLabel, 'data-testid': testId,
3125
+ const SelectRadix = ({ items, onValueChange, onOpenChange, variant, required = false, value, label, helperText, placeholder = 'Selecione', maxWidth, search = false, errorMessage, disabled = false, className, 'aria-label': ariaLabel, 'data-testid': testId,
3126
+ // Props para label com tooltip
3127
+ tooltip = false, tooltipText, side = 'bottom', align = 'start',
3257
3128
  // Props para scroll infinito
3258
3129
  enableInfiniteScroll = false, onScrollEnd, isLoadingMore = false,
3259
3130
  // Props para busca em API
@@ -3331,17 +3202,18 @@ enableApiSearch = false, onApiSearch, isSearching = false, ...restProps }) => {
3331
3202
  onApiSearch('');
3332
3203
  }
3333
3204
  };
3334
- return (jsxRuntime.jsx(radixUi.Select.Root, { value: variant === 'checkbox' ? '' : (state.selectedValues[0] || ''), onValueChange: variant === 'checkbox' ? undefined : actions.handleSingleSelect, required: required, open: state.isOpen, onOpenChange: actions.setOpen, disabled: disabled, ...restProps, children: jsxRuntime.jsxs("div", { className: clsx(styles$4.container, className), style: containerStyle, "data-testid": testId, children: [jsxRuntime.jsx("div", { className: styles$4.fieldContainer, children: jsxRuntime.jsxs("div", { className: styles$4.containerLabel, children: [jsxRuntime.jsx(LabelComponent, { htmlFor: selectId, required: required, tooltipMessage: tooltipMessage, tooltip: tooltip, error: state.hasError && state.touched, disabled: disabled, children: label }), jsxRuntime.jsxs(radixUi.Select.Trigger, { className: clsx(styles$4.trigger, {
3205
+ return (jsxRuntime.jsx(radixUi.Select.Root, { value: variant === 'checkbox' ? '' : (state.selectedValues[0] || ''), onValueChange: variant === 'checkbox' ? undefined : actions.handleSingleSelect, required: required, open: state.isOpen, onOpenChange: actions.setOpen, disabled: disabled, ...restProps, children: jsxRuntime.jsxs("div", { className: clsx(styles$4.container, className), style: containerStyle, "data-testid": testId, children: [jsxRuntime.jsx("div", { className: styles$4.fieldContainer, children: jsxRuntime.jsxs("div", { className: styles$4.containerLabel, children: [jsxRuntime.jsx(LabelComponent, { htmlFor: selectId, required: required, tooltipText: tooltipText, tooltip: tooltip, side: side, align: align, error: state.hasError && state.touched, disabled: disabled, children: label }), jsxRuntime.jsxs(radixUi.Select.Trigger, { className: clsx(styles$4.trigger, {
3335
3206
  [styles$4.error]: state.hasError && state.touched,
3336
3207
  [styles$4.disabled]: disabled,
3337
3208
  [styles$4.hasValue]: state.selectedValues.length > 0,
3209
+ [styles$4.open]: state.isOpen,
3338
3210
  }), id: selectId, "aria-label": ariaLabel, "data-testid": `${testId}-trigger`, children: [variant === 'checkbox' ? (jsxRuntime.jsx("span", { className: styles$4.triggerText, children: displayText })) : (jsxRuntime.jsx(radixUi.Select.Value, { placeholder: placeholder, className: styles$4.placeholder, children: displayText })), state.isOpen ? jsxRuntime.jsx(reactIcons.ChevronUp16Regular, {}) : jsxRuntime.jsx(reactIcons.ChevronDown16Regular, {})] }), !state.isOpen && helperText && !state.hasError && (jsxRuntime.jsx("span", { className: clsx(styles$4.helper, {
3339
3211
  [styles$4.disabled]: disabled
3340
- }), children: helperText })), state.hasError && state.touched && (jsxRuntime.jsx("span", { className: styles$4.errorMessage, children: errorMessage || 'Campo obrigatório' }))] }) }), jsxRuntime.jsx(radixUi.Select.Portal, { children: jsxRuntime.jsxs(radixUi.Select.Content, { className: styles$4.content, position: "popper", side: "bottom", sideOffset: 8, align: "start", avoidCollisions: true, children: [search && (jsxRuntime.jsx("div", { className: styles$4.searchWrapper, children: jsxRuntime.jsx(Search, { ref: refs.searchInputRef, className: styles$4.search, placeholder: "Buscar", value: state.searchInput, onChange: handleSearchChange, onKeyDown: handleSearchKeyDown, onClear: handleClear, "data-testid": `${testId}-search` }) })), jsxRuntime.jsx(radixUi.Select.Viewport, { ref: viewportRef, className: styles$4.viewport, children: jsxRuntime.jsx(radixUi.Select.Group, { className: styles$4.group, children: filteredItems.length === 0 ? (jsxRuntime.jsx("div", { className: styles$4.noResults, children: "Nenhum resultado encontrado" })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [filteredItems.map((item) => (variant === 'checkbox' ? (jsxRuntime.jsx(CheckboxSelectItem, { ...item, checked: state.selectedValues.includes(item.value), onChange: (checked) => actions.handleMultipleSelect(item.value, checked) }, item.id || item.value)) : (jsxRuntime.jsx(SelectItem, { ...item, variant: variant }, item.id || item.value)))), enableInfiniteScroll && isLoadingMore && (jsxRuntime.jsx("div", { className: styles$4.loadingMore, children: "Carregando mais itens..." }))] })) }) })] }) })] }) }));
3212
+ }), children: helperText })), state.hasError && state.touched && (jsxRuntime.jsx("span", { className: styles$4.errorMessage, children: errorMessage || 'Campo obrigatório' }))] }) }), jsxRuntime.jsx(radixUi.Select.Portal, { children: jsxRuntime.jsxs(radixUi.Select.Content, { className: styles$4.content, position: "popper", side: "bottom", sideOffset: 8, align: "start", avoidCollisions: true, children: [search && (jsxRuntime.jsx("div", { className: styles$4.searchWrapper, children: jsxRuntime.jsx(Search, { ref: refs.searchInputRef, className: styles$4.search, placeholder: "Buscar", value: state.searchInput, onChange: handleSearchChange, onKeyDown: handleSearchKeyDown, onClear: handleClear, "data-testid": `${testId}-search` }) })), jsxRuntime.jsx(radixUi.Select.Viewport, { ref: viewportRef, className: styles$4.viewport, children: jsxRuntime.jsx(radixUi.Select.Group, { className: styles$4.group, children: filteredItems.length === 0 ? (jsxRuntime.jsx("div", { className: styles$4.noResults, children: "Nenhum resultado encontrado" })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [filteredItems.map((item) => (variant === 'checkbox' ? (jsxRuntime.jsx(CheckboxSelectItem, { ...item, checked: state.selectedValues.includes(item.value), onCheckedChange: (checked) => actions.handleMultipleSelect(item.value, checked) }, item.id || item.value)) : (jsxRuntime.jsx(SelectItem, { ...item, variant: variant }, item.id || item.value)))), enableInfiniteScroll && isLoadingMore && (jsxRuntime.jsx("div", { className: styles$4.loadingMore, children: "Carregando mais itens..." }))] })) }) })] }) })] }) }));
3341
3213
  };
3342
3214
  SelectRadix.displayName = 'SelectRadix';
3343
3215
 
3344
- var styles$2 = {"zds-table__container":"Table-module__zds-table__container___9xeVY","zds-table__scroll-wrapper":"Table-module__zds-table__scroll-wrapper___xQZPq","zds-table":"Table-module__zds-table___bPvaS","zds-table__head":"Table-module__zds-table__head___FvQuS","zds-table__th":"Table-module__zds-table__th___R03sj","zds-table__th-content":"Table-module__zds-table__th-content___duR3c","zds-table__td":"Table-module__zds-table__td___aY-Nt","zds-table-header__filters-placeholder":"Table-module__zds-table-header__filters-placeholder___GhVwi","zds-table__body":"Table-module__zds-table__body___kuKXb","zds-table__empty":"Table-module__zds-table__empty___ZM4iu","zds-table__empty__content":"Table-module__zds-table__empty__content___8xl-u","zds-table__empty__title":"Table-module__zds-table__empty__title___7Y9Pj","zds-table__empty__caption":"Table-module__zds-table__empty__caption___toS00","zds-table__row":"Table-module__zds-table__row___8cEjq","zds-table__empty-cell":"Table-module__zds-table__empty-cell___Ldb6Z","zds-table-header__search":"Table-module__zds-table-header__search___yzLxw","zds-table__pagination":"Table-module__zds-table__pagination___FR5GH","zds-table-header":"Table-module__zds-table-header___uPRjd","zds-table-header__search-container":"Table-module__zds-table-header__search-container___-Fzz1","zds-table-header__filters":"Table-module__zds-table-header__filters___ViH07","zds-table-header__filter-label":"Table-module__zds-table-header__filter-label___c3BWI","zds-table-header__custom-filters":"Table-module__zds-table-header__custom-filters___oTuoM","zds-table-header__filters-content":"Table-module__zds-table-header__filters-content___nKlgL","zds-table-header__filters-wrapper":"Table-module__zds-table-header__filters-wrapper___BrZ9A","zds-table-header__filter-items":"Table-module__zds-table-header__filter-items___Tn8Yv","zds-table__pagination-select":"Table-module__zds-table__pagination-select___TZK-y","zds-table__pagination-info":"Table-module__zds-table__pagination-info___3k-B2","zds-table__pagination-controls":"Table-module__zds-table__pagination-controls___S-zs7","zds-table__pagination-button":"Table-module__zds-table__pagination-button___Wvq9W"};
3216
+ var styles$3 = {"zds-table__container":"Table-module__zds-table__container___9xeVY","zds-table__scroll-wrapper":"Table-module__zds-table__scroll-wrapper___xQZPq","zds-table":"Table-module__zds-table___bPvaS","zds-table__head":"Table-module__zds-table__head___FvQuS","zds-table__th":"Table-module__zds-table__th___R03sj","zds-table__th-content":"Table-module__zds-table__th-content___duR3c","zds-table__td":"Table-module__zds-table__td___aY-Nt","zds-table-header__filters-placeholder":"Table-module__zds-table-header__filters-placeholder___GhVwi","zds-table__body":"Table-module__zds-table__body___kuKXb","zds-table__empty":"Table-module__zds-table__empty___ZM4iu","zds-table__empty__content":"Table-module__zds-table__empty__content___8xl-u","zds-table__empty__title":"Table-module__zds-table__empty__title___7Y9Pj","zds-table__empty__caption":"Table-module__zds-table__empty__caption___toS00","zds-table__row":"Table-module__zds-table__row___8cEjq","zds-table__empty-cell":"Table-module__zds-table__empty-cell___Ldb6Z","zds-table-header__search":"Table-module__zds-table-header__search___yzLxw","zds-table__pagination":"Table-module__zds-table__pagination___FR5GH","zds-table-header":"Table-module__zds-table-header___uPRjd","zds-table-header__search-container":"Table-module__zds-table-header__search-container___-Fzz1","zds-table-header__filters":"Table-module__zds-table-header__filters___ViH07","zds-table-header__filter-label":"Table-module__zds-table-header__filter-label___c3BWI","zds-table-header__custom-filters":"Table-module__zds-table-header__custom-filters___oTuoM","zds-table-header__filters-content":"Table-module__zds-table-header__filters-content___nKlgL","zds-table-header__filters-wrapper":"Table-module__zds-table-header__filters-wrapper___BrZ9A","zds-table-header__filter-items":"Table-module__zds-table-header__filter-items___Tn8Yv","zds-table__pagination-select":"Table-module__zds-table__pagination-select___TZK-y","zds-table__pagination-info":"Table-module__zds-table__pagination-info___3k-B2","zds-table__pagination-controls":"Table-module__zds-table__pagination-controls___S-zs7","zds-table__pagination-button":"Table-module__zds-table__pagination-button___Wvq9W"};
3345
3217
 
3346
3218
  /**
3347
3219
  * @module constants
@@ -6779,10 +6651,10 @@ const Table = ({ columns = [], dataSource = [], className, loading = false, rowS
6779
6651
  return columns;
6780
6652
  const checkboxColumn = {
6781
6653
  key: '__checkbox__',
6782
- label: (jsxRuntime.jsx(MemoizedCheckbox, { checked: isAllSelected, indeterminate: isIndeterminate, onChange: toggleAll, label: '' })),
6654
+ label: (jsxRuntime.jsx(Checkbox, { checked: isAllSelected, indeterminate: isIndeterminate, onCheckedChange: toggleAll, label: '' })),
6783
6655
  render: (_, index) => {
6784
6656
  const props = rowSelection.getCheckboxProps?.(dataSource[index], index) || {};
6785
- return (jsxRuntime.jsx(MemoizedCheckbox, { checked: selectedSet.has(index), onChange: () => toggleRow(index), disabled: props.disabled, label: '' }));
6657
+ return (jsxRuntime.jsx(Checkbox, { checked: selectedSet.has(index), onCheckedChange: () => toggleRow(index), disabled: props.disabled, label: '' }));
6786
6658
  },
6787
6659
  align: 'center',
6788
6660
  };
@@ -6790,13 +6662,13 @@ const Table = ({ columns = [], dataSource = [], className, loading = false, rowS
6790
6662
  }, [columns, rowSelection, isAllSelected, isIndeterminate, toggleAll, selectedSet, toggleRow, dataSource]);
6791
6663
  const tableId = React.useMemo(() => `table-${Math.random().toString(36).substr(2, 9)}`, []);
6792
6664
  if (loading) {
6793
- return (jsxRuntime.jsx("div", { className: clsx(styles$2['zds-table__container'], className), children: jsxRuntime.jsx("div", { className: styles$2['zds-table__loader'], children: jsxRuntime.jsx(LoaderList, {}) }) }));
6665
+ return (jsxRuntime.jsx("div", { className: clsx(styles$3['zds-table__container'], className), children: jsxRuntime.jsx("div", { className: styles$3['zds-table__loader'], children: jsxRuntime.jsx(LoaderList, {}) }) }));
6794
6666
  }
6795
- const emptyText = locale.emptyText || (jsxRuntime.jsxs("div", { className: styles$2['zds-table__empty'], children: [jsxRuntime.jsx("div", { className: styles$2['zds-table__empty__content'], children: jsxRuntime.jsx(EmptyRows150Color, {}) }), jsxRuntime.jsxs("div", { className: styles$2['zds-table__empty__text'], children: [jsxRuntime.jsx("h3", { className: styles$2['zds-table__empty__title'], children: "Nenhum dado encontrado" }), jsxRuntime.jsx("p", { className: styles$2['zds-table__empty__caption'], children: "Nenhum registro encontrado" })] })] }));
6796
- return (jsxRuntime.jsx("div", { className: clsx(styles$2['zds-table__container'], className), children: jsxRuntime.jsx("div", { className: styles$2['zds-table__scroll-wrapper'], children: jsxRuntime.jsxs("table", { className: styles$2['zds-table'], role: "table", "aria-label": "Tabela de dados", "aria-describedby": loading ? `${tableId}-loading` : undefined, "aria-rowcount": dataSource.length + 1, children: [jsxRuntime.jsx("thead", { className: styles$2['zds-table__head'], children: jsxRuntime.jsx("tr", { children: finalColumns.map((column) => (jsxRuntime.jsx("th", { className: clsx(styles$2['zds-table__th'], column.align && `text-${column.align}`), style: column.style, children: jsxRuntime.jsx("div", { className: styles$2['zds-table__th-content'], children: column.label }) }, column.key))) }) }), jsxRuntime.jsx("tbody", { className: styles$2['zds-table__body'], children: dataSource.length > 0 ? (dataSource.map((row, index) => {
6667
+ const emptyText = locale.emptyText || (jsxRuntime.jsxs("div", { className: styles$3['zds-table__empty'], children: [jsxRuntime.jsx("div", { className: styles$3['zds-table__empty__content'], children: jsxRuntime.jsx(EmptyRows150Color, {}) }), jsxRuntime.jsxs("div", { className: styles$3['zds-table__empty__text'], children: [jsxRuntime.jsx("h3", { className: styles$3['zds-table__empty__title'], children: "Nenhum dado encontrado" }), jsxRuntime.jsx("p", { className: styles$3['zds-table__empty__caption'], children: "Nenhum registro encontrado" })] })] }));
6668
+ return (jsxRuntime.jsx("div", { className: clsx(styles$3['zds-table__container'], className), children: jsxRuntime.jsx("div", { className: styles$3['zds-table__scroll-wrapper'], children: jsxRuntime.jsxs("table", { className: styles$3['zds-table'], role: "table", "aria-label": "Tabela de dados", "aria-describedby": loading ? `${tableId}-loading` : undefined, "aria-rowcount": dataSource.length + 1, children: [jsxRuntime.jsx("thead", { className: styles$3['zds-table__head'], children: jsxRuntime.jsx("tr", { children: finalColumns.map((column) => (jsxRuntime.jsx("th", { className: clsx(styles$3['zds-table__th'], column.align && `text-${column.align}`), style: column.style, children: jsxRuntime.jsx("div", { className: styles$3['zds-table__th-content'], children: column.label }) }, column.key))) }) }), jsxRuntime.jsx("tbody", { className: styles$3['zds-table__body'], children: dataSource.length > 0 ? (dataSource.map((row, index) => {
6797
6669
  const rowProps = onRow?.(row, index) || {};
6798
- return (jsxRuntime.jsx("tr", { className: clsx(styles$2['zds-table__row'], rowProps.className), onClick: rowProps.onClick, onDoubleClick: rowProps.onDoubleClick, children: finalColumns.map((column) => (jsxRuntime.jsx("td", { className: clsx(styles$2['zds-table__td'], column.align && `text-${column.align}`), children: renderCell(column, row, index) }, column.key))) }, index));
6799
- })) : (jsxRuntime.jsx("tr", { children: jsxRuntime.jsx("td", { colSpan: finalColumns.length, className: styles$2['zds-table__empty-cell'], children: emptyText }) })) })] }) }) }));
6670
+ return (jsxRuntime.jsx("tr", { className: clsx(styles$3['zds-table__row'], rowProps.className), onClick: rowProps.onClick, onDoubleClick: rowProps.onDoubleClick, children: finalColumns.map((column) => (jsxRuntime.jsx("td", { className: clsx(styles$3['zds-table__td'], column.align && `text-${column.align}`), children: renderCell(column, row, index) }, column.key))) }, index));
6671
+ })) : (jsxRuntime.jsx("tr", { children: jsxRuntime.jsx("td", { colSpan: finalColumns.length, className: styles$3['zds-table__empty-cell'], children: emptyText }) })) })] }) }) }));
6800
6672
  };
6801
6673
 
6802
6674
  const isCalendarFilter = (filter) => {
@@ -6829,7 +6701,7 @@ const TableHeader = ({ searchValue = '', onSearchChange, onSearch, searchPlaceho
6829
6701
  }
6830
6702
  };
6831
6703
  const hasFilters = filters || (filterItems && filterItems.length > 0);
6832
- return (jsxRuntime.jsxs("div", { className: `${styles$2['zds-table-header']} ${className}`.trim(), children: [showSearch && (onSearchChange || onSearch) && (jsxRuntime.jsx("div", { className: styles$2['zds-table-header__search-container'], children: jsxRuntime.jsx(Search, { value: internalSearchValue, onChange: handleInputChange, onKeyDown: handleKeyDown, placeholder: searchPlaceholder, className: styles$2['zds-table-header__search'] }) })), showFilters && (jsxRuntime.jsx("div", { className: styles$2['zds-table-header__filters'], children: hasFilters ? (jsxRuntime.jsxs("div", { className: styles$2['zds-table-header__filters-content'], children: [filters && (jsxRuntime.jsx("div", { className: styles$2['zds-table-header__custom-filters'], children: filters })), jsxRuntime.jsxs("div", { className: styles$2['zds-table-header__filters-wrapper'], children: [jsxRuntime.jsx("span", { className: styles$2['zds-table-header__filter-label'], children: "Filtros" }), jsxRuntime.jsx("div", { className: styles$2['zds-table-header__filter-items'], children: filterItems && filterItems.map((filterItem, index) => {
6704
+ return (jsxRuntime.jsxs("div", { className: `${styles$3['zds-table-header']} ${className}`.trim(), children: [showSearch && (onSearchChange || onSearch) && (jsxRuntime.jsx("div", { className: styles$3['zds-table-header__search-container'], children: jsxRuntime.jsx(Search, { value: internalSearchValue, onChange: handleInputChange, onKeyDown: handleKeyDown, placeholder: searchPlaceholder, className: styles$3['zds-table-header__search'] }) })), showFilters && (jsxRuntime.jsx("div", { className: styles$3['zds-table-header__filters'], children: hasFilters ? (jsxRuntime.jsxs("div", { className: styles$3['zds-table-header__filters-content'], children: [filters && (jsxRuntime.jsx("div", { className: styles$3['zds-table-header__custom-filters'], children: filters })), jsxRuntime.jsxs("div", { className: styles$3['zds-table-header__filters-wrapper'], children: [jsxRuntime.jsx("span", { className: styles$3['zds-table-header__filter-label'], children: "Filtros" }), jsxRuntime.jsx("div", { className: styles$3['zds-table-header__filter-items'], children: filterItems && filterItems.map((filterItem, index) => {
6833
6705
  const commonProps = {
6834
6706
  key: filterItem.id || index,
6835
6707
  buttonText: filterItem.buttonText,
@@ -6848,7 +6720,7 @@ const TableHeader = ({ searchValue = '', onSearchChange, onSearch, searchPlaceho
6848
6720
  }
6849
6721
  console.warn('TableHeader: Tipo de filtro não reconhecido:', filterItem);
6850
6722
  return null;
6851
- }) })] })] })) : (jsxRuntime.jsx("div", { className: styles$2['zds-table-header__filters-placeholder'], children: jsxRuntime.jsx("span", { children: "Nenhum filtro dispon\u00EDvel" }) })) }))] }));
6723
+ }) })] })] })) : (jsxRuntime.jsx("div", { className: styles$3['zds-table-header__filters-placeholder'], children: jsxRuntime.jsx("span", { children: "Nenhum filtro dispon\u00EDvel" }) })) }))] }));
6852
6724
  };
6853
6725
 
6854
6726
  const TablePagination = ({ currentPage, totalItems, itemsPerPage, onPageChange, onItemsPerPageChange, pageSizeOptions = [10, 25, 50, 100], disabled = false, className = '', }) => {
@@ -6874,12 +6746,12 @@ const TablePagination = ({ currentPage, totalItems, itemsPerPage, onPageChange,
6874
6746
  const newItemsPerPage = Number(event.target.value);
6875
6747
  onItemsPerPageChange(newItemsPerPage);
6876
6748
  };
6877
- return (jsxRuntime.jsxs("div", { className: `${styles$2['zds-table__pagination']} ${className}`.trim(), children: [jsxRuntime.jsxs("div", { className: styles$2['zds-table__pagination-select'], children: [jsxRuntime.jsx("label", { htmlFor: "items-per-page", className: styles$2['zds-table__pagination-label'], children: "Itens por p\u00E1gina" }), jsxRuntime.jsx("select", { id: "items-per-page", value: itemsPerPage, onChange: handleItemsPerPageChange, disabled: disabled, className: styles$2['zds-table__pagination-select-input'], children: pageSizeOptions.map((option) => (jsxRuntime.jsx("option", { value: option, children: option }, option))) })] }), jsxRuntime.jsx("div", { className: styles$2['zds-table__pagination-info'], children: jsxRuntime.jsx("span", { children: totalItems > 0
6749
+ return (jsxRuntime.jsxs("div", { className: `${styles$3['zds-table__pagination']} ${className}`.trim(), children: [jsxRuntime.jsxs("div", { className: styles$3['zds-table__pagination-select'], children: [jsxRuntime.jsx("label", { htmlFor: "items-per-page", className: styles$3['zds-table__pagination-label'], children: "Itens por p\u00E1gina" }), jsxRuntime.jsx("select", { id: "items-per-page", value: itemsPerPage, onChange: handleItemsPerPageChange, disabled: disabled, className: styles$3['zds-table__pagination-select-input'], children: pageSizeOptions.map((option) => (jsxRuntime.jsx("option", { value: option, children: option }, option))) })] }), jsxRuntime.jsx("div", { className: styles$3['zds-table__pagination-info'], children: jsxRuntime.jsx("span", { children: totalItems > 0
6878
6750
  ? `${startItem}–${endItem} de ${totalItems}`
6879
- : '0 itens' }) }), jsxRuntime.jsxs("div", { className: styles$2['zds-table__pagination-controls'], children: [jsxRuntime.jsx("button", { className: styles$2['zds-table__pagination-button'], onClick: handlePrevious, disabled: !canGoPrev, "aria-label": "P\u00E1gina anterior", children: jsxRuntime.jsx(reactIcons.ChevronLeft16Regular, {}) }), jsxRuntime.jsx("button", { className: styles$2['zds-table__pagination-button'], onClick: handleNext, disabled: !canGoNext, "aria-label": "Pr\u00F3xima p\u00E1gina", children: jsxRuntime.jsx(reactIcons.ChevronRight16Regular, {}) })] })] }));
6751
+ : '0 itens' }) }), jsxRuntime.jsxs("div", { className: styles$3['zds-table__pagination-controls'], children: [jsxRuntime.jsx("button", { className: styles$3['zds-table__pagination-button'], onClick: handlePrevious, disabled: !canGoPrev, "aria-label": "P\u00E1gina anterior", children: jsxRuntime.jsx(reactIcons.ChevronLeft16Regular, {}) }), jsxRuntime.jsx("button", { className: styles$3['zds-table__pagination-button'], onClick: handleNext, disabled: !canGoNext, "aria-label": "Pr\u00F3xima p\u00E1gina", children: jsxRuntime.jsx(reactIcons.ChevronRight16Regular, {}) })] })] }));
6880
6752
  };
6881
6753
 
6882
- var styles$1 = {"zds-toast__container":"Toast-module__zds-toast__container___IE2Z4","zds-toast__item":"Toast-module__zds-toast__item___ysYjL","zds-toast__message":"Toast-module__zds-toast__message___BMJL7","zds-toast__icon":"Toast-module__zds-toast__icon___JCwTV","zds-toast__close":"Toast-module__zds-toast__close___nfxSB","zds-toast__active":"Toast-module__zds-toast__active___IraTZ","zds-toast__success":"Toast-module__zds-toast__success___8z2qq","zds-toast__alert":"Toast-module__zds-toast__alert___TM-W8","zds-toast__info":"Toast-module__zds-toast__info___T3dcI"};
6754
+ var styles$2 = {"zds-toast__container":"Toast-module__zds-toast__container___IE2Z4","zds-toast__item":"Toast-module__zds-toast__item___ysYjL","zds-toast__message":"Toast-module__zds-toast__message___BMJL7","zds-toast__icon":"Toast-module__zds-toast__icon___JCwTV","zds-toast__close":"Toast-module__zds-toast__close___nfxSB","zds-toast__active":"Toast-module__zds-toast__active___IraTZ","zds-toast__success":"Toast-module__zds-toast__success___8z2qq","zds-toast__alert":"Toast-module__zds-toast__alert___TM-W8","zds-toast__info":"Toast-module__zds-toast__info___T3dcI"};
6883
6755
 
6884
6756
  const sanitizeMessage = (message) => {
6885
6757
  if (typeof message !== 'string')
@@ -6901,15 +6773,15 @@ const ToastContext = React.createContext(undefined);
6901
6773
  const toastVariants = {
6902
6774
  success: {
6903
6775
  icon: jsxRuntime.jsx(reactIcons.CheckmarkCircle20Filled, {}),
6904
- className: styles$1['zds-toast__success'],
6776
+ className: styles$2['zds-toast__success'],
6905
6777
  },
6906
6778
  alert: {
6907
6779
  icon: jsxRuntime.jsx(reactIcons.Warning20Filled, {}),
6908
- className: styles$1['zds-toast__alert'],
6780
+ className: styles$2['zds-toast__alert'],
6909
6781
  },
6910
6782
  info: {
6911
6783
  icon: jsxRuntime.jsx(reactIcons.Info20Filled, {}),
6912
- className: styles$1['zds-toast__info'],
6784
+ className: styles$2['zds-toast__info'],
6913
6785
  },
6914
6786
  };
6915
6787
  const ToastItem = ({ toast, onClose, isVisible }) => {
@@ -6919,12 +6791,12 @@ const ToastItem = ({ toast, onClose, isVisible }) => {
6919
6791
  onClose(toast.id);
6920
6792
  }
6921
6793
  };
6922
- return (jsxRuntime.jsxs("div", { className: clsx(styles$1['zds-toast__item'], variant.className, isVisible && styles$1['zds-toast__active']), role: toast.type === 'alert' ? 'alert' : 'status', "aria-live": toast.type === 'alert' ? 'assertive' : 'polite', "aria-atomic": "true", tabIndex: toast.persistent ? 0 : -1, onKeyDown: handleKeyDown, children: [jsxRuntime.jsx("span", { className: styles$1['zds-toast__icon'], "aria-hidden": "true", children: variant.icon }), jsxRuntime.jsx("span", { className: styles$1['zds-toast__message'], dangerouslySetInnerHTML: { __html: sanitizeMessage(toast.message) } }), jsxRuntime.jsx("button", { type: "button", className: styles$1['zds-toast__close'], "aria-label": `Fechar notificação: ${toast.message.slice(0, 50)}${toast.message.length > 50 ? '...' : ''}`, onClick: () => onClose(toast.id), children: jsxRuntime.jsx(reactIcons.Dismiss16Regular, { "aria-hidden": "true" }) })] }));
6794
+ return (jsxRuntime.jsxs("div", { className: clsx(styles$2['zds-toast__item'], variant.className, isVisible && styles$2['zds-toast__active']), role: toast.type === 'alert' ? 'alert' : 'status', "aria-live": toast.type === 'alert' ? 'assertive' : 'polite', "aria-atomic": "true", tabIndex: toast.persistent ? 0 : -1, onKeyDown: handleKeyDown, children: [jsxRuntime.jsx("span", { className: styles$2['zds-toast__icon'], "aria-hidden": "true", children: variant.icon }), jsxRuntime.jsx("span", { className: styles$2['zds-toast__message'], dangerouslySetInnerHTML: { __html: sanitizeMessage(toast.message) } }), jsxRuntime.jsx("button", { type: "button", className: styles$2['zds-toast__close'], "aria-label": `Fechar notificação: ${toast.message.slice(0, 50)}${toast.message.length > 50 ? '...' : ''}`, onClick: () => onClose(toast.id), children: jsxRuntime.jsx(reactIcons.Dismiss16Regular, { "aria-hidden": "true" }) })] }));
6923
6795
  };
6924
6796
  const ToastContainer = ({ toasts, onClose, visibleToasts }) => {
6925
6797
  if (toasts.length === 0)
6926
6798
  return null;
6927
- return (jsxRuntime.jsx("div", { className: styles$1['zds-toast__container'], role: "log", "aria-label": "Notifica\u00E7\u00F5es do sistema", children: toasts.map(toast => (jsxRuntime.jsx(ToastItem, { toast: toast, onClose: onClose, isVisible: visibleToasts.has(toast.id) }, toast.id))) }));
6799
+ return (jsxRuntime.jsx("div", { className: styles$2['zds-toast__container'], role: "log", "aria-label": "Notifica\u00E7\u00F5es do sistema", children: toasts.map(toast => (jsxRuntime.jsx(ToastItem, { toast: toast, onClose: onClose, isVisible: visibleToasts.has(toast.id) }, toast.id))) }));
6928
6800
  };
6929
6801
  const ToastProvider = ({ children, maxToasts = MAX_TOASTS }) => {
6930
6802
  const [toasts, setToasts] = React.useState([]);
@@ -7012,6 +6884,10 @@ const useToast = () => {
7012
6884
  return context;
7013
6885
  };
7014
6886
 
6887
+ var styles$1 = {"container":"Switch-module__container___BR1OB","switchRoot":"Switch-module__switchRoot___jz2HD","switchThumb":"Switch-module__switchThumb___X3RL7"};
6888
+
6889
+ const Switch = ({ disabled = false, defaultChecked = false, checked, onCheckedChange, name, value }) => (jsxRuntime.jsx("div", { className: clsx(styles$1.container), children: jsxRuntime.jsx(radixUi.Switch.Root, { className: styles$1.switchRoot, disabled: disabled, defaultChecked: defaultChecked, onCheckedChange: onCheckedChange, name: name, value: value, children: jsxRuntime.jsx(radixUi.Switch.Thumb, { className: styles$1.switchThumb }) }) }));
6890
+
7015
6891
  var styles = {"zds-verification-code__container":"VerificationCode-module__zds-verification-code__container___tUNuJ","zds-verification-code__input":"VerificationCode-module__zds-verification-code__input___wDIQ6","zds-verification-code__filled":"VerificationCode-module__zds-verification-code__filled___-2VVb","zds-verification-code__has-error":"VerificationCode-module__zds-verification-code__has-error___eqKAp","zds-verification-code__error":"VerificationCode-module__zds-verification-code__error___T53i5"};
7016
6892
 
7017
6893
  /**
@@ -7332,8 +7208,7 @@ exports.Badge = Badge;
7332
7208
  exports.Button = Button;
7333
7209
  exports.Calendar = MemoizedCalendar;
7334
7210
  exports.Callout = Callout;
7335
- exports.Checkbox = MemoizedCheckbox;
7336
- exports.CheckboxRadix = CheckboxRadix;
7211
+ exports.Checkbox = Checkbox;
7337
7212
  exports.Chips = MemoizedChips;
7338
7213
  exports.Container = Container;
7339
7214
  exports.DatePicker = DatePicker_default;
@@ -7345,16 +7220,16 @@ exports.ListItem = ListItem;
7345
7220
  exports.Menu = Menu;
7346
7221
  exports.MenuRadix = MenuRadix;
7347
7222
  exports.Quantity = memorizedQuantity;
7348
- exports.Radio = MemoizedRadio;
7349
- exports.RadioRadix = RadioRadix;
7223
+ exports.Radio = Radio;
7350
7224
  exports.Search = Search;
7351
7225
  exports.Select = Select;
7352
7226
  exports.SelectField = SelectField;
7353
7227
  exports.SelectRadix = SelectRadix;
7228
+ exports.Switch = Switch;
7354
7229
  exports.Table = Table;
7355
7230
  exports.TableHeader = TableHeader;
7356
7231
  exports.TablePagination = TablePagination;
7357
- exports.TextField = MemoizedTextField;
7232
+ exports.TextField = TextField;
7358
7233
  exports.Toast = ToastProvider;
7359
7234
  exports.ToastProvider = ToastProvider;
7360
7235
  exports.Tooltip = Tooltip;