altitude-design 0.2.1 → 0.3.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 (295) hide show
  1. package/README.md +41 -6
  2. package/dist/adapters/codemirror.cjs +88 -0
  3. package/dist/adapters/codemirror.cjs.map +7 -0
  4. package/dist/adapters/codemirror.js +67 -0
  5. package/dist/adapters/codemirror.js.map +7 -0
  6. package/dist/adapters/react-flow.css +102 -0
  7. package/dist/adapters/tiptap.css +71 -0
  8. package/dist/altitude.css +3121 -244
  9. package/dist/altitude.iife.js +33 -5
  10. package/dist/altitude.no-fonts.css +3121 -244
  11. package/dist/chart-themes.cjs +195 -0
  12. package/dist/chart-themes.cjs.map +7 -0
  13. package/dist/chart-themes.js +165 -0
  14. package/dist/chart-themes.js.map +7 -0
  15. package/dist/cli/altitude.mjs +134 -0
  16. package/dist/guidance/README.md +32 -0
  17. package/dist/guidance/agent-setup.md +22 -0
  18. package/dist/guidance/app-skeleton.md +17 -0
  19. package/dist/guidance/evidence.json +95 -0
  20. package/dist/guidance/index.json +493 -0
  21. package/dist/guidance/llms.txt +20 -0
  22. package/dist/guidance/manifest.json +92 -0
  23. package/dist/guidance/pattern.schema.json +181 -0
  24. package/dist/guidance/patterns/agent-action.json +77 -0
  25. package/dist/guidance/patterns/agent-action.md +39 -0
  26. package/dist/guidance/patterns/assistant-conversation.json +77 -0
  27. package/dist/guidance/patterns/assistant-conversation.md +50 -0
  28. package/dist/guidance/patterns/async-collection.json +71 -0
  29. package/dist/guidance/patterns/async-collection.md +29 -0
  30. package/dist/guidance/patterns/audit-log.json +75 -0
  31. package/dist/guidance/patterns/audit-log.md +27 -0
  32. package/dist/guidance/patterns/auth.json +86 -0
  33. package/dist/guidance/patterns/auth.md +29 -0
  34. package/dist/guidance/patterns/billing.json +80 -0
  35. package/dist/guidance/patterns/billing.md +29 -0
  36. package/dist/guidance/patterns/consequential-action.json +76 -0
  37. package/dist/guidance/patterns/consequential-action.md +27 -0
  38. package/dist/guidance/patterns/developer-settings.json +79 -0
  39. package/dist/guidance/patterns/developer-settings.md +29 -0
  40. package/dist/guidance/patterns/edit-record.json +74 -0
  41. package/dist/guidance/patterns/edit-record.md +51 -0
  42. package/dist/guidance/patterns/import.json +77 -0
  43. package/dist/guidance/patterns/import.md +31 -0
  44. package/dist/guidance/patterns/members.json +77 -0
  45. package/dist/guidance/patterns/members.md +27 -0
  46. package/dist/guidance/patterns/onboarding.json +78 -0
  47. package/dist/guidance/patterns/onboarding.md +31 -0
  48. package/dist/guidance/patterns/review-submit.json +72 -0
  49. package/dist/guidance/patterns/review-submit.md +27 -0
  50. package/dist/guidance/patterns/screen-layout.json +79 -0
  51. package/dist/guidance/patterns/screen-layout.md +40 -0
  52. package/dist/guidance/patterns/settings.json +78 -0
  53. package/dist/guidance/patterns/settings.md +32 -0
  54. package/dist/guidance/patterns/sync.json +77 -0
  55. package/dist/guidance/patterns/sync.md +31 -0
  56. package/dist/guidance/principles.md +23 -0
  57. package/dist/guidance/references/build/checks/agent-action-pattern.mjs +57 -0
  58. package/dist/guidance/references/build/checks/agent-setup.mjs +78 -0
  59. package/dist/guidance/references/build/checks/assistant-conversation-pattern.mjs +49 -0
  60. package/dist/guidance/references/build/checks/audit-log-pattern.mjs +63 -0
  61. package/dist/guidance/references/build/checks/auth-pattern.mjs +67 -0
  62. package/dist/guidance/references/build/checks/billing-pattern.mjs +63 -0
  63. package/dist/guidance/references/build/checks/developer-settings-pattern.mjs +76 -0
  64. package/dist/guidance/references/build/checks/guidance.mjs +71 -0
  65. package/dist/guidance/references/build/checks/import-pattern.mjs +69 -0
  66. package/dist/guidance/references/build/checks/members-pattern.mjs +71 -0
  67. package/dist/guidance/references/build/checks/onboarding-pattern.mjs +54 -0
  68. package/dist/guidance/references/build/checks/pattern-types.mjs +13 -0
  69. package/dist/guidance/references/build/checks/pattern-workflows.mjs +226 -0
  70. package/dist/guidance/references/build/checks/primary-scope.mjs +49 -0
  71. package/dist/guidance/references/build/checks/render-tells.mjs +72 -0
  72. package/dist/guidance/references/build/checks/screen-layout-pattern.mjs +111 -0
  73. package/dist/guidance/references/build/checks/semantics.mjs +72 -0
  74. package/dist/guidance/references/build/checks/settings-pattern.mjs +73 -0
  75. package/dist/guidance/references/build/checks/sync-pattern.mjs +62 -0
  76. package/dist/guidance/references/build/checks/tells-lint.mjs +164 -0
  77. package/dist/guidance/references/build/fixtures/pattern-workflows.tsx +83 -0
  78. package/dist/guidance/references/build/fixtures/patterns/agent-action.jsx +60 -0
  79. package/dist/guidance/references/build/fixtures/patterns/app-skeleton.jsx +94 -0
  80. package/dist/guidance/references/build/fixtures/patterns/assistant-conversation.jsx +79 -0
  81. package/dist/guidance/references/build/fixtures/patterns/audit-log.jsx +81 -0
  82. package/dist/guidance/references/build/fixtures/patterns/auth.jsx +150 -0
  83. package/dist/guidance/references/build/fixtures/patterns/billing.jsx +96 -0
  84. package/dist/guidance/references/build/fixtures/patterns/developer-settings.jsx +95 -0
  85. package/dist/guidance/references/build/fixtures/patterns/import.jsx +102 -0
  86. package/dist/guidance/references/build/fixtures/patterns/members.jsx +106 -0
  87. package/dist/guidance/references/build/fixtures/patterns/onboarding.jsx +70 -0
  88. package/dist/guidance/references/build/fixtures/patterns/screen-layout-decision.jsx +74 -0
  89. package/dist/guidance/references/build/fixtures/patterns/screen-layout-editor.jsx +56 -0
  90. package/dist/guidance/references/build/fixtures/patterns/screen-layout-report.jsx +42 -0
  91. package/dist/guidance/references/build/fixtures/patterns/settings.jsx +73 -0
  92. package/dist/guidance/references/build/fixtures/patterns/sync.jsx +78 -0
  93. package/dist/guidance/references/project/components/src/pattern-async-collection.tsx +57 -0
  94. package/dist/guidance/references/project/components/src/pattern-consequential-action.tsx +77 -0
  95. package/dist/guidance/references/project/components/src/pattern-edit-record.tsx +127 -0
  96. package/dist/guidance/references/project/components/src/pattern-review-submit.tsx +47 -0
  97. package/dist/guidance/references/project/components/src/settings.tsx +79 -0
  98. package/dist/guidance/references/scripts/build-framework-fixture.mjs +20 -0
  99. package/dist/guidance/rules.json +653 -0
  100. package/dist/guidance/visual/Elevation.md +194 -0
  101. package/dist/guidance/visual/Fundamentals.md +83 -0
  102. package/dist/guidance/visual/Research.md +1620 -0
  103. package/dist/index.cjs +18792 -1925
  104. package/dist/index.cjs.map +4 -4
  105. package/dist/index.js +18792 -1925
  106. package/dist/index.js.map +4 -4
  107. package/dist/tokens.css +84 -84
  108. package/dist/tokens.json +301 -128
  109. package/dist/types/adapter-codemirror.d.ts +13 -0
  110. package/dist/types/agent-fleet.d.ts +166 -0
  111. package/dist/types/ai-label.d.ts +30 -0
  112. package/dist/types/app-shell.d.ts +83 -0
  113. package/dist/types/area-chart.d.ts +80 -0
  114. package/dist/types/artifact.d.ts +65 -0
  115. package/dist/types/bar-chart.d.ts +83 -0
  116. package/dist/types/bar-list.d.ts +35 -0
  117. package/dist/types/breadcrumb.d.ts +62 -0
  118. package/dist/types/chart-brush.d.ts +35 -0
  119. package/dist/types/chart-themes.d.ts +229 -0
  120. package/dist/types/chart.d.ts +570 -0
  121. package/dist/types/checklist.d.ts +71 -0
  122. package/dist/types/code-block.d.ts +32 -0
  123. package/dist/types/collections.d.ts +111 -4
  124. package/dist/types/color-picker.d.ts +38 -0
  125. package/dist/types/command.d.ts +6 -3
  126. package/dist/types/comment-thread.d.ts +48 -0
  127. package/dist/types/confirmation.d.ts +60 -0
  128. package/dist/types/context-menu.d.ts +17 -0
  129. package/dist/types/controls.d.ts +100 -17
  130. package/dist/types/conversation.d.ts +130 -0
  131. package/dist/types/copy-button.d.ts +19 -0
  132. package/dist/types/core.d.ts +139 -10
  133. package/dist/types/data-grid.d.ts +76 -0
  134. package/dist/types/date-picker.d.ts +96 -0
  135. package/dist/types/diff-view.d.ts +54 -0
  136. package/dist/types/dot-plot.d.ts +54 -0
  137. package/dist/types/edit-region.d.ts +121 -0
  138. package/dist/types/feature-gate.d.ts +22 -0
  139. package/dist/types/filter-bar.d.ts +65 -0
  140. package/dist/types/formatted-number.d.ts +38 -0
  141. package/dist/types/heatmap.d.ts +64 -0
  142. package/dist/types/in-place.d.ts +24 -0
  143. package/dist/types/index.d.ts +158 -15
  144. package/dist/types/inline-citation.d.ts +35 -0
  145. package/dist/types/inline-edit.d.ts +71 -0
  146. package/dist/types/input-otp.d.ts +37 -0
  147. package/dist/types/item-group.d.ts +104 -0
  148. package/dist/types/line-chart.d.ts +116 -0
  149. package/dist/types/link.d.ts +11 -0
  150. package/dist/types/markdown.d.ts +88 -0
  151. package/dist/types/meter.d.ts +43 -0
  152. package/dist/types/modal-state.d.ts +62 -0
  153. package/dist/types/nav.d.ts +8 -1
  154. package/dist/types/notifications.d.ts +42 -0
  155. package/dist/types/number-input.d.ts +30 -0
  156. package/dist/types/overlays.d.ts +51 -17
  157. package/dist/types/page-header.d.ts +27 -0
  158. package/dist/types/pagination.d.ts +29 -0
  159. package/dist/types/palette.d.ts +64 -0
  160. package/dist/types/password-input.d.ts +22 -0
  161. package/dist/types/pattern-assistant-conversation.d.ts +55 -0
  162. package/dist/types/pattern-async-collection.d.ts +34 -0
  163. package/dist/types/pattern-consequential-action.d.ts +53 -0
  164. package/dist/types/pattern-edit-record.d.ts +72 -0
  165. package/dist/types/pattern-review-submit.d.ts +43 -0
  166. package/dist/types/permission-matrix.d.ts +34 -0
  167. package/dist/types/plan-picker.d.ts +40 -0
  168. package/dist/types/prompt-input.d.ts +106 -0
  169. package/dist/types/property-list.d.ts +67 -0
  170. package/dist/types/question.d.ts +64 -0
  171. package/dist/types/relative-time.d.ts +21 -0
  172. package/dist/types/removal-receipt.d.ts +1180 -0
  173. package/dist/types/resizable.d.ts +48 -0
  174. package/dist/types/roving.d.ts +44 -0
  175. package/dist/types/save-bar.d.ts +38 -0
  176. package/dist/types/saved-views.d.ts +72 -0
  177. package/dist/types/scatter-chart.d.ts +60 -0
  178. package/dist/types/schedule.d.ts +80 -0
  179. package/dist/types/secret-field.d.ts +33 -0
  180. package/dist/types/select.d.ts +44 -2
  181. package/dist/types/separator.d.ts +11 -0
  182. package/dist/types/settings.d.ts +39 -0
  183. package/dist/types/sheet.d.ts +1 -1
  184. package/dist/types/sparkline.d.ts +46 -0
  185. package/dist/types/split-button.d.ts +21 -0
  186. package/dist/types/stat.d.ts +54 -0
  187. package/dist/types/stepper.d.ts +6 -3
  188. package/dist/types/suggestions.d.ts +29 -0
  189. package/dist/types/suspense.d.ts +12 -1
  190. package/dist/types/sync-indicator.d.ts +24 -0
  191. package/dist/types/tag-input.d.ts +65 -0
  192. package/dist/types/terminal.d.ts +33 -0
  193. package/dist/types/thread-list.d.ts +58 -0
  194. package/dist/types/time-input.d.ts +33 -0
  195. package/dist/types/timeline.d.ts +38 -0
  196. package/dist/types/toggle.d.ts +46 -0
  197. package/dist/types/toolbar.d.ts +34 -0
  198. package/dist/types/tour.d.ts +23 -0
  199. package/dist/types/trace.d.ts +65 -0
  200. package/dist/types/tree.d.ts +71 -0
  201. package/dist/types-cjs/adapter-codemirror.d.cts +13 -0
  202. package/dist/types-cjs/agent-fleet.d.cts +166 -0
  203. package/dist/types-cjs/ai-label.d.cts +30 -0
  204. package/dist/types-cjs/app-shell.d.cts +83 -0
  205. package/dist/types-cjs/area-chart.d.cts +80 -0
  206. package/dist/types-cjs/artifact.d.cts +65 -0
  207. package/dist/types-cjs/bar-chart.d.cts +83 -0
  208. package/dist/types-cjs/bar-list.d.cts +35 -0
  209. package/dist/types-cjs/breadcrumb.d.cts +62 -0
  210. package/dist/types-cjs/chart-brush.d.cts +35 -0
  211. package/dist/types-cjs/chart-themes.d.cts +229 -0
  212. package/dist/types-cjs/chart.d.cts +570 -0
  213. package/dist/types-cjs/checklist.d.cts +71 -0
  214. package/dist/types-cjs/code-block.d.cts +32 -0
  215. package/dist/types-cjs/collections.d.cts +246 -0
  216. package/dist/types-cjs/color-picker.d.cts +38 -0
  217. package/dist/types-cjs/command.d.cts +66 -0
  218. package/dist/types-cjs/comment-thread.d.cts +48 -0
  219. package/dist/types-cjs/confirmation.d.cts +60 -0
  220. package/dist/types-cjs/context-menu.d.cts +17 -0
  221. package/dist/types-cjs/controls.d.cts +360 -0
  222. package/dist/types-cjs/conversation.d.cts +130 -0
  223. package/dist/types-cjs/copy-button.d.cts +19 -0
  224. package/dist/types-cjs/core.d.cts +256 -0
  225. package/dist/types-cjs/data-grid.d.cts +76 -0
  226. package/dist/types-cjs/date-picker.d.cts +96 -0
  227. package/dist/types-cjs/diff-view.d.cts +54 -0
  228. package/dist/types-cjs/dot-plot.d.cts +54 -0
  229. package/dist/types-cjs/edit-region.d.cts +121 -0
  230. package/dist/types-cjs/empty.d.cts +24 -0
  231. package/dist/types-cjs/feature-gate.d.cts +22 -0
  232. package/dist/types-cjs/filter-bar.d.cts +65 -0
  233. package/dist/types-cjs/formatted-number.d.cts +38 -0
  234. package/dist/types-cjs/heatmap.d.cts +64 -0
  235. package/dist/types-cjs/in-place.d.cts +24 -0
  236. package/dist/types-cjs/index.d.cts +154 -0
  237. package/dist/types-cjs/inline-citation.d.cts +35 -0
  238. package/dist/types-cjs/inline-edit.d.cts +71 -0
  239. package/dist/types-cjs/input-otp.d.cts +37 -0
  240. package/dist/types-cjs/item-group.d.cts +104 -0
  241. package/dist/types-cjs/line-chart.d.cts +116 -0
  242. package/dist/types-cjs/link.d.cts +11 -0
  243. package/dist/types-cjs/markdown.d.cts +88 -0
  244. package/dist/types-cjs/meter.d.cts +43 -0
  245. package/dist/types-cjs/modal-state.d.cts +62 -0
  246. package/dist/types-cjs/nav.d.cts +25 -0
  247. package/dist/types-cjs/notifications.d.cts +42 -0
  248. package/dist/types-cjs/number-input.d.cts +30 -0
  249. package/dist/types-cjs/overlays.d.cts +170 -0
  250. package/dist/types-cjs/page-header.d.cts +27 -0
  251. package/dist/types-cjs/pagination.d.cts +29 -0
  252. package/dist/types-cjs/palette.d.cts +64 -0
  253. package/dist/types-cjs/password-input.d.cts +22 -0
  254. package/dist/types-cjs/pattern-assistant-conversation.d.cts +55 -0
  255. package/dist/types-cjs/pattern-async-collection.d.cts +34 -0
  256. package/dist/types-cjs/pattern-consequential-action.d.cts +53 -0
  257. package/dist/types-cjs/pattern-edit-record.d.cts +72 -0
  258. package/dist/types-cjs/pattern-review-submit.d.cts +43 -0
  259. package/dist/types-cjs/permission-matrix.d.cts +34 -0
  260. package/dist/types-cjs/pile.d.cts +27 -0
  261. package/dist/types-cjs/plan-picker.d.cts +40 -0
  262. package/dist/types-cjs/prompt-input.d.cts +106 -0
  263. package/dist/types-cjs/property-list.d.cts +67 -0
  264. package/dist/types-cjs/question.d.cts +64 -0
  265. package/dist/types-cjs/relative-time.d.cts +21 -0
  266. package/dist/types-cjs/removal-receipt.d.cts +1180 -0
  267. package/dist/types-cjs/resizable.d.cts +48 -0
  268. package/dist/types-cjs/roving.d.cts +44 -0
  269. package/dist/types-cjs/save-bar.d.cts +38 -0
  270. package/dist/types-cjs/saved-views.d.cts +72 -0
  271. package/dist/types-cjs/scatter-chart.d.cts +60 -0
  272. package/dist/types-cjs/schedule.d.cts +80 -0
  273. package/dist/types-cjs/secret-field.d.cts +33 -0
  274. package/dist/types-cjs/select.d.cts +109 -0
  275. package/dist/types-cjs/separator.d.cts +11 -0
  276. package/dist/types-cjs/settings.d.cts +39 -0
  277. package/dist/types-cjs/sheet.d.cts +27 -0
  278. package/dist/types-cjs/sparkline.d.cts +46 -0
  279. package/dist/types-cjs/split-button.d.cts +21 -0
  280. package/dist/types-cjs/stat.d.cts +54 -0
  281. package/dist/types-cjs/stepper.d.cts +26 -0
  282. package/dist/types-cjs/suggestions.d.cts +29 -0
  283. package/dist/types-cjs/suspense.d.cts +85 -0
  284. package/dist/types-cjs/sync-indicator.d.cts +24 -0
  285. package/dist/types-cjs/tag-input.d.cts +65 -0
  286. package/dist/types-cjs/terminal.d.cts +33 -0
  287. package/dist/types-cjs/thread-list.d.cts +58 -0
  288. package/dist/types-cjs/time-input.d.cts +33 -0
  289. package/dist/types-cjs/timeline.d.cts +38 -0
  290. package/dist/types-cjs/toggle.d.cts +46 -0
  291. package/dist/types-cjs/toolbar.d.cts +34 -0
  292. package/dist/types-cjs/tour.d.cts +23 -0
  293. package/dist/types-cjs/trace.d.cts +65 -0
  294. package/dist/types-cjs/tree.d.cts +71 -0
  295. package/package.json +89 -9
