@giro-ds/react 9.0.0 → 9.1.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.
package/dist/index.esm.js CHANGED
@@ -2,26 +2,27 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
3
  import { Avatar as Avatar$1, Tooltip as Tooltip$1, Checkbox as Checkbox$1, Popover as Popover$1, Label, AlertDialog, RadioGroup, DropdownMenu, Dialog as Dialog$1, Select as Select$1, Toast as Toast$1, Switch as Switch$1 } from 'radix-ui';
4
4
  import * as React from 'react';
5
- import React__default, { useId, useMemo, createContext, useState, useContext, forwardRef, useEffect, useCallback, useRef, memo, useReducer, createElement, isValidElement } from 'react';
6
- import { SpinnerIos16Regular, ChevronUp16Regular, ChevronLeft16Regular, ChevronRight16Regular, ChevronDown16Regular, Dismiss24Regular, Info12Regular, Dismiss16Regular, Calendar16Regular, FilterRegular, Search16Regular, ChevronDownRegular, ChevronRight16Filled, Subtract16Regular, Add16Regular, SearchInfo20Regular, ArrowSortUp16Regular, ArrowSortDown16Regular, ArrowSort16Regular, Info20Filled, CheckmarkCircle20Filled, Warning20Filled, Dismiss16Filled } from '@fluentui/react-icons';
5
+ import React__default, { useId, useMemo, createContext, useState, useContext, useRef, useCallback, useEffect, useLayoutEffect, createElement, forwardRef, memo, useReducer, isValidElement } from 'react';
6
+ import { SpinnerIos16Regular, ChevronUp16Regular, ChevronLeft16Regular, ChevronRight16Regular, ChevronDown16Regular, Dismiss24Regular, Emoji20Regular, ChevronDown20Regular, KeyboardShiftUppercase20Regular, KeyboardShift20Filled, KeyboardShift20Regular, Backspace20Regular, Info12Regular, Dismiss16Regular, Calendar16Regular, FilterRegular, Search16Regular, ChevronDownRegular, ChevronRight16Filled, Subtract16Regular, Add16Regular, SearchInfo20Regular, ArrowSortUp16Regular, ArrowSortDown16Regular, ArrowSort16Regular, Info20Filled, CheckmarkCircle20Filled, Warning20Filled, Dismiss16Filled } from '@fluentui/react-icons';
7
7
  import { DayPicker } from 'react-day-picker';
8
8
  import { format, addDays, addMonths, addWeeks, addYears, differenceInCalendarDays, differenceInCalendarMonths, eachMonthOfInterval, eachYearOfInterval, endOfISOWeek, endOfMonth, endOfWeek, endOfYear, getISOWeek, getMonth, getYear, getWeek, isAfter, isBefore, isDate, isSameDay, isSameMonth, isSameYear, max, min, setMonth, setYear, startOfDay, startOfISOWeek, startOfMonth, startOfWeek, startOfYear } from 'date-fns';
9
9
  import { createPortal } from 'react-dom';
10
+ import Keyboard from 'react-simple-keyboard';
10
11
  import { useReactTable, getSortedRowModel, getCoreRowModel, flexRender } from '@tanstack/react-table';
11
12
  export { createColumnHelper as createTableColumnHelper } from '@tanstack/react-table';
12
13
  import Skeleton from 'react-loading-skeleton';
13
14
 
14
- var styles$s = {"AvatarRoot":"Avatar-module__AvatarRoot___7eNx7","AvatarRoot--sm":"Avatar-module__AvatarRoot--sm___LVHoe","AvatarRoot--lg":"Avatar-module__AvatarRoot--lg___QWux5","AvatarImage":"Avatar-module__AvatarImage___-H6iH","AvatarFallback":"Avatar-module__AvatarFallback___RDyNV"};
15
+ var styles$t = {"AvatarRoot":"Avatar-module__AvatarRoot___7eNx7","AvatarRoot--sm":"Avatar-module__AvatarRoot--sm___LVHoe","AvatarRoot--lg":"Avatar-module__AvatarRoot--lg___QWux5","AvatarImage":"Avatar-module__AvatarImage___-H6iH","AvatarFallback":"Avatar-module__AvatarFallback___RDyNV"};
15
16
 
