11import  type  { Experimental }  from  '../../types' ; 
2+ import  { createVarName }  from  '../../utilities' ; 
23import  type  { MetaTokenProperties }  from  '../types' ; 
34
45type  ShadowAliasExperimental  =  Experimental < 
@@ -18,7 +19,26 @@ type ShadowAliasExperimental = Experimental<
1819  |  'border-inset' 
1920> ; 
2021
22+ export  type  ShadowScale  =  '0'  |  '100'  |  '200'  |  '300'  |  '400'  |  '500'  |  '600' ; 
23+ 
24+ export  type  ShadowBevelScale  =  '100' ; 
25+ 
26+ export  type  ShadowInsetScale  =  '100'  |  '200' ; 
27+ 
2128export  type  ShadowAlias  = 
29+   |  'button' 
30+   |  'button-hover' 
31+   |  'button-inset' 
32+   |  'button-primary' 
33+   |  'button-primary-hover' 
34+   |  'button-primary-inset' 
35+   |  'button-primary-critical' 
36+   |  'button-primary-critical-hover' 
37+   |  'button-primary-critical-inset' 
38+   |  'button-primary-success' 
39+   |  'button-primary-success-hover' 
40+   |  'button-primary-success-inset' 
41+   |  'border-inset' 
2242  |  'inset-lg' 
2343  |  'inset-md' 
2444  |  'inset-sm' 
@@ -31,7 +51,12 @@ export type ShadowAlias =
3151  |  '2xl' 
3252  |  ShadowAliasExperimental ; 
3353
34- export  type  ShadowTokenName  =  `shadow-${ShadowAlias } `; 
54+ export  type  ShadowAliasOrScale  =  ShadowAlias  |  ShadowScale ; 
55+ 
56+ export  type  ShadowTokenName  = 
57+   |  `shadow-${ShadowAliasOrScale } `
58+   |  `shadow-bevel-${ShadowBevelScale } `
59+   |  `shadow-inset-${ShadowInsetScale } `; 
3560
3661export  type  ShadowTokenGroup  =  { 
3762  [ TokenName  in  ShadowTokenName ] : string ; 
@@ -40,6 +65,81 @@ export type ShadowTokenGroup = {
4065export  const  shadow : { 
4166  [ TokenName  in  ShadowTokenName ] : MetaTokenProperties ; 
4267}  =  { 
68+   'shadow-0' : { 
69+     value : 'none' , 
70+   } , 
71+   'shadow-100' : { 
72+     value : '0px 0px 2px rgba(31, 33, 36, 0.24)' , 
73+   } , 
74+   'shadow-200' : { 
75+     value : '0px 1px 1px rgba(31, 33, 36, 0.1)' , 
76+   } , 
77+   'shadow-300' : { 
78+     value :
79+       '0px 2px 4px rgba(31, 33, 36, 0.1), 0px 1px 6px rgba(31, 33, 36, 0.05)' , 
80+   } , 
81+   'shadow-400' : { 
82+     value :
83+       '0px 4px 12px rgba(31, 33, 36, 0.2), 0px 2px 6px rgba(31, 33, 36, 0.05)' , 
84+   } , 
85+   'shadow-500' : { 
86+     value :
87+       '0px 4px 18px -2px rgba(31, 33, 36, 0.08), 0px 12px 18px -2px rgba(31, 33, 36, 0.15)' , 
88+   } , 
89+   'shadow-600' : { 
90+     value :
91+       '0px 32px 32px rgba(31, 33, 36, 0.15), 0px 32px 56px -2px rgba(31, 33, 36, 0.16)' , 
92+   } , 
93+   'shadow-bevel-100' : { 
94+     value :
95+       '1px 0px 0px 0px rgba(0, 0, 0, 0.13) inset, -1px 0px 0px 0px rgba(0, 0, 0, 0.13) inset, 0px -1px 0px 0px rgba(0, 0, 0, 0.17) inset, 0px 1px 0px 0px rgba(204, 204, 204, 0.5) inset' , 
96+   } , 
97+   'shadow-inset-100' : { 
98+     value : 'inset 0px 0px 3px rgba(31, 33, 36, 0.56)' , 
99+   } , 
100+   'shadow-inset-200' : { 
101+     value : 'inset 0px 2px 4px rgba(31, 33, 36, 0.32)' , 
102+   } , 
103+   'shadow-button' : { 
104+     value :
105+       'inset 0px -1px 0px #B5B5B5, inset -1px 0px 0px #E3E3E3, inset 1px 0px 0px #E3E3E3, inset 0px 1px 0px #E3E3E3' , 
106+   } , 
107+   'shadow-button-hover' : { 
108+     value : `inset 0px -1px 0px #CCCCCC, inset 1px 0px 0px #EBEBEB, inset -1px 0px 0px #EBEBEB, inset 0px 1px 0px #EBEBEB` , 
109+   } , 
110+   'shadow-button-inset' : { 
111+     value : createVar ( 'shadow-inset-200' ) , 
112+   } , 
113+   'shadow-button-primary' : { 
114+     value : `0px 2px 0px 0px rgba(255, 255, 255, 0.2) inset, 2px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, -2px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, 0px -1px 0px 1px #000 inset, 0px 1px 0px 0px #000 inset` , 
115+   } , 
116+   'shadow-button-primary-hover' : { 
117+     value : `0px 1px 0px 0px rgba(255, 255, 255, 0.24) inset, 1px 0px 0px 0px rgba(255, 255, 255, 0.16) inset, -1px 0px 0px 0px rgba(255, 255, 255, 0.16) inset, 0px -1.5px 0px 0px rgba(255, 255, 255, 0.07) inset, 0px 0px 0px 0.5px #1A1A1A` , 
118+   } , 
119+   'shadow-button-primary-inset' : { 
120+     value : `0px 3px 0px 0px #000 inset` , 
121+   } , 
122+   'shadow-button-primary-critical' : { 
123+     value : `0px 1px 0px 0px rgba(255, 255, 255, 0.4) inset, 1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, -1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, 0px -1.5px 0px 0px rgba(0, 0, 0, 0.25) inset` , 
124+   } , 
125+   'shadow-button-primary-critical-hover' : { 
126+     value : `-1px 0px 0px 0px rgba(255, 255, 255, 0.20) inset, 1px 0px 0px 0px rgba(255, 255, 255, 0.20) inset, 0px 0.5px 0px 0px rgba(0, 0, 0, 0.25), 0px -1.5px 0px 0px rgba(255, 255, 255, 0.07) inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.24) inset` , 
127+   } , 
128+   'shadow-button-primary-critical-inset' : { 
129+     value : `0px 2px 0px 0px rgba(0, 0, 0, 0.60) inset, 1px 0px 1px 0px rgba(0, 0, 0, 0.20) inset, -1px 0px 1px 0px rgba(0, 0, 0, 0.20) inset` , 
130+   } , 
131+   'shadow-button-primary-success' : { 
132+     value : `0px 1px 0px 0px rgba(255, 255, 255, 0.4) inset, 1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, -1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset, 0px -1.5px 0px 0px rgba(0, 0, 0, 0.25) inset` , 
133+   } , 
134+   'shadow-button-primary-success-hover' : { 
135+     value : `-1px 0px 0px 0px rgba(255, 255, 255, 0.20) inset, 1px 0px 0px 0px rgba(255, 255, 255, 0.20) inset, 0px 0.5px 0px 0px rgba(0, 0, 0, 0.25), 0px -1.5px 0px 0px rgba(255, 255, 255, 0.07) inset, 0px 1px 0px 0px rgba(255, 255, 255, 0.24) inset` , 
136+   } , 
137+   'shadow-button-primary-success-inset' : { 
138+     value : `0px 2px 0px 0px rgba(0, 0, 0, 0.60) inset, 1px 0px 1px 0px rgba(0, 0, 0, 0.20) inset, -1px 0px 1px 0px rgba(0, 0, 0, 0.20) inset` , 
139+   } , 
140+   'shadow-border-inset' : { 
141+     value : `0px 0px 0px 1px rgba(0, 0, 0, 0.08) inset` , 
142+   } , 
43143  'shadow-inset-lg' : { 
44144    value : 'inset 0px 0px 7px 2px rgba(31, 33, 36, 0.18)' , 
45145  } , 
@@ -127,3 +227,7 @@ export const shadow: {
127227    value : '0px 0px 0px 1px rgba(0, 0, 0, 0.08) inset' , 
128228  } , 
129229} ; 
230+ 
231+ function  createVar ( shadowTokenName : ShadowTokenName )  { 
232+   return  `var(${ createVarName ( shadowTokenName ) }  ; 
233+ } 
0 commit comments