@ctrl-ui/react 0.8.5 → 0.8.7

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 (152) hide show
  1. package/dist/action-bar.js +1 -1
  2. package/dist/activity.js +1 -1
  3. package/dist/blocks/coding-agent.js +16 -19
  4. package/dist/blocks/design-canvas-data.d.ts +32 -0
  5. package/dist/blocks/design-canvas-data.js +100 -0
  6. package/dist/blocks/design-canvas-inspector.d.ts +8 -0
  7. package/dist/blocks/design-canvas-inspector.js +238 -0
  8. package/dist/blocks/design-canvas.d.ts +17 -0
  9. package/dist/blocks/design-canvas.js +346 -0
  10. package/dist/blocks/file-explorer.js +2 -2
  11. package/dist/blocks/settings.js +2 -2
  12. package/dist/chat-composer-attachment.d.ts +9 -3
  13. package/dist/chat-composer-attachment.js +27 -10
  14. package/dist/chat-composer-editor.js +20 -4
  15. package/dist/chat-composer.d.ts +1 -1
  16. package/dist/chat-composer.js +4 -3
  17. package/dist/chat-layout.js +32 -19
  18. package/dist/context.js +1 -1
  19. package/dist/dynamic-notification.js +1 -1
  20. package/dist/environment-variables.js +1 -1
  21. package/dist/filter-bar/context.d.ts +32 -0
  22. package/dist/filter-bar/context.js +11 -0
  23. package/dist/filter-bar/editor.d.ts +14 -0
  24. package/dist/filter-bar/editor.js +204 -0
  25. package/dist/filter-bar/model.d.ts +9 -0
  26. package/dist/filter-bar/model.js +48 -0
  27. package/dist/filter-bar/motion.d.ts +10 -0
  28. package/dist/filter-bar/motion.js +84 -0
  29. package/dist/filter-bar/parts.d.ts +19 -0
  30. package/dist/filter-bar/parts.js +233 -0
  31. package/dist/filter-bar/types.d.ts +53 -0
  32. package/dist/filter-bar/types.js +0 -0
  33. package/dist/filter-bar.d.ts +27 -0
  34. package/dist/filter-bar.js +304 -0
  35. package/dist/hooks/use-chat-composer.d.ts +3 -1
  36. package/dist/hooks/use-chat-composer.js +2 -2
  37. package/dist/hooks/use-dropzone.d.ts +7 -4
  38. package/dist/hooks/use-dropzone.js +34 -3
  39. package/dist/inline-attachment.js +8 -14
  40. package/dist/inline-citation.js +1 -1
  41. package/dist/knob-contracts/chat-layout-knobs.d.ts +1 -1
  42. package/dist/knob-contracts/chat-layout-knobs.js +2 -1
  43. package/dist/knob-contracts/choice-knobs.d.ts +1 -1
  44. package/dist/knob-contracts/choice-knobs.js +1 -0
  45. package/dist/knob-contracts/collapsible-knobs.d.ts +1 -1
  46. package/dist/knob-contracts/collapsible-knobs.js +1 -1
  47. package/dist/knob-contracts/filter-bar-knobs.d.ts +4 -0
  48. package/dist/knob-contracts/filter-bar-knobs.js +16 -0
  49. package/dist/knob-contracts/infinite-canvas-knobs.d.ts +1 -1
  50. package/dist/knob-contracts/infinite-canvas-knobs.js +3 -0
  51. package/dist/knob-contracts/page-layout-knobs.d.ts +1 -1
  52. package/dist/knob-contracts/page-layout-knobs.js +4 -1
  53. package/dist/knob-contracts/popup-knobs.d.ts +1 -1
  54. package/dist/knob-contracts/popup-knobs.js +1 -0
  55. package/dist/knob-contracts/table-of-contents-knobs.d.ts +1 -1
  56. package/dist/knob-contracts/table-of-contents-knobs.js +3 -5
  57. package/dist/lib/phone-input-format.js +1 -1
  58. package/dist/markdown-block.js +11 -7
  59. package/dist/scripts/contrast-eval.js +5 -4
  60. package/dist/styles/index.css +5 -4
  61. package/dist/styles/recipes/button-group.css +1 -1
  62. package/dist/styles/recipes/button.css +2 -2
  63. package/dist/styles/recipes/chat-composer.css +14 -6
  64. package/dist/styles/recipes/chat-layout.css +29 -2
  65. package/dist/styles/recipes/choice.css +10 -3
  66. package/dist/styles/recipes/code-diff.css +16 -4
  67. package/dist/styles/recipes/code.css +11 -5
  68. package/dist/styles/recipes/collapsible.css +37 -0
  69. package/dist/styles/recipes/color-picker.css +12 -2
  70. package/dist/styles/recipes/dockable-panel.css +11 -3
  71. package/dist/styles/recipes/field-parts.css +62 -0
  72. package/dist/styles/recipes/field.css +28 -6
  73. package/dist/styles/recipes/filter-bar.css +174 -0
  74. package/dist/styles/recipes/infinite-canvas.css +51 -3
  75. package/dist/styles/recipes/inline-attachment.css +6 -1
  76. package/dist/styles/recipes/page-layout.css +36 -2
  77. package/dist/styles/recipes/pagination.css +1 -1
  78. package/dist/styles/recipes/popup-controls.css +16 -0
  79. package/dist/styles/recipes/popup-drawer.css +34 -32
  80. package/dist/styles/recipes/popup-lists.css +11 -2
  81. package/dist/styles/recipes/popup.css +10 -12
  82. package/dist/styles/recipes/range.css +1 -1
  83. package/dist/styles/recipes/resizable.css +34 -0
  84. package/dist/styles/recipes/spinner.css +4 -0
  85. package/dist/styles/recipes/table-of-contents.css +42 -42
  86. package/dist/styles/recipes/tabs.css +21 -0
  87. package/dist/styles/recipes/track-highlight.css +2 -1
  88. package/dist/styles/recipes/transcript-divider.css +2 -2
  89. package/dist/styles/theme.css +250 -91
  90. package/dist/ui/alert-dialog.js +1 -1
  91. package/dist/ui/autocomplete.js +5 -1
  92. package/dist/ui/button.js +2 -2
  93. package/dist/ui/checkbox-group.js +1 -1
  94. package/dist/ui/code-diff.js +1 -1
  95. package/dist/ui/code.js +3 -3
  96. package/dist/ui/collapsible.js +1 -1
  97. package/dist/ui/color-picker.js +2 -2
  98. package/dist/ui/combobox-disabled-selection.d.ts +1 -1
  99. package/dist/ui/combobox-disabled-selection.js +2 -1
  100. package/dist/ui/combobox.d.ts +5 -23
  101. package/dist/ui/combobox.js +26 -14
  102. package/dist/ui/command.js +9 -1
  103. package/dist/ui/context-menu.js +1 -1
  104. package/dist/ui/dialog.js +1 -1
  105. package/dist/ui/dockable-panel.js +18 -10
  106. package/dist/ui/drawer.d.ts +7 -4
  107. package/dist/ui/drawer.js +36 -23
  108. package/dist/ui/dropdown-menu.js +1 -1
  109. package/dist/ui/dropzone.d.ts +3 -1
  110. package/dist/ui/dropzone.js +3 -1
  111. package/dist/ui/field.js +1 -1
  112. package/dist/ui/hover-card.js +1 -1
  113. package/dist/ui/infinite-canvas.d.ts +11 -0
  114. package/dist/ui/infinite-canvas.js +82 -7
  115. package/dist/ui/input-group.d.ts +2 -1
  116. package/dist/ui/input-group.js +12 -3
  117. package/dist/ui/input.js +9 -0
  118. package/dist/ui/item.js +1 -1
  119. package/dist/ui/markdown-elements.js +11 -8
  120. package/dist/ui/menubar.js +1 -1
  121. package/dist/ui/morphing-panel.js +1 -1
  122. package/dist/ui/navigation-menu.js +1 -1
  123. package/dist/ui/number-field.d.ts +1 -1
  124. package/dist/ui/number-field.js +13 -2
  125. package/dist/ui/phone-input.js +2 -2
  126. package/dist/ui/popover.js +1 -1
  127. package/dist/ui/radio-group.d.ts +1 -0
  128. package/dist/ui/radio-group.js +11 -1
  129. package/dist/ui/resizable.d.ts +18 -1
  130. package/dist/ui/resizable.js +127 -7
  131. package/dist/ui/responsive-dialog.js +6 -3
  132. package/dist/ui/rich-tooltip.js +1 -1
  133. package/dist/ui/scroll-area.d.ts +4 -1
  134. package/dist/ui/scroll-area.js +2 -1
  135. package/dist/ui/select.d.ts +2 -1
  136. package/dist/ui/select.js +58 -33
  137. package/dist/ui/sheet.js +1 -1
  138. package/dist/ui/sidebar-menu.js +1 -1
  139. package/dist/ui/sidebar-provider.js +2 -2
  140. package/dist/ui/sidebar-resize-rail.js +1 -1
  141. package/dist/ui/sidebar.js +1 -1
  142. package/dist/ui/table-of-contents.d.ts +4 -3
  143. package/dist/ui/table-of-contents.js +126 -47
  144. package/dist/ui/table.js +11 -7
  145. package/dist/ui/toast.js +1 -1
  146. package/dist/ui/toggle.d.ts +1 -1
  147. package/dist/ui/toggle.js +2 -1
  148. package/dist/ui/tooltip.js +1 -1
  149. package/dist/ui/tree.js +1 -1
  150. package/dist/ui/trigger-menu.js +7 -3
  151. package/dist/user-ask.js +1 -1
  152. package/package.json +1 -1
