@rainersoft/design-tokens 1.0.4 → 2.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.
@@ -7,7 +7,7 @@
7
7
  * através de theme.extend para ter acesso a todos os tokens como classes utilitárias.
8
8
  *
9
9
  * @module formats/tailwind.config
10
- * @version 4.0.0
10
+ * @version 2.0.0
11
11
  * @author Rainer Teixeira
12
12
  * @since 1.0.0
13
13
  * @generated This file is auto-generated. Do not edit manually.
@@ -15,17 +15,18 @@
15
15
  *
16
16
  * @example
17
17
  * ```typescript
18
- * // tailwind.config.js
19
- * const { tailwindConfig } = require('rainer-design-tokens/formats/tailwind.config');
18
+ * // tailwind.config.ts
19
+ * import { tailwindConfig } from '@rainersoft/design-tokens/formats/tailwind.config';
20
20
  *
21
- * module.exports = {
21
+ * export default {
22
22
  * ...tailwindConfig,
23
+ * content: ['./src/**/*.{js,ts,jsx,tsx}'],
23
24
  * // Suas configurações adicionais
24
25
  * };
25
26
  * ```
26
27
  */
27
28
 
28
- import { tokens } from '../tokens';
29
+ import { tokens } from '@rainersoft/design-tokens';
29
30
 
