@codecademy/gamut-styles 21.2.1-alpha.d682ce.0 → 21.2.1-alpha.e40070.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.
@@ -350,6 +350,11 @@ export declare const providerProps: import("@codecademy/variance/dist/types/conf
350
350
  };
351
351
  readonly zIndex: {
352
352
  readonly property: "zIndex";
353
+ readonly scale: "zIndexes";
354
+ readonly allowRawValue: true;
355
+ };
356
+ readonly isolation: {
357
+ readonly property: "isolation";
353
358
  };
354
359
  readonly opacity: {
355
360
  readonly property: "opacity";
@@ -823,6 +828,9 @@ export declare const VariableProvider: import("@emotion/styled").StyledComponent
823
828
  readonly resolveProperty: (useLogicalProperties: boolean) => import("@codecademy/variance/dist/types/properties").PropertyMode;
824
829
  readonly transform: (value: string | number) => string | 0;
825
830
  }>;
831
+ isolation?: import("@codecademy/variance/dist/types/config").Scale<{
832
+ readonly property: "isolation";
833
+ }>;
826
834
  justifyContent?: import("@codecademy/variance/dist/types/config").Scale<{
827
835
  readonly property: "justifyContent";
828
836
  }>;
@@ -928,6 +936,8 @@ export declare const VariableProvider: import("@emotion/styled").StyledComponent
928
936
  }>;
929
937
  zIndex?: import("@codecademy/variance/dist/types/config").Scale<{
930
938
  readonly property: "zIndex";
939
+ readonly scale: "zIndexes";
940
+ readonly allowRawValue: true;
931
941
  }>;
932
942
  backgroundPosition?: import("@codecademy/variance/dist/types/config").Scale<{
933
943
  readonly property: "backgroundPosition";
@@ -1456,6 +1466,9 @@ export declare const ColorMode: import("react").ForwardRefExoticComponent<Omit<O
1456
1466
  readonly resolveProperty: (useLogicalProperties: boolean) => import("@codecademy/variance/dist/types/properties").PropertyMode;
1457
1467
  readonly transform: (value: string | number) => string | 0;
1458
1468
  }>;
1469
+ isolation?: import("@codecademy/variance/dist/types/config").Scale<{
1470
+ readonly property: "isolation";
1471
+ }>;
1459
1472
  justifyContent?: import("@codecademy/variance/dist/types/config").Scale<{
1460
1473
  readonly property: "justifyContent";
1461
1474
  }>;
@@ -1561,6 +1574,8 @@ export declare const ColorMode: import("react").ForwardRefExoticComponent<Omit<O
1561
1574
  }>;
1562
1575
  zIndex?: import("@codecademy/variance/dist/types/config").Scale<{
1563
1576
  readonly property: "zIndex";
1577
+ readonly scale: "zIndexes";
1578
+ readonly allowRawValue: true;
1564
1579
  }>;
1565
1580
  backgroundPosition?: import("@codecademy/variance/dist/types/config").Scale<{
1566
1581
  readonly property: "backgroundPosition";
@@ -34,13 +34,17 @@ export declare const adminTheme: Record<"breakpoints", {
34
34
  md: string;
35
35
  lg: string;
36
36
  xl: string;
37
- }> & import("@codecademy/variance/dist/createTheme/types").Merge<Record<"elements", Record<"elements", import("@codecademy/variance").KeyAsVariable<{
38
- readonly headerHeight: {
39
- readonly base: "4rem";
40
- readonly md: "5rem";
41
- };
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<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
37
+ }> & import("@codecademy/variance/dist/createTheme/types").Merge<Record<"zIndexes", Record<"zIndexes", import("@codecademy/variance").KeyAsVariable<{
38
+ readonly underlay: -100;
39
+ readonly base: 0;
40
+ readonly foreground: 100;
41
+ readonly floating: 200;
42
+ readonly appBar: 300;
43
+ readonly flyout: 400;
44
+ readonly modal: 500;
45
+ readonly popover: 600;
46
+ readonly topmost: 700;
47
+ }, "zIndexes">>> & 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<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
44
48
  c_base: string;
45
49
  c_xs: string;
46
50
  c_sm: string;
@@ -120,7 +124,18 @@ export declare const adminTheme: Record<"breakpoints", {
120
124
  readonly base: "4rem";
121
125
  readonly md: "5rem";
122
126
  };
123
- readonly headerZ: 15;
127
+ readonly headerZ: 300;
128
+ };
129
+ zIndexes: {
130
+ readonly underlay: -100;
131
+ readonly base: 0;
132
+ readonly foreground: 100;
133
+ readonly floating: 200;
134
+ readonly appBar: 300;
135
+ readonly flyout: 400;
136
+ readonly modal: 500;
137
+ readonly popover: 600;
138
+ readonly topmost: 700;
124
139
  };
