@castui/cast-ui 3.1.0 → 3.2.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.
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Dialog — modal overlay for focused tasks, confirmations, and alerts.
3
+ *
4
+ * Maps to the Figma <Dialog> component:
5
+ * size → small | default | large
6
+ *
7
+ * Structure: scrim backdrop → card (icon + title + description + slot + actions)
8
+ * Surface styling uses shared overlay tokens (bg, border, radius, shadow).
9
+ * Spacing tokens come from the density theme.
10
+ *
11
+ * Exports:
12
+ * Dialog — full modal (backdrop + card)
13
+ * DialogContent — just the card, for inline use or custom overlays
14
+ */
15
+ import React from 'react';
16
+ import { type ViewStyle, type StyleProp } from 'react-native';
17
+ export type DialogSize = 'small' | 'default' | 'large';
18
+ export type DialogAction = {
19
+ /** Button label text. */
20
+ label: string;
21
+ /** Press handler. */
22
+ onPress: () => void;
23
+ };
24
+ export type DialogContentProps = {
25
+ /** Dialog title — always visible. */
26
+ title: string;
27
+ /** Supporting text below the title. */
28
+ description?: string;
29
+ /** Header icon — Material Symbols name string or ReactNode. */
30
+ icon?: string | React.ReactNode;
31
+ /** Size variant — controls padding, gap, typography, icon size, and width. */
32
+ size?: DialogSize;
33
+ /** Custom content between the description and actions. */
34
+ children?: React.ReactNode;
35
+ /** Primary action button (brand/bold). Rendered on the right. */
36
+ primaryAction?: DialogAction;
37
+ /** Secondary action button (neutral/default). Rendered on the left. */
38
+ secondaryAction?: DialogAction;
39
+ /** Style override for the card. */
40
+ style?: StyleProp<ViewStyle>;
41
+ /** Accessibility label — falls back to title if not provided. */
42
+ accessibilityLabel?: string;
43
+ };
44
+ export type DialogProps = DialogContentProps & {
45
+ /** Controls visibility. */
46
+ open: boolean;
47
+ /** Called when the backdrop is pressed or the dialog requests close. */
48
+ onClose?: () => void;
49
+ };
50
+ /**
51
+ * The dialog card rendered inline — no modal, no backdrop.
52
+ * Use this for static display (e.g., Storybook visual stories)
53
+ * or when building custom overlay implementations.
54
+ */
55
+ export declare function DialogContent({ title: titleText, description, icon, size, children, primaryAction, secondaryAction, style, accessibilityLabel, }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
56
+ export declare function Dialog({ open, onClose, ...contentProps }: DialogProps): import("react/jsx-runtime").JSX.Element;
57
+ //# sourceMappingURL=Dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAmBtB,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAChC,8EAA8E;IAC9E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,iEAAiE;IACjE,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,uEAAuE;IACvE,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,mCAAmC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAiDF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,EAChB,WAAW,EACX,IAAI,EACJ,IAAgB,EAChB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,KAAK,EACL,kBAAkB,GACnB,EAAE,kBAAkB,2CA2GpB;AAMD,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,GAAG,YAAY,EAChB,EAAE,WAAW,2CA6Bb"}
@@ -0,0 +1,104 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Modal, Pressable, View, Text, Platform, } from 'react-native';
3
+ import { useTheme } from '../../theme';
4
+ import { Button } from '../Button';
5
+ import { Icon } from '../Icon';
6
+ import { fontFamily, fontWeight, title, body, surfaceTokens, textTokens, overlayTokens, controlTokens, } from '../../tokens';
7
+ // ---------------------------------------------------------------------------
8
+ // Constants
9
+ // ---------------------------------------------------------------------------
10
+ /** Maps dialog size → typography scale key */
11
+ const TYPO_SCALE = {
12
+ small: 'sm',
13
+ default: 'md',
14
+ large: 'lg',
15
+ };
16
+ /** Maps dialog size → button size */
17
+ const BUTTON_SIZE = {
18
+ small: 'small',
19
+ default: 'default',
20
+ large: 'large',
21
+ };
22
+ /** Fixed widths per dialog size (from Figma spec) */
23
+ const DIALOG_WIDTH = {
24
+ small: 360,
25
+ default: 480,
26
+ large: 600,
27
+ };
28
+ /** Internal spacing constants (semantic tokens, constant across densities) */
29
+ const HEADER_ICON_GAP = 8; // space/5
30
+ const TITLE_DESC_GAP = 2; // space/2
31
+ /** Shadow for web — matches Figma shadow/lg */
32
+ const SHADOW_WEB = {
33
+ boxShadow: '0px 4px 6px rgba(0,0,0,0.04), 0px 10px 15px rgba(0,0,0,0.08)',
34
+ };
35
+ /** Shadow for native */
36
+ const SHADOW_NATIVE = {
37
+ shadowColor: '#000000',
38
+ shadowOffset: { width: 0, height: 10 },
39
+ shadowOpacity: 0.08,
40
+ shadowRadius: 15,
41
+ elevation: 8,
42
+ };
43
+ // ---------------------------------------------------------------------------
44
+ // DialogContent — the card, without modal/backdrop
45
+ // ---------------------------------------------------------------------------
46
+ /**
47
+ * The dialog card rendered inline — no modal, no backdrop.
48
+ * Use this for static display (e.g., Storybook visual stories)
49
+ * or when building custom overlay implementations.
50
+ */
51
+ export function DialogContent({ title: titleText, description, icon, size = 'default', children, primaryAction, secondaryAction, style, accessibilityLabel, }) {
52
+ const { components, colors } = useTheme();
53
+ const sizeTokens = components.dialog[size];
54
+ const titleTokens = title[TYPO_SCALE[size]];
55
+ const bodyTokens = body[TYPO_SCALE[size]];
56
+ const buttonSize = BUTTON_SIZE[size];
57
+ const fgColor = colors.neutral.default.default.fg;
58
+ const resolvedIcon = typeof icon === 'string' ? (_jsx(Icon, { name: icon, size: sizeTokens.iconSize, color: fgColor })) : (icon);
59
+ const hasActions = primaryAction || secondaryAction;
60
+ return (_jsxs(View, { accessibilityRole: "alert", accessibilityLabel: accessibilityLabel || titleText, style: [
61
+ {
62
+ width: DIALOG_WIDTH[size],
63
+ maxWidth: '100%',
64
+ backgroundColor: surfaceTokens.overlay.bg,
65
+ borderWidth: controlTokens.borderWidth,
66
+ borderColor: surfaceTokens.overlay.border,
67
+ borderRadius: surfaceTokens.overlay.borderRadius,
68
+ padding: sizeTokens.padding,
69
+ gap: sizeTokens.gap,
70
+ ...(Platform.OS === 'web' ? SHADOW_WEB : SHADOW_NATIVE),
71
+ },
72
+ style,
73
+ ], children: [_jsxs(View, { style: { gap: TITLE_DESC_GAP }, children: [_jsxs(View, { style: { gap: HEADER_ICON_GAP }, children: [resolvedIcon, _jsx(Text, { accessibilityRole: "header", style: {
74
+ fontFamily: fontFamily.sans,
75
+ fontWeight: fontWeight.medium,
76
+ fontSize: titleTokens.fontSize,
77
+ lineHeight: titleTokens.lineHeight,
78
+ letterSpacing: titleTokens.letterSpacing,
79
+ color: fgColor,
80
+ }, children: titleText })] }), description ? (_jsx(Text, { style: {
81
+ fontFamily: fontFamily.sans,
82
+ fontWeight: fontWeight.regular,
83
+ fontSize: bodyTokens.fontSize,
84
+ lineHeight: bodyTokens.lineHeight,
85
+ letterSpacing: bodyTokens.letterSpacing,
86
+ color: textTokens.description,
87
+ }, children: description })) : null] }), children, hasActions ? (_jsxs(View, { style: {
88
+ flexDirection: 'row',
89
+ justifyContent: 'flex-end',
90
+ gap: sizeTokens.gap,
91
+ }, children: [secondaryAction ? (_jsx(Button, { intent: "neutral", prominence: "default", size: buttonSize, onPress: secondaryAction.onPress, children: secondaryAction.label })) : null, primaryAction ? (_jsx(Button, { intent: "brand", prominence: "bold", size: buttonSize, onPress: primaryAction.onPress, children: primaryAction.label })) : null] })) : null] }));
92
+ }
93
+ // ---------------------------------------------------------------------------
94
+ // Dialog — full modal with backdrop
95
+ // ---------------------------------------------------------------------------
96
+ export function Dialog({ open, onClose, ...contentProps }) {
97
+ return (_jsx(Modal, { visible: open, transparent: true, animationType: "fade", onRequestClose: onClose, children: _jsx(Pressable, { onPress: onClose, accessibilityRole: "button", accessibilityLabel: "Close dialog", style: {
98
+ flex: 1,
99
+ backgroundColor: `rgba(0, 0, 0, ${overlayTokens.scrimOpacity})`,
100
+ justifyContent: 'center',
101
+ alignItems: 'center',
102
+ }, children: _jsx(Pressable, { onPress: (e) => e.stopPropagation(), accessibilityRole: "none", style: { maxWidth: '90%' }, children: _jsx(DialogContent, { ...contentProps }) }) }) }));
103
+ }
104
+ //# sourceMappingURL=Dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Dialog, DialogContent, type DialogProps, type DialogContentProps, type DialogAction, type DialogSize, } from './Dialog';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Dialog, DialogContent, } from './Dialog';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,aAAa,GAKd,MAAM,UAAU,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- export { intentColors, disabledColors, controlTokens, fontFamily, fontWeight, label, type IntentName, type ProminenceName, type StateName, type LabelSize, } from './tokens';
2
- export { ThemeProvider, useTheme, themes, type Theme, type ThemeProviderProps, type DensityTheme, type ComponentTokens, type ButtonSizeTokens, type ButtonThemeTokens, type DeepPartial, } from './theme';
1
+ export { intentColors, disabledColors, controlTokens, surfaceTokens, textTokens, overlayTokens, fontFamily, fontWeight, label, title, body, type IntentName, type ProminenceName, type StateName, type LabelSize, } from './tokens';
2
+ export { ThemeProvider, useTheme, themes, type Theme, type ThemeProviderProps, type DensityTheme, type ComponentTokens, type ButtonSizeTokens, type ButtonThemeTokens, type DialogSizeTokens, type DialogThemeTokens, type DeepPartial, } from './theme';
3
3
  export { Button, type ButtonProps, type ButtonSize } from './components/Button';