package/dist/tokens.json CHANGED
@@ -5,19 +5,17 @@
5
5
  "themes": [
6
6
  {
7
7
  "id": "daylight",
8
- "name": "Daylight"
8
+ "name": "Daylight",
9
+ "retired": [
10
+ "mesa"
11
+ ]
9
12
  },
10
13
  {
11
14
  "id": "nightfall",
12
- "name": "Nightfall"
13
- },
14
- {
15
- "id": "mesa",
16
- "name": "Mesa"
17
- },
18
- {
19
- "id": "alpine",
20
- "name": "Alpine"
15
+ "name": "Nightfall",
16
+ "retired": [
17
+ "alpine"
18
+ ]
21
19
  }
22
20
  ],
23
21
  "tokens": [
@@ -25,9 +23,7 @@
25
23
  "name": "surface-trench",
26
24
  "value": {
27
25
  "daylight": "#e1e4ea",
28
- "nightfall": "#08090c",
29
- "mesa": "#e5ddd2",
30
- "alpine": "#060a09"
26
+ "nightfall": "#08090c"
31
27
  },
32
28
  "usage": "Level -2. Deep wells: slider, switch and progress tracks. Never holds body text larger than a label."
33
29
  },
@@ -35,9 +31,7 @@
35
31
  "name": "surface-well",
