@vireo-ai/trellis-ui 0.1.50 → 0.1.52

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 (154) hide show
  1. package/package.json +6 -1
  2. package/packages/client/src/components/data-grid/styles.css +13 -10
  3. package/packages/client/src/components/import-flow/styles.css +20 -0
  4. package/packages/client/src/components/import-mapper/styles.css +8 -0
  5. package/packages/client/src/components/select/styles.css +19 -0
  6. package/packages/client/src/styles/components.css +2 -0
  7. package/packages/client/src/styles/generated-sources.css +1 -1
  8. package/packages/client/src/styles/theme-support.css +267 -0
  9. package/packages/client/src/styles/theme.css +1 -268
  10. package/packages/client/types/assets/full-runtime.generated.d.ts +1 -1
  11. package/packages/client/types/components/date-picker/contract.d.ts +15 -6
  12. package/packages/client/types/components/date-picker/machine.d.ts +4 -2
  13. package/packages/client/types/components/entry.generated.d.ts +2 -0
  14. package/packages/client/types/components/formset/contract.d.ts +10 -0
  15. package/packages/client/types/components/formset/entry.generated.d.ts +5 -0
  16. package/packages/client/types/components/formset/index.d.ts +41 -0
  17. package/packages/client/types/components/formset/machine.d.ts +22 -0
  18. package/packages/client/types/components/formset/runtime-docs.d.ts +2 -0
  19. package/packages/client/types/components/heading/contract.d.ts +4 -2
  20. package/packages/client/types/components/import-flow/contract.d.ts +13 -0
  21. package/packages/client/types/components/import-flow/index.d.ts +2 -0
  22. package/packages/client/types/components/import-mapper/entry.generated.d.ts +5 -0
  23. package/packages/client/types/components/import-mapper/index.d.ts +25 -0
  24. package/packages/client/types/components/runtime.d.ts +2 -0
  25. package/packages/client/types/components/select/contract.d.ts +1 -0
  26. package/packages/client/types/components/select/machine.d.ts +3 -0
  27. package/packages/client/types/components/text/contract.d.ts +4 -2
  28. package/packages/client/types/components/virtualizer/index.d.ts +4 -1
  29. package/packages/client/types/runtime/cursor-data-source.d.ts +19 -1
  30. package/packages/client/types/runtime/engine/stream.d.ts +1 -0
  31. package/packages/client/types/runtime/virtualizer-schema.d.ts +1 -0
  32. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +56 -12
  33. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
  34. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +393 -323
  35. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
  36. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
  37. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DQitxnHn.js +2 -0
  38. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-BeZZfCbD.js.map → capability-motion-DQitxnHn.js.map} +1 -1
  39. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Dzv1zWaL.js +3 -0
  40. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-D5jfePOE.js.map → capability-sortable-Dzv1zWaL.js.map} +1 -1
  41. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-DMbnlSdM.js +2 -0
  42. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-CGPV218r.js.map → core-DMbnlSdM.js.map} +1 -1
  43. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DvHNTjt1.js +2 -0
  44. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DvHNTjt1.js.map +1 -0
  45. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BGqM-PEq.js → entry.generated-2QEJDMe-.js} +2 -2
  46. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BGqM-PEq.js.map → entry.generated-2QEJDMe-.js.map} +1 -1
  47. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BsJJMR1g.js → entry.generated-BB7wWQfT.js} +2 -2
  48. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BsJJMR1g.js.map → entry.generated-BB7wWQfT.js.map} +1 -1
  49. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C07Tn0r-.js +2 -0
  50. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C07Tn0r-.js.map +1 -0
  51. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-qYKh9MwP.js → entry.generated-C2gP0OfV.js} +2 -2
  52. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-qYKh9MwP.js.map → entry.generated-C2gP0OfV.js.map} +1 -1
  53. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CRj4-Ef1.js +2 -0
  54. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CRj4-Ef1.js.map +1 -0
  55. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ByvN55ox.js → entry.generated-CirM6w9Q.js} +2 -2
  56. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ByvN55ox.js.map → entry.generated-CirM6w9Q.js.map} +1 -1
  57. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVk-PDBl.js → entry.generated-CvcufWkj.js} +2 -2
  58. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVk-PDBl.js.map → entry.generated-CvcufWkj.js.map} +1 -1
  59. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D3w3QaSO.js +2 -0
  60. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D3w3QaSO.js.map +1 -0
  61. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DCLIvEtJ.js +2 -0
  62. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DCLIvEtJ.js.map +1 -0
  63. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B3F9jaO_.js → entry.generated-DVQaci6w.js} +2 -2
  64. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B3F9jaO_.js.map → entry.generated-DVQaci6w.js.map} +1 -1
  65. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D_FlEfdN.js +2 -0
  66. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D_FlEfdN.js.map +1 -0
  67. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ZTRbQ10A.js → entry.generated-DvvVMsQo.js} +2 -2
  68. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ZTRbQ10A.js.map → entry.generated-DvvVMsQo.js.map} +1 -1
  69. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-QspMEPHx.js → entry.generated-QspMEPHx.js} +1 -1
  70. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-QspMEPHx.js.map +1 -0
  71. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Rx9NofFi.js +2 -0
  72. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Rx9NofFi.js.map +1 -0
  73. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-gxr2-89M.js → entry.generated-gxr2-89M.js} +1 -1
  74. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-gxr2-89M.js.map +1 -0
  75. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oz1RCU1b.js +2 -0
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oz1RCU1b.js.map +1 -0
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-yg-lGtcT.js → entry.generated-payXlXhL.js} +2 -2
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-yg-lGtcT.js.map → entry.generated-payXlXhL.js.map} +1 -1
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cwv0HSDM.js → entry.generated-wEt8LYAv.js} +2 -2
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cwv0HSDM.js.map → entry.generated-wEt8LYAv.js.map} +1 -1
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CpoK52gE.js +2 -0
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CpoK52gE.js.map +1 -0
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-D1X0sDop.js +2 -0
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-D1X0sDop.js.map +1 -0
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-DXDHgDsN.js +2 -0
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-DXDHgDsN.js.map +1 -0
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-_UPpJlWp.js +2 -0
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-_UPpJlWp.js.map +1 -0
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{form-control-BkVb2Qed.js → form-control-DjbUb602.js} +2 -2
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-DjbUb602.js.map +1 -0
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/morph-Cq3V_23_.js +2 -0
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/morph-Cq3V_23_.js.map +1 -0
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-C3XtSJ4O.js → motion-BDQdr83d.js} +2 -2
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-C3XtSJ4O.js.map → motion-BDQdr83d.js.map} +1 -1
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-SdoiMWig.js +4 -0
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-SdoiMWig.js.map +1 -0
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +1 -1
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +1 -0
  104. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +1 -0
  105. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
  106. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +1 -1
  107. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
  108. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
  109. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
  110. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
  111. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +1 -1
  112. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
  113. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
  114. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
  115. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
  116. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +1 -1
  117. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
  118. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
  119. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
  120. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +1 -1
  121. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
  122. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
  123. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  124. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +168 -126
  125. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +8 -8
  126. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +8 -8
  127. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-BeZZfCbD.js +0 -2
  128. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-D5jfePOE.js +0 -3
  129. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-CGPV218r.js +0 -2
  130. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-6_ClPYhC.js +0 -2
  131. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-6_ClPYhC.js.map +0 -1
  132. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B6Gjj1Mu.js +0 -2
  133. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B6Gjj1Mu.js.map +0 -1
  134. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-By-7ucpB.js +0 -2
  135. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-By-7ucpB.js.map +0 -1
  136. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CvHs5hfG.js +0 -2
  137. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CvHs5hfG.js.map +0 -1
  138. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DFkEr0wI.js +0 -2
  139. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DFkEr0wI.js.map +0 -1
  140. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-N4M4QtmC.js +0 -2
  141. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-N4M4QtmC.js.map +0 -1
  142. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Wl7imdNP.js +0 -2
  143. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Wl7imdNP.js.map +0 -1
  144. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-qNEmG1Ht.js +0 -2
  145. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-qNEmG1Ht.js.map +0 -1
  146. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js +0 -2
  147. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js.map +0 -1
  148. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-QspMEPHx.js.map +0 -1
  149. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-gxr2-89M.js.map +0 -1
  150. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-BkVb2Qed.js.map +0 -1
  151. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-BHBokFNi.js +0 -4
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-BHBokFNi.js.map +0 -1
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.js +0 -2
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.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.50",
3
+ "version": "0.1.52",
4
4
  "type": "module",
5
5
  "description": "Django-native UI toolkit for building realtime and interactive web apps.",
6
6
  "license": "MIT",
@@ -64,6 +64,9 @@
64
64
  "./cdn.js": "./packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js",
65
65
  "./cdn.min.js": "./packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js",
66
66
  "./theme.css": "./packages/client/src/styles/theme.css",
67
+ "./theme-support.css": "./packages/client/src/styles/theme-support.css",
68
+ "./components.css": "./packages/client/src/styles/components.css",
69
+ "./sources.css": "./packages/client/src/styles/generated-sources.css",
67
70
  "./styles.css": "./packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css",
