@snksergio/design-system 0.40.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist-lib/chunks/{avatar-DQYiVRlE.mjs → avatar-DFWEwBKu.mjs} +101 -51
  2. package/dist-lib/chunks/avatar-DFWEwBKu.mjs.map +1 -0
  3. package/dist-lib/chunks/{avatar-BiaG9OJS.cjs → avatar-eM5txRFZ.cjs} +53 -1
  4. package/dist-lib/chunks/avatar-eM5txRFZ.cjs.map +1 -0
  5. package/dist-lib/chunks/{input-CaC0B-_v.mjs → input-CfmzMYtd.mjs} +2 -2
  6. package/dist-lib/chunks/{input-CaC0B-_v.mjs.map → input-CfmzMYtd.mjs.map} +1 -1
  7. package/dist-lib/chunks/{input-DMH5rSP1.cjs → input-az2SuVXQ.cjs} +2 -2
  8. package/dist-lib/chunks/{input-DMH5rSP1.cjs.map → input-az2SuVXQ.cjs.map} +1 -1
  9. package/dist-lib/chunks/{kpi-delta-NnEu4oIs.cjs → kpi-delta-DAfakvFp.cjs} +3 -3
  10. package/dist-lib/chunks/{kpi-delta-NnEu4oIs.cjs.map → kpi-delta-DAfakvFp.cjs.map} +1 -1
  11. package/dist-lib/chunks/{kpi-delta-CjR0OsdC.mjs → kpi-delta-DaDwKOaP.mjs} +3 -3
  12. package/dist-lib/chunks/{kpi-delta-CjR0OsdC.mjs.map → kpi-delta-DaDwKOaP.mjs.map} +1 -1
  13. package/dist-lib/chunks/{page-header-DEGbgT4w.mjs → page-header--cPS_Z-a.mjs} +2 -2
  14. package/dist-lib/chunks/{page-header-DEGbgT4w.mjs.map → page-header--cPS_Z-a.mjs.map} +1 -1
  15. package/dist-lib/chunks/{page-header-Cp_9Wog4.cjs → page-header-DvAJoEfb.cjs} +2 -2
  16. package/dist-lib/chunks/{page-header-Cp_9Wog4.cjs.map → page-header-DvAJoEfb.cjs.map} +1 -1
  17. package/dist-lib/chunks/{panel-B1xKDbjB.mjs → panel-BI52RBEn.mjs} +98 -72
  18. package/dist-lib/chunks/panel-BI52RBEn.mjs.map +1 -0
  19. package/dist-lib/chunks/{panel-ma7e3s4C.cjs → panel-INPypAHe.cjs} +40 -14
  20. package/dist-lib/chunks/panel-INPypAHe.cjs.map +1 -0
  21. package/dist-lib/chunks/{textarea-DivoQmJw.mjs → textarea-BPRIHZVd.mjs} +2 -2
  22. package/dist-lib/chunks/{textarea-DivoQmJw.mjs.map → textarea-BPRIHZVd.mjs.map} +1 -1
  23. package/dist-lib/chunks/{textarea-c80RFmMP.cjs → textarea-K20CL_gF.cjs} +2 -2
  24. package/dist-lib/chunks/{textarea-c80RFmMP.cjs.map → textarea-K20CL_gF.cjs.map} +1 -1
  25. package/dist-lib/chunks/{tooltip-pvZ_X-Ub.cjs → toggle-group-BEPs3e0Y.cjs} +2 -54
  26. package/dist-lib/chunks/toggle-group-BEPs3e0Y.cjs.map +1 -0
  27. package/dist-lib/chunks/{tooltip-mMF4YHZg.mjs → toggle-group-XMO6ReVo.mjs} +77 -127
  28. package/dist-lib/chunks/toggle-group-XMO6ReVo.mjs.map +1 -0
  29. package/dist-lib/chunks/{useTheme-BD0nloAv.cjs → useTheme-3iZAognE.cjs} +876 -73
  30. package/dist-lib/chunks/useTheme-3iZAognE.cjs.map +1 -0
  31. package/dist-lib/chunks/{useTheme-D1QVzZDW.mjs → useTheme-B3ZakPqk.mjs} +886 -83
  32. package/dist-lib/chunks/useTheme-B3ZakPqk.mjs.map +1 -0
  33. package/dist-lib/index.cjs +41 -733
  34. package/dist-lib/index.cjs.map +1 -1
  35. package/dist-lib/index.mjs +166 -858
  36. package/dist-lib/index.mjs.map +1 -1
  37. package/dist-lib/preview/chat.cjs +3 -3
  38. package/dist-lib/preview/chat.mjs +3 -3
  39. package/dist-lib/preview/clientes.cjs +6 -6
  40. package/dist-lib/preview/clientes.mjs +6 -6
  41. package/dist-lib/preview/dashboard.cjs +4 -4
  42. package/dist-lib/preview/dashboard.mjs +4 -4
  43. package/dist-lib/shadcn.cjs +112 -112
  44. package/dist-lib/shadcn.mjs +136 -136
  45. package/dist-lib/src/components/ui/AppShell/app-shell.d.ts +1 -1
  46. package/dist-lib/src/components/ui/AppShell/app-shell.d.ts.map +1 -1
  47. package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts +45 -1
  48. package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts.map +1 -1
  49. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts +106 -3
  50. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts.map +1 -1
  51. package/dist-lib/src/components/ui/DataTable/builders/column-builders.d.ts.map +1 -1
  52. package/dist-lib/src/components/ui/DataTable/parts/data-table-actions-cell.d.ts +7 -3
  53. package/dist-lib/src/components/ui/DataTable/parts/data-table-actions-cell.d.ts.map +1 -1
  54. package/dist-lib/src/components/ui/DataTable/utils/action-slots.d.ts +76 -0
  55. package/dist-lib/src/components/ui/DataTable/utils/action-slots.d.ts.map +1 -0
  56. package/dist-lib/src/components/ui/DataTable/utils/calculate-column-widths.d.ts.map +1 -1
  57. package/dist-lib/src/components/ui/MenuSidebar/index.d.ts +2 -2
  58. package/dist-lib/src/components/ui/MenuSidebar/index.d.ts.map +1 -1
  59. package/dist-lib/src/components/ui/SingleMenuSidebar/category.d.ts +1 -1
  60. package/dist-lib/src/components/ui/SingleMenuSidebar/category.d.ts.map +1 -1
  61. package/dist-lib/src/components/ui/SingleMenuSidebar/menu-item.d.ts +25 -1
  62. package/dist-lib/src/components/ui/SingleMenuSidebar/menu-item.d.ts.map +1 -1
  63. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.d.ts +1 -1
  64. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.d.ts.map +1 -1
  65. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.types.d.ts +57 -2
  66. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.types.d.ts.map +1 -1
  67. package/dist-lib/src/utils/nav-link.d.ts.map +1 -0
  68. package/package.json +2 -1
  69. package/dist-lib/chunks/avatar-BiaG9OJS.cjs.map +0 -1
  70. package/dist-lib/chunks/avatar-DQYiVRlE.mjs.map +0 -1
  71. package/dist-lib/chunks/panel-B1xKDbjB.mjs.map +0 -1
  72. package/dist-lib/chunks/panel-ma7e3s4C.cjs.map +0 -1
  73. package/dist-lib/chunks/tooltip-mMF4YHZg.mjs.map +0 -1
  74. package/dist-lib/chunks/tooltip-pvZ_X-Ub.cjs.map +0 -1
  75. package/dist-lib/chunks/useTheme-BD0nloAv.cjs.map +0 -1
  76. package/dist-lib/chunks/useTheme-D1QVzZDW.mjs.map +0 -1
  77. package/dist-lib/src/components/ui/MenuSidebar/nav-link.d.ts.map +0 -1
  78. /package/dist-lib/src/{components/ui/MenuSidebar → utils}/nav-link.d.ts +0 -0