@@ -2,18 +2,172 @@
2
2
  --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3
3
  --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
4
4
 
5
+ --scale-neutral-seed: oklch(0.5 0 0);
6
+ --scale-primary-seed: var(--primary);
7
+ --scale-red-seed: var(--color-red-500);
8
+ --scale-orange-seed: var(--color-orange-500);
9
+ --scale-yellow-seed: var(--color-yellow-500);
10
+ --scale-green-seed: var(--color-green-500);
11
+ --scale-blue-seed: var(--color-blue-500);
12
+ --scale-purple-seed: var(--color-purple-500);
13
+ --scale-pink-seed: var(--color-pink-500);
14
+
15
+ --scale-neutral-lightness-1: 1;
16
+ --scale-neutral-lightness-2: 0.97;
17
+ --scale-neutral-lightness-3: 0.9425;
18
+ --scale-neutral-lightness-4: 0.9295;
19
+ --scale-neutral-lightness-5: 0.91;
20
+ --scale-neutral-lightness-6: 0.8851;
21
+ --scale-neutral-lightness-7: 0.83;
22
+ --scale-neutral-lightness-8: 0.74;
23
+ --scale-neutral-lightness-9: 0.62;
24
+ --scale-neutral-lightness-10: 0.57;
25
+ --scale-neutral-lightness-11: 0.52;
26
+ --scale-neutral-lightness-12: 0.1448;
27
+ --scale-lightness-1: 0.99;
28
+ --scale-lightness-2: 0.975;
29
+ --scale-lightness-3: 0.95;
30
+ --scale-lightness-4: 0.92;
31
+ --scale-lightness-5: 0.89;
32
+ --scale-lightness-6: 0.85;
33
+ --scale-lightness-7: 0.8;
34
+ --scale-lightness-8: 0.72;
35
+ --scale-lightness-11: 0.44;
36
+ --scale-lightness-12: 0.34;
37
+ --scale-chroma-1: 0.06;
38
+ --scale-chroma-2: 0.12;
39
+ --scale-chroma-3: 0.2;
40
+ --scale-chroma-4: 0.28;
41
+ --scale-chroma-5: 0.36;
42
+ --scale-chroma-6: 0.45;
43
+ --scale-chroma-7: 0.55;
44
+ --scale-chroma-8: 0.7;
45
+ --scale-chroma-9: 1;
46
+ --scale-chroma-10: 1;
47
+ --scale-chroma-11: 1;
48
+ --scale-chroma-12: 0.7;
49
+
50
+ --scale-neutral-1: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-1) calc(c * var(--scale-chroma-1)) h);
51
+ --scale-neutral-2: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-2) calc(c * var(--scale-chroma-2)) h);
52
+ --scale-neutral-3: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-3) calc(c * var(--scale-chroma-3)) h);
53
+ --scale-neutral-4: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-4) calc(c * var(--scale-chroma-4)) h);
54
+ --scale-neutral-5: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-5) calc(c * var(--scale-chroma-5)) h);
55
+ --scale-neutral-6: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-6) calc(c * var(--scale-chroma-6)) h);
56
+ --scale-neutral-7: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-7) calc(c * var(--scale-chroma-7)) h);
57
+ --scale-neutral-8: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-8) calc(c * var(--scale-chroma-8)) h);
58
+ --scale-neutral-9: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-9) calc(c * var(--scale-chroma-9)) h);
59
+ --scale-neutral-10: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-10) calc(c * var(--scale-chroma-10)) h);
60
+ --scale-neutral-11: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-11) calc(c * var(--scale-chroma-11)) h);
61
+ --scale-neutral-12: oklch(from var(--scale-neutral-seed) var(--scale-neutral-lightness-12) calc(c * var(--scale-chroma-12)) h);
62
+ --scale-primary-1: oklch(from var(--scale-primary-seed) var(--scale-lightness-1) calc(c * var(--scale-chroma-1)) h);
63
+ --scale-primary-2: oklch(from var(--scale-primary-seed) var(--scale-lightness-2) calc(c * var(--scale-chroma-2)) h);
64
+ --scale-primary-3: oklch(from var(--scale-primary-seed) var(--scale-lightness-3) calc(c * var(--scale-chroma-3)) h);
65
+ --scale-primary-4: oklch(from var(--scale-primary-seed) var(--scale-lightness-4) calc(c * var(--scale-chroma-4)) h);
66
+ --scale-primary-5: oklch(from var(--scale-primary-seed) var(--scale-lightness-5) calc(c * var(--scale-chroma-5)) h);
67
+ --scale-primary-6: oklch(from var(--scale-primary-seed) var(--scale-lightness-6) calc(c * var(--scale-chroma-6)) h);
68
+ --scale-primary-7: oklch(from var(--scale-primary-seed) var(--scale-lightness-7) calc(c * var(--scale-chroma-7)) h);
69
+ --scale-primary-8: oklch(from var(--scale-primary-seed) var(--scale-lightness-8) calc(c * var(--scale-chroma-8)) h);
70
+ --scale-primary-9: var(--scale-primary-seed);
71
+ --scale-primary-10: oklch(from var(--scale-primary-seed) calc(l - 0.05) c h);
72
+ --scale-primary-11: oklch(from var(--scale-primary-seed) var(--scale-lightness-11) calc(c * var(--scale-chroma-11)) h);
73
+ --scale-primary-12: oklch(from var(--scale-primary-seed) var(--scale-lightness-12) calc(c * var(--scale-chroma-12)) h);
74
+ --scale-red-1: oklch(from var(--scale-red-seed) var(--scale-lightness-1) calc(c * var(--scale-chroma-1)) h);
75
+ --scale-red-2: oklch(from var(--scale-red-seed) var(--scale-lightness-2) calc(c * var(--scale-chroma-2)) h);
76
+ --scale-red-3: oklch(from var(--scale-red-seed) var(--scale-lightness-3) calc(c * var(--scale-chroma-3)) h);
77
+ --scale-red-4: oklch(from var(--scale-red-seed) var(--scale-lightness-4) calc(c * var(--scale-chroma-4)) h);
78
+ --scale-red-5: oklch(from var(--scale-red-seed) var(--scale-lightness-5) calc(c * var(--scale-chroma-5)) h);
79
+ --scale-red-6: oklch(from var(--scale-red-seed) var(--scale-lightness-6) calc(c * var(--scale-chroma-6)) h);
80
+ --scale-red-7: oklch(from var(--scale-red-seed) var(--scale-lightness-7) calc(c * var(--scale-chroma-7)) h);
81
+ --scale-red-8: oklch(from var(--scale-red-seed) var(--scale-lightness-8) calc(c * var(--scale-chroma-8)) h);
82
+ --scale-red-9: var(--scale-red-seed);
83
+ --scale-red-10: oklch(from var(--scale-red-seed) calc(l - 0.05) c h);
84
+ --scale-red-11: oklch(from var(--scale-red-seed) var(--scale-lightness-11) calc(c * var(--scale-chroma-11)) h);
85
+ --scale-red-12: oklch(from var(--scale-red-seed) var(--scale-lightness-12) calc(c * var(--scale-chroma-12)) h);
86
+ --scale-orange-1: oklch(from var(--scale-orange-seed) var(--scale-lightness-1) calc(c * var(--scale-chroma-1)) h);
87
+ --scale-orange-2: oklch(from var(--scale-orange-seed) var(--scale-lightness-2) calc(c * var(--scale-chroma-2)) h);
88
+ --scale-orange-3: oklch(from var(--scale-orange-seed) var(--scale-lightness-3) calc(c * var(--scale-chroma-3)) h);
89
+ --scale-orange-4: oklch(from var(--scale-orange-seed) var(--scale-lightness-4) calc(c * var(--scale-chroma-4)) h);
90
+ --scale-orange-5: oklch(from var(--scale-orange-seed) var(--scale-lightness-5) calc(c * var(--scale-chroma-5)) h);
91
+ --scale-orange-6: oklch(from var(--scale-orange-seed) var(--scale-lightness-6) calc(c * var(--scale-chroma-6)) h);
92
+ --scale-orange-7: oklch(from var(--scale-orange-seed) var(--scale-lightness-7) calc(c * var(--scale-chroma-7)) h);
93
+ --scale-orange-8: oklch(from var(--scale-orange-seed) var(--scale-lightness-8) calc(c * var(--scale-chroma-8)) h);
94
+ --scale-orange-9: var(--scale-orange-seed);
95
+ --scale-orange-10: oklch(from var(--scale-orange-seed) calc(l - 0.05) c h);
96
+ --scale-orange-11: oklch(from var(--scale-orange-seed) var(--scale-lightness-11) calc(c * var(--scale-chroma-11)) h);
97
+ --scale-orange-12: oklch(from var(--scale-orange-seed) var(--scale-lightness-12) calc(c * var(--scale-chroma-12)) h);
98
+ --scale-yellow-1: oklch(from var(--scale-yellow-seed) var(--scale-lightness-1) calc(c * var(--scale-chroma-1)) h);
99
+ --scale-yellow-2: oklch(from var(--scale-yellow-seed) var(--scale-lightness-2) calc(c * var(--scale-chroma-2)) h);
100
+ --scale-yellow-3: oklch(from var(--scale-yellow-seed) var(--scale-lightness-3) calc(c * var(--scale-chroma-3)) h);
101
+ --scale-yellow-4: oklch(from var(--scale-yellow-seed) var(--scale-lightness-4) calc(c * var(--scale-chroma-4)) h);
102
+ --scale-yellow-5: oklch(from var(--scale-yellow-seed) var(--scale-lightness-5) calc(c * var(--scale-chroma-5)) h);
103
+ --scale-yellow-6: oklch(from var(--scale-yellow-seed) var(--scale-lightness-6) calc(c * var(--scale-chroma-6)) h);
104
+ --scale-yellow-7: oklch(from var(--scale-yellow-seed) var(--scale-lightness-7) calc(c * var(--scale-chroma-7)) h);
105
+ --scale-yellow-8: oklch(from var(--scale-yellow-seed) var(--scale-lightness-8) calc(c * var(--scale-chroma-8)) h);
106
+ --scale-yellow-9: var(--scale-yellow-seed);
107
+ --scale-yellow-10: oklch(from var(--scale-yellow-seed) calc(l - 0.05) c h);
108
+ --scale-yellow-11: oklch(from var(--scale-yellow-seed) var(--scale-lightness-11) calc(c * var(--scale-chroma-11)) h);
109
+ --scale-yellow-12: oklch(from var(--scale-yellow-seed) var(--scale-lightness-12) calc(c * var(--scale-chroma-12)) h);
110
+ --scale-green-1: oklch(from var(--scale-green-seed) var(--scale-lightness-1) calc(c * var(--scale-chroma-1)) h);
111
+ --scale-green-2: oklch(from var(--scale-green-seed) var(--scale-lightness-2) calc(c * var(--scale-chroma-2)) h);
112
+ --scale-green-3: oklch(from var(--scale-green-seed) var(--scale-lightness-3) calc(c * var(--scale-chroma-3)) h);
113
+ --scale-green-4: oklch(from var(--scale-green-seed) var(--scale-lightness-4) calc(c * var(--scale-chroma-4)) h);
114
+ --scale-green-5: oklch(from var(--scale-green-seed) var(--scale-lightness-5) calc(c * var(--scale-chroma-5)) h);
115
+ --scale-green-6: oklch(from var(--scale-green-seed) var(--scale-lightness-6) calc(c * var(--scale-chroma-6)) h);
116
+ --scale-green-7: oklch(from var(--scale-green-seed) var(--scale-lightness-7) calc(c * var(--scale-chroma-7)) h);
117
+ --scale-green-8: oklch(from var(--scale-green-seed) var(--scale-lightness-8) calc(c * var(--scale-chroma-8)) h);
118
+ --scale-green-9: var(--scale-green-seed);
119
+ --scale-green-10: oklch(from var(--scale-green-seed) calc(l - 0.05) c h);
120
+ --scale-green-11: oklch(from var(--scale-green-seed) var(--scale-lightness-11) calc(c * var(--scale-chroma-11)) h);
121
+ --scale-green-12: oklch(from var(--scale-green-seed) var(--scale-lightness-12) calc(c * var(--scale-chroma-12)) h);
122
+ --scale-blue-1: oklch(from var(--scale-blue-seed) var(--scale-lightness-1) calc(c * var(--scale-chroma-1)) h);
123
+ --scale-blue-2: oklch(from var(--scale-blue-seed) var(--scale-lightness-2) calc(c * var(--scale-chroma-2)) h);
124
+ --scale-blue-3: oklch(from var(--scale-blue-seed) var(--scale-lightness-3) calc(c * var(--scale-chroma-3)) h);
125
+ --scale-blue-4: oklch(from var(--scale-blue-seed) var(--scale-lightness-4) calc(c * var(--scale-chroma-4)) h);
126
+ --scale-blue-5: oklch(from var(--scale-blue-seed) var(--scale-lightness-5) calc(c * var(--scale-chroma-5)) h);
127
+ --scale-blue-6: oklch(from var(--scale-blue-seed) var(--scale-lightness-6) calc(c * var(--scale-chroma-6)) h);
128
+ --scale-blue-7: oklch(from var(--scale-blue-seed) var(--scale-lightness-7) calc(c * var(--scale-chroma-7)) h);
129
+ --scale-blue-8: oklch(from var(--scale-blue-seed) var(--scale-lightness-8) calc(c * var(--scale-chroma-8)) h);
130
+ --scale-blue-9: var(--scale-blue-seed);
131
+ --scale-blue-10: oklch(from var(--scale-blue-seed) calc(l - 0.05) c h);
132
+ --scale-blue-11: oklch(from var(--scale-blue-seed) var(--scale-lightness-11) calc(c * var(--scale-chroma-11)) h);
133
+ --scale-blue-12: oklch(from var(--scale-blue-seed) var(--scale-lightness-12) calc(c * var(--scale-chroma-12)) h);
134
+ --scale-purple-1: oklch(from var(--scale-purple-seed) var(--scale-lightness-1) calc(c * var(--scale-chroma-1)) h);
135
+ --scale-purple-2: oklch(from var(--scale-purple-seed) var(--scale-lightness-2) calc(c * var(--scale-chroma-2)) h);
136
+ --scale-purple-3: oklch(from var(--scale-purple-seed) var(--scale-lightness-3) calc(c * var(--scale-chroma-3)) h);
137
+ --scale-purple-4: oklch(from var(--scale-purple-seed) var(--scale-lightness-4) calc(c * var(--scale-chroma-4)) h);
138
+ --scale-purple-5: oklch(from var(--scale-purple-seed) var(--scale-lightness-5) calc(c * var(--scale-chroma-5)) h);
139
+ --scale-purple-6: oklch(from var(--scale-purple-seed) var(--scale-lightness-6) calc(c * var(--scale-chroma-6)) h);
140
+ --scale-purple-7: oklch(from var(--scale-purple-seed) var(--scale-lightness-7) calc(c * var(--scale-chroma-7)) h);
141
+ --scale-purple-8: oklch(from var(--scale-purple-seed) var(--scale-lightness-8) calc(c * var(--scale-chroma-8)) h);
142
+ --scale-purple-9: var(--scale-purple-seed);
143
+ --scale-purple-10: oklch(from var(--scale-purple-seed) calc(l - 0.05) c h);
144
+ --scale-purple-11: oklch(from var(--scale-purple-seed) var(--scale-lightness-11) calc(c * var(--scale-chroma-11)) h);
145
+ --scale-purple-12: oklch(from var(--scale-purple-seed) var(--scale-lightness-12) calc(c * var(--scale-chroma-12)) h);
146
+ --scale-pink-1: oklch(from var(--scale-pink-seed) var(--scale-lightness-1) calc(c * var(--scale-chroma-1)) h);
147
+ --scale-pink-2: oklch(from var(--scale-pink-seed) var(--scale-lightness-2) calc(c * var(--scale-chroma-2)) h);
148
+ --scale-pink-3: oklch(from var(--scale-pink-seed) var(--scale-lightness-3) calc(c * var(--scale-chroma-3)) h);
149
+ --scale-pink-4: oklch(from var(--scale-pink-seed) var(--scale-lightness-4) calc(c * var(--scale-chroma-4)) h);
150
+ --scale-pink-5: oklch(from var(--scale-pink-seed) var(--scale-lightness-5) calc(c * var(--scale-chroma-5)) h);
151
+ --scale-pink-6: oklch(from var(--scale-pink-seed) var(--scale-lightness-6) calc(c * var(--scale-chroma-6)) h);
152
+ --scale-pink-7: oklch(from var(--scale-pink-seed) var(--scale-lightness-7) calc(c * var(--scale-chroma-7)) h);
153
+ --scale-pink-8: oklch(from var(--scale-pink-seed) var(--scale-lightness-8) calc(c * var(--scale-chroma-8)) h);
154
+ --scale-pink-9: var(--scale-pink-seed);
155
+ --scale-pink-10: oklch(from var(--scale-pink-seed) calc(l - 0.05) c h);
156
+ --scale-pink-11: oklch(from var(--scale-pink-seed) var(--scale-lightness-11) calc(c * var(--scale-chroma-11)) h);
157
+ --scale-pink-12: oklch(from var(--scale-pink-seed) var(--scale-lightness-12) calc(c * var(--scale-chroma-12)) h);
158
+
5
159
  --primary: oklch(0.2046 0 0);