36
32
  "value": {
37
33
  "daylight": "#eaedf1",
38
- "nightfall": "#0c0e12",
39
- "mesa": "#eee7dd",
40
- "alpine": "#0a0f0e"
34
+ "nightfall": "#0c0e12"
41
35
  },
42
36
  "usage": "Level -1. Receptacles: inputs, textareas, the tab track. Things you put something into."
43
37
  },
@@ -45,9 +39,7 @@
45
39
  "name": "surface-ground",
46
40
  "value": {
47
41
  "daylight": "#f3f4f7",
48
- "nightfall": "#121419",
49
- "mesa": "#f6f1ea",
50
- "alpine": "#0f1513"
42
+ "nightfall": "#121419"
51
43
  },
52
44
  "usage": "Level 0. The page itself, and anything flush with it: badges, ghost buttons, skeletons, disabled controls."
53
45
  },
@@ -55,9 +47,7 @@
55
47
  "name": "surface-raised",
56
48
  "value": {
57
49
  "daylight": "#ffffff",
58
- "nightfall": "#191c23",
59
- "mesa": "#fffcf8",
60
- "alpine": "#151e1b"
50
+ "nightfall": "#191c23"
61
51
  },
62
52
  "usage": "Level 1. Resting interactive and grouping surfaces: cards, buttons, the switch thumb, the active tab."