@@ -1,9 +1,9 @@
1
- import { A, a, b, c, d, e, f, B, g, h, i, j, k, l, m, C, n, o, p, q, r, s, t, u, v, w, x, y, z, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL, aM, aN, aO, aP, aQ, aR } from "./chunks/tooltip-mMF4YHZg.mjs";
2
- import { A as A2, a as a10, b as b2, c as c2, d as d2, e as e2, f as f2, g as g2, h as h2, i as i2, j as j2, C as C2, k as k2, l as l2, P as P2, m as m2, n as n2, o as o2, p as p2, q as q2, r as r2, s as s2, t as t2, S as S2, u as u2, v as v2, w as w2, x as x2, y as y2, z as z2, B as B2, D as D2, E as E2, F as F2, G as G2, H as H2, I as I2, J as J2, K as K2, L as L2, M as M2, N as N2, O as O2, Q as Q2, T as T2, R as R2, U as U2, V as V2, W as W2 } from "./chunks/textarea-DivoQmJw.mjs";
1
+ import { A, a, b, c, d, e, f, B, g, h, i, j, k, l, m, C, n, o, p, q, r, s, t, u, v, w, x, y, z, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK } from "./chunks/toggle-group-XMO6ReVo.mjs";
2
+ import { A as A2, a as a10, b as b2, c as c2, d as d2, e as e2, f as f2, g as g2, h as h2, i as i2, j as j2, C as C2, k as k2, l as l2, P as P2, m as m2, n as n2, o as o2, p as p2, q as q2, r as r2, s as s2, t as t2, S as S2, u as u2, v as v2, w as w2, x as x2, y as y2, z as z2, B as B2, D as D2, E as E2, F as F2, G as G2, H as H2, I as I2, J as J2, K as K2, L as L2, M as M2, N as N2, O as O2, Q as Q2, T as T2, R as R2, U as U2, V as V2, W as W2 } from "./chunks/textarea-BPRIHZVd.mjs";
3
3
  import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
4
- import { c as cn } from "./chunks/avatar-DQYiVRlE.mjs";
5
- import { A as A3, a as a11, b as b3, C as C3, d as d3, e as e3, f as f3, g as g3, h as h3, i as i3, j as j3, k as k3, D as D3, l as l3, m as m3, n as n3, o as o3, p as p3, q as q3, r as r3, s as s3, u as u3, v as v3, w as w3, x as x3, y as y3, z as z3, E as E3, F as F3, G as G3, H as H3, I as I3, J as J3, K as K3, L as L3, M as M3, N as N3, O as O3, P as P3, Q as Q3, R as R3, S as S3, T as T3, U as U3, V as V3, W as W3, X as X2, Y as Y2, Z as Z2, _ as _2, $ as $2, a0 as a02, a1 as a12 } from "./chunks/avatar-DQYiVRlE.mjs";
6
- import { I as I4, i as i4 } from "./chunks/input-CaC0B-_v.mjs";
4
+ import { c as cn } from "./chunks/avatar-DFWEwBKu.mjs";
5
+ import { A as A3, a as a11, b as b3, C as C3, d as d3, e as e3, f as f3, g as g3, h as h3, i as i3, j as j3, k as k3, l as l3, m as m3, n as n3, D as D3, o as o3, p as p3, q as q3, r as r3, s as s3, u as u3, v as v3, w as w3, x as x3, y as y3, z as z3, E as E3, F as F3, G as G3, H as H3, I as I3, J as J3, K as K3, L as L3, M as M3, N as N3, O as O3, P as P3, Q as Q3, R as R3, S as S3, T as T3, U as U3, V as V3, W as W3, X as X2, Y as Y2, Z as Z2, _ as _2, $ as $2, a0 as a02, a1 as a12, a2 as a22, a3 as a32, a4 as a42, a5 as a52, a6 as a62, a7 as a72, a8 as a82 } from "./chunks/avatar-DFWEwBKu.mjs";
6
+ import { I as I4, i as i4 } from "./chunks/input-CfmzMYtd.mjs";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  import * as React from "react";
9
9
  import { LoaderCircle, OctagonX, TriangleAlert, Info, CircleCheck } from "lucide-react";