6
160
  --primary-foreground: oklch(0.9851 0 0);
7
- --foreground: oklch(0.1448 0 0);
8
- --secondary-foreground: oklch(0.1448 0 0);
9
- --accent-foreground: oklch(0.1448 0 0);
161
+ --foreground: var(--scale-neutral-12);
162
+ --secondary-foreground: var(--scale-neutral-12);
163
+ --accent-foreground: var(--scale-neutral-12);
10
164
 
11
- --background: oklch(1 0 0);
12
- --card: oklch(1 0 0);
13
- --card-foreground: oklch(0.1448 0 0);
14
- --popover: oklch(1 0 0);
15
- --popover-foreground: oklch(0.1448 0 0);
16
- --canvas: oklch(1 0 0);
165
+ --background: var(--scale-neutral-1);
166
+ --card: var(--scale-neutral-1);
167
+ --card-foreground: var(--scale-neutral-12);
168
+ --popover: var(--scale-neutral-1);
169
+ --popover-foreground: var(--scale-neutral-12);
170
+ --canvas: var(--scale-neutral-1);
17
171
 
18
172
  --radius: 0px;
19
173
  --shadow-size: 0;
@@ -27,14 +181,14 @@
27
181
  --padding-x: 16px;
28
182
  --padding-y: 10px;