125
140
  } & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
126
141
  readonly beige: "#FFF0E5";
@@ -544,7 +559,13 @@ export declare const adminTheme: Record<"breakpoints", {
544
559
  }>, Record<"borders", import("@codecademy/variance").LiteralPaths<{
545
560
  1: string;
546
561
  2: string;
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, {
562
+ }, "-">>>, Record<"elevation", import("@codecademy/variance").LiteralPaths<import("..").ElevationScale, "-">>>, import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"elements", Record<"elements", import("@codecademy/variance").KeyAsVariable<{
563
+ readonly headerHeight: {
564
+ readonly base: "4rem";
565
+ readonly md: "5rem";
566
+ };
567
+ readonly headerZ: 300;
568
+ }, "elements">>>>, 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
569
  colors: import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
549
570
  primary: {
550
571
  _: "blue-500";
@@ -15,13 +15,17 @@ export declare const coreTheme: Record<"breakpoints", {
15
15
  md: string;
16
16
  lg: string;
17
17
  xl: string;
18
- }> & import("@codecademy/variance/dist/createTheme/types").Merge<Record<"elements", Record<"elements", import("@codecademy/variance").KeyAsVariable<{
19
- readonly headerHeight: {
20
- readonly base: "4rem";
21
- readonly md: "5rem";
22
- };
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<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
18
+ }> & import("@codecademy/variance/dist/createTheme/types").Merge<Record<"zIndexes", Record<"zIndexes", import("@codecademy/variance").KeyAsVariable<{
19
+ readonly underlay: -100;
20
+ readonly base: 0;
21
+ readonly foreground: 100;
22
+ readonly floating: 200;
23
+ readonly appBar: 300;
24
+ readonly flyout: 400;
25
+ readonly modal: 500;
26
+ readonly popover: 600;
27
+ readonly topmost: 700;
28
+ }, "zIndexes">>> & 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<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
25
29
  c_base: string;
26
30
  c_xs: string;
27
31
  c_sm: string;
@@ -101,7 +105,18 @@ export declare const coreTheme: Record<"breakpoints", {
101
105
  readonly base: "4rem";
102
106
  readonly md: "5rem";
103
107
  };
104
- readonly headerZ: 15;
108
+ readonly headerZ: 300;
109
+ };
110
+ zIndexes: {
111
+ readonly underlay: -100;
112
+ readonly base: 0;
113
+ readonly foreground: 100;
114
+ readonly floating: 200;
115
+ readonly appBar: 300;
116
+ readonly flyout: 400;
117
+ readonly modal: 500;
118
+ readonly popover: 600;
119
+ readonly topmost: 700;
105
120
  };
106
121
  } & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
107
122
  readonly beige: "#FFF0E5";