4
4
  export { Icon, type IconProps } from './components/Icon';
5
+ export { Dialog, DialogContent, type DialogProps, type DialogContentProps, type DialogAction, type DialogSize, } from './components/Dialog';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,KAAK,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,GACf,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,KAAK,KAAK,EACV,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,GACf,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,KAAK,KAAK,EACV,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,MAAM,EACN,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  // Cast UI — Cross-platform design system component library
2
2
  //
3
3
  // Tokens
4
- export { intentColors, disabledColors, controlTokens, fontFamily, fontWeight, label, } from './tokens';
4
+ export { intentColors, disabledColors, controlTokens, surfaceTokens, textTokens, overlayTokens, fontFamily, fontWeight, label, title, body, } from './tokens';
5
5
  // Theme
6
6
  export { ThemeProvider, useTheme, themes, } from './theme';
7
7
  // Components
8
8
  export { Button } from './components/Button';
9
9
  export { Icon } from './components/Icon';
10
+ export { Dialog, DialogContent, } from './components/Dialog';
10
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,SAAS;AACT,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,KAAK,GAKN,MAAM,UAAU,CAAC;AAElB,QAAQ;AACR,OAAO,EACL,aAAa,EACb,QAAQ,EACR,MAAM,GAQP,MAAM,SAAS,CAAC;AAEjB,aAAa;AACb,OAAO,EAAE,MAAM,EAAqC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,IAAI,EAAkB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,SAAS;AACT,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,KAAK,EACL,KAAK,EACL,IAAI,GAKL,MAAM,UAAU,CAAC;AAElB,QAAQ;AACR,OAAO,EACL,aAAa,EACb,QAAQ,EACR,MAAM,GAUP,MAAM,SAAS,CAAC;AAEjB,aAAa;AACb,OAAO,EAAE,MAAM,EAAqC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,IAAI,EAAkB,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,MAAM,EACN,aAAa,GAKd,MAAM,qBAAqB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { ThemeProvider, useTheme, type ThemeProviderProps, type Theme } from './ThemeContext';
2
2
  export { themes } from './themes';
