@cueplusplus/ui 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +258 -0
  2. package/README.md +26 -0
  3. package/dist/chat/message-list.js +2 -1
  4. package/dist/chrome/_tabs-scroll.d.ts +17 -1
  5. package/dist/chrome/_tabs-scroll.js +20 -3
  6. package/dist/chrome/app-bar.js +2 -1
  7. package/dist/chrome/band.js +3 -1
  8. package/dist/chrome/panel.js +2 -1
  9. package/dist/color/color-field.d.ts +2 -1
  10. package/dist/color/color-picker.d.ts +2 -1
  11. package/dist/date/date-field.d.ts +2 -1
  12. package/dist/date/date-picker.d.ts +2 -1
  13. package/dist/date/date-range-picker.d.ts +2 -1
  14. package/dist/date/time-field.d.ts +2 -1
  15. package/dist/forms/_chassis-size.d.ts +22 -0
  16. package/dist/forms/_chassis.d.ts +3 -10
  17. package/dist/forms/_chassis.js +2 -1
  18. package/dist/forms/autocomplete.d.ts +2 -1
  19. package/dist/forms/combobox.d.ts +2 -1
  20. package/dist/forms/env-var-input.d.ts +2 -1
  21. package/dist/forms/index.d.ts +2 -1
  22. package/dist/forms/input-group.d.ts +2 -1
  23. package/dist/forms/input.d.ts +2 -1
  24. package/dist/forms/multi-select.d.ts +2 -1
  25. package/dist/forms/otp-field.d.ts +2 -1
  26. package/dist/forms/password-input.d.ts +2 -1
  27. package/dist/forms/scrub-input.d.ts +2 -1
  28. package/dist/forms/search-input.d.ts +2 -1
  29. package/dist/forms/select.d.ts +2 -1
  30. package/dist/forms/select.js +2 -1
  31. package/dist/forms/tags-input.d.ts +2 -1
  32. package/dist/forms/toggle-group.d.ts +1 -1
  33. package/dist/forms/toggle.d.ts +1 -1
  34. package/dist/index.d.ts +2 -1
  35. package/dist/instruments/log-viewer.js +2 -1
  36. package/dist/layout/card.js +3 -1
  37. package/dist/midi/musical-time-input.d.ts +2 -1
  38. package/dist/overlays/_surface.d.ts +1 -1
  39. package/dist/overlays/_surface.js +3 -1
  40. package/dist/primitives/button.js +2 -1
  41. package/dist/primitives/chip.d.ts +1 -1
  42. package/dist/system/_paint-elevation.js +9 -0
  43. package/dist/system/_paint-glass.js +46 -0
  44. package/dist/system/_paint-glow.js +32 -0
  45. package/dist/system/_paint-ground-pattern.js +30 -0
  46. package/dist/system/_paint-rim.js +41 -0
  47. package/dist/system/_paint-stroke-sunken.js +19 -0
  48. package/dist/system/_paint-stroke-surface-1.js +19 -0
  49. package/dist/system/_paint-stroke-surface-2.js +27 -0
  50. package/dist/system/_paint-texture.js +53 -0
  51. package/dist/system/theme-provider.d.ts +47 -36
  52. package/dist/system/theme-provider.js +13 -6
  53. package/manifest/components/alert-dialog.json +11 -0
  54. package/manifest/components/app-bar.json +4 -0
  55. package/manifest/components/autocomplete.json +11 -0
  56. package/manifest/components/band.json +8 -1
  57. package/manifest/components/button.json +4 -0
  58. package/manifest/components/card.json +6 -0
  59. package/manifest/components/channel-matrix.json +11 -0
  60. package/manifest/components/chart-tooltip-content.json +11 -0
  61. package/manifest/components/color-field.json +4 -0
  62. package/manifest/components/color-picker.json +4 -0
  63. package/manifest/components/combobox.json +11 -0
  64. package/manifest/components/command-palette.json +11 -0
  65. package/manifest/components/composer.json +4 -0
  66. package/manifest/components/context-menu.json +11 -0
  67. package/manifest/components/date-field.json +4 -0
  68. package/manifest/components/date-picker.json +4 -0
  69. package/manifest/components/date-range-picker.json +4 -0
  70. package/manifest/components/density.json +8 -2
  71. package/manifest/components/dialog.json +11 -0
  72. package/manifest/components/dmx-bar.json +11 -0
  73. package/manifest/components/dmx-strip.json +11 -0
  74. package/manifest/components/drawer.json +11 -0
  75. package/manifest/components/dropdown-menu.json +11 -0
  76. package/manifest/components/env-var-input.json +4 -0
  77. package/manifest/components/hover-card.json +11 -0
  78. package/manifest/components/input-group.json +4 -0
  79. package/manifest/components/input.json +4 -0
  80. package/manifest/components/log-viewer.json +7 -0
  81. package/manifest/components/menubar.json +11 -0
  82. package/manifest/components/message-list.json +7 -0
  83. package/manifest/components/multi-select.json +11 -0
  84. package/manifest/components/musical-time-input.json +4 -0
  85. package/manifest/components/navigation-menu.json +11 -0
  86. package/manifest/components/number-field.json +4 -0
  87. package/manifest/components/otp-field.json +4 -0
  88. package/manifest/components/panel-header.json +2 -0
  89. package/manifest/components/panel.json +2 -0
  90. package/manifest/components/password-input.json +4 -0
  91. package/manifest/components/popover.json +11 -0
  92. package/manifest/components/preview.json +8 -2
  93. package/manifest/components/scrollable-tabs-list.json +1 -0
  94. package/manifest/components/scrub-input.json +4 -0
  95. package/manifest/components/search-input.json +4 -0
  96. package/manifest/components/segmented-control.json +1 -0
  97. package/manifest/components/select.json +11 -0
  98. package/manifest/components/sheet.json +11 -0
  99. package/manifest/components/tabs.json +1 -0
  100. package/manifest/components/tags-input.json +11 -0
  101. package/manifest/components/textarea.json +4 -0
  102. package/manifest/components/theme-configurator.json +11 -0
  103. package/manifest/components/theme-provider.json +9 -3
  104. package/manifest/components/time-field.json +4 -0
  105. package/manifest/components/toast.json +11 -0
  106. package/manifest/components/toggle-group.json +1 -19
  107. package/manifest/components/toggle.json +0 -6
  108. package/manifest/components/toolbar.json +1 -0
  109. package/manifest/components/tooltip.json +11 -0
  110. package/manifest/manifest.json +59 -59
  111. package/manifest/tokens.json +21 -2
  112. package/package.json +5 -5