@@ -525,7 +540,13 @@ export declare const coreTheme: Record<"breakpoints", {
525
540
  }>, Record<"borders", import("@codecademy/variance").LiteralPaths<{
526
541
  1: string;
527
542
  2: string;
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;
543
+ }, "-">>>, Record<"elevation", import("@codecademy/variance").LiteralPaths<import("../variables").ElevationScale, "-">>>, import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"elements", Record<"elements", import("@codecademy/variance").KeyAsVariable<{
544
+ readonly headerHeight: {
545
+ readonly base: "4rem";
546
+ readonly md: "5rem";
547
+ };
548
+ readonly headerZ: 300;
549
+ }, "elements">>>>, 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
550
  export type CoreThemeShape = typeof coreTheme;
530
551
  export interface CoreTheme extends CoreThemeShape {
531
552
  }
@@ -1,5 +1,5 @@
1
1
  import { createTheme } from '@codecademy/variance';
2
- import { borderRadii, containerQueries, coreElevation, corePalette, elements, fontFamily, fontSize, fontWeight, lineHeight, mediaQueries, spacing } from '../variables';
2
+ import { borderRadii, containerQueries, coreElevation, corePalette, elements, fontFamily, fontSize, fontWeight, lineHeight, mediaQueries, spacing, zIndexes } from '../variables';
3
3
 
