@yahoo/uds 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. package/cli/README.md +2 -8
  2. package/cli/bunfig.toml +3 -0
  3. package/cli/commands/expo/_setup.ts +1 -0
  4. package/cli/commands/expo/build.ts +1 -1
  5. package/cli/commands/expo/launch.ts +1 -1
  6. package/cli/commands/purge.ts +1 -1
  7. package/cli/commands/sync.ts +16 -4
  8. package/cli/commands/uds.ts +4 -1
  9. package/cli/commands/version.ts +1 -1
  10. package/cli/preload.ts +42 -0
  11. package/cli/utils/configWorker.ts +30 -11
  12. package/cli/utils/getCommandHelp.ts +22 -13
  13. package/cli/utils/purgeCSS.test.ts +139 -0
  14. package/cli/utils/purgeCSS.ts +72 -8
  15. package/cli/utils/setupConfigWorker.ts +8 -38
  16. package/cli/utils/types.ts +5 -2
  17. package/dist/{Image.native-tkOXN29I.d.ts → Image.native-C6kOWgnf.d.ts} +1 -1
  18. package/dist/{Image.native-jCNIrPZD.d.cts → Image.native-VeXt5aeI.d.cts} +1 -1
  19. package/dist/VStack-BSD9TbBd.d.cts +114 -0
  20. package/dist/VStack-Dk3-8IyU.d.ts +114 -0
  21. package/dist/experimental/index.cjs +1 -1
  22. package/dist/experimental/index.d.cts +5 -4
  23. package/dist/experimental/index.d.ts +5 -4
  24. package/dist/experimental/index.js +1 -1
  25. package/dist/experimental/index.native.cjs +1 -1
  26. package/dist/experimental/index.native.d.cts +3 -3
  27. package/dist/experimental/index.native.d.ts +3 -3
  28. package/dist/experimental/index.native.js +1 -1
  29. package/dist/fixtures/index.cjs +1 -1
  30. package/dist/fixtures/index.d.cts +15 -1
  31. package/dist/fixtures/index.d.ts +15 -1
  32. package/dist/fixtures/index.js +1 -1
  33. package/dist/index.cjs +1 -1
  34. package/dist/index.d.cts +133 -184
  35. package/dist/index.d.ts +133 -184
  36. package/dist/index.js +1 -1
  37. package/dist/{index.native-xVHqKK0u.d.ts → index.native-CisPq4BI.d.ts} +1 -1
  38. package/dist/{index.native--Dm3KDDS.d.cts → index.native-DJlx-bfM.d.cts} +1 -1
  39. package/dist/index.native.cjs +1 -1
  40. package/dist/index.native.d.cts +5 -5
  41. package/dist/index.native.d.ts +5 -5
  42. package/dist/index.native.js +1 -1
  43. package/dist/tailwindPlugin.cjs +1 -1
  44. package/dist/tailwindPlugin.d.cts +1 -1
  45. package/dist/tailwindPlugin.d.ts +1 -1
  46. package/dist/tailwindPlugin.js +1 -1
  47. package/dist/tailwindPurge/utils.cjs +1 -0
  48. package/dist/tailwindPurge/utils.d.cts +25 -0
  49. package/dist/tailwindPurge/utils.d.ts +25 -0
  50. package/dist/tailwindPurge/utils.js +1 -0
  51. package/dist/tailwindPurge.cjs +1 -1
  52. package/dist/tailwindPurge.d.cts +5 -1
  53. package/dist/tailwindPurge.d.ts +5 -1
  54. package/dist/tailwindPurge.js +1 -1
  55. package/dist/tokens/index.cjs +1 -1
  56. package/dist/tokens/index.d.cts +2 -2
  57. package/dist/tokens/index.d.ts +2 -2
  58. package/dist/tokens/index.js +1 -1
  59. package/dist/tokens/index.native.cjs +1 -1
  60. package/dist/tokens/index.native.d.cts +2 -2
  61. package/dist/tokens/index.native.d.ts +2 -2
  62. package/dist/tokens/index.native.js +1 -1
  63. package/dist/tokens/parseTokens.cjs +1 -1
  64. package/dist/tokens/parseTokens.d.cts +1 -1
  65. package/dist/tokens/parseTokens.d.ts +1 -1
  66. package/dist/tokens/parseTokens.js +1 -1
  67. package/dist/tokens/parseTokens.native.d.cts +1 -1
  68. package/dist/tokens/parseTokens.native.d.ts +1 -1
  69. package/dist/{types-7oEBWtMQ.d.cts → types-CzJpH_Oi.d.cts} +2 -2
  70. package/dist/{types-7oEBWtMQ.d.ts → types-CzJpH_Oi.d.ts} +2 -2
  71. package/package.json +18 -2
  72. package/dist/Pressable-2kgXQNVs.d.cts +0 -55
  73. package/dist/Pressable-LIDkIIAF.d.ts +0 -55
  74. /package/dist/{types-J4DLS6Xj.d.cts → types-FO65RM-W.d.cts} +0 -0
  75. /package/dist/{types-J4DLS6Xj.d.ts → types-FO65RM-W.d.ts} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,132 +1,132 @@
