@vaneui/ui 0.3.0-alpha.20250914103012.c204dad → 0.3.1-alpha.20250914210126.5142197

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 (89) hide show
  1. package/dist/components/ui/card.d.ts +6 -0
  2. package/dist/components/ui/card.d.ts.map +1 -1
  3. package/dist/components/ui/checkbox.d.ts +6 -0
  4. package/dist/components/ui/checkbox.d.ts.map +1 -1
  5. package/dist/components/ui/code.d.ts +6 -0
  6. package/dist/components/ui/code.d.ts.map +1 -1
  7. package/dist/components/ui/col.d.ts +6 -0
  8. package/dist/components/ui/col.d.ts.map +1 -1
  9. package/dist/components/ui/container.d.ts +6 -0
  10. package/dist/components/ui/container.d.ts.map +1 -1
  11. package/dist/components/ui/img.d.ts +6 -0
  12. package/dist/components/ui/img.d.ts.map +1 -1
  13. package/dist/components/ui/input.d.ts +6 -0
  14. package/dist/components/ui/input.d.ts.map +1 -1
  15. package/dist/components/ui/props/border.d.ts +18 -2
  16. package/dist/components/ui/props/border.d.ts.map +1 -1
  17. package/dist/components/ui/props/keys.d.ts +7 -5
  18. package/dist/components/ui/props/keys.d.ts.map +1 -1
  19. package/dist/components/ui/row.d.ts +6 -0
  20. package/dist/components/ui/row.d.ts.map +1 -1
  21. package/dist/components/ui/section.d.ts +6 -0
  22. package/dist/components/ui/section.d.ts.map +1 -1
  23. package/dist/components/ui/stack.d.ts +6 -0
  24. package/dist/components/ui/stack.d.ts.map +1 -1
  25. package/dist/components/ui/theme/appearance/appearanceTheme.d.ts +10 -0
  26. package/dist/components/ui/theme/appearance/appearanceTheme.d.ts.map +1 -1
  27. package/dist/components/ui/theme/appearance/genericVariantTheme.d.ts +2 -0
  28. package/dist/components/ui/theme/appearance/genericVariantTheme.d.ts.map +1 -1
  29. package/dist/components/ui/theme/appearance/shadowAppearanceTheme.d.ts +10 -0
  30. package/dist/components/ui/theme/appearance/shadowAppearanceTheme.d.ts.map +1 -1
  31. package/dist/components/ui/theme/common/ComponentTheme.d.ts.map +1 -1
  32. package/dist/components/ui/theme/layout/borderTheme.d.ts +16 -7
  33. package/dist/components/ui/theme/layout/borderTheme.d.ts.map +1 -1
  34. package/dist/components/ui/theme/layout/directionTheme.d.ts +4 -0
  35. package/dist/components/ui/theme/layout/directionTheme.d.ts.map +1 -1
  36. package/dist/components/ui/theme/layout/displayTheme.d.ts +11 -0
  37. package/dist/components/ui/theme/layout/displayTheme.d.ts.map +1 -1
  38. package/dist/components/ui/theme/layout/focusVisibleTheme.d.ts +5 -0
  39. package/dist/components/ui/theme/layout/focusVisibleTheme.d.ts.map +1 -1
  40. package/dist/components/ui/theme/layout/hideTheme.d.ts +5 -0
  41. package/dist/components/ui/theme/layout/hideTheme.d.ts.map +1 -1
  42. package/dist/components/ui/theme/layout/itemsTheme.d.ts +5 -0
  43. package/dist/components/ui/theme/layout/itemsTheme.d.ts.map +1 -1
  44. package/dist/components/ui/theme/layout/justifyTheme.d.ts +8 -0
  45. package/dist/components/ui/theme/layout/justifyTheme.d.ts.map +1 -1
  46. package/dist/components/ui/theme/layout/overflowTheme.d.ts +15 -0
  47. package/dist/components/ui/theme/layout/overflowTheme.d.ts.map +1 -1
  48. package/dist/components/ui/theme/layout/positionTheme.d.ts +5 -0
  49. package/dist/components/ui/theme/layout/positionTheme.d.ts.map +1 -1
  50. package/dist/components/ui/theme/layout/radiusTheme.d.ts +3 -0
  51. package/dist/components/ui/theme/layout/radiusTheme.d.ts.map +1 -1
  52. package/dist/components/ui/theme/layout/ringTheme.d.ts +5 -0
  53. package/dist/components/ui/theme/layout/ringTheme.d.ts.map +1 -1
  54. package/dist/components/ui/theme/layout/wrapTheme.d.ts +3 -0
  55. package/dist/components/ui/theme/layout/wrapTheme.d.ts.map +1 -1
  56. package/dist/components/ui/theme/list/listStyleTheme.d.ts +2 -0
  57. package/dist/components/ui/theme/list/listStyleTheme.d.ts.map +1 -1
  58. package/dist/components/ui/theme/size/breakpointTheme.d.ts +5 -0
  59. package/dist/components/ui/theme/size/breakpointTheme.d.ts.map +1 -1
  60. package/dist/components/ui/theme/size/gapTheme.d.ts +5 -0
  61. package/dist/components/ui/theme/size/gapTheme.d.ts.map +1 -1
  62. package/dist/components/ui/theme/size/paddingTheme.d.ts +5 -0
  63. package/dist/components/ui/theme/size/paddingTheme.d.ts.map +1 -1
  64. package/dist/components/ui/theme/size/plTheme.d.ts +1 -0
  65. package/dist/components/ui/theme/size/plTheme.d.ts.map +1 -1
  66. package/dist/components/ui/theme/size/pxTheme.d.ts +1 -0
  67. package/dist/components/ui/theme/size/pxTheme.d.ts.map +1 -1
  68. package/dist/components/ui/theme/size/pyTheme.d.ts +1 -0
  69. package/dist/components/ui/theme/size/pyTheme.d.ts.map +1 -1
  70. package/dist/components/ui/theme/size/sizeTheme.d.ts +5 -0
  71. package/dist/components/ui/theme/size/sizeTheme.d.ts.map +1 -1
  72. package/dist/components/ui/theme/typography/fontFamilyTheme.d.ts +3 -0
  73. package/dist/components/ui/theme/typography/fontFamilyTheme.d.ts.map +1 -1
  74. package/dist/components/ui/theme/typography/fontStyleTheme.d.ts +2 -0
  75. package/dist/components/ui/theme/typography/fontStyleTheme.d.ts.map +1 -1
  76. package/dist/components/ui/theme/typography/fontWeightTheme.d.ts +9 -0
  77. package/dist/components/ui/theme/typography/fontWeightTheme.d.ts.map +1 -1
  78. package/dist/components/ui/theme/typography/textAlignTheme.d.ts +4 -0
  79. package/dist/components/ui/theme/typography/textAlignTheme.d.ts.map +1 -1
  80. package/dist/components/ui/theme/typography/textDecorationTheme.d.ts +4 -0
  81. package/dist/components/ui/theme/typography/textDecorationTheme.d.ts.map +1 -1
  82. package/dist/components/ui/theme/typography/textTransformTheme.d.ts +4 -0
  83. package/dist/components/ui/theme/typography/textTransformTheme.d.ts.map +1 -1
  84. package/dist/index.esm.js +188 -22
  85. package/dist/index.esm.js.map +1 -1
  86. package/dist/index.js +194 -21
  87. package/dist/index.js.map +1 -1
  88. package/dist/ui.css +24 -0
  89. package/package.json +1 -1
