beez-ui 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Cambios
2
2
 
3
+ ## 0.5.3 - 2026-09-09
4
+
5
+ - Actualiza el paquete a la versión 0.5.3.
6
+
7
+ ## 0.5.2 - 2026-09-09
8
+
9
+ - Actualiza el paquete a la versión 0.5.2.
10
+
3
11
  ## 0.5.1 - 2026-09-08
4
12
 
5
13
  - Actualiza el paquete a la versión 0.5.1.
package/README.md CHANGED
@@ -8,7 +8,9 @@ Biblioteca de componentes React reutilizables, con adaptadores opcionales por fr
8
8
  import { Button, Avatar, AvatarImage, DataTable, Calendar } from "beez-ui";
9
9
  ```
10
10
 
11
- Agrupar los imports de componentes desde la raíz. El paquete publica JavaScript ESM y declaraciones TypeScript en `dist`; el consumidor no necesita transpilar el código fuente de la librería. La gramática de filtros y los helpers de mes-año son independientes de React.
11
+ Agrupar los imports de componentes desde la raíz. El paquete publica JavaScript ESM y declaraciones TypeScript en `dist`; el consumidor no necesita transpilar el código fuente de la librería. La gramática de filtros y los helpers de mes-año son independientes de React.
12
+
13
+ La utilidad `cn`, también exportada desde `beez-ui`, usa el paquete `cn` para combinar clases condicionales y resolver conflictos de Tailwind.
12
14
 
13
15
  ```css
14
16
  @import "beez-ui/styles.css";
@@ -19,6 +21,10 @@ Agrupar los imports de componentes desde la raíz. El paquete publica JavaScript
19
21
  Los consumidores pueden sobrescribir tokens mediante CSS normal. Poppins se reserva para títulos grandes mediante `--font-display`; las licencias se incluyen en `assets/fonts`. Si la aplicación usa Tailwind para sus propios estilos puede mantenerlo, pero ya no necesita escanear beez-ui.
20
22
 
21
23
  `DropdownMenuContent` toma el ancho natural de sus opciones, con un mínimo de 12 rem y un máximo limitado por el espacio disponible. No hereda el ancho del botón disparador: los menús abiertos desde un icono deben mantener sus etiquetas legibles. Para un ancho específico, usar `className` y ajustar también el mínimo cuando se necesite un menú más pequeño.
24
+
25
+ Los componentes usan por defecto los espaciados compactos de Agenda: `Select` mide 2 rem (1.75 rem en tamaño pequeño), `TabsList` horizontal mide 2 rem y `PopoverContent` usa 0.625 rem de padding. Los menús y submenús tienen un mínimo de 12 rem, con filas compactas. `Dialog` y `AlertDialog` usan 1 rem de padding y un footer con borde superior y fondo diferenciado; `Textarea` distingue el estado deshabilitado mediante su fondo. Estos valores conservan los colores y fuentes del tema compartido. Son cambios de los defaults, sin una prop adicional para activarlos; los consumidores pueden personalizarlos mediante `className`.
26
+
27
+ Los `Sheet` superiores e inferiores limitan su altura al viewport dinámico (`100dvh`) y permiten desplazar el contenido para mantener accesibles las acciones de paneles largos.
22
28
 
23
29
  ## Providers de UI
24
30
 
@@ -5,12 +5,37 @@ declare function AlertDialog({ ...props }: React.ComponentProps<typeof AlertDial
5
5
  declare function AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>): React.JSX.Element;
6
6
  declare function AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>): React.JSX.Element;