4
4
  /**
5
5
  * @description This is the core theme that all other Codecademy themes are extended from
@@ -18,7 +18,8 @@ export const coreTheme = createTheme({
18
18
  lineHeight,
19
19
  fontWeight,
20
20
  spacing,
21
- elements
21
+ elements,
22
+ zIndexes
22
23
  }).addColors(corePalette).addColorModes('light', {
23
24
  light: {
24
25
  text: {
@@ -129,4 +130,4 @@ export const coreTheme = createTheme({
129
130
  }) => ({
130
131
  1: `1px solid ${colors['border-primary']}`,
131
132
  2: `2px solid ${colors['border-primary']}`
132
- })).addScale('elevation', coreElevation).createScaleVariables('elements').addName('core').build();
133
+ })).addScale('elevation', coreElevation).createScaleVariables('elements').createScaleVariables('zIndexes').addName('core').build();
@@ -78,18 +78,39 @@ export declare const lxStudioTheme: Record<"breakpoints", {
78
78
  lg: string;
79
79
  xl: string;
80
80
  };
81
+ zIndexes: Record<"zIndexes", import("@codecademy/variance").KeyAsVariable<{
82
+ readonly underlay: -100;
83
+ readonly base: 0;
84
+ readonly foreground: 100;
85
+ readonly floating: 200;
86
+ readonly appBar: 300;
87
+ readonly flyout: 400;
88
+ readonly modal: 500;
89
+ readonly popover: 600;
90
+ readonly topmost: 700;
91
+ }, "zIndexes">> & {
92
+ readonly underlay: -100;
93
+ readonly base: 0;
94
+ readonly foreground: 100;
95
+ readonly floating: 200;
96
+ readonly appBar: 300;
97
+ readonly flyout: 400;
98
+ readonly modal: 500;
99
+ readonly popover: 600;
100
+ readonly topmost: 700;
101
+ };
81
102
  elements: Record<"elements", import("@codecademy/variance").KeyAsVariable<{
82
103
  readonly headerHeight: {
83
104
  readonly base: "4rem";
84
105
  readonly md: "5rem";
85
106
  };
86
- readonly headerZ: 15;
107
+ readonly headerZ: 300;
87
108
  }, "elements">> & {
88
109
  readonly headerHeight: {
89
110
  readonly base: "4rem";
90
111
  readonly md: "5rem";
91
112
  };
92
- readonly headerZ: 15;
113
+ readonly headerZ: 300;
93
114
  };
94
115
  fontSize: {
95
116
  readonly 64: string;
@@ -120,8 +141,8 @@ export declare const lxStudioTheme: Record<"breakpoints", {
120
141
  readonly 64: string;
121
142
  readonly 96: string;
122
143
  };
123
- _variables: import("@codecademy/variance/dist/createTheme/types").Assign<Record<string, import("@codecademy/variance").CSSObject>, Record<string, import("@codecademy/variance").CSSObject>> & Record<string, import("@codecademy/variance").CSSObject>;
124
- _tokens: import("@codecademy/variance/dist/createTheme/types").Assign<Record<string | number, any>, Record<string | number, any>> & Record<string | number, any>;
144
+ _variables: import("@codecademy/variance/dist/createTheme/types").Assign<import("@codecademy/variance/dist/createTheme/types").Assign<Record<string, import("@codecademy/variance").CSSObject>, Record<string, import("@codecademy/variance").CSSObject>>, Record<string, import("@codecademy/variance").CSSObject>> & Record<string, import("@codecademy/variance").CSSObject>;
145
+ _tokens: import("@codecademy/variance/dist/createTheme/types").Assign<import("@codecademy/variance/dist/createTheme/types").Assign<Record<string | number, any>, Record<string | number, any>>, Record<string | number, any>> & Record<string | number, any>;
125
146
  colors: import("@codecademy/variance/dist/createTheme/types").Assign<import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
126
147
  readonly beige: "#FFF0E5";
127
148
  readonly blue: "#1557FF";
@@ -62,18 +62,39 @@ export declare const percipioTheme: Record<"breakpoints", {
62
62
  lg: string;
63
63
  xl: string;
64
64
  };
65
+ zIndexes: Record<"zIndexes", import("@codecademy/variance").KeyAsVariable<{
66
+ readonly underlay: -100;
67
+ readonly base: 0;
68
+ readonly foreground: 100;
69
+ readonly floating: 200;
70
+ readonly appBar: 300;
71
+ readonly flyout: 400;
72
+ readonly modal: 500;
73
+ readonly popover: 600;
74
+ readonly topmost: 700;
75
+ }, "zIndexes">> & {
76
+ readonly underlay: -100;
77
+ readonly base: 0;
78
+ readonly foreground: 100;
79
+ readonly floating: 200;
80
+ readonly appBar: 300;
81
+ readonly flyout: 400;
82
+ readonly modal: 500;
83
+ readonly popover: 600;
84
+ readonly topmost: 700;
85
+ };
65
86
  elements: Record<"elements", import("@codecademy/variance").KeyAsVariable<{
66
87
  readonly headerHeight: {
67
88
  readonly base: "4rem";
68
89
  readonly md: "5rem";
69
90
  };
70
- readonly headerZ: 15;
91
+ readonly headerZ: 300;
71
92
  }, "elements">> & {
72
93
  readonly headerHeight: {
73
94
  readonly base: "4rem";
74
95
  readonly md: "5rem";
75
96
  };
76
- readonly headerZ: 15;
97
+ readonly headerZ: 300;
77
98
  };
78
99
  borderRadii: {
79
100
  none: string;
@@ -112,8 +133,8 @@ export declare const percipioTheme: Record<"breakpoints", {
112
133
  readonly 64: string;
113
134
  readonly 96: string;
114
135
  };
115
- _variables: import("@codecademy/variance/dist/createTheme/types").Assign<Record<string, import("@codecademy/variance").CSSObject>, Record<string, import("@codecademy/variance").CSSObject>> & Record<string, import("@codecademy/variance").CSSObject>;
116
- _tokens: import("@codecademy/variance/dist/createTheme/types").Assign<Record<string | number, any>, Record<string | number, any>> & Record<string | number, any>;
136
+ _variables: import("@codecademy/variance/dist/createTheme/types").Assign<import("@codecademy/variance/dist/createTheme/types").Assign<Record<string, import("@codecademy/variance").CSSObject>, Record<string, import("@codecademy/variance").CSSObject>>, Record<string, import("@codecademy/variance").CSSObject>> & Record<string, import("@codecademy/variance").CSSObject>;
137
+ _tokens: import("@codecademy/variance/dist/createTheme/types").Assign<import("@codecademy/variance/dist/createTheme/types").Assign<Record<string | number, any>, Record<string | number, any>>, Record<string | number, any>> & Record<string | number, any>;
117
138
  colors: import("@codecademy/variance/dist/createTheme/types").Assign<import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
118
139
  readonly beige: "#FFF0E5";
119
140
  readonly blue: "#1557FF";
@@ -50,13 +50,17 @@ export declare const platformTheme: Record<"breakpoints", {
50
50
  md: string;
51
51
  lg: string;
52
52
  xl: string;
53
- }> & import("@codecademy/variance/dist/createTheme/types").Merge<Record<"elements", Record<"elements", import("@codecademy/variance").KeyAsVariable<{
54
- readonly headerHeight: {
55
- readonly base: "4rem";
56
- readonly md: "5rem";
57
- };
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<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
53
+ }> & import("@codecademy/variance/dist/createTheme/types").Merge<Record<"zIndexes", Record<"zIndexes", import("@codecademy/variance").KeyAsVariable<{
54
+ readonly underlay: -100;
55
+ readonly base: 0;
56
+ readonly foreground: 100;
57
+ readonly floating: 200;
58
+ readonly appBar: 300;
59
+ readonly flyout: 400;
60
+ readonly modal: 500;
61
+ readonly popover: 600;
62
+ readonly topmost: 700;
63
+ }, "zIndexes">>> & 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<import("@codecademy/variance/dist/createTheme/types").MergeTheme<Record<"breakpoints", {
60
64
  c_base: string;
61
65
  c_xs: string;
62
66
  c_sm: string;
@@ -136,7 +140,18 @@ export declare const platformTheme: Record<"breakpoints", {
136
140
  readonly base: "4rem";
137
141
  readonly md: "5rem";
138
142
  };
139
- readonly headerZ: 15;
143
+ readonly headerZ: 300;
144
+ };
145
+ zIndexes: {
146
+ readonly underlay: -100;
147
+ readonly base: 0;
148
+ readonly foreground: 100;
149
+ readonly floating: 200;
150
+ readonly appBar: 300;
151
+ readonly flyout: 400;
152
+ readonly modal: 500;
153
+ readonly popover: 600;
154
+ readonly topmost: 700;
140
155
  };
141
156
  } & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
142
157
  readonly beige: "#FFF0E5";
@@ -560,7 +575,13 @@ export declare const platformTheme: Record<"breakpoints", {
560
575
  }>, Record<"borders", import("@codecademy/variance").LiteralPaths<{
561
576
  1: string;
562
577
  2: string;
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<{
578
+ }, "-">>>, Record<"elevation", import("@codecademy/variance").LiteralPaths<import("../variables").ElevationScale, "-">>>, import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"elements", Record<"elements", import("@codecademy/variance").KeyAsVariable<{
579
+ readonly headerHeight: {
580
+ readonly base: "4rem";
581
+ readonly md: "5rem";
582
+ };
583
+ readonly headerZ: 300;
584
+ }, "elements">>>>, 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
585
  readonly lightBeige: "#FFFBF8";
565
586
  readonly gold: "#8A7300";
566
587
  readonly teal: "#006D82";
@@ -4,8 +4,9 @@ export declare const elements: {
4
4
  readonly md: "5rem";
5
5
  };
6
6
  /**
7
- * Semi-arbitrary z-index for global page headers.
8
- * @remarks PLEASE talk to web platform before adding new z-index constants!
7
+ * z-index for global page headers. Aliases the `appBar` token from the `zIndexes`
8
+ * scale so consumers still reading `elements.headerZ` stay in sync with the scale.
9
+ * Prefer `zIndex="appBar"` in new code.
9
10
  */