package/dist/index.esm.js CHANGED
@@ -33,11 +33,25 @@ const LINK = 'link';
33
33
  const APPEARANCE_VALUES = [DEFAULT, ACCENT, PRIMARY, SECONDARY, TERTIARY, SUCCESS, DANGER, WARNING, INFO, LINK];
34
34
 
35
35
  /** Show border - adds appearance-based border styling */
36
- const BORDER = 'border';
36
+ const BORDER$1 = 'border';
37
+ /** Show top border */
38
+ const BORDER_T = 'borderT';
39
+ /** Show bottom border */
40
+ const BORDER_B = 'borderB';
41
+ /** Show left border */
42
+ const BORDER_L = 'borderL';
43
+ /** Show right border */
44
+ const BORDER_R = 'borderR';
45
+ /** Show horizontal borders (left and right) */
46
+ const BORDER_X = 'borderX';
47
+ /** Show vertical borders (top and bottom) */
48
+ const BORDER_Y = 'borderY';
37
49
  /** Hide border - removes border styling (overrides appearance colors) */
38
50
  const NO_BORDER = 'noBorder';
39
- /** All border property values */
40
- const BORDER_VALUES = [BORDER, NO_BORDER];
51
+ /** All border property values - includes all border variations and noBorder */
52
+ const BORDER_VALUES = [BORDER$1, BORDER_T, BORDER_B, BORDER_L, BORDER_R, BORDER_X, BORDER_Y, NO_BORDER];
53
+ /** All border side keys (excluding noBorder since it doesn't have a CSS class) */
54
+ const BORDER_KEYS = [BORDER$1, BORDER_T, BORDER_B, BORDER_L, BORDER_R, BORDER_X, BORDER_Y];
41
55
 
42
56
  /** Extra-small column breakpoint - responsive grid column sizing for xs screens */
43
57
  const XS_COL = 'xsCol';
@@ -372,10 +386,12 @@ const PADDING = ['padding'];
372
386
  const BREAKPOINT = ['breakpoint'];
373
387
  /** Core visual properties including appearance colors and transparency */
374
388
  const VISUAL_CORE = ['appearance', 'transparent'];
375
- /** Visual decoration properties for borders, shadows, and focus rings */
376
- const VISUAL_DECORATION = ['border', 'shadow', 'ring', 'focusVisible'];
389
+ /** Border properties for visual decoration */
390
+ const BORDER = ['border'];
391
+ /** Visual decoration properties for shadows and focus rings */
392
+ const VISUAL_DECORATION = ['shadow', 'ring', 'focusVisible'];
377
393
  /** Layout-specific visual decoration (excluding focusVisible for non-interactive elements) */
378
- const VISUAL_DECORATION_LAYOUT = ['border', 'shadow', 'ring'];
394
+ const VISUAL_DECORATION_LAYOUT = ['shadow', 'ring'];
379
395
  /** Shape properties for border radius and corner rounding */
380
396
  const SHAPE = ['shape'];
381
397
  /** Typography styling properties for text appearance and formatting */
