@vaneui/ui 0.3.1-alpha.20251130172447.8795285 → 0.3.1-alpha.20251201144940.b3e097b

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 (99) hide show
  1. package/dist/components/ui/badge.d.ts +36 -2
  2. package/dist/components/ui/badge.d.ts.map +1 -1
  3. package/dist/components/ui/button.d.ts +39 -3
  4. package/dist/components/ui/button.d.ts.map +1 -1
  5. package/dist/components/ui/card.d.ts +43 -2
  6. package/dist/components/ui/card.d.ts.map +1 -1
  7. package/dist/components/ui/checkbox.d.ts +39 -2
  8. package/dist/components/ui/checkbox.d.ts.map +1 -1
  9. package/dist/components/ui/chip.d.ts +36 -2
  10. package/dist/components/ui/chip.d.ts.map +1 -1
  11. package/dist/components/ui/code.d.ts +36 -2
  12. package/dist/components/ui/code.d.ts.map +1 -1
  13. package/dist/components/ui/col.d.ts +41 -2
  14. package/dist/components/ui/col.d.ts.map +1 -1
  15. package/dist/components/ui/container.d.ts +38 -2
  16. package/dist/components/ui/container.d.ts.map +1 -1
  17. package/dist/components/ui/divider.d.ts +32 -2
  18. package/dist/components/ui/divider.d.ts.map +1 -1
  19. package/dist/components/ui/grid.d.ts +117 -10
  20. package/dist/components/ui/grid.d.ts.map +1 -1
  21. package/dist/components/ui/img.d.ts +36 -2
  22. package/dist/components/ui/img.d.ts.map +1 -1
  23. package/dist/components/ui/input.d.ts +36 -2
  24. package/dist/components/ui/input.d.ts.map +1 -1
  25. package/dist/components/ui/label.d.ts +42 -2
  26. package/dist/components/ui/label.d.ts.map +1 -1
  27. package/dist/components/ui/props/keys.d.ts +4 -28
  28. package/dist/components/ui/props/keys.d.ts.map +1 -1
  29. package/dist/components/ui/row.d.ts +40 -2
  30. package/dist/components/ui/row.d.ts.map +1 -1
  31. package/dist/components/ui/section.d.ts +39 -2
  32. package/dist/components/ui/section.d.ts.map +1 -1
  33. package/dist/components/ui/stack.d.ts +40 -2
  34. package/dist/components/ui/stack.d.ts.map +1 -1
  35. package/dist/components/ui/theme/appearance/appearanceTheme.d.ts.map +1 -1
  36. package/dist/components/ui/typography.d.ts +223 -14
  37. package/dist/components/ui/typography.d.ts.map +1 -1
  38. package/dist/index.esm.js +877 -124
  39. package/dist/index.esm.js.map +1 -1
  40. package/dist/index.js +876 -152
  41. package/dist/index.js.map +1 -1
  42. package/dist/ui.css +15 -0
  43. package/package.json +1 -1
  44. package/dist/components/ui/props/appearance.d.ts +0 -3
  45. package/dist/components/ui/props/appearance.d.ts.map +0 -1
  46. package/dist/components/ui/props/border.d.ts +0 -9
  47. package/dist/components/ui/props/border.d.ts.map +0 -1
  48. package/dist/components/ui/props/breakpoint.d.ts +0 -3
  49. package/dist/components/ui/props/breakpoint.d.ts.map +0 -1
  50. package/dist/components/ui/props/display.d.ts +0 -3
  51. package/dist/components/ui/props/display.d.ts.map +0 -1
  52. package/dist/components/ui/props/flexDirection.d.ts +0 -3
  53. package/dist/components/ui/props/flexDirection.d.ts.map +0 -1
  54. package/dist/components/ui/props/focusVisible.d.ts +0 -3
  55. package/dist/components/ui/props/focusVisible.d.ts.map +0 -1
  56. package/dist/components/ui/props/fontFamily.d.ts +0 -3
  57. package/dist/components/ui/props/fontFamily.d.ts.map +0 -1
  58. package/dist/components/ui/props/fontStyle.d.ts +0 -3
  59. package/dist/components/ui/props/fontStyle.d.ts.map +0 -1
  60. package/dist/components/ui/props/fontWeight.d.ts +0 -3
  61. package/dist/components/ui/props/fontWeight.d.ts.map +0 -1
  62. package/dist/components/ui/props/gap.d.ts +0 -3
  63. package/dist/components/ui/props/gap.d.ts.map +0 -1
  64. package/dist/components/ui/props/hide.d.ts +0 -3
  65. package/dist/components/ui/props/hide.d.ts.map +0 -1
  66. package/dist/components/ui/props/items.d.ts +0 -3
  67. package/dist/components/ui/props/items.d.ts.map +0 -1
  68. package/dist/components/ui/props/justify.d.ts +0 -3
  69. package/dist/components/ui/props/justify.d.ts.map +0 -1
  70. package/dist/components/ui/props/listStyle.d.ts +0 -3
  71. package/dist/components/ui/props/listStyle.d.ts.map +0 -1
  72. package/dist/components/ui/props/overflow.d.ts +0 -3
  73. package/dist/components/ui/props/overflow.d.ts.map +0 -1
  74. package/dist/components/ui/props/padding.d.ts +0 -3
  75. package/dist/components/ui/props/padding.d.ts.map +0 -1
  76. package/dist/components/ui/props/position.d.ts +0 -3
  77. package/dist/components/ui/props/position.d.ts.map +0 -1
  78. package/dist/components/ui/props/reverse.d.ts +0 -3
  79. package/dist/components/ui/props/reverse.d.ts.map +0 -1
  80. package/dist/components/ui/props/ring.d.ts +0 -3
  81. package/dist/components/ui/props/ring.d.ts.map +0 -1
  82. package/dist/components/ui/props/shadow.d.ts +0 -3
  83. package/dist/components/ui/props/shadow.d.ts.map +0 -1
  84. package/dist/components/ui/props/shape.d.ts +0 -3
  85. package/dist/components/ui/props/shape.d.ts.map +0 -1
  86. package/dist/components/ui/props/size.d.ts +0 -3
  87. package/dist/components/ui/props/size.d.ts.map +0 -1
  88. package/dist/components/ui/props/textAlign.d.ts +0 -3
  89. package/dist/components/ui/props/textAlign.d.ts.map +0 -1
  90. package/dist/components/ui/props/textDecoration.d.ts +0 -3
  91. package/dist/components/ui/props/textDecoration.d.ts.map +0 -1
  92. package/dist/components/ui/props/textTransform.d.ts +0 -3
  93. package/dist/components/ui/props/textTransform.d.ts.map +0 -1
  94. package/dist/components/ui/props/transparent.d.ts +0 -3
  95. package/dist/components/ui/props/transparent.d.ts.map +0 -1
  96. package/dist/components/ui/props/variant.d.ts +0 -3
  97. package/dist/components/ui/props/variant.d.ts.map +0 -1
  98. package/dist/components/ui/props/wrap.d.ts +0 -3
  99. package/dist/components/ui/props/wrap.d.ts.map +0 -1
package/dist/index.esm.js CHANGED
@@ -9,99 +9,6 @@ import { createContext, useContext, useMemo, forwardRef } from 'react';
9
9
  class BaseTheme {
10
10
  }
11
11
 
