@dxos/ui-theme 0.8.4-staging.ac66bdf99f → 0.9.1-main.c7dcc2e112

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 (169) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/browser/index.mjs +89 -867
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/node-esm/index.mjs +89 -867
  7. package/dist/lib/node-esm/index.mjs.map +4 -4
  8. package/dist/lib/node-esm/meta.json +1 -1
  9. package/dist/plugin/node-cjs/main.css +279 -120
  10. package/dist/plugin/node-cjs/main.css.map +3 -3
  11. package/dist/plugin/node-cjs/meta.json +1 -1
  12. package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs +82 -10
  13. package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs.map +3 -3
  14. package/dist/plugin/node-esm/main.css +279 -120
  15. package/dist/plugin/node-esm/main.css.map +3 -3
  16. package/dist/plugin/node-esm/meta.json +1 -1
  17. package/dist/plugin/node-esm/plugins/ThemePlugin.mjs +84 -12
  18. package/dist/plugin/node-esm/plugins/ThemePlugin.mjs.map +3 -3
  19. package/dist/types/src/Theme.stories.d.ts.map +1 -1
  20. package/dist/types/src/defs.d.ts +1 -1
  21. package/dist/types/src/defs.d.ts.map +1 -1
  22. package/dist/types/src/fragments/density.d.ts +2 -2
  23. package/dist/types/src/fragments/density.d.ts.map +1 -1
  24. package/dist/types/src/fragments/hover.d.ts +0 -1
  25. package/dist/types/src/fragments/hover.d.ts.map +1 -1
  26. package/dist/types/src/index.d.ts +0 -1
  27. package/dist/types/src/index.d.ts.map +1 -1
  28. package/dist/types/src/plugins/ThemePlugin.d.ts +3 -2
  29. package/dist/types/src/plugins/ThemePlugin.d.ts.map +1 -1
  30. package/dist/types/src/util/hash-styles.d.ts +12 -2
  31. package/dist/types/src/util/hash-styles.d.ts.map +1 -1
  32. package/dist/types/src/util/mx.d.ts +0 -36
  33. package/dist/types/src/util/mx.d.ts.map +1 -1
  34. package/dist/types/src/util/size.d.ts.map +1 -1
  35. package/dist/types/src/util/valence.d.ts +8 -2
  36. package/dist/types/src/util/valence.d.ts.map +1 -1
  37. package/dist/types/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +14 -21
  39. package/src/Theme.stories.tsx +94 -27
  40. package/src/css/DESIGN_SYSTEM.md +187 -0
  41. package/src/css/base/base.css +2 -2
  42. package/src/css/components/button.css +57 -12
  43. package/src/css/components/card.css +14 -0
  44. package/src/css/components/checkbox.css +3 -3
  45. package/src/css/components/focus.css +12 -12
  46. package/src/css/components/link.css +4 -1
  47. package/src/css/components/panel.css +45 -45
  48. package/src/css/components/state.css +76 -0
  49. package/src/css/components/state.md +101 -0
  50. package/src/css/components/surface.css +86 -11
  51. package/src/css/components/tag.css +25 -24
  52. package/src/css/integrations/codemirror.css +4 -3
  53. package/src/css/integrations/tldraw.css +1 -1
  54. package/src/css/layout/main.css +6 -0
  55. package/src/css/layout/size.css +17 -4
  56. package/src/css/theme/animation.css +31 -0
  57. package/src/css/theme/palette.css +34 -0
  58. package/src/css/theme/semantic.css +190 -68
  59. package/src/css/theme/spacing.css +30 -13
  60. package/src/css/theme/styles.css +172 -119
  61. package/src/css/utilities.css +42 -0
  62. package/src/defs.ts +3 -1
  63. package/src/fragments/AUDIT.md +0 -2
  64. package/src/fragments/density.ts +34 -7
  65. package/src/fragments/hover.ts +0 -2
  66. package/src/index.ts +1 -1
  67. package/src/main.css +68 -9
  68. package/src/plugins/ThemePlugin.ts +102 -14
  69. package/src/plugins/main.css +10 -7
  70. package/src/util/hash-styles.ts +54 -42
  71. package/src/util/mx.ts +1 -126
  72. package/src/util/valence.ts +15 -5
  73. package/dist/types/src/theme/components/avatar.d.ts +0 -21
  74. package/dist/types/src/theme/components/avatar.d.ts.map +0 -1
  75. package/dist/types/src/theme/components/breadcrumb.d.ts +0 -9
  76. package/dist/types/src/theme/components/breadcrumb.d.ts.map +0 -1
  77. package/dist/types/src/theme/components/button.d.ts +0 -15
  78. package/dist/types/src/theme/components/button.d.ts.map +0 -1
  79. package/dist/types/src/theme/components/card.d.ts +0 -12
  80. package/dist/types/src/theme/components/card.d.ts.map +0 -1
  81. package/dist/types/src/theme/components/dialog.d.ts +0 -17
  82. package/dist/types/src/theme/components/dialog.d.ts.map +0 -1
  83. package/dist/types/src/theme/components/focus.d.ts +0 -6
  84. package/dist/types/src/theme/components/focus.d.ts.map +0 -1
  85. package/dist/types/src/theme/components/icon-button.d.ts +0 -8
  86. package/dist/types/src/theme/components/icon-button.d.ts.map +0 -1
  87. package/dist/types/src/theme/components/icon.d.ts +0 -10
  88. package/dist/types/src/theme/components/icon.d.ts.map +0 -1
  89. package/dist/types/src/theme/components/index.d.ts +0 -27
  90. package/dist/types/src/theme/components/index.d.ts.map +0 -1
  91. package/dist/types/src/theme/components/input.d.ts +0 -115
  92. package/dist/types/src/theme/components/input.d.ts.map +0 -1
  93. package/dist/types/src/theme/components/link.d.ts +0 -7
  94. package/dist/types/src/theme/components/link.d.ts.map +0 -1
  95. package/dist/types/src/theme/components/list.d.ts +0 -14
  96. package/dist/types/src/theme/components/list.d.ts.map +0 -1
  97. package/dist/types/src/theme/components/main.d.ts +0 -28
  98. package/dist/types/src/theme/components/main.d.ts.map +0 -1
  99. package/dist/types/src/theme/components/menu.d.ts +0 -13
  100. package/dist/types/src/theme/components/menu.d.ts.map +0 -1
  101. package/dist/types/src/theme/components/message.d.ts +0 -12
  102. package/dist/types/src/theme/components/message.d.ts.map +0 -1
  103. package/dist/types/src/theme/components/popover.d.ts +0 -11
  104. package/dist/types/src/theme/components/popover.d.ts.map +0 -1
  105. package/dist/types/src/theme/components/scroll-area.d.ts +0 -32
  106. package/dist/types/src/theme/components/scroll-area.d.ts.map +0 -1
  107. package/dist/types/src/theme/components/select.d.ts +0 -13
  108. package/dist/types/src/theme/components/select.d.ts.map +0 -1
  109. package/dist/types/src/theme/components/separator.d.ts +0 -8
  110. package/dist/types/src/theme/components/separator.d.ts.map +0 -1
  111. package/dist/types/src/theme/components/skeleton.d.ts +0 -7
  112. package/dist/types/src/theme/components/skeleton.d.ts.map +0 -1
  113. package/dist/types/src/theme/components/splitter.d.ts +0 -4
  114. package/dist/types/src/theme/components/splitter.d.ts.map +0 -1
  115. package/dist/types/src/theme/components/status.d.ts +0 -9
  116. package/dist/types/src/theme/components/status.d.ts.map +0 -1
  117. package/dist/types/src/theme/components/tag.d.ts +0 -7
  118. package/dist/types/src/theme/components/tag.d.ts.map +0 -1
  119. package/dist/types/src/theme/components/toast.d.ts +0 -12
  120. package/dist/types/src/theme/components/toast.d.ts.map +0 -1
  121. package/dist/types/src/theme/components/toolbar.d.ts +0 -11
  122. package/dist/types/src/theme/components/toolbar.d.ts.map +0 -1
  123. package/dist/types/src/theme/components/tooltip.d.ts +0 -8
  124. package/dist/types/src/theme/components/tooltip.d.ts.map +0 -1
  125. package/dist/types/src/theme/components/treegrid.d.ts +0 -10
  126. package/dist/types/src/theme/components/treegrid.d.ts.map +0 -1
  127. package/dist/types/src/theme/index.d.ts +0 -4
  128. package/dist/types/src/theme/index.d.ts.map +0 -1
  129. package/dist/types/src/theme/primitives/column.d.ts +0 -29
  130. package/dist/types/src/theme/primitives/column.d.ts.map +0 -1
  131. package/dist/types/src/theme/primitives/index.d.ts +0 -3
  132. package/dist/types/src/theme/primitives/index.d.ts.map +0 -1
  133. package/dist/types/src/theme/primitives/panel.d.ts +0 -13
  134. package/dist/types/src/theme/primitives/panel.d.ts.map +0 -1
  135. package/dist/types/src/theme/theme.d.ts +0 -5
  136. package/dist/types/src/theme/theme.d.ts.map +0 -1
  137. package/src/css/components/selected.css +0 -30
  138. package/src/theme/components/avatar.ts +0 -95
  139. package/src/theme/components/breadcrumb.ts +0 -29
  140. package/src/theme/components/button.ts +0 -48
  141. package/src/theme/components/card.ts +0 -102
  142. package/src/theme/components/dialog.ts +0 -61
  143. package/src/theme/components/focus.ts +0 -33
  144. package/src/theme/components/icon-button.ts +0 -18
  145. package/src/theme/components/icon.ts +0 -28
  146. package/src/theme/components/index.ts +0 -30
  147. package/src/theme/components/input.ts +0 -171
  148. package/src/theme/components/link.ts +0 -25
  149. package/src/theme/components/list.ts +0 -46
  150. package/src/theme/components/main.ts +0 -34
  151. package/src/theme/components/menu.ts +0 -50
  152. package/src/theme/components/message.ts +0 -40
  153. package/src/theme/components/popover.ts +0 -41
  154. package/src/theme/components/scroll-area.ts +0 -115
  155. package/src/theme/components/select.ts +0 -52
  156. package/src/theme/components/separator.ts +0 -24
  157. package/src/theme/components/skeleton.ts +0 -23
  158. package/src/theme/components/splitter.ts +0 -20
  159. package/src/theme/components/status.ts +0 -32
  160. package/src/theme/components/tag.ts +0 -23
  161. package/src/theme/components/toast.ts +0 -53
  162. package/src/theme/components/toolbar.ts +0 -35
  163. package/src/theme/components/tooltip.ts +0 -27
  164. package/src/theme/components/treegrid.ts +0 -37
  165. package/src/theme/index.ts +0 -7
  166. package/src/theme/primitives/column.ts +0 -71
  167. package/src/theme/primitives/index.ts +0 -6
  168. package/src/theme/primitives/panel.ts +0 -43
  169. package/src/theme/theme.ts +0 -87
@@ -1,24 +1,58 @@
1
1
  @layer properties, theme, dx-tokens, user-tokens, base, tw-base, dx-base, components, tw-components, dx-components, utilities;
2
- @import "tailwindcss";
2
+ @import "tailwindcss" source(none);
3
3
  @import "@fontsource-variable/jetbrains-mono/wght-italic.css";