@@ -393,6 +409,7 @@ const COMPONENT_PROPS_CATEGORY = [
393
409
  ...LAYOUT_CORE,
394
410
  ...BREAKPOINT,
395
411
  ...PADDING,
412
+ ...BORDER,
396
413
  ...VISUAL_DECORATION,
397
414
  ...SHAPE,
398
415
  ...VARIANT,
@@ -406,7 +423,7 @@ const APPEARANCE_CATEGORY = ['text', 'border', 'ring', 'shadow', 'bg', 'accent',
406
423
  const ComponentKeys = {
407
424
  /** Color appearance options */
408
425
  appearance: APPEARANCE_VALUES,
409
- /** Border visibility: border (show) or noBorder (hide) */
426
+ /** Border visibility: includes all border variations and noBorder (border, borderT, borderB, etc., noBorder) */
410
427
  border: BORDER_VALUES,
411
428
  /** Column breakpoints for responsive grid layouts */
412
429
  breakpoint: BREAKPOINT_VALUES,
@@ -465,9 +482,9 @@ const ComponentKeys = {
465
482
  /** Complete layout category including core and flex properties */
466
483
  const LAYOUT_FULL = [...LAYOUT_CORE, ...LAYOUT_FLEX];
467
484
  /** Complete visual category including core, decoration, and shape properties */
468
- const VISUAL_FULL = [...VISUAL_CORE, ...VISUAL_DECORATION, ...SHAPE];
485
+ const VISUAL_FULL = [...VISUAL_CORE, ...BORDER, ...VISUAL_DECORATION, ...SHAPE];
469
486
  /** Layout-specific visual category (excludes focusVisible for non-interactive elements) */
470
- const VISUAL_LAYOUT = [...VISUAL_CORE, ...VISUAL_DECORATION_LAYOUT, ...SHAPE];
487
+ const VISUAL_LAYOUT = [...VISUAL_CORE, ...BORDER, ...VISUAL_DECORATION_LAYOUT, ...SHAPE];
471
488
  /** Complete typography category for text styling */
472
489
  const TYPOGRAPHY_FULL = [...TYPOGRAPHY_STYLE];
473
490
  /** Categories for interactive components like buttons, badges, chips */
@@ -504,14 +521,14 @@ const DIVIDER_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...PADDING];
504
521
  const SECTION_CATEGORIES = [...LAYOUT_FULL, ...VISUAL_LAYOUT, ...PADDING, ...BREAKPOINT, ...VARIANT];
505
522
  /** Form component categories */
506
523
  /** Categories for checkbox form components */
507
- const CHECKBOX_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...VISUAL_DECORATION, ...SHAPE, ...VARIANT];
524
+ const CHECKBOX_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...BORDER, ...VISUAL_DECORATION, ...SHAPE, ...VARIANT];
508
525
  /** Categories for label form components with typography support */
509
526
  const LABEL_CATEGORIES = [...TYPOGRAPHY_FULL, ...LAYOUT_FULL, ...VISUAL_CORE, ...VARIANT];
510
527
  /** Categories for input form components with interactive and form-specific properties */
511
528
  const INPUT_CATEGORIES = [...INTERACTIVE_CATEGORIES];
512
529
  /** Media component categories */
513
530
  /** Categories for image media components */
514
- const IMG_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...VISUAL_DECORATION, ...SHAPE, ...VARIANT];
531
+ const IMG_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...BORDER, ...VISUAL_DECORATION, ...SHAPE, ...VARIANT];
515
532
  /** All available component names in the library */
516
533
  const COMPONENT = ['button', 'badge', 'chip', 'code', 'card', 'divider', 'container', 'row', 'col', 'stack', 'section',
517
534
  'grid2', 'grid3', 'grid4', 'grid5', 'grid6', 'pageTitle', 'sectionTitle', 'title', 'text', 'link', 'list', 'listItem', 'checkbox', 'label', 'img', 'input'];