10
- readonly headerZ: 15;
11
+ readonly headerZ: 300;
11
12
  };
@@ -1,11 +1,13 @@
1
+ import { zIndexes } from './zIndexes';
1
2
  export const elements = {
2
3
  headerHeight: {
3
4
  base: '4rem',
4
5
  md: '5rem'
5
6
  },
6
7
  /**
7
- * Semi-arbitrary z-index for global page headers.
8
- * @remarks PLEASE talk to web platform before adding new z-index constants!
8
+ * z-index for global page headers. Aliases the `appBar` token from the `zIndexes`
9
+ * scale so consumers still reading `elements.headerZ` stay in sync with the scale.
10
+ * Prefer `zIndex="appBar"` in new code.
9
11
  */
10
- headerZ: 15
12
+ headerZ: zIndexes.appBar
11
13
  };
@@ -6,3 +6,4 @@ export * from './responsive';
6
6
  export * from './spacing';
7
7
  export * from './timing';
8
8
  export * from './typography';
9
+ export * from './zIndexes';
@@ -5,4 +5,5 @@ export * from './elevation';
5
5
  export * from './responsive';
6
6
  export * from './spacing';
7
7
  export * from './timing';
8
- export * from './typography';
8
+ export * from './typography';
9
+ export * from './zIndexes';
@@ -0,0 +1,53 @@
1
+ import { Globals } from 'csstype';
2
+ /**
3
+ * Semantic z-index scale. Every z-index in Gamut should reference a token here rather than a
4
+ * magic number.
5
+ *
6
+ * The `zIndex` system prop accepts a token name directly (e.g. `zIndex="modal"`), this object's
7
+ * numeric values (e.g. `zIndex={zIndexes.modal}`), a raw in-between number as an escape hatch
8
+ * (e.g. `zIndex={550}`), or arithmetic on a token (e.g. `zIndexes.foreground - 2`).
9
+ *
10
+ * Values are spaced by 100 so in-between escape-hatch numbers are available. `floating` (200) is
11
+ * the floor of the portal band and the default for `BodyPortal`.
12
+ *
13
+ * @remarks PLEASE talk to web platform before adding new z-index tokens.
14
+ */
15
+ export declare const zIndexes: {
16
+ /** Decorative layer behind content (underlines, backdrops, shadows). */
17
+ readonly underlay: -100;
18
+ /** Ground layer — establishes a local stacking context without lifting above siblings. */
19
+ readonly base: 0;
20
+ /**
21
+ * The raised in-flow layer: an element in front of what sits/scrolls behind it, but below
22
+ * all portal overlays. Covers content lifted above an `underlay` (e.g. text over its
23
+ * underline) and sticky content headers (e.g. a sticky table `thead`).
24
+ */
25
+ readonly foreground: 100;
26
+ /**
27
+ * Portal floor: the default for `BodyPortal`, and the layer for persistent floating page
28
+ * furniture at rest (e.g. an AI chat launcher, help bubble). Above page content, below the
29
+ * app nav and all overlays.
30
+ */
31
+ readonly floating: 200;
32
+ /** Global app header / nav bar. Aliased by the legacy `elements.headerZ` constant. */
33
+ readonly appBar: 300;
34
+ /** Portaled side panel (the `Flyout` component = `Drawer` inside `Overlay`). */
35
+ readonly flyout: 400;
36
+ /** `Overlay`, `Modal`, and `Dialog` (they share one portal primitive). */
37
+ readonly modal: 500;
38
+ /** Portal-mode `Popover` and the portaled `SelectDropdown` menu — above modal. */
39
+ readonly popover: 600;
40
+ /**
41
+ * Top-most transient overlays that must never be clipped: floating tooltips (`FloatingTip`)
42
+ * and toasts / notifications (`Toaster`). Highest layer — nothing in Gamut sits above it.
43
+ */
44
+ readonly topmost: 700;
45
+ };
46
+ /**
47
+ * A `zIndexes` token name (e.g. `'foreground'`), a raw number as an escape hatch
48
+ * (e.g. `550`, or `zIndexes.foreground + 1`), or a CSS global (`'initial'`, `'inherit'`, …).
49
+ * Use this for component `zIndex` props that forward to a `Box`-like `zIndex` system prop or
50
+ * `BodyPortal`. The scale still resolves token names to `var(--zIndexes-*)` at runtime; this
51
+ * type just also permits the numeric/global escape hatches the scale type alone would reject.
52
+ */
53
+ export type ZIndexType = keyof typeof zIndexes | number | Globals;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Semantic z-index scale. Every z-index in Gamut should reference a token here rather than a
3
+ * magic number.
4
+ *
5
+ * The `zIndex` system prop accepts a token name directly (e.g. `zIndex="modal"`), this object's
6
+ * numeric values (e.g. `zIndex={zIndexes.modal}`), a raw in-between number as an escape hatch
7
+ * (e.g. `zIndex={550}`), or arithmetic on a token (e.g. `zIndexes.foreground - 2`).
8
+ *
9
+ * Values are spaced by 100 so in-between escape-hatch numbers are available. `floating` (200) is
10
+ * the floor of the portal band and the default for `BodyPortal`.
11
+ *
12
+ * @remarks PLEASE talk to web platform before adding new z-index tokens.
13
+ */
14
+ export const zIndexes = {
15
+ /** Decorative layer behind content (underlines, backdrops, shadows). */
16
+ underlay: -100,
17
+ /** Ground layer — establishes a local stacking context without lifting above siblings. */
18
+ base: 0,
19
+ /**
20
+ * The raised in-flow layer: an element in front of what sits/scrolls behind it, but below
21
+ * all portal overlays. Covers content lifted above an `underlay` (e.g. text over its
22
+ * underline) and sticky content headers (e.g. a sticky table `thead`).
23
+ */
24
+ foreground: 100,
25
+ /**
26
+ * Portal floor: the default for `BodyPortal`, and the layer for persistent floating page
27
+ * furniture at rest (e.g. an AI chat launcher, help bubble). Above page content, below the
28
+ * app nav and all overlays.
29
+ */
30
+ floating: 200,
31
+ /** Global app header / nav bar. Aliased by the legacy `elements.headerZ` constant. */
32
+ appBar: 300,
33
+ /** Portaled side panel (the `Flyout` component = `Drawer` inside `Overlay`). */
34
+ flyout: 400,
35
+ /** `Overlay`, `Modal`, and `Dialog` (they share one portal primitive). */
36
+ modal: 500,
37
+ /** Portal-mode `Popover` and the portaled `SelectDropdown` menu — above modal. */
38
+ popover: 600,
39
+ /**
40
+ * Top-most transient overlays that must never be clipped: floating tooltips (`FloatingTip`)
41
+ * and toasts / notifications (`Toaster`). Highest layer — nothing in Gamut sits above it.
42
+ */
43
+ topmost: 700
44
+ };
45
+
46
+ /**
47
+ * A `zIndexes` token name (e.g. `'foreground'`), a raw number as an escape hatch
48
+ * (e.g. `550`, or `zIndexes.foreground + 1`), or a CSS global (`'initial'`, `'inherit'`, …).
49
+ * Use this for component `zIndex` props that forward to a `Box`-like `zIndex` system prop or
50
+ * `BodyPortal`. The scale still resolves token names to `var(--zIndexes-*)` at runtime; this
51
+ * type just also permits the numeric/global escape hatches the scale type alone would reject.
52
+ */
@@ -455,6 +455,11 @@ export declare const positioning: {
455
455
  };