63
53
  },
@@ -65,9 +55,7 @@
65
55
  "name": "surface-lifted",
66
56
  "value": {
67
57
  "daylight": "#ffffff",
68
- "nightfall": "#1f232b",
69
- "mesa": "#fffdfa",
70
- "alpine": "#1a2522"
58
+ "nightfall": "#1f232b"
71
59
  },
72
60
  "usage": "Level 2. A raised surface under the pointer, and the primary action at rest."
73
61
  },
@@ -75,9 +63,7 @@
75
63
  "name": "surface-floating",
76
64
  "value": {
77
65
  "daylight": "#ffffff",
78
- "nightfall": "#252a33",
79
- "mesa": "#ffffff",
80
- "alpine": "#202c28"
66
+ "nightfall": "#252a33"
81
67
  },
82
68
  "usage": "Level 3. Tooltips, popovers, menus, a dragged item."
83
69
  },
@@ -85,9 +71,7 @@
85
71
  "name": "surface-overlay",
86
72
  "value": {
87
73
  "daylight": "#ffffff",
88
- "nightfall": "#2a303a",
89
- "mesa": "#ffffff",
90
- "alpine": "#25332f"
74
+ "nightfall": "#2a303a"
91
75
  },
92
76
  "usage": "Level 4. Toasts and sheets."
93
77
  },
@@ -95,9 +79,7 @@
95
79
  "name": "surface-modal",
96
80
  "value": {
97
81
  "daylight": "#ffffff",
98
- "nightfall": "#2f3541",
99
- "mesa": "#ffffff",
100
- "alpine": "#2a3935"
82
+ "nightfall": "#2f3541"
101
83
  },
102
84
  "usage": "Level 5. Dialogs. The highest thing on screen, one at a time."
103
85
  },
@@ -105,9 +87,7 @@
105
87
  "name": "ink",
106
88
  "value": {
107
89
  "daylight": "#12161f",
108
- "nightfall": "#eef1f6",
109
- "mesa": "#221b14",
110
- "alpine": "#eaf3ef"
90
+ "nightfall": "#eef1f6"
111
91
  },
112
92
  "usage": "Primary text on every surface-* level and on accent-soft."
113
93
  },
@@ -115,9 +95,7 @@
115
95
  "name": "ink-muted",
116
96
  "value": {
117
97
  "daylight": "#4f5767",
118
- "nightfall": "#a3abb9",
119
- "mesa": "#62564a",
120
- "alpine": "#9db0a9"
98
+ "nightfall": "#a3abb9"
121
99
  },
122
100
  "usage": "Secondary text, hints, placeholders; on every surface-* level."
123
101
  },
@@ -125,9 +103,7 @@
125
103
  "name": "ink-faint",
126
104
  "value": {
127
105
  "daylight": "#8a92a0",
128
- "nightfall": "#5f6775",
129
- "mesa": "#a09484",
130
- "alpine": "#5d6c67"
106
+ "nightfall": "#5f6775"
131
107
  },
132
108
  "usage": "Disabled labels only (exempt from contrast minimums). Never for content."
133
109
  },
@@ -135,9 +111,7 @@
135
111
  "name": "line",
136
112
  "value": {
137
113
  "daylight": "#e0e3e9",
138
- "nightfall": "#262a33",
139
- "mesa": "#e6ded3",
140
- "alpine": "#222c29"
114
+ "nightfall": "#262a33"
141
115
  },
142
116
  "usage": "Decorative hairlines: dividers, the separators between flush accordion rows. Not a control boundary."
143
117
  },
@@ -145,9 +119,7 @@
145
119
  "name": "line-control",
146
120
  "value": {
147
121
  "daylight": "#737b89",
148
- "nightfall": "#6a7280",
149
- "mesa": "#807467",
150
- "alpine": "#62736d"
122
+ "nightfall": "#6a7280"
151
123
  },
152
124
  "usage": "Control boundaries (input, checkbox, radio, switch track): at least 3:1 on ground, well and raised."
153
125
  },
@@ -155,9 +127,7 @@
155
127
  "name": "accent",
156
128
  "value": {
157
129
  "daylight": "#2b56d6",
158
- "nightfall": "#86a2ff",
159
- "mesa": "#b4441b",
160
- "alpine": "#5fd6b2"
130
+ "nightfall": "#86a2ff"
161
131
  },
162
132
  "usage": "The scheme's one hue: primary fills, checked controls, the switch and slider fill, progress."
163
133
  },
@@ -165,9 +135,7 @@
165
135
  "name": "on-accent",
166
136
  "value": {
167
137
  "daylight": "#ffffff",
168
- "nightfall": "#0b1022",
169
- "mesa": "#ffffff",
170
- "alpine": "#04140f"
138
+ "nightfall": "#0b1022"
171
139
  },
172
140
  "usage": "Text and icons on an accent fill."
173
141
  },
@@ -175,9 +143,7 @@
175
143
  "name": "accent-ink",
176
144
  "value": {
177
145
  "daylight": "#2a52c8",
178
- "nightfall": "#93acff",
179
- "mesa": "#a63e17",
180
- "alpine": "#6fdcbc"
146
+ "nightfall": "#93acff"
181
147
  },
182
148
  "usage": "Accent as text, links and the focus ring; 4.5:1 on every surface-* level."
183
149
  },