1
- import { D as DivProps } from './Pressable-LIDkIIAF.js';
2
- export { B as Box, a as BoxProps, P as Pressable, b as PressableProps } from './Pressable-LIDkIIAF.js';
1
+ import { D as DivProps } from './VStack-Dk3-8IyU.js';
2
+ export { B as Box, a as BoxProps, P as Pressable, b as PressableProps, V as VStack, c as VStackProps } from './VStack-Dk3-8IyU.js';
3
3
  import * as react from 'react';
4
- import { o as UniversalStackProps, p as UniversalIconProps, n as UniversalImageProps, q as UniversalTextProps } from './types-7oEBWtMQ.js';
5
- export { A as AlwaysPalette, s as AlwaysPaletteAlias, t as Animation, u as AriaAttribute, v as AspectRatio, w as AspectRatioConfig, x as AvatarShape, y as AvatarSize, z as AvatarSizeConfig, D as BackgroundColor, B as BackgroundPalette, G as BackgroundPaletteAlias, I as BackgroundStyleProps, d as BackgroundWashPalette, J as BackgroundWashPaletteAlias, K as BorderRadius, M as BorderRadiusConfig, N as BorderStyleProps, O as BorderWidth, Q as BorderWidthConfig, R as BoxShadowConfig, T as ButtonSize, V as ButtonVariant, C as ColorMode, W as ColorModeForApp, a as ColorsConfig, X as ConfigurableTextProperty, c as CorePalette, Y as CorePaletteAlias, Z as CustomSizingStyleProps, _ as DataAttribute, $ as Display, g as Elevation, E as ElevationConfig, a0 as ElevationPaletteAlias, a1 as Flex, a2 as FlexAlignContent, a3 as FlexAlignItems, a4 as FlexAlignSelf, a5 as FlexBasis, a6 as FlexDirection, a7 as FlexGrow, a8 as FlexJustifyContent, a9 as FlexShrink, aa as FlexStyleProps, ab as FlexWrap, ac as FontFamilyConfig, ad as FontFamilyGlobalAlias, h as FontFamilyGlobalConfig, ae as FontSize, af as FontSizeConfig, e as FontWeightConfig, ag as FontWeightDescriptive, f as FontWeightNumeric, ah as ForegroundColor, F as ForegroundPalette, ai as ForegroundPaletteAlias, aj as Height, ak as HighContrastMode, H as Hue, b as HueStep, al as IconName, am as IconSize, an as IconSizeConfig, ao as ImageStyleProps, ap as LayoutStyleProps, aq as LetterSpacing, ar as LineClampAlias, as as LineColor, at as LineHeight, au as LineHeightConfig, L as LinePalette, av as LinePaletteAlias, aw as MaxHeight, ax as MaxWidth, ay as MinHeight, az as MinWidth, aA as Modes, aB as Opacity, aC as OpacityStyleProps, aD as Overflow, aE as Palette, aF as PaletteConfig, aG as PaletteType, P as PaletteValue, aH as PlatformMode, aI as Position, aJ as RegionMode, aK as ScaleConfig, S as ScaleMode, aL as ScaleModeConfig, aM as ScaleModeForApp, aN as SizingStyleProps, aO as SpacingAlias, aP as SpacingConfig, aQ as SpacingStyleProps, aR as SpectrumColor, aS as SpectrumConfig, aT as StateStyleProps, aU as StyleProps, aV as TextStyleProps, aW as TextTransform, aX as TextTransformConfig, aY as TextVariant, aZ as TransitionDelay, a_ as TransitionDuration, a$ as TransitionTiming, k as UniversalAvatarProps, i as UniversalBoxProps, l as UniversalButtonProps, m as UniversalIconButtonProps, j as UniversalPressableProps, b0 as UniversalTextInputProps, U as UniversalTokensConfig, b1 as Width, b2 as ZIndex, b3 as ZIndexConfig, r as alwaysPalette } from './types-7oEBWtMQ.js';
4
+ import { Ref } from 'react';
5
+ import { m as UniversalStackProps, p as UniversalIconProps, o as UniversalImageProps, q as UniversalTextProps } from './types-CzJpH_Oi.js';
6
+ export { A as AlwaysPalette, s as AlwaysPaletteAlias, t as Animation, u as AriaAttribute, v as AspectRatio, w as AspectRatioConfig, x as AvatarShape, y as AvatarSize, z as AvatarSizeConfig, D as BackgroundColor, B as BackgroundPalette, G as BackgroundPaletteAlias, I as BackgroundStyleProps, d as BackgroundWashPalette, J as BackgroundWashPaletteAlias, K as BorderRadius, M as BorderRadiusConfig, N as BorderStyleProps, O as BorderWidth, Q as BorderWidthConfig, R as BoxShadowConfig, T as ButtonSize, V as ButtonVariant, C as ColorMode, W as ColorModeForApp, a as ColorsConfig, X as ConfigurableTextProperty, c as CorePalette, Y as CorePaletteAlias, Z as CustomSizingStyleProps, _ as DataAttribute, $ as Display, g as Elevation, E as ElevationConfig, a0 as ElevationPaletteAlias, a1 as Flex, a2 as FlexAlignContent, a3 as FlexAlignItems, a4 as FlexAlignSelf, a5 as FlexBasis, a6 as FlexDirection, a7 as FlexGrow, a8 as FlexJustifyContent, a9 as FlexShrink, aa as FlexStyleProps, ab as FlexWrap, ac as FontFamilyConfig, ad as FontFamilyGlobalAlias, h as FontFamilyGlobalConfig, ae as FontSize, af as FontSizeConfig, e as FontWeightConfig, ag as FontWeightDescriptive, f as FontWeightNumeric, ah as ForegroundColor, F as ForegroundPalette, ai as ForegroundPaletteAlias, aj as Height, ak as HighContrastMode, H as Hue, b as HueStep, al as IconName, am as IconSize, an as IconSizeConfig, ao as ImageStyleProps, ap as LayoutStyleProps, aq as LetterSpacing, ar as LineClampAlias, as as LineColor, at as LineHeight, au as LineHeightConfig, L as LinePalette, av as LinePaletteAlias, aw as MaxHeight, ax as MaxWidth, ay as MinHeight, az as MinWidth, aA as Modes, aB as Opacity, aC as OpacityStyleProps, aD as Overflow, aE as Palette, aF as PaletteConfig, aG as PaletteType, P as PaletteValue, aH as PlatformMode, aI as Position, aJ as RegionMode, aK as ScaleConfig, S as ScaleMode, aL as ScaleModeConfig, aM as ScaleModeForApp, aN as SizingStyleProps, aO as SpacingAlias, aP as SpacingConfig, aQ as SpacingStyleProps, aR as SpectrumColor, aS as SpectrumConfig, aT as StateStyleProps, aU as StyleProps, aV as TextStyleProps, aW as TextTransform, aX as TextTransformConfig, aY as TextVariant, aZ as TransitionDelay, a_ as TransitionDuration, a$ as TransitionTiming, i as UniversalAvatarProps, k as UniversalBoxProps, j as UniversalButtonProps, n as UniversalIconButtonProps, l as UniversalPressableProps, b0 as UniversalTextInputProps, U as UniversalTokensConfig, b1 as Width, b2 as ZIndex, b3 as ZIndexConfig, r as alwaysPalette } from './types-CzJpH_Oi.js';
6
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
- import { C as CX, a as CVA } from './types-J4DLS6Xj.js';
8
- export { S as SetState } from './types-J4DLS6Xj.js';
9
- export { c as DEFAULT_COLOR_MODE, D as DEFAULT_COLOR_MODE_FOR_APP, g as DEFAULT_HIGH_CONTRAST_MODE, h as DEFAULT_REGION_MODE, e as DEFAULT_SCALE_MODE, b as DEFAULT_SCALE_MODE_FOR_APP, d as defaultTokensConfig, f as fontFamilyGlobal, a as fontWeightMap } from './index.native-xVHqKK0u.js';
8
+ import { C as CX, a as CVA } from './types-FO65RM-W.js';
9
+ export { S as SetState } from './types-FO65RM-W.js';
10
+ export { c as DEFAULT_COLOR_MODE, D as DEFAULT_COLOR_MODE_FOR_APP, g as DEFAULT_HIGH_CONTRAST_MODE, h as DEFAULT_REGION_MODE, e as DEFAULT_SCALE_MODE, b as DEFAULT_SCALE_MODE_FOR_APP, d as defaultTokensConfig, f as fontFamilyGlobal, a as fontWeightMap } from './index.native-CisPq4BI.js';
10
11
  export { AVATAR_SIZE_PREFIX, BORDER_RADIUS_PREFIX, BORDER_WIDTH_PREFIX, DARK_COLOR_MODE_CLASSNAME, DEFAULT_COLOR_MODE_CLASSNAME, DEFAULT_SCALE_MODE_CLASSNAME, FONT_FAMILY_PREFIX, FONT_ICONS_CSS_VAR, FONT_SANS_BETA_CSS_VAR, FONT_SANS_CONDENSED_CSS_VAR, FONT_SANS_CSS_VAR, FONT_SERIF_DISPLAY_CSS_VAR, FONT_SERIF_TEXT_CSS_VAR, FONT_SIZE_PREFIX, FONT_WEIGHT_PREFIX, ICON_SIZE_PREFIX, LARGE_SCALE_MODE_CLASSNAME, LIGHT_COLOR_MODE_CLASSNAME, LINE_HEIGHT_PREFIX, MEDIUM_SCALE_MODE_CLASSNAME, SMALL_SCALE_MODE_CLASSNAME, SPACING_PREFIX, SPECTRUM_COLOR_PREFIX, TEXT_TRANSFORM_PREFIX, UDS_PREFIX, XLARGE_SCALE_MODE_CLASSNAME, XSMALL_SCALE_MODE_CLASSNAME, XXLARGE_SCALE_MODE_CLASSNAME, XXXLARGE_SCALE_MODE_CLASSNAME, entries } from './tokens/index.js';
