@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,931 @@
1
+ /*
2
+ * Generated presentation and status source data.
3
+ * Source: macOS 27.
4
+ * Values only. No artwork, symbols, vectors, images, or component code.
5
+ *
6
+ * Appearance, layout, placement, activity, size, and progress remain
7
+ * independent state axes. Reference dimensions are retained as references.
8
+ */
9
+
10
+ [data-ui-platform='macos'][data-ui-platform-version='27'] {
11
+ /* Shared geometry */
12
+ --m27-source-presentation-corner-smoothing: 60%;
13
+ --m27-source-presentation-pill-radius: 100px;
14
+ --m27-source-modal-overlay: #00000033;
15
+
16
+ /* Alert geometry */
17
+ --m27-source-alert-width: 260px;
18
+ --m27-source-alert-stacked-height: 216px;
19
+ --m27-source-alert-side-by-side-height: 152px;
20
+ --m27-source-alert-radius: 10px;
21
+ --m27-source-alert-padding-block-start: 20px;
22
+ --m27-source-alert-padding-inline-end: 16px;
23
+ --m27-source-alert-padding-block-end: 16px;
24
+ --m27-source-alert-padding-inline-start: 16px;
25
+ --m27-source-alert-major-gap: 14px;
26
+ --m27-source-alert-text-width: 228px;
27
+ --m27-source-alert-text-height: 70px;
28
+ --m27-source-alert-text-padding-inline: 6px;
29
+ --m27-source-alert-text-padding-block-end: 2px;
30
+ --m27-source-alert-text-gap: 10px;
31
+ --m27-source-alert-icon-region-width: 228px;
32
+ --m27-source-alert-icon-region-height: 64px;
33
+ --m27-source-alert-icon-region-padding-inline: 6px;
34
+ --m27-source-alert-icon-region-gap: 10px;
35
+ --m27-source-alert-actions-offset-block-start: 104px;
36
+ --m27-source-alert-stacked-actions-width: 228px;
37
+ --m27-source-alert-stacked-actions-height: 96px;
38
+ --m27-source-alert-stacked-action-width: 228px;
39
+ --m27-source-alert-stacked-action-height: 28px;
40
+ --m27-source-alert-stacked-action-gap: 6px;
41
+ --m27-source-alert-side-by-side-actions-width: 228px;
42
+ --m27-source-alert-side-by-side-actions-height: 32px;
43
+ --m27-source-alert-side-by-side-action-width: 110px;
44
+ --m27-source-alert-side-by-side-action-height: 32px;
45
+ --m27-source-alert-side-by-side-action-gap: 8px;
46
+ --m27-source-alert-action-reference-width: 160px;
47
+ --m27-source-alert-action-reference-height: 28px;
48
+ --m27-source-alert-action-radius: 100px;
49
+ --m27-source-alert-action-padding-inline: 8px;
50
+ --m27-source-alert-destructive-background-opacity: 0.23;
51
+
52
+ /* Alert typography */
53
+ --m27-source-alert-title-font-size: 13px;
54
+ --m27-source-alert-title-line-height: 16px;
55
+ --m27-source-alert-title-font-weight: 700;
56
+ --m27-source-alert-title-letter-spacing: 0;
57
+ --m27-source-alert-message-font-size: 11px;
58
+ --m27-source-alert-message-line-height: 14px;
59
+ --m27-source-alert-message-font-weight: 400;
60
+ --m27-source-alert-message-letter-spacing: 0;
61
+ --m27-source-alert-action-font-size: 13px;
62
+ --m27-source-alert-action-line-height: 16px;
63
+ --m27-source-alert-action-font-weight: 500;
64
+ --m27-source-alert-action-letter-spacing: 0;
65
+
66
+ /* Alert large-material geometry and effects */
67
+ --m27-source-alert-material-glass-radius: 16px;
68
+ --m27-source-alert-material-shadow-offset-x: 0px;
69
+ --m27-source-alert-material-shadow-offset-y: 18px;
70
+ --m27-source-alert-material-shadow-blur: 48px;
71
+ --m27-source-alert-material-shadow-spread: 0px;
72
+ --m27-source-alert-material-perimeter-offset-x: 0px;
73
+ --m27-source-alert-material-perimeter-offset-y: 0px;
74
+ --m27-source-alert-material-perimeter-blur: 0px;
75
+ --m27-source-alert-material-perimeter-spread: 0.5px;
76
+ --m27-source-alert-material-side-edge-offset: 1.25px;
77
+ --m27-source-alert-material-side-edge-blur: 0px;
78
+ --m27-source-alert-material-side-edge-spread: -0.75px;
79
+ --m27-source-alert-material-inner-edge-offset-x: 0px;
80
+ --m27-source-alert-material-inner-edge-offset-y-positive: 40px;
81
+ --m27-source-alert-material-inner-edge-offset-y-negative: -40px;
82
+ --m27-source-alert-material-inner-edge-blur: 10px;
83
+ --m27-source-alert-material-inner-edge-spread: -40px;
84
+
85
+ /* Compact dialog reference */
86
+ --m27-source-dialog-radius: 16px;
87
+ --m27-source-dialog-compact-reference-width: 390px;
88
+ --m27-source-dialog-compact-reference-height: 318px;
89
+ --m27-source-dialog-compact-form-width: 390px;
90
+ --m27-source-dialog-compact-form-height: 262px;
91
+ --m27-source-dialog-compact-form-padding-block-start: 20px;
92
+ --m27-source-dialog-compact-form-padding-inline: 40px;
93
+ --m27-source-dialog-compact-form-padding-block-end: 10px;
94
+ --m27-source-dialog-compact-column-gap: 6px;
95
+ --m27-source-dialog-compact-label-column-width: 81px;
96
+ --m27-source-dialog-compact-control-column-width: 223px;
97
+ --m27-source-dialog-compact-column-height: 232px;
98
+ --m27-source-dialog-compact-control-height: 24px;
99
+ --m27-source-dialog-compact-popup-width: 223px;
100
+ --m27-source-dialog-compact-short-popup-width: 191px;
101
+ --m27-source-dialog-compact-actions-height: 56px;
102
+ --m27-source-dialog-compact-actions-padding-block-start: 12px;
103
+ --m27-source-dialog-compact-actions-padding-inline: 20px;
104
+ --m27-source-dialog-compact-actions-padding-block-end: 20px;
105
+ --m27-source-dialog-compact-action-gap: 8px;
106
+ --m27-source-dialog-compact-leading-action-width: 73px;
107
+ --m27-source-dialog-compact-flex-reference-width: 105px;
108
+ --m27-source-dialog-compact-trailing-action-width: 74px;
109
+ --m27-source-dialog-compact-default-action-width: 74px;
110
+
111
+ /* Expanded dialog reference */
112
+ --m27-source-dialog-expanded-reference-width: 1000px;
113
+ --m27-source-dialog-expanded-reference-height: 448px;
114
+ --m27-source-dialog-expanded-sidebar-width: 210px;
115
+ --m27-source-dialog-expanded-main-width: 790px;
116
+ --m27-source-dialog-expanded-form-height: 153px;
117
+ --m27-source-dialog-expanded-form-padding-block-start: 0px;
118
+ --m27-source-dialog-expanded-form-padding-inline-end: 20px;
119
+ --m27-source-dialog-expanded-form-padding-block-end: 12px;
120
+ --m27-source-dialog-expanded-form-padding-inline-start: 12px;
121
+ --m27-source-dialog-expanded-form-gap: 8px;
122
+ --m27-source-dialog-expanded-column-leading-width: 256.5px;
123
+ --m27-source-dialog-expanded-column-center-width: 229px;
124
+ --m27-source-dialog-expanded-column-trailing-width: 256.5px;
125
+ --m27-source-dialog-expanded-browser-offset-block-start: 173px;
126
+ --m27-source-dialog-expanded-browser-height: 219px;
127
+ --m27-source-dialog-expanded-column-header-height: 28px;
128
+ --m27-source-dialog-expanded-first-row-offset-block-start: 31px;
129
+ --m27-source-dialog-expanded-row-height: 20px;
130
+ --m27-source-dialog-expanded-actions-offset-block-start: 392px;
131
+ --m27-source-dialog-expanded-actions-height: 56px;
132
+ --m27-source-dialog-expanded-actions-padding-block-start: 12px;
133
+ --m27-source-dialog-expanded-actions-padding-inline: 20px;
134
+ --m27-source-dialog-expanded-actions-padding-block-end: 20px;
135
+ --m27-source-dialog-expanded-action-gap: 8px;
136
+ --m27-source-dialog-expanded-leading-primary-action-width: 104px;
137
+ --m27-source-dialog-expanded-leading-secondary-action-width: 73px;
138
+ --m27-source-dialog-expanded-trailing-action-width: 74px;
139
+
140
+ /* Dialog effects */
141
+ --m27-source-dialog-shadow-offset-x: 0px;
142
+ --m27-source-dialog-shadow-offset-y: 18px;
143
+ --m27-source-dialog-shadow-blur: 54px;
144
+ --m27-source-dialog-shadow-spread: 0px;
145
+ --m27-source-dialog-shadow-color: #0000004d;
146
+ --m27-source-dialog-halo-offset-x: 0px;
147
+ --m27-source-dialog-halo-offset-y: 0px;
148
+ --m27-source-dialog-halo-blur: 1px;
149
+ --m27-source-dialog-halo-spread: 0px;
150
+ --m27-source-dialog-halo-color: #000000cc;
151
+
152
+ /* Notification geometry */
153
+ --m27-source-notification-width: 344px;
154
+ --m27-source-notification-authored-reference-height: 77px;
155
+ --m27-source-notification-min-height: 56px;
156
+ --m27-source-notification-one-line-height: 56px;
157
+ --m27-source-notification-two-line-message-height: 72px;
158
+ --m27-source-notification-line-increment: 16px;
159
+ --m27-source-notification-padding-block: 12px;
160
+ --m27-source-notification-padding-inline-end: 14px;
161
+ --m27-source-notification-padding-inline-start: 10px;
162
+ --m27-source-notification-gap: 8px;
163
+ --m27-source-notification-icon-region-width: 40px;
164
+ --m27-source-notification-icon-region-padding-inline: 4px;
165
+ --m27-source-notification-one-line-content-width: 242px;
166
+ --m27-source-notification-one-line-trailing-width: 22px;
167
+ --m27-source-notification-authored-content-width: 232px;
168
+ --m27-source-notification-authored-trailing-width: 32px;
169
+ --m27-source-notification-one-line-text-height: 32px;
170
+ --m27-source-notification-two-line-text-height: 48px;
171
+ --m27-source-notification-radius: 20px;
172
+ --m27-source-notification-stack-inset-inline: 16px;
173
+ --m27-source-notification-stack-surface-width: 312px;
174
+ --m27-source-notification-stack-surface-height: 68px;
175
+ --m27-source-notification-stack-peek: 8px;
176
+
177
+ /* Notification typography */
178
+ --m27-source-notification-title-font-size: 13px;
179
+ --m27-source-notification-title-line-height: 16px;
180
+ --m27-source-notification-title-font-weight: 700;
181
+ --m27-source-notification-title-letter-spacing: -0.02em;
182
+ --m27-source-notification-message-font-size: 13px;
183
+ --m27-source-notification-message-line-height: 16px;
184
+ --m27-source-notification-message-font-weight: 400;
185
+ --m27-source-notification-message-letter-spacing: -0.008em;
186
+ --m27-source-notification-timestamp-font-size: 11px;
187
+ --m27-source-notification-timestamp-line-height: 14px;
188
+ --m27-source-notification-timestamp-font-weight: 400;
189
+ --m27-source-notification-timestamp-letter-spacing: 0;
190
+
191
+ /* Notification material geometry and effects */
192
+ --m27-source-notification-material-glass-radius: 25px;
193
+ --m27-source-notification-material-shadow-offset-x: 0px;
194
+ --m27-source-notification-material-shadow-offset-y: 8px;
195
+ --m27-source-notification-material-shadow-blur: 48px;
196
+ --m27-source-notification-material-shadow-spread: 0px;
197
+ --m27-source-notification-material-perimeter-spread: 0.5px;
198
+ --m27-source-notification-material-side-edge-offset: 1.25px;
199
+ --m27-source-notification-material-side-edge-spread: -0.75px;
200
+ --m27-source-notification-material-inner-edge-offset-y-positive: 40px;
201
+ --m27-source-notification-material-inner-edge-offset-y-negative: -40px;
202
+ --m27-source-notification-material-inner-edge-blur: 5px;
203
+ --m27-source-notification-material-inner-edge-spread: -40px;
204
+
205
+ /* Popover geometry */
206
+ --m27-source-popover-reference-content-width: 200px;
207
+ --m27-source-popover-reference-content-height: 200px;
208
+ --m27-source-popover-radius: 20px;
209
+ --m27-source-popover-protrusion-depth: 10.5px;
210
+ --m27-source-popover-horizontal-reference-width: 210.5px;
211
+ --m27-source-popover-horizontal-reference-height: 200px;
212
+ --m27-source-popover-vertical-reference-width: 200px;
213
+ --m27-source-popover-vertical-reference-height: 210.5px;
214
+
215
+ /* Popover material geometry and effects */
216
+ --m27-source-popover-material-glass-radius: 26px;
217
+ --m27-source-popover-material-shadow-offset-x: 0px;
218
+ --m27-source-popover-material-shadow-offset-y: 8px;
219
+ --m27-source-popover-material-shadow-blur: 48px;
220
+ --m27-source-popover-material-shadow-spread: 0px;
221
+ --m27-source-popover-material-edge-offset: 0.5px;
222
+ --m27-source-popover-material-edge-spread: -0.75px;
223
+ --m27-source-popover-material-inner-edge-offset-x: 0px;
224
+ --m27-source-popover-material-inner-edge-offset-y-negative: -1px;
225
+ --m27-source-popover-material-inner-edge-offset-y-positive: 1px;
226
+ --m27-source-popover-material-inner-edge-blur: 1px;
227
+ --m27-source-popover-material-inner-edge-spread: 0px;
228
+ --m27-source-popover-material-inner-edge-color: #333333;
229
+
230
+ /* Linear progress geometry and authored references */
231
+ --m27-source-progress-linear-reference-width: 100px;
232
+ --m27-source-progress-linear-small-height: 6px;
233
+ --m27-source-progress-linear-medium-height: 10px;
234
+ --m27-source-progress-linear-radius: 100px;
235
+ --m27-source-progress-linear-corner-smoothing: 60%;
236
+ --m27-source-progress-linear-stroke-width: 0.5px;
237
+ --m27-source-progress-linear-active-track-opacity: 0.1;
238
+ --m27-source-progress-linear-inactive-track-opacity: 0.06;
239
+ --m27-source-progress-linear-indeterminate-track-opacity: 0.1;
240
+ --m27-source-progress-linear-inactive-fill-opacity: 0.17;
241
+ --m27-source-progress-linear-small-value-0-width: 6px;
242
+ --m27-source-progress-linear-small-value-25-width: 25px;
243
+ --m27-source-progress-linear-small-value-50-width: 54px;
244
+ --m27-source-progress-linear-small-value-75-width: 75px;
245
+ --m27-source-progress-linear-small-value-100-width: 100px;
246
+ --m27-source-progress-linear-medium-value-0-width: 10px;
247
+ --m27-source-progress-linear-medium-value-25-width: 25px;
248
+ --m27-source-progress-linear-medium-value-50-width: 55px;
249
+ --m27-source-progress-linear-medium-value-75-width: 75px;
250
+ --m27-source-progress-linear-medium-value-100-width: 100px;
251
+ --m27-source-progress-linear-indeterminate-mask-offset-inline-start: 26px;
252
+ --m27-source-progress-linear-indeterminate-mask-width: 48px;
253
+ --m27-source-progress-linear-indeterminate-mask-radius: 1000px;
254
+ --m27-source-progress-linear-indeterminate-mask-start-opacity: 0;
255
+ --m27-source-progress-linear-indeterminate-mask-end-opacity: 1;
256
+
257
+ /* Circular progress geometry */
258
+ --m27-source-progress-circular-small-size: 16px;
259
+ --m27-source-progress-circular-large-size: 32px;
260
+ --m27-source-progress-circular-ring-thickness: 5px;
261
+ --m27-source-progress-circular-small-inner-diameter: 6px;
262
+ --m27-source-progress-circular-large-inner-diameter: 22px;
263
+ --m27-source-progress-circular-stroke-width: 0.5px;
264
+ --m27-source-progress-circular-inactive-fill-opacity: 0.17;
265
+
266
+ /* Spinner geometry and authored phase */
267
+ --m27-source-progress-spinner-small-size: 16px;
268
+ --m27-source-progress-spinner-large-size: 32px;
269
+ --m27-source-progress-spinner-small-bar-width: 2px;
270
+ --m27-source-progress-spinner-small-bar-height: 5px;
271
+ --m27-source-progress-spinner-large-bar-width: 4px;
272
+ --m27-source-progress-spinner-large-bar-height: 10px;
273
+ --m27-source-progress-spinner-bar-count: 8;
274
+ --m27-source-progress-spinner-step-angle: 45deg;
275
+ --m27-source-progress-spinner-bar-0-angle: 0deg;
276
+ --m27-source-progress-spinner-bar-0-opacity: 1;
277
+ --m27-source-progress-spinner-bar-1-angle: 45deg;
278
+ --m27-source-progress-spinner-bar-1-opacity: 0.15;
279
+ --m27-source-progress-spinner-bar-2-angle: 90deg;
280
+ --m27-source-progress-spinner-bar-2-opacity: 0.27;
281
+ --m27-source-progress-spinner-bar-3-angle: 135deg;
282
+ --m27-source-progress-spinner-bar-3-opacity: 0.39;
283
+ --m27-source-progress-spinner-bar-4-angle: 180deg;
284
+ --m27-source-progress-spinner-bar-4-opacity: 0.51;
285
+ --m27-source-progress-spinner-bar-5-angle: 225deg;
286
+ --m27-source-progress-spinner-bar-5-opacity: 0.63;
287
+ --m27-source-progress-spinner-bar-6-angle: 270deg;
288
+ --m27-source-progress-spinner-bar-6-opacity: 0.75;
289
+ --m27-source-progress-spinner-bar-7-angle: 315deg;
290
+ --m27-source-progress-spinner-bar-7-opacity: 0.87;
291
+
292
+ /* Sheet geometry and effects */
293
+ --m27-source-sheet-reference-width: 300px;
294
+ --m27-source-sheet-reference-height: 300px;
295
+ --m27-source-sheet-radius: 16px;
296
+ --m27-source-sheet-shadow-offset-x: 0px;
297
+ --m27-source-sheet-shadow-offset-y: 18px;
298
+ --m27-source-sheet-shadow-blur: 54px;
299
+ --m27-source-sheet-shadow-spread: 0px;
300
+ --m27-source-sheet-halo-offset-x: 0px;
301
+ --m27-source-sheet-halo-offset-y: 0px;
302
+ --m27-source-sheet-halo-blur: 1px;
303
+ --m27-source-sheet-halo-spread: 0px;
304
+ --m27-source-sheet-halo-color: #000000cc;
305
+
306
+ /* Tooltip geometry, typography, and effects */
307
+ --m27-source-tooltip-reference-width: 49px;
308
+ --m27-source-tooltip-reference-height: 18px;
309
+ --m27-source-tooltip-label-reference-width: 37px;
310
+ --m27-source-tooltip-label-reference-height: 13px;
311
+ --m27-source-tooltip-padding-block-start: 3px;
312
+ --m27-source-tooltip-padding-inline: 6px;
313
+ --m27-source-tooltip-padding-block-end: 2px;
314
+ --m27-source-tooltip-radius: 0px;
315
+ --m27-source-tooltip-corner-smoothing: 60%;
316
+ --m27-source-tooltip-outer-background-blur: 20px;
317
+ --m27-source-tooltip-material-background-blur: 60px;
318
+ --m27-source-tooltip-shadow-offset-x: 0px;
319
+ --m27-source-tooltip-shadow-offset-y: 2px;
320
+ --m27-source-tooltip-shadow-blur: 8px;
321
+ --m27-source-tooltip-shadow-spread: 0px;
322
+ --m27-source-tooltip-shadow-color: #00000033;
323
+ --m27-source-tooltip-halo-offset-x: 0px;
324
+ --m27-source-tooltip-halo-offset-y: 0px;
325
+ --m27-source-tooltip-halo-blur: 2px;
326
+ --m27-source-tooltip-halo-spread: 0px;
327
+ --m27-source-tooltip-halo-color: #00000066;
328
+ --m27-source-tooltip-inner-stroke-width: 0.6px;
329
+ --m27-source-tooltip-font-size: 11px;
330
+ --m27-source-tooltip-line-height: 13px;
331
+ --m27-source-tooltip-font-weight: 500;
332
+ --m27-source-tooltip-letter-spacing: 0;
333
+
334
+ /* Group box */
335
+ --m27-source-group-box-reference-width: 200px;
336
+ --m27-source-group-box-reference-height: 200px;
337
+ --m27-source-group-box-radius: 12px;
338
+ --m27-source-group-box-corner-smoothing: 60%;
339
+ --m27-source-group-box-opacity: 0.5;
340
+ --m27-source-group-box-effective-background-opacity: 0.015;
341
+ }
342
+
343
+ /*
344
+ * Appearance defaults to light. Each effect layer remains independently
345
+ * addressable so recipes can preserve blend order.
346
+ */
347
+ [data-ui-platform='macos'][data-ui-platform-version='27'],
348
+ [data-ui-platform='macos'][data-ui-platform-version='27']
349
+ [data-ui-appearance='light'] {
350
+ --m27-source-alert-surface-fill: var(--m27-source-color-window-background);
351
+ --m27-source-alert-overlay: var(--m27-source-color-alert-overlay);
352
+ --m27-source-alert-title-color: var(--m27-source-color-label-primary);
353
+ --m27-source-alert-message-color: var(--m27-source-color-label-primary);
354
+ --m27-source-alert-action-default-background: var(
355
+ --m27-source-color-accent-blue
356
+ );
357
+ --m27-source-alert-action-default-label: var(--m27-source-color-label-white);
358
+ --m27-source-alert-action-secondary-background: var(
359
+ --m27-source-color-vibrant-fill-secondary
360
+ );
361
+ --m27-source-alert-action-secondary-label: var(
362
+ --m27-source-color-label-primary
363
+ );
364
+ --m27-source-alert-action-destructive-background: #f52f323b;
365
+ --m27-source-alert-action-destructive-label: var(
366
+ --m27-source-color-accent-vibrant-red
367
+ );
368
+ --m27-source-alert-material-fill-layer-1-color: #ffffffb3;
369
+ --m27-source-alert-material-fill-layer-1-blend-mode: lighten;
370
+ --m27-source-alert-material-fill-layer-2-color: #bfbfbf1a;
371
+ --m27-source-alert-material-fill-layer-2-blend-mode: darken;
372
+ --m27-source-alert-material-shadow-color: #00000040;
373
+ --m27-source-alert-material-perimeter-color: #dbdbdb;
374
+ --m27-source-alert-material-perimeter-blend-mode: linear-burn;
375
+ --m27-source-alert-material-side-edge-color: #dbdbdb;
376
+ --m27-source-alert-material-side-edge-blend-mode: linear-burn;
377
+ --m27-source-alert-material-glass-color: #ffffff;
378
+ --m27-source-alert-material-glass-blend-mode: multiply;
379
+ --m27-source-alert-material-inner-edge-color: #282828;
380
+ --m27-source-alert-material-inner-edge-blend-mode: linear-dodge;
381
+
382
+ --m27-source-dialog-background: var(--m27-source-color-window-background);
383
+ --m27-source-dialog-table-separator: var(
384
+ --m27-source-color-table-column-separator
385
+ );
386
+
387
+ --m27-source-notification-title-color: var(
388
+ --m27-source-color-vibrant-label-primary
389
+ );
390
+ --m27-source-notification-message-color: var(
391
+ --m27-source-color-vibrant-label-primary
392
+ );
393
+ --m27-source-notification-timestamp-color: var(
394
+ --m27-source-color-vibrant-label-tertiary
395
+ );
396
+ --m27-source-notification-material-fill-layer-1-color: #bfbfbf40;
397
+ --m27-source-notification-material-fill-layer-1-blend-mode: lighten;
398
+ --m27-source-notification-material-fill-layer-2-color: #1a1a1a;
399
+ --m27-source-notification-material-fill-layer-2-blend-mode: linear-dodge;
400
+ --m27-source-notification-material-shadow-color: #00000040;
401
+ --m27-source-notification-material-perimeter-color: #dbdbdb;
402
+ --m27-source-notification-material-perimeter-blend-mode: linear-burn;
403
+ --m27-source-notification-material-side-edge-color: #dbdbdb;
404
+ --m27-source-notification-material-side-edge-blend-mode: linear-burn;
405
+ --m27-source-notification-material-glass-color: #ffffff;
406
+ --m27-source-notification-material-glass-blend-mode: multiply;
407
+ --m27-source-notification-material-inner-edge-color: #282828;
408
+ --m27-source-notification-material-inner-edge-blend-mode: linear-dodge;
409
+
410
+ --m27-source-popover-material-fill-layer-1-color: #ffffffb3;
411
+ --m27-source-popover-material-fill-layer-1-blend-mode: lighten;
412
+ --m27-source-popover-material-fill-layer-2-color: #bfbfbf1a;
413
+ --m27-source-popover-material-fill-layer-2-blend-mode: darken;
414
+ --m27-source-popover-material-shadow-color: #00000040;
415
+ --m27-source-popover-material-horizontal-edge-color: #dbdbdb;
416
+ --m27-source-popover-material-horizontal-edge-blend-mode: linear-burn;
417
+ --m27-source-popover-material-glass-color: #ffffff;
418
+ --m27-source-popover-material-glass-blend-mode: multiply;
419
+ --m27-source-popover-material-inner-edge-negative-blend-mode: color-dodge;
420
+ --m27-source-popover-material-inner-edge-positive-blend-mode: linear-dodge;
421
+
422
+ --m27-source-progress-track-stroke-color: var(
423
+ --m27-source-color-progress-track-stroke
424
+ );
425
+ --m27-source-progress-active-fill-color: var(--m27-source-color-accent-blue);
426
+ --m27-source-progress-inactive-fill-color: var(
427
+ --m27-source-color-label-primary
428
+ );
429
+ --m27-source-progress-spinner-color: var(--m27-source-color-label-primary);
430
+
431
+ --m27-source-sheet-background: var(--m27-source-color-window-background);
432
+ --m27-source-sheet-stroke-width: 0px;
433
+ --m27-source-sheet-stroke-color: #ffffff00;
434
+ --m27-source-sheet-shadow-color: #0000004d;
435
+
436
+ --m27-source-tooltip-material-fill-layer-1-color: #333333;
437
+ --m27-source-tooltip-material-fill-layer-1-blend-mode: linear-dodge;
438
+ --m27-source-tooltip-material-fill-layer-2-color: #ececece0;
439
+ --m27-source-tooltip-material-fill-layer-2-blend-mode: normal;
440
+ --m27-source-tooltip-inner-stroke-color: var(
441
+ --m27-source-color-tooltip-inner-stroke
442
+ );
443
+ --m27-source-tooltip-label-color: var(
444
+ --m27-source-color-vibrant-label-primary
445
+ );
446
+ --m27-source-tooltip-label-blend-mode: normal;
447
+
448
+ --m27-source-group-box-background: var(--m27-source-color-fill-quaternary);
449
+ }
450
+
451
+ [data-ui-platform='macos'][data-ui-platform-version='27']
452
+ [data-ui-appearance='dark'],
453
+ [data-ui-platform='macos'][data-ui-platform-version='27'][data-ui-appearance='dark'] {
454
+ --m27-source-alert-surface-fill: var(--m27-source-color-window-background);
455
+ --m27-source-alert-overlay: var(--m27-source-color-alert-overlay);
456
+ --m27-source-alert-title-color: var(--m27-source-color-label-primary);
457
+ --m27-source-alert-message-color: var(--m27-source-color-label-primary);
458
+ --m27-source-alert-action-default-background: var(
459
+ --m27-source-color-accent-blue
460
+ );
461
+ --m27-source-alert-action-default-label: var(--m27-source-color-label-white);
462
+ --m27-source-alert-action-secondary-background: var(
463
+ --m27-source-color-vibrant-fill-secondary
464
+ );
465
+ --m27-source-alert-action-secondary-label: var(
466
+ --m27-source-color-label-primary
467
+ );
468
+ --m27-source-alert-action-destructive-background: #ff47473b;
469
+ --m27-source-alert-action-destructive-label: var(
470
+ --m27-source-color-accent-vibrant-red
471
+ );
472
+ --m27-source-alert-material-fill-layer-1-color: #1a1a1ab3;
473
+ --m27-source-alert-material-fill-layer-1-blend-mode: luminosity;
474
+ --m27-source-alert-material-fill-layer-2-color: #1a1a1ae6;
475
+ --m27-source-alert-material-fill-layer-2-blend-mode: luminosity;
476
+ --m27-source-alert-material-fill-layer-3-color: #1a1a1a;
477
+ --m27-source-alert-material-fill-layer-3-blend-mode: lighten;
478
+ --m27-source-alert-material-shadow-color: #00000073;
479
+ --m27-source-alert-material-perimeter-color: #a6a6a6;
480
+ --m27-source-alert-material-perimeter-blend-mode: linear-burn;
481
+ --m27-source-alert-material-side-edge-color: #a6a6a6;
482
+ --m27-source-alert-material-side-edge-blend-mode: linear-burn;
483
+ --m27-source-alert-material-glass-color: #ffffff;
484
+ --m27-source-alert-material-glass-blend-mode: multiply;
485
+ --m27-source-alert-material-inner-edge-color: #1a1a1a;
486
+ --m27-source-alert-material-inner-edge-blend-mode: linear-dodge;
487
+
488
+ --m27-source-dialog-background: var(--m27-source-color-window-background);
489
+ --m27-source-dialog-table-separator: var(
490
+ --m27-source-color-table-column-separator
491
+ );
492
+
493
+ --m27-source-notification-title-color: var(
494
+ --m27-source-color-vibrant-label-primary
495
+ );
496
+ --m27-source-notification-message-color: var(
497
+ --m27-source-color-vibrant-label-primary
498
+ );
499
+ --m27-source-notification-timestamp-color: var(
500
+ --m27-source-color-vibrant-label-tertiary
501
+ );
502
+ --m27-source-notification-material-fill-layer-1-color: #1a1a1ae6;
503
+ --m27-source-notification-material-fill-layer-1-blend-mode: luminosity;
504
+ --m27-source-notification-material-fill-layer-2-color: #6666661a;
505
+ --m27-source-notification-material-fill-layer-2-blend-mode: lighten;
506
+ --m27-source-notification-material-fill-layer-3-color: #3333334d;
507
+ --m27-source-notification-material-fill-layer-3-blend-mode: luminosity;
508
+ --m27-source-notification-material-fill-layer-4-color: #3333331a;
509
+ --m27-source-notification-material-fill-layer-4-blend-mode: normal;
510
+ --m27-source-notification-material-shadow-color: #00000073;
511
+ --m27-source-notification-material-perimeter-color: #a6a6a6;
512
+ --m27-source-notification-material-perimeter-blend-mode: linear-burn;
513
+ --m27-source-notification-material-side-edge-color: #a6a6a6;
514
+ --m27-source-notification-material-side-edge-blend-mode: linear-burn;
515
+ --m27-source-notification-material-glass-color: #ffffff;
516
+ --m27-source-notification-material-glass-blend-mode: multiply;
517
+ --m27-source-notification-material-inner-edge-color: #1a1a1a;
518
+ --m27-source-notification-material-inner-edge-blend-mode: linear-dodge;
519
+
520
+ --m27-source-popover-material-fill-layer-1-color: #1a1a1a80;
521
+ --m27-source-popover-material-fill-layer-1-blend-mode: luminosity;
522
+ --m27-source-popover-material-fill-layer-2-color: #1a1a1a80;
523
+ --m27-source-popover-material-fill-layer-2-blend-mode: luminosity;
524
+ --m27-source-popover-material-fill-layer-3-color: #1a1a1a;
525
+ --m27-source-popover-material-fill-layer-3-blend-mode: lighten;
526
+ --m27-source-popover-material-shadow-color: #00000073;
527
+ --m27-source-popover-material-vertical-edge-color: #cccccc;
528
+ --m27-source-popover-material-vertical-edge-blend-mode: linear-burn;
529
+ --m27-source-popover-material-horizontal-edge-color: #a6a6a6;
530
+ --m27-source-popover-material-horizontal-edge-blend-mode: linear-burn;
531
+ --m27-source-popover-material-glass-color: #ffffff;
532
+ --m27-source-popover-material-glass-blend-mode: multiply;
533
+ --m27-source-popover-material-inner-edge-negative-blend-mode: color-dodge;
534
+ --m27-source-popover-material-inner-edge-positive-blend-mode: linear-dodge;
535
+
536
+ --m27-source-progress-track-stroke-color: var(
537
+ --m27-source-color-progress-track-stroke
538
+ );
539
+ --m27-source-progress-active-fill-color: var(--m27-source-color-accent-blue);
540
+ --m27-source-progress-inactive-fill-color: var(
541
+ --m27-source-color-label-primary
542
+ );
543
+ --m27-source-progress-spinner-color: var(--m27-source-color-label-primary);
544
+
545
+ --m27-source-sheet-background: var(--m27-source-color-window-background);
546
+ --m27-source-sheet-stroke-width: 1px;
547
+ --m27-source-sheet-stroke-color: #ffffff33;
548
+ --m27-source-sheet-shadow-color: #00000091;
549
+
550
+ --m27-source-tooltip-material-fill-layer-1-color: #00000080;
551
+ --m27-source-tooltip-material-fill-layer-1-blend-mode: normal;
552
+ --m27-source-tooltip-material-fill-layer-2-color: #ffffff00;
553
+ --m27-source-tooltip-material-fill-layer-2-blend-mode: normal;
554
+ --m27-source-tooltip-inner-stroke-color: var(
555
+ --m27-source-color-tooltip-inner-stroke
556
+ );
557
+ --m27-source-tooltip-label-color: var(
558
+ --m27-source-color-vibrant-label-primary
559
+ );
560
+ --m27-source-tooltip-label-blend-mode: linear-dodge;
561
+
562
+ --m27-source-group-box-background: var(--m27-source-color-fill-quaternary);
563
+ }
564
+
565
+ /* Alert layout axis */
566
+ [data-ui-platform='macos'][data-ui-platform-version='27'],
567
+ [data-ui-platform='macos'][data-ui-platform-version='27']
568
+ [data-alert-layout='stacked'] {
569
+ --m27-source-alert-layout: stacked;
570
+ --m27-source-alert-height: var(--m27-source-alert-stacked-height);
571
+ --m27-source-alert-actions-width: var(
572
+ --m27-source-alert-stacked-actions-width
573
+ );
574
+ --m27-source-alert-actions-height: var(
575
+ --m27-source-alert-stacked-actions-height
576
+ );
577
+ --m27-source-alert-action-width: var(--m27-source-alert-stacked-action-width);
578
+ --m27-source-alert-action-height: var(
579
+ --m27-source-alert-stacked-action-height
580
+ );
581
+ --m27-source-alert-action-gap: var(--m27-source-alert-stacked-action-gap);
582
+ }
583
+
584
+ [data-ui-platform='macos'][data-ui-platform-version='27']
585
+ [data-alert-layout='side-by-side'] {
586
+ --m27-source-alert-layout: side-by-side;
587
+ --m27-source-alert-height: var(--m27-source-alert-side-by-side-height);
588
+ --m27-source-alert-actions-width: var(
589
+ --m27-source-alert-side-by-side-actions-width
590
+ );
591
+ --m27-source-alert-actions-height: var(
592
+ --m27-source-alert-side-by-side-actions-height
593
+ );
594
+ --m27-source-alert-action-width: var(
595
+ --m27-source-alert-side-by-side-action-width
596
+ );
597
+ --m27-source-alert-action-height: var(
598
+ --m27-source-alert-side-by-side-action-height
599
+ );
600
+ --m27-source-alert-action-gap: var(
601
+ --m27-source-alert-side-by-side-action-gap
602
+ );
603
+ }
604
+
605
+ /* Alert action-role axis */
606
+ [data-ui-platform='macos'][data-ui-platform-version='27']
607
+ [data-alert-action-role='default'] {
608
+ --m27-source-alert-action-background: var(
609
+ --m27-source-alert-action-default-background
610
+ );
611
+ --m27-source-alert-action-label: var(--m27-source-alert-action-default-label);
612
+ }
613
+
614
+ [data-ui-platform='macos'][data-ui-platform-version='27']
615
+ [data-alert-action-role='secondary'],
616
+ [data-ui-platform='macos'][data-ui-platform-version='27']
617
+ [data-alert-action-role='cancel'] {
618
+ --m27-source-alert-action-background: var(
619
+ --m27-source-alert-action-secondary-background
620
+ );
621
+ --m27-source-alert-action-label: var(
622
+ --m27-source-alert-action-secondary-label
623
+ );
624
+ }
625
+
626
+ [data-ui-platform='macos'][data-ui-platform-version='27']
627
+ [data-alert-action-role='destructive'] {
628
+ --m27-source-alert-action-background: var(
629
+ --m27-source-alert-action-destructive-background
630
+ );
631
+ --m27-source-alert-action-label: var(
632
+ --m27-source-alert-action-destructive-label
633
+ );
634
+ }
635
+
636
+ /* Dialog composition axis */
637
+ [data-ui-platform='macos'][data-ui-platform-version='27']
638
+ [data-dialog-composition='compact-save'] {
639
+ --m27-source-dialog-reference-width: var(
640
+ --m27-source-dialog-compact-reference-width
641
+ );
642
+ --m27-source-dialog-reference-height: var(
643
+ --m27-source-dialog-compact-reference-height
644
+ );
645
+ }
646
+
647
+ [data-ui-platform='macos'][data-ui-platform-version='27']
648
+ [data-dialog-composition='expanded-save'] {
649
+ --m27-source-dialog-reference-width: var(
650
+ --m27-source-dialog-expanded-reference-width
651
+ );
652
+ --m27-source-dialog-reference-height: var(
653
+ --m27-source-dialog-expanded-reference-height
654
+ );
655
+ }
656
+
657
+ /* Notification stack axis */
658
+ [data-ui-platform='macos'][data-ui-platform-version='27'],
659
+ [data-ui-platform='macos'][data-ui-platform-version='27']
660
+ [data-notification-stacked='false'] {
661
+ --m27-source-notification-stacked: 0;
662
+ --m27-source-notification-stack-extent: 0px;
663
+ }
664
+
665
+ [data-ui-platform='macos'][data-ui-platform-version='27']
666
+ [data-notification-stacked='true'] {
667
+ --m27-source-notification-stacked: 1;
668
+ --m27-source-notification-stack-extent: var(
669
+ --m27-source-notification-stack-peek
670
+ );
671
+ }
672
+
673
+ /* Popover placement axis */
674
+ [data-ui-platform='macos'][data-ui-platform-version='27']
675
+ [data-popover-placement^='top'] {
676
+ --m27-source-popover-edge: top;
677
+ --m27-source-popover-reference-width: var(
678
+ --m27-source-popover-vertical-reference-width
679
+ );
680
+ --m27-source-popover-reference-height: var(
681
+ --m27-source-popover-vertical-reference-height
682
+ );
683
+ --m27-source-popover-protrusion-offset-x: 0px;
684
+ --m27-source-popover-protrusion-offset-y: -10.5px;
685
+ }
686
+
687
+ [data-ui-platform='macos'][data-ui-platform-version='27']
688
+ [data-popover-placement^='bottom'] {
689
+ --m27-source-popover-edge: bottom;
690
+ --m27-source-popover-reference-width: var(
691
+ --m27-source-popover-vertical-reference-width
692
+ );
693
+ --m27-source-popover-reference-height: var(
694
+ --m27-source-popover-vertical-reference-height
695
+ );
696
+ --m27-source-popover-protrusion-offset-x: 0px;
697
+ --m27-source-popover-protrusion-offset-y: 0px;
698
+ }
699
+
700
+ [data-ui-platform='macos'][data-ui-platform-version='27']
701
+ [data-popover-placement^='left'] {
702
+ --m27-source-popover-edge: leading;
703
+ --m27-source-popover-reference-width: var(
704
+ --m27-source-popover-horizontal-reference-width
705
+ );
706
+ --m27-source-popover-reference-height: var(
707
+ --m27-source-popover-horizontal-reference-height
708
+ );
709
+ --m27-source-popover-protrusion-offset-x: -10.5px;
710
+ --m27-source-popover-protrusion-offset-y: 0px;
711
+ }
712
+
713
+ [data-ui-platform='macos'][data-ui-platform-version='27']
714
+ [data-popover-placement^='right'] {
715
+ --m27-source-popover-edge: trailing;
716
+ --m27-source-popover-reference-width: var(
717
+ --m27-source-popover-horizontal-reference-width
718
+ );
719
+ --m27-source-popover-reference-height: var(
720
+ --m27-source-popover-horizontal-reference-height
721
+ );
722
+ --m27-source-popover-protrusion-offset-x: 0px;
723
+ --m27-source-popover-protrusion-offset-y: 0px;
724
+ }
725
+
726
+ [data-ui-platform='macos'][data-ui-platform-version='27']
727
+ [data-popover-placement$='-start'] {
728
+ --m27-source-popover-alignment: start;
729
+ }
730
+
731
+ [data-ui-platform='macos'][data-ui-platform-version='27']
732
+ [data-popover-placement$='-end'] {
733
+ --m27-source-popover-alignment: end;
734
+ }
735
+
736
+ [data-ui-platform='macos'][data-ui-platform-version='27']
737
+ [data-popover-placement='top'],
738
+ [data-ui-platform='macos'][data-ui-platform-version='27']
739
+ [data-popover-placement='right'],
740
+ [data-ui-platform='macos'][data-ui-platform-version='27']
741
+ [data-popover-placement='bottom'],
742
+ [data-ui-platform='macos'][data-ui-platform-version='27']
743
+ [data-popover-placement='left'] {
744
+ --m27-source-popover-alignment: center;
745
+ }
746
+
747
+ /* Linear-progress size axis */
748
+ [data-ui-platform='macos'][data-ui-platform-version='27']
749
+ [data-progress-kind='linear'][data-progress-size='small'] {
750
+ --m27-source-progress-size: small;
751
+ --m27-source-progress-linear-height: var(
752
+ --m27-source-progress-linear-small-height
753
+ );
754
+ --m27-source-progress-linear-value-0-width: var(
755
+ --m27-source-progress-linear-small-value-0-width
756
+ );
757
+ --m27-source-progress-linear-value-25-width: var(
758
+ --m27-source-progress-linear-small-value-25-width
759
+ );
760
+ --m27-source-progress-linear-value-50-width: var(
761
+ --m27-source-progress-linear-small-value-50-width
762
+ );
763
+ --m27-source-progress-linear-value-75-width: var(
764
+ --m27-source-progress-linear-small-value-75-width
765
+ );
766
+ --m27-source-progress-linear-value-100-width: var(
767
+ --m27-source-progress-linear-small-value-100-width
768
+ );
769
+ }
770
+
771
+ [data-ui-platform='macos'][data-ui-platform-version='27']
772
+ [data-progress-kind='linear'][data-progress-size='medium'] {
773
+ --m27-source-progress-size: medium;
774
+ --m27-source-progress-linear-height: var(
775
+ --m27-source-progress-linear-medium-height
776
+ );
777
+ --m27-source-progress-linear-value-0-width: var(
778
+ --m27-source-progress-linear-medium-value-0-width
779
+ );
780
+ --m27-source-progress-linear-value-25-width: var(
781
+ --m27-source-progress-linear-medium-value-25-width
782
+ );
783
+ --m27-source-progress-linear-value-50-width: var(
784
+ --m27-source-progress-linear-medium-value-50-width
785
+ );
786
+ --m27-source-progress-linear-value-75-width: var(
787
+ --m27-source-progress-linear-medium-value-75-width
788
+ );
789
+ --m27-source-progress-linear-value-100-width: var(
790
+ --m27-source-progress-linear-medium-value-100-width
791
+ );
792
+ }
793
+
794
+ /* Circular-progress and spinner size axes */
795
+ [data-ui-platform='macos'][data-ui-platform-version='27']
796
+ [data-progress-kind='circular'][data-progress-size='small'] {
797
+ --m27-source-progress-size: small;
798
+ --m27-source-progress-circular-size: var(
799
+ --m27-source-progress-circular-small-size
800
+ );
801
+ --m27-source-progress-circular-inner-diameter: var(
802
+ --m27-source-progress-circular-small-inner-diameter
803
+ );
804
+ }
805
+
806
+ [data-ui-platform='macos'][data-ui-platform-version='27']
807
+ [data-progress-kind='circular'][data-progress-size='large'] {
808
+ --m27-source-progress-size: large;
809
+ --m27-source-progress-circular-size: var(
810
+ --m27-source-progress-circular-large-size
811
+ );
812
+ --m27-source-progress-circular-inner-diameter: var(
813
+ --m27-source-progress-circular-large-inner-diameter
814
+ );
815
+ }
816
+
817
+ [data-ui-platform='macos'][data-ui-platform-version='27']
818
+ [data-progress-kind='spinner'][data-progress-size='small'] {
819
+ --m27-source-progress-size: small;
820
+ --m27-source-progress-spinner-size: var(
821
+ --m27-source-progress-spinner-small-size
822
+ );
823
+ --m27-source-progress-spinner-bar-width: var(
824
+ --m27-source-progress-spinner-small-bar-width
825
+ );
826
+ --m27-source-progress-spinner-bar-height: var(
827
+ --m27-source-progress-spinner-small-bar-height
828
+ );
829
+ }
830
+
831
+ [data-ui-platform='macos'][data-ui-platform-version='27']
832
+ [data-progress-kind='spinner'][data-progress-size='large'] {
833
+ --m27-source-progress-size: large;
834
+ --m27-source-progress-spinner-size: var(
835
+ --m27-source-progress-spinner-large-size
836
+ );
837
+ --m27-source-progress-spinner-bar-width: var(
838
+ --m27-source-progress-spinner-large-bar-width
839
+ );
840
+ --m27-source-progress-spinner-bar-height: var(
841
+ --m27-source-progress-spinner-large-bar-height
842
+ );
843
+ }
844
+
845
+ /* Progress activity axis */
846
+ [data-ui-platform='macos'][data-ui-platform-version='27']
847
+ [data-progress-active='true'] {
848
+ --m27-source-progress-active: 1;
849
+ --m27-source-progress-fill-color: var(
850
+ --m27-source-progress-active-fill-color
851
+ );
852
+ --m27-source-progress-fill-opacity: 1;
853
+ --m27-source-progress-linear-track-opacity: var(
854
+ --m27-source-progress-linear-active-track-opacity
855
+ );
856
+ }
857
+
858
+ [data-ui-platform='macos'][data-ui-platform-version='27']
859
+ [data-progress-active='false'] {
860
+ --m27-source-progress-active: 0;
861
+ --m27-source-progress-fill-color: var(
862
+ --m27-source-progress-inactive-fill-color
863
+ );
864
+ --m27-source-progress-fill-opacity: var(
865
+ --m27-source-progress-linear-inactive-fill-opacity
866
+ );
867
+ --m27-source-progress-linear-track-opacity: var(
868
+ --m27-source-progress-linear-inactive-track-opacity
869
+ );
870
+ }
871
+
872
+ /* Authored determinate progress references */
873
+ [data-ui-platform='macos'][data-ui-platform-version='27']
874
+ [data-progress-kind='linear'][data-progress-value='0'] {
875
+ --m27-source-progress-linear-authored-fill-width: var(
876
+ --m27-source-progress-linear-value-0-width
877
+ );
878
+ }
879
+
880
+ [data-ui-platform='macos'][data-ui-platform-version='27']
881
+ [data-progress-kind='linear'][data-progress-value='25'] {
882
+ --m27-source-progress-linear-authored-fill-width: var(
883
+ --m27-source-progress-linear-value-25-width
884
+ );
885
+ }
886
+
887
+ [data-ui-platform='macos'][data-ui-platform-version='27']
888
+ [data-progress-kind='linear'][data-progress-value='50'] {
889
+ --m27-source-progress-linear-authored-fill-width: var(
890
+ --m27-source-progress-linear-value-50-width
891
+ );
892
+ }
893
+
894
+ [data-ui-platform='macos'][data-ui-platform-version='27']
895
+ [data-progress-kind='linear'][data-progress-value='75'] {
896
+ --m27-source-progress-linear-authored-fill-width: var(
897
+ --m27-source-progress-linear-value-75-width
898
+ );
899
+ }
900
+
901
+ [data-ui-platform='macos'][data-ui-platform-version='27']
902
+ [data-progress-kind='linear'][data-progress-value='100'] {
903
+ --m27-source-progress-linear-authored-fill-width: var(
904
+ --m27-source-progress-linear-value-100-width
905
+ );
906
+ }
907
+
908
+ [data-ui-platform='macos'][data-ui-platform-version='27']
909
+ [data-progress-kind='circular'][data-progress-value='0'] {
910
+ --m27-source-progress-circular-authored-value: 0;
911
+ }
912
+
913
+ [data-ui-platform='macos'][data-ui-platform-version='27']
914
+ [data-progress-kind='circular'][data-progress-value='25'] {
915
+ --m27-source-progress-circular-authored-value: 25;
916
+ }
917
+
918
+ [data-ui-platform='macos'][data-ui-platform-version='27']
919
+ [data-progress-kind='circular'][data-progress-value='50'] {
920
+ --m27-source-progress-circular-authored-value: 50;
921
+ }
922
+
923
+ [data-ui-platform='macos'][data-ui-platform-version='27']
924
+ [data-progress-kind='circular'][data-progress-value='75'] {
925
+ --m27-source-progress-circular-authored-value: 75;
926
+ }
927
+
928
+ [data-ui-platform='macos'][data-ui-platform-version='27']
929
+ [data-progress-kind='circular'][data-progress-value='100'] {
930
+ --m27-source-progress-circular-authored-value: 100;
931
+ }