@@ -185,9 +151,7 @@
185
151
  "name": "accent-soft",
186
152
  "value": {
187
153
  "daylight": "#e3eafc",
188
- "nightfall": "#1c2440",
189
- "mesa": "#f8e4d9",
190
- "alpine": "#13302a"
154
+ "nightfall": "#1c2440"
191
155
  },
192
156
  "usage": "Tinted ground behind accent-ink or ink: the accent badge, the selected menu row."
193
157
  },
@@ -195,9 +159,7 @@
195
159
  "name": "positive",
196
160
  "value": {
197
161
  "daylight": "#13734f",
198
- "nightfall": "#56cf9f",
199
- "mesa": "#2c6e3f",
200
- "alpine": "#8ed67a"
162
+ "nightfall": "#56cf9f"
201
163
  },
202
164
  "usage": "Success text and icons on every surface-* level and on positive-soft. Always paired with a word or icon."
203
165
  },
@@ -205,9 +167,7 @@
205
167
  "name": "positive-soft",
206
168
  "value": {
207
169
  "daylight": "#dcf2e8",
208
- "nightfall": "#10291f",
209
- "mesa": "#e3efdc",
210
- "alpine": "#1a2e17"
170
+ "nightfall": "#10291f"
211
171
  },
212
172
  "usage": "Tinted ground behind positive text: success alerts, badges, toasts."
213
173
  },
@@ -215,9 +175,7 @@
215
175
  "name": "caution",
216
176
  "value": {
217
177
  "daylight": "#875400",
218
- "nightfall": "#ebb550",
219
- "mesa": "#8a5000",
220
- "alpine": "#efbd5b"
178
+ "nightfall": "#ebb550"
221
179
  },
222
180
  "usage": "Warning text and icons on every surface-* level and on caution-soft. Always paired with a word or icon."
223
181
  },
@@ -225,9 +183,7 @@
225
183
  "name": "caution-soft",
226
184
  "value": {
227
185
  "daylight": "#fbefd3",
228
- "nightfall": "#2e2411",
229
- "mesa": "#fbeccf",
230
- "alpine": "#2f2712"
186
+ "nightfall": "#2e2411"
231
187
  },
232
188
  "usage": "Tinted ground behind caution text."
233
189
  },
@@ -235,9 +191,7 @@
235
191
  "name": "critical",
236
192
  "value": {
237
193
  "daylight": "#b52e16",
238
- "nightfall": "#ff8064",
239
- "mesa": "#b3261e",
240
- "alpine": "#ff8a70"
194
+ "nightfall": "#ff8064"
241
195
  },
242
196
  "usage": "Errors and destructive actions: text and icons on every surface-* level and on critical-soft; the danger button fill."
243
197
  },
@@ -245,9 +199,7 @@
245
199
  "name": "critical-soft",
246
200
  "value": {
247
201
  "daylight": "#fbe4de",
248
- "nightfall": "#3a1913",
249
- "mesa": "#f9e1dc",
250
- "alpine": "#3a1a14"
202
+ "nightfall": "#3a1913"
251
203
  },
252
204
  "usage": "Tinted ground behind critical text; the invalid field's well."
253
205
  },
@@ -255,9 +207,7 @@
255
207
  "name": "on-critical",
256
208
  "value": {
257
209
  "daylight": "#ffffff",
258
- "nightfall": "#1a0905",
259
- "mesa": "#ffffff",
260
- "alpine": "#1a0905"
210
+ "nightfall": "#1a0905"
261
211
  },
262
212
  "usage": "Text on a critical fill (the danger button)."
263
213
  },
@@ -265,9 +215,7 @@
265
215
  "name": "presence-1",
266
216
  "value": {
267
217
  "daylight": "#b0256f",
268
- "nightfall": "#f07ab8",
269
- "mesa": "#a8256a",
270
- "alpine": "#f07ab8"
218
+ "nightfall": "#f07ab8"
271
219
  },
272
220
  "usage": "Collaborator presence: the ring and name tag on something another person is holding or editing. 3:1 on every surface."
273
221
  },
@@ -275,9 +223,7 @@
275
223
  "name": "presence-2",
276
224
  "value": {
277
225
  "daylight": "#0b7285",
278
- "nightfall": "#3fc1d0",
279
- "mesa": "#0b7285",
280
- "alpine": "#5cc8e0"
226
+ "nightfall": "#3fc1d0"
281
227
  },
282
228
  "usage": "Second collaborator's presence colour."
283
229
  },
@@ -285,9 +231,7 @@
285
231
  "name": "presence-3",
286
232
  "value": {
287
233
  "daylight": "#7046c9",
288
- "nightfall": "#b39dff",
289
- "mesa": "#6e44c2",
290
- "alpine": "#b9a3ff"
234
+ "nightfall": "#b39dff"
291
235
  },
292
236
  "usage": "Third collaborator's presence colour."
293
237
  },
@@ -295,19 +239,191 @@
295
239
  "name": "on-presence",
296
240
  "value": {
297
241
  "daylight": "#ffffff",
298
- "nightfall": "#0b0d12",
299
- "mesa": "#ffffff",
300
- "alpine": "#06100d"
242
+ "nightfall": "#0b0d12"
301
243
  },
302
244
  "usage": "Name-tag text on any presence-* fill."
303
245
  },