4
4
  @import "@fontsource-variable/jetbrains-mono/wght.css";
5
5
  @import "@fontsource/poiret-one";
6
6
 
7
7
  /* src/css/theme/animation.css */
8
8
  @theme { --ease-in-out-symmetric: cubic-bezier(0.5, 0, 0.5, 1); @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes fade-out { from { opacity: 1; } to { opacity: 0; } } --animate-fade-in: fade-in 200ms ease-out; --animate-fade-out: fade-out 400ms ease-out; @keyframes slide-down-and-fade { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(16px); } } @keyframes slide-left-and-fade { from { opacity: 0; transform: translateX(-16px); } to { opacity: 1; transform: translateX(0); } } @keyframes slide-up-and-fade { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } } @keyframes slide-right-and-fade { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } } --animate-slide-down-and-fade: slide-down-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1); --animate-slide-left-and-fade: slide-left-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1); --animate-slide-up-and-fade: slide-up-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1); --animate-slide-right-and-fade: slide-right-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1); @keyframes toast-hide { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes toast-slide-in-right { 0% { transform: translateX(calc(100% + 1rem)); } 100% { transform: translateX(0); } } @keyframes toast-slide-in-bottom { 0% { transform: translateY(calc(100% + 1rem)); } 100% { transform: translateY(0); } } @keyframes toast-swipe-out { 0% { transform: translateX(var(--radix-toast-swipe-end-x)); } 100% { transform: translateX(calc(100% + 1rem)); } } --animate-toast-hide: toast-hide 100ms ease-in forwards; --animate-toast-slide-in-right: toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1); --animate-toast-slide-in-bottom: toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1); --animate-toast-swipe-out: toast-swipe-out 100ms ease-out forwards; @keyframes slide-down { from { height: 0px; } to { height: var(--radix-accordion-content-height); } } @keyframes slide-up { from { height: var(--radix-accordion-content-height); } to { height: 0px; } } --animate-slide-down: slide-down 300ms cubic-bezier(0.87, 0, 0.13, 1); --animate-slide-up: slide-up 300ms cubic-bezier(0.87, 0, 0.13, 1); @keyframes shimmer-loop { 100% { transform: translateX(100%); } } --animate-shimmer: shimmer-loop 2s infinite; @keyframes halo-pulse { 0% { opacity: 0.3; } 5% { opacity: 1; } 100% { opacity: 0.3; } } --animate-halo-pulse: halo-pulse 2s ease-out infinite; @keyframes progress-indeterminate { 0% { left: 0; width: 0%; } 25% { left: 25%; width: 50%; } 75% { left: 50%; width: 100%; } 100% { left: 100%; width: 0%; } } --animate-progress-indeterminate: progress-indeterminate 2s ease-out infinite; @keyframes trail { to { offset-distance: 100%; } } @keyframes trail-offset { 0% { offset-distance: 50%; } 100% { offset-distance: 150%; } } --animate-trail: trail 6s linear infinite; --animate-trail-offset: trail-offset 6s linear infinite; --animate-spin-slow: spin 3s linear infinite; @keyframes blink { 0%, 50%, 100% { opacity: 1; } 25%, 75% { opacity: 0; } } --animate-blink: blink 1s step-start infinite; }
9
+ @keyframes shimmer-text {
10
+ from {
11
+ mask-position-x: 100%;
12
+ -webkit-mask-position-x: 100%;
13
+ }
14
+ to {
15
+ mask-position-x: -100%;
16
+ -webkit-mask-position-x: -100%;
17
+ }
18
+ }
19
+ @media (prefers-reduced-motion: reduce) {
20
+ .animate-halo-pulse,
21
+ .animate-spin-slow,
22
+ .animate-trail,
23
+ .animate-trail-offset,
24
+ .animate-shimmer {
25
+ animation: none;
26
+ }
27
+ }
9
28
 
10
29
  /* src/css/theme/border.css */
11
30
  @theme { --ring-offset-width-focus-offset: var(--dx-focus-offset); --ring-width-focus-line: var(--dx-focus-line); --ring-width-hair-line: var(--dx-hair-line); --ring-width-thick-line: var(--dx-thick-line); --ring-width-no-line: var(--dx-no-line); --border-width-landmark-line: var(--dx-landmark-line); --radius-none: 0; --radius-sm: 0.25rem; --radius: 0.5rem; --radius-md: 0.75rem; --radius-lg: 1rem; --shadow-slider: 0 0 0 5px rgba(0, 0, 0, 0.3); }
12
31
 
13
32
  /* src/css/theme/palette.css */
