@vireo-ai/trellis-ui 0.1.9 → 0.1.10

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 (173) hide show
  1. package/package.json +8 -4
  2. package/packages/client/src/components/app/styles.css +1 -30
  3. package/packages/client/src/components/button/styles.css +1 -122
  4. package/packages/client/src/components/date-picker/styles.css +47 -77
  5. package/packages/client/src/components/field/styles.css +10 -0
  6. package/packages/client/src/components/file-upload/styles.css +0 -28
  7. package/packages/client/src/components/panels/styles.css +43 -0
  8. package/packages/client/src/components/radio/styles.css +26 -21
  9. package/packages/client/src/components/scroll-area/styles.css +0 -4
  10. package/packages/client/src/components/select/styles.css +0 -30
  11. package/packages/client/src/components/sidebar/styles.css +8 -0
  12. package/packages/client/src/components/toast/styles.css +14 -7
  13. package/packages/client/src/styles/components.css +1 -0
  14. package/packages/client/src/styles/generated/theme-fonts.css +5 -0
  15. package/packages/client/src/styles/generated/theme-palette.css +2656 -0
  16. package/packages/client/src/styles/generated/theme-runtime.css +2966 -0
  17. package/packages/client/src/styles/generated-sources.css +1 -1
  18. package/packages/client/src/styles/static.css +1 -0
  19. package/packages/client/src/styles/theme.css +777 -738
  20. package/packages/client/types/cdn.d.ts +1 -4
  21. package/packages/client/types/component-api.d.ts +21 -0
  22. package/packages/client/types/components/accordion/contract.d.ts +3 -2
  23. package/packages/client/types/components/accordion/index.d.ts +28 -42
  24. package/packages/client/types/components/accordion/machine.d.ts +131 -0
  25. package/packages/client/types/components/accordion/runtime-docs.d.ts +2 -0
  26. package/packages/client/types/components/action/contract.d.ts +3 -3
  27. package/packages/client/types/components/app/contract.d.ts +25 -12
  28. package/packages/client/types/components/app/index.d.ts +2 -2
  29. package/packages/client/types/components/badge/contract.d.ts +5 -5
  30. package/packages/client/types/components/box/contract.d.ts +25 -28
  31. package/packages/client/types/components/brand/contract.d.ts +2 -2
  32. package/packages/client/types/components/button/contract.d.ts +5 -5
  33. package/packages/client/types/components/card/contract.d.ts +28 -31
  34. package/packages/client/types/components/checkbox/contract.d.ts +17 -17
  35. package/packages/client/types/components/checkbox/index.d.ts +20 -26
  36. package/packages/client/types/components/checkbox/machine.d.ts +41 -0
  37. package/packages/client/types/components/checkbox/runtime-docs.d.ts +2 -0
  38. package/packages/client/types/components/common.d.ts +53 -235
  39. package/packages/client/types/components/container/contract.d.ts +11 -12
  40. package/packages/client/types/components/date-picker/contract.d.ts +21 -16
  41. package/packages/client/types/components/date-picker/index.d.ts +38 -60
  42. package/packages/client/types/components/date-picker/machine.d.ts +529 -0
  43. package/packages/client/types/components/date-picker/runtime-docs.d.ts +2 -0
  44. package/packages/client/types/components/date-picker/value.d.ts +28 -0
  45. package/packages/client/types/components/dropdown/contract.d.ts +4 -4
  46. package/packages/client/types/components/dropdown/index.d.ts +20 -45
  47. package/packages/client/types/components/dropdown/machine.d.ts +93 -0
  48. package/packages/client/types/components/dropdown/runtime-docs.d.ts +2 -0
  49. package/packages/client/types/components/field/contract.d.ts +10 -6
  50. package/packages/client/types/components/field/index.d.ts +6 -6
  51. package/packages/client/types/components/field/machine.d.ts +13 -0
  52. package/packages/client/types/components/field/runtime-docs.d.ts +2 -0
  53. package/packages/client/types/components/file-upload/contract.d.ts +7 -4
  54. package/packages/client/types/components/file-upload/index.d.ts +34 -31
  55. package/packages/client/types/components/file-upload/machine.d.ts +127 -0
  56. package/packages/client/types/components/file-upload/runtime-docs.d.ts +2 -0
  57. package/packages/client/types/components/flex/contract.d.ts +16 -17
  58. package/packages/client/types/components/frame/contract.d.ts +41 -47
  59. package/packages/client/types/components/frame/index.d.ts +2 -2
  60. package/packages/client/types/components/grid/contract.d.ts +20 -21
  61. package/packages/client/types/components/heading/contract.d.ts +1 -1
  62. package/packages/client/types/components/image/contract.d.ts +3 -3
  63. package/packages/client/types/components/input/contract.d.ts +2 -2
  64. package/packages/client/types/components/input/index.d.ts +15 -12
  65. package/packages/client/types/components/input/machine.d.ts +20 -0
  66. package/packages/client/types/components/layout.d.ts +44 -225
  67. package/packages/client/types/components/menu/contract.d.ts +14 -8
  68. package/packages/client/types/components/modal/contract.d.ts +12 -12
  69. package/packages/client/types/components/modal/index.d.ts +41 -75
  70. package/packages/client/types/components/modal/machine.d.ts +129 -0
  71. package/packages/client/types/components/modal/runtime-docs.d.ts +2 -0
  72. package/packages/client/types/components/overlay/contract.d.ts +3 -3
  73. package/packages/client/types/components/panels/contract.d.ts +39 -0
  74. package/packages/client/types/components/panels/index.d.ts +54 -0
  75. package/packages/client/types/components/panels/machine.d.ts +151 -0
  76. package/packages/client/types/components/panels/runtime-docs.d.ts +2 -0
  77. package/packages/client/types/components/radio/contract.d.ts +11 -11
  78. package/packages/client/types/components/radio/index.d.ts +19 -23
  79. package/packages/client/types/components/radio/machine.d.ts +40 -0
  80. package/packages/client/types/components/radio/runtime-docs.d.ts +2 -0
  81. package/packages/client/types/components/runtime-docs.d.ts +2 -0
  82. package/packages/client/types/components/runtime.d.ts +16 -19
  83. package/packages/client/types/components/scroll-area/contract.d.ts +4 -7
  84. package/packages/client/types/components/scroll-area/index.d.ts +23 -49
  85. package/packages/client/types/components/scroll-area/machine.d.ts +21 -0
  86. package/packages/client/types/components/scroll-area/runtime-docs.d.ts +2 -0
  87. package/packages/client/types/components/section/contract.d.ts +12 -13
  88. package/packages/client/types/components/select/contract.d.ts +19 -15
  89. package/packages/client/types/components/select/index.d.ts +42 -89
  90. package/packages/client/types/components/select/machine.d.ts +476 -0
  91. package/packages/client/types/components/select/runtime-docs.d.ts +2 -0
  92. package/packages/client/types/components/shared/controlled-open.d.ts +11 -0
  93. package/packages/client/types/components/sidebar/contract.d.ts +19 -12
  94. package/packages/client/types/components/sidebar/index.d.ts +51 -88
  95. package/packages/client/types/components/sidebar/machine.d.ts +100 -0
  96. package/packages/client/types/components/sidebar/runtime-docs.d.ts +2 -0
  97. package/packages/client/types/components/slider/contract.d.ts +3 -3
  98. package/packages/client/types/components/slider/index.d.ts +17 -21
  99. package/packages/client/types/components/slider/machine.d.ts +37 -0
  100. package/packages/client/types/components/slider/runtime-docs.d.ts +2 -0
  101. package/packages/client/types/components/stack/contract.d.ts +16 -17
  102. package/packages/client/types/components/surface-manifest.d.ts +9 -0
  103. package/packages/client/types/components/switch/contract.d.ts +11 -11
  104. package/packages/client/types/components/switch/index.d.ts +13 -18
  105. package/packages/client/types/components/switch/machine.d.ts +19 -0
  106. package/packages/client/types/components/switch/runtime-docs.d.ts +2 -0
  107. package/packages/client/types/components/table/contract.d.ts +18 -18
  108. package/packages/client/types/components/tabs/contract.d.ts +10 -5
  109. package/packages/client/types/components/tabs/index.d.ts +33 -51
  110. package/packages/client/types/components/tabs/machine.d.ts +84 -0
  111. package/packages/client/types/components/tabs/runtime-docs.d.ts +2 -0
  112. package/packages/client/types/components/text/contract.d.ts +1 -1
  113. package/packages/client/types/components/textarea/contract.d.ts +2 -2
  114. package/packages/client/types/components/toast/contract.d.ts +5 -4
  115. package/packages/client/types/components/toast/index.d.ts +38 -12
  116. package/packages/client/types/components/toast/machine.d.ts +115 -0
  117. package/packages/client/types/components/toast/runtime-docs.d.ts +2 -0
  118. package/packages/client/types/directives/index.d.ts +3 -1
  119. package/packages/client/types/directives/layout.d.ts +3 -0
  120. package/packages/client/types/directives/request.d.ts +1 -2
  121. package/packages/client/types/directives/transition.d.ts +3 -0
  122. package/packages/client/types/docs/transition-docs.d.ts +30 -0
  123. package/packages/client/types/index.d.ts +8 -40
  124. package/packages/client/types/motion/animate.d.ts +5 -44
  125. package/packages/client/types/motion/controller.d.ts +33 -0
  126. package/packages/client/types/motion/index.d.ts +43 -20
  127. package/packages/client/types/motion/owned.d.ts +5 -0
  128. package/packages/client/types/motion/plan.d.ts +46 -0
  129. package/packages/client/types/motion/recipe.d.ts +56 -0
  130. package/packages/client/types/motion/registry.d.ts +12 -0
  131. package/packages/client/types/motion/resize.d.ts +15 -0
  132. package/packages/client/types/motion/subject.d.ts +10 -0
  133. package/packages/client/types/motion/targets.d.ts +2 -5
  134. package/packages/client/types/motion/view.d.ts +7 -2
  135. package/packages/client/types/runtime/alpine-machine.d.ts +68 -0
  136. package/packages/client/types/runtime/anchored-popover.d.ts +10 -2
  137. package/packages/client/types/runtime/codecs.d.ts +16 -2
  138. package/packages/client/types/runtime/{resizable.d.ts → drag-and-drop/index.d.ts} +4 -2
  139. package/packages/client/types/runtime/engine/request.d.ts +2 -2
  140. package/packages/client/types/runtime/engine/stream.d.ts +11 -5
  141. package/packages/client/types/runtime/focus-scope.d.ts +7 -0
  142. package/packages/client/types/runtime/identity.d.ts +3 -0
  143. package/packages/client/types/runtime/index.d.ts +9 -75
  144. package/packages/client/types/runtime/merge-bindings.d.ts +1 -1
  145. package/packages/client/types/runtime/semantic-observer.d.ts +10 -0
  146. package/packages/client/types/runtime/state-machine/index.d.ts +4 -0
  147. package/packages/client/types/runtime/state-machine/machine.d.ts +83 -0
  148. package/packages/client/types/runtime/state-machine/props-change.d.ts +12 -0
  149. package/packages/client/types/runtime/transition-coordinator.d.ts +52 -0
  150. package/packages/client/types/runtime/ui.d.ts +15 -0
  151. package/packages/client/types/utils/index.d.ts +2 -1
  152. package/packages/client/types/utils/number.d.ts +2 -0
  153. package/packages/client/types/utils/object.d.ts +4 -1
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +9097 -2595
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +17363 -13332
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +8 -13
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +8 -13
  160. package/packages/client/types/bindings/disclosure.d.ts +0 -3
  161. package/packages/client/types/bindings/index.d.ts +0 -7
  162. package/packages/client/types/bindings/motion.d.ts +0 -3
  163. package/packages/client/types/bindings/state.d.ts +0 -3
  164. package/packages/client/types/bindings/types.d.ts +0 -33
  165. package/packages/client/types/components/combobox/contract.d.ts +0 -60
  166. package/packages/client/types/components/combobox/index.d.ts +0 -80
  167. package/packages/client/types/components/textarea/index.d.ts +0 -13
  168. package/packages/client/types/motion/presence.d.ts +0 -34
  169. package/packages/client/types/runtime/class-name.d.ts +0 -9
  170. package/packages/client/types/runtime/create.d.ts +0 -8
  171. package/packages/client/types/runtime/machine.d.ts +0 -55
  172. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cally-TZl4LpyH.js +0 -1134
  173. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cally-TZl4LpyH.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vireo-ai/trellis-ui",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "type": "module",
