@adamosuiteservices/ui 2.9.15 → 2.10.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 (125) hide show
  1. package/dist/accordion-rounded.cjs +12 -17
  2. package/dist/accordion-rounded.js +37 -46
  3. package/dist/accordion.cjs +8 -7
  4. package/dist/accordion.js +19 -17
  5. package/dist/alert.cjs +7 -3
  6. package/dist/alert.js +14 -10
  7. package/dist/avatar.cjs +2 -0
  8. package/dist/avatar.js +42 -40
  9. package/dist/badge.cjs +9 -2
  10. package/dist/badge.js +19 -12
  11. package/dist/breadcrumb.cjs +7 -3
  12. package/dist/breadcrumb.js +30 -24
  13. package/dist/{button-B7ZP4LZN.js → button-CUNnLccZ.js} +11 -6
  14. package/dist/{button-D-qFRXiM.cjs → button-CxGyLoeN.cjs} +7 -2
  15. package/dist/button-group.cjs +2 -0
  16. package/dist/button-group.js +15 -13
  17. package/dist/button.cjs +1 -1
  18. package/dist/button.js +1 -1
  19. package/dist/calendar.cjs +8 -6
  20. package/dist/calendar.js +507 -492
  21. package/dist/card.cjs +9 -4
  22. package/dist/card.js +8 -3
  23. package/dist/checkbox-CFGlO5wt.cjs +22 -0
  24. package/dist/{checkbox-DhBcmKze.js → checkbox-DsN1IQGA.js} +70 -68
  25. package/dist/checkbox.cjs +1 -1
  26. package/dist/checkbox.js +1 -1
  27. package/dist/combobox.cjs +10 -13
  28. package/dist/combobox.js +90 -99
  29. package/dist/components/ui/icon/icon.d.ts +1 -3
  30. package/dist/components/ui/icon/icon.stories.d.ts +0 -5
  31. package/dist/components/ui/spinner/spinner.d.ts +1 -1
  32. package/dist/components/ui/tooltip/tooltip.stories.d.ts +0 -1
  33. package/dist/context-menu.cjs +10 -8
  34. package/dist/context-menu.js +126 -120
  35. package/dist/custom-layered-styles.css +1 -1
  36. package/dist/dialog.cjs +10 -7
  37. package/dist/dialog.js +43 -40
  38. package/dist/dropdown-menu.cjs +25 -10
  39. package/dist/dropdown-menu.js +179 -166
  40. package/dist/icon-D0vVkV-A.js +35 -0
  41. package/dist/icon-SWksUOv5.cjs +6 -0
  42. package/dist/icon.cjs +1 -1
  43. package/dist/icon.js +1 -1
  44. package/dist/icons.css +1 -1
  45. package/dist/input-group.cjs +14 -6
  46. package/dist/input-group.js +25 -17
  47. package/dist/kbd.cjs +3 -3
  48. package/dist/kbd.js +1 -0
  49. package/dist/pagination.cjs +4 -4
  50. package/dist/pagination.js +41 -43
  51. package/dist/radio-group.cjs +5 -5
  52. package/dist/radio-group.js +44 -42
  53. package/dist/radius.css +1 -1
  54. package/dist/select.cjs +12 -13
  55. package/dist/select.js +182 -187
  56. package/dist/{sheet-Q3dBOQG-.js → sheet-DM7b3ckK.js} +18 -18
  57. package/dist/{sheet-CGahUP7F.cjs → sheet-DfRu4ByS.cjs} +4 -4
  58. package/dist/sheet.cjs +1 -1
  59. package/dist/sheet.js +1 -1
  60. package/dist/sidebar.cjs +6 -11
  61. package/dist/sidebar.js +38 -49
  62. package/dist/spinner.cjs +1 -6
  63. package/dist/spinner.js +10 -16
  64. package/dist/styles.css +1 -1
  65. package/dist/tabs-underline.cjs +6 -3
  66. package/dist/tabs-underline.js +8 -5
  67. package/dist/tabs.cjs +6 -3
  68. package/dist/tabs.js +8 -5
  69. package/dist/toggle.cjs +5 -2
  70. package/dist/toggle.js +14 -11
  71. package/docs/components/layout/sidebar.md +18 -23
  72. package/docs/components/ui/accordion-rounded.md +584 -583
  73. package/docs/components/ui/accordion.md +3 -1
  74. package/docs/components/ui/alert.md +650 -671
  75. package/docs/components/ui/avatar.md +587 -588
  76. package/docs/components/ui/badge.md +1019 -1024
  77. package/docs/components/ui/breadcrumb.md +14 -14
  78. package/docs/components/ui/button-group.md +69 -87
  79. package/docs/components/ui/button.md +17 -17
  80. package/docs/components/ui/calendar.md +6 -6
  81. package/docs/components/ui/card.md +21 -27
  82. package/docs/components/ui/collapsible.md +16 -13
  83. package/docs/components/ui/combobox.md +14 -14
  84. package/docs/components/ui/command.md +6 -6
  85. package/docs/components/ui/context-menu.md +23 -23
  86. package/docs/components/ui/dialog.md +16 -16
  87. package/docs/components/ui/dropdown-menu.md +44 -66
  88. package/docs/components/ui/hover-card.md +5 -5
  89. package/docs/components/ui/icon.md +87 -88
  90. package/docs/components/ui/input-group.md +523 -509
  91. package/docs/components/ui/kbd.md +8 -8
  92. package/docs/components/ui/label.md +5 -5
  93. package/docs/components/ui/pagination.md +5 -5
  94. package/docs/components/ui/popover.md +14 -14
  95. package/docs/components/ui/progress.md +2 -2
  96. package/docs/components/ui/radio-group.md +2 -2
  97. package/docs/components/ui/select.md +6 -6
  98. package/docs/components/ui/spinner.md +15 -15
  99. package/docs/components/ui/switch.md +15 -9
  100. package/docs/components/ui/tabs-underline.md +4 -4
  101. package/docs/components/ui/tabs.md +5 -5
  102. package/docs/components/ui/toggle.md +17 -23
  103. package/docs/components/ui/tooltip.md +7 -10
  104. package/package.json +1 -1
  105. package/dist/check-CLxNVljQ.cjs +0 -6
  106. package/dist/check-Ci0GjV-B.js +0 -11
  107. package/dist/checkbox-CdnZ8VFJ.cjs +0 -21
  108. package/dist/chevron-down-BqEHzml5.cjs +0 -6
  109. package/dist/chevron-down-CpVS2Z7w.js +0 -11
  110. package/dist/chevron-left-B8QsBNvc.cjs +0 -6
  111. package/dist/chevron-left-Eal-WYLp.js +0 -11
  112. package/dist/chevron-right-BpzggHsr.cjs +0 -6
  113. package/dist/chevron-right-Cnc2tB4-.js +0 -11
  114. package/dist/circle-CX7JIirj.cjs +0 -6
  115. package/dist/circle-DYv-7Qb9.js +0 -11
  116. package/dist/createLucideIcon-B_8CJpcQ.js +0 -94
  117. package/dist/createLucideIcon-CAtnV-yz.cjs +0 -21
  118. package/dist/ellipsis-CryjZKZn.js +0 -15
  119. package/dist/ellipsis-Ct9VTDOG.cjs +0 -6
  120. package/dist/icon-DTx6Y_mx.cjs +0 -6
  121. package/dist/icon-DmU_SEHC.js +0 -36
  122. package/dist/minus-C0pHPx21.cjs +0 -6
  123. package/dist/minus-DE-onYs2.js +0 -11
  124. package/dist/x-CBKgg4YL.cjs +0 -6
  125. package/dist/x-Dl66o_vF.js +0 -14