29
183
 
30
- --muted: oklch(0.9425 0 0);
31
- --muted-foreground: oklch(0.52 0 0);
32
- --secondary: oklch(0.9425 0 0);
33
- --accent: oklch(0.9295 0 0);
184
+ --muted: var(--scale-neutral-3);
185
+ --muted-foreground: var(--scale-neutral-11);
186
+ --secondary: var(--scale-neutral-3);
187
+ --accent: var(--scale-neutral-4);
34
188
  --destructive: oklch(0.568 0.1961 32);
35
189
  --destructive-foreground: oklch(0.9852 0.0058 85);
36
- --border: oklch(0.8851 0 0 / var(--ring-opacity));
37
- --input: oklch(0.8851 0 0);
190
+ --border: oklch(from var(--scale-neutral-6) l c h / var(--ring-opacity));
191
+ --input: var(--scale-neutral-6);
38
192
  --ring: oklch(0.5 0 0);
39
193
  --text-label: 0.75rem;
40
194
  --radius-control: calc(var(--radius) * 2);
@@ -55,10 +209,14 @@
55
209
  --z-tooltip: 90;
56
210
  --z-toast: 95;
57
211
  --popover-padding: 0.25rem;
212
+ --composer-padding: calc(var(--spacing) * 2.5);
58
213
  --font-body: var(--font-sans);