@@ -200,6 +200,17 @@
200
200
  "--cue-font-mono",
201
201
  "--cue-icon-md",
202
202
  "--cue-icon-sm",
203
+ "--cue-paint-rim-width",
204
+ "--cue-paint-shade-far",
205
+ "--cue-paint-shade-hairline",
206
+ "--cue-paint-shade-near",
207
+ "--cue-paint-shadow-scale",
208
+ "--cue-paint-shadow-spread",
209
+ "--cue-paint-sheen-ink",
210
+ "--cue-paint-stroke-angle",
211
+ "--cue-paint-stroke-from",
212
+ "--cue-paint-stroke-to",
213
+ "--cue-paint-stroke-width",
203
214
  "--cue-radius-control",
204
215
  "--cue-radius-overlay",
205
216
  "--cue-space-1",
@@ -169,6 +169,17 @@
169
169
  "--cue-fg-subtle",
170
170
  "--cue-font-mono",
171
171
  "--cue-leading-ui",
172
+ "--cue-paint-rim-width",
173
+ "--cue-paint-shade-far",
174
+ "--cue-paint-shade-hairline",
175
+ "--cue-paint-shade-near",
176
+ "--cue-paint-shadow-scale",
177
+ "--cue-paint-shadow-spread",
178
+ "--cue-paint-sheen-ink",
179
+ "--cue-paint-stroke-angle",
180
+ "--cue-paint-stroke-from",
181
+ "--cue-paint-stroke-to",
182
+ "--cue-paint-stroke-width",
172
183
  "--cue-radius-control",
173
184
  "--cue-radius-overlay",
174
185
  "--cue-scrim",
@@ -107,6 +107,7 @@
107
107
  "--cue-fg-muted",
108
108
  "--cue-font-mono",
109
109
  "--cue-icon-sm",
110
+ "--cue-paint-fade-length",
110
111
  "--cue-radius-control",
111
112
  "--cue-space-1",
112
113
  "--cue-space-2",
@@ -212,6 +212,17 @@
212
212
  "--cue-font-mono",
