@vaneui/ui 0.3.1-alpha.20251130172447.8795285 → 0.3.1-alpha.20251201135827.a31cb1e

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 (64) hide show
  1. package/dist/components/ui/props/keys.d.ts +4 -28
  2. package/dist/components/ui/props/keys.d.ts.map +1 -1
  3. package/dist/components/ui/theme/appearance/appearanceTheme.d.ts.map +1 -1
  4. package/dist/index.esm.js +38 -124
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/index.js +37 -152
  7. package/dist/index.js.map +1 -1
  8. package/package.json +1 -1
  9. package/dist/components/ui/props/appearance.d.ts +0 -3
  10. package/dist/components/ui/props/appearance.d.ts.map +0 -1
  11. package/dist/components/ui/props/border.d.ts +0 -9
  12. package/dist/components/ui/props/border.d.ts.map +0 -1
  13. package/dist/components/ui/props/breakpoint.d.ts +0 -3
  14. package/dist/components/ui/props/breakpoint.d.ts.map +0 -1
  15. package/dist/components/ui/props/display.d.ts +0 -3
  16. package/dist/components/ui/props/display.d.ts.map +0 -1
  17. package/dist/components/ui/props/flexDirection.d.ts +0 -3
  18. package/dist/components/ui/props/flexDirection.d.ts.map +0 -1
  19. package/dist/components/ui/props/focusVisible.d.ts +0 -3
  20. package/dist/components/ui/props/focusVisible.d.ts.map +0 -1
  21. package/dist/components/ui/props/fontFamily.d.ts +0 -3
  22. package/dist/components/ui/props/fontFamily.d.ts.map +0 -1
  23. package/dist/components/ui/props/fontStyle.d.ts +0 -3
  24. package/dist/components/ui/props/fontStyle.d.ts.map +0 -1
  25. package/dist/components/ui/props/fontWeight.d.ts +0 -3
  26. package/dist/components/ui/props/fontWeight.d.ts.map +0 -1
  27. package/dist/components/ui/props/gap.d.ts +0 -3
  28. package/dist/components/ui/props/gap.d.ts.map +0 -1
  29. package/dist/components/ui/props/hide.d.ts +0 -3
  30. package/dist/components/ui/props/hide.d.ts.map +0 -1
  31. package/dist/components/ui/props/items.d.ts +0 -3
  32. package/dist/components/ui/props/items.d.ts.map +0 -1
  33. package/dist/components/ui/props/justify.d.ts +0 -3
  34. package/dist/components/ui/props/justify.d.ts.map +0 -1
  35. package/dist/components/ui/props/listStyle.d.ts +0 -3
  36. package/dist/components/ui/props/listStyle.d.ts.map +0 -1
  37. package/dist/components/ui/props/overflow.d.ts +0 -3
  38. package/dist/components/ui/props/overflow.d.ts.map +0 -1
  39. package/dist/components/ui/props/padding.d.ts +0 -3
  40. package/dist/components/ui/props/padding.d.ts.map +0 -1
  41. package/dist/components/ui/props/position.d.ts +0 -3
  42. package/dist/components/ui/props/position.d.ts.map +0 -1
  43. package/dist/components/ui/props/reverse.d.ts +0 -3
  44. package/dist/components/ui/props/reverse.d.ts.map +0 -1
  45. package/dist/components/ui/props/ring.d.ts +0 -3
  46. package/dist/components/ui/props/ring.d.ts.map +0 -1
  47. package/dist/components/ui/props/shadow.d.ts +0 -3
  48. package/dist/components/ui/props/shadow.d.ts.map +0 -1
  49. package/dist/components/ui/props/shape.d.ts +0 -3
  50. package/dist/components/ui/props/shape.d.ts.map +0 -1
  51. package/dist/components/ui/props/size.d.ts +0 -3
  52. package/dist/components/ui/props/size.d.ts.map +0 -1
  53. package/dist/components/ui/props/textAlign.d.ts +0 -3
  54. package/dist/components/ui/props/textAlign.d.ts.map +0 -1
  55. package/dist/components/ui/props/textDecoration.d.ts +0 -3
  56. package/dist/components/ui/props/textDecoration.d.ts.map +0 -1
  57. package/dist/components/ui/props/textTransform.d.ts +0 -3
  58. package/dist/components/ui/props/textTransform.d.ts.map +0 -1
  59. package/dist/components/ui/props/transparent.d.ts +0 -3
  60. package/dist/components/ui/props/transparent.d.ts.map +0 -1
  61. package/dist/components/ui/props/variant.d.ts +0 -3
  62. package/dist/components/ui/props/variant.d.ts.map +0 -1
  63. package/dist/components/ui/props/wrap.d.ts +0 -3
  64. package/dist/components/ui/props/wrap.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -11,99 +11,6 @@ var react = require('react');