68
71
  "./styles.min.css": "./packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css",
69
72
  "./cdn.css": "./packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css",
@@ -109,9 +112,11 @@
109
112
  "test:browser": "playwright test",
110
113
  "test": "pnpm run test:unit && pnpm run test:python && pnpm run test:browser",
111
114
  "test:watch": "pnpm run generate:component-entries && vitest",
115
+ "trellis": "node packages/theme-engine/dist/cli.js",
112
116
  "prek": "uv run prek",
113
117
  "clean:types": "node -e \"require('node:fs').rmSync('packages/client/types', { recursive: true, force: true })\"",
114
118
  "build:theme": "pnpm --filter @vireo-ai/trellis-theme-engine run build && node packages/theme-engine/scripts/generate-default-css.mjs && node packages/theme-engine/scripts/generate-theme-knobs.mjs",
119
+ "build:docs-theme": "pnpm trellis theme build docs/trellis/themes/default/theme.json",
115
120
  "build:sources": "pnpm run build:theme && pnpm run build:manifests",
116
121
  "build:manifests": "vite build --config vite.manifests.config.ts && python3 scripts/generate_ui_events.py",
117
122
  "build:runtime-docs": "pnpm run build:manifests && pnpm run build:types && pnpm run generate:runtime-docs",
@@ -46,11 +46,6 @@
46
46
  opacity: 1;
47
47
  }
48
48
 
49
- [data-ui-data-grid-column-header][data-pinned],
50
- [data-ui-data-grid-cell][data-pinned] {
51
- background: var(--ui-surface-color);
52
- }
53
-
54
49
  [data-ui-data-grid-cell][data-align="start"] {
55
50
  justify-content: flex-start;
56
51
  text-align: left;
@@ -66,19 +61,27 @@
66
61
  text-align: right;
67
62
  }
68
63
 
64
+ [data-ui-data-grid][data-border="row"] {
65
+ --ui-data-grid-separator: var(--color-separator);
66
+ }
67
+
68
+ [data-ui-data-grid][data-border="grid"] {
69
+ --ui-data-grid-separator: var(--ui-surface-edge-strong);
70
+ }
71
+
69
72
  [data-ui-data-grid][data-border="row"] [data-ui-data-grid-header],
70
73
  [data-ui-data-grid][data-border="grid"] [data-ui-data-grid-header] {
71
- box-shadow: inset 0 -1px var(--color-separator);
74
+ border-block-end: var(--border-width-edge-separator) solid var(--ui-data-grid-separator);
72
75
  }
73
76
 