213
213
  "--cue-icon-sm",
214
214
  "--cue-leading-ui",
215
+ "--cue-paint-rim-width",
216
+ "--cue-paint-shade-far",
217
+ "--cue-paint-shade-hairline",
218
+ "--cue-paint-shade-near",
219
+ "--cue-paint-shadow-scale",
220
+ "--cue-paint-shadow-spread",
221
+ "--cue-paint-sheen-ink",
222
+ "--cue-paint-stroke-angle",
223
+ "--cue-paint-stroke-from",
224
+ "--cue-paint-stroke-to",
225
+ "--cue-paint-stroke-width",
215
226
  "--cue-radius-control",
216
227
  "--cue-radius-overlay",
217
228
  "--cue-scrim",
@@ -67,6 +67,10 @@
67
67
  "--cue-focus",
68
68
  "--cue-font-mono",
69
69
  "--cue-leading-ui",
70
+ "--cue-paint-stroke-angle",
71
+ "--cue-paint-stroke-from",
72
+ "--cue-paint-stroke-to",
73
+ "--cue-paint-stroke-width",
70
74
  "--cue-radius-control",
71
75
  "--cue-space-3",
72
76
  "--cue-space-4",
@@ -129,6 +129,17 @@
129
129
  "--cue-font-sans",
130
130
  "--cue-icon-sm",
131
131
  "--cue-leading-ui",
132
+ "--cue-paint-rim-width",
133
+ "--cue-paint-shade-far",
134
+ "--cue-paint-shade-hairline",
135
+ "--cue-paint-shade-near",
136
+ "--cue-paint-shadow-scale",
137
+ "--cue-paint-shadow-spread",
138
+ "--cue-paint-sheen-ink",
139
+ "--cue-paint-stroke-angle",
140
+ "--cue-paint-stroke-from",
141
+ "--cue-paint-stroke-to",
142
+ "--cue-paint-stroke-width",
132
143
  "--cue-radius-control",
133
144
  "--cue-radius-overlay",
134
145
  "--cue-scrim",
@@ -96,14 +96,20 @@
96
96
  },
97
97
  {
98
98
  "name": "paint",
99
- "type": "\"none\"",
99
+ "type": "\"none\" | \"bevel\" | \"halo\" | \"hatch\" | \"lift\" | \"frost\" | \"grain\"",
100
100
  "required": false,
101
101
  "defaultValue": null,
102
102
  "description": "A look pack for this subtree. Opt-in: a provider that names none stamps no\n`data-paint`, and a nested one inherits the pack stamped around it.",
103
103
  "control": {
104
104
  "kind": "enum",
105
105
  "members": [
106
- "none"
106
+ "none",
107
+ "bevel",
108
+ "halo",
109
+ "hatch",
110
+ "lift",
111
+ "frost",
112
+ "grain"
107
113
  ]
108
114
  }
109
115
  },
@@ -162,7 +168,7 @@
162
168
  "type": "string",
163
169
  "required": false,
164
170
  "defaultValue": null,