246
+ {
247
+ "name": "data-1",
248
+ "value": {
249
+ "daylight": "#5d7bff",
250
+ "nightfall": "#455ee1"
251
+ },
252
+ "usage": "Categorical series 1, in the accent's hue (or the nearest that clears status and presence). Charts only, as presence-* is only for people; never text, surfaces or status."
253
+ },
254
+ {
255
+ "name": "data-2",
256
+ "value": {
257
+ "daylight": "#e65000",
258
+ "nightfall": "#989902"
259
+ },
260
+ "usage": "Categorical series 2: identity only, in config order. Charts only, as presence-* is only for people; never text, surfaces or status."
261
+ },
262
+ {
263
+ "name": "data-3",
264
+ "value": {
265
+ "daylight": "#0498b9",
266
+ "nightfall": "#983dbc"
267
+ },
268
+ "usage": "Categorical series 3: identity only, in config order. Charts only, as presence-* is only for people; never text, surfaces or status."
269
+ },
270
+ {
271
+ "name": "data-4",
272
+ "value": {
273
+ "daylight": "#2a8f00",
274
+ "nightfall": "#ce3401"
275
+ },
276
+ "usage": "Categorical series 4: identity only, in config order. Charts only, as presence-* is only for people; never text, surfaces or status."
277
+ },
278
+ {
279
+ "name": "data-5",
280
+ "value": {
281
+ "daylight": "#643980",
282
+ "nightfall": "#0397d2"
283
+ },
284
+ "usage": "Categorical series 5: identity only, in config order. Charts only, as presence-* is only for people; never text, surfaces or status."
285
+ },
286
+ {
287
+ "name": "data-6",
288
+ "value": {
289
+ "daylight": "#c56f99",
290
+ "nightfall": "#227702"
291
+ },
292
+ "usage": "Categorical series 6: identity only, in config order. Charts only, as presence-* is only for people; never text, surfaces or status."
293
+ },
294
+ {
295
+ "name": "data-other",
296
+ "value": {
297
+ "daylight": "#31343c",
298
+ "nightfall": "#676a73"
299
+ },
300
+ "usage": "The fold for a seventh and later series: a neutral that holds 3:1 on ground and raised."
301
+ },
302
+ {
303
+ "name": "data-context",
304
+ "value": {
305
+ "daylight": "#898a8e",
306
+ "nightfall": "#86888b"
307
+ },
308
+ "usage": "What a chart isn't about: series and records outside its focus. A neutral at 3:1, apart from line and data-other; never the only cue for a series."
309
+ },
310
+ {
311
+ "name": "data-seq-1",
312
+ "value": {
313
+ "daylight": "#e4ebff",
314
+ "nightfall": "#2d3242"
315
+ },
316
+ "usage": "Magnitude ramp, step 1 of 7 (1 is least). One hue, monotone lightness; dark schemes climb from their ground."
317
+ },
318
+ {
319
+ "name": "data-seq-2",
320
+ "value": {
321
+ "daylight": "#c1cdef",
322
+ "nightfall": "#404966"
323
+ },
324
+ "usage": "Magnitude ramp, step 2 of 7 (1 is least). One hue, monotone lightness; dark schemes climb from their ground."
325
+ },
326
+ {
327
+ "name": "data-seq-3",
328
+ "value": {
329
+ "daylight": "#a0b0de",
330
+ "nightfall": "#54618c"
331
+ },
332
+ "usage": "Magnitude ramp, step 3 of 7 (1 is least). One hue, monotone lightness; dark schemes climb from their ground."
333
+ },
334
+ {
335
+ "name": "data-seq-4",
336
+ "value": {
337
+ "daylight": "#8093cd",
338
+ "nightfall": "#687ab3"
339
+ },
340
+ "usage": "Magnitude ramp, step 4 of 7 (1 is least). One hue, monotone lightness; dark schemes climb from their ground."
341
+ },
342
+ {
343
+ "name": "data-seq-5",
344
+ "value": {
345
+ "daylight": "#6176bb",
346
+ "nightfall": "#7e94dc"
347
+ },
348
+ "usage": "Magnitude ramp, step 5 of 7 (1 is least). One hue, monotone lightness; dark schemes climb from their ground."
349
+ },
350
+ {
351
+ "name": "data-seq-6",
352
+ "value": {
353
+ "daylight": "#4559a9",
354
+ "nightfall": "#97b0ff"
355
+ },
356
+ "usage": "Magnitude ramp, step 6 of 7 (1 is least). One hue, monotone lightness; dark schemes climb from their ground."
357
+ },
358
+ {
359
+ "name": "data-seq-7",
360
+ "value": {
361
+ "daylight": "#2b3c97",
362
+ "nightfall": "#bfd0ff"
363
+ },
364
+ "usage": "Magnitude ramp, step 7 of 7 (1 is least). One hue, monotone lightness; dark schemes climb from their ground."
365
+ },
366
+ {
367
+ "name": "data-div-neg-3",
368
+ "value": {
369
+ "daylight": "#503000",
370
+ "nightfall": "#ffc580"
371
+ },
372
+ "usage": "Diverging ramp, 3 steps below the midpoint (orange). Never a status hue."
373
+ },
374
+ {
375
+ "name": "data-div-neg-2",
376
+ "value": {
377
+ "daylight": "#966112",
378
+ "nightfall": "#c68e48"
379
+ },
380
+ "usage": "Diverging ramp, 2 steps below the midpoint (orange). Never a status hue."
381
+ },
382
+ {
383
+ "name": "data-div-neg-1",
384
+ "value": {
385
+ "daylight": "#c6a178",
386
+ "nightfall": "#816038"
387
+ },
388
+ "usage": "Diverging ramp, 1 step below the midpoint (orange). Never a status hue."
389
+ },
390
+ {
391
+ "name": "data-div-mid",
392
+ "value": {
393
+ "daylight": "#e6e8ed",
394
+ "nightfall": "#36383c"
395
+ },
396
+ "usage": "Diverging ramp midpoint: a neutral for the meaningful middle (zero, target, average)."
397
+ },
398
+ {
399
+ "name": "data-div-pos-1",
400
+ "value": {
401
+ "daylight": "#97a7d6",
402
+ "nightfall": "#576590"
403
+ },
404
+ "usage": "Diverging ramp, 1 step above the midpoint (blue). Never a status hue."
405
+ },
406
+ {
407
+ "name": "data-div-pos-2",
408
+ "value": {
409
+ "daylight": "#5569ad",
410
+ "nightfall": "#8097df"
411
+ },
412
+ "usage": "Diverging ramp, 2 steps above the midpoint (blue). Never a status hue."
413
+ },
414
+ {
415
+ "name": "data-div-pos-3",
416
+ "value": {
417
+ "daylight": "#1d2a84",
418
+ "nightfall": "#bfd0ff"
419
+ },
420
+ "usage": "Diverging ramp, 3 steps above the midpoint (blue). Never a status hue."
421
+ },
304
422
  {
305
423
  "name": "scrim",
306
424
  "value": {
307
425
  "daylight": "#12161f52",
308
- "nightfall": "#00000080",
309
- "mesa": "#221b144d",
310
- "alpine": "#00000080"
426
+ "nightfall": "#00000080"
311
427
  },
312
428
  "usage": "The veil a dialog lays over everything beneath it."
313
429
  }
@@ -402,7 +518,7 @@
402
518
  ]
403
519
  },
404
520
  "spacing": {
405
- "note": "4px base. Padding inside a raised surface grows with its level: cards space-5, popovers space-2 to space-3, dialogs space-6.",
521
+ "note": "4px base. Padding inside a raised surface grows with its level: cards space-5, popovers space-2 to space-3, dialogs space-6. On a phone, insets ease to space-4 below the compact breakpoint (bundle.css --alt-inset-page and --alt-inset-box; Mobile, M11).",
406
522
  "tokens": [
407
523
  {
408
524
  "name": "space-1",
@@ -481,6 +597,58 @@
481
597
  }
482
598
  ]
483
599
  },