74
- [data-ui-data-grid][data-border="row"] [data-ui-data-grid-cell],
75
- [data-ui-data-grid][data-border="grid"] [data-ui-data-grid-cell] {
76
- border-bottom: 1px solid var(--color-separator);
77
+ [data-ui-data-grid][data-border="row"] [data-ui-data-grid-row],
78
+ [data-ui-data-grid][data-border="grid"] [data-ui-data-grid-row] {
79
+ border-block-end: var(--border-width-edge-separator) solid var(--ui-data-grid-separator);
77
80
  }
78
81
 
79
82
  [data-ui-data-grid][data-border="grid"] [data-ui-data-grid-column-header]:not(:first-child),
80
83
  [data-ui-data-grid][data-border="grid"] [data-ui-data-grid-cell]:not(:first-child) {
81
- border-inline-start: 1px solid var(--color-separator);
84
+ border-inline-start: var(--border-width-edge-separator) solid var(--ui-data-grid-separator);
82
85
  }
83
86
 
84
87
  [data-ui-data-grid][data-empty] [data-ui-data-grid-scroll-area] {
@@ -0,0 +1,20 @@
1
+ @layer components {
2
+ /*
3
+ * Review rows live inside the virtualizer's div-based item contract, so they
4
+ * cannot use a semantic ui.table body. Keep that one piece of import-owned
5
+ * geometry here; Trellis components continue to own spacing and treatment.
6
+ */
7
+ [data-ui-import-review-columns],
8
+ [data-ui-import-review-row] {
9
+ grid-template-columns: minmax(0, 1fr) 2.5rem minmax(14rem, 1fr);
10
+ }
11
+
12
+ [data-ui-import-review-row] {
13
+ min-height: 4rem;
14
+ }
15
+
16
+ [data-ui-import-mapping-preview-frame] {
17
+ --ui-state-shadow-layers:
18
+ 0 0 0 var(--border-width-edge-perimeter) var(--ui-surface-edge-strong);
19
+ }
20
+ }
@@ -0,0 +1,8 @@
1
+ @layer components {
2
+ [data-ui-import-mapper] {
3
+ width: 100%;
4
+ height: 100%;
5
+ min-width: 0;
6
+ min-height: 0;
7
+ }
8
+ }
@@ -4,9 +4,28 @@
4
4
  }
5
5
 
6
6
  [data-ui-select-virtualizer] > [data-ui-scroll-area] {
7
+ width: 100%;
8
+ min-width: 0;
9
+ max-width: 100%;
7
10
  max-height: var(--ui-select-listbox-max-height, var(--spacing-select-listbox));
8
11
  }
9
12
 
13
+ [data-ui-select-options],
14
+ [data-ui-select-virtualizer],
15
+ [data-ui-select-virtualizer] [data-ui-scroll-area-content],
16
+ [data-ui-select-virtualizer] [data-ui-virtualizer-spacer],
17
+ [data-ui-select-virtualizer] [data-ui-virtualizer-block] {
18
+ width: 100%;
19
+ min-width: 0;
20
+ max-width: 100%;
21
+ }
22
+
23
+ [data-ui-select-virtualizer] [data-ui-virtualizer-block] {
24
+ padding-inline-end: calc(
25
+ var(--spacing-popover-padding) + var(--ui-scrollbar-size) + var(--ui-scrollbar-inset)
26
+ );
27
+ }
28
+
10
29
  [data-ui-select-virtualizer] > [data-ui-scroll-area] > [data-ui-scroll-area-viewport] > [data-ui-scroll-area-content] {
11
30
  padding-block: var(--spacing-popover-padding);
12
31
  }
@@ -19,6 +19,8 @@
19
19
  @import "../components/input/styles.css";
20
20
  @import "../components/sidebar/styles.css";
21
21
  @import "../components/panels/styles.css";
22
+ @import "../components/import-flow/styles.css";
23
+ @import "../components/import-mapper/styles.css";
22
24
  @import "../components/tooltip/styles.css";
23
25
  @import "../components/keybinding/styles.css";
24
26
  @import "../directives/sortable.css";
@@ -1,3 +1,3 @@
1
1
  /* Generated by `pnpm run build:manifests`. Do not edit. */
2
2
  /* Tailwind source hints derived from Trellis defineStyles. */
3
- @source inline("!items-center !mt-0 !pl-1.5 -mb-1 -ml-1.5 -ml-2 -ml-2.5 -ml-3 -ml-4 -mr-1 -mr-1.5 -mr-2 -mr-2.5 -mr-3 -mr-4 -mt-1 -mt-3 -mx-popover -translate-x-1/2 -translate-y-1/2 [&::-webkit-details-marker]:hidden [&:has(+[data-ui-text])]:mb-2 [&:has([data-ui-select-option-label]>*+*)]:h-auto [&:has([data-ui-select-option-label]>*+*)]:items-start [&:has([data-ui-select-option-label]>*+*)]:py-2 [&:not([data-responsive-mode=desktop])]:border-0 [&:not([data-responsive-mode=desktop])]:h-dvh [&:not([data-responsive-mode=desktop])]:inset-0 [&:not([data-responsive-mode=desktop])]:max-w-none [&:not([data-responsive-mode=desktop])]:rounded-none [&:not([data-responsive-mode=desktop])]:w-full [&>*]:bg-interaction-selected [&>[data-ui-modal-body]]:-mx-1 [&>[data-ui-modal-body]]:content-start [&>[data-ui-modal-body]]:min-h-0 [&>[data-ui-modal-body]]:overflow-x-hidden [&>[data-ui-modal-body]]:overflow-y-auto [&>[data-ui-modal-body]]:px-1 [&>[data-ui-modal-footer]]:self-end [&>[data-ui-separator]]:-mx-sidebar-content-padding-inline [&>[data-ui-separator]]:w-auto [&_[data-ui-checkbox-indicator]]:hidden [&_[data-ui-table-cell]]:min-w-0 [&_[data-ui-table-cell]]:px-2 [&_[data-ui-table-cell]]:px-3 [&_[data-ui-table-cell]]:px-4 [&_[data-ui-table-cell]]:py-1.5 [&_[data-ui-table-cell]]:py-2 [&_[data-ui-table-cell]]:py-3 [&_[data-ui-table-cell]]:text-surface-ink [&_[data-ui-table-cell]]:whitespace-nowrap [&_[data-ui-table-column]]:font-medium [&_[data-ui-table-column]]:min-w-0 [&_[data-ui-table-column]]:px-2 [&_[data-ui-table-column]]:px-3 [&_[data-ui-table-column]]:px-4 [&_[data-ui-table-column]]:py-1.5 [&_[data-ui-table-column]]:py-2 [&_[data-ui-table-column]]:py-3 [&_[data-ui-table-column]]:text-xs [&_[data-ui-table-column]]:whitespace-nowrap [&_[data-ui-table-header]]:bg-surface [&_[data-ui-table-header]]:sticky [&_[data-ui-table-header]]:top-0 [&_[data-ui-table-header]]:z-10 [&_[data-ui-table-row-header]]:font-medium [&_[data-ui-table-row-header]]:min-w-0 [&_[data-ui-table-row-header]]:px-2 [&_[data-ui-table-row-header]]:px-3 [&_[data-ui-table-row-header]]:px-4 [&_[data-ui-table-row-header]]:py-1.5 [&_[data-ui-table-row-header]]:py-2 [&_[data-ui-table-row-header]]:py-3 [&_[data-ui-table-row-header]]:text-surface-ink [&_[data-ui-table-row-header]]:whitespace-nowrap [&_[data-ui-table-row]>*+*]:border-l-edge-separator [&_[data-ui-table-row]>*:first-child]:ps-0 [&_[data-ui-table-row]>*:last-child]:pe-0 [&_[data-ui-table-row]>*]:border-separator [&_[data-ui-table-row][data-disabled]]:opacity-disabled [&_tbody_[data-ui-table-row]:not(:last-child)>*]:border-b-edge-separator [&_tbody_[data-ui-table-row]:not([data-disabled]):not([data-selected]):not([data-current]):hover>*]:bg-interaction-hover [&_tbody_[data-ui-table-row]:nth-child(even)>*]:bg-interaction-hover [&_tfoot]:text-surface-ink-muted [&_tfoot_[data-ui-table-row]>*]:border-t-edge-separator [&_thead]:text-surface-ink-muted [&_thead_[data-ui-table-row]>*]:border-b-edge-separator [--ui-interaction-rest-edge:var(--ui-surface-edge)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-0)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-1)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-2)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-3)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-4)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-5)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-6)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-7)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-8)] [--ui-sidebar-drawer-elevation:var(--ui-matched-elevation)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-0)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-1)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-2)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-3)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-4)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-5)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-6)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-7)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-8)] [--ui-sidebar-resting-elevation:var(--ui-matched-elevation)] [[data-ui-text]+&]:mt-2 [font-weight:var(--font-weight-badge-lg)] [font-weight:var(--font-weight-badge-md)] [font-weight:var(--font-weight-badge-sm)] [font-weight:var(--font-weight-badge-xlg)] [font-weight:var(--font-weight-badge-xs)] [font-weight:var(--font-weight-control-lg)] [font-weight:var(--font-weight-control-md)] [font-weight:var(--font-weight-control-sm)] [font-weight:var(--font-weight-control-xlg)] [font-weight:var(--font-weight-control-xs)] [font-weight:var(--font-weight-description)] [font-weight:var(--font-weight-heading)] [font-weight:var(--font-weight-label)] [font-weight:var(--font-weight-menu-item)] [font-weight:var(--font-weight-metadata)] [font-weight:var(--font-weight-normal)] [grid-area:aside] [grid-area:footer] [grid-area:header] [grid-area:main] [grid-area:sidebar] [print-color-adjust:exact] absolute active:bg-interaction-pressed align-baseline align-bottom align-middle align-top appearance-none auto-cols-max auto-rows-min backdrop:bg-transparent basis-0 basis-full bg-current bg-interaction-hover bg-scrim bg-scrollbar-thumb bg-separator bg-separator-muted bg-surface bg-transparent block border border-0 border-b-edge-divider border-b-edge-separator border-l-edge-divider border-r-edge-divider border-separate border-separator border-spacing-0 border-t-edge-divider border-transparent bottom-0 bottom-4 bottom-scrollbar-inset caption-bottom caption-top col-start-1 col-start-2 contain-strict content-between content-center content-end content-start content-stretch contents cursor-col-resize cursor-default cursor-row-resize dark:block dark:hidden dark:inline data-[drawer-state=open]:bg-surface data-[mobile-state=closed]:-translate-x-full data-[mobile-state=closed]:translate-x-full data-[mobile-state=open]:translate-x-0 data-[placement=side][data-side=left]:border-r-edge-divider data-[placement=side][data-side=right]:border-l-edge-divider data-[placement=top]:border-b-edge-divider data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:items-center data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]>[data-ui-scroll-area]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:flex-1 data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:items-center data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-item]]:w-auto data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:items-center data-[placement=top]:data-[responsive-mode=desktop]:flex-row data-[placement=top]:data-[responsive-mode=desktop]:h-[var(--ui-sidebar-height,auto)] data-[placement=top]:data-[responsive-mode=desktop]:inset-auto data-[placement=top]:data-[responsive-mode=desktop]:max-w-none data-[placement=top]:data-[responsive-mode=desktop]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:relative data-[placement=top]:data-[responsive-mode=desktop]:translate-x-0 data-[placement=top]:data-[responsive-mode=desktop]:w-full data-[placement=top]:data-[responsive-mode=desktop]:z-auto data-[responsive-mode=desktop]:data-[desktop-state=expanded]:inset-y-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:left-auto data-[responsive-mode=desktop]:data-[desktop-state=expanded]:right-auto data-[responsive-mode=desktop]:data-[desktop-state=expanded]:rounded-none data-[responsive-mode=desktop]:data-[desktop-state=expanded]:w-full data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=closed]:data-[sidebar-exiting=false]:hidden data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:fixed data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:h-auto data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:z-dialog data-[responsive-mode=desktop]:data-[mobile-state=closed]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=open]:translate-x-0 data-[responsive-mode=desktop]:data-[sticky=False]:h-auto data-[responsive-mode=desktop]:data-[sticky=False]:relative data-[responsive-mode=desktop]:data-[sticky=false]:h-auto data-[responsive-mode=desktop]:data-[sticky=false]:relative data-[responsive-mode=desktop]:h-auto data-[responsive-mode=desktop]:h-screen data-[responsive-mode=desktop]:relative data-[responsive-mode=desktop]:sticky data-[responsive-mode=desktop]:translate-x-0 data-[responsive-mode=desktop]:w-[var(--ui-sidebar-width,var(--spacing-sidebar-width))] data-[responsive-mode=desktop]:z-auto data-[state=closed]:opacity-0 data-[state=closed]:pointer-events-none data-[state=hidden]:hidden data-[state=visible]:block data-checked:opacity-100 data-checked:translate-x-switch-travel-lg data-checked:translate-x-switch-travel-md data-checked:translate-x-switch-travel-sm data-checked:translate-x-switch-travel-xlg data-checked:translate-x-switch-travel-xs data-current:border-transparent data-current:shadow-none data-disabled:hidden data-disabled:opacity-50 data-disabled:opacity-60 data-disabled:pointer-events-none data-dragging:bg-scrollbar-thumb-hover data-indeterminate:opacity-100 data-invalid:has-[:focus-visible]:ui-focus-ring-danger data-invalid:hover:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge-hover)] data-invalid:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge)] data-resizing:bg-intent-neutral-edge-hover data-resizing:border-intent-neutral-edge-strong data-selected:bg-interaction-selected data-selected:opacity-100 data-visible:opacity-100 data-visible:pointer-events-auto file:bg-transparent file:border-0 file:font-normal file:h-full file:mr-3 file:text-inherit file:text-sm fill-current fixed flex flex-1 flex-col flex-col-reverse flex-none flex-nowrap flex-row flex-row-reverse flex-wrap flex-wrap-reverse focus-visible:bg-intent-neutral-edge-hover focus-visible:ring-2 focus-visible:ring-focus focus-visible:ui-focus-ring focus-visible:ui-focus-ring-inset font-badge font-body font-bold font-control font-description font-heading font-label font-medium font-menu-item font-metadata font-normal font-sans font-semibold gap-0 gap-0.5 gap-1 gap-1.5 gap-10 gap-10.5 gap-11 gap-11.5 gap-12 gap-2 gap-2.5 gap-3 gap-3.5 gap-4 gap-4.5 gap-5 gap-5.5 gap-6 gap-6.5 gap-7 gap-7.5 gap-8 gap-8.5 gap-9 gap-9.5 gap-app-region-gap gap-control-gap gap-sidebar-content-gap gap-sidebar-header-gap gap-x-0.5 gap-x-1 gap-x-1.5 gap-x-10 gap-x-10.5 gap-x-11 gap-x-11.5 gap-x-12 gap-x-2 gap-x-2.5 gap-x-3 gap-x-3.5 gap-x-4 gap-x-4.5 gap-x-5 gap-x-5.5 gap-x-6 gap-x-6.5 gap-x-7 gap-x-7.5 gap-x-8 gap-x-8.5 gap-x-9 gap-x-9.5 gap-y-0.5 gap-y-1 gap-y-1.5 gap-y-10 gap-y-10.5 gap-y-11 gap-y-11.5 gap-y-12 gap-y-2 gap-y-2.5 gap-y-3 gap-y-3.5 gap-y-4 gap-y-4.5 gap-y-5 gap-y-5.5 gap-y-6 gap-y-6.5 gap-y-7 gap-y-7.5 gap-y-8 gap-y-8.5 gap-y-9 gap-y-9.5 grid grid-cols-[auto_minmax(0,1fr)] grid-cols-[auto_minmax(0,1fr)_auto] grid-cols-[minmax(0,1fr)] grid-cols-[minmax(0,1fr)_auto] grid-flow-col grid-flow-col-dense grid-flow-dense grid-flow-row grid-flow-row-dense grid-rows-1 grid-rows-2 grid-rows-3 grid-rows-4 grid-rows-5 grid-rows-6 grid-rows-[auto_auto_minmax(0,1fr)_auto] grid-rows-[auto_minmax(0,1fr)_auto] group-data-[placement=top]/sidebar:border-b-edge-divider group-data-[placement=top]/sidebar:border-l-0 group-data-[placement=top]/sidebar:border-r-0 group-data-[placement=top]/sidebar:bottom-0 group-data-[placement=top]/sidebar:cursor-row-resize group-data-[placement=top]/sidebar:h-3 group-data-[placement=top]/sidebar:inset-x-0 group-data-[placement=top]/sidebar:top-auto group-data-[placement=top]/sidebar:w-auto group-data-[responsive-mode=desktop]/sidebar:block group-open/sidebar-group:rotate-90 group/sidebar-item group/sidebar-item-row group/tabs-tab group/toast h-1.5 h-4.5 h-40 h-5 h-[var(--border-width-edge-separator)] h-auto h-control-lg h-control-md h-control-sm h-control-xlg h-control-xs h-dvh h-full h-menu-item h-panel-resize-handle h-px h-scrollbar h-slider-track-lg h-slider-track-md h-slider-track-sm h-slider-track-xlg h-slider-track-xs h-switch-track-height-lg h-switch-track-height-md h-switch-track-height-sm h-switch-track-height-xlg h-switch-track-height-xs has-[:focus-visible]:ui-focus-ring hidden hover:bg-intent-neutral-edge-hover hover:bg-interaction-hover hover:bg-scrollbar-thumb-hover hover:border-intent-neutral-edge-hover hover:text-surface-ink inline-block inline-flex inline-grid inset-0 inset-x-0 inset-y-0 inset-y-2 isolate items-baseline items-center items-end items-start items-stretch justify-between justify-center justify-end justify-items-baseline justify-items-center justify-items-end justify-items-start justify-items-stretch justify-self-end justify-start last:border-b-0 leading-5 leading-none left-0 left-1/2 left-2 left-4 left-full left-scrollbar-inset list-none m-0 m-0.5 m-1 m-1.5 m-10 m-10.5 m-11 m-11.5 m-12 m-2 m-2.5 m-3 m-3.5 m-4 m-4.5 m-5 m-5.5 m-6 m-6.5 m-7 m-7.5 m-8 m-8.5 m-9 m-9.5 max-h-full max-h-lg max-h-md max-h-none max-h-prose max-h-sm max-h-xl max-h-xs max-w-2xl max-w-3xl max-w-4xl max-w-56 max-w-5xl max-w-64 max-w-6xl max-w-72 max-w-7xl max-w-[calc(100vw-2rem)] max-w-full max-w-lg max-w-md max-w-modal-lg max-w-modal-md max-w-modal-sm max-w-modal-xl max-w-none max-w-prose max-w-sm max-w-xl max-w-xs md:auto-cols-fr md:gap-x-4 md:grid-cols-[minmax(10rem,14rem)_minmax(0,1fr)] md:grid-flow-col md:items-start min-h-0 min-h-control-lg min-h-control-md min-h-control-multiline-lg min-h-control-multiline-md min-h-control-multiline-sm min-h-control-multiline-xlg min-h-control-multiline-xs min-h-control-sm min-h-control-xlg min-h-control-xs min-h-dvh min-w-0 min-w-16 min-w-28 min-w-4.5 min-w-48 min-w-72 min-w-control-lg min-w-full min-w-max ml-0 ml-1 ml-2 ml-auto mr-0 mr-auto mt-0.5 mx-0.5 mx-1 mx-1.5 mx-10 mx-10.5 mx-11 mx-11.5 mx-12 mx-2 mx-2.5 mx-3 mx-3.5 mx-4 mx-4.5 mx-5 mx-5.5 mx-6 mx-6.5 mx-7 mx-7.5 mx-8 mx-8.5 mx-9 mx-9.5 mx-auto my-0.5 my-1 my-1.5 my-10 my-10.5 my-11 my-11.5 my-12 my-2 my-2.5 my-3 my-3.5 my-4 my-4.5 my-5 my-5.5 my-6 my-6.5 my-7 my-7.5 my-8 my-8.5 my-9 my-9.5 my-popover no-underline object-contain object-cover object-fill object-none object-scale-down opacity-0 opacity-25 opacity-70 opacity-75 order-10 outline-none overflow-auto overflow-hidden overflow-visible overflow-x-auto overflow-x-hidden overflow-y-auto overflow-y-hidden p-0 p-0.5 p-1 p-1.5 p-10 p-10.5 p-11 p-11.5 p-12 p-2 p-2.5 p-3 p-3.5 p-4 p-4.5 p-5 p-5.5 p-6 p-6.5 p-7 p-7.5 p-8 p-8.5 p-9 p-9.5 p-popover-padding p-switch-inset pb-2 pb-3 pe-10 peer place-items-center pointer-events-auto pointer-events-none pr-2 pr-8 pr-9 pt-1 pt-2 pt-4 px-0 px-0.5 px-1 px-1.5 px-10 px-10.5 px-11 px-11.5 px-12 px-2 px-2.5 px-3 px-3.5 px-4 px-4.5 px-5 px-5.5 px-6 px-6.5 px-7 px-7.5 px-8 px-8.5 px-9 px-9.5 px-app-region-padding-inline px-badge-padding-lg px-badge-padding-md px-badge-padding-sm px-badge-padding-xlg px-badge-padding-xs px-control-padding-lg px-control-padding-md px-control-padding-sm px-control-padding-xlg px-control-padding-xs px-menu-item-padding-inline px-popover-padding px-sidebar-content-padding-inline px-sidebar-header-padding-inline py-0.5 py-1 py-1.5 py-10 py-10.5 py-11 py-11.5 py-12 py-2 py-2.5 py-3 py-3.5 py-4 py-4.5 py-5 py-5.5 py-6 py-6.5 py-7 py-7.5 py-8 py-8.5 py-9 py-9.5 py-app-region-padding-block py-sidebar-content-padding-block py-sidebar-header-padding-block relative resize resize-none resize-x resize-y right-0 right-1 right-2 right-3 right-4 right-scrollbar-inset rotate-180 rounded-b-overlay-md rounded-control-lg rounded-control-md rounded-control-sm rounded-control-xs rounded-full rounded-l-overlay-md rounded-overlay-md rounded-overlay-sm rounded-r-overlay-md rounded-scrollbar-thumb rounded-surface-lg rounded-surface-md rounded-surface-sm rounded-surface-xs rounded-t-overlay-md row-span-2 row-start-1 select-none self-center self-start self-stretch shadow-[0_0_0_var(--border-width-edge-control)_var(--ui-surface-edge)] shrink-0 size-2 size-9 size-badge-close-lg size-badge-close-md size-badge-close-sm size-badge-close-xlg size-badge-close-xs size-brand-logo-lg size-brand-logo-md size-brand-logo-sm size-brand-logo-xlg size-brand-logo-xs size-checkbox-indicator-lg size-checkbox-indicator-md size-checkbox-indicator-sm size-checkbox-indicator-xlg size-checkbox-indicator-xs size-control-md size-control-sm size-control-xs size-full size-icon size-icon-lg size-icon-md size-icon-sm size-icon-xs size-radio-dot-lg size-radio-dot-md size-radio-dot-sm size-radio-dot-xlg size-radio-dot-xs size-radio-indicator-lg size-radio-indicator-md size-radio-indicator-sm size-radio-indicator-xlg size-radio-indicator-xs size-scrollbar size-slider-thumb-lg size-slider-thumb-md size-slider-thumb-sm size-slider-thumb-xlg size-slider-thumb-xs size-switch-thumb-lg size-switch-thumb-md size-switch-thumb-sm size-switch-thumb-xlg size-switch-thumb-xs sm:grid-cols-2 sm:grid-cols-[auto_minmax(9rem,11rem)] sm:grid-cols-[minmax(9rem,11rem)_auto] sr-only sticky table-auto table-fixed tabular-nums text-1 text-10 text-11 text-12 text-13 text-2 text-3 text-4 text-5 text-6 text-7 text-8 text-9 text-[var(--ui-semantic-surface-ink-muted)] text-badge-lg text-badge-md text-badge-sm text-badge-xlg text-badge-xs text-base text-center text-control-lg text-control-md text-control-sm text-control-xlg text-control-xs text-current text-description text-icon text-inherit text-intent-accent-text text-intent-danger-text text-label text-label-ink text-left text-menu-item text-metadata text-right text-sm text-surface-ink text-surface-ink-muted text-xs top-0 top-1/2 top-3 top-4 top-scrollbar-inset touch-none translate-y-1/2 truncate ui-edge ui-image-outline ui-interactive:hover:bg-interaction-hover ui-interactive:ui-active:bg-interaction-pressed ui-interactive:ui-selected:bg-interaction-selected ui-interactive:ui-selected:hover:bg-interaction-selected-hover ui-motion-progress w-1.5 w-10 w-2 w-3 w-4 w-[min(24rem,calc(100vw-2rem))] w-[var(--border-width-edge-separator)] w-[var(--spacing-sidebar-drawer-width)] w-auto w-control-lg w-control-md w-control-sm w-control-xlg w-control-xs w-full w-max w-panel-resize-handle w-px w-scrollbar w-slider-track-lg w-slider-track-md w-slider-track-sm w-slider-track-xlg w-slider-track-xs w-switch-track-width-lg w-switch-track-width-md w-switch-track-width-sm w-switch-track-width-xlg w-switch-track-width-xs whitespace-nowrap z-0 z-10 z-20 z-30 z-40 z-dialog z-popover z-toast");
3
+ @source inline("!items-center !mt-0 !pl-1.5 -mb-1 -ml-1.5 -ml-2 -ml-2.5 -ml-3 -ml-4 -mr-1 -mr-1.5 -mr-2 -mr-2.5 -mr-3 -mr-4 -mt-1 -mt-3 -mx-popover -top-px -translate-x-1/2 -translate-y-1/2 [&::-webkit-details-marker]:hidden [&:has(+[data-ui-text])]:mb-2 [&:has([data-ui-select-option-label]>*+*)]:h-auto [&:has([data-ui-select-option-label]>*+*)]:items-start [&:has([data-ui-select-option-label]>*+*)]:py-2 [&:not([data-responsive-mode=desktop])]:border-0 [&:not([data-responsive-mode=desktop])]:h-dvh [&:not([data-responsive-mode=desktop])]:inset-0 [&:not([data-responsive-mode=desktop])]:max-w-none [&:not([data-responsive-mode=desktop])]:rounded-none [&:not([data-responsive-mode=desktop])]:w-full [&>[data-ui-modal-body]]:-mx-1 [&>[data-ui-modal-body]]:content-start [&>[data-ui-modal-body]]:min-h-0 [&>[data-ui-modal-body]]:overflow-x-hidden [&>[data-ui-modal-body]]:overflow-y-auto [&>[data-ui-modal-body]]:px-1 [&>[data-ui-modal-footer]]:self-end [&>[data-ui-separator]]:-mx-sidebar-content-padding-inline [&>[data-ui-separator]]:w-auto [&[data-current]>*]:bg-interaction-hover [&[data-selected]>*]:bg-interaction-selected [&_[data-ui-checkbox-indicator]]:hidden [&_[data-ui-table-cell]]:min-w-0 [&_[data-ui-table-cell]]:px-2 [&_[data-ui-table-cell]]:px-3 [&_[data-ui-table-cell]]:px-4 [&_[data-ui-table-cell]]:py-1.5 [&_[data-ui-table-cell]]:py-2 [&_[data-ui-table-cell]]:py-3 [&_[data-ui-table-cell]]:text-surface-ink [&_[data-ui-table-cell]]:whitespace-nowrap [&_[data-ui-table-column]]:font-medium [&_[data-ui-table-column]]:min-w-0 [&_[data-ui-table-column]]:px-2 [&_[data-ui-table-column]]:px-3 [&_[data-ui-table-column]]:px-4 [&_[data-ui-table-column]]:py-1.5 [&_[data-ui-table-column]]:py-2 [&_[data-ui-table-column]]:py-3 [&_[data-ui-table-column]]:text-xs [&_[data-ui-table-column]]:whitespace-nowrap [&_[data-ui-table-header]]:bg-surface [&_[data-ui-table-header]]:sticky [&_[data-ui-table-header]]:top-0 [&_[data-ui-table-header]]:z-10 [&_[data-ui-table-row-header]]:font-medium [&_[data-ui-table-row-header]]:min-w-0 [&_[data-ui-table-row-header]]:px-2 [&_[data-ui-table-row-header]]:px-3 [&_[data-ui-table-row-header]]:px-4 [&_[data-ui-table-row-header]]:py-1.5 [&_[data-ui-table-row-header]]:py-2 [&_[data-ui-table-row-header]]:py-3 [&_[data-ui-table-row-header]]:text-surface-ink [&_[data-ui-table-row-header]]:whitespace-nowrap [&_[data-ui-table-row]>*+*]:border-l-edge-separator [&_[data-ui-table-row]>*:first-child]:ps-0 [&_[data-ui-table-row]>*:last-child]:pe-0 [&_[data-ui-table-row]>*]:border-separator [&_[data-ui-table-row][data-disabled]]:opacity-disabled [&_tbody_[data-ui-table-row]:not(:last-child)>*]:border-b-edge-separator [&_tbody_[data-ui-table-row]:not([data-disabled]):not([data-selected]):not([data-current]):hover>*]:bg-interaction-hover [&_tbody_[data-ui-table-row]:nth-child(even)>*]:bg-interaction-hover [&_tfoot]:text-surface-ink-muted [&_tfoot_[data-ui-table-row]>*]:border-t-edge-separator [&_thead]:text-surface-ink-muted [&_thead_[data-ui-table-row]>*]:border-b-edge-separator [--ui-interaction-rest-edge:var(--ui-surface-edge)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-0)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-1)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-2)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-3)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-4)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-5)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-6)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-7)] [--ui-sidebar-drawer-elevation:var(--shadow-elevation-8)] [--ui-sidebar-drawer-elevation:var(--ui-matched-elevation)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-0)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-1)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-2)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-3)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-4)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-5)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-6)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-7)] [--ui-sidebar-resting-elevation:var(--shadow-elevation-8)] [--ui-sidebar-resting-elevation:var(--ui-matched-elevation)] [[data-ui-text]+&]:mt-2 [font-weight:var(--font-weight-badge-lg)] [font-weight:var(--font-weight-badge-md)] [font-weight:var(--font-weight-badge-sm)] [font-weight:var(--font-weight-badge-xlg)] [font-weight:var(--font-weight-badge-xs)] [font-weight:var(--font-weight-control-lg)] [font-weight:var(--font-weight-control-md)] [font-weight:var(--font-weight-control-sm)] [font-weight:var(--font-weight-control-xlg)] [font-weight:var(--font-weight-control-xs)] [font-weight:var(--font-weight-description)] [font-weight:var(--font-weight-heading)] [font-weight:var(--font-weight-label)] [font-weight:var(--font-weight-menu-item)] [font-weight:var(--font-weight-metadata)] [font-weight:var(--font-weight-normal)] [grid-area:aside] [grid-area:footer] [grid-area:header] [grid-area:main] [grid-area:sidebar] [print-color-adjust:exact] absolute active:bg-interaction-pressed align-baseline align-bottom align-middle align-top appearance-none auto-cols-max auto-rows-min backdrop:bg-transparent basis-0 basis-full bg-current bg-interaction-hover bg-scrim bg-scrollbar-thumb bg-separator bg-separator-muted bg-surface bg-transparent block border border-0 border-b-edge-divider border-b-edge-separator border-l-edge-divider border-r-edge-divider border-separate border-separator border-spacing-0 border-t-edge-divider border-transparent bottom-0 bottom-4 bottom-scrollbar-inset caption-bottom caption-top col-start-1 col-start-2 contain-strict content-between content-center content-end content-start content-stretch contents cursor-col-resize cursor-default cursor-row-resize dark:block dark:hidden dark:inline data-[drawer-state=open]:bg-surface data-[mobile-state=closed]:-translate-x-full data-[mobile-state=closed]:translate-x-full data-[mobile-state=open]:translate-x-0 data-[placement=side][data-side=left]:border-r-edge-divider data-[placement=side][data-side=right]:border-l-edge-divider data-[placement=top]:border-b-edge-divider data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content-inner]]:items-center data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]>[data-ui-scroll-area]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:flex-1 data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-content]]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-footer]]:items-center data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-item]]:w-auto data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:flex data-[placement=top]:data-[responsive-mode=desktop]:[&_[data-ui-sidebar-nav]]:items-center data-[placement=top]:data-[responsive-mode=desktop]:flex-row data-[placement=top]:data-[responsive-mode=desktop]:h-[var(--ui-sidebar-height,auto)] data-[placement=top]:data-[responsive-mode=desktop]:inset-auto data-[placement=top]:data-[responsive-mode=desktop]:max-w-none data-[placement=top]:data-[responsive-mode=desktop]:overflow-visible data-[placement=top]:data-[responsive-mode=desktop]:relative data-[placement=top]:data-[responsive-mode=desktop]:translate-x-0 data-[placement=top]:data-[responsive-mode=desktop]:w-full data-[placement=top]:data-[responsive-mode=desktop]:z-auto data-[responsive-mode=desktop]:data-[desktop-state=expanded]:inset-y-0 data-[responsive-mode=desktop]:data-[desktop-state=expanded]:left-auto data-[responsive-mode=desktop]:data-[desktop-state=expanded]:right-auto data-[responsive-mode=desktop]:data-[desktop-state=expanded]:rounded-none data-[responsive-mode=desktop]:data-[desktop-state=expanded]:w-full data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=closed]:data-[sidebar-exiting=false]:hidden data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:fixed data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:h-auto data-[responsive-mode=desktop]:data-[desktop-state=stashed]:data-[drawer-state=open]:z-dialog data-[responsive-mode=desktop]:data-[mobile-state=closed]:translate-x-0 data-[responsive-mode=desktop]:data-[mobile-state=open]:translate-x-0 data-[responsive-mode=desktop]:data-[sticky=False]:h-auto data-[responsive-mode=desktop]:data-[sticky=False]:relative data-[responsive-mode=desktop]:data-[sticky=false]:h-auto data-[responsive-mode=desktop]:data-[sticky=false]:relative data-[responsive-mode=desktop]:h-auto data-[responsive-mode=desktop]:h-screen data-[responsive-mode=desktop]:relative data-[responsive-mode=desktop]:sticky data-[responsive-mode=desktop]:translate-x-0 data-[responsive-mode=desktop]:w-[var(--ui-sidebar-width,var(--spacing-sidebar-width))] data-[responsive-mode=desktop]:z-auto data-[state=closed]:opacity-0 data-[state=closed]:pointer-events-none data-[state=hidden]:hidden data-[state=visible]:block data-checked:opacity-100 data-checked:translate-x-switch-travel-lg data-checked:translate-x-switch-travel-md data-checked:translate-x-switch-travel-sm data-checked:translate-x-switch-travel-xlg data-checked:translate-x-switch-travel-xs data-current:border-transparent data-current:shadow-none data-disabled:hidden data-disabled:opacity-50 data-disabled:opacity-60 data-disabled:pointer-events-none data-dragging:bg-scrollbar-thumb-hover data-indeterminate:opacity-100 data-invalid:has-[:focus-visible]:ui-focus-ring-danger data-invalid:hover:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge-hover)] data-invalid:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge)] data-resizing:bg-intent-neutral-edge-hover data-resizing:border-intent-neutral-edge-strong data-selected:bg-interaction-selected data-selected:opacity-100 data-visible:opacity-100 data-visible:pointer-events-auto file:bg-transparent file:border-0 file:font-normal file:h-full file:mr-3 file:text-inherit file:text-sm fill-current fixed flex flex-1 flex-col flex-col-reverse flex-none flex-nowrap flex-row flex-row-reverse flex-wrap flex-wrap-reverse focus-visible:bg-intent-neutral-edge-hover focus-visible:ring-2 focus-visible:ring-focus focus-visible:ui-focus-ring focus-visible:ui-focus-ring-inset font-badge font-body font-bold font-control font-description font-heading font-label font-medium font-menu-item font-metadata font-mono font-normal font-sans font-semibold gap-0 gap-0.5 gap-1 gap-1.5 gap-10 gap-10.5 gap-11 gap-11.5 gap-12 gap-2 gap-2.5 gap-3 gap-3.5 gap-4 gap-4.5 gap-5 gap-5.5 gap-6 gap-6.5 gap-7 gap-7.5 gap-8 gap-8.5 gap-9 gap-9.5 gap-app-region-gap gap-control-gap gap-sidebar-content-gap gap-sidebar-header-gap gap-x-0.5 gap-x-1 gap-x-1.5 gap-x-10 gap-x-10.5 gap-x-11 gap-x-11.5 gap-x-12 gap-x-2 gap-x-2.5 gap-x-3 gap-x-3.5 gap-x-4 gap-x-4.5 gap-x-5 gap-x-5.5 gap-x-6 gap-x-6.5 gap-x-7 gap-x-7.5 gap-x-8 gap-x-8.5 gap-x-9 gap-x-9.5 gap-y-0.5 gap-y-1 gap-y-1.5 gap-y-10 gap-y-10.5 gap-y-11 gap-y-11.5 gap-y-12 gap-y-2 gap-y-2.5 gap-y-3 gap-y-3.5 gap-y-4 gap-y-4.5 gap-y-5 gap-y-5.5 gap-y-6 gap-y-6.5 gap-y-7 gap-y-7.5 gap-y-8 gap-y-8.5 gap-y-9 gap-y-9.5 grid grid-cols-[auto_minmax(0,1fr)] grid-cols-[auto_minmax(0,1fr)_auto] grid-cols-[minmax(0,1fr)] grid-cols-[minmax(0,1fr)_auto] grid-flow-col grid-flow-col-dense grid-flow-dense grid-flow-row grid-flow-row-dense grid-rows-1 grid-rows-2 grid-rows-3 grid-rows-4 grid-rows-5 grid-rows-6 grid-rows-[auto_auto_minmax(0,1fr)_auto] grid-rows-[auto_minmax(0,1fr)_auto] group-data-[placement=top]/sidebar:border-b-edge-divider group-data-[placement=top]/sidebar:border-l-0 group-data-[placement=top]/sidebar:border-r-0 group-data-[placement=top]/sidebar:bottom-0 group-data-[placement=top]/sidebar:cursor-row-resize group-data-[placement=top]/sidebar:h-3 group-data-[placement=top]/sidebar:inset-x-0 group-data-[placement=top]/sidebar:top-auto group-data-[placement=top]/sidebar:w-auto group-data-[responsive-mode=desktop]/sidebar:block group-open/sidebar-group:rotate-90 group/sidebar-item group/sidebar-item-row group/tabs-tab group/toast h-1.5 h-4.5 h-40 h-5 h-[var(--border-width-edge-separator)] h-auto h-control-lg h-control-md h-control-sm h-control-xlg h-control-xs h-dvh h-full h-menu-item h-panel-resize-handle h-px h-scrollbar h-slider-track-lg h-slider-track-md h-slider-track-sm h-slider-track-xlg h-slider-track-xs h-switch-track-height-lg h-switch-track-height-md h-switch-track-height-sm h-switch-track-height-xlg h-switch-track-height-xs has-[:focus-visible]:ui-focus-ring hidden hover:bg-intent-neutral-edge-hover hover:bg-interaction-hover hover:bg-scrollbar-thumb-hover hover:border-intent-neutral-edge-hover hover:text-surface-ink inline-block inline-flex inline-grid inset-0 inset-x-0 inset-y-0 inset-y-2 isolate items-baseline items-center items-end items-start items-stretch justify-between justify-center justify-end justify-items-baseline justify-items-center justify-items-end justify-items-start justify-items-stretch justify-self-end justify-start last:border-b-0 leading-5 leading-none left-0 left-1/2 left-2 left-4 left-full left-scrollbar-inset list-none m-0 m-0.5 m-1 m-1.5 m-10 m-10.5 m-11 m-11.5 m-12 m-2 m-2.5 m-3 m-3.5 m-4 m-4.5 m-5 m-5.5 m-6 m-6.5 m-7 m-7.5 m-8 m-8.5 m-9 m-9.5 max-h-full max-h-lg max-h-md max-h-none max-h-prose max-h-sm max-h-xl max-h-xs max-w-2xl max-w-3xl max-w-4xl max-w-56 max-w-5xl max-w-64 max-w-6xl max-w-72 max-w-7xl max-w-[calc(100vw-2rem)] max-w-full max-w-lg max-w-md max-w-modal-lg max-w-modal-md max-w-modal-sm max-w-modal-xl max-w-none max-w-prose max-w-sm max-w-xl max-w-xs md:auto-cols-fr md:gap-x-4 md:grid-cols-[minmax(10rem,14rem)_minmax(0,1fr)] md:grid-flow-col md:items-start min-h-0 min-h-control-lg min-h-control-md min-h-control-multiline-lg min-h-control-multiline-md min-h-control-multiline-sm min-h-control-multiline-xlg min-h-control-multiline-xs min-h-control-sm min-h-control-xlg min-h-control-xs min-h-dvh min-w-0 min-w-16 min-w-28 min-w-4.5 min-w-48 min-w-72 min-w-control-lg min-w-full min-w-max ml-0 ml-1 ml-2 ml-auto mr-0 mr-auto mt-0.5 mx-0.5 mx-1 mx-1.5 mx-10 mx-10.5 mx-11 mx-11.5 mx-12 mx-2 mx-2.5 mx-3 mx-3.5 mx-4 mx-4.5 mx-5 mx-5.5 mx-6 mx-6.5 mx-7 mx-7.5 mx-8 mx-8.5 mx-9 mx-9.5 mx-auto my-0.5 my-1 my-1.5 my-10 my-10.5 my-11 my-11.5 my-12 my-2 my-2.5 my-3 my-3.5 my-4 my-4.5 my-5 my-5.5 my-6 my-6.5 my-7 my-7.5 my-8 my-8.5 my-9 my-9.5 my-popover no-underline object-contain object-cover object-fill object-none object-scale-down opacity-0 opacity-25 opacity-70 opacity-75 order-10 outline-none overflow-auto overflow-hidden overflow-visible overflow-x-auto overflow-x-hidden overflow-y-auto overflow-y-hidden p-0 p-0.5 p-1 p-1.5 p-10 p-10.5 p-11 p-11.5 p-12 p-2 p-2.5 p-3 p-3.5 p-4 p-4.5 p-5 p-5.5 p-6 p-6.5 p-7 p-7.5 p-8 p-8.5 p-9 p-9.5 p-popover-padding p-switch-inset pb-2 pb-3 pe-10 peer place-items-center pointer-events-auto pointer-events-none pr-2 pr-8 pr-9 pt-1 pt-2 pt-4 px-0 px-0.5 px-1 px-1.5 px-10 px-10.5 px-11 px-11.5 px-12 px-2 px-2.5 px-3 px-3.5 px-4 px-4.5 px-5 px-5.5 px-6 px-6.5 px-7 px-7.5 px-8 px-8.5 px-9 px-9.5 px-app-region-padding-inline px-badge-padding-lg px-badge-padding-md px-badge-padding-sm px-badge-padding-xlg px-badge-padding-xs px-control-padding-lg px-control-padding-md px-control-padding-sm px-control-padding-xlg px-control-padding-xs px-menu-item-padding-inline px-popover-padding px-sidebar-content-padding-inline px-sidebar-header-padding-inline py-0.5 py-1 py-1.5 py-10 py-10.5 py-11 py-11.5 py-12 py-2 py-2.5 py-3 py-3.5 py-4 py-4.5 py-5 py-5.5 py-6 py-6.5 py-7 py-7.5 py-8 py-8.5 py-9 py-9.5 py-app-region-padding-block py-sidebar-content-padding-block py-sidebar-header-padding-block relative resize resize-none resize-x resize-y right-0 right-1 right-2 right-3 right-4 right-scrollbar-inset rotate-180 rounded-b-overlay-md rounded-control-lg rounded-control-md rounded-control-sm rounded-control-xs rounded-full rounded-l-overlay-md rounded-overlay-md rounded-overlay-sm rounded-r-overlay-md rounded-scrollbar-thumb rounded-surface-lg rounded-surface-md rounded-surface-sm rounded-surface-xs rounded-t-overlay-md row-span-2 row-start-1 select-none self-center self-start self-stretch shadow-[0_0_0_var(--border-width-edge-control)_var(--ui-surface-edge)] shrink-0 size-2 size-9 size-badge-close-lg size-badge-close-md size-badge-close-sm size-badge-close-xlg size-badge-close-xs size-brand-logo-lg size-brand-logo-md size-brand-logo-sm size-brand-logo-xlg size-brand-logo-xs size-checkbox-indicator-lg size-checkbox-indicator-md size-checkbox-indicator-sm size-checkbox-indicator-xlg size-checkbox-indicator-xs size-control-md size-control-sm size-control-xs size-full size-icon size-icon-lg size-icon-md size-icon-sm size-icon-xs size-radio-dot-lg size-radio-dot-md size-radio-dot-sm size-radio-dot-xlg size-radio-dot-xs size-radio-indicator-lg size-radio-indicator-md size-radio-indicator-sm size-radio-indicator-xlg size-radio-indicator-xs size-scrollbar size-slider-thumb-lg size-slider-thumb-md size-slider-thumb-sm size-slider-thumb-xlg size-slider-thumb-xs size-switch-thumb-lg size-switch-thumb-md size-switch-thumb-sm size-switch-thumb-xlg size-switch-thumb-xs sm:grid-cols-2 sm:grid-cols-[auto_minmax(9rem,11rem)] sm:grid-cols-[minmax(9rem,11rem)_auto] sr-only sticky table-auto table-fixed tabular-nums text-1 text-10 text-11 text-12 text-13 text-2 text-3 text-4 text-5 text-6 text-7 text-8 text-9 text-[var(--ui-semantic-surface-ink-muted)] text-badge-lg text-badge-md text-badge-sm text-badge-xlg text-badge-xs text-base text-center text-control-lg text-control-md text-control-sm text-control-xlg text-control-xs text-current text-description text-icon text-inherit text-intent-accent-text text-intent-danger-text text-label text-label-ink text-left text-menu-item text-metadata text-right text-sm text-surface-ink text-surface-ink-muted text-xs top-0 top-1/2 top-3 top-4 top-scrollbar-inset touch-none translate-y-1/2 truncate ui-edge ui-image-outline ui-interactive:hover:bg-interaction-hover ui-interactive:ui-active:bg-interaction-pressed ui-interactive:ui-selected:bg-interaction-selected ui-interactive:ui-selected:hover:bg-interaction-selected-hover ui-motion-progress w-1.5 w-10 w-2 w-3 w-4 w-[min(24rem,calc(100vw-2rem))] w-[var(--border-width-edge-separator)] w-[var(--spacing-sidebar-drawer-width)] w-auto w-control-lg w-control-md w-control-sm w-control-xlg w-control-xs w-full w-max w-panel-resize-handle w-px w-scrollbar w-slider-track-lg w-slider-track-md w-slider-track-sm w-slider-track-xlg w-slider-track-xs w-switch-track-width-lg w-switch-track-width-md w-switch-track-width-sm w-switch-track-width-xlg w-switch-track-width-xs whitespace-nowrap z-0 z-10 z-20 z-30 z-40 z-dialog z-popover z-toast");
@@ -0,0 +1,267 @@
1
+ @custom-variant dark (&:where(.dark, .dark *):not(:where(.light, .light *)));
2
+ @custom-variant ui-interactive (&:is([data-ui-interactive]));
3
+ @custom-variant ui-active (&:is(:active, :focus-visible, [data-active], [data-highlighted]));
4
+ @custom-variant ui-selected (&:is([data-selected="true"], [aria-selected="true"], [data-current], [aria-current]:not([aria-current="false"]), [data-checked], [aria-checked="true"], [data-pressed], [aria-pressed="true"]));
5
+
6
+ /* Keep the core authored palette available to custom components in the precompiled package. */
7
+ @source inline("{bg,text,border,ring,fill,stroke}-{neutral,accent}-{1..12}");
8
+ @source inline("{bg,text,border,ring,fill,stroke}-{neutral,accent}-a{1..12}");
9
+ @source inline("bg-canvas {bg,border,ring,fill,stroke}-surface-{0..8}");
10
+ @source inline("text-surface-{0..8}-{ink,ink-muted} shadow-elevation-{0..8}");
11
+ @source inline("rounded-{1..6} rounded-{control,surface,overlay} rounded-{control,surface,overlay}-{xs,sm,md,lg}");
12
+ @source inline("{rounded-t,rounded-r,rounded-b,rounded-l}-{control,surface,overlay}-{xs,sm,md,lg}");
13
+ @source inline("rounded-{none,full,circle}");
14
+ @source inline("gap-control-gap px-control-padding-{xs,sm,md,lg,xlg} px-badge-padding-{xs,sm,md,lg,xlg}");
15
+ @source inline("p-popover-padding px-menu-item-padding-inline");
16
+ @source inline("text-{1..13} text-{body,heading,code,label,description,metadata,menu-item}");
17
+ @source inline("text-{control,badge}-{xs,sm,md,lg,xlg}");
18
+ @source inline("font-{body,heading,code,control,badge,label,description,metadata,menu-item}");
19
+ @source inline("min-h-control-multiline-{xs,sm,md,lg,xlg}");
20
+ @source inline("size-{brand-logo,badge-close,checkbox-indicator,radio-indicator,radio-dot,slider-thumb}-{xs,sm,md,lg,xlg}");
21
+ @source inline("h-switch-track-height-{xs,sm,md,lg,xlg} w-switch-track-width-{xs,sm,md,lg,xlg} size-switch-thumb-{xs,sm,md,lg,xlg}");
22
+ @source inline("p-switch-inset data-checked:translate-x-switch-travel-{xs,sm,md,lg,xlg}");
23
+ @source inline("{h,w}-slider-track-{xs,sm,md,lg,xlg} max-w-modal-{sm,md,lg,xl}");
24
+ @source inline("border-{0..3} border-edge-{perimeter,control,separator,divider}");
25
+ @source inline("{border-t,border-r,border-b,border-l}-edge-{perimeter,control,separator,divider}");
26
+
27
+ @media (hover: hover) {
28
+ [data-ui-elevation][data-ui-interactive="surface"]:hover {
29
+ --ui-state-shadow-layers: 0 0 0 var(--border-width-edge-perimeter) var(--ui-surface-edge-hover);
30
+ }
31
+ }
32
+
33
+ [data-ui-elevation][data-ui-interactive="surface"]:is(
34
+ [data-selected="true"],
35
+ [aria-selected="true"],
36
+ [data-current],
37
+ [aria-current]:not([aria-current="false"]),
38
+ [data-checked],
39
+ [aria-checked="true"],
40
+ [data-pressed],
41
+ [aria-pressed="true"]
42
+ ) {
43
+ --ui-state-shadow-layers: 0 0 0 var(--border-width-edge-perimeter) var(--color-intent-accent-edge);
44
+ }
45
+
46
+ [data-ui-elevation][data-ui-interactive="surface"]:is(:focus-visible, :has(:focus-visible)) {
47
+ --ui-state-shadow-layers: 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
48
+ }
49
+
50
+ /*
51
+ Shared interaction treatments keep state independent from its visual channels.
52
+ Tonal layers are painted over the element's existing surface with a background
53
+ image, while edge layers join the composable state/elevation shadow stack.
54
+ */
55
+ [data-ui-selection-color],
56
+ [data-ui-interaction] {
57
+ --ui-interaction-selected-fill: var(--background-interaction-selection-neutral);
58
+ --ui-interaction-selected-fill-hover: var(--background-interaction-selection-neutral-hover);
59
+ --ui-interaction-selected-ink: var(--color-interaction-selection-neutral-ink);
60
+ --ui-interaction-selected-edge: var(--color-intent-neutral-edge);
61
+ --ui-interaction-selected-edge-hover: var(--color-intent-neutral-edge-hover);
62
+ --ui-interaction-selected-edge-strong: var(--color-intent-neutral-edge-strong);
63
+ --ui-selection-solid: var(--color-intent-neutral-solid);
64
+ --ui-selection-solid-ink: var(--color-intent-neutral-solid-ink);
65
+ }
66
+
67
+ :is([data-ui-selection-color], [data-ui-interaction])[data-color="accent"] {
68
+ --ui-interaction-selected-fill: var(--background-interaction-selection-accent);
69
+ --ui-interaction-selected-fill-hover: var(--background-interaction-selection-accent-hover);
70
+ --ui-interaction-selected-ink: var(--color-interaction-selection-accent-ink);
71
+ --ui-interaction-selected-edge: var(--color-intent-accent-edge);
72
+ --ui-interaction-selected-edge-hover: var(--color-intent-accent-edge-hover);
73
+ --ui-interaction-selected-edge-strong: var(--color-intent-accent-edge-strong);
74
+ --ui-selection-solid: var(--color-intent-accent-solid);
75
+ --ui-selection-solid-ink: var(--color-intent-accent-solid-ink);
76
+ }
77
+
78
+ [data-ui-interaction] {
79
+ --ui-interaction-fill: transparent;
80
+ --ui-interaction-edge: var(--ui-interaction-rest-edge, transparent);
81
+ }
82
+
83
+ :is([data-ui-interaction="tonal"], [data-ui-interaction="combined"]) {
84
+ background-image: linear-gradient(var(--ui-interaction-fill), var(--ui-interaction-fill));
85
+ }
86
+
87
+ :is([data-ui-interaction="edge"], [data-ui-interaction="combined"]) {
88
+ --ui-state-shadow-layers:
89
+ 0 0 0 var(--border-width-edge-perimeter) var(--ui-interaction-edge);
90
+ }
91
+
92
+ :is([data-ui-interaction="edge"], [data-ui-interaction="combined"]):not([data-ui-elevation]) {
93
+ box-shadow: var(--ui-state-shadow-layers);
94
+ }
95
+
96
+ @media (hover: hover) {
97
+ [data-ui-interaction]:hover {
98
+ --ui-interaction-fill: var(--color-interaction-hover);
99
+ --ui-interaction-edge: var(--ui-surface-edge-hover);
100
+ }
101
+ }
102
+
103
+ [data-ui-interaction]:active {
104
+ --ui-interaction-fill: var(--color-interaction-pressed);
105
+ --ui-interaction-edge: var(--ui-surface-edge-strong);
106
+ }
107
+
108
+ [data-ui-interaction]:is(
109
+ [data-selected="true"],
110
+ [aria-selected="true"],
111
+ [data-current],
112
+ [aria-current]:not([aria-current="false"]),
113
+ [data-checked],
114
+ [aria-checked="true"],
115
+ [data-pressed],
116
+ [aria-pressed="true"]
117
+ ) {
118
+ --ui-interaction-fill: var(--ui-interaction-selected-fill);
119
+ --ui-interaction-edge: var(--ui-interaction-selected-edge);
120
+ }
121
+
122
+ :is([data-ui-interaction="tonal"], [data-ui-interaction="combined"]):is(
123
+ [data-selected="true"],
124
+ [aria-selected="true"],
125
+ [data-current],
126
+ [aria-current]:not([aria-current="false"]),
127
+ [data-checked],
128
+ [aria-checked="true"],
129
+ [data-pressed],
130
+ [aria-pressed="true"]
131
+ ) {
132
+ color: var(--ui-interaction-selected-ink);
133
+ }
134
+
135
+ @media (hover: hover) {
136
+ [data-ui-interaction]:is(
137
+ [data-selected="true"],
138
+ [aria-selected="true"],
139
+ [data-current],
140
+ [aria-current]:not([aria-current="false"]),
141
+ [data-checked],
142
+ [aria-checked="true"],
143
+ [data-pressed],
144
+ [aria-pressed="true"]
145
+ ):hover {
146
+ --ui-interaction-fill: var(--ui-interaction-selected-fill-hover);
147
+ --ui-interaction-edge: var(--ui-interaction-selected-edge-hover);
148
+ }
149
+ }
150
+
151
+ [data-ui-interaction]:is(:focus-visible, :has(:focus-visible)) {
152
+ --ui-state-shadow-layers:
153
+ 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
154
+ }
155
+
156
+ /*
157
+ Root theme for the Trellis UI component system.
158
+
159
+ Token layers:
160
+ 1. Generated primitives: 1–12 color families, alpha families, surfaces, and elevation.
161
+ 2. Generated relationships: intent roles, interaction states, paired inks, and scrim.
162
+ 3. Authored recipes: local component variables and state composition.
163
+
164
+ Theme config regenerates the first two layers. Component recipes consume their
165
+ relationships; custom UI may use the registered Tailwind palette directly.
166
+
167
+ CSS ownership:
168
+ - TypeScript style recipes own class composition, variants, sizes, and parts.
169
+ - This file owns imports, Tailwind source hints and variants, tokens, utilities,
170
+ global theme rules, and generic reusable behavior.
171
+ - Colocated component CSS owns selector-only styling that recipes cannot
172
+ express cleanly, such as pseudo-elements, ::part(...), :has(...), native
173
+ quirks, and child-order selectors.
174
+ */
175
+
176
+ @theme {
177
+ --radius-scrollbar-thumb: var(--ui-scrollbar-thumb-radius);
178
+ --container-reading: var(--container-prose);
179
+ --z-index-popover: 50;
180
+ --z-index-dialog: 60;
181
+ --z-index-toast: 70;
182
+ }
183
+
184
+ @theme inline {
185
+ --color-surface: var(--ui-surface-color);
186
+ --color-surface-ink: var(--ui-surface-ink);
187
+ --color-surface-ink-muted: var(--ui-surface-ink-muted);
188
+ --color-label-ink: var(--ui-label-ink);
189
+ --color-icon: var(--ui-surface-ink-muted);
190
+ --color-separator: var(--ui-surface-separator);
191
+ --color-separator-muted: var(--ui-surface-separator-muted);
192
+ --color-scrollbar-thumb: var(--ui-surface-edge);
193
+ --color-scrollbar-thumb-hover: var(--ui-surface-edge-hover);
194
+ }
195
+
196
+ :root,
197
+ .light,
198
+ .dark {
199
+ color-scheme: light;
200
+
201
+ --ui-label-ink: color-mix(
202
+ in oklab,
203
+ var(--ui-surface-ink-muted),
204
+ var(--ui-surface-ink) var(--label-ink-emphasis)
205
+ );
206
+
207
+ --ui-control-height-xs: var(--spacing-control-xs);
208
+ --ui-control-height-sm: var(--spacing-control-sm);
209
+ --ui-control-height-md: var(--spacing-control-md);
210
+ --ui-control-height-lg: var(--spacing-control-lg);
211
+ --ui-control-height-xlg: var(--spacing-control-xlg);
212
+ --ui-popover-radius: var(--radius-overlay-sm);
213
+ --ui-popover-padding: var(--spacing-popover-padding);
214
+
215
+ --ui-icon-size-xs: var(--spacing-icon-xs);
216
+ --ui-icon-size-sm: var(--spacing-icon-sm);
217
+ --ui-icon-size: var(--spacing-icon);
218
+ --ui-icon-size-lg: var(--spacing-icon-lg);
219
+ --ui-scrollbar-size: var(--spacing-scrollbar);
220
+ --ui-scrollbar-inset: var(--spacing-scrollbar-inset);
221
+ --ui-scrollbar-thumb-radius: var(--radius-full);
222
+ }
223
+
224
+ .light {
225
+ color-scheme: light;
226
+ }
227
+
228
+ @utility max-h-xs {
229
+ max-height: var(--container-xs);
230
+ }
231
+
232
+ @utility max-h-sm {
233
+ max-height: var(--container-sm);
234
+ }
235
+
236
+ @utility max-h-md {
237
+ max-height: var(--container-md);
238
+ }
239
+
240
+ @utility max-h-lg {
241
+ max-height: var(--container-lg);
242
+ }
243
+
244
+ @utility max-h-xl {
245
+ max-height: var(--container-xl);
246
+ }
247
+
248
+ @utility max-h-prose {
249
+ max-height: 65ch;
250
+ }
251
+
252
+ @utility ui-edge {
253
+ box-shadow: 0 0 0 var(--border-width-edge-control) var(--ui-surface-edge);
254
+ }
255
+
256
+ @utility ui-focus-ring {
257
+ box-shadow: 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
258
+ }
259
+
260
+ @utility ui-focus-ring-inset {
261
+ box-shadow: inset 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
262
+ }
263
+
264
+
265
+ .dark {
266
+ color-scheme: dark;
267
+ }