30
31
  /**
31
32
  * Configuração do Tailwind CSS baseada nos design tokens
@@ -56,7 +57,7 @@ import { tokens } from '../tokens';
56
57
  *
57
58
  * @example
58
59
  * ```typescript
59
- * import { tailwindConfig } from 'rainer-design-tokens/formats/tailwind.config';
60
+ * import { tailwindConfig } from '@rainersoft/design-tokens/formats/tailwind.config';
60
61
  *
61
62
  * // Usar em tailwind.config.js
62
63
  * export default {
@@ -237,6 +238,11 @@ export const tailwindConfig = {
237
238
  'accordion-up': 'accordion-up 0.2s ease-out',
238
239
  'slide-in': 'slide-in 0.3s ease-out',
239
240
  'fade-in': 'fade-in 0.5s ease-in',
241
+ 'glitch': 'glitch 4s linear',
242
+ 'neon-pulse': 'neon-pulse 2s ease-in-out',
243
+ 'flicker': 'flicker 2s linear',
244
+ 'scan-line': 'scan-line 4s linear',
245
+ 'glitch-after': 'glitch-after 3s linear',
240
246
  },
241
247
  keyframes: {
242
248
  'accordion-down': {
@@ -273,6 +279,58 @@ export const tailwindConfig = {
273
279
  opacity: '1',
274
280
  },
275
281
  },
282
+ 'glitch': {
283
+ '0%, 100%': {
284
+ transform: 'translate(0)',
285
+ },
286
+ '10%': {
287
+ transform: 'translate(-2px, 2px)',
288
+ },
289
+ '20%': {
290
+ transform: 'translate(2px, -2px)',
291
+ },
292
+ '30%, 50%, 70%, 90%': {
293
+ transform: 'translate(0)',
294
+ },
295
+ },
296
+ 'neon-pulse': {
297
+ '0%, 100%': {
298
+ filter: 'brightness(1) saturate(1)',
299
+ },
300
+ '50%': {
301
+ filter: 'brightness(1.3) saturate(1.2)',
302
+ },
303
+ },
304
+ 'flicker': {
305
+ '0%, 19.999%, 22%, 62.999%, 64%, 64.999%, 70%, 100%': {
306
+ opacity: '1',
307
+ filter: 'brightness(1.2)',
308
+ },
309
+ '20%, 21.999%, 63%, 63.999%, 65%, 69.999%': {
310
+ opacity: '0.85',
311
+ filter: 'brightness(0.9)',
312
+ },
313
+ },
314
+ 'scan-line': {
315
+ '0%': {
316
+ top: '0',
317
+ },
318
+ '100%': {
319
+ top: '100%',
320
+ },
321
+ },
322
+ 'glitch-after': {
323
+ '0%, 100%': {
324
+ opacity: '0',
325
+ },
326
+ '5%, 10%': {
327
+ opacity: '0.8',
328
+ transform: 'translate(-3px, 3px)',
329
+ },
330
+ '15%, 95%': {
331
+ opacity: '0',
332
+ },
333
+ },
276
334
  },
277
335
  },
278
336
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/rainer-design-tokens.json",
3
3
  "name": "@rainersoft/design-tokens",
4
- "version": "1.0.4",
4
+ "version": "2.0.0",
5
5
  "description": "Universal design tokens export for Rainer Design System",
6
6
  "$generated": "This file is auto-generated. Do not edit manually.",
7
7
  "$source": "tokens/*.json",
@@ -41,6 +41,6 @@
41
41
  "repository": "https://github.com/RainerTeixeira/rainer-design-tokens.git",
42
42
  "author": "Rainer Teixeira <suporte@rainersoft.com.br>",
43
43
  "license": "MIT",
44
- "generatedAt": "2025-11-18T16:07:11.606Z"
44
+ "generatedAt": "2025-11-21T14:44:52.195Z"
45
45
  }
46
46
  }
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@rainersoft/design-tokens",
3
- "version": "1.0.4",
3
+ "version": "2.0.0",
4
4
  "type": "module",
5
+ "packageManager": "pnpm@9.0.0",
5
6
  "description": "Design tokens profissionais seguindo padrões W3C/DTCG, com estrutura modular e suporte a tokens primitivos e semânticos.",
6
7
  "author": "Rainer Teixeira <suporte@rainersoft.com.br>",
7
8
  "license": "MIT",
@@ -25,31 +26,29 @@
25
26
  "8pt-grid",
26
27
  "modular-scale"
27
28
  ],
28
- "main": "./dist/index.js",
29
+ "main": "./dist/index.mjs",
29
30
  "module": "./dist/index.mjs",
30
31
  "types": "./dist/index.d.ts",
31
32
  "exports": {
32
33
  ".": {
33
34
  "types": "./dist/index.d.ts",
34
35
  "import": "./dist/index.mjs",
35
- "require": "./dist/index.js"
36
+ "require": "./dist/index.mjs",
37
+ "default": "./dist/index.mjs"
36
38
  },
37
39
  "./css": {
38
40
  "types": "./dist/css.d.ts",
39
- "import": "./dist/css.mjs",
40
- "require": "./dist/css.js"
41
+ "import": "./dist/css.mjs"
41
42
  },
42
43
  "./tailwind": {
43
44
  "types": "./dist/tailwind.d.ts",
44
- "import": "./dist/tailwind.mjs",
45
- "require": "./dist/tailwind.js"
45
+ "import": "./dist/tailwind.mjs"
46
46
  },
47
47
  "./formats/css-vars.css": "./formats/css-vars.css",
48
48
  "./formats/tokens.json": "./formats/tokens.json",
49
49
  "./formats/tailwind.config": {
50
50
  "types": "./formats/tailwind.config.ts",
51
- "import": "./formats/tailwind.config.ts",
52
- "require": "./formats/tailwind.config.ts"
51
+ "import": "./formats/tailwind.config.ts"
53
52
  },
54
53
  "./package.json": "./package.json"
55
54
  },
@@ -70,16 +69,20 @@
70
69
  "dev": "tsup --watch",
71
70
  "type-check": "tsc --noEmit",
72
71
  "lint": "pnpm exec eslint .",
73
- "test": "echo \"No tests configured\" && exit 0",
72
+ "test": "jest",
74
73
  "test:watch": "jest --watch",
75
74
  "test:coverage": "jest --coverage",
75
+ "dev:editor": "node token-editor/server.js",
76
+ "start:editor": "node token-editor/server.js",
76
77
  "prepare:publish": "node scripts/prepare-publish.js",
77
78
  "setup:auth": "node scripts/setup-npm-auth.js",
78
- "prepublishOnly": "pnpm run build:formats && pnpm run type-check",
79
- "clean": "node -e \"require('fs').rmSync('dist', {recursive: true, force: true})\"",
79
+ "prepublishOnly": "pnpm run build:formats && pnpm run update:version && pnpm run type-check",
80
+ "clean": "pnpm exec rimraf dist",
80
81
  "storybook": "storybook dev -p 6006",
81
82
  "build-storybook": "storybook build",
82
83
  "update:dates": "tsx scripts/update-dates.ts",
84
+ "update:version": "tsx scripts/update-version.ts",
85
+ "changelog": "tsx scripts/generate-changelog.ts",
83
86
  "setup": "pnpm install",
84
87
  "setup:clean": "pnpm run clean:all && pnpm install",
85
88
  "clean:all": "pnpm exec rimraf node_modules pnpm-lock.yaml dist .storybook-build"
package/themes/dark.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * aplicações que buscam um visual futurista e impactante.
9
9
  *
10
10
  * @module themes/dark
11
- * @version 4.0.0
11
+ * @version 2.0.0
12
12
  * @author Rainer Teixeira
13
13
  * @since 1.0.0
14
14
  */
