@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.
- package/CHANGELOG.md +41 -0
- package/dist/examples/DocsExamples.d.ts.map +1 -1
- package/dist/examples/DocsExamples.js +0 -2
- package/dist/examples/DocsExamples.js.map +1 -1
- package/dist/internal/resolvers/resolveControlSize.d.ts +2 -2
- package/dist/internal/resolvers/resolveControlSize.d.ts.map +1 -1
- package/dist/internal/resolvers/resolveControlSize.js.map +1 -1
- package/dist/internal/resolvers/resolveIconSize.d.ts +2 -2
- package/dist/internal/resolvers/resolveIconSize.d.ts.map +1 -1
- package/dist/internal/resolvers/resolveIconSize.js.map +1 -1
- package/dist/internal/resolvers/resolveInteractiveColors.d.ts +3 -3
- package/dist/internal/resolvers/resolveInteractiveColors.d.ts.map +1 -1
- package/dist/internal/resolvers/resolveInteractiveColors.js.map +1 -1
- package/dist/internal/resolvers/resolveSelectionControlColors.d.ts +2 -2
- package/dist/internal/resolvers/resolveSelectionControlColors.d.ts.map +1 -1
- package/dist/internal/resolvers/resolveSelectionControlColors.js.map +1 -1
- package/dist/internal/resolvers/resolveTextColor.d.ts +3 -3
- package/dist/internal/resolvers/resolveTextColor.d.ts.map +1 -1
- package/dist/internal/resolvers/resolveTextColor.js.map +1 -1
- package/dist/internal/resolvers/resolveTextStyles.d.ts +3 -3
- package/dist/internal/resolvers/resolveTextStyles.d.ts.map +1 -1
- package/dist/internal/resolvers/resolveTextStyles.js.map +1 -1
- package/dist/internal/resolvers/resolveTone.d.ts +2 -2
- package/dist/internal/resolvers/resolveTone.d.ts.map +1 -1
- package/dist/internal/resolvers/resolveTone.js.map +1 -1
- package/dist/layout/Container.d.ts +2 -2
- package/dist/layout/Container.d.ts.map +1 -1
- package/dist/layout/Container.js.map +1 -1
- package/dist/layout/helpers.d.ts +9 -9
- package/dist/layout/helpers.d.ts.map +1 -1
- package/dist/layout/helpers.js.map +1 -1
- package/dist/primitives/heading/resolveHeadingStyle.d.ts +2 -2
- package/dist/primitives/heading/resolveHeadingStyle.d.ts.map +1 -1
- package/dist/primitives/heading/resolveHeadingStyle.js.map +1 -1
- package/dist/primitives/icon/Icon.d.ts +3 -3
- package/dist/primitives/icon/Icon.d.ts.map +1 -1
- package/dist/primitives/icon/Icon.js.map +1 -1
- package/dist/theme/ThemeContext.d.ts +3 -3
- package/dist/theme/ThemeContext.d.ts.map +1 -1
- package/dist/theme/ThemeContext.js.map +1 -1
- package/dist/theme/colorEngine.d.ts +10 -11
- package/dist/theme/colorEngine.d.ts.map +1 -1
- package/dist/theme/colorEngine.js +102 -412
- package/dist/theme/colorEngine.js.map +1 -1
- package/dist/theme/createTheme.d.ts +3 -3
- package/dist/theme/createTheme.d.ts.map +1 -1
- package/dist/theme/createTheme.js +2 -4
- package/dist/theme/createTheme.js.map +1 -1
- package/dist/theme/types.d.ts +5 -17
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme/types.js.map +1 -1
- package/package.json +4 -4
- package/src/examples/DocsExamples.tsx +0 -2
- package/src/internal/resolvers/resolveControlSize.ts +5 -2
- package/src/internal/resolvers/resolveIconSize.ts +2 -2
- package/src/internal/resolvers/resolveInteractiveColors.ts +3 -3
- package/src/internal/resolvers/resolveSelectionControlColors.ts +2 -2
- package/src/internal/resolvers/resolveTextColor.ts +3 -3
- package/src/internal/resolvers/resolveTextStyles.ts +6 -6
- package/src/internal/resolvers/resolveTone.ts +2 -2
- package/src/layout/Container.tsx +2 -2
- package/src/layout/helpers.test.ts +2 -2
- package/src/layout/helpers.ts +12 -9
- package/src/primitives/heading/resolveHeadingStyle.ts +2 -2
- package/src/primitives/icon/Icon.tsx +3 -3
- package/src/theme/ThemeContext.tsx +2 -2
- package/src/theme/colorEngine.test.ts +158 -154
- package/src/theme/colorEngine.ts +128 -477
- package/src/theme/createTheme.ts +6 -8
- package/src/theme/types.ts +15 -18
- package/src/utils/deepMerge.test.ts +0 -4
package/src/theme/createTheme.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { generatePalette } from './colorEngine';
|
|
2
|
-
import type {
|
|
2
|
+
import type { FontWeight, SurfaceTheme, ThemeConfig, ThemeTokens } from './types';
|
|
3
3
|
|
|
4
|
-
export const DEFAULT_TOKENS: Omit<ThemeTokens, 'colors' | '
|
|
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
|
-
):
|
|
99
|
-
const { colors,
|
|
96
|
+
): SurfaceTheme {
|
|
97
|
+
const { colors, swatches, semantics } = generatePalette(config, mode);
|
|
100
98
|
|
|
101
99
|
const theme = {
|
|
102
100
|
...DEFAULT_TOKENS,
|
|
103
|
-
colors: colors as
|
|
104
|
-
|
|
101
|
+
colors: colors as SurfaceTheme['colors'],
|
|
102
|
+
swatches,
|
|
105
103
|
semantics,
|
|
106
104
|
config,
|
|
107
105
|
};
|
package/src/theme/types.ts
CHANGED
|
@@ -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 {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
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
|
|
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
|
});
|