5
5
  "description": "Django-native UI toolkit for building realtime and interactive web apps.",
6
6
  "license": "MIT",
@@ -50,11 +50,12 @@
50
50
  "alpinejs": "^3.14.8",
51
51
  "cally": "^0.9.2",
52
52
  "clsx": "^2.1.1",
53
- "event-source-plus": "^0.1.15",
54
53
  "motion": "^12.42.0"
55
54
  },
56
55
  "devDependencies": {
57
56
  "@axe-core/playwright": "^4.11.3",
57
+ "@microsoft/api-extractor": "^7.58.9",
58
+ "@microsoft/api-extractor-model": "^7.33.8",
58
59
  "@playwright/test": "^1.61.0",
59
60
  "@tailwindcss/cli": "^4.0.0",
60
61
  "@tailwindcss/vite": "^4.3.2",
@@ -76,14 +77,17 @@
76
77
  "test:watch": "vitest",
77
78
  "prek": "uv run prek",
78
79
  "clean:types": "node -e \"require('node:fs').rmSync('packages/client/types', { recursive: true, force: true })\"",
79
- "build:sources": "pnpm run build:manifests",
80
+ "build:theme": "pnpm --filter @vireo-ai/trellis-theme-engine run build && node packages/theme-engine/scripts/generate-default-css.mjs",
81
+ "build:sources": "pnpm run build:theme && pnpm run build:manifests",
80
82
  "build:manifests": "vite build --config vite.manifests.config.ts && python3 scripts/generate_ui_events.py",
83
+ "build:runtime-docs": "pnpm run build:manifests && pnpm run build:types && pnpm run generate:runtime-docs",
84
+ "generate:runtime-docs": "vite build --config vite.runtime-docs.config.ts && api-extractor run --local && node scripts/generate_component_runtime_docs.mjs",
81
85
  "build:types": "pnpm run clean:types && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
82
86
  "build:js": "vite build && node scripts/copy_minified_js_alias.mjs && vite build --config vite.esm.config.ts && pnpm run build:types",
83
87
  "build:css": "pnpm run build:sources && tailwindcss -i ./packages/client/src/styles/static.css -o ./packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css && tailwindcss -i ./packages/client/src/styles/static.css -o ./packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css --minify",
84
88
  "build:package": "pnpm run build:css && pnpm run build:js",
85
89
  "build": "pnpm run build:package",
86
- "check": "pnpm run build:package && pnpm run typecheck && pnpm test",
90
+ "check": "pnpm run build:package && pnpm run generate:runtime-docs && pnpm run typecheck && pnpm test",
87
91
  "check:packages": "pnpm pack --dry-run && uv build --sdist --wheel",
88
92
  "check:release": "pnpm run check && pnpm run check:packages",
89
93
  "release": "node scripts/release.mjs",
@@ -1,30 +1 @@
1
- [data-ui-app] {
2
- grid-template-areas:
3
- "header"
4
- "main"
5
- "footer";
6
- }
7
-
8
- @media (min-width: 1024px) {
9
- [data-ui-app][data-sidebar="left"],
10
- [data-ui-app][data-sidebar="both"] {
11
- grid-template-areas:
12
- "sidebar header aside"
13
- "sidebar main aside"
14
- "sidebar footer aside";
15
- }
16
-
17
- [data-ui-app][data-sidebar="right"] {
18
- grid-template-areas:
19
- "header sidebar aside"
20
- "main sidebar aside"
21
- "footer sidebar aside";
22
- }
23
-
24
- [data-ui-app][data-sidebar="none"] {
25
- grid-template-areas:
26
- "header"
27
- "main"
28
- "footer";
29
- }
30
- }
1
+ /* App shell structure is generated from the theme composition axis. */
@@ -4,123 +4,6 @@
4
4
  overflow: hidden;
5
5
  }
