@moldable-ai/ui 0.2.29 → 0.2.32

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 (215) hide show
  1. package/dist/catalog/component-catalog.d.ts +9 -2
  2. package/dist/catalog/component-catalog.d.ts.map +1 -1
  3. package/dist/catalog/component-catalog.js +11 -7
  4. package/dist/catalog/core-control-stories.d.ts.map +1 -1
  5. package/dist/catalog/core-control-stories.js +1 -1
  6. package/dist/catalog/core-foundation-stories.d.ts.map +1 -1
  7. package/dist/catalog/core-foundation-stories.js +5 -5
  8. package/dist/components/app-error-boundary.d.ts +1 -1
  9. package/dist/components/chat/chat-image-lightbox.d.ts +8 -0
  10. package/dist/components/chat/chat-image-lightbox.d.ts.map +1 -1
  11. package/dist/components/chat/chat-image-lightbox.js +24 -2
  12. package/dist/components/chat/chat-input.d.ts +3 -2
  13. package/dist/components/chat/chat-input.d.ts.map +1 -1
  14. package/dist/components/chat/chat-input.js +3 -3
  15. package/dist/components/chat/chat-message.d.ts.map +1 -1
  16. package/dist/components/chat/chat-message.js +3 -1
  17. package/dist/components/chat/chat-panel.d.ts +3 -1
  18. package/dist/components/chat/chat-panel.d.ts.map +1 -1
  19. package/dist/components/chat/chat-panel.js +53 -39
  20. package/dist/components/chat/conversation-history.d.ts +4 -2
  21. package/dist/components/chat/conversation-history.d.ts.map +1 -1
  22. package/dist/components/chat/conversation-history.js +20 -15
  23. package/dist/components/ui/alert.d.ts +1 -1
  24. package/dist/components/ui/app-frame.d.ts +20 -1
  25. package/dist/components/ui/app-frame.d.ts.map +1 -1
  26. package/dist/components/ui/app-frame.js +37 -7
  27. package/dist/components/ui/badge.d.ts +1 -1
  28. package/dist/components/ui/badge.js +1 -1
  29. package/dist/components/ui/button.d.ts +5 -3
  30. package/dist/components/ui/button.d.ts.map +1 -1
  31. package/dist/components/ui/button.js +39 -11
  32. package/dist/components/ui/card.d.ts +12 -2
  33. package/dist/components/ui/card.d.ts.map +1 -1
  34. package/dist/components/ui/card.js +3 -2
  35. package/dist/components/ui/checkbox.d.ts +4 -1
  36. package/dist/components/ui/checkbox.d.ts.map +1 -1
  37. package/dist/components/ui/checkbox.js +4 -4
  38. package/dist/components/ui/context-menu.d.ts.map +1 -1
  39. package/dist/components/ui/context-menu.js +7 -6
  40. package/dist/components/ui/date-field.d.ts +1 -1
  41. package/dist/components/ui/dropdown-menu.d.ts +1 -0
  42. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  43. package/dist/components/ui/dropdown-menu.js +9 -8
  44. package/dist/components/ui/icon-button.d.ts +1 -1
  45. package/dist/components/ui/icon-button.d.ts.map +1 -1
  46. package/dist/components/ui/icon-button.js +1 -0
  47. package/dist/components/ui/input.d.ts +6 -2
  48. package/dist/components/ui/input.d.ts.map +1 -1
  49. package/dist/components/ui/input.js +2 -2
  50. package/dist/components/ui/material.d.ts +8 -3
  51. package/dist/components/ui/material.d.ts.map +1 -1
  52. package/dist/components/ui/material.js +2 -2
  53. package/dist/components/ui/menu-items.d.ts +2 -1
  54. package/dist/components/ui/menu-items.d.ts.map +1 -1
  55. package/dist/components/ui/menu-items.js +3 -2
  56. package/dist/components/ui/message-scroller-controller.d.ts +15 -17
  57. package/dist/components/ui/message-scroller-controller.d.ts.map +1 -1
  58. package/dist/components/ui/message-scroller-controller.js +106 -91
  59. package/dist/components/ui/message-scroller-primitive.d.ts +2 -0
  60. package/dist/components/ui/message-scroller-primitive.d.ts.map +1 -1
  61. package/dist/components/ui/message-scroller-primitive.js +2 -0
  62. package/dist/components/ui/message-scroller.d.ts.map +1 -1
  63. package/dist/components/ui/message-scroller.js +2 -2
  64. package/dist/components/ui/number-input.d.ts +1 -1
  65. package/dist/components/ui/popover.js +1 -1
  66. package/dist/components/ui/search-field.d.ts +4 -2
  67. package/dist/components/ui/search-field.d.ts.map +1 -1
  68. package/dist/components/ui/search-field.js +16 -6
  69. package/dist/components/ui/segmented-control.d.ts +3 -1
  70. package/dist/components/ui/segmented-control.d.ts.map +1 -1
  71. package/dist/components/ui/segmented-control.js +23 -17
  72. package/dist/components/ui/select.js +2 -2
  73. package/dist/components/ui/sidebar.d.ts +10 -4
  74. package/dist/components/ui/sidebar.d.ts.map +1 -1
  75. package/dist/components/ui/sidebar.js +74 -17
  76. package/dist/components/ui/status.d.ts +1 -1
  77. package/dist/components/ui/status.js +1 -1
  78. package/dist/components/ui/switch.d.ts +3 -1
  79. package/dist/components/ui/switch.d.ts.map +1 -1
  80. package/dist/components/ui/switch.js +3 -2
  81. package/dist/components/ui/toolbar-controls.d.ts +13 -3
  82. package/dist/components/ui/toolbar-controls.d.ts.map +1 -1
  83. package/dist/components/ui/toolbar-controls.js +35 -10
  84. package/dist/components/ui/toolbar.d.ts +5 -4
  85. package/dist/components/ui/toolbar.d.ts.map +1 -1
  86. package/dist/components/ui/toolbar.js +3 -3
  87. package/dist/index.d.ts +2 -1
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +3 -1
  90. package/dist/lib/frame-lifecycle.d.ts +1 -0
  91. package/dist/lib/frame-lifecycle.d.ts.map +1 -1
  92. package/dist/lib/frame-lifecycle.js +7 -0
  93. package/dist/lib/theme.d.ts +39 -5
  94. package/dist/lib/theme.d.ts.map +1 -1
  95. package/dist/lib/theme.js +105 -17
  96. package/dist/tokens/contracts.d.ts +79 -0
  97. package/dist/tokens/contracts.d.ts.map +1 -0
  98. package/dist/tokens/contracts.js +57 -0
  99. package/dist/tokens/index.d.ts +2 -0
  100. package/dist/tokens/index.d.ts.map +1 -0
  101. package/dist/tokens/index.js +1 -0
  102. package/docs/README.md +2 -0
  103. package/docs/adaptive-materials.md +14 -9
  104. package/docs/design-tokens.md +10 -6
  105. package/docs/foundations.md +3 -3
  106. package/docs/macos-design-audit.md +144 -0
  107. package/docs/native-integration.md +4 -4
  108. package/docs/platform-architecture.md +189 -0
  109. package/docs/standalone-app-windows.md +37 -0
  110. package/docs/visual-regression.md +6 -8
  111. package/package.json +13 -1
  112. package/src/components/ui/accordion.md +46 -0
  113. package/src/components/ui/alert.md +12 -4
  114. package/src/components/ui/app-frame.md +8 -5
  115. package/src/components/ui/aspect-ratio.md +37 -0
  116. package/src/components/ui/avatar.md +48 -0
  117. package/src/components/ui/breadcrumb.md +52 -0
  118. package/src/components/ui/button-group.md +43 -0
  119. package/src/components/ui/button.md +21 -4
  120. package/src/components/ui/calendar.md +42 -0
  121. package/src/components/ui/card.md +43 -0
  122. package/src/components/ui/carousel.md +47 -0
  123. package/src/components/ui/chart.md +52 -0
  124. package/src/components/ui/checkbox.md +36 -0
  125. package/src/components/ui/collapsible.md +2 -3
  126. package/src/components/ui/color-well.md +14 -4
  127. package/src/components/ui/combobox.md +3 -3
  128. package/src/components/ui/confirm-dialog.md +5 -4
  129. package/src/components/ui/context-menu.md +3 -2
  130. package/src/components/ui/date-field.md +6 -1
  131. package/src/components/ui/date-picker.md +6 -3
  132. package/src/components/ui/dialog.md +14 -12
  133. package/src/components/ui/drawer.md +58 -0
  134. package/src/components/ui/dropdown-menu.md +16 -14
  135. package/src/components/ui/error-boundary-view.md +1 -1
  136. package/src/components/ui/field.md +2 -1
  137. package/src/components/ui/form.md +71 -0
  138. package/src/components/ui/grid.md +4 -3
  139. package/src/components/ui/icon-button.md +4 -1
  140. package/src/components/ui/input-group.md +49 -0
  141. package/src/components/ui/input-otp.md +56 -0
  142. package/src/components/ui/input.md +40 -0
  143. package/src/components/ui/inspector.md +47 -7
  144. package/src/components/ui/item.md +5 -3
  145. package/src/components/ui/kbd.md +30 -0
  146. package/src/components/ui/label.md +29 -0
  147. package/src/components/ui/list.md +2 -2
  148. package/src/components/ui/material.md +25 -12
  149. package/src/components/ui/menu-items.md +62 -0
  150. package/src/components/ui/menubar.md +58 -0
  151. package/src/components/ui/message-scroller-primitive.md +70 -0
  152. package/src/components/ui/message-scroller.md +89 -0
  153. package/src/components/ui/navigation-button-group.md +4 -3
  154. package/src/components/ui/navigation-menu.md +52 -0
  155. package/src/components/ui/number-input.md +8 -0
  156. package/src/components/ui/pagination.md +51 -0
  157. package/src/components/ui/panel.md +6 -0
  158. package/src/components/ui/popover.md +10 -7
  159. package/src/components/ui/progress.md +31 -0
  160. package/src/components/ui/radio-group.md +36 -0
  161. package/src/components/ui/resizable.md +2 -1
  162. package/src/components/ui/scroll-area.md +3 -1
  163. package/src/components/ui/search-field.md +6 -1
  164. package/src/components/ui/segmented-control.md +6 -1
  165. package/src/components/ui/separator.md +35 -0
  166. package/src/components/ui/sidebar.md +29 -6
  167. package/src/components/ui/skeleton.md +36 -0
  168. package/src/components/ui/slider.md +58 -0
  169. package/src/components/ui/spinner.md +41 -0
  170. package/src/components/ui/split-view.md +8 -4
  171. package/src/components/ui/switch.md +44 -0
  172. package/src/components/ui/table.md +7 -7
  173. package/src/components/ui/tabs.md +3 -1
  174. package/src/components/ui/textarea.md +41 -0
  175. package/src/components/ui/toggle-group.md +2 -2
  176. package/src/components/ui/toggle.md +9 -9
  177. package/src/components/ui/toolbar-controls.md +24 -12
  178. package/src/components/ui/toolbar.md +6 -6
  179. package/src/styles/index.css +298 -117
  180. package/src/tokens/contracts.ts +131 -0
  181. package/src/tokens/index.css +6 -0
  182. package/src/tokens/index.ts +23 -0
  183. package/src/tokens/macos-26/README.md +37 -0
  184. package/src/tokens/macos-26/aliases.css +53 -0
  185. package/src/tokens/macos-26/compatibility.css +7 -0
  186. package/src/tokens/macos-26/index.css +3 -0
  187. package/src/tokens/macos-26/source/provenance.generated.json +28 -0
  188. package/src/tokens/macos-26/source/sidebar.generated.css +29 -0
  189. package/src/tokens/macos-26/source.css +7 -0
  190. package/src/tokens/macos-26/web-adaptations.json +25 -0
  191. package/src/tokens/macos-26/web-adaptations.md +15 -0
  192. package/src/tokens/macos-27/accessibility.css +11 -0
  193. package/src/tokens/macos-27/aliases.css +304 -0
  194. package/src/tokens/macos-27/compatibility.css +212 -0
  195. package/src/tokens/macos-27/index.css +15 -0
  196. package/src/tokens/macos-27/recipes.css +23 -0
  197. package/src/tokens/macos-27/source/chrome.generated.css +338 -0
  198. package/src/tokens/macos-27/source/colors.generated.css +140 -0
  199. package/src/tokens/macos-27/source/context.generated.css +18 -0
  200. package/src/tokens/macos-27/source/controls.generated.css +764 -0
  201. package/src/tokens/macos-27/source/effects.generated.css +68 -0
  202. package/src/tokens/macos-27/source/kit.generated.css +50 -0
  203. package/src/tokens/macos-27/source/overlays-status.generated.css +931 -0
  204. package/src/tokens/macos-27/source/paint-styles.generated.css +81 -0
  205. package/src/tokens/macos-27/source/provenance.generated.json +62 -0
  206. package/src/tokens/macos-27/source/sizes.generated.css +385 -0
  207. package/src/tokens/macos-27/source/source.generated.json +554 -0
  208. package/src/tokens/macos-27/source/text-styles.generated.css +116 -0
  209. package/src/tokens/macos-27/source.css +17 -0
  210. package/src/tokens/macos-27/web-adaptations.css +98 -0
  211. package/src/tokens/macos-27/web-adaptations.json +163 -0
  212. package/src/tokens/macos-27/web-adaptations.md +117 -0
  213. package/src/tokens/moldable/brand.css +165 -0
  214. package/src/tokens/moldable/index.css +1 -0
  215. package/src/tokens/platform-contract.test.ts +294 -0