456
456
  readonly zIndex: {
457
457
  readonly property: "zIndex";
458
+ readonly scale: "zIndexes";
459
+ readonly allowRawValue: true;
460
+ };
461
+ readonly isolation: {
462
+ readonly property: "isolation";
458
463
  };
459
464
  readonly opacity: {
460
465
  readonly property: "opacity";
@@ -1215,6 +1220,11 @@ export declare const all: {
1215
1220
  };
1216
1221
  zIndex: {
1217
1222
  readonly property: "zIndex";
1223
+ readonly scale: "zIndexes";
1224
+ readonly allowRawValue: true;
1225
+ };
1226
+ isolation: {
1227
+ readonly property: "isolation";
1218
1228
  };
1219
1229
  opacity: {
1220
1230
  readonly property: "opacity";
@@ -450,8 +450,19 @@ export const positioning = {
450
450
  resolveProperty: getPropertyMode,
451
451
  transform: transformSize
452
452
  },
453
+ // `scale: 'zIndexes'` resolves token names (e.g. `zIndex="modal"`) to `var(--zIndexes-*)`.
454
+ // `allowRawValue` keeps the numeric/global escape hatch (e.g. `zIndex={550}`,
455
+ // `zIndex={zIndexes.foreground + 1}`) that scaled props otherwise reject.
453
456
  zIndex: {
454
- property: 'zIndex'
457
+ property: 'zIndex',
458
+ scale: 'zIndexes',
459
+ allowRawValue: true
460
+ },
461
+ // Companion to `zIndex`, deliberately unscaled: `isolation: 'isolate'` establishes a local
462
+ // stacking context so descendant `zIndex` values are scoped to this element, without the
463
+ // `position` change or z-index lift that `position: relative` + a `zIndexes` token would add.
464
+ isolation: {
465
+ property: 'isolation'
455
466
  },
456
467
  opacity: {
457
468
  property: 'opacity'
@@ -324,6 +324,11 @@ export declare const positioning: import("@codecademy/variance/dist/types/config
324
324
  };
325
325
  readonly zIndex: {
326
326
  readonly property: "zIndex";
327
+ readonly scale: "zIndexes";
328
+ readonly allowRawValue: true;
329
+ };
330
+ readonly isolation: {
331
+ readonly property: "isolation";
327
332
  };
328
333
  readonly opacity: {
329
334
  readonly property: "opacity";
@@ -1218,6 +1223,11 @@ export declare const css: import("@codecademy/variance/dist/types/config").CSS<i
1218
1223
  };
1219
1224
  zIndex: {
1220
1225
  readonly property: "zIndex";
1226
+ readonly scale: "zIndexes";
1227
+ readonly allowRawValue: true;
1228
+ };
1229
+ isolation: {
1230
+ readonly property: "isolation";
1221
1231
  };
1222
1232
  opacity: {
1223
1233
  readonly property: "opacity";
@@ -1895,6 +1905,11 @@ export declare const variant: import("@codecademy/variance/dist/types/config").V
1895
1905
  };
1896
1906
  zIndex: {
1897
1907
  readonly property: "zIndex";
1908
+ readonly scale: "zIndexes";
1909
+ readonly allowRawValue: true;
1910
+ };
1911
+ isolation: {
1912
+ readonly property: "isolation";
1898
1913
  };
1899
1914
  opacity: {
1900
1915
  readonly property: "opacity";
@@ -2572,6 +2587,11 @@ export declare const states: import("@codecademy/variance/dist/types/config").St
2572
2587
  };
2573
2588
  zIndex: {
2574
2589
  readonly property: "zIndex";
2590
+ readonly scale: "zIndexes";
2591
+ readonly allowRawValue: true;
2592
+ };
2593
+ isolation: {
2594
+ readonly property: "isolation";
2575
2595
  };
2576
2596
  opacity: {
2577
2597
  readonly property: "opacity";
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": "21.2.1-alpha.d682ce.0",
4
+ "version": "21.2.1-alpha.e40070.0",
5
5
  "author": "Jake Hiller <jake@codecademy.com>",
6
6
  "dependencies": {
7
- "@codecademy/variance": "1.1.1-alpha.d682ce.0",
7
+ "@codecademy/variance": "1.1.1-alpha.e40070.0",
8
8
  "@emotion/is-prop-valid": "^1.1.0",
9
9
  "framer-motion": "^12.0.0",
10
10
  "get-nonce": "^1.0.0",