12
- /** All appearance property values */
13
- const APPEARANCE_VALUES = ['default', 'accent', 'primary', 'secondary', 'tertiary', 'success', 'danger', 'warning', 'info', 'link'];
14
-
15
- /** Hide border - removes border styling (overrides appearance colors) */
16
- const NO_BORDER = 'noBorder';
17
- /** All border property values - includes all border variations and noBorder */
18
- const BORDER_VALUES = ['border', 'borderT', 'borderB', 'borderL', 'borderR', 'borderX', 'borderY', 'noBorder'];
19
- /** All border side keys (excluding noBorder since it doesn't have a CSS class) */
20
- const BORDER_KEYS = ['border', 'borderT', 'borderB', 'borderL', 'borderR', 'borderX', 'borderY'];
21
-
22
- /** All breakpoint property values */
23
- const BREAKPOINT_VALUES = ['mobileCol', 'tabletCol', 'laptopCol', 'desktopCol'];
24
-
25
- /** All display property values */
26
- const DISPLAY_VALUES = ['inline', 'block', 'inlineBlock', 'flex', 'inlineFlex', 'grid', 'inlineGrid', 'contents', 'table', 'tableCell', 'hidden'];
27
-
28
- /** All flex direction property values */
29
- const FLEX_DIRECTION_VALUES = ['row', 'column', 'rowReverse', 'columnReverse'];
30
-
31
- /** All font family property values */
32
- const FONT_FAMILY_VALUES = ['sans', 'serif', 'mono'];
33
-
34
- /** All font style property values */
35
- const FONT_STYLE_VALUES = ['italic', 'notItalic'];
36
-
37
- /** All font weight property values */
38
- const FONT_WEIGHT_VALUES = ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'];
39
-
40
- /** All gap property values */
41
- const GAP_VALUES = ['gap', 'noGap'];
42
-
43
- /** All hide property values */
44
- const HIDE_VALUES = ['mobileHide', 'tabletHide', 'laptopHide', 'desktopHide'];
45
-
46
- /** All items property values */
47
- const ITEMS_VALUES = ['itemsStart', 'itemsEnd', 'itemsCenter', 'itemsBaseline', 'itemsStretch'];
48
-
49
- /** All justify property values */
50
- const JUSTIFY_VALUES = ['justifyStart', 'justifyEnd', 'justifyCenter', 'justifyBetween', 'justifyAround', 'justifyEvenly', 'justifyStretch', 'justifyBaseline'];
51
-
52
- /** All list style property values */
53
- const LIST_STYLE_VALUES = ['disc', 'decimal'];
54
-
55
- /** All overflow property values */
56
- const OVERFLOW_VALUES = [
57
- 'overflowAuto', 'overflowHidden', 'overflowClip', 'overflowVisible', 'overflowScroll',
58
- 'overflowXAuto', 'overflowYAuto', 'overflowXHidden', 'overflowYHidden',
59
- 'overflowXClip', 'overflowYClip', 'overflowXVisible', 'overflowYVisible',
60
- 'overflowXScroll', 'overflowYScroll'
61
- ];
62
-
63
- /** All padding property values */
64
- const PADDING_VALUES = ['padding', 'noPadding'];
65
-
66
- /** All position property values */
67
- const POSITION_VALUES = ['relative', 'absolute', 'fixed', 'sticky', 'static'];
68
-
69
- /** All reverse property values */
70
- const REVERSE_VALUES = ['reverse'];
71
-
72
- /** All ring property values */
73
- const RING_VALUES = ['ring', 'noRing'];
74
-
75
- /** All shadow property values */
76
- const SHADOW_VALUES = ['shadow', 'noShadow'];
77
-
78
- /** All focusVisible property values */
79
- const FOCUS_VISIBLE_VALUES = ['focusVisible', 'noFocusVisible'];
80
-
81
- /** All shape property values */
82
- const SHAPE_VALUES = ['pill', 'sharp', 'rounded'];
83
-
84
- /** All size property values */
85
- const SIZE_VALUES = ['xs', 'sm', 'md', 'lg', 'xl'];
86
-
87
- /** All text align property values */
88
- const TEXT_ALIGN_VALUES = ['textLeft', 'textCenter', 'textRight', 'textJustify'];
89
-
90
- /** All text decoration property values */
91
- const TEXT_DECORATION_VALUES = ['underline', 'lineThrough', 'noUnderline', 'overline'];
92
-
93
- /** All text transform property values */
94
- const TEXT_TRANSFORM_VALUES = ['uppercase', 'lowercase', 'capitalize', 'normalCase'];
95
-
96
- /** All transparent property values */
97
- const TRANSPARENT_VALUES = ['transparent'];
98
-
99
- /** All variant property values */
100
- const VARIANT_VALUES = ['filled', 'outline'];
101
-
102
- /** All wrap property values */
103
- const WRAP_VALUES = ['flexWrap', 'flexNoWrap', 'flexWrapReverse'];
104
-
105
12
  /** Base state - default resting appearance */
106
13
  const BASE = 'base';
107
14
  /** Hover state - appearance when cursor hovers over element */