7
7
  declare function AlertDialogOverlay({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>): React.JSX.Element;
8
+ /**
9
+ * Renders a compact confirmation while preserving the shared theme and viewport bound.
10
+ * @param props - Primitive properties and optional consumer overrides.
11
+ * @returns The styled primitive with its original interaction contract.
12
+ */
8
13
  declare function AlertDialogContent({ className, size, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {
9
14
  size?: "default" | "sm";
10
15
  }): React.JSX.Element;
16
+ /**
17
+ * Aligns confirmation headings and media with compact spacing.
18
+ * @param props - Primitive properties and optional consumer overrides.
19
+ * @returns The styled primitive with its original interaction contract.
20
+ */
11
21
  declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
22
+ /**
23
+ * Separates confirmation actions with an edge-to-edge muted footer.
24
+ * @param props - Primitive properties and optional consumer overrides.
25
+ * @returns The styled primitive with its original interaction contract.
26
+ */
12
27
  declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
28
+ /**
29
+ * Renders confirmation media at the compact default size.
30
+ * @param props - Primitive properties and optional consumer overrides.
31
+ * @returns The styled primitive with its original interaction contract.
32
+ */
13
33
  declare function AlertDialogMedia({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
34
+ /**
35
+ * Renders confirmation headings using the shared font and compact text size.
36
+ * @param props - Primitive properties and optional consumer overrides.
37
+ * @returns The styled primitive with its original interaction contract.
38
+ */
14
39
  declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>): React.JSX.Element;
15
40
  declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Description>): React.JSX.Element;
16
41
  declare function AlertDialogAction({ className, variant, size, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Action> & Pick<React.ComponentProps<typeof Button>, "variant" | "size">): React.JSX.Element;
@@ -110,6 +110,11 @@ function AlertDialogOverlay(t0) {
110
110
  }
111
111
  return t2;
112
112
  }
113
+ /**
114
+ * Renders a compact confirmation while preserving the shared theme and viewport bound.
115
+ * @param props - Primitive properties and optional consumer overrides.
116
+ * @returns The styled primitive with its original interaction contract.
117
+ */
113
118
  function AlertDialogContent(t0) {
114
119
  const $ = _c(11);
115
120
  let className;
@@ -136,7 +141,7 @@ function AlertDialogContent(t0) {
136
141
  }
137
142
  let t3;
138
143
  if ($[5] !== className) {
139
- t3 = cn("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid max-h-[calc(100svh-2rem)] overflow-y-auto overscroll-contain w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className);
144
+ t3 = cn("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid max-h-[calc(100svh-2rem)] overflow-y-auto overscroll-contain w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className);
140
145
  $[5] = className;
141
146
  $[6] = t3;
142
147
  } else {
@@ -159,6 +164,11 @@ function AlertDialogContent(t0) {
159
164
  }
160
165
  return t4;
161
166
  }
167
+ /**
168
+ * Aligns confirmation headings and media with compact spacing.
169
+ * @param props - Primitive properties and optional consumer overrides.
170
+ * @returns The styled primitive with its original interaction contract.
171
+ */
162
172
  function AlertDialogHeader(t0) {
163
173
  const $ = _c(8);
164
174
  let className;
@@ -174,7 +184,7 @@ function AlertDialogHeader(t0) {
174
184
  }
175
185
  let t1;
176
186
  if ($[3] !== className) {
177
- t1 = cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className);
187
+ t1 = cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className);
178
188
  $[3] = className;
179
189
  $[4] = t1;
180
190
  } else {
@@ -195,6 +205,11 @@ function AlertDialogHeader(t0) {
195
205
  }
196
206
  return t2;
197
207
  }
208
+ /**
209
+ * Separates confirmation actions with an edge-to-edge muted footer.
210
+ * @param props - Primitive properties and optional consumer overrides.
211
+ * @returns The styled primitive with its original interaction contract.
212
+ */
198
213
  function AlertDialogFooter(t0) {
199
214
  const $ = _c(8);
200
215
  let className;
@@ -210,7 +225,7 @@ function AlertDialogFooter(t0) {
210
225
  }
211
226
  let t1;
212
227
  if ($[3] !== className) {
213
- t1 = cn("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end", className);
228
+ t1 = cn("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end", className);
214
229
  $[3] = className;
215
230
  $[4] = t1;
216
231
  } else {
@@ -231,6 +246,11 @@ function AlertDialogFooter(t0) {
231
246
  }
232
247
  return t2;
233
248
  }
249
+ /**
250
+ * Renders confirmation media at the compact default size.
251
+ * @param props - Primitive properties and optional consumer overrides.
252
+ * @returns The styled primitive with its original interaction contract.
253
+ */
234
254
  function AlertDialogMedia(t0) {
235
255
  const $ = _c(8);
236
256
  let className;
@@ -246,7 +266,7 @@ function AlertDialogMedia(t0) {
246
266
  }
247
267
  let t1;
248
268
  if ($[3] !== className) {
249
- t1 = cn("mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8", className);
269
+ t1 = cn("mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6", className);
250
270
  $[3] = className;
251
271
  $[4] = t1;
252
272
  } else {
@@ -267,6 +287,11 @@ function AlertDialogMedia(t0) {
267
287
  }
268
288
  return t2;
269
289
  }
290
+ /**
291
+ * Renders confirmation headings using the shared font and compact text size.
292
+ * @param props - Primitive properties and optional consumer overrides.
293
+ * @returns The styled primitive with its original interaction contract.
294
+ */
270
295
  function AlertDialogTitle(t0) {
271
296
  const $ = _c(8);
272
297
  let className;
@@ -282,7 +307,7 @@ function AlertDialogTitle(t0) {
282
307
  }
283
308
  let t1;
284
309
  if ($[3] !== className) {
285
- t1 = cn("font-heading text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", className);
310
+ t1 = cn("font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", className);
286
311
  $[3] = className;
287
312
  $[4] = t1;
288
313
  } else {
@@ -5,13 +5,28 @@ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogP
5
5
  declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): React.JSX.Element;
6
6
  declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): React.JSX.Element;
7
7
  declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): React.JSX.Element;
8
+ /**
9
+ * Renders compact dialog content with viewport-safe scrolling.
10
+ * @param props - Primitive properties and optional consumer overrides.
11
+ * @returns The styled primitive with its original interaction contract.
12
+ */
8
13
  declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
9
14
  showCloseButton?: boolean;
10
15
  }): React.JSX.Element;
11
16
  declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
17
+ /**
18
+ * Separates dialog actions with a bordered footer matching the content padding.
19
+ * @param props - Primitive properties and optional consumer overrides.
20
+ * @returns The styled primitive with its original interaction contract.
21
+ */
12
22
  declare function DialogFooter({ className, showCloseButton, children, ...props }: React.ComponentProps<"div"> & {
13
23
  showCloseButton?: boolean;
14
24
  }): React.JSX.Element;
25
+ /**
26
+ * Renders dialog headings with the shared font at the compact default size.
27
+ * @param props - Primitive properties and optional consumer overrides.
28
+ * @returns The styled primitive with its original interaction contract.
29
+ */
15
30
  declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): React.JSX.Element;
16
31
  declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): React.JSX.Element;
17
32
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
@@ -134,6 +134,11 @@ function DialogOverlay(t0) {
134
134
  }
135
135
  return t2;
136
136
  }
