@adamosuiteservices/ui 2.10.11 → 2.10.13

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 (169) hide show
  1. package/dist/accordion-rounded.cjs +5 -5
  2. package/dist/accordion-rounded.js +4 -3
  3. package/dist/accordion.cjs +5 -5
  4. package/dist/accordion.js +11 -10
  5. package/dist/alert.cjs +1 -1
  6. package/dist/alert.js +1 -0
  7. package/dist/avatar.cjs +1 -1
  8. package/dist/avatar.js +1 -0
  9. package/dist/badge.cjs +2 -2
  10. package/dist/badge.js +1 -0
  11. package/dist/breadcrumb.cjs +3 -3
  12. package/dist/breadcrumb.js +10 -9
  13. package/dist/{button-BXTNbWAk.js → button-CBy_oQDu.js} +1 -0
  14. package/dist/button-group.cjs +3 -3
  15. package/dist/button-group.js +10 -9
  16. package/dist/{button-r2Y2aX25.cjs → button-hCW1Pww0.cjs} +1 -1
  17. package/dist/button.cjs +1 -1
  18. package/dist/button.js +1 -1
  19. package/dist/calendar.cjs +1 -1
  20. package/dist/calendar.js +3 -2
  21. package/dist/card.cjs +3 -3
  22. package/dist/card.js +1 -0
  23. package/dist/{checkbox-DmvyFfB3.js → checkbox-B-Lu1-qJ.js} +3 -2
  24. package/dist/checkbox-DHFt3l5c.cjs +22 -0
  25. package/dist/checkbox.cjs +1 -1
  26. package/dist/checkbox.js +1 -1
  27. package/dist/collapsible.cjs +1 -1
  28. package/dist/collapsible.js +10 -9
  29. package/dist/colors.css +1 -1
  30. package/dist/combobox.cjs +1 -1
  31. package/dist/combobox.js +6 -5
  32. package/dist/context-menu.cjs +1 -1
  33. package/dist/context-menu.js +3 -2
  34. package/dist/dialog.cjs +1 -1
  35. package/dist/dialog.js +3 -2
  36. package/dist/dropdown-menu.cjs +1 -1
  37. package/dist/dropdown-menu.js +3 -2
  38. package/dist/field.cjs +1 -1
  39. package/dist/field.js +39 -38
  40. package/dist/hover-card.cjs +1 -1
  41. package/dist/hover-card.js +5 -4
  42. package/dist/icon-DKAhvlX_.js +36 -0
  43. package/dist/{icon-Bg5HV6Ls.cjs → icon-DPMQJBkA.cjs} +1 -1
  44. package/dist/icon.cjs +1 -1
  45. package/dist/icon.js +1 -1
  46. package/dist/index-8iwAKZIp.cjs +1 -0
  47. package/dist/{index-Se4vRnIO.js → index-B6gxHWt9.js} +2 -1
  48. package/dist/{index-yWvyIlmA.js → index-B76LQ4E5.js} +4 -3
  49. package/dist/{index-B0M7VOwp.js → index-BAEhLEFF.js} +1 -0
  50. package/dist/{index-DniCthJA.js → index-BIydBVaH.js} +60 -59
  51. package/dist/{index-CZZ3llmi.js → index-BPOsnOxS.js} +1 -0
  52. package/dist/index-BaCYnOIG.cjs +1 -0
  53. package/dist/index-BnkHpTJs.cjs +1 -0
  54. package/dist/index-C2P2kXMc.cjs +41 -0
  55. package/dist/index-CBuLZ39k.cjs +1 -0
  56. package/dist/index-CC6DBo2g.cjs +1 -0
  57. package/dist/index-CRWn-2fF.cjs +1 -0
  58. package/dist/{index-BpWB3aFK.js → index-CSFEzRxy.js} +17 -16
  59. package/dist/index-CZWDxvEo.js +16 -0
  60. package/dist/index-Ca99LLZF.cjs +5 -0
  61. package/dist/{index-BBoIAjAs.js → index-Ce7JfyIP.js} +2 -1
  62. package/dist/{index-CUWMxxKG.js → index-CmWhhuj7.js} +1 -0
  63. package/dist/index-Cqf5g2f_.cjs +1 -0
  64. package/dist/index-DE3jjVoC.cjs +1 -0
  65. package/dist/{index-C0YiLSjW.js → index-D_hmhfRp.js} +3 -2
  66. package/dist/index-Da298sEl.cjs +1 -0
  67. package/dist/{index-CBjZooac.js → index-e0gNU5O1.js} +1 -0
  68. package/dist/index-i5lLg35-.cjs +1 -0
  69. package/dist/{index-DFPDUUq7.js → index-wujanfX3.js} +8 -7
  70. package/dist/{input-DSmxdfq5.cjs → input-CWDpI1Ua.cjs} +2 -2
  71. package/dist/{input-BQZUpTEY.js → input-DFvZLcgm.js} +1 -0
  72. package/dist/input-group.cjs +1 -1
  73. package/dist/input-group.js +4 -3
  74. package/dist/input.cjs +1 -1
  75. package/dist/input.js +1 -1
  76. package/dist/kbd.cjs +1 -1
  77. package/dist/kbd.js +1 -0
  78. package/dist/{label-CrsELeIw.js → label-C6zVnc3d.js} +1 -0
  79. package/dist/label-DqfX9cHc.cjs +7 -0
  80. package/dist/label.cjs +1 -1
  81. package/dist/label.js +1 -1
  82. package/dist/pagination.cjs +1 -1
  83. package/dist/pagination.js +4 -3
  84. package/dist/{popover-DAwH8jUh.js → popover-DcQ18EVl.js} +71 -70
  85. package/dist/popover-cGp_rNLg.cjs +15 -0
  86. package/dist/popover.cjs +1 -1
  87. package/dist/popover.js +1 -1
  88. package/dist/progress.cjs +1 -1
  89. package/dist/progress.js +1 -0
  90. package/dist/radio-group.cjs +1 -1
  91. package/dist/radio-group.js +5 -4
  92. package/dist/select.cjs +1 -1
  93. package/dist/select.js +7 -6
  94. package/dist/separator-CCGaTo09.cjs +7 -0
  95. package/dist/{separator-DVypR3Qf.js → separator-CsaqP20m.js} +1 -0
  96. package/dist/separator.cjs +1 -1
  97. package/dist/separator.js +1 -1
  98. package/dist/{sheet-mV8cYfd2.js → sheet-CPf9Guon.js} +3 -2
  99. package/dist/{sheet-IGhaVAfU.cjs → sheet-DVT_djHX.cjs} +3 -3
  100. package/dist/sheet.cjs +1 -1
  101. package/dist/sheet.js +1 -1
  102. package/dist/sidebar.cjs +1 -1
  103. package/dist/sidebar.js +25 -24
  104. package/dist/skeleton.cjs +1 -1
  105. package/dist/skeleton.js +6 -5
  106. package/dist/slider.cjs +1 -1
  107. package/dist/slider.js +2 -1
  108. package/dist/spinner.cjs +1 -1
  109. package/dist/spinner.js +10 -9
  110. package/dist/styles.css +1 -1
  111. package/dist/switch.cjs +1 -1
  112. package/dist/switch.js +14 -13
  113. package/dist/table.cjs +8 -8
  114. package/dist/table.js +3 -2
  115. package/dist/tabs-underline.cjs +1 -1
  116. package/dist/tabs-underline.js +8 -7
  117. package/dist/tabs.cjs +1 -1
  118. package/dist/tabs.js +3 -2
  119. package/dist/tailwind-colors.css +1 -1
  120. package/dist/tailwind-theme.css +1 -1
  121. package/dist/{textarea-CUPWKl-S.js → textarea-BRCnIxdB.js} +1 -0
  122. package/dist/{textarea-CG7iQcb3.cjs → textarea-DkFUS_oS.cjs} +1 -1
  123. package/dist/textarea.cjs +1 -1
  124. package/dist/textarea.js +1 -1
  125. package/dist/themes.css +1 -1
  126. package/dist/toaster.cjs +2 -2
  127. package/dist/toaster.js +2 -1
  128. package/dist/toggle.cjs +1 -1
  129. package/dist/toggle.js +1 -0
  130. package/dist/tooltip.cjs +5 -4
  131. package/dist/tooltip.js +9 -7
  132. package/dist/types/theme.type.d.ts +1 -1
  133. package/dist/typography.cjs +1 -1
  134. package/dist/typography.js +5 -4
  135. package/docs/components/ui/accordion-rounded.md +7 -7
  136. package/docs/components/ui/accordion.md +2 -2
  137. package/docs/components/ui/alert.md +3 -3
  138. package/docs/components/ui/avatar.md +10 -10
  139. package/docs/components/ui/badge.md +10 -53
  140. package/docs/components/ui/button.md +1 -1
  141. package/docs/components/ui/calendar.md +1 -1
  142. package/docs/components/ui/combobox.md +7 -7
  143. package/docs/components/ui/hover-card.md +1 -1
  144. package/docs/components/ui/icon.md +12 -12
  145. package/docs/components/ui/input-group.md +9 -14
  146. package/docs/components/ui/popover.md +2 -2
  147. package/docs/components/ui/spinner.md +1 -1
  148. package/docs/components/ui/table.md +1 -1
  149. package/docs/components/ui/tooltip.md +3 -3
  150. package/docs/components/ui/typography.md +1 -1
  151. package/package.json +2 -1
  152. package/dist/checkbox-Bn7H8EaT.cjs +0 -22
  153. package/dist/icon-DG_i4bz2.js +0 -35
  154. package/dist/index-BFyr34mw.cjs +0 -5
  155. package/dist/index-BX9hz-JD.js +0 -15
  156. package/dist/index-BcGMAmWE.cjs +0 -1
  157. package/dist/index-Bd0gQB0k.cjs +0 -1
  158. package/dist/index-BeWgla7c.cjs +0 -1
  159. package/dist/index-COuvjZLM.cjs +0 -1
  160. package/dist/index-CTjlbbt9.cjs +0 -1
  161. package/dist/index-Cmx9M9cZ.cjs +0 -1
  162. package/dist/index-CzRiuk60.cjs +0 -1
  163. package/dist/index-DIwmXz1u.cjs +0 -1
  164. package/dist/index-DMs8RL3E.cjs +0 -41
  165. package/dist/index-Dbj9vHNq.cjs +0 -1
  166. package/dist/index-DmGzwG2z.cjs +0 -1
  167. package/dist/label-1jx6a0Sm.cjs +0 -7
  168. package/dist/popover-CYbik-H4.cjs +0 -15
  169. package/dist/separator-Brpax0EI.cjs +0 -7