@@ -549,10 +566,15 @@ const ComponentCategories = {
549
566
  class HideTheme extends BaseTheme {
550
567
  constructor() {
551
568
  super(...arguments);
569
+ /** Hide element on extra-small screens and below */
552
570
  this.xsHide = "max-xs:hidden";
571
+ /** Hide element on small screens and below */
553
572
  this.smHide = "max-sm:hidden";
573
+ /** Hide element on medium screens and below */
554
574
  this.mdHide = "max-md:hidden";
575
+ /** Hide element on large screens and below */
555
576
  this.lgHide = "max-lg:hidden";
577
+ /** Hide element on extra-large screens and below */
556
578
  this.xlHide = "max-xl:hidden";
557
579
  }
558
580
  getClasses(extractedKeys) {
@@ -563,10 +585,15 @@ class HideTheme extends BaseTheme {
563
585
  class ItemsTheme extends BaseTheme {
564
586
  constructor() {
565
587
  super(...arguments);
588
+ /** Align flex items to the start of the cross axis */
566
589
  this.itemsStart = "items-start";
590
+ /** Align flex items to the end of the cross axis */
567
591
  this.itemsEnd = "items-end";
592
+ /** Center flex items along the cross axis */
568
593
  this.itemsCenter = "items-center";
594
+ /** Align flex items along their baseline */
569
595
  this.itemsBaseline = "items-baseline";
596
+ /** Stretch flex items to fill the cross axis */
570
597
  this.itemsStretch = "items-stretch";
571
598
  }
572
599
  getClasses(extractedKeys) {
@@ -577,13 +604,21 @@ class ItemsTheme extends BaseTheme {
577
604
  class JustifyTheme extends BaseTheme {
578
605
  constructor() {
579
606
  super(...arguments);
607
+ /** Pack flex items toward the start of the main axis */
580
608
  this.justifyStart = "justify-start";
609
+ /** Pack flex items toward the end of the main axis */
581
610
  this.justifyEnd = "justify-end";
611
+ /** Pack flex items around the center of the main axis */
582
612
  this.justifyCenter = "justify-center";
613
+ /** Distribute flex items with equal space between them */
583
614
  this.justifyBetween = "justify-between";
615
+ /** Distribute flex items with equal space around them */
584
616
  this.justifyAround = "justify-around";
617
+ /** Distribute flex items with equal space around them, including edges */
585
618
  this.justifyEvenly = "justify-evenly";
619
+ /** Stretch flex items to fill the main axis */
586
620
  this.justifyStretch = "justify-stretch";
621
+ /** Align flex items along their baseline on the main axis */
587
622
  this.justifyBaseline = "justify-baseline";
588
623
  }
589
624
  getClasses(extractedKeys) {
@@ -594,10 +629,15 @@ class JustifyTheme extends BaseTheme {
594
629
  class PositionTheme extends BaseTheme {
595
630
  constructor() {
596
631
  super(...arguments);
632
+ /** Relative positioning - positioned relative to its normal position */
597
633
  this.relative = "relative";
634
+ /** Absolute positioning - positioned relative to its closest positioned ancestor */
598
635
  this.absolute = "absolute";
636
+ /** Fixed positioning - positioned relative to the viewport */
599
637
  this.fixed = "fixed";
638
+ /** Sticky positioning - toggles between relative and fixed based on scroll position */
600
639
  this.sticky = "sticky";
640
+ /** Static positioning - default positioning, not affected by top/left/right/bottom */
601
641
  this.static = "static";
602
642
  }
603
643
  getClasses(extractedKeys) {
@@ -608,7 +648,9 @@ class PositionTheme extends BaseTheme {
608
648
  class FontStyleTheme extends BaseTheme {
609
649
  constructor() {
610
650
  super(...arguments);
651
+ /** Italic font style - slanted text */
611
652
  this.italic = "italic";
653
+ /** Normal font style - upright text (not italic) */
612
654
  this.notItalic = "not-italic";
613
655
  }
614
656
  getClasses(extractedKeys) {
@@ -619,8 +661,11 @@ class FontStyleTheme extends BaseTheme {
619
661
  class FontFamilyTheme extends BaseTheme {
620
662
  constructor() {
621
663
  super(...arguments);
664
+ /** Sans-serif font family - clean, modern fonts without serifs */
622
665
  this.sans = "font-sans";
666
+ /** Serif font family - traditional fonts with serifs */
623
667
  this.serif = "font-serif";
668
+ /** Monospace font family - fixed-width fonts for code and data */
624
669
  this.mono = "font-mono";
625
670
  }
626
671
  getClasses(extractedKeys) {
@@ -631,14 +676,23 @@ class FontFamilyTheme extends BaseTheme {
631
676
  class FontWeightTheme extends BaseTheme {
632
677
  constructor() {
633
678
  super(...arguments);
679
+ /** Thin font weight (100) - lightest weight */
634
680
  this.thin = "font-thin";
681
+ /** Extra-light font weight (200) - very light */
635
682
  this.extralight = "font-extralight";
683
+ /** Light font weight (300) - lighter than normal */
636
684
  this.light = "font-light";
685
+ /** Normal font weight (400) - default font weight */
637
686
  this.normal = "font-normal";
687
+ /** Medium font weight (500) - slightly bold */
638
688
  this.medium = "font-medium";
689
+ /** Semi-bold font weight (600) - moderately bold */
639
690
  this.semibold = "font-semibold";
691
+ /** Bold font weight (700) - standard bold */
640
692
  this.bold = "font-bold";
693
+ /** Extra-bold font weight (800) - very bold */
641
694
  this.extrabold = "font-extrabold";
695
+ /** Black font weight (900) - heaviest weight */
642
696
  this.black = "font-black";
643
697
  }
644
698
  getClasses(extractedKeys) {
@@ -649,9 +703,13 @@ class FontWeightTheme extends BaseTheme {
649
703
  class TextDecorationTheme extends BaseTheme {
650
704
  constructor() {
651
705
  super(...arguments);
706
+ /** Underline text decoration - line below text */
652
707
  this.underline = "underline";
708
+ /** Line-through text decoration - strikethrough */
653
709
  this.lineThrough = "line-through";
710
+ /** Remove underline text decoration */
654
711
  this.noUnderline = "no-underline";
712
+ /** Overline text decoration - line above text */
655
713
  this.overline = "overline";
656
714
  }
657
715
  getClasses(extractedKeys) {
@@ -662,9 +720,13 @@ class TextDecorationTheme extends BaseTheme {
662
720
  class TextTransformTheme extends BaseTheme {
663
721
  constructor() {
664
722
  super(...arguments);
723
+ /** Transform text to UPPERCASE */
665
724
  this.uppercase = "uppercase";
725
+ /** Transform text to lowercase */
666
726
  this.lowercase = "lowercase";
727
+ /** Capitalize First Letter Of Each Word */
667
728
  this.capitalize = "capitalize";
729
+ /** Normal case - no text transformation */
668
730
  this.normalCase = "normal-case";
669
731
  }
670
732
  getClasses(extractedKeys) {
@@ -675,9 +737,13 @@ class TextTransformTheme extends BaseTheme {
675
737
  class TextAlignTheme extends BaseTheme {
676
738
  constructor() {
677
739
  super(...arguments);
740
+ /** Left-align text */
678
741
  this.textLeft = "text-left";
742
+ /** Center-align text */
679
743
  this.textCenter = "text-center";
744
+ /** Right-align text */
680
745
  this.textRight = "text-right";
746
+ /** Justify text - stretch lines to fill width */
681
747
  this.textJustify = "text-justify";
682
748
  }
683
749
  getClasses(extractedKeys) {
@@ -688,16 +754,27 @@ class TextAlignTheme extends BaseTheme {
688
754
  class DisplayTheme extends BaseTheme {
689
755
  constructor() {
690
756
  super(...arguments);
757
+ /** Inline display - element flows with text */
691
758
  this.inline = "inline";
759
+ /** Block display - element takes full width */
692
760
  this.block = "block";
761
+ /** Inline-block display - element flows with text but can have width/height */
693
762
  this.inlineBlock = "inline-block";
763
+ /** Flex display - creates a flex container */
694
764
  this.flex = "flex";
765
+ /** Inline-flex display - creates an inline flex container */
695
766
  this.inlineFlex = "inline-flex";
767
+ /** Grid display - creates a grid container */
696
768
  this.grid = "grid";
769
+ /** Inline-grid display - creates an inline grid container */
697
770
  this.inlineGrid = "inline-grid";
771
+ /** Contents display - element's children behave as if they are direct children of the parent */
698
772
  this.contents = "contents";
773
+ /** Table display - element behaves like a table */
699
774
  this.table = "table";
775
+ /** Table-cell display - element behaves like a table cell */
700
776
  this.tableCell = "table-cell";
777
+ /** Hidden display - element is completely removed from layout */
701
778
  this.hidden = "hidden";
702
779
  }
703
780
  getClasses(extractedKeys) {
@@ -3419,20 +3496,35 @@ const twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
3419
3496
  class OverflowTheme extends BaseTheme {
3420
3497
  constructor() {
3421
3498
  super(...arguments);
3499
+ /** Auto overflow - adds scrollbars when content overflows */
3422
3500
  this.overflowAuto = 'overflow-auto';
3501
+ /** Hidden overflow - clips content that overflows */
3423
3502
  this.overflowHidden = 'overflow-hidden';
3503
+ /** Clip overflow - clips content without scrollbars */
3424
3504
  this.overflowClip = 'overflow-clip';
3505
+ /** Visible overflow - content overflows and remains visible */
3425
3506
  this.overflowVisible = 'overflow-visible';
3507
+ /** Scroll overflow - always shows scrollbars */
3426
3508
  this.overflowScroll = 'overflow-scroll';
3509
+ /** Auto horizontal overflow - adds horizontal scrollbar when needed */
3427
3510
  this.overflowXAuto = 'overflow-x-auto';
3511
+ /** Auto vertical overflow - adds vertical scrollbar when needed */
3428
3512
  this.overflowYAuto = 'overflow-y-auto';
3513
+ /** Hidden horizontal overflow - clips content horizontally */
3429
3514
  this.overflowXHidden = 'overflow-x-hidden';
3515
+ /** Hidden vertical overflow - clips content vertically */
3430
3516
  this.overflowYHidden = 'overflow-y-hidden';
3517
+ /** Clip horizontal overflow - clips content horizontally without scrollbars */
3431
3518
  this.overflowXClip = 'overflow-x-clip';
3519
+ /** Clip vertical overflow - clips content vertically without scrollbars */
3432
3520
  this.overflowYClip = 'overflow-y-clip';
3521
+ /** Visible horizontal overflow - content overflows horizontally and remains visible */
3433
3522
  this.overflowXVisible = 'overflow-x-visible';
3523
+ /** Visible vertical overflow - content overflows vertically and remains visible */
3434
3524
  this.overflowYVisible = 'overflow-y-visible';
3525
+ /** Scroll horizontal overflow - always shows horizontal scrollbar */
3435
3526
  this.overflowXScroll = 'overflow-x-scroll';
3527
+ /** Scroll vertical overflow - always shows vertical scrollbar */
3436
3528
  this.overflowYScroll = 'overflow-y-scroll';
3437
3529
  }
3438
3530
  getClasses(extractedKeys) {
@@ -3504,6 +3596,9 @@ class ComponentTheme {
3504
3596
  extractedKeys[category] = key;
3505
3597
  }
3506
3598
  }
3599
+ // No need for border/noBorder mutual exclusion logic anymore
3600
+ // since noBorder is now part of the border category and
3601
+ // pickFirstTruthyKeyByCategory handles the priority naturally
3507
3602
  const walk = (map) => {
3508
3603
  for (const key of Object.keys(map)) {
3509
3604
  const node = map[key];
@@ -3559,10 +3654,15 @@ class ComponentTheme {
3559
3654
  class SizeTheme extends BaseTheme {
3560
3655
  constructor(sizeMap, useDefaultKey = true) {
3561
3656
  super();
3657
+ /** Extra-small size variant */
3562
3658
  this.xs = "";
3659
+ /** Small size variant */
3563
3660
  this.sm = "";
3661
+ /** Medium size variant (default) */
3564
3662
  this.md = "";
3663
+ /** Large size variant */
3565
3664
  this.lg = "";
3665
+ /** Extra-large size variant */
3566
3666
  this.xl = "";
3567
3667
  this.useDefaultKey = useDefaultKey;
3568
3668
  ComponentKeys.size.forEach((key) => {
@@ -3580,10 +3680,15 @@ class SizeTheme extends BaseTheme {
3580
3680
  class GapTheme extends BaseTheme {
3581
3681
  constructor(sizeMap) {
3582
3682
  super();
3683
+ /** Extra-small gap - 0.5rem spacing between items */
3583
3684
  this.xs = 'gap-2';
3685
+ /** Small gap - 0.75rem spacing between items */
3584
3686
  this.sm = 'gap-3';
3687
+ /** Medium gap - 1rem spacing between items */
3585
3688
  this.md = 'gap-4';
3689
+ /** Large gap - 1.25rem spacing between items */
3586
3690
  this.lg = 'gap-5';
3691
+ /** Extra-large gap - 1.5rem spacing between items */
3587
3692
  this.xl = 'gap-6';
3588
3693
  if (sizeMap) {
3589
3694
  ComponentKeys.size.forEach((key) => {
@@ -3621,7 +3726,9 @@ const layoutBorderRadiusClasses = {
3621
3726
  class RadiusTheme extends BaseTheme {
3622
3727
  constructor(roundedClasses) {
3623
3728
  super();
3729
+ /** Pill shape - fully rounded corners */
3624
3730
  this.pill = "rounded-full";
3731
+ /** Sharp shape - no rounded corners */
3625
3732
  this.sharp = "rounded-none";
3626
3733
  this.rounded = roundedClasses;
3627
3734
  }
@@ -3653,26 +3760,49 @@ class RadiusTheme extends BaseTheme {
3653
3760
  class BorderTheme extends BaseTheme {
3654
3761
  constructor() {
3655
3762
  super(...arguments);
3656
- this.base = "border";
3657
- this.hover = "";
3658
- this.active = "";
3659
- this.focus = "";
3660
- this.focusVisible = "";
3763
+ /** Show border - adds appearance-based border styling */
3764
+ this.border = "border";
3765
+ /** Show top border */
3766
+ this.borderT = "border-t";
3767
+ /** Show bottom border */
3768
+ this.borderB = "border-b";
3769
+ /** Show left border */
3770
+ this.borderL = "border-l";
3771
+ /** Show right border */
3772
+ this.borderR = "border-r";
3773
+ /** Show horizontal borders (left and right) */
3774
+ this.borderX = "border-x";
3775
+ /** Show vertical borders (top and bottom) */
3776
+ this.borderY = "border-y";
3661
3777
  }
3662
3778
  getClasses(extractedKeys) {
3663
- return (extractedKeys === null || extractedKeys === void 0 ? void 0 : extractedKeys.border) === "border"
3664
- ? ModeKeys.mode.map((mode) => this[mode])
3665
- : [];
3779
+ const classes = [];
3780
+ // Now all border variations and noBorder come through the 'border' category
3781
+ const borderValue = extractedKeys === null || extractedKeys === void 0 ? void 0 : extractedKeys.border;
3782
+ // If noBorder is selected, don't apply any border classes
3783
+ if (borderValue === "noBorder") {
3784
+ return [];
3785
+ }
3786
+ // Check if the border value matches any of our border keys (BORDER_KEYS excludes noBorder)
3787
+ if (borderValue && BORDER_KEYS.includes(borderValue)) {
3788
+ classes.push(this[borderValue]);
3789
+ }
3790
+ return classes;
3666
3791
  }
3667
3792
  }
3668
3793
 
3669
3794
  class RingTheme extends BaseTheme {
3670
3795
  constructor() {
3671
3796
  super(...arguments);
3797
+ /** Base ring styling - ring with inset positioning */
3672
3798
  this.base = "ring ring-inset";
3799
+ /** Ring styling on hover state */
3673
3800
  this.hover = "";
3801
+ /** Ring styling on active state */
3674
3802
  this.active = "";
3803
+ /** Ring styling on focus state */
3675
3804
  this.focus = "";
3805
+ /** Ring styling on focus-visible state for keyboard navigation */
3676
3806
  this.focusVisible = "";
3677
3807
  }
3678
3808
  getClasses(extractedKeys) {
@@ -3685,10 +3815,15 @@ class RingTheme extends BaseTheme {
3685
3815
  class FocusVisibleTheme extends BaseTheme {
3686
3816
  constructor() {
3687
3817
  super(...arguments);
3818
+ /** Base focus-visible styling */
3688
3819
  this.base = "";
3820
+ /** Focus-visible styling on hover state */
3689
3821
  this.hover = "";
3822
+ /** Focus-visible styling on active state */
3690
3823
  this.active = "";
3824
+ /** Focus-visible styling on focus state */
3691
3825
  this.focus = "";
3826
+ /** Focus-visible styling for keyboard navigation - outline on focus */
3692
3827
  this.focusVisible = "focus-visible:outline-2 focus-visible:outline-offset-2";
3693
3828
  }
3694
3829
  getClasses(extractedKeys) {
@@ -3701,10 +3836,15 @@ class FocusVisibleTheme extends BaseTheme {
3701
3836
  class PaddingTheme extends BaseTheme {
3702
3837
  constructor(initial) {
3703
3838
  super();
3839
+ /** Extra-small padding - varies by component implementation */
3704
3840
  this.xs = "";
3841
+ /** Small padding - varies by component implementation */
3705
3842
  this.sm = "";
3843
+ /** Medium padding - varies by component implementation */
3706
3844
  this.md = "";
3845
+ /** Large padding - varies by component implementation */
3707
3846
  this.lg = "";
3847
+ /** Extra-large padding - varies by component implementation */
3708
3848
  this.xl = "";
3709
3849
  if (initial) {
3710
3850
  ComponentKeys.size.forEach((key) => {
@@ -3724,6 +3864,7 @@ class PaddingTheme extends BaseTheme {
3724
3864
  }
3725
3865
  }
3726
3866
 
3867
+ /** Horizontal padding theme - controls left and right padding */
3727
3868
  class PxTheme extends PaddingTheme {
3728
3869
  constructor(sizeMap) {
3729
3870
  super(sizeMap);
@@ -3738,6 +3879,7 @@ class PxTheme extends PaddingTheme {
3738
3879
  }
3739
3880
  }
3740
3881
 
3882
+ /** Vertical padding theme - controls top and bottom padding */
3741
3883
  class PyTheme extends PaddingTheme {
3742
3884
  constructor(sizeMap) {
3743
3885
  super(sizeMap);
@@ -3762,8 +3904,17 @@ class AppearanceTheme extends BaseTheme {
3762
3904
  }
3763
3905
  getClasses(extractedKeys) {
3764
3906
  var _a;
3765
- if (this.category === 'border' && (extractedKeys.border === 'noBorder' || extractedKeys.border === undefined)) {
3766
- return [];
3907
+ if (this.category === 'border') {
3908
+ // If noBorder is selected from the border category, don't apply appearance colors
3909
+ if (extractedKeys.border === NO_BORDER) {
3910
+ return [];
3911
+ }
3912
+ // Only apply appearance colors if any border prop is set (and not noBorder)
3913
+ const hasBorderProps = extractedKeys.border !== undefined && extractedKeys.border !== NO_BORDER;
3914
+ // If no border props are set, don't apply appearance colors
3915
+ if (!hasBorderProps) {
3916
+ return [];
3917
+ }
3767
3918
  }
3768
3919
  if (this.category === 'ring' && (extractedKeys.ring === 'noRing' || extractedKeys.ring === undefined)) {
3769
3920
  return [];
@@ -4306,8 +4457,11 @@ class GenericVariantTheme extends BaseTheme {
4306
4457
  class WrapTheme extends BaseTheme {
4307
4458
  constructor() {
4308
4459
  super(...arguments);
4460
+ /** Allow flex items to wrap to new lines */
4309
4461
  this.flexWrap = "flex-wrap";
4462
+ /** Prevent flex items from wrapping - keep on single line */
4310
4463
  this.flexNoWrap = "flex-nowrap";
4464
+ /** Allow flex items to wrap in reverse order */
4311
4465
  this.flexWrapReverse = "flex-wrap-reverse";
4312
4466
  }
4313
4467
  getClasses(extractedKeys) {
@@ -4318,9 +4472,13 @@ class WrapTheme extends BaseTheme {
4318
4472
  class DirectionTheme extends BaseTheme {
4319
4473
  constructor() {
4320
4474
  super(...arguments);
4475
+ /** Horizontal flex direction - items flow left to right */
4321
4476
  this.row = "flex-row";
4477
+ /** Vertical flex direction - items flow top to bottom */
4322
4478
  this.column = "flex-col";
4479
+ /** Reversed horizontal flex direction - items flow right to left */
4323
4480
  this.rowReverse = "flex-row-reverse";
4481
+ /** Reversed vertical flex direction - items flow bottom to top */
4324
4482
  this.columnReverse = "flex-col-reverse";
4325
4483
  }
4326
4484
  getClasses(extractedKeys) {
@@ -4765,6 +4923,7 @@ const mergeDefaults = (baseDefaults, overrideDefaults) => {
4765
4923
  return finalDefaults;
4766
4924
  };
4767
4925
 
4926
+ /** Left padding theme - controls left padding only */
4768
4927
  class PlTheme extends PaddingTheme {
4769
4928
  constructor(sizeMap) {
4770
4929
  super(sizeMap);
@@ -4782,7 +4941,9 @@ class PlTheme extends PaddingTheme {
4782
4941
  class ListStyleTheme extends BaseTheme {
4783
4942
  constructor() {
4784
4943
  super(...arguments);
4944
+ /** Disc list style - bullet points for unordered lists */
4785
4945
  this.disc = 'list-disc';
4946
+ /** Decimal list style - numbers for ordered lists */
4786
4947
  this.decimal = 'list-decimal';
4787
4948
  }
4788
4949
  getClasses(extractedKeys) {
@@ -4874,10 +5035,15 @@ const listTheme = new ComponentTheme("ul", "list-inside", {
4874
5035
  class BreakpointTheme extends BaseTheme {
4875
5036
  constructor() {
4876
5037
  super(...arguments);
5038
+ /** Switch to column layout on extra-small screens and below */
4877
5039
  this.xsCol = "max-xs:flex-col";
5040
+ /** Switch to column layout on small screens and below */
4878
5041
  this.smCol = "max-sm:flex-col";
5042
+ /** Switch to column layout on medium screens and below */
4879
5043
  this.mdCol = "max-md:flex-col";
5044
+ /** Switch to column layout on large screens and below */
4880
5045
  this.lgCol = "max-lg:flex-col";
5046
+ /** Switch to column layout on extra-large screens and below */
4881
5047
  this.xlCol = "max-xl:flex-col";
4882
5048
  }
4883
5049
  getClasses(extractedKeys) {
@@ -5517,5 +5683,5 @@ const List = forwardRef(function List(props, ref) {
5517
5683
  return jsx(ThemedComponent, { ref: ref, theme: theme.list, ...props });
5518
5684
  });
5519
5685
 
5520
- export { ABSOLUTE, ACCENT, ACTIVE, APPEARANCE_CATEGORY, APPEARANCE_VALUES, BADGE_CATEGORIES, BASE, BLACK, BLOCK, BOLD, BORDER, BORDER_VALUES, BREAKPOINT, BREAKPOINT_VALUES, BUTTON_CATEGORIES, Badge, Button, CAPITALIZE, CARD_CATEGORIES, CHECKBOX_CATEGORIES, CHIP_CATEGORIES, CODE_CATEGORIES, COLUMN, COLUMN_REVERSE, COL_CATEGORIES, COMPONENT, COMPONENT_PROPS_CATEGORY, CONTAINER_CATEGORIES, CONTENTS, Card, Checkbox, Chip, Code, Col, ComponentCategories, ComponentKeys, Container, DANGER, DECIMAL, DEFAULT, DISC, DISPLAY_VALUES, DIVIDER_CATEGORIES, Divider, EXTRABOLD, EXTRALIGHT, FILLED, FIXED, FLEX, FLEX_DIRECTION_VALUES, FLEX_NO_WRAP, FLEX_WRAP, FLEX_WRAP_REVERSE, FOCUS, FOCUS_VISIBLE, FOCUS_VISIBLE_OUTLINE, FOCUS_VISIBLE_VALUES, FONT_FAMILY_VALUES, FONT_STYLE_VALUES, FONT_WEIGHT_VALUES, GAP, GAP_VALUES, GRID, GRID_CATEGORIES, Grid2, Grid3, Grid4, Grid5, Grid6, HIDDEN, HIDE_VALUES, HOVER, IMG_CATEGORIES, INFO, INLINE, INLINE_BLOCK, INLINE_FLEX, INLINE_GRID, INPUT_CATEGORIES, INTERACTIVE_CATEGORIES, ITALIC, ITEMS_BASELINE, ITEMS_CENTER, ITEMS_END, ITEMS_START, ITEMS_STRETCH, ITEMS_VALUES, Img, Input, JUSTIFY_AROUND, JUSTIFY_BASELINE, JUSTIFY_BETWEEN, JUSTIFY_CENTER, JUSTIFY_END, JUSTIFY_EVENLY, JUSTIFY_START, JUSTIFY_STRETCH, JUSTIFY_VALUES, LABEL_CATEGORIES, LAYOUT_CORE, LAYOUT_FLEX, LAYOUT_FULL, LG, LG_COL, LG_HIDE, LIGHT, LINE_THROUGH, LINK, LIST_CATEGORIES, LIST_STYLE, LIST_STYLE_VALUES, LOWERCASE, Label, Link, List, ListItem, MD, MD_COL, MD_HIDE, MEDIUM, MODE_VALUES, MONO, ModeKeys, NORMAL, NORMAL_CASE, NOT_ITALIC, NO_BORDER, NO_FOCUS_VISIBLE_OUTLINE, NO_GAP, NO_PADDING, NO_RING, NO_SHADOW, NO_UNDERLINE, OUTLINE, OVERFLOW_AUTO, OVERFLOW_CLIP, OVERFLOW_HIDDEN, OVERFLOW_SCROLL, OVERFLOW_VALUES, OVERFLOW_VISIBLE, OVERFLOW_X_AUTO, OVERFLOW_X_CLIP, OVERFLOW_X_HIDDEN, OVERFLOW_X_SCROLL, OVERFLOW_X_VISIBLE, OVERFLOW_Y_AUTO, OVERFLOW_Y_CLIP, OVERFLOW_Y_HIDDEN, OVERFLOW_Y_SCROLL, OVERFLOW_Y_VISIBLE, OVERLINE, PADDING, PADDING_VALUES, PILL, POSITION_VALUES, PRIMARY, PageTitle, RELATIVE, REVERSE, REVERSE_VALUES, RING, RING_VALUES, ROUNDED, ROW, ROW_CATEGORIES, ROW_REVERSE, Row, SANS, SECONDARY, SECTION_CATEGORIES, SEMIBOLD, SERIF, SHADOW, SHADOW_VALUES, SHAPE, SHAPE_VALUES, SHARP, SIZE_VALUES, SM, SM_COL, SM_HIDE, STACK_CATEGORIES, STATIC, STICKY, SUCCESS, Section, SectionTitle, Stack, TABLE, TABLE_CELL, TERTIARY, TEXT_ALIGN_VALUES, TEXT_CENTER, TEXT_DECORATION_VALUES, TEXT_JUSTIFY, TEXT_LEFT, TEXT_RIGHT, TEXT_TRANSFORM_VALUES, THIN, TRANSPARENT, TRANSPARENT_VALUES, TYPOGRAPHY_CATEGORIES, TYPOGRAPHY_FULL, TYPOGRAPHY_STYLE, Text, ThemeProvider, Title, UNDERLINE, UPPERCASE, VARIANT, VARIANT_VALUES, VISUAL_CORE, VISUAL_DECORATION, VISUAL_DECORATION_LAYOUT, VISUAL_FULL, VISUAL_LAYOUT, WARNING, WRAP_VALUES, XL, XL_COL, XL_HIDE, XS, XS_COL, XS_HIDE, defaultTheme, themeDefaults, useTheme };
5686
+ export { ABSOLUTE, ACCENT, ACTIVE, APPEARANCE_CATEGORY, APPEARANCE_VALUES, BADGE_CATEGORIES, BASE, BLACK, BLOCK, BOLD, BORDER, BORDER_B, BORDER_KEYS, BORDER_L, BORDER_R, BORDER_T, BORDER_VALUES, BORDER_X, BORDER_Y, BREAKPOINT, BREAKPOINT_VALUES, BUTTON_CATEGORIES, Badge, Button, CAPITALIZE, CARD_CATEGORIES, CHECKBOX_CATEGORIES, CHIP_CATEGORIES, CODE_CATEGORIES, COLUMN, COLUMN_REVERSE, COL_CATEGORIES, COMPONENT, COMPONENT_PROPS_CATEGORY, CONTAINER_CATEGORIES, CONTENTS, Card, Checkbox, Chip, Code, Col, ComponentCategories, ComponentKeys, Container, DANGER, DECIMAL, DEFAULT, DISC, DISPLAY_VALUES, DIVIDER_CATEGORIES, Divider, EXTRABOLD, EXTRALIGHT, FILLED, FIXED, FLEX, FLEX_DIRECTION_VALUES, FLEX_NO_WRAP, FLEX_WRAP, FLEX_WRAP_REVERSE, FOCUS, FOCUS_VISIBLE, FOCUS_VISIBLE_OUTLINE, FOCUS_VISIBLE_VALUES, FONT_FAMILY_VALUES, FONT_STYLE_VALUES, FONT_WEIGHT_VALUES, GAP, GAP_VALUES, GRID, GRID_CATEGORIES, Grid2, Grid3, Grid4, Grid5, Grid6, HIDDEN, HIDE_VALUES, HOVER, IMG_CATEGORIES, INFO, INLINE, INLINE_BLOCK, INLINE_FLEX, INLINE_GRID, INPUT_CATEGORIES, INTERACTIVE_CATEGORIES, ITALIC, ITEMS_BASELINE, ITEMS_CENTER, ITEMS_END, ITEMS_START, ITEMS_STRETCH, ITEMS_VALUES, Img, Input, JUSTIFY_AROUND, JUSTIFY_BASELINE, JUSTIFY_BETWEEN, JUSTIFY_CENTER, JUSTIFY_END, JUSTIFY_EVENLY, JUSTIFY_START, JUSTIFY_STRETCH, JUSTIFY_VALUES, LABEL_CATEGORIES, LAYOUT_CORE, LAYOUT_FLEX, LAYOUT_FULL, LG, LG_COL, LG_HIDE, LIGHT, LINE_THROUGH, LINK, LIST_CATEGORIES, LIST_STYLE, LIST_STYLE_VALUES, LOWERCASE, Label, Link, List, ListItem, MD, MD_COL, MD_HIDE, MEDIUM, MODE_VALUES, MONO, ModeKeys, NORMAL, NORMAL_CASE, NOT_ITALIC, NO_BORDER, NO_FOCUS_VISIBLE_OUTLINE, NO_GAP, NO_PADDING, NO_RING, NO_SHADOW, NO_UNDERLINE, OUTLINE, OVERFLOW_AUTO, OVERFLOW_CLIP, OVERFLOW_HIDDEN, OVERFLOW_SCROLL, OVERFLOW_VALUES, OVERFLOW_VISIBLE, OVERFLOW_X_AUTO, OVERFLOW_X_CLIP, OVERFLOW_X_HIDDEN, OVERFLOW_X_SCROLL, OVERFLOW_X_VISIBLE, OVERFLOW_Y_AUTO, OVERFLOW_Y_CLIP, OVERFLOW_Y_HIDDEN, OVERFLOW_Y_SCROLL, OVERFLOW_Y_VISIBLE, OVERLINE, PADDING, PADDING_VALUES, PILL, POSITION_VALUES, PRIMARY, PageTitle, RELATIVE, REVERSE, REVERSE_VALUES, RING, RING_VALUES, ROUNDED, ROW, ROW_CATEGORIES, ROW_REVERSE, Row, SANS, SECONDARY, SECTION_CATEGORIES, SEMIBOLD, SERIF, SHADOW, SHADOW_VALUES, SHAPE, SHAPE_VALUES, SHARP, SIZE_VALUES, SM, SM_COL, SM_HIDE, STACK_CATEGORIES, STATIC, STICKY, SUCCESS, Section, SectionTitle, Stack, TABLE, TABLE_CELL, TERTIARY, TEXT_ALIGN_VALUES, TEXT_CENTER, TEXT_DECORATION_VALUES, TEXT_JUSTIFY, TEXT_LEFT, TEXT_RIGHT, TEXT_TRANSFORM_VALUES, THIN, TRANSPARENT, TRANSPARENT_VALUES, TYPOGRAPHY_CATEGORIES, TYPOGRAPHY_FULL, TYPOGRAPHY_STYLE, Text, ThemeProvider, Title, UNDERLINE, UPPERCASE, VARIANT, VARIANT_VALUES, VISUAL_CORE, VISUAL_DECORATION, VISUAL_DECORATION_LAYOUT, VISUAL_FULL, VISUAL_LAYOUT, WARNING, WRAP_VALUES, XL, XL_COL, XL_HIDE, XS, XS_COL, XS_HIDE, defaultTheme, themeDefaults, useTheme };
5521
5687
  //# sourceMappingURL=index.esm.js.map