137
+ /**
138
+ * Renders compact dialog content with viewport-safe scrolling.
139
+ * @param props - Primitive properties and optional consumer overrides.
140
+ * @returns The styled primitive with its original interaction contract.
141
+ */
137
142
  function DialogContent(t0) {
138
143
  const $ = _c(15);
139
144
  let children;
@@ -163,7 +168,7 @@ function DialogContent(t0) {
163
168
  }
164
169
  let t3;
165
170
  if ($[6] !== className) {
166
- t3 = cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] max-h-[calc(100svh-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 overflow-y-auto rounded-xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className);
171
+ t3 = cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] max-h-[calc(100svh-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className);
167
172
  $[6] = className;
168
173
  $[7] = t3;
169
174
  } else {
@@ -176,7 +181,7 @@ function DialogContent(t0) {
176
181
  asChild: true,
177
182
  children: /* @__PURE__ */ _jsxs(Button, {
178
183
  variant: "ghost",
179
- className: "absolute top-4 right-4",
184
+ className: "absolute top-2 right-2",
180
185
  size: "icon-sm",
181
186
  children: [/* @__PURE__ */ _jsx(XIcon, {}), /* @__PURE__ */ _jsx("span", {
182
187
  className: "sr-only",
@@ -243,6 +248,11 @@ function DialogHeader(t0) {
243
248
  }
244
249
  return t2;
245
250
  }
251
+ /**
252
+ * Separates dialog actions with a bordered footer matching the content padding.
253
+ * @param props - Primitive properties and optional consumer overrides.
254
+ * @returns The styled primitive with its original interaction contract.
255
+ */
246
256
  function DialogFooter(t0) {
247
257
  const $ = _c(14);
248
258
  let children;
@@ -265,7 +275,7 @@ function DialogFooter(t0) {
265
275
  const showCloseButton = t1 === undefined ? false : t1;
266
276
  let t2;
267
277
  if ($[5] !== className) {
268
- t2 = cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className);
278
+ t2 = cn("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end", className);
269
279
  $[5] = className;
270
280
  $[6] = t2;
271
281
  } else {
@@ -303,6 +313,11 @@ function DialogFooter(t0) {
303
313
  }
304
314
  return t4;
305
315
  }
316
+ /**
317
+ * Renders dialog headings with the shared font at the compact default size.
318
+ * @param props - Primitive properties and optional consumer overrides.
319
+ * @returns The styled primitive with its original interaction contract.
320
+ */
306
321
  function DialogTitle(t0) {
307
322
  const $ = _c(8);
308
323
  let className;
@@ -318,7 +333,7 @@ function DialogTitle(t0) {
318
333
  }
319
334
  let t1;
320
335
  if ($[3] !== className) {
321
- t1 = cn("font-heading leading-none font-medium", className);
336
+ t1 = cn("font-heading text-base leading-none font-medium", className);
322
337
  $[3] = className;
323
338
  $[4] = t1;
324
339
  } else {
@@ -6,25 +6,55 @@ declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof D
6
6
  /** Sizes action menus by their content instead of narrowing them to an icon trigger. */
7
7
  declare function DropdownMenuContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): React.JSX.Element;
8
8
  declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): React.JSX.Element;
9
+ /**
10
+ * Renders an action with compact spacing and preserved disabled/destructive states.
11
+ * @param props - Primitive properties and optional consumer overrides.
12
+ * @returns The styled primitive with its original interaction contract.
13
+ */
9
14
  declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
10
15
  inset?: boolean;
11
16
  variant?: "default" | "destructive";
12
17
  }): React.JSX.Element;
18
+ /**
19
+ * Renders a compact selectable checkbox action.
20
+ * @param props - Primitive properties and optional consumer overrides.
21
+ * @returns The styled primitive with its original interaction contract.
22
+ */
13
23
  declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {
14
24
  inset?: boolean;
15
25
  }): React.JSX.Element;
16
26
  declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): React.JSX.Element;
27
+ /**
28
+ * Renders a compact mutually exclusive action.
29
+ * @param props - Primitive properties and optional consumer overrides.
30
+ * @returns The styled primitive with its original interaction contract.
31
+ */
17
32
  declare function DropdownMenuRadioItem({ className, children, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {
18
33
  inset?: boolean;
19
34
  }): React.JSX.Element;
35
+ /**
36
+ * Renders a compact menu group label.
37
+ * @param props - Primitive properties and optional consumer overrides.
38
+ * @returns The styled primitive with its original interaction contract.
39
+ */
20
40
  declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
21
41
  inset?: boolean;
22
42
  }): React.JSX.Element;
23
43
  declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): React.JSX.Element;
24
44
  declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
25
45
  declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): React.JSX.Element;
46
+ /**
47
+ * Renders a compact trigger for a nested menu.
48
+ * @param props - Primitive properties and optional consumer overrides.
49
+ * @returns The styled primitive with its original interaction contract.
50
+ */
26
51
  declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
27
52
  inset?: boolean;
28
53
  }): React.JSX.Element;
