@codecademy/gamut-styles 20.1.0 → 20.1.1-alpha.0858b0.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/dist/themes/admin.d.ts +4 -4
- package/dist/themes/core.d.ts +2 -2
- package/dist/themes/core.js +2 -2
- package/dist/themes/lxStudio.d.ts +2 -1
- package/dist/themes/percipio.d.ts +4 -3
- package/dist/themes/percipio.js +2 -2
- package/dist/themes/platform.d.ts +4 -4
- package/dist/variables/elevation.d.ts +39 -0
- package/dist/variables/elevation.js +68 -0
- package/dist/variables/index.d.ts +1 -0
- package/dist/variables/index.js +1 -0
- package/package.json +2 -2
package/dist/themes/admin.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare const adminTheme: Record<"breakpoints", {
|
|
|
40
40
|
readonly md: "5rem";
|
|
41
41
|
};
|
|
42
42
|
readonly headerZ: 15;
|
|
43
|
-
}, "elements">>> & import("@codecademy/variance/dist/createTheme/types").Merge<import("@codecademy/variance/dist/createTheme/types").MergeTheme<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
|
|
43
|
+
}, "elements">>> & import("@codecademy/variance/dist/createTheme/types").Merge<import("@codecademy/variance/dist/createTheme/types").MergeTheme<import("@codecademy/variance/dist/createTheme/types").MergeTheme<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
|
|
44
44
|
c_base: string;
|
|
45
45
|
c_xs: string;
|
|
46
46
|
c_sm: string;
|
|
@@ -544,7 +544,7 @@ export declare const adminTheme: Record<"breakpoints", {
|
|
|
544
544
|
}>, Record<"borders", import("@codecademy/variance").LiteralPaths<{
|
|
545
545
|
1: string;
|
|
546
546
|
2: string;
|
|
547
|
-
}, "-">>>, import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"name", string>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, {
|
|
547
|
+
}, "-">>>, Record<"elevation", import("@codecademy/variance").LiteralPaths<import("..").ElevationScale, "-">>>, import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"name", string>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, {
|
|
548
548
|
colors: import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
|
|
549
549
|
primary: {
|
|
550
550
|
_: "blue-500";
|
|
@@ -914,7 +914,7 @@ export declare const adminTheme: Record<"breakpoints", {
|
|
|
914
914
|
}, "-", "_">;
|
|
915
915
|
}>;
|
|
916
916
|
mode: "light" | "dark";
|
|
917
|
-
_getColorValue: (color: import("@codecademy/variance").Path<{
|
|
917
|
+
_getColorValue: (color: "shadow-primary" | "shadow-secondary" | import("@codecademy/variance").Path<{
|
|
918
918
|
readonly beige: "#FFF0E5";
|
|
919
919
|
readonly blue: "#1557FF";
|
|
920
920
|
readonly green: "#008A27";
|
|
@@ -983,7 +983,7 @@ export declare const adminTheme: Record<"breakpoints", {
|
|
|
983
983
|
readonly "white-200": string;
|
|
984
984
|
readonly "white-600": string;
|
|
985
985
|
readonly "white-700": string;
|
|
986
|
-
}, "-"> | "text" | "secondary" | "background" | "primary" | "danger" | "interface" | "border-primary" | "text-accent" | "text-disabled" | "text-secondary" | "secondary-hover" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-primary" | "background-selected" | "background-hover" | "primary-hover" | "primary-inverse" | "
|
|
986
|
+
}, "-"> | "text" | "secondary" | "background" | "primary" | "danger" | "interface" | "border-primary" | "text-accent" | "text-disabled" | "text-secondary" | "secondary-hover" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-primary" | "background-selected" | "background-hover" | "primary-hover" | "primary-inverse" | "danger-hover" | "interface-hover" | "border-disabled" | "border-secondary" | "border-tertiary") => string;
|
|
987
987
|
}> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"name", string>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys;
|
|
988
988
|
export type AdminThemeShape = typeof adminTheme;
|
|
989
989
|
export interface AdminTheme extends AdminThemeShape {
|
package/dist/themes/core.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export declare const coreTheme: Record<"breakpoints", {
|
|
|
21
21
|
readonly md: "5rem";
|
|
22
22
|
};
|
|
23
23
|
readonly headerZ: 15;
|
|
24
|
-
}, "elements">>> & import("@codecademy/variance/dist/createTheme/types").Merge<import("@codecademy/variance/dist/createTheme/types").MergeTheme<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
|
|
24
|
+
}, "elements">>> & import("@codecademy/variance/dist/createTheme/types").Merge<import("@codecademy/variance/dist/createTheme/types").MergeTheme<import("@codecademy/variance/dist/createTheme/types").MergeTheme<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
|
|
25
25
|
c_base: string;
|
|
26
26
|
c_xs: string;
|
|
27
27
|
c_sm: string;
|
|
@@ -525,7 +525,7 @@ export declare const coreTheme: Record<"breakpoints", {
|
|
|
525
525
|
}>, Record<"borders", import("@codecademy/variance").LiteralPaths<{
|
|
526
526
|
1: string;
|
|
527
527
|
2: string;
|
|
528
|
-
}, "-">>>, import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"name", string>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys;
|
|
528
|
+
}, "-">>>, Record<"elevation", import("@codecademy/variance").LiteralPaths<import("../variables").ElevationScale, "-">>>, import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"name", string>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys;
|
|
529
529
|
export type CoreThemeShape = typeof coreTheme;
|
|
530
530
|
export interface CoreTheme extends CoreThemeShape {
|
|
531
531
|
}
|
package/dist/themes/core.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createTheme } from '@codecademy/variance';
|
|
2
|
-
import { borderRadii, containerQueries, corePalette, elements, fontFamily, fontSize, fontWeight, lineHeight, mediaQueries, spacing } from '../variables';
|
|
2
|
+
import { borderRadii, containerQueries, coreElevation, corePalette, elements, fontFamily, fontSize, fontWeight, lineHeight, mediaQueries, spacing } from '../variables';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @description This is the core theme that all other Codecademy themes are extended from
|
|
@@ -129,4 +129,4 @@ export const coreTheme = createTheme({
|
|
|
129
129
|
}) => ({
|
|
130
130
|
1: `1px solid ${colors['border-primary']}`,
|
|
131
131
|
2: `2px solid ${colors['border-primary']}`
|
|
132
|
-
})).createScaleVariables('elements').addName('core').build();
|
|
132
|
+
})).addScale('elevation', coreElevation).createScaleVariables('elements').addName('core').build();
|
|
@@ -544,6 +544,7 @@ export declare const lxStudioTheme: Record<"breakpoints", {
|
|
|
544
544
|
1: string;
|
|
545
545
|
2: string;
|
|
546
546
|
}, "-">;
|
|
547
|
+
elevation: import("@codecademy/variance").LiteralPaths<import("../variables").ElevationScale, "-">;
|
|
547
548
|
name: string;
|
|
548
549
|
} & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
|
|
549
550
|
lxStudioSuccess: "#06844F";
|
|
@@ -1086,7 +1087,7 @@ export declare const lxStudioTheme: Record<"breakpoints", {
|
|
|
1086
1087
|
}, "-", "_">;
|
|
1087
1088
|
}>;
|
|
1088
1089
|
mode: "light";
|
|
1089
|
-
_getColorValue: (color: "beige" | "blue" | "navy" | "green" | "yellow" | "pink" | "red" | "orange" | "hyper" | "white" | "beige-100" | "blue-0" | "blue-100" | "blue-300" | "blue-400" | "blue-500" | "blue-800" | "navy-100" | "navy-300" | "navy-400" | "navy-500" | "navy-800" | "navy-200" | "navy-600" | "navy-700" | "navy-900" | "green-0" | "green-100" | "green-400" | "green-700" | "green-900" | "yellow-0" | "yellow-400" | "yellow-500" | "yellow-900" | "pink-0" | "pink-400" | "red-0" | "red-300" | "red-400" | "red-500" | "red-600" | "red-900" | "orange-100" | "orange-500" | "hyper-400" | "hyper-500" | "gray-100" | "gray-300" | "gray-800" | "gray-200" | "gray-600" | "gray-900" | "white-100" | "white-300" | "white-400" | "white-500" | "white-200" | "white-600" | "white-700" | "lightBlue" | "lightGreen" | "paleBlue" | "paleGreen" | "palePink" | "paleYellow" | "paleRed" | "black" | "text" | "secondary" | "background" | "primary" | "danger" | "interface" | "border-primary" | "text-accent" | "text-disabled" | "text-secondary" | "secondary-hover" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-primary" | "background-selected" | "background-hover" | "primary-hover" | "primary-inverse" | "
|
|
1090
|
+
_getColorValue: (color: "beige" | "blue" | "navy" | "green" | "yellow" | "pink" | "red" | "orange" | "hyper" | "white" | "beige-100" | "blue-0" | "blue-100" | "blue-300" | "blue-400" | "blue-500" | "blue-800" | "navy-100" | "navy-300" | "navy-400" | "navy-500" | "navy-800" | "navy-200" | "navy-600" | "navy-700" | "navy-900" | "green-0" | "green-100" | "green-400" | "green-700" | "green-900" | "yellow-0" | "yellow-400" | "yellow-500" | "yellow-900" | "pink-0" | "pink-400" | "red-0" | "red-300" | "red-400" | "red-500" | "red-600" | "red-900" | "orange-100" | "orange-500" | "hyper-400" | "hyper-500" | "gray-100" | "gray-300" | "gray-800" | "gray-200" | "gray-600" | "gray-900" | "white-100" | "white-300" | "white-400" | "white-500" | "white-200" | "white-600" | "white-700" | "shadow-primary" | "shadow-secondary" | "lightBlue" | "lightGreen" | "paleBlue" | "paleGreen" | "palePink" | "paleYellow" | "paleRed" | "black" | "text" | "secondary" | "background" | "primary" | "danger" | "interface" | "border-primary" | "text-accent" | "text-disabled" | "text-secondary" | "secondary-hover" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-primary" | "background-selected" | "background-hover" | "primary-hover" | "primary-inverse" | "danger-hover" | "interface-hover" | "border-disabled" | "border-secondary" | "border-tertiary" | "lxStudioSuccess" | "lxStudioBgPrimary" | "sapphire") => string;
|
|
1090
1091
|
}> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"name", string>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys;
|
|
1091
1092
|
export type LxStudioThemeShape = typeof lxStudioTheme;
|
|
1092
1093
|
export type LxStudioTheme = LxStudioThemeShape;
|
|
@@ -22,7 +22,7 @@ export declare const percipioTheme: Record<"breakpoints", {
|
|
|
22
22
|
md: string;
|
|
23
23
|
lg: string;
|
|
24
24
|
xl: string;
|
|
25
|
-
}> & import("@codecademy/variance/dist/createTheme/types").Merge<Record<"breakpoints", {
|
|
25
|
+
}> & import("@codecademy/variance/dist/createTheme/types").Merge<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
|
|
26
26
|
c_base: string;
|
|
27
27
|
c_xs: string;
|
|
28
28
|
c_sm: string;
|
|
@@ -536,6 +536,7 @@ export declare const percipioTheme: Record<"breakpoints", {
|
|
|
536
536
|
1: string;
|
|
537
537
|
2: string;
|
|
538
538
|
}, "-">;
|
|
539
|
+
elevation: import("@codecademy/variance").LiteralPaths<import("../variables").ElevationScale, "-">;
|
|
539
540
|
name: string;
|
|
540
541
|
} & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
|
|
541
542
|
percipioTextPrimary: "#222325";
|
|
@@ -1148,8 +1149,8 @@ export declare const percipioTheme: Record<"breakpoints", {
|
|
|
1148
1149
|
}, "-", "_">;
|
|
1149
1150
|
}>;
|
|
1150
1151
|
mode: "light";
|
|
1151
|
-
_getColorValue: (color: "beige" | "blue" | "navy" | "green" | "yellow" | "pink" | "red" | "orange" | "hyper" | "white" | "beige-100" | "blue-0" | "blue-100" | "blue-300" | "blue-400" | "blue-500" | "blue-800" | "navy-100" | "navy-300" | "navy-400" | "navy-500" | "navy-800" | "navy-200" | "navy-600" | "navy-700" | "navy-900" | "green-0" | "green-100" | "green-400" | "green-700" | "green-900" | "yellow-0" | "yellow-400" | "yellow-500" | "yellow-900" | "pink-0" | "pink-400" | "red-0" | "red-300" | "red-400" | "red-500" | "red-600" | "red-900" | "orange-100" | "orange-500" | "hyper-400" | "hyper-500" | "gray-100" | "gray-300" | "gray-800" | "gray-200" | "gray-600" | "gray-900" | "white-100" | "white-300" | "white-400" | "white-500" | "white-200" | "white-600" | "white-700" | "lightBlue" | "lightGreen" | "paleBlue" | "paleGreen" | "palePink" | "paleYellow" | "paleRed" | "black" | "text" | "secondary" | "background" | "primary" | "danger" | "interface" | "border-primary" | "text-accent" | "text-disabled" | "text-secondary" | "secondary-hover" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-primary" | "background-selected" | "background-hover" | "primary-hover" | "primary-inverse" | "
|
|
1152
|
-
}
|
|
1152
|
+
_getColorValue: (color: "beige" | "blue" | "navy" | "green" | "yellow" | "pink" | "red" | "orange" | "hyper" | "white" | "beige-100" | "blue-0" | "blue-100" | "blue-300" | "blue-400" | "blue-500" | "blue-800" | "navy-100" | "navy-300" | "navy-400" | "navy-500" | "navy-800" | "navy-200" | "navy-600" | "navy-700" | "navy-900" | "green-0" | "green-100" | "green-400" | "green-700" | "green-900" | "yellow-0" | "yellow-400" | "yellow-500" | "yellow-900" | "pink-0" | "pink-400" | "red-0" | "red-300" | "red-400" | "red-500" | "red-600" | "red-900" | "orange-100" | "orange-500" | "hyper-400" | "hyper-500" | "gray-100" | "gray-300" | "gray-800" | "gray-200" | "gray-600" | "gray-900" | "white-100" | "white-300" | "white-400" | "white-500" | "white-200" | "white-600" | "white-700" | "shadow-primary" | "shadow-secondary" | "lightBlue" | "lightGreen" | "paleBlue" | "paleGreen" | "palePink" | "paleYellow" | "paleRed" | "black" | "text" | "secondary" | "background" | "primary" | "danger" | "interface" | "border-primary" | "text-accent" | "text-disabled" | "text-secondary" | "secondary-hover" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-primary" | "background-selected" | "background-hover" | "primary-hover" | "primary-inverse" | "danger-hover" | "interface-hover" | "border-disabled" | "border-secondary" | "border-tertiary" | "sapphire" | "percipioTextPrimary" | "percipioTextSecondary" | "percipioTextDisabled" | "percipioTextAccent" | "percipioBgPrimary" | "percipioBgSuccess" | "percipioBgWarning" | "percipioBgError" | "percipioActionPrimaryHover" | "percipioActionSecondary" | "percipioActionSecondaryHover" | "percipioActionDangerHover" | "percipioFeedbackSuccess" | "percipioFeedbackWarning" | "percipioDanger") => string;
|
|
1153
|
+
}>, Record<"elevation", import("@codecademy/variance").LiteralPaths<import("../variables").ElevationScale, "-">>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"name", string>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys;
|
|
1153
1154
|
export type PercipioThemeShape = typeof percipioTheme;
|
|
1154
1155
|
export interface PercipioTheme extends PercipioThemeShape {
|
|
1155
1156
|
}
|
package/dist/themes/percipio.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createTheme } from '@codecademy/variance';
|
|
2
|
-
import { fontWeightMediumTitle, percipioFontFamily, percipioPalette } from '../variables';
|
|
2
|
+
import { fontWeightMediumTitle, percipioElevation, percipioFontFamily, percipioPalette } from '../variables';
|
|
3
3
|
import { coreTheme } from './core';
|
|
4
4
|
export const percipioTheme = createTheme({
|
|
5
5
|
...coreTheme,
|
|
@@ -53,4 +53,4 @@ export const percipioTheme = createTheme({
|
|
|
53
53
|
disabled: 'navy-300'
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
}).addName('percipio').build();
|
|
56
|
+
}).addScale('elevation', percipioElevation).addName('percipio').build();
|
|
@@ -56,7 +56,7 @@ export declare const platformTheme: Record<"breakpoints", {
|
|
|
56
56
|
readonly md: "5rem";
|
|
57
57
|
};
|
|
58
58
|
readonly headerZ: 15;
|
|
59
|
-
}, "elements">>> & import("@codecademy/variance/dist/createTheme/types").Merge<import("@codecademy/variance/dist/createTheme/types").MergeTheme<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
|
|
59
|
+
}, "elements">>> & import("@codecademy/variance/dist/createTheme/types").Merge<import("@codecademy/variance/dist/createTheme/types").MergeTheme<import("@codecademy/variance/dist/createTheme/types").MergeTheme<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
|
|
60
60
|
c_base: string;
|
|
61
61
|
c_xs: string;
|
|
62
62
|
c_sm: string;
|
|
@@ -560,7 +560,7 @@ export declare const platformTheme: Record<"breakpoints", {
|
|
|
560
560
|
}>, Record<"borders", import("@codecademy/variance").LiteralPaths<{
|
|
561
561
|
1: string;
|
|
562
562
|
2: string;
|
|
563
|
-
}, "-">>>, import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"name", string>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
|
|
563
|
+
}, "-">>>, Record<"elevation", import("@codecademy/variance").LiteralPaths<import("../variables").ElevationScale, "-">>>, import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"name", string>> & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
|
|
564
564
|
readonly lightBeige: "#FFFBF8";
|
|
565
565
|
readonly gold: "#8A7300";
|
|
566
566
|
readonly teal: "#006D82";
|
|
@@ -1084,7 +1084,7 @@ export declare const platformTheme: Record<"breakpoints", {
|
|
|
1084
1084
|
}, "-", "_">;
|
|
1085
1085
|
}>;
|
|
1086
1086
|
mode: "light" | "dark";
|
|
1087
|
-
_getColorValue: (color: import("@codecademy/variance").Path<{
|
|
1087
|
+
_getColorValue: (color: "shadow-primary" | "shadow-secondary" | import("@codecademy/variance").Path<{
|
|
1088
1088
|
readonly beige: "#FFF0E5";
|
|
1089
1089
|
readonly blue: "#1557FF";
|
|
1090
1090
|
readonly green: "#008A27";
|
|
@@ -1153,7 +1153,7 @@ export declare const platformTheme: Record<"breakpoints", {
|
|
|
1153
1153
|
readonly "white-200": string;
|
|
1154
1154
|
readonly "white-600": string;
|
|
1155
1155
|
readonly "white-700": string;
|
|
1156
|
-
}, "-"> | "text" | "secondary" | "background" | "primary" | "danger" | "interface" | "border-primary" | "text-accent" | "text-disabled" | "text-secondary" | "secondary-hover" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-primary" | "background-selected" | "background-hover" | "primary-hover" | "primary-inverse" | "
|
|
1156
|
+
}, "-"> | "text" | "secondary" | "background" | "primary" | "danger" | "interface" | "border-primary" | "text-accent" | "text-disabled" | "text-secondary" | "secondary-hover" | "feedback-error" | "feedback-success" | "feedback-warning" | "background-disabled" | "background-error" | "background-success" | "background-warning" | "background-contrast" | "background-current" | "background-primary" | "background-selected" | "background-hover" | "primary-hover" | "primary-inverse" | "danger-hover" | "interface-hover" | "border-disabled" | "border-secondary" | "border-tertiary" | import("@codecademy/variance").Path<{
|
|
1157
1157
|
readonly lightBeige: "#FFFBF8";
|
|
1158
1158
|
readonly gold: "#8A7300";
|
|
1159
1159
|
readonly teal: "#006D82";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
type ThemeColors = Record<string, string>;
|
|
2
|
+
/**
|
|
3
|
+
* The visual treatment of a surface at a single elevation state.
|
|
4
|
+
* These are type aliases rather than interfaces so they keep the implicit
|
|
5
|
+
* index signatures `addScale`'s constraint requires.
|
|
6
|
+
*/
|
|
7
|
+
export type ElevationStateStyles = {
|
|
8
|
+
shadow: string;
|
|
9
|
+
transform: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* State keys are camelCase: variance's `LiteralPaths` splits token paths on
|
|
13
|
+
* `-`, so a hyphenated key like `hover-mirrored` would resolve to `never` and
|
|
14
|
+
* drop out of the theme type. `hoverMirrored` is for surfaces that cast their
|
|
15
|
+
* shadow to the opposite side (e.g. Card's `patternRight` shadow).
|
|
16
|
+
*/
|
|
17
|
+
export type ElevationScale = {
|
|
18
|
+
rest: ElevationStateStyles;
|
|
19
|
+
hover: ElevationStateStyles;
|
|
20
|
+
hoverMirrored: ElevationStateStyles;
|
|
21
|
+
};
|
|
22
|
+
export type ElevationState = keyof ElevationScale;
|
|
23
|
+
/**
|
|
24
|
+
* Elevation scales describe how a surface renders shadow and lift at rest and
|
|
25
|
+
* on hover. Each theme provides its own scale via
|
|
26
|
+
* `.addScale('elevation', ...)`, which passes in that theme's `colors` — so
|
|
27
|
+
* `colors['shadow-primary']` resolves per theme and per color mode without
|
|
28
|
+
* this file ever importing a theme (which would be a circular dependency).
|
|
29
|
+
*
|
|
30
|
+
* The shared return type guarantees every theme emits the same elevation
|
|
31
|
+
* tokens, so lookups like `theme.elevation['hover-shadow']` are safe under
|
|
32
|
+
* any theme.
|
|
33
|
+
*/
|
|
34
|
+
export type ElevationScaleFactory = (theme: {
|
|
35
|
+
colors: ThemeColors;
|
|
36
|
+
}) => ElevationScale;
|
|
37
|
+
export declare const coreElevation: ElevationScaleFactory;
|
|
38
|
+
export declare const percipioElevation: ElevationScaleFactory;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The visual treatment of a surface at a single elevation state.
|
|
3
|
+
* These are type aliases rather than interfaces so they keep the implicit
|
|
4
|
+
* index signatures `addScale`'s constraint requires.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* State keys are camelCase: variance's `LiteralPaths` splits token paths on
|
|
9
|
+
* `-`, so a hyphenated key like `hover-mirrored` would resolve to `never` and
|
|
10
|
+
* drop out of the theme type. `hoverMirrored` is for surfaces that cast their
|
|
11
|
+
* shadow to the opposite side (e.g. Card's `patternRight` shadow).
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Elevation scales describe how a surface renders shadow and lift at rest and
|
|
16
|
+
* on hover. Each theme provides its own scale via
|
|
17
|
+
* `.addScale('elevation', ...)`, which passes in that theme's `colors` — so
|
|
18
|
+
* `colors['shadow-primary']` resolves per theme and per color mode without
|
|
19
|
+
* this file ever importing a theme (which would be a circular dependency).
|
|
20
|
+
*
|
|
21
|
+
* The shared return type guarantees every theme emits the same elevation
|
|
22
|
+
* tokens, so lookups like `theme.elevation['hover-shadow']` are safe under
|
|
23
|
+
* any theme.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
export const coreElevation = ({
|
|
27
|
+
colors
|
|
28
|
+
}) => {
|
|
29
|
+
const shadowPrimary = colors['shadow-primary'];
|
|
30
|
+
const offset = 8;
|
|
31
|
+
const lift = 4;
|
|
32
|
+
const shadow = x => `${x}px ${offset}px 0 0 ${shadowPrimary}`;
|
|
33
|
+
return {
|
|
34
|
+
rest: {
|
|
35
|
+
shadow: `0 0 0 0 ${shadowPrimary}`,
|
|
36
|
+
transform: 'none'
|
|
37
|
+
},
|
|
38
|
+
hover: {
|
|
39
|
+
shadow: shadow(-offset),
|
|
40
|
+
transform: `translate(${lift}px, -${lift}px)`
|
|
41
|
+
},
|
|
42
|
+
hoverMirrored: {
|
|
43
|
+
shadow: shadow(offset),
|
|
44
|
+
transform: `translate(-${lift}px, -${lift}px)`
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export const percipioElevation = ({
|
|
49
|
+
colors
|
|
50
|
+
}) => {
|
|
51
|
+
const shadowPrimary = colors['shadow-primary'];
|
|
52
|
+
const shadowSecondary = colors['shadow-secondary'];
|
|
53
|
+
const hover = `0 1px 4px 0 ${shadowPrimary}, 0 2px 11px 0 ${shadowSecondary}`;
|
|
54
|
+
return {
|
|
55
|
+
rest: {
|
|
56
|
+
shadow: `0 1px 4px 0 ${shadowPrimary}, 0 2px 7px 0 ${shadowPrimary}`,
|
|
57
|
+
transform: 'none'
|
|
58
|
+
},
|
|
59
|
+
hover: {
|
|
60
|
+
shadow: hover,
|
|
61
|
+
transform: 'none'
|
|
62
|
+
},
|
|
63
|
+
hoverMirrored: {
|
|
64
|
+
shadow: hover,
|
|
65
|
+
transform: 'none'
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
};
|
package/dist/variables/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codecademy/gamut-styles",
|
|
3
3
|
"description": "Styleguide & Component library for codecademy.com",
|
|
4
|
-
"version": "20.1.0",
|
|
4
|
+
"version": "20.1.1-alpha.0858b0.0",
|
|
5
5
|
"author": "Jake Hiller <jake@codecademy.com>",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@codecademy/variance": "0.26.
|
|
7
|
+
"@codecademy/variance": "0.26.2-alpha.0858b0.0",
|
|
8
8
|
"@emotion/is-prop-valid": "^1.1.0",
|
|
9
9
|
"framer-motion": "^11.18.0",
|
|
10
10
|
"get-nonce": "^1.0.0",
|