@ankhorage/surface 0.2.4 → 1.0.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.
Files changed (71) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/examples/DocsExamples.d.ts.map +1 -1
  3. package/dist/examples/DocsExamples.js +0 -2
  4. package/dist/examples/DocsExamples.js.map +1 -1
  5. package/dist/internal/resolvers/resolveControlSize.d.ts +2 -2
  6. package/dist/internal/resolvers/resolveControlSize.d.ts.map +1 -1
  7. package/dist/internal/resolvers/resolveControlSize.js.map +1 -1
  8. package/dist/internal/resolvers/resolveIconSize.d.ts +2 -2
  9. package/dist/internal/resolvers/resolveIconSize.d.ts.map +1 -1
  10. package/dist/internal/resolvers/resolveIconSize.js.map +1 -1
  11. package/dist/internal/resolvers/resolveInteractiveColors.d.ts +3 -3
  12. package/dist/internal/resolvers/resolveInteractiveColors.d.ts.map +1 -1
  13. package/dist/internal/resolvers/resolveInteractiveColors.js.map +1 -1
  14. package/dist/internal/resolvers/resolveSelectionControlColors.d.ts +2 -2
  15. package/dist/internal/resolvers/resolveSelectionControlColors.d.ts.map +1 -1
  16. package/dist/internal/resolvers/resolveSelectionControlColors.js.map +1 -1
  17. package/dist/internal/resolvers/resolveTextColor.d.ts +3 -3
  18. package/dist/internal/resolvers/resolveTextColor.d.ts.map +1 -1
  19. package/dist/internal/resolvers/resolveTextColor.js.map +1 -1
  20. package/dist/internal/resolvers/resolveTextStyles.d.ts +3 -3
  21. package/dist/internal/resolvers/resolveTextStyles.d.ts.map +1 -1
  22. package/dist/internal/resolvers/resolveTextStyles.js.map +1 -1
  23. package/dist/internal/resolvers/resolveTone.d.ts +2 -2
  24. package/dist/internal/resolvers/resolveTone.d.ts.map +1 -1
  25. package/dist/internal/resolvers/resolveTone.js.map +1 -1
  26. package/dist/layout/Container.d.ts +2 -2
  27. package/dist/layout/Container.d.ts.map +1 -1
  28. package/dist/layout/Container.js.map +1 -1
  29. package/dist/layout/helpers.d.ts +9 -9
  30. package/dist/layout/helpers.d.ts.map +1 -1
  31. package/dist/layout/helpers.js.map +1 -1
  32. package/dist/primitives/heading/resolveHeadingStyle.d.ts +2 -2
  33. package/dist/primitives/heading/resolveHeadingStyle.d.ts.map +1 -1
  34. package/dist/primitives/heading/resolveHeadingStyle.js.map +1 -1
  35. package/dist/primitives/icon/Icon.d.ts +3 -3
  36. package/dist/primitives/icon/Icon.d.ts.map +1 -1
  37. package/dist/primitives/icon/Icon.js.map +1 -1
  38. package/dist/theme/ThemeContext.d.ts +3 -3
  39. package/dist/theme/ThemeContext.d.ts.map +1 -1
  40. package/dist/theme/ThemeContext.js.map +1 -1
  41. package/dist/theme/colorEngine.d.ts +10 -11
  42. package/dist/theme/colorEngine.d.ts.map +1 -1
  43. package/dist/theme/colorEngine.js +102 -412
  44. package/dist/theme/colorEngine.js.map +1 -1
  45. package/dist/theme/createTheme.d.ts +3 -3
  46. package/dist/theme/createTheme.d.ts.map +1 -1
  47. package/dist/theme/createTheme.js +2 -4
  48. package/dist/theme/createTheme.js.map +1 -1
  49. package/dist/theme/types.d.ts +5 -17
  50. package/dist/theme/types.d.ts.map +1 -1
  51. package/dist/theme/types.js.map +1 -1
  52. package/package.json +3 -4
  53. package/src/examples/DocsExamples.tsx +0 -2
  54. package/src/internal/resolvers/resolveControlSize.ts +5 -2
  55. package/src/internal/resolvers/resolveIconSize.ts +2 -2
  56. package/src/internal/resolvers/resolveInteractiveColors.ts +3 -3
  57. package/src/internal/resolvers/resolveSelectionControlColors.ts +2 -2
  58. package/src/internal/resolvers/resolveTextColor.ts +3 -3
  59. package/src/internal/resolvers/resolveTextStyles.ts +6 -6
  60. package/src/internal/resolvers/resolveTone.ts +2 -2
  61. package/src/layout/Container.tsx +2 -2
  62. package/src/layout/helpers.test.ts +2 -2
  63. package/src/layout/helpers.ts +12 -9
  64. package/src/primitives/heading/resolveHeadingStyle.ts +2 -2
  65. package/src/primitives/icon/Icon.tsx +3 -3
  66. package/src/theme/ThemeContext.tsx +2 -2
  67. package/src/theme/colorEngine.test.ts +158 -154
  68. package/src/theme/colorEngine.ts +128 -477
  69. package/src/theme/createTheme.ts +6 -8
  70. package/src/theme/types.ts +15 -18
  71. package/src/utils/deepMerge.test.ts +0 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # @ankhorage/surface
2
2
 
3
+ ## 1.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 67248af: **Breaking: Surface now consumes `@ankhorage/color-theory` as the sole runtime color engine**
8
+
9
+ ### Removed APIs
10
+ - `AnkhTheme` type removed — replaced by `SurfaceTheme` (no deprecated alias)
11
+ - `ColorTone` re-export removed from Surface
12
+ - `colorTone` field removed from `ThemeConfig`/`ThemeModeConfig` — no longer accepted or read
13
+ - Tone-driven palette generation removed (`getColorToneRolePalette`, `RolePaletteKind`, etc.)
14
+ - Local `ColorScale` model removed — replaced by `ColorSwatch` / `GeneratedThemeSwatches` from `@ankhorage/color-theory`
15
+ - `ThemeTokens.scales` renamed to `ThemeTokens.swatches` (type is now `GeneratedThemeSwatches`)
16
+ - Direct `culori` dependency removed from Surface
17
+ - All local OKLCH helpers, `SCALE_STEPS`, `getHarmonyHues`, `generateColorScale`, `LIGHTNESS_CURVES`, `CHROMA_BY_STEP`, `SEMANTIC_STEPS`, and similar internals removed
18
+
19
+ ### New APIs
20
+ - `SurfaceTheme` is now the public resolved runtime theme type
21
+ - `@ankhorage/color-theory` added as a direct runtime dependency
22
+ - `@ankhorage/contracts` updated to `^1.1.0` (no `colorTone` in `ThemeModeConfig`)
23
+ - `resolveSemanticColors()` exported from `colorEngine` — maps color-theory `SemanticColorToken` references to hex values from generated swatches
24
+ - Generated chromatic roles are ordinal only: `primary`, `secondary`, `tertiary`, `quaternary` — no `accent`, `highlight`, `surfaceTint`, or `base` role names in swatches
25
+ - Invalid primary colors now fail deterministically (throw) instead of silently falling back to blue
26
+ - `neutral` swatch is required and powers all foundation semantics (backgrounds, borders, text, disabled states)
27
+ - Primary color is preserved at swatch step `500`: `swatches.primary[500] === modeConfig.primaryColor`
28
+ - Readable foreground tokens derived centrally via `getReadableForeground()` from `@ankhorage/color-theory`
29
+
30
+ ### Migration
31
+
32
+ Replace `AnkhTheme` with `SurfaceTheme` throughout your codebase.
33
+
34
+ Remove `colorTone` from any `ThemeConfig` or `ThemeModeConfig` objects — it is no longer a valid field.
35
+
36
+ Replace any reference to `theme.scales` with `theme.swatches`.
37
+
3
38
  ## 0.2.4
4
39
 