@@ -56,22 +56,22 @@ import {
56
56
  ### Con Iconos
57
57
 
58
58
  ```tsx
59
- import { HomeIcon, FolderIcon, FileIcon } from "lucide-react";
59
+ import { Icon } from "@adamosuiteservices/ui/icon";
60
60
 
61
61
  <Breadcrumb>
62
62
  <BreadcrumbList>
63
63
  <BreadcrumbItem>
64
- <HomeIcon className="h-4 w-4" />
64
+ <Icon symbol="home" className="text-lg" />
65
65
  <BreadcrumbLink href="/">Home</BreadcrumbLink>
66
66
  </BreadcrumbItem>
67
67
  <BreadcrumbSeparator />
68
68
  <BreadcrumbItem>
69
- <FolderIcon className="h-4 w-4" />
69
+ <Icon symbol="folder" className="text-lg" />
70
70
  <BreadcrumbLink href="/projects">Projects</BreadcrumbLink>
71
71
  </BreadcrumbItem>
72
72
  <BreadcrumbSeparator />
73
73
  <BreadcrumbItem>
74
- <FileIcon className="h-4 w-4" />
74
+ <Icon symbol="description" className="text-lg" />
75
75
  <BreadcrumbPage>Document.pdf</BreadcrumbPage>
76
76
  </BreadcrumbItem>
77
77
  </BreadcrumbList>
@@ -235,11 +235,11 @@ Indicador de elementos colapsados (tres puntos).
235
235
 
236
236
  - Layout: `flex`, `items-center`, `justify-center`
237
237
  - Size: `size-9` (36x36px)
238
- - Icon: `size-4` (16px MoreHorizontal)
238
+ - Icon: Material Symbols `more_horiz` icon
239
239
 
240
240
  **Incluye**:
241
241
 
242
- - Icono `MoreHorizontal` de lucide-react
242
+ - Icono Material Symbols `more_horiz`
243
243
  - `<span className="sr-only">More</span>` para accesibilidad
244
244
 
245
245
  **Props**: Hereda todas las props de `React.ComponentProps<"span">`.
@@ -358,11 +358,11 @@ Colapsa elementos en móvil para ahorrar espacio:
358
358
  Usa cualquier icono o elemento como separador:
359
359
 
360
360
  ```tsx
361
- import { SlashIcon, ChevronRight, ArrowRight } from "lucide-react";
361
+ import { Icon } from "@adamosuiteservices/ui/icon";
362
362
 
363
363
  // Slash
364
364
  <BreadcrumbSeparator>
365
- <SlashIcon />
365
+ <Icon symbol="slash_forward" />
366
366
  </BreadcrumbSeparator>
367
367
 
368
368
  // Texto
@@ -372,7 +372,7 @@ import { SlashIcon, ChevronRight, ArrowRight } from "lucide-react";
372
372
 
373
373
  // Arrow
374
374
  <BreadcrumbSeparator>
375
- <ArrowRight />
375
+ <Icon symbol="arrow_forward" />
376
376
  </BreadcrumbSeparator>
377
377
  ```
378
378
 
@@ -435,27 +435,27 @@ Navegación de documentos anidados:
435
435
  Sistema de archivos o carpetas:
436
436
 
437
437
  ```tsx
438
- import { FolderIcon, FileIcon } from "lucide-react";
438
+ import { Icon } from "@adamosuiteservices/ui/icon";
439
439
 
440
440
  <Breadcrumb>
441
441
  <BreadcrumbList>
442
442
  <BreadcrumbItem>
443
443
  <BreadcrumbLink href="/files">
444
- <FolderIcon className="h-4 w-4" />
444
+ <Icon symbol="folder" className="text-lg" />
445
445
  My Files
446
446
  </BreadcrumbLink>
447
447
  </BreadcrumbItem>
448
448
  <BreadcrumbSeparator />
449
449
  <BreadcrumbItem>
450
450
  <BreadcrumbLink href="/files/documents">
451
- <FolderIcon className="h-4 w-4" />
451
+ <Icon symbol="folder" className="text-lg" />
452
452
  Documents
453
453
  </BreadcrumbLink>
454
454
  </BreadcrumbItem>
455
455
  <BreadcrumbSeparator />
456
456
  <BreadcrumbItem>
457
457
  <BreadcrumbPage>
458
- <FileIcon className="h-4 w-4" />
458
+ <Icon symbol="description" className="text-lg" />
459
459
  Report.pdf
460
460
  </BreadcrumbPage>
461
461
  </BreadcrumbItem>
@@ -604,7 +604,7 @@ type BreadcrumbEllipsisProps = ComponentProps<"span">;
604
604
  ## Dependencias
605
605
 
606
606
  - **@radix-ui/react-slot**: Para el patrón `asChild`
607
- - **lucide-react**: Iconos por defecto (ChevronRight, MoreHorizontal)
607
+ - **Material Symbols**: Iconos por defecto (chevron_right, more_horiz)
608
608
  - **@src/lib/utils**: Utilidad `cn` para combinar clases
609
609
 
610
610
  ## Recursos
@@ -63,14 +63,16 @@ import { Button } from "@adamosuiteservices/ui/button";
63
63
  ### Orientación Vertical
64
64
 
65
65
  ```tsx
66
+ import { Icon } from "@adamosuiteservices/ui/icon";
67
+
66
68
  <ButtonGroup orientation="vertical" className="h-fit">
67
69
  <Button variant="outline" size="icon">
68
- <PlusIcon />
70
+ <Icon symbol="add" />
69
71
  </Button>
70
72
  <Button variant="outline" size="icon">
71
- <MinusIcon />
73
+ <Icon symbol="remove" />
72
74
  </Button>
73
- </ButtonGroup>
75
+ </ButtonGroup>;
74
76
  ```
75
77
 
76
78
  **Nota**: Agrega `className="h-fit"` para evitar que el grupo se estire verticalmente.
@@ -195,7 +197,7 @@ Todos los tamaños de Button funcionan en ButtonGroup:
195
197
  Buttons
196
198
  </Button>
197
199
  <Button variant="outline" size="icon-sm">
198
- <PlusIcon />
200
+ <Icon symbol="add" />
199
201
  </Button>
200
202
  </ButtonGroup>;
201
203
 
@@ -206,7 +208,7 @@ Todos los tamaños de Button funcionan en ButtonGroup:
206
208
  <Button variant="outline">Default</Button>
207
209
  <Button variant="outline">Buttons</Button>
208
210
  <Button variant="outline" size="icon">
209
- <PlusIcon />
211
+ <Icon symbol="add" />
210
212
  </Button>
211
213
  </ButtonGroup>;
212
214
 
@@ -221,7 +223,7 @@ Todos los tamaños de Button funcionan en ButtonGroup:
221
223
  Buttons
222
224
  </Button>
223
225
  <Button variant="outline" size="icon-lg">
224
- <PlusIcon />
226
+ <Icon symbol="add" />
225
227
  </Button>
226
228
  </ButtonGroup>;
227
229
  ```
@@ -249,10 +251,10 @@ Para crear toolbars complejas con espaciado entre grupos lógicos.
249
251
  </ButtonGroup>
250
252
  <ButtonGroup>
251
253
  <Button variant="outline" size="icon-sm">
252
- <ArrowLeftIcon />
254
+ <Icon symbol="arrow_back" />
253
255
  </Button>
254
256
  <Button variant="outline" size="icon-sm">
255
- <ArrowRightIcon />
257
+ <Icon symbol="arrow_forward" />
256
258
  </Button>
257
259
  </ButtonGroup>
258
260
  </ButtonGroup>
@@ -269,7 +271,7 @@ Botón con acción principal y menú dropdown.
269
271
  <Button variant="secondary">Deploy</Button>
270
272
  <ButtonGroupSeparator />
271
273
  <Button size="icon" variant="secondary">
272
- <ChevronDownIcon />
274
+ <Icon symbol="keyboard_arrow_down" />
273
275
  </Button>
274
276
  </ButtonGroup>
275
277
  ```
@@ -280,12 +282,12 @@ Botón con acción principal y menú dropdown.
280
282
 
281
283
  ```tsx
282
284
  import { Input } from "@adamosuiteservices/ui/input";
283
- import { SearchIcon } from "lucide-react";
285
+ import { Icon } from "@adamosuiteservices/ui/icon";
284
286
 
285
287
  <ButtonGroup>
286
288
  <Input placeholder="Search..." />
287
289
  <Button variant="outline" aria-label="Search">
288
- <SearchIcon />
290
+ <Icon symbol="search" />
289
291
  </Button>
290
292
  </ButtonGroup>;
291
293
  ```
@@ -302,7 +304,7 @@ import {
302
304
  SelectContent,
303
305
  SelectItem,
304
306
  } from "@adamosuiteservices/ui/select";
305
- import { ArrowRightIcon } from "lucide-react";
307
+ import { Icon } from "@adamosuiteservices/ui/icon";
306
308
 
307
309
  function CurrencyInput() {
308
310
  const [currency, setCurrency] = useState("$");
@@ -322,7 +324,7 @@ function CurrencyInput() {
322
324
  </ButtonGroup>
323
325
  <ButtonGroup>
324
326
  <Button aria-label="Send" size="icon" variant="outline">
325
- <ArrowRightIcon />
327
+ <Icon symbol="arrow_forward" />
326
328
  </Button>
327
329
  </ButtonGroup>
328
330
  </ButtonGroup>
@@ -335,14 +337,7 @@ function CurrencyInput() {
335
337
  Player de audio/video con controles agrupados.
336
338
 
337
339
  ```tsx
338
- import {
339
- PlayIcon,
340
- PauseIcon,
341
- SkipBackIcon,
342
- SkipForwardIcon,
343
- SquareIcon,
344
- } from "lucide-react";
345
- import { VolumeXIcon, Volume2Icon } from "lucide-react";
340
+ import { Icon } from "@adamosuiteservices/ui/icon";
346
341
 
347
342
  function MediaControls() {
348
343
  const [isPlaying, setIsPlaying] = useState(false);
@@ -352,31 +347,31 @@ function MediaControls() {
352
347
  {/* Controles de reproducción */}
353
348
  <ButtonGroup>
354
349
  <Button variant="outline" size="icon">
355
- <SkipBackIcon />
350
+ <Icon symbol="skip_previous" />
356
351
  </Button>
357
352
  <Button
358
353
  variant="outline"
359
354
  size="icon"
360
355
  onClick={() => setIsPlaying(!isPlaying)}
361
356
  >
362
- {isPlaying ? <PauseIcon /> : <PlayIcon />}
357
+ {isPlaying ? <Icon symbol="pause" /> : <Icon symbol="play_arrow" />}
363
358
  </Button>
364
359
  <Button variant="outline" size="icon">
365
- <SquareIcon />
360
+ <Icon symbol="stop" />
366
361
  </Button>
367
362
  <Button variant="outline" size="icon">
368
- <SkipForwardIcon />
363
+ <Icon symbol="skip_next" />
369
364
  </Button>
370
365
  </ButtonGroup>
371
366
 
372
367
  {/* Controles de volumen */}
373
368
  <ButtonGroup>
374
369
  <Button variant="outline" size="icon">
375
- <VolumeXIcon />
370
+ <Icon symbol="volume_off" />
376
371
  </Button>
377
372
  <ButtonGroupText className="px-4">Volume</ButtonGroupText>
378
373
  <Button variant="outline" size="icon">
379
- <Volume2Icon />
374
+ <Icon symbol="volume_up" />
380
375
  </Button>
381
376
  </ButtonGroup>
382
377
  </div>
@@ -389,8 +384,7 @@ function MediaControls() {
389
384
  Controles de formateo con estados toggle.
390
385
 
391
386
  ```tsx
392
- import { BoldIcon, ItalicIcon, UnderlineIcon } from "lucide-react";
393
- import { AlignLeftIcon, AlignCenterIcon, AlignRightIcon } from "lucide-react";
387
+ import { Icon } from "@adamosuiteservices/ui/icon";
394
388
 
395
389
  function TextEditor() {
396
390
  const [formatting, setFormatting] = useState({
@@ -411,7 +405,7 @@ function TextEditor() {
411
405
  setFormatting((prev) => ({ ...prev, bold: !prev.bold }))
412
406
  }
413
407
  >
414
- <BoldIcon />
408
+ <Icon symbol="format_bold" />
415
409
  </Button>
416
410
  <Button
417
411
  variant={formatting.italic ? "default" : "outline"}
@@ -420,7 +414,7 @@ function TextEditor() {
420
414
  setFormatting((prev) => ({ ...prev, italic: !prev.italic }))
421
415
  }
422
416
  >
423
- <ItalicIcon />
417
+ <Icon symbol="format_italic" />
424
418
  </Button>
425
419
  <Button
426
420
  variant={formatting.underline ? "default" : "outline"}
@@ -429,7 +423,7 @@ function TextEditor() {
429
423
  setFormatting((prev) => ({ ...prev, underline: !prev.underline }))
430
424
  }
431
425
  >
432
- <UnderlineIcon />
426
+ <Icon symbol="format_underlined" />
433
427
  </Button>
434
428
  </ButtonGroup>
435
429
 
@@ -440,21 +434,21 @@ function TextEditor() {
440
434
  size="icon"
441
435
  onClick={() => setAlignment("left")}
442
436
  >
443
- <AlignLeftIcon />
437
+ <Icon symbol="format_align_left" />
444
438
  </Button>
445
439
  <Button
446
440
  variant={alignment === "center" ? "default" : "outline"}
447
441
  size="icon"
448
442
  onClick={() => setAlignment("center")}
449
443
  >
450
- <AlignCenterIcon />
444
+ <Icon symbol="format_align_center" />
451
445
  </Button>
452
446
  <Button
453
447
  variant={alignment === "right" ? "default" : "outline"}
454
448
  size="icon"
455
449
  onClick={() => setAlignment("right")}
456
450
  >
457
- <AlignRightIcon />
451
+ <Icon symbol="format_align_right" />
458
452
  </Button>
459
453
  </ButtonGroup>
460
454
  </div>
@@ -467,28 +461,21 @@ function TextEditor() {
467
461
  Grupos para operaciones de archivo.
468
462
 
469
463
  ```tsx
470
- import { SaveIcon, DownloadIcon, UploadIcon } from "lucide-react";
471
- import {
472
- UndoIcon,
473
- RedoIcon,
474
- CopyIcon,
475
- ShareIcon,
476
- TrashIcon,
477
- } from "lucide-react";
464
+ import { Icon } from "@adamosuiteservices/ui/icon";
478
465
 
479
466
  <div className="space-y-4">
480
467
  {/* Acciones principales */}
481
468
  <ButtonGroup>
482
469
  <Button variant="outline">
483
- <SaveIcon />
470
+ <Icon symbol="save" />
484
471
  Save
485
472
  </Button>
486
473
  <Button variant="outline">
487
- <DownloadIcon />
474
+ <Icon symbol="download" />
488
475
  Download
489
476
  </Button>
490
477
  <Button variant="outline">
491
- <UploadIcon />
478
+ <Icon symbol="upload" />
492
479
  Upload
493
480
  </Button>
494
481
  </ButtonGroup>
@@ -496,21 +483,21 @@ import {
496
483
  {/* Acciones rápidas */}
497
484
  <ButtonGroup>
498
485
  <Button variant="outline" size="icon">
499
- <UndoIcon />
486
+ <Icon symbol="undo" />
500
487
  </Button>
501
488
  <Button variant="outline" size="icon">
502
- <RedoIcon />
489
+ <Icon symbol="redo" />
503
490
  </Button>
504
491
  <ButtonGroupSeparator />
505
492
  <Button variant="outline" size="icon">
506
- <CopyIcon />
493
+ <Icon symbol="content_copy" />
507
494
  </Button>
508
495
  <Button variant="outline" size="icon">
509
- <ShareIcon />
496
+ <Icon symbol="share" />
510
497
  </Button>
511
498
  <ButtonGroupSeparator />
512
499
  <Button variant="outline" size="icon">
513
- <TrashIcon />
500
+ <Icon symbol="delete" />
514
501
  </Button>
515
502
  </ButtonGroup>
516
503
  </div>;
@@ -521,17 +508,12 @@ import {
521
508
  Layout con múltiples grupos anidados.
522
509
 
523
510
  ```tsx
524
- import {
525
- ArrowLeftIcon,
526
- MoreHorizontalIcon,
527
- SettingsIcon,
528
- RefreshCwIcon,
529
- } from "lucide-react";
511
+ import { Icon } from "@adamosuiteservices/ui/icon";
530
512
 
531
513
  <ButtonGroup>
532
514
  <ButtonGroup>
533
515
  <Button variant="outline" size="icon">
534
- <ArrowLeftIcon />
516
+ <Icon symbol="arrow_back" />
535
517
  </Button>
536
518
  </ButtonGroup>
537
519
  <ButtonGroup>
@@ -541,15 +523,15 @@ import {
541
523
  <ButtonGroup>
542
524
  <Button variant="outline">Snooze</Button>
543
525
  <Button variant="outline" size="icon">
544
- <MoreHorizontalIcon />
526
+ <Icon symbol="more_horiz" />
545
527
  </Button>
546
528
  </ButtonGroup>
547
529
  <ButtonGroup>
548
530
  <Button variant="outline" size="icon">
549
- <SettingsIcon />
531
+ <Icon symbol="settings" />
550
532
  </Button>
551
533
  <Button variant="outline" size="icon">
552
- <RefreshCwIcon />
534
+ <Icon symbol="refresh" />
553
535
  </Button>
554
536
  </ButtonGroup>
555
537
  </ButtonGroup>;
@@ -560,7 +542,7 @@ import {
560
542
  Etiquetas para claridad contextual.
561
543
 
562
544
  ```tsx
563
- import { EditIcon, CopyIcon } from "lucide-react";
545
+ import { Icon } from "@adamosuiteservices/ui/icon";
564
546
 
565
547
  <div className="space-y-4">
566
548
  {/* Texto antes */}
@@ -573,12 +555,12 @@ import { EditIcon, CopyIcon } from "lucide-react";
573
555
  {/* Texto entre botones */}
574
556
  <ButtonGroup>
575
557
  <Button variant="outline">
576
- <EditIcon />
558
+ <Icon symbol="edit" />
577
559
  Edit
578
560
  </Button>
579
561
  <ButtonGroupText>or</ButtonGroupText>
580
562
  <Button variant="outline">
581
- <CopyIcon />
563
+ <Icon symbol="content_copy" />
582
564
  Copy
583
565
  </Button>
584
566
  </ButtonGroup>
@@ -590,17 +572,17 @@ import { EditIcon, CopyIcon } from "lucide-react";
590
572
  ### Paginación
591
573
 
592
574
  ```tsx
593
- import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
575
+ import { Icon } from "@adamosuiteservices/ui/icon";
594
576
 
595
577
  <ButtonGroup>
596
578
  <Button variant="outline" size="icon" disabled={currentPage === 1}>
597
- <ChevronLeftIcon />
579
+ <Icon symbol="chevron_left" />
598
580
  </Button>
599
581
  <ButtonGroupText>
600
582
  {currentPage} of {totalPages}
601
583
  </ButtonGroupText>
602
584
  <Button variant="outline" size="icon" disabled={currentPage === totalPages}>
603
- <ChevronRightIcon />
585
+ <Icon symbol="chevron_right" />
604
586
  </Button>
605
587
  </ButtonGroup>;
606
588
  ```
@@ -659,7 +641,7 @@ import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
659
641
  ### Vista Toggle (List/Grid)
660
642
 
661
643
  ```tsx
662
- import { LayoutGridIcon, LayoutListIcon } from "lucide-react";
644
+ import { Icon } from "@adamosuiteservices/ui/icon";
663
645
 
664
646
  <ButtonGroup>
665
647
  <Button
@@ -668,7 +650,7 @@ import { LayoutGridIcon, LayoutListIcon } from "lucide-react";
668
650
  onClick={() => setView("grid")}
669
651
  aria-label="Grid view"
670
652
  >
671
- <LayoutGridIcon />
653
+ <Icon symbol="grid_view" />
672
654
  </Button>
673
655
  <Button
674
656
  variant={view === "list" ? "default" : "outline"}
@@ -676,7 +658,7 @@ import { LayoutGridIcon, LayoutListIcon } from "lucide-react";
676
658
  onClick={() => setView("list")}
677
659
  aria-label="List view"
678
660
  >
679
- <LayoutListIcon />
661
+ <Icon symbol="list" />
680
662
  </Button>
681
663
  </ButtonGroup>;
682
664
  ```
@@ -684,15 +666,15 @@ import { LayoutGridIcon, LayoutListIcon } from "lucide-react";
684
666
  ### Zoom Controls
685
667
 
686
668
  ```tsx
687
- import { ZoomInIcon, ZoomOutIcon } from "lucide-react";
669
+ import { Icon } from "@adamosuiteservices/ui/icon";
688
670
 
689
671
  <ButtonGroup>
690
672
  <Button variant="outline" size="icon" onClick={handleZoomOut}>
691
- <ZoomOutIcon />
673
+ <Icon symbol="zoom_out" />
692
674
  </Button>
693
675
  <ButtonGroupText className="px-6 font-mono">{zoom}%</ButtonGroupText>
694
676
  <Button variant="outline" size="icon" onClick={handleZoomIn}>
695
- <ZoomInIcon />
677
+ <Icon symbol="zoom_in" />
696
678
  </Button>
697
679
  </ButtonGroup>;
698
680
  ```
@@ -713,7 +695,7 @@ import { ZoomInIcon, ZoomOutIcon } from "lucide-react";
713
695
  Two
714
696
  </Button>
715
697
  <Button variant="outline" size="icon-sm">
716
- <PlusIcon />
698
+ <Icon symbol="add" />
717
699
  </Button>
718
700
  </ButtonGroup>;
719
701
 
@@ -782,10 +764,10 @@ import { ZoomInIcon, ZoomOutIcon } from "lucide-react";
782
764
  }
783
765
  <ButtonGroup>
784
766
  <Button variant="outline" size="icon" aria-label="Previous page">
785
- <ArrowLeftIcon />
767
+ <Icon symbol="arrow_back" />
786
768
  </Button>
787
769
  <Button variant="outline" size="icon" aria-label="Next page">
788
- <ArrowRightIcon />
770
+ <Icon symbol="arrow_forward" />
789
771
  </Button>
790
772
  </ButtonGroup>;
791
773
 
@@ -794,10 +776,10 @@ import { ZoomInIcon, ZoomOutIcon } from "lucide-react";
794
776
  }
795
777
  <ButtonGroup>
796
778
  <Button variant="outline" size="icon">
797
- <ArrowLeftIcon />
779
+ <Icon symbol="arrow_back" />
798
780
  </Button>
799
781
  <Button variant="outline" size="icon">
800
- <ArrowRightIcon />
782
+ <Icon symbol="arrow_forward" />
801
783
  </Button>
802
784
  </ButtonGroup>;
803
785
  ```
@@ -812,10 +794,10 @@ import { ZoomInIcon, ZoomOutIcon } from "lucide-react";
812
794
  <ButtonGroup>
813
795
  {/* Acciones de navegación */}
814
796
  <Button variant="outline" size="icon">
815
- <ArrowLeftIcon />
797
+ <Icon symbol="arrow_back" />
816
798
  </Button>
817
799
  <Button variant="outline" size="icon">
818
- <ArrowRightIcon />
800
+ <Icon symbol="arrow_forward" />
819
801
  </Button>
820
802
  </ButtonGroup>
821
803
  <ButtonGroup>
@@ -830,11 +812,11 @@ import { ZoomInIcon, ZoomOutIcon } from "lucide-react";
830
812
  }
831
813
  <ButtonGroup>
832
814
  <Button variant="outline" size="icon">
833
- <ArrowLeftIcon />
815
+ <Icon symbol="arrow_back" />
834
816
  </Button>
835
817
  <Button variant="outline">Save</Button>
836
818
  <Button variant="outline" size="icon">
837
- <ArrowRightIcon />
819
+ <Icon symbol="arrow_forward" />
838
820
  </Button>
839
821
  <Button variant="outline">Delete</Button>
840
822
  </ButtonGroup>;
@@ -875,13 +857,13 @@ import { ZoomInIcon, ZoomOutIcon } from "lucide-react";
875
857
  }
876
858
  <ButtonGroup aria-label="Text alignment options">
877
859
  <Button variant="outline" size="icon" aria-label="Align left">
878
- <AlignLeftIcon />
860
+ <Icon symbol="format_align_left" />
879
861
  </Button>
880
862
  <Button variant="outline" size="icon" aria-label="Align center">
881
- <AlignCenterIcon />
863
+ <Icon symbol="format_align_center" />
882
864
  </Button>
883
865
  <Button variant="outline" size="icon" aria-label="Align right">
884
- <AlignRightIcon />
866
+ <Icon symbol="format_align_right" />
885
867
  </Button>
886
868
  </ButtonGroup>;
887
869
  ```
@@ -905,7 +887,7 @@ import { ZoomInIcon, ZoomOutIcon } from "lucide-react";
905
887
  aria-pressed={isBold}
906
888
  onClick={() => setIsBold(!isBold)}
907
889
  >
908
- <BoldIcon />
890
+ <Icon symbol="format_bold" />
909
891
  </Button>
910
892
  </ButtonGroup>;
911
893
  ```
@@ -967,7 +949,7 @@ El focus ring se superpone correctamente gracias a `focus-visible:z-10 focus-vis
967
949
  <ButtonGroup>
968
950
  <Input placeholder="Search..." /> {/* Se expande automáticamente */}
969
951
  <Button variant="outline" size="icon">
970
- <SearchIcon />
952
+ <Icon symbol="search" />
971
953
  </Button>
972
954
  </ButtonGroup>
973
955
  ```