54
+ /**
55
+ * Preserves readable submenu width with the shared translucent theme.
56
+ * @param props - Primitive properties and optional consumer overrides.
57
+ * @returns The styled primitive with its original interaction contract.
58
+ */
29
59
  declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): React.JSX.Element;
30
60
  export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
@@ -98,7 +98,7 @@ function DropdownMenuContent(t0) {
98
98
  const sideOffset = t2 === undefined ? 4 : t2;
99
99
  let t3;
100
100
  if ($[5] !== className) {
101
- t3 = cn("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-48 max-w-(--radix-dropdown-menu-content-available-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-destructive/10!", className);
101
+ t3 = cn("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-48 max-w-(--radix-dropdown-menu-content-available-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-destructive/10!", className);
102
102
  $[5] = className;
103
103
  $[6] = t3;
104
104
  } else {
@@ -146,6 +146,11 @@ function DropdownMenuGroup(t0) {
146
146
  }
147
147
  return t1;
148
148
  }
149
+ /**
150
+ * Renders an action with compact spacing and preserved disabled/destructive states.
151
+ * @param props - Primitive properties and optional consumer overrides.
152
+ * @returns The styled primitive with its original interaction contract.
153
+ */
149
154
  function DropdownMenuItem(t0) {
150
155
  const $ = _c(12);
151
156
  let className;
@@ -168,7 +173,7 @@ function DropdownMenuItem(t0) {
168
173
  const variant = t1 === undefined ? "default" : t1;
169
174
  let t2;
170
175
  if ($[5] !== className) {
171
- t2 = cn("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", className);
176
+ t2 = cn("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", className);
172
177
  $[5] = className;
173
178
  $[6] = t2;
174
179
  } else {
@@ -193,6 +198,11 @@ function DropdownMenuItem(t0) {
193
198
  }
194
199
  return t3;
195
200
  }
201
+ /**
202
+ * Renders a compact selectable checkbox action.
203
+ * @param props - Primitive properties and optional consumer overrides.
204
+ * @returns The styled primitive with its original interaction contract.
205
+ */
196
206
  function DropdownMenuCheckboxItem(t0) {
197
207
  const $ = _c(15);
198
208
  let checked;
@@ -217,7 +227,7 @@ function DropdownMenuCheckboxItem(t0) {
217
227
  }
218
228
  let t1;
219
229
  if ($[6] !== className) {
220
- t1 = cn("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className);
230
+ t1 = cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className);
221
231
  $[6] = className;
222
232
  $[7] = t1;
223
233
  } else {
@@ -278,6 +288,11 @@ function DropdownMenuRadioGroup(t0) {
278
288
  }
279
289
  return t1;
280
290
  }
291
+ /**
292
+ * Renders a compact mutually exclusive action.
293
+ * @param props - Primitive properties and optional consumer overrides.
294
+ * @returns The styled primitive with its original interaction contract.
295
+ */
281
296
  function DropdownMenuRadioItem(t0) {
282
297
  const $ = _c(13);
283
298
  let children;
@@ -299,7 +314,7 @@ function DropdownMenuRadioItem(t0) {
299
314
  }
300
315
  let t1;
301
316
  if ($[5] !== className) {
302
- t1 = cn("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className);
317
+ t1 = cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className);
303
318
  $[5] = className;
304
319
  $[6] = t1;
305
320
  } else {
@@ -335,6 +350,11 @@ function DropdownMenuRadioItem(t0) {
335
350
  }
336
351
  return t3;
337
352
  }
353
+ /**
354
+ * Renders a compact menu group label.
355
+ * @param props - Primitive properties and optional consumer overrides.
356
+ * @returns The styled primitive with its original interaction contract.
357
+ */
338
358
  function DropdownMenuLabel(t0) {
339
359
  const $ = _c(10);
340
360
  let className;
@@ -353,7 +373,7 @@ function DropdownMenuLabel(t0) {
353
373
  }
354
374
  let t1;
355
375
  if ($[4] !== className) {
356
- t1 = cn("px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8", className);
376
+ t1 = cn("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7", className);
357
377
  $[4] = className;
358
378
  $[5] = t1;
359
379
  } else {
@@ -471,6 +491,11 @@ function DropdownMenuSub(t0) {
471
491
  }
472
492
  return t1;
473
493
  }
494
+ /**
495
+ * Renders a compact trigger for a nested menu.
496
+ * @param props - Primitive properties and optional consumer overrides.
497
+ * @returns The styled primitive with its original interaction contract.
498
+ */
474
499
  function DropdownMenuSubTrigger(t0) {
475
500
  const $ = _c(13);
476
501
  let children;
@@ -492,7 +517,7 @@ function DropdownMenuSubTrigger(t0) {
492
517
  }
493
518
  let t1;
494
519
  if ($[5] !== className) {
495
- t1 = cn("flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className);
520
+ t1 = cn("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className);
496
521
  $[5] = className;
497
522
  $[6] = t1;
498
523
  } else {
@@ -524,6 +549,11 @@ function DropdownMenuSubTrigger(t0) {
524
549
  }
525
550
  return t3;
526
551
  }
552
+ /**
553
+ * Preserves readable submenu width with the shared translucent theme.
554
+ * @param props - Primitive properties and optional consumer overrides.
555
+ * @returns The styled primitive with its original interaction contract.
556
+ */
527
557
  function DropdownMenuSubContent(t0) {
528
558
  const $ = _c(8);
529
559
  let className;
@@ -539,7 +569,7 @@ function DropdownMenuSubContent(t0) {
539
569
  }
540
570
  let t1;
541
571
  if ($[3] !== className) {
542
- t1 = cn("z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-destructive/10!", className);
572
+ t1 = cn("z-50 min-w-48 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-destructive/10!", className);
543
573
  $[3] = className;
544
574
  $[4] = t1;
545
575
  } else {
@@ -2,8 +2,18 @@ import * as React from "react";
2
2
  import { Popover as PopoverPrimitive } from "radix-ui";
3
3
  declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): React.JSX.Element;
4
4
  declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): React.JSX.Element;
5
+ /**
6
+ * Renders floating details with compact padding and spacing.
7
+ * @param props - Primitive properties and optional consumer overrides.
8
+ * @returns The styled primitive with its original interaction contract.
9
+ */
5
10
  declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): React.JSX.Element;
6
11
  declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): React.JSX.Element;
12
+ /**
13
+ * Groups popover headings with compact spacing.
14
+ * @param props - Primitive properties and optional consumer overrides.
15
+ * @returns The styled primitive with its original interaction contract.
16
+ */
7
17
  declare function PopoverHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
8
18
  declare function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
9
19
  declare function PopoverDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
@@ -50,6 +50,11 @@ function PopoverTrigger(t0) {
50
50
  }
51
51
  return t1;
52
52
  }
53
+ /**
54
+ * Renders floating details with compact padding and spacing.
55
+ * @param props - Primitive properties and optional consumer overrides.
56
+ * @returns The styled primitive with its original interaction contract.
57
+ */
53
58
  function PopoverContent(t0) {
54
59
  const $ = _c(12);
55
60
  let className;
@@ -73,7 +78,7 @@ function PopoverContent(t0) {
73
78
  const sideOffset = t2 === undefined ? 4 : t2;
74
79
  let t3;
75
80
  if ($[5] !== className) {
76
- t3 = cn("z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className);
81
+ t3 = cn("z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className);
77
82
  $[5] = className;
78
83
  $[6] = t3;
79
84
  } else {
@@ -121,6 +126,11 @@ function PopoverAnchor(t0) {
121
126
  }
122
127
  return t1;
123
128
  }
129
+ /**
130
+ * Groups popover headings with compact spacing.
131
+ * @param props - Primitive properties and optional consumer overrides.
132
+ * @returns The styled primitive with its original interaction contract.
133
+ */
124
134
  function PopoverHeader(t0) {
125
135
  const $ = _c(8);
126
136
  let className;
@@ -136,7 +146,7 @@ function PopoverHeader(t0) {
136
146
  }
137
147
  let t1;
138
148
  if ($[3] !== className) {
139
- t1 = cn("flex flex-col gap-1 text-sm", className);
149
+ t1 = cn("flex flex-col gap-0.5 text-sm", className);
140
150
  $[3] = className;
141
151
  $[4] = t1;
142
152
  } else {
@@ -3,11 +3,31 @@ import { Select as SelectPrimitive } from "radix-ui";
3
3
  declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): React.JSX.Element;
4
4
  declare function SelectGroup({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): React.JSX.Element;
5
5
  declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element;
6
+ /**
7
+ * Renders compact default and small selection controls.
8
+ * @param props - Primitive properties and optional consumer overrides.
9
+ * @returns The styled primitive with its original interaction contract.
10
+ */
6
11
  declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
12
  size?: "sm" | "default";
8
13
  }): React.JSX.Element;
14
+ /**
15
+ * Keeps selection options readable with a twelve-rem minimum width.
16
+ * @param props - Primitive properties and optional consumer overrides.
17
+ * @returns The styled primitive with its original interaction contract.
18
+ */
9
19
  declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): React.JSX.Element;
20
+ /**
21
+ * Renders compact option group labels.
22
+ * @param props - Primitive properties and optional consumer overrides.
23
+ * @returns The styled primitive with its original interaction contract.
24
+ */
10
25
  declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): React.JSX.Element;
26
+ /**
27
+ * Renders compact options while retaining selection and disabled semantics.
28
+ * @param props - Primitive properties and optional consumer overrides.
29
+ * @returns The styled primitive with its original interaction contract.
30
+ */
11
31
  declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): React.JSX.Element;
12
32
  declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): React.JSX.Element;
13
33
  declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): React.JSX.Element;