600
+ "size": {
601
+ "note": "Control sizes, and the target every control reaches (#245). Under a coarse pointer (a finger) the face sizes step up, unless an AltitudeProvider pins density=\"compact\"; density=\"comfortable\" steps them up everywhere. The hit-area minimum follows the pointer alone. The two breakpoints are the widths every layout switch uses: CSS can't read a token in a media query, so they're written as numbers and checked.",
602
+ "tokens": [
603
+ {
604
+ "name": "size-target-min",
605
+ "value": "24px",
606
+ "coarse": "44px",
607
+ "density": false,
608
+ "usage": "The hit area every control reaches, with a transparent ::before where its face is smaller (WCAG 2.5.8; 2.5.5 on touch)."
609
+ },
610
+ {
611
+ "name": "size-control-sm",
612
+ "value": "30px",
613
+ "coarse": "40px",
614
+ "usage": "Small buttons, tab triggers, breadcrumb steps."
615
+ },
616
+ {
617
+ "name": "size-control-md",
618
+ "value": "36px",
619
+ "coarse": "44px",
620
+ "usage": "Buttons, menu items, sidebar items."
621
+ },
622
+ {
623
+ "name": "size-field-sm",
624
+ "value": "34px",
625
+ "coarse": "44px",
626
+ "usage": "Small inputs and select triggers."
627
+ },
628
+ {
629
+ "name": "size-field-md",
630
+ "value": "40px",
631
+ "coarse": "48px",
632
+ "usage": "Inputs, select triggers, command palette rows."
633
+ },
634
+ {
635
+ "name": "size-row-md",
636
+ "value": "32px",
637
+ "coarse": "44px",
638
+ "usage": "Tree, list and filter rows."
639
+ },
640
+ {
641
+ "name": "breakpoint-narrow",
642
+ "value": "480px",
643
+ "usage": "A component's own narrow layout (container queries): pagination words, a calendar, a narrow card."
644
+ },
645
+ {
646
+ "name": "breakpoint-compact",
647
+ "value": "640px",
648
+ "usage": "Page chrome on a phone: the sidebar becomes a drawer, panels become sheets."
649
+ }
650
+ ]
651
+ },
484
652
  "shadow": {
485
653
  "note": "The elevation ladder. Light falls from straight above, so shadows only fall down. Every level uses the same four layers (rim, hairline, key, ambient): any two interpolate smoothly. The hairline fades as a surface climbs; the shadow takes over the separating.",
486
654
  "tokens": [
@@ -488,9 +656,7 @@
488
656
  "name": "trench",
489
657
  "value": {
490
658
  "daylight": "inset 0 1px 3px #0f17292e, 0 0 0 0 #0f172900, 0 0 0 0 #0f172900, 0 0 0 0 #0f172900",
491
- "nightfall": "inset 0 2px 4px #000000b3, 0 0 0 0 #00000000, 0 0 0 0 #00000000, 0 0 0 0 #00000000",
492
- "mesa": "inset 0 1px 3px #2a1a0c2e, 0 0 0 0 #2a1a0c00, 0 0 0 0 #2a1a0c00, 0 0 0 0 #2a1a0c00",
493
- "alpine": "inset 0 2px 4px #000000b3, 0 0 0 0 #00000000, 0 0 0 0 #00000000, 0 0 0 0 #00000000"
659
+ "nightfall": "inset 0 2px 4px #000000b3, 0 0 0 0 #00000000, 0 0 0 0 #00000000, 0 0 0 0 #00000000"
494
660
  },
495
661
  "usage": "Level -2, inset. Slider, switch and progress tracks; the invalid field."
496
662
  },
@@ -498,9 +664,7 @@
498
664
  "name": "well",
499
665
  "value": {
500
666
  "daylight": "inset 0 1px 2px #0f17291a, 0 0 0 0 #0f172900, 0 0 0 0 #0f172900, 0 0 0 0 #0f172900",
501
- "nightfall": "inset 0 1px 2px #00000099, 0 0 0 0 #00000000, 0 0 0 0 #00000000, 0 0 0 0 #00000000",
502
- "mesa": "inset 0 1px 2px #2a1a0c1a, 0 0 0 0 #2a1a0c00, 0 0 0 0 #2a1a0c00, 0 0 0 0 #2a1a0c00",
503
- "alpine": "inset 0 1px 2px #00000099, 0 0 0 0 #00000000, 0 0 0 0 #00000000, 0 0 0 0 #00000000"
667
+ "nightfall": "inset 0 1px 2px #00000099, 0 0 0 0 #00000000, 0 0 0 0 #00000000, 0 0 0 0 #00000000"
504
668
  },
505
669
  "usage": "Level -1, inset. Inputs, textareas, the tab track, unchecked checkboxes and radios."
506
670
  },
@@ -508,9 +672,7 @@
508
672
  "name": "elev-0",
509
673
  "value": {
510
674
  "daylight": "inset 0 1px 0 #ffffff00, 0 0 0 0 #0f172900, 0 0 0 0 #0f172900, 0 0 0 0 #0f172900",
511
- "nightfall": "inset 0 1px 0 #ffffff00, 0 0 0 0 #00000000, 0 0 0 0 #00000000, 0 0 0 0 #00000000",
512
- "mesa": "inset 0 1px 0 #ffffff00, 0 0 0 0 #2a1a0c00, 0 0 0 0 #2a1a0c00, 0 0 0 0 #2a1a0c00",
513
- "alpine": "inset 0 1px 0 #ffffff00, 0 0 0 0 #00000000, 0 0 0 0 #00000000, 0 0 0 0 #00000000"
675
+ "nightfall": "inset 0 1px 0 #ffffff00, 0 0 0 0 #00000000, 0 0 0 0 #00000000, 0 0 0 0 #00000000"
514
676
  },
515
677
  "usage": "Level 0, flush. Ghost buttons, badges, skeletons, disabled and pressed controls. Same four-layer shape as every level, so transitions interpolate."
516
678
  },
@@ -518,9 +680,7 @@
518
680
  "name": "elev-1",
519
681
  "value": {
520
682
  "daylight": "inset 0 1px 0 #ffffffb3, 0 0 0 1px #0f172917, 0 1px 2px #0f172912, 0 2px 4px -1px #0f17290f",
521
- "nightfall": "inset 0 1px 0 #ffffff12, 0 0 0 1px #ffffff0a, 0 1px 2px #00000080, 0 2px 6px -1px #00000052",
522
- "mesa": "inset 0 1px 0 #ffffffb3, 0 0 0 1px #2a1a0c17, 0 1px 2px #2a1a0c12, 0 2px 4px -1px #2a1a0c0f",
523
- "alpine": "inset 0 1px 0 #ffffff12, 0 0 0 1px #ffffff0a, 0 1px 2px #00000080, 0 2px 6px -1px #00000052"
683
+ "nightfall": "inset 0 1px 0 #ffffff12, 0 0 0 1px #ffffff0a, 0 1px 2px #00000080, 0 2px 6px -1px #00000052"
524
684
  },
525
685
  "usage": "Level 1, raised. Cards, secondary buttons, the switch thumb, the active tab, avatars, keys."
526
686
  },
@@ -528,9 +688,7 @@
528
688
  "name": "elev-2",
529
689
  "value": {
530
690
  "daylight": "inset 0 1px 0 #ffffffcc, 0 0 0 1px #0f172912, 0 2px 4px -1px #0f172914, 0 8px 16px -6px #0f172924",
531
- "nightfall": "inset 0 1px 0 #ffffff17, 0 0 0 1px #ffffff0d, 0 2px 4px -1px #00000073, 0 10px 20px -6px #00000066",
532
- "mesa": "inset 0 1px 0 #ffffffcc, 0 0 0 1px #2a1a0c12, 0 2px 4px -1px #2a1a0c14, 0 8px 16px -6px #2a1a0c24",
533
- "alpine": "inset 0 1px 0 #ffffff17, 0 0 0 1px #ffffff0d, 0 2px 4px -1px #00000073, 0 10px 20px -6px #00000066"
691
+ "nightfall": "inset 0 1px 0 #ffffff17, 0 0 0 1px #ffffff0d, 0 2px 4px -1px #00000073, 0 10px 20px -6px #00000066"
534
692
  },
