@esportsplus/ui 0.57.0 → 0.58.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 (490) hide show
  1. package/README.md +123 -39
  2. package/build/components/accordion/group.d.ts +14 -0
  3. package/build/components/accordion/group.js +21 -0
  4. package/build/components/accordion/index.d.ts +9 -0
  5. package/build/components/accordion/index.js +20 -3
  6. package/build/components/accordion/scss/index.scss +1 -1
  7. package/build/components/announcement/scss/index.scss +1 -1
  8. package/build/components/breadcrumb/scss/index.scss +1 -1
  9. package/build/components/button/scss/index.scss +1 -1
  10. package/build/components/button/sidebar.d.ts +3 -0
  11. package/build/components/button/sidebar.js +40 -10
  12. package/build/components/capslock/index.js +1 -1
  13. package/build/components/capslock/scss/index.scss +1 -1
  14. package/build/components/card/scss/index.scss +1 -1
  15. package/build/components/cc/scss/index.scss +1 -1
  16. package/build/components/chat-minimap/scss/index.scss +1 -1
  17. package/build/components/checkbox/scss/index.scss +1 -1
  18. package/build/components/color-picker/index.d.ts +1 -0
  19. package/build/components/color-picker/index.js +166 -136
  20. package/build/components/color-picker/scss/index.scss +1 -1
  21. package/build/components/command/index.d.ts +0 -1
  22. package/build/components/command/index.js +3 -2
  23. package/build/components/command/scss/index.scss +1 -1
  24. package/build/components/copy/scss/index.scss +1 -1
  25. package/build/components/counter/scss/index.scss +1 -1
  26. package/build/components/datalist/index.js +3 -3
  27. package/build/components/datalist/scss/index.scss +1 -1
  28. package/build/components/dock/scss/index.scss +1 -1
  29. package/build/components/editor/code/index.d.ts +0 -1
  30. package/build/components/editor/code/index.js +0 -1
  31. package/build/components/editor/code/minimap.d.ts +2 -1
  32. package/build/components/editor/code/minimap.js +5 -2
  33. package/build/components/editor/code/view.d.ts +3 -1
  34. package/build/components/editor/code/view.js +37 -26
  35. package/build/components/editor/diffs/index.d.ts +0 -1
  36. package/build/components/editor/diffs/index.js +0 -1
  37. package/build/components/editor/diffs/merge.js +7 -3
  38. package/build/components/editor/diffs/view.js +3 -1
  39. package/build/components/editor/index.d.ts +4 -1
  40. package/build/components/editor/index.js +2 -1
  41. package/build/components/editor/markdown/editing.js +22 -3
  42. package/build/components/editor/markdown/erase.d.ts +9 -0
  43. package/build/components/editor/markdown/erase.js +78 -0
  44. package/build/components/editor/markdown/index.d.ts +0 -1
  45. package/build/components/editor/markdown/index.js +0 -1
  46. package/build/components/editor/markdown/layout.d.ts +2 -9
  47. package/build/components/editor/markdown/layout.js +2 -7
  48. package/build/components/editor/markdown/render.d.ts +0 -1
  49. package/build/components/editor/markdown/render.js +287 -235
  50. package/build/components/editor/markdown/view.js +566 -667
  51. package/build/components/editor/viewer/index.d.ts +27 -0
  52. package/build/components/editor/viewer/index.js +250 -0
  53. package/build/components/editor/viewer/model.d.ts +15 -0
  54. package/build/components/editor/viewer/model.js +73 -0
  55. package/build/components/editor/workspace/index.d.ts +6 -2
  56. package/build/components/editor/workspace/index.js +243 -137
  57. package/build/components/editor/workspace/keybindings.d.ts +37 -0
  58. package/build/components/editor/workspace/keybindings.js +288 -0
  59. package/build/components/editor/workspace/model.d.ts +55 -2
  60. package/build/components/editor/workspace/model.js +141 -3
  61. package/build/components/editor/workspace/navigate.d.ts +19 -0
  62. package/build/components/editor/workspace/navigate.js +118 -0
  63. package/build/components/editor/workspace/session.d.ts +29 -0
  64. package/build/components/editor/workspace/session.js +373 -0
  65. package/build/components/editor/workspace/shortcuts.d.ts +19 -0
  66. package/build/components/editor/workspace/shortcuts.js +185 -0
  67. package/build/components/editor/workspace/status.d.ts +34 -0
  68. package/build/components/editor/workspace/status.js +193 -0
  69. package/build/components/editor/workspace/statusbar.d.ts +15 -0
  70. package/build/components/editor/workspace/statusbar.js +190 -0
  71. package/build/components/editor/workspace/strip.d.ts +27 -0
  72. package/build/components/editor/workspace/strip.js +239 -0
  73. package/build/components/editor/workspace/tabs.d.ts +15 -0
  74. package/build/components/editor/workspace/tabs.js +63 -0
  75. package/build/components/error/index.js +1 -1
  76. package/build/components/error/scss/index.scss +1 -1
  77. package/build/components/filter/index.js +5 -3
  78. package/build/components/filter/scss/index.scss +1 -1
  79. package/build/components/frame/scss/index.scss +1 -1
  80. package/build/components/heatmap/index.js +3 -3
  81. package/build/components/heatmap/scss/index.scss +1 -1
  82. package/build/components/highlight/scss/index.scss +1 -1
  83. package/build/components/icon/scss/index.scss +1 -1
  84. package/build/components/image/scss/index.scss +1 -1
  85. package/build/components/index.d.ts +2 -0
  86. package/build/components/index.js +2 -0
  87. package/build/components/inline-edit/scss/index.scss +1 -1
  88. package/build/components/input/scss/index.scss +1 -1
  89. package/build/components/link/scss/index.scss +1 -1
  90. package/build/components/loading/scss/index.scss +1 -1
  91. package/build/components/marquee/scss/index.scss +1 -1
  92. package/build/components/metric/scss/index.scss +1 -1
  93. package/build/components/nav/index.d.ts +1 -1
  94. package/build/components/nav/scss/index.scss +1 -1
  95. package/build/components/nav/tree.d.ts +3 -1
  96. package/build/components/nav/tree.js +30 -60
  97. package/build/components/notification/scss/index.scss +1 -1
  98. package/build/components/overlay/scss/index.scss +1 -1
  99. package/build/components/page/scss/index.scss +1 -1
  100. package/build/components/pagination/arrows.d.ts +15 -0
  101. package/build/components/pagination/arrows.js +65 -0
  102. package/build/components/pagination/cards.d.ts +23 -0
  103. package/build/components/pagination/cards.js +66 -0
  104. package/build/components/pagination/index.d.ts +5 -0
  105. package/build/components/pagination/index.js +3 -1
  106. package/build/components/pagination/scss/index.scss +1 -1
  107. package/build/components/progress/scss/index.scss +1 -1
  108. package/build/components/pull-to-refresh/scss/index.scss +1 -1
  109. package/build/components/range/index.js +1 -1
  110. package/build/components/range/scss/index.scss +1 -1
  111. package/build/components/relative-time/scss/index.scss +1 -1
  112. package/build/components/root/scss/index.scss +1 -1
  113. package/build/components/section/scss/index.scss +2 -0
  114. package/build/components/select/index.d.ts +1 -0
  115. package/build/components/select/index.js +16 -11
  116. package/build/components/select/scss/index.scss +1 -1
  117. package/build/components/shortcut-recorder/scss/index.scss +1 -1
  118. package/build/components/sortable/scss/index.scss +1 -1
  119. package/build/components/sticky-header/index.js +3 -3
  120. package/build/components/sticky-header/scss/index.scss +1 -1
  121. package/build/components/story/scss/index.scss +1 -1
  122. package/build/components/surface-field/scss/index.scss +1 -1
  123. package/build/components/tasklist/scss/index.scss +1 -1
  124. package/build/components/text/scss/index.scss +1 -1
  125. package/build/components/textarea/scss/index.scss +1 -1
  126. package/build/{css-utilities → components}/theme/index.d.ts +1 -1
  127. package/build/{css-utilities → components}/theme/index.js +15 -5
  128. package/build/components/theme/scss/index.scss +2 -0
  129. package/build/components/theme-picker/index.d.ts +52 -0
  130. package/build/components/theme-picker/index.js +167 -0
  131. package/build/components/theme-picker/scss/index.scss +2 -0
  132. package/build/components/toast/index.js +3 -5
  133. package/build/components/toast/scss/index.scss +1 -1
  134. package/build/components/tooltip/menu.js +3 -1
  135. package/build/components/tooltip/scss/index.scss +1 -1
  136. package/build/components/typewriter/scss/index.scss +1 -1
  137. package/build/components/uptime/scss/index.scss +1 -1
  138. package/build/components/usage-meter/scss/index.scss +1 -1
  139. package/build/{css-utilities → modifiers}/glass/index.d.ts +2 -2
  140. package/build/modifiers/glass/index.js +28 -0
  141. package/build/modifiers/glass/scss/index.scss +2 -0
  142. package/build/{css-utilities → modifiers}/index.d.ts +0 -1
  143. package/build/{css-utilities → modifiers}/index.js +0 -1
  144. package/build/modifiers/scrollbar/index.d.ts +72 -0
  145. package/build/{css-utilities → modifiers}/scrollbar/index.js +52 -19
  146. package/build/modifiers/scrollbar/scss/index.scss +2 -0
  147. package/build/normalize/scss/index.scss +1 -2
  148. package/layer.scss +1 -1
  149. package/package.json +11 -18
  150. package/scripts/code-editor-markdown.test.mjs +45 -14
  151. package/scripts/code-viewer.test.mjs +69 -0
  152. package/scripts/workspace-keybindings.test.mjs +273 -0
  153. package/scripts/workspace-session.test.mjs +349 -0
  154. package/scripts/workspace-status.test.mjs +229 -0
  155. package/scripts/workspace-tabs.test.mjs +142 -0
  156. package/src/components/accordion/group.ts +39 -0
  157. package/src/components/accordion/index.ts +32 -6
  158. package/src/components/accordion/scss/index.scss +12 -21
  159. package/src/components/accordion/scss/variables.scss +18 -3
  160. package/src/components/announcement/scss/index.scss +4 -4
  161. package/src/components/announcement/scss/variables.scss +6 -6
  162. package/src/components/banner/scss/index.scss +1 -1
  163. package/src/components/breadcrumb/scss/index.scss +35 -50
  164. package/src/components/breadcrumb/scss/variables.scss +23 -31
  165. package/src/components/button/scss/_fan.scss +39 -43
  166. package/src/components/button/scss/_morph.scss +66 -78
  167. package/src/components/button/scss/_sidebar.scss +41 -30
  168. package/src/components/button/scss/_split.scss +9 -9
  169. package/src/components/button/scss/index.scss +23 -19
  170. package/src/components/button/scss/variables.scss +94 -90
  171. package/src/components/button/sidebar.ts +36 -24
  172. package/src/components/capslock/index.ts +2 -2
  173. package/src/components/capslock/scss/index.scss +11 -6
  174. package/src/components/capslock/scss/variables.scss +3 -5
  175. package/src/components/card/scss/_expand.scss +58 -64
  176. package/src/components/card/scss/index.scss +40 -21
  177. package/src/components/card/scss/variables.scss +40 -31
  178. package/src/components/cc/scss/index.scss +68 -68
  179. package/src/components/cc/scss/variables.scss +13 -14
  180. package/src/components/chat-minimap/scss/index.scss +24 -16
  181. package/src/components/chat-minimap/scss/variables.scss +37 -37
  182. package/src/components/checkbox/scss/index.scss +54 -52
  183. package/src/components/checkbox/scss/variables.scss +37 -39
  184. package/src/components/color-picker/index.ts +157 -120
  185. package/src/components/color-picker/scss/index.scss +159 -96
  186. package/src/components/color-picker/scss/variables.scss +33 -15
  187. package/src/components/command/index.ts +3 -2
  188. package/src/components/command/scss/index.scss +10 -14
  189. package/src/components/command/scss/variables.scss +12 -35
  190. package/src/components/copy/scss/index.scss +6 -6
  191. package/src/components/copy/scss/variables.scss +12 -15
  192. package/src/components/counter/scss/index.scss +14 -14
  193. package/src/components/counter/scss/variables.scss +1 -1
  194. package/src/components/datalist/index.ts +3 -3
  195. package/src/components/datalist/scss/index.scss +7 -6
  196. package/src/components/datalist/scss/variables.scss +7 -3
  197. package/src/components/dock/scss/index.scss +10 -15
  198. package/src/components/dock/scss/variables.scss +29 -25
  199. package/src/components/editor/code/index.ts +0 -1
  200. package/src/components/editor/code/minimap.ts +13 -5
  201. package/src/components/editor/code/scss/_editor.scss +83 -81
  202. package/src/components/editor/code/scss/_features.scss +106 -97
  203. package/src/components/editor/code/scss/_services.scss +27 -25
  204. package/src/components/editor/code/scss/index.scss +0 -1
  205. package/src/components/editor/code/scss/variables.scss +30 -26
  206. package/src/components/editor/code/view.ts +14 -5
  207. package/src/components/editor/diffs/index.ts +0 -1
  208. package/src/components/editor/diffs/merge.ts +2 -1
  209. package/src/components/editor/diffs/scss/_diffs.scss +67 -57
  210. package/src/components/editor/diffs/scss/_merge.scss +17 -14
  211. package/src/components/editor/diffs/scss/index.scss +0 -1
  212. package/src/components/editor/diffs/scss/variables.scss +25 -18
  213. package/src/components/editor/diffs/view.ts +2 -1
  214. package/src/components/editor/index.ts +7 -1
  215. package/src/components/editor/markdown/editing.ts +38 -3
  216. package/src/components/editor/markdown/erase.ts +124 -0
  217. package/src/components/editor/markdown/index.ts +0 -1
  218. package/src/components/editor/markdown/layout.ts +3 -12
  219. package/src/components/editor/markdown/render.ts +65 -37
  220. package/src/components/editor/markdown/scss/index.scss +92 -124
  221. package/src/components/editor/markdown/scss/variables.scss +39 -19
  222. package/src/components/editor/markdown/view.ts +737 -786
  223. package/src/components/editor/tree/scss/index.scss +121 -110
  224. package/src/components/editor/tree/scss/variables.scss +48 -54
  225. package/src/components/editor/viewer/index.ts +321 -0
  226. package/src/components/editor/viewer/model.ts +130 -0
  227. package/src/components/editor/viewer/scss/_viewer.scss +302 -0
  228. package/src/components/editor/viewer/scss/index.scss +2 -0
  229. package/src/components/editor/viewer/scss/variables.scss +69 -0
  230. package/src/components/editor/workspace/index.ts +159 -31
  231. package/src/components/editor/workspace/keybindings.ts +447 -0
  232. package/src/components/editor/workspace/model.ts +233 -3
  233. package/src/components/editor/workspace/navigate.ts +194 -0
  234. package/src/components/editor/workspace/scss/index.scss +72 -59
  235. package/src/components/editor/workspace/scss/keybindings.scss +190 -0
  236. package/src/components/editor/workspace/scss/status.scss +122 -0
  237. package/src/components/editor/workspace/scss/tabs.scss +56 -0
  238. package/src/components/editor/workspace/session.ts +551 -0
  239. package/src/components/editor/workspace/shortcuts.ts +255 -0
  240. package/src/components/editor/workspace/status.ts +259 -0
  241. package/src/components/editor/workspace/statusbar.ts +255 -0
  242. package/src/components/editor/workspace/strip.ts +273 -0
  243. package/src/components/editor/workspace/tabs.ts +106 -0
  244. package/src/components/error/index.ts +1 -1
  245. package/src/components/error/scss/index.scss +19 -19
  246. package/src/components/error/scss/variables.scss +2 -2
  247. package/src/components/filter/index.ts +7 -2
  248. package/src/components/filter/scss/index.scss +1 -1
  249. package/src/components/filter/scss/variables.scss +11 -10
  250. package/src/components/frame/scss/index.scss +12 -12
  251. package/src/components/frame/scss/variables.scss +8 -8
  252. package/src/components/heatmap/index.ts +3 -3
  253. package/src/components/heatmap/scss/index.scss +28 -26
  254. package/src/components/heatmap/scss/variables.scss +18 -17
  255. package/src/components/highlight/scss/index.scss +17 -13
  256. package/src/components/highlight/scss/variables.scss +8 -10
  257. package/src/components/icon/scss/index.scss +10 -0
  258. package/src/components/icon/scss/variables.scss +5 -0
  259. package/src/components/image/scss/index.scss +9 -9
  260. package/src/components/image/scss/variables.scss +7 -2
  261. package/src/components/index.ts +2 -0
  262. package/src/components/inline-edit/scss/index.scss +99 -104
  263. package/src/components/inline-edit/scss/variables.scss +40 -39
  264. package/src/components/input/scss/_field.scss +6 -20
  265. package/src/components/input/scss/_scrub.scss +10 -8
  266. package/src/components/input/scss/_tag.scss +35 -37
  267. package/src/components/input/scss/variables.scss +100 -99
  268. package/src/components/link/scss/index.scss +4 -1
  269. package/src/components/loading/scss/index.scss +1 -1
  270. package/src/components/loading/scss/variables.scss +1 -1
  271. package/src/components/marquee/scss/index.scss +9 -5
  272. package/src/components/marquee/scss/variables.scss +3 -1
  273. package/src/components/metric/scss/_flash.scss +3 -1
  274. package/src/components/metric/scss/index.scss +8 -6
  275. package/src/components/metric/scss/variables.scss +26 -20
  276. package/src/components/nav/index.ts +1 -1
  277. package/src/components/nav/scss/index.scss +12 -40
  278. package/src/components/nav/scss/variables.scss +30 -11
  279. package/src/components/nav/tree.ts +19 -62
  280. package/src/components/notification/scss/index.scss +7 -7
  281. package/src/components/notification/scss/variables.scss +7 -9
  282. package/src/components/overlay/scss/index.scss +181 -170
  283. package/src/components/overlay/scss/variables.scss +26 -57
  284. package/src/components/page/scss/index.scss +12 -11
  285. package/src/components/page/scss/variables.scss +5 -0
  286. package/src/components/pagination/arrows.ts +58 -0
  287. package/src/components/pagination/cards.ts +57 -0
  288. package/src/components/pagination/index.ts +4 -1
  289. package/src/components/pagination/scss/_arrows.scss +69 -0
  290. package/src/components/pagination/scss/_cards.scss +121 -0
  291. package/src/components/pagination/scss/_dots.scss +2 -5
  292. package/src/components/pagination/scss/index.scss +8 -6
  293. package/src/components/pagination/scss/variables.scss +87 -37
  294. package/src/components/progress/scss/_text.scss +21 -18
  295. package/src/components/progress/scss/index.scss +1 -1
  296. package/src/components/progress/scss/variables.scss +12 -12
  297. package/src/components/pull-to-refresh/scss/index.scss +2 -1
  298. package/src/components/pull-to-refresh/scss/variables.scss +11 -6
  299. package/src/components/range/index.ts +1 -1
  300. package/src/components/range/scss/_filter.scss +62 -51
  301. package/src/components/range/scss/_slider.scss +78 -75
  302. package/src/components/range/scss/_vertical.scss +6 -6
  303. package/src/components/range/scss/index.scss +3 -2
  304. package/src/components/range/scss/variables.scss +26 -23
  305. package/src/components/relative-time/scss/index.scss +27 -27
  306. package/src/components/relative-time/scss/variables.scss +10 -12
  307. package/src/components/root/scss/index.scss +71 -43
  308. package/src/components/root/scss/variables.scss +35 -31
  309. package/src/components/section/scss/index.scss +31 -0
  310. package/src/components/section/scss/variables.scss +21 -0
  311. package/src/components/select/index.ts +11 -6
  312. package/src/components/select/scss/index.scss +21 -32
  313. package/src/components/select/scss/variables.scss +25 -18
  314. package/src/components/shortcut-recorder/scss/index.scss +13 -12
  315. package/src/components/shortcut-recorder/scss/variables.scss +12 -13
  316. package/src/components/sortable/scss/index.scss +47 -44
  317. package/src/components/sortable/scss/variables.scss +4 -5
  318. package/src/components/sticky-header/index.ts +4 -4
  319. package/src/components/sticky-header/scss/index.scss +14 -13
  320. package/src/components/sticky-header/scss/variables.scss +9 -9
  321. package/src/components/story/scss/index.scss +26 -30
  322. package/src/components/story/scss/variables.scss +16 -9
  323. package/src/components/surface-field/scss/index.scss +45 -40
  324. package/src/components/surface-field/scss/variables.scss +5 -6
  325. package/src/components/tasklist/scss/index.scss +19 -19
  326. package/src/components/tasklist/scss/variables.scss +26 -29
  327. package/src/components/text/scss/index.scss +2 -1
  328. package/src/components/textarea/scss/variables.scss +1 -1
  329. package/src/{css-utilities → components}/theme/index.ts +17 -3
  330. package/src/components/theme/scss/index.scss +1 -0
  331. package/src/components/theme/scss/variables.scss +78 -0
  332. package/src/components/theme-picker/index.ts +231 -0
  333. package/src/components/theme-picker/scss/index.scss +264 -0
  334. package/src/components/toast/index.ts +28 -30
  335. package/src/components/toast/scss/index.scss +87 -87
  336. package/src/components/toast/scss/variables.scss +39 -39
  337. package/src/components/tooltip/menu.ts +4 -1
  338. package/src/components/tooltip/scss/_east.scss +10 -10
  339. package/src/components/tooltip/scss/_menu.scss +284 -269
  340. package/src/components/tooltip/scss/_north.scss +10 -10
  341. package/src/components/tooltip/scss/_shared.scss +7 -7
  342. package/src/components/tooltip/scss/_south.scss +10 -10
  343. package/src/components/tooltip/scss/_west.scss +10 -10
  344. package/src/components/tooltip/scss/index.scss +21 -20
  345. package/src/components/tooltip/scss/variables.scss +104 -96
  346. package/src/components/typewriter/scss/_retype.scss +12 -11
  347. package/src/components/typewriter/scss/_rotate.scss +2 -1
  348. package/src/components/typewriter/scss/variables.scss +41 -39
  349. package/src/components/uptime/scss/index.scss +15 -15
  350. package/src/components/uptime/scss/variables.scss +8 -8
  351. package/src/components/usage-meter/scss/index.scss +3 -1
  352. package/src/components/usage-meter/scss/variables.scss +5 -5
  353. package/src/css-utilities/absolute.scss +64 -0
  354. package/src/css-utilities/background.scss +43 -0
  355. package/src/css-utilities/border.scss +45 -0
  356. package/src/css-utilities/box-shadow.scss +29 -0
  357. package/src/css-utilities/color.scss +41 -0
  358. package/src/css-utilities/flex.scss +64 -0
  359. package/src/css-utilities/font/geist/{scss/index.scss → index.scss} +12 -4
  360. package/src/css-utilities/font/montserrat/Montserrat-Italic-Variable.woff2 +0 -0
  361. package/src/css-utilities/font/montserrat/Montserrat-Variable.woff2 +0 -0
  362. package/src/css-utilities/font/montserrat/OFL.txt +93 -0
  363. package/src/css-utilities/font/montserrat/index.scss +38 -0
  364. package/src/{shared/scss → css-utilities}/icon.scss +1 -1
  365. package/src/css-utilities/{inline/scss/index.scss → inline.scss} +1 -1
  366. package/src/css-utilities/{skeleton/scss/index.scss → skeleton.scss} +11 -11
  367. package/src/css-utilities/surface.scss +266 -0
  368. package/src/css-utilities/text.scss +191 -0
  369. package/src/modifiers/glass/index.ts +44 -0
  370. package/src/{css-utilities → modifiers}/glass/scss/index.scss +6 -6
  371. package/src/{css-utilities → modifiers}/glass/scss/variables.scss +1 -1
  372. package/src/{css-utilities → modifiers}/index.ts +0 -1
  373. package/src/{css-utilities → modifiers}/scrollbar/index.ts +92 -17
  374. package/src/{css-utilities → modifiers}/scrollbar/scss/index.scss +178 -177
  375. package/src/{css-utilities → modifiers}/scrollbar/scss/variables.scss +28 -21
  376. package/src/normalize/scss/index.scss +4 -2
  377. package/src/shared/scss/color-weights.scss +19 -0
  378. package/src/shared/scss/index.scss +1 -12
  379. package/src/tokens/scss/blur.scss +5 -0
  380. package/src/tokens/scss/color.scss +74 -50
  381. package/src/tokens/scss/index.scss +1 -2
  382. package/src/tokens/scss/size.scss +0 -2
  383. package/src/tokens/scss/state.scss +3 -2
  384. package/src/tokens/scss/transition.scss +19 -2
  385. package/storage/svg/monitor.svg +1 -0
  386. package/storage/svg/moon.svg +1 -0
  387. package/storage/svg/pin.svg +1 -0
  388. package/storage/svg/sun.svg +1 -0
  389. package/vite.config.ts +33 -8
  390. package/build/css-utilities/background/scss/index.scss +0 -2
  391. package/build/css-utilities/border/scss/index.scss +0 -2
  392. package/build/css-utilities/color/scss/index.scss +0 -2
  393. package/build/css-utilities/flex/scss/index.scss +0 -2
  394. package/build/css-utilities/font/geist/index.d.ts +0 -1
  395. package/build/css-utilities/font/geist/index.js +0 -1
  396. package/build/css-utilities/font/geist/scss/index.scss +0 -2
  397. package/build/css-utilities/font/montserrat/index.d.ts +0 -1
  398. package/build/css-utilities/font/montserrat/index.js +0 -1
  399. package/build/css-utilities/font/montserrat/scss/Montserrat-Bold.woff +0 -0
  400. package/build/css-utilities/font/montserrat/scss/Montserrat-Bold.woff2 +0 -0
  401. package/build/css-utilities/font/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
  402. package/build/css-utilities/font/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
  403. package/build/css-utilities/font/montserrat/scss/Montserrat-Italic.woff +0 -0
  404. package/build/css-utilities/font/montserrat/scss/Montserrat-Italic.woff2 +0 -0
  405. package/build/css-utilities/font/montserrat/scss/Montserrat-Medium.woff +0 -0
  406. package/build/css-utilities/font/montserrat/scss/Montserrat-Medium.woff2 +0 -0
  407. package/build/css-utilities/font/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
  408. package/build/css-utilities/font/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
  409. package/build/css-utilities/font/montserrat/scss/Montserrat-Regular.woff +0 -0
  410. package/build/css-utilities/font/montserrat/scss/Montserrat-Regular.woff2 +0 -0
  411. package/build/css-utilities/font/montserrat/scss/Montserrat-SemiBold.woff +0 -0
  412. package/build/css-utilities/font/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
  413. package/build/css-utilities/font/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
  414. package/build/css-utilities/font/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
  415. package/build/css-utilities/font/montserrat/scss/index.scss +0 -2
  416. package/build/css-utilities/glass/index.js +0 -26
  417. package/build/css-utilities/glass/scss/index.scss +0 -2
  418. package/build/css-utilities/index.scss +0 -2
  419. package/build/css-utilities/inline/scss/index.scss +0 -2
  420. package/build/css-utilities/scrollbar/index.d.ts +0 -42
  421. package/build/css-utilities/scrollbar/scss/index.scss +0 -2
  422. package/build/css-utilities/skeleton/scss/index.scss +0 -2
  423. package/build/css-utilities/text/scss/index.scss +0 -2
  424. package/build/themes/dark/index.d.ts +0 -3
  425. package/build/themes/dark/index.js +0 -3
  426. package/build/themes/dark/input.d.ts +0 -3
  427. package/build/themes/dark/input.js +0 -12
  428. package/build/themes/dark/select.d.ts +0 -3
  429. package/build/themes/dark/select.js +0 -23
  430. package/build/themes/dark/textarea.d.ts +0 -2186
  431. package/build/themes/dark/textarea.js +0 -11
  432. package/src/css-utilities/background/scss/index.scss +0 -1
  433. package/src/css-utilities/background/scss/variables.scss +0 -18
  434. package/src/css-utilities/border/scss/index.scss +0 -1
  435. package/src/css-utilities/border/scss/variables.scss +0 -23
  436. package/src/css-utilities/color/scss/index.scss +0 -1
  437. package/src/css-utilities/color/scss/variables.scss +0 -17
  438. package/src/css-utilities/flex/scss/index.scss +0 -57
  439. package/src/css-utilities/flex/scss/variables.scss +0 -16
  440. package/src/css-utilities/font/geist/index.ts +0 -1
  441. package/src/css-utilities/font/montserrat/index.ts +0 -1
  442. package/src/css-utilities/font/montserrat/scss/Montserrat-Bold.woff +0 -0
  443. package/src/css-utilities/font/montserrat/scss/Montserrat-Bold.woff2 +0 -0
  444. package/src/css-utilities/font/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
  445. package/src/css-utilities/font/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
  446. package/src/css-utilities/font/montserrat/scss/Montserrat-Italic.woff +0 -0
  447. package/src/css-utilities/font/montserrat/scss/Montserrat-Italic.woff2 +0 -0
  448. package/src/css-utilities/font/montserrat/scss/Montserrat-Medium.woff +0 -0
  449. package/src/css-utilities/font/montserrat/scss/Montserrat-Medium.woff2 +0 -0
  450. package/src/css-utilities/font/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
  451. package/src/css-utilities/font/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
  452. package/src/css-utilities/font/montserrat/scss/Montserrat-Regular.woff +0 -0
  453. package/src/css-utilities/font/montserrat/scss/Montserrat-Regular.woff2 +0 -0
  454. package/src/css-utilities/font/montserrat/scss/Montserrat-SemiBold.woff +0 -0
  455. package/src/css-utilities/font/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
  456. package/src/css-utilities/font/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
  457. package/src/css-utilities/font/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
  458. package/src/css-utilities/font/montserrat/scss/index.scss +0 -94
  459. package/src/css-utilities/glass/index.ts +0 -42
  460. package/src/css-utilities/index.scss +0 -13
  461. package/src/css-utilities/skeleton/scss/variables.scss +0 -3
  462. package/src/css-utilities/text/scss/index.scss +0 -152
  463. package/src/css-utilities/text/scss/variables.scss +0 -22
  464. package/src/shared/scss/absolute.scss +0 -28
  465. package/src/shared/scss/background.scss +0 -21
  466. package/src/shared/scss/border.scss +0 -21
  467. package/src/shared/scss/color.scss +0 -21
  468. package/src/shared/scss/position.scss +0 -55
  469. package/src/shared/scss/text.scss +0 -31
  470. package/src/themes/dark/index.ts +0 -3
  471. package/src/themes/dark/input.ts +0 -16
  472. package/src/themes/dark/select.ts +0 -28
  473. package/src/themes/dark/textarea.ts +0 -13
  474. package/src/tokens/scss/box-shadow.scss +0 -23
  475. package/src/tokens/scss/font-family.scss +0 -5
  476. package/storage/code.md +0 -180
  477. package/storage/editor-features.md +0 -227
  478. package/build/css-utilities/font/geist/{scss/Geist-Italic-Variable.woff2 → Geist-Italic-Variable.woff2} +0 -0
  479. package/build/css-utilities/font/geist/{scss/Geist-Variable.woff2 → Geist-Variable.woff2} +0 -0
  480. package/build/css-utilities/font/geist/{scss/GeistMono-Italic-Variable.woff2 → GeistMono-Italic-Variable.woff2} +0 -0
  481. package/build/css-utilities/font/geist/{scss/GeistMono-Variable.woff2 → GeistMono-Variable.woff2} +0 -0
  482. package/src/{shared/scss → css-utilities}/anchor.scss +6 -6
  483. package/src/{shared/scss → css-utilities}/drag.scss +0 -0
  484. package/src/css-utilities/font/geist/{scss/Geist-Italic-Variable.woff2 → Geist-Italic-Variable.woff2} +0 -0
  485. package/src/css-utilities/font/geist/{scss/Geist-Variable.woff2 → Geist-Variable.woff2} +0 -0
  486. package/src/css-utilities/font/geist/{scss/GeistMono-Italic-Variable.woff2 → GeistMono-Italic-Variable.woff2} +0 -0
  487. package/src/css-utilities/font/geist/{scss/GeistMono-Variable.woff2 → GeistMono-Variable.woff2} +0 -0
  488. package/src/{shared/scss → css-utilities}/hidden.scss +11 -11
  489. /package/src/{shared/scss → css-utilities}/layer.scss +0 -0
  490. /package/src/{shared/scss → css-utilities}/reset.scss +0 -0