59
214
  --font-display: var(--font-sans);
60
- --primary-text: oklch(from var(--primary) 0.48 c h);
215
+ --primary-text: var(--scale-primary-11);
61
216
  --destructive-text: oklch(from var(--destructive) 0.48 c h);
217
+ --success-text: var(--scale-green-11);
218
+ --warning-text: var(--scale-yellow-11);
219
+ --info-text: var(--scale-blue-11);
62
220
  --ring-opacity: 1;
63
221
  --focus-ring: var(--ring);
64
222
  --focus-ring-width: 2px;
@@ -67,6 +225,7 @@
67
225
 
68
226
  --control-rim: var(--border);
69
227
  --control-rim-width: 1px;
228
+ --control-fill: oklch(from var(--card) l c h / 0.72);
70
229
  --hover-fill: oklch(from var(--foreground) l c h / 0.06);
71
230
  --active-fill: oklch(from var(--foreground) l c h / 0.08);
72
231
 
@@ -95,6 +254,10 @@
95
254
  --corner-shape: round;
96
255
  --corner-radius-fit: 0.5;
97
256
  --radius-popover: calc(var(--radius-popup-item-fit) + clamp(0px, var(--radius-popup-item-fit) * 1000, var(--popover-padding)));
257
+ --radius-composer: calc(
258
+ min(var(--radius-control), calc(var(--control-h-xs) / 2)) +
259
+ clamp(0px, min(var(--radius-control), calc(var(--control-h-xs) / 2)) * 1000, var(--composer-padding) + var(--control-rim-width))
260
+ );
98
261
 
99
262
  --shadow-highlight: oklch(1 0 0 / 0.62);
100
263
  --shadow-y: 1;
@@ -112,42 +275,43 @@
112
275
  --badge-neutral-foreground: var(--foreground);
113
276
  --badge-neutral-border: oklch(from var(--foreground) l c h / 0.1);
114
277
  --badge-neutral-hover: oklch(from var(--foreground) l c h / 0.12);
115
- --badge-red: oklch(from var(--color-red-500) l c h / 0.14);
116
- --badge-red-foreground: var(--color-red-800);
117
- --badge-red-border: oklch(from var(--color-red-500) l c h / 0.18);
118
- --badge-red-hover: oklch(from var(--color-red-500) l c h / 0.2);
119
- --badge-orange: oklch(from var(--color-orange-500) l c h / 0.16);
120
- --badge-orange-foreground: var(--color-orange-800);
121
- --badge-orange-border: oklch(from var(--color-orange-500) l c h / 0.2);
122
- --badge-orange-hover: oklch(from var(--color-orange-500) l c h / 0.24);
123
- --badge-yellow: oklch(from var(--color-yellow-400) l c h / 0.2);
124
- --badge-yellow-foreground: var(--color-yellow-900);
125
- --badge-yellow-border: oklch(from var(--color-yellow-400) l c h / 0.24);
126
- --badge-yellow-hover: oklch(from var(--color-yellow-400) l c h / 0.28);
127
- --badge-green: oklch(from var(--color-green-500) l c h / 0.16);
128
- --badge-green-foreground: var(--color-green-800);
129
- --badge-green-border: oklch(from var(--color-green-500) l c h / 0.2);
130
- --badge-green-hover: oklch(from var(--color-green-500) l c h / 0.24);
131
- --badge-blue: oklch(from var(--color-blue-500) l c h / 0.16);
132
- --badge-blue-foreground: var(--color-blue-800);
133
- --badge-blue-border: oklch(from var(--color-blue-500) l c h / 0.2);
134
- --badge-blue-hover: oklch(from var(--color-blue-500) l c h / 0.24);
135
- --badge-purple: oklch(from var(--color-purple-500) l c h / 0.16);
136
- --badge-purple-foreground: var(--color-purple-800);
137
- --badge-purple-border: oklch(from var(--color-purple-500) l c h / 0.2);
138
- --badge-purple-hover: oklch(from var(--color-purple-500) l c h / 0.24);
139
- --badge-pink: oklch(from var(--color-pink-500) l c h / 0.16);
140
- --badge-pink-foreground: var(--color-pink-800);
141
- --badge-pink-border: oklch(from var(--color-pink-500) l c h / 0.2);
142
- --badge-pink-hover: oklch(from var(--color-pink-500) l c h / 0.24);
278
+ --badge-fill-alpha: 0.16;
279
+ --badge-border-alpha: 0.2;
280
+ --badge-hover-alpha: 0.24;
281
+ --badge-red: oklch(from var(--scale-red-9) l c h / var(--badge-fill-alpha));
282
+ --badge-red-foreground: var(--scale-red-11);
283
+ --badge-red-border: oklch(from var(--scale-red-9) l c h / var(--badge-border-alpha));
284
+ --badge-red-hover: oklch(from var(--scale-red-9) l c h / var(--badge-hover-alpha));
285
+ --badge-orange: oklch(from var(--scale-orange-9) l c h / var(--badge-fill-alpha));
286
+ --badge-orange-foreground: var(--scale-orange-11);
287
+ --badge-orange-border: oklch(from var(--scale-orange-9) l c h / var(--badge-border-alpha));
288
+ --badge-orange-hover: oklch(from var(--scale-orange-9) l c h / var(--badge-hover-alpha));
289
+ --badge-yellow: oklch(from var(--scale-yellow-9) l c h / var(--badge-fill-alpha));
290
+ --badge-yellow-foreground: var(--scale-yellow-11);
291
+ --badge-yellow-border: oklch(from var(--scale-yellow-9) l c h / var(--badge-border-alpha));
292
+ --badge-yellow-hover: oklch(from var(--scale-yellow-9) l c h / var(--badge-hover-alpha));
293
+ --badge-green: oklch(from var(--scale-green-9) l c h / var(--badge-fill-alpha));
294
+ --badge-green-foreground: var(--scale-green-11);
295
+ --badge-green-border: oklch(from var(--scale-green-9) l c h / var(--badge-border-alpha));
296
+ --badge-green-hover: oklch(from var(--scale-green-9) l c h / var(--badge-hover-alpha));
297
+ --badge-blue: oklch(from var(--scale-blue-9) l c h / var(--badge-fill-alpha));
298
+ --badge-blue-foreground: var(--scale-blue-11);
299
+ --badge-blue-border: oklch(from var(--scale-blue-9) l c h / var(--badge-border-alpha));
300
+ --badge-blue-hover: oklch(from var(--scale-blue-9) l c h / var(--badge-hover-alpha));
301
+ --badge-purple: oklch(from var(--scale-purple-9) l c h / var(--badge-fill-alpha));
302
+ --badge-purple-foreground: var(--scale-purple-11);
303
+ --badge-purple-border: oklch(from var(--scale-purple-9) l c h / var(--badge-border-alpha));
304
+ --badge-purple-hover: oklch(from var(--scale-purple-9) l c h / var(--badge-hover-alpha));
305
+ --badge-pink: oklch(from var(--scale-pink-9) l c h / var(--badge-fill-alpha));
306
+ --badge-pink-foreground: var(--scale-pink-11);
307
+ --badge-pink-border: oklch(from var(--scale-pink-9) l c h / var(--badge-border-alpha));
308
+ --badge-pink-hover: oklch(from var(--scale-pink-9) l c h / var(--badge-hover-alpha));
143
309
  --radius-sm: calc(var(--radius) * 0.6);
