@yahoo/uds-mobile 1.1.0-beta.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +1 -1
- package/README.md +9 -4
- package/dist/bin/generateTheme.mjs +8 -10
- package/dist/bin/{fixtures/dist/index.mjs → uds/dist/fixtures.mjs} +16 -8
- package/dist/bin/{palette/dist/index.mjs → uds/dist/tokens/configs/palette/alwaysPalette.mjs} +1 -1
- package/dist/bin/uds/dist/tokens/consts/defaultModes.mjs +6 -0
- package/dist/bin/{fonts/dist/index.mjs → uds/dist/tokens/consts/fontDeclarationsMap.mjs} +9 -24
- package/dist/components/Avatar.d.cts +2 -2
- package/dist/components/Avatar.d.mts +2 -2
- package/dist/components/Badge.d.cts +3 -3
- package/dist/components/Badge.d.mts +3 -3
- package/dist/components/Badge.mjs.map +1 -1
- package/dist/components/Box.cjs +1 -1
- package/dist/components/Box.d.cts +3 -3
- package/dist/components/Box.d.mts +3 -3
- package/dist/components/Box.mjs +1 -1
- package/dist/components/Box.mjs.map +1 -1
- package/dist/components/Button.cjs +6 -6
- package/dist/components/Button.d.cts +4 -3
- package/dist/components/Button.d.cts.map +1 -1
- package/dist/components/Button.d.mts +4 -3
- package/dist/components/Button.d.mts.map +1 -1
- package/dist/components/Button.mjs +1 -1
- package/dist/components/Button.mjs.map +1 -1
- package/dist/components/Checkbox.cjs +4 -4
- package/dist/components/Checkbox.d.cts +3 -3
- package/dist/components/Checkbox.d.mts +3 -3
- package/dist/components/Checkbox.d.mts.map +1 -1
- package/dist/components/Checkbox.mjs +1 -1
- package/dist/components/Checkbox.mjs.map +1 -1
- package/dist/components/Chip.d.cts +3 -3
- package/dist/components/Chip.d.mts +3 -3
- package/dist/components/Chip.d.mts.map +1 -1
- package/dist/components/Chip.mjs.map +1 -1
- package/dist/components/HStack.d.cts +2 -2
- package/dist/components/HStack.d.mts +2 -2
- package/dist/components/Icon.d.cts +4 -3
- package/dist/components/Icon.d.cts.map +1 -1
- package/dist/components/Icon.d.mts +4 -3
- package/dist/components/Icon.d.mts.map +1 -1
- package/dist/components/Icon.mjs.map +1 -1
- package/dist/components/IconButton.cjs +5 -5
- package/dist/components/IconButton.d.cts +4 -3
- package/dist/components/IconButton.d.cts.map +1 -1
- package/dist/components/IconButton.d.mts +4 -3
- package/dist/components/IconButton.d.mts.map +1 -1
- package/dist/components/IconButton.mjs +1 -1
- package/dist/components/IconButton.mjs.map +1 -1
- package/dist/components/IconSlot.d.cts +2 -2
- package/dist/components/IconSlot.d.mts +2 -2
- package/dist/components/IconSlot.d.mts.map +1 -1
- package/dist/components/Image.d.cts +3 -3
- package/dist/components/Image.d.mts +3 -3
- package/dist/components/Image.d.mts.map +1 -1
- package/dist/components/Image.mjs.map +1 -1
- package/dist/components/Input.d.cts +3 -3
- package/dist/components/Input.d.mts +3 -3
- package/dist/components/Input.d.mts.map +1 -1
- package/dist/components/Input.mjs.map +1 -1
- package/dist/components/Link.d.cts +4 -3
- package/dist/components/Link.d.cts.map +1 -1
- package/dist/components/Link.d.mts +4 -3
- package/dist/components/Link.d.mts.map +1 -1
- package/dist/components/Link.mjs.map +1 -1
- package/dist/components/Pressable.d.cts +3 -3
- package/dist/components/Pressable.d.mts +3 -3
- package/dist/components/Radio.cjs +4 -4
- package/dist/components/Radio.d.cts +3 -3
- package/dist/components/Radio.d.mts +3 -3
- package/dist/components/Radio.mjs +1 -1
- package/dist/components/Radio.mjs.map +1 -1
- package/dist/components/Screen.d.cts +2 -2
- package/dist/components/Screen.d.mts +2 -2
- package/dist/components/Screen.d.mts.map +1 -1
- package/dist/components/Switch.d.cts +3 -3
- package/dist/components/Switch.d.cts.map +1 -1
- package/dist/components/Switch.d.mts +3 -3
- package/dist/components/Switch.d.mts.map +1 -1
- package/dist/components/Switch.mjs.map +1 -1
- package/dist/components/Text.d.cts +2 -2
- package/dist/components/Text.d.mts +2 -2
- package/dist/components/VStack.d.cts +2 -2
- package/dist/components/VStack.d.mts +2 -2
- package/dist/components/VStack.d.mts.map +1 -1
- package/dist/icons/dist/glyphMap.d.cts +1 -1
- package/dist/icons/dist/glyphMap.d.cts.map +1 -1
- package/dist/icons/dist/glyphMap.d.mts +1 -1
- package/dist/icons/dist/glyphMap.d.mts.map +1 -1
- package/dist/icons/dist/glyphMap.mjs.map +1 -1
- package/dist/icons/dist/svgMap.d.cts.map +1 -1
- package/dist/icons/dist/svgMap.d.mts.map +1 -1
- package/dist/icons/dist/svgMap.mjs.map +1 -1
- package/dist/icons/dist/tokens.mjs.map +1 -1
- package/dist/icons/dist/types.d.cts +24 -0
- package/dist/icons/dist/types.d.cts.map +1 -0
- package/dist/icons/dist/types.d.mts +24 -0
- package/dist/icons/dist/types.d.mts.map +1 -0
- package/dist/motion.cjs +12 -12
- package/dist/motion.d.cts +3 -2
- package/dist/motion.d.cts.map +1 -1
- package/dist/motion.d.mts +3 -2
- package/dist/motion.d.mts.map +1 -1
- package/dist/motion.mjs +1 -1
- package/dist/motion.mjs.map +1 -1
- package/dist/uds/dist/components/Box.d.cts +3 -0
- package/dist/uds/dist/components/Box.d.mts +3 -0
- package/dist/uds/dist/components/Divider/Divider.d.cts +3 -0
- package/dist/uds/dist/components/Divider/Divider.d.mts +3 -0
- package/dist/uds/dist/components/Divider/DividerCore.d.cts +4 -0
- package/dist/uds/dist/components/Divider/DividerCore.d.mts +4 -0
- package/dist/uds/dist/components/Divider/DividerInternal.d.cts +4 -0
- package/dist/uds/dist/components/Divider/DividerInternal.d.mts +4 -0
- package/dist/uds/dist/components/Divider/index.d.cts +2 -0
- package/dist/uds/dist/components/Divider/index.d.mts +2 -0
- package/dist/uds/dist/components/FormLabel.d.cts +3 -0
- package/dist/uds/dist/components/FormLabel.d.mts +4 -0
- package/dist/uds/dist/components/HStack.d.cts +4 -0
- package/dist/uds/dist/components/HStack.d.mts +4 -0
- package/dist/uds/dist/components/Icon.d.cts +3 -0
- package/dist/uds/dist/components/Icon.d.mts +3 -0
- package/dist/uds/dist/components/Image.d.cts +2 -0
- package/dist/uds/dist/components/Image.d.mts +3 -0
- package/dist/uds/dist/components/Link.d.cts +3 -0
- package/dist/uds/dist/components/Link.d.mts +3 -0
- package/dist/uds/dist/components/Text.d.cts +3 -0
- package/dist/uds/dist/components/Text.d.mts +3 -0
- package/dist/uds/dist/components/VStack.d.cts +4 -0
- package/dist/uds/dist/components/VStack.d.mts +4 -0
- package/dist/uds/dist/components/client/Avatar/Avatar.d.cts +2 -0
- package/dist/uds/dist/components/client/Avatar/Avatar.d.mts +3 -0
- package/dist/uds/dist/components/client/Avatar/AvatarIcon.d.cts +2 -0
- package/dist/uds/dist/components/client/Avatar/AvatarIcon.d.mts +3 -0
- package/dist/uds/dist/components/client/Avatar/AvatarImage.d.cts +4 -0
- package/dist/uds/dist/components/client/Avatar/AvatarImage.d.mts +5 -0
- package/dist/uds/dist/components/client/Avatar/AvatarText.d.cts +3 -0
- package/dist/uds/dist/components/client/Avatar/AvatarText.d.mts +4 -0
- package/dist/uds/dist/components/client/Avatar/index.d.cts +5 -0
- package/dist/uds/dist/components/client/Avatar/index.d.mts +5 -0
- package/dist/uds/dist/components/client/Badge.d.cts +3 -0
- package/dist/uds/dist/components/client/Badge.d.mts +3 -0
- package/dist/uds/dist/components/client/Button.d.cts +3 -0
- package/dist/uds/dist/components/client/Button.d.mts +3 -0
- package/dist/uds/dist/components/client/Checkbox.d.cts +3 -0
- package/dist/uds/dist/components/client/Checkbox.d.mts +3 -0
- package/dist/uds/dist/components/client/Chip/Chip.d.cts +4 -0
- package/dist/uds/dist/components/client/Chip/Chip.d.mts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipBase.d.cts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipBase.d.mts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipButton.d.cts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipButton.d.mts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipDismissible.d.cts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipDismissible.d.mts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipLink.d.cts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipLink.d.mts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipToggle.d.cts +4 -0
- package/dist/uds/dist/components/client/Chip/ChipToggle.d.mts +4 -0
- package/dist/uds/dist/components/client/Chip/index.d.cts +6 -0
- package/dist/uds/dist/components/client/Chip/index.d.mts +6 -0
- package/dist/uds/dist/components/client/IconButton.d.cts +3 -0
- package/dist/uds/dist/components/client/IconButton.d.mts +3 -0
- package/dist/uds/dist/components/client/Input/Input.d.cts +4 -0
- package/dist/uds/dist/components/client/Input/Input.d.mts +4 -0
- package/dist/uds/dist/components/client/Input/InputHelpText.d.cts +2 -0
- package/dist/uds/dist/components/client/Input/InputHelpText.d.mts +3 -0
- package/dist/uds/dist/components/client/Input/InputHelpTextInternal.d.cts +5 -0
- package/dist/uds/dist/components/client/Input/InputHelpTextInternal.d.mts +6 -0
- package/dist/uds/dist/components/client/Input/index.d.cts +3 -0
- package/dist/uds/dist/components/client/Input/index.d.mts +3 -0
- package/dist/uds/dist/components/client/Menu/Menu.Content.d.cts +4 -0
- package/dist/uds/dist/components/client/Menu/Menu.Content.d.mts +4 -0
- package/dist/uds/dist/components/client/Menu/Menu.Divider.d.cts +3 -0
- package/dist/uds/dist/components/client/Menu/Menu.Divider.d.mts +3 -0
- package/dist/uds/dist/components/client/Menu/Menu.Item.d.cts +4 -0
- package/dist/uds/dist/components/client/Menu/Menu.Item.d.mts +4 -0
- package/dist/uds/dist/components/client/Menu/Menu.ItemCheckbox.d.cts +4 -0
- package/dist/uds/dist/components/client/Menu/Menu.ItemCheckbox.d.mts +4 -0
- package/dist/uds/dist/components/client/Menu/Menu.Provider.d.cts +2 -0
- package/dist/uds/dist/components/client/Menu/Menu.Provider.d.mts +3 -0
- package/dist/uds/dist/components/client/Menu/Menu.Trigger.d.cts +4 -0
- package/dist/uds/dist/components/client/Menu/Menu.Trigger.d.mts +4 -0
- package/dist/uds/dist/components/client/Menu/Menu.d.cts +2 -0
- package/dist/uds/dist/components/client/Menu/Menu.d.mts +2 -0
- package/dist/uds/dist/components/client/Menu/Menu.index.d.cts +7 -0
- package/dist/uds/dist/components/client/Menu/Menu.index.d.mts +7 -0
- package/dist/uds/dist/components/client/Menu/index.d.cts +9 -0
- package/dist/uds/dist/components/client/Menu/index.d.mts +9 -0
- package/dist/uds/dist/components/client/Pressable.d.cts +3 -0
- package/dist/uds/dist/components/client/Pressable.d.mts +3 -0
- package/dist/uds/dist/components/client/Radio/Radio.d.cts +3 -0
- package/dist/uds/dist/components/client/Radio/Radio.d.mts +3 -0
- package/dist/uds/dist/components/client/Radio/RadioGroupProvider.d.cts +3 -0
- package/dist/uds/dist/components/client/Radio/RadioGroupProvider.d.mts +3 -0
- package/dist/uds/dist/components/client/Radio/index.d.cts +3 -0
- package/dist/uds/dist/components/client/Radio/index.d.mts +3 -0
- package/dist/uds/dist/components/client/SpringMotionConfig.d.cts +3 -0
- package/dist/uds/dist/components/client/SpringMotionConfig.d.mts +3 -0
- package/dist/uds/dist/components/client/Switch.d.cts +3 -0
- package/dist/uds/dist/components/client/Switch.d.mts +3 -0
- package/dist/uds/dist/components/client/index.d.cts +33 -0
- package/dist/uds/dist/components/client/index.d.mts +33 -0
- package/dist/uds/dist/components/index.d.cts +40 -0
- package/dist/uds/dist/components/index.d.mts +40 -0
- package/dist/uds/dist/index.d.cts +46 -0
- package/dist/uds/dist/index.d.mts +46 -0
- package/dist/uds/dist/styles/styler.d.cts +2 -0
- package/dist/uds/dist/styles/styler.d.mts +2 -0
- package/dist/uds/dist/styles/stylerTypes.d.cts +2 -0
- package/dist/uds/dist/styles/stylerTypes.d.mts +2 -0
- package/dist/uds/dist/tokens/automation/configs/avatar.d.cts +2 -0
- package/dist/uds/dist/tokens/automation/configs/avatar.d.mts +2 -0
- package/dist/uds/dist/tokens/automation/properties.d.cts +3 -0
- package/dist/uds/dist/tokens/automation/properties.d.mts +3 -0
- package/dist/uds/dist/tokens/automation/types/ComponentConfig.d.cts +3 -0
- package/dist/uds/dist/tokens/automation/types/ComponentConfig.d.mts +3 -0
- package/dist/{motion-tokens/dist/index.cjs → uds/dist/tokens/configs/motion.cjs} +2 -2
- package/dist/{motion-tokens/dist/index.d.cts → uds/dist/tokens/configs/motion.d.cts} +4 -4
- package/dist/uds/dist/tokens/configs/motion.d.cts.map +1 -0
- package/dist/{motion-tokens/dist/index.d.mts → uds/dist/tokens/configs/motion.d.mts} +4 -4
- package/dist/uds/dist/tokens/configs/motion.d.mts.map +1 -0
- package/dist/{motion-tokens/dist/index.mjs → uds/dist/tokens/configs/motion.mjs} +3 -3
- package/dist/uds/dist/tokens/configs/motion.mjs.map +1 -0
- package/dist/uds/dist/tokens/configs/palette/alwaysPalette.d.cts +32 -0
- package/dist/uds/dist/tokens/configs/palette/alwaysPalette.d.cts.map +1 -0
- package/dist/uds/dist/tokens/configs/palette/alwaysPalette.d.mts +32 -0
- package/dist/uds/dist/tokens/configs/palette/alwaysPalette.d.mts.map +1 -0
- package/dist/uds/dist/tokens/types.d.cts +426 -0
- package/dist/uds/dist/tokens/types.d.cts.map +1 -0
- package/dist/uds/dist/tokens/types.d.mts +426 -0
- package/dist/uds/dist/tokens/types.d.mts.map +1 -0
- package/dist/uds/dist/types.d.cts +2 -0
- package/dist/uds/dist/types.d.mts +2 -0
- package/fonts/uds-icons.ttf +0 -0
- package/package.json +1 -1
- package/dist/bin/modes/dist/index.mjs +0 -6
- package/dist/motion-tokens/dist/index.d.cts.map +0 -1
- package/dist/motion-tokens/dist/index.d.mts.map +0 -1
- package/dist/motion-tokens/dist/index.mjs.map +0 -1
- package/dist/types/dist/index.d.cts +0 -247
- package/dist/types/dist/index.d.cts.map +0 -1
- package/dist/types/dist/index.d.mts +0 -247
- package/dist/types/dist/index.d.mts.map +0 -1
package/CONTRIBUTING.md
CHANGED
|
@@ -104,7 +104,7 @@ This is the most important generated file. It contains all Unistyles stylesheets
|
|
|
104
104
|
**Example input** (from `uds.config.ts` - see `packages/configurator/uds.config.ts`):
|
|
105
105
|
|
|
106
106
|
```typescript
|
|
107
|
-
import type { UniversalTokensConfig } from '@yahoo/uds
|
|
107
|
+
import type { UniversalTokensConfig } from '@yahoo/uds';
|
|
108
108
|
|
|
109
109
|
export const config: UniversalTokensConfig = {
|
|
110
110
|
// Component configs use path-based keys: '{dimension}/{value}/{layer}'
|
package/README.md
CHANGED
|
@@ -50,7 +50,8 @@ npm install @yahoo/uds-mobile
|
|
|
50
50
|
| react-native-unistyles | ≥ 3.0.20 |
|
|
51
51
|
| react-native-reanimated | ~4.1.x |
|
|
52
52
|
|
|
53
|
-
>
|
|
53
|
+
> [!NOTE]
|
|
54
|
+
> This package is tested against Expo SDK 54. While it may work with other versions, we cannot guarantee compatibility. If you encounter issues on a different Expo SDK version, please check for peer dependency conflicts.
|
|
54
55
|
|
|
55
56
|
### Peer Dependencies
|
|
56
57
|
|
|
@@ -83,7 +84,8 @@ export default {
|
|
|
83
84
|
};
|
|
84
85
|
```
|
|
85
86
|
|
|
86
|
-
>
|
|
87
|
+
> [!WARNING]
|
|
88
|
+
> **Development Build Required**: `react-native-unistyles` uses native modules and does not work with Expo Go. You must use a [development build](https://docs.expo.dev/develop/development-builds/introduction/) or prebuild your app. See the [Unistyles setup guide](https://www.unistyl.es/v3/start/setup) for detailed instructions.
|
|
87
89
|
|
|
88
90
|
## Quick Start
|
|
89
91
|
|
|
@@ -157,6 +159,7 @@ import './lib/unistyles'; // Must be first!
|
|
|
157
159
|
// ... your app's existing entry code
|
|
158
160
|
```
|
|
159
161
|
|
|
162
|
+
> [!NOTE]
|
|
160
163
|
> **Why?** Unistyles must be configured before any `StyleSheet.create()` calls execute. Since UDS Mobile components use Unistyles internally, the configuration must happen before any component imports.
|
|
161
164
|
|
|
162
165
|
### 4. Rebuild Your App
|
|
@@ -222,7 +225,8 @@ function ThemeToggle() {
|
|
|
222
225
|
|
|
223
226
|
If you configured `adaptiveThemes: true`, the theme automatically follows the system preference. Calling `UnistylesRuntime.setTheme()` will override this until the app restarts.
|
|
224
227
|
|
|
225
|
-
>
|
|
228
|
+
> [!WARNING]
|
|
229
|
+
> **Performance**: Using `useUnistyles()` causes component re-renders on theme changes, which negates Unistyles' performance benefits. For theme-aware styles, prefer `StyleSheet.create` with a dynamic function instead:
|
|
226
230
|
>
|
|
227
231
|
> ```tsx
|
|
228
232
|
> // ✅ Preferred: No re-renders, styles update automatically
|
|
@@ -249,7 +253,8 @@ React Native DevTools includes a feature to highlight components when they re-re
|
|
|
249
253
|
|
|
250
254
|
Components will flash with a colored border when they re-render. This makes it easy to spot unnecessary re-renders caused by `useUnistyles()` or other state changes.
|
|
251
255
|
|
|
252
|
-
>
|
|
256
|
+
> [!TIP]
|
|
257
|
+
> **Testing your setup**: A good way to verify Unistyles is configured correctly is to toggle light/dark mode with highlighting enabled. If set up properly, only the theme toggle button should re-render — not the rest of your app. If you see the entire screen flash, you likely have `useUnistyles()` calls in components that should be using `StyleSheet.create` with dynamic functions instead.
|
|
253
258
|
|
|
254
259
|
See the [React Native DevTools docs](https://reactnative.dev/docs/react-native-devtools#react-components) for more debugging features.
|
|
255
260
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { spacingMap } from "./
|
|
3
|
-
import {
|
|
4
|
-
import { DEFAULT_SCALE_MODE } from "./
|
|
5
|
-
import {
|
|
2
|
+
import { spacingMap } from "./uds/dist/fixtures.mjs";
|
|
3
|
+
import { newAlwaysPalette } from "./uds/dist/tokens/configs/palette/alwaysPalette.mjs";
|
|
4
|
+
import { DEFAULT_SCALE_MODE } from "./uds/dist/tokens/consts/defaultModes.mjs";
|
|
5
|
+
import { FONT_DECLARATIONS_MAP } from "./uds/dist/tokens/consts/fontDeclarationsMap.mjs";
|
|
6
6
|
import { MOBILE_STATES, PROPERTY_TO_RN_PROPS, SHADOW_PROPS, TEXT_ONLY_PROPS, toSlashKey } from "./mobile/scripts/utils/configToRNMappings.mjs";
|
|
7
7
|
import { fontAliasToPostscript } from "@yahoo/uds-mobile/fonts";
|
|
8
8
|
|
|
@@ -45,15 +45,13 @@ function sortKeys(obj) {
|
|
|
45
45
|
for (const key of keys) sorted[key] = sortKeys(obj[key]);
|
|
46
46
|
return sorted;
|
|
47
47
|
}
|
|
48
|
-
function isWebFontID(value) {
|
|
49
|
-
return value in FONT_DECLARATIONS_MAP;
|
|
50
|
-
}
|
|
51
48
|
/**
|
|
52
49
|
* Converts a FontID and weight value to a PostScript font name.
|
|
53
50
|
* React Native requires PostScript names to load fonts, not CSS font-family + weight.
|
|
54
51
|
*/
|
|
55
52
|
function getPostScriptName(fontId, weight, italic = false) {
|
|
56
53
|
const fontConfig = FONT_DECLARATIONS_MAP[fontId];
|
|
54
|
+
if (!fontConfig) return fontId;
|
|
57
55
|
let weightConfig = fontConfig.fontWeights.find((w) => w.value === weight);
|
|
58
56
|
if (!weightConfig) weightConfig = fontConfig.fontWeights.reduce((closest, current) => {
|
|
59
57
|
const closestDiff = Math.abs(closest.value - weight);
|
|
@@ -150,7 +148,7 @@ function generateTypography(typographyConfig, fontConfig) {
|
|
|
150
148
|
const fontAlias = style.fontFamily.base;
|
|
151
149
|
const fontId = fontConfig[fontAlias] ?? fontAlias;
|
|
152
150
|
const weight = Number(style.fontWeight.base.value);
|
|
153
|
-
const postScriptName =
|
|
151
|
+
const postScriptName = fontId in FONT_DECLARATIONS_MAP ? getPostScriptName(fontId, weight) : fontId;
|
|
154
152
|
result[variant] = {
|
|
155
153
|
fontSize: parseTypographyValue(style.fontSize.base),
|
|
156
154
|
lineHeight: parseTypographyValue(style.lineHeight.base),
|
|
@@ -163,7 +161,7 @@ function generateTypography(typographyConfig, fontConfig) {
|
|
|
163
161
|
}
|
|
164
162
|
function generateFontAliases(fontConfig) {
|
|
165
163
|
const result = {};
|
|
166
|
-
for (const [alias, fontId] of Object.entries(fontConfig)) if (
|
|
164
|
+
for (const [alias, fontId] of Object.entries(fontConfig)) if (fontId in FONT_DECLARATIONS_MAP) {
|
|
167
165
|
const defaultWeight = FONT_DECLARATIONS_MAP[fontId].defaults.fontWeight;
|
|
168
166
|
result[alias] = getPostScriptName(fontId, defaultWeight);
|
|
169
167
|
} else result[alias] = fontId;
|
|
@@ -203,7 +201,7 @@ function resolveTypographyStyles(variantName, typography, config) {
|
|
|
203
201
|
if (typeof letterSpacing === "number") result.letterSpacing = letterSpacing;
|
|
204
202
|
if (typeof fontFamily === "string") {
|
|
205
203
|
const fontId = config.font[fontFamily] ?? fontFamily;
|
|
206
|
-
if (
|
|
204
|
+
if (fontId in FONT_DECLARATIONS_MAP) result.fontFamily = getPostScriptName(fontId, typeof fontWeight === "number" ? fontWeight : 400);
|
|
207
205
|
else result.fontFamily = fontId;
|
|
208
206
|
}
|
|
209
207
|
return result;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
//#region ../
|
|
2
|
+
//#region ../uds/dist/fixtures.js
|
|
3
|
+
function fromEntries(item) {
|
|
4
|
+
return Object.fromEntries(item);
|
|
5
|
+
}
|
|
3
6
|
var elevationAliases = [
|
|
4
7
|
"elevation-0",
|
|
5
8
|
"elevation-1",
|
|
@@ -169,7 +172,6 @@ var opacitySteps = [
|
|
|
169
172
|
"99",
|
|
170
173
|
"100"
|
|
171
174
|
];
|
|
172
|
-
var fromEntries = (item) => Object.fromEntries(item);
|
|
173
175
|
var opacityMap = fromEntries(opacitySteps.map((key) => [key, `${parseInt(key) / 100}`]));
|
|
174
176
|
var backgroundColors = [
|
|
175
177
|
...backgroundPaletteColors,
|
|
@@ -200,7 +202,9 @@ var iconSizes = [
|
|
|
200
202
|
"md",
|
|
201
203
|
"lg",
|
|
202
204
|
"xs"
|
|
203
|
-
].sort((a, b) =>
|
|
205
|
+
].sort((a, b) => {
|
|
206
|
+
return iconSizeSort[a] - iconSizeSort[b];
|
|
207
|
+
});
|
|
204
208
|
var spacingMap = {
|
|
205
209
|
"0": 0,
|
|
206
210
|
px: 1,
|
|
@@ -374,9 +378,9 @@ var buttonVariantsFlat = [
|
|
|
374
378
|
if (aPriority !== bPriority) return aPriority - bPriority;
|
|
375
379
|
return a.localeCompare(b);
|
|
376
380
|
});
|
|
377
|
-
var buttonVariantsSecondary = buttonVariantsFlat.filter((
|
|
378
|
-
var buttonVariantsTertiary = buttonVariantsFlat.filter((
|
|
379
|
-
var buttonVariantsPrimary = buttonVariantsFlat.filter((
|
|
381
|
+
var buttonVariantsSecondary = buttonVariantsFlat.filter((variant) => variant.includes("secondary"));
|
|
382
|
+
var buttonVariantsTertiary = buttonVariantsFlat.filter((variant) => variant.includes("tertiary"));
|
|
383
|
+
var buttonVariantsPrimary = buttonVariantsFlat.filter((variant) => !buttonVariantsSecondary.includes(variant) && !buttonVariantsTertiary.includes(variant));
|
|
380
384
|
var preferredTShirtSizeSort = {
|
|
381
385
|
none: 0,
|
|
382
386
|
xs: 1,
|
|
@@ -391,14 +395,18 @@ var buttonSizes = [
|
|
|
391
395
|
"md",
|
|
392
396
|
"lg",
|
|
393
397
|
"xs"
|
|
394
|
-
].sort((a, b) =>
|
|
398
|
+
].sort((a, b) => {
|
|
399
|
+
return preferredTShirtSizeSort[a] - preferredTShirtSizeSort[b];
|
|
400
|
+
});
|
|
395
401
|
var iconButtonSizes = [
|
|
396
402
|
"sm",
|
|
397
403
|
"md",
|
|
398
404
|
"lg",
|
|
399
405
|
"xl",
|
|
400
406
|
"xs"
|
|
401
|
-
].sort((a, b) =>
|
|
407
|
+
].sort((a, b) => {
|
|
408
|
+
return preferredTShirtSizeSort[a] - preferredTShirtSizeSort[b];
|
|
409
|
+
});
|
|
402
410
|
var shadowVariants = [
|
|
403
411
|
"none",
|
|
404
412
|
"xs",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
//#region ../
|
|
3
|
-
/*! © 2026 Yahoo, Inc. UDS
|
|
2
|
+
//#region ../uds/dist/tokens/consts/fontDeclarationsMap.js
|
|
3
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
4
4
|
const UDS_FONTS_CDN_PREFIX = "https://s.yimg.com/bw/fonts";
|
|
5
5
|
const sansFallbacks = [
|
|
6
6
|
"Helvetica Neue",
|
|
@@ -274,27 +274,11 @@ const FONT_DECLARATIONS_MAP = {
|
|
|
274
274
|
type: "sans",
|
|
275
275
|
fontFamily: "YA Sans VF",
|
|
276
276
|
isVariableFont: true,
|
|
277
|
-
fontSlants:
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
label: "Italic",
|
|
282
|
-
value: 1
|
|
277
|
+
fontSlants: void 0,
|
|
278
|
+
fontWidths: [{
|
|
279
|
+
label: "Normal",
|
|
280
|
+
value: 100
|
|
283
281
|
}],
|
|
284
|
-
fontWidths: [
|
|
285
|
-
{
|
|
286
|
-
label: "Condensed",
|
|
287
|
-
value: 75
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
label: "Normal",
|
|
291
|
-
value: 100
|
|
292
|
-
},
|
|
293
|
-
{
|
|
294
|
-
label: "Extended",
|
|
295
|
-
value: 125
|
|
296
|
-
}
|
|
297
|
-
],
|
|
298
282
|
fontWeights: [
|
|
299
283
|
{
|
|
300
284
|
label: "Light",
|
|
@@ -322,13 +306,14 @@ const FONT_DECLARATIONS_MAP = {
|
|
|
322
306
|
}
|
|
323
307
|
],
|
|
324
308
|
defaults: {
|
|
325
|
-
fontSlant: 0,
|
|
309
|
+
fontSlant: void 0,
|
|
326
310
|
fontWidth: 100,
|
|
327
311
|
fontWeight: 400
|
|
328
312
|
},
|
|
329
313
|
declarations: [{
|
|
314
|
+
fontStyle: "normal",
|
|
330
315
|
fontWeight: "1 1000",
|
|
331
|
-
src: `${UDS_FONTS_CDN_PREFIX}/yas-vf.woff2`
|
|
316
|
+
src: `${UDS_FONTS_CDN_PREFIX}/yas-normal-no-italic-vf.woff2`
|
|
332
317
|
}]
|
|
333
318
|
},
|
|
334
319
|
inter: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { IconSlotType } from "./IconSlot.cjs";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react9 from "react";
|
|
4
4
|
import { View, ViewProps } from "react-native";
|
|
5
5
|
|
|
6
6
|
//#region src/components/Avatar.d.ts
|
|
@@ -54,7 +54,7 @@ interface AvatarProps extends ViewProps {
|
|
|
54
54
|
*
|
|
55
55
|
* @see The {@link https://uds.build/docs/components/avatar Avatar Docs} for more info
|
|
56
56
|
*/
|
|
57
|
-
declare const Avatar:
|
|
57
|
+
declare const Avatar: react9.ForwardRefExoticComponent<AvatarProps & react9.RefAttributes<View>>;
|
|
58
58
|
//#endregion
|
|
59
59
|
export { Avatar, type AvatarProps };
|
|
60
60
|
//# sourceMappingURL=Avatar.d.cts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { IconSlotType } from "./IconSlot.mjs";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react0 from "react";
|
|
4
4
|
import { View, ViewProps } from "react-native";
|
|
5
5
|
|
|
6
6
|
//#region src/components/Avatar.d.ts
|
|
@@ -54,7 +54,7 @@ interface AvatarProps extends ViewProps {
|
|
|
54
54
|
*
|
|
55
55
|
* @see The {@link https://uds.build/docs/components/avatar Avatar Docs} for more info
|
|
56
56
|
*/
|
|
57
|
-
declare const Avatar:
|
|
57
|
+
declare const Avatar: react0.ForwardRefExoticComponent<AvatarProps & react0.RefAttributes<View>>;
|
|
58
58
|
//#endregion
|
|
59
59
|
export { Avatar, type AvatarProps };
|
|
60
60
|
//# sourceMappingURL=Avatar.d.mts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
|
-
import { BadgeSize, BadgeVariant } from "../
|
|
2
|
+
import { BadgeSize, BadgeVariant } from "../uds/dist/tokens/types.cjs";
|
|
3
3
|
import { IconSlotType } from "./IconSlot.cjs";
|
|
4
|
-
import * as
|
|
4
|
+
import * as react4 from "react";
|
|
5
5
|
import { Ref } from "react";
|
|
6
6
|
import { View, ViewProps } from "react-native";
|
|
7
7
|
|
|
@@ -37,7 +37,7 @@ interface BadgeProps extends ViewProps {
|
|
|
37
37
|
* <Badge variant="alert" startIcon="Warning">Error</Badge>
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
|
-
declare const Badge:
|
|
40
|
+
declare const Badge: react4.NamedExoticComponent<BadgeProps>;
|
|
41
41
|
//#endregion
|
|
42
42
|
export { Badge, type BadgeProps };
|
|
43
43
|
//# sourceMappingURL=Badge.d.cts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
|
-
import { BadgeSize, BadgeVariant } from "../
|
|
2
|
+
import { BadgeSize, BadgeVariant } from "../uds/dist/tokens/types.mjs";
|
|
3
3
|
import { IconSlotType } from "./IconSlot.mjs";
|
|
4
|
-
import * as
|
|
4
|
+
import * as react1 from "react";
|
|
5
5
|
import { Ref } from "react";
|
|
6
6
|
import { View, ViewProps } from "react-native";
|
|
7
7
|
|
|
@@ -37,7 +37,7 @@ interface BadgeProps extends ViewProps {
|
|
|
37
37
|
* <Badge variant="alert" startIcon="Warning">Error</Badge>
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
|
-
declare const Badge:
|
|
40
|
+
declare const Badge: react1.NamedExoticComponent<BadgeProps>;
|
|
41
41
|
//#endregion
|
|
42
42
|
export { Badge, type BadgeProps };
|
|
43
43
|
//# sourceMappingURL=Badge.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.mjs","names":["Badge"],"sources":["../../src/components/Badge.tsx"],"sourcesContent":["import type { BadgeSize, BadgeVariant } from '@yahoo/uds
|
|
1
|
+
{"version":3,"file":"Badge.mjs","names":["Badge"],"sources":["../../src/components/Badge.tsx"],"sourcesContent":["import type { BadgeSize, BadgeVariant } from '@yahoo/uds/tokens';\nimport type { Ref } from 'react';\nimport { memo, useMemo } from 'react';\nimport type { View, ViewProps } from 'react-native';\n\nimport { badgeStyles } from '../../generated/styles';\nimport { HStack } from './HStack';\nimport type { IconSlotType } from './IconSlot';\nimport { IconSlot } from './IconSlot';\nimport { Text } from './Text';\n\ninterface BadgeProps extends ViewProps {\n /** @default 'primary' */\n variant?: BadgeVariant;\n /** @default 'md' */\n size?: BadgeSize;\n minWidth?: number;\n /** @default 200 */\n maxWidth?: number;\n startIcon?: IconSlotType;\n endIcon?: IconSlotType;\n dangerouslySetBackgroundColor?: string;\n dangerouslySetColor?: string;\n dangerouslySetBorderColor?: string;\n dangerouslySetIconColor?: string;\n ref?: Ref<View>;\n}\n\n/**\n * **A badge component for status indicators**\n *\n * @description\n * Badges show notifications, counts, or status information on navigation items and icons.\n *\n * @example\n * ```tsx\n * import { Badge } from '~/components/ui/Badge';\n *\n * <Badge>Label</Badge>\n * <Badge variant=\"brand\" size=\"sm\">New</Badge>\n * <Badge variant=\"alert\" startIcon=\"Warning\">Error</Badge>\n * ```\n */\nconst Badge = memo(function Badge({\n variant = 'primary',\n size = 'md',\n minWidth,\n maxWidth = 200,\n startIcon,\n endIcon,\n dangerouslySetBackgroundColor,\n dangerouslySetColor,\n dangerouslySetIconColor,\n dangerouslySetBorderColor,\n children,\n style,\n ref,\n ...rest\n}: BadgeProps) {\n badgeStyles.useVariants({ size, variant });\n const rootStyles = useMemo(() => [badgeStyles.root, style], [style, badgeStyles.root]);\n\n return (\n <HStack\n ref={ref}\n alignItems=\"center\"\n overflow=\"hidden\"\n alignSelf=\"flex-start\"\n maxWidth={maxWidth}\n minWidth={minWidth}\n dangerouslySetBackgroundColor={dangerouslySetBackgroundColor}\n dangerouslySetBorderColor={dangerouslySetBorderColor}\n // Cannot memoize - styles contain theme-reactive values\n style={rootStyles}\n {...rest}\n >\n {startIcon && (\n <IconSlot\n icon={startIcon}\n variant=\"fill\"\n dangerouslySetColor={dangerouslySetIconColor}\n style={badgeStyles.icon}\n />\n )}\n <Text\n numberOfLines={1}\n flexShrink=\"1\"\n dangerouslySetColor={dangerouslySetColor}\n style={badgeStyles.text}\n >\n {children}\n </Text>\n {endIcon && (\n <IconSlot\n icon={endIcon}\n variant=\"fill\"\n dangerouslySetColor={dangerouslySetIconColor}\n style={badgeStyles.icon}\n />\n )}\n </HStack>\n );\n});\n\nBadge.displayName = 'Badge';\n\nexport { Badge, type BadgeProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAM,QAAQ,KAAK,SAASA,QAAM,EAChC,UAAU,WACV,OAAO,MACP,UACA,WAAW,KACX,WACA,SACA,+BACA,qBACA,yBACA,2BACA,UACA,OACA,KACA,GAAG,QACU;AACb,aAAY,YAAY;EAAE;EAAM;EAAS,CAAC;AAG1C,QACE,qBAAC;EACM;EACL,YAAW;EACX,UAAS;EACT,WAAU;EACA;EACA;EACqB;EACJ;EAE3B,OAbe,cAAc,CAAC,YAAY,MAAM,MAAM,EAAE,CAAC,OAAO,YAAY,KAAK,CAAC;EAclF,GAAI;;GAEH,aACC,oBAAC;IACC,MAAM;IACN,SAAQ;IACR,qBAAqB;IACrB,OAAO,YAAY;KACnB;GAEJ,oBAAC;IACC,eAAe;IACf,YAAW;IACU;IACrB,OAAO,YAAY;IAElB;KACI;GACN,WACC,oBAAC;IACC,MAAM;IACN,SAAQ;IACR,qBAAqB;IACrB,OAAO,YAAY;KACnB;;GAEG;EAEX;AAEF,MAAM,cAAc"}
|
package/dist/components/Box.cjs
CHANGED
|
@@ -16,7 +16,7 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
18
18
|
* ```tsx
|
|
19
|
-
* import { Box } from '@yahoo/uds
|
|
19
|
+
* import { Box } from '@yahoo/uds';
|
|
20
20
|
*
|
|
21
21
|
* <Box backgroundColor="primary" spacing="6">
|
|
22
22
|
* Any kind of content can go here!
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { SizeProps } from "../types.cjs";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react6 from "react";
|
|
4
4
|
import { Ref } from "react";
|
|
5
5
|
import { View, ViewProps } from "react-native";
|
|
6
6
|
import { StyleProps } from "../../generated/styles";
|
|
@@ -66,7 +66,7 @@ interface BoxProps extends ViewProps, SizeProps {
|
|
|
66
66
|
*
|
|
67
67
|
* @example
|
|
68
68
|
* ```tsx
|
|
69
|
-
* import { Box } from '@yahoo/uds
|
|
69
|
+
* import { Box } from '@yahoo/uds';
|
|
70
70
|
*
|
|
71
71
|
* <Box backgroundColor="primary" spacing="6">
|
|
72
72
|
* Any kind of content can go here!
|
|
@@ -81,7 +81,7 @@ interface BoxProps extends ViewProps, SizeProps {
|
|
|
81
81
|
*
|
|
82
82
|
* @related [HStack](https://uds.build/docs/components/h-stack), [VStack](https://uds.build/docs/components/v-stack)
|
|
83
83
|
*/
|
|
84
|
-
declare const Box:
|
|
84
|
+
declare const Box: react6.NamedExoticComponent<BoxProps>;
|
|
85
85
|
//#endregion
|
|
86
86
|
export { Box, type BoxProps };
|
|
87
87
|
//# sourceMappingURL=Box.d.cts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { SizeProps } from "../types.mjs";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react2 from "react";
|
|
4
4
|
import { Ref } from "react";
|
|
5
5
|
import { View, ViewProps } from "react-native";
|
|
6
6
|
import { StyleProps } from "../../generated/styles";
|
|
@@ -66,7 +66,7 @@ interface BoxProps extends ViewProps, SizeProps {
|
|
|
66
66
|
*
|
|
67
67
|
* @example
|
|
68
68
|
* ```tsx
|
|
69
|
-
* import { Box } from '@yahoo/uds
|
|
69
|
+
* import { Box } from '@yahoo/uds';
|
|
70
70
|
*
|
|
71
71
|
* <Box backgroundColor="primary" spacing="6">
|
|
72
72
|
* Any kind of content can go here!
|
|
@@ -81,7 +81,7 @@ interface BoxProps extends ViewProps, SizeProps {
|
|
|
81
81
|
*
|
|
82
82
|
* @related [HStack](https://uds.build/docs/components/h-stack), [VStack](https://uds.build/docs/components/v-stack)
|
|
83
83
|
*/
|
|
84
|
-
declare const Box:
|
|
84
|
+
declare const Box: react2.NamedExoticComponent<BoxProps>;
|
|
85
85
|
//#endregion
|
|
86
86
|
export { Box, type BoxProps };
|
|
87
87
|
//# sourceMappingURL=Box.d.mts.map
|
package/dist/components/Box.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.mjs","names":["Box"],"sources":["../../src/components/Box.tsx"],"sourcesContent":["import type { Ref } from 'react';\nimport { memo, useMemo } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\n\nimport type { StyleProps } from '../../generated/styles';\nimport { styles } from '../../generated/styles';\nimport type { SizeProps } from '../types';\n\ninterface BoxProps extends ViewProps, SizeProps {\n ref?: Ref<View>;\n backgroundColor?: StyleProps['backgroundColor'];\n borderRadius?: StyleProps['borderRadius'];\n borderTopStartRadius?: StyleProps['borderTopStartRadius'];\n borderTopEndRadius?: StyleProps['borderTopEndRadius'];\n borderBottomStartRadius?: StyleProps['borderBottomStartRadius'];\n borderBottomEndRadius?: StyleProps['borderBottomEndRadius'];\n borderColor?: StyleProps['borderColor'];\n borderStartColor?: StyleProps['borderStartColor'];\n borderEndColor?: StyleProps['borderEndColor'];\n borderTopColor?: StyleProps['borderTopColor'];\n borderBottomColor?: StyleProps['borderBottomColor'];\n borderWidth?: StyleProps['borderWidth'];\n borderVerticalWidth?: StyleProps['borderVerticalWidth'];\n borderHorizontalWidth?: StyleProps['borderHorizontalWidth'];\n borderStartWidth?: StyleProps['borderStartWidth'];\n borderEndWidth?: StyleProps['borderEndWidth'];\n borderTopWidth?: StyleProps['borderTopWidth'];\n borderBottomWidth?: StyleProps['borderBottomWidth'];\n alignContent?: StyleProps['alignContent'];\n alignItems?: StyleProps['alignItems'];\n alignSelf?: StyleProps['alignSelf'];\n flex?: StyleProps['flex'];\n flexDirection?: StyleProps['flexDirection'];\n flexGrow?: StyleProps['flexGrow'];\n flexShrink?: StyleProps['flexShrink'];\n flexWrap?: StyleProps['flexWrap'];\n justifyContent?: StyleProps['justifyContent'];\n // flexBasis?: StyleProps['flexBasis'];\n display?: StyleProps['display'];\n overflow?: StyleProps['overflow'];\n // overflowX?: StyleProps['overflowX'];\n // overflowY?: StyleProps['overflowY'];\n // position?: StyleProps['position'];\n spacing?: StyleProps['spacing'];\n spacingHorizontal?: StyleProps['spacingHorizontal'];\n spacingVertical?: StyleProps['spacingVertical'];\n spacingBottom?: StyleProps['spacingBottom'];\n spacingEnd?: StyleProps['spacingEnd'];\n spacingStart?: StyleProps['spacingStart'];\n spacingTop?: StyleProps['spacingTop'];\n offset?: StyleProps['offset'];\n offsetVertical?: StyleProps['offsetVertical'];\n offsetHorizontal?: StyleProps['offsetHorizontal'];\n offsetBottom?: StyleProps['offsetBottom'];\n offsetEnd?: StyleProps['offsetEnd'];\n offsetStart?: StyleProps['offsetStart'];\n offsetTop?: StyleProps['offsetTop'];\n columnGap?: StyleProps['columnGap'];\n rowGap?: StyleProps['rowGap'];\n dangerouslySetBackgroundColor?: string;\n dangerouslySetBorderColor?: string;\n}\n\n/**\n * **📦 A layout component that can be used to compose other components**\n *\n * @description\n * The most simple component we ship - a div. But with all the power of the UDS design system.\n * By default, `Box` is a flexbox container. When working with vertical or horizontal layouts,\n * consider using [VStack](./v-stack) or [HStack](./h-stack) respectively.\n *\n * @example\n * ```tsx\n * import { Box } from '@yahoo/uds
|
|
1
|
+
{"version":3,"file":"Box.mjs","names":["Box"],"sources":["../../src/components/Box.tsx"],"sourcesContent":["import type { Ref } from 'react';\nimport { memo, useMemo } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\n\nimport type { StyleProps } from '../../generated/styles';\nimport { styles } from '../../generated/styles';\nimport type { SizeProps } from '../types';\n\ninterface BoxProps extends ViewProps, SizeProps {\n ref?: Ref<View>;\n backgroundColor?: StyleProps['backgroundColor'];\n borderRadius?: StyleProps['borderRadius'];\n borderTopStartRadius?: StyleProps['borderTopStartRadius'];\n borderTopEndRadius?: StyleProps['borderTopEndRadius'];\n borderBottomStartRadius?: StyleProps['borderBottomStartRadius'];\n borderBottomEndRadius?: StyleProps['borderBottomEndRadius'];\n borderColor?: StyleProps['borderColor'];\n borderStartColor?: StyleProps['borderStartColor'];\n borderEndColor?: StyleProps['borderEndColor'];\n borderTopColor?: StyleProps['borderTopColor'];\n borderBottomColor?: StyleProps['borderBottomColor'];\n borderWidth?: StyleProps['borderWidth'];\n borderVerticalWidth?: StyleProps['borderVerticalWidth'];\n borderHorizontalWidth?: StyleProps['borderHorizontalWidth'];\n borderStartWidth?: StyleProps['borderStartWidth'];\n borderEndWidth?: StyleProps['borderEndWidth'];\n borderTopWidth?: StyleProps['borderTopWidth'];\n borderBottomWidth?: StyleProps['borderBottomWidth'];\n alignContent?: StyleProps['alignContent'];\n alignItems?: StyleProps['alignItems'];\n alignSelf?: StyleProps['alignSelf'];\n flex?: StyleProps['flex'];\n flexDirection?: StyleProps['flexDirection'];\n flexGrow?: StyleProps['flexGrow'];\n flexShrink?: StyleProps['flexShrink'];\n flexWrap?: StyleProps['flexWrap'];\n justifyContent?: StyleProps['justifyContent'];\n // flexBasis?: StyleProps['flexBasis'];\n display?: StyleProps['display'];\n overflow?: StyleProps['overflow'];\n // overflowX?: StyleProps['overflowX'];\n // overflowY?: StyleProps['overflowY'];\n // position?: StyleProps['position'];\n spacing?: StyleProps['spacing'];\n spacingHorizontal?: StyleProps['spacingHorizontal'];\n spacingVertical?: StyleProps['spacingVertical'];\n spacingBottom?: StyleProps['spacingBottom'];\n spacingEnd?: StyleProps['spacingEnd'];\n spacingStart?: StyleProps['spacingStart'];\n spacingTop?: StyleProps['spacingTop'];\n offset?: StyleProps['offset'];\n offsetVertical?: StyleProps['offsetVertical'];\n offsetHorizontal?: StyleProps['offsetHorizontal'];\n offsetBottom?: StyleProps['offsetBottom'];\n offsetEnd?: StyleProps['offsetEnd'];\n offsetStart?: StyleProps['offsetStart'];\n offsetTop?: StyleProps['offsetTop'];\n columnGap?: StyleProps['columnGap'];\n rowGap?: StyleProps['rowGap'];\n dangerouslySetBackgroundColor?: string;\n dangerouslySetBorderColor?: string;\n}\n\n/**\n * **📦 A layout component that can be used to compose other components**\n *\n * @description\n * The most simple component we ship - a div. But with all the power of the UDS design system.\n * By default, `Box` is a flexbox container. When working with vertical or horizontal layouts,\n * consider using [VStack](./v-stack) or [HStack](./h-stack) respectively.\n *\n * @example\n * ```tsx\n * import { Box } from '@yahoo/uds';\n *\n * <Box backgroundColor=\"primary\" spacing=\"6\">\n * Any kind of content can go here!\n * </Box>\n * ```\n *\n * @usage\n * - If you need to div-like container to apply padding, shapes, or other styling.\n * - If you're creating card components.\n *\n * @see The {@link https://uds.build/docs/components/box Box Docs} for more info\n *\n * @related [HStack](https://uds.build/docs/components/h-stack), [VStack](https://uds.build/docs/components/v-stack)\n */\nconst Box = memo(function Box({\n // background\n backgroundColor,\n dangerouslySetBackgroundColor,\n // border\n borderRadius,\n borderTopStartRadius,\n borderTopEndRadius,\n borderBottomStartRadius,\n borderBottomEndRadius,\n borderColor,\n dangerouslySetBorderColor,\n borderStartColor,\n borderEndColor,\n borderTopColor,\n borderBottomColor,\n borderWidth,\n borderVerticalWidth,\n borderHorizontalWidth,\n borderStartWidth,\n borderEndWidth,\n borderTopWidth,\n borderBottomWidth,\n // flex\n alignContent,\n alignItems,\n alignSelf,\n flex,\n flexDirection,\n flexGrow,\n flexShrink,\n flexWrap,\n justifyContent,\n // flexBasis,\n // layout\n display = 'flex',\n overflow,\n // overflowX,\n // overflowY,\n // position,\n // spacing\n spacing,\n spacingHorizontal,\n spacingVertical,\n spacingBottom,\n spacingEnd,\n spacingStart,\n spacingTop,\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetBottom,\n offsetEnd,\n offsetStart,\n offsetTop,\n columnGap,\n rowGap,\n // size\n width,\n height,\n minWidth,\n maxWidth,\n minHeight,\n maxHeight,\n // // shadow\n // dropShadow,\n // insetShadow,\n // // nested border radius\n // nestedBorderRadius,\n // nestedBorderRadiusSize = nestedBorderRadius ? borderRadius : undefined,\n // nestedBorderRadiusSpacing = nestedBorderRadius ? spacing : undefined,\n // nestedBorderRadiusWidth = nestedBorderRadius ? borderWidth : undefined,\n // style - extracted to merge with variants\n style,\n ref,\n // rest\n ...props\n}: BoxProps) {\n const variants = {\n // background\n backgroundColor,\n // border\n borderRadius,\n borderTopStartRadius,\n borderTopEndRadius,\n borderBottomStartRadius,\n borderBottomEndRadius,\n // nestedBorderRadius,\n // nestedBorderRadiusSize,\n // nestedBorderRadiusSpacing,\n // nestedBorderRadiusWidth,\n borderColor,\n borderStartColor,\n borderEndColor,\n borderTopColor,\n borderBottomColor,\n borderWidth,\n borderVerticalWidth,\n borderHorizontalWidth,\n borderStartWidth,\n borderEndWidth,\n borderTopWidth,\n borderBottomWidth,\n // flex\n alignContent,\n alignItems,\n alignSelf,\n flex,\n flexDirection,\n flexGrow,\n flexShrink,\n flexWrap,\n justifyContent,\n // flexBasis,\n // layout\n display,\n overflow,\n // overflowX,\n // overflowY,\n // position,\n // spacing\n spacing,\n spacingHorizontal,\n spacingVertical,\n spacingBottom,\n spacingEnd,\n spacingStart,\n spacingTop,\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetBottom,\n offsetEnd,\n offsetStart,\n offsetTop,\n columnGap,\n rowGap,\n // rest\n };\n\n styles.useVariants(variants);\n\n // styles.foundation must be in deps - it returns a new reference when variants change\n const boxStyles = useMemo(\n () => [\n dangerouslySetBackgroundColor\n ? { backgroundColor: dangerouslySetBackgroundColor }\n : undefined,\n dangerouslySetBorderColor ? { borderColor: dangerouslySetBorderColor } : undefined,\n width ? { width } : undefined,\n height ? { height } : undefined,\n minWidth ? { minWidth } : undefined,\n maxWidth ? { maxWidth } : undefined,\n minHeight ? { minHeight } : undefined,\n maxHeight ? { maxHeight } : undefined,\n styles.foundation,\n style,\n ],\n [\n dangerouslySetBackgroundColor,\n dangerouslySetBorderColor,\n width,\n height,\n minWidth,\n maxWidth,\n minHeight,\n maxHeight,\n styles.foundation,\n style,\n ],\n );\n\n // Merge variant styles with user-provided style prop\n // User styles come last so they can override variant styles if needed\n return <View ref={ref} style={boxStyles} {...props} />;\n});\n\nBox.displayName = 'Box';\n\nexport { Box, type BoxProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyFA,MAAM,MAAM,KAAK,SAASA,MAAI,EAE5B,iBACA,+BAEA,cACA,sBACA,oBACA,yBACA,uBACA,aACA,2BACA,kBACA,gBACA,gBACA,mBACA,aACA,qBACA,uBACA,kBACA,gBACA,gBACA,mBAEA,cACA,YACA,WACA,MACA,eACA,UACA,YACA,UACA,gBAGA,UAAU,QACV,UAKA,SACA,mBACA,iBACA,eACA,YACA,cACA,YACA,QACA,gBACA,kBACA,cACA,WACA,aACA,WACA,WACA,QAEA,OACA,QACA,UACA,UACA,WACA,WAUA,OACA,KAEA,GAAG,SACQ;CACX,MAAM,WAAW;EAEf;EAEA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAED;AAED,QAAO,YAAY,SAAS;AAkC5B,QAAO,oBAAC;EAAU;EAAK,OA/BL,cACV;GACJ,gCACI,EAAE,iBAAiB,+BAA+B,GAClD;GACJ,4BAA4B,EAAE,aAAa,2BAA2B,GAAG;GACzE,QAAQ,EAAE,OAAO,GAAG;GACpB,SAAS,EAAE,QAAQ,GAAG;GACtB,WAAW,EAAE,UAAU,GAAG;GAC1B,WAAW,EAAE,UAAU,GAAG;GAC1B,YAAY,EAAE,WAAW,GAAG;GAC5B,YAAY,EAAE,WAAW,GAAG;GAC5B,OAAO;GACP;GACD,EACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,OAAO;GACP;GACD,CACF;EAIwC,GAAI;GAAS;EACtD;AAEF,IAAI,cAAc"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
|
|
2
2
|
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
3
|
-
const
|
|
4
|
-
const require_motion = require('../motion.cjs');
|
|
3
|
+
const require_motion = require('../uds/dist/tokens/configs/motion.cjs');
|
|
4
|
+
const require_motion$1 = require('../motion.cjs');
|
|
5
5
|
const require_components_IconSlot = require('./IconSlot.cjs');
|
|
6
6
|
const require_components_Text = require('./Text.cjs');
|
|
7
7
|
const require_components_Pressable = require('./Pressable.cjs');
|
|
@@ -32,7 +32,7 @@ function interpolateShadowAlpha(shadow, alpha) {
|
|
|
32
32
|
* Uses staggered animation: opacity waits until halfway through width animation.
|
|
33
33
|
*/
|
|
34
34
|
function AnimatedIconSlot({ children, visible, iconSize, gap }) {
|
|
35
|
-
const progress = (0, react_native_reanimated.useDerivedValue)(() => (0, react_native_reanimated.withSpring)(visible ? 1 : 0, require_motion.BUTTON_SPRING_CONFIG), [visible]);
|
|
35
|
+
const progress = (0, react_native_reanimated.useDerivedValue)(() => (0, react_native_reanimated.withSpring)(visible ? 1 : 0, require_motion$1.BUTTON_SPRING_CONFIG), [visible]);
|
|
36
36
|
const animatedStyle = (0, react_native_reanimated.useAnimatedStyle)(() => {
|
|
37
37
|
const totalWidth = iconSize + gap;
|
|
38
38
|
return {
|
|
@@ -82,10 +82,10 @@ const Button = (0, react.memo)(function Button$1({ variant = "primary", size = "
|
|
|
82
82
|
const buttonGap = generated_styles.buttonStyles.root.gap;
|
|
83
83
|
const iconSize = generated_styles.buttonStyles.icon.fontSize;
|
|
84
84
|
const animatedTheme = (0, react_native_unistyles_reanimated.useAnimatedTheme)();
|
|
85
|
-
const scale = (0, react_native_reanimated.useSharedValue)(
|
|
85
|
+
const scale = (0, react_native_reanimated.useSharedValue)(require_motion.SCALE_EFFECTS.none);
|
|
86
86
|
const handlePressIn = (0, react.useCallback)((event) => {
|
|
87
87
|
setPressed(true);
|
|
88
|
-
if (shouldAnimate) scale.value = (0, react_native_reanimated.withSpring)(
|
|
88
|
+
if (shouldAnimate) scale.value = (0, react_native_reanimated.withSpring)(require_motion.SCALE_EFFECTS.down, require_motion$1.BUTTON_SPRING_CONFIG);
|
|
89
89
|
onPressIn?.(event);
|
|
90
90
|
}, [
|
|
91
91
|
shouldAnimate,
|
|
@@ -94,7 +94,7 @@ const Button = (0, react.memo)(function Button$1({ variant = "primary", size = "
|
|
|
94
94
|
]);
|
|
95
95
|
const handlePressOut = (0, react.useCallback)((event) => {
|
|
96
96
|
setPressed(false);
|
|
97
|
-
if (shouldAnimate) scale.value = (0, react_native_reanimated.withSpring)(
|
|
97
|
+
if (shouldAnimate) scale.value = (0, react_native_reanimated.withSpring)(require_motion.SCALE_EFFECTS.none, require_motion$1.BUTTON_SPRING_CONFIG);
|
|
98
98
|
onPressOut?.(event);
|
|
99
99
|
}, [
|
|
100
100
|
shouldAnimate,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { IconVariant } from "../icons/dist/types.cjs";
|
|
3
|
+
import { ButtonSize, ButtonVariantFlat } from "../uds/dist/tokens/types.cjs";
|
|
3
4
|
import { IconSlotType } from "./IconSlot.cjs";
|
|
4
5
|
import { PressableProps as PressableProps$1 } from "./Pressable.cjs";
|
|
5
|
-
import * as
|
|
6
|
+
import * as react8 from "react";
|
|
6
7
|
import { Ref } from "react";
|
|
7
8
|
import { View } from "react-native";
|
|
8
9
|
|
|
@@ -49,7 +50,7 @@ interface ButtonProps extends Omit<PressableProps$1, 'children' | 'disabled'> {
|
|
|
49
50
|
*
|
|
50
51
|
* @see The {@link https://uds.build/docs/components/button Button Docs} for more info
|
|
51
52
|
*/
|
|
52
|
-
declare const Button:
|
|
53
|
+
declare const Button: react8.NamedExoticComponent<ButtonProps>;
|
|
53
54
|
//#endregion
|
|
54
55
|
export { Button, type ButtonProps };
|
|
55
56
|
//# sourceMappingURL=Button.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.cts","names":[],"sources":["../../src/components/Button.tsx"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.d.cts","names":[],"sources":["../../src/components/Button.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;UA2GU,WAAA,SAAoB,KAAK;;YAEvB;;EAFF,IAAA,CAAA,EAID,UAJa;EAAa;EAEvB,WAAA,CAAA,EAII,WAJJ;EAEH,SAAA,CAAA,EAGK,YAHL;EAEO,OAAA,CAAA,EAEJ,YAFI;EACF,OAAA,CAAA,EAAA,OAAA;EACF,QAAA,CAAA,EAAA,OAAA;EAGC,QAAM,CAAA,EAAN,KAAA,CAAM,SAAA;EAMP;;;;EA8BN,cA4JJ,CAAA,EAAA,OA5JU;QA9BJ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;cA8BN,QAAM,MAAA,CAAA,qBAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { IconVariant } from "../icons/dist/types.mjs";
|
|
3
|
+
import { ButtonSize, ButtonVariantFlat } from "../uds/dist/tokens/types.mjs";
|
|
3
4
|
import { IconSlotType } from "./IconSlot.mjs";
|
|
4
5
|
import { PressableProps as PressableProps$1 } from "./Pressable.mjs";
|
|
5
|
-
import * as
|
|
6
|
+
import * as react12 from "react";
|
|
6
7
|
import { Ref } from "react";
|
|
7
8
|
import { View } from "react-native";
|
|
8
9
|
|
|
@@ -49,7 +50,7 @@ interface ButtonProps extends Omit<PressableProps$1, 'children' | 'disabled'> {
|
|
|
49
50
|
*
|
|
50
51
|
* @see The {@link https://uds.build/docs/components/button Button Docs} for more info
|
|
51
52
|
*/
|
|
52
|
-
declare const Button:
|
|
53
|
+
declare const Button: react12.NamedExoticComponent<ButtonProps>;
|
|
53
54
|
//#endregion
|
|
54
55
|
export { Button, type ButtonProps };
|
|
55
56
|
//# sourceMappingURL=Button.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.mts","names":[],"sources":["../../src/components/Button.tsx"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.d.mts","names":[],"sources":["../../src/components/Button.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;UA2GU,WAAA,SAAoB,KAAK;;YAEvB;;EAFF,IAAA,CAAA,EAID,UAJa;EAAa;EAEvB,WAAA,CAAA,EAII,WAJJ;EAEH,SAAA,CAAA,EAGK,YAHL;EAEO,OAAA,CAAA,EAEJ,YAFI;EACF,OAAA,CAAA,EAAA,OAAA;EACF,QAAA,CAAA,EAAA,OAAA;EAGC,QAAM,CAAA,EAAN,KAAA,CAAM,SAAA;EAMP;;;;EA8BN,cA4JJ,CAAA,EAAA,OA5JU;QA9BJ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;cA8BN,QAAM,OAAA,CAAA,qBAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
|
|
2
|
-
import { SCALE_EFFECTS } from "../
|
|
2
|
+
import { SCALE_EFFECTS } from "../uds/dist/tokens/configs/motion.mjs";
|
|
3
3
|
import { BUTTON_SPRING_CONFIG } from "../motion.mjs";
|
|
4
4
|
import { IconSlot } from "./IconSlot.mjs";
|
|
5
5
|
import { Text as Text$1 } from "./Text.mjs";
|