@@ -166,62 +73,69 @@ const APPEARANCE_CATEGORY = ['text', 'border', 'ring', 'shadow', 'bg', 'accent',
166
73
  /** Component property keys mapping categories to their available values */
167
74
  const ComponentKeys = {
168
75
  /** Color appearance options */
169
- appearance: APPEARANCE_VALUES,
76
+ appearance: ['default', 'accent', 'primary', 'secondary', 'tertiary', 'success', 'danger', 'warning', 'info', 'link'],
170
77
  /** Border visibility: includes all border variations and noBorder (border, borderT, borderB, etc., noBorder) */
171
- border: BORDER_VALUES,
78
+ border: ['border', 'borderT', 'borderB', 'borderL', 'borderR', 'borderX', 'borderY', 'noBorder'],
172
79
  /** Column breakpoints for responsive grid layouts */
173
- breakpoint: BREAKPOINT_VALUES,
80
+ breakpoint: ['mobileCol', 'tabletCol', 'laptopCol', 'desktopCol'],
174
81
  /** CSS display property values for element layout behavior */
175
- display: DISPLAY_VALUES,
82
+ display: ['inline', 'block', 'inlineBlock', 'flex', 'inlineFlex', 'grid', 'inlineGrid', 'contents', 'table', 'tableCell', 'hidden'],
176
83
  /** Flex direction: row (horizontal), column (vertical), or reversed variants */
177
- flexDirection: FLEX_DIRECTION_VALUES,
84
+ flexDirection: ['row', 'column', 'rowReverse', 'columnReverse'],
178
85
  /** Font family types: sans-serif, serif, or monospace */
179
- fontFamily: FONT_FAMILY_VALUES,
86
+ fontFamily: ['sans', 'serif', 'mono'],
180
87
  /** Font style: italic or notItalic (normal) */
181
- fontStyle: FONT_STYLE_VALUES,
88
+ fontStyle: ['italic', 'notItalic'],
182
89
  /** Font weight from thin (100) to black (900) */
183
- fontWeight: FONT_WEIGHT_VALUES,
90
+ fontWeight: ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],
184
91
  /** Spacing between flex/grid items: gap (enabled) or noGap (disabled) */
185
- gap: GAP_VALUES,
92
+ gap: ['gap', 'noGap'],
186
93
  /** Hide elements at specific breakpoint sizes */
187
- hide: HIDE_VALUES,
94
+ hide: ['mobileHide', 'tabletHide', 'laptopHide', 'desktopHide'],
188
95
  /** Cross-axis alignment for flex items (align-items) */
189
- items: ITEMS_VALUES,
96
+ items: ['itemsStart', 'itemsEnd', 'itemsCenter', 'itemsBaseline', 'itemsStretch'],
190
97
  /** Main-axis alignment for flex items (justify-content) */
191
- justify: JUSTIFY_VALUES,
98
+ justify: ['justifyStart', 'justifyEnd', 'justifyCenter', 'justifyBetween', 'justifyAround', 'justifyEvenly', 'justifyStretch', 'justifyBaseline'],
192
99
  /** List bullet/numbering style: disc (bullets) or decimal (numbers) */
193
- listStyle: LIST_STYLE_VALUES,
100
+ listStyle: ['disc', 'decimal'],
194
101
  /** Overflow behavior for content that exceeds container bounds */
195
- overflow: OVERFLOW_VALUES,
102
+ overflow: [
103
+ 'overflowAuto', 'overflowHidden', 'overflowClip', 'overflowVisible', 'overflowScroll',
104
+ 'overflowXAuto', 'overflowYAuto', 'overflowXHidden', 'overflowYHidden',
105
+ 'overflowXClip', 'overflowYClip', 'overflowXVisible', 'overflowYVisible',
106
+ 'overflowXScroll', 'overflowYScroll'
107
+ ],
196
108
  /** Internal spacing: padding (enabled) or noPadding (disabled) */
197
- padding: PADDING_VALUES,
109
+ padding: ['padding', 'noPadding'],
198
110
  /** CSS positioning: relative, absolute, fixed, sticky, static */
199
- position: POSITION_VALUES,
111
+ position: ['relative', 'absolute', 'fixed', 'sticky', 'static'],
200
112
  /** Reverse the order of flex items */
201
- reverse: REVERSE_VALUES,
113
+ reverse: ['reverse'],
202
114
  /** Focus ring visibility: ring (show) or noRing (hide) */
203
- ring: RING_VALUES,
115
+ ring: ['ring', 'noRing'],
204
116
  /** Drop shadow visibility: shadow (enabled) or noShadow (disabled) */
205
- shadow: SHADOW_VALUES,
117
+ shadow: ['shadow', 'noShadow'],
206
118
  /** Focus-visible outline visibility: focusVisible (show) or noFocusVisible (hide) */
207
- focusVisible: FOCUS_VISIBLE_VALUES,
119
+ focusVisible: ['focusVisible', 'noFocusVisible'],
208
120
  /** Border radius shape: pill (fully rounded), sharp (no radius), rounded (medium radius) */
209
- shape: SHAPE_VALUES,
121
+ shape: ['pill', 'sharp', 'rounded'],
210
122
  /** Size scale from extra-small to extra-large */
211
- size: SIZE_VALUES,
123
+ size: ['xs', 'sm', 'md', 'lg', 'xl'],
212
124
  /** Text alignment: left, center, right, justify */
213
- textAlign: TEXT_ALIGN_VALUES,
125
+ textAlign: ['textLeft', 'textCenter', 'textRight', 'textJustify'],
214
126
  /** Text decoration: underline, strikethrough (lineThrough), none (noUnderline), overline */
215
- textDecoration: TEXT_DECORATION_VALUES,
127
+ textDecoration: ['underline', 'lineThrough', 'noUnderline', 'overline'],
216
128
  /** Text case transformation: UPPERCASE, lowercase, Capitalize, normalCase */
217
- textTransform: TEXT_TRANSFORM_VALUES,
129
+ textTransform: ['uppercase', 'lowercase', 'capitalize', 'normalCase'],
218
130
  /** Make background (layout/UI) or text (typography) transparent */
219
- transparent: TRANSPARENT_VALUES,
131
+ transparent: ['transparent'],
220
132
  /** Style variant: filled (solid background) or outline (border only) */
221
- variant: VARIANT_VALUES,
133
+ variant: ['filled', 'outline'],
222
134
  /** Flex item wrapping behavior: wrap, no-wrap, or wrap-reverse */
223
- wrap: WRAP_VALUES,
135
+ wrap: ['flexWrap', 'flexNoWrap', 'flexWrapReverse'],
224
136
  };
137
+ /** All border side keys (excluding noBorder since it doesn't have a CSS class) */
138
+ const BORDER_KEYS = ['border', 'borderT', 'borderB', 'borderL', 'borderR', 'borderX', 'borderY'];
225
139
  /** Composite categories built from core blocks */
226
140
  /** Complete layout category including core and flex properties */
227
141
  const LAYOUT_FULL = [...LAYOUT_CORE, ...LAYOUT_FLEX];
