@ankhorage/surface 0.2.3 → 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 +41 -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 +4 -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
@@ -1,7 +1,7 @@
1
1
  import { generatePalette } from './colorEngine';
2
- import type { AnkhTheme, FontWeight, ThemeConfig, ThemeTokens } from './types';
2
+ import type { FontWeight, SurfaceTheme, ThemeConfig, ThemeTokens } from './types';
3
3
 
4
- export const DEFAULT_TOKENS: Omit<ThemeTokens, 'colors' | 'scales' | 'semantics'> = {
4
+ export const DEFAULT_TOKENS: Omit<ThemeTokens, 'colors' | 'swatches' | 'semantics'> = {
5
5
  spacing: {
6
6
  none: 0,
7
7
  xs: 4,
@@ -71,12 +71,10 @@ export const DEFAULT_CONFIG: ThemeConfig = {
71
71
  light: {
72
72
  primaryColor: '#3B82F6',
73
73
  harmony: 'monochromatic',
74
- colorTone: 'neutral',
75
74
  },
76
75
  dark: {
77
76
  primaryColor: '#3B82F6',
78
77
  harmony: 'monochromatic',
79
- colorTone: 'neutral',
80
78
  },
81
79
  };
82
80
 
@@ -95,13 +93,13 @@ export function createTheme(
95
93
  config: ThemeConfig = DEFAULT_CONFIG,
96
94
  mode: 'light' | 'dark' = 'light',
97
95
  activeFontId?: string | null,
98
- ): AnkhTheme {
99
- const { colors, scales, semantics } = generatePalette(config, mode);
96
+ ): SurfaceTheme {
97
+ const { colors, swatches, semantics } = generatePalette(config, mode);
100
98
 
101
99
  const theme = {
102
100
  ...DEFAULT_TOKENS,
103
- colors: colors as AnkhTheme['colors'],
104
- scales,
101
+ colors: colors as SurfaceTheme['colors'],
102
+ swatches,
105
103
  semantics,
106
104
  config,
107
105
  };
@@ -1,21 +1,18 @@
1
+ import type { GeneratedThemeSwatches } from '@ankhorage/color-theory';
1
2
  import type { ThemeConfig as ContractsThemeConfig } from '@ankhorage/contracts';
2
3
 
3
- export type { ColorHarmony, ColorTone, ThemeConfig, ThemeModeConfig } from '@ankhorage/contracts';
4
-
5
- export interface ColorScale {
6
- [key: number]: string;
7
- 50: string;
8
- 100: string;
9
- 200: string;
10
- 300: string;
11
- 400: string;
12
- 500: string;
13
- 600: string;
14
- 700: string;
15
- 800: string;
16
- 900: string;
17
- 950: string;
18
- }
4
+ export type {
5
+ ColorHarmony,
6
+ ColorSwatch,
7
+ ColorSwatchStep,
8
+ GeneratedColorRole,
9
+ GeneratedThemeModeColors,
10
+ GeneratedThemeSwatches,
11
+ HexColor,
12
+ SemanticColorReferenceMap,
13
+ SemanticColorToken,
14
+ } from '@ankhorage/color-theory';
15
+ export type { ThemeConfig, ThemeModeConfig } from '@ankhorage/contracts';
19
16
 
20
17
  export interface NeutralSemantics {
21
18
  bg: string;
@@ -111,7 +108,7 @@ export interface ThemeTokens {
111
108
  warning: string;
112
109
  [key: string]: string;
113
110
  };
114
- scales: Record<string, ColorScale>;
111
+ swatches: GeneratedThemeSwatches;
115
112
  semantics: ThemeSemantics;
116
113
  spacing: {
117
114
  none: 0;
@@ -181,6 +178,6 @@ export interface ThemeTokens {
181
178
  };
182
179
  }
183
180
 
184
- export interface AnkhTheme extends ThemeTokens {
181
+ export interface SurfaceTheme extends ThemeTokens {
185
182
  config: ContractsThemeConfig;
186
183
  }
@@ -85,12 +85,10 @@ describe('deepMerge', () => {
85
85
  light: {
86
86
  primaryColor: 'blue',
87
87
  harmony: 'monochromatic',
88
- colorTone: 'neutral',
89
88
  },
90
89
  dark: {
91
90
  primaryColor: 'blue',
92
91
  harmony: 'monochromatic',
93
- colorTone: 'neutral',
94
92
  },
95
93
  };
96
94
  const source: UnknownObject = {
@@ -105,12 +103,10 @@ describe('deepMerge', () => {
105
103
  light: {
106
104
  primaryColor: 'red',
107
105
  harmony: 'monochromatic',
108
- colorTone: 'neutral',
109
106
  },
110
107
  dark: {
111
108
  primaryColor: 'blue',
112
109
  harmony: 'monochromatic',
113
- colorTone: 'neutral',
114
110
  },
115
111
  });
116
112
  });