11
11
  class BaseTheme {
12
12
  }
13
13
 
14
- /** All appearance property values */
15
- const APPEARANCE_VALUES = ['default', 'accent', 'primary', 'secondary', 'tertiary', 'success', 'danger', 'warning', 'info', 'link'];
16
-
17
- /** Hide border - removes border styling (overrides appearance colors) */
18
- const NO_BORDER = 'noBorder';
19
- /** All border property values - includes all border variations and noBorder */
20
- const BORDER_VALUES = ['border', 'borderT', 'borderB', 'borderL', 'borderR', 'borderX', 'borderY', 'noBorder'];
21
- /** All border side keys (excluding noBorder since it doesn't have a CSS class) */
22
- const BORDER_KEYS = ['border', 'borderT', 'borderB', 'borderL', 'borderR', 'borderX', 'borderY'];
23
-
24
- /** All breakpoint property values */
25
- const BREAKPOINT_VALUES = ['mobileCol', 'tabletCol', 'laptopCol', 'desktopCol'];
26
-
27
- /** All display property values */
28
- const DISPLAY_VALUES = ['inline', 'block', 'inlineBlock', 'flex', 'inlineFlex', 'grid', 'inlineGrid', 'contents', 'table', 'tableCell', 'hidden'];
29
-
30
- /** All flex direction property values */
31
- const FLEX_DIRECTION_VALUES = ['row', 'column', 'rowReverse', 'columnReverse'];
32
-
33
- /** All font family property values */
34
- const FONT_FAMILY_VALUES = ['sans', 'serif', 'mono'];
35
-
36
- /** All font style property values */
37
- const FONT_STYLE_VALUES = ['italic', 'notItalic'];
38
-
39
- /** All font weight property values */
40
- const FONT_WEIGHT_VALUES = ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'];
41
-
42
- /** All gap property values */
43
- const GAP_VALUES = ['gap', 'noGap'];
44
-
45
- /** All hide property values */
46
- const HIDE_VALUES = ['mobileHide', 'tabletHide', 'laptopHide', 'desktopHide'];
47
-
48
- /** All items property values */
49
- const ITEMS_VALUES = ['itemsStart', 'itemsEnd', 'itemsCenter', 'itemsBaseline', 'itemsStretch'];
50
-
51
- /** All justify property values */
52
- const JUSTIFY_VALUES = ['justifyStart', 'justifyEnd', 'justifyCenter', 'justifyBetween', 'justifyAround', 'justifyEvenly', 'justifyStretch', 'justifyBaseline'];
53
-
54
- /** All list style property values */
55
- const LIST_STYLE_VALUES = ['disc', 'decimal'];
56
-
57
- /** All overflow property values */
58
- const OVERFLOW_VALUES = [
59
- 'overflowAuto', 'overflowHidden', 'overflowClip', 'overflowVisible', 'overflowScroll',
60
- 'overflowXAuto', 'overflowYAuto', 'overflowXHidden', 'overflowYHidden',
61
- 'overflowXClip', 'overflowYClip', 'overflowXVisible', 'overflowYVisible',
62
- 'overflowXScroll', 'overflowYScroll'
63
- ];
64
-
65
- /** All padding property values */
66
- const PADDING_VALUES = ['padding', 'noPadding'];
67
-
68
- /** All position property values */
69
- const POSITION_VALUES = ['relative', 'absolute', 'fixed', 'sticky', 'static'];
70
-
71
- /** All reverse property values */
72
- const REVERSE_VALUES = ['reverse'];
73
-
74
- /** All ring property values */
75
- const RING_VALUES = ['ring', 'noRing'];
76
-
77
- /** All shadow property values */
78
- const SHADOW_VALUES = ['shadow', 'noShadow'];
79
-
80
- /** All focusVisible property values */
81
- const FOCUS_VISIBLE_VALUES = ['focusVisible', 'noFocusVisible'];
82
-
83
- /** All shape property values */
84
- const SHAPE_VALUES = ['pill', 'sharp', 'rounded'];
85
-
86
- /** All size property values */
87
- const SIZE_VALUES = ['xs', 'sm', 'md', 'lg', 'xl'];
88
-
89
- /** All text align property values */
90
- const TEXT_ALIGN_VALUES = ['textLeft', 'textCenter', 'textRight', 'textJustify'];
91
-
92
- /** All text decoration property values */
93
- const TEXT_DECORATION_VALUES = ['underline', 'lineThrough', 'noUnderline', 'overline'];
94
-
95
- /** All text transform property values */
96
- const TEXT_TRANSFORM_VALUES = ['uppercase', 'lowercase', 'capitalize', 'normalCase'];
97
-
98
- /** All transparent property values */
99
- const TRANSPARENT_VALUES = ['transparent'];
100
-
101
- /** All variant property values */
102
- const VARIANT_VALUES = ['filled', 'outline'];
103
-
104
- /** All wrap property values */
105
- const WRAP_VALUES = ['flexWrap', 'flexNoWrap', 'flexWrapReverse'];
106
-
107
14
  /** Base state - default resting appearance */