@@ -3795,11 +3709,11 @@ class AppearanceTheme extends BaseTheme {
3795
3709
  var _a;
3796
3710
  if (this.category === 'border') {
3797
3711
  // If noBorder is selected from the border category, don't apply appearance colors
3798
- if (extractedKeys.border === NO_BORDER) {
3712
+ if (extractedKeys.border === 'noBorder') {
3799
3713
  return [];
3800
3714
  }
3801
3715
  // Only apply appearance colors if any border prop is set (and not noBorder)
3802
- const hasBorderProps = extractedKeys.border !== undefined && extractedKeys.border !== NO_BORDER;
3716
+ const hasBorderProps = extractedKeys.border !== undefined && extractedKeys.border !== 'noBorder';
3803
3717
  // If no border props are set, don't apply appearance colors
3804
3718
  if (!hasBorderProps) {
3805
3719
  return [];
@@ -5495,31 +5409,228 @@ const ThemedComponent = forwardRef(function ThemedComponent(allProps, ref) {
5495
5409
  return (jsx(Tag, { ref: ref, className: finalClasses, ...finalProps, children: props.children }));
5496
5410
  });
5497
5411
 
5412
+ /**
5413
+ * A clickable button component with customizable appearance, size, and behavior.
5414
+ *
5415
+ * Supports rendering as a button element or anchor tag when href is provided.
5416
+ * Can be styled with different appearances (primary, secondary, success, etc.),
5417
+ * sizes (xs to xl), and variants (filled, outlined, ghost).
5418
+ *
5419
+ * @example
5420
+ * ```tsx
5421
+ * // Basic button
5422
+ * <Button>Click me</Button>
5423
+ * ```
5424
+ *
5425
+ * @example
5426
+ * ```tsx
5427
+ * // Primary filled button with large size
5428
+ * <Button primary lg filled>Submit</Button>
5429
+ * ```
5430
+ *
5431
+ * @example
5432
+ * ```tsx
5433
+ * // Button as a link
5434
+ * <Button href="/about" secondary>About</Button>
5435
+ * ```
5436
+ *
5437
+ * @example
5438
+ * ```tsx
5439
+ * // Danger button with custom styling
5440
+ * <Button danger outlined className="w-full">Delete</Button>
5441
+ * ```
5442
+ *
5443
+ * @see {@link ButtonProps} for all available props
5444
+ */
5498
5445
  const Button = forwardRef(function Button(props, ref) {
5499
5446
  const theme = useTheme();
5500
5447
  return jsx(ThemedComponent, { ref: ref, theme: theme.button, ...props });
5501
5448
  });
5502
5449
 
5450
+ /**
5451
+ * A compact badge component for displaying status, labels, or counts.
5452
+ *
5453
+ * Badges are typically used to highlight important information or indicate
5454
+ * status (e.g., "New", "Beta", notification counts). Supports the same
5455
+ * customization options as buttons including appearances, sizes, and variants.
5456
+ *
5457
+ * @example
5458
+ * ```tsx
5459
+ * // Basic badge
5460
+ * <Badge>New</Badge>
5461
+ * ```
5462
+ *
5463
+ * @example
5464
+ * ```tsx
5465
+ * // Success badge with filled variant
5466
+ * <Badge success filled>Active</Badge>
5467
+ * ```
5468
+ *
5469
+ * @example
5470
+ * ```tsx
5471
+ * // Notification count badge
5472
+ * <Badge danger pill xs>3</Badge>
5473
+ * ```
5474
+ *
5475
+ * @example
5476
+ * ```tsx
5477
+ * // Badge as a link
5478
+ * <Badge href="/beta" info outlined>Beta</Badge>
5479
+ * ```
5480
+ *
5481
+ * @see {@link BadgeProps} for all available props
5482
+ */
5503
5483
  const Badge = forwardRef(function Badge(props, ref) {
5504
5484
  const theme = useTheme();
5505
5485
  return jsx(ThemedComponent, { theme: theme.badge, ref: ref, ...props });
5506
5486
  });
5507
5487
 
5488
+ /**
5489
+ * A visual separator component for dividing content sections.
5490
+ *
5491
+ * Renders a horizontal line to separate content blocks. Can be styled
5492
+ * with different appearances and sizes. Useful for creating visual
5493
+ * hierarchy and content organization.
5494
+ *
5495
+ * @example
5496
+ * ```tsx
5497
+ * // Basic divider
5498
+ * <Text>Section 1</Text>
5499
+ * <Divider />
5500
+ * <Text>Section 2</Text>
5501
+ * ```
5502
+ *
5503
+ * @example
5504
+ * ```tsx
5505
+ * // Styled divider
5506
+ * <Divider primary lg />
5507
+ * ```
5508
+ *
5509
+ * @example
5510
+ * ```tsx
5511
+ * // Divider with padding
5512
+ * <Divider padding />
5513
+ * ```
5514
+ *
5515
+ * @see {@link DividerProps} for all available props
5516
+ */
5508
5517
  const Divider = forwardRef(function Divider(props, ref) {
5509
5518
  const theme = useTheme();
5510
5519
  return jsx(ThemedComponent, { theme: theme.divider, ref: ref, ...props });
5511
5520
  });
5512
5521
 
5522
+ /**
5523
+ * A chip component for displaying tags, filters, or selections.
5524
+ *
5525
+ * Chips are interactive elements commonly used to represent tags, filters,
5526
+ * or user selections. They typically appear in pill shape and can be
5527
+ * removed or clicked. Similar to badges but more interactive in nature.
5528
+ *
5529
+ * @example
5530
+ * ```tsx
5531
+ * // Basic chip
5532
+ * <Chip>React</Chip>
5533
+ * ```
5534
+ *
5535
+ * @example
5536
+ * ```tsx
5537
+ * // Filter chip with primary color
5538
+ * <Chip primary pill>JavaScript</Chip>
5539
+ * ```
5540
+ *
5541
+ * @example
5542
+ * ```tsx
5543
+ * // Removable tag chip
5544
+ * <Chip secondary outlined xs>TypeScript ×</Chip>
5545
+ * ```
5546
+ *
5547
+ * @example
5548
+ * ```tsx
5549
+ * // Clickable chip as link
5550
+ * <Chip href="/tag/react" accent>React</Chip>
5551
+ * ```
5552
+ *
5553
+ * @see {@link ChipProps} for all available props
5554
+ */
5513
5555
  const Chip = forwardRef(function Chip(props, ref) {
5514
5556
  const theme = useTheme();
5515
5557
  return jsx(ThemedComponent, { theme: theme.chip, ref: ref, ...props });
5516
5558
  });
5517
5559
 
5560
+ /**
5561
+ * An inline code component for displaying code snippets or technical terms.
5562
+ *
5563
+ * Renders text in a monospace font with subtle background styling to
5564
+ * distinguish code from regular text. Ideal for inline code references,
5565
+ * variable names, or short code snippets within paragraphs.
5566
+ *
5567
+ * @example
5568
+ * ```tsx
5569
+ * // Basic inline code
5570
+ * <Code>const x = 10</Code>
5571
+ * ```
5572
+ *
5573
+ * @example
5574
+ * ```tsx
5575
+ * // Code with custom appearance
5576
+ * <Code primary filled>npm install</Code>
5577
+ * ```
5578
+ *
5579
+ * @example
5580
+ * ```tsx
5581
+ * // Code block style
5582
+ * <Code secondary outlined lg mono>function hello() {}</Code>
5583
+ * ```
5584
+ *
5585
+ * @example
5586
+ * ```tsx
5587
+ * // Code with custom styling
5588
+ * <Code className="px-4 py-2">git commit -m "message"</Code>
5589
+ * ```
5590
+ *
5591
+ * @see {@link CodeProps} for all available props
5592
+ */
5518
5593
  const Code = forwardRef(function Code(props, ref) {
5519
5594
  const theme = useTheme();
5520
5595
  return jsx(ThemedComponent, { theme: theme.code, ref: ref, ...props });
5521
5596
  });
5522
5597
 
5598
+ /**
5599
+ * A styled checkbox component for forms and selections.
5600
+ *
5601
+ * Provides a custom-styled checkbox with checkmark visualization. Supports
5602
+ * all standard HTML checkbox attributes (checked, onChange, disabled, etc.)
5603
+ * and can be customized with appearances, sizes, and variants.
5604
+ *
5605
+ * @example
5606
+ * ```tsx
5607
+ * // Basic checkbox
5608
+ * <Checkbox />
5609
+ * ```
5610
+ *
5611
+ * @example
5612
+ * ```tsx
5613
+ * // Controlled checkbox with label
5614
+ * <Label>
5615
+ * <Checkbox checked={accepted} onChange={(e) => setAccepted(e.target.checked)} />
5616
+ * I accept the terms
5617
+ * </Label>
5618
+ * ```
5619
+ *
5620
+ * @example
5621
+ * ```tsx
5622
+ * // Primary checkbox with custom size
5623
+ * <Checkbox primary lg defaultChecked />
5624
+ * ```
5625
+ *
5626
+ * @example
5627
+ * ```tsx
5628
+ * // Disabled checkbox
5629
+ * <Checkbox disabled checked />
5630
+ * ```
5631
+ *
5632
+ * @see {@link CheckboxProps} for all available props
5633
+ */
5523
5634
  const Checkbox = forwardRef(function Checkbox(props, ref) {
5524
5635
  const theme = useTheme();
5525
5636
  // Extract only theme-relevant props for wrapper and check components
@@ -5553,101 +5664,743 @@ const Checkbox = forwardRef(function Checkbox(props, ref) {
5553
5664
  return (jsxs(ThemedComponent, { theme: theme.checkbox.wrapper, ref: ref, ...themeProps, children: [jsx(ThemedComponent, { theme: theme.checkbox.input, ...inputProps }), jsx(ThemedComponent, { theme: theme.checkbox.check, ...themeProps, children: theme.checkbox.check.themes.checkElement() })] }));
5554
5665
  });
5555
5666
 
5667
+ /**
5668
+ * A label component for form fields and inputs.
5669
+ *
5670
+ * Renders a semantic HTML label element with typography and styling support.
5671
+ * Typically used with form inputs like Input or Checkbox to provide
5672
+ * accessible labels. Clicking the label focuses the associated input.
5673
+ *
5674
+ * @example
5675
+ * ```tsx
5676
+ * // Basic label
5677
+ * <Label htmlFor="email">Email Address</Label>
5678
+ * ```
5679
+ *
5680
+ * @example
5681
+ * ```tsx
5682
+ * // Label with checkbox
5683
+ * <Label>
5684
+ * <Checkbox id="terms" />
5685
+ * I agree to the terms
5686
+ * </Label>
5687
+ * ```
5688
+ *
5689
+ * @example
5690
+ * ```tsx
5691
+ * // Styled label with custom appearance
5692
+ * <Label semibold primary>Username</Label>
5693
+ * ```
5694
+ *
5695
+ * @example
5696
+ * ```tsx
5697
+ * // Label with input
5698
+ * <Label htmlFor="password" className="block mb-2">
5699
+ * Password
5700
+ * </Label>
5701
+ * <Input id="password" type="password" />
5702
+ * ```
5703
+ *
5704
+ * @see {@link LabelProps} for all available props
5705
+ */
5556
5706
  const Label = forwardRef(function Label(props, ref) {
5557
5707
  const theme = useTheme();
5558
5708
  return jsx(ThemedComponent, { theme: theme.label, ref: ref, ...props });
5559
5709
  });
5560
5710
 
5711
+ /**
5712
+ * An image component with styling and layout support.
5713
+ *
5714
+ * Wraps the HTML img element with VaneUI's styling system. Supports all
5715
+ * standard image attributes (src, alt, width, height, etc.) plus additional
5716
+ * props for borders, shadows, shapes, and positioning.
5717
+ *
5718
+ * @example
5719
+ * ```tsx
5720
+ * // Basic image
5721
+ * <Img src="/photo.jpg" alt="Description" />
5722
+ * ```
5723
+ *
5724
+ * @example
5725
+ * ```tsx
5726
+ * // Rounded image with border
5727
+ * <Img src="/avatar.jpg" alt="User" pill border primary />
5728
+ * ```
5729
+ *
5730
+ * @example
5731
+ * ```tsx
5732
+ * // Image with shadow and custom size
5733
+ * <Img src="/product.jpg" alt="Product" shadow lg />
5734
+ * ```
5735
+ *
5736
+ * @example
5737
+ * ```tsx
5738
+ * // Full width responsive image
5739
+ * <Img src="/banner.jpg" alt="Banner" className="w-full h-auto" />
5740
+ * ```
5741
+ *
5742
+ * @see {@link ImgProps} for all available props
5743
+ */
5561
5744
  const Img = forwardRef(function Img(props, ref) {
5562
5745
  const theme = useTheme();
5563
5746
  return (jsx(ThemedComponent, { theme: theme.img, ref: ref, ...props }));
5564
5747
  });
5565
5748
 
5749
+ /**
5750
+ * A text input field component for forms and user data entry.
5751
+ *
5752
+ * Provides a styled input element with support for all standard HTML input
5753
+ * attributes and types. Can be customized with appearances, sizes, and variants
5754
+ * to match your design system. Supports all native input types (text, email, password, etc.).
5755
+ *
5756
+ * @example
5757
+ * ```tsx
5758
+ * // Basic text input
5759
+ * <Input placeholder="Enter your name" />
5760
+ * ```
5761
+ *
5762
+ * @example
5763
+ * ```tsx
5764
+ * // Email input with primary styling
5765
+ * <Input type="email" primary outlined placeholder="Email address" />
5766
+ * ```
5767
+ *
5768
+ * @example
5769
+ * ```tsx
5770
+ * // Large input with custom styling
5771
+ * <Input lg className="w-full" placeholder="Search..." />
5772
+ * ```
5773
+ *
5774
+ * @example
5775
+ * ```tsx
5776
+ * // Controlled input with state
5777
+ * <Input value={value} onChange={(e) => setValue(e.target.value)} />
5778
+ * ```
5779
+ *
5780
+ * @see {@link InputProps} for all available props
5781
+ */
5566
5782
  const Input = forwardRef(function Input(props, ref) {
5567
5783
  const theme = useTheme();
5568
5784
  return jsx(ThemedComponent, { ref: ref, theme: theme.input, ...props });
5569
5785
  });
5570
5786
 
5787
+ /**
5788
+ * A semantic section container for grouping related content.
5789
+ *
5790
+ * Renders as a semantic HTML section element with generous layout spacing.
5791
+ * Use to organize page content into logical sections. Supports responsive
5792
+ * flex direction with breakpoint props (mobileCol, tabletCol, etc.).
5793
+ *
5794
+ * @example
5795
+ * ```tsx
5796
+ * // Basic section
5797
+ * <Section>
5798
+ * <SectionTitle>About</SectionTitle>
5799
+ * <Text>Section content here.</Text>
5800
+ * </Section>
5801
+ * ```
5802
+ *
5803
+ * @example
5804
+ * ```tsx
5805
+ * // Section with padding and gap
5806
+ * <Section padding gap>
5807
+ * <Title>Features</Title>
5808
+ * <Text>Feature descriptions...</Text>
5809
+ * </Section>
5810
+ * ```
5811
+ *
5812
+ * @example
5813
+ * ```tsx
5814
+ * // Responsive section that stacks on tablets
5815
+ * <Section tabletCol gap>
5816
+ * <Card>Card 1</Card>
5817
+ * <Card>Card 2</Card>
5818
+ * </Section>
5819
+ * ```
5820
+ *
5821
+ * @see {@link SectionProps} for all available props
5822
+ */
5571
5823
  const Section = forwardRef(function Section(props, ref) {
5572
5824
  const theme = useTheme();
5573
5825
  return jsx(ThemedComponent, { theme: theme.section, ref: ref, ...props });
5574
5826
  });
5575
5827
 
5828
+ /**
5829
+ * A page-level content wrapper with maximum width constraints.
5830
+ *
5831
+ * Provides consistent horizontal padding and centers content on the page.
5832
+ * Typically the outermost wrapper for page content. Uses layout spacing
5833
+ * (larger gaps) for structural organization.
5834
+ *
5835
+ * @example
5836
+ * ```tsx
5837
+ * // Basic container
5838
+ * <Container>
5839
+ * <PageTitle>My Page</PageTitle>
5840
+ * <Text>Page content goes here.</Text>
5841
+ * </Container>
5842
+ * ```
5843
+ *
5844
+ * @example
5845
+ * ```tsx
5846
+ * // Container with custom spacing
5847
+ * <Container lg gap>
5848
+ * <Section>Section 1</Section>
5849
+ * <Section>Section 2</Section>
5850
+ * </Container>
5851
+ * ```
5852
+ *
5853
+ * @example
5854
+ * ```tsx
5855
+ * // Full-width container
5856
+ * <Container className="max-w-none">
5857
+ * Wide content
5858
+ * </Container>
5859
+ * ```
5860
+ *
5861
+ * @see {@link ContainerProps} for all available props
5862
+ */
5576
5863
  const Container = forwardRef(function Container(props, ref) {
5577
5864
  const theme = useTheme();
5578
5865
  return jsx(ThemedComponent, { theme: theme.container, ref: ref, ...props });
5579
5866
  });
5580
5867
 
5868
+ /**
5869
+ * A column flex container for vertical content organization.
5870
+ *
5871
+ * Arranges children in a column (vertical) layout with consistent spacing.
5872
+ * Similar to Stack but without responsive breakpoints. Use for predictable
5873
+ * vertical layouts that don't need to change based on screen size.
5874
+ *
5875
+ * @example
5876
+ * ```tsx
5877
+ * // Basic column
5878
+ * <Col gap>
5879
+ * <Title>Column Content</Title>
5880
+ * <Text>First paragraph</Text>
5881
+ * <Text>Second paragraph</Text>
5882
+ * </Col>
5883
+ * ```
5884
+ *
5885
+ * @example
5886
+ * ```tsx
5887
+ * // Column with centered items
5888
+ * <Col itemsCenter justifyCenter gap>
5889
+ * <Badge>Status</Badge>
5890
+ * <Button>Action</Button>
5891
+ * </Col>
5892
+ * ```
5893
+ *
5894
+ * @example
5895
+ * ```tsx
5896
+ * // Full-height column
5897
+ * <Col className="h-screen" justifyBetween>
5898
+ * <header>Header</header>
5899
+ * <main>Main Content</main>
5900
+ * <footer>Footer</footer>
5901
+ * </Col>
5902
+ * ```
5903
+ *
5904
+ * @see {@link ColProps} for all available props
5905
+ */
5581
5906
  const Col = forwardRef(function Col(props, ref) {
5582
5907
  const theme = useTheme();
5583
5908
  return jsx(ThemedComponent, { theme: theme.col, ref: ref, ...props });
5584
5909
  });
5585
5910
 
5911
+ /**
5912
+ * A horizontal flex container for arranging elements side-by-side.
5913
+ *
5914
+ * Arranges children horizontally with consistent spacing. Supports responsive
5915
+ * breakpoints to switch to vertical stacking on smaller screens. Uses layout
5916
+ * spacing for structural organization.
5917
+ *
5918
+ * @example
5919
+ * ```tsx
5920
+ * // Basic horizontal row
5921
+ * <Row gap>
5922
+ * <Button>Action 1</Button>
5923
+ * <Button>Action 2</Button>
5924
+ * </Row>
5925
+ * ```
5926
+ *
5927
+ * @example
5928
+ * ```tsx
5929
+ * // Row with space-between
5930
+ * <Row justifyBetween itemsCenter>
5931
+ * <Title>Page Header</Title>
5932
+ * <Button>CTA</Button>
5933
+ * </Row>
5934
+ * ```
5935
+ *
5936
+ * @example
5937
+ * ```tsx
5938
+ * // Responsive row (stacks on tablets and below)
5939
+ * <Row tabletCol gap>
5940
+ * <Card>Card 1</Card>
5941
+ * <Card>Card 2</Card>
5942
+ * <Card>Card 3</Card>
5943
+ * </Row>
5944
+ * ```
5945
+ *
5946
+ * @see {@link RowProps} for all available props
5947
+ */
5586
5948
  const Row = forwardRef(function Row(props, ref) {
5587
5949
  const theme = useTheme();
5588
5950
  return jsx(ThemedComponent, { theme: theme.row, ref: ref, ...props });
5589
5951
  });
5590
5952
 
5953
+ /**
5954
+ * A 2-column CSS grid container.
5955
+ *
5956
+ * Creates a responsive grid with 2 equal-width columns. Grid items automatically
5957
+ * fill available columns. Uses CSS Grid for precise layout control.
5958
+ *
5959
+ * @example
5960
+ * ```tsx
5961
+ * // Basic 2-column grid
5962
+ * <Grid2 gap>
5963
+ * <Card>Item 1</Card>
5964
+ * <Card>Item 2</Card>
5965
+ * <Card>Item 3</Card>
5966
+ * <Card>Item 4</Card>
5967
+ * </Grid2>
5968
+ * ```
5969
+ *
5970
+ * @example
5971
+ * ```tsx
5972
+ * // Grid with custom styling
5973
+ * <Grid2 gap lg className="auto-rows-fr">
5974
+ * <div>Column 1</div>
5975
+ * <div>Column 2</div>
5976
+ * </Grid2>
5977
+ * ```
5978
+ *
5979
+ * @see {@link GridProps} for all available props
5980
+ */
5591
5981
  const Grid2 = forwardRef(function Grid2(props, ref) {
5592
5982
  const theme = useTheme();
5593
5983
  return jsx(ThemedComponent, { theme: theme.grid2, ref: ref, ...props });
5594
5984
  });
5985
+ /**
5986
+ * A 3-column CSS grid container.
5987
+ *
5988
+ * Creates a responsive grid with 3 equal-width columns. Ideal for card
5989
+ * layouts and feature displays. Grid items automatically wrap to new rows.
5990
+ *
5991
+ * @example
5992
+ * ```tsx
5993
+ * // Basic 3-column grid
5994
+ * <Grid3 gap>
5995
+ * <Card>Feature 1</Card>
5996
+ * <Card>Feature 2</Card>
5997
+ * <Card>Feature 3</Card>
5998
+ * </Grid3>
5999
+ * ```
6000
+ *
6001
+ * @see {@link GridProps} for all available props
6002
+ */
5595
6003
  const Grid3 = forwardRef(function Grid3(props, ref) {
5596
6004
  const theme = useTheme();
5597
6005
  return jsx(ThemedComponent, { theme: theme.grid3, ref: ref, ...props });
5598
6006
  });
6007
+ /**
6008
+ * A 4-column CSS grid container.
6009
+ *
6010
+ * Creates a responsive grid with 4 equal-width columns. Perfect for
6011
+ * image galleries or product listings with multiple items per row.
6012
+ *
6013
+ * @example
6014
+ * ```tsx
6015
+ * // Basic 4-column grid
6016
+ * <Grid4 gap>
6017
+ * <Img src="/img1.jpg" alt="1" />
6018
+ * <Img src="/img2.jpg" alt="2" />
6019
+ * <Img src="/img3.jpg" alt="3" />
6020
+ * <Img src="/img4.jpg" alt="4" />
6021
+ * </Grid4>
6022
+ * ```
6023
+ *
6024
+ * @see {@link GridProps} for all available props
6025
+ */
5599
6026
  const Grid4 = forwardRef(function Grid4(props, ref) {
5600
6027
  const theme = useTheme();
5601
6028
  return jsx(ThemedComponent, { theme: theme.grid4, ref: ref, ...props });
5602
6029
  });
6030
+ /**
6031
+ * A 5-column CSS grid container.
6032
+ *
6033
+ * Creates a responsive grid with 5 equal-width columns. Useful for
6034
+ * dense layouts with many small items, like icon grids or tag clouds.
6035
+ *
6036
+ * @example
6037
+ * ```tsx
6038
+ * // Basic 5-column grid
6039
+ * <Grid5 gap>
6040
+ * <Badge>Tag 1</Badge>
6041
+ * <Badge>Tag 2</Badge>
6042
+ * <Badge>Tag 3</Badge>
6043
+ * <Badge>Tag 4</Badge>
6044
+ * <Badge>Tag 5</Badge>
6045
+ * </Grid5>
6046
+ * ```
6047
+ *
6048
+ * @see {@link GridProps} for all available props
6049
+ */
5603
6050
  const Grid5 = forwardRef(function Grid5(props, ref) {
5604
6051
  const theme = useTheme();
5605
6052
  return jsx(ThemedComponent, { theme: theme.grid5, ref: ref, ...props });
5606
6053
  });
6054
+ /**
6055
+ * A 6-column CSS grid container.
6056
+ *
6057
+ * Creates a responsive grid with 6 equal-width columns. Ideal for very
6058
+ * dense layouts or dashboard widgets with many small components.
6059
+ *
6060
+ * @example
6061
+ * ```tsx
6062
+ * // Basic 6-column grid
6063
+ * <Grid6 gap>
6064
+ * <Chip>Item 1</Chip>
6065
+ * <Chip>Item 2</Chip>
6066
+ * <Chip>Item 3</Chip>
6067
+ * <Chip>Item 4</Chip>
6068
+ * <Chip>Item 5</Chip>
6069
+ * <Chip>Item 6</Chip>
6070
+ * </Grid6>
6071
+ * ```
6072
+ *
6073
+ * @see {@link GridProps} for all available props
6074
+ */
5607
6075
  const Grid6 = forwardRef(function Grid6(props, ref) {
5608
6076
  const theme = useTheme();
5609
6077
  return jsx(ThemedComponent, { theme: theme.grid6, ref: ref, ...props });
5610
6078
  });
5611
6079
 
6080
+ /**
6081
+ * A container component for grouping related content with padding and borders.
6082
+ *
6083
+ * Cards provide visual separation and organization for content blocks. Support
6084
+ * responsive flex direction with breakpoint props. Use for content cards,
6085
+ * feature boxes, or any grouped content that needs visual distinction.
6086
+ *
6087
+ * @example
6088
+ * ```tsx
6089
+ * // Basic card
6090
+ * <Card>
6091
+ * <Title>Card Title</Title>
6092
+ * <Text>Card content goes here.</Text>
6093
+ * </Card>
6094
+ * ```
6095
+ *
6096
+ * @example
6097
+ * ```tsx
6098
+ * // Card with styling
6099
+ * <Card primary outlined shadow padding gap>
6100
+ * <Title>Feature</Title>
6101
+ * <Text>Description of the feature</Text>
6102
+ * <Button>Learn More</Button>
6103
+ * </Card>
6104
+ * ```
6105
+ *
6106
+ * @example
6107
+ * ```tsx
6108
+ * // Responsive card layout
6109
+ * <Card tabletCol gap padding>
6110
+ * <Img src="/image.jpg" alt="Image" />
6111
+ * <div>
6112
+ * <Title>Content</Title>
6113
+ * <Text>Details here</Text>
6114
+ * </div>
6115
+ * </Card>
6116
+ * ```
6117
+ *
6118
+ * @see {@link CardProps} for all available props
6119
+ */
5612
6120
  const Card = forwardRef(function Card(props, ref) {
5613
6121
  const theme = useTheme();
5614
6122
  return jsx(ThemedComponent, { ref: ref, theme: theme.card, ...props });
5615
6123
  });
5616
6124
 
6125
+ /**
6126
+ * A vertical flex container for stacking elements.
6127
+ *
6128
+ * Arranges children vertically with consistent spacing. Supports responsive
6129
+ * breakpoints to switch to horizontal layout on larger screens. Uses layout
6130
+ * spacing for structural organization.
6131
+ *
6132
+ * @example
6133
+ * ```tsx
6134
+ * // Basic vertical stack
6135
+ * <Stack gap>
6136
+ * <Button>Button 1</Button>
6137
+ * <Button>Button 2</Button>
6138
+ * <Button>Button 3</Button>
6139
+ * </Stack>
6140
+ * ```
6141
+ *
6142
+ * @example
6143
+ * ```tsx
6144
+ * // Stack with padding and alignment
6145
+ * <Stack padding gap itemsCenter>
6146
+ * <Title>Centered Content</Title>
6147
+ * <Text>All items are centered</Text>
6148
+ * </Stack>
6149
+ * ```
6150
+ *
6151
+ * @example
6152
+ * ```tsx
6153
+ * // Responsive stack (becomes horizontal on desktop)
6154
+ * <Stack desktopCol gap>
6155
+ * <Card>Item 1</Card>
6156
+ * <Card>Item 2</Card>
6157
+ * </Stack>
6158
+ * ```
6159
+ *
6160
+ * @see {@link StackProps} for all available props
6161
+ */
5617
6162
  const Stack = forwardRef(function Stack(props, ref) {
5618
6163
  const theme = useTheme();
5619
6164
  const stackTheme = theme.stack;
5620
6165
  return jsx(ThemedComponent, { theme: stackTheme, ref: ref, ...props });
5621
6166
  });
5622
6167
 
6168
+ /**
6169
+ * A top-level page heading component (h1).
6170
+ *
6171
+ * Renders the main heading for a page with large, bold typography.
6172
+ * Automatically scales down on smaller screens for responsive design.
6173
+ * Can be rendered as a link when href prop is provided.
6174
+ *
6175
+ * @example
6176
+ * ```tsx
6177
+ * // Basic page title
6178
+ * <PageTitle>Welcome to My Site</PageTitle>
6179
+ * ```
6180
+ *
6181
+ * @example
6182
+ * ```tsx
6183
+ * // Page title with custom styling
6184
+ * <PageTitle primary xl>Product Launch</PageTitle>
6185
+ * ```
6186
+ *
6187
+ * @example
6188
+ * ```tsx
6189
+ * // Page title as a link
6190
+ * <PageTitle href="/">Home Page</PageTitle>
6191
+ * ```
6192
+ *
6193
+ * @see {@link TypographyProps} for all available props
6194
+ */
5623
6195
  const PageTitle = forwardRef(function PageTitle(props, ref) {
5624
6196
  const theme = useTheme();
5625
6197
  return jsx(ThemedComponent, { ref: ref, theme: theme.pageTitle, ...props });
5626
6198
  });
6199
+ /**
6200
+ * A section heading component (h2).
6201
+ *
6202
+ * Renders a heading for major sections of content. Medium-large size with
6203
+ * responsive scaling on smaller screens. Typically used to divide page
6204
+ * content into logical sections.
6205
+ *
6206
+ * @example
6207
+ * ```tsx
6208
+ * // Basic section title
6209
+ * <SectionTitle>Features</SectionTitle>
6210
+ * ```
6211
+ *
6212
+ * @example
6213
+ * ```tsx
6214
+ * // Section title with styling
6215
+ * <SectionTitle secondary bold>About Us</SectionTitle>
6216
+ * ```
6217
+ *
6218
+ * @example
6219
+ * ```tsx
6220
+ * // Section title as a link
6221
+ * <SectionTitle href="#features">Jump to Features</SectionTitle>
6222
+ * ```
6223
+ *
6224
+ * @see {@link TypographyProps} for all available props
6225
+ */
5627
6226
  const SectionTitle = forwardRef(function SectionTitle(props, ref) {
5628
6227
  const theme = useTheme();
5629
6228
  return jsx(ThemedComponent, { ref: ref, theme: theme.sectionTitle, ...props });
5630
6229
  });
6230
+ /**
6231
+ * A subsection heading component (h3).
6232
+ *
6233
+ * Renders a heading for subsections or cards. Medium size with subtle
6234
+ * responsive scaling. Use for content organization below section titles.
6235
+ *
6236
+ * @example
6237
+ * ```tsx
6238
+ * // Basic title
6239
+ * <Title>Getting Started</Title>
6240
+ * ```
6241
+ *
6242
+ * @example
6243
+ * ```tsx
6244
+ * // Title with custom appearance
6245
+ * <Title primary semibold>Installation</Title>
6246
+ * ```
6247
+ *
6248
+ * @example
6249
+ * ```tsx
6250
+ * // Title as a link
6251
+ * <Title href="/docs/intro">Documentation</Title>
6252
+ * ```
6253
+ *
6254
+ * @see {@link TypographyProps} for all available props
6255
+ */
5631
6256
  const Title = forwardRef(function Title(props, ref) {
5632
6257
  const theme = useTheme();
5633
6258
  return jsx(ThemedComponent, { ref: ref, theme: theme.title, ...props });
5634
6259
  });
6260
+ /**
6261
+ * A body text component (p).
6262
+ *
6263
+ * Renders paragraph text with automatic URL detection and link conversion.
6264
+ * Use for main content, descriptions, and body copy. Can be rendered as
6265
+ * a link when href prop is provided.
6266
+ *
6267
+ * @example
6268
+ * ```tsx
6269
+ * // Basic paragraph
6270
+ * <Text>This is a paragraph of body text.</Text>
6271
+ * ```
6272
+ *
6273
+ * @example
6274
+ * ```tsx
6275
+ * // Text with custom styling
6276
+ * <Text secondary lg>Large secondary text content.</Text>
6277
+ * ```
6278
+ *
6279
+ * @example
6280
+ * ```tsx
6281
+ * // Text as a link
6282
+ * <Text href="/about">Learn more</Text>
6283
+ * ```
6284
+ *
6285
+ * @example
6286
+ * ```tsx
6287
+ * // Text with typography props
6288
+ * <Text mono semibold>Monospace bold text</Text>
6289
+ * ```
6290
+ *
6291
+ * @see {@link TypographyProps} for all available props
6292
+ */
5635
6293
  const Text = forwardRef(function Text(props, ref) {
5636
6294
  const theme = useTheme();
5637
6295
  return jsx(ThemedComponent, { ref: ref, theme: theme.text, ...props });
5638
6296
  });
6297
+ /**
6298
+ * An anchor link component (a).
6299
+ *
6300
+ * Renders a hyperlink with hover underline effect. Inherits text styling
6301
+ * from parent or can be customized with typography props. Use for
6302
+ * navigation links and clickable text.
6303
+ *
6304
+ * @example
6305
+ * ```tsx
6306
+ * // Basic link
6307
+ * <Link href="/about">About Us</Link>
6308
+ * ```
6309
+ *
6310
+ * @example
6311
+ * ```tsx
6312
+ * // Styled link
6313
+ * <Link href="/contact" primary semibold>Contact</Link>
6314
+ * ```
6315
+ *
6316
+ * @example
6317
+ * ```tsx
6318
+ * // External link
6319
+ * <Link href="https://example.com" target="_blank" rel="noopener">
6320
+ * Visit Example
6321
+ * </Link>
6322
+ * ```
6323
+ *
6324
+ * @see {@link TypographyProps} for all available props
6325
+ */
5639
6326
  const Link = forwardRef(function Link(props, ref) {
5640
6327
  const theme = useTheme();
5641
6328
  return jsx(ThemedComponent, { ref: ref, theme: theme.link, ...props });
5642
6329
  });
6330
+ /**
6331
+ * A list item component (li).
6332
+ *
6333
+ * Renders an individual list item within a List component. Supports
6334
+ * typography styling and can be rendered as a link when href is provided.
6335
+ * Use within List for bullet points or numbered lists.
6336
+ *
6337
+ * @example
6338
+ * ```tsx
6339
+ * // Basic list item
6340
+ * <List>
6341
+ * <ListItem>First item</ListItem>
6342
+ * <ListItem>Second item</ListItem>
6343
+ * </List>
6344
+ * ```
6345
+ *
6346
+ * @example
6347
+ * ```tsx
6348
+ * // Styled list item
6349
+ * <ListItem primary semibold>Important item</ListItem>
6350
+ * ```
6351
+ *
6352
+ * @example
6353
+ * ```tsx
6354
+ * // List item as a link
6355
+ * <ListItem href="/item/1">Click to view details</ListItem>
6356
+ * ```
6357
+ *
6358
+ * @see {@link TypographyProps} for all available props
6359
+ */
5643
6360
  const ListItem = forwardRef(function ListItem(props, ref) {
5644
6361
  const theme = useTheme();
5645
6362
  return jsx(ThemedComponent, { ref: ref, theme: theme.listItem, ...props });
5646
6363
  });
6364
+ /**
6365
+ * A list container component (ul or ol).
6366
+ *
6367
+ * Renders an unordered (bullets) or ordered (numbers) list. Automatically
6368
+ * switches between ul and ol based on the `decimal` prop. Use with ListItem
6369
+ * components for structured lists.
6370
+ *
6371
+ * @example
6372
+ * ```tsx
6373
+ * // Unordered list (bullets)
6374
+ * <List>
6375
+ * <ListItem>Item one</ListItem>
6376
+ * <ListItem>Item two</ListItem>
6377
+ * </List>
6378
+ * ```
6379
+ *
6380
+ * @example
6381
+ * ```tsx
6382
+ * // Ordered list (numbers)
6383
+ * <List decimal>
6384
+ * <ListItem>First step</ListItem>
6385
+ * <ListItem>Second step</ListItem>
6386
+ * </List>
6387
+ * ```
6388
+ *
6389
+ * @example
6390
+ * ```tsx
6391
+ * // Styled list
6392
+ * <List primary lg padding>
6393
+ * <ListItem>Feature A</ListItem>
6394
+ * <ListItem>Feature B</ListItem>
6395
+ * </List>
6396
+ * ```
6397
+ *
6398
+ * @see {@link ListProps} for all available props
6399
+ */
5647
6400
  const List = forwardRef(function List(props, ref) {
5648
6401
  const theme = useTheme();
5649
6402
  return jsx(ThemedComponent, { ref: ref, theme: theme.list, ...props });
5650
6403
  });
5651
6404
 
5652
- export { ACTIVE, APPEARANCE_CATEGORY, APPEARANCE_VALUES, BADGE_CATEGORIES, BASE, BORDER, BORDER_KEYS, BORDER_VALUES, BREAKPOINT, BREAKPOINT_VALUES, BUTTON_CATEGORIES, Badge, Button, CARD_CATEGORIES, CHECKBOX_CATEGORIES, CHIP_CATEGORIES, CODE_CATEGORIES, COL_CATEGORIES, COMPONENT, COMPONENT_PROPS_CATEGORY, CONTAINER_CATEGORIES, Card, Checkbox, Chip, Code, Col, ComponentCategories, ComponentKeys, Container, DISPLAY_VALUES, DIVIDER_CATEGORIES, Divider, FLEX_DIRECTION_VALUES, FOCUS, FOCUS_VISIBLE, FOCUS_VISIBLE_VALUES, FONT_FAMILY_VALUES, FONT_STYLE_VALUES, FONT_WEIGHT_VALUES, GAP_VALUES, GRID_CATEGORIES, Grid2, Grid3, Grid4, Grid5, Grid6, HIDE_VALUES, HOVER, IMG_CATEGORIES, INPUT_CATEGORIES, INTERACTIVE_CATEGORIES, ITEMS_VALUES, Img, Input, JUSTIFY_VALUES, LABEL_CATEGORIES, LAYOUT_CORE, LAYOUT_FLEX, LAYOUT_FULL, LIST_CATEGORIES, LIST_STYLE, LIST_STYLE_VALUES, Label, Link, List, ListItem, MODE_VALUES, ModeKeys, NO_BORDER, OVERFLOW_VALUES, PADDING, PADDING_VALUES, POSITION_VALUES, PageTitle, REVERSE_VALUES, RING_VALUES, ROW_CATEGORIES, Row, SECTION_CATEGORIES, SHADOW_VALUES, SHAPE, SHAPE_VALUES, SIZE_VALUES, STACK_CATEGORIES, Section, SectionTitle, Stack, TEXT_ALIGN_VALUES, TEXT_DECORATION_VALUES, TEXT_TRANSFORM_VALUES, TRANSPARENT_VALUES, TYPOGRAPHY_CATEGORIES, TYPOGRAPHY_FULL, TYPOGRAPHY_STYLE, Text, ThemeProvider, Title, VARIANT, VARIANT_VALUES, VISUAL_CORE, VISUAL_DECORATION, VISUAL_DECORATION_LAYOUT, VISUAL_FULL, VISUAL_LAYOUT, WRAP_VALUES, defaultTheme, themeDefaults, useTheme };
6405
+ export { ACTIVE, APPEARANCE_CATEGORY, BADGE_CATEGORIES, BASE, BORDER, BORDER_KEYS, BREAKPOINT, BUTTON_CATEGORIES, Badge, Button, CARD_CATEGORIES, CHECKBOX_CATEGORIES, CHIP_CATEGORIES, CODE_CATEGORIES, COL_CATEGORIES, COMPONENT, COMPONENT_PROPS_CATEGORY, CONTAINER_CATEGORIES, Card, Checkbox, Chip, Code, Col, ComponentCategories, ComponentKeys, Container, DIVIDER_CATEGORIES, Divider, FOCUS, FOCUS_VISIBLE, GRID_CATEGORIES, Grid2, Grid3, Grid4, Grid5, Grid6, HOVER, IMG_CATEGORIES, INPUT_CATEGORIES, INTERACTIVE_CATEGORIES, Img, Input, LABEL_CATEGORIES, LAYOUT_CORE, LAYOUT_FLEX, LAYOUT_FULL, LIST_CATEGORIES, LIST_STYLE, Label, Link, List, ListItem, MODE_VALUES, ModeKeys, PADDING, PageTitle, ROW_CATEGORIES, Row, SECTION_CATEGORIES, SHAPE, STACK_CATEGORIES, Section, SectionTitle, Stack, TYPOGRAPHY_CATEGORIES, TYPOGRAPHY_FULL, TYPOGRAPHY_STYLE, Text, ThemeProvider, Title, VARIANT, VISUAL_CORE, VISUAL_DECORATION, VISUAL_DECORATION_LAYOUT, VISUAL_FULL, VISUAL_LAYOUT, defaultTheme, themeDefaults, useTheme };
5653
6406
  //# sourceMappingURL=index.esm.js.map