@@ -107,7 +107,7 @@ Contenedor individual de cada item del accordion.
107
107
  **Estilos aplicados**:
108
108
 
109
109
  - `rounded-2xl`: Bordes muy redondeados
110
- - `bg-neutrals-50`: Fondo gris claro
110
+ - `bg-muted`: Fondo gris claro
111
111
  - `mb-4`: Margen inferior de 1rem
112
112
  - `last:mb-0`: Sin margen en el último item
113
113
 
@@ -246,7 +246,7 @@ Solo un item abierto a la vez:
246
246
  />
247
247
  <AccordionContent>
248
248
  <div className="p-4 space-y-3">
249
- <div className="rounded-lg border border-neutrals-200 p-3">
249
+ <div className="rounded-lg border p-3">
250
250
  <h4 className="text-sm font-semibold text-foreground">Full Name</h4>
251
251
  <p className="text-sm text-foreground mt-1">Required field</p>
252
252
  </div>
@@ -374,21 +374,21 @@ Varios items pueden estar abiertos simultáneamente:
374
374
  />
375
375
  <AccordionContent>
376
376
  <div className="p-4 space-y-4">
377
- <div className="flex items-center justify-between p-3 bg-neutrals-50 rounded-lg">
377
+ <div className="flex items-center justify-between p-3 bg-muted rounded-lg">
378
378
  <div>
379
379
  <p className="text-sm font-semibold text-foreground">
380
380
  Credit Card
381
381
  </p>
382
382
  <p className="text-xs text-muted-foreground">•••• 4242</p>
383
383
  </div>
384
- <span className="text-xs text-success-600 font-medium">Active</span>
384
+ <span className="text-xs text-success font-medium">Active</span>
385
385
  </div>
386
- <div className="flex items-center justify-between p-3 bg-neutrals-50 rounded-lg">
386
+ <div className="flex items-center justify-between p-3 bg-muted rounded-lg">
387
387
  <div>
388
388
  <p className="text-sm font-semibold text-foreground">PayPal</p>
389
389
  <p className="text-xs text-muted-foreground">user@example.com</p>
390
390
  </div>
391
- <span className="text-xs text-success-600 font-medium">Active</span>
391
+ <span className="text-xs text-success font-medium">Active</span>
392
392
  </div>
393
393
  </div>
394
394
  </AccordionContent>
@@ -548,7 +548,7 @@ Sin badges para diseño minimalista:
548
548
  | Característica | Accordion Regular | Accordion Rounded |