108
15
  const BASE = 'base';
109
16
  /** Hover state - appearance when cursor hovers over element */
@@ -168,62 +75,69 @@ const APPEARANCE_CATEGORY = ['text', 'border', 'ring', 'shadow', 'bg', 'accent',
168
75
  /** Component property keys mapping categories to their available values */
169
76
  const ComponentKeys = {
170
77
  /** Color appearance options */
171
- appearance: APPEARANCE_VALUES,
78
+ appearance: ['default', 'accent', 'primary', 'secondary', 'tertiary', 'success', 'danger', 'warning', 'info', 'link'],
172
79
  /** Border visibility: includes all border variations and noBorder (border, borderT, borderB, etc., noBorder) */
173
- border: BORDER_VALUES,
80
+ border: ['border', 'borderT', 'borderB', 'borderL', 'borderR', 'borderX', 'borderY', 'noBorder'],
174
81
  /** Column breakpoints for responsive grid layouts */
175
- breakpoint: BREAKPOINT_VALUES,
82
+ breakpoint: ['mobileCol', 'tabletCol', 'laptopCol', 'desktopCol'],
176
83
  /** CSS display property values for element layout behavior */
177
- display: DISPLAY_VALUES,
84
+ display: ['inline', 'block', 'inlineBlock', 'flex', 'inlineFlex', 'grid', 'inlineGrid', 'contents', 'table', 'tableCell', 'hidden'],
178
85
  /** Flex direction: row (horizontal), column (vertical), or reversed variants */
179
- flexDirection: FLEX_DIRECTION_VALUES,
86
+ flexDirection: ['row', 'column', 'rowReverse', 'columnReverse'],
180
87
  /** Font family types: sans-serif, serif, or monospace */
181
- fontFamily: FONT_FAMILY_VALUES,
88
+ fontFamily: ['sans', 'serif', 'mono'],
182
89
  /** Font style: italic or notItalic (normal) */
183
- fontStyle: FONT_STYLE_VALUES,
90
+ fontStyle: ['italic', 'notItalic'],
184
91
  /** Font weight from thin (100) to black (900) */
185
- fontWeight: FONT_WEIGHT_VALUES,
92
+ fontWeight: ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],
186
93
  /** Spacing between flex/grid items: gap (enabled) or noGap (disabled) */
187
- gap: GAP_VALUES,
94
+ gap: ['gap', 'noGap'],
188
95
  /** Hide elements at specific breakpoint sizes */
189
- hide: HIDE_VALUES,
96
+ hide: ['mobileHide', 'tabletHide', 'laptopHide', 'desktopHide'],
190
97
  /** Cross-axis alignment for flex items (align-items) */
191
- items: ITEMS_VALUES,
98
+ items: ['itemsStart', 'itemsEnd', 'itemsCenter', 'itemsBaseline', 'itemsStretch'],
192
99
  /** Main-axis alignment for flex items (justify-content) */
193
- justify: JUSTIFY_VALUES,
100
+ justify: ['justifyStart', 'justifyEnd', 'justifyCenter', 'justifyBetween', 'justifyAround', 'justifyEvenly', 'justifyStretch', 'justifyBaseline'],
194
101
  /** List bullet/numbering style: disc (bullets) or decimal (numbers) */
195
- listStyle: LIST_STYLE_VALUES,
102
+ listStyle: ['disc', 'decimal'],
196
103
  /** Overflow behavior for content that exceeds container bounds */
197
- overflow: OVERFLOW_VALUES,
104
+ overflow: [
105
+ 'overflowAuto', 'overflowHidden', 'overflowClip', 'overflowVisible', 'overflowScroll',
106
+ 'overflowXAuto', 'overflowYAuto', 'overflowXHidden', 'overflowYHidden',
107
+ 'overflowXClip', 'overflowYClip', 'overflowXVisible', 'overflowYVisible',
108
+ 'overflowXScroll', 'overflowYScroll'
109
+ ],
198
110
  /** Internal spacing: padding (enabled) or noPadding (disabled) */
199
- padding: PADDING_VALUES,
111
+ padding: ['padding', 'noPadding'],
200
112
  /** CSS positioning: relative, absolute, fixed, sticky, static */
201
- position: POSITION_VALUES,
113
+ position: ['relative', 'absolute', 'fixed', 'sticky', 'static'],
202
114
  /** Reverse the order of flex items */
203
- reverse: REVERSE_VALUES,
115
+ reverse: ['reverse'],
204
116
  /** Focus ring visibility: ring (show) or noRing (hide) */
205
- ring: RING_VALUES,
117
+ ring: ['ring', 'noRing'],
206
118
  /** Drop shadow visibility: shadow (enabled) or noShadow (disabled) */
207
- shadow: SHADOW_VALUES,
119
+ shadow: ['shadow', 'noShadow'],
208
120
  /** Focus-visible outline visibility: focusVisible (show) or noFocusVisible (hide) */
209
- focusVisible: FOCUS_VISIBLE_VALUES,
121
+ focusVisible: ['focusVisible', 'noFocusVisible'],
210
122
  /** Border radius shape: pill (fully rounded), sharp (no radius), rounded (medium radius) */
211
- shape: SHAPE_VALUES,
123
+ shape: ['pill', 'sharp', 'rounded'],
212
124
  /** Size scale from extra-small to extra-large */
213
- size: SIZE_VALUES,
125
+ size: ['xs', 'sm', 'md', 'lg', 'xl'],
214
126
  /** Text alignment: left, center, right, justify */
215
- textAlign: TEXT_ALIGN_VALUES,
127
+ textAlign: ['textLeft', 'textCenter', 'textRight', 'textJustify'],
216
128
  /** Text decoration: underline, strikethrough (lineThrough), none (noUnderline), overline */
217
- textDecoration: TEXT_DECORATION_VALUES,
129
+ textDecoration: ['underline', 'lineThrough', 'noUnderline', 'overline'],
218
130
  /** Text case transformation: UPPERCASE, lowercase, Capitalize, normalCase */
219
- textTransform: TEXT_TRANSFORM_VALUES,
131
+ textTransform: ['uppercase', 'lowercase', 'capitalize', 'normalCase'],
220
132
  /** Make background (layout/UI) or text (typography) transparent */
221
- transparent: TRANSPARENT_VALUES,
133
+ transparent: ['transparent'],
222
134
  /** Style variant: filled (solid background) or outline (border only) */
223
- variant: VARIANT_VALUES,
135
+ variant: ['filled', 'outline'],
224
136
  /** Flex item wrapping behavior: wrap, no-wrap, or wrap-reverse */
225
- wrap: WRAP_VALUES,
137
+ wrap: ['flexWrap', 'flexNoWrap', 'flexWrapReverse'],
226
138
  };