3
- export type { DensityTheme, ComponentTokens, ButtonSizeTokens, ButtonThemeTokens, DeepPartial, } from './types';
3
+ export type { DensityTheme, ComponentTokens, ButtonSizeTokens, ButtonThemeTokens, DialogSizeTokens, DialogThemeTokens, DeepPartial, } from './types';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/theme/themes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE7D,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAuFxD,CAAC"}
1
+ {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/theme/themes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE7D,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAsGxD,CAAC"}
@@ -11,6 +11,11 @@
11
11
  */
12
12
  export const themes = {
13
13
  compact: {
14
+ dialog: {
15
+ small: { padding: 16, gap: 12, iconSize: 24 },
16
+ default: { padding: 24, gap: 16, iconSize: 32 },
17
+ large: { padding: 32, gap: 24, iconSize: 40 },
18
+ },
14
19
  button: {
15
20
  small: {
16
21
  gap: 4,
@@ -39,6 +44,11 @@ export const themes = {
39
44
  },
40
45
  },
41
46
  default: {
47
+ dialog: {
48
+ small: { padding: 24, gap: 16, iconSize: 24 },
49
+ default: { padding: 32, gap: 24, iconSize: 32 },
50
+ large: { padding: 40, gap: 32, iconSize: 40 },
51
+ },
42
52
  button: {
43
53
  small: {
44
54
  gap: 8,
@@ -67,6 +77,11 @@ export const themes = {
67
77
  },
68
78
  },
69
79
  comfortable: {
80
+ dialog: {
81
+ small: { padding: 40, gap: 24, iconSize: 24 },
82
+ default: { padding: 40, gap: 32, iconSize: 32 },
83
+ large: { padding: 48, gap: 40, iconSize: 40 },
84
+ },
70
85
  button: {
71
86
  small: {
72
87
  gap: 12,
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../src/theme/themes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,CAAC,MAAM,MAAM,GAA0C;IAC3D,OAAO,EAAE;QACP,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,OAAO,EAAE;gBACP,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;SACF;KACF;IAED,OAAO,EAAE;QACP,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,OAAO,EAAE;gBACP,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;SACF;KACF;IAED,WAAW,EAAE;QACX,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,OAAO,EAAE;gBACP,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../src/theme/themes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,CAAC,MAAM,MAAM,GAA0C;IAC3D,OAAO,EAAE;QACP,MAAM,EAAE;YACN,KAAK,EAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/C,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/C,KAAK,EAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SAChD;QACD,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,OAAO,EAAE;gBACP,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;SACF;KACF;IAED,OAAO,EAAE;QACP,MAAM,EAAE;YACN,KAAK,EAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/C,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/C,KAAK,EAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SAChD;QACD,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,OAAO,EAAE;gBACP,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;SACF;KACF;IAED,WAAW,EAAE;QACX,MAAM,EAAE;YACN,KAAK,EAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/C,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/C,KAAK,EAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SAChD;QACD,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,OAAO,EAAE;gBACP,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;YACD,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB;SACF;KACF;CACF,CAAC"}
@@ -20,12 +20,25 @@ export type ButtonThemeTokens = {
20
20
  default: ButtonSizeTokens;
21
21
  large: ButtonSizeTokens;
22
22
  };
23
+ /** Spacing/sizing tokens for a single dialog size variant */
24
+ export type DialogSizeTokens = {
25
+ padding: number;
26
+ gap: number;
27
+ iconSize: number;
28
+ };
29
+ /** All three dialog sizes */
30
+ export type DialogThemeTokens = {
31
+ small: DialogSizeTokens;
32
+ default: DialogSizeTokens;
33
+ large: DialogSizeTokens;
34
+ };
23
35
  /**
24
36
  * Component-level tokens that vary by density theme.
25
37
  * Extended as new components are added to the library.
26
38
  */
27
39
  export type ComponentTokens = {
28
40
  button: ButtonThemeTokens;
41
+ dialog: DialogThemeTokens;
29
42
  };
30
43
  /** Utility type for partial overrides at any depth */
31
44
  export type DeepPartial<T> = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEjE,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEjE,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC"}
@@ -31,5 +31,26 @@ export declare const disabledColors: StateColors;
31
31
  export declare const controlTokens: {
32
32
  borderWidth: number;
33
33
  };
34
+ /** Surface tokens — backgrounds and overlay styling */
35
+ export declare const surfaceTokens: {
36
+ /** Page/screen background — cool-grey/50 */
37
+ base: string;
38
+ /** Subtle background for sections/cards — cool-grey/100 */
39
+ subtle: string;
40
+ /** Overlay surfaces (Dialog, Popover, Tooltip, Select, etc.) */
41
+ overlay: {
42
+ bg: string;
43
+ border: string;
44
+ borderRadius: number;
45
+ };
46
+ };
47
+ /** Semantic text tokens */
48
+ export declare const textTokens: {
49
+ description: string;
50
+ };
51
+ /** Overlay/scrim opacity */
52
+ export declare const overlayTokens: {
53
+ scrimOpacity: number;
54
+ };
34
55
  export {};
35
56
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/tokens/colors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAuDzD,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,cAAc,EAAE,WAI5B,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/tokens/colors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAuDzD,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,cAAc,EAAE,WAI5B,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,aAAa;;CAEzB,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,aAAa;IACxB,4CAA4C;;IAE5C,2DAA2D;;IAE3D,gEAAgE;;;;;;CAMjE,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,UAAU;;CAEtB,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
@@ -71,4 +71,25 @@ export const disabledColors = {
71
71
  export const controlTokens = {
72
72
  borderWidth: 1,
73
73
  };
74
+ /** Surface tokens — backgrounds and overlay styling */
75
+ export const surfaceTokens = {
76
+ /** Page/screen background — cool-grey/50 */
77
+ base: '#F9FAFB',
78
+ /** Subtle background for sections/cards — cool-grey/100 */
79
+ subtle: '#F3F4F6',
80
+ /** Overlay surfaces (Dialog, Popover, Tooltip, Select, etc.) */
81
+ overlay: {
82
+ bg: '#FFFFFF',
83
+ border: '#E5E7EB',
84
+ borderRadius: 8,
85
+ },
86
+ };
87
+ /** Semantic text tokens */
88
+ export const textTokens = {
89
+ description: '#6B7280',
90
+ };
91
+ /** Overlay/scrim opacity */
92
+ export const overlayTokens = {
93
+ scrimOpacity: 0.5,
94
+ };
74
95
  //# sourceMappingURL=colors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/tokens/colors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/tokens/colors.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { intentColors, disabledColors, controlTokens, type IntentName, type ProminenceName, type StateName, } from './colors';
2
- export { fontFamily, fontWeight, label, type LabelSize } from './typography';
1
+ export { intentColors, disabledColors, controlTokens, surfaceTokens, textTokens, overlayTokens, type IntentName, type ProminenceName, type StateName, } from './colors';
2
+ export { fontFamily, fontWeight, label, title, body, type LabelSize } from './typography';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -1,3 +1,3 @@
1
- export { intentColors, disabledColors, controlTokens, } from './colors';
2
- export { fontFamily, fontWeight, label } from './typography';
1
+ export { intentColors, disabledColors, controlTokens, surfaceTokens, textTokens, overlayTokens, } from './colors';
2
+ export { fontFamily, fontWeight, label, title, body } from './typography';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,GAId,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAkB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,GAId,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Source tokens:
5
5
  * font-family/{sans|mono|serif}
6
6
  * font-weight/{light|regular|medium|semibold|bold}
7
- * label/{sm|md|lg} → fontSize, lineHeight, letterSpacing
7
+ * label/{sm|md|lg}, title/{sm|md|lg}, body/{sm|md|lg} → fontSize, lineHeight, letterSpacing
8
8
  */
9
9
  export declare const fontFamily: {
10
10
  readonly sans: string;
@@ -19,9 +19,13 @@ export declare const fontWeight: {
19
19
  bold: "700";
20
20
  };
21
21
  export type LabelSize = 'sm' | 'md' | 'lg';
22
- export declare const label: Record<LabelSize, {
22
+ type TypographyScale = Record<'sm' | 'md' | 'lg', {
23
23
  fontSize: number;
24
24
  lineHeight: number;
25
25
  letterSpacing: number;
26
26
  }>;
27
+ export declare const label: TypographyScale;
28
+ export declare const title: TypographyScale;
29
+ export declare const body: TypographyScale;
30
+ export {};
27
31
  //# sourceMappingURL=typography.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../src/tokens/typography.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,UAAU;;;;CAOb,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,eAAO,MAAM,KAAK,EAAE,MAAM,CACxB,SAAS,EACT;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAKhE,CAAC"}
1
+ {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../src/tokens/typography.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,UAAU;;;;CAOb,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,KAAK,eAAe,GAAG,MAAM,CAC3B,IAAI,GAAG,IAAI,GAAG,IAAI,EAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAChE,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,eAInB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,eAInB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,eAIlB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Source tokens:
5
5
  * font-family/{sans|mono|serif}
6
6
  * font-weight/{light|regular|medium|semibold|bold}
7
- * label/{sm|md|lg} → fontSize, lineHeight, letterSpacing
7
+ * label/{sm|md|lg}, title/{sm|md|lg}, body/{sm|md|lg} → fontSize, lineHeight, letterSpacing
8
8
  */
9
9
  import { Platform } from 'react-native';
10
10
  export const fontFamily = {
@@ -27,4 +27,14 @@ export const label = {
27
27
  md: { fontSize: 14, lineHeight: 20, letterSpacing: 0 },
28
28
  lg: { fontSize: 16, lineHeight: 24, letterSpacing: 0 },
29
29
  };
30
+ export const title = {
31
+ sm: { fontSize: 16, lineHeight: 24, letterSpacing: 0 },
32
+ md: { fontSize: 18, lineHeight: 24, letterSpacing: 0 },
33
+ lg: { fontSize: 20, lineHeight: 28, letterSpacing: 0 },
34
+ };
35
+ export const body = {
36
+ sm: { fontSize: 12, lineHeight: 18, letterSpacing: 0.25 },
37
+ md: { fontSize: 14, lineHeight: 20, letterSpacing: 0 },
38
+ lg: { fontSize: 16, lineHeight: 24, letterSpacing: 0 },
39
+ };
30
40
  //# sourceMappingURL=typography.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/tokens/typography.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAChF,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QACpB,GAAG,EAAE,6BAA6B;QAClC,OAAO,EAAE,gBAAgB;KAC1B,CAAC;IACF,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;CACrE,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,KAAc;IACrB,OAAO,EAAE,KAAc;IACvB,MAAM,EAAE,KAAc;IACtB,QAAQ,EAAE,KAAc;IACxB,IAAI,EAAE,KAAc;CACrB,CAAC;AAIF,MAAM,CAAC,MAAM,KAAK,GAGd;IACF,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACzD,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IACtD,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;CACvD,CAAC"}
1
+ {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/tokens/typography.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAChF,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QACpB,GAAG,EAAE,6BAA6B;QAClC,OAAO,EAAE,gBAAgB;KAC1B,CAAC;IACF,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;CACrE,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,KAAc;IACrB,OAAO,EAAE,KAAc;IACvB,MAAM,EAAE,KAAc;IACtB,QAAQ,EAAE,KAAc;IACxB,IAAI,EAAE,KAAc;CACrB,CAAC;AASF,MAAM,CAAC,MAAM,KAAK,GAAoB;IACpC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACzD,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IACtD,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAoB;IACpC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IACtD,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IACtD,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAoB;IACnC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACzD,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IACtD,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;CACvD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@castui/cast-ui",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "A cross-platform design system for React Native (iOS, Android, Web) with multi-theme support.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",