@@ -102,107 +102,107 @@ export {
102
102
  v as CarouselNext,
103
103
  w as CarouselPrevious,
104
104
  l2 as Checkbox,
105
- x as Collapsible,
106
- y as CollapsibleContent,
107
- z as CollapsibleTrigger,
108
- C3 as Command,
109
- d3 as CommandDialog,
110
- e3 as CommandEmpty,
111
- f3 as CommandGroup,
112
- g3 as CommandInput,
113
- h3 as CommandItem,
114
- i3 as CommandList,
115
- j3 as CommandSeparator,
116
- k3 as CommandShortcut,
117
- D as ContextMenu,
118
- E as ContextMenuCheckboxItem,
119
- F as ContextMenuContent,
120
- G as ContextMenuGroup,
121
- H as ContextMenuItem,
122
- I as ContextMenuLabel,
123
- J as ContextMenuPortal,
124
- K as ContextMenuRadioGroup,
125
- L as ContextMenuRadioItem,
126
- M as ContextMenuSeparator,
127
- N as ContextMenuShortcut,
128
- O as ContextMenuSub,
129
- P as ContextMenuSubContent,
130
- Q as ContextMenuSubTrigger,
131
- R as ContextMenuTrigger,
105
+ C3 as Collapsible,
106
+ d3 as CollapsibleContent,
107
+ e3 as CollapsibleTrigger,
108
+ f3 as Command,
109
+ g3 as CommandDialog,
110
+ h3 as CommandEmpty,
111
+ i3 as CommandGroup,
112
+ j3 as CommandInput,
113
+ k3 as CommandItem,
114
+ l3 as CommandList,
115
+ m3 as CommandSeparator,
116
+ n3 as CommandShortcut,
117
+ x as ContextMenu,
118
+ y as ContextMenuCheckboxItem,
119
+ z as ContextMenuContent,
120
+ D as ContextMenuGroup,
121
+ E as ContextMenuItem,
122
+ F as ContextMenuLabel,
123
+ G as ContextMenuPortal,
124
+ H as ContextMenuRadioGroup,
125
+ I as ContextMenuRadioItem,
126
+ J as ContextMenuSeparator,
127
+ K as ContextMenuShortcut,
128
+ L as ContextMenuSub,
129
+ M as ContextMenuSubContent,
130
+ N as ContextMenuSubTrigger,
131
+ O as ContextMenuTrigger,
132
132
  D3 as Dialog,
133
- l3 as DialogClose,
134
- m3 as DialogContent,
135
- n3 as DialogDescription,
136
- o3 as DialogFooter,
137
- p3 as DialogHeader,
138
- q3 as DialogOverlay,
139
- r3 as DialogPortal,
140
- s3 as DialogTitle,
141
- u3 as DialogTrigger,
142
- S as Drawer,
143
- T as DrawerClose,
144
- U as DrawerContent,
145
- V as DrawerDescription,
146
- W as DrawerFooter,
147
- X as DrawerHeader,
148
- Y as DrawerOverlay,
149
- Z as DrawerPortal,
150
- _ as DrawerTitle,
151
- $ as DrawerTrigger,
152
- v3 as DropdownMenu,
153
- w3 as DropdownMenuCheckboxItem,
154
- x3 as DropdownMenuContent,
155
- y3 as DropdownMenuGroup,
156
- z3 as DropdownMenuItem,
157
- E3 as DropdownMenuLabel,
158
- F3 as DropdownMenuPortal,
159
- G3 as DropdownMenuRadioGroup,
160
- H3 as DropdownMenuRadioItem,
161
- I3 as DropdownMenuSeparator,
162
- J3 as DropdownMenuShortcut,
163
- K3 as DropdownMenuSub,
164
- L3 as DropdownMenuSubContent,
165
- M3 as DropdownMenuSubTrigger,
166
- N3 as DropdownMenuTrigger,
167
- a0 as HoverCard,
168
- a1 as HoverCardContent,
169
- a2 as HoverCardTrigger,
133
+ o3 as DialogClose,
134
+ p3 as DialogContent,
135
+ q3 as DialogDescription,
136
+ r3 as DialogFooter,
137
+ s3 as DialogHeader,
138
+ u3 as DialogOverlay,
139
+ v3 as DialogPortal,
140
+ w3 as DialogTitle,
141
+ x3 as DialogTrigger,
142
+ P as Drawer,
143
+ Q as DrawerClose,
144
+ R as DrawerContent,
145
+ S as DrawerDescription,
146
+ T as DrawerFooter,
147
+ U as DrawerHeader,
148
+ V as DrawerOverlay,
149
+ W as DrawerPortal,
150
+ X as DrawerTitle,
151
+ Y as DrawerTrigger,
152
+ y3 as DropdownMenu,
153
+ z3 as DropdownMenuCheckboxItem,
154
+ E3 as DropdownMenuContent,
155
+ F3 as DropdownMenuGroup,
156
+ G3 as DropdownMenuItem,
157
+ H3 as DropdownMenuLabel,
158
+ I3 as DropdownMenuPortal,
159
+ J3 as DropdownMenuRadioGroup,
160
+ K3 as DropdownMenuRadioItem,
161
+ L3 as DropdownMenuSeparator,
162
+ M3 as DropdownMenuShortcut,
163
+ N3 as DropdownMenuSub,
164
+ O3 as DropdownMenuSubContent,
165
+ P3 as DropdownMenuSubTrigger,
166
+ Q3 as DropdownMenuTrigger,
167
+ Z as HoverCard,
168
+ _ as HoverCardContent,
169
+ $ as HoverCardTrigger,
170
170
  I4 as Input,
171
- O3 as InputGroup,
172
- P3 as InputGroupAddon,
173
- Q3 as InputGroupButton,
174
- R3 as InputGroupInput,
175
- S3 as InputGroupText,
176
- T3 as InputGroupTextarea,
177
- a3 as InputOTP,
178
- a4 as InputOTPGroup,
179
- a5 as InputOTPSeparator,
180
- a6 as InputOTPSlot,
181
- a7 as Label,
182
- a8 as Menubar,
183
- a9 as MenubarCheckboxItem,
184
- aa as MenubarContent,
185
- ab as MenubarGroup,
186
- ac as MenubarItem,
187
- ad as MenubarLabel,
188
- ae as MenubarMenu,
189
- af as MenubarPortal,
190
- ag as MenubarRadioGroup,
191
- ah as MenubarRadioItem,
192
- ai as MenubarSeparator,
193
- aj as MenubarShortcut,
194
- ak as MenubarSub,
195
- al as MenubarSubContent,
196
- am as MenubarSubTrigger,
197
- an as MenubarTrigger,
198
- ao as NavigationMenu,
199
- ap as NavigationMenuContent,
200
- aq as NavigationMenuIndicator,
201
- ar as NavigationMenuItem,
202
- as as NavigationMenuLink,
203
- at as NavigationMenuList,
204
- au as NavigationMenuTrigger,
205
- av as NavigationMenuViewport,
171
+ R3 as InputGroup,
172
+ S3 as InputGroupAddon,
173
+ T3 as InputGroupButton,
174
+ U3 as InputGroupInput,
175
+ V3 as InputGroupText,
176
+ W3 as InputGroupTextarea,
177
+ a0 as InputOTP,
178
+ a1 as InputOTPGroup,
179
+ a2 as InputOTPSeparator,
180
+ a3 as InputOTPSlot,
181
+ a4 as Label,
182
+ a5 as Menubar,
183
+ a6 as MenubarCheckboxItem,
184
+ a7 as MenubarContent,
185
+ a8 as MenubarGroup,
186
+ a9 as MenubarItem,
187
+ aa as MenubarLabel,
188
+ ab as MenubarMenu,
189
+ ac as MenubarPortal,
190
+ ad as MenubarRadioGroup,
191
+ ae as MenubarRadioItem,
192
+ af as MenubarSeparator,
193
+ ag as MenubarShortcut,
194
+ ah as MenubarSub,
195
+ ai as MenubarSubContent,
196
+ aj as MenubarSubTrigger,
197
+ ak as MenubarTrigger,
198
+ al as NavigationMenu,
199
+ am as NavigationMenuContent,
200
+ an as NavigationMenuIndicator,
201
+ ao as NavigationMenuItem,
202
+ ap as NavigationMenuLink,
203
+ aq as NavigationMenuList,
204
+ ar as NavigationMenuTrigger,
205
+ as as NavigationMenuViewport,
206
206
  P2 as Pagination,
207
207
  m2 as PaginationContent,
208
208
  n2 as PaginationEllipsis,
@@ -212,16 +212,16 @@ export {
212
212
  r2 as PaginationLink,
213
213
  s2 as PaginationNext,
214
214
  t2 as PaginationPrevious,
215
- U3 as Popover,
216
- V3 as PopoverAnchor,
217
- W3 as PopoverClose,
218
- X2 as PopoverContent,
219
- Y2 as PopoverTrigger,
220
- aw as Progress,
221
- ax as RadioGroup,
222
- ay as RadioGroupItem,
223
- az as ScrollArea,
224
- aA as ScrollBar,
215
+ X2 as Popover,
216
+ Y2 as PopoverAnchor,
217
+ Z2 as PopoverClose,
218
+ _2 as PopoverContent,
219
+ $2 as PopoverTrigger,
220
+ at as Progress,
221
+ au as RadioGroup,
222
+ av as RadioGroupItem,
223
+ aw as ScrollArea,
224
+ ax as ScrollBar,
225
225
  S2 as Select,
226
226
  u2 as SelectContent,
227
227
  v2 as SelectGroup,
@@ -232,7 +232,7 @@ export {
232
232
  B2 as SelectSeparator,
233
233
  D2 as SelectTrigger,
234
234
  E2 as SelectValue,
235
- aB as Separator,
235
+ ay as Separator,
236
236
  F2 as Sheet,
237
237
  G2 as SheetClose,
238
238
  H2 as SheetContent,
@@ -244,34 +244,34 @@ export {
244
244
  N2 as SheetTitle,
245
245
  O2 as SheetTrigger,
246
246
  Skeleton,
247
- aC as Slider,
247
+ az as Slider,
248
248
  Q2 as Switch,
249
- aD as Tabs,
250
- aE as TabsContent,
251
- aF as TabsList,
252
- aG as TabsTrigger,
249
+ aA as Tabs,
250
+ aB as TabsContent,
251
+ aC as TabsList,
252
+ aD as TabsTrigger,
253
253
  T2 as Textarea,
254
254
  Toaster,
255
- aH as Toggle,
256
- aI as ToggleGroup,
257
- aJ as ToggleGroupItem,
258
- aK as Tooltip,
259
- aL as TooltipContent,
260
- aM as TooltipProvider,
261
- aN as TooltipTrigger,
262
- aO as badgeVariants,
255
+ aE as Toggle,
256
+ aF as ToggleGroup,
257
+ aG as ToggleGroupItem,
258
+ a02 as Tooltip,
259
+ a12 as TooltipContent,
260
+ a22 as TooltipProvider,
261
+ a32 as TooltipTrigger,
262
+ aH as badgeVariants,
263
263
  R2 as getPaginationRange,
264
- Z2 as inputGroupAddonVariants,
265
- _2 as inputGroupButtonVariants,
266
- $2 as inputGroupInputVariants,
267
- a02 as inputGroupTextareaVariants,
268
- a12 as inputGroupVariants,
264
+ a42 as inputGroupAddonVariants,
265
+ a52 as inputGroupButtonVariants,
266
+ a62 as inputGroupInputVariants,
267
+ a72 as inputGroupTextareaVariants,
268
+ a82 as inputGroupVariants,
269
269
  i4 as inputVariants,
270
- aP as navigationMenuTriggerStyle,
270
+ aI as navigationMenuTriggerStyle,
271
271
  U2 as paginationLinkVariants,
272
272
  V2 as paginationNavVariants,
273
- aQ as slotVariants,
273
+ aJ as slotVariants,
274
274
  W2 as textareaVariants,
275
- aR as toggleVariants
275
+ aK as toggleVariants
276
276
  };
277
277
  //# sourceMappingURL=shadcn.mjs.map
@@ -20,7 +20,7 @@ import { AppShellProps } from './app-shell.types';
20
20
  * Pra uso real: declare um `MOCK_CONTEXTS`, `MOCK_COMMANDS`, etc compartilhados
21
21
  * num arquivo da app (ex: `src/config/app-shell-mocks.ts`) e passe nas pages.
22
22
  */
23
- export declare function AppShell({ contexts, defaultActiveContextId, activeContextId, onContextChange, defaultActiveItemHref, activeItemHref, onItemClick, renderLink, brandHref, onBrandClick, breadcrumb, commandGroups, commandPlaceholder, commandEmptyMessage, searchPlaceholder, notifications, messages, theme, onThemeChange, themeOptions, headerRightSlot, user, layout, onLayoutChange, layoutOptions, onSettings, onLogout, menuCollapsed: controlledCollapsed, defaultMenuCollapsed, onMenuCollapseChange, children, bodyClassName, mobileEdgeToEdge, className, }: AppShellProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function AppShell(props: AppShellProps): import("react/jsx-runtime").JSX.Element;
24
24
  export declare namespace AppShell {
25
25
  var displayName: string;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,EAEvB,QAAQ,EACR,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,UAAU,EACV,SAAS,EACT,YAAY,EAEZ,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,KAAK,EACL,aAAa,EACb,YAAY,EACZ,eAAe,EAEf,IAAI,EACJ,MAAM,EACN,cAAc,EACd,aAAa,EACb,UAAU,EACV,QAAQ,EAER,aAAa,EAAE,mBAAmB,EAClC,oBAAoB,EACpB,oBAAoB,EAEpB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,SAAS,GACV,EAAE,aAAa,2CAmHf;yBA3Je,QAAQ"}
1
+ {"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,mBAAmB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CA4Q5C;yBA5Qe,QAAQ"}
@@ -8,7 +8,51 @@
8
8
  * (18 / 24 / 32px — ver `bodyInner`) por design — slot "padronizado" pra todas
9
9
  * as telas. Consumer customiza só os filhos.
10
10
  */
11
- export declare const root: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
11
+ /**
12
+ * Raiz do shell. A altura é o ponto sensível aqui.
13
+ *
14
+ * ## Por que `fillHeight` existe (medido em 2026-08-18)
15
+ *
16
+ * `h-screen` é 100vh **sempre**, ignorando a altura do container pai. Consequência
17
+ * medida na própria página de doc do AppShell, que o renderiza dentro de
18
+ * `<div class="h-[640px] … overflow-hidden">`:
19
+ *
20
+ * container do exemplo 640px
21
+ * <main> do shell 660px (60 do header + 660 = 720 = 100vh)
22
+ * → o shell termina 56px ABAIXO da borda, e o overflow-hidden do wrapper
23
+ * corta esse pedaço — levando os 24px de padding-bottom do body junto
24
+ *
25
+ * O sintoma que aparece é "o conteúdo está colado na borda de baixo", e a leitura
26
+ * natural é "falta padding-bottom". **Não falta**: o padding existe e é simétrico
27
+ * (medido: 24px em cima e 24px embaixo). Ele está sendo *clipado*. Acrescentar mais
28
+ * padding não consertaria nada — só mudaria o quanto se perde.
29
+ *
30
+ * Vale para qualquer consumidor que embuta o shell em algo com altura definida:
31
+ * um layout com footer próprio, um painel de aba, um card de preview.
32
+ *
33
+ * fillHeight=false (default) h-screen — o shell É a página. Comportamento atual,
34
+ * preservado pra não mexer em quem já usa.
35
+ * fillHeight=true h-full — o shell obedece o pai. **Exige que o pai
36
+ * tenha altura**: `h-full` sem pai medido
37
+ * colapsa pra zero, que é o modo de falhar
38
+ * deste modo.
39
+ */
40
+ export declare const root: import('tailwind-variants').TVReturnType<{
41
+ fillHeight: {
42
+ false: string;
43
+ true: string;
44
+ };
45
+ }, undefined, string[], {
46
+ fillHeight: {
47
+ false: string;
48
+ true: string;
49
+ };
50
+ }, undefined, import('tailwind-variants').TVReturnType<{
51
+ fillHeight: {
52
+ false: string;
53
+ true: string;
54
+ };
55
+ }, undefined, string[], unknown, unknown, undefined>>;
12
56
  /** Wrapper da área principal (Header + Body). Ocupa o resto do flex row. */
13
57
  export declare const main: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
14
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"app-shell.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,eAAO,MAAM,IAAI,sMAKf,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,IAAI,sMAKf,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,sMAKf,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,SAAS;;;;;IAUlB;;;;;;;OAOG;;;;;;;;;;IAPH;;;;;;;OAOG;;;;;;;;;;IAPH;;;;;;;OAOG;;;;;qDAUL,CAAC"}
1
+ {"version":3,"file":"app-shell.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;qDAYf,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,IAAI,sMAKf,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,sMAKf,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,SAAS;;;;;IAUlB;;;;;;;OAOG;;;;;;;;;;IAPH;;;;;;;OAOG;;;;;;;;;;IAPH;;;;;;;OAOG;;;;;qDAUL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { ReactNode, MouseEvent } from 'react';
2
2
  import { LucideIcon } from '../../../lib/lucide-types';
3
+ import { SingleMenuCategory, SingleMenuModuleConfig } from '../SingleMenuSidebar';
3
4
  import { HeaderBreadcrumbItem, HeaderCommandGroup, HeaderMessagesConfig, HeaderNotificationsConfig, HeaderThemeOption } from '../Header';
4
5
  import { SidebarContext, SidebarMenuItem, SidebarLinkRenderer } from '../MenuSidebar';
5
6
  /**
@@ -43,9 +44,7 @@ export type AppShellLayoutOption = {
43
44
  * - `theme` idem
44
45
  * - `children` é o body — gap 16px + padding 32px aplicados no slot
45
46
  */
46
- export type AppShellProps = {
47
- /** Contextos do MenuSidebar (rail + panel data-driven). Obrigatório. */
48
- contexts: SidebarContext[];
47
+ type AppShellBaseProps = {
49
48
  /** Contexto inicialmente ativo (uncontrolled). Default: primeiro do array. */
50
49
  defaultActiveContextId?: string;
51
50
  /** Contexto ativo (controlled). */
@@ -135,7 +134,111 @@ export type AppShellProps = {
135
134
  * Default: false (18px mobile · 24px notebook · 32px desktop).
136
135
  */
137
136
  mobileEdgeToEdge?: boolean;
137
+ /**
138
+ * Qual menu lateral o shell monta.
139
+ *
140
+ * "menu" (default) `MenuSidebar` — rail de MÓDULOS + painel. Para apps com áreas
141
+ * distintas (Comercial, Financeiro…), cada uma com menu próprio.
142
+ * "single" `SingleMenuSidebar` — nível único, sem módulos. Para sistema
143
+ * único, com busca opcional.
144
+ *
145
+ * Default preservado em `menu` de propósito: não muda nada de quem já usa.
146
+ *
147
+ * O shell coordena o colapso e o hamburger do Header nos DOIS casos. O mapeamento é
148
+ * diferente porque os componentes modelam o estado de formas diferentes:
149
+ *
150
+ * MenuSidebar desktop → panelCollapsed · mobile → drawer (mobileOpen + backdrop)
151
+ * Single desktop → expanded (invertido) · mobile → expanded É a visibilidade
152
+ * (< md: expandida ocupa 100% da largura; recolhida some)
153
+ */
154
+ /**
155
+ * O shell obedece a altura do CONTAINER PAI em vez de ocupar 100vh.
156
+ *
157
+ * Default `false` = comportamento histórico (`h-screen`), preservado.
158
+ *
159
+ * Ligue quando o AppShell estiver embutido em algo com altura definida — um layout
160
+ * com footer próprio, um painel de aba, um preview. Sem isso o shell mede 100vh,
161
+ * transborda o container e o `overflow-hidden` corta o rodapé do body junto com o
162
+ * padding — o sintoma é "conteúdo colado na borda", e não é falta de padding.
163
+ *
164
+ * ⚠️ Exige que o pai tenha altura. `h-full` sem pai medido colapsa pra zero.
165
+ */
166
+ fillHeight?: boolean;
138
167
  /** ClassName extra no root da AppShell (afeta toda a tela). */
139
168
  className?: string;
140
169
  };
170
+ /**
171
+ * Qual menu lateral o shell monta — e **o que cada escolha exige**.
172
+ *
173
+ * "menu" (default) `MenuSidebar` — rail de MÓDULOS + painel. Para apps com áreas
174
+ * distintas (Comercial, Financeiro…), cada uma com menu próprio.
175
+ * "single" `SingleMenuSidebar` — nível único, sem módulos. Para sistema
176
+ * único, com busca opcional.
177
+ *
178
+ * Default preservado em `menu`: quem já usa não muda nada, e continua obrigado a passar
179
+ * `contexts` como antes.
180
+ *
181
+ * ## Por que UNIÃO DISCRIMINADA e não props opcionais
182
+ *
183
+ * A alternativa era deixar `contexts` opcional e documentar "obrigatório quando
184
+ * sidebar='menu'". Isso trocaria um erro de compilação por uma **falha silenciosa**:
185
+ * `contexts` ausente com a sidebar de menu renderiza um rail vazio, sem erro nenhum. Com a
186
+ * união, o TS exige exatamente o conjunto certo pra cada escolha — e o consumidor descobre
187
+ * no editor, não olhando a tela.
188
+ *
189
+ * ## O que o shell coordena nos dois casos
190
+ *
191
+ * O toggle do Header funciona igual pras duas, sem o consumidor cabear nada. O mapeamento
192
+ * interno difere porque os componentes modelam o estado de formas diferentes:
193
+ *
194
+ * MenuSidebar desktop → panelCollapsed · mobile → drawer (mobileOpen + backdrop)
195
+ * Single desktop → expanded (invertido) · mobile → expanded É a visibilidade
196
+ * (< md: expandida ocupa 100% da largura; recolhida some)
197
+ */
198
+ type AppShellMenuSidebarProps = {
199
+ sidebar?: "menu";
200
+ /** Contextos do MenuSidebar (rail + panel data-driven). Obrigatório nesta variante. */
201
+ contexts: SidebarContext[];
202
+ };
203
+ type AppShellSingleSidebarProps = {
204
+ sidebar: "single";
205
+ /** Categorias do menu de nível único. */
206
+ categories: SingleMenuCategory[];
207
+ /** Logo no header da sidebar. */
208
+ sidebarLogo: ReactNode;
209
+ /** Título ao lado do logo. */
210
+ sidebarTitle: string;
211
+ /** Item ativo (a variante `menu` usa `activeItemHref`). */
212
+ activeItemId?: string;
213
+ /**
214
+ * Clique em item. Prop SEPARADA do `onItemClick` de propósito: os dois modelos de dados
215
+ * são diferentes — o MenuSidebar entrega o ITEM (`SidebarMenuItem`), a single entrega o
216
+ * `id`. Reaproveitar o mesmo nome faria o consumidor receber um tipo e escrever pro outro.
217
+ */
218
+ onSidebarItemClick?: (id: string) => void;
219
+ /** Módulos com menu próprio — o seletor troca o conjunto de categorias. */
220
+ sidebarModules?: SingleMenuModuleConfig[];
221
+ /** Mostra a busca no topo da sidebar. */
222
+ sidebarShowSearch?: boolean;
223
+ /**
224
+ * Placeholder da busca DA SIDEBAR — separado do `searchPlaceholder`, que é do Header.
225
+ * Nomes distintos de propósito: são dois campos de busca diferentes na mesma tela.
226
+ */
227
+ sidebarSearchPlaceholder?: string;
228
+ };
229
+ export type AppShellProps = AppShellBaseProps & (AppShellMenuSidebarProps | AppShellSingleSidebarProps);
230
+ /**
231
+ * Uso **interno** do `app-shell.tsx`, não da API pública.
232
+ *
233
+ * Destruturar uma união não dá acesso a membro que existe em só um dos ramos (TS2339), e
234
+ * fazer `if (props.sidebar === "single")` antes de cada acesso espalharia narrowing por
235
+ * todo o componente. Então a fronteira pública é a união — é ela que guia o consumidor no
236
+ * editor — e a implementação lê deste shape relaxado, onde tudo é opcional.
237
+ *
238
+ * A correção de verdade fica no render: o ramo `sidebar === "single"` só usa as props da
239
+ * single, e o outro só as de menu. O `as` abaixo não esconde nada que a união já não
240
+ * garanta na entrada.
241
+ */
242
+ export type AppShellInternalProps = AppShellBaseProps & Partial<AppShellMenuSidebarProps> & Partial<AppShellSingleSidebarProps>;
243
+ export {};
141
244
  //# sourceMappingURL=app-shell.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-shell.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,aAAa,GAAG;IAE1B,wEAAwE;IACxE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,8EAA8E;IAC9E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,CACZ,IAAI,EAAE,eAAe,EACrB,KAAK,CAAC,EAAE,UAAU,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,KACtD,IAAI,CAAC;IAEV;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAG1D,sEAAsE;IACtE,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,kEAAkE;IAClE,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,oCAAoC;IACpC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,6CAA6C;IAC7C,eAAe,CAAC,EAAE,SAAS,CAAC;IAG5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACvC,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAGtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAGpD;;iFAE6E;IAC7E,QAAQ,EAAE,SAAS,CAAC;IACpB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"app-shell.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/AppShell/app-shell.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"column-builders.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/DataTable/builders/column-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column-builders.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/DataTable/builders/column-builders.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,13 @@ export type DataTableActionsCellProps<T> = {
6
6
  actions: DataTableActionItem<T>[];
7
7
  };
8
8
  /**
9
- * Celula da coluna `type: "actions"` — renderiza icone-buttons inline
10
- * (items com `showInMenu` false ou undefined) e/ou dropdown 3-pontos
11
- * (items com `showInMenu: true`).
9
+ * Celula da coluna `type: "actions"` — renderiza icone-buttons inline e/ou o
10
+ * dropdown "…". Quem decide o split é `splitActionSlots` (ver `utils/action-slots.ts`
11
+ * pra a regra e a geometria que a justifica):
12
+ *
13
+ * - algum item com `showInMenu` → o split do consumer manda, sem limite;
14
+ * - até 3 itens, nenhum marcado → todos inline, sem "…";
15
+ * - mais de 3, nenhum marcado → todos no "…" (4 ícones não cabem na coluna).
12
16
  *
13
17
  * Items com `hidden(row) === true` somem completamente. Items com
14
18
  * `disabled(row) === true` ficam atenuados e sem click.
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-actions-cell.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/DataTable/parts/data-table-actions-cell.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,0DAA0D;IAC1D,GAAG,EAAE,CAAC,CAAC;IACP,+CAA+C;IAC/C,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,GAAG,EACH,OAAO,GACR,EAAE,yBAAyB,CAAC,CAAC,CAAC,kDAyE9B"}
1
+ {"version":3,"file":"data-table-actions-cell.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/DataTable/parts/data-table-actions-cell.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,0DAA0D;IAC1D,GAAG,EAAE,CAAC,CAAC;IACP,+CAA+C;IAC/C,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,GAAG,EACH,OAAO,GACR,EAAE,yBAAyB,CAAC,CAAC,CAAC,kDAsE9B"}
@@ -0,0 +1,76 @@
1
+ import { DataTableActionItem } from '../data-table.types';
2
+ /**
3
+ * Regra de distribuição das ações de uma row entre ícones inline e o menu "…",
4
+ * e a largura que a coluna `type: "actions"` precisa pra caber o resultado.
5
+ *
6
+ * ## Por que isto é um módulo próprio
7
+ *
8
+ * A célula (`parts/data-table-actions-cell.tsx`) decide o que renderiza; o
9
+ * `calculate-column-widths.ts` decide quanto espaço reservar. Se cada um aplicasse a
10
+ * regra por conta, os dois divergiriam no primeiro ajuste — foi exatamente o defeito da
11
+ * L-038, onde header e footer liam `col.align` cru e discordavam do body. Aqui a regra
12
+ * mora num lugar e os dois a chamam.
13
+ *
14
+ * ## A geometria, MEDIDA NO BROWSER (e a versão errada que ela substituiu)
15
+ *
16
+ * A célula é `flex items-center gap-gp-2xs justify-end` dentro de uma `TableCell` que, na
17
+ * variante `actions`, usa **`px-pad-md`** — a variante sobrescreve o `px-pad-2xl` default
18
+ * das outras células (`Table/table.styles.ts`, bloco `variants.actions`). Com os tokens:
19
+ *
20
+ * padding = `pad-md` × 2 = 16px
21
+ * ícone = `icon-2xs` → `size-form-xs` = 28px
22
+ * gap = `gp-2xs` = 2px
23
+ *
24
+ * largura(n) = 16 + 28n + 2(n−1) = **30n + 14**
25
+ *
26
+ * Donde 1→44, 2→74, 3→104, 4→134.
27
+ *
28
+ * ⚠️ A primeira versão deste módulo usava `pad-2xl` (32px de padding) e chegava a
29
+ * `30n + 30` — 1→60, 3→120 — com a conclusão elegante de que o `ACTIONS_COLUMN_WIDTH`
30
+ * legado (120) "era exatamente 3 slots". **Falso**: 3 slots são 104, e 120 fica entre 3 e
31
+ * 4. O teste concordava porque derivava da mesma fórmula errada; quem pegou foi a medição
32
+ * no browser (`width: 64px` inline, `padding: 8px/8px`, botão 28px, folga 8px). É a L-064
33
+ * literal — teste escrito do mesmo modelo mental do código concorda por construção.
34
+ *
35
+ * ## O limite de 3 não é preferência estética
36
+ *
37
+ * É a capacidade da coluna que o componente já usava: dentro dos 120px legados sobram
38
+ * 104 úteis, e 4 ícones pedem 118. Ou a coluna cresce, ou o excedente vai pro menu. O
39
+ * default aqui é **mandar tudo pro menu**, porque coluna de ação larga empurra o conteúdo
40
+ * de dados e derrota o motivo de ela estar ancorada à direita.
41
+ */
42
+ /** Quantos ícones cabem inline nos 120px que a coluna sempre usou. */
43
+ export declare const ACTIONS_INLINE_MAX = 3;
44
+ /** Largura da coluna pra `n` slots renderizados (ícones + o "…" quando existe). */
45
+ export declare function actionsWidthForSlots(slots: number): number;
46
+ /**
47
+ * Divide as ações visíveis de uma row entre inline e menu.
48
+ *
49
+ * Precedência — e a primeira regra existe pra não passar por cima de decisão explícita:
50
+ *
51
+ * 1. **Algum item marca `showInMenu`** → o consumer já decidiu o split; respeitado
52
+ * integralmente, sem limite de quantidade. Quem quer 5 ícones inline consegue.
53
+ * 2. Até `ACTIONS_INLINE_MAX` (3) itens → todos inline, sem "…". Uma ação só = um ícone
54
+ * só, que é o caso comum de "editar".
55
+ * 3. Mais de 3 → **todos** vão pro menu, e a coluna renderiza só o "…".
56
+ */
57
+ export declare function splitActionSlots<T>(actions: DataTableActionItem<T>[], row: T): {
58
+ inline: DataTableActionItem<T>[];
59
+ menu: DataTableActionItem<T>[];
60
+ };
61
+ /** Slots renderizados: um por ícone inline, mais um pro "…" quando há menu. */
62
+ export declare function countActionSlots<T>(split: {
63
+ inline: DataTableActionItem<T>[];
64
+ menu: DataTableActionItem<T>[];
65
+ }): number;
66
+ /**
67
+ * Largura necessária pra uma coluna de ações, olhando as rows amostradas.
68
+ *
69
+ * Usa o **máximo** entre as rows: `hidden` pode variar por row (ex.: "cancelar" só em
70
+ * pedido aberto), e reservar pelo menor cortaria a row mais completa. Sem `getActions`
71
+ * ou sem rows, devolve `null` — quem chama decide o fallback.
72
+ */
73
+ export declare function measureActionsWidth<T>(getActions: ((params: {
74
+ row: T;
75
+ }) => DataTableActionItem<T>[]) | undefined, rows: T[]): number | null;
76
+ //# sourceMappingURL=action-slots.d.ts.map