16
17
  const Avatar = ({ icon, size = 'lg', src, className, initialLetters, ...rest }) => {
17
- const AvatarClass = clsx(styles$s.AvatarRoot, {
18
- [styles$s['AvatarRoot--lg']]: size === 'lg',
19
- [styles$s['AvatarRoot--sm']]: size === 'sm',
18
+ const AvatarClass = clsx(styles$t.AvatarRoot, {
19
+ [styles$t['AvatarRoot--lg']]: size === 'lg',
20
+ [styles$t['AvatarRoot--sm']]: size === 'sm',
20
21
  }, className);
21
- return (jsxs(Avatar$1.Root, { className: AvatarClass, ...rest, children: [src && (jsx(Avatar$1.Image, { className: styles$s.AvatarImage, src: src, alt: "Avatar" })), jsx(Avatar$1.Fallback, { className: styles$s.AvatarFallback, children: icon || initialLetters })] }));
22
+ return (jsxs(Avatar$1.Root, { className: AvatarClass, ...rest, children: [src && (jsx(Avatar$1.Image, { className: styles$t.AvatarImage, src: src, alt: "Avatar" })), jsx(Avatar$1.Fallback, { className: styles$t.AvatarFallback, children: icon || initialLetters })] }));
22
23
  };
23
24
 
24
- var styles$r = {"badge__status":"Badge-module__badge__status___-u3xv","badge":"Badge-module__badge___ZbEBU","badgeContainer":"Badge-module__badgeContainer___Guw9Z","badge__empty":"Badge-module__badge__empty___u8ccy","badge__flex":"Badge-module__badge__flex___DSJHW","badge__status__empty":"Badge-module__badge__status__empty___h8L4e","badge__status__flex":"Badge-module__badge__status__flex___703Q6","badge__status__filterBadge":"Badge-module__badge__status__filterBadge___DhjGU"};
25
+ var styles$s = {"badge__status":"Badge-module__badge__status___-u3xv","badge":"Badge-module__badge___ZbEBU","badgeContainer":"Badge-module__badgeContainer___Guw9Z","badge__empty":"Badge-module__badge__empty___u8ccy","badge__flex":"Badge-module__badge__flex___DSJHW","badge__status__empty":"Badge-module__badge__status__empty___h8L4e","badge__status__flex":"Badge-module__badge__status__flex___703Q6","badge__status__filterBadge":"Badge-module__badge__status__filterBadge___DhjGU"};
25
26
 
26
27
  const getDisplayValue = (value) => {
27
28
  if (value === null || value === undefined)
@@ -43,27 +44,27 @@ const Badge = ({ children, badgeValue = null, className, id, filterVariant = fal
43
44
  const displayValue = getDisplayValue(badgeValue);
44
45
  const isEmpty = displayValue === '';
45
46
  if (children) {
46
- return (jsxs("div", { className: styles$r.badgeContainer, ...rest, children: [jsx("div", { "data-testid": "badge-content", children: children }), jsx("div", { id: componentId, className: clsx(styles$r.badge, {
47
- [styles$r['badge__empty']]: isEmpty,
48
- [styles$r['badge__flex']]: displayValue.length >= 2,
47
+ return (jsxs("div", { className: styles$s.badgeContainer, ...rest, children: [jsx("div", { "data-testid": "badge-content", children: children }), jsx("div", { id: componentId, className: clsx(styles$s.badge, {
48
+ [styles$s['badge__empty']]: isEmpty,
49
+ [styles$s['badge__flex']]: displayValue.length >= 2,
49
50
  }, className), "data-testid": "badge", children: !isEmpty && jsx("span", { "aria-hidden": !!ariaLabel, children: displayValue }) })] }));
50
51
  }
51
- return (jsx("div", { className: styles$r.badgeContainer, children: jsx("div", { className: clsx(styles$r['badge__status'], {
52
- [styles$r['badge__status__empty']]: isEmpty,
53
- [styles$r['badge__status__flex']]: displayValue.length >= 2,
54
- [styles$r['badge__status__filterBadge']]: filterVariant,
52
+ return (jsx("div", { className: styles$s.badgeContainer, children: jsx("div", { className: clsx(styles$s['badge__status'], {
53
+ [styles$s['badge__status__empty']]: isEmpty,
54
+ [styles$s['badge__status__flex']]: displayValue.length >= 2,
55
+ [styles$s['badge__status__filterBadge']]: filterVariant,
55
56
  }, className), "data-testid": "badge", children: !isEmpty && (jsx("span", { "aria-hidden": !!ariaLabel, children: displayValue })) }) }));
56
57
  };
57
58
 
58
- var styles$q = {"tooltipContent":"Tooltip-module__tooltipContent___xycUg","triggerWrapper":"Tooltip-module__triggerWrapper___x83XR"};
59
+ var styles$r = {"tooltipContent":"Tooltip-module__tooltipContent___xycUg","triggerWrapper":"Tooltip-module__triggerWrapper___x83XR"};
59
60
 
60
61
  const Tooltip = ({ children, text, side = 'bottom', align = 'start', maxWidth, sideOffset = 10, className, ...rest }) => {
61
- return (jsx(Tooltip$1.Provider, { children: jsxs(Tooltip$1.Root, { children: [jsx(Tooltip$1.Trigger, { asChild: true, children: jsx("span", { className: styles$q.triggerWrapper, children: children }) }), jsx(Tooltip$1.Portal, { children: jsx(Tooltip$1.Content, { className: clsx(styles$q.tooltipContent, className), side: side, align: align, sideOffset: sideOffset, style: { maxWidth: maxWidth ? `${maxWidth}px` : 'auto' }, ...rest, children: text }) })] }) }));
62
+ return (jsx(Tooltip$1.Provider, { children: jsxs(Tooltip$1.Root, { children: [jsx(Tooltip$1.Trigger, { asChild: true, children: jsx("span", { className: styles$r.triggerWrapper, children: children }) }), jsx(Tooltip$1.Portal, { children: jsx(Tooltip$1.Content, { className: clsx(styles$r.tooltipContent, className), side: side, align: align, sideOffset: sideOffset, style: { maxWidth: maxWidth ? `${maxWidth}px` : 'auto' }, ...rest, children: text }) })] }) }));
62
63
  };
63
64
 
64
- var styles$p = {"button":"Button-module__button___18Bed","button-lg":"Button-module__button-lg___-A8B9","button-sm":"Button-module__button-sm___L7aT7","button-filled":"Button-module__button-filled___IQx1z","button-outlined":"Button-module__button-outlined___hLkLN","button-text":"Button-module__button-text___8GFeA","buttonWithIcon":"Button-module__buttonWithIcon___8ehK1","buttonIconPosition-left":"Button-module__buttonIconPosition-left___uOY6b","buttonIconPosition-right":"Button-module__buttonIconPosition-right___eswRS","buttonIconPosition-both":"Button-module__buttonIconPosition-both___1Lith","buttonNoContent":"Button-module__buttonNoContent___Tc9jk","buttonIconOnly":"Button-module__buttonIconOnly___aifk4","buttonIconLeft":"Button-module__buttonIconLeft___RICR3","buttonIconRight":"Button-module__buttonIconRight___71lu2","buttonFullWidth":"Button-module__buttonFullWidth___tXuVE","disabled":"Button-module__disabled___UzdWL","buttonLoading":"Button-module__buttonLoading___RGdNw","buttonContentHidden":"Button-module__buttonContentHidden___CoCiN","buttonLoadingSpinner":"Button-module__buttonLoadingSpinner___oZxEU","spin":"Button-module__spin___kQKH9"};
65
+ var styles$q = {"button":"Button-module__button___18Bed","button-lg":"Button-module__button-lg___-A8B9","button-sm":"Button-module__button-sm___L7aT7","button-filled":"Button-module__button-filled___IQx1z","button-outlined":"Button-module__button-outlined___hLkLN","button-text":"Button-module__button-text___8GFeA","buttonWithIcon":"Button-module__buttonWithIcon___8ehK1","buttonIconPosition-left":"Button-module__buttonIconPosition-left___uOY6b","buttonIconPosition-right":"Button-module__buttonIconPosition-right___eswRS","buttonIconPosition-both":"Button-module__buttonIconPosition-both___1Lith","buttonNoContent":"Button-module__buttonNoContent___Tc9jk","buttonIconOnly":"Button-module__buttonIconOnly___aifk4","buttonIconLeft":"Button-module__buttonIconLeft___RICR3","buttonIconRight":"Button-module__buttonIconRight___71lu2","buttonFullWidth":"Button-module__buttonFullWidth___tXuVE","disabled":"Button-module__disabled___UzdWL","buttonLoading":"Button-module__buttonLoading___RGdNw","buttonContentHidden":"Button-module__buttonContentHidden___CoCiN","buttonLoadingSpinner":"Button-module__buttonLoadingSpinner___oZxEU","spin":"Button-module__spin___kQKH9"};
65
66
 
66
- const Button = React__default.forwardRef(({ as, children, variant = 'filled', iconPosition = 'left', href, to, external = false, target, rel, disabled = false, onClick, size = 'lg', className, type = 'button', id, icon, fullWidth = false, ariaLabel, iconOnly = false, loading = false, tooltipText, tooltipSide = 'top', tooltipAlign = 'center', ...rest }, ref) => {
67
+ const Button = React__default.forwardRef(({ as, children, variant = 'filled', iconPosition = 'left', href, to, external = false, target, rel, disabled = false, onClick, size = 'lg', scale = 1, className, type = 'button', id, icon, fullWidth = false, ariaLabel, iconOnly = false, loading = false, tooltipText, tooltipSide = 'top', tooltipAlign = 'center', ...rest }, ref) => {
67
68
  const generatedId = useId();
68
69
  const componentId = id || generatedId;
69
70
  const getComponent = () => {
@@ -90,14 +91,19 @@ const Button = React__default.forwardRef(({ as, children, variant = 'filled', ic
90
91
  'Forneça um ícone via `icon={<MeuIcone />}`.');
91
92
  }
92
93
  const resolvedIcon = icon;
93
- const buttonClasses = clsx(styles$p.button, styles$p[`button-${variant}`], styles$p[`button-${size}`], {
94
- [styles$p['disabled']]: disabled,
95
- [styles$p['buttonLoading']]: loading,
96
- [styles$p['buttonWithIcon']]: resolvedIcon && !iconOnly,
97
- [styles$p[`buttonIconPosition-${iconPosition}`]]: resolvedIcon && !iconOnly,
98
- [styles$p['buttonNoContent']]: resolvedIcon && !hasContent && !iconOnly,
99
- [styles$p['buttonFullWidth']]: fullWidth,
100
- [styles$p['buttonIconOnly']]: iconOnly,
94
+ const scaleClass = {
95
+ 1: 'scale-1-0',
96
+ 1.5: 'scale-1-5',
97
+ 2: 'scale-2-0',
98
+ }[scale];
99
+ const buttonClasses = clsx(styles$q.button, styles$q[`button-${variant}`], styles$q[`button-${size}`], scaleClass, {
100
+ [styles$q['disabled']]: disabled,
101
+ [styles$q['buttonLoading']]: loading,
102
+ [styles$q['buttonWithIcon']]: resolvedIcon && !iconOnly,
103
+ [styles$q[`buttonIconPosition-${iconPosition}`]]: resolvedIcon && !iconOnly,
104
+ [styles$q['buttonNoContent']]: resolvedIcon && !hasContent && !iconOnly,
105
+ [styles$q['buttonFullWidth']]: fullWidth,
106
+ [styles$q['buttonIconOnly']]: iconOnly,
101
107
  }, className);
102
108
  const getAriaLabel = () => {
103
109
  if (ariaLabel)
@@ -123,12 +129,12 @@ const Button = React__default.forwardRef(({ as, children, variant = 'filled', ic
123
129
  };
124
130
  const renderContent = () => {
125
131
  if (iconOnly && !loading) {
126
- return (jsx("span", { className: styles$p.buttonIconOnly, "aria-hidden": "true", children: resolvedIcon }));
132
+ return (jsx("span", { className: styles$q.buttonIconOnly, "aria-hidden": "true", children: resolvedIcon }));
127
133
  }
128
134
  if (loading) {
129
- return (jsxs(Fragment, { children: [!iconOnly && (jsxs("span", { className: styles$p.buttonContentHidden, "aria-hidden": "true", children: [resolvedIcon && (iconPosition === 'left' || iconPosition === 'both') && (jsx("span", { className: styles$p.buttonIconLeft, children: resolvedIcon })), children, resolvedIcon && (iconPosition === 'right' || iconPosition === 'both') && (jsx("span", { className: styles$p.buttonIconRight, children: resolvedIcon }))] })), jsx("span", { className: styles$p.buttonLoadingSpinner, "aria-hidden": "true", children: jsx(SpinnerIos16Regular, { "aria-hidden": "true" }) })] }));
135
+ return (jsxs(Fragment, { children: [!iconOnly && (jsxs("span", { className: styles$q.buttonContentHidden, "aria-hidden": "true", children: [resolvedIcon && (iconPosition === 'left' || iconPosition === 'both') && (jsx("span", { className: styles$q.buttonIconLeft, children: resolvedIcon })), children, resolvedIcon && (iconPosition === 'right' || iconPosition === 'both') && (jsx("span", { className: styles$q.buttonIconRight, children: resolvedIcon }))] })), jsx("span", { className: styles$q.buttonLoadingSpinner, "aria-hidden": "true", children: jsx(SpinnerIos16Regular, { "aria-hidden": "true" }) })] }));
130
136
  }
131
- return (jsxs(Fragment, { children: [resolvedIcon && (iconPosition === 'left' || iconPosition === 'both') && (jsx("span", { className: styles$p.buttonIconLeft, "aria-hidden": "true", children: resolvedIcon })), children, resolvedIcon && (iconPosition === 'right' || iconPosition === 'both') && (jsx("span", { className: styles$p.buttonIconRight, "aria-hidden": "true", children: resolvedIcon }))] }));
137
+ return (jsxs(Fragment, { children: [resolvedIcon && (iconPosition === 'left' || iconPosition === 'both') && (jsx("span", { className: styles$q.buttonIconLeft, "aria-hidden": "true", children: resolvedIcon })), children, resolvedIcon && (iconPosition === 'right' || iconPosition === 'both') && (jsx("span", { className: styles$q.buttonIconRight, "aria-hidden": "true", children: resolvedIcon }))] }));
132
138
  };
133
139
  const baseProps = {
134
140
  ref,
@@ -2433,7 +2439,7 @@ const ptBR = {
2433
2439
  },
2434
2440
  };
2435
2441
 
2436
- var styles$o = {"root":"Calendar-module__root___vQEhz","day":"Calendar-module__day___dseUA","day_button":"Calendar-module__day_button___r3WNU","caption_label":"Calendar-module__caption_label___Dhkie","button_next":"Calendar-module__button_next___iRaNz","button_previous":"Calendar-module__button_previous___r7JBs","chevron":"Calendar-module__chevron___NPDg-","nav":"Calendar-module__nav___MT3Dm","dropdowns":"Calendar-module__dropdowns___xBVtv","dropdown":"Calendar-module__dropdown___D7OlW","dropdown_root":"Calendar-module__dropdown_root___v4DlK","month_caption":"Calendar-module__month_caption___P3Hlu","month":"Calendar-module__month___0RA-L","months":"Calendar-module__months___rmJdy","month_grid":"Calendar-module__month_grid___f6YkX","weekday":"Calendar-module__weekday___Spb2f","week_number":"Calendar-module__week_number___EXJD9","today":"Calendar-module__today___U36wP","outside":"Calendar-module__outside___UeJFZ","selected":"Calendar-module__selected___5Nryr","disabled":"Calendar-module__disabled___T3658","hidden":"Calendar-module__hidden___uL3uc","range_start":"Calendar-module__range_start___c1eNH","range_middle":"Calendar-module__range_middle___Uv4gt","range_end":"Calendar-module__range_end___4qDh5","focusable":"Calendar-module__focusable___V7w-Q","weeks_before_enter":"Calendar-module__weeks_before_enter___O1ytQ","slide_in_left":"Calendar-module__slide_in_left___hfrfr","weeks_before_exit":"Calendar-module__weeks_before_exit___v7nDr","slide_out_left":"Calendar-module__slide_out_left___kib4j","weeks_after_enter":"Calendar-module__weeks_after_enter___CEtsD","slide_in_right":"Calendar-module__slide_in_right___ldL0M","weeks_after_exit":"Calendar-module__weeks_after_exit___F8Edz","slide_out_right":"Calendar-module__slide_out_right___X2hxE","caption_after_enter":"Calendar-module__caption_after_enter___0ek1H","fade_in":"Calendar-module__fade_in___YyYoZ","caption_after_exit":"Calendar-module__caption_after_exit___RA1iK","fade_out":"Calendar-module__fade_out___lNcmB","caption_before_enter":"Calendar-module__caption_before_enter___j6sMK","caption_before_exit":"Calendar-module__caption_before_exit___rntl-","calendar_grid_wrapper":"Calendar-module__calendar_grid_wrapper___OX0TR","caption_grid_btn":"Calendar-module__caption_grid_btn___qD0-E","caption_year_chevron":"Calendar-module__caption_year_chevron___4ghQV","caption_grid_label":"Calendar-module__caption_grid_label___93Wx4","gridOverlay":"Calendar-module__gridOverlay___Za-y0","gridOverlayCaption":"Calendar-module__gridOverlayCaption___p4OUO","gridOverlayYearsNav":"Calendar-module__gridOverlayYearsNav___U6S-V","gridCells":"Calendar-module__gridCells___Y8DaG","gridCellsYears":"Calendar-module__gridCellsYears___jEV52","gridCell":"Calendar-module__gridCell___RV1co","gridCellActive":"Calendar-module__gridCellActive___UBi5y","gridNavBtn":"Calendar-module__gridNavBtn___Jligz","chevronNavBtnPrev":"Calendar-module__chevronNavBtnPrev___ifEps","chevronNavBtnNext":"Calendar-module__chevronNavBtnNext___qmghm"};
2442
+ var styles$p = {"root":"Calendar-module__root___vQEhz","day":"Calendar-module__day___dseUA","day_button":"Calendar-module__day_button___r3WNU","caption_label":"Calendar-module__caption_label___Dhkie","button_next":"Calendar-module__button_next___iRaNz","button_previous":"Calendar-module__button_previous___r7JBs","chevron":"Calendar-module__chevron___NPDg-","nav":"Calendar-module__nav___MT3Dm","dropdowns":"Calendar-module__dropdowns___xBVtv","dropdown":"Calendar-module__dropdown___D7OlW","dropdown_root":"Calendar-module__dropdown_root___v4DlK","month_caption":"Calendar-module__month_caption___P3Hlu","month":"Calendar-module__month___0RA-L","months":"Calendar-module__months___rmJdy","month_grid":"Calendar-module__month_grid___f6YkX","weekday":"Calendar-module__weekday___Spb2f","week_number":"Calendar-module__week_number___EXJD9","today":"Calendar-module__today___U36wP","outside":"Calendar-module__outside___UeJFZ","selected":"Calendar-module__selected___5Nryr","disabled":"Calendar-module__disabled___T3658","hidden":"Calendar-module__hidden___uL3uc","range_start":"Calendar-module__range_start___c1eNH","range_middle":"Calendar-module__range_middle___Uv4gt","range_end":"Calendar-module__range_end___4qDh5","focusable":"Calendar-module__focusable___V7w-Q","weeks_before_enter":"Calendar-module__weeks_before_enter___O1ytQ","slide_in_left":"Calendar-module__slide_in_left___hfrfr","weeks_before_exit":"Calendar-module__weeks_before_exit___v7nDr","slide_out_left":"Calendar-module__slide_out_left___kib4j","weeks_after_enter":"Calendar-module__weeks_after_enter___CEtsD","slide_in_right":"Calendar-module__slide_in_right___ldL0M","weeks_after_exit":"Calendar-module__weeks_after_exit___F8Edz","slide_out_right":"Calendar-module__slide_out_right___X2hxE","caption_after_enter":"Calendar-module__caption_after_enter___0ek1H","fade_in":"Calendar-module__fade_in___YyYoZ","caption_after_exit":"Calendar-module__caption_after_exit___RA1iK","fade_out":"Calendar-module__fade_out___lNcmB","caption_before_enter":"Calendar-module__caption_before_enter___j6sMK","caption_before_exit":"Calendar-module__caption_before_exit___rntl-","calendar_grid_wrapper":"Calendar-module__calendar_grid_wrapper___OX0TR","caption_grid_btn":"Calendar-module__caption_grid_btn___qD0-E","caption_year_chevron":"Calendar-module__caption_year_chevron___4ghQV","caption_grid_label":"Calendar-module__caption_grid_label___93Wx4","gridOverlay":"Calendar-module__gridOverlay___Za-y0","gridOverlayCaption":"Calendar-module__gridOverlayCaption___p4OUO","gridOverlayYearsNav":"Calendar-module__gridOverlayYearsNav___U6S-V","gridCells":"Calendar-module__gridCells___Y8DaG","gridCellsYears":"Calendar-module__gridCellsYears___jEV52","gridCell":"Calendar-module__gridCell___RV1co","gridCellActive":"Calendar-module__gridCellActive___UBi5y","gridNavBtn":"Calendar-module__gridNavBtn___Jligz","chevronNavBtnPrev":"Calendar-module__chevronNavBtnPrev___ifEps","chevronNavBtnNext":"Calendar-module__chevronNavBtnNext___qmghm"};
2437
2443
 
2438
2444
  const FLUENT_CHEVRON_MAP = {
2439
2445
  down: ChevronDown16Regular,
@@ -2452,10 +2458,10 @@ const GridMonthCaption = ({ calendarMonth, displayIndex: _displayIndex, ...divPr
2452
2458
  const date = calendarMonth.date;
2453
2459
  const monthLabel = new Intl.DateTimeFormat(intlLocale, { month: "long" }).format(date);
2454
2460
  const yearLabel = String(date.getFullYear());
2455
- return (jsxs("div", { ...divProps, children: [jsx("span", { className: styles$o.caption_grid_label, children: monthLabel }), jsxs("button", { type: "button", className: styles$o.caption_grid_btn, "aria-pressed": view === "years", onClick: onYearLabelClick, children: [yearLabel, view !== "days" ? (jsx(ChevronUp16Regular, { className: styles$o.caption_year_chevron, "aria-hidden": true })) : (jsx(ChevronDown16Regular, { className: styles$o.caption_year_chevron, "aria-hidden": true }))] })] }));
2461
+ return (jsxs("div", { ...divProps, children: [jsx("span", { className: styles$p.caption_grid_label, children: monthLabel }), jsxs("button", { type: "button", className: styles$p.caption_grid_btn, "aria-pressed": view === "years", onClick: onYearLabelClick, children: [yearLabel, view !== "days" ? (jsx(ChevronUp16Regular, { className: styles$p.caption_year_chevron, "aria-hidden": true })) : (jsx(ChevronDown16Regular, { className: styles$p.caption_year_chevron, "aria-hidden": true }))] })] }));
2456
2462
  };
2457
2463
  const YEARS_PER_PAGE = 20;
2458
- const Calendar = ({ selected, currentDate, defaultMonth, startMonth, endMonth, onDaySelect, onDateChange, onClear: _onClear, minDate, maxDate, disabled, format: _format, locale = "pt-br", autoFocus, className, id, "aria-label": ariaLabel, ...rest }) => {
2464
+ const Calendar = ({ selected, currentDate, defaultMonth, startMonth, endMonth, onDaySelect, onDateChange, onClear: _onClear, minDate, maxDate, disabled, format: _format, locale = "pt-br", autoFocus, className, scale = 1, id, "aria-label": ariaLabel, ...rest }) => {
2459
2465
  const animate = true;
2460
2466
  const [internalSelected, setInternalSelected] = useState(selected ?? undefined);
2461
2467
  const [internalDisplayMonth, setInternalDisplayMonth] = useState(() => currentDate ?? defaultMonth ?? new Date());
@@ -2520,7 +2526,7 @@ const Calendar = ({ selected, currentDate, defaultMonth, startMonth, endMonth, o
2520
2526
  onYearLabelClick: handleYearLabelClick,
2521
2527
  };
2522
2528
  const sharedDayPickerProps = {
2523
- classNames: styles$o,
2529
+ classNames: styles$p,
2524
2530
  animate,
2525
2531
  mode: "single",
2526
2532
  selected: resolvedSelected,
@@ -2532,10 +2538,15 @@ const Calendar = ({ selected, currentDate, defaultMonth, startMonth, endMonth, o
2532
2538
  autoFocus,
2533
2539
  "aria-label": ariaLabel,
2534
2540
  };
2535
- return (jsx(GridCtx.Provider, { value: gridCtxValue, children: jsxs("div", { className: clsx(styles$o.calendar_grid_wrapper, className), children: [jsx(DayPicker, { id: id, ...sharedDayPickerProps, ...rest, captionLayout: "label", month: resolvedDisplayMonth, onMonthChange: handleMonthChange, components: { MonthCaption: GridMonthCaption, Chevron: CustomChevron } }), gridView !== "days" && (jsxs("div", { className: `${styles$o.gridOverlay}${gridView === "years" ? ` ${styles$o.gridOverlayYears}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": gridView === "months" ? "Selecione o mês" : "Selecione o ano", children: [gridView === "months" && (jsxs(Fragment, { children: [jsxs("div", { className: styles$o.gridOverlayCaption, children: [jsx("span", { className: styles$o.caption_grid_label, children: new Intl.DateTimeFormat(intlLocale, { month: "long" }).format(resolvedDisplayMonth) }), jsxs("button", { type: "button", className: styles$o.caption_grid_btn, onClick: () => setGridView("days"), "aria-label": "Fechar sele\u00E7\u00E3o de m\u00EAs", children: [displayedYear, jsx(ChevronUp16Regular, { className: styles$o.caption_year_chevron, "aria-hidden": true })] })] }), jsx("div", { className: styles$o.gridCells, children: monthsGrid.map(({ index, label, disabled: monthDisabled }) => (jsx("button", { type: "button", disabled: monthDisabled, className: `${styles$o.gridCell}${displayedMonthIndex === index ? ` ${styles$o.gridCellActive}` : ""}`, onClick: () => handleGridMonthSelect(index), children: label }, index))) })] })), gridView === "years" && (jsxs(Fragment, { children: [jsxs("div", { className: styles$o.gridOverlayCaption, children: [jsx("span", { className: styles$o.caption_grid_label, children: new Intl.DateTimeFormat(intlLocale, { month: "long" }).format(resolvedDisplayMonth) }), jsxs("button", { type: "button", className: styles$o.caption_grid_btn, onClick: () => setGridView("days"), "aria-label": "Fechar sele\u00E7\u00E3o de ano", children: [displayedYear, jsx(ChevronUp16Regular, { className: styles$o.caption_year_chevron, "aria-hidden": true })] }), jsxs("div", { className: styles$o.gridOverlayYearsNav, children: [jsx("button", { type: "button", className: styles$o.gridNavBtn, disabled: !canGoPrevYears, onClick: () => setYearPageStart((s) => s - YEARS_PER_PAGE), "aria-label": "Anos anteriores", children: jsx(ChevronLeft16Regular, { className: styles$o.chevronNavBtnPrev, "aria-hidden": true }) }), jsx("button", { type: "button", className: styles$o.gridNavBtn, disabled: !canGoNextYears, onClick: () => setYearPageStart((s) => s + YEARS_PER_PAGE), "aria-label": "Pr\u00F3ximos anos", children: jsx(ChevronRight16Regular, { className: styles$o.chevronNavBtnNext, "aria-hidden": true }) })] })] }), jsx("div", { className: `${styles$o.gridCells} ${styles$o.gridCellsYears}`, children: yearsInPage.map((year) => (jsx("button", { type: "button", className: `${styles$o.gridCell}${displayedYear === year ? ` ${styles$o.gridCellActive}` : ""}`, onClick: () => handleGridYearSelect(year), children: year }, year))) })] }))] }))] }) }));
2541
+ const scaleClass = {
2542
+ 1: 'scale-1-0',
2543
+ 1.5: 'scale-1-5',
2544
+ 2: 'scale-2-0',
2545
+ }[scale];
2546
+ return (jsx(GridCtx.Provider, { value: gridCtxValue, children: jsxs("div", { className: clsx(styles$p.calendar_grid_wrapper, scaleClass, className), children: [jsx(DayPicker, { id: id, ...sharedDayPickerProps, ...rest, captionLayout: "label", month: resolvedDisplayMonth, onMonthChange: handleMonthChange, components: { MonthCaption: GridMonthCaption, Chevron: CustomChevron } }), gridView !== "days" && (jsxs("div", { className: `${styles$p.gridOverlay}${gridView === "years" ? ` ${styles$p.gridOverlayYears}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": gridView === "months" ? "Selecione o mês" : "Selecione o ano", children: [gridView === "months" && (jsxs(Fragment, { children: [jsxs("div", { className: styles$p.gridOverlayCaption, children: [jsx("span", { className: styles$p.caption_grid_label, children: new Intl.DateTimeFormat(intlLocale, { month: "long" }).format(resolvedDisplayMonth) }), jsxs("button", { type: "button", className: styles$p.caption_grid_btn, onClick: () => setGridView("days"), "aria-label": "Fechar sele\u00E7\u00E3o de m\u00EAs", children: [displayedYear, jsx(ChevronUp16Regular, { className: styles$p.caption_year_chevron, "aria-hidden": true })] })] }), jsx("div", { className: styles$p.gridCells, children: monthsGrid.map(({ index, label, disabled: monthDisabled }) => (jsx("button", { type: "button", disabled: monthDisabled, className: `${styles$p.gridCell}${displayedMonthIndex === index ? ` ${styles$p.gridCellActive}` : ""}`, onClick: () => handleGridMonthSelect(index), children: label }, index))) })] })), gridView === "years" && (jsxs(Fragment, { children: [jsxs("div", { className: styles$p.gridOverlayCaption, children: [jsx("span", { className: styles$p.caption_grid_label, children: new Intl.DateTimeFormat(intlLocale, { month: "long" }).format(resolvedDisplayMonth) }), jsxs("button", { type: "button", className: styles$p.caption_grid_btn, onClick: () => setGridView("days"), "aria-label": "Fechar sele\u00E7\u00E3o de ano", children: [displayedYear, jsx(ChevronUp16Regular, { className: styles$p.caption_year_chevron, "aria-hidden": true })] }), jsxs("div", { className: styles$p.gridOverlayYearsNav, children: [jsx("button", { type: "button", className: styles$p.gridNavBtn, disabled: !canGoPrevYears, onClick: () => setYearPageStart((s) => s - YEARS_PER_PAGE), "aria-label": "Anos anteriores", children: jsx(ChevronLeft16Regular, { className: styles$p.chevronNavBtnPrev, "aria-hidden": true }) }), jsx("button", { type: "button", className: styles$p.gridNavBtn, disabled: !canGoNextYears, onClick: () => setYearPageStart((s) => s + YEARS_PER_PAGE), "aria-label": "Pr\u00F3ximos anos", children: jsx(ChevronRight16Regular, { className: styles$p.chevronNavBtnNext, "aria-hidden": true }) })] })] }), jsx("div", { className: `${styles$p.gridCells} ${styles$p.gridCellsYears}`, children: yearsInPage.map((year) => (jsx("button", { type: "button", className: `${styles$p.gridCell}${displayedYear === year ? ` ${styles$p.gridCellActive}` : ""}`, onClick: () => handleGridYearSelect(year), children: year }, year))) })] }))] }))] }) }));
2536
2547
  };
2537
2548
 
2538
- var styles$n = {"container":"Callout-module__container___dggFW","withTitle":"Callout-module__withTitle___e-HEg","brand":"Callout-module__brand___YHDPQ","success":"Callout-module__success___RPS0Q","alert":"Callout-module__alert___LVlJM","content":"Callout-module__content___g44Qz","icon":"Callout-module__icon___4CBkz","subcontent":"Callout-module__subcontent___5hz-f","title":"Callout-module__title___IPSdE","text":"Callout-module__text___0Ys48","dismiss":"Callout-module__dismiss___ZaycS"};
2549
+ var styles$o = {"container":"Callout-module__container___dggFW","withTitle":"Callout-module__withTitle___e-HEg","brand":"Callout-module__brand___YHDPQ","success":"Callout-module__success___RPS0Q","alert":"Callout-module__alert___LVlJM","content":"Callout-module__content___g44Qz","icon":"Callout-module__icon___4CBkz","subcontent":"Callout-module__subcontent___5hz-f","title":"Callout-module__title___IPSdE","text":"Callout-module__text___0Ys48","dismiss":"Callout-module__dismiss___ZaycS"};
2539
2550
 
2540
2551
  const Callout = ({ variant = 'neutral', title, text, icon, onDismiss, dismiss, backgroundColor, textColor, className, id, style, ...rest }) => {
2541
2552
  if (process.env.NODE_ENV !== 'production' && (text === '' || (typeof text === 'string' && !text.trim()))) {
@@ -2545,13 +2556,13 @@ const Callout = ({ variant = 'neutral', title, text, icon, onDismiss, dismiss, b
2545
2556
  const titleId = `callout-title-${id || generatedId}`;
2546
2557
  const componentId = id || generatedId;
2547
2558
  const isAlert = variant === 'alert';
2548
- const containerClass = clsx(styles$n.container, styles$n[variant], { [styles$n.withTitle]: title }, className);
2559
+ const containerClass = clsx(styles$o.container, styles$o[variant], { [styles$o.withTitle]: title }, className);
2549
2560
  const customStyle = {
2550
2561
  ...style,
2551
2562
  ...(backgroundColor && { '--callout-bg': `var(--${backgroundColor})` }),
2552
2563
  ...(textColor && { '--callout-text': `var(--${textColor})` }),
2553
2564
  };
2554
- return (jsx("div", { id: componentId, className: containerClass, role: isAlert ? 'alert' : 'status', "aria-live": isAlert ? 'assertive' : 'polite', "aria-labelledby": title ? titleId : undefined, style: customStyle, ...rest, children: jsxs("div", { className: styles$n.content, children: [icon && jsx("span", { className: styles$n.icon, "aria-hidden": "true", children: icon }), jsxs("div", { className: styles$n.subcontent, children: [title && (jsx("span", { id: titleId, className: styles$n.title, children: title })), text && jsx("span", { className: styles$n.text, children: text })] }), dismiss && (jsx("button", { className: styles$n.dismiss, onClick: onDismiss, type: "button", "aria-label": "Fechar", children: jsx(Dismiss24Regular, { "aria-hidden": "true" }) }))] }) }));
2565
+ return (jsx("div", { id: componentId, className: containerClass, role: isAlert ? 'alert' : 'status', "aria-live": isAlert ? 'assertive' : 'polite', "aria-labelledby": title ? titleId : undefined, style: customStyle, ...rest, children: jsxs("div", { className: styles$o.content, children: [icon && jsx("span", { className: styles$o.icon, "aria-hidden": "true", children: icon }), jsxs("div", { className: styles$o.subcontent, children: [title && (jsx("span", { id: titleId, className: styles$o.title, children: title })), text && jsx("span", { className: styles$o.text, children: text })] }), dismiss && (jsx("button", { className: styles$o.dismiss, onClick: onDismiss, type: "button", "aria-label": "Fechar", children: jsx(Dismiss24Regular, { "aria-hidden": "true" }) }))] }) }));
2555
2566
  };
2556
2567
 
2557
2568
  const CheckSmall = ({ className = '', width = 12, height = 10, fill = 'white', ...restProps }) => {
@@ -2562,22 +2573,32 @@ const CheckHalf = ({ className = '', width = 16, height = 16, fill = 'white', ..
2562
2573
  return (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: jsx("g", { id: "Icons/check_indeterminate_small", children: jsx("path", { id: "icon", d: "M3 9V7H13V9H3Z", fill: fill }) }) }));
2563
2574
  };
2564
2575
 
2565
- var styles$m = {"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"};
2576
+ 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"};
2566
2577
 
2567
- const Checkbox = ({ id, label, onCheckedChange, checked, disabled, className, indeterminate = false, ...rest }) => {
2578
+ const Checkbox = ({ id, label, onCheckedChange, checked, disabled, className, scale = 1, indeterminate = false, ...rest }) => {
2568
2579
  const componentId = id || React.useId();
2569
- return (jsxs("div", { className: clsx(styles$m.container, className), children: [jsx("div", { className: clsx(styles$m.wrapperCheckbox, {
2570
- [styles$m.disabled]: disabled,
2571
- }), role: "presentation", tabIndex: disabled ? -1 : 0, children: jsx(Checkbox$1.Root, { className: styles$m.root, checked: indeterminate ? 'indeterminate' : checked, id: componentId, onCheckedChange: onCheckedChange, disabled: disabled, "data-disabled": disabled, "data-indeterminate": indeterminate, "aria-checked": indeterminate ? 'mixed' : checked ? 'true' : 'false', ...rest, children: jsx(Checkbox$1.Indicator, { className: styles$m.indicator, children: indeterminate ? jsx(CheckHalf, {}) : jsx(CheckSmall, {}) }) }) }), jsx("label", { className: clsx(styles$m.label, { [styles$m.disabled]: disabled }), htmlFor: componentId, children: label })] }));
2580
+ const scaleClass = {
2581
+ 1: 'scale-1-0',
2582
+ 1.5: 'scale-1-5',
2583
+ 2: 'scale-2-0',
2584
+ }[scale];
2585
+ return (jsxs("div", { className: clsx(styles$n.container, scaleClass, className), children: [jsx("div", { className: clsx(styles$n.wrapperCheckbox, {
2586
+ [styles$n.disabled]: disabled,
2587
+ }), role: "presentation", tabIndex: disabled ? -1 : 0, children: jsx(Checkbox$1.Root, { className: styles$n.root, checked: indeterminate ? 'indeterminate' : checked, id: componentId, onCheckedChange: onCheckedChange, disabled: disabled, "data-disabled": disabled, "data-indeterminate": indeterminate, "aria-checked": indeterminate ? 'mixed' : checked ? 'true' : 'false', ...rest, children: jsx(Checkbox$1.Indicator, { className: styles$n.indicator, children: indeterminate ? jsx(CheckHalf, {}) : jsx(CheckSmall, {}) }) }) }), jsx("label", { className: clsx(styles$n.label, { [styles$n.disabled]: disabled }), htmlFor: componentId, children: label })] }));
2572
2588
  };
2573
2589
 
2574
- var styles$l = {"chips":"Chips-module__chips___SOvBe","title":"Chips-module__title___ZhuQi","iconLeft":"Chips-module__iconLeft___tPhnw","iconRight":"Chips-module__iconRight___-HxL2","hasLeftIcon":"Chips-module__hasLeftIcon___D3quS","hasRightIcon":"Chips-module__hasRightIcon___ZMx2Y","brand":"Chips-module__brand___q1Gsm","success":"Chips-module__success___UhxQa","alert":"Chips-module__alert___nvPnr","disabled":"Chips-module__disabled___ElWLI"};
2575
-
2576
- const Chips = ({ children, leftIcon, rightIcon, variant = 'neutral', disabled = false, backgroundColor, textColor, className, style, ...rest }) => {
2577
- const chipsClass = clsx(styles$l.chips, styles$l[variant], {
2578
- [styles$l.disabled]: disabled,
2579
- [styles$l.hasLeftIcon]: leftIcon,
2580
- [styles$l.hasRightIcon]: rightIcon,
2590
+ var styles$m = {"chips":"Chips-module__chips___SOvBe","title":"Chips-module__title___ZhuQi","iconLeft":"Chips-module__iconLeft___tPhnw","iconRight":"Chips-module__iconRight___-HxL2","hasLeftIcon":"Chips-module__hasLeftIcon___D3quS","hasRightIcon":"Chips-module__hasRightIcon___ZMx2Y","brand":"Chips-module__brand___q1Gsm","success":"Chips-module__success___UhxQa","alert":"Chips-module__alert___nvPnr","disabled":"Chips-module__disabled___ElWLI"};
2591
+
2592
+ const Chips = ({ children, leftIcon, rightIcon, variant = 'neutral', disabled = false, backgroundColor, textColor, scale = 1, className, style, ...rest }) => {
2593
+ const scaleClass = {
2594
+ 1: 'scale-1-0',
2595
+ 1.5: 'scale-1-5',
2596
+ 2: 'scale-2-0',
2597
+ }[scale];
2598
+ const chipsClass = clsx(styles$m.chips, styles$m[variant], scaleClass, {
2599
+ [styles$m.disabled]: disabled,
2600
+ [styles$m.hasLeftIcon]: leftIcon,
2601
+ [styles$m.hasRightIcon]: rightIcon,
2581
2602
  }, className);
2582
2603
  const colorStyle = {
2583
2604
  ...(!disabled && backgroundColor && { '--chips-bg': `var(--${backgroundColor})` }),
@@ -2585,24 +2606,631 @@ const Chips = ({ children, leftIcon, rightIcon, variant = 'neutral', disabled =
2585
2606
  ...style,
2586
2607
  };
2587
2608
  const isInteractive = typeof rest.onClick === 'function';
2588
- return (jsxs("div", { className: chipsClass, "aria-disabled": disabled, style: colorStyle, role: isInteractive ? 'button' : undefined, tabIndex: isInteractive ? (disabled ? -1 : 0) : undefined, ...rest, children: [leftIcon && (jsx("span", { className: styles$l.iconLeft, "aria-hidden": "true", children: leftIcon })), jsx("span", { className: styles$l.title, children: children }), rightIcon && (jsx("span", { className: styles$l.iconRight, children: rightIcon }))] }));
2609
+ return (jsxs("div", { className: chipsClass, "aria-disabled": disabled, style: colorStyle, role: isInteractive ? 'button' : undefined, tabIndex: isInteractive ? (disabled ? -1 : 0) : undefined, ...rest, children: [leftIcon && (jsx("span", { className: styles$m.iconLeft, "aria-hidden": "true", children: leftIcon })), jsx("span", { className: styles$m.title, children: children }), rightIcon && (jsx("span", { className: styles$m.iconRight, children: rightIcon }))] }));
2589
2610
  };
2590
2611
  const MemoizedChips = React__default.memo(Chips);
2591
2612
  MemoizedChips.displayName = 'Chips';
2592
2613
 
2593
- var styles$k = {"container":"Container-module__container___exPuE"};
2614
+ var styles$l = {"container":"Container-module__container___exPuE"};
2594
2615
 
2595
2616
  function Container({ children, className }) {
2596
- return (jsx("main", { className: clsx(styles$k['container'], 'mx-auto', className), children: children }));
2617
+ return (jsx("main", { className: clsx(styles$l['container'], 'mx-auto', className), children: children }));
2597
2618
  }
2598
2619
 
2599
- var styles$j = {"Content":"Popover-module__Content___RIETg"};
2620
+ var styles$k = {"Content":"Popover-module__Content___RIETg"};
2600
2621
 
2601
2622
  const Popover = ({ trigger, content, side = "left", align = "start", sideOffset = 8, open, onOpenChange, asAnchor = false, onOpenAutoFocus, onCloseAutoFocus, showArrow = false, className, ...rest }) => {
2602
- return (jsxs(Popover$1.Root, { open: open, onOpenChange: onOpenChange, ...rest, children: [asAnchor ? (jsx(Popover$1.Anchor, { asChild: true, children: trigger })) : (jsx(Popover$1.Trigger, { asChild: true, children: trigger })), jsx(Popover$1.Portal, { children: jsxs(Popover$1.Content, { className: clsx(styles$j.Content, className), sideOffset: sideOffset, side: side, align: align, onOpenAutoFocus: asAnchor ? (e) => e.preventDefault() : onOpenAutoFocus, onCloseAutoFocus: asAnchor ? (e) => e.preventDefault() : onCloseAutoFocus, onInteractOutside: asAnchor ? (e) => e.preventDefault() : undefined, children: [content, showArrow && jsx(Popover$1.Arrow, {})] }) })] }));
2623
+ return (jsxs(Popover$1.Root, { open: open, onOpenChange: onOpenChange, ...rest, children: [asAnchor ? (jsx(Popover$1.Anchor, { asChild: true, children: trigger })) : (jsx(Popover$1.Trigger, { asChild: true, children: trigger })), jsx(Popover$1.Portal, { children: jsxs(Popover$1.Content, { className: clsx(styles$k.Content, className), sideOffset: sideOffset, side: side, align: align, onOpenAutoFocus: asAnchor ? (e) => e.preventDefault() : onOpenAutoFocus, onCloseAutoFocus: asAnchor ? (e) => e.preventDefault() : onCloseAutoFocus, onInteractOutside: asAnchor ? (e) => e.preventDefault() : undefined, children: [content, showArrow && jsx(Popover$1.Arrow, {})] }) })] }));
2624
+ };
2625
+
2626
+ function useInputKeyboardValue(externalRef) {
2627
+ const internalRef = useRef(null);
2628
+ const setRefs = useCallback((node) => {
2629
+ internalRef.current = node;
2630
+ if (typeof externalRef === 'function') {
2631
+ externalRef(node);
2632
+ return;
2633
+ }
2634
+ if (externalRef) {
2635
+ externalRef.current = node;
2636
+ }
2637
+ }, [externalRef]);
2638
+ return { internalRef, setRefs };
2639
+ }
2640
+
2641
+ const iconSlot = (key) => `<span data-icon-key="${key}"></span>`;
2642
+ const ICON_KEY_MAP = {
2643
+ bksp: Backspace20Regular,
2644
+ shift: KeyboardShift20Regular,
2645
+ shiftactivated: KeyboardShift20Filled,
2646
+ capslock: KeyboardShiftUppercase20Regular,
2647
+ downkeyboard: ChevronDown20Regular,
2648
+ emoji: Emoji20Regular,
2649
+ };
2650
+ const SHARED_DISPLAY = {
2651
+ '{capslock}': iconSlot('capslock'),
2652
+ '{numbers}': '123',
2653
+ '{abc}': 'ABC',
2654
+ '{alt}': '.?!',
2655
+ '{alt2}': '#+=',
2656
+ '{emoticon}': iconSlot('emoji'),
2657
+ '{shift}': iconSlot('shift'),
2658
+ '{shiftactivated}': iconSlot('shiftactivated'),
2659
+ '{enter}': 'Enter',
2660
+ '{bksp}': `${iconSlot('bksp')} Apagar`,
2661
+ '{altright}': '.?123',
2662
+ '{downkeyboard}': iconSlot('downkeyboard'),
2663
+ '{space}': ' ',
2664
+ '{default}': 'ABC',
2665
+ };
2666
+ const LAYOUT_DISPLAY = {
2667
+ default: SHARED_DISPLAY,
2668
+ numeric: SHARED_DISPLAY,
2669
+ };
2670
+
2671
+ const EMOTICON_KEY = '{emoticon}';
2672
+ const DOWN_KEYBOARD_KEY = '{downkeyboard}';
2673
+ const removeKeyFromLayout = (layout, key) => Object.fromEntries(Object.entries(layout).map(([layoutName, rows]) => [
2674
+ layoutName,
2675
+ rows.map((row) => row.split(key).join(' ').replace(/\s+/g, ' ').trim()),
2676
+ ]));
2677
+ const QWERTY_LOWERCASE = [
2678
+ '{//} 1 2 3 4 5 6 7 8 9 0 {//}',
2679
+ '{//} q w e r t y u i o p {//}',
2680
+ 'a s d f g h j k l ç {bksp}',
2681
+ '{shift} z x c v b n m , . {shift}',
2682
+ '{numbers} {alt} {space} {downkeyboard} {enter}',
2683
+ ];
2684
+ const NUMPAD = ['1 2 3', '4 5 6', '7 8 9', '{bksp} 0 {abc}'];
2685
+ const SHARED_LAYOUTS = {
2686
+ shift: [
2687
+ '{//} 1 2 3 4 5 6 7 8 9 0 {//}',
2688
+ '{//} Q W E R T Y U I O P {//}',
2689
+ 'A S D F G H J K L Ç {bksp}',
2690
+ '{capslock} Z X C V B N M , . {capslock}',
2691
+ '{numbers} {alt} {emoticon} {space} {downkeyboard} {enter}',
2692
+ ],
2693
+ caps: [
2694
+ '{//} 1 2 3 4 5 6 7 8 9 0 {//}',
2695
+ '{//} Q W E R T Y U I O P {//}',
2696
+ 'A S D F G H J K L Ç {bksp}',
2697
+ '{shiftactivated} Z X C V B N M , . {shiftactivated}',
2698
+ '{numbers} {alt} {emoticon} {space} {downkeyboard} {enter}',
2699
+ ],
2700
+ numbers: NUMPAD,
2701
+ alt: [
2702
+ '1 2 3 4 5 6 7 8 9 0',
2703
+ `- / : ; ( ) $ & @ "`,
2704
+ '{alt2} . , ? ! ´ {bksp}',
2705
+ '{default} {emoticon} {space} {downkeyboard} {enter}',
2706
+ ],
2707
+ alt2: [
2708
+ '[ ] { } # % ^ * + =',
2709
+ '_ \\ | ~ < > ¢ £ ¥ •',
2710
+ `{alt} . , ? ! ' {bksp}`,
2711
+ '{default} {emoticon} {space} {downkeyboard} {enter}',
2712
+ ],
2713
+ emoticon: [
2714
+ '😀 😊 😅 😂 🙂 😉 😍 😛 😠 😎 {bksp}',
2715
+ `😏 😬 😭 😓 😱 😪 🙄 😴 😯 {enter}`,
2716
+ '😐 😇 🤣 😘 😚 😆 😡 😥 😓 {shift}',
2717
+ '{default} {alt} {space} {altright} {downkeyboard}',
2718
+ ],
2719
+ };
2720
+ const NATIVE_LAYOUTS = {
2721
+ default: {
2722
+ default: QWERTY_LOWERCASE,
2723
+ ...SHARED_LAYOUTS,
2724
+ },
2725
+ numeric: {
2726
+ default: NUMPAD,
2727
+ abc: QWERTY_LOWERCASE,
2728
+ ...SHARED_LAYOUTS,
2729
+ },
2730
+ };
2731
+ const NATIVE_LAYOUT_KEYS = new Set([
2732
+ 'default', 'numeric',
2733
+ ]);
2734
+ const getNativeLayout = (type, Emoji = true, showDownKeyboardButton = true, isFixed = false) => {
2735
+ const layout = NATIVE_LAYOUTS[type] ?? NATIVE_LAYOUTS.default ?? null;
2736
+ if (!layout)
2737
+ return null;
2738
+ let computedLayout = layout;
2739
+ if (!Emoji) {
2740
+ computedLayout = removeKeyFromLayout(computedLayout, EMOTICON_KEY);
2741
+ }
2742
+ if (!showDownKeyboardButton) {
2743
+ computedLayout = removeKeyFromLayout(computedLayout, DOWN_KEYBOARD_KEY);
2744
+ }
2745
+ if (isFixed) {
2746
+ computedLayout = Object.fromEntries(Object.entries(computedLayout).map(([layoutName, rows]) => [
2747
+ layoutName,
2748
+ rows.map((row) => {
2749
+ const trimmed = row.trim();
2750
+ if (/^[a-zA-ZçÇ]/.test(trimmed) && trimmed.endsWith('{bksp}')) {
2751
+ return '{//} ' + trimmed.replace(/\s*\{bksp\}$/, '') + ' {//}';
2752
+ }
2753
+ if (/\{(shift|capslock|shiftactivated)\}$/.test(trimmed)) {
2754
+ return trimmed.replace(/\{(shift|capslock|shiftactivated)\}$/, '{bksp}');
2755
+ }
2756
+ return row;
2757
+ }),
2758
+ ]));
2759
+ }
2760
+ return computedLayout;
2761
+ };
2762
+ const SHIFT_TOGGLES = {
2763
+ default: 'shift',
2764
+ abc: 'shift',
2765
+ shift: 'default',
2766
+ alt: 'default',
2767
+ alt2: 'alt',
2768
+ };
2769
+
2770
+ var styles$j = {"container":"VirtualKeyboard-module__container___A-e0I","disabled":"VirtualKeyboard-module__disabled___HGS2n","layout--numeric":"VirtualKeyboard-module__layout--numeric___zfd7G","layout--default":"VirtualKeyboard-module__layout--default___qyY1b","mode--fixed":"VirtualKeyboard-module__mode--fixed___1eFY1","textFieldContainer":"VirtualKeyboard-module__textFieldContainer___XxGen","keyboardWrapper":"VirtualKeyboard-module__keyboardWrapper___jryTf","overlay":"VirtualKeyboard-module__overlay___a5y7i","overlayOpen":"VirtualKeyboard-module__overlayOpen___hREu-","textFieldWrapper":"VirtualKeyboard-module__textFieldWrapper___bmi-z","accentMenu":"VirtualKeyboard-module__accentMenu___A6tTy","accentOption":"VirtualKeyboard-module__accentOption___ao-Ta"};
2771
+
2772
+ const LONG_PRESS_DELAY_MS = 400;
2773
+ const ACCENT_OPTIONS = {
2774
+ a: ['á', 'à', 'â', 'ã', 'ä', 'å', 'æ'],
2775
+ e: ['é', 'è', 'ê', 'ë'],
2776
+ i: ['í', 'ì', 'î', 'ï'],
2777
+ o: ['ó', 'ò', 'ô', 'õ', 'ö', 'ø', 'œ', 'ð'],
2778
+ u: ['ú', 'ù', 'û', 'ü'],
2779
+ y: ['ý', 'ÿ'],
2780
+ n: ['ñ'],
2781
+ c: ['ç'],
2782
+ '?': ['¿'],
2783
+ '!': ['¡'],
2784
+ };
2785
+ /**
2786
+ * Componente VirtualKeyboard — teclado virtual on-screen para entradas controladas.
2787
+ *
2788
+ * @description Baseado em `react-simple-keyboard`, oferece apenas layouts nativos (QWERTY e numérico)
2789
+ * seguindo o visual padrão da biblioteca.
2790
+ *
2791
+ * Possui dois modos:
2792
+ * - **`native`** (padrão): age como teclado nativo — aparece ao focar no campo referenciado por `targetRef` e some ao perder o foco.
2793
+ * - **`fixed`**: teclado sempre visível com um TextField próprio acima.
2794
+ *
2795
+ * @example
2796
+ * ```tsx
2797
+ * // Modo fixed
2798
+ * <VirtualKeyboard variant="fixed" type="default" onChange={setValue} />
2799
+ * ```
2800
+ *
2801
+ * @example
2802
+ * ```tsx
2803
+ * // Modo native — aparece ao focar no input
2804
+ * const inputRef = useRef<HTMLInputElement>(null);
2805
+ * const [value, setValue] = useState('');
2806
+ * <input ref={inputRef} value={value} readOnly />
2807
+ * <VirtualKeyboard targetRef={inputRef} value={value} onChange={setValue} />
2808
+ * ```
2809
+ */
2810
+ const VirtualKeyboard = ({ variant = 'native', type = 'default', value = '', onChange, onKeyPress, maxLength, Emoji = false, className, id, textFieldPlaceholder = 'Digite aqui...', helperText, error, errorMessage, targetRef, }) => {
2811
+ const [layoutName, setLayoutName] = useState('default');
2812
+ const [capsLockOn, setCapsLockOn] = useState(false);
2813
+ const [accentMenu, setAccentMenu] = useState(null);
2814
+ const [accentMenuOffsetX, setAccentMenuOffsetX] = useState(0);
2815
+ const [activeLayout, setActiveLayout] = useState(getNativeLayout(type, Emoji, variant === 'native', variant === 'fixed'));
2816
+ const visualType = NATIVE_LAYOUT_KEYS.has(type) ? type : 'default';
2817
+ const [isOpen, setIsOpen] = useState(variant !== 'native');
2818
+ const hideTimeoutRef = useRef(null);
2819
+ const longPressTimeoutRef = useRef(null);
2820
+ const suppressNextInputRef = useRef(null);
2821
+ const heldAccentKeyRef = useRef(null);
2822
+ const longPressTriggeredRef = useRef(false);
2823
+ const isKeyboardInteractingRef = useRef(false);
2824
+ const keyboardWrapperRef = useRef(null);
2825
+ const keyboardInstanceRef = useRef(null);
2826
+ const accentMenuRef = useRef(null);
2827
+ const accentButtonRef = useRef(null);
2828
+ const accentMenuOpenRef = useRef(false);
2829
+ const valueRef = useRef(value);
2830
+ const [iconSlots, setIconSlots] = useState([]);
2831
+ useEffect(() => {
2832
+ valueRef.current = value;
2833
+ }, [value]);
2834
+ const clearLongPressTimeout = useCallback(() => {
2835
+ if (longPressTimeoutRef.current !== null) {
2836
+ clearTimeout(longPressTimeoutRef.current);
2837
+ longPressTimeoutRef.current = null;
2838
+ }
2839
+ }, []);
2840
+ const closeAccentMenu = useCallback(() => {
2841
+ setAccentMenu(null);
2842
+ accentButtonRef.current = null;
2843
+ }, []);
2844
+ const syncKeyboardInput = useCallback((nextValue) => {
2845
+ keyboardInstanceRef.current?.setInput(nextValue);
2846
+ }, []);
2847
+ useEffect(() => {
2848
+ syncKeyboardInput(value);
2849
+ }, [value, syncKeyboardInput]);
2850
+ const scheduleHideIfBlurred = useCallback(() => {
2851
+ if (variant !== 'native')
2852
+ return;
2853
+ if (hideTimeoutRef.current !== null) {
2854
+ clearTimeout(hideTimeoutRef.current);
2855
+ }
2856
+ hideTimeoutRef.current = setTimeout(() => {
2857
+ const targetEl = targetRef?.current;
2858
+ const isTargetFocused = !!targetEl && document.activeElement === targetEl;
2859
+ if (!isTargetFocused && !isKeyboardInteractingRef.current) {
2860
+ setIsOpen(false);
2861
+ }
2862
+ }, 150);
2863
+ }, [variant, targetRef]);
2864
+ useEffect(() => {
2865
+ if (variant !== 'native')
2866
+ return;
2867
+ if (!targetRef?.current) {
2868
+ setIsOpen(true);
2869
+ return;
2870
+ }
2871
+ const el = targetRef.current;
2872
+ const handleFocus = () => {
2873
+ if (hideTimeoutRef.current !== null)
2874
+ clearTimeout(hideTimeoutRef.current);
2875
+ setIsOpen(true);
2876
+ };
2877
+ const handleBlur = () => {
2878
+ scheduleHideIfBlurred();
2879
+ };
2880
+ el.addEventListener('focus', handleFocus);
2881
+ el.addEventListener('blur', handleBlur);
2882
+ return () => {
2883
+ el.removeEventListener('focus', handleFocus);
2884
+ el.removeEventListener('blur', handleBlur);
2885
+ if (hideTimeoutRef.current !== null)
2886
+ clearTimeout(hideTimeoutRef.current);
2887
+ };
2888
+ }, [variant, targetRef, scheduleHideIfBlurred]);
2889
+ useEffect(() => {
2890
+ setLayoutName('default');
2891
+ setCapsLockOn(false);
2892
+ setActiveLayout(getNativeLayout(type, Emoji, variant === 'native', variant === 'fixed'));
2893
+ }, [type, Emoji, variant]);
2894
+ useEffect(() => {
2895
+ if (!Emoji && layoutName === 'emoticon') {
2896
+ setLayoutName(type === 'numeric' ? 'abc' : 'default');
2897
+ }
2898
+ }, [Emoji, layoutName, type]);
2899
+ useEffect(() => {
2900
+ return () => {
2901
+ clearLongPressTimeout();
2902
+ };
2903
+ }, [clearLongPressTimeout]);
2904
+ useEffect(() => {
2905
+ if (!accentMenu)
2906
+ return;
2907
+ const handleOutsidePointerDown = (event) => {
2908
+ if (accentMenuRef.current?.contains(event.target))
2909
+ return;
2910
+ closeAccentMenu();
2911
+ };
2912
+ const handleEscape = (event) => {
2913
+ if (event.key === 'Escape') {
2914
+ closeAccentMenu();
2915
+ }
2916
+ };
2917
+ document.addEventListener('pointerdown', handleOutsidePointerDown, true);
2918
+ document.addEventListener('keydown', handleEscape);
2919
+ return () => {
2920
+ document.removeEventListener('pointerdown', handleOutsidePointerDown, true);
2921
+ document.removeEventListener('keydown', handleEscape);
2922
+ };
2923
+ }, [accentMenu, closeAccentMenu]);
2924
+ useLayoutEffect(() => {
2925
+ if (!accentMenu || !accentMenuRef.current)
2926
+ return;
2927
+ const margin = 8;
2928
+ const rect = accentMenuRef.current.getBoundingClientRect();
2929
+ if (rect.width <= 0 || rect.height <= 0)
2930
+ return;
2931
+ const minCenter = margin + rect.width / 2;
2932
+ const maxCenter = window.innerWidth - margin - rect.width / 2;
2933
+ const clampedCenter = Math.min(maxCenter, Math.max(minCenter, accentMenu.left));
2934
+ const nextOffset = clampedCenter - accentMenu.left;
2935
+ if (Math.abs(nextOffset - accentMenuOffsetX) > 0.5) {
2936
+ setAccentMenuOffsetX(nextOffset);
2937
+ }
2938
+ }, [accentMenu, accentMenuOffsetX]);
2939
+ useEffect(() => {
2940
+ if (!keyboardWrapperRef.current)
2941
+ return;
2942
+ const container = keyboardWrapperRef.current;
2943
+ const registerNewSlots = () => {
2944
+ const newSlots = Array.from(container.querySelectorAll('[data-icon-key]:not([data-icon-root])'));
2945
+ if (newSlots.length === 0)
2946
+ return;
2947
+ newSlots.forEach((s) => s.setAttribute('data-icon-root', 'true'));
2948
+ setIconSlots((prev) => [...prev, ...newSlots]);
2949
+ };
2950
+ registerNewSlots();
2951
+ const observer = new MutationObserver(() => {
2952
+ setIconSlots((prev) => prev.filter((slot) => container.contains(slot)));
2953
+ registerNewSlots();
2954
+ });
2955
+ observer.observe(container, { childList: true, subtree: true });
2956
+ return () => {
2957
+ observer.disconnect();
2958
+ };
2959
+ }, []);
2960
+ useEffect(() => {
2961
+ closeAccentMenu();
2962
+ setAccentMenuOffsetX(0);
2963
+ suppressNextInputRef.current = null;
2964
+ clearLongPressTimeout();
2965
+ }, [layoutName, type, closeAccentMenu, clearLongPressTimeout]);
2966
+ useEffect(() => {
2967
+ accentMenuOpenRef.current = !!accentMenu;
2968
+ }, [accentMenu]);
2969
+ useEffect(() => {
2970
+ const updateAccentPosition = () => {
2971
+ if (!accentMenuOpenRef.current)
2972
+ return;
2973
+ const btn = accentButtonRef.current;
2974
+ if (!btn)
2975
+ return;
2976
+ const rect = btn.getBoundingClientRect();
2977
+ setAccentMenu((prev) => prev ? { ...prev, top: rect.top - 8, left: rect.left + rect.width / 2 } : null);
2978
+ };
2979
+ window.addEventListener('scroll', updateAccentPosition, { capture: true, passive: true });
2980
+ window.addEventListener('resize', updateAccentPosition);
2981
+ return () => {
2982
+ window.removeEventListener('scroll', updateAccentPosition, true);
2983
+ window.removeEventListener('resize', updateAccentPosition);
2984
+ };
2985
+ }, []);
2986
+ const handleLongPressStart = useCallback((event) => {
2987
+ isKeyboardInteractingRef.current = true;
2988
+ if (hideTimeoutRef.current !== null) {
2989
+ clearTimeout(hideTimeoutRef.current);
2990
+ }
2991
+ const keyboardWrapper = keyboardWrapperRef.current;
2992
+ if (!keyboardWrapper)
2993
+ return;
2994
+ const buttonEl = event.target.closest('.hg-button');
2995
+ if (!buttonEl || !keyboardWrapper.contains(buttonEl))
2996
+ return;
2997
+ const sourceKey = buttonEl.getAttribute('data-skbtn') ?? '';
2998
+ heldAccentKeyRef.current = null;
2999
+ longPressTriggeredRef.current = false;
3000
+ if (!sourceKey || sourceKey.startsWith('{'))
3001
+ return;
3002
+ const accentOptions = ACCENT_OPTIONS[sourceKey.toLowerCase()];
3003
+ if (!accentOptions)
3004
+ return;
3005
+ heldAccentKeyRef.current = sourceKey;
3006
+ clearLongPressTimeout();
3007
+ longPressTimeoutRef.current = setTimeout(() => {
3008
+ const buttonRect = buttonEl.getBoundingClientRect();
3009
+ const isUpperCaseKey = sourceKey === sourceKey.toUpperCase();
3010
+ longPressTriggeredRef.current = true;
3011
+ accentButtonRef.current = buttonEl;
3012
+ setAccentMenu({
3013
+ sourceKey,
3014
+ options: isUpperCaseKey
3015
+ ? accentOptions.map((option) => option.toUpperCase())
3016
+ : accentOptions,
3017
+ top: buttonRect.top - 8,
3018
+ left: buttonRect.left + buttonRect.width / 2,
3019
+ });
3020
+ setAccentMenuOffsetX(0);
3021
+ suppressNextInputRef.current = sourceKey;
3022
+ }, LONG_PRESS_DELAY_MS);
3023
+ }, [clearLongPressTimeout]);
3024
+ const handleLongPressEnd = useCallback(() => {
3025
+ const heldKey = heldAccentKeyRef.current;
3026
+ const longPressTriggered = longPressTriggeredRef.current;
3027
+ const baseLayout = type === 'numeric' ? 'abc' : 'default';
3028
+ isKeyboardInteractingRef.current = false;
3029
+ clearLongPressTimeout();
3030
+ if (heldKey && !longPressTriggered) {
3031
+ const currentValue = valueRef.current;
3032
+ if (maxLength === undefined || currentValue.length < maxLength) {
3033
+ const nextValue = `${currentValue}${heldKey}`;
3034
+ onChange?.(nextValue);
3035
+ onKeyPress?.(heldKey);
3036
+ syncKeyboardInput(nextValue);
3037
+ }
3038
+ if (layoutName === 'shift' && !capsLockOn) {
3039
+ setLayoutName(baseLayout);
3040
+ }
3041
+ suppressNextInputRef.current = heldKey;
3042
+ }
3043
+ heldAccentKeyRef.current = null;
3044
+ longPressTriggeredRef.current = false;
3045
+ scheduleHideIfBlurred();
3046
+ }, [
3047
+ clearLongPressTimeout,
3048
+ scheduleHideIfBlurred,
3049
+ maxLength,
3050
+ onChange,
3051
+ onKeyPress,
3052
+ syncKeyboardInput,
3053
+ type,
3054
+ layoutName,
3055
+ capsLockOn,
3056
+ ]);
3057
+ const handleAccentSelect = useCallback((accentedChar) => {
3058
+ const currentValue = valueRef.current;
3059
+ const baseLayout = type === 'numeric' ? 'abc' : 'default';
3060
+ if (maxLength !== undefined && currentValue.length >= maxLength) {
3061
+ closeAccentMenu();
3062
+ suppressNextInputRef.current = null;
3063
+ syncKeyboardInput(currentValue);
3064
+ return;
3065
+ }
3066
+ const nextValue = `${currentValue}${accentedChar}`;
3067
+ onChange?.(nextValue);
3068
+ onKeyPress?.(accentedChar);
3069
+ closeAccentMenu();
3070
+ suppressNextInputRef.current = null;
3071
+ heldAccentKeyRef.current = null;
3072
+ longPressTriggeredRef.current = false;
3073
+ if (layoutName === 'shift' && !capsLockOn) {
3074
+ setLayoutName(baseLayout);
3075
+ }
3076
+ syncKeyboardInput(nextValue);
3077
+ }, [maxLength, onChange, onKeyPress, closeAccentMenu, syncKeyboardInput, type, layoutName, capsLockOn]);
3078
+ const handleKeyPress = useCallback((button) => {
3079
+ const baseLayout = type === 'numeric' ? 'abc' : 'default';
3080
+ if (button === '{capslock}') {
3081
+ setCapsLockOn((prev) => {
3082
+ const next = !prev;
3083
+ setLayoutName(next ? 'caps' : baseLayout);
3084
+ return next;
3085
+ });
3086
+ return;
3087
+ }
3088
+ if (button === '{shift}' ||
3089
+ button === '{shiftactivated}') {
3090
+ if (button === '{shiftactivated}') {
3091
+ setCapsLockOn(false);
3092
+ setLayoutName(baseLayout);
3093
+ return;
3094
+ }
3095
+ setLayoutName((prev) => {
3096
+ const next = SHIFT_TOGGLES[prev] ?? 'default';
3097
+ return next === 'default' ? baseLayout : next;
3098
+ });
3099
+ return;
3100
+ }
3101
+ if (button === '{numbers}') {
3102
+ setLayoutName('numbers');
3103
+ return;
3104
+ }
3105
+ if (button === '{abc}') {
3106
+ setLayoutName(baseLayout);
3107
+ return;
3108
+ }
3109
+ if (button === '{alt}' || button === '{altright}') {
3110
+ setLayoutName((prev) => {
3111
+ if (prev === 'alt2')
3112
+ return 'alt';
3113
+ return prev === 'alt' ? baseLayout : 'alt';
3114
+ });
3115
+ return;
3116
+ }
3117
+ if (button === '{alt2}') {
3118
+ setLayoutName((prev) => (prev === 'alt2' ? 'alt' : 'alt2'));
3119
+ return;
3120
+ }
3121
+ if (button === '{emoticon}') {
3122
+ if (!Emoji)
3123
+ return;
3124
+ setLayoutName((prev) => (prev === 'emoticon' ? baseLayout : 'emoticon'));
3125
+ return;
3126
+ }
3127
+ if (button === '{default}') {
3128
+ setLayoutName(baseLayout);
3129
+ return;
3130
+ }
3131
+ if (button === '{downkeyboard}') {
3132
+ setLayoutName(baseLayout);
3133
+ if (variant === 'native') {
3134
+ closeAccentMenu();
3135
+ setIsOpen(false);
3136
+ const targetElement = targetRef?.current;
3137
+ if (targetElement && document.activeElement === targetElement) {
3138
+ targetElement.blur();
3139
+ }
3140
+ }
3141
+ return;
3142
+ }
3143
+ const isHeldAccentKey = heldAccentKeyRef.current === button;
3144
+ if (button !== '{bksp}' && button !== '{enter}' && !isHeldAccentKey) {
3145
+ if (layoutName === 'shift' && !capsLockOn) {
3146
+ setLayoutName(baseLayout);
3147
+ }
3148
+ else if (layoutName === baseLayout && capsLockOn) {
3149
+ setLayoutName('shift');
3150
+ }
3151
+ }
3152
+ if (isHeldAccentKey) {
3153
+ return;
3154
+ }
3155
+ onKeyPress?.(button);
3156
+ }, [
3157
+ type,
3158
+ layoutName,
3159
+ capsLockOn,
3160
+ onKeyPress,
3161
+ Emoji,
3162
+ variant,
3163
+ closeAccentMenu,
3164
+ targetRef,
3165
+ ]);
3166
+ const handleChange = useCallback((input) => {
3167
+ const currentValue = valueRef.current;
3168
+ const suppressedKey = suppressNextInputRef.current;
3169
+ const heldKey = heldAccentKeyRef.current;
3170
+ if (heldKey &&
3171
+ input.length >= currentValue.length + 1 &&
3172
+ input.startsWith(currentValue) &&
3173
+ input.slice(currentValue.length).split('').every((char) => char === heldKey)) {
3174
+ syncKeyboardInput(currentValue);
3175
+ return;
3176
+ }
3177
+ if (suppressedKey &&
3178
+ input.length === currentValue.length + 1 &&
3179
+ input.endsWith(suppressedKey)) {
3180
+ suppressNextInputRef.current = null;
3181
+ syncKeyboardInput(currentValue);
3182
+ return;
3183
+ }
3184
+ if (maxLength !== undefined && input.length > maxLength)
3185
+ return;
3186
+ onChange?.(input);
3187
+ }, [maxLength, onChange, syncKeyboardInput]);
3188
+ const keyboardDisplay = useMemo(() => {
3189
+ const baseDisplay = LAYOUT_DISPLAY[visualType];
3190
+ if (!baseDisplay)
3191
+ return baseDisplay;
3192
+ if (variant !== 'fixed') {
3193
+ return baseDisplay;
3194
+ }
3195
+ return {
3196
+ ...baseDisplay,
3197
+ '{bksp}': (baseDisplay['{bksp}'] ?? '').replace(/\s*Apagar$/, ''),
3198
+ };
3199
+ }, [visualType, variant]);
3200
+ const keyboardEl = activeLayout ? (jsxs("div", { ref: keyboardWrapperRef, className: styles$j.keyboardWrapper, onPointerDownCapture: handleLongPressStart, onPointerUpCapture: handleLongPressEnd, onPointerLeave: handleLongPressEnd, onPointerCancelCapture: handleLongPressEnd, children: [jsx(Keyboard, { keyboardRef: (instance) => {
3201
+ keyboardInstanceRef.current = instance;
3202
+ if (instance) {
3203
+ instance.setInput(valueRef.current);
3204
+ }
3205
+ }, layoutName: layoutName, layout: activeLayout, theme: 'hg-theme-default', display: keyboardDisplay, onChange: handleChange, onKeyPress: handleKeyPress, preventMouseDownDefault: true }), (() => {
3206
+ const shiftCount = { current: 0 };
3207
+ return iconSlots.map((slot) => {
3208
+ const key = slot.getAttribute('data-icon-key');
3209
+ const Icon = key ? ICON_KEY_MAP[key] : undefined;
3210
+ if (!Icon || !key)
3211
+ return null;
3212
+ if (key === 'shift') {
3213
+ const label = shiftCount.current === 0 ? 'left' : 'right';
3214
+ shiftCount.current += 1;
3215
+ return createPortal(createElement(Icon), slot, `icon-shift-${label}`);
3216
+ }
3217
+ return createPortal(createElement(Icon), slot, `icon-${key}`);
3218
+ });
3219
+ })(), accentMenu && (typeof document !== 'undefined' &&
3220
+ createPortal(jsx("div", { ref: accentMenuRef, className: styles$j.accentMenu, style: {
3221
+ top: accentMenu.top,
3222
+ left: accentMenu.left + accentMenuOffsetX,
3223
+ }, role: "listbox", "aria-label": `Opcoes de acento para ${accentMenu.sourceKey}`, children: accentMenu.options.map((option) => (jsx("button", { type: "button", className: styles$j.accentOption, onPointerDown: (event) => {
3224
+ event.preventDefault();
3225
+ event.stopPropagation();
3226
+ }, onClick: () => handleAccentSelect(option), children: option }, `${accentMenu.sourceKey}-${option}`))) }), document.body))] })) : null;
3227
+ if (variant === 'native' && typeof document !== 'undefined') {
3228
+ return createPortal(jsx("div", { id: id, className: clsx(styles$j.overlay, { [styles$j.overlayOpen]: isOpen }, styles$j[`layout--${visualType}`], className), children: keyboardEl }), document.body);
3229
+ }
3230
+ return (jsxs("div", { id: id, className: clsx(styles$j.container, styles$j[`mode--${variant}`], styles$j[`layout--${visualType}`], className), children: [variant === 'fixed' && (jsx("div", { className: styles$j.textFieldContainer, children: jsx(TextField$1, { placeholder: textFieldPlaceholder, value: value, onChange: onChange, helperText: helperText, error: error, errorMessage: errorMessage, readOnly: true, maxLength: maxLength, attachedToVirtualKeyboard: true, className: styles$j.textFieldWrapper }) })), keyboardEl] }));
2603
3231
  };
2604
3232
 
2605
- 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","inputWithIcon":"TextField-module__inputWithIcon___shqkL","helperText":"TextField-module__helperText___d5QGC","error":"TextField-module__error___IGQzp","disabled":"TextField-module__disabled___roIKP"};
3233
+ 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","inputWithIcon":"TextField-module__inputWithIcon___shqkL","helperText":"TextField-module__helperText___d5QGC","error":"TextField-module__error___IGQzp","disabled":"TextField-module__disabled___roIKP","attachedToVirtualKeyboard":"TextField-module__attachedToVirtualKeyboard___fuO2O","errorWithMessage":"TextField-module__errorWithMessage___m-5AA"};
2606
3234
 
2607
3235
  const validateInput = ({ value, maxLength, errorMessage, required }) => {
2608
3236
  if (required && value.trim() === '') {
@@ -2625,19 +3253,19 @@ const LabelComponent = ({ children, htmlFor, required = false, tooltip = false,
2625
3253
  return container;
2626
3254
  };
2627
3255
 
2628
- const TextField = forwardRef(({ className, value, label, placeholder, type = 'text', onChange, disabled = false, maxLength = 30, required = false, helperText, tooltip = false, tooltipText, side = 'bottom', align = 'start', errorMessage, error, id, icon, onBlur, onFocus, name, persistIcon = false, ...rest }, ref) => {
3256
+ const TextField = forwardRef(({ className, value, label, placeholder, type = 'text', onChange, disabled = false, maxLength = 30, required = false, helperText, tooltip = false, tooltipText, side = 'bottom', align = 'start', errorMessage, error, id, icon, scale = 1, onBlur, onFocus, name, persistIcon = false, virtualKeyboard = false, virtualKeyboardType, virtualKeyboardMaxLength, attachedToVirtualKeyboard = false, ...rest }, ref) => {
2629
3257
  const normalizeValue = (val) => {
2630
3258
  return val === undefined || val === null ? '' : String(val);
2631
3259
  };
2632
3260
  const [inputValue, setInputValue] = useState(normalizeValue(value));
2633
3261
  const [inputError, setInputError] = useState('');
2634
3262
  const [isFocused, setIsFocused] = useState(false);
3263
+ const { internalRef: inputRef, setRefs: setInputRefs } = useInputKeyboardValue(ref);
2635
3264
  const generatedId = useId();
2636
3265
  const componentId = id || generatedId;
2637
3266
  useEffect(() => {
2638
3267
  const newValue = normalizeValue(value);
2639
3268
  setInputValue(newValue);
2640
- // Reavaliar erro quando valor muda externamente (ex: DatePicker atualiza o campo)
2641
3269
  if (inputError) {
2642
3270
  const validationError = validateInput({
2643
3271
  value: newValue,
@@ -2685,17 +3313,29 @@ const TextField = forwardRef(({ className, value, label, placeholder, type = 'te
2685
3313
  : helperText
2686
3314
  ? `${componentId}-helper`
2687
3315
  : undefined;
2688
- const containerClass = clsx(styles$i.container, {
3316
+ const scaleClass = {
3317
+ 1: 'scale-1-0',
3318
+ 1.5: 'scale-1-5',
3319
+ 2: 'scale-2-0',
3320
+ }[scale];
3321
+ const containerClass = clsx(styles$i.container, scaleClass, {
2689
3322
  [styles$i.disabled]: disabled,
2690
3323
  [styles$i.error]: hasError && !disabled,
3324
+ [styles$i.errorWithMessage]: Boolean(error) && Boolean(errorMessage) && !disabled,
3325
+ [styles$i.attachedToVirtualKeyboard]: attachedToVirtualKeyboard,
2691
3326
  [className]: className,
2692
3327
  });
2693
- return (jsxs("div", { className: containerClass, children: [label && (jsx(LabelComponent, { htmlFor: componentId, required: required, tooltip: tooltip, tooltipText: tooltipText, side: side, align: align, error: hasError, disabled: disabled, children: label })), jsxs("div", { className: styles$i.inputWrapper, children: [jsxs("div", { className: styles$i.inputContainer, children: [jsx("input", { ...rest, 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, className: clsx({
3328
+ return (jsxs("div", { className: containerClass, children: [label && (jsx(LabelComponent, { htmlFor: componentId, required: required, tooltip: tooltip, tooltipText: tooltipText, side: side, align: align, error: hasError, disabled: disabled, children: label })), jsxs("div", { className: styles$i.inputWrapper, children: [jsxs("div", { className: styles$i.inputContainer, children: [jsx("input", { ...rest, ref: setInputRefs, 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, inputMode: virtualKeyboard ? 'none' : rest.inputMode, className: clsx({
2694
3329
  [styles$i.inputWithIcon]: showCustomIcon || showClearIcon,
2695
3330
  }) }), showCustomIcon && jsx("span", { className: styles$i.icon, children: icon }), showClearIcon && (jsx("button", { type: "button", className: styles$i.clearButton, onMouseDown: (e) => {
2696
3331
  e.preventDefault();
2697
3332
  handleClear();
2698
- }, "aria-label": "Limpar campo", tabIndex: -1, children: jsx(Dismiss16Regular, {}) }))] }), jsx("span", { id: helperId, className: styles$i.helperText, "aria-live": hasError ? 'polite' : undefined, children: displayHelperText })] })] }));
3333
+ }, "aria-label": "Limpar campo", tabIndex: -1, children: jsx(Dismiss16Regular, {}) }))] }), (errorMessage || inputError || helperText) && (jsx("span", { id: helperId, className: styles$i.helperText, "aria-live": hasError ? 'polite' : undefined, children: displayHelperText }))] }), virtualKeyboard && (jsx("div", { className: "virtualKeyboardWrapper", children: jsx(VirtualKeyboard, { variant: "native", type: virtualKeyboardType, value: inputValue, maxLength: maxLength ?? virtualKeyboardMaxLength, targetRef: inputRef, onChange: (val) => {
3334
+ if (!disabled && (!maxLength || val.length <= maxLength)) {
3335
+ setInputValue(val);
3336
+ onChange?.(val);
3337
+ }
3338
+ } }) }))] }));
2699
3339
  });
2700
3340
  TextField.displayName = 'TextField';
2701
3341
  var TextField$1 = React__default.memo(TextField);
@@ -2792,7 +3432,7 @@ function validatePartialDate(value, locale = 'pt-br') {
2792
3432
  return 'incomplete';
2793
3433
  }
2794
3434
 
2795
- const DatePicker = ({ locale = 'pt-br', calendarSide = 'bottom', calendarAlign = 'start', helperText, required = false, label = 'Data', value, defaultValue, onChange, disabled = false, error: externalError, minDate, maxDate, 'data-testid': testId, className, ...rest }) => {
3435
+ const DatePicker = ({ locale = 'pt-br', calendarSide = 'bottom', calendarAlign = 'start', helperText, required = false, label = 'Data', value, defaultValue, onChange, disabled = false, error: externalError, minDate, maxDate, 'data-testid': testId, datePickerScale = 1, calendarScale = 1, className, ...rest }) => {
2796
3436
  const fieldId = useId();
2797
3437
  const calendarId = `${fieldId}-calendar`;
2798
3438
  const isControlled = value !== undefined;
@@ -2809,6 +3449,11 @@ const DatePicker = ({ locale = 'pt-br', calendarSide = 'bottom', calendarAlign =
2809
3449
  const combinedHelperText = externalError && helperText
2810
3450
  ? `${helperText} • ${externalError}`
2811
3451
  : externalError || helperText || '';
3452
+ const scaleClass = {
3453
+ 1: 'scale-1-0',
3454
+ 1.5: 'scale-1-5',
3455
+ 2: 'scale-2-0',
3456
+ }[datePickerScale];
2812
3457
  useEffect(() => {
2813
3458
  function handleClickOutside(event) {
2814
3459
  const target = event.target;
@@ -2921,9 +3566,9 @@ const DatePicker = ({ locale = 'pt-br', calendarSide = 'bottom', calendarAlign =
2921
3566
  }
2922
3567
  }
2923
3568
  };
2924
- return (jsx("div", { ref: wrapperRef, className: clsx(styles$g.datePicker, className), ...rest, children: jsx(Popover, { open: showCalendar, onOpenChange: setShowCalendar, asAnchor: true, trigger: jsx(TextField$1, { className: styles$g.textfieldContainer, type: "tel", icon: jsx(Calendar16Regular, { onClick: !disabled ? handleIconClick : undefined, className: clsx(styles$g.datePickerIcon, disabled && styles$g.datePickerIconDisabled) }), onChange: (e) => {
3569
+ return (jsx("div", { ref: wrapperRef, className: clsx(styles$g.datePicker, scaleClass, className), ...rest, children: jsx(Popover, { open: showCalendar, onOpenChange: setShowCalendar, asAnchor: true, trigger: jsx(TextField$1, { className: styles$g.textfieldContainer, type: "tel", icon: jsx(Calendar16Regular, { onClick: !disabled ? handleIconClick : undefined, className: clsx(styles$g.datePickerIcon, disabled && styles$g.datePickerIconDisabled) }), onChange: (e) => {
2925
3570
  handleTextFieldChange(String(e));
2926
- }, onKeyDown: handleKeyDown, onFocus: handleFocus, persistIcon: true, autoComplete: "off", value: displayValue, helperText: !externalError ? (helperText || undefined) : undefined, errorMessage: externalError ? combinedHelperText : undefined, error: hasValidationError ? true : undefined, maxLength: 10, required: required, label: label, disabled: disabled, id: fieldId, "data-testid": testId, placeholder: locale === 'en-us' ? 'MM/DD/YYYY' : 'DD/MM/YYYY', "aria-label": "Open calendar", "aria-expanded": showCalendar, "aria-controls": calendarId, "aria-invalid": hasValidationError, "aria-describedby": externalError ? undefined : (helperText ? `${fieldId}-help` : undefined) }), content: jsx(Calendar, { selected: currentSelectedDate, currentDate: currentDate, onDateChange: setCurrentDate, onDaySelect: handleDaySelect, locale: locale, format: locale === 'en-us' ? 'mm/dd/yyyy' : 'dd/mm/yyyy', minDate: minDate, maxDate: maxDate, id: calendarId, onClear: () => {
3571
+ }, onKeyDown: handleKeyDown, onFocus: handleFocus, persistIcon: true, autoComplete: "off", value: displayValue, helperText: !externalError ? (helperText || undefined) : undefined, errorMessage: externalError ? combinedHelperText : undefined, error: hasValidationError ? true : undefined, maxLength: 10, required: required, label: label, disabled: disabled, id: fieldId, "data-testid": testId, placeholder: locale === 'en-us' ? 'MM/DD/YYYY' : 'DD/MM/YYYY', "aria-label": "Open calendar", "aria-expanded": showCalendar, "aria-controls": calendarId, "aria-invalid": hasValidationError, "aria-describedby": externalError ? undefined : (helperText ? `${fieldId}-help` : undefined) }), content: jsx(Calendar, { selected: currentSelectedDate, currentDate: currentDate, onDateChange: setCurrentDate, onDaySelect: handleDaySelect, locale: locale, format: locale === 'en-us' ? 'mm/dd/yyyy' : 'dd/mm/yyyy', minDate: minDate, maxDate: maxDate, scale: calendarScale, id: calendarId, onClear: () => {
2927
3572
  handleDateChange(null);
2928
3573
  setCurrentDate(new Date());
2929
3574
  } }), side: calendarSide, align: calendarAlign, sideOffset: 8 }) }));
@@ -3017,12 +3662,18 @@ const Combined = ({ buttonText = 'Filtrar', icon, variant = 'outlined', disabled
3017
3662
 
3018
3663
  var styles$c = {"search":"Search-module__search___u3QsV","searchLeftIcon":"Search-module__searchLeftIcon___OKOBq","disabled":"Search-module__disabled___adbxO","inputWithClearIcon":"Search-module__inputWithClearIcon___cqvkq","searchClearIcon":"Search-module__searchClearIcon___qX9-h"};
3019
3664
 
3020
- const Search = React__default.forwardRef(({ placeholder = 'Dica do que deve ser buscado', disabled = false, value, onChange, onKeyDown, onFocus, onBlur, onClear, onClick, onMouseDown, searchMode = 'instant', onSearch, id, className, 'data-testid': testId, ...rest }, ref) => {
3665
+ const Search = React__default.forwardRef(({ placeholder = 'Dica do que deve ser buscado', disabled = false, value, onChange, onKeyDown, onFocus, onBlur, onClear, onClick, onMouseDown, searchMode = 'instant', onSearch, id, scale = 1, className, virtualKeyboard = false, virtualKeyboardType, virtualKeyboardMaxLength, 'data-testid': testId, ...rest }, ref) => {
3021
3666
  const [internalValue, setInternalValue] = useState('');
3667
+ const { internalRef: inputRef, setRefs: setInputRefs } = useInputKeyboardValue(ref);
3022
3668
  const isControlled = value !== undefined && onChange !== undefined;
3023
3669
  const currentValue = isControlled ? value : internalValue;
3024
3670
  const generatedId = useId();
3025
3671
  const inputId = id || generatedId;
3672
+ const scaleClass = {
3673
+ 1: 'scale-1-0',
3674
+ 1.5: 'scale-1-5',
3675
+ 2: 'scale-2-0',
3676
+ }[scale];
3026
3677
  const handleChange = (e) => {
3027
3678
  if (disabled)
3028
3679
  return;
@@ -3069,12 +3720,25 @@ const Search = React__default.forwardRef(({ placeholder = 'Dica do que deve ser
3069
3720
  }
3070
3721
  onKeyDown?.(e);
3071
3722
  };
3072
- return (jsxs("div", { className: clsx(styles$c.search, { [styles$c.disabled]: disabled }, className), onClick: onClick, onMouseDown: onMouseDown, role: onClick || onMouseDown ? "button" : undefined, tabIndex: onClick || onMouseDown ? 0 : undefined, onKeyDown: onClick || onMouseDown ? (e) => {
3723
+ return (jsxs("div", { className: clsx(styles$c.search, scaleClass, { [styles$c.disabled]: disabled }, className), onClick: onClick, onMouseDown: onMouseDown, role: onClick || onMouseDown ? "button" : undefined, tabIndex: onClick || onMouseDown ? 0 : undefined, onKeyDown: onClick || onMouseDown ? (e) => {
3073
3724
  if (e.key === 'Enter' || e.key === ' ') {
3074
3725
  e.preventDefault();
3075
3726
  onClick?.(e);
3076
3727
  }
3077
- } : undefined, children: [jsx("span", { className: clsx(styles$c.searchLeftIcon, { [styles$c.disabled]: disabled }), tabIndex: -1, role: "presentation", "aria-hidden": "true", children: jsx(Search16Regular, {}) }), 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, "data-testid": testId, ...rest, className: clsx({ [styles$c.inputWithClearIcon]: currentValue && currentValue.length > 0 }) }), currentValue && currentValue.length > 0 && (jsx("span", { className: styles$c.searchClearIcon, "aria-hidden": "true", onClick: clearInputSearch, children: jsx(Dismiss16Regular, {}) }))] }));
3728
+ } : undefined, children: [jsx("span", { className: clsx(styles$c.searchLeftIcon, { [styles$c.disabled]: disabled }), tabIndex: -1, role: "presentation", "aria-hidden": "true", children: jsx(Search16Regular, {}) }), jsx("input", { ref: setInputRefs, id: inputId, type: "text", placeholder: placeholder, "aria-label": placeholder, value: currentValue || '', onChange: handleChange, onKeyDown: handleKeyDown, disabled: disabled, onFocus: handleFocus, onBlur: handleBlur, "data-testid": testId, ...rest, inputMode: virtualKeyboard ? 'none' : rest.inputMode, className: clsx({ [styles$c.inputWithClearIcon]: currentValue && currentValue.length > 0 }) }), currentValue && currentValue.length > 0 && (jsx("span", { className: styles$c.searchClearIcon, "aria-hidden": "true", onClick: clearInputSearch, children: jsx(Dismiss16Regular, {}) })), virtualKeyboard && (jsx("div", { className: "virtualKeyboardWrapper", children: jsx(VirtualKeyboard, { variant: "native", type: virtualKeyboardType, maxLength: virtualKeyboardMaxLength, value: currentValue || '', targetRef: inputRef, onChange: (val) => {
3729
+ if (disabled)
3730
+ return;
3731
+ if (isControlled) {
3732
+ const syntheticEvent = {
3733
+ target: { value: val },
3734
+ currentTarget: { value: val },
3735
+ };
3736
+ onChange?.(syntheticEvent);
3737
+ }
3738
+ else {
3739
+ setInternalValue(val);
3740
+ }
3741
+ } }) }))] }));
3078
3742
  });
3079
3743
  Search.displayName = 'Search';
3080
3744
 
@@ -3198,9 +3862,15 @@ var styles$b = {"zds-list-item__container":"ListItem-module__zds-list-item__cont
3198
3862
 
3199
3863
  var styles$a = {"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"};
3200
3864
 
3201
- const Radio = ({ items, onValueChange, defaultValue, name, id, ariaLabel, orientation = 'vertical', className, ...rest }) => {
3202
- const componentId = id || useId();
3203
- return (jsx(RadioGroup.Root, { id: componentId, className: clsx(styles$a.root, className), defaultValue: defaultValue, onValueChange: onValueChange, name: name, "aria-label": ariaLabel, "data-orientation": orientation, orientation: orientation, ...rest, children: items.map(({ id, value, disabled, label }) => {
3865
+ const Radio = ({ items, onValueChange, defaultValue, name, id, ariaLabel, orientation = 'vertical', scale = 1, className, ...rest }) => {
3866
+ const generatedId = useId();
3867
+ const componentId = id || generatedId;
3868
+ const scaleClass = {
3869
+ 1: 'scale-1-0',
3870
+ 1.5: 'scale-1-5',
3871
+ 2: 'scale-2-0',
3872
+ }[scale];
3873
+ return (jsx(RadioGroup.Root, { id: componentId, className: clsx(styles$a.root, scaleClass, className), defaultValue: defaultValue, onValueChange: onValueChange, name: name, "aria-label": ariaLabel, "data-orientation": orientation, orientation: orientation, ...rest, children: items.map(({ id, value, disabled, label }) => {
3204
3874
  const itemKey = id ?? value;
3205
3875
  const uniqueId = `${componentId}-item-${value}`;
3206
3876
  return (jsx("div", { className: clsx(styles$a.wrapper, { [styles$a.disabled]: disabled }), children: jsxs("label", { className: styles$a.labelWrapper, htmlFor: uniqueId, children: [jsx("div", { className: styles$a.itemWrapper, children: jsx(RadioGroup.Item, { disabled: disabled, className: styles$a.item, value: value, id: uniqueId, "data-disabled": disabled, children: jsx(RadioGroup.Indicator, { className: styles$a.indicator }) }) }), jsx("span", { className: styles$a.labelText, children: label })] }) }, itemKey));
@@ -3421,7 +4091,7 @@ const useSearchLogic = ({ items, searchValue, searchTerm, enableApiSearch, onApi
3421
4091
  return { filteredItems: filteredItems() };
3422
4092
  };
3423
4093
 
3424
- const Menu = ({ items, children, onItemSelect, search, enableInfiniteScroll, onScrollEnd, isLoadingMore, onApiSearch, enableApiSearch, selectedItems, onOpenChange, align = 'start', className, maxHeight = 400, ...rest }) => {
4094
+ const Menu = ({ items, children, onItemSelect, search, enableInfiniteScroll, onScrollEnd, isLoadingMore, onApiSearch, enableApiSearch, selectedItems, onOpenChange, align = 'start', dropdownScale = 1, buttonScale, className, maxHeight = 400, ...rest }) => {
3425
4095
  const itemsWrapperRef = useRef(null);
3426
4096
  const hasReachedEndRef = useRef(false);
3427
4097
  const observerRef = useRef(null);
@@ -3431,6 +4101,16 @@ const Menu = ({ items, children, onItemSelect, search, enableInfiniteScroll, onS
3431
4101
  const [searchInput, setSearchInput] = useState('');
3432
4102
  const [searchTerm, setSearchTerm] = useState('');
3433
4103
  const maxHeightStyle = typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight;
4104
+ const scaleClass = {
4105
+ 1: 'scale-1-0',
4106
+ 1.5: 'scale-1-5',
4107
+ 2: 'scale-2-0',
4108
+ }[dropdownScale];
4109
+ const triggerWithScale = React__default.isValidElement(children) && buttonScale
4110
+ ? React__default.cloneElement(children, {
4111
+ scale: children.props?.scale ?? buttonScale,
4112
+ })
4113
+ : children;
3434
4114
  const { open, setOpen, handleItemSelect: handleItemSelectLogic, isItemSelected } = useMenuLogic({
3435
4115
  selectedItems,
3436
4116
  onItemSelect,
@@ -3533,7 +4213,7 @@ const Menu = ({ items, children, onItemSelect, search, enableInfiniteScroll, onS
3533
4213
  hasReachedEndRef.current = false;
3534
4214
  }
3535
4215
  };
3536
- return (jsxs(DropdownMenu.Root, { open: open, onOpenChange: handleOpenChange, children: [jsx(DropdownMenu.Trigger, { asChild: true, children: children }), jsx(DropdownMenu.Portal, { children: jsxs(DropdownMenu.Content, { className: clsx(styles$9.content, className), sideOffset: 8, align: align, onPointerDown: () => { closedByPointerRef.current = true; }, onInteractOutside: () => { closedByPointerRef.current = true; }, onCloseAutoFocus: (e) => {
4216
+ return (jsxs(DropdownMenu.Root, { open: open, onOpenChange: handleOpenChange, children: [jsx(DropdownMenu.Trigger, { asChild: true, children: triggerWithScale }), jsx(DropdownMenu.Portal, { children: jsxs(DropdownMenu.Content, { className: clsx(styles$9.content, scaleClass, className), sideOffset: 8, align: align, onPointerDown: () => { closedByPointerRef.current = true; }, onInteractOutside: () => { closedByPointerRef.current = true; }, onCloseAutoFocus: (e) => {
3537
4217
  if (closedByPointerRef.current) {
3538
4218
  e.preventDefault();
3539
4219
  closedByPointerRef.current = false;
@@ -3565,7 +4245,7 @@ const Modal = ({ isOpen = false, onClose, title, children, headerContent, closeO
3565
4245
 
3566
4246
  var styles$7 = {"quantity":"Quantity-module__quantity___-vndR","quantityInput":"Quantity-module__quantityInput___xZG-v","disabled":"Quantity-module__disabled___X6p5l"};
3567
4247
 
3568
- const Quantity = ({ value = 0, onChange, disabled = false, decimal = false, decimalPlaces = 2, size = 'lg', id, valueIncrement = 1, className, inputSize, minValue = 0, maxValue = 9999, decrementAriaLabel = 'Decrease quantity', incrementAriaLabel = 'Increase quantity', inputAriaLabel = 'Quantity', ...rest }) => {
4248
+ const Quantity = ({ value = 0, onChange, disabled = false, decimal = false, decimalPlaces = 2, size = 'lg', id, valueIncrement = 1, scale = 1, className, inputSize, minValue = 0, maxValue = 9999, decrementAriaLabel = 'Decrease quantity', incrementAriaLabel = 'Increase quantity', inputAriaLabel = 'Quantity', ...rest }) => {
3569
4249
  const initialValue = Math.min(Math.max(value, minValue), maxValue);
3570
4250
  const [internalValue, setInternalValue] = useState(initialValue);
3571
4251
  const [inputValue, setInputValue] = useState(decimal ? initialValue.toFixed(decimalPlaces) : String(initialValue));
@@ -3744,7 +4424,12 @@ const Quantity = ({ value = 0, onChange, disabled = false, decimal = false, deci
3744
4424
  const inputSizeValue = inputSize !== undefined ? inputSize : Math.max(1, inputValue.length);
3745
4425
  const uniqueId = useId();
3746
4426
  const inputId = id || uniqueId;
3747
- return (jsxs("div", { className: clsx(styles$7.quantity, { [styles$7.disabled]: disabled }, className), ...rest, children: [jsx(Button, { variant: 'outlined', size: size, type: 'button', iconOnly: true, icon: jsx(Subtract16Regular, {}), onClick: decrement, disabled: disabled || isMinValue, "aria-label": decrementAriaLabel, tooltipText: 'Diminuir' }), jsx("input", { ref: inputRef, className: clsx(styles$7.quantityInput, { [styles$7.disabled]: disabled }), type: 'text', value: inputValue, onChange: handleInputChange, onBlur: handleBlur, onKeyDown: handleInputKeyDown, id: inputId, step: stepValue, "aria-label": inputAriaLabel, role: 'spinbutton', "aria-valuenow": internalValue, "aria-valuemin": minValue, "aria-valuemax": maxValue, disabled: disabled, inputMode: decimal ? 'decimal' : 'numeric', size: inputSizeValue }), jsx(Button, { variant: 'outlined', size: size, type: 'button', iconOnly: true, onClick: increment, disabled: disabled || isMaxValue, "aria-label": incrementAriaLabel, icon: jsx(Add16Regular, {}), tooltipText: 'Aumentar' })] }));
4427
+ const scaleClass = {
4428
+ 1: 'scale-1-0',
4429
+ 1.5: 'scale-1-5',
4430
+ 2: 'scale-2-0',
4431
+ }[scale];
4432
+ return (jsxs("div", { className: clsx(styles$7.quantity, scaleClass, { [styles$7.disabled]: disabled }, className), ...rest, children: [jsx(Button, { variant: 'outlined', size: size, type: 'button', iconOnly: true, icon: jsx(Subtract16Regular, {}), onClick: decrement, disabled: disabled || isMinValue, "aria-label": decrementAriaLabel, tooltipText: 'Diminuir' }), jsx("input", { ref: inputRef, className: clsx(styles$7.quantityInput, { [styles$7.disabled]: disabled }), type: 'text', value: inputValue, onChange: handleInputChange, onBlur: handleBlur, onKeyDown: handleInputKeyDown, id: inputId, step: stepValue, "aria-label": inputAriaLabel, role: 'spinbutton', "aria-valuenow": internalValue, "aria-valuemin": minValue, "aria-valuemax": maxValue, disabled: disabled, inputMode: decimal ? 'decimal' : 'numeric', size: inputSizeValue }), jsx(Button, { variant: 'outlined', size: size, type: 'button', iconOnly: true, onClick: increment, disabled: disabled || isMaxValue, "aria-label": incrementAriaLabel, icon: jsx(Add16Regular, {}), tooltipText: 'Aumentar' })] }));
3748
4433
  };
3749
4434
  const memorizedQuantity = React__default.memo(Quantity);
3750
4435
  memorizedQuantity.displayName = 'Quantity';
@@ -4058,7 +4743,7 @@ function useSelectLogic({ value, required = false, search = false, onValueChange
4058
4743
  };
4059
4744
  }
4060
4745
 
4061
- const Select = ({ items, onValueChange, onOpenChange, variant, required = false, value, label, helperText, placeholder = 'Selecione', maxWidth, search = false, errorMessage, disabled = false, className, 'aria-label': ariaLabel, 'data-testid': testId, tooltip = false, tooltipText, side = 'bottom', align = 'start', enableInfiniteScroll = false, onScrollEnd, isLoadingMore = false, enableApiSearch = false, onApiSearch, isSearching = false, ...rest }) => {
4746
+ const Select = ({ items, onValueChange, onOpenChange, variant, required = false, value, label, helperText, placeholder = 'Selecione', maxWidth, search = false, errorMessage, disabled = false, scale = 1, className, 'aria-label': ariaLabel, 'data-testid': testId, tooltip = false, tooltipText, side = 'bottom', align = 'start', enableInfiniteScroll = false, onScrollEnd, isLoadingMore = false, enableApiSearch = false, onApiSearch, isSearching = false, ...rest }) => {
4062
4747
  const componentId = useId();
4063
4748
  const selectId = `select-${componentId}`;
4064
4749
  const viewportRef = useRef(null);
@@ -4106,6 +4791,11 @@ const Select = ({ items, onValueChange, onOpenChange, variant, required = false,
4106
4791
  const containerStyle = useMemo(() => ({
4107
4792
  maxWidth: maxWidth ? `${maxWidth}px` : undefined,
4108
4793
  }), [maxWidth]);
4794
+ const scaleClass = {
4795
+ 1: 'scale-1-0',
4796
+ 1.5: 'scale-1-5',
4797
+ 2: 'scale-2-0',
4798
+ }[scale];
4109
4799
  const handleSearchChange = (e) => {
4110
4800
  const value = e.target.value;
4111
4801
  actions.setSearchInput(value);
@@ -4138,7 +4828,7 @@ const Select = ({ items, onValueChange, onOpenChange, variant, required = false,
4138
4828
  onApiSearch('');
4139
4829
  }
4140
4830
  };
4141
- return (jsx(Select$1.Root, { value: variant === 'checkbox' || (search && state.isOpen) ? '' : (state.selectedValues[0] || ''), onValueChange: variant === 'checkbox' ? undefined : actions.handleSingleSelect, required: required, open: state.isOpen, onOpenChange: actions.setOpen, disabled: disabled, ...rest, children: jsxs("div", { className: clsx(styles$6.container, className), style: containerStyle, "data-testid": testId, children: [jsx("div", { className: styles$6.fieldContainer, children: jsxs("div", { className: styles$6.containerLabel, children: [jsx(LabelComponent, { htmlFor: selectId, required: required, tooltipText: tooltipText, tooltip: tooltip, side: side, align: align, error: state.hasError && state.touched, disabled: disabled, children: label }), jsxs(Select$1.Trigger, { className: clsx(styles$6.trigger, {
4831
+ return (jsx(Select$1.Root, { value: variant === 'checkbox' || (search && state.isOpen) ? '' : (state.selectedValues[0] || ''), onValueChange: variant === 'checkbox' ? undefined : actions.handleSingleSelect, required: required, open: state.isOpen, onOpenChange: actions.setOpen, disabled: disabled, ...rest, children: jsxs("div", { className: clsx(styles$6.container, scaleClass, className), style: containerStyle, "data-testid": testId, children: [jsx("div", { className: styles$6.fieldContainer, children: jsxs("div", { className: styles$6.containerLabel, children: [jsx(LabelComponent, { htmlFor: selectId, required: required, tooltipText: tooltipText, tooltip: tooltip, side: side, align: align, error: state.hasError && state.touched, disabled: disabled, children: label }), jsxs(Select$1.Trigger, { className: clsx(styles$6.trigger, {
4142
4832
  [styles$6.error]: state.hasError && state.touched,
4143
4833
  [styles$6.disabled]: disabled,
4144
4834
  [styles$6.hasValue]: state.selectedValues.length > 0,
@@ -4544,7 +5234,7 @@ const TableV2 = ({ columns, data, rowSelection: rowSelectionConfig, enableSortin
4544
5234
  };
4545
5235
  return (jsxs("div", { className: clsx(styles$4.wrapper, className), children: [showBulkActions && (jsxs("div", { className: styles$4.bulkActionsBar, children: [jsxs("div", { className: styles$4.bulkActionsInfo, children: [jsx(Button, { variant: "text", iconOnly: true, icon: jsx(Dismiss16Regular, {}), ariaLabel: "Limpar sele\u00E7\u00E3o", onClick: handleClearSelection, className: styles$4.bulkActionsClearButton }), jsx("span", { className: styles$4.bulkActionsLabel, children: bulkActions.label
4546
5236
  ? bulkActions.label(selectedCount, selectedRows)
4547
- : `${selectedCount} ${selectedCount === 1 ? 'item selecionado' : 'itens selecionados'}` })] }), jsx("div", { className: styles$4.bulkActionsButtons, children: bulkActions.actions.map((action, index) => (jsx(Button, { variant: action.variant ?? 'outlined', type: "button", disabled: action.disabled, onClick: action.onClick, size: "sm", children: action.label }, index))) })] })), header && (jsxs("div", { className: styles$4.tableHeader, children: [showSearch && (jsx("div", { className: styles$4.tableHeaderSearchContainer, children: jsx(Search, { value: pendingSearch, searchMode: header?.searchMode ?? "on-enter", onChange: (e) => {
5237
+ : `${selectedCount} ${selectedCount === 1 ? 'item selecionado' : 'itens selecionados'}` })] }), jsx("div", { className: styles$4.bulkActionsButtons, children: bulkActions.actions.map((action, index) => (jsx(Button, { variant: action.variant ?? 'outlined', type: "button", disabled: action.disabled, onClick: action.onClick, size: "sm", children: action.label }, index))) })] })), header && (jsxs("div", { className: styles$4.tableHeader, children: [showSearch && (jsx("div", { className: styles$4.tableHeaderSearchContainer, children: jsx(Search, { value: pendingSearch, virtualKeyboard: header.virtualKeyboard, virtualKeyboardType: header.virtualKeyboardType, virtualKeyboardMaxLength: header.virtualKeyboardMaxLength, searchMode: header?.searchMode ?? "on-enter", onChange: (e) => {
4548
5238
  setPendingSearch(e.target.value);
4549
5239
  }, onSearch: (val) => {
4550
5240
  if (footer) {
@@ -4559,7 +5249,7 @@ const TableV2 = ({ columns, data, rowSelection: rowSelectionConfig, enableSortin
4559
5249
  footer?.onPageChange?.(1);
4560
5250
  }
4561
5251
  header?.onSearchChange?.('');
4562
- }, placeholder: header.searchPlaceholder ?? 'Pesquisar...', className: styles$4.tableHeaderSearch }) })), !!header.filterItems?.length && (jsxs("div", { className: styles$4.tableHeaderFilters, children: [jsx("span", { className: styles$4.tableHeaderFilterLabel, children: "Filtros" }), jsx("div", { className: styles$4.tableHeaderFilterItems, children: header.filterItems.map((filterItem, index) => {
5252
+ }, placeholder: header.searchPlaceholder ?? 'Pesquisar...', className: styles$4.tableHeaderSearch }) })), !!header.filterItems?.length && (jsxs("div", { className: styles$4.tableHeaderFilters, children: [header.filterItems.some((item) => item.type !== 'combined') && (jsx("span", { className: styles$4.tableHeaderFilterLabel, children: "Filtros" })), jsx("div", { className: styles$4.tableHeaderFilterItems, children: header.filterItems.map((filterItem, index) => {
4563
5253
  const commonProps = {
4564
5254
  buttonText: filterItem.buttonText,
4565
5255
  icon: filterItem.icon,
@@ -4609,12 +5299,13 @@ const TableV2 = ({ columns, data, rowSelection: rowSelectionConfig, enableSortin
4609
5299
 
4610
5300
  var styles$3 = {"container":"TextArea-module__container___WEBC-","inputWrapper":"TextArea-module__inputWrapper___-omPx","inputContainer":"TextArea-module__inputContainer___0-jKY","footer":"TextArea-module__footer___7XMlj","helperText":"TextArea-module__helperText___709rD","charCount":"TextArea-module__charCount___zdbxM","error":"TextArea-module__error___DWDms","disabled":"TextArea-module__disabled___lHxCa"};
4611
5301
 
4612
- const TextArea = forwardRef(({ className, value, label, placeholder, onChange, disabled = false, maxLength, required = false, helperText, tooltip = false, tooltipText, side = 'bottom', align = 'start', errorMessage, error, id, onBlur, onFocus, name, resize = 'vertical', showCharCount = false, height, ...rest }, ref) => {
5302
+ const TextArea = forwardRef(({ className, value, label, placeholder, onChange, disabled = false, maxLength, required = false, helperText, tooltip = false, tooltipText, side = 'bottom', align = 'start', errorMessage, error, id, onBlur, onFocus, name, resize = 'vertical', showCharCount = false, height, virtualKeyboard = false, virtualKeyboardType, virtualKeyboardMaxLength, ...rest }, ref) => {
4613
5303
  const normalizeValue = (val) => {
4614
5304
  return val === undefined || val === null ? '' : String(val);
4615
5305
  };
4616
5306
  const [textareaValue, setTextareaValue] = useState(normalizeValue(value));
4617
5307
  const [textareaError, setTextareaError] = useState('');
5308
+ const { internalRef: textareaRef, setRefs: setTextareaRefs } = useInputKeyboardValue(ref);
4618
5309
  const generatedId = useId();
4619
5310
  const componentId = id || generatedId;
4620
5311
  useEffect(() => {
@@ -4647,7 +5338,12 @@ const TextArea = forwardRef(({ className, value, label, placeholder, onChange, d
4647
5338
  ? `${componentId}-helper`
4648
5339
  : undefined;
4649
5340
  const containerClass = clsx(styles$3.container, disabled && styles$3.disabled, hasError && !disabled && styles$3.error, className);
4650
- return (jsxs("div", { className: containerClass, children: [label && (jsx(LabelComponent, { htmlFor: componentId, required: required, tooltip: tooltip, tooltipText: tooltipText, side: side, align: align, error: hasError, disabled: disabled, children: label })), jsxs("div", { className: styles$3.inputWrapper, children: [jsx("div", { className: styles$3.inputContainer, children: jsx("textarea", { ...rest, ref: ref, id: componentId, name: name, value: textareaValue, placeholder: placeholder, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, maxLength: maxLength, disabled: disabled, "aria-invalid": hasError, "aria-required": required, "aria-describedby": helperId, style: { resize, height } }) }), jsxs("div", { className: styles$3.footer, children: [jsx("span", { id: helperId, className: styles$3.helperText, "aria-live": hasError ? 'polite' : undefined, children: displayHelperText }), showCharCount && maxLength && (jsxs("span", { className: styles$3.charCount, children: [textareaValue.length, "/", maxLength] }))] })] })] }));
5341
+ return (jsxs("div", { className: containerClass, children: [label && (jsx(LabelComponent, { htmlFor: componentId, required: required, tooltip: tooltip, tooltipText: tooltipText, side: side, align: align, error: hasError, disabled: disabled, children: label })), jsxs("div", { className: styles$3.inputWrapper, children: [jsx("div", { className: styles$3.inputContainer, children: jsx("textarea", { ...rest, ref: setTextareaRefs, id: componentId, name: name, value: textareaValue, placeholder: placeholder, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, maxLength: maxLength, disabled: disabled, "aria-invalid": hasError, "aria-required": required, "aria-describedby": helperId, style: { resize, height }, inputMode: virtualKeyboard ? 'none' : rest.inputMode }) }), jsxs("div", { className: styles$3.footer, children: [jsx("span", { id: helperId, className: styles$3.helperText, "aria-live": hasError ? 'polite' : undefined, children: displayHelperText }), showCharCount && maxLength && (jsxs("span", { className: styles$3.charCount, children: [textareaValue.length, "/", maxLength] }))] })] }), virtualKeyboard && (jsx("div", { className: "virtualKeyboardWrapper", children: jsx(VirtualKeyboard, { variant: "native", type: virtualKeyboardType, maxLength: virtualKeyboardMaxLength, value: textareaValue, targetRef: textareaRef, onChange: (val) => {
5342
+ if (!disabled && (!maxLength || val.length <= maxLength)) {
5343
+ setTextareaValue(val);
5344
+ onChange?.(val);
5345
+ }
5346
+ } }) }))] }));
4651
5347
  });
4652
5348
  TextArea.displayName = 'TextArea';
4653
5349
  var TextArea_default = React__default.memo(TextArea);
@@ -4860,7 +5556,14 @@ ToastContainer.displayName = 'ToastContainer';
4860
5556
 
4861
5557
  var styles$1 = {"container":"Switch-module__container___BR1OB","switchRoot":"Switch-module__switchRoot___jz2HD","switchThumb":"Switch-module__switchThumb___X3RL7"};
4862
5558
 
4863
- const Switch = ({ disabled = false, defaultChecked = false, checked, onCheckedChange, className, ...rest }) => (jsx("div", { className: clsx(styles$1.container, className), children: jsx(Switch$1.Root, { className: styles$1.switchRoot, disabled: disabled, defaultChecked: defaultChecked, checked: checked, onCheckedChange: onCheckedChange, ...rest, children: jsx(Switch$1.Thumb, { className: styles$1.switchThumb }) }) }));
5559
+ const Switch = ({ disabled = false, defaultChecked = false, checked, onCheckedChange, scale = 1, className, ...rest }) => {
5560
+ const scaleClass = {
5561
+ 1: 'scale-1-0',
5562
+ 1.5: 'scale-1-5',
5563
+ 2: 'scale-2-0',
5564
+ }[scale];
5565
+ return (jsx("div", { className: clsx(styles$1.container, scaleClass, className), children: jsx(Switch$1.Root, { className: styles$1.switchRoot, disabled: disabled, defaultChecked: defaultChecked, checked: checked, onCheckedChange: onCheckedChange, ...rest, children: jsx(Switch$1.Thumb, { className: styles$1.switchThumb }) }) }));
5566
+ };
4864
5567
 
4865
5568
  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"};
4866
5569
 
@@ -5276,5 +5979,5 @@ function useInfiniteScroll({ status, page, lastPage, onLoadMore, threshold = 0.1
5276
5979
  };
5277
5980
  }
5278
5981
 
5279
- export { Avatar, Badge, Button, Calendar, Callout, Checkbox, MemoizedChips as Chips, Container, DatePicker_default as DatePicker, Dialog, Drawer, Filter, ListItem, Menu, Modal, Popover, memorizedQuantity as Quantity, Radio, Search, Select, Switch, Table, TableHeader, TablePagination, TableV2, TextArea_default as TextArea, TextField$1 as TextField, Toast, ToastContainer, ToastProvider, Tooltip, VerificationCode, normalizeText, useApiSimulation, useInfiniteScroll, useToast };
5982
+ export { Avatar, Badge, Button, Calendar, Callout, Checkbox, MemoizedChips as Chips, Container, DatePicker_default as DatePicker, Dialog, Drawer, Filter, ListItem, Menu, Modal, Popover, memorizedQuantity as Quantity, Radio, Search, Select, Switch, Table, TableHeader, TablePagination, TableV2, TextArea_default as TextArea, TextField$1 as TextField, Toast, ToastContainer, ToastProvider, Tooltip, VerificationCode, VirtualKeyboard, normalizeText, useApiSimulation, useInfiniteScroll, useToast };
5280
5983
  //# sourceMappingURL=index.esm.js.map