14
- @theme { --color-neutral-75: color-mix(in oklch, var(--color-neutral-50) 50%, var(--color-neutral-100) 50%); --color-neutral-150: color-mix(in oklch, var(--color-neutral-100) 50%, var(--color-neutral-200) 50%); --color-neutral-250: color-mix(in oklch, var(--color-neutral-200) 50%, var(--color-neutral-300) 50%); --color-neutral-750: color-mix(in oklch, var(--color-neutral-700) 50%, var(--color-neutral-800) 50%); --color-neutral-850: color-mix(in oklch, var(--color-neutral-800) 50%, var(--color-neutral-900) 50%); --color-neutral-925: color-mix(in oklch, var(--color-neutral-900) 50%, var(--color-neutral-950) 50%); --color-primary-50: var(--color-blue-50); --color-primary-100: var(--color-blue-100); --color-primary-200: var(--color-blue-200); --color-primary-300: var(--color-blue-300); --color-primary-400: var(--color-blue-400); --color-primary-500: var(--color-blue-500); --color-primary-600: var(--color-blue-600); --color-primary-700: var(--color-blue-700); --color-primary-800: var(--color-blue-800); --color-primary-900: var(--color-blue-900); --color-primary-950: var(--color-blue-950); --color-composer-100: rgb(5 40 61); --color-composer-200: rgb(10 75 105); --color-composer-300: rgb(1 122 183); --color-composer-400: rgb(6 197 253); }
33
+ @theme { --dx-neutral-hue: 190; --dx-neutral-chroma: 0.001; --color-neutral-50: oklch(0.985 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-75: color-mix(in oklch, var(--color-neutral-50) 50%, var(--color-neutral-100) 50%); --color-neutral-100: oklch(0.935 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-125: color-mix(in oklch, var(--color-neutral-100) 75%, var(--color-neutral-200) 25%); --color-neutral-150: color-mix(in oklch, var(--color-neutral-100) 50%, var(--color-neutral-200) 50%); --color-neutral-175: color-mix(in oklch, var(--color-neutral-150) 50%, var(--color-neutral-200) 50%); --color-neutral-200: oklch(0.875 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-250: color-mix(in oklch, var(--color-neutral-200) 50%, var(--color-neutral-300) 50%); --color-neutral-300: oklch(0.8 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-400: oklch(0.708 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-500: oklch(0.556 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-600: oklch(0.439 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-700: oklch(0.371 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-750: color-mix(in oklch, var(--color-neutral-700) 50%, var(--color-neutral-800) 50%); --color-neutral-775: color-mix(in oklch, var(--color-neutral-750) 50%, var(--color-neutral-800) 50%); --color-neutral-800: oklch(0.269 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-825: color-mix(in oklch, var(--color-neutral-800) 75%, var(--color-neutral-900) 25%); --color-neutral-850: color-mix(in oklch, var(--color-neutral-800) 50%, var(--color-neutral-900) 50%); --color-neutral-875: color-mix(in oklch, var(--color-neutral-800) 25%, var(--color-neutral-900) 75%); --color-neutral-900: oklch(0.205 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-neutral-925: color-mix(in oklch, var(--color-neutral-900) 50%, var(--color-neutral-950) 50%); --color-neutral-950: oklch(0.145 var(--dx-neutral-chroma) var(--dx-neutral-hue)); --color-primary-50: var(--color-blue-50); --color-primary-100: var(--color-blue-100); --color-primary-200: var(--color-blue-200); --color-primary-300: var(--color-blue-300); --color-primary-400: var(--color-blue-400); --color-primary-500: var(--color-blue-500); --color-primary-600: var(--color-blue-600); --color-primary-700: var(--color-blue-700); --color-primary-800: var(--color-blue-800); --color-primary-900: var(--color-blue-900); --color-primary-950: var(--color-blue-950); --color-composer-100: rgb(5 40 61); --color-composer-200: rgb(10 75 105); --color-composer-300: rgb(1 122 183); --color-composer-400: rgb(6 197 253); }
15
34
 
16
35
  /* src/css/theme/semantic.css */
17
- @theme { --color-base-surface: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-base-surface-text: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-inverse-surface: light-dark(var(--color-neutral-800), var(--color-neutral-200)); --color-inverse-surface-text: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-deck-surface: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-scrim-surface: light-dark( oklch(from var(--color-neutral-50) l c h / 0.5), oklch(from var(--color-neutral-950) l c h / 0.25) ); --color-toolbar-surface: light-dark(var(--color-neutral-75), var(--color-neutral-925)); --color-card-surface: light-dark(var(--color-neutral-75), var(--color-neutral-925)); --color-group-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-modal-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-sidebar-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-header-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-input-surface: light-dark(var(--color-neutral-200), var(--color-neutral-800)); --color-input-surface-text: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-current-surface: light-dark(var(--color-neutral-200), var(--color-neutral-800)); --color-active-surface: light-dark(var(--color-neutral-200), var(--color-neutral-800)); --color-active-text: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-hover-overlay: light-dark(var(--color-neutral-250), var(--color-neutral-750)); --color-hover-surface: light-dark(var(--color-neutral-250), var(--color-neutral-750)); --color-hover-surface-text: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-attention-surface: var(--color-focus-surface); --color-attention-contains: oklch(from var(--color-accent-surface) l c h / 0.3); --color-focus-surface: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-neutral-focus-indicator: light-dark(var(--color-neutral-400), var(--color-neutral-600)); --color-highlight-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-highlight-surface-hover: light-dark(var(--color-neutral-250), var(--color-neutral-750)); --color-highlight-surface-text: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-selected-surface: light-dark(var(--color-neutral-150), var(--color-neutral-850)); --color-selected-surface-hover: light-dark(var(--color-neutral-250), var(--color-neutral-750)); --color-selected-surface-text: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-accent-surface: light-dark(var(--color-blue-500), var(--color-blue-700)); --color-accent-surface-hover: light-dark(var(--color-blue-800), var(--color-blue-800)); --color-accent-surface-text: var(--color-blue-100); --color-accent-text: light-dark(var(--color-blue-600), var(--color-blue-400)); --color-accent-text-hover: light-dark(var(--color-blue-500), var(--color-blue-500)); --color-accent-focus-indicator: light-dark(var(--color-blue-600), var(--color-blue-600)); --color-un-accent: var(--color-neutral-400); --color-un-accent-hover: var(--color-neutral-500); --color-separator: light-dark(var(--color-neutral-200), var(--color-neutral-800)); --color-subdued-separator: light-dark(var(--color-neutral-150), var(--color-neutral-850)); --color-primary-separator: light-dark(var(--color-neutral-500), var(--color-neutral-700)); --color-active-separator: light-dark(var(--color-blue-500), var(--color-blue-500)); --color-scrollbar-track: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-scrollbar-thumb: light-dark(var(--color-neutral-200), var(--color-neutral-700)); --color-scrollbar-thumb-active: light-dark(var(--color-neutral-200), var(--color-neutral-600)); --color-scrollbar-thumb-hover: light-dark(var(--color-neutral-200), var(--color-neutral-600)); --color-axis-selected-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-axis-selected-text: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-axis-surface: light-dark(var(--color-neutral-50), var(--color-neutral-800)); --color-axis-text: light-dark(var(--color-neutral-800), var(--color-neutral-200)); --color-grid-surface: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-grid-highlight: oklch(from var(--color-emerald-500) l c h / 0.5); --color-grid-comment: light-dark(var(--color-green-400), var(--color-green-600)); --color-grid-comment-active: light-dark( oklch(from var(--color-green-400) l c h / 0.5), oklch(from var(--color-green-600) l c h / 0.5) ); --color-grid-hover-overlay: oklch(from var(--color-neutral-500) l c h / 0.1); --color-grid-selection-overlay: var(--color-blue-500); --color-grid-line: light-dark(var(--color-neutral-200), var(--color-neutral-800)); --color-grid-focus-indicator: light-dark(var(--color-primary-600), var(--color-primary-600)); --color-placeholder: light-dark(var(--color-neutral-400), var(--color-neutral-600)); --color-subdued: light-dark(var(--color-neutral-500), var(--color-neutral-500)); --color-description: light-dark(var(--color-neutral-600), var(--color-neutral-400)); }
36
+ @theme { --dx-elevation-0: light-dark(var(--color-neutral-300), var(--color-neutral-950)); --dx-elevation-1: light-dark(var(--color-neutral-200), var(--color-neutral-900)); --dx-elevation-2: light-dark(var(--color-neutral-125), var(--color-neutral-875)); --dx-elevation-3: light-dark(var(--color-neutral-125), var(--color-neutral-850)); --dx-elevation-4: light-dark(var(--color-neutral-100), var(--color-neutral-825)); --dx-elevation-5: light-dark(var(--color-neutral-75), var(--color-neutral-800)); --dx-elevation-6: light-dark(var(--color-neutral-50), var(--color-neutral-775)); --dx-elevation-7: light-dark(white, var(--color-neutral-750)); --color-deck-surface: var(--dx-elevation-0); --color-scrim-surface: light-dark( oklch(from var(--dx-elevation-0) l c h / 0.5), oklch(from var(--dx-elevation-0) l c h / 0.25) ); --color-base-surface: var(--dx-elevation-1); --color-base-fg: light-dark(var(--color-neutral-950), var(--color-neutral-150)); --color-header-surface: var(--dx-elevation-2); --color-sidebar-surface: var(--dx-elevation-2); --color-sidebar-fg: light-dark(var(--color-neutral-700), var(--color-neutral-250)); --color-sidebar-current-fg: light-dark(var(--color-neutral-950), var(--color-neutral-75)); --color-l0-surface: var(--dx-elevation-1); --color-l1-surface: var(--dx-elevation-2); --color-r0-surface: var(--dx-elevation-2); --color-r1-surface: var(--dx-elevation-2); --color-card-surface: var(--dx-elevation-3); --color-attention-surface: var(--dx-elevation-3); --color-attention-contains: oklch(from var(--color-accent-bg) l c h / 0.3); --color-focus-surface: var(--dx-elevation-4); --color-focus-ring: light-dark(var(--color-blue-400), var(--color-blue-600)); --color-focus-ring-subtle: light-dark(var(--color-neutral-300), var(--color-neutral-600)); --color-group-surface: var(--dx-elevation-4); --color-group-alt-surface: light-dark( oklch(from var(--dx-elevation-4) calc(l - 0.03) c h), oklch(from var(--dx-elevation-4) calc(l + 0.03) c h) ); --color-input-surface: var(--dx-elevation-4); --color-toolbar-surface: var(--dx-elevation-5); --color-modal-surface: var(--dx-elevation-5); --color-popover-surface: var(--dx-elevation-6); --color-inverse-surface: light-dark(var(--color-neutral-800), var(--color-neutral-200)); --color-inverse-fg: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-description: light-dark(var(--color-neutral-600), var(--color-neutral-400)); --color-subdued: light-dark(var(--color-neutral-500), var(--color-neutral-600)); --color-placeholder: light-dark(var(--color-neutral-400), var(--color-neutral-600)); --color-input-bg: light-dark(var(--color-neutral-250), var(--color-neutral-700)); --color-input-fg: var(--color-base-fg); --color-hover-surface: light-dark( oklch(from var(--surface-bg, var(--color-base-surface)) calc(l - 0.08) c h), oklch(from var(--surface-bg, var(--color-base-surface)) calc(l + 0.08) c h) ); --color-hover-fg: light-dark(var(--color-neutral-950), var(--color-neutral-150)); --color-hover-surface-subtle: light-dark( oklch(from var(--surface-bg, var(--color-base-surface)) calc(l - 0.02) c h), oklch(from var(--surface-bg, var(--color-base-surface)) calc(l + 0.02) c h) ); --color-current-surface: light-dark( oklch(from var(--surface-bg, var(--color-base-surface)) calc(l - 0.1) c h), oklch(from var(--surface-bg, var(--color-base-surface)) calc(l + 0.1) c h) ); --color-current-surface-hover: light-dark( oklch(from var(--surface-bg, var(--color-base-surface)) calc(l - 0.12) c h), oklch(from var(--surface-bg, var(--color-base-surface)) calc(l + 0.12) c h) ); --color-current-fg: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-selected-surface: var(--color-current-surface); --color-selected-surface-hover: var(--color-current-surface-hover); --color-selected-fg: var(--color-current-fg); --color-accent-bg: light-dark(var(--color-blue-600), var(--color-blue-700)); --color-accent-bg-hover: light-dark(var(--color-blue-700), var(--color-blue-800)); --color-accent-fg: var(--color-blue-100); --color-accent-text: light-dark(var(--color-blue-600), var(--color-blue-400)); --color-accent-text-hover: light-dark(var(--color-blue-500), var(--color-blue-500)); --color-un-accent: var(--color-neutral-400); --color-un-accent-hover: var(--color-neutral-500); --color-primary-separator: light-dark(var(--color-neutral-300), var(--color-neutral-700)); --color-separator: light-dark(var(--color-neutral-200), var(--color-neutral-700)); --color-subdued-separator: light-dark(var(--color-neutral-250), var(--color-neutral-750)); --color-active-separator: light-dark(var(--color-blue-500), var(--color-blue-500)); --color-scrollbar-track: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-scrollbar-thumb: light-dark(var(--color-neutral-200), var(--color-neutral-600)); --color-scrollbar-thumb-active: light-dark(var(--color-neutral-200), var(--color-neutral-600)); --color-scrollbar-thumb-hover: light-dark(var(--color-neutral-200), var(--color-neutral-600)); --color-axis-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-axis-text: light-dark(var(--color-neutral-700), var(--color-neutral-300)); --color-axis-selected-surface: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-axis-selected-text: light-dark(var(--color-neutral-100), var(--color-neutral-900)); --color-grid-surface: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-grid-fg: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-grid-line: light-dark(var(--color-neutral-200), var(--color-neutral-800)); --color-grid-highlight: oklch(from var(--color-emerald-500) l c h / 0.5); --color-grid-selection-surface: light-dark(var(--color-blue-500), var(--color-blue-400)); --color-grid-selection-fg: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-grid-comment: light-dark(var(--color-green-400), var(--color-green-600)); --color-grid-comment-active: light-dark( oklch(from var(--color-green-400) l c h / 0.5), oklch(from var(--color-green-600) l c h / 0.5) ); }
18
37
 
19
38
  /* src/css/theme/spacing.css */
20
- @theme { --spacing-screen-border: 2rem; --spacing-popover-default-width: 20rem; --spacing-popover-min-width: 16rem; --spacing-document-max-width: 50rem; --spacing-document-width: calc(50rem - env(safe-area-inset-left) - env(safe-area-inset-right)); --spacing-card-default-width: 20rem; --spacing-card-min-width: 18rem; --spacing-card-max-width: 22rem; --spacing-card-min-height: 18rem; --spacing-card-max-height: 30rem; --spacing-tag-padding-block: 0.125rem; --spacing-trim-xs: 0.25rem; --spacing-trim-sm: 0.5rem; --spacing-trim-md: 0.75rem; --spacing-trim-lg: 1.5rem; --spacing-form-chrome: var(--spacing-trim-xs); --spacing-form-gap: var(--spacing-trim-sm); --spacing-form-section-gap: var(--spacing-trim-lg); --spacing-form-padding: var(--spacing-trim-sm); --spacing-icon-button-padding: var(--spacing-trim-xs); --spacing-scroll-padding: 4px; }
39
+ @theme { --spacing-screen-border: 2rem; --spacing-popover-default-width: 20rem; --spacing-popover-min-width: 16rem; --spacing-document-max-width: 50rem; --spacing-document-width: calc(50rem - env(safe-area-inset-left) - env(safe-area-inset-right)); --spacing-card-default-width: 20rem; --spacing-card-min-width: 18rem; --spacing-card-max-width: 22rem; --spacing-card-min-height: 18rem; --spacing-card-max-height: 30rem; --spacing-tag-padding-block: 0.125rem; --spacing-trim-xs: 0.25rem; --spacing-trim-sm: 0.5rem; --spacing-trim-md: 0.75rem; --spacing-trim-lg: 1.5rem; --spacing-form-chrome: var(--spacing-trim-xs); --spacing-form-gap: var(--spacing-trim-sm); --spacing-form-section-gap: var(--spacing-trim-md); --spacing-form-padding: var(--spacing-trim-sm); --spacing-icon-button-padding: var(--spacing-trim-xs); --spacing-scroll-padding: 4px; }
21
40
  @layer dx-tokens {
41
+ .dx-density-lg {
42
+ --spacing-form-padding: var(--spacing-trim-md);
43
+ --spacing-icon-button-padding: var(--spacing-trim-sm);
44
+ --spacing-scroll-padding: 8px;
45
+ }
46
+ .dx-density-sm {
47
+ --spacing-form-padding: var(--spacing-trim-xs);
48
+ --spacing-icon-button-padding: var(--spacing-trim-xs);
49
+ --spacing-scroll-padding: 2px;
50
+ }
51
+ .dx-density-xs {
52
+ --spacing-form-padding: var(--spacing-trim-xs);
53
+ --spacing-icon-button-padding: var(--spacing-trim-xs);
54
+ --spacing-scroll-padding: 2px;
55
+ }
22
56
  }
23
57
  @layer dx-tokens {
24
58
  :root {
@@ -48,9 +82,10 @@
48
82
  --dx-focus-line: var(--dx-thick-line);
49
83
  --dx-modal-line: var(--dx-hair-line);
50
84
  --dx-grid-focus-indicator-width: var(--dx-hair-line);
51
- --dx-input-fine: var(--dx-lacuna-3);
52
- --dx-input-coarse: var(--dx-lacuna-4);
53
- --dx-default-icons-size: 1.25rem;
85
+ --dx-input-md: var(--dx-lacuna-3);
86
+ --dx-input-lg: var(--dx-lacuna-4);
87
+ --dx-input-sm: var(--dx-lacuna-3);
88
+ --dx-default-icons-size: 1rem;
54
89
  }
55
90
  [data-grid-focus-indicator-variant=stack] {
56
91
  --dx-grid-focus-indicator-width: var(--dx-thick-line);
@@ -70,7 +105,7 @@
70
105
  --dx-l0-avatar-size: 3rem;
71
106
  --dx-l1-size: calc(var(--dx-nav-sidebar-size) - var(--dx-l0-size));
72
107
  --dx-r0-size: var(--dx-rail-size);
73
- --dx-r1-size: calc(var(--dx-complementary-sidebar-size) - var(--dx-r0-size));
108
+ --dx-r1-size: calc(var(--dx-complementary-sidebar-size) - var(--dx-r0-size) - 1px);
74
109
  }
75
110
  :root {
76
111
  --dx-calc-auto: auto;
@@ -91,7 +126,7 @@
91
126
  }
92
127
 
93
128
  /* src/css/theme/styles.css */
94
- @theme { --color-info-fill: var(--color-cyan-fill); --color-info-surface: var(--color-cyan-surface); --color-info-surface-text: var(--color-cyan-surface-text); --color-info-text: var(--color-cyan-text); --color-info-border: var(--color-cyan-border); --color-success-fill: var(--color-emerald-fill); --color-success-surface: var(--color-emerald-surface); --color-success-surface-text: var(--color-emerald-surface-text); --color-success-text: var(--color-emerald-text); --color-success-border: var(--color-emerald-border); --color-warning-fill: var(--color-amber-fill); --color-warning-surface: var(--color-amber-surface); --color-warning-surface-text: var(--color-amber-surface-text); --color-warning-text: var(--color-amber-text); --color-warning-border: var(--color-amber-border); --color-error-fill: var(--color-rose-fill); --color-error-surface: var(--color-rose-surface); --color-error-surface-text: var(--color-rose-surface-text); --color-error-text: var(--color-rose-text); --color-error-border: var(--color-rose-border); --color-neutral-fill: light-dark(var(--color-neutral-300), var(--color-neutral-700)); --color-neutral-surface: light-dark(var(--color-neutral-200), var(--color-neutral-800)); --color-neutral-surface-text: light-dark(var(--color-neutral-800), var(--color-neutral-200)); --color-neutral-text: light-dark(var(--color-neutral-700), var(--color-neutral-300)); --color-neutral-border: light-dark(var(--color-neutral-400), var(--color-neutral-600)); --color-red-fill: light-dark(var(--color-red-300), var(--color-red-700)); --color-red-surface: light-dark(var(--color-red-200), var(--color-red-800)); --color-red-surface-text: light-dark(var(--color-red-800), var(--color-red-200)); --color-red-text: light-dark(var(--color-red-700), var(--color-red-300)); --color-red-border: light-dark(var(--color-red-400), var(--color-red-600)); --color-orange-fill: light-dark(var(--color-orange-300), var(--color-orange-700)); --color-orange-surface: light-dark(var(--color-orange-200), var(--color-orange-800)); --color-orange-surface-text: light-dark(var(--color-orange-800), var(--color-orange-200)); --color-orange-text: light-dark(var(--color-orange-700), var(--color-orange-300)); --color-orange-border: light-dark(var(--color-orange-400), var(--color-orange-600)); --color-amber-fill: light-dark(var(--color-amber-300), var(--color-amber-700)); --color-amber-surface: light-dark(var(--color-amber-200), var(--color-amber-800)); --color-amber-surface-text: light-dark(var(--color-amber-800), var(--color-amber-200)); --color-amber-text: light-dark(var(--color-amber-700), var(--color-amber-300)); --color-amber-border: light-dark(var(--color-amber-400), var(--color-amber-600)); --color-yellow-fill: light-dark(var(--color-yellow-300), var(--color-yellow-700)); --color-yellow-surface: light-dark(var(--color-yellow-200), var(--color-yellow-800)); --color-yellow-surface-text: light-dark(var(--color-yellow-800), var(--color-yellow-200)); --color-yellow-text: light-dark(var(--color-yellow-700), var(--color-yellow-300)); --color-yellow-border: light-dark(var(--color-yellow-400), var(--color-yellow-600)); --color-lime-fill: light-dark(var(--color-lime-300), var(--color-lime-700)); --color-lime-surface: light-dark(var(--color-lime-200), var(--color-lime-800)); --color-lime-surface-text: light-dark(var(--color-lime-800), var(--color-lime-200)); --color-lime-text: light-dark(var(--color-lime-700), var(--color-lime-300)); --color-lime-border: light-dark(var(--color-lime-400), var(--color-lime-600)); --color-green-fill: light-dark(var(--color-green-300), var(--color-green-700)); --color-green-surface: light-dark(var(--color-green-200), var(--color-green-800)); --color-green-surface-text: light-dark(var(--color-green-800), var(--color-green-200)); --color-green-text: light-dark(var(--color-green-700), var(--color-green-300)); --color-green-border: light-dark(var(--color-green-400), var(--color-green-600)); --color-emerald-fill: light-dark(var(--color-emerald-300), var(--color-emerald-700)); --color-emerald-surface: light-dark(var(--color-emerald-200), var(--color-emerald-800)); --color-emerald-surface-text: light-dark(var(--color-emerald-800), var(--color-emerald-200)); --color-emerald-text: light-dark(var(--color-emerald-700), var(--color-emerald-300)); --color-emerald-border: light-dark(var(--color-emerald-400), var(--color-emerald-600)); --color-teal-fill: light-dark(var(--color-teal-300), var(--color-teal-700)); --color-teal-surface: light-dark(var(--color-teal-200), var(--color-teal-800)); --color-teal-surface-text: light-dark(var(--color-teal-800), var(--color-teal-200)); --color-teal-text: light-dark(var(--color-teal-700), var(--color-teal-300)); --color-teal-border: light-dark(var(--color-teal-400), var(--color-teal-600)); --color-cyan-fill: light-dark(var(--color-cyan-300), var(--color-cyan-700)); --color-cyan-surface: light-dark(var(--color-cyan-200), var(--color-cyan-800)); --color-cyan-surface-text: light-dark(var(--color-cyan-800), var(--color-cyan-200)); --color-cyan-text: light-dark(var(--color-cyan-700), var(--color-cyan-300)); --color-cyan-border: light-dark(var(--color-cyan-400), var(--color-cyan-600)); --color-sky-fill: light-dark(var(--color-sky-300), var(--color-sky-700)); --color-sky-surface: light-dark(var(--color-sky-200), var(--color-sky-800)); --color-sky-surface-text: light-dark(var(--color-sky-800), var(--color-sky-200)); --color-sky-text: light-dark(var(--color-sky-700), var(--color-sky-300)); --color-sky-border: light-dark(var(--color-sky-400), var(--color-sky-600)); --color-blue-fill: light-dark(var(--color-blue-300), var(--color-blue-700)); --color-blue-surface: light-dark(var(--color-blue-200), var(--color-blue-800)); --color-blue-surface-text: light-dark(var(--color-blue-800), var(--color-blue-200)); --color-blue-text: light-dark(var(--color-blue-700), var(--color-blue-300)); --color-blue-border: light-dark(var(--color-blue-400), var(--color-blue-600)); --color-indigo-fill: light-dark(var(--color-indigo-300), var(--color-indigo-700)); --color-indigo-surface: light-dark(var(--color-indigo-200), var(--color-indigo-800)); --color-indigo-surface-text: light-dark(var(--color-indigo-800), var(--color-indigo-200)); --color-indigo-text: light-dark(var(--color-indigo-700), var(--color-indigo-300)); --color-indigo-border: light-dark(var(--color-indigo-400), var(--color-indigo-600)); --color-violet-fill: light-dark(var(--color-violet-300), var(--color-violet-700)); --color-violet-surface: light-dark(var(--color-violet-200), var(--color-violet-800)); --color-violet-surface-text: light-dark(var(--color-violet-800), var(--color-violet-200)); --color-violet-text: light-dark(var(--color-violet-700), var(--color-violet-300)); --color-violet-border: light-dark(var(--color-violet-400), var(--color-violet-600)); --color-purple-fill: light-dark(var(--color-purple-300), var(--color-purple-700)); --color-purple-surface: light-dark(var(--color-purple-200), var(--color-purple-800)); --color-purple-surface-text: light-dark(var(--color-purple-800), var(--color-purple-200)); --color-purple-text: light-dark(var(--color-purple-700), var(--color-purple-300)); --color-purple-border: light-dark(var(--color-purple-400), var(--color-purple-600)); --color-fuchsia-fill: light-dark(var(--color-fuchsia-300), var(--color-fuchsia-700)); --color-fuchsia-surface: light-dark(var(--color-fuchsia-200), var(--color-fuchsia-800)); --color-fuchsia-surface-text: light-dark(var(--color-fuchsia-800), var(--color-fuchsia-200)); --color-fuchsia-text: light-dark(var(--color-fuchsia-700), var(--color-fuchsia-300)); --color-fuchsia-border: light-dark(var(--color-fuchsia-400), var(--color-fuchsia-600)); --color-pink-fill: light-dark(var(--color-pink-300), var(--color-pink-700)); --color-pink-surface: light-dark(var(--color-pink-200), var(--color-pink-800)); --color-pink-surface-text: light-dark(var(--color-pink-800), var(--color-pink-200)); --color-pink-text: light-dark(var(--color-pink-700), var(--color-pink-300)); --color-pink-border: light-dark(var(--color-pink-400), var(--color-pink-600)); --color-rose-fill: light-dark(var(--color-rose-300), var(--color-rose-700)); --color-rose-surface: light-dark(var(--color-rose-200), var(--color-rose-800)); --color-rose-surface-text: light-dark(var(--color-rose-800), var(--color-rose-200)); --color-rose-text: light-dark(var(--color-rose-700), var(--color-rose-300)); --color-rose-border: light-dark(var(--color-rose-400), var(--color-rose-600)); }
129
+ @theme { --color-primary-bg: var(--color-blue-bg); --color-primary-bg-hover: var(--color-blue-bg-hover); --color-primary-fg: var(--color-blue-fg); --color-primary-surface: var(--color-blue-surface); --color-primary-text: var(--color-blue-text); --color-primary-border: var(--color-blue-border); --color-secondary-bg: var(--color-green-bg); --color-secondary-bg-hover: var(--color-green-bg-hover); --color-secondary-fg: var(--color-green-fg); --color-secondary-surface: var(--color-green-surface); --color-secondary-text: var(--color-green-text); --color-secondary-border: var(--color-green-border); --color-info-bg: var(--color-cyan-bg); --color-info-bg-hover: var(--color-cyan-bg-hover); --color-info-fg: var(--color-cyan-fg); --color-info-surface: var(--color-cyan-surface); --color-info-text: var(--color-cyan-text); --color-info-border: var(--color-cyan-border); --color-success-bg: var(--color-emerald-bg); --color-success-bg-hover: var(--color-emerald-bg-hover); --color-success-fg: var(--color-emerald-fg); --color-success-surface: var(--color-emerald-surface); --color-success-text: var(--color-emerald-text); --color-success-border: var(--color-emerald-border); --color-warning-bg: var(--color-amber-bg); --color-warning-bg-hover: var(--color-amber-bg-hover); --color-warning-fg: var(--color-amber-fg); --color-warning-surface: var(--color-amber-surface); --color-warning-text: var(--color-amber-text); --color-warning-border: var(--color-amber-border); --color-error-bg: var(--color-rose-bg); --color-error-bg-hover: var(--color-rose-bg-hover); --color-error-fg: var(--color-rose-fg); --color-error-surface: var(--color-rose-surface); --color-error-text: var(--color-rose-text); --color-error-border: var(--color-rose-border); --color-neutral-bg: var(--color-neutral-600); --color-neutral-bg-hover: var(--color-neutral-700); --color-neutral-fg: var(--color-neutral-900); --color-neutral-surface: var(--color-neutral-400); --color-neutral-text: light-dark(var(--color-neutral-800), var(--color-neutral-500)); --color-neutral-border: var(--color-neutral-600); --color-red-bg: var(--color-red-600); --color-red-bg-hover: var(--color-red-700); --color-red-fg: var(--color-red-900); --color-red-surface: var(--color-red-400); --color-red-text: light-dark(var(--color-red-800), var(--color-red-500)); --color-red-border: var(--color-red-600); --color-orange-bg: var(--color-orange-600); --color-orange-bg-hover: var(--color-orange-700); --color-orange-fg: var(--color-orange-900); --color-orange-surface: var(--color-orange-400); --color-orange-text: light-dark(var(--color-orange-800), var(--color-orange-500)); --color-orange-border: var(--color-orange-600); --color-amber-bg: var(--color-amber-600); --color-amber-bg-hover: var(--color-amber-700); --color-amber-fg: var(--color-amber-900); --color-amber-surface: var(--color-amber-400); --color-amber-text: light-dark(var(--color-amber-800), var(--color-amber-500)); --color-amber-border: var(--color-amber-600); --color-yellow-bg: var(--color-yellow-600); --color-yellow-bg-hover: var(--color-yellow-700); --color-yellow-fg: var(--color-yellow-900); --color-yellow-surface: var(--color-yellow-400); --color-yellow-text: light-dark(var(--color-yellow-800), var(--color-yellow-500)); --color-yellow-border: var(--color-yellow-600); --color-lime-bg: var(--color-lime-600); --color-lime-bg-hover: var(--color-lime-700); --color-lime-fg: var(--color-lime-900); --color-lime-surface: var(--color-lime-400); --color-lime-text: light-dark(var(--color-lime-800), var(--color-lime-500)); --color-lime-border: var(--color-lime-600); --color-green-bg: var(--color-green-600); --color-green-bg-hover: var(--color-green-700); --color-green-fg: var(--color-green-900); --color-green-surface: var(--color-green-400); --color-green-text: light-dark(var(--color-green-800), var(--color-green-500)); --color-green-border: var(--color-green-600); --color-emerald-bg: var(--color-emerald-600); --color-emerald-bg-hover: var(--color-emerald-700); --color-emerald-fg: var(--color-emerald-900); --color-emerald-surface: var(--color-emerald-400); --color-emerald-text: light-dark(var(--color-emerald-800), var(--color-emerald-500)); --color-emerald-border: var(--color-emerald-600); --color-teal-bg: var(--color-teal-600); --color-teal-bg-hover: var(--color-teal-700); --color-teal-fg: var(--color-teal-900); --color-teal-surface: var(--color-teal-400); --color-teal-text: light-dark(var(--color-teal-800), var(--color-teal-500)); --color-teal-border: var(--color-teal-600); --color-cyan-bg: var(--color-cyan-600); --color-cyan-bg-hover: var(--color-cyan-700); --color-cyan-fg: var(--color-cyan-900); --color-cyan-surface: var(--color-cyan-400); --color-cyan-text: light-dark(var(--color-cyan-800), var(--color-cyan-500)); --color-cyan-border: var(--color-cyan-600); --color-sky-bg: var(--color-sky-600); --color-sky-bg-hover: var(--color-sky-700); --color-sky-fg: var(--color-sky-900); --color-sky-surface: var(--color-sky-400); --color-sky-text: light-dark(var(--color-sky-800), var(--color-sky-500)); --color-sky-border: var(--color-sky-600); --color-blue-bg: var(--color-blue-600); --color-blue-bg-hover: var(--color-blue-700); --color-blue-fg: var(--color-blue-900); --color-blue-surface: var(--color-blue-400); --color-blue-text: light-dark(var(--color-blue-800), var(--color-blue-500)); --color-blue-border: var(--color-blue-600); --color-indigo-bg: var(--color-indigo-600); --color-indigo-bg-hover: var(--color-indigo-700); --color-indigo-fg: var(--color-indigo-900); --color-indigo-surface: var(--color-indigo-400); --color-indigo-text: light-dark(var(--color-indigo-800), var(--color-indigo-500)); --color-indigo-border: var(--color-indigo-600); --color-violet-bg: var(--color-violet-600); --color-violet-bg-hover: var(--color-violet-700); --color-violet-fg: var(--color-violet-900); --color-violet-surface: var(--color-violet-400); --color-violet-text: light-dark(var(--color-violet-800), var(--color-violet-500)); --color-violet-border: var(--color-violet-600); --color-purple-bg: var(--color-purple-600); --color-purple-bg-hover: var(--color-purple-700); --color-purple-fg: var(--color-purple-900); --color-purple-surface: var(--color-purple-400); --color-purple-text: light-dark(var(--color-purple-800), var(--color-purple-500)); --color-purple-border: var(--color-purple-600); --color-fuchsia-bg: var(--color-fuchsia-600); --color-fuchsia-bg-hover: var(--color-fuchsia-700); --color-fuchsia-fg: var(--color-fuchsia-900); --color-fuchsia-surface: var(--color-fuchsia-400); --color-fuchsia-text: light-dark(var(--color-fuchsia-800), var(--color-fuchsia-500)); --color-fuchsia-border: var(--color-fuchsia-600); --color-pink-bg: var(--color-pink-600); --color-pink-bg-hover: var(--color-pink-700); --color-pink-fg: var(--color-pink-900); --color-pink-surface: var(--color-pink-400); --color-pink-text: light-dark(var(--color-pink-800), var(--color-pink-500)); --color-pink-border: var(--color-pink-600); --color-rose-bg: var(--color-rose-600); --color-rose-bg-hover: var(--color-rose-700); --color-rose-fg: var(--color-rose-900); --color-rose-surface: var(--color-rose-400); --color-rose-text: light-dark(var(--color-rose-800), var(--color-rose-500)); --color-rose-border: var(--color-rose-600); }
95
130
 
96
131
  /* src/css/theme/text.css */
97
132
  @theme { --font-body: "Inter Variable", ui-sans-serif, system-ui, sans-serif; --font-mono: "JetBrains Mono Variable", ui-monospace, "Cascadia Code", "Source Code Pro", monospace; --text-xs: 0.75rem; --text-xs--line-height: 1rem; --text-sm: 0.875rem; --text-sm--line-height: 1.25rem; --text-base: 1rem; --text-base--line-height: 1.5rem; --text-lg: 1.125rem; --text-lg--line-height: 1.75rem; --text-xl: 1.25rem; --text-xl--line-height: 1.75rem; --text-2xl: 1.5rem; --text-2xl--line-height: 2rem; --text-3xl: 1.875rem; --text-3xl--line-height: 2.25rem; --text-4xl: 2.25rem; --text-4xl--line-height: 2.5rem; --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; }
@@ -124,9 +159,9 @@
124
159
  html .dark,
125
160
  .sb-show-main {
126
161
  background-color: var(--color-base-surface);
127
- color: var(--color-base-surface-text);
162
+ color: var(--color-base-fg);
128
163
  --surface-bg: var(--color-base-surface);
129
- --surface-text: var(--color-base-surface-text);
164
+ --foreground: var(--color-base-fg);
130
165
  --description-text: var(--color-description);
131
166
  }
132
167
  }
@@ -243,8 +278,12 @@
243
278
  /* src/css/components/button.css */
244
279
  @layer dx-components {
245
280
  .dx-button {
246
- @apply shrink-0 inline-flex select-none items-center justify-center overflow-hidden min-h-[2.5rem] px-3;
247
- @apply font-medium transition-colors duration-100 ease-linear bg-input-surface;
281
+ @apply shrink-0 inline-flex select-none items-center justify-center overflow-hidden min-h-[2rem] px-3;
282
+ @apply font-medium transition-colors duration-100 ease-linear bg-input-bg;
283
+ &[data-variant=default] {
284
+ color: var(--dx-valence-text, inherit);
285
+ background: var(--dx-valence-bg, var(--color-input-bg));
286
+ }
248
287
  &[aria-pressed=true],
249
288
  &[aria-checked=true] {
250
289
  @apply text-accent-text bg-attention-surface;
@@ -258,7 +297,7 @@
258
297
  @apply bg-hover-surface text-inherit;
259
298
  }
260
299
  &[data-state=open] {
261
- @apply bg-input-surface;
300
+ @apply bg-input-bg;
262
301
  }
263
302
  &[aria-pressed=true],
264
303
  &[aria-checked=true] {
@@ -276,20 +315,40 @@
276
315
  &:hover {
277
316
  @apply bg-hover-surface;
278
317
  }
318
+ &[data-variant=default]:hover {
319
+ color: var(--dx-valence-text);
320
+ background-color: var(--dx-valence-bg-hover, var(--color-hover-surface));
321
+ }
322
+ &[data-variant=ghost]:hover {
323
+ color: var(--dx-valence-text);
324
+ background-color: var(--dx-valence-bg, var(--color-hover-surface));
325
+ }
279
326
  &[data-variant=primary] {
280
- @apply text-accent-surface-text bg-accent-surface;
327
+ @apply text-accent-fg bg-accent-bg;
281
328
  &:hover,
282
329
  &[aria-pressed=true],
283
- &[aria-checked=true] &[data-state=open] {
284
- @apply bg-accent-surface-hover;
330
+ &[aria-checked=true],
331
+ &[data-state=open] {
332
+ @apply bg-accent-bg-hover;
285
333
  }
286
334
  }
287
335
  &[data-variant=destructive] {
288
- @apply text-accent-surface-text bg-rose-fill;
336
+ @apply text-accent-fg bg-error-bg;
289
337
  &:hover,
290
338
  &[aria-pressed=true],
291
- &[aria-checked=true] &[data-state=open] {
292
- @apply bg-rose-fill;
339
+ &[aria-checked=true],
340
+ &[data-state=open] {
341
+ @apply bg-error-bg-hover;
342
+ }
343
+ }
344
+ &[data-variant=valence] {
345
+ @apply text-inverse-fg;
346
+ background: var(--dx-valence-bg, var(--color-neutral-bg));
347
+ &:hover,
348
+ &[aria-pressed=true],
349
+ &[aria-checked=true],
350
+ &[data-state=open] {
351
+ background-color: var(--dx-valence-bg-hover, var(--color-neutral-bg-hover));
293
352
  }
294
353
  }
295
354
  }
@@ -300,13 +359,32 @@
300
359
  .dx-button:not([data-props~=wrap]) {
301
360
  @apply truncate;
302
361
  }
362
+ .dx-button[data-density=lg] {
363
+ @apply min-h-[2.5rem] px-3;
364
+ }
365
+ .dx-button[data-density=sm] {
366
+ @apply min-h-[1.75rem] px-2;
367
+ }
368
+ .dx-button[data-density=xs] {
369
+ @apply min-h-[1.5rem] px-1 text-xs;
370
+ }
371
+ .dx-button[data-density=xs].aspect-square {
372
+ @apply size-6 px-0;
373
+ }
303
374
  @media (pointer: fine) {
304
- .dx-button[data-density=fine] {
375
+ .dx-button[data-density=md] {
305
376
  @apply min-h-[2rem] px-2.5;
306
377
  }
307
378
  }
308
379
  }
309
380
 
381
+ /* src/css/components/card.css */
382
+ @layer dx-components {
383
+ .dx-card__section > *:not([class*=col-span]) {
384
+ grid-column: var(--dx-col, auto);
385
+ }
386
+ }
387
+
310
388
  /* src/css/components/checkbox.css */
311
389
  @layer dx-components {
312
390
  .dx-checkbox--switch,
@@ -315,7 +393,7 @@
315
393
  &[aria-checked=true],
316
394
  &[aria-checked=mixed],
317
395
  &:checked {
318
- @apply bg-accent-surface accent-accent-surface border-accent-surface;
396
+ @apply bg-accent-bg accent-accent-bg border-accent-bg;
319
397
  }
320
398
  &:not([disabled]),
321
399
  &[disabled=false] {
@@ -324,13 +402,13 @@
324
402
  &[aria-checked=true],
325
403
  &[aria-checked=mixed],
326
404
  &:checked {
327
- @apply bg-accent-surface-hover accent-accent-surface-hover border-accent-surface-hover;
405
+ @apply bg-accent-bg-hover accent-accent-bg-hover border-accent-bg-hover;
328
406
  }
329
407
  }
330
408
  }
331
409
  }
332
410
  .dx-checkbox {
333
- @apply w-4 h-4 overflow-hidden shadow-inner transition-colors bg-un-accent accent-un-accent text-accent-surface-text shrink-0 inline-grid place-items-center rounded-xs;
411
+ @apply w-4 h-4 overflow-hidden shadow-inner transition-colors bg-un-accent accent-un-accent text-accent-fg shrink-0 inline-grid place-items-center rounded-xs;
334
412
  }
335
413
  .dx-checkbox--switch {
336
414
  @apply inline-block appearance-none relative shrink-0 h-5 w-8;
@@ -423,9 +501,9 @@
423
501
  @apply outline-hidden;
424
502
  }
425
503
  &:focus-visible {
426
- @apply ring-focus-line ring-offset-focus-offset z-[1] ring-[var(--color-neutral-focus-indicator)];
504
+ @apply ring-focus-line ring-offset-focus-offset z-[1] ring-[var(--color-focus-ring-subtle)];
427
505
  &[data-variant=primary] {
428
- @apply ring-[var(--color-accent-focus-indicator)];
506
+ @apply ring-[var(--color-focus-ring)];
429
507
  }
430
508
  &:hover {
431
509
  @apply outline-hidden;
@@ -450,9 +528,9 @@
450
528
  @apply outline-hidden;
451
529
  }
452
530
  &:focus {
453
- @apply ring-focus-line ring-offset-focus-offset z-[1] ring-[var(--color-neutral-focus-indicator)];
531
+ @apply ring-focus-line ring-offset-focus-offset z-[1] ring-[var(--color-focus-ring-subtle)];
454
532
  &[data-variant=primary] {
455
- @apply ring-[var(--color-accent-focus-indicator)];
533
+ @apply ring-[var(--color-focus-ring)];
456
534
  }
457
535
  &:hover {
458
536
  @apply outline-hidden;
@@ -479,9 +557,9 @@
479
557
  .dx-focus-ring-group:focus-visible .dx-focus-ring-group-indicator,
480
558
  .dx-focus-ring-group-x:focus-visible .dx-focus-ring-group-x-indicator,
481
559
  .dx-focus-ring-group-y:focus-visible .dx-focus-ring-group-y-indicator {
482
- @apply ring-focus-line ring-offset-focus-offset ring-[var(--color-neutral-focus-indicator)];
560
+ @apply ring-focus-line ring-offset-focus-offset ring-[var(--color-focus-ring-subtle)];
483
561
  &[data-variant=primary] {
484
- @apply ring-[var(--color-accent-focus-indicator)];
562
+ @apply ring-[var(--color-focus-ring)];
485
563
  }
486
564
  &:hover {
487
565
  @apply outline-hidden;
@@ -493,9 +571,9 @@
493
571
  .dx-focus-ring-group-always:focus .dx-focus-ring-group-indicator,
494
572
  .dx-focus-ring-group-x-always:focus .dx-focus-ring-group-x-indicator,
495
573
  .dx-focus-ring-group-y-always:focus .dx-focus-ring-group-y-indicator {
496
- @apply ring-focus-line ring-offset-focus-offset ring-[var(--color-neutral-focus-indicator)];
574
+ @apply ring-focus-line ring-offset-focus-offset ring-[var(--color-focus-ring-subtle)];
497
575
  &[data-variant=primary] {
498
- @apply ring-[var(--color-accent-focus-indicator)];
576
+ @apply ring-[var(--color-focus-ring)];
499
577
  }
500
578
  &:hover {
501
579
  @apply outline-hidden;
@@ -533,10 +611,10 @@
533
611
  }
534
612
  &:focus-visible {
535
613
  &::after {
536
- @apply ring-focus-line ring-offset-focus-offset ring-inset z-[1] ring-[var(--color-neutral-focus-indicator)];
614
+ @apply ring-focus-line ring-offset-focus-offset ring-inset z-[1] ring-[var(--color-focus-ring-subtle)];
537
615
  }
538
616
  &[data-variant=primary]::after {
539
- @apply ring-[var(--color-accent-focus-indicator)];
617
+ @apply ring-[var(--color-focus-ring)];
540
618
  }
541
619
  &:hover {
542
620
  @apply outline-hidden;
@@ -560,10 +638,10 @@
560
638
  }
561
639
  &:focus {
562
640
  &::after {
563
- @apply ring-focus-line ring-offset-focus-offset ring-inset z-[1] ring-[var(--color-neutral-focus-indicator)];
641
+ @apply ring-focus-line ring-offset-focus-offset ring-inset z-[1] ring-[var(--color-focus-ring-subtle)];
564
642
  }
565
643
  &[data-variant=primary]::after {
566
- @apply ring-[var(--color-accent-focus-indicator)];
644
+ @apply ring-[var(--color-focus-ring)];
567
645
  }
568
646
  &:hover {
569
647
  @apply outline-hidden;
@@ -623,100 +701,103 @@
623
701
 
624
702
  /* src/css/components/panel.css */
625
703
  @layer dx-components {
626
- .dx-panel[data-hue=neutral],
704
+ [data-hue=neutral] .dx-panel,
627
705
  .dx-panel--neutral {
628
- @apply bg-neutral-surface text-neutral-surface-text border-neutral-border;
706
+ @apply bg-neutral-surface text-neutral-fg border-neutral-border;
629
707
  }
630
- .dx-panel[data-hue=red],
708
+ [data-hue=red] .dx-panel,
631
709
  .dx-panel--red {
632
- @apply bg-red-surface text-red-surface-text border-red-border;
710
+ @apply bg-red-surface text-red-fg border-red-border;
633
711
  }
634
- .dx-panel[data-hue=orange],
712
+ [data-hue=orange] .dx-panel,
635
713
  .dx-panel--orange {
636
- @apply bg-orange-surface text-orange-surface-text border-orange-border;
714
+ @apply bg-orange-surface text-orange-fg border-orange-border;
637
715
  }
638
- .dx-panel[data-hue=amber],
716
+ [data-hue=amber] .dx-panel,
639
717
  .dx-panel--amber {
640
- @apply bg-amber-surface text-amber-surface-text border-amber-border;
718
+ @apply bg-amber-surface text-amber-fg border-amber-border;
641
719
  }
642
- .dx-panel[data-hue=yellow],
720
+ [data-hue=yellow] .dx-panel,
643
721
  .dx-panel--yellow {
644
- @apply bg-yellow-surface text-yellow-surface-text border-yellow-border;
722
+ @apply bg-yellow-surface text-yellow-fg border-yellow-border;
645
723
  }
646
- .dx-panel[data-hue=lime],
724
+ [data-hue=lime] .dx-panel,
647
725
  .dx-panel--lime {
648
- @apply bg-lime-surface text-lime-surface-text border-lime-border;
726
+ @apply bg-lime-surface text-lime-fg border-lime-border;
649
727
  }
650
- .dx-panel[data-hue=green],
728
+ [data-hue=green] .dx-panel,
651
729
  .dx-panel--green {
652
- @apply bg-green-surface text-green-surface-text border-green-border;
730
+ @apply bg-green-surface text-green-fg border-green-border;
653
731
  }
654
- .dx-panel[data-hue=emerald],
732
+ [data-hue=emerald] .dx-panel,
655
733
  .dx-panel--emerald {
656
- @apply bg-emerald-surface text-emerald-surface-text border-emerald-border;
734
+ @apply bg-emerald-surface text-emerald-fg border-emerald-border;
657
735
  }
658
- .dx-panel[data-hue=teal],
736
+ [data-hue=teal] .dx-panel,
659
737
  .dx-panel--teal {
660
- @apply bg-teal-surface text-teal-surface-text border-teal-border;
738
+ @apply bg-teal-surface text-teal-fg border-teal-border;
661
739
  }
662
- .dx-panel[data-hue=cyan],
740
+ [data-hue=cyan] .dx-panel,
663
741
  .dx-panel--cyan {
664
- @apply bg-cyan-surface text-cyan-surface-text border-cyan-border;
742
+ @apply bg-cyan-surface text-cyan-fg border-cyan-border;
665
743
  }
666
- .dx-panel[data-hue=sky],
744
+ [data-hue=sky] .dx-panel,
667
745
  .dx-panel--sky {
668
- @apply bg-sky-surface text-sky-surface-text border-sky-border;
746
+ @apply bg-sky-surface text-sky-fg border-sky-border;
669
747
  }
670
- .dx-panel[data-hue=blue],
748
+ [data-hue=blue] .dx-panel,
671
749
  .dx-panel--blue {
672
- @apply bg-blue-surface text-blue-surface-text border-blue-border;
750
+ @apply bg-blue-surface text-blue-fg border-blue-border;
673
751
  }
674
- .dx-panel[data-hue=indigo],
752
+ [data-hue=indigo] .dx-panel,
675
753
  .dx-panel--indigo {
676
- @apply bg-indigo-surface text-indigo-surface-text border-indigo-border;
754
+ @apply bg-indigo-surface text-indigo-fg border-indigo-border;
677
755
  }
678
- .dx-panel[data-hue=violet],
756
+ [data-hue=violet] .dx-panel,
679
757
  .dx-panel--violet {
680
- @apply bg-violet-surface text-violet-surface-text border-violet-border;
758
+ @apply bg-violet-surface text-violet-fg border-violet-border;
681
759
  }
682
- .dx-panel[data-hue=purple],
760
+ [data-hue=purple] .dx-panel,
683
761
  .dx-panel--purple {
684
- @apply bg-purple-surface text-purple-surface-text border-purple-border;
762
+ @apply bg-purple-surface text-purple-fg border-purple-border;
685
763
  }
686
- .dx-panel[data-hue=fuchsia],
764
+ [data-hue=fuchsia] .dx-panel,
687
765
  .dx-panel--fuchsia {
688
- @apply bg-fuchsia-surface text-fuchsia-surface-text border-fuchsia-border;
766
+ @apply bg-fuchsia-surface text-fuchsia-fg border-fuchsia-border;
689
767
  }
690
- .dx-panel[data-hue=pink],
768
+ [data-hue=pink] .dx-panel,
691
769
  .dx-panel--pink {
692
- @apply bg-pink-surface text-pink-surface-text border-pink-border;
770
+ @apply bg-pink-surface text-pink-fg border-pink-border;
693
771
  }
694
- .dx-panel[data-hue=rose],
772
+ [data-hue=rose] .dx-panel,
695
773
  .dx-panel--rose {
696
- @apply bg-rose-surface text-rose-surface-text border-rose-border;
774
+ @apply bg-rose-surface text-rose-fg border-rose-border;
697
775
  }
698
- .dx-panel[data-hue=info],
776
+ [data-hue=info] .dx-panel,
699
777
  .dx-panel--info {
700
- @apply bg-info-surface text-info-surface-text border-info-border;
778
+ @apply bg-info-surface text-info-fg border-info-border;
701
779
  }
702
- .dx-panel[data-hue=success],
780
+ [data-hue=success] .dx-panel,
703
781
  .dx-panel--success {
704
- @apply bg-success-surface text-success-surface-text border-success-border;
782
+ @apply bg-success-surface text-success-fg border-success-border;
705
783
  }
706
- .dx-panel[data-hue=warning],
784
+ [data-hue=warning] .dx-panel,
707
785
  .dx-panel--warning {
708
- @apply bg-warning-surface text-warning-surface-text border-warning-border;
786
+ @apply bg-warning-surface text-warning-fg border-warning-border;
709
787
  }
710
- .dx-panel[data-hue=error],
788
+ [data-hue=error] .dx-panel,
711
789
  .dx-panel--error {
712
- @apply bg-error-surface text-error-surface-text border-error-border;
790
+ @apply bg-error-surface text-error-fg border-error-border;
713
791
  }
714
792
  }
715
793
 
716
794
  /* src/css/components/link.css */
717
795
  @layer dx-components {
718
796
  .dx-link {
719
- @apply text-accent-text hover:text-accent-text-hover;
797
+ @apply text-accent-text hover:text-accent-text-hover cursor-pointer;
798
+ }
799
+ .dx-link-hover {
800
+ @apply hover:text-accent-text-hover! cursor-pointer;
720
801
  }
721
802
  }
722
803
 
@@ -740,41 +821,94 @@
740
821
  }
741
822
  }
742
823
 
743
- /* src/css/components/selected.css */
824
+ /* src/css/components/state.css */
744
825
  @layer dx-components {
745
826
  .dx-hover {
746
- @apply cursor-pointer hover:bg-highlight-surface! hover:text-highlight-surface-text!;
827
+ @apply cursor-pointer hover:bg-hover-surface-subtle! hover:text-hover-fg! hover:aria-selected:bg-selected-surface-hover hover:aria-selected:text-selected-fg hover:aria-[current=true]:bg-current-surface-hover hover:aria-[current=true]:text-current-fg;
747
828
  }
748
- .dx-highlighted {
749
- @apply data-[highlighted]:bg-highlight-surface data-[highlighted]:text-highlight-surface-text hover:data-[highlighted]:bg-highlight-surface-hover;
829
+ .dx-hover-row {
830
+ @apply group-hover/row:bg-hover-surface-subtle! group-hover/row:text-hover-fg! group-hover/row:group-aria-selected/row:bg-selected-surface-hover! group-hover/row:group-aria-selected/row:text-selected-fg! group-hover/row:group-aria-[current=true]/row:bg-current-surface-hover! group-hover/row:group-aria-[current=true]/row:text-current-fg!;
831
+ }
832
+ .dx-selected {
833
+ @apply aria-selected:bg-selected-surface! aria-selected:text-selected-fg! aria-selected:font-semibold aria-selected:tracking-normal transition-[color, font-variation-settings, letter-spacing];
750
834
  }
751
835
  .dx-current {
752
- @apply dx-ring-pseudo aria-[current=true]:bg-highlight-surface aria-[current=true]:text-highlight-surface-text aria-[current=true]:after:ring-active-separator!;
836
+ @apply dx-ring-pseudo aria-[current=true]:bg-current-surface! aria-[current=true]:text-current-fg! aria-[current=true]:after:ring-focus-ring-subtle!;
753
837
  }
754
- .dx-selected {
755
- @apply aria-selected:bg-selected-surface aria-selected:text-selected-surface-text hover:aria-selected:text-selected-surface-text aria-selected:font-semibold aria-selected:tracking-normal transition-[color, font-variation-settings, letter-spacing];
838
+ .dx-current-row {
839
+ @apply group-aria-[current=true]/row:bg-current-surface! group-aria-[current=true]/row:text-current-fg!;
840
+ }
841
+ .dx-highlighted {
842
+ @apply data-[highlighted]:bg-current-surface data-[highlighted]:text-current-fg hover:data-[highlighted]:bg-current-surface-hover;
756
843
  }
757
844
  }
758
845
 
759
846
  /* src/css/components/surface.css */
760
847
  @layer dx-components {
761
848
  .dx-base-surface {
762
- @apply bg-base-surface text-base-surface-text;
849
+ @apply bg-base-surface text-base-fg;
763
850
  --surface-bg: var(--color-base-surface);
764
851
  }
852
+ .dx-deck-surface {
853
+ @apply bg-deck-surface text-base-fg;
854
+ --surface-bg: var(--color-deck-surface);
855
+ }
765
856
  .dx-sidebar-surface {
766
- @apply bg-sidebar-surface text-base-surface-text;
857
+ @apply bg-sidebar-surface text-base-fg;
767
858
  --surface-bg: var(--color-sidebar-surface);
768
859
  }
860
+ .dx-header-surface {
861
+ @apply bg-header-surface text-base-fg;
862
+ --surface-bg: var(--color-header-surface);
863
+ }
864
+ .dx-card-surface {
865
+ @apply bg-card-surface text-base-fg;
866
+ --surface-bg: var(--color-card-surface);
867
+ }
868
+ .dx-group-surface {
869
+ @apply bg-group-surface text-base-fg;
870
+ --surface-bg: var(--color-group-surface);
871
+ }
872
+ .dx-input-surface {
873
+ @apply bg-input-surface text-base-fg;
874
+ --surface-bg: var(--color-input-surface);
875
+ }
876
+ .dx-toolbar-surface {
877
+ @apply bg-toolbar-surface text-base-fg;
878
+ --surface-bg: var(--color-toolbar-surface);
879
+ }
769
880
  .dx-modal-surface {
770
- @apply bg-modal-surface text-base-surface-text backdrop-blur-md;
881
+ @apply bg-modal-surface text-base-fg backdrop-blur-md;
771
882
  --surface-bg: var(--color-modal-surface);
772
883
  }
884
+ .dx-popover-surface {
885
+ @apply bg-popover-surface text-base-fg backdrop-blur-md;
886
+ --surface-bg: var(--color-popover-surface);
887
+ }
773
888
  .dx-attention-surface {
774
- @apply bg-attention-surface text-base-surface-text;
889
+ @apply bg-attention-surface text-base-fg;
775
890
  --surface-bg: var(--color-attention-surface);
776
891
  }
777
892
  }
893
+ @layer dx-tokens {
894
+ .dx-base-surface,
895
+ .dx-deck-surface,
896
+ .dx-sidebar-surface,
897
+ .dx-header-surface,
898
+ .dx-card-surface,
899
+ .dx-group-surface,
900
+ .dx-input-surface,
901
+ .dx-toolbar-surface,
902
+ .dx-modal-surface,
903
+ .dx-popover-surface,
904
+ .dx-attention-surface,
905
+ .dx-main-sidebar {
906
+ --color-hover-surface: light-dark( oklch(from var(--surface-bg) calc(l - 0.08) c h), oklch(from var(--surface-bg) calc(l + 0.08) c h) );
907
+ --color-hover-surface-subtle: light-dark( oklch(from var(--surface-bg) calc(l - 0.02) c h), oklch(from var(--surface-bg) calc(l + 0.02) c h) );
908
+ --color-current-surface: light-dark( oklch(from var(--surface-bg) calc(l - 0.1) c h), oklch(from var(--surface-bg) calc(l + 0.1) c h) );
909
+ --color-current-surface-hover: light-dark( oklch(from var(--surface-bg) calc(l - 0.12) c h), oklch(from var(--surface-bg) calc(l + 0.12) c h) );
910
+ }
911
+ }
778
912
 
779
913
  /* src/css/components/tag.css */
780
914
  @layer dx-components {
@@ -784,98 +918,99 @@
784
918
  user-select: none;
785
919
  }
786
920
  .dx-tag--anchor {
787
- @apply inline cursor-pointer -mx-[4px] px-[3px] py-0.5 border border-separator rounded-xs bg-group-surface transition-colors;
921
+ @apply inline cursor-pointer px-[4px] py-0.5;
922
+ @apply bg-input-surface ring ring-neutral-border rounded-sm;
788
923
  &:hover {
789
924
  @apply bg-hover-surface;
790
925
  }
791
926
  }
792
927
  .dx-tag[data-hue=neutral],
793
928
  .dx-tag--neutral {
794
- @apply bg-neutral-surface text-neutral-surface-text;
929
+ @apply bg-neutral-surface text-neutral-fg;
795
930
  }
796
931
  .dx-tag[data-hue=red],
797
932
  .dx-tag--red {
798
- @apply bg-red-surface text-red-surface-text;
933
+ @apply bg-red-surface text-red-fg;
799
934
  }
800
935
  .dx-tag[data-hue=orange],
801
936
  .dx-tag--orange {
802
- @apply bg-orange-surface text-orange-surface-text;
937
+ @apply bg-orange-surface text-orange-fg;
803
938
  }
804
939
  .dx-tag[data-hue=amber],
805
940
  .dx-tag--amber {
806
- @apply bg-amber-surface text-amber-surface-text;
941
+ @apply bg-amber-surface text-amber-fg;
807
942
  }
808
943
  .dx-tag[data-hue=yellow],
809
944
  .dx-tag--yellow {
810
- @apply bg-yellow-surface text-yellow-surface-text;
945
+ @apply bg-yellow-surface text-yellow-fg;
811
946
  }
812
947
  .dx-tag[data-hue=lime],
813
948
  .dx-tag--lime {
814
- @apply bg-lime-surface text-lime-surface-text;
949
+ @apply bg-lime-surface text-lime-fg;
815
950
  }
816
951
  .dx-tag[data-hue=green],
817
952
  .dx-tag--green {
818
- @apply bg-green-surface text-green-surface-text;
953
+ @apply bg-green-surface text-green-fg;
819
954
  }
820
955
  .dx-tag[data-hue=emerald],
821
956
  .dx-tag--emerald {
822
- @apply bg-emerald-surface text-emerald-surface-text;
957
+ @apply bg-emerald-surface text-emerald-fg;
823
958
  }
824
959
  .dx-tag[data-hue=teal],
825
960
  .dx-tag--teal {
826
- @apply bg-teal-surface text-teal-surface-text;
961
+ @apply bg-teal-surface text-teal-fg;
827
962
  }
828
963
  .dx-tag[data-hue=cyan],
829
964
  .dx-tag--cyan {
830
- @apply bg-cyan-surface text-cyan-surface-text;
965
+ @apply bg-cyan-surface text-cyan-fg;
831
966
  }
832
967
  .dx-tag[data-hue=sky],
833
968
  .dx-tag--sky {
834
- @apply bg-sky-surface text-sky-surface-text;
969
+ @apply bg-sky-surface text-sky-fg;
835
970
  }
836
971
  .dx-tag[data-hue=blue],
837
972
  .dx-tag--blue {
838
- @apply bg-blue-surface text-blue-surface-text;
973
+ @apply bg-blue-surface text-blue-fg;
839
974
  }
840
975
  .dx-tag[data-hue=indigo],
841
976
  .dx-tag--indigo {
842
- @apply bg-indigo-surface text-indigo-surface-text;
977
+ @apply bg-indigo-surface text-indigo-fg;
843
978
  }
844
979
  .dx-tag[data-hue=violet],
845
980
  .dx-tag--violet {
846
- @apply bg-violet-surface text-violet-surface-text;
981
+ @apply bg-violet-surface text-violet-fg;
847
982
  }
848
983
  .dx-tag[data-hue=purple],
849
984
  .dx-tag--purple {
850
- @apply bg-purple-surface text-purple-surface-text;
985
+ @apply bg-purple-surface text-purple-fg;
851
986
  }
852
987
  .dx-tag[data-hue=fuchsia],
853
988
  .dx-tag--fuchsia {
854
- @apply bg-fuchsia-surface text-fuchsia-surface-text;
989
+ @apply bg-fuchsia-surface text-fuchsia-fg;
855
990
  }
856
991
  .dx-tag[data-hue=pink],
857
992
  .dx-tag--pink {
858
- @apply bg-pink-surface text-pink-surface-text;
993
+ @apply bg-pink-surface text-pink-fg;
859
994
  }
860
995
  .dx-tag[data-hue=rose],
861
996
  .dx-tag--rose {
862
- @apply bg-rose-surface text-rose-surface-text;
997
+ @apply bg-rose-surface text-rose-fg;
863
998
  }
864
999
  .dx-tag[data-hue=info],
865
1000
  .dx-tag--info {
866
- @apply bg-cyan-surface text-cyan-surface-text;
1001
+ @apply bg-cyan-surface text-cyan-fg;
867
1002
  }
868
1003
  .dx-tag[data-hue=success],
869
1004
  .dx-tag--success {
870
- @apply bg-emerald-surface text-emerald-surface-text;
1005
+ @apply bg-emerald-surface text-emerald-fg;
871
1006
  }
872
1007
  .dx-tag[data-hue=warning],
873
1008
  .dx-tag--warning {
874
- @apply bg-amber-surface text-amber-surface-text;
1009
+ @apply bg-amber-surface text-amber-fg;
875
1010
  }
876
1011
  .dx-tag[data-hue=error],
877
1012
  .dx-tag--error {
878
- @apply bg-rose-surface text-rose-surface-text;
1013
+ @apply bg-rose-surface text-rose-fg;
879
1014
  }
880
1015
  }
881
1016
 
@@ -1044,7 +1179,11 @@
1044
1179
  @apply backdrop-blur-lg;
1045
1180
  }
1046
1181
  background-color: var(--color-sidebar-surface);
1182
+ color: var(--color-sidebar-fg);
1047
1183
  --surface-bg: var(--color-sidebar-surface);
1184
+ & :is([aria-current]:not([aria-current=false]), [aria-selected=true]) {
1185
+ color: var(--color-sidebar-current-fg);
1186
+ }
1048
1187
  transition-property:
1049
1188
  inset-inline-start,
1050
1189
  inset-inline-end,
@@ -1182,6 +1321,9 @@
1182
1321
  .dx-size-container {
1183
1322
  container-type: size;
1184
1323
  }
1324
+ .dx-inline-size-container {
1325
+ container-type: inline-size;
1326
+ }
1185
1327
  .dx-document {
1186
1328
  @apply mx-auto w-full max-w-document-max-width;
1187
1329
  }
@@ -1202,7 +1344,7 @@
1202
1344
  @apply w-full max-w-card-max-width;
1203
1345
  }
1204
1346
  .dx-card-popover {
1205
- @apply inline-card-max-width bg-card-surface;
1347
+ @apply inline-card-max-width bg-popover-surface;
1206
1348
  max-width: min(var(--radix-popper-available-width), var(--spacing-card-max-width));
1207
1349
  max-height: min(var(--radix-popper-available-height), var(--spacing-card-max-height));
1208
1350
  }
@@ -1497,9 +1639,18 @@
1497
1639
  @utility dx-fullscreen { @apply absolute inset-0; }
1498
1640
  @utility dx-slot-warning { @apply border border-rose-500 border-dashed; }
1499
1641
  @utility dx-ring-pseudo { @apply relative after:content-[""] after:absolute after:inset-0 after:rounded-[inherit] after:pointer-events-none after:ring after:ring-inset after:ring-transparent; }
1642
+ @utility shimmer-text { mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 30%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0.4) 100%); -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 30%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0.4) 100%); mask-size: 200% 100%; -webkit-mask-size: 200% 100%; mask-repeat: repeat-x; -webkit-mask-repeat: repeat-x; animation: shimmer-text 2s linear infinite; }
1643
+ @media (prefers-reduced-motion: reduce) {
1644
+ .shimmer-text {
1645
+ animation: none;
1646
+ mask-image: none;
1647
+ -webkit-mask-image: none;
1648
+ opacity: 0.6;
1649
+ }
1650
+ }
1500
1651
 
1501
1652
  /* src/css/integrations/codemirror.css */
1502
- @theme { --color-cm-codeblock: oklch(from var(--color-neutral-500) l c h / 0.1); --color-cm-active-line: light-dark( oklch(from var(--color-neutral-200) l c h / 0.5), oklch(from var(--color-neutral-800) l c h / 0.5) ); --color-cm-separator: var(--color-blue-500); --color-cm-cursor: light-dark(var(--color-neutral-900), var(--color-neutral-100)); --color-cm-selection: light-dark( oklch(from var(--color-blue-400) l c h / 0.5), oklch(from var(--color-blue-600) l c h / 0.5) ); --color-cm-focused-selection: light-dark(var(--color-blue-400), var(--color-blue-600)); --color-cm-highlight: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-cm-highlight-surface: light-dark(var(--color-sky-200), var(--color-cyan-800)); --color-cm-comment-text: light-dark(var(--color-neutral-50), var(--color-neutral-950)); --color-cm-comment-surface: light-dark(var(--color-amber-800), var(--color-amber-200)); --color-cm-code: light-dark(var(--color-stone-600), var(--color-stone-400)); --color-cm-code-inline: light-dark(var(--color-green-500), var(--color-green-500)); --color-cm-code-mark: var(--color-blue-500); --color-cm-heading: light-dark(var(--color-blue-700), var(--color-blue-300)); --color-cm-heading-number: light-dark(var(--color-blue-600), var(--color-blue-400)); }
1653
+ @theme { --color-cm-codeblock: oklch(from var(--color-neutral-500) l c h / 0.1); --color-cm-active-line: light-dark( oklch(from var(--color-neutral-200) l c h / 0.5), oklch(from var(--color-neutral-800) l c h / 0.5) ); --color-cm-separator: var(--color-blue-500); --color-cm-cursor: light-dark(var(--color-neutral-900), var(--color-neutral-100)); --color-cm-selection: light-dark( oklch(from var(--color-blue-400) l c h / 0.5), oklch(from var(--color-blue-600) l c h / 0.5) ); --color-cm-focused-selection: light-dark(var(--color-blue-400), oklch(0.445 0.057 256)); --color-cm-highlight: light-dark(var(--color-neutral-950), var(--color-neutral-50)); --color-cm-highlight-surface: light-dark(var(--color-sky-200), var(--color-cyan-800)); --color-cm-comment-text: light-dark(var(--color-neutral-950), var(--color-neutral-950)); --color-cm-comment-surface: light-dark(var(--color-teal-200), var(--color-teal-200)); --color-cm-comment-current-surface: light-dark(var(--color-orange-200), var(--color-orange-200)); --color-cm-code: light-dark(var(--color-stone-600), var(--color-stone-400)); --color-cm-code-inline: light-dark(var(--color-green-500), var(--color-green-500)); --color-cm-code-mark: var(--color-blue-500); --color-cm-heading: light-dark(var(--color-blue-700), var(--color-blue-300)); --color-cm-heading-number: light-dark(var(--color-blue-600), var(--color-blue-400)); }
1503
1654
 
1504
1655
  /* src/css/integrations/tldraw.css */
1505
1656
  .tl-background {
@@ -1507,17 +1658,25 @@
1507
1658
  }
1508
1659
  .tl-container.tl-theme__light,
1509
1660
  .tl-container.tl-theme__dark {
1510
- --color-selected: var(--color-accent-surface);
1661
+ --color-selected: var(--color-accent-bg);
1511
1662
  --color-panel: var(--color-modal-surface);
1512
1663
  --color-panel-contrast: var(--color-separator);
1513
1664
  }
1514
1665
 
1515
1666
  /* src/main.css */
1667
+ @source "../../../**/*.{ts,tsx,html}";
1668
+ @source "../../../../tools/**/*.{ts,tsx,html}";
1669
+ @source not "../../../ui/react-ui-geo/data/**";
1670
+ @source not "../../../ui/solid-ui-geo/data/**";
1671
+ @source not "../../../apps/composer-app/src/plugins/welcome/components/Welcome/hero-image.ts";
1516
1672
  @source inline("bg-{neutral,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,indigo,violet,purple,fuchsia,pink,rose}-{50,100,200,300,400,500,600,700,800,900,950}");
1517
- @source inline("bg-{neutral,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,indigo,violet,purple,fuchsia,pink,rose}-{fill,surface,surface-text,text,border}");
1673
+ @source inline("bg-{neutral,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,indigo,violet,purple,fuchsia,pink,rose}-{bg,bg-hover,fg,surface,text,border}");
1674
+ @source inline("bg-{primary,secondary}-{50,100,200,300,400,500,600,700,800,900,950}");
1518
1675
  @source inline("border-{neutral,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,indigo,violet,purple,fuchsia,pink,rose}-border");
1519
- @source inline("bg-{info,success,warning,error}-{fill,surface,surface-text,text,border}");
1676
+ @source inline("bg-{info,success,warning,error}-{bg,surface,fg,text,border}");
1520
1677
  @source inline("border-{info,success,warning,error}-border");
1678
+ @source inline("bg-grid-{surface,fg,line,highlight,comment,comment-active,selection-surface,selection-fg}");
1679
+ @source inline("bg-{l0,r0,l1,r1}-surface");
1521
1680
  @plugin "@tailwindcss/forms";
1522
1681
  @plugin "tailwind-scrollbar";
1523
1682
  @plugin "tailwindcss-radix";