5
40
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"DocsExamples.d.ts","sourceRoot":"","sources":["../../src/examples/DocsExamples.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAyC1B,wBAAgB,eAAe,sBAY9B;AAED,wBAAgB,qBAAqB,sBA0BpC;AAED,wBAAgB,iBAAiB,sBAgChC"}
1
+ {"version":3,"file":"DocsExamples.d.ts","sourceRoot":"","sources":["../../src/examples/DocsExamples.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuC1B,wBAAgB,eAAe,sBAY9B;AAED,wBAAgB,qBAAqB,sBA0BpC;AAED,wBAAgB,iBAAiB,sBAgChC"}
@@ -6,12 +6,10 @@ const docsThemeConfig = {
6
6
  light: {
7
7
  harmony: 'monochromatic',
8
8
  primaryColor: '#2563eb',
9
- colorTone: 'neutral',
10
9
  },
11
10
  dark: {
12
11
  harmony: 'monochromatic',
13
12
  primaryColor: '#2563eb',
14
- colorTone: 'neutral',
15
13
  },
16
14
  };
17
15
  export function ProviderExample() {
@@ -1 +1 @@
1
- {"version":3,"file":"DocsExamples.js","sourceRoot":"","sources":["../../src/examples/DocsExamples.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n Badge,\n Box,\n Button,\n Checkbox,\n Drawer,\n Field,\n HelperText,\n Label,\n Menu,\n Modal,\n Radio,\n Stack,\n Switch,\n Tab,\n TabList,\n TabPanel,\n Tabs,\n Text,\n Textarea,\n TextInput,\n ThemeProvider,\n} from '../index';\n\nconst docsThemeConfig = {\n id: 'docs-example',\n name: 'Docs Example',\n light: {\n harmony: 'monochromatic' as const,\n primaryColor: '#2563eb',\n colorTone: 'neutral' as const,\n },\n dark: {\n harmony: 'monochromatic' as const,\n primaryColor: '#2563eb',\n colorTone: 'neutral' as const,\n },\n};\n\nexport function ProviderExample() {\n return (\n <ThemeProvider initialConfig={docsThemeConfig}>\n <Stack gap=\"m\" p=\"l\">\n <Text variant=\"body\">Surface starter</Text>\n <Badge content=\"Foundation\" tone=\"success\" />\n <Button tone=\"warning\" variant=\"soft\">\n Continue\n </Button>\n </Stack>\n </ThemeProvider>\n );\n}\n\nexport function FormAndOverlayExample() {\n return (\n <ThemeProvider initialConfig={docsThemeConfig}>\n <Stack gap=\"m\" p=\"l\">\n <Field helperText=\"We only use this for sign-in.\" label=\"Email\">\n <TextInput placeholder=\"name@example.com\" />\n </Field>\n <Field errorText=\"Bio is required.\" invalid label=\"Bio\">\n <Textarea placeholder=\"Tell us a little about yourself\" />\n </Field>\n <Stack gap=\"s\">\n <Label required>Preferences</Label>\n <Checkbox defaultChecked>Weekly updates</Checkbox>\n <Radio>Product announcements</Radio>\n <Switch readOnly>Read-only setting</Switch>\n <HelperText tone=\"danger\">Invalid fields should reuse the same danger tone.</HelperText>\n </Stack>\n <Modal visible={false}>\n <Text>Modal content</Text>\n </Modal>\n <Drawer visible={false}>\n <Text>Drawer content</Text>\n </Drawer>\n </Stack>\n </ThemeProvider>\n );\n}\n\nexport function NavigationExample() {\n return (\n <ThemeProvider initialConfig={docsThemeConfig}>\n <Stack gap=\"m\" p=\"l\">\n <Tabs defaultValue=\"account\">\n <TabList>\n <Tab value=\"account\">Account</Tab>\n <Tab disabled value=\"security\">\n Security\n </Tab>\n <Tab value=\"billing\">Billing</Tab>\n </TabList>\n <TabPanel value=\"account\">\n <Text>Account settings</Text>\n </TabPanel>\n <TabPanel value=\"billing\">\n <Text>Billing settings</Text>\n </TabPanel>\n </Tabs>\n <Menu\n items={[\n { id: 'edit', label: 'Edit' },\n { disabled: true, id: 'archive', label: 'Archive' },\n ]}\n trigger={<Text>Open menu</Text>}\n />\n <Box>\n <Text tone=\"success\">Theme overrides can stay semantic.</Text>\n </Box>\n </Stack>\n </ThemeProvider>\n );\n}\n"]}
1
+ {"version":3,"file":"DocsExamples.js","sourceRoot":"","sources":["../../src/examples/DocsExamples.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n Badge,\n Box,\n Button,\n Checkbox,\n Drawer,\n Field,\n HelperText,\n Label,\n Menu,\n Modal,\n Radio,\n Stack,\n Switch,\n Tab,\n TabList,\n TabPanel,\n Tabs,\n Text,\n Textarea,\n TextInput,\n ThemeProvider,\n} from '../index';\n\nconst docsThemeConfig = {\n id: 'docs-example',\n name: 'Docs Example',\n light: {\n harmony: 'monochromatic' as const,\n primaryColor: '#2563eb',\n },\n dark: {\n harmony: 'monochromatic' as const,\n primaryColor: '#2563eb',\n },\n};\n\nexport function ProviderExample() {\n return (\n <ThemeProvider initialConfig={docsThemeConfig}>\n <Stack gap=\"m\" p=\"l\">\n <Text variant=\"body\">Surface starter</Text>\n <Badge content=\"Foundation\" tone=\"success\" />\n <Button tone=\"warning\" variant=\"soft\">\n Continue\n </Button>\n </Stack>\n </ThemeProvider>\n );\n}\n\nexport function FormAndOverlayExample() {\n return (\n <ThemeProvider initialConfig={docsThemeConfig}>\n <Stack gap=\"m\" p=\"l\">\n <Field helperText=\"We only use this for sign-in.\" label=\"Email\">\n <TextInput placeholder=\"name@example.com\" />\n </Field>\n <Field errorText=\"Bio is required.\" invalid label=\"Bio\">\n <Textarea placeholder=\"Tell us a little about yourself\" />\n </Field>\n <Stack gap=\"s\">\n <Label required>Preferences</Label>\n <Checkbox defaultChecked>Weekly updates</Checkbox>\n <Radio>Product announcements</Radio>\n <Switch readOnly>Read-only setting</Switch>\n <HelperText tone=\"danger\">Invalid fields should reuse the same danger tone.</HelperText>\n </Stack>\n <Modal visible={false}>\n <Text>Modal content</Text>\n </Modal>\n <Drawer visible={false}>\n <Text>Drawer content</Text>\n </Drawer>\n </Stack>\n </ThemeProvider>\n );\n}\n\nexport function NavigationExample() {\n return (\n <ThemeProvider initialConfig={docsThemeConfig}>\n <Stack gap=\"m\" p=\"l\">\n <Tabs defaultValue=\"account\">\n <TabList>\n <Tab value=\"account\">Account</Tab>\n <Tab disabled value=\"security\">\n Security\n </Tab>\n <Tab value=\"billing\">Billing</Tab>\n </TabList>\n <TabPanel value=\"account\">\n <Text>Account settings</Text>\n </TabPanel>\n <TabPanel value=\"billing\">\n <Text>Billing settings</Text>\n </TabPanel>\n </Tabs>\n <Menu\n items={[\n { id: 'edit', label: 'Edit' },\n { disabled: true, id: 'archive', label: 'Archive' },\n ]}\n trigger={<Text>Open menu</Text>}\n />\n <Box>\n <Text tone=\"success\">Theme overrides can stay semantic.</Text>\n </Box>\n </Stack>\n </ThemeProvider>\n );\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { AnkhTheme } from '../../theme/types';
1
+ import type { SurfaceTheme } from '../../theme/types';
2
2
  export type ControlSize = 's' | 'm' | 'l';
3
3
  export interface ResolvedControlSize {
4
4
  minHeight: number;
@@ -8,5 +8,5 @@ export interface ResolvedControlSize {
8
8
  textVariant: 'bodySmall' | 'body';
9
9
  iconSize: number;
10
10
  }
11
- export declare function resolveControlSize(theme: AnkhTheme, size?: ControlSize): ResolvedControlSize;
11
+ export declare function resolveControlSize(theme: SurfaceTheme, size?: ControlSize): ResolvedControlSize;
12
12
  //# sourceMappingURL=resolveControlSize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveControlSize.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveControlSize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,GAAE,WAAiB,GAAG,mBAAmB,CA+BjG"}
1
+ {"version":3,"file":"resolveControlSize.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveControlSize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,EACnB,IAAI,GAAE,WAAiB,GACtB,mBAAmB,CA+BrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveControlSize.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveControlSize.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,kBAAkB,CAAC,KAAgB,EAAE,OAAoB,GAAG;IAC1E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,WAAW,EAAE,WAAW;gBACxB,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,EAAE;gBACrB,eAAe,EAAE,EAAE;gBACnB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,WAAW,EAAE,MAAM;gBACnB,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,KAAK,GAAG,CAAC;QACT;YACE,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,WAAW,EAAE,MAAM;gBACnB,QAAQ,EAAE,EAAE;aACb,CAAC;IACN,CAAC;AACH,CAAC","sourcesContent":["import type { AnkhTheme } from '../../theme/types';\n\nexport type ControlSize = 's' | 'm' | 'l';\n\nexport interface ResolvedControlSize {\n minHeight: number;\n paddingHorizontal: number;\n paddingVertical: number;\n borderRadius: number;\n textVariant: 'bodySmall' | 'body';\n iconSize: number;\n}\n\nexport function resolveControlSize(theme: AnkhTheme, size: ControlSize = 'm'): ResolvedControlSize {\n switch (size) {\n case 's':\n return {\n minHeight: 32,\n paddingHorizontal: theme.spacing.s,\n paddingVertical: 6,\n borderRadius: theme.radii.m,\n textVariant: 'bodySmall',\n iconSize: 16,\n };\n case 'l':\n return {\n minHeight: 48,\n paddingHorizontal: 20,\n paddingVertical: 10,\n borderRadius: theme.radii.l,\n textVariant: 'body',\n iconSize: 20,\n };\n case 'm':\n default:\n return {\n minHeight: 40,\n paddingHorizontal: theme.spacing.m,\n paddingVertical: 8,\n borderRadius: theme.radii.m,\n textVariant: 'body',\n iconSize: 18,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"resolveControlSize.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveControlSize.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,kBAAkB,CAChC,KAAmB,EACnB,OAAoB,GAAG;IAEvB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,WAAW,EAAE,WAAW;gBACxB,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,EAAE;gBACrB,eAAe,EAAE,EAAE;gBACnB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,WAAW,EAAE,MAAM;gBACnB,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,KAAK,GAAG,CAAC;QACT;YACE,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,WAAW,EAAE,MAAM;gBACnB,QAAQ,EAAE,EAAE;aACb,CAAC;IACN,CAAC;AACH,CAAC","sourcesContent":["import type { SurfaceTheme } from '../../theme/types';\n\nexport type ControlSize = 's' | 'm' | 'l';\n\nexport interface ResolvedControlSize {\n minHeight: number;\n paddingHorizontal: number;\n paddingVertical: number;\n borderRadius: number;\n textVariant: 'bodySmall' | 'body';\n iconSize: number;\n}\n\nexport function resolveControlSize(\n theme: SurfaceTheme,\n size: ControlSize = 'm',\n): ResolvedControlSize {\n switch (size) {\n case 's':\n return {\n minHeight: 32,\n paddingHorizontal: theme.spacing.s,\n paddingVertical: 6,\n borderRadius: theme.radii.m,\n textVariant: 'bodySmall',\n iconSize: 16,\n };\n case 'l':\n return {\n minHeight: 48,\n paddingHorizontal: 20,\n paddingVertical: 10,\n borderRadius: theme.radii.l,\n textVariant: 'body',\n iconSize: 20,\n };\n case 'm':\n default:\n return {\n minHeight: 40,\n paddingHorizontal: theme.spacing.m,\n paddingVertical: 8,\n borderRadius: theme.radii.m,\n textVariant: 'body',\n iconSize: 18,\n };\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { AnkhTheme } from '../../theme/types';
1
+ import type { SurfaceTheme } from '../../theme/types';
2
2
  import { type ControlSize } from './resolveControlSize';
3
- export declare function resolveIconSize(theme: AnkhTheme, size?: ControlSize): number;
3
+ export declare function resolveIconSize(theme: SurfaceTheme, size?: ControlSize): number;
4
4
  //# sourceMappingURL=resolveIconSize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveIconSize.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveIconSize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,sBAAsB,CAAC;AAE5E,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,GAAE,WAAiB,GAAG,MAAM,CAEjF"}
1
+ {"version":3,"file":"resolveIconSize.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveIconSize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,sBAAsB,CAAC;AAE5E,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,GAAE,WAAiB,GAAG,MAAM,CAEpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveIconSize.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveIconSize.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,UAAU,eAAe,CAAC,KAAgB,EAAE,OAAoB,GAAG;IACvE,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC;AAClD,CAAC","sourcesContent":["import type { AnkhTheme } from '../../theme/types';\nimport { type ControlSize, resolveControlSize } from './resolveControlSize';\n\nexport function resolveIconSize(theme: AnkhTheme, size: ControlSize = 'm'): number {\n return resolveControlSize(theme, size).iconSize;\n}\n"]}
1
+ {"version":3,"file":"resolveIconSize.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveIconSize.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,UAAU,eAAe,CAAC,KAAmB,EAAE,OAAoB,GAAG;IAC1E,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC;AAClD,CAAC","sourcesContent":["import type { SurfaceTheme } from '../../theme/types';\nimport { type ControlSize, resolveControlSize } from './resolveControlSize';\n\nexport function resolveIconSize(theme: SurfaceTheme, size: ControlSize = 'm'): number {\n return resolveControlSize(theme, size).iconSize;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { AnkhTheme } from '../../theme/types';
1
+ import type { SurfaceTheme } from '../../theme/types';
2
2
  import type { FieldState } from './resolveFieldState';
3
3
  import type { InteractionState } from './resolveInteractiveState';
4
4
  import { type ComponentTone } from './resolveTone';
@@ -9,12 +9,12 @@ export interface ResolvedInteractiveColors {
9
9
  contentColor: string;
10
10
  opacity?: number;
11
11
  }
12
- export declare function resolveButtonColors(theme: AnkhTheme, { variant, tone, state, }: {
12
+ export declare function resolveButtonColors(theme: SurfaceTheme, { variant, tone, state, }: {
13
13
  variant: ButtonVariant;
14
14
  tone: ComponentTone;
15
15
  state: InteractionState;
16
16
  }): ResolvedInteractiveColors;
17
- export declare function resolveInputColors(theme: AnkhTheme, fieldState: FieldState): ResolvedInteractiveColors & {
17
+ export declare function resolveInputColors(theme: SurfaceTheme, fieldState: FieldState): ResolvedInteractiveColors & {
18
18
  placeholderColor: string;
19
19
  };
20
20
  //# sourceMappingURL=resolveInteractiveColors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveInteractiveColors.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveInteractiveColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,eAAe,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,EACE,OAAO,EACP,IAAI,EACJ,KAAK,GACN,EAAE;IACD,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;CACzB,GACA,yBAAyB,CAuD3B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,GACrB,yBAAyB,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAgD1D"}
1
+ {"version":3,"file":"resolveInteractiveColors.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveInteractiveColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,eAAe,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,EACE,OAAO,EACP,IAAI,EACJ,KAAK,GACN,EAAE;IACD,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;CACzB,GACA,yBAAyB,CAuD3B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,UAAU,GACrB,yBAAyB,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAgD1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveInteractiveColors.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveInteractiveColors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AnkhTheme } from '../../theme/types';\nimport type { FieldState } from './resolveFieldState';\nimport type { InteractionState } from './resolveInteractiveState';\nimport { type ComponentTone, resolveTone } from './resolveTone';\n\nexport type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'soft';\n\nexport interface ResolvedInteractiveColors {\n backgroundColor: string;\n borderColor: string;\n contentColor: string;\n opacity?: number;\n}\n\nexport function resolveButtonColors(\n theme: AnkhTheme,\n {\n variant,\n tone,\n state,\n }: {\n variant: ButtonVariant;\n tone: ComponentTone;\n state: InteractionState;\n },\n): ResolvedInteractiveColors {\n if (state.disabled) {\n return {\n backgroundColor: theme.semantics.neutral.surface,\n borderColor: theme.semantics.neutral.divider,\n contentColor: theme.semantics.content.muted,\n opacity: 0.72,\n };\n }\n\n const semanticTone = resolveTone(theme, tone);\n\n switch (variant) {\n case 'outline':\n return {\n backgroundColor: state.pressed\n ? semanticTone.softActive\n : state.hovered\n ? semanticTone.softHover\n : 'transparent',\n borderColor: semanticTone.outline,\n contentColor: semanticTone.base,\n };\n case 'ghost':\n return {\n backgroundColor: state.pressed\n ? semanticTone.softActive\n : state.hovered\n ? semanticTone.softHover\n : 'transparent',\n borderColor: 'transparent',\n contentColor: semanticTone.base,\n };\n case 'soft':\n return {\n backgroundColor: state.pressed\n ? semanticTone.softActive\n : state.hovered\n ? semanticTone.softHover\n : semanticTone.softBg,\n borderColor: 'transparent',\n contentColor: semanticTone.base,\n };\n case 'solid':\n default:\n return {\n backgroundColor: state.pressed\n ? semanticTone.strong\n : state.hovered\n ? semanticTone.hover\n : semanticTone.base,\n borderColor: semanticTone.base,\n contentColor: semanticTone.onSolidText,\n };\n }\n}\n\nexport function resolveInputColors(\n theme: AnkhTheme,\n fieldState: FieldState,\n): ResolvedInteractiveColors & { placeholderColor: string } {\n if (fieldState.disabled) {\n return {\n backgroundColor: theme.semantics.surface.subtle,\n borderColor: theme.semantics.border.default,\n contentColor: theme.semantics.content.muted,\n placeholderColor: theme.semantics.content.subtle,\n opacity: 0.72,\n };\n }\n\n if (fieldState.invalid) {\n return {\n backgroundColor: fieldState.readOnly\n ? theme.semantics.surface.subtle\n : theme.semantics.surface.default,\n borderColor: fieldState.focused\n ? theme.semantics.danger.base\n : theme.semantics.danger.outline,\n contentColor: theme.semantics.content.default,\n placeholderColor: theme.semantics.content.muted,\n };\n }\n\n if (fieldState.focused) {\n return {\n backgroundColor: theme.semantics.surface.default,\n borderColor: theme.semantics.border.focus,\n contentColor: theme.semantics.content.default,\n placeholderColor: theme.semantics.content.muted,\n };\n }\n\n if (fieldState.readOnly) {\n return {\n backgroundColor: theme.semantics.surface.subtle,\n borderColor: theme.semantics.border.default,\n contentColor: theme.semantics.content.default,\n placeholderColor: theme.semantics.content.muted,\n };\n }\n\n return {\n backgroundColor: theme.semantics.surface.default,\n borderColor: theme.semantics.border.default,\n contentColor: theme.semantics.content.default,\n placeholderColor: theme.semantics.content.muted,\n };\n}\n"]}
1
+ {"version":3,"file":"resolveInteractiveColors.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveInteractiveColors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SurfaceTheme } from '../../theme/types';\nimport type { FieldState } from './resolveFieldState';\nimport type { InteractionState } from './resolveInteractiveState';\nimport { type ComponentTone, resolveTone } from './resolveTone';\n\nexport type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'soft';\n\nexport interface ResolvedInteractiveColors {\n backgroundColor: string;\n borderColor: string;\n contentColor: string;\n opacity?: number;\n}\n\nexport function resolveButtonColors(\n theme: SurfaceTheme,\n {\n variant,\n tone,\n state,\n }: {\n variant: ButtonVariant;\n tone: ComponentTone;\n state: InteractionState;\n },\n): ResolvedInteractiveColors {\n if (state.disabled) {\n return {\n backgroundColor: theme.semantics.neutral.surface,\n borderColor: theme.semantics.neutral.divider,\n contentColor: theme.semantics.content.muted,\n opacity: 0.72,\n };\n }\n\n const semanticTone = resolveTone(theme, tone);\n\n switch (variant) {\n case 'outline':\n return {\n backgroundColor: state.pressed\n ? semanticTone.softActive\n : state.hovered\n ? semanticTone.softHover\n : 'transparent',\n borderColor: semanticTone.outline,\n contentColor: semanticTone.base,\n };\n case 'ghost':\n return {\n backgroundColor: state.pressed\n ? semanticTone.softActive\n : state.hovered\n ? semanticTone.softHover\n : 'transparent',\n borderColor: 'transparent',\n contentColor: semanticTone.base,\n };\n case 'soft':\n return {\n backgroundColor: state.pressed\n ? semanticTone.softActive\n : state.hovered\n ? semanticTone.softHover\n : semanticTone.softBg,\n borderColor: 'transparent',\n contentColor: semanticTone.base,\n };\n case 'solid':\n default:\n return {\n backgroundColor: state.pressed\n ? semanticTone.strong\n : state.hovered\n ? semanticTone.hover\n : semanticTone.base,\n borderColor: semanticTone.base,\n contentColor: semanticTone.onSolidText,\n };\n }\n}\n\nexport function resolveInputColors(\n theme: SurfaceTheme,\n fieldState: FieldState,\n): ResolvedInteractiveColors & { placeholderColor: string } {\n if (fieldState.disabled) {\n return {\n backgroundColor: theme.semantics.surface.subtle,\n borderColor: theme.semantics.border.default,\n contentColor: theme.semantics.content.muted,\n placeholderColor: theme.semantics.content.subtle,\n opacity: 0.72,\n };\n }\n\n if (fieldState.invalid) {\n return {\n backgroundColor: fieldState.readOnly\n ? theme.semantics.surface.subtle\n : theme.semantics.surface.default,\n borderColor: fieldState.focused\n ? theme.semantics.danger.base\n : theme.semantics.danger.outline,\n contentColor: theme.semantics.content.default,\n placeholderColor: theme.semantics.content.muted,\n };\n }\n\n if (fieldState.focused) {\n return {\n backgroundColor: theme.semantics.surface.default,\n borderColor: theme.semantics.border.focus,\n contentColor: theme.semantics.content.default,\n placeholderColor: theme.semantics.content.muted,\n };\n }\n\n if (fieldState.readOnly) {\n return {\n backgroundColor: theme.semantics.surface.subtle,\n borderColor: theme.semantics.border.default,\n contentColor: theme.semantics.content.default,\n placeholderColor: theme.semantics.content.muted,\n };\n }\n\n return {\n backgroundColor: theme.semantics.surface.default,\n borderColor: theme.semantics.border.default,\n contentColor: theme.semantics.content.default,\n placeholderColor: theme.semantics.content.muted,\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { AnkhTheme } from '../../theme/types';
1
+ import type { SurfaceTheme } from '../../theme/types';
2
2
  import type { FieldState } from './resolveFieldState';
3
3
  import { type ComponentTone } from './resolveTone';
4
4
  export interface ResolvedSelectionControlColors {
@@ -10,7 +10,7 @@ export interface ResolvedSelectionControlColors {
10
10
  thumbColor: string;
11
11
  opacity?: number;
12
12
  }
13
- export declare function resolveSelectionControlColors(theme: AnkhTheme, { tone, fieldState, checked, hovered, pressed, }: {
13
+ export declare function resolveSelectionControlColors(theme: SurfaceTheme, { tone, fieldState, checked, hovered, pressed, }: {
14
14
  tone?: ComponentTone;
15
15
  fieldState: FieldState;
16
16
  checked: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveSelectionControlColors.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveSelectionControlColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,eAAe,CAAC;AAEhE,MAAM,WAAW,8BAA8B;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,EAChB,EACE,IAAgB,EAChB,UAAU,EACV,OAAO,EACP,OAAe,EACf,OAAe,GAChB,EAAE;IACD,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,8BAA8B,CAmDhC"}
1
+ {"version":3,"file":"resolveSelectionControlColors.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveSelectionControlColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,eAAe,CAAC;AAEhE,MAAM,WAAW,8BAA8B;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,YAAY,EACnB,EACE,IAAgB,EAChB,UAAU,EACV,OAAO,EACP,OAAe,EACf,OAAe,GAChB,EAAE;IACD,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,8BAA8B,CAmDhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveSelectionControlColors.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveSelectionControlColors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AnkhTheme } from '../../theme/types';\nimport type { FieldState } from './resolveFieldState';\nimport { type ComponentTone, resolveTone } from './resolveTone';\n\nexport interface ResolvedSelectionControlColors {\n backgroundColor: string;\n borderColor: string;\n indicatorColor: string;\n labelColor: string;\n trackColor: string;\n thumbColor: string;\n opacity?: number;\n}\n\nexport function resolveSelectionControlColors(\n theme: AnkhTheme,\n {\n tone = 'primary',\n fieldState,\n checked,\n hovered = false,\n pressed = false,\n }: {\n tone?: ComponentTone;\n fieldState: FieldState;\n checked: boolean;\n hovered?: boolean;\n pressed?: boolean;\n },\n): ResolvedSelectionControlColors {\n const semanticTone = resolveTone(theme, fieldState.invalid ? 'danger' : tone);\n const isMuted = fieldState.disabled;\n const isInteractiveReadOnly = fieldState.readOnly && !fieldState.disabled;\n\n if (isMuted) {\n return {\n backgroundColor: checked\n ? theme.semantics.neutral.surfaceActive\n : theme.semantics.surface.subtle,\n borderColor: theme.semantics.border.default,\n indicatorColor: checked ? theme.semantics.content.muted : 'transparent',\n labelColor: theme.semantics.content.muted,\n trackColor: checked ? theme.semantics.neutral.surfaceActive : theme.semantics.neutral.border,\n thumbColor: theme.semantics.surface.default,\n opacity: 0.72,\n };\n }\n\n const uncheckedBorderColor = fieldState.invalid\n ? theme.semantics.danger.outline\n : fieldState.focused\n ? theme.semantics.border.focus\n : theme.semantics.border.strong;\n const uncheckedBackgroundColor = pressed\n ? theme.semantics.neutral.surfaceActive\n : hovered\n ? theme.semantics.neutral.surfaceHover\n : theme.semantics.surface.default;\n const checkedBackgroundColor = pressed\n ? semanticTone.strong\n : hovered\n ? semanticTone.hover\n : semanticTone.base;\n const checkedTrackColor = pressed\n ? semanticTone.strong\n : hovered\n ? semanticTone.hover\n : semanticTone.base;\n\n return {\n backgroundColor: checked ? checkedBackgroundColor : uncheckedBackgroundColor,\n borderColor: checked ? semanticTone.base : uncheckedBorderColor,\n indicatorColor: checked ? semanticTone.onSolidText : 'transparent',\n labelColor: isInteractiveReadOnly\n ? theme.semantics.content.muted\n : theme.semantics.content.default,\n trackColor: checked ? checkedTrackColor : uncheckedBorderColor,\n thumbColor: checked ? semanticTone.onSolidText : theme.semantics.surface.default,\n opacity: isInteractiveReadOnly ? 0.88 : 1,\n };\n}\n"]}
1
+ {"version":3,"file":"resolveSelectionControlColors.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveSelectionControlColors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,WAAW,EAAE,MAAM,eAAe,CAAC;AAYhE,MAAM,UAAU,6BAA6B,CAC3C,KAAmB,EACnB,EACE,IAAI,GAAG,SAAS,EAChB,UAAU,EACV,OAAO,EACP,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,GAOhB;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC;IACpC,MAAM,qBAAqB,GAAG,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAE1E,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,eAAe,EAAE,OAAO;gBACtB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa;gBACvC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;YAClC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO;YAC3C,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa;YACvE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YACzC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;YAC5F,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;YAC3C,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO;QAC7C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO;QAChC,CAAC,CAAC,UAAU,CAAC,OAAO;YAClB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK;YAC9B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,MAAM,wBAAwB,GAAG,OAAO;QACtC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa;QACvC,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY;YACtC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;IACtC,MAAM,sBAAsB,GAAG,OAAO;QACpC,CAAC,CAAC,YAAY,CAAC,MAAM;QACrB,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,YAAY,CAAC,KAAK;YACpB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;IACxB,MAAM,iBAAiB,GAAG,OAAO;QAC/B,CAAC,CAAC,YAAY,CAAC,MAAM;QACrB,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,YAAY,CAAC,KAAK;YACpB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;IAExB,OAAO;QACL,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,wBAAwB;QAC5E,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;QAC/D,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;QAClE,UAAU,EAAE,qBAAqB;YAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;QACnC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB;QAC9D,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;QAChF,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC1C,CAAC;AACJ,CAAC","sourcesContent":["import type { SurfaceTheme } from '../../theme/types';\nimport type { FieldState } from './resolveFieldState';\nimport { type ComponentTone, resolveTone } from './resolveTone';\n\nexport interface ResolvedSelectionControlColors {\n backgroundColor: string;\n borderColor: string;\n indicatorColor: string;\n labelColor: string;\n trackColor: string;\n thumbColor: string;\n opacity?: number;\n}\n\nexport function resolveSelectionControlColors(\n theme: SurfaceTheme,\n {\n tone = 'primary',\n fieldState,\n checked,\n hovered = false,\n pressed = false,\n }: {\n tone?: ComponentTone;\n fieldState: FieldState;\n checked: boolean;\n hovered?: boolean;\n pressed?: boolean;\n },\n): ResolvedSelectionControlColors {\n const semanticTone = resolveTone(theme, fieldState.invalid ? 'danger' : tone);\n const isMuted = fieldState.disabled;\n const isInteractiveReadOnly = fieldState.readOnly && !fieldState.disabled;\n\n if (isMuted) {\n return {\n backgroundColor: checked\n ? theme.semantics.neutral.surfaceActive\n : theme.semantics.surface.subtle,\n borderColor: theme.semantics.border.default,\n indicatorColor: checked ? theme.semantics.content.muted : 'transparent',\n labelColor: theme.semantics.content.muted,\n trackColor: checked ? theme.semantics.neutral.surfaceActive : theme.semantics.neutral.border,\n thumbColor: theme.semantics.surface.default,\n opacity: 0.72,\n };\n }\n\n const uncheckedBorderColor = fieldState.invalid\n ? theme.semantics.danger.outline\n : fieldState.focused\n ? theme.semantics.border.focus\n : theme.semantics.border.strong;\n const uncheckedBackgroundColor = pressed\n ? theme.semantics.neutral.surfaceActive\n : hovered\n ? theme.semantics.neutral.surfaceHover\n : theme.semantics.surface.default;\n const checkedBackgroundColor = pressed\n ? semanticTone.strong\n : hovered\n ? semanticTone.hover\n : semanticTone.base;\n const checkedTrackColor = pressed\n ? semanticTone.strong\n : hovered\n ? semanticTone.hover\n : semanticTone.base;\n\n return {\n backgroundColor: checked ? checkedBackgroundColor : uncheckedBackgroundColor,\n borderColor: checked ? semanticTone.base : uncheckedBorderColor,\n indicatorColor: checked ? semanticTone.onSolidText : 'transparent',\n labelColor: isInteractiveReadOnly\n ? theme.semantics.content.muted\n : theme.semantics.content.default,\n trackColor: checked ? checkedTrackColor : uncheckedBorderColor,\n thumbColor: checked ? semanticTone.onSolidText : theme.semantics.surface.default,\n opacity: isInteractiveReadOnly ? 0.88 : 1,\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
- import type { AnkhTheme } from '../../theme/types';
1
+ import type { SurfaceTheme } from '../../theme/types';
2
2
  export type TextTone = 'default' | 'muted' | 'subtle' | 'inverse' | 'danger' | 'success' | 'warning';
3
- export type TextColorValue = keyof AnkhTheme['colors'] | string;
4
- export declare function resolveTextColor(theme: AnkhTheme, tone?: TextTone, color?: TextColorValue): string;
3
+ export type TextColorValue = keyof SurfaceTheme['colors'] | string;
4
+ export declare function resolveTextColor(theme: SurfaceTheme, tone?: TextTone, color?: TextColorValue): string;
5
5
  //# sourceMappingURL=resolveTextColor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTextColor.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTextColor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AACd,MAAM,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAEhE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,EAChB,IAAI,GAAE,QAAoB,EAC1B,KAAK,CAAC,EAAE,cAAc,GACrB,MAAM,CAsBR"}
1
+ {"version":3,"file":"resolveTextColor.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTextColor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AACd,MAAM,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAEnE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,IAAI,GAAE,QAAoB,EAC1B,KAAK,CAAC,EAAE,cAAc,GACrB,MAAM,CAsBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTextColor.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTextColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAaxD,MAAM,UAAU,gBAAgB,CAC9B,KAAgB,EAChB,OAAiB,SAAS,EAC1B,KAAsB;IAEtB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QACxC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,KAAK,SAAS,CAAC;QACf;YACE,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;IAC3C,CAAC;AACH,CAAC","sourcesContent":["import { resolveToken } from '../../theme/resolveToken';\nimport type { AnkhTheme } from '../../theme/types';\n\nexport type TextTone =\n | 'default'\n | 'muted'\n | 'subtle'\n | 'inverse'\n | 'danger'\n | 'success'\n | 'warning';\nexport type TextColorValue = keyof AnkhTheme['colors'] | string;\n\nexport function resolveTextColor(\n theme: AnkhTheme,\n tone: TextTone = 'default',\n color?: TextColorValue,\n): string {\n if (color) {\n return resolveToken(theme.colors, color);\n }\n\n switch (tone) {\n case 'muted':\n return theme.semantics.content.muted;\n case 'subtle':\n return theme.semantics.content.subtle;\n case 'inverse':\n return theme.semantics.content.inverse;\n case 'danger':\n return theme.semantics.danger.base;\n case 'success':\n return theme.semantics.success.base;\n case 'warning':\n return theme.semantics.warning.base;\n case 'default':\n default:\n return theme.semantics.content.default;\n }\n}\n"]}
1
+ {"version":3,"file":"resolveTextColor.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTextColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAaxD,MAAM,UAAU,gBAAgB,CAC9B,KAAmB,EACnB,OAAiB,SAAS,EAC1B,KAAsB;IAEtB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QACxC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,KAAK,SAAS,CAAC;QACf;YACE,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;IAC3C,CAAC;AACH,CAAC","sourcesContent":["import { resolveToken } from '../../theme/resolveToken';\nimport type { SurfaceTheme } from '../../theme/types';\n\nexport type TextTone =\n | 'default'\n | 'muted'\n | 'subtle'\n | 'inverse'\n | 'danger'\n | 'success'\n | 'warning';\nexport type TextColorValue = keyof SurfaceTheme['colors'] | string;\n\nexport function resolveTextColor(\n theme: SurfaceTheme,\n tone: TextTone = 'default',\n color?: TextColorValue,\n): string {\n if (color) {\n return resolveToken(theme.colors, color);\n }\n\n switch (tone) {\n case 'muted':\n return theme.semantics.content.muted;\n case 'subtle':\n return theme.semantics.content.subtle;\n case 'inverse':\n return theme.semantics.content.inverse;\n case 'danger':\n return theme.semantics.danger.base;\n case 'success':\n return theme.semantics.success.base;\n case 'warning':\n return theme.semantics.warning.base;\n case 'default':\n default:\n return theme.semantics.content.default;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { TextStyle } from 'react-native';
2
- import type { AnkhTheme, FontWeight } from '../../theme/types';
2
+ import type { FontWeight, SurfaceTheme } from '../../theme/types';
3
3
  export type TextVariant = 'body' | 'bodySmall' | 'caption' | 'label' | 'mono';
4
- export type TextWeight = keyof AnkhTheme['typography']['weights'] | FontWeight;
4
+ export type TextWeight = keyof SurfaceTheme['typography']['weights'] | FontWeight;
5
5
  export interface ResolveTextStyleOptions {
6
6
  variant?: TextVariant;
7
7
  align?: TextStyle['textAlign'];
@@ -9,5 +9,5 @@ export interface ResolveTextStyleOptions {
9
9
  italic?: boolean;
10
10
  level?: 1 | 2 | 3 | 4 | 5 | 6;
11
11
  }
12
- export declare function resolveTextStyles(theme: AnkhTheme, options?: ResolveTextStyleOptions): TextStyle;
12
+ export declare function resolveTextStyles(theme: SurfaceTheme, options?: ResolveTextStyleOptions): TextStyle;
13
13
  //# sourceMappingURL=resolveTextStyles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTextStyles.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTextStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAC9E,MAAM,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;AAQ/E,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC/B;AA8CD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,uBAA4B,GACpC,SAAS,CA0BX"}
1
+ {"version":3,"file":"resolveTextStyles.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTextStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAC9E,MAAM,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;AAQlF,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC/B;AA8CD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,uBAA4B,GACpC,SAAS,CA0BX"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTextStyles.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTextStyles.ts"],"names":[],"mappings":"AAqBA,SAAS,aAAa,CAAC,KAAgB,EAAE,KAA6B;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;IACpD,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAiD,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,KAAmB,CAAC;AAC7B,CAAC;AAED,SAAS,eAAe,CAAC,KAAgB,EAAE,OAAoB;IAC7D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,WAAW;YACd,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACnC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,QAAQ;aACjB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,KAAK,MAAM,CAAC;QACZ;YACE,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAgB,EAChB,UAAmC,EAAE;IAErC,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC3E,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,YAAY,GAAG,iBAAiB;QACpC,CAAC,CAAC;YACE,QAAQ,EAAE,iBAAiB,CAAC,IAAI;YAChC,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,MAAM,EAAE,iBAAiB,CAAC,MAAM;SACjC;QACH,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEpC,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,MAAM,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IAEzE,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,UAAU,EAAE,cAAc;QAC1B,UAAU;QACV,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QACvC,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC","sourcesContent":["import type { TextStyle } from 'react-native';\n\nimport type { AnkhTheme, FontWeight } from '../../theme/types';\n\nexport type TextVariant = 'body' | 'bodySmall' | 'caption' | 'label' | 'mono';\nexport type TextWeight = keyof AnkhTheme['typography']['weights'] | FontWeight;\n\ninterface VariantStyle {\n fontSize: number;\n lineHeight: number;\n weight: TextWeight;\n}\n\nexport interface ResolveTextStyleOptions {\n variant?: TextVariant;\n align?: TextStyle['textAlign'];\n weight?: TextWeight;\n italic?: boolean;\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n}\n\nfunction resolveWeight(theme: AnkhTheme, value: TextWeight | undefined): FontWeight {\n if (!value) return theme.typography.weights.regular;\n if (value in theme.typography.weights) {\n return theme.typography.weights[value as keyof AnkhTheme['typography']['weights']];\n }\n return value as FontWeight;\n}\n\nfunction getVariantStyle(theme: AnkhTheme, variant: TextVariant): VariantStyle {\n switch (variant) {\n case 'bodySmall':\n return {\n fontSize: theme.typography.sizes.s,\n lineHeight: 20,\n weight: 'regular',\n };\n case 'caption':\n return {\n fontSize: theme.typography.sizes.xs,\n lineHeight: 16,\n weight: 'regular',\n };\n case 'label':\n return {\n fontSize: theme.typography.sizes.s,\n lineHeight: 18,\n weight: 'medium',\n };\n case 'mono':\n return {\n fontSize: theme.typography.sizes.s,\n lineHeight: 20,\n weight: 'regular',\n };\n case 'body':\n default:\n return {\n fontSize: theme.typography.sizes.m,\n lineHeight: 24,\n weight: 'regular',\n };\n }\n}\n\nexport function resolveTextStyles(\n theme: AnkhTheme,\n options: ResolveTextStyleOptions = {},\n): TextStyle {\n const { level, variant = 'body', align, weight, italic = false } = options;\n const headingTypography = level ? theme.typography.headings[level] : null;\n const variantStyle = headingTypography\n ? {\n fontSize: headingTypography.size,\n lineHeight: headingTypography.lineHeight,\n weight: headingTypography.weight,\n }\n : getVariantStyle(theme, variant);\n\n const resolvedWeight = resolveWeight(theme, weight ?? variantStyle.weight);\n const isMono = !level && variant === 'mono';\n const fontFamily = isMono\n ? 'monospace'\n : theme.typography.fonts[italic ? 'italic' : 'normal'][resolvedWeight];\n\n return {\n fontSize: variantStyle.fontSize,\n lineHeight: variantStyle.lineHeight,\n fontWeight: resolvedWeight,\n fontFamily,\n fontStyle: italic ? 'italic' : 'normal',\n textAlign: align,\n elevation: 0,\n };\n}\n"]}
1
+ {"version":3,"file":"resolveTextStyles.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTextStyles.ts"],"names":[],"mappings":"AAqBA,SAAS,aAAa,CAAC,KAAmB,EAAE,KAA6B;IACvE,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;IACpD,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAoD,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,KAAmB,CAAC;AAC7B,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB,EAAE,OAAoB;IAChE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,WAAW;YACd,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACnC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,QAAQ;aACjB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,KAAK,MAAM,CAAC;QACZ;YACE,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAmB,EACnB,UAAmC,EAAE;IAErC,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC3E,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,YAAY,GAAG,iBAAiB;QACpC,CAAC,CAAC;YACE,QAAQ,EAAE,iBAAiB,CAAC,IAAI;YAChC,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,MAAM,EAAE,iBAAiB,CAAC,MAAM;SACjC;QACH,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEpC,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,MAAM,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IAEzE,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,UAAU,EAAE,cAAc;QAC1B,UAAU;QACV,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QACvC,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC","sourcesContent":["import type { TextStyle } from 'react-native';\n\nimport type { FontWeight, SurfaceTheme } from '../../theme/types';\n\nexport type TextVariant = 'body' | 'bodySmall' | 'caption' | 'label' | 'mono';\nexport type TextWeight = keyof SurfaceTheme['typography']['weights'] | FontWeight;\n\ninterface VariantStyle {\n fontSize: number;\n lineHeight: number;\n weight: TextWeight;\n}\n\nexport interface ResolveTextStyleOptions {\n variant?: TextVariant;\n align?: TextStyle['textAlign'];\n weight?: TextWeight;\n italic?: boolean;\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n}\n\nfunction resolveWeight(theme: SurfaceTheme, value: TextWeight | undefined): FontWeight {\n if (!value) return theme.typography.weights.regular;\n if (value in theme.typography.weights) {\n return theme.typography.weights[value as keyof SurfaceTheme['typography']['weights']];\n }\n return value as FontWeight;\n}\n\nfunction getVariantStyle(theme: SurfaceTheme, variant: TextVariant): VariantStyle {\n switch (variant) {\n case 'bodySmall':\n return {\n fontSize: theme.typography.sizes.s,\n lineHeight: 20,\n weight: 'regular',\n };\n case 'caption':\n return {\n fontSize: theme.typography.sizes.xs,\n lineHeight: 16,\n weight: 'regular',\n };\n case 'label':\n return {\n fontSize: theme.typography.sizes.s,\n lineHeight: 18,\n weight: 'medium',\n };\n case 'mono':\n return {\n fontSize: theme.typography.sizes.s,\n lineHeight: 20,\n weight: 'regular',\n };\n case 'body':\n default:\n return {\n fontSize: theme.typography.sizes.m,\n lineHeight: 24,\n weight: 'regular',\n };\n }\n}\n\nexport function resolveTextStyles(\n theme: SurfaceTheme,\n options: ResolveTextStyleOptions = {},\n): TextStyle {\n const { level, variant = 'body', align, weight, italic = false } = options;\n const headingTypography = level ? theme.typography.headings[level] : null;\n const variantStyle = headingTypography\n ? {\n fontSize: headingTypography.size,\n lineHeight: headingTypography.lineHeight,\n weight: headingTypography.weight,\n }\n : getVariantStyle(theme, variant);\n\n const resolvedWeight = resolveWeight(theme, weight ?? variantStyle.weight);\n const isMono = !level && variant === 'mono';\n const fontFamily = isMono\n ? 'monospace'\n : theme.typography.fonts[italic ? 'italic' : 'normal'][resolvedWeight];\n\n return {\n fontSize: variantStyle.fontSize,\n lineHeight: variantStyle.lineHeight,\n fontWeight: resolvedWeight,\n fontFamily,\n fontStyle: italic ? 'italic' : 'normal',\n textAlign: align,\n elevation: 0,\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { AnkhTheme, RoleSemantics } from '../../theme/types';
1
+ import type { RoleSemantics, SurfaceTheme } from '../../theme/types';
2
2
  export type ComponentTone = 'primary' | 'neutral' | 'danger' | 'success' | 'warning';
3
- export declare function resolveTone(theme: AnkhTheme, tone?: ComponentTone): RoleSemantics;
3
+ export declare function resolveTone(theme: SurfaceTheme, tone?: ComponentTone): RoleSemantics;
4
4
  //# sourceMappingURL=resolveTone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTone.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAErF,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,GAAE,aAAyB,GAAG,aAAa,CAc5F"}
1
+ {"version":3,"file":"resolveTone.d.ts","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAErF,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,GAAE,aAAyB,GAAG,aAAa,CAc/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTone.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTone.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,OAAsB,SAAS;IAC3E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACjC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACjC,KAAK,SAAS,CAAC;QACf;YACE,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;IAC1C,CAAC;AACH,CAAC","sourcesContent":["import type { AnkhTheme, RoleSemantics } from '../../theme/types';\n\nexport type ComponentTone = 'primary' | 'neutral' | 'danger' | 'success' | 'warning';\n\nexport function resolveTone(theme: AnkhTheme, tone: ComponentTone = 'primary'): RoleSemantics {\n switch (tone) {\n case 'neutral':\n return theme.semantics.action.neutral;\n case 'danger':\n return theme.semantics.action.danger;\n case 'success':\n return theme.semantics.success;\n case 'warning':\n return theme.semantics.warning;\n case 'primary':\n default:\n return theme.semantics.action.primary;\n }\n}\n"]}
1
+ {"version":3,"file":"resolveTone.js","sourceRoot":"","sources":["../../../src/internal/resolvers/resolveTone.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,WAAW,CAAC,KAAmB,EAAE,OAAsB,SAAS;IAC9E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACjC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACjC,KAAK,SAAS,CAAC;QACf;YACE,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;IAC1C,CAAC;AACH,CAAC","sourcesContent":["import type { RoleSemantics, SurfaceTheme } from '../../theme/types';\n\nexport type ComponentTone = 'primary' | 'neutral' | 'danger' | 'success' | 'warning';\n\nexport function resolveTone(theme: SurfaceTheme, tone: ComponentTone = 'primary'): RoleSemantics {\n switch (tone) {\n case 'neutral':\n return theme.semantics.action.neutral;\n case 'danger':\n return theme.semantics.action.danger;\n case 'success':\n return theme.semantics.success;\n case 'warning':\n return theme.semantics.warning;\n case 'primary':\n default:\n return theme.semantics.action.primary;\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import { type Responsive } from '../core/responsive';
3
- import type { AnkhTheme } from '../theme/types';
3
+ import type { SurfaceTheme } from '../theme/types';
4
4
  import { type BoxProps } from './Box';
5
5
  export interface ContainerProps extends Omit<BoxProps, 'children'> {
6
6
  children?: React.ReactNode;
7
7
  maxWidth?: Responsive<number>;
8
- px?: Responsive<number | keyof AnkhTheme['spacing']>;
8
+ px?: Responsive<number | keyof SurfaceTheme['spacing']>;
9
9
  }
10
10
  export declare function Container({ children, maxWidth, px, ...props }: ContainerProps): React.JSX.Element;
11
11
  //# sourceMappingURL=Container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/layout/Container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAqB,KAAK,UAAU,EAAwB,MAAM,oBAAoB,CAAC;AAE9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG3C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;IAChE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9B,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;CACtD;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAsD,EACtD,EAAiC,EACjC,GAAG,KAAK,EACT,EAAE,cAAc,qBAsBhB"}
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/layout/Container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAqB,KAAK,UAAU,EAAwB,MAAM,oBAAoB,CAAC;AAE9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG3C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;IAChE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9B,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;CACzD;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAsD,EACtD,EAAiC,EACjC,GAAG,KAAK,EACT,EAAE,cAAc,qBAsBhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/layout/Container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAmB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAiB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQ3C,MAAM,UAAU,SAAS,CAAC,EACxB,QAAQ,EACR,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,EACtD,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACjC,GAAG,KAAK,EACO;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1E,OAAO,CACL,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CACnE;MAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,QAAQ;YACrB,YAAY,EAAE,QAAQ;SACvB,CAAC,CAEF;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { resolveResponsive, type Responsive, useResponsiveRuntime } from '../core/responsive';\nimport { useTheme } from '../theme/ThemeContext';\nimport type { AnkhTheme } from '../theme/types';\nimport { Box, type BoxProps } from './Box';\nimport { resolveSpacing } from './helpers';\n\nexport interface ContainerProps extends Omit<BoxProps, 'children'> {\n children?: React.ReactNode;\n maxWidth?: Responsive<number>;\n px?: Responsive<number | keyof AnkhTheme['spacing']>;\n}\n\nexport function Container({\n children,\n maxWidth = { base: Number.MAX_SAFE_INTEGER, lg: 1120 },\n px = { base: 16, md: 24, lg: 32 },\n ...props\n}: ContainerProps) {\n const { theme } = useTheme();\n const { breakpoint } = useResponsiveRuntime();\n\n const activeMaxWidth = resolveResponsive(maxWidth, breakpoint);\n const activePx = resolveSpacing(theme, resolveResponsive(px, breakpoint));\n\n return (\n <Box {...props} width=\"100%\" style={[{ width: '100%' }, props.style]}>\n <View\n style={{\n width: '100%',\n maxWidth: activeMaxWidth,\n alignSelf: 'center',\n paddingLeft: activePx,\n paddingRight: activePx,\n }}\n >\n {children}\n </View>\n </Box>\n );\n}\n"]}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/layout/Container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAmB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAiB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQ3C,MAAM,UAAU,SAAS,CAAC,EACxB,QAAQ,EACR,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,EACtD,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACjC,GAAG,KAAK,EACO;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1E,OAAO,CACL,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CACnE;MAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,QAAQ;YACrB,YAAY,EAAE,QAAQ;SACvB,CAAC,CAEF;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { resolveResponsive, type Responsive, useResponsiveRuntime } from '../core/responsive';\nimport { useTheme } from '../theme/ThemeContext';\nimport type { SurfaceTheme } from '../theme/types';\nimport { Box, type BoxProps } from './Box';\nimport { resolveSpacing } from './helpers';\n\nexport interface ContainerProps extends Omit<BoxProps, 'children'> {\n children?: React.ReactNode;\n maxWidth?: Responsive<number>;\n px?: Responsive<number | keyof SurfaceTheme['spacing']>;\n}\n\nexport function Container({\n children,\n maxWidth = { base: Number.MAX_SAFE_INTEGER, lg: 1120 },\n px = { base: 16, md: 24, lg: 32 },\n ...props\n}: ContainerProps) {\n const { theme } = useTheme();\n const { breakpoint } = useResponsiveRuntime();\n\n const activeMaxWidth = resolveResponsive(maxWidth, breakpoint);\n const activePx = resolveSpacing(theme, resolveResponsive(px, breakpoint));\n\n return (\n <Box {...props} width=\"100%\" style={[{ width: '100%' }, props.style]}>\n <View\n style={{\n width: '100%',\n maxWidth: activeMaxWidth,\n alignSelf: 'center',\n paddingLeft: activePx,\n paddingRight: activePx,\n }}\n >\n {children}\n </View>\n </Box>\n );\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import type { StyleProp, ViewStyle } from 'react-native';
2
2
  import type { Breakpoint, Responsive } from '../core/responsive/types';
3
- import type { AnkhTheme } from '../theme/types';
4
- type SpaceToken = keyof AnkhTheme['spacing'];
5
- type RadiusToken = keyof AnkhTheme['radii'];
6
- type ColorToken = keyof AnkhTheme['colors'];
3
+ import type { SurfaceTheme } from '../theme/types';
4
+ type SpaceToken = keyof SurfaceTheme['spacing'];
5
+ type RadiusToken = keyof SurfaceTheme['radii'];
6
+ type ColorToken = keyof SurfaceTheme['colors'];
7
7
  export type SpaceValue = number | SpaceToken;
8
8
  export type RadiusValue = number | RadiusToken;
9
9
  export type ColorValue = string | ColorToken;
@@ -47,10 +47,10 @@ export interface BoxStyleProps {
47
47
  opacity?: Responsive<number>;
48
48
  style?: StyleProp<ViewStyle>;
49
49
  }
50
- export declare function resolveSpacing(theme: AnkhTheme, value: SpaceValue | undefined): number | undefined;
51
- export declare function resolveRadius(theme: AnkhTheme, value: RadiusValue | undefined): number | undefined;
52
- export declare function resolveColor(theme: AnkhTheme, value: ColorValue | undefined): string | undefined;
53
- export declare function resolveDimension(theme: AnkhTheme, value: number | string | undefined): number | string | undefined;
54
- export declare function resolveBoxStyles(theme: AnkhTheme, breakpoint: Breakpoint, props: BoxStyleProps): ViewStyle;
50
+ export declare function resolveSpacing(theme: SurfaceTheme, value: SpaceValue | undefined): number | undefined;
51
+ export declare function resolveRadius(theme: SurfaceTheme, value: RadiusValue | undefined): number | undefined;
52
+ export declare function resolveColor(theme: SurfaceTheme, value: ColorValue | undefined): string | undefined;
53
+ export declare function resolveDimension(theme: SurfaceTheme, value: number | string | undefined): number | string | undefined;
54
+ export declare function resolveBoxStyles(theme: SurfaceTheme, breakpoint: Breakpoint, props: BoxStyleProps): ViewStyle;
55
55
  export {};
56
56
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/layout/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/layout/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,KAAK,UAAU,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;AAChD,KAAK,WAAW,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/C,KAAK,UAAU,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AAE/C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAC7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,WAAW,GAAG,SAAS,GAC7B,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,UAAU,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GACjC,MAAM,GAAG,MAAM,GAAG,SAAS,CAG7B;AAMD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,aAAa,GACnB,SAAS,CA6GX"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/layout/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StyleProp, ViewStyle } from 'react-native';\n\nimport { resolveResponsive } from '../core/responsive/resolve';\nimport type { Breakpoint, Responsive } from '../core/responsive/types';\nimport { resolveToken } from '../theme/resolveToken';\nimport type { AnkhTheme } from '../theme/types';\n\ntype SpaceToken = keyof AnkhTheme['spacing'];\ntype RadiusToken = keyof AnkhTheme['radii'];\ntype ColorToken = keyof AnkhTheme['colors'];\n\nexport type SpaceValue = number | SpaceToken;\nexport type RadiusValue = number | RadiusToken;\nexport type ColorValue = string | ColorToken;\n\nexport interface BoxStyleProps {\n p?: Responsive<SpaceValue>;\n px?: Responsive<SpaceValue>;\n py?: Responsive<SpaceValue>;\n pt?: Responsive<SpaceValue>;\n pb?: Responsive<SpaceValue>;\n pl?: Responsive<SpaceValue>;\n pr?: Responsive<SpaceValue>;\n m?: Responsive<SpaceValue>;\n mx?: Responsive<SpaceValue>;\n my?: Responsive<SpaceValue>;\n mt?: Responsive<SpaceValue>;\n mb?: Responsive<SpaceValue>;\n ml?: Responsive<SpaceValue>;\n mr?: Responsive<SpaceValue>;\n bg?: Responsive<ColorValue>;\n radius?: Responsive<RadiusValue>;\n borderWidth?: Responsive<number>;\n borderColor?: Responsive<ColorValue>;\n width?: Responsive<number | string>;\n height?: Responsive<number | string>;\n minWidth?: Responsive<number | string>;\n maxWidth?: Responsive<number | string>;\n minHeight?: Responsive<number | string>;\n maxHeight?: Responsive<number | string>;\n flex?: Responsive<number>;\n flexGrow?: Responsive<number>;\n flexShrink?: Responsive<number>;\n flexBasis?: Responsive<number | string>;\n alignSelf?: Responsive<ViewStyle['alignSelf']>;\n position?: Responsive<ViewStyle['position']>;\n top?: Responsive<number>;\n bottom?: Responsive<number>;\n left?: Responsive<number>;\n right?: Responsive<number>;\n overflow?: Responsive<ViewStyle['overflow']>;\n zIndex?: Responsive<number>;\n opacity?: Responsive<number>;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function resolveSpacing(\n theme: AnkhTheme,\n value: SpaceValue | undefined,\n): number | undefined {\n if (value === undefined) return undefined;\n if (typeof value === 'number') return value;\n return theme.spacing[value as SpaceToken];\n}\n\nexport function resolveRadius(\n theme: AnkhTheme,\n value: RadiusValue | undefined,\n): number | undefined {\n if (value === undefined) return undefined;\n if (typeof value === 'number') return value;\n return theme.radii[value];\n}\n\nexport function resolveColor(theme: AnkhTheme, value: ColorValue | undefined): string | undefined {\n if (value === undefined) return undefined;\n if (Object.prototype.hasOwnProperty.call(theme.colors, value)) {\n return theme.colors[value];\n }\n return value as string;\n}\n\nexport function resolveDimension(\n theme: AnkhTheme,\n value: number | string | undefined,\n): number | string | undefined {\n if (value === undefined || typeof value === 'number') return value;\n return resolveToken(theme.spacing, value);\n}\n\nfunction assignIfDefined<T, K extends keyof T>(target: T, key: K, value: T[K] | undefined) {\n if (value !== undefined) target[key] = value;\n}\n\nexport function resolveBoxStyles(\n theme: AnkhTheme,\n breakpoint: Breakpoint,\n props: BoxStyleProps,\n): ViewStyle {\n const styles: ViewStyle = {\n elevation: 0,\n };\n\n const p = resolveSpacing(theme, resolveResponsive(props.p, breakpoint));\n const px = resolveSpacing(theme, resolveResponsive(props.px, breakpoint));\n const py = resolveSpacing(theme, resolveResponsive(props.py, breakpoint));\n const pt = resolveSpacing(theme, resolveResponsive(props.pt, breakpoint));\n const pb = resolveSpacing(theme, resolveResponsive(props.pb, breakpoint));\n const pl = resolveSpacing(theme, resolveResponsive(props.pl, breakpoint));\n const pr = resolveSpacing(theme, resolveResponsive(props.pr, breakpoint));\n const m = resolveSpacing(theme, resolveResponsive(props.m, breakpoint));\n const mx = resolveSpacing(theme, resolveResponsive(props.mx, breakpoint));\n const my = resolveSpacing(theme, resolveResponsive(props.my, breakpoint));\n const mt = resolveSpacing(theme, resolveResponsive(props.mt, breakpoint));\n const mb = resolveSpacing(theme, resolveResponsive(props.mb, breakpoint));\n const ml = resolveSpacing(theme, resolveResponsive(props.ml, breakpoint));\n const mr = resolveSpacing(theme, resolveResponsive(props.mr, breakpoint));\n\n assignIfDefined(styles, 'padding', p as ViewStyle['padding']);\n assignIfDefined(styles, 'paddingHorizontal', px as ViewStyle['paddingHorizontal']);\n assignIfDefined(styles, 'paddingVertical', py as ViewStyle['paddingVertical']);\n assignIfDefined(styles, 'paddingTop', pt as ViewStyle['paddingTop']);\n assignIfDefined(styles, 'paddingBottom', pb as ViewStyle['paddingBottom']);\n assignIfDefined(styles, 'paddingLeft', pl as ViewStyle['paddingLeft']);\n assignIfDefined(styles, 'paddingRight', pr as ViewStyle['paddingRight']);\n assignIfDefined(styles, 'margin', m as ViewStyle['margin']);\n assignIfDefined(styles, 'marginHorizontal', mx as ViewStyle['marginHorizontal']);\n assignIfDefined(styles, 'marginVertical', my as ViewStyle['marginVertical']);\n assignIfDefined(styles, 'marginTop', mt as ViewStyle['marginTop']);\n assignIfDefined(styles, 'marginBottom', mb as ViewStyle['marginBottom']);\n assignIfDefined(styles, 'marginLeft', ml as ViewStyle['marginLeft']);\n assignIfDefined(styles, 'marginRight', mr as ViewStyle['marginRight']);\n\n assignIfDefined(\n styles,\n 'backgroundColor',\n resolveColor(theme, resolveResponsive(props.bg, breakpoint)),\n );\n assignIfDefined(\n styles,\n 'borderRadius',\n resolveRadius(theme, resolveResponsive(props.radius, breakpoint)) as ViewStyle['borderRadius'],\n );\n assignIfDefined(styles, 'borderWidth', resolveResponsive(props.borderWidth, breakpoint));\n assignIfDefined(\n styles,\n 'borderColor',\n resolveColor(theme, resolveResponsive(props.borderColor, breakpoint)),\n );\n\n assignIfDefined(\n styles,\n 'width',\n resolveDimension(theme, resolveResponsive(props.width, breakpoint)) as ViewStyle['width'],\n );\n assignIfDefined(\n styles,\n 'height',\n resolveDimension(theme, resolveResponsive(props.height, breakpoint)) as ViewStyle['height'],\n );\n assignIfDefined(\n styles,\n 'minWidth',\n resolveDimension(theme, resolveResponsive(props.minWidth, breakpoint)) as ViewStyle['minWidth'],\n );\n assignIfDefined(\n styles,\n 'maxWidth',\n resolveDimension(theme, resolveResponsive(props.maxWidth, breakpoint)) as ViewStyle['maxWidth'],\n );\n assignIfDefined(\n styles,\n 'minHeight',\n resolveDimension(\n theme,\n resolveResponsive(props.minHeight, breakpoint),\n ) as ViewStyle['minHeight'],\n );\n assignIfDefined(\n styles,\n 'maxHeight',\n resolveDimension(\n theme,\n resolveResponsive(props.maxHeight, breakpoint),\n ) as ViewStyle['maxHeight'],\n );\n\n assignIfDefined(styles, 'flex', resolveResponsive(props.flex, breakpoint));\n assignIfDefined(styles, 'flexGrow', resolveResponsive(props.flexGrow, breakpoint));\n assignIfDefined(styles, 'flexShrink', resolveResponsive(props.flexShrink, breakpoint));\n assignIfDefined(\n styles,\n 'flexBasis',\n resolveResponsive(props.flexBasis, breakpoint) as ViewStyle['flexBasis'],\n );\n assignIfDefined(styles, 'alignSelf', resolveResponsive(props.alignSelf, breakpoint));\n\n assignIfDefined(styles, 'position', resolveResponsive(props.position, breakpoint));\n assignIfDefined(styles, 'top', resolveResponsive(props.top, breakpoint));\n assignIfDefined(styles, 'bottom', resolveResponsive(props.bottom, breakpoint));\n assignIfDefined(styles, 'left', resolveResponsive(props.left, breakpoint));\n assignIfDefined(styles, 'right', resolveResponsive(props.right, breakpoint));\n assignIfDefined(styles, 'overflow', resolveResponsive(props.overflow, breakpoint));\n assignIfDefined(styles, 'zIndex', resolveResponsive(props.zIndex, breakpoint));\n assignIfDefined(styles, 'opacity', resolveResponsive(props.opacity, breakpoint));\n\n return styles;\n}\n"]}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/layout/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StyleProp, ViewStyle } from 'react-native';\n\nimport { resolveResponsive } from '../core/responsive/resolve';\nimport type { Breakpoint, Responsive } from '../core/responsive/types';\nimport { resolveToken } from '../theme/resolveToken';\nimport type { SurfaceTheme } from '../theme/types';\n\ntype SpaceToken = keyof SurfaceTheme['spacing'];\ntype RadiusToken = keyof SurfaceTheme['radii'];\ntype ColorToken = keyof SurfaceTheme['colors'];\n\nexport type SpaceValue = number | SpaceToken;\nexport type RadiusValue = number | RadiusToken;\nexport type ColorValue = string | ColorToken;\n\nexport interface BoxStyleProps {\n p?: Responsive<SpaceValue>;\n px?: Responsive<SpaceValue>;\n py?: Responsive<SpaceValue>;\n pt?: Responsive<SpaceValue>;\n pb?: Responsive<SpaceValue>;\n pl?: Responsive<SpaceValue>;\n pr?: Responsive<SpaceValue>;\n m?: Responsive<SpaceValue>;\n mx?: Responsive<SpaceValue>;\n my?: Responsive<SpaceValue>;\n mt?: Responsive<SpaceValue>;\n mb?: Responsive<SpaceValue>;\n ml?: Responsive<SpaceValue>;\n mr?: Responsive<SpaceValue>;\n bg?: Responsive<ColorValue>;\n radius?: Responsive<RadiusValue>;\n borderWidth?: Responsive<number>;\n borderColor?: Responsive<ColorValue>;\n width?: Responsive<number | string>;\n height?: Responsive<number | string>;\n minWidth?: Responsive<number | string>;\n maxWidth?: Responsive<number | string>;\n minHeight?: Responsive<number | string>;\n maxHeight?: Responsive<number | string>;\n flex?: Responsive<number>;\n flexGrow?: Responsive<number>;\n flexShrink?: Responsive<number>;\n flexBasis?: Responsive<number | string>;\n alignSelf?: Responsive<ViewStyle['alignSelf']>;\n position?: Responsive<ViewStyle['position']>;\n top?: Responsive<number>;\n bottom?: Responsive<number>;\n left?: Responsive<number>;\n right?: Responsive<number>;\n overflow?: Responsive<ViewStyle['overflow']>;\n zIndex?: Responsive<number>;\n opacity?: Responsive<number>;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function resolveSpacing(\n theme: SurfaceTheme,\n value: SpaceValue | undefined,\n): number | undefined {\n if (value === undefined) return undefined;\n if (typeof value === 'number') return value;\n return theme.spacing[value as SpaceToken];\n}\n\nexport function resolveRadius(\n theme: SurfaceTheme,\n value: RadiusValue | undefined,\n): number | undefined {\n if (value === undefined) return undefined;\n if (typeof value === 'number') return value;\n return theme.radii[value];\n}\n\nexport function resolveColor(\n theme: SurfaceTheme,\n value: ColorValue | undefined,\n): string | undefined {\n if (value === undefined) return undefined;\n if (Object.prototype.hasOwnProperty.call(theme.colors, value)) {\n return theme.colors[value];\n }\n return value as string;\n}\n\nexport function resolveDimension(\n theme: SurfaceTheme,\n value: number | string | undefined,\n): number | string | undefined {\n if (value === undefined || typeof value === 'number') return value;\n return resolveToken(theme.spacing, value);\n}\n\nfunction assignIfDefined<T, K extends keyof T>(target: T, key: K, value: T[K] | undefined) {\n if (value !== undefined) target[key] = value;\n}\n\nexport function resolveBoxStyles(\n theme: SurfaceTheme,\n breakpoint: Breakpoint,\n props: BoxStyleProps,\n): ViewStyle {\n const styles: ViewStyle = {\n elevation: 0,\n };\n\n const p = resolveSpacing(theme, resolveResponsive(props.p, breakpoint));\n const px = resolveSpacing(theme, resolveResponsive(props.px, breakpoint));\n const py = resolveSpacing(theme, resolveResponsive(props.py, breakpoint));\n const pt = resolveSpacing(theme, resolveResponsive(props.pt, breakpoint));\n const pb = resolveSpacing(theme, resolveResponsive(props.pb, breakpoint));\n const pl = resolveSpacing(theme, resolveResponsive(props.pl, breakpoint));\n const pr = resolveSpacing(theme, resolveResponsive(props.pr, breakpoint));\n const m = resolveSpacing(theme, resolveResponsive(props.m, breakpoint));\n const mx = resolveSpacing(theme, resolveResponsive(props.mx, breakpoint));\n const my = resolveSpacing(theme, resolveResponsive(props.my, breakpoint));\n const mt = resolveSpacing(theme, resolveResponsive(props.mt, breakpoint));\n const mb = resolveSpacing(theme, resolveResponsive(props.mb, breakpoint));\n const ml = resolveSpacing(theme, resolveResponsive(props.ml, breakpoint));\n const mr = resolveSpacing(theme, resolveResponsive(props.mr, breakpoint));\n\n assignIfDefined(styles, 'padding', p as ViewStyle['padding']);\n assignIfDefined(styles, 'paddingHorizontal', px as ViewStyle['paddingHorizontal']);\n assignIfDefined(styles, 'paddingVertical', py as ViewStyle['paddingVertical']);\n assignIfDefined(styles, 'paddingTop', pt as ViewStyle['paddingTop']);\n assignIfDefined(styles, 'paddingBottom', pb as ViewStyle['paddingBottom']);\n assignIfDefined(styles, 'paddingLeft', pl as ViewStyle['paddingLeft']);\n assignIfDefined(styles, 'paddingRight', pr as ViewStyle['paddingRight']);\n assignIfDefined(styles, 'margin', m as ViewStyle['margin']);\n assignIfDefined(styles, 'marginHorizontal', mx as ViewStyle['marginHorizontal']);\n assignIfDefined(styles, 'marginVertical', my as ViewStyle['marginVertical']);\n assignIfDefined(styles, 'marginTop', mt as ViewStyle['marginTop']);\n assignIfDefined(styles, 'marginBottom', mb as ViewStyle['marginBottom']);\n assignIfDefined(styles, 'marginLeft', ml as ViewStyle['marginLeft']);\n assignIfDefined(styles, 'marginRight', mr as ViewStyle['marginRight']);\n\n assignIfDefined(\n styles,\n 'backgroundColor',\n resolveColor(theme, resolveResponsive(props.bg, breakpoint)),\n );\n assignIfDefined(\n styles,\n 'borderRadius',\n resolveRadius(theme, resolveResponsive(props.radius, breakpoint)) as ViewStyle['borderRadius'],\n );\n assignIfDefined(styles, 'borderWidth', resolveResponsive(props.borderWidth, breakpoint));\n assignIfDefined(\n styles,\n 'borderColor',\n resolveColor(theme, resolveResponsive(props.borderColor, breakpoint)),\n );\n\n assignIfDefined(\n styles,\n 'width',\n resolveDimension(theme, resolveResponsive(props.width, breakpoint)) as ViewStyle['width'],\n );\n assignIfDefined(\n styles,\n 'height',\n resolveDimension(theme, resolveResponsive(props.height, breakpoint)) as ViewStyle['height'],\n );\n assignIfDefined(\n styles,\n 'minWidth',\n resolveDimension(theme, resolveResponsive(props.minWidth, breakpoint)) as ViewStyle['minWidth'],\n );\n assignIfDefined(\n styles,\n 'maxWidth',\n resolveDimension(theme, resolveResponsive(props.maxWidth, breakpoint)) as ViewStyle['maxWidth'],\n );\n assignIfDefined(\n styles,\n 'minHeight',\n resolveDimension(\n theme,\n resolveResponsive(props.minHeight, breakpoint),\n ) as ViewStyle['minHeight'],\n );\n assignIfDefined(\n styles,\n 'maxHeight',\n resolveDimension(\n theme,\n resolveResponsive(props.maxHeight, breakpoint),\n ) as ViewStyle['maxHeight'],\n );\n\n assignIfDefined(styles, 'flex', resolveResponsive(props.flex, breakpoint));\n assignIfDefined(styles, 'flexGrow', resolveResponsive(props.flexGrow, breakpoint));\n assignIfDefined(styles, 'flexShrink', resolveResponsive(props.flexShrink, breakpoint));\n assignIfDefined(\n styles,\n 'flexBasis',\n resolveResponsive(props.flexBasis, breakpoint) as ViewStyle['flexBasis'],\n );\n assignIfDefined(styles, 'alignSelf', resolveResponsive(props.alignSelf, breakpoint));\n\n assignIfDefined(styles, 'position', resolveResponsive(props.position, breakpoint));\n assignIfDefined(styles, 'top', resolveResponsive(props.top, breakpoint));\n assignIfDefined(styles, 'bottom', resolveResponsive(props.bottom, breakpoint));\n assignIfDefined(styles, 'left', resolveResponsive(props.left, breakpoint));\n assignIfDefined(styles, 'right', resolveResponsive(props.right, breakpoint));\n assignIfDefined(styles, 'overflow', resolveResponsive(props.overflow, breakpoint));\n assignIfDefined(styles, 'zIndex', resolveResponsive(props.zIndex, breakpoint));\n assignIfDefined(styles, 'opacity', resolveResponsive(props.opacity, breakpoint));\n\n return styles;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { TextStyle } from 'react-native';
2
- import type { AnkhTheme } from '../../theme/types';
2
+ import type { SurfaceTheme } from '../../theme/types';
3
3
  import type { HeadingLevel, HeadingProps } from './types';
4
- export declare function resolveHeadingTextStyle(theme: AnkhTheme, level: HeadingLevel, align?: HeadingProps['align']): TextStyle;
4
+ export declare function resolveHeadingTextStyle(theme: SurfaceTheme, level: HeadingLevel, align?: HeadingProps['align']): TextStyle;
5
5
  //# sourceMappingURL=resolveHeadingStyle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveHeadingStyle.d.ts","sourceRoot":"","sources":["../../../src/primitives/heading/resolveHeadingStyle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAC5B,SAAS,CAKX"}
1
+ {"version":3,"file":"resolveHeadingStyle.d.ts","sourceRoot":"","sources":["../../../src/primitives/heading/resolveHeadingStyle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAC5B,SAAS,CAKX"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveHeadingStyle.js","sourceRoot":"","sources":["../../../src/primitives/heading/resolveHeadingStyle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAI/E,MAAM,UAAU,uBAAuB,CACrC,KAAgB,EAChB,KAAmB,EACnB,KAA6B;IAE7B,OAAO;QACL,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7C,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;KAC1C,CAAC;AACJ,CAAC","sourcesContent":["import type { TextStyle } from 'react-native';\n\nimport { resolveTextColor } from '../../internal/resolvers/resolveTextColor';\nimport { resolveTextStyles } from '../../internal/resolvers/resolveTextStyles';\nimport type { AnkhTheme } from '../../theme/types';\nimport type { HeadingLevel, HeadingProps } from './types';\n\nexport function resolveHeadingTextStyle(\n theme: AnkhTheme,\n level: HeadingLevel,\n align?: HeadingProps['align'],\n): TextStyle {\n return {\n ...resolveTextStyles(theme, { align, level }),\n color: resolveTextColor(theme, 'default'),\n };\n}\n"]}
1
+ {"version":3,"file":"resolveHeadingStyle.js","sourceRoot":"","sources":["../../../src/primitives/heading/resolveHeadingStyle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAI/E,MAAM,UAAU,uBAAuB,CACrC,KAAmB,EACnB,KAAmB,EACnB,KAA6B;IAE7B,OAAO;QACL,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7C,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;KAC1C,CAAC;AACJ,CAAC","sourcesContent":["import type { TextStyle } from 'react-native';\n\nimport { resolveTextColor } from '../../internal/resolvers/resolveTextColor';\nimport { resolveTextStyles } from '../../internal/resolvers/resolveTextStyles';\nimport type { SurfaceTheme } from '../../theme/types';\nimport type { HeadingLevel, HeadingProps } from './types';\n\nexport function resolveHeadingTextStyle(\n theme: SurfaceTheme,\n level: HeadingLevel,\n align?: HeadingProps['align'],\n): TextStyle {\n return {\n ...resolveTextStyles(theme, { align, level }),\n color: resolveTextColor(theme, 'default'),\n };\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type TextStyle } from 'react-native';
3
- import type { AnkhTheme } from '../../theme/types';
3
+ import type { SurfaceTheme } from '../../theme/types';
4
4
  export type IconProvider = string;
5
5
  export interface IconProps {
6
6
  name: string;
7
7
  provider?: IconProvider;
8
- size?: keyof AnkhTheme['spacing'] | number;
9
- color?: keyof AnkhTheme['colors'] | string;
8
+ size?: keyof SurfaceTheme['spacing'] | number;
9
+ color?: keyof SurfaceTheme['colors'] | string;
10
10
  style?: StyleProp<TextStyle>;
11
11
  testID?: string;
12
12
  }