11
12
 
12
13
  interface HStackProps extends UniversalStackProps, DivProps {
13
14
  }
14
15
  /**
16
+ * A layout primitive that can be used to compose other components.
17
+ * The HStack is essentially the same component as [Box](/components/box) where it uses [flexbox](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox) to lay content out in a row. Where it differs is HStack also allows for gaps between children via the `gap` prop.
18
+ *
19
+ * You should use HStack when:
20
+ *
21
+ * - you want to lay content out in columns that are sized to their content
22
+ * - you want to add gaps between columns
23
+ * - you want to lay content out in columns that fill the available space within the parent container
24
+ * - you need columns of proportionate size to each other (also known as a ratio-based layout)
25
+ *
26
+ *
15
27
  * @example
16
- A layout primitive that can be used to compose other components.
17
- The HStack is essentially the same component as [Box](/components/box) where it uses [flexbox](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox) to lay content out in a row. Where it differs is HStack also allows for gaps between children via the `gap` prop.
18
-
19
- You should use HStack when:
20
-
21
- - you want to lay content out in columns that are sized to their content
22
- - you want to add gaps between columns
23
- - you want to lay content out in columns that fill the available space within the parent container
24
- - you need columns of proportionate size to each other (also known as a ratio-based layout)
25
-
26
-
27
- #### Columns Sized to Content
28
-
29
- ```tsx
30
- import { Box, HStack } from "@yahoo/uds"
31
-
32
- export function Demo() {
33
- return (
34
- <HStack>
35
- <Box spacing="6" backgroundColor="secondary">
36
- First
37
- </Box>
38
- <Box spacing="6" backgroundColor="secondary">
39
- Second
40
- </Box>
41
- <Box spacing="6" backgroundColor="secondary">
42
- Third
43
- </Box>
44
- </HStack>
45
- )
46
- }
47
- ```
48
-
49
- #### Columns with Gaps
50
-
51
- ```tsx
52
- import { Box, HStack } from "@yahoo/uds"
53
-
54
- export function Demo() {
55
- return (
56
- <HStack gap="1">
57
- <Box spacing="6" backgroundColor="secondary">
58
- First
59
- </Box>
60
- <Box spacing="6" backgroundColor="secondary">
61
- Second
62
- </Box>
63
- <Box spacing="6" backgroundColor="secondary">
64
- Third
65
- </Box>
66
- </HStack>
67
- )
68
- }
69
- ```
70
-
71
- #### Columns that Fill the Available Space
72
-
73
- ```tsx
74
- import { Box, HStack } from "@yahoo/uds"
75
-
76
- export function Demo() {
77
- return (
78
- <HStack gap="1">
79
- <Box spacing="6" flexGrow="1" backgroundColor="secondary">
80
- First
81
- </Box>
82
- <Box spacing="6" flexGrow="1" backgroundColor="secondary">
83
- Second
84
- </Box>
85
- <Box spacing="6" flexGrow="1" backgroundColor="secondary">
86
- Third
87
- </Box>
88
- </HStack>
89
- )
90
- ```
91
-
92
- #### Columns that Have Proportionate Sizes
93
-
94
- ```tsx
95
- import { Box, HStack } from "@yahoo/uds"
96
-
97
- export function Demo() {
98
- return (
99
- <HStack gap="1">
100
- <Box spacing="6" flexGrow="1" backgroundColor="secondary">
101
- First
102
- </Box>
103
- <Box spacing="6" flexGrow="2" backgroundColor="secondary">
104
- Second
105
- </Box>
106
- <Box spacing="6" flexGrow="3" backgroundColor="secondary">
107
- Third
108
- </Box>
109
- </HStack>
110
- )
111
- }
112
- ```
113
- */
28
+ * #### Columns Sized to Content
29
+ *
30
+ * ```tsx
31
+ * import { Box, HStack } from "@yahoo/uds"
32
+ *
33
+ * export function Demo() {
34
+ * return (
35
+ * <HStack>
36
+ * <Box spacing="6" backgroundColor="secondary">
37
+ * First
38
+ * </Box>
39
+ * <Box spacing="6" backgroundColor="secondary">
40
+ * Second
41
+ * </Box>
42
+ * <Box spacing="6" backgroundColor="secondary">
43
+ * Third
44
+ * </Box>
45
+ * </HStack>
46
+ * )
47
+ * }
48
+ * ```
49
+ *
50
+ * #### Columns with Gaps
51
+ *
52
+ * ```tsx
53
+ * import { Box, HStack } from "@yahoo/uds"
54
+ *
55
+ * export function Demo() {
56
+ * return (
57
+ * <HStack gap="1">
58
+ * <Box spacing="6" backgroundColor="secondary">
59
+ * First
60
+ * </Box>
61
+ * <Box spacing="6" backgroundColor="secondary">
62
+ * Second
63
+ * </Box>
64
+ * <Box spacing="6" backgroundColor="secondary">
65
+ * Third
66
+ * </Box>
67
+ * </HStack>
68
+ * )
69
+ * }
70
+ * ```
71
+ *
72
+ * #### Columns that Fill the Available Space
73
+ *
74
+ * ```tsx
75
+ * import { Box, HStack } from "@yahoo/uds"
76
+ *
77
+ * export function Demo() {
78
+ * return (
79
+ * <HStack gap="1">
80
+ * <Box spacing="6" flexGrow="1" backgroundColor="secondary">
81
+ * First
82
+ * </Box>
83
+ * <Box spacing="6" flexGrow="1" backgroundColor="secondary">
84
+ * Second
85
+ * </Box>
86
+ * <Box spacing="6" flexGrow="1" backgroundColor="secondary">
87
+ * Third
88
+ * </Box>
89
+ * </HStack>
90
+ * )
91
+ * ```
92
+ *
93
+ * #### Columns that Have Proportionate Sizes
94
+ *
95
+ * ```tsx
96
+ * import { Box, HStack } from "@yahoo/uds"
97
+ *
98
+ * export function Demo() {
99
+ * return (
100
+ * <HStack gap="1">
101
+ * <Box spacing="6" flexGrow="1" backgroundColor="secondary">
102
+ * First
103
+ * </Box>
104
+ * <Box spacing="6" flexGrow="2" backgroundColor="secondary">
105
+ * Second
106
+ * </Box>
107
+ * <Box spacing="6" flexGrow="3" backgroundColor="secondary">
108
+ * Third
109
+ * </Box>
110
+ * </HStack>
111
+ * )
112
+ * }
113
+ * ```
114
+ **/
114
115
  declare const HStack: react.ForwardRefExoticComponent<HStackProps & react.RefAttributes<HTMLDivElement>>;
