@almadar/core 10.97.0 → 10.99.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.
Files changed (101) hide show
  1. package/README.md +25 -0
  2. package/dist/builders.d.ts +5 -4
  3. package/dist/builders.js +60 -34
  4. package/dist/builders.js.map +1 -1
  5. package/dist/bus-BGDM3Xot.d.ts +565 -0
  6. package/dist/domain-Ds_7wZIL.d.ts +16213 -0
  7. package/dist/{effect-Bw8T4qh5.d.ts → effect-CW_IT0Jn.d.ts} +59 -4
  8. package/dist/{entityAccess-DfoXs9mc.d.ts → entityAccess-BLpOMojb.d.ts} +3 -3
  9. package/dist/{expression-WfTp2arD.d.ts → expression-DRwzVnMu.d.ts} +5 -1
  10. package/dist/factory/index.d.ts +5 -5
  11. package/dist/factory/index.js +22 -0
  12. package/dist/factory/index.js.map +1 -1
  13. package/dist/factory-runtime/index.d.ts +5 -4
  14. package/dist/factory-runtime/index.js +176 -34
  15. package/dist/factory-runtime/index.js.map +1 -1
  16. package/dist/fixtures.d.ts +45 -0
  17. package/dist/fixtures.js +693 -0
  18. package/dist/fixtures.js.map +1 -0
  19. package/dist/{index-H0bOi9oP.d.ts → index-CHHuux4I.d.ts} +8 -375
  20. package/dist/index.d.ts +19 -15
  21. package/dist/index.js +9069 -44
  22. package/dist/index.js.map +1 -1
  23. package/dist/mock/index.d.ts +6 -5
  24. package/dist/mock/index.js +14 -0
  25. package/dist/mock/index.js.map +1 -1
  26. package/dist/patterns/component-mapping.json +1 -1
  27. package/dist/patterns/event-contracts.json +1 -1
  28. package/dist/patterns/index.d.ts +12 -8
  29. package/dist/patterns/index.js +15 -4
  30. package/dist/patterns/index.js.map +1 -1
  31. package/dist/patterns/patterns-registry.json +1 -1
  32. package/dist/patterns/registry.json +1 -1
  33. package/dist/{schema-DPpES4qj.d.ts → schema-BVjtoRYf.d.ts} +2134 -23608
  34. package/dist/state-machine/index.d.ts +1 -1
  35. package/dist/themes/index.d.ts +19 -0
  36. package/dist/themes/index.js +9251 -0
  37. package/dist/themes/index.js.map +1 -0
  38. package/dist/{trait-DXXRrRMP.d.ts → trait-C9lr222u.d.ts} +26 -26
  39. package/dist/types/index.d.ts +8 -6
  40. package/dist/types/index.js +207 -41
  41. package/dist/types/index.js.map +1 -1
  42. package/dist/{types-BMaTUGyk.d.ts → types-BoyvM79n.d.ts} +2 -2
  43. package/fixtures/events-wire/cascade-emitted-events/request.json +9 -0
  44. package/fixtures/events-wire/cascade-emitted-events/response.json +30 -0
  45. package/fixtures/events-wire/client-effects-by-trait/request.json +4 -0
  46. package/fixtures/events-wire/client-effects-by-trait/response.json +52 -0
  47. package/fixtures/events-wire/effect-results/request.json +9 -0
  48. package/fixtures/events-wire/effect-results/response.json +42 -0
  49. package/fixtures/events-wire/effect-results-every-kind/request.json +9 -0
  50. package/fixtures/events-wire/effect-results-every-kind/response.json +70 -0
  51. package/fixtures/events-wire/guard-rejected/request.json +6 -0
  52. package/fixtures/events-wire/guard-rejected/response.json +11 -0
  53. package/fixtures/events-wire/live-push/live-push.json +12 -0
  54. package/fixtures/events-wire/live-push/request.json +9 -0
  55. package/fixtures/events-wire/live-push/response.json +33 -0
  56. package/fixtures/events-wire/navigate-1/request.json +5 -0
  57. package/fixtures/events-wire/navigate-1/response.json +16 -0
  58. package/fixtures/events-wire/navigate-2/request.json +8 -0
  59. package/fixtures/events-wire/navigate-2/response.json +19 -0
  60. package/fixtures/events-wire/navigate-3/request.json +8 -0
  61. package/fixtures/events-wire/navigate-3/response.json +22 -0
  62. package/fixtures/events-wire/navigate-back/request.json +5 -0
  63. package/fixtures/events-wire/navigate-back/response.json +15 -0
  64. package/fixtures/events-wire/render-ui-3/request.json +5 -0
  65. package/fixtures/events-wire/render-ui-3/response.json +20 -0
  66. package/fixtures/events-wire/render-ui-4/request.json +5 -0
  67. package/fixtures/events-wire/render-ui-4/response.json +41 -0
  68. package/fixtures/events-wire/render-ui-5/request.json +9 -0
  69. package/fixtures/events-wire/render-ui-5/response.json +52 -0
  70. package/fixtures/events-wire/render-ui-clear/request.json +5 -0
  71. package/fixtures/events-wire/render-ui-clear/response.json +27 -0
  72. package/fixtures/events-wire/sse-stream/request.json +9 -0
  73. package/fixtures/events-wire/sse-stream/response.json +79 -0
  74. package/fixtures/events-wire/sse-stream/stream.json +131 -0
  75. package/fixtures/events-wire/stateless-traits/request.json +27 -0
  76. package/fixtures/events-wire/stateless-traits/response.json +15 -0
  77. package/fixtures/theme-tokens/every-key.json +43 -0
  78. package/package.json +18 -3
  79. package/themes/almadar-website.json +207 -0
  80. package/themes/almadar.json +203 -0
  81. package/themes/atelier.json +459 -0
  82. package/themes/bloomberg-dense.json +459 -0
  83. package/themes/clay.json +445 -0
  84. package/themes/comic.json +457 -0
  85. package/themes/corporate.json +445 -0
  86. package/themes/game-adventure.json +229 -0
  87. package/themes/game-rpg.json +230 -0
  88. package/themes/game-sci-fi.json +229 -0
  89. package/themes/game-ui-pack.json +230 -0
  90. package/themes/gazette.json +445 -0
  91. package/themes/glass.json +445 -0
  92. package/themes/kiosk.json +441 -0
  93. package/themes/linear-clean.json +459 -0
  94. package/themes/minimalist.json +445 -0
  95. package/themes/neon.json +445 -0
  96. package/themes/notion-editorial.json +459 -0
  97. package/themes/prism.json +203 -0
  98. package/themes/retro.json +445 -0
  99. package/themes/terminal.json +457 -0
  100. package/themes/trait-wars.json +493 -0
  101. package/themes/wireframe.json +445 -0