6
6
 
7
- [data-ui-button]::before {
8
- background: var(--_ui-button-overlay, transparent);
9
- border-radius: inherit;
10
- content: "";
11
- inset: 0;
12
- opacity: 0;
13
- pointer-events: none;
14
- position: absolute;
15
- z-index: 0;
16
- }
17
-
18
- [data-ui-button]:hover:not(:disabled, [aria-disabled="true"], [data-ui-loading])::before {
19
- opacity: 1;
20
- }
21
-
22
- [data-ui-button]:active:not(:disabled, [aria-disabled="true"], [data-ui-loading])::before {
23
- background: var(--_ui-button-overlay-active, var(--_ui-button-overlay, transparent));
24
- opacity: 1;
25
- }
26
-
27
- [data-ui-button] > * {
28
- position: relative;
29
- z-index: 1;
30
- }
31
-
32
- [data-ui-button][data-variant="surface"],
33
- [data-ui-button][data-variant="outline"] {
34
- --_ui-button-overlay: var(--color-base-a2);
35
- --_ui-button-overlay-active: var(--color-base-a3);
36
- }
37
-
38
- [data-ui-button][data-variant="surface"]:hover,
39
- [data-ui-button][data-variant="surface"]:active {
40
- background-color: var(--ui-control-bg) !important;
41
- }
42
-
43
- [data-ui-button][data-variant="outline"]:hover,
44
- [data-ui-button][data-variant="outline"]:active {
45
- background-color: transparent !important;
46
- }
47
-
48
- [data-ui-button][data-variant="solid"] {
49
- --_ui-button-overlay: rgb(255 255 255 / 0.10);
50
- --_ui-button-overlay-active: rgb(255 255 255 / 0.16);
51
- --_ui-button-highlight: rgb(255 255 255 / 0.18);
52
- box-shadow:
53
- inset 0 1px var(--_ui-button-highlight),
54
- var(--shadow-1) !important;
55
- }
56
-
57
- [data-ui-button][data-variant="solid"][data-color="neutral"]:hover,
58
- [data-ui-button][data-variant="solid"][data-color="neutral"]:active {
59
- background-color: var(--color-base-12) !important;
60
- }
61
-
62
- [data-ui-button][data-variant="solid"][data-color="accent"]:hover,
63
- [data-ui-button][data-variant="solid"][data-color="accent"]:active {
64
- background-color: var(--color-accent-solid) !important;
65
- }
66
-
67
- [data-ui-button][data-variant="soft"][data-color="neutral"] {
68
- --_ui-button-overlay: var(--color-base-a3);
69
- --_ui-button-overlay-active: var(--color-base-a4);
70
- }
71
-
72
- [data-ui-button][data-variant="soft"][data-color="neutral"]:hover,
73
- [data-ui-button][data-variant="soft"][data-color="neutral"]:active {
74
- background-color: var(--color-base-a2) !important;
75
- }
76
-
77
- [data-ui-button][data-variant="soft"][data-color="accent"] {
78
- --_ui-button-overlay: var(--color-accent-a3);
79
- --_ui-button-overlay-active: var(--color-accent-a4);
80
- }
81
-
82
- [data-ui-button][data-variant="soft"][data-color="accent"]:hover,
83
- [data-ui-button][data-variant="soft"][data-color="accent"]:active {
84
- background-color: var(--color-accent-surface) !important;
85
- }
86
-
87
- [data-ui-button][data-variant="soft"][data-color="danger"] {
88
- --_ui-button-overlay: var(--color-danger-a3);
89
- --_ui-button-overlay-active: var(--color-danger-a4);
90
- }
91
-
92
- [data-ui-button][data-variant="soft"][data-color="danger"]:hover,
93
- [data-ui-button][data-variant="soft"][data-color="danger"]:active {
94
- background-color: var(--color-danger-surface) !important;
95
- }
96
-
97
- [data-ui-button][data-variant="ghost"] {
98
- --_ui-button-overlay: var(--color-base-a3);
99
- --_ui-button-overlay-active: var(--color-base-a4);
100
- }
101
-
102
- [data-ui-button][data-variant="ghost"]:hover,
103
- [data-ui-button][data-variant="ghost"]:active {
104
- background-color: transparent !important;
105
- }
106
-
107
- [data-ui-button][data-variant="ghost"][data-color="accent"],
108
- [data-ui-button][data-variant="outline"][data-color="accent"] {
109
- --_ui-button-overlay: var(--color-accent-a3);
110
- --_ui-button-overlay-active: var(--color-accent-a4);
111
- }
112
-
113
- [data-ui-button][data-variant="ghost"][data-color="danger"],
114
- [data-ui-button][data-variant="outline"][data-color="danger"] {
115
- --_ui-button-overlay: var(--color-danger-a3);
116
- --_ui-button-overlay-active: var(--color-danger-a4);
117
- }
118
-
119
- [data-ui-button][data-variant="solid"][data-color="danger"]:hover,
120
- [data-ui-button][data-variant="solid"][data-color="danger"]:active {
121
- background-color: var(--color-danger-solid) !important;
122
- }
123
-
124
7
  [data-ui-button][data-ui-loading] {
125
8
  cursor: wait;
126
9
  }