144
310
  --radius-md: calc(var(--radius) * 0.8);
145
311
  --radius-lg: var(--radius);
146
312
  --radius-xl: calc(var(--radius) * 1.4);
147
313
  --radius-2xl: calc(var(--radius) * 1.6);
148
314
  --radius-popup-item-fit: min(var(--radius-popup-item), calc(var(--control-h-xs) / 2));
149
- --nest-safe: 1px;
150
- --nest-corner-ratio: 3.41421356;
151
315
  --control-h-md: var(--control-h);
152
316
  --sidebar: var(--canvas);
153
317
  --sidebar-foreground: var(--foreground);
@@ -160,63 +324,47 @@
160
324
  }
161
325
 
162
326
  :where(.dark:root, .dark[data-skin], .dark [data-skin]) {
327
+ --scale-neutral-lightness-1: 0.1448;
328
+ --scale-neutral-lightness-2: 0.2046;
329
+ --scale-neutral-lightness-3: 0.2668;
330
+ --scale-neutral-lightness-4: 0.2864;
331
+ --scale-neutral-lightness-5: 0.297;
332
+ --scale-neutral-lightness-6: 0.3082;
333
+ --scale-neutral-lightness-7: 0.37;
334
+ --scale-neutral-lightness-8: 0.46;
335
+ --scale-neutral-lightness-9: 0.56;
336
+ --scale-neutral-lightness-10: 0.62;
337
+ --scale-neutral-lightness-11: 0.7405;
338
+ --scale-neutral-lightness-12: 0.9851;
339
+ --scale-lightness-1: 0.18;
340
+ --scale-lightness-2: 0.21;
341
+ --scale-lightness-3: 0.25;
342
+ --scale-lightness-4: 0.29;
343
+ --scale-lightness-5: 0.33;
344
+ --scale-lightness-6: 0.38;
345
+ --scale-lightness-7: 0.44;
346
+ --scale-lightness-8: 0.52;
347
+ --scale-lightness-11: 0.86;
348
+ --scale-lightness-12: 0.93;
349
+
163
350
  --primary: oklch(0.9851 0 0);
164
351
  --primary-foreground: oklch(0.2046 0 0);
165
- --foreground: oklch(0.9851 0 0);
166
- --card-foreground: oklch(0.9851 0 0);
167
- --popover-foreground: oklch(0.9851 0 0);
168
- --secondary-foreground: oklch(0.9851 0 0);
169
- --accent-foreground: oklch(0.9851 0 0);
170
- --background: oklch(0.1448 0 0);
171
- --card: oklch(0.2046 0 0);
172
- --popover: oklch(0.2046 0 0);
173
- --canvas: oklch(0.1448 0 0);
174
-
175
- --muted: oklch(0.2668 0 0);
176
- --muted-foreground: oklch(0.7405 0 0);
177
- --secondary: oklch(0.2668 0 0);
178
- --accent: oklch(0.2864 0 0);
352
+ --card: var(--scale-neutral-2);
353
+ --popover: var(--scale-neutral-2);
354
+
179
355
  --destructive: oklch(0.551 0.1799 32);
180
356
  --destructive-foreground: oklch(0.9645 0.008 84);
181
- --border: oklch(0.3082 0 0 / var(--ring-opacity));
182
- --input: oklch(0.3082 0 0);
183
357
  --ring: oklch(0.66 0 0);
184
358
  --focus-ring: oklch(0.66 0 0);
185
359
  --shadow-color: oklch(0 0 0);
186
- --primary-text: oklch(from var(--primary) 0.78 c h);
187
360
  --destructive-text: oklch(from var(--destructive) 0.78 c h);
188
361
  --shadow-highlight: oklch(1 0 0 / 0.055);
189
362
  --badge-neutral: oklch(from var(--foreground) l c h / 0.1);
190
363
  --badge-neutral-border: oklch(from var(--foreground) l c h / 0.12);
191
364
  --badge-neutral-hover: oklch(from var(--foreground) l c h / 0.14);
192
- --badge-red: oklch(from var(--color-red-400) l c h / 0.18);
193
- --badge-red-foreground: var(--color-red-300);
194
- --badge-red-border: oklch(from var(--color-red-400) l c h / 0.22);
195
- --badge-red-hover: oklch(from var(--color-red-400) l c h / 0.26);
196
- --badge-orange: oklch(from var(--color-orange-400) l c h / 0.2);
197
- --badge-orange-foreground: var(--color-orange-300);
198
- --badge-orange-border: oklch(from var(--color-orange-400) l c h / 0.24);
199
- --badge-orange-hover: oklch(from var(--color-orange-400) l c h / 0.28);
200
- --badge-yellow: oklch(from var(--color-yellow-400) l c h / 0.22);
201
- --badge-yellow-foreground: var(--color-yellow-300);
202
- --badge-yellow-border: oklch(from var(--color-yellow-400) l c h / 0.26);
203
- --badge-yellow-hover: oklch(from var(--color-yellow-400) l c h / 0.3);
204
- --badge-green: oklch(from var(--color-green-400) l c h / 0.2);
205
- --badge-green-foreground: var(--color-green-300);
206
- --badge-green-border: oklch(from var(--color-green-400) l c h / 0.24);
207
- --badge-green-hover: oklch(from var(--color-green-400) l c h / 0.28);
208
- --badge-blue: oklch(from var(--color-blue-400) l c h / 0.2);
209
- --badge-blue-foreground: var(--color-blue-300);
210
- --badge-blue-border: oklch(from var(--color-blue-400) l c h / 0.24);
211
- --badge-blue-hover: oklch(from var(--color-blue-400) l c h / 0.28);
212
- --badge-purple: oklch(from var(--color-purple-400) l c h / 0.2);
213
- --badge-purple-foreground: var(--color-purple-300);
214
- --badge-purple-border: oklch(from var(--color-purple-400) l c h / 0.24);
215
- --badge-purple-hover: oklch(from var(--color-purple-400) l c h / 0.28);
216
- --badge-pink: oklch(from var(--color-pink-400) l c h / 0.2);
217
- --badge-pink-foreground: var(--color-pink-300);
218
- --badge-pink-border: oklch(from var(--color-pink-400) l c h / 0.24);
219
- --badge-pink-hover: oklch(from var(--color-pink-400) l c h / 0.28);
365
+ --badge-fill-alpha: 0.2;
366
+ --badge-border-alpha: 0.24;
367
+ --badge-hover-alpha: 0.28;
220
368
  }