115
116
 
116
117
  type HtmlSpanProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'>;
117
118
  interface IconProps extends UniversalIconProps, HtmlSpanProps {
118
119
  }
119
120
  /**
120
- * For an icon to render, it requires a unique name that maps to an upstream asset in Figma (this will autocomplete when using TypeScript), and a target size (s, m, l).
121
-
122
- @example
123
- ```tsx
124
- import { Icon } from "@yahoo/uds"
125
-
126
- export function Demo() {
127
- return <Icon name="academicCap" size="m" />
128
- }
129
- ```
121
+ * Icon are available in an outline and fill variant. Each variant supports
122
+ * three different sizes: small, medium, and large.
123
+ *
124
+ * @example
125
+ * ```tsx
126
+ * import { Icon } from "@yahoo/uds";
127
+ *
128
+ * <Icon name="academicCap" size="m" />
129
+ * ```
130
130
  */
131
131
  declare const Icon: react.ForwardRefExoticComponent<IconProps & react.RefAttributes<HTMLSpanElement>>;
132
132
 
@@ -134,12 +134,20 @@ type NativeImageProps = Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'size' |
134
134
  interface ImageProps extends NativeImageProps, UniversalImageProps {
135
135
  }
136
136
  /**
137
- * An image element with a fallback for representing the user.
137
+ * Wrapper for the image element. In the future, may provide additional
138
+ * functionality for handling fallbacks, dark mode, lazy loading, shimmers.
139
+ * @example
140
+ * ```tsx
141
+ * import { Image } from '@yahoo/uds';
142
+ *
143
+ * <Image src="/images/profile.png" width={580} height={334} />;
144
+ * ```
138
145
  */