139
+ /** All border side keys (excluding noBorder since it doesn't have a CSS class) */
140
+ const BORDER_KEYS = ['border', 'borderT', 'borderB', 'borderL', 'borderR', 'borderX', 'borderY'];
227
141
  /** Composite categories built from core blocks */
228
142
  /** Complete layout category including core and flex properties */
229
143
  const LAYOUT_FULL = [...LAYOUT_CORE, ...LAYOUT_FLEX];
@@ -3797,11 +3711,11 @@ class AppearanceTheme extends BaseTheme {
3797
3711
  var _a;
3798
3712
  if (this.category === 'border') {
3799
3713
  // If noBorder is selected from the border category, don't apply appearance colors
3800
- if (extractedKeys.border === NO_BORDER) {
3714
+ if (extractedKeys.border === 'noBorder') {
3801
3715
  return [];
3802
3716
  }
3803
3717
  // Only apply appearance colors if any border prop is set (and not noBorder)
3804
- const hasBorderProps = extractedKeys.border !== undefined && extractedKeys.border !== NO_BORDER;
3718
+ const hasBorderProps = extractedKeys.border !== undefined && extractedKeys.border !== 'noBorder';
3805
3719
  // If no border props are set, don't apply appearance colors
3806
3720
  if (!hasBorderProps) {
3807
3721
  return [];
@@ -5653,14 +5567,11 @@ const List = react.forwardRef(function List(props, ref) {
5653
5567
 
5654
5568
  exports.ACTIVE = ACTIVE;
5655
5569
  exports.APPEARANCE_CATEGORY = APPEARANCE_CATEGORY;
5656
- exports.APPEARANCE_VALUES = APPEARANCE_VALUES;
5657
5570
  exports.BADGE_CATEGORIES = BADGE_CATEGORIES;
5658
5571
  exports.BASE = BASE;
5659
5572
  exports.BORDER = BORDER;
5660
5573
  exports.BORDER_KEYS = BORDER_KEYS;
5661
- exports.BORDER_VALUES = BORDER_VALUES;
5662
5574
  exports.BREAKPOINT = BREAKPOINT;
5663
- exports.BREAKPOINT_VALUES = BREAKPOINT_VALUES;
5664
5575
  exports.BUTTON_CATEGORIES = BUTTON_CATEGORIES;
5665
5576
  exports.Badge = Badge;
5666
5577
  exports.Button = Button;
@@ -5680,68 +5591,44 @@ exports.Col = Col;
5680
5591
  exports.ComponentCategories = ComponentCategories;
5681
5592
  exports.ComponentKeys = ComponentKeys;
5682
5593
  exports.Container = Container;
5683
- exports.DISPLAY_VALUES = DISPLAY_VALUES;
5684
5594
  exports.DIVIDER_CATEGORIES = DIVIDER_CATEGORIES;
5685
5595
  exports.Divider = Divider;
5686
- exports.FLEX_DIRECTION_VALUES = FLEX_DIRECTION_VALUES;
5687
5596
  exports.FOCUS = FOCUS;
5688
5597
  exports.FOCUS_VISIBLE = FOCUS_VISIBLE;
5689
- exports.FOCUS_VISIBLE_VALUES = FOCUS_VISIBLE_VALUES;
5690
- exports.FONT_FAMILY_VALUES = FONT_FAMILY_VALUES;
5691
- exports.FONT_STYLE_VALUES = FONT_STYLE_VALUES;
5692
- exports.FONT_WEIGHT_VALUES = FONT_WEIGHT_VALUES;
5693
- exports.GAP_VALUES = GAP_VALUES;
5694
5598
  exports.GRID_CATEGORIES = GRID_CATEGORIES;
5695
5599
  exports.Grid2 = Grid2;
5696
5600
  exports.Grid3 = Grid3;
5697
5601
  exports.Grid4 = Grid4;
5698
5602
  exports.Grid5 = Grid5;
5699
5603
  exports.Grid6 = Grid6;
5700
- exports.HIDE_VALUES = HIDE_VALUES;
5701
5604
  exports.HOVER = HOVER;
5702
5605
  exports.IMG_CATEGORIES = IMG_CATEGORIES;
5703
5606
  exports.INPUT_CATEGORIES = INPUT_CATEGORIES;
5704
5607
  exports.INTERACTIVE_CATEGORIES = INTERACTIVE_CATEGORIES;
5705
- exports.ITEMS_VALUES = ITEMS_VALUES;
5706
5608
  exports.Img = Img;
5707
5609
  exports.Input = Input;
5708
- exports.JUSTIFY_VALUES = JUSTIFY_VALUES;
5709
5610
  exports.LABEL_CATEGORIES = LABEL_CATEGORIES;
5710
5611
  exports.LAYOUT_CORE = LAYOUT_CORE;
5711
5612
  exports.LAYOUT_FLEX = LAYOUT_FLEX;
5712
5613
  exports.LAYOUT_FULL = LAYOUT_FULL;
5713
5614
  exports.LIST_CATEGORIES = LIST_CATEGORIES;
5714
5615
  exports.LIST_STYLE = LIST_STYLE;
5715
- exports.LIST_STYLE_VALUES = LIST_STYLE_VALUES;
5716
5616
  exports.Label = Label;
5717
5617
  exports.Link = Link;
5718
5618
  exports.List = List;
5719
5619
  exports.ListItem = ListItem;
5720
5620
  exports.MODE_VALUES = MODE_VALUES;
5721
5621
  exports.ModeKeys = ModeKeys;
5722
- exports.NO_BORDER = NO_BORDER;
5723
- exports.OVERFLOW_VALUES = OVERFLOW_VALUES;
5724
5622
  exports.PADDING = PADDING;
5725
- exports.PADDING_VALUES = PADDING_VALUES;
5726
- exports.POSITION_VALUES = POSITION_VALUES;
5727
5623
  exports.PageTitle = PageTitle;
5728
- exports.REVERSE_VALUES = REVERSE_VALUES;
5729
- exports.RING_VALUES = RING_VALUES;
5730
5624
  exports.ROW_CATEGORIES = ROW_CATEGORIES;
5731
5625
  exports.Row = Row;
5732
5626
  exports.SECTION_CATEGORIES = SECTION_CATEGORIES;
5733
- exports.SHADOW_VALUES = SHADOW_VALUES;
5734
5627
  exports.SHAPE = SHAPE;
5735
- exports.SHAPE_VALUES = SHAPE_VALUES;
5736
- exports.SIZE_VALUES = SIZE_VALUES;
5737
5628
  exports.STACK_CATEGORIES = STACK_CATEGORIES;
5738
5629
  exports.Section = Section;
5739
5630
  exports.SectionTitle = SectionTitle;
5740
5631
  exports.Stack = Stack;
5741
- exports.TEXT_ALIGN_VALUES = TEXT_ALIGN_VALUES;
5742
- exports.TEXT_DECORATION_VALUES = TEXT_DECORATION_VALUES;
5743
- exports.TEXT_TRANSFORM_VALUES = TEXT_TRANSFORM_VALUES;
5744
- exports.TRANSPARENT_VALUES = TRANSPARENT_VALUES;
5745
5632
  exports.TYPOGRAPHY_CATEGORIES = TYPOGRAPHY_CATEGORIES;
5746
5633
  exports.TYPOGRAPHY_FULL = TYPOGRAPHY_FULL;
5747
5634
  exports.TYPOGRAPHY_STYLE = TYPOGRAPHY_STYLE;
@@ -5749,13 +5636,11 @@ exports.Text = Text;
5749
5636
  exports.ThemeProvider = ThemeProvider;
5750
5637
  exports.Title = Title;
5751
5638
  exports.VARIANT = VARIANT;
5752
- exports.VARIANT_VALUES = VARIANT_VALUES;
5753
5639
  exports.VISUAL_CORE = VISUAL_CORE;
5754
5640
  exports.VISUAL_DECORATION = VISUAL_DECORATION;
5755
5641
  exports.VISUAL_DECORATION_LAYOUT = VISUAL_DECORATION_LAYOUT;
5756
5642
  exports.VISUAL_FULL = VISUAL_FULL;
5757
5643
  exports.VISUAL_LAYOUT = VISUAL_LAYOUT;
5758
- exports.WRAP_VALUES = WRAP_VALUES;
5759
5644
  exports.defaultTheme = defaultTheme;
5760
5645
  exports.themeDefaults = themeDefaults;
5761
5646
  exports.useTheme = useTheme;