221
369
 
222
370
  @custom-variant dark (&:is(.dark *));
@@ -286,6 +434,9 @@
286
434
  --color-destructive: var(--destructive);
287
435
  --color-destructive-foreground: var(--destructive-foreground);
288
436
  --color-destructive-text: var(--destructive-text);
437
+ --color-success-text: var(--success-text);
438
+ --color-warning-text: var(--warning-text);
439
+ --color-info-text: var(--info-text);
289
440
  --color-border: var(--border);
290
441
  --color-input: var(--input);
291
442
  --color-ring: var(--ring);
@@ -420,6 +571,10 @@
420
571
  calc(12px * var(--shadow-size) * var(--shadow-ambient-multiplier)) calc(-2.5px * var(--shadow-size) * var(--shadow-ambient-multiplier))
421
572
  oklch(from var(--shadow-color) l c h / calc(0.05 * var(--shadow-opacity)));
422
573
 
574
+ --shadow-overlay:
575
+ 0 0 16px -4px oklch(from var(--shadow-color) l c h / calc(0.03 * var(--shadow-opacity))),
576
+ 0 0 56px -8px oklch(from var(--shadow-color) l c h / calc(0.07 * var(--shadow-opacity)));
577
+
423
578
  --shadow-inset:
424
579
  inset 0 calc(1px * var(--shadow-size) * var(--shadow-control-multiplier) * var(--shadow-y))
425
580
  calc(2px * var(--shadow-size) * var(--shadow-control-multiplier))
@@ -452,6 +607,10 @@
452
607
  --radius-popup-item: calc(var(--radius-control) * 0.6);
453
608
  --radius-popup-item-fit: min(var(--radius-popup-item), calc(var(--control-h-xs) / 2));
454
609
  --radius-popover: calc(var(--radius-popup-item-fit) + clamp(0px, var(--radius-popup-item-fit) * 1000, var(--popover-padding)));
610
+ --radius-composer: calc(
611
+ min(var(--radius-control), calc(var(--control-h-xs) / 2)) +
612
+ clamp(0px, min(var(--radius-control), calc(var(--control-h-xs) / 2)) * 1000, var(--composer-padding) + var(--control-rim-width))
613
+ );
455
614
 
456
615
  --radius-sm: calc(var(--radius) * 0.6 * var(--corner-radius-fit));
457
616
  --radius-md: calc(var(--radius) * 0.8 * var(--corner-radius-fit));
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { cn } from "../lib/cn.js";
3
2
  import { controlEffectsAttribute } from "../skin.js";
3
+ import { cn } from "../lib/cn.js";
4
4
  import { useSkin } from "../skin-provider.js";
5
5
  import { Button } from "./button.js";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { cn } from "../lib/cn.js";
3
2
  import { controlEffectsAttribute } from "../skin.js";
3
+ import { cn } from "../lib/cn.js";
4
4
  import { useSkin } from "../skin-provider.js";
5
5
  import { ScrollArea } from "./scroll-area.js";
6
6
  import { popupItemStructureClasses } from "../surface-variants.js";
@@ -120,6 +120,10 @@ function AutocompleteItem({ className, children, disabled, ...props }) {
120
120
  className: cn(popupItemStructureClasses, className),
121
121
  ...props,
122
122
  children: /* @__PURE__ */ jsx("span", {
123
+ "data-control-ui": "autocomplete",
124
+ "data-control-family": "popup",
125
+ "data-popup-kind": "autocomplete",
126
+ "data-slot": "item-text",
123
127
  className: "flex min-w-0 flex-1 items-center truncate",
124
128
  children
125
129
  })
package/dist/ui/button.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { cn } from "../lib/cn.js";
3
2
  import { skinAdornment } from "../skin.js";
3
+ import { cn } from "../lib/cn.js";
4
4
  import { useSkin } from "../skin-provider.js";
5
5
  import { Children, Fragment, createContext, isValidElement, useContext } from "react";
6
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
7
  import { Button as Button$1 } from "@base-ui/react/button";
7
8
  import { useRender } from "@base-ui/react/use-render";
8
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
9
  //#region src/ui/button.tsx
10
10
  const ButtonTrackContext = createContext(false);
11
11
  const buttonShapes = ["default", "circle"];
@@ -25,7 +25,7 @@ function CheckboxGroupItem({ className, htmlFor, children, ...props }) {
25
25
  "data-control-ui": "checkbox-group",
26
26
  "data-slot": "item",
27
27
  "data-track-item": "",
28
- className: cn("flex cursor-pointer items-start gap-2.5 rounded-(--radius-control) p-2 text-body has-[[data-disabled]]:cursor-not-allowed", className),
28
+ className: cn("flex cursor-pointer items-start gap-2.5 rounded-(--radius-control) p-2 text-body has-[[data-disabled]]:cursor-not-allowed [&>[data-control-family=choice]]:mt-[calc((1lh_-_var(--spacing)*4)/2)]", className),
29
29
  ...props,
30
30
  children
31
31
  });
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
- import { ScrollArea } from "./scroll-area.js";
4
3
  import { highlightToTokens, mergeCodeTokenLineWithEmphasis } from "../lib/code-tokens.js";
4
+ import { ScrollArea } from "./scroll-area.js";
5
5
  import { CodeCopy, CodeFloatingCopy, CodeTokenLine } from "./code.js";
6
6
  import { buildDiffFromFiles, buildDiffFromPatch, diffRunEnd } from "../lib/diff.js";
7
7
  import { useEffect, useMemo, useRef, useState } from "react";
package/dist/ui/code.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { useCopyToClipboard } from "../hooks/use-copy-to-clipboard.js";
3
2
  import { cn } from "../lib/cn.js";
4
3
  import { Button } from "./button.js";
5
- import { ScrollArea } from "./scroll-area.js";
4
+ import { useCopyToClipboard } from "../hooks/use-copy-to-clipboard.js";
6
5
  import { highlightToTokens } from "../lib/code-tokens.js";
6
+ import { ScrollArea } from "./scroll-area.js";
7
7
  import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
8
8
  import { Children, createContext, isValidElement, useContext, useEffect, useMemo, useRef, useState } from "react";