@@ -35,7 +35,7 @@ import { tokens } from '../tokens';
35
35
  *
36
36
  * @example
37
37
  * ```typescript
38
- * import { darkTheme } from 'rainer-design-tokens';
38
+ * import { darkTheme } from '@rainersoft/design-tokens';
39
39
  *
40
40
  * // Acessar cores neon do tema escuro
41
41
  * const neonCyan = darkTheme.colors.accent.cyan;
package/themes/index.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * facilitando a aplicação de temas completos na aplicação.
8
8
  *
9
9
  * @module themes
10
- * @version 4.0.0
10
+ * @version 2.0.0
11
11
  * @author Rainer Teixeira
12
12
  * @since 1.0.0
13
13
  *
@@ -59,7 +59,7 @@ export { darkTheme, type DarkTheme } from './dark';
59
59
  *
60
60
  * @example
61
61
  * ```typescript
62
- * import { themes } from 'rainer-design-tokens';
62
+ * import { themes } from '@rainersoft/design-tokens';
63
63
  *
64
64
  * // Acessar tema claro
65
65
  * const lightColors = themes.light.colors;
package/themes/light.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * e profissionalismo.
9
9
  *
10
10
  * @module themes/light
11
- * @version 4.0.0
11
+ * @version 2.0.0
12
12
  * @author Rainer Teixeira
13
13
  * @since 1.0.0
14
14
  */
@@ -35,7 +35,7 @@ import { tokens } from '../tokens';
35
35
  *
36
36
  * @example