549
549
  | ------------------ | ----------------------- | --------------------------------- |
550
550
  | Bordes | Esquinas cuadradas | `rounded-2xl` (muy redondeado) |
551
- | Fondo del Item | Transparente con border | `bg-neutrals-50` (gris claro) |
551
+ | Fondo del Item | Transparente con border | `bg-muted` (gris claro) |
552
552
  | Separación | Border entre items | Margen `mb-4` entre items |
553
553
  | Badge Support | No (solo children) | Sí (prop `badge` dedicada) |
554
554
  | Estilo del Título | Normal | Mayúsculas, compacto, color gris |
@@ -236,7 +236,7 @@ El trigger incluye hover effect con subrayado:
236
236
  <AccordionItem value="phase-1">
237
237
  <AccordionTrigger>
238
238
  <div className="flex items-center gap-2">
239
- <CheckCircleIcon className="h-4 w-4" />
239
+ <Icon symbol="check_circle" className="text-lg" />
240
240
  Phase 1: Planning
241
241
  </div>
242
242
  </AccordionTrigger>
@@ -260,7 +260,7 @@ El trigger incluye hover effect con subrayado:
260
260
 
261
261
  - Usa Radix UI Accordion internamente
262
262
  - Todos los estilos tienen prefijo ``
263
- - El icono ChevronDown se incluye automáticamente en el trigger
263
+ - El icono keyboard_arrow_down se incluye automáticamente en el trigger
264
264
  - Las animaciones son manejadas por CSS y data attributes
265
265
 
266
266
  ## Referencias
@@ -344,15 +344,15 @@ import { Progress } from "@adamosuiteservices/ui/progress";
344
344
  </div>
345
345
  <div className="flex gap-4 justify-between">
346
346
  <span>Memory usage:</span>
347
- <span className="text-green-600">-23%</span>
347
+ <span className="text-success">-23%</span>
348
348
  </div>
349
349
  <div className="flex gap-4 justify-between">
350
350
  <span>CPU usage:</span>
351
- <span className="text-green-600">-31%</span>
351
+ <span className="text-success">-31%</span>
352
352
  </div>
353
353
  <div className="flex gap-4 justify-between">
354
354
  <span>Battery life:</span>
355
- <span className="text-green-600">+18%</span>
355
+ <span className="text-success">+18%</span>
356
356
  </div>
357
357
  </div>
358
358
  </AlertDescription>
@@ -378,16 +378,16 @@ Para mostrar estado online/offline/busy:
378
378
  <AvatarFallback>JD</AvatarFallback>
379
379
  </Avatar>
380
380
  {/* Indicador de estado */}
381
- <span className="absolute bottom-0 right-0 block h-3 w-3 rounded-full bg-green-500 ring-2 ring-background" />
381
+ <span className="absolute bottom-0 right-0 block h-3 w-3 rounded-full bg-success ring-2 ring-background" />
382
382
  </div>
383
383
  ```
384
384
 
385
385
  **Variantes de estado**:
386
386
 
387
- - `bg-green-500`: Online
387
+ - `bg-success`: Online
388
388
  - `bg-gray-400`: Offline
389
- - `bg-yellow-500`: Away/Idle
390
- - `bg-red-500`: Busy/Do Not Disturb
389
+ - `bg-warning`: Away/Idle
390
+ - `bg-destructive`: Busy/Do Not Disturb
391
391
 
392
392
  ### Avatar con Badge
393
393
 
@@ -525,7 +525,7 @@ Mantén tamaños consistentes por contexto:
525
525
  ```tsx
526
526
  <Avatar>
527
527
  <AvatarImage src={url} alt="User" />
528
- <AvatarFallback className="bg-blue-500 text-white">AB</AvatarFallback>
528
+ <AvatarFallback className="bg-primary text-primary-foreground">AB</AvatarFallback>
529
529
  </Avatar>
530
530
  ```
531
531
 
@@ -534,11 +534,11 @@ Mantén tamaños consistentes por contexto:
534
534
  ```typescript