535
693
  "usage": "Level 2, lifted. Primary button at rest; anything raised while hovered or focused."
536
694
  },
@@ -538,9 +696,7 @@
538
696
  "name": "elev-3",
539
697
  "value": {
540
698
  "daylight": "inset 0 1px 0 #ffffffe6, 0 0 0 1px #0f17290f, 0 4px 8px -2px #0f172914, 0 16px 32px -10px #0f172933",
541
- "nightfall": "inset 0 1px 0 #ffffff1c, 0 0 0 1px #ffffff0f, 0 4px 8px -2px #00000073, 0 18px 36px -10px #00000080",
542
- "mesa": "inset 0 1px 0 #ffffffe6, 0 0 0 1px #2a1a0c0f, 0 4px 8px -2px #2a1a0c14, 0 16px 32px -10px #2a1a0c33",
543
- "alpine": "inset 0 1px 0 #ffffff1c, 0 0 0 1px #ffffff0f, 0 4px 8px -2px #00000073, 0 18px 36px -10px #00000080"
699
+ "nightfall": "inset 0 1px 0 #ffffff1c, 0 0 0 1px #ffffff0f, 0 4px 8px -2px #00000073, 0 18px 36px -10px #00000080"
544
700
  },
545
701
  "usage": "Level 3, floating. Tooltips, popovers, menus, a dragged slider thumb."
546
702
  },
@@ -548,9 +704,7 @@
548
704
  "name": "elev-4",
549
705
  "value": {
550
706
  "daylight": "inset 0 1px 0 #ffffff, 0 0 0 1px #0f17290d, 0 8px 16px -4px #0f172917, 0 28px 56px -16px #0f17293d",
551
- "nightfall": "inset 0 1px 0 #ffffff21, 0 0 0 1px #ffffff12, 0 8px 16px -4px #00000080, 0 30px 60px -16px #0000008c",
552
- "mesa": "inset 0 1px 0 #ffffff, 0 0 0 1px #2a1a0c0d, 0 8px 16px -4px #2a1a0c17, 0 28px 56px -16px #2a1a0c3d",
553
- "alpine": "inset 0 1px 0 #ffffff21, 0 0 0 1px #ffffff12, 0 8px 16px -4px #00000080, 0 30px 60px -16px #0000008c"
707
+ "nightfall": "inset 0 1px 0 #ffffff21, 0 0 0 1px #ffffff12, 0 8px 16px -4px #00000080, 0 30px 60px -16px #0000008c"
554
708
  },
555
709
  "usage": "Level 4, overlay. The front toast; sheets."
556
710
  },
@@ -558,9 +712,7 @@
558
712
  "name": "elev-5",
559
713
  "value": {
560
714
  "daylight": "inset 0 1px 0 #ffffff, 0 0 0 1px #0f17290a, 0 12px 24px -6px #0f17291a, 0 48px 96px -24px #0f17294d",
561
- "nightfall": "inset 0 1px 0 #ffffff26, 0 0 0 1px #ffffff14, 0 12px 24px -6px #0000008c, 0 48px 96px -24px #00000099",
562
- "mesa": "inset 0 1px 0 #ffffff, 0 0 0 1px #2a1a0c0a, 0 12px 24px -6px #2a1a0c1a, 0 48px 96px -24px #2a1a0c4d",
563
- "alpine": "inset 0 1px 0 #ffffff26, 0 0 0 1px #ffffff14, 0 12px 24px -6px #0000008c, 0 48px 96px -24px #00000099"
715
+ "nightfall": "inset 0 1px 0 #ffffff26, 0 0 0 1px #ffffff14, 0 12px 24px -6px #0000008c, 0 48px 96px -24px #00000099"
564
716
  },
565
717
  "usage": "Level 5, modal. Dialogs only."
566
718
  },
@@ -568,9 +720,7 @@
568
720
  "name": "lip-top",
569
721
  "value": {
570
722
  "daylight": "inset 0 18px 18px -18px #0f17293d",
571
- "nightfall": "inset 0 18px 18px -18px #000000cc",
572
- "mesa": "inset 0 18px 18px -18px #2a1a0c3d",
573
- "alpine": "inset 0 18px 18px -18px #000000cc"
723
+ "nightfall": "inset 0 18px 18px -18px #000000cc"
574
724
  },
575
725
  "usage": "Overflow cue: the inner shadow at the top edge of a scroll area when content continues above it."
576
726
  },
@@ -578,9 +728,7 @@
578
728
  "name": "lip-bottom",
579
729
  "value": {
580
730
  "daylight": "inset 0 -18px 18px -18px #0f17293d",
581
- "nightfall": "inset 0 -18px 18px -18px #000000cc",
582
- "mesa": "inset 0 -18px 18px -18px #2a1a0c3d",
583
- "alpine": "inset 0 -18px 18px -18px #000000cc"
731
+ "nightfall": "inset 0 -18px 18px -18px #000000cc"
584
732
  },
585
733
  "usage": "Overflow cue: the inner shadow at the bottom edge of a scroll area when content continues below it."
586
734
  }
@@ -624,6 +772,16 @@
624
772
  "value": "1600ms",
625
773
  "usage": "One pass of the skeleton's light sweep; the indeterminate progress loop."
626
774
  },
775
+ {
776
+ "name": "dur-breath",
777
+ "value": "4800ms",
778
+ "usage": "One breath of a waiting imprint under loading=\"breath\": its floor deepens over 40% and releases over the rest, slower and less even than a pending write."
779
+ },
780
+ {
781
+ "name": "dur-wave",
782
+ "value": "1800ms",
783
+ "usage": "How long the swell of breathing imprints takes to cross the view from top to bottom (each imprint lags by its height in the view)."
784
+ },
627
785
  {
628
786
  "name": "dur-grace",
629
787
  "value": "300ms",
@@ -644,10 +802,25 @@
644
802
  "value": "1800ms",
645
803
  "usage": "One breath of a pending surface hovering above the ground."
646
804
  },
805
+ {
806
+ "name": "dur-linger",
807
+ "value": "2000ms",
808
+ "usage": "How long a removed item's receipt holds in its slot before the gap closes: long enough to read and Undo."
809
+ },
647
810
  {
648
811
  "name": "dur-settle",
649
812
  "value": "8000ms",
650
813
  "usage": "Afterglow: new or changed content arrives at level 2 and settles to its resting level over this long."
814
+ },
815
+ {
816
+ "name": "dur-arrive",
817
+ "value": "1100ms",
818
+ "usage": "Under loading=\"breath\", raised content rises a level past its rest as it lands and settles back over this long."
819
+ },
820
+ {
821
+ "name": "dur-plate",
822
+ "value": "600ms",
823
+ "usage": "Under loading=\"breath\", the plate under content that arrives into a view already showing dissolves over this long. No tint, so it is not an afterglow."
651
824
  }
652
825
  ]
653
826
  },