@@ -130,10 +13,6 @@
130
13
  pointer-events: none;
131
14
  }
132
15
 
133
- [data-ui-button]:is(:disabled, [aria-disabled="true"]):not([data-ui-loading]) {
134
- opacity: 0.5;
135
- }
136
-
137
16
  [data-ui-button] [data-ui-button-loading-indicator] {
138
17
  opacity: 0;
139
18
  }
@@ -159,7 +38,7 @@
159
38
  }
160
39
 
161
40
  [data-ui-button-group] > [data-ui-button]:not(:first-child) {
162
- margin-left: -1px;
41
+ margin-left: calc(var(--border-width-edge-control) * -1);
163
42
  }
164
43
 
165
44
  [data-ui-button-group] > [data-ui-button]:first-child:not(:last-child) {
@@ -1,10 +1,10 @@
1
1
  @layer components {
2
2
  [data-ui-date-picker] {
3
- --ui-date-picker-selected-bg: var(--color-base-12);
4
- --ui-date-picker-selected-bg-hover: var(--color-base-12);
5
- --ui-date-picker-selected-fg: var(--color-surface-inverse-fg);
6
- --ui-date-picker-range-bg: var(--color-base-a3);
7
- --ui-date-picker-range-bg-hover: var(--color-base-a4);
3
+ --ui-date-picker-selected-bg: var(--color-intent-neutral-solid);
4
+ --ui-date-picker-selected-bg-hover: var(--color-intent-neutral-solid-hover);
5
+ --ui-date-picker-selected-fg: var(--color-intent-neutral-solid-ink);
6
+ --ui-date-picker-range-bg: var(--color-intent-neutral-soft);
7
+ --ui-date-picker-range-bg-hover: var(--color-intent-neutral-soft-hover);
8
8
  --ui-date-picker-month-heading-size: 1.75rem;
9
9
  --ui-date-picker-month-min: 16.25rem;
10
10
  --ui-date-picker-week-gap: 0.125rem;
@@ -12,48 +12,17 @@
12
12
  }
13
13
 
14
14
  [data-ui-date-picker][data-color="accent"] {
15
- --ui-date-picker-selected-bg: var(--color-accent-solid);
16
- --ui-date-picker-selected-bg-hover: var(--color-accent-solid-hover);
17
- --ui-date-picker-selected-fg: var(--color-accent-contrast);
18
- --ui-date-picker-range-bg: var(--color-accent-surface);
19
- --ui-date-picker-range-bg-hover: var(--color-accent-surface-hover);
20
- }
21
-
22
- [data-ui-date-picker-native]:disabled {
23
- --ui-control-bg: var(--ui-control-bg-disabled);
24
- --ui-control-bg-hover: var(--ui-control-bg-disabled);
25
- --ui-control-bg-active: var(--ui-control-bg-disabled);
26
- --ui-control-fg: var(--ui-control-fg-disabled);
27
- --ui-control-placeholder: var(--ui-control-placeholder-disabled);
28
- --ui-control-shadow: var(--ui-control-shadow-disabled);
29
- }
30
-
31
- [data-ui-date-picker-native]:is(:hover, :active):not(:focus):not(:disabled):not([aria-invalid="true"]) {
32
- --ui-control-shadow: var(--ui-control-shadow-hover);
33
- }
34
-
35
- [data-ui-date-picker-native]:focus:not([aria-invalid="true"]) {
36
- --ui-control-shadow: var(--ui-control-shadow-focus);
37
- box-shadow: var(--shadow-control), var(--shadow-focus);
38
- }
39
-
40
- [data-ui-date-picker-native][aria-invalid="true"] {
41
- --ui-control-shadow: var(--ui-control-shadow-invalid);
42
- }
43
-
44
- [data-ui-date-picker-native][aria-invalid="true"]:is(:hover, :active):not(:focus):not(:disabled) {
45
- --ui-control-shadow: var(--ui-control-shadow-invalid-hover);
46
- }
47
-
48
- [data-ui-date-picker-native][aria-invalid="true"]:focus {
49
- --ui-control-shadow: var(--ui-control-shadow-invalid-focus);
50
- box-shadow: var(--shadow-danger-focus);
15
+ --ui-date-picker-selected-bg: var(--color-intent-accent-solid);
16
+ --ui-date-picker-selected-bg-hover: var(--color-intent-accent-solid-hover);
17
+ --ui-date-picker-selected-fg: var(--color-intent-accent-solid-ink);
18
+ --ui-date-picker-range-bg: var(--color-intent-accent-soft);
19
+ --ui-date-picker-range-bg-hover: var(--color-intent-accent-soft-hover);
51
20
  }
52
21
 
53
22
  [data-ui-date-picker-calendar] {
54
23
  --color-accent: var(--ui-date-picker-selected-bg);
55
24
  --color-text-on-accent: var(--ui-date-picker-selected-fg);
56
- color: var(--color-foreground);
25
+ color: var(--ui-surface-ink);
57
26
  inline-size: max-content;
58
27
  max-inline-size: none;
59
28
  }
@@ -94,8 +63,8 @@
94
63
  align-items: center;
95
64
  background-color: transparent;
96
65
  border: 0;
97
- border-radius: var(--radius-2);
98
- color: var(--color-foreground-muted);
66
+ border-radius: var(--radius-control-sm);
67
+ color: var(--ui-surface-ink-muted);
99
68
  display: inline-flex;
100
69
  block-size: 1.75rem;
101
70
  inline-size: 1.75rem;
@@ -109,7 +78,7 @@
109
78
 
110
79
  [data-ui-date-picker-today-day] {
111
80
  align-items: center;
112
- color: var(--color-foreground);
81
+ color: var(--ui-surface-ink);
113
82
  display: flex;
114
83
  font-size: 0.5625rem;
115
84
  font-weight: var(--font-weight-semibold);
@@ -124,7 +93,7 @@
124
93
  [data-ui-date-picker-today-icon] {
125
94
  block-size: 1.125rem;
126
95
  border: 1.5px solid currentColor;
127
- border-radius: var(--radius-2);
96
+ border-radius: var(--radius-control-sm);
128
97
  display: block;
129
98
  inline-size: 1.125rem;
130
99
  overflow: hidden;
@@ -150,12 +119,12 @@
150
119
  }
151
120
 
152
121
  [data-ui-date-picker-calendar-today]:hover {
153
- background-color: var(--color-base-a2);
154
- color: var(--color-foreground);
122
+ background-color: var(--color-interaction-hover);
123
+ color: var(--ui-surface-ink);
155
124
  }
156
125
 
157
126
  [data-ui-date-picker-calendar-today]:focus-visible {
158
- box-shadow: var(--shadow-focus);
127
+ box-shadow: 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
159
128
  outline: none;
160
129
  }
161
130
 
@@ -175,7 +144,7 @@
175
144
 
176
145
  [data-ui-date-picker-calendar]::part(heading) {
177
146
  align-items: center;
178
- color: var(--color-foreground);
147
+ color: var(--ui-surface-ink);
179
148
  display: flex;
180
149
  font-size: var(--text-sm);
181
150
  font-weight: var(--font-weight-semibold);
@@ -189,8 +158,8 @@
189
158
  align-items: center;
190
159
  background: transparent;
191
160
  border: 0;
192
- border-radius: var(--radius-2);
193
- color: var(--color-foreground-muted);
161
+ border-radius: var(--radius-control-sm);
162
+ color: var(--ui-surface-ink-muted);
194
163
  display: inline-flex;
195
164
  block-size: 1.75rem;
196
165
  inline-size: 1.75rem;
@@ -210,17 +179,17 @@
210
179
  }
211
180
 
212
181
  [data-ui-date-picker-calendar]::part(button):hover {
213
- background-color: var(--color-base-a2);
214
- color: var(--color-foreground);
182
+ background-color: var(--color-interaction-hover);
183
+ color: var(--ui-surface-ink);
215
184
  }
216
185
 
217
186
  [data-ui-date-picker-calendar]::part(button):focus-visible {
218
- box-shadow: var(--shadow-focus);
187
+ box-shadow: 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
219
188
  }
220
189
 
221
190
  [data-ui-date-picker-calendar]::part(disabled) {
222
191
  cursor: not-allowed;
223
- opacity: 0.4;
192
+ color: var(--color-interaction-disabled-ink);
224
193
  }
225
194
 
226
195
  [data-ui-date-picker-calendar]::part(months) {
@@ -233,7 +202,7 @@
233
202
  }
234
203
 
235
204
  [data-ui-date-picker-calendar] [data-ui-date-picker-calendar-icon] {
236
- color: var(--color-foreground-muted);
205
+ color: var(--ui-surface-ink-muted);
237
206
  display: block;
238
207
  pointer-events: none;
239
208
  }
@@ -271,7 +240,7 @@
271
240
  }
272
241
 
273
242
  [data-ui-date-picker-calendar] calendar-month::part(heading) {
274
- color: var(--color-foreground);
243
+ color: var(--ui-surface-ink);
275
244
  font-size: var(--text-sm);
276
245
  font-weight: var(--font-weight-medium);
277
246
  line-height: var(--text-sm--line-height);
@@ -297,7 +266,7 @@
297
266
 
298
267
  [data-ui-date-picker-calendar] calendar-month::part(weekday) {
299
268
  align-items: center;
300
- color: var(--color-foreground-subtle);
269
+ color: var(--ui-surface-ink-muted);
301
270
  display: inline-flex;
302
271
  font-size: var(--text-xs);
303
272
  font-weight: var(--font-weight-medium);
@@ -311,8 +280,8 @@
311
280
  align-items: center;
312
281
  background: transparent;
313
282
  border: 0;
314
- border-radius: var(--radius-3);
315
- color: var(--color-foreground);
283
+ border-radius: var(--radius-control-md);
284
+ color: var(--ui-surface-ink);
316
285
  display: inline-flex;
317
286
  block-size: 2rem;
318
287
  inline-size: 2rem;
@@ -325,20 +294,20 @@
325
294
  }
326
295
 
327
296
  [data-ui-date-picker-calendar] calendar-month::part(day) {
328
- border-radius: var(--radius-3);
297
+ border-radius: var(--radius-control-md);
329
298
  }
330
299
 
331
300
  [data-ui-date-picker-calendar] calendar-month::part(button):hover {
332
- background-color: var(--color-base-a2);
333
- color: var(--color-foreground);
301
+ background-color: var(--color-interaction-hover);
302
+ color: var(--ui-surface-ink);
334
303
  }
335
304
 
336
305
  [data-ui-date-picker-calendar] calendar-month::part(button):focus-visible {
337
- box-shadow: var(--shadow-focus);
306
+ box-shadow: 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
338
307
  }
339
308
 
340
309
  [data-ui-date-picker-calendar] calendar-month::part(outside) {
341
- color: var(--color-foreground-subtle);
310
+ color: var(--ui-surface-ink-muted);
342
311
  }
343
312
 
344
313
  [data-ui-date-picker-calendar] calendar-month::part(today) {
@@ -362,7 +331,7 @@
362
331
  [data-ui-date-picker-calendar] calendar-month::part(range-inner) {
363
332
  background-color: var(--ui-date-picker-range-bg);
364
333
  border-radius: 0;
365
- color: var(--color-foreground);
334
+ color: var(--ui-surface-ink);
366
335
  inline-size: 100%;
367
336
  margin-inline: 0;
368
337
  width: 100%;
@@ -370,7 +339,7 @@
370
339
 
371
340
  [data-ui-date-picker-calendar] calendar-month::part(range-inner):hover {
372
341
  background-color: var(--ui-date-picker-range-bg-hover);
373
- color: var(--color-foreground);
342
+ color: var(--ui-surface-ink);
374
343
  }
375
344
 
376
345
  [data-ui-date-picker-calendar] calendar-month::part(range-start) {
@@ -390,7 +359,7 @@
390
359
  }
391
360
 
392
361
  [data-ui-date-picker-calendar] calendar-month::part(range-start range-end) {
393
- border-radius: var(--radius-3);
362
+ border-radius: var(--radius-control-md);
394
363
  }
395
364
 
396
365
  [data-ui-date-picker-calendar] calendar-select-month::part(label),
@@ -401,12 +370,12 @@
401
370
  [data-ui-date-picker-calendar] calendar-select-month::part(select),
402
371
  [data-ui-date-picker-calendar] calendar-select-year::part(select) {
403
372
  appearance: auto;
404
- background-color: var(--color-base-a2);
405
- border: 1px solid transparent;
406
- border-radius: var(--radius-3);
407
- box-shadow: none;
373
+ background-color: var(--color-interaction-hover);
374
+ border: 0;
375
+ border-radius: var(--radius-control-md);
376
+ box-shadow: 0 0 0 var(--border-width-edge-control) var(--color-intent-neutral-edge);
408
377
  block-size: var(--ui-control-height-md);
409
- color: var(--color-foreground);
378
+ color: var(--ui-surface-ink);
410
379
  font-size: var(--text-sm);
411
380
  font-weight: var(--font-weight-medium);
412
381
  line-height: var(--text-sm--line-height);
@@ -418,13 +387,14 @@
418
387
 
419
388
  [data-ui-date-picker-calendar] calendar-select-month::part(select):hover,
420
389
  [data-ui-date-picker-calendar] calendar-select-year::part(select):hover {
421
- background-color: var(--color-base-a3);
422
- border-color: transparent;
390
+ background-color: var(--color-interaction-pressed);
423
391
  }
424
392
 
425
393
  [data-ui-date-picker-calendar] calendar-select-month::part(select):focus-visible,
426
394
  [data-ui-date-picker-calendar] calendar-select-year::part(select):focus-visible {
427
- box-shadow: var(--shadow-focus);
395
+ box-shadow:
396
+ 0 0 0 var(--border-width-edge-control) var(--color-intent-neutral-edge-strong),
397
+ 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
428
398
  }
429
399
 
430
400
  @media (max-width: 40rem) {
@@ -1,4 +1,14 @@
1
1
  @layer components {
2
+ [data-ui-field-label-badge] {
3
+ color: var(--ui-surface-ink-muted);
4
+ background-color: var(--color-interaction-hover);
5
+ box-shadow: 0 0 0 var(--border-width-edge-control) var(--color-intent-neutral-edge);
6
+ }
7
+
8
+ [data-ui-field-error] {
9
+ color: var(--color-intent-danger-text, var(--color-intent-neutral-text));
10
+ }
11
+
2
12
  [data-ui-field][data-layout="grid"] > [data-ui-field-label] {
3
13
  grid-column: 1;
4
14
  grid-row: 1;
@@ -1,28 +0,0 @@
1
- @layer components {
2
- [data-ui-file-upload-dropzone]:is(:hover, :active):not(:focus-within):not([data-dragging]):not([data-disabled]):not([data-invalid]) {
3
- --ui-control-shadow: var(--ui-control-shadow-hover);
4
- }
5
-
6
- [data-ui-file-upload-dropzone]:focus-within:not([data-invalid]) {
7
- --ui-control-shadow: var(--ui-control-shadow-focus);
8
- box-shadow: var(--shadow-control), var(--shadow-focus);
9
- }
10
-
11
- [data-ui-file-upload-dropzone][data-dragging]:not([data-invalid]) {
12
- --ui-control-shadow: var(--ui-control-shadow-focus);
13
- }
14
-
15
- [data-ui-file-upload-dropzone][data-invalid] {
16
- --ui-control-shadow: var(--ui-control-shadow-invalid);
17
- }
18
-
19
- [data-ui-file-upload-dropzone][data-invalid]:is(:hover, :active):not(:focus-within):not([data-dragging]):not([data-disabled]) {
20
- --ui-control-shadow: var(--ui-control-shadow-invalid-hover);
21
- }
22
-
23
- [data-ui-file-upload-dropzone][data-invalid]:focus-within:not([data-disabled]),
24
- [data-ui-file-upload-dropzone][data-invalid][data-dragging]:not([data-disabled]) {
25
- --ui-control-shadow: var(--ui-control-shadow-invalid-focus);
26
- box-shadow: var(--shadow-danger-focus);
27
- }
28
- }
@@ -0,0 +1,43 @@
1
+ @layer components {
2
+ [data-ui-panels][data-orientation="horizontal"] > [data-ui-panel][data-divider]:not(:last-child) {
3
+ border-inline-end: var(--border-width-edge-divider) solid var(--color-separator);
4
+ }
5
+
6
+ [data-ui-panels][data-orientation="vertical"] > [data-ui-panel][data-divider]:not(:last-child) {
7
+ border-block-end: var(--border-width-edge-divider) solid var(--color-separator);
8
+ }
9
+
10
+ [data-ui-panel-resize-handle][data-orientation="horizontal"][data-resize-edge="start"] {
11
+ inset-inline-start: 0;
12
+ transform: translateX(-50%);
13
+ border-inline-start-width: var(--border-width-edge-divider);
14
+ }
15
+
16
+ [data-ui-panel-resize-handle][data-orientation="horizontal"][data-resize-edge="end"] {
17
+ inset-inline-end: 0;
18
+ transform: translateX(50%);
19
+ border-inline-end-width: var(--border-width-edge-divider);
20
+ }
21
+
22
+ [data-ui-panel-resize-handle][data-orientation="vertical"][data-resize-edge="start"] {
23
+ inset-block-start: 0;
24
+ transform: translateY(-50%);
25
+ border-block-start-width: var(--border-width-edge-divider);
26
+ }
27
+
28
+ [data-ui-panel-resize-handle][data-orientation="vertical"][data-resize-edge="end"] {
29
+ inset-block-end: 0;
30
+ transform: translateY(50%);
31
+ border-block-end-width: var(--border-width-edge-divider);
32
+ }
33
+
34
+ @media (pointer: coarse) {
35
+ [data-ui-panel-resize-handle][data-orientation="horizontal"] {
36
+ width: var(--spacing-panel-resize-handle-coarse);
37
+ }
38
+
39
+ [data-ui-panel-resize-handle][data-orientation="vertical"] {
40
+ height: var(--spacing-panel-resize-handle-coarse);
41
+ }
42
+ }
43
+ }
@@ -1,14 +1,17 @@
1
1
  @layer components {
2
- [data-ui-radio]:has([data-ui-radio-input]:focus-visible) {
3
- box-shadow: var(--shadow-focus);
2
+ [data-ui-radio][data-variant="pills"]:has([data-ui-radio-input]:focus-visible),
3
+ [data-ui-radio][data-variant="cards"][data-indicator="false"]:has([data-ui-radio-input]:focus-visible) {
4
+ box-shadow: 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
5
+ }
6
+
7
+ [data-ui-radio][data-invalid][data-variant="pills"]:has([data-ui-radio-input]:focus-visible),
8
+ [data-ui-radio][data-invalid][data-variant="cards"][data-indicator="false"]:has([data-ui-radio-input]:focus-visible) {
9
+ box-shadow: 0 0 0 var(--color-intent-danger-focus-width) var(--color-intent-danger-focus);
4
10
  }
5
11
 
6
- [data-ui-radio-group][data-variant="cards"] > [data-ui-radio],
7
12
  [data-ui-radio][data-variant="cards"] {
8
13
  align-items: flex-start !important;
9
- background-color: var(--color-surface-panel);
10
- border-radius: var(--radius-4) !important;
11
- box-shadow: var(--shadow-border);
14
+ border-radius: var(--radius-surface-md) !important;
12
15
  display: flex !important;
13
16
  flex: 1 1 0;
14
17
  gap: var(--spacing-3);
@@ -16,13 +19,12 @@
16
19
  width: auto !important;
17
20
  }
18
21
 
19
- [data-ui-radio-group][data-variant="pills"] > [data-ui-radio],
20
22
  [data-ui-radio][data-variant="pills"] {
21
23
  align-items: center !important;
22
- background-color: color-mix(in srgb, currentColor 10%, transparent);
24
+ background-color: var(--color-intent-neutral-soft);
23
25
  border-radius: var(--radius-full) !important;
24
26
  box-shadow: none;
25
- color: var(--color-foreground-muted);
27
+ color: var(--ui-surface-ink-muted);
26
28
  display: inline-flex !important;
27
29
  flex: 0 0 auto;
28
30
  min-height: var(--ui-control-height-md);
@@ -30,28 +32,31 @@
30
32
  width: auto !important;
31
33
  }
32
34
 
33
- [data-ui-radio-group][data-variant="pills"] > [data-ui-radio][data-checked],
34
35
  [data-ui-radio][data-variant="pills"][data-checked] {
35
- background-color: var(--color-base-12);
36
- color: var(--color-base-1) !important;
37
- box-shadow: var(--shadow-1);
36
+ background-color: var(--color-intent-accent-solid);
37
+ color: var(--color-intent-accent-solid-ink) !important;
38
+ box-shadow: var(--shadow-elevation-1);
38
39
  }
39
40
 
40
- [data-ui-radio-group][data-variant="pills"] > [data-ui-radio][data-checked]:hover:not([data-disabled]),
41
41
  [data-ui-radio][data-variant="pills"][data-checked]:hover:not([data-disabled]) {
42
- background-color: var(--color-base-12);
43
- box-shadow: var(--shadow-1);
42
+ background-color: var(--color-intent-accent-solid-hover);
43
+ box-shadow: var(--shadow-elevation-1);
44
44
  }
45
45
 
46
- [data-ui-radio-group][data-variant="pills"] [data-ui-radio-indicator],
47
46
  [data-ui-radio][data-variant="pills"] [data-ui-radio-indicator] {
48
47
  display: none !important;
49
48
  }
50
49
 
51
- [data-ui-radio-group][data-variant="cards"] > [data-ui-radio][data-invalid],
52
- [data-ui-radio][data-variant="cards"][data-invalid] {
53
- background-color: var(--color-danger-surface);
54
- box-shadow: 0 0 0 1px var(--color-danger-border);
50
+ [data-ui-radio][data-variant="cards"][data-invalid],
51
+ [data-ui-radio][data-variant="pills"][data-invalid] {
52
+ background-color: var(--color-intent-danger-soft);
53
+ box-shadow: 0 0 0 var(--border-width-edge-control) var(--color-intent-danger-edge);
54
+ }
55
+
56
+ [data-ui-radio]:where([data-variant="cards"], [data-variant="pills"])[data-disabled] {
57
+ background-color: var(--color-interaction-disabled);
58
+ color: var(--color-interaction-disabled-ink) !important;
59
+ box-shadow: 0 0 0 var(--border-width-edge-control) var(--color-interaction-disabled-edge);
55
60
  }
56
61
 
57
62
  [data-ui-radio-group][data-indicator="false"] [data-ui-radio-indicator],
@@ -1,8 +1,4 @@
1
1
  @layer components {
2
- [data-ui-scroll-area][data-size="md"] {
3
- --ui-scrollbar-size: 0.5rem;
4
- }
5
-
6
2
  [data-ui-scroll-area-viewport] {
7
3
  max-height: inherit;
8
4
  max-width: inherit;