535
535
  function getAvatarColor(name: string): string {
536
536
  const colors = [
537
- "bg-red-500",
538
- "bg-blue-500",
539
- "bg-green-500",
540
- "bg-yellow-500",
541
- "bg-purple-500",
537
+ "bg-destructive",
538
+ "bg-primary",
539
+ "bg-success",
540
+ "bg-warning",
541
+ "bg-primary",
542
542
  ];
543
543
  const index = name.charCodeAt(0) % colors.length;
544
544
  return colors[index];
@@ -499,29 +499,11 @@ Para etiquetas promocionales.
499
499
  ```tsx
500
500
  import { Icon } from "@adamosuiteservices/ui/icon";
501
501
 
502
- <div className="space-y-4">
503
- {/* Badges básicos */}
504
- <div className="flex gap-2">
505
- <Badge variant="destructive">Sale</Badge>
506
- <Badge variant="default">New</Badge>
507
- <Badge variant="secondary">Bestseller</Badge>
508
- <Badge variant="outline">Limited</Badge>
509
- </div>
510
-
511
- {/* Badges personalizados */}
512
- <div className="flex gap-2">
513
- <Badge className="bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200">
514
- Free Shipping
515
- </Badge>
516
- <Badge className="bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-200">
517
- <Icon symbol="star" />
518
- Premium
519
- </Badge>
520
- <Badge className="bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200">
521
- <Icon symbol="redeem" />
522
- Bundle Deal
523
- </Badge>
524
- </div>
502
+ <div className="flex gap-2">
503
+ <Badge variant="destructive">Sale</Badge>
504
+ <Badge variant="default">New</Badge>
505
+ <Badge variant="secondary">Bestseller</Badge>
506
+ <Badge variant="outline">Limited</Badge>
525
507
  </div>;
526
508
  ```
527
509
 
@@ -548,12 +530,10 @@ import { Icon } from "@adamosuiteservices/ui/icon";
548
530
 
549
531
  <div className="flex items-center gap-2">
550
532
  <Avatar className="size-6">
551
- <AvatarFallback>ML</AvatarFallback>
533
+ <AvatarImage src="https://github.com/shadcn.png" alt="@shadcn" />
534
+ <AvatarFallback>CN</AvatarFallback>
552
535
  </Avatar>
553
- <Badge variant="default">
554
- <Icon symbol="verified" />
555
- maxleiter
556
- </Badge>
536
+ <Badge variant="secondary">shadcn</Badge>
557
537
  </div>
558
538
  </div>;
559
539
  ```
@@ -578,32 +558,9 @@ import { Icon } from "@adamosuiteservices/ui/icon";
578
558
  Best Value
579
559
  </Badge>
580
560
  <Badge variant="outline">Free Trial</Badge>
581
- </div>;
582
- ```
583
-
584
- ### Colores Personalizados
585
-
586
- Para casos especiales de branding.
587
-
588
- ```tsx
589
- import { Icon } from "@adamosuiteservices/ui/icon";
590
-
591
- <div className="flex gap-2">
592
- <Badge className="bg-blue-500 text-white dark:bg-blue-600">
593
- <Icon symbol="verified" />
594
- Verified
595
- </Badge>
596
- <Badge className="bg-green-500 text-white dark:bg-green-600">
561
+ <Badge variant="success-medium">
597
562
  <Icon symbol="check" />
598
- Success
599
- </Badge>
600
- <Badge className="bg-purple-500 text-white dark:bg-purple-600">
601
- <Icon symbol="star" />
602
- Premium
603
- </Badge>
604
- <Badge className="bg-orange-500 text-white dark:bg-orange-600">
605
- <Icon symbol="trending_up" />
606
- Trending
563
+ Money Back Guarantee
607
564
  </Badge>
608
565
  </div>;
609
566
  ```
@@ -1072,7 +1072,7 @@ function Navigation() {
1072
1072
 
1073
1073
  ```tsx
1074
1074
  // ❌ Incorrecto - className sobrescribe variantes
1075
- <Button className="bg-red-500">Click</Button>
1075
+ <Button className="bg-destructive">Click</Button>
1076
1076
 
1077
1077
  // ✅ Correcto - Usa variantes predefinidas
1078
1078
  <Button variant="destructive">Click</Button>
@@ -781,7 +781,7 @@ const bookedDates = [
781
781
  booked: bookedDates,
782
782
  }}
783
783
  modifiersClassNames={{
784
- booked: "bg-red-100 text-red-900",
784
+ booked: "bg-destructive/10 text-destructive",
785
785
  }}
786
786
  className="rounded-md border"
787
787
  />;
@@ -270,10 +270,10 @@ const options = [
270
270
  searchable
271
271
  options={frameworks}
272
272
  classNames={{
273
- trigger: "border-2 border-blue-500 w-64",
274
- popover: "border-blue-200 shadow-lg",
275
- item: "rounded px-3 py-2 hover:bg-blue-50",
276
- check: "text-blue-600",
273
+ trigger: "border-2 border-primary w-64",
274
+ popover: "border-border shadow-lg",
275
+ item: "rounded px-3 py-2 hover:bg-accent",
276
+ check: "text-primary",
277
277
  }}
278
278
  />
279
279
  ```
@@ -335,7 +335,7 @@ const [values, setValues] = useState<string[]>([]);
335
335
  {values.length > 0 && (
336
336
  <button
337
337
  onClick={() => setValues([])}
338
- className="text-xs text-blue-600 hover:text-blue-800 underline"
338
+ className="text-xs text-primary hover:text-primary/80 underline"
339
339
  >
340
340
  Clear all
341
341
  </button>
@@ -390,7 +390,7 @@ El prop `renders` permite personalizar completamente la UI usando el patrón ren
390
390
  <div className="flex items-center gap-2">
391
391
  <span>{text}</span>
392
392
  {text && (
393
- <span className="px-1.5 py-0.5 text-xs bg-green-100 text-green-700 rounded font-medium">
393
+ <span className="px-1.5 py-0.5 text-xs bg-success/10 text-success rounded font-medium">
394
394
  Active
395
395
  </span>
396
396
  )}
@@ -411,7 +411,7 @@ El prop `renders` permite personalizar completamente la UI usando el patrón ren
411
411
  renders={{
412
412
  optionLabel: ({ option }) => (
413
413
  <div className="flex items-center gap-2">
414
- <span className="font-semibold text-blue-600">🚀</span>
414
+ <span className="font-semibold text-primary">🚀</span>
415
415
  <span>{option.label}</span>
416
416
  </div>
417
417
  ),
@@ -192,7 +192,7 @@ import { Icon } from "@adamosuiteservices/ui/icon";
192
192
  <span>4.1k</span>
193
193
  </div>
194
194
  <div className="flex items-center gap-1">
195
- <div className="h-3 w-3 rounded-full bg-blue-500" />
195
+ <div className="h-3 w-3 rounded-full bg-primary" />
196
196
  <span>TypeScript</span>
197
197
  </div>
198
198
  </div>
@@ -84,7 +84,7 @@ Usa clases de texto Tailwind para controlar el tamaño del icono. Se pueden comb
84
84
  <Icon symbol="star" className="adm:text-5xl" /> {/* ~48px */}
85
85
 
86
86
  // Combinando tamaño con color
87
- <Icon symbol="star" className="adm:text-2xl adm:text-yellow-500" />
87
+ <Icon symbol="star" className="adm:text-2xl adm:text-warning" />
88
88
  ```
89
89
 
90
90
  ### fill
@@ -190,7 +190,7 @@ function FavoriteButton() {
190
190
  fill={isFavorite ? 1 : 0}
191
191
  className={cn(
192
192
  "adm:text-lg",
193
- isFavorite ? "adm:text-red-500" : "adm:text-gray-400"
193
+ isFavorite ? "adm:text-destructive" : "adm:text-muted-foreground"
194
194
  )}
195
195
  />
196
196
  {isFavorite ? "Liked" : "Like"}
@@ -261,7 +261,7 @@ const commonIcons = [
261
261
  <Icon
262
262
  symbol="notification"
263
263
  weight={300}
264
- className="adm:text-2xl adm:text-blue-500 adm:drop-shadow-sm"
264
+ className="adm:text-2xl adm:text-primary adm:drop-shadow-sm"
265
265
  />
266
266
  ```
267
267
 
@@ -270,7 +270,7 @@ const commonIcons = [
270
270
  ```tsx
271
271
  <Icon
272
272
  symbol="refresh"
273
- className="adm:text-2xl adm:animate-spin adm:text-blue-500"
273
+ className="adm:text-2xl adm:animate-spin adm:text-primary"
274
274
  />
275
275
  ```
276
276
 
@@ -291,7 +291,7 @@ const commonIcons = [
291
291
  <Card>
292
292
  <CardHeader>
293
293
  <div className="adm:flex adm:items-center adm:gap-2">
294
- <Icon symbol="folder" className="adm:text-2xl adm:text-blue-500" />
294
+ <Icon symbol="folder" className="adm:text-2xl adm:text-primary" />
295
295
  <CardTitle>Documents</CardTitle>
296
296
  </div>
297
297
  </CardHeader>
@@ -311,17 +311,17 @@ const commonIcons = [
311
311
 
312
312
  ```tsx
313
313
  <div className="adm:flex adm:items-center adm:gap-2">
314
- <Icon symbol="check_circle" fill={1} className="adm:text-green-500" />
314
+ <Icon symbol="check_circle" fill={1} className="adm:text-success" />
315
315
  <span>Completed</span>
316
316
  </div>
317
317
 
318
318
  <div className="adm:flex adm:items-center adm:gap-2">
319
- <Icon symbol="error" fill={1} className="adm:text-red-500" />
319
+ <Icon symbol="error" fill={1} className="adm:text-destructive" />
320
320
  <span>Error</span>
321
321
  </div>
322
322
 
323
323
  <div className="adm:flex adm:items-center adm:gap-2">
324
- <Icon symbol="schedule" fill={1} className="adm:text-yellow-500" />
324
+ <Icon symbol="schedule" fill={1} className="adm:text-warning" />
325
325
  <span>Pending</span>
326
326
  </div>
327
327
  ```
@@ -396,7 +396,7 @@ const commonIcons = [
396
396
  {
397
397
  /* ✅ Correcto - Peso mayor para énfasis */
398
398
  }
399
- <Icon symbol="warning" weight={500} fill={1} className="adm:text-yellow-500" />;
399
+ <Icon symbol="warning" weight={500} fill={1} className="adm:text-warning" />;
400
400
 
401
401
  {
402
402
  /* ❌ Evitar - Peso muy pesado sin propósito */
@@ -408,9 +408,9 @@ const commonIcons = [
408
408
 
409
409
  ```tsx
410
410
  {/* ✅ Correcto - Estados con significado claro */}
411
- <Icon symbol="check_circle" fill={1} className="adm:text-green-500" /> {/* Éxito */}
412
- <Icon symbol="error" fill={1} className="adm:text-red-500" /> {/* Error */}
413
- <Icon symbol="info" fill={1} className="adm:text-blue-500" /> {/* Info */}
411
+ <Icon symbol="check_circle" fill={1} className="adm:text-success" /> {/* Éxito */}
412
+ <Icon symbol="error" fill={1} className="adm:text-destructive" /> {/* Error */}
413
+ <Icon symbol="info" fill={1} className="adm:text-primary" /> {/* Info */}
414
414
 
415
415
  {/* ✅ Correcto - Estados interactivos */}
416
416
  <Icon symbol="favorite" fill={liked ? 1 : 0} />
@@ -79,12 +79,12 @@ import {
79
79
 
80
80
  ### InputGroupButton
81
81
 
82
- | Prop | Tipo | Default | Descripción |
83
- | --------- | ---------------------------------------- | ---------- | ---------------------------------------- |
84
- | `size` | `"xs" \| "sm" \| "icon-xs" \| "icon-sm"` | `"xs"` | Tamaño del botón |
85
- | `variant` | Button variants | `"ghost"` | Variante del botón |
86
- | `type` | `string` | `"button"` | Tipo HTML del botón |
87
- | ...rest | - | - | Todas las props de Button excepto `size` |
82
+ | Prop | Tipo | Default | Descripción |
83
+ | --------- | ---------------------------------------- | ----------------- | ---------------------------------------- |
84
+ | `size` | `"xs" \| "sm" \| "icon-xs" \| "icon-sm"` | `"xs"` | Tamaño del botón |
85
+ | `variant` | Button variants | `"ghost-neutral"` | Variante del botón |
86
+ | `type` | `string` | `"button"` | Tipo HTML del botón |
87
+ | ...rest | - | - | Todas las props de Button excepto `size` |
88
88
 
89
89
  **Sizes**:
90
90
 
@@ -235,7 +235,7 @@ import {
235
235
  <InputGroupAddon align="inline-end">
236
236
  <Tooltip>
237
237
  <TooltipTrigger asChild>
238
- <InputGroupButton variant="ghost" size="icon-xs">
238
+ <InputGroupButton size="icon-xs">
239
239
  <Icon symbol="info" className="text-base" />
240
240
  </InputGroupButton>
241
241
  </TooltipTrigger>
@@ -268,7 +268,6 @@ function App() {
268
268
  />
269
269
  <InputGroupAddon align="inline-end">
270
270
  <InputGroupButton
271
- variant="ghost"
272
271
  size="icon-xs"
273
272
  onClick={() => setShowPassword(!showPassword)}
274
273
  aria-label={showPassword ? "Hide password" : "Show password"}
@@ -315,7 +314,7 @@ import {
315
314
  <InputGroupAddon align="inline-end">
316
315
  <DropdownMenu>
317
316
  <DropdownMenuTrigger asChild>
318
- <InputGroupButton variant="ghost" size="icon-xs">
317
+ <InputGroupButton size="icon-xs">
319
318
  <Icon symbol="more_horiz" className="text-base" />
320
319
  </InputGroupButton>
321
320
  </DropdownMenuTrigger>
@@ -362,11 +361,7 @@ import { Label } from "@adamosuiteservices/ui/label";
362
361
  </Label>
363
362
  <Tooltip>
364
363
  <TooltipTrigger asChild>
365
- <InputGroupButton
366
- variant="ghost"
367
- className="ml-auto rounded-full"
368
- size="icon-xs"
369
- >
364
+ <InputGroupButton className="ml-auto rounded-full" size="icon-xs">
370
365
  <Icon symbol="info" className="text-base" />
371
366
  </InputGroupButton>
372
367
  </TooltipTrigger>
@@ -306,7 +306,7 @@ import { Icon } from "@adamosuiteservices/ui/icon";
306
306
  <PopoverContent className="w-80">
307
307
  <div className="space-y-3">
308
308
  <div className="flex items-center gap-2">
309
- <Icon symbol="error" className="text-lg text-blue-500" />
309
+ <Icon symbol="error" className="text-lg text-primary" />
310
310
  <h4 className="font-medium">About this feature</h4>
311
311
  </div>
312
312
  <p className="text-sm text-muted-foreground">
@@ -359,7 +359,7 @@ import { Separator } from "@adamosuiteservices/ui/separator";
359
359
  <p className="text-sm font-medium">New message</p>
360
360
  <p className="text-xs text-muted-foreground">2 min ago</p>
361
361
  </div>
362
- <div className="h-2 w-2 bg-blue-500 rounded-full mt-1" />
362
+ <div className="h-2 w-2 bg-primary rounded-full mt-1" />
363
363
  </div>
364
364
  </div>
365
365
  <Separator />
@@ -50,7 +50,7 @@ import { Spinner } from "@adamosuiteservices/ui/spinner";
50
50
  ```tsx
51
51
  <Spinner className="text-primary" />
52
52
  <Spinner className="text-destructive" />
53
- <Spinner className="text-blue-500" />
53
+ <Spinner className="text-warning" />
54
54
  ```
55
55
 
56
56
  ### En Botones
@@ -174,7 +174,7 @@ const invoices = [
174
174
  ## Estilos Base
175
175
 
176
176
  - **Container**: `rounded-xl border` con `overflow-x-auto`
177
- - **Head**: `bg-neutrals-50 text-muted-foreground text-xs uppercase`
177
+ - **Head**: `bg-muted/50 text-muted-foreground text-xs uppercase`
178
178
  - **Row hover**: `hover:bg-muted/50`
179
179
  - **Cell**: `p-4 text-sm text-muted-foreground`
180
180
 
@@ -278,11 +278,11 @@ function App() {
278
278
 
279
279
  ## Estilos Base
280
280
 
281
- - **Background**: `bg-neutrals-800`
282
- - **Text**: `text-white text-xs`
281
+ - **Background**: `bg-primary`
282
+ - **Text**: `text-primary-foreground text-xs`
283
283
  - **Padding**: `px-3 py-1.5`
284
284
  - **Border radius**: `rounded-md`
285
- - **Arrow**: `size-2.5` con `bg-neutrals-800`
285
+ - **Arrow**: `size-2.5` con `bg-primary`
286
286
  - **Z-index**: `z-50`
287
287
  - **Animation**: Fade + zoom in/out
288
288
 
@@ -264,7 +264,7 @@ import { Typography } from "@adamosuiteservices/ui/typography";
264
264
  - **Default element**: `<p>` cuando `asChild=false`
265
265
  - **Default variants**: `variant="sm"` y `color="default"`
266
266
  - **Data attribute**: `data-slot="typography"` para identificación
267
- - **Color variants**: Incluye colores default (neutrals-700) y muted (neutrals-500)
267
+ - **Color variants**: Incluye colores default (foreground) y muted (muted-foreground)
268
268
  - **Extensibilidad**: Combina con utility classes para estilos adicionales (weight, spacing, etc.)
269
269
 
270
270
  ## Troubleshooting
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adamosuiteservices/ui",
3
- "version": "2.10.11",
3
+ "version": "2.10.13",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -283,6 +283,7 @@
283
283
  "globals": "^16.4.0",
284
284
  "husky": "^9.1.7",
285
285
  "lint-staged": "^16.2.6",
286
+ "rollup-preserve-directives": "^1.1.3",
286
287
  "storybook": "^10.0.0",
287
288
  "tw-animate-css": "^1.4.0",
288
289
  "typescript": "~5.9.3",
@@ -1,22 +0,0 @@
1
- "use strict";const o=require("./jsx-runtime-BB_1_6y_.cjs"),H=require("react"),w=require("./index-_XxjJPRD.cjs"),L=require("./index-cwZN7ZY3.cjs"),_=require("./index-BWaO7kQK.cjs"),G=require("./index-DYxWvftI.cjs"),K=require("./index-bSPhqlcX.cjs"),U=require("./index-Bd0gQB0k.cjs"),P=require("./index-CocSS1YK.cjs"),N=require("./icon-Bg5HV6Ls.cjs"),y=require("./index-DoxiiusW.cjs");function X(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:()=>e[n]})}}return r.default=e,Object.freeze(r)}const d=X(H);var g="Checkbox",[J]=L.createContextScope(g),[Q,I]=J(g);function V(e){const{__scopeCheckbox:r,checked:n,children:a,defaultChecked:c,disabled:t,form:p,name:x,onCheckedChange:u,required:f,value:h="on",internal_do_not_use_render:l}=e,[m,v]=_.useControllableState({prop:n,defaultProp:c??!1,onChange:u,caller:g}),[k,C]=d.useState(null),[R,s]=d.useState(null),i=d.useRef(!1),j=k?!!p||!!k.closest("form"):!0,E={checked:m,disabled:t,setChecked:v,control:k,setControl:C,name:x,form:p,value:h,hasConsumerStoppedPropagationRef:i,required:f,defaultChecked:b(c)?!1:c,isFormControl:j,bubbleInput:R,setBubbleInput:s};return o.jsxRuntimeExports.jsx(Q,{scope:r,...E,children:W(l)?l(E):a})}var S="CheckboxTrigger",O=d.forwardRef(({__scopeCheckbox:e,onKeyDown:r,onClick:n,...a},c)=>{const{control:t,value:p,disabled:x,checked:u,required:f,setControl:h,setChecked:l,hasConsumerStoppedPropagationRef:m,isFormControl:v,bubbleInput:k}=I(S,e),C=w.useComposedRefs(c,h),R=d.useRef(u);return d.useEffect(()=>{const s=t?.form;if(s){const i=()=>l(R.current);return s.addEventListener("reset",i),()=>s.removeEventListener("reset",i)}},[t,l]),o.jsxRuntimeExports.jsx(P.Primitive.button,{type:"button",role:"checkbox","aria-checked":b(u)?"mixed":u,"aria-required":f,"data-state":A(u),"data-disabled":x?"":void 0,disabled:x,value:p,...a,ref:C,onKeyDown:_.composeEventHandlers(r,s=>{s.key==="Enter"&&s.preventDefault()}),onClick:_.composeEventHandlers(n,s=>{l(i=>b(i)?!0:!i),k&&v&&(m.current=s.isPropagationStopped(),m.current||s.stopPropagation())})})});O.displayName=S;var B=d.forwardRef((e,r)=>{const{__scopeCheckbox:n,name:a,checked:c,defaultChecked:t,required:p,disabled:x,value:u,onCheckedChange:f,form:h,...l}=e;return o.jsxRuntimeExports.jsx(V,{__scopeCheckbox:n,checked:c,defaultChecked:t,disabled:x,required:p,onCheckedChange:f,name:a,form:h,value:u,internal_do_not_use_render:({isFormControl:m})=>o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(O,{...l,ref:r,__scopeCheckbox:n}),m&&o.jsxRuntimeExports.jsx(D,{__scopeCheckbox:n})]})})});B.displayName=g;var M="CheckboxIndicator",T=d.forwardRef((e,r)=>{const{__scopeCheckbox:n,forceMount:a,...c}=e,t=I(M,n);return o.jsxRuntimeExports.jsx(U.Presence,{present:a||b(t.checked)||t.checked===!0,children:o.jsxRuntimeExports.jsx(P.Primitive.span,{"data-state":A(t.checked),"data-disabled":t.disabled?"":void 0,...c,ref:r,style:{pointerEvents:"none",...e.style}})})});T.displayName=M;var $="CheckboxBubbleInput",D=d.forwardRef(({__scopeCheckbox:e,...r},n)=>{const{control:a,hasConsumerStoppedPropagationRef:c,checked:t,defaultChecked:p,required:x,disabled:u,name:f,value:h,form:l,bubbleInput:m,setBubbleInput:v}=I($,e),k=w.useComposedRefs(n,v),C=G.usePrevious(t),R=K.useSize(a);d.useEffect(()=>{const i=m;if(!i)return;const j=window.HTMLInputElement.prototype,q=Object.getOwnPropertyDescriptor(j,"checked").set,z=!c.current;if(C!==t&&q){const F=new Event("click",{bubbles:z});i.indeterminate=b(t),q.call(i,b(t)?!1:t),i.dispatchEvent(F)}},[m,C,t,c]);const s=d.useRef(b(t)?!1:t);return o.jsxRuntimeExports.jsx(P.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:p??s.current,required:x,disabled:u,name:f,value:h,form:l,...r,tabIndex:-1,ref:k,style:{...r.style,...R,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});D.displayName=$;function W(e){return typeof e=="function"}function b(e){return e==="indeterminate"}function A(e){return b(e)?"indeterminate":e?"checked":"unchecked"}function Y({className:e,...r}){return o.jsxRuntimeExports.jsx(B,{"data-slot":"checkbox",className:y.cn(`
2
- adm:peer adm:size-5 adm:shrink-0 adm:rounded-[6px] adm:border
3
- adm:border-input adm:shadow-xs adm:transition-shadow adm:outline-none
4
- adm:focus-visible:border-ring adm:focus-visible:ring-[3px]
5
- adm:focus-visible:ring-ring/50
6
- adm:disabled:cursor-not-allowed adm:disabled:opacity-50
7
- adm:aria-invalid:border-destructive
8
- adm:aria-invalid:ring-destructive/20
9
- adm:data-[state=checked]:border-primary
10
- adm:data-[state=checked]:bg-primary
11
- adm:data-[state=checked]:text-primary-foreground
12
- adm:dark:bg-input/30 adm:dark:aria-invalid:ring-destructive/40
13
- adm:dark:data-[state=checked]:bg-primary
14
- `,e),...r,children:o.jsxRuntimeExports.jsxs(T,{"data-slot":"checkbox-indicator",className:`
15
- adm:group adm:grid adm:place-content-center adm:text-current
16
- adm:transition-none
17
- adm:*:data-[slot=icon]:text-current
18
- `,children:[o.jsxRuntimeExports.jsx(N.Icon,{symbol:"check",className:y.cn("adm:text-base adm:text-white",`
19
- adm:group-data-[state=indeterminate]:hidden
20
- `)}),o.jsxRuntimeExports.jsx(N.Icon,{symbol:"remove",className:y.cn("adm:text-base adm:text-primary",`
21
- adm:group-data-[state=checked]:hidden
22
- `)})]})})}exports.Checkbox=Y;
@@ -1,35 +0,0 @@
1
- import { j as r } from "./jsx-runtime-BzflLqGi.js";
2
- import { c } from "./index-CRiPKpXj.js";
3
- function d({
4
- symbol: t,
5
- fill: o = 0,
6
- weight: s = 300,
7
- grade: n = 0,
8
- opticalSize: a = 24,
9
- className: i,
10
- style: e,
11
- ...l
12
- }) {
13
- const m = {
14
- fontVariationSettings: `
15
- 'FILL' ${o},
16
- 'wght' ${s},
17
- 'GRAD' ${n},
18
- 'opsz' ${a}
19
- `,
20
- ...e
21
- };
22
- return /* @__PURE__ */ r.jsx(
23
- "span",
24
- {
25
- "data-slot": "icon",
26
- className: c("material-symbols-outlined adm:inline-block adm:text-2xl", i),
27
- style: m,
28
- ...l,
29
- children: t
30
- }
31
- );
32
- }
33
- export {
34
- d as I
35
- };
@@ -1,5 +0,0 @@
1
- "use strict";const V=require("react"),g=require("./index-BWaO7kQK.cjs"),D=require("./index-_XxjJPRD.cjs"),O=require("./index-cwZN7ZY3.cjs"),j=require("./index-WIv2ndLu.cjs"),B=require("./index-BeWgla7c.cjs"),E=require("./index-DMs8RL3E.cjs"),Z=require("./index-Dbj9vHNq.cjs"),y=require("./index-Bd0gQB0k.cjs"),m=require("./index-CocSS1YK.cjs"),a=require("./jsx-runtime-BB_1_6y_.cjs");function z(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const i=z(V);function K(e){const t=U(e),o=i.forwardRef((r,n)=>{const{children:s,...c}=r,l=i.Children.toArray(s),u=l.find(J);if(u){const p=u.props.children,x=l.map(R=>R===u?i.Children.count(p)>1?i.Children.only(null):i.isValidElement(p)?p.props.children:null:R);return a.jsxRuntimeExports.jsx(t,{...c,ref:n,children:i.isValidElement(p)?i.cloneElement(p,void 0,x):null})}return a.jsxRuntimeExports.jsx(t,{...c,ref:n,children:s})});return o.displayName=`${e}.Slot`,o}function U(e){const t=i.forwardRef((o,r)=>{const{children:n,...s}=o;if(i.isValidElement(n)){const c=X(n),l=Q(s,n.props);return n.type!==i.Fragment&&(l.ref=r?D.composeRefs(r,c):c),i.cloneElement(n,l)}return i.Children.count(n)>1?i.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Y=Symbol("radix.slottable");function J(e){return i.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Y}function Q(e,t){const o={...t};for(const r in t){const n=e[r],s=t[r];/^on[A-Z]/.test(r)?n&&s?o[r]=(...l)=>{const u=s(...l);return n(...l),u}:n&&(o[r]=n):r==="style"?o[r]={...n,...s}:r==="className"&&(o[r]=[n,s].filter(Boolean).join(" "))}return{...e,...o}}function X(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,o=t&&"isReactWarning"in t&&t.isReactWarning;return o?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,o=t&&"isReactWarning"in t&&t.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}var C="Dialog",[I]=O.createContextScope(C),[ee,d]=I(C),N=e=>{const{__scopeDialog:t,children:o,open:r,defaultOpen:n,onOpenChange:s,modal:c=!0}=e,l=i.useRef(null),u=i.useRef(null),[p,x]=g.useControllableState({prop:r,defaultProp:n??!1,onChange:s,caller:C});return a.jsxRuntimeExports.jsx(ee,{scope:t,triggerRef:l,contentRef:u,contentId:j.useId(),titleId:j.useId(),descriptionId:j.useId(),open:p,onOpenChange:x,onOpenToggle:i.useCallback(()=>x(R=>!R),[x]),modal:c,children:o})};N.displayName=C;var b="DialogTrigger",T=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=d(b,o),s=D.useComposedRefs(t,n.triggerRef);return a.jsxRuntimeExports.jsx(m.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":P(n.open),...r,ref:s,onClick:g.composeEventHandlers(e.onClick,n.onOpenToggle)})});T.displayName=b;var _="DialogPortal",[te,A]=I(_,{forceMount:void 0}),S=e=>{const{__scopeDialog:t,forceMount:o,children:r,container:n}=e,s=d(_,t);return a.jsxRuntimeExports.jsx(te,{scope:t,forceMount:o,children:i.Children.map(r,c=>a.jsxRuntimeExports.jsx(y.Presence,{present:o||s.open,children:a.jsxRuntimeExports.jsx(Z.Portal,{asChild:!0,container:n,children:c})}))})};S.displayName=_;var v="DialogOverlay",M=i.forwardRef((e,t)=>{const o=A(v,e.__scopeDialog),{forceMount:r=o.forceMount,...n}=e,s=d(v,e.__scopeDialog);return s.modal?a.jsxRuntimeExports.jsx(y.Presence,{present:r||s.open,children:a.jsxRuntimeExports.jsx(ne,{...n,ref:t})}):null});M.displayName=v;var oe=K("DialogOverlay.RemoveScroll"),ne=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=d(v,o);return a.jsxRuntimeExports.jsx(E.ReactRemoveScroll,{as:oe,allowPinchZoom:!0,shards:[n.contentRef],children:a.jsxRuntimeExports.jsx(m.Primitive.div,{"data-state":P(n.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),f="DialogContent",w=i.forwardRef((e,t)=>{const o=A(f,e.__scopeDialog),{forceMount:r=o.forceMount,...n}=e,s=d(f,e.__scopeDialog);return a.jsxRuntimeExports.jsx(y.Presence,{present:r||s.open,children:s.modal?a.jsxRuntimeExports.jsx(re,{...n,ref:t}):a.jsxRuntimeExports.jsx(se,{...n,ref:t})})});w.displayName=f;var re=i.forwardRef((e,t)=>{const o=d(f,e.__scopeDialog),r=i.useRef(null),n=D.useComposedRefs(t,o.contentRef,r);return i.useEffect(()=>{const s=r.current;if(s)return E.hideOthers(s)},[]),a.jsxRuntimeExports.jsx(F,{...e,ref:n,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:g.composeEventHandlers(e.onCloseAutoFocus,s=>{s.preventDefault(),o.triggerRef.current?.focus()}),onPointerDownOutside:g.composeEventHandlers(e.onPointerDownOutside,s=>{const c=s.detail.originalEvent,l=c.button===0&&c.ctrlKey===!0;(c.button===2||l)&&s.preventDefault()}),onFocusOutside:g.composeEventHandlers(e.onFocusOutside,s=>s.preventDefault())})}),se=i.forwardRef((e,t)=>{const o=d(f,e.__scopeDialog),r=i.useRef(!1),n=i.useRef(!1);return a.jsxRuntimeExports.jsx(F,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||o.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,n.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(n.current=!0));const c=s.target;o.triggerRef.current?.contains(c)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&n.current&&s.preventDefault()}})}),F=i.forwardRef((e,t)=>{const{__scopeDialog:o,trapFocus:r,onOpenAutoFocus:n,onCloseAutoFocus:s,...c}=e,l=d(f,o),u=i.useRef(null),p=D.useComposedRefs(t,u);return E.useFocusGuards(),a.jsxRuntimeExports.jsxs(a.jsxRuntimeExports.Fragment,{children:[a.jsxRuntimeExports.jsx(E.FocusScope,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:n,onUnmountAutoFocus:s,children:a.jsxRuntimeExports.jsx(B.DismissableLayer,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":P(l.open),...c,ref:p,onDismiss:()=>l.onOpenChange(!1)})}),a.jsxRuntimeExports.jsxs(a.jsxRuntimeExports.Fragment,{children:[a.jsxRuntimeExports.jsx(ie,{titleId:l.titleId}),a.jsxRuntimeExports.jsx(le,{contentRef:u,descriptionId:l.descriptionId})]})]})}),h="DialogTitle",W=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=d(h,o);return a.jsxRuntimeExports.jsx(m.Primitive.h2,{id:n.titleId,...r,ref:t})});W.displayName=h;var $="DialogDescription",q=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=d($,o);return a.jsxRuntimeExports.jsx(m.Primitive.p,{id:n.descriptionId,...r,ref:t})});q.displayName=$;var L="DialogClose",k=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=d(L,o);return a.jsxRuntimeExports.jsx(m.Primitive.button,{type:"button",...r,ref:t,onClick:g.composeEventHandlers(e.onClick,()=>n.onOpenChange(!1))})});k.displayName=L;function P(e){return e?"open":"closed"}var G="DialogTitleWarning",[Re,H]=O.createContext2(G,{contentName:f,titleName:h,docsSlug:"dialog"}),ie=({titleId:e})=>{const t=H(G),o=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
2
-
3
- If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
4
-
5
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return i.useEffect(()=>{e&&(document.getElementById(e)||console.error(o))},[o,e]),null},ae="DialogDescriptionWarning",le=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${H(ae).contentName}}.`;return i.useEffect(()=>{const n=e.current?.getAttribute("aria-describedby");t&&n&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},ce=N,ue=T,de=S,pe=M,fe=w,ge=W,xe=q,me=k;exports.Close=me;exports.Content=fe;exports.Description=xe;exports.Overlay=pe;exports.Portal=de;exports.Root=ce;exports.Title=ge;exports.Trigger=ue;
@@ -1,15 +0,0 @@
1
- import * as o from "react";
2
- import n from "react-dom";
3
- import { P as f } from "./index-BMWt1NBG.js";
4
- import { u } from "./index-CCKe-Mpx.js";
5
- import { j as c } from "./jsx-runtime-BzflLqGi.js";
6
- var l = "Portal", p = o.forwardRef((r, a) => {
7
- const { container: e, ...s } = r, [i, m] = o.useState(!1);
8
- u(() => m(!0), []);
9
- const t = e || i && globalThis?.document?.body;
10
- return t ? n.createPortal(/* @__PURE__ */ c.jsx(f.div, { ...s, ref: a }), t) : null;
11
- });
12
- p.displayName = l;
13
- export {
14
- p as P
15
- };