139
146
  declare function Image({ width: imageWidth, height: imageHeight, src, alt, contentFit, elevation, backgroundColor, backgroundColorOnActive, backgroundColorOnHover, backgroundColorOnChecked, opacity, bordered, borderedTop, borderedBottom, borderedStart, borderedEnd, borderedHorizontal, borderedVertical, borderRadius, borderTopStartRadius, borderTopEndRadius, borderBottomStartRadius, borderBottomEndRadius, borderColor, borderColorOnActive, borderColorOnFocus, borderColorOnChecked, borderColorOnHover, borderStartColor, borderEndColor, borderTopColor, borderBottomColor, borderWidth, borderVerticalWidth, borderHorizontalWidth, borderStartWidth, borderEndWidth, borderTopWidth, borderBottomWidth, alignContent, alignItems, alignSelf, flex, flexDirection, flexGrow, flexShrink, flexWrap, justifyContent, flexBasis, display, zIndex, overflow, overflowX, overflowY, position, spacing, spacingHorizontal, spacingVertical, spacingBottom, spacingEnd, spacingStart, spacingTop, offset, offsetVertical, offsetHorizontal, offsetBottom, offsetEnd, offsetStart, offsetTop, columnGap, rowGap, minHeight, maxHeight, minWidth, maxWidth, ...props }: ImageProps): react_jsx_runtime.JSX.Element;
