···1313 themes,
1414 createTheme,
1515 createThemes,
1616+ DEFAULT_PALETTE,
1717+ DEFAULT_SUBDUED_PALETTE,
1618 invertPalette,
1719 isWeb,
1820 isNative,
···141143142144### Border radius
143145144144-All values come from `tokens.borderRadius`.
146146+Values come from `tokens.borderRadius` (zero variants use literal `0`).
145147146148| Atom | Value (px) |
147149|------|------------|
···194196195197### Gap
196198197197-All values come from `tokens.space`.
199199+Values come from `tokens.space` (zero variants use literal `0`).
198200199201| Atom | Value (px) |
200202|------|------------|
···296298297299### Border curves (iOS only)
298300299299-These resolve to empty objects on web and Android. On iOS, they set `borderCurve`.
301301+These resolve to `undefined` on web and Android (via the `ios()` platform selector). On iOS, they set `borderCurve`.
300302301303| Atom | iOS Style |
302304|------|-----------|
···327329328330### Padding
329331330330-All values come from `tokens.space`. Each size has `p_`, `px_`, `py_`, `pt_`, `pb_`, `pl_`, `pr_` variants.
332332+Values come from `tokens.space` (zero variants use literal `0`). Each size has `p_`, `px_`, `py_`, `pt_`, `pb_`, `pl_`, `pr_` variants.
331333332334| Size | Value (px) |
333335|------|------------|
···705707// Returns '#000000'
706708```
707709708708-You can use a `default` fallback instead of specifying every theme:
710710+The type signature accepts either an exhaustive map of all three theme names, or a partial map with a `default` key. When using `default`, you still need to provide values for every theme name you want to handle — the `default` value only applies when the `name` argument falls outside the known `ThemeName` union (which shouldn't happen in practice). If a theme name is omitted from the options, its value will be `undefined`:
709711710712```typescript
711713utils.select('dim', { light: 'white', default: 'black' })
714714+// Returns undefined — 'dim' matches the switch case but options.dim is not set
715715+```
716716+717717+For reliable results, always provide all three theme names:
718718+719719+```typescript
720720+utils.select('dim', { light: 'white', dark: 'black', dim: 'black' })
712721// Returns 'black'
713722```
714723···721730// { flexDirection: 'row', gap: 12 }
722731```
723732724724-On web, this uses a custom implementation. On native, it delegates to `StyleSheet.flatten`.
733733+On both web and native, this delegates to `StyleSheet.flatten`. A custom fallback implementation exists for environments where neither `.web.ts` nor `.native.ts` is resolved.
725734726735Returns: merged style object
727736