165
- "description": "The Content-Security-Policy nonce for every `<style>` element this tree\nrenders — this library's and Base UI's.\n\nWhen `overrides.densities` is set this provider emits one `<style>`\nelement (see {@link ThemeProviderProps.overrides}). Under a policy of\n`style-src-elem 'self' 'nonce-<per-request>'` the browser refuses that\nelement on every page load, because an element React renders on the client\ncannot pick up a server nonce by itself. Pass the request's nonce here and\nit is set on the element.\n\nIt also reaches **Base UI**. Given a nonce, this provider renders\n`@base-ui/react`'s own `CSPProvider` around the tree, so the hoisted\n`<style>` that `ScrollAreaRoot` and `SelectPopup` emit carries it too.\nWithout that, a strict policy refuses it by content hash on every page\nrendering a Select, a Popover or a ScrollArea — and a consumer has no way\nto guess the remedy lives in a peer dependency's provider. An outer\n`CSPProvider` a consumer renders itself is left alone: no nonce here means\nno provider here, rather than one that overwrites theirs with `undefined`.\n\n`prepaintScript()` returns a *string* the application renders in a\n`<script>` of its own — so the application already controls that element's\nnonce, and between it and this prop a strict policy needs nothing else\nfrom here.\n\n**Pass this OR render your own `CSPProvider` — not both.** Base UI's\ncontext carries a second value beside the nonce, `disableStyleElements`,\nand its provider is the only public way to set either: the package exports\n`CSPProvider` and no hook, so a provider rendered here *replaces* an outer\none rather than extending it. Given a nonce this provider therefore sets\n`disableStyleElements` back to its default, and a consumer who had turned\nit on outside loses it silently — Base UI resumes emitting the very style\nelement they suppressed. An application already rendering its own\n`CSPProvider` needs nothing from this prop: leave it unset and the outer\ncontext survives untouched, which is the case\n`base-ui-nonce-outer-provider.test.tsx` pins.\n\n**A nonce cannot rescue a style ATTRIBUTE**, and this provider always sets\none on its root: `color-scheme` and `--cue-font-scale`, plus the font\nfamilies and overrides where they are given. CSP has no nonce form for\n`style-src-attr` — it is `'unsafe-inline'` or `'none'` — so an application\nserving `style-src-attr 'none'` loses those declarations, silently. That is\na policy decision rather than something this prop can change.",
171
+ "description": "The Content-Security-Policy nonce this provider hands on: to its own\ndensity-layer `<style>`, and — through Base UI's `CSPProvider` — to Base\nUI's scrollbar `<style>` and to the pre-hydration `<script>` a\n`<Slider thumbAlignment=\"edge\">` renders. List it in `script-src`, and in\nwhichever directive governs style elements: `style-src-elem` if the policy\nhas one, otherwise `style-src`. It does not reach `ThemeConfigurator`'s\n`<style>` or the application's pre-paint `<script>`.\n\nThe density layer — one `<style data-cue-overrides>` when\n`overrides.densities` yields a valid declaration (see\n{@link ThemeProviderProps.overrides}) — takes its nonce **from this prop\nalone**: not from an outer `CSPProvider`, and not from an outer\n`ThemeProvider`. A nested provider that sets its own `overrides.densities`\nneeds its own `nonce`.\n\nBase UI's scrollbar rule gets the nonce wherever React creates it in the\nbrowser. **It does not get it in server-rendered HTML** under a framework\nthat hands React a script-only nonce, which includes Next.js 16: React's\nserver renderer (19.2, and the canary Next.js 16 bundles) writes a\n`precedence` style's nonce only from its render option `nonce: { style }`.\nAllow that rule by hash, or turn on Base\nUI's `disableStyleElements` and ship the rule yourself;\n`docs/CONSUMING.md` §4.5 has both, with the hash.\n\n`prepaintScript()` returns a *string* the application renders in a\n`<script>` of its own, so put the same nonce on that element yourself.\n\n**An outer `CSPProvider` that sets `disableStyleElements` is switched off\ninside this provider once a nonce is given.** Base UI's `CSPProvider`\nbuilds its context from its own props alone, so the one rendered here\n*replaces* an outer one rather than extending it. Either leave this prop\nunset — only when no `overrides.densities` needs it and, wherever a\n`<Slider thumbAlignment=\"edge\">` renders, the outer provider carries the\nnonce — or render\n`<CSPProvider nonce={nonce} disableStyleElements>` again inside this\nprovider's children (with the nonce, or Base UI's pre-hydration script\nthere loses it), and again inside any nested provider given a nonce. An\napplication already rendering its own `CSPProvider` can leave this prop\nunset: Base UI's pre-hydration script takes the outer nonce, and so does\nits scrollbar rule wherever React creates it in the browser — the case\n`base-ui-nonce-outer-provider.test.tsx` pins — but the density layer then\nhas none.\n\n**A nonce cannot rescue a style ATTRIBUTE.** This provider's root always\ncarries one — `color-scheme` and `--cue-font-scale`, plus `fontFamilies`,\n`overrides.colors`, `overrides.fonts` and `style` where given — and many\ncomponents, and Base UI's form roots, render their own. A policy whose\n`style-src` (or, without one, `default-src`) does not allow all inline\nstyle — a nonce or a hash in it, or no `'unsafe-inline'` — therefore needs\nan explicit `style-src-attr 'unsafe-inline'`: a nonce or hash in the\ngoverning list makes the browser ignore `'unsafe-inline'`. The browser\nreports a refused attribute as a CSP violation; this library adds no\nwarning of its own.",
166
172
  "control": {
167
173
  "kind": "string"
168
174
  }