37
37
  * ```typescript
38
- * import { lightTheme } from 'rainer-design-tokens';
38
+ * import { lightTheme } from '@rainersoft/design-tokens';
39
39
  *
40
40
  * // Acessar cores do tema claro
41
41
  * const primaryColor = lightTheme.colors.brand.primary;
@@ -7,7 +7,7 @@
7
7
  * qualquer ambiente (web, mobile, desktop).
8
8
  *
9
9
  * @module tokens/accessibility
10
- * @version 4.0.0
10
+ * @version 2.0.0
11
11
  * @author Rainer Teixeira
12
12
  * @since 1.0.0
13
13
  */
@@ -53,6 +53,89 @@
53
53
  "opacity": "1"
54
54
  }
55
55
  }
56
+ },
57
+ "glitch": {
58
+ "name": "glitch",
59
+ "duration": "4s",
60
+ "timingFunction": "linear",
61
+ "iterationCount": "infinite",
62
+ "keyframes": {
63
+ "0%, 100%": {
64
+ "transform": "translate(0)"
65
+ },
66
+ "10%": {
67
+ "transform": "translate(-2px, 2px)"
68
+ },
69
+ "20%": {
70
+ "transform": "translate(2px, -2px)"
71
+ },
72
+ "30%, 50%, 70%, 90%": {
73
+ "transform": "translate(0)"
74
+ }
75
+ }
76
+ },
77
+ "neon-pulse": {
78
+ "name": "neon-pulse",
79
+ "duration": "2s",
80
+ "timingFunction": "ease-in-out",
81
+ "iterationCount": "infinite",
82
+ "direction": "alternate",
83
+ "keyframes": {
84
+ "0%, 100%": {
85
+ "filter": "brightness(1) saturate(1)"
86
+ },
87
+ "50%": {
88
+ "filter": "brightness(1.3) saturate(1.2)"
89
+ }
90
+ }
91
+ },
92
+ "flicker": {
93
+ "name": "flicker",
94
+ "duration": "2s",
95
+ "timingFunction": "linear",
96
+ "iterationCount": "infinite",
97
+ "keyframes": {
98
+ "0%, 19.999%, 22%, 62.999%, 64%, 64.999%, 70%, 100%": {
99
+ "opacity": "1",
100
+ "filter": "brightness(1.2)"
101
+ },
102
+ "20%, 21.999%, 63%, 63.999%, 65%, 69.999%": {
103
+ "opacity": "0.85",
104
+ "filter": "brightness(0.9)"
105
+ }
106
+ }
107
+ },
108
+ "scan-line": {
109
+ "name": "scan-line",
110
+ "duration": "4s",
111
+ "timingFunction": "linear",
112
+ "iterationCount": "infinite",
113
+ "keyframes": {
114
+ "0%": {
115
+ "top": "0"
116
+ },
117
+ "100%": {
118
+ "top": "100%"
119
+ }
120
+ }
121
+ },
122
+ "glitch-after": {
123
+ "name": "glitch-after",
124
+ "duration": "3s",
125
+ "timingFunction": "linear",
126
+ "iterationCount": "infinite",
127
+ "keyframes": {
128
+ "0%, 100%": {
129
+ "opacity": "0"
130
+ },
131
+ "5%, 10%": {
132
+ "opacity": "0.8",
133
+ "transform": "translate(-3px, 3px)"
134
+ },
135
+ "15%, 95%": {
136
+ "opacity": "0"
137
+ }
138
+ }
56
139
  }
57
140
  }
58
141
  }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/theme.json",
3
+ "$description": "Responsive breakpoints - Mobile-first approach",
4
+ "breakpoints": {
5
+ "xs": "0px",
6
+ "sm": "640px",
7
+ "md": "768px",
8
+ "lg": "1024px",
9
+ "xl": "1280px",
10
+ "2xl": "1536px",
11
+ "3xl": "1920px"
12
+ },
13
+ "container": {
14
+ "sm": "640px",
15
+ "md": "768px",
16
+ "lg": "1024px",
17
+ "xl": "1280px",
18
+ "2xl": "1536px",
19
+ "3xl": "1920px"
20
+ },
21
+ "mediaQueries": {
22
+ "xs": "@media (min-width: 0px)",
23
+ "sm": "@media (min-width: 640px)",
24
+ "md": "@media (min-width: 768px)",
25
+ "lg": "@media (min-width: 1024px)",
26
+ "xl": "@media (min-width: 1280px)",
27
+ "2xl": "@media (min-width: 1536px)",
28
+ "3xl": "@media (min-width: 1920px)"
29
+ }
30
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$description": "Tokens para componente de background celestial - configurações de estrelas, nebulosas e efeitos espaciais",
4
+ "celestialBackground": {
5
+ "stars": {
6
+ "default": {
7
+ "count": 150,
8
+ "sizes": [1, 1.5, 2],
9
+ "opacity": [0.35, 0.55, 0.75],
10
+ "glow": {
11
+ "color": "rgba(255, 255, 255, 0.8)",
12
+ "radius": 2
13
+ }
14
+ },
15
+ "dense": {
16
+ "count": 250,
17
+ "sizes": [1, 1.5, 2, 2.5],
18
+ "opacity": [0.25, 0.45, 0.65, 0.85],
19
+ "glow": {
20
+ "color": "rgba(255, 255, 255, 0.8)",
21
+ "radius": 2
22
+ }
23
+ },
24
+ "sparse": {
25
+ "count": 80,
26
+ "sizes": [1, 1.5],
27
+ "opacity": [0.45, 0.65],
28
+ "glow": {
29
+ "color": "rgba(255, 255, 255, 0.8)",
30
+ "radius": 2
31
+ }
32
+ }
33
+ },
34
+ "nebula": {
35
+ "cyan": {
36
+ "position": {
37
+ "top": "0%",
38
+ "left": "0%"
39
+ },
40
+ "size": {
41
+ "width": "40%",
42
+ "height": "40%"
43
+ },
44
+ "gradient": {
45
+ "type": "radial",
46
+ "center": "0% 0%",
47
+ "colorStops": [
48
+ { "color": "cyan.400", "alpha": 0.06, "position": "0%" },
49
+ { "color": "cyan.400", "alpha": 0.04, "position": "30%" },
50
+ { "color": "transparent", "alpha": 0, "position": "70%" }
51
+ ]
52
+ },
53
+ "blur": "3xl"
54
+ },
55
+ "purple": {
56
+ "position": {
57
+ "top": "50%",
58
+ "right": "0%"
59
+ },
60
+ "size": {
61
+ "width": "35%",
62
+ "height": "35%"
63
+ },
64
+ "gradient": {
65
+ "type": "radial",
66
+ "center": "100% 50%",
67
+ "colorStops": [
68
+ { "color": "purple.400", "alpha": 0.06, "position": "0%" },
69
+ { "color": "purple.400", "alpha": 0.04, "position": "30%" },
70
+ { "color": "transparent", "alpha": 0, "position": "70%" }
71
+ ]
72
+ },
73
+ "blur": "3xl"
74
+ },
75
+ "pink": {
76
+ "position": {
77
+ "bottom": "0%",
78
+ "left": "25%"
79
+ },
80
+ "size": {
81
+ "width": "30%",
82
+ "height": "30%"
83
+ },
84
+ "gradient": {
85
+ "type": "radial",
86
+ "center": "25% 100%",
87
+ "colorStops": [
88
+ { "color": "pink.500", "alpha": 0.06, "position": "0%" },
89
+ { "color": "pink.500", "alpha": 0.04, "position": "30%" },
90
+ { "color": "transparent", "alpha": 0, "position": "70%" }
91
+ ]
92
+ },
93
+ "blur": "3xl"
94
+ }
95
+ },
96
+ "baseGradient": {
97
+ "direction": "to-bottom",
98
+ "from": "black",
99
+ "via": {
100
+ "color": "purple-950",
101
+ "alpha": 0.35
102
+ },
103
+ "to": "black"
104
+ }
105
+ }
106
+ }
@@ -0,0 +1,125 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$description": "Tokens para efeitos visuais - filters, blur, glow, backdrop effects",
4
+ "effects": {
5
+ "filter": {
6
+ "brightness": {
7
+ "subtle": "brightness(1.1)",
8
+ "moderate": "brightness(1.2)",
9
+ "intense": "brightness(1.3)",
10
+ "strong": "brightness(1.4)",
11
+ "extreme": "brightness(1.6)"
12
+ },
13
+ "contrast": {
14
+ "subtle": "contrast(1.05)",
15
+ "moderate": "contrast(1.1)",
16
+ "strong": "contrast(1.2)",
17
+ "intense": "contrast(1.3)"
18
+ },
19
+ "saturate": {
20
+ "subtle": "saturate(1.1)",
21
+ "moderate": "saturate(1.2)",
22
+ "strong": "saturate(1.3)",
23
+ "intense": "saturate(1.4)"
24
+ },
25
+ "combined": {
26
+ "neon-subtle": "brightness(1.2) saturate(1.1)",
27
+ "neon-moderate": "brightness(1.3) saturate(1.2)",
28
+ "neon-intense": "brightness(1.4) saturate(1.3)",
29
+ "neon-extreme": "brightness(1.6) contrast(1.3) saturate(1.4)",
30
+ "glass": "blur(8px) saturate(180%)",
31
+ "frosted": "blur(12px) saturate(150%)"
32
+ }
33
+ },
34
+ "blur": {
35
+ "none": "blur(0)",
36
+ "xs": "blur(0.5px)",
37
+ "sm": "blur(2px)",
38
+ "base": "blur(4px)",
39
+ "md": "blur(8px)",
40
+ "lg": "blur(12px)",
41
+ "xl": "blur(16px)",
42
+ "2xl": "blur(24px)",
43
+ "3xl": "blur(40px)"
44
+ },
45
+ "backdrop": {
46
+ "blur": {
47
+ "none": "backdrop-blur-none",
48
+ "sm": "backdrop-blur-sm",
49
+ "base": "backdrop-blur",
50
+ "md": "backdrop-blur-md",
51
+ "lg": "backdrop-blur-lg",
52
+ "xl": "backdrop-blur-xl",
53
+ "2xl": "backdrop-blur-2xl",
54
+ "3xl": "backdrop-blur-3xl"
55
+ },
56
+ "saturate": {
57
+ "default": "backdrop-saturate-100",
58
+ "enhanced": "backdrop-saturate-150",
59
+ "strong": "backdrop-saturate-200"
60
+ }
61
+ },
62
+ "glow": {
63
+ "star": {
64
+ "small": {
65
+ "radius": "0 0 4px",
66
+ "color": "rgba(255, 255, 255, 0.8)"
67
+ },
68
+ "medium": {
69
+ "radius": "0 0 8px",
70
+ "color": "rgba(255, 255, 255, 0.8)"
71
+ },
72
+ "large": {
73
+ "radius": "0 0 12px",
74
+ "color": "rgba(255, 255, 255, 0.8)"
75
+ }
76
+ },
77
+ "neon": {
78
+ "cyan": {
79
+ "subtle": "0 0 10px rgba(0, 230, 255, 0.3)",
80
+ "moderate": "0 0 20px rgba(0, 230, 255, 0.5), 0 0 40px rgba(0, 230, 255, 0.3)",
81
+ "intense": "0 0 30px rgba(0, 230, 255, 0.7), 0 0 60px rgba(0, 230, 255, 0.5)"
82
+ },
83
+ "purple": {
84
+ "subtle": "0 0 10px rgba(125, 0, 255, 0.3)",
85
+ "moderate": "0 0 20px rgba(125, 0, 255, 0.5), 0 0 40px rgba(125, 0, 255, 0.3)",
86
+ "intense": "0 0 30px rgba(125, 0, 255, 0.7), 0 0 60px rgba(125, 0, 255, 0.5)"
87
+ },
88
+ "pink": {
89
+ "subtle": "0 0 10px rgba(255, 0, 255, 0.3)",
90
+ "moderate": "0 0 20px rgba(255, 0, 255, 0.5), 0 0 40px rgba(255, 0, 255, 0.3)",
91
+ "intense": "0 0 30px rgba(255, 0, 255, 0.7), 0 0 60px rgba(255, 0, 255, 0.5)"
92
+ },
93
+ "green": {
94
+ "subtle": "0 0 10px rgba(0, 255, 0, 0.3)",
95
+ "moderate": "0 0 20px rgba(0, 255, 0, 0.5), 0 0 40px rgba(0, 255, 0, 0.3)",
96
+ "intense": "0 0 30px rgba(0, 255, 0, 0.7), 0 0 60px rgba(0, 255, 0, 0.5)"
97
+ }
98
+ }
99
+ },
100
+ "textShadow": {
101
+ "glow": {
102
+ "cyan-subtle": "0 0 10px rgba(34, 211, 238, 0.5)",
103
+ "cyan-moderate": "0 0 20px rgba(34, 211, 238, 0.8), 0 0 40px rgba(34, 211, 238, 0.6)",
104
+ "cyan-intense": "0 0 40px rgba(34, 211, 238, 1), 0 0 60px rgba(103, 232, 249, 0.8), 0 2px 4px rgba(0, 0, 0, 0.5)"
105
+ },
106
+ "depth": {
107
+ "subtle": "0 1px 2px rgba(0, 0, 0, 0.1)",
108
+ "moderate": "0 2px 4px rgba(0, 0, 0, 0.3)",
109
+ "strong": "0 2px 4px rgba(0, 0, 0, 0.5)"
110
+ }
111
+ },
112
+ "boxShadow": {
113
+ "cyberpunk": {
114
+ "card": "0 0 20px rgba(34, 211, 238, 0.1)",
115
+ "cardHover": "0 0 30px rgba(34, 211, 238, 0.2)",
116
+ "elevated": "0 25px 50px -12px rgba(0, 0, 0, 0.5)"
117
+ },
118
+ "glass": {
119
+ "subtle": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",
120
+ "moderate": "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",
121
+ "strong": "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)"
122
+ }
123
+ }
124
+ }
125
+ }