140
147
 
141
- type TextElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'p' | 'strong' | 'span' | 'label' | 'li';
142
- type TextProps<As extends TextElement = TextElement> = UniversalTextProps & {
148
+ type TextElementTagName = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'p' | 'strong' | 'span' | 'label' | 'li';
149
+ type TextProps<As extends TextElementTagName = TextElementTagName> = UniversalTextProps & {
150
+ ref?: Ref<HTMLElement>;
143
151
  as?: As;
144
152
  } & Omit<JSX.IntrinsicElements[As], 'color'>;
145
153
  /**
@@ -236,66 +244,7 @@ type TextProps<As extends TextElement = TextElement> = UniversalTextProps & {
236
244
  }
237
245
  ```
238
246
  */
239
- declare const Text: react.ForwardRefExoticComponent<Omit<TextProps<TextElement>, "ref"> & react.RefAttributes<HTMLParagraphElement>>;
240
-
241
- type VStackProps = UniversalStackProps & DivProps;
242
- /**
243
- * @example
244
- The VStack is essentially the same component as [Box](/components/box) where it uses [flexbox](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox) but it lays out content in a column. VStack also allows for gaps between children via the `gap` prop.
245
-
246
- You should use VStack when:
247
-
248
- - you want to lay content out in rows that are sized to their content (height only, by default each child will fill the width of the VStack)
249
- - you want to add gaps between columns
250
- - you want to lay content out in columns that fill the available space within the parent container
251
- - you need columns of proportionate size to each other (also known as a ratio-based layout)
252
-
253
- #### Rows with Gaps
254
-
255
- ```tsx
256
- import { Box, VStack } from "@yahoo/uds"
257
-
258
- export function Demo() {
259
- return (
260
- <VStack gap="6">
261
- <Box spacing="6" backgroundColor="secondary">
262
- First
263
- </Box>
264
- <Box spacing="6" backgroundColor="secondary">
265
- Second
266
- </Box>
267
- <Box spacing="6" backgroundColor="secondary">
268
- Third
269
- </Box>
270
- </VStack>
271
- )
272
- }
273
- ```
274
-
275
- #### Rows that Have Proportionate Sizes
276
-
277
- ```tsx
278
- import { Box, VStack } from "@yahoo/uds"
279
-
280
- export function Demo() {
281
- return (
282
- <VStack gap="6">
283
- <Box spacing="6" flexGrow="1" backgroundColor="secondary">
284
- First
285
- </Box>
286
- <Box spacing="6" flexGrow="2" backgroundColor="secondary">
287
- Second
288
- </Box>
289
- <Box spacing="6" flexGrow="3" backgroundColor="secondary">
290
- Third
291
- </Box>
292
- </VStack>
293
- )
294
- }
295
- ```
296
-
297
- */
298
- declare const VStack: react.ForwardRefExoticComponent<UniversalStackProps & DivProps & react.RefAttributes<HTMLDivElement>>;
247
+ declare const Text: react.ForwardRefExoticComponent<Omit<TextProps<TextElementTagName>, "ref"> & react.RefAttributes<HTMLElement>>;
299
248
 
300
249
  declare const cx: CX<string>;
301
250
  declare const cva: CVA<string>;
@@ -303,12 +252,12 @@ declare const getStyles: (props?: ({
303
252
  color?: "transparent" | "accent" | "alert" | "brand" | "positive" | "warning" | "primary" | "secondary" | "tertiary" | "muted" | "on-color" | "white" | "black" | undefined;
304
253
  colorChecked?: "transparent" | "accent" | "alert" | "brand" | "positive" | "warning" | "primary" | "secondary" | "tertiary" | "muted" | "on-color" | "white" | "black" | undefined;
305
254
  placeholderColor?: "transparent" | "accent" | "alert" | "brand" | "positive" | "warning" | "primary" | "secondary" | "tertiary" | "muted" | "on-color" | "white" | "black" | undefined;
306
- fontFamily?: "display1" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | "icons" | "sans" | "sans-beta" | "sans-condensed" | "serif-text" | "serif-display" | undefined;
307
- fontSize?: "display1" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | undefined;
308
- fontWeight?: "bold" | "black" | "display1" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | "thin" | "extralight" | "light" | "regular" | "medium" | "semibold" | "extrabold" | undefined;
309
- lineHeight?: "display1" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | undefined;
255
+ fontFamily?: "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | "icons" | "sans" | "sans-beta" | "sans-condensed" | "serif-text" | "serif-display" | undefined;
256
+ fontSize?: "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | undefined;
257
+ fontWeight?: "bold" | "black" | "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | "thin" | "extralight" | "light" | "regular" | "medium" | "semibold" | "extrabold" | undefined;
258
+ lineHeight?: "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | undefined;
310
259
  textAlign?: "center" | "justify" | "start" | "end" | undefined;
311
- textTransform?: "display1" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | "none" | "uppercase" | "lowercase" | "capitalize" | undefined;
260
+ textTransform?: "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "caption1" | "caption2" | "legal1" | "none" | "uppercase" | "lowercase" | "capitalize" | undefined;
312
261
  spacing?: "9" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "10" | "11" | "12" | "13" | "14" | "none" | undefined;
313
262
  spacingHorizontal?: "9" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "10" | "11" | "12" | "13" | "14" | "none" | undefined;
314
263
  spacingVertical?: "9" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "10" | "11" | "12" | "13" | "14" | "none" | undefined;
@@ -391,4 +340,4 @@ declare const getStyles: (props?: ({
391
340
  className?: string | undefined;
392
341
  }) | undefined) => string;
393
342
 
394
- export { HStack, type HStackProps, Icon, type IconProps, Image, type ImageProps, Text, type TextProps, UniversalIconProps, UniversalImageProps, UniversalStackProps, UniversalTextProps, VStack, type VStackProps, cva, cx, getStyles };
343
+ export { HStack, type HStackProps, Icon, type IconProps, Image, type ImageProps, Text, type TextProps, UniversalIconProps, UniversalImageProps, UniversalStackProps, UniversalTextProps, cva, cx, getStyles };