@codecademy/gamut-styles 20.0.3-alpha.984676.0 → 20.0.3-alpha.98696a.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.
@@ -34,17 +34,13 @@ 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<"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<Record<"breakpoints", {
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<Record<"breakpoints", {
48
44
  c_base: string;
49
45
  c_xs: string;
50
46
  c_sm: string;
@@ -124,18 +120,7 @@ export declare const adminTheme: Record<"breakpoints", {
124
120
  readonly base: "4rem";
125
121
  readonly md: "5rem";
126
122
  };
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;
123
+ readonly headerZ: 15;
139
124
  };
140
125
  } & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
141
126
  readonly beige: "#FFF0E5";
@@ -559,13 +544,7 @@ export declare const adminTheme: Record<"breakpoints", {
559
544
  }>, Record<"borders", import("@codecademy/variance").LiteralPaths<{
560
545
  1: string;
561
546
  2: string;
562
- }, "-">>>, 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, {
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, {
569
548
  colors: import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
570
549
  primary: {
571
550
  _: "blue-500";
@@ -15,17 +15,13 @@ 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<"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<Record<"breakpoints", {
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<Record<"breakpoints", {
29
25
  c_base: string;
30
26
  c_xs: string;
31
27
  c_sm: string;
@@ -105,18 +101,7 @@ export declare const coreTheme: Record<"breakpoints", {
105
101
  readonly base: "4rem";
106
102
  readonly md: "5rem";
107
103
  };
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;
104
+ readonly headerZ: 15;
120
105
  };
121
106
  } & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
122
107
  readonly beige: "#FFF0E5";
@@ -540,13 +525,7 @@ export declare const coreTheme: Record<"breakpoints", {
540
525
  }>, Record<"borders", import("@codecademy/variance").LiteralPaths<{
541
526
  1: string;
542
527
  2: string;
543
- }, "-">>>, 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;
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;
550
529
  export type CoreThemeShape = typeof coreTheme;
551
530
  export interface CoreTheme extends CoreThemeShape {
552
531
  }
@@ -1,5 +1,5 @@
1
1
  import { createTheme } from '@codecademy/variance';
2
- import { borderRadii, containerQueries, corePalette, elements, fontFamily, fontSize, fontWeight, lineHeight, mediaQueries, spacing, zIndexes } from '../variables';
2
+ import { borderRadii, containerQueries, 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
@@ -18,8 +18,7 @@ export const coreTheme = createTheme({
18
18
  lineHeight,
19
19
  fontWeight,
20
20
  spacing,
21
- elements,
22
- zIndexes
21
+ elements
23
22
  }).addColors(corePalette).addColorModes('light', {
24
23
  light: {
25
24
  text: {
@@ -130,4 +129,4 @@ export const coreTheme = createTheme({
130
129
  }) => ({
131
130
  1: `1px solid ${colors['border-primary']}`,
132
131
  2: `2px solid ${colors['border-primary']}`
133
- })).createScaleVariables('elements').createScaleVariables('zIndexes').addName('core').build();
132
+ })).createScaleVariables('elements').addName('core').build();
@@ -78,39 +78,18 @@ 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
- };
102
81
  elements: Record<"elements", import("@codecademy/variance").KeyAsVariable<{
103
82
  readonly headerHeight: {
104
83
  readonly base: "4rem";
105
84
  readonly md: "5rem";
106
85
  };
107
- readonly headerZ: 300;
86
+ readonly headerZ: 15;
108
87
  }, "elements">> & {
109
88
  readonly headerHeight: {
110
89
  readonly base: "4rem";
111
90
  readonly md: "5rem";
112
91
  };
113
- readonly headerZ: 300;
92
+ readonly headerZ: 15;
114
93
  };
115
94
  fontSize: {
116
95
  readonly 64: string;
@@ -141,8 +120,8 @@ export declare const lxStudioTheme: Record<"breakpoints", {
141
120
  readonly 64: string;
142
121
  readonly 96: string;
143
122
  };
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>;
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>;
146
125
  colors: import("@codecademy/variance/dist/createTheme/types").Assign<import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
147
126
  readonly beige: "#FFF0E5";
148
127
  readonly blue: "#1557FF";
@@ -62,39 +62,18 @@ 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
- };
86
65
  elements: Record<"elements", import("@codecademy/variance").KeyAsVariable<{
87
66
  readonly headerHeight: {
88
67
  readonly base: "4rem";
89
68
  readonly md: "5rem";
90
69
  };
91
- readonly headerZ: 300;
70
+ readonly headerZ: 15;
92
71
  }, "elements">> & {
93
72
  readonly headerHeight: {
94
73
  readonly base: "4rem";
95
74
  readonly md: "5rem";
96
75
  };
97
- readonly headerZ: 300;
76
+ readonly headerZ: 15;
98
77
  };
99
78
  borderRadii: {
100
79
  none: string;
@@ -133,8 +112,8 @@ export declare const percipioTheme: Record<"breakpoints", {
133
112
  readonly 64: string;
134
113
  readonly 96: string;
135
114
  };
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>;
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>;
138
117
  colors: import("@codecademy/variance/dist/createTheme/types").Assign<import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
139
118
  readonly beige: "#FFF0E5";
140
119
  readonly blue: "#1557FF";
@@ -50,17 +50,13 @@ 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<"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<Record<"breakpoints", {
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<Record<"breakpoints", {
64
60
  c_base: string;
65
61
  c_xs: string;
66
62
  c_sm: string;
@@ -140,18 +136,7 @@ export declare const platformTheme: Record<"breakpoints", {
140
136
  readonly base: "4rem";
141
137
  readonly md: "5rem";
142
138
  };
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;
139
+ readonly headerZ: 15;
155
140
  };
156
141
  } & import("@codecademy/variance/dist/createTheme/types").PrivateThemeKeys, Record<"colors", import("@codecademy/variance").KeyAsVariable<import("@codecademy/variance").LiteralPaths<{
157
142
  readonly beige: "#FFF0E5";
@@ -575,13 +560,7 @@ export declare const platformTheme: Record<"breakpoints", {
575
560
  }>, Record<"borders", import("@codecademy/variance").LiteralPaths<{
576
561
  1: string;
577
562
  2: string;
578
- }, "-">>>, 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<{
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<{
585
564
  readonly lightBeige: "#FFFBF8";
586
565
  readonly gold: "#8A7300";
587
566
  readonly teal: "#006D82";
@@ -4,9 +4,8 @@ export declare const elements: {
4
4
  readonly md: "5rem";
5
5
  };
6
6
  /**
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.
7
+ * Semi-arbitrary z-index for global page headers.
8
+ * @remarks PLEASE talk to web platform before adding new z-index constants!
10
9
  */
11
- readonly headerZ: 300;
10
+ readonly headerZ: 15;
12
11
  };
@@ -1,13 +1,11 @@
1
- import { zIndexes } from './zIndexes';
2
1
  export const elements = {
3
2
  headerHeight: {
4
3
  base: '4rem',
5
4
  md: '5rem'
6
5
  },
7
6
  /**
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.
7
+ * Semi-arbitrary z-index for global page headers.
8
+ * @remarks PLEASE talk to web platform before adding new z-index constants!
11
9
  */
12
- headerZ: zIndexes.appBar
10
+ headerZ: 15
13
11
  };
@@ -5,4 +5,3 @@ export * from './responsive';
5
5
  export * from './spacing';
6
6
  export * from './timing';
7
7
  export * from './typography';
8
- export * from './zIndexes';
@@ -4,5 +4,4 @@ export * from './elements';
4
4
  export * from './responsive';
5
5
  export * from './spacing';
6
6
  export * from './timing';
7
- export * from './typography';
8
- export * from './zIndexes';
7
+ export * from './typography';
@@ -450,9 +450,6 @@ export const positioning = {
450
450
  resolveProperty: getPropertyMode,
451
451
  transform: transformSize
452
452
  },
453
- // Intentionally unscaled: scaled variance props are token-only and reject raw numbers,
454
- // which would break the numeric escape hatch and Tip's z-index arithmetic. Use the numeric
455
- // `zIndexes` token object instead (e.g. zIndex={zIndexes.modal}).
456
453
  zIndex: {
457
454
  property: 'zIndex'
458
455
  },
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.0.3-alpha.984676.0",
4
+ "version": "20.0.3-alpha.98696a.0",
5
5
  "author": "Jake Hiller <jake@codecademy.com>",
6
6
  "dependencies": {
7
- "@codecademy/variance": "0.26.2-alpha.984676.0",
7
+ "@codecademy/variance": "0.26.2-alpha.98696a.0",
8
8
  "@emotion/is-prop-valid": "^1.1.0",
9
9
  "framer-motion": "^11.18.0",
10
10
  "get-nonce": "^1.0.0",
@@ -1,44 +0,0 @@
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` prop is intentionally left numeric/unscaled, and this object is numeric, so
6
- * tokens are used as `zIndex={zIndexes.modal}`. That preserves the escape hatch (a raw
7
- * in-between number, e.g. `zIndex={550}`) and arithmetic on tokens (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 declare const zIndexes: {
15
- /** Decorative layer behind content (underlines, backdrops, shadows). */
16
- readonly underlay: -100;
17
- /** Ground layer — establishes a local stacking context without lifting above siblings. */
18
- readonly 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
- readonly 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
- readonly floating: 200;
31
- /** Global app header / nav bar. Aliased by the legacy `elements.headerZ` constant. */
32
- readonly appBar: 300;
33
- /** Portaled side panel (the `Flyout` component = `Drawer` inside `Overlay`). */
34
- readonly flyout: 400;
35
- /** `Overlay`, `Modal`, and `Dialog` (they share one portal primitive). */
36
- readonly modal: 500;
37
- /** Portal-mode `Popover` and the portaled `SelectDropdown` menu — above modal. */
38
- readonly 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
- readonly topmost: 700;
44
- };
@@ -1,44 +0,0 @@
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` prop is intentionally left numeric/unscaled, and this object is numeric, so
6
- * tokens are used as `zIndex={zIndexes.modal}`. That preserves the escape hatch (a raw
7
- * in-between number, e.g. `zIndex={550}`) and arithmetic on tokens (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
- };