@@ -1,20 +1,28 @@
1
- @use '/shared';
2
- @use '/tokens';
1
+ @use 'css-utilities/absolute';
2
+ @use 'css-utilities/background';
3
+ @use 'css-utilities/color';
4
+ @use 'css-utilities/hidden';
5
+ @use 'css-utilities/reset';
6
+ @use 'css-utilities/surface';
7
+ @use 'css-utilities/text';
8
+
3
9
 
4
10
  .input-tag {
5
11
  color: var(--color);
6
12
  display: flex;
7
13
  flex-direction: column;
8
- gap: 8px;
14
+ gap: var(--size-100);
9
15
  width: var(--width);
10
16
 
11
17
 
18
+ // The field is a surface, and each chip a surface above it.
12
19
  &-box {
13
- background: var(--box-background);
20
+ @extend %surface-raised-level;
21
+ background: var(--box-background, var(--surface-background-default));
14
22
  border-radius: var(--box-border-radius);
15
- box-shadow: var(--box-shadow);
23
+ box-shadow: var(--surface-shadow-default);
16
24
  cursor: text;
17
- outline-offset: 2px;
25
+ outline-offset: calc(var(--size-100) / 4);
18
26
  padding: var(--box-padding);
19
27
 
20
28
  &:has(.input-tag-field:focus-visible) {
@@ -23,37 +31,43 @@
23
31
  }
24
32
 
25
33
  &-chip {
34
+ @extend %color-state;
35
+ --color-active: var(--chip-color-active);
36
+ --color-default: var(--chip-color);
26
37
  align-items: center;
27
- color: var(--chip-color);
38
+ color: var(--color);
28
39
  display: flex;
29
40
  font-size: var(--font-size);
30
- gap: 2px;
41
+ gap: calc(var(--size-100) / 4);
31
42
  height: var(--chip-height);
32
43
  max-width: 100%;
33
- padding-inline: var(--text-inset) 4px;
44
+ padding-inline: var(--text-inset) calc(var(--size-100) / 2);
34
45
  position: relative;
35
46
  transition: color var(--transition-duration) var(--transition-timing-function);
36
47
 
37
- @include tokens.state(active) {
38
- color: var(--chip-color-active);
39
- }
40
-
41
48
  &-body {
42
- @extend %absolute-full;
43
- background: var(--chip-background);
49
+ @extend %absolute-full, %surface-raised-level;
50
+ // The surface's, until an active chip fills with ink and drops its shadow.
51
+ background: var(--chip-background, var(--surface-background-default));
44
52
  border-radius: var(--chip-border-radius);
45
- box-shadow: var(--chip-shadow);
53
+ box-shadow: var(--chip-shadow, var(--surface-shadow-default));
46
54
  transition:
47
55
  background-color var(--transition-duration) var(--transition-timing-function),
48
56
  box-shadow var(--transition-duration) var(--transition-timing-function);
49
57
  }
50
58
 
51
59
  &-button {
60
+ @extend %background-state, %color-state;
61
+ --background-hover: var(--chip-remove-hover-background);
62
+ --background-pressed: var(--background-hover);
63
+ --color-default: var(--chip-remove-color);
64
+ --color-hover: var(--chip-remove-color-hover);
65
+ --color-pressed: var(--color-hover);
52
66
  align-items: center;
53
- background: transparent;
67
+ background: var(--background);
54
68
  border: 0;
55
69
  border-radius: var(--border-radius-300);
56
- color: var(--chip-remove-color);
70
+ color: var(--color);
57
71
  cursor: pointer;
58
72
  display: flex;
59
73
  flex-shrink: 0;
@@ -64,26 +78,16 @@
64
78
  position: relative;
65
79
  transition:
66
80
  background-color var(--transition-duration) var(--transition-timing-function),
67
- color var(--transition-duration) var(--transition-timing-function),
68
- scale var(--transition-duration) var(--transition-timing-function);
81
+ color var(--transition-duration) var(--transition-timing-function);
69
82
  width: 24px;
70
83
 
71
84
  // Grows the hit area to 32px without growing the icon.
72
85
  &::after {
73
86
  content: '';
74
- inset: -4px;
87
+ inset: calc(var(--size-100) / -2);
75
88
  position: absolute;
76
89
  }
77
90
 
78
- &:hover {
79
- background: var(--chip-remove-hover-background);
80
- color: var(--chip-remove-color-hover);
81
- }
82
-
83
- &:active {
84
- scale: 0.96;
85
- }
86
-
87
91
  &:focus-visible {
88
92
  outline: var(--border-width-500) solid var(--outline-color);
89
93
  }
@@ -119,7 +123,7 @@
119
123
  min-height: 0;
120
124
  min-width: 0;
121
125
  outline: none;
122
- padding: 0 8px 0 var(--text-inset);
126
+ padding: 0 var(--size-100) 0 var(--text-inset);
123
127
 
124
128
  &::placeholder {
125
129
  color: var(--placeholder-color);
@@ -154,9 +158,3 @@
154
158
  @extend %hidden-visually;
155
159
  }
156
160
  }
157
-
158
- @media (prefers-reduced-motion: reduce) {
159
- .input-tag-chip-button:active {
160
- scale: 1;
161
- }
162
- }
@@ -1,4 +1,6 @@
1
1
  @use '/tokens';
2
+ @use 'css-utilities/background';
3
+ @use 'css-utilities/surface';
2
4
  @use 'field';
3
5
 
4
6
  .input {
@@ -6,113 +8,112 @@
6
8
  }
7
9
 
8
10
 
9
- .input-scrub {
10
- --background: var(--color-white-300);
11
- --border-radius: var(--border-radius-400);
12
- --color: var(--color-text-500);
13
- --field-padding: 10px;
14
- --font-size: var(--font-size-300);
15
- --height: 40px;
16
- --label-color: var(--color-text-300);
17
- --label-color-active: var(--color-text-500);
18
- --label-width: 36px;
19
- --needle-color: var(--color-text-500);
20
- --outline-color: var(--color-text-500);
21
- --outline-width: var(--border-width-500);
22
- --tape-color: var(--color-text-300);
23
- --tape-duration: var(--tape-leave-duration);
24
- --tape-enter-duration: 150ms;
25
- --tape-height: 8px;
26
- --tape-leave-duration: 200ms;
27
- --tape-major-height: 6px;
28
- --tape-minor-height: 3px;
29
- --tape-opacity: 0;
30
- --tape-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
31
- --tape-translate: 0 4px;
32
- // Keep in sync with the component's TICK constant; the tape offset is computed against it.
33
- --tick: 6px;
11
+ .input {
12
+ &-scrub {
13
+ @extend %background-state, %surface-raised-level;
14
+ --background-default: var(--surface-background-default);
15
+ --border-radius: var(--border-radius-400);
16
+ --color: var(--color-text-500);
17
+ --field-padding: var(--size-200);
18
+ --font-size: var(--font-size-300);
19
+ --height: 40px;
20
+ --label-color: var(--color-text-300);
21
+ --label-color-active: var(--color-text-500);
22
+ --label-width: 36px;
23
+ --needle-color: var(--color-primary-500);
24
+ --outline-color: var(--color-primary-500);
25
+ --outline-width: var(--border-width-500);
26
+ --tape-color: var(--color-primary-300);
27
+ --tape-duration: var(--tape-leave-duration);
28
+ --tape-enter-duration: var(--duration-fast);
29
+ --tape-height: var(--size-100);
30
+ --tape-leave-duration: var(--duration-moderate);
31
+ --tape-major-height: 6px;
32
+ --tape-minor-height: 3px;
33
+ --tape-opacity: 0;
34
+ --tape-timing-function: var(--easing-out);
35
+ --tape-translate: 0 4px;
36
+ // Keep in sync with the component's TICK constant; the tape offset is computed against it.
37
+ --tick: 6px;
34
38
 
35
- // Scrubbing lights the label and raises the tape under the needle.
36
- @include tokens.state(active) {
37
- --label-color: var(--label-color-active);
38
- --tape-duration: var(--tape-enter-duration);
39
- --tape-opacity: 1;
40
- --tape-translate: 0 0;
41
- }
39
+ // Scrubbing lights the label and raises the tape under the needle.
40
+ @include tokens.state(active) {
41
+ --label-color: var(--label-color-active);
42
+ --tape-duration: var(--tape-enter-duration);
43
+ --tape-opacity: 1;
44
+ --tape-translate: 0 0;
45
+ }
42
46
 
43
- // Qualified by the root so it wins over the reused input styles regardless of stylesheet order.
44
- & > #{&}-field {
45
- --color-default: currentColor;
46
- --font-size: inherit;
47
- --padding-horizontal: 0px;
48
- --padding-vertical: 0px;
47
+ // Qualified by the root so it wins over the reused input styles regardless of stylesheet order.
48
+ & > #{&}-field {
49
+ --color-default: currentColor;
50
+ --font-size: inherit;
51
+ --padding-horizontal: 0px;
52
+ --padding-vertical: 0px;
53
+ }
49
54
  }
50
- }
51
55
 
52
56
 
53
- .input-tag {
54
- --box-background: var(--color-grey-400);
55
- --box-border-radius: 14px;
56
- --box-padding: 6px;
57
- --box-shadow: var(--box-shadow-200);
58
- --chip-background: var(--color-white-300);
59
- --chip-background-active: var(--color-text-500);
60
- // Read by JS: how far a chip blurs as it comes and goes; half that leaving.
61
- --chip-blur: 4px;
62
- // 8px inside 6px of box padding keeps the 14px box concentric.
63
- --chip-border-radius: var(--border-radius-400);
64
- --chip-color: var(--color-text-500);
65
- --chip-color-active: var(--color-white-300);
66
- --chip-height: 32px;
67
- --chip-remove-color: var(--color-text-300);
68
- --chip-remove-color-hover: var(--color-text-500);
69
- --chip-remove-hover-background: oklch(from var(--color-text-500) l c h / 0.06);
70
- // Read by JS: what a formed chip's remove button grows from, what a chip grows from and shrinks to, how far a
71
- // repeated tag's chip shakes and how dim it goes, and how the row slides (no bounce: closing up reads as settled).
72
- --chip-remove-scale: 0.25;
73
- --chip-scale: 0.9;
74
- --chip-shadow: var(--box-shadow-100);
75
- --chip-shake: 4px;
76
- --chip-shake-opacity: 1;
77
- --chip-slide-duration: 410ms;
78
- --chip-slide-easing: linear(0, 0.038, 0.116, 0.219, 0.326, 0.43, 0.518, 0.602, 0.674, 0.731, 0.782, 0.825, 0.858, 0.886, 0.91, 0.928, 0.942, 0.955, 0.964, 0.971, 0.977, 0.982, 0.986, 0.989, 0.991, 0.993, 0.995, 0.996, 0.997, 0.997, 1);
79
- --color: var(--color-text-500);
80
- --entry-min-width: 120px;
81
- --font-size: var(--font-size-300);
82
- --gap: 6px;
83
- --hint-color: var(--color-text-300);
84
- --hint-font-size: var(--font-size-200);
85
- --label-font-size: var(--font-size-300);
86
- --label-font-weight: var(--font-weight-500);
87
- --outline-color: var(--color-text-500);
88
- --placeholder-color: var(--color-text-300);
89
- // Shared by a chip's text and the field, so a typed tag becomes a chip without its letters shifting.
90
- --text-inset: 10px;
91
- --width: min(440px, 100%);
57
+ &-tag {
58
+ --box-border-radius: 14px;
59
+ --box-padding: calc(var(--size-300) / 2);
60
+ --chip-background-active: var(--color-primary-500);
61
+ // Read by JS: how far a chip blurs as it comes and goes; half that leaving.
62
+ --chip-blur: var(--blur-400);
63
+ // 8px inside 6px of box padding keeps the 14px box concentric.
64
+ --chip-border-radius: var(--border-radius-400);
65
+ --chip-color: var(--color-text-500);
66
+ --chip-color-active: var(--color-surface);
67
+ --chip-height: 32px;
68
+ --chip-remove-color: var(--color-primary-300);
69
+ --chip-remove-color-hover: var(--color-primary-500);
70
+ --chip-remove-hover-background: var(--surface-background-hover);
71
+ // Read by JS: what a formed chip's remove button grows from, what a chip grows from and shrinks to, how far a
72
+ // repeated tag's chip shakes and how dim it goes, and how the row slides (no bounce: closing up reads as settled).
73
+ --chip-remove-scale: 0.25;
74
+ --chip-scale: 0.9;
75
+ --chip-shake: 4px;
76
+ --chip-shake-opacity: 1;
77
+ --chip-slide-duration: 410ms;
78
+ --chip-slide-easing: linear(0, 0.038, 0.116, 0.219, 0.326, 0.43, 0.518, 0.602, 0.674, 0.731, 0.782, 0.825, 0.858, 0.886, 0.91, 0.928, 0.942, 0.955, 0.964, 0.971, 0.977, 0.982, 0.986, 0.989, 0.991, 0.993, 0.995, 0.996, 0.997, 0.997, 1);
79
+ --color: var(--color-text-500);
80
+ --entry-min-width: var(--spacer-400);
81
+ --font-size: var(--font-size-300);
82
+ --gap: calc(var(--size-300) / 2);
83
+ --hint-color: var(--color-text-300);
84
+ --hint-font-size: var(--font-size-200);
85
+ --label-font-size: var(--font-size-300);
86
+ --label-font-weight: var(--font-weight-500);
87
+ --outline-color: var(--color-primary-500);
88
+ --placeholder-color: var(--color-text-300);
89
+ // Shared by a chip's text and the field, so a typed tag becomes a chip without its letters shifting.
90
+ --text-inset: var(--size-200);
91
+ --width: min(440px, 100%);
92
92
 
93
- // Chips fade where they stand, and a repeated tag's chip dims instead of shaking.
94
- @media (prefers-reduced-motion: reduce) {
95
- --chip-blur: 0px;
96
- --chip-remove-scale: 1;
97
- --chip-scale: 1;
98
- --chip-shake: 0px;
99
- --chip-shake-opacity: 0.4;
100
- --chip-slide-duration: 0s;
101
- }
93
+ // Chips fade where they stand, and a repeated tag's chip dims instead of shaking.
94
+ @media (prefers-reduced-motion: reduce) {
95
+ --chip-blur: 0px;
96
+ --chip-remove-scale: 1;
97
+ --chip-scale: 1;
98
+ --chip-shake: 0px;
99
+ --chip-shake-opacity: 0.4;
100
+ --chip-slide-duration: 0s;
101
+ }
102
102
 
103
- // An armed chip inverts, and its remove button follows it onto the dark surface.
104
- &-chip {
105
- @include tokens.state(active) {
106
- --chip-background: var(--chip-background-active);
107
- --chip-remove-color: oklch(from var(--chip-color-active) l c h / 0.7);
108
- --chip-remove-color-hover: var(--chip-color-active);
109
- --chip-remove-hover-background: transparent;
110
- --chip-shadow: none;
103
+ // An armed chip inverts, and its remove button follows it onto the dark surface.
104
+ &-chip {
105
+ @include tokens.state(active) {
106
+ --chip-background: var(--chip-background-active);
107
+ --chip-remove-color: oklch(from var(--chip-color-active) l c h / 0.7);
108
+ --chip-remove-color-hover: var(--chip-color-active);
109
+ --chip-remove-hover-background: transparent;
110
+ --chip-shadow: none;
111
+ }
111
112
  }
112
- }
113
113
 
114
- // Qualified so it wins over the reused input styles regardless of stylesheet order.
115
- &-entry > #{&}-field {
116
- --color-default: currentColor;
114
+ // Qualified so it wins over the reused input styles regardless of stylesheet order.
115
+ &-entry > #{&}-field {
116
+ --color-default: currentColor;
117
+ }
117
118
  }
118
119
  }
@@ -1,4 +1,7 @@
1
- @use '/shared';
1
+ @use 'css-utilities/background';
2
+ @use 'css-utilities/border';
3
+ @use 'css-utilities/color';
4
+ @use 'css-utilities/text';
2
5
  @use 'variables';
3
6
 
4
7
  .link {
@@ -1,4 +1,4 @@
1
- @use '/shared';
1
+ @use 'css-utilities/absolute';
2
2
  @use 'variables';
3
3
 
4
4
  .loading {
@@ -2,7 +2,7 @@
2
2
  --animation-duration: 0.64s;
3
3
  --border-color: var(--color);
4
4
  --border-width: var(--border-width-400);
5
- --color: var(--color-black-400);
5
+ --color: var(--color-text-400);
6
6
  --size: var(--size-400);
7
7
  --timing-function: cubic-bezier(0.5, 0, 0.5, 1);
8
8
  --track-color: color-mix(in srgb, var(--border-color), transparent 90%);
@@ -1,4 +1,6 @@
1
- @use '/shared';
1
+ @use 'css-utilities/color';
2
+ @use 'css-utilities/hidden';
3
+ @use 'css-utilities/reset';
2
4
  @use 'variables';
3
5
 
4
6
  // Typed, so the track can transition it and JS hears it change.
@@ -43,12 +45,15 @@
43
45
  flex-shrink: 0;
44
46
  gap: var(--size-200);
45
47
  height: var(--item-height);
46
- letter-spacing: -0.01em;
47
48
  padding: 0 var(--item-padding-horizontal);
48
49
  text-decoration: none;
49
50
  white-space: nowrap;
50
51
 
51
52
  &--link {
53
+ @extend %color-state;
54
+ --color-default: var(--item-color);
55
+ --color-hover: var(--item-color-hover);
56
+ --color-pressed: var(--color-hover);
52
57
  background: none;
53
58
  border: 0;
54
59
  cursor: pointer;
@@ -61,9 +66,8 @@
61
66
  box-shadow: inset 0 0 0 1px var(--focus-color);
62
67
  }
63
68
 
64
- &:focus-visible,
65
- &:hover {
66
- color: var(--color-hover);
69
+ &:focus-visible {
70
+ --color: var(--color-hover);
67
71
  }
68
72
  }
69
73
  }
@@ -9,11 +9,13 @@
9
9
  --font-size: var(--font-size-300);
10
10
  --font-weight: var(--font-weight-500);
11
11
  --item-border-radius: var(--border-radius-300);
12
+ // Resolved here, since a link item's color state redefines --color and --color-hover on it.
13
+ --item-color: var(--color);
14
+ --item-color-hover: var(--color-hover);
12
15
  --item-gap: 40px;
13
16
  --item-height: 40px;
14
17
  --item-padding-horizontal: var(--size-300);
15
18
  --track-will-change: transform;
16
- --transition-duration: 0.15s;
17
19
  --viewport-overflow-x: hidden;
18
20
 
19
21
  @media (prefers-reduced-motion: reduce) {
@@ -1,4 +1,6 @@
1
- @use '/shared';
1
+ @use 'css-utilities/hidden';
2
+ @use 'css-utilities/layer';
3
+
2
4
 
3
5
  .metric-flash {
4
6
  align-items: center;
@@ -1,10 +1,13 @@
1
- @use '/shared';
1
+ @use 'css-utilities/absolute';
2
+ @use 'css-utilities/hidden';
3
+ @use 'css-utilities/icon';
2
4
  @use 'flash';
3
5
  @use 'variables';
4
6
 
5
7
  .metric {
6
8
  background: var(--background);
7
9
  border-radius: var(--border-radius);
10
+ box-shadow: var(--box-shadow);
8
11
  box-sizing: border-box;
9
12
  color: var(--color);
10
13
  container-type: inline-size;
@@ -79,7 +82,7 @@
79
82
  @extend %absolute-full;
80
83
  opacity: var(--overlay-opacity);
81
84
  pointer-events: none;
82
- transition: opacity var(--overlay-duration) ease-out;
85
+ transition: opacity var(--overlay-duration) var(--easing-out);
83
86
  }
84
87
 
85
88
  &-plot {
@@ -94,7 +97,7 @@
94
97
 
95
98
  &:focus-visible {
96
99
  outline: 2px solid var(--focus-color);
97
- outline-offset: 4px;
100
+ outline-offset: calc(var(--size-100) / 2);
98
101
  }
99
102
  }
100
103
 
@@ -118,8 +121,8 @@
118
121
  display: flex;
119
122
  font-size: var(--tip-font-size);
120
123
  gap: var(--size-300);
121
- margin-bottom: 10px;
122
- padding: 6px 12px;
124
+ margin-bottom: var(--size-200);
125
+ padding: calc(var(--size-300) / 2) 12px;
123
126
  position: absolute;
124
127
  translate: -50% 0;
125
128
  white-space: nowrap;
@@ -142,7 +145,6 @@
142
145
  font-size: var(--value-font-size);
143
146
  font-variant-numeric: tabular-nums;
144
147
  font-weight: var(--value-font-weight);
145
- letter-spacing: -0.025em;
146
148
  line-height: 1.2;
147
149
  }
148
150
 
@@ -1,35 +1,41 @@
1
1
  @use '/tokens';
2
+ @use 'css-utilities/background';
3
+ @use 'css-utilities/box-shadow';
4
+ @use 'css-utilities/surface';
2
5
 
6
+ // A surface: its own level's background, lifted to match.
3
7
  .metric {
8
+ @extend %background-state, %box-shadow-state, %surface-raised-level;
4
9
  --area-color: color-mix(in oklab, var(--line-color) 8%, transparent);
5
- --background: var(--color-grey-400);
10
+ --background-default: var(--surface-background-default);
6
11
  --border-radius: var(--border-radius-700);
12
+ --box-shadow-default: var(--surface-shadow-default);
7
13
  --color: var(--color-text-500);
8
- --cursor-color: color-mix(in oklab, var(--color-text-300) 40%, transparent);
14
+ --cursor-color: color-mix(in oklab, var(--color-primary-300) 40%, transparent);
15
+ --dot-color: var(--line-color);
16
+ --dot-ring-color: var(--background);
17
+ --dot-size: 12px;
9
18
  // Long for a UI animation on purpose: the draw introduces the shape once, and a faster line reads as a flicker.
10
19
  --draw-duration: 0.7s;
11
20
  // Hidden and undrawn until the plot is shown.
12
21
  --draw-offset: 1;
13
22
  --draw-opacity: 0;
14
- --draw-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
15
- --dot-color: var(--line-color);
16
- --dot-ring-color: var(--background);
17
- --dot-size: 12px;
18
- --focus-color: var(--color-text-500);
23
+ --draw-timing-function: var(--easing-out);
24
+ --focus-color: var(--color-primary-500);
19
25
  --font-size: var(--font-size-400);
20
- --line-color: var(--color-text-500);
26
+ --line-color: var(--color-primary-500);
21
27
  --line-width: 2.5;
22
28
  --muted-color: var(--color-text-300);
23
29
  // Shown while the plot is active.
24
- --overlay-duration: 0.15s;
30
+ --overlay-duration: var(--duration-fast);
25
31
  --overlay-opacity: 0;
26
32
  --padding: var(--size-500);
27
33
  // Tracks the card's width (cqi) between a floor that keeps small cards readable and the full-size chart.
28
34
  --plot-height: clamp(64px, 30cqi, 160px);
29
35
  // Never below the tip's height plus its margin, so the tip clears the header.
30
36
  --plot-offset: clamp(40px, 9cqi, 48px);
31
- --tip-background: var(--color-text-500);
32
- --tip-color: var(--color-white-300);
37
+ --tip-background: var(--color-primary-500);
38
+ --tip-color: var(--color-surface);
33
39
  --tip-font-size: var(--font-size-300);
34
40
  --value-font-size: var(--font-size-700);
35
41
  --value-font-size-compact: var(--font-size-600);
@@ -62,32 +68,32 @@
62
68
  --arrow-size: 0.68em;
63
69
  --border-radius: var(--border-radius-300);
64
70
  --cell: linear(0, 0.092, 0.262, 0.426, 0.567, 0.679, 0.764, 0.827, 0.874, 0.908, 0.933, 0.951, 0.964, 0.974, 0.981, 0.986, 0.99, 0.993, 0.995, 0.996, 0.997, 0.998, 0.999, 0.999, 1);
65
- --cell-duration: 360ms;
71
+ --cell-duration: var(--duration-slow);
66
72
  --clear: cubic-bezier(0.4, 0, 1, 1);
67
- --clear-duration: 160ms;
73
+ --clear-duration: var(--duration-fast);
68
74
  --color-down: var(--color-red-500);
69
75
  // The green scale is tuned for dark surfaces; drop lightness so text stays legible on light ones.
70
76
  --color-up: oklch(from var(--color-green-500) 0.6 c h);
71
- --drop-blur: 4px;
72
- --drop-duration: 140ms;
77
+ --drop-blur: var(--blur-400);
78
+ --drop-duration: var(--duration-fast);
73
79
  --drop-offset: 0.7em;
74
80
  --font-size: var(--font-size-300);
75
81
  --font-weight: var(--font-weight-500);
76
- --gap: 6px;
82
+ --gap: calc(var(--size-300) / 2);
77
83
  --lift: linear(0, 0.06, 0.193, 0.351, 0.506, 0.644, 0.758, 0.845, 0.909, 0.954, 0.983, 1.001, 1.011, 1.015, 1.015, 1.014, 1.012, 1.009, 1.007, 1.005, 1.003, 1.002, 1.001, 1.001, 1);
78
84
  --lift-duration: 390ms;
79
85
  --lift-scale: 1.05;
80
- --padding: 3px 6px;
86
+ --padding: calc(var(--size-300) / 4) calc(var(--size-300) / 2);
81
87
  --pop: linear(0, 0.136, 0.423, 0.722, 0.953, 1.092, 1.145, 1.138, 1.1, 1.055, 1.017, 0.992, 0.98, 0.979, 0.983, 0.99, 0.996, 1, 1.003, 1.003, 1.003, 1.002, 1.001, 1, 1);
82
88
  --pop-duration: 460ms;
83
89
  --roll: linear(0, 0.065, 0.201, 0.348, 0.487, 0.606, 0.703, 0.779, 0.837, 0.881, 0.913, 0.937, 0.955, 0.968, 0.977, 0.984, 0.988, 0.992, 0.994, 0.996, 0.997, 0.998, 0.999, 0.999, 1);
84
- --roll-blur: 5px;
85
- --roll-duration: 340ms;
90
+ --roll-blur: var(--blur-400);
91
+ --roll-duration: var(--duration-slow);
86
92
  --roll-offset: 0.85em;
87
93
  --settle: linear(0, 0.086, 0.242, 0.399, 0.533, 0.641, 0.725, 0.79, 0.84, 0.879, 0.908, 0.93, 0.947, 0.96, 0.969, 0.977, 0.982, 0.987, 0.99, 0.992, 0.994, 0.995, 0.997, 0.997, 1);
88
94
  --settle-duration: 660ms;
89
95
  --tint-opacity: 14%;
90
- --tone-duration: 200ms;
96
+ --tone-duration: var(--duration-moderate);
91
97
 
92
98
  &--down {
93
99
  --tone: var(--color-down);
@@ -10,4 +10,4 @@ const nav: { spy: typeof spy, toc: typeof toc, tree: typeof tree } = { spy, toc,
10
10
  export default nav;
11
11
  export type { Mode, Spy } from './spy';
12
12
  export type { TocLink } from './toc';
13
- export type { Current, TreeGroup, TreeLink, TreeSection } from './tree';
13
+ export type { Current, Indicator, TreeGroup, TreeLink, TreeSection } from './tree';