@@ -0,0 +1,554 @@
1
+ {
2
+ "source": "macOS 27",
3
+ "schemaVersion": 1,
4
+ "materials": {
5
+ "taxonomy": {
6
+ "set": { "width": 260, "height": 580 },
7
+ "variant": { "width": 100, "height": 100 },
8
+ "modes": ["Light", "Dark"],
9
+ "types": ["Ultra Thick", "Thick", "Medium", "Thin", "Ultra Thin"]
10
+ },
11
+ "behavior": {
12
+ "backgroundBlur": 60,
13
+ "cornerRadius": "caller supplied",
14
+ "cornerSmoothing": 0.6
15
+ },
16
+ "styles": {
17
+ "Materials/Ultrathick": [
18
+ { "color": "#333333", "opacity": 1, "blend": "LINEAR_DODGE" },
19
+ { "color": "#ECECEC", "opacity": 0.88, "blend": "NORMAL" }
20
+ ],
21
+ "Materials/Thick": [
22
+ { "color": "#F6F6F6", "opacity": 0.72, "blend": "NORMAL" }
23
+ ],
24
+ "Materials/Medium": [
25
+ { "color": "#F6F6F6", "opacity": 0.6, "blend": "NORMAL" }
26
+ ],
27
+ "Materials/Thin": [
28
+ { "color": "#F6F6F6", "opacity": 0.48, "blend": "NORMAL" }
29
+ ],
30
+ "Materials/Ultrathin": [
31
+ { "color": "#F6F6F6", "opacity": 0.36, "blend": "NORMAL" }
32
+ ],
33
+ "Materials/Ultrathick - Dark": [
34
+ { "color": "#000000", "opacity": 0.5, "blend": "NORMAL" }
35
+ ],
36
+ "Materials/Thick - Dark": [
37
+ { "color": "#000000", "opacity": 0.4, "blend": "NORMAL" }
38
+ ],
39
+ "Materials/Medium - Dark": [
40
+ { "color": "#000000", "opacity": 0.29, "blend": "NORMAL" }
41
+ ],
42
+ "Materials/Thin - Dark": [
43
+ { "color": "#000000", "opacity": 0.2, "blend": "NORMAL" }
44
+ ],
45
+ "Materials/Ultrathin - Dark": [
46
+ { "color": "#000000", "opacity": 0.1, "blend": "NORMAL" }
47
+ ]
48
+ }
49
+ },
50
+ "liquidGlass": {
51
+ "taxonomy": {
52
+ "small": {
53
+ "width": 48,
54
+ "height": 48,
55
+ "variants": {
56
+ "mode": ["Light", "Dark"],
57
+ "active": [true, false],
58
+ "state": ["Default", "Primary"]
59
+ }
60
+ },
61
+ "medium": {
62
+ "width": 160,
63
+ "height": 160,
64
+ "variants": { "mode": ["Light", "Dark"] }
65
+ },
66
+ "large": {
67
+ "width": 160,
68
+ "height": 160,
69
+ "variants": { "mode": ["Light", "Dark"] }
70
+ }
71
+ },
72
+ "core": {
73
+ "small": {
74
+ "lightIntensity": 0.25,
75
+ "lightAngle": 0,
76
+ "refraction": 0.7,
77
+ "depth": 30,
78
+ "dispersion": 0.2,
79
+ "frostRadius": 6
80
+ },
81
+ "medium": {
82
+ "lightIntensity": 0.25,
83
+ "lightAngle": 0,
84
+ "refraction": 0.7,
85
+ "depth": 30,
86
+ "dispersion": 0.2,
87
+ "frostRadius": 16
88
+ },
89
+ "large": {
90
+ "lightIntensity": 0.25,
91
+ "lightAngle": 0,
92
+ "refraction": 0.7,
93
+ "depth": 30,
94
+ "dispersion": 0.2,
95
+ "frostRadius": 16
96
+ }
97
+ },
98
+ "mediumAndLarge": {
99
+ "geometry": {
100
+ "width": 160,
101
+ "height": 160,
102
+ "radius": 34,
103
+ "cornerSmoothing": 0.6
104
+ },
105
+ "light": {
106
+ "fills": [
107
+ { "color": "#FFFFFF", "opacity": 0.7, "blend": "LIGHTEN" },
108
+ { "color": "#BFBFBF", "opacity": 0.1, "blend": "DARKEN" }
109
+ ],
110
+ "shadows": [
111
+ {
112
+ "color": "#00000040",
113
+ "x": 0,
114
+ "y": 18,
115
+ "blur": 48,
116
+ "spread": 0,
117
+ "blend": "NORMAL"
118
+ },
119
+ {
120
+ "color": "#DBDBDB",
121
+ "x": 0,
122
+ "y": 0,
123
+ "blur": 0,
124
+ "spread": 0.5,
125
+ "blend": "LINEAR_BURN"
126
+ },
127
+ {
128
+ "color": "#DBDBDB",
129
+ "x": -1.25,
130
+ "y": 0,
131
+ "blur": 0,
132
+ "spread": -0.75,
133
+ "blend": "LINEAR_BURN"
134
+ },
135
+ {
136
+ "color": "#DBDBDB",
137
+ "x": 1.25,
138
+ "y": 0,
139
+ "blur": 0,
140
+ "spread": -0.75,
141
+ "blend": "LINEAR_BURN"
142
+ }
143
+ ]
144
+ },
145
+ "dark": {
146
+ "fills": [
147
+ { "color": "#1A1A1A", "opacity": 0.7, "blend": "LUMINOSITY" },
148
+ { "color": "#1A1A1A", "opacity": 0.9, "blend": "LUMINOSITY" },
149
+ { "color": "#1A1A1A", "opacity": 1, "blend": "LIGHTEN" }
150
+ ],
151
+ "shadows": [
152
+ {
153
+ "color": "#00000073",
154
+ "x": 0,
155
+ "y": 18,
156
+ "blur": 48,
157
+ "spread": 0,
158
+ "blend": "NORMAL"
159
+ },
160
+ {
161
+ "color": "#A6A6A6",
162
+ "x": 0,
163
+ "y": 0,
164
+ "blur": 0,
165
+ "spread": 0.5,
166
+ "blend": "LINEAR_BURN"
167
+ },
168
+ {
169
+ "color": "#A6A6A6",
170
+ "x": -1.25,
171
+ "y": 0,
172
+ "blur": 0,
173
+ "spread": -0.75,
174
+ "blend": "LINEAR_BURN"
175
+ },
176
+ {
177
+ "color": "#A6A6A6",
178
+ "x": 1.25,
179
+ "y": 0,
180
+ "blur": 0,
181
+ "spread": -0.75,
182
+ "blend": "LINEAR_BURN"
183
+ }
184
+ ]
185
+ },
186
+ "glassLayer": {
187
+ "fill": { "color": "#FFFFFF", "opacity": 1, "blend": "MULTIPLY" },
188
+ "innerShadows": {
189
+ "light": [
190
+ {
191
+ "color": "#E6E6E6",
192
+ "x": 0,
193
+ "y": 40,
194
+ "blur": 30,
195
+ "spread": -40,
196
+ "blend": "LINEAR_BURN",
197
+ "visible": false
198
+ },
199
+ {
200
+ "color": "#282828",
201
+ "x": 0,
202
+ "y": -40,
203
+ "blur": 10,
204
+ "spread": -40,
205
+ "blend": "LINEAR_DODGE",
206
+ "visible": true
207
+ },
208
+ {
209
+ "color": "#282828",
210
+ "x": 0,
211
+ "y": 40,
212
+ "blur": 10,
213
+ "spread": -40,
214
+ "blend": "LINEAR_DODGE",
215
+ "visible": true
216
+ }
217
+ ],
218
+ "dark": [
219
+ {
220
+ "color": "#E6E6E6",
221
+ "x": 0,
222
+ "y": 40,
223
+ "blur": 30,
224
+ "spread": -40,
225
+ "blend": "LINEAR_BURN",
226
+ "visible": false
227
+ },
228
+ {
229
+ "color": "#1A1A1A",
230
+ "x": 0,
231
+ "y": -40,
232
+ "blur": 10,
233
+ "spread": -40,
234
+ "blend": "LINEAR_DODGE",
235
+ "visible": true
236
+ },
237
+ {
238
+ "color": "#1A1A1A",
239
+ "x": 0,
240
+ "y": 40,
241
+ "blur": 10,
242
+ "spread": -40,
243
+ "blend": "LINEAR_DODGE",
244
+ "visible": true
245
+ }
246
+ ]
247
+ }
248
+ }
249
+ },
250
+ "smallActiveDefault": {
251
+ "geometry": { "radius": 1000, "cornerSmoothing": 0.6 },
252
+ "light": {
253
+ "fills": [
254
+ { "color": "#000000", "opacity": 0.25, "blend": "NORMAL" },
255
+ { "color": "#FFFFFF", "opacity": 0.25, "blend": "NORMAL" },
256
+ { "color": "#444444", "opacity": 0.6, "blend": "LINEAR_DODGE" },
257
+ { "color": "#F8F8F8", "opacity": 0.2, "blend": "LUMINOSITY" }
258
+ ],
259
+ "shadows": [
260
+ { "color": "#00000005", "x": 0, "y": 8, "blur": 15, "spread": 0 },
261
+ {
262
+ "color": "#E8E8E8",
263
+ "x": 0,
264
+ "y": 0,
265
+ "blur": 0,
266
+ "spread": 0.5,
267
+ "blend": "LINEAR_BURN"
268
+ },
269
+ {
270
+ "color": "#D0D0D0",
271
+ "x": -1.25,
272
+ "y": 0,
273
+ "blur": 0,
274
+ "spread": -0.75,
275
+ "blend": "LINEAR_BURN"
276
+ },
277
+ {
278
+ "color": "#D0D0D0",
279
+ "x": 1.25,
280
+ "y": 0,
281
+ "blur": 0,
282
+ "spread": -0.75,
283
+ "blend": "LINEAR_BURN"
284
+ }
285
+ ]
286
+ },
287
+ "dark": {
288
+ "fills": [
289
+ { "color": "#999999", "opacity": 0.17, "blend": "LUMINOSITY" }
290
+ ],
291
+ "shadows": [
292
+ { "color": "#0000000A", "x": 0, "y": 8, "blur": 15, "spread": 0 },
293
+ {
294
+ "color": "#A6A6A6",
295
+ "x": 0,
296
+ "y": 0,
297
+ "blur": 0,
298
+ "spread": 0.5,
299
+ "blend": "LINEAR_BURN"
300
+ },
301
+ {
302
+ "color": "#A6A6A6",
303
+ "x": -1.25,
304
+ "y": 0,
305
+ "blur": 0,
306
+ "spread": -0.75,
307
+ "blend": "LINEAR_BURN"
308
+ },
309
+ {
310
+ "color": "#A6A6A6",
311
+ "x": 1.25,
312
+ "y": 0,
313
+ "blur": 0,
314
+ "spread": -0.75,
315
+ "blend": "LINEAR_BURN"
316
+ }
317
+ ]
318
+ },
319
+ "glassLayer": {
320
+ "fill": { "color": "#FFFFFF", "opacity": 1, "blend": "MULTIPLY" },
321
+ "innerShadows": {
322
+ "light": [
323
+ {
324
+ "color": "#E6E6E6",
325
+ "x": 0,
326
+ "y": 40,
327
+ "blur": 30,
328
+ "spread": -40,
329
+ "blend": "LINEAR_BURN"
330
+ },
331
+ {
332
+ "color": "#282828",
333
+ "x": 0,
334
+ "y": -40,
335
+ "blur": 10,
336
+ "spread": -40,
337
+ "blend": "LINEAR_DODGE"
338
+ },
339
+ {
340
+ "color": "#282828",
341
+ "x": 0,
342
+ "y": 40,
343
+ "blur": 10,
344
+ "spread": -40,
345
+ "blend": "LINEAR_DODGE"
346
+ }
347
+ ],
348
+ "dark": [
349
+ {
350
+ "color": "#E6E6E6",
351
+ "x": 0,
352
+ "y": 40,
353
+ "blur": 30,
354
+ "spread": -40,
355
+ "blend": "LINEAR_BURN"
356
+ },
357
+ {
358
+ "color": "#1A1A1A",
359
+ "x": 0,
360
+ "y": -40,
361
+ "blur": 10,
362
+ "spread": -40,
363
+ "blend": "LINEAR_DODGE"
364
+ },
365
+ {
366
+ "color": "#1A1A1A",
367
+ "x": 0,
368
+ "y": 40,
369
+ "blur": 10,
370
+ "spread": -40,
371
+ "blend": "LINEAR_DODGE"
372
+ }
373
+ ]
374
+ }
375
+ }
376
+ },
377
+ "smallActivePrimary": {
378
+ "inherits": [
379
+ "smallActiveDefault.geometry",
380
+ "smallActiveDefault.glassLayer"
381
+ ],
382
+ "whiteBacking": {
383
+ "width": 49,
384
+ "height": 49,
385
+ "color": "#FFFFFF",
386
+ "opacity": 0.94
387
+ },
388
+ "tint": {
389
+ "width": 49,
390
+ "height": 49,
391
+ "token": "Accents/Blue",
392
+ "resolvedLight": "#0088FF",
393
+ "blend": "LINEAR_BURN"
394
+ },
395
+ "shadows": {
396
+ "light": [
397
+ { "color": "#00000005", "x": 0, "y": 8, "blur": 15 },
398
+ {
399
+ "color": "#E6E6E6",
400
+ "x": -1.25,
401
+ "y": 0,
402
+ "spread": -0.75,
403
+ "blend": "LINEAR_BURN"
404
+ },
405
+ {
406
+ "color": "#E6E6E6",
407
+ "x": 1.25,
408
+ "y": 0,
409
+ "spread": -0.75,
410
+ "blend": "LINEAR_BURN"
411
+ }
412
+ ],
413
+ "dark": [
414
+ { "color": "#0000000A", "x": 0, "y": 8, "blur": 15 },
415
+ {
416
+ "color": "#E6E6E6",
417
+ "x": -1.25,
418
+ "y": 0,
419
+ "spread": -0.75,
420
+ "blend": "LINEAR_BURN"
421
+ },
422
+ {
423
+ "color": "#E6E6E6",
424
+ "x": 1.25,
425
+ "y": 0,
426
+ "spread": -0.75,
427
+ "blend": "LINEAR_BURN"
428
+ }
429
+ ]
430
+ }
431
+ },
432
+ "smallInactive": {
433
+ "primaryAndDefaultAreIdentical": true,
434
+ "light": {
435
+ "shadowLayer": {
436
+ "fill": { "color": "#FFFFFF", "blend": "MULTIPLY" },
437
+ "shadows": [
438
+ {
439
+ "color": "#EBEBEB",
440
+ "x": 0,
441
+ "y": 0,
442
+ "spread": 0.5,
443
+ "blend": "LINEAR_BURN"
444
+ },
445
+ {
446
+ "color": "#F2F2F2",
447
+ "x": -0.75,
448
+ "y": 0,
449
+ "blur": 0.25,
450
+ "blend": "LINEAR_BURN"
451
+ },
452
+ {
453
+ "color": "#F2F2F2",
454
+ "x": 0.75,
455
+ "y": 0,
456
+ "blur": 0.25,
457
+ "blend": "LINEAR_BURN"
458
+ }
459
+ ]
460
+ },
461
+ "fillLayer": {
462
+ "token": "Fills - Vibrant (Use Plus Lighter | Darker)/Quinary",
463
+ "resolved": "#FBFBFB",
464
+ "blend": "LINEAR_BURN"
465
+ }
466
+ },
467
+ "dark": {
468
+ "shadowLayer": {
469
+ "fill": { "color": "#000000", "blend": "SCREEN" },
470
+ "shadows": [
471
+ {
472
+ "color": "#E6E6E6",
473
+ "x": 0,
474
+ "y": 0,
475
+ "spread": 0.5,
476
+ "blend": "LINEAR_BURN"
477
+ },
478
+ {
479
+ "color": "#CCCCCC",
480
+ "x": -0.75,
481
+ "y": 0,
482
+ "blur": 0.25,
483
+ "blend": "LINEAR_BURN"
484
+ },
485
+ {
486
+ "color": "#CCCCCC",
487
+ "x": 0.75,
488
+ "y": 0,
489
+ "blur": 0.25,
490
+ "blend": "LINEAR_BURN"
491
+ }
492
+ ]
493
+ },
494
+ "fillLayer": {
495
+ "token": "Fills - Vibrant (Use Plus Lighter | Darker)/Tertiary",
496
+ "resolved": "#0D0D0D",
497
+ "blend": "LINEAR_DODGE"
498
+ }
499
+ }
500
+ }
501
+ },
502
+ "scrollEdgeEffects": {
503
+ "soft": {
504
+ "width": 200,
505
+ "height": 200,
506
+ "variants": { "edge": ["Top", "Bottom"] },
507
+ "gradientMask": {
508
+ "type": "GRADIENT_LINEAR",
509
+ "top": [
510
+ { "position": 0, "color": "#000000" },
511
+ { "position": 1, "color": "#00000000" }
512
+ ],
513
+ "bottom": {
514
+ "opacity": 0.9,
515
+ "stops": [
516
+ { "position": 0, "color": "#FF0000" },
517
+ { "position": 1, "color": "#FF000000" }
518
+ ]
519
+ }
520
+ },
521
+ "blurLayer": {
522
+ "fill": { "color": "#000000", "blend": "SCREEN" },
523
+ "opacity": 0.9,
524
+ "backgroundBlur": 100
525
+ }
526
+ },
527
+ "hard": {
528
+ "width": 200,
529
+ "height": 200,
530
+ "variants": {
531
+ "mode": ["Light", "Dark"],
532
+ "edge": ["Top", "Bottom"]
533
+ },
534
+ "light": {
535
+ "fill": { "color": "#FFFFFF", "opacity": 0.85 },
536
+ "stroke": {
537
+ "color": "#000000",
538
+ "opacity": 0.05,
539
+ "align": "INSIDE"
540
+ },
541
+ "backgroundBlur": 6
542
+ },
543
+ "dark": {
544
+ "fill": { "color": "#1F1F1F", "opacity": 0.55 },
545
+ "stroke": {
546
+ "color": "#FFFFFF",
547
+ "opacity": 0.1,
548
+ "align": "INSIDE"
549
+ },
550
+ "backgroundBlur": 6
551
+ }
552
+ }
553
+ }
554
+ }
@@ -0,0 +1,116 @@
1
+ /*
2
+ * Generated source data.
3
+ * Source: macOS 27.
4
+ * All 22 local text styles are represented without distributing font files.
5
+ */
6
+ [data-ui-platform='macos'][data-ui-platform-version='27'] {
7
+ --m27-source-font-family-ui:
8
+ 'SF Pro', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
9
+ sans-serif;
10
+ --m27-source-font-family-inter: 'Inter', system-ui, sans-serif;
11
+ --m27-source-font-weight-regular: 400;
12
+ --m27-source-font-weight-medium: 500;
13
+ --m27-source-font-weight-semibold: 600;
14
+ --m27-source-font-weight-bold: 700;
15
+ --m27-source-font-weight-heavy: 800;
16
+ --m27-source-type-letter-spacing: 0%;
17
+ --m27-source-type-paragraph-spacing: 0;
18
+ --m27-source-type-paragraph-indent: 0;
19
+ --m27-source-type-case: original;
20
+ --m27-source-type-decoration: none;
21
+
22
+ --m27-source-type-large-title-size: 26px;
23
+ --m27-source-type-large-title-line-height: 32px;
24
+ --m27-source-type-large-title-regular-family: var(
25
+ --m27-source-font-family-ui
26
+ );
27
+ --m27-source-type-large-title-regular-weight: 400;
28
+ --m27-source-type-large-title-emphasized-family: var(
29
+ --m27-source-font-family-ui
30
+ );
31
+ --m27-source-type-large-title-emphasized-weight: 700;
32
+
33
+ --m27-source-type-title-1-size: 22px;
34
+ --m27-source-type-title-1-line-height: 26px;
35
+ --m27-source-type-title-1-regular-family: var(--m27-source-font-family-ui);
36
+ --m27-source-type-title-1-regular-weight: 400;
37
+ --m27-source-type-title-1-emphasized-family: var(--m27-source-font-family-ui);
38
+ --m27-source-type-title-1-emphasized-weight: 700;
39
+
40
+ --m27-source-type-title-2-size: 17px;
41
+ --m27-source-type-title-2-line-height: 22px;
42
+ --m27-source-type-title-2-regular-family: var(--m27-source-font-family-ui);
43
+ --m27-source-type-title-2-regular-weight: 400;
44
+ --m27-source-type-title-2-emphasized-family: var(
45
+ --m27-source-font-family-inter
46
+ );
47
+ --m27-source-type-title-2-emphasized-weight: 700;
48
+
49
+ --m27-source-type-title-3-size: 15px;
50
+ --m27-source-type-title-3-line-height: 20px;
51
+ --m27-source-type-title-3-regular-family: var(--m27-source-font-family-ui);
52
+ --m27-source-type-title-3-regular-weight: 400;
53
+ --m27-source-type-title-3-emphasized-family: var(--m27-source-font-family-ui);
54
+ --m27-source-type-title-3-emphasized-weight: 600;
55
+
56
+ --m27-source-type-headline-size: 13px;
57
+ --m27-source-type-headline-line-height: 16px;
58
+ --m27-source-type-headline-regular-family: var(--m27-source-font-family-ui);
59
+ --m27-source-type-headline-regular-weight: 700;
60
+ --m27-source-type-headline-emphasized-family: var(
61
+ --m27-source-font-family-ui
62
+ );
63
+ --m27-source-type-headline-emphasized-weight: 800;
64
+
65
+ --m27-source-type-body-size: 13px;
66
+ --m27-source-type-body-line-height: 16px;
67
+ --m27-source-type-body-regular-family: var(--m27-source-font-family-ui);
68
+ --m27-source-type-body-regular-weight: 400;
69
+ --m27-source-type-body-emphasized-family: var(--m27-source-font-family-ui);
70
+ --m27-source-type-body-emphasized-weight: 600;
71
+
72
+ --m27-source-type-callout-size: 12px;
73
+ --m27-source-type-callout-line-height: 15px;
74
+ --m27-source-type-callout-regular-family: var(--m27-source-font-family-ui);
75
+ --m27-source-type-callout-regular-weight: 400;
76
+ --m27-source-type-callout-emphasized-family: var(--m27-source-font-family-ui);
77
+ --m27-source-type-callout-emphasized-weight: 600;
78
+
79
+ --m27-source-type-subheadline-size: 11px;
80
+ --m27-source-type-subheadline-line-height: 14px;
81
+ --m27-source-type-subheadline-regular-family: var(
82
+ --m27-source-font-family-ui
83
+ );
84
+ --m27-source-type-subheadline-regular-weight: 400;
85
+ --m27-source-type-subheadline-emphasized-family: var(
86
+ --m27-source-font-family-ui
87
+ );
88
+ --m27-source-type-subheadline-emphasized-weight: 600;
89
+
90
+ --m27-source-type-footnote-size: 10px;
91
+ --m27-source-type-footnote-line-height: 13px;
92
+ --m27-source-type-footnote-regular-family: var(--m27-source-font-family-ui);
93
+ --m27-source-type-footnote-regular-weight: 400;
94
+ --m27-source-type-footnote-emphasized-family: var(
95
+ --m27-source-font-family-ui
96
+ );
97
+ --m27-source-type-footnote-emphasized-weight: 600;
98
+
99
+ --m27-source-type-caption-1-size: 10px;
100
+ --m27-source-type-caption-1-line-height: 13px;
101
+ --m27-source-type-caption-1-regular-family: var(--m27-source-font-family-ui);
102
+ --m27-source-type-caption-1-regular-weight: 400;
103
+ --m27-source-type-caption-1-emphasized-family: var(
104
+ --m27-source-font-family-ui
105
+ );
106
+ --m27-source-type-caption-1-emphasized-weight: 500;
107
+
108
+ --m27-source-type-caption-2-size: 10px;
109
+ --m27-source-type-caption-2-line-height: 13px;
110
+ --m27-source-type-caption-2-regular-family: var(--m27-source-font-family-ui);
111
+ --m27-source-type-caption-2-regular-weight: 500;
112
+ --m27-source-type-caption-2-emphasized-family: var(
113
+ --m27-source-font-family-ui
114
+ );
115
+ --m27-source-type-caption-2-emphasized-weight: 600;
116
+ }
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Immutable macOS 27 source specification.
3
+ *
4
+ * This entry point intentionally excludes Moldable aliases, compatibility
5
+ * mappings, component recipes, Tailwind integration, and accessibility
6
+ * overrides. It exists for source-faithful calibration and platform adapters.
7
+ */
8
+ @import './source/colors.generated.css';
9
+ @import './source/sizes.generated.css';
10
+ @import './source/text-styles.generated.css';
11
+ @import './source/paint-styles.generated.css';
12
+ @import './source/kit.generated.css';
13
+ @import './source/effects.generated.css';
14
+ @import './source/context.generated.css';
15
+ @import './source/chrome.generated.css';
16
+ @import './source/controls.generated.css';
17
+ @import './source/overlays-status.generated.css';