@@ -0,0 +1,79 @@
1
+ {
2
+ "clientEffects": [
3
+ [
4
+ "render-ui",
5
+ "toolbar",
6
+ {
7
+ "label": "New Note",
8
+ "type": "button"
9
+ },
10
+ {
11
+ "disabled": true,
12
+ "label": "Saving…"
13
+ }
14
+ ],
15
+ [
16
+ "render-ui",
17
+ "toast",
18
+ {
19
+ "type": "toast-slot",
20
+ "variant": "success"
21
+ },
22
+ {
23
+ "title": "Note saved"
24
+ },
25
+ 5
26
+ ]
27
+ ],
28
+ "clientEffectsByTrait": [
29
+ {
30
+ "effect": [
31
+ "render-ui",
32
+ "toolbar",
33
+ {
34
+ "label": "New Note",
35
+ "type": "button"
36
+ },
37
+ {
38
+ "disabled": true,
39
+ "label": "Saving…"
40
+ }
41
+ ],
42
+ "traitName": "NotePersistor"
43
+ },
44
+ {
45
+ "effect": [
46
+ "render-ui",
47
+ "toast",
48
+ {
49
+ "type": "toast-slot",
50
+ "variant": "success"
51
+ },
52
+ {
53
+ "title": "Note saved"
54
+ },
55
+ 5
56
+ ],
57
+ "traitName": "NotePersistor"
58
+ }
59
+ ],
60
+ "emittedEvents": [
61
+ {
62
+ "event": "NoteSaved",
63
+ "payload": {
64
+ "id": "note-1"
65
+ },
66
+ "source": {
67
+ "orbital": "NoteBoard",
68
+ "trait": "NotePersistor"
69
+ }
70
+ }
71
+ ],
72
+ "states": {
73
+ "InlineButtonRender3": "idle",
74
+ "NoteCatalog": "browsing",
75
+ "NotePersistor": "saved"
76
+ },
77
+ "success": true,
78
+ "transitioned": true
79
+ }
@@ -0,0 +1,131 @@
1
+ [
2
+ {
3
+ "data": [
4
+ "render-ui",
5
+ "toolbar",
6
+ {
7
+ "label": "New Note",
8
+ "type": "button"
9
+ },
10
+ {
11
+ "disabled": true,
12
+ "label": "Saving…"
13
+ }
14
+ ],
15
+ "timestamp": 1700000000000,
16
+ "type": "effect"
17
+ },
18
+ {
19
+ "data": {
20
+ "event": "NoteSaved",
21
+ "payload": {
22
+ "id": "note-1"
23
+ },
24
+ "source": {
25
+ "orbital": "NoteBoard",
26
+ "trait": "NotePersistor"
27
+ }
28
+ },
29
+ "timestamp": 1700000000012,
30
+ "type": "event"
31
+ },
32
+ {
33
+ "data": [
34
+ "render-ui",
35
+ "toast",
36
+ {
37
+ "type": "toast-slot",
38
+ "variant": "success"
39
+ },
40
+ {
41
+ "title": "Note saved"
42
+ },
43
+ 5
44
+ ],
45
+ "timestamp": 1700000000045,
46
+ "type": "effect"
47
+ },
48
+ {
49
+ "data": {
50
+ "clientEffects": [
51
+ [
52
+ "render-ui",
53
+ "toolbar",
54
+ {
55
+ "label": "New Note",
56
+ "type": "button"
57
+ },
58
+ {
59
+ "disabled": true,
60
+ "label": "Saving…"
61
+ }
62
+ ],
63
+ [
64
+ "render-ui",
65
+ "toast",
66
+ {
67
+ "type": "toast-slot",
68
+ "variant": "success"
69
+ },
70
+ {
71
+ "title": "Note saved"
72
+ },
73
+ 5
74
+ ]
75
+ ],
76
+ "clientEffectsByTrait": [
77
+ {
78
+ "effect": [
79
+ "render-ui",
80
+ "toolbar",
81
+ {
82
+ "label": "New Note",
83
+ "type": "button"
84
+ },
85
+ {
86
+ "disabled": true,
87
+ "label": "Saving…"
88
+ }
89
+ ],
90
+ "traitName": "NotePersistor"
91
+ },
92
+ {
93
+ "effect": [
94
+ "render-ui",
95
+ "toast",
96
+ {
97
+ "type": "toast-slot",
98
+ "variant": "success"
99
+ },
100
+ {
101
+ "title": "Note saved"
102
+ },
103
+ 5
104
+ ],
105
+ "traitName": "NotePersistor"
106
+ }
107
+ ],
108
+ "emittedEvents": [
109
+ {
110
+ "event": "NoteSaved",
111
+ "payload": {
112
+ "id": "note-1"
113
+ },
114
+ "source": {
115
+ "orbital": "NoteBoard",
116
+ "trait": "NotePersistor"
117
+ }
118
+ }
119
+ ],
120
+ "states": {
121
+ "InlineButtonRender3": "idle",
122
+ "NoteCatalog": "browsing",
123
+ "NotePersistor": "saved"
124
+ },
125
+ "success": true,
126
+ "transitioned": true
127
+ },
128
+ "timestamp": 1700000000210,
129
+ "type": "complete"
130
+ }
131
+ ]
@@ -0,0 +1,27 @@
1
+ {
2
+ "behavior": "NoteBoard",
3
+ "entityByTrait": {
4
+ "NoteCatalog": {
5
+ "id": "note-1",
6
+ "title": "Old title"
7
+ },
8
+ "NotePersistor": {
9
+ "id": "note-1",
10
+ "title": "Old title"
11
+ }
12
+ },
13
+ "event": "RENAME",
14
+ "payload": {
15
+ "title": "New title"
16
+ },
17
+ "traits": [
18
+ {
19
+ "from": "browsing",
20
+ "trait": "NoteCatalog"
21
+ },
22
+ {
23
+ "from": "idle",
24
+ "trait": "NotePersistor"
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "emittedEvents": [],
3
+ "entityByTrait": {
4
+ "NotePersistor": {
5
+ "id": "note-1",
6
+ "title": "New title"
7
+ }
8
+ },
9
+ "states": {
10
+ "NoteCatalog": "browsing",
11
+ "NotePersistor": "idle"
12
+ },
13
+ "success": true,
14
+ "transitioned": true
15
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "color": {
3
+ "primary": "#000000",
4
+ "primaryHover": "#000001",
5
+ "primaryForeground": "#000002",
6
+ "secondary": "#000003",
7
+ "secondaryHover": "#000004",
8
+ "secondaryForeground": "#000005",
9
+ "accent": "#000006",
10
+ "accentForeground": "#000007",
11
+ "muted": "#000008",
12
+ "mutedForeground": "#000009",
13
+ "background": "#00000a",
14
+ "foreground": "#00000b",
15
+ "card": "#00000c",
16
+ "cardForeground": "#00000d",
17
+ "surface": "#00000e",
18
+ "border": "#00000f",
19
+ "input": "#000010",
20
+ "ring": "#000011",
21
+ "error": "#000012",
22
+ "errorForeground": "#000013",
23
+ "success": "#000014",
24
+ "successForeground": "#000015",
25
+ "warning": "#000016",
26
+ "warningForeground": "#000017",
27
+ "info": "#000018",
28
+ "infoForeground": "#000019",
29
+ "tableHeader": "#00001a",
30
+ "tableBorder": "#00001b",
31
+ "tableRowHover": "#00001c",
32
+ "surfaceHover": "#00001d",
33
+ "borderHover": "#00001e",
34
+ "placeholder": "#00001f"
35
+ },
36
+ "illustration": {
37
+ "style": "minimal",
38
+ "emptyAsset": "emptyAsset.svg",
39
+ "loadingAsset": "loadingAsset.svg",
40
+ "errorAsset": "errorAsset.svg",
41
+ "onboardingAsset": "onboardingAsset.svg"
42
+ }
43
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/core",
3
- "version": "10.97.0",
3
+ "version": "10.99.0",
4
4
  "description": "Core schema types and definitions for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -52,15 +52,27 @@
52
52
  "import": "./dist/i18n/index.js",
53
53
  "require": "./dist/i18n/index.js"
54
54
  },
55
+ "./themes": {
56
+ "types": "./dist/themes/index.d.ts",
57
+ "import": "./dist/themes/index.js",
58
+ "require": "./dist/themes/index.js"
59
+ },
55
60
  "./patterns/*": {
56
61
  "types": "./dist/patterns/*",
57
62
  "import": "./dist/patterns/*",
58
63
  "require": "./dist/patterns/*"
64
+ },
65
+ "./fixtures": {
66
+ "types": "./dist/fixtures.d.ts",
67
+ "import": "./dist/fixtures.js",
68
+ "require": "./dist/fixtures.js"
59
69
  }
60
70
  },
61
71
  "files": [
62
72
  "dist",
63
- "src/types/bindings.ts"
73
+ "src/types/bindings.ts",
74
+ "themes",
75
+ "fixtures"
64
76
  ],
65
77
  "publishConfig": {
66
78
  "registry": "https://registry.npmjs.org",
@@ -76,6 +88,7 @@
76
88
  "@typescript/native": "npm:typescript@^7.0.2",
77
89
  "eslint": "10.0.0",
78
90
  "tsup": "^8.0.0",
91
+ "tsx": "^4.22.4",
79
92
  "typescript": "npm:@typescript/typescript6@^6.0.2",
80
93
  "vitest": "^1.4.0",
81
94
  "turbo": "^2.8.17"
@@ -94,8 +107,10 @@
94
107
  ],
95
108
  "homepage": "https://github.com/almadar-io/almadar#readme",
96
109
  "scripts": {
97
- "build": "tsup",
110
+ "build": "pnpm run build:themes && pnpm run build:fixtures && tsup",
98
111
  "build:watch": "tsup --watch",
112
+ "build:fixtures": "tsx scripts/generate-event-wire-fixtures.ts && tsx scripts/generate-theme-fixtures.ts",
113
+ "build:themes": "tsx scripts/generate-theme-index.ts",
99
114
  "test": "vitest",
100
115
  "typecheck": "tsc --noEmit",
101
116
  "gen:orb-notation": "tsx scripts/gen-orb-notation.mts"
@@ -0,0 +1,207 @@
1
+ {
2
+ "name": "almadar-website",
3
+ "tokens": {
4
+ "motion": {
5
+ "durations": {
6
+ "instant": "0ms",
7
+ "fast": "var(--transition-fast)",
8
+ "normal": "var(--transition-normal)",
9
+ "slow": "var(--transition-slow)",
10
+ "dramatic": "600ms"
11
+ },
12
+ "easings": {
13
+ "linear": "linear",
14
+ "standard": "var(--transition-timing)",
15
+ "emphasized": "cubic-bezier(0.2, 0, 0, 1)",
16
+ "spring": "cubic-bezier(0.34, 1.56, 0.64, 1)"
17
+ }
18
+ },
19
+ "iconography": {
20
+ "family": "lucide",
21
+ "strokeWidth": "1.75",
22
+ "defaultSize": "16px"
23
+ },
24
+ "elevation": {
25
+ "cardElevation": "var(--shadow-sm)",
26
+ "popoverElevation": "var(--shadow-main)",
27
+ "dialogElevation": "var(--shadow-lg)",
28
+ "toastElevation": "var(--shadow-main)"
29
+ },
30
+ "geometry": {
31
+ "radiusContainer": "var(--radius-md)",
32
+ "radiusInteractive": "var(--radius-md)",
33
+ "radiusPill": "var(--radius-full)",
34
+ "borderHairline": "1px",
35
+ "borderStandard": "var(--border-width)",
36
+ "borderHeavy": "var(--border-width-thick)"
37
+ },
38
+ "colors": {
39
+ "primary": "#0f766e",
40
+ "primary-hover": "#115e59",
41
+ "primary-foreground": "#ffffff",
42
+ "secondary": "#f1f5f9",
43
+ "secondary-hover": "#e2e8f0",
44
+ "secondary-foreground": "#0f172a",
45
+ "accent": "#c9a227",
46
+ "accent-foreground": "#0f172a",
47
+ "muted": "#f1f5f9",
48
+ "muted-foreground": "#5c6b80",
49
+ "background": "#ffffff",
50
+ "foreground": "#0f172a",
51
+ "card": "#ffffff",
52
+ "card-foreground": "#0f172a",
53
+ "surface": "#f8fafc",
54
+ "border": "#e2e8f0",
55
+ "input": "#e2e8f0",
56
+ "ring": "#14b8a6",
57
+ "error": "#dc2626",
58
+ "error-foreground": "#ffffff",
59
+ "success": "#15803d",
60
+ "success-foreground": "#ffffff",
61
+ "warning": "#f59e0b",
62
+ "warning-foreground": "#000000",
63
+ "info": "#1d4ed8",
64
+ "info-foreground": "#ffffff"
65
+ },
66
+ "radii": {
67
+ "none": "0px",
68
+ "sm": "4px",
69
+ "md": "8px",
70
+ "lg": "12px",
71
+ "xl": "16px",
72
+ "full": "9999px"
73
+ },
74
+ "shadows": {
75
+ "main": "0 4px 14px rgba(15, 23, 42, 0.1), 0 1px 3px rgba(15, 23, 42, 0.06)",
76
+ "sm": "0 1px 3px rgba(15, 23, 42, 0.08)",
77
+ "lg": "0 10px 15px rgba(15, 23, 42, 0.15)",
78
+ "inner": "inset 0 1px 2px rgba(0, 0, 0, 0.05)",
79
+ "none": "none",
80
+ "hover": "0 12px 40px rgba(15, 23, 42, 0.15)",
81
+ "active": "0 2px 8px rgba(15, 23, 42, 0.1)"
82
+ },
83
+ "typography": {
84
+ "border-width": "1px",
85
+ "border-width-thin": "1px",
86
+ "border-width-thick": "2px",
87
+ "icon-color": "#14b8a6",
88
+ "transition-fast": "150ms",
89
+ "transition-normal": "250ms",
90
+ "transition-slow": "400ms",
91
+ "transition-timing": "cubic-bezier(0.4, 0, 0.2, 1)",
92
+ "hover-scale": "1.02",
93
+ "hover-translate-y": "-2px",
94
+ "hover-translate-x": "0",
95
+ "active-scale": "0.98",
96
+ "active-translate-y": "0",
97
+ "focus-ring-width": "2px",
98
+ "focus-ring-offset": "2px",
99
+ "focus-ring-color": "#14b8a6"
100
+ }
101
+ },
102
+ "variants": {
103
+ "dark": {
104
+ "motion": {
105
+ "durations": {
106
+ "instant": "0ms",
107
+ "fast": "var(--transition-fast)",
108
+ "normal": "var(--transition-normal)",
109
+ "slow": "var(--transition-slow)",
110
+ "dramatic": "600ms"
111
+ },
112
+ "easings": {
113
+ "linear": "linear",
114
+ "standard": "var(--transition-timing)",
115
+ "emphasized": "cubic-bezier(0.2, 0, 0, 1)",
116
+ "spring": "cubic-bezier(0.34, 1.56, 0.64, 1)"
117
+ }
118
+ },
119
+ "iconography": {
120
+ "family": "lucide",
121
+ "strokeWidth": "1.75",
122
+ "defaultSize": "16px"
123
+ },
124
+ "elevation": {
125
+ "cardElevation": "var(--shadow-sm)",
126
+ "popoverElevation": "var(--shadow-main)",
127
+ "dialogElevation": "var(--shadow-lg)",
128
+ "toastElevation": "var(--shadow-main)"
129
+ },
130
+ "geometry": {
131
+ "radiusContainer": "var(--radius-md)",
132
+ "radiusInteractive": "var(--radius-md)",
133
+ "radiusPill": "var(--radius-full)",
134
+ "borderHairline": "1px",
135
+ "borderStandard": "var(--border-width)",
136
+ "borderHeavy": "var(--border-width-thick)"
137
+ },
138
+ "colors": {
139
+ "primary": "#14b8a6",
140
+ "primary-hover": "#2dd4bf",
141
+ "primary-foreground": "#042f2e",
142
+ "secondary": "#1e293b",
143
+ "secondary-hover": "#334155",
144
+ "secondary-foreground": "#f1f5f9",
145
+ "accent": "#d4b44a",
146
+ "accent-foreground": "#0f172a",
147
+ "muted": "#1e293b",
148
+ "muted-foreground": "#94a3b8",
149
+ "background": "#0f172a",
150
+ "foreground": "#f8fafc",
151
+ "card": "#1e293b",
152
+ "card-foreground": "#f8fafc",
153
+ "surface": "#1e293b",
154
+ "border": "#334155",
155
+ "input": "#334155",
156
+ "ring": "#14b8a6",
157
+ "tertiary": "#c9a227",
158
+ "tertiary-hover": "#d4b44a",
159
+ "tertiary-foreground": "#0f172a",
160
+ "tertiary-muted": "rgba(201, 162, 39, 0.15)",
161
+ "error": "#f87171",
162
+ "error-foreground": "#000000",
163
+ "success": "#4ade80",
164
+ "success-foreground": "#000000",
165
+ "warning": "#fbbf24",
166
+ "warning-foreground": "#000000",
167
+ "info": "#38bdf8",
168
+ "info-foreground": "#000000"
169
+ },
170
+ "radii": {
171
+ "none": "0px",
172
+ "sm": "4px",
173
+ "md": "8px",
174
+ "lg": "12px",
175
+ "xl": "16px",
176
+ "full": "9999px"
177
+ },
178
+ "shadows": {
179
+ "main": "0 4px 14px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3)",
180
+ "sm": "0 1px 3px rgba(0, 0, 0, 0.3)",
181
+ "lg": "0 10px 15px rgba(0, 0, 0, 0.5)",
182
+ "inner": "inset 0 1px 2px rgba(0, 0, 0, 0.1)",
183
+ "none": "none",
184
+ "hover": "0 12px 40px rgba(0, 0, 0, 0.5)",
185
+ "active": "0 2px 8px rgba(0, 0, 0, 0.3)"
186
+ },
187
+ "typography": {
188
+ "border-width": "1px",
189
+ "border-width-thin": "1px",
190
+ "border-width-thick": "2px",
191
+ "icon-color": "#14b8a6",
192
+ "transition-fast": "150ms",
193
+ "transition-normal": "250ms",
194
+ "transition-slow": "400ms",
195
+ "transition-timing": "cubic-bezier(0.4, 0, 0.2, 1)",
196
+ "hover-scale": "1.02",
197
+ "hover-translate-y": "-2px",
198
+ "hover-translate-x": "0",
199
+ "active-scale": "0.98",
200
+ "active-translate-y": "0",
201
+ "focus-ring-width": "2px",
202
+ "focus-ring-offset": "2px",
203
+ "focus-ring-color": "#14b8a6"
204
+ }
205
+ }
206
+ }
207
+ }