@@ -55,6 +55,10 @@
55
55
  "--cue-fg-subtle",
56
56
  "--cue-focus",
57
57
  "--cue-font-mono",
58
+ "--cue-paint-stroke-angle",
59
+ "--cue-paint-stroke-from",
60
+ "--cue-paint-stroke-to",
61
+ "--cue-paint-stroke-width",
58
62
  "--cue-radius-control",
59
63
  "--cue-space-1",
60
64
  "--cue-space-3",
@@ -81,6 +81,17 @@
81
81
  "--cue-info",
82
82
  "--cue-leading-ui",
83
83
  "--cue-ok",
84
+ "--cue-paint-rim-width",
85
+ "--cue-paint-shade-far",
86
+ "--cue-paint-shade-hairline",
87
+ "--cue-paint-shade-near",
88
+ "--cue-paint-shadow-scale",
89
+ "--cue-paint-shadow-spread",
90
+ "--cue-paint-sheen-ink",
91
+ "--cue-paint-stroke-angle",
92
+ "--cue-paint-stroke-from",
93
+ "--cue-paint-stroke-to",
94
+ "--cue-paint-stroke-width",
84
95
  "--cue-radius-control",
85
96
  "--cue-radius-overlay",
86
97
  "--cue-scrim",
@@ -85,25 +85,7 @@
85
85
  "variants": {},
86
86
  "defaultVariants": {},
87
87
  "tokensUsed": [
88
- "--cue-border",
89
- "--cue-border-strong",
90
- "--cue-control-lg",
91
- "--cue-control-md",
92
- "--cue-control-sm",
93
- "--cue-danger",
94
- "--cue-fg",
95
- "--cue-fg-subtle",
96
- "--cue-focus",
97
- "--cue-font-mono",
98
- "--cue-radius-control",
99
- "--cue-space-1",
100
- "--cue-space-3",
101
- "--cue-space-4",
102
- "--cue-space-5",
103
- "--cue-sunken",
104
- "--cue-text-body",
105
- "--cue-text-label",
106
- "--cue-text-ui"
88
+ "--cue-space-1"
107
89
  ],
108
90
  "summary": "A cluster of toggles sharing one pressed state — and it may be empty.",
109
91
  "examples": [
@@ -88,16 +88,11 @@
88
88
  "tokensUsed": [
89
89
  "--cue-accent",
90
90
  "--cue-accent-soft",
91
- "--cue-border",
92
- "--cue-border-strong",
93
91
  "--cue-control-lg",
94
92
  "--cue-control-md",
95
93
  "--cue-control-sm",
96
- "--cue-danger",
97
94
  "--cue-fg",
98
95
  "--cue-fg-muted",
99
- "--cue-fg-subtle",
100
- "--cue-focus",
101
96
  "--cue-font-mono",
102
97
  "--cue-icon-md",
103
98
  "--cue-icon-sm",
@@ -105,7 +100,6 @@
105
100
  "--cue-space-3",
106
101
  "--cue-space-4",
107
102
  "--cue-space-5",
108
- "--cue-sunken",
109
103
  "--cue-surface-2",
110
104
  "--cue-text-body",
111
105
  "--cue-text-label",
@@ -155,6 +155,7 @@
155
155
  "--cue-icon-md",
156
156
  "--cue-icon-sm",
157
157
  "--cue-pad-row-x",
158
+ "--cue-paint-fade-length",
158
159
  "--cue-radius-control",
159
160
  "--cue-space-1",
160
161
  "--cue-space-2",
@@ -148,6 +148,17 @@
148
148
  "--cue-fg-subtle",
149
149
  "--cue-font-mono",
150
150
  "--cue-leading-ui",
151
+ "--cue-paint-rim-width",
152
+ "--cue-paint-shade-far",
153
+ "--cue-paint-shade-hairline",
154
+ "--cue-paint-shade-near",
155
+ "--cue-paint-shadow-scale",
156
+ "--cue-paint-shadow-spread",
157
+ "--cue-paint-sheen-ink",
158
+ "--cue-paint-stroke-angle",
159
+ "--cue-paint-stroke-from",
160
+ "--cue-paint-stroke-to",
161
+ "--cue-paint-stroke-width",
151
162
  "--cue-radius-control",
152
163
  "--cue-radius-overlay",
153
164
  "--cue-scrim",