9
9
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -104,7 +104,7 @@ function CodeCopy({ value, copiedLabel, copiedAriaLabel = "Copied", children, cl
104
104
  function CodeFloatingCopy({ className, ...props }) {
105
105
  return /* @__PURE__ */ jsx(CodeCopy, {
106
106
  "data-code-floating": "true",
107
- className: cn("absolute top-2 right-2 z-10", className),
107
+ className: cn("absolute z-10", className),
108
108
  ...props
109
109
  });
110
110
  }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
- import { useRender } from "@base-ui/react/use-render";
4
3
  import { jsx } from "react/jsx-runtime";
4
+ import { useRender } from "@base-ui/react/use-render";
5
5
  import { Collapsible as Collapsible$1 } from "@base-ui/react/collapsible";
6
6
  //#region src/ui/collapsible.tsx
7
7
  function CollapsibleTriggerElement({ triggerProps, open, render, className, children }) {
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { cn } from "../lib/cn.js";
3
2
  import { controlEffectsAttribute } from "../skin.js";
3
+ import { cn } from "../lib/cn.js";
4
4
  import { useSkin } from "../skin-provider.js";
5
5
  import { Button } from "./button.js";
6
6
  import { Input } from "./input.js";
7
+ import { useColorArea } from "../hooks/use-color-area.js";
7
8
  import { formatColor, getChannels, hsvaToRgba, parseColor, pointToHueSat, pointToSaturationValue, setChannel } from "../lib/color.js";
8
9
  import { TARGET_RATIO, contrastOf, fixColorForContrast, nextFixLevel, wcagLevels } from "../lib/contrast.js";
9
- import { useColorArea } from "../hooks/use-color-area.js";
10
10
  import { NumberField, NumberFieldGroup, NumberFieldInput } from "./number-field.js";
11
11
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "./select.js";
12
12
  import { createContext, useContext, useEffect, useRef, useState, useSyncExternalStore } from "react";
@@ -1,4 +1,4 @@
1
1
  //#region src/ui/combobox-disabled-selection.d.ts
2
- export declare function shouldAcceptComboboxValueChange<Value>(value: Value | null, disabledValues: ReadonlySet<unknown>): boolean;
2
+ export declare function shouldAcceptComboboxValueChange<Value>(value: Value | null, disabledValues: ReadonlySet<unknown>, multiple?: boolean): boolean;
3
3
  export declare function emitComboboxValueChange<Value>(value: Value | null, disabledValues: ReadonlySet<unknown>, onValueChange: (value: Value | null) => void): boolean;
4
4
  //#endregion
@@ -1,5 +1,6 @@
1
1
  //#region src/ui/combobox-disabled-selection.ts
2
- function shouldAcceptComboboxValueChange(value, disabledValues) {
2
+ function shouldAcceptComboboxValueChange(value, disabledValues, multiple = false) {
3
+ if (multiple && Array.isArray(value)) return value.every((item) => !disabledValues.has(item));
3
4
  return value === null || !disabledValues.has(value);
4
5
  }
5
6
  function emitComboboxValueChange(value, disabledValues, onValueChange) {
@@ -1,30 +1,11 @@
1
- import { OpenChangeEventDetails } from "../control-props.js";
2
1
  import { ControlSize } from "../control-variants.js";
3
2
  import { PopupKnobStyle } from "../knob-contracts/popup-knobs.js";
4
3
  import { FieldKnobStyle } from "../knob-contracts/field-knobs.js";
5
4
  import { CSSProperties, ComponentProps, ReactNode } from "react";
6
5
  import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
7
6
  //#region src/ui/combobox.d.ts
8
- export type ComboboxProps<Value = string> = {
9
- children?: ReactNode;
7
+ export type ComboboxProps<Value = string, Multiple extends boolean | undefined = false> = Pick<Combobox$1.Root.Props<Value, Multiple>, "children" | "multiple" | "value" | "defaultValue" | "onValueChange" | "inputValue" | "defaultInputValue" | "onInputValueChange" | "open" | "defaultOpen" | "onOpenChange" | "disabled" | "readOnly" | "required" | "name" | "autoHighlight" | "itemToStringLabel" | "isItemEqualToValue" | "filter" | "modal"> & {
10
8
  items?: readonly Value[];
11
- value?: Value | null;
12
- defaultValue?: Value | null;
13
- onValueChange?: (value: Value | null) => void;
14
- inputValue?: string;
15
- defaultInputValue?: string;
16
- onInputValueChange?: (inputValue: string) => void;
17
- open?: boolean;
18
- defaultOpen?: boolean;
19
- onOpenChange?: (open: boolean, eventDetails: OpenChangeEventDetails) => void;
20
- disabled?: boolean;
21
- readOnly?: boolean;
22
- required?: boolean;
23
- name?: string;
24
- autoHighlight?: boolean;
25
- itemToStringLabel?: (itemValue: Value) => string;
26
- isItemEqualToValue?: (itemValue: Value, value: Value) => boolean;
27
- filter?: Combobox$1.Root.Props<Value>["filter"];
28
9
  };
29
10
  export type ComboboxInputProps = Omit<Omit<ComponentProps<"input">, "size">, "style"> & {
30
11
  style?: CSSProperties & FieldKnobStyle;
@@ -34,8 +15,9 @@ export type ComboboxInputProps = Omit<Omit<ComponentProps<"input">, "size">, "st
34
15
  export type ComboboxTriggerProps = ComponentProps<"button"> & {
35
16
  style?: CSSProperties & FieldKnobStyle;
36
17
  };
37
- export type ComboboxContentProps = Omit<ComponentProps<"div"> & {
18
+ export type ComboboxContentProps = Omit<Combobox$1.Popup.Props & {
38
19
  sideOffset?: number;
20
+ anchor?: Combobox$1.Positioner.Props["anchor"];
39
21
  }, "style"> & {
40
22
  style?: CSSProperties & PopupKnobStyle;
41
23
  };
@@ -59,10 +41,10 @@ export type ComboboxGroupProps = ComponentProps<"div"> & {
59
41
  export type ComboboxGroupLabelProps = Omit<ComponentProps<"div">, "style"> & {
60
42
  style?: CSSProperties & PopupKnobStyle;
61
43
  };
62
- export declare function Combobox<Value = string>({ children, onValueChange, autoHighlight, ...props }: ComboboxProps<Value>): import("react").JSX.Element;
44
+ export declare function Combobox<Value = string, Multiple extends boolean | undefined = false>({ children, onValueChange, autoHighlight, ...props }: ComboboxProps<Value, Multiple>): import("react").JSX.Element;
63
45
  export declare function ComboboxTrigger({ className, children, ...props }: ComboboxTriggerProps): import("react").JSX.Element;
64
46
  export declare function ComboboxInput({ size, className, ...props }: ComboboxInputProps): import("react").JSX.Element;
65
- export declare function ComboboxContent({ className, children, sideOffset, ...props }: ComboboxContentProps): import("react").JSX.Element;
47
+ export declare function ComboboxContent({ className, children, sideOffset, anchor, ...props }: ComboboxContentProps): import("react").JSX.Element;
66
48
  export declare function ComboboxList<Value = unknown>({ className, children, ...props }: ComboboxListProps<Value>): import("react").JSX.Element;
67
49
  export declare function ComboboxEmpty({ className, children, ...props }: ComboboxEmptyProps): import("react").JSX.Element;
68
50
  export declare function ComboboxItem<Value = unknown>({ className, children, disabled, value, ...props }: ComboboxItemProps<Value>): import("react").JSX.Element;