@ctrl-ui/react 0.8.2 → 0.8.5

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 (417) hide show
  1. package/README.md +32 -23
  2. package/dist/action-bar.d.ts +11 -12
  3. package/dist/activity.d.ts +24 -25
  4. package/dist/audio-recorder.d.ts +16 -16
  5. package/dist/audio-visualizer.d.ts +3 -4
  6. package/dist/audio-visualizer.js +1 -1
  7. package/dist/blocks/chat.d.ts +3 -4
  8. package/dist/blocks/chat.js +6 -3
  9. package/dist/blocks/coding-agent.d.ts +11 -12
  10. package/dist/blocks/coding-agent.js +10 -9
  11. package/dist/blocks/file-explorer-data.d.ts +11 -12
  12. package/dist/blocks/file-explorer.d.ts +3 -3
  13. package/dist/blocks/settings-data.d.ts +8 -9
  14. package/dist/blocks/settings.d.ts +4 -4
  15. package/dist/blocks/theme-toggle.d.ts +11 -12
  16. package/dist/blocks/theme-toggle.js +14 -4
  17. package/dist/chat-composer-attachment.d.ts +20 -21
  18. package/dist/chat-composer-attachment.js +24 -20
  19. package/dist/chat-composer-editor/extensions/mention.d.ts +5 -6
  20. package/dist/chat-composer-editor/extensions/mention.js +4 -0
  21. package/dist/chat-composer-editor/ghost.d.ts +3 -4
  22. package/dist/chat-composer-editor/schema.d.ts +2 -3
  23. package/dist/chat-composer-editor/serialize.d.ts +3 -4
  24. package/dist/chat-composer-editor/types.d.ts +5 -6
  25. package/dist/chat-composer-editor.d.ts +2 -3
  26. package/dist/chat-composer-editor.js +18 -4
  27. package/dist/chat-composer.d.ts +17 -18
  28. package/dist/chat-composer.js +14 -8
  29. package/dist/chat-layout.d.ts +17 -21
  30. package/dist/chat-layout.js +72 -86
  31. package/dist/chat-message.d.ts +19 -15
  32. package/dist/chat-message.js +19 -2
  33. package/dist/context-model.d.ts +7 -8
  34. package/dist/context.d.ts +21 -22
  35. package/dist/context.js +0 -2
  36. package/dist/control-props.d.ts +10 -11
  37. package/dist/control-variants.d.ts +6 -7
  38. package/dist/dynamic-notification-glass.d.ts +3 -4
  39. package/dist/dynamic-notification-liquid.d.ts +3 -4
  40. package/dist/dynamic-notification-siri-wave.d.ts +2 -3
  41. package/dist/dynamic-notification.d.ts +28 -29
  42. package/dist/email/email-brand.d.ts +60 -0
  43. package/dist/email/email-brand.js +101 -0
  44. package/dist/email/email-code.d.ts +18 -0
  45. package/dist/email/email-code.js +172 -0
  46. package/dist/email/email-footer.d.ts +63 -0
  47. package/dist/email/email-footer.js +98 -0
  48. package/dist/email/email.d.ts +62 -14
  49. package/dist/email/email.js +155 -24
  50. package/dist/email/length.d.ts +2 -3
  51. package/dist/email/templates.d.ts +56 -12
  52. package/dist/email/templates.js +314 -116
  53. package/dist/email/theme.d.ts +15 -8
  54. package/dist/email/theme.js +30 -8
  55. package/dist/environment-variables.d.ts +35 -36
  56. package/dist/extensions/create-track-highlight.d.ts +3 -4
  57. package/dist/extensions/supports-anchor-transitions.d.ts +2 -3
  58. package/dist/extensions/track-highlight.d.ts +3 -4
  59. package/dist/hooks/use-audio-recorder.d.ts +14 -15
  60. package/dist/hooks/use-chat-composer.d.ts +5 -6
  61. package/dist/hooks/use-chat-message.d.ts +8 -8
  62. package/dist/hooks/use-chat-message.js +1 -0
  63. package/dist/hooks/use-chat-thread-scroll.d.ts +8 -0
  64. package/dist/hooks/use-chat-thread-scroll.js +66 -0
  65. package/dist/hooks/use-color-area.d.ts +5 -6
  66. package/dist/hooks/use-copy-to-clipboard.d.ts +7 -8
  67. package/dist/hooks/use-dropzone.d.ts +11 -12
  68. package/dist/hooks/use-dynamic-notification.d.ts +6 -7
  69. package/dist/hooks/use-environment-variables.d.ts +9 -10
  70. package/dist/hooks/use-keyboard-navigation.d.ts +3 -0
  71. package/dist/hooks/use-keyboard-navigation.js +22 -0
  72. package/dist/hooks/use-mobile.d.ts +2 -3
  73. package/dist/hooks/use-textarea-trigger-menu.d.ts +2 -3
  74. package/dist/hooks/use-trigger-menu.d.ts +7 -8
  75. package/dist/hooks/use-user-ask.d.ts +11 -10
  76. package/dist/hooks/use-user-ask.js +56 -17
  77. package/dist/inline-attachment.d.ts +16 -17
  78. package/dist/inline-attachment.js +1 -1
  79. package/dist/inline-citation.d.ts +22 -23
  80. package/dist/knob-contracts/accordion-knobs.d.ts +3 -4
  81. package/dist/knob-contracts/accordion-knobs.js +1 -0
  82. package/dist/knob-contracts/action-bar-knobs.d.ts +3 -4
  83. package/dist/knob-contracts/action-bar-knobs.js +1 -1
  84. package/dist/knob-contracts/activity-knobs.d.ts +3 -4
  85. package/dist/knob-contracts/activity-knobs.js +2 -1
  86. package/dist/knob-contracts/alert-knobs.d.ts +3 -4
  87. package/dist/knob-contracts/alert-knobs.js +12 -1
  88. package/dist/knob-contracts/audio-recorder-knobs.d.ts +3 -4
  89. package/dist/knob-contracts/audio-visualizer-knobs.d.ts +3 -4
  90. package/dist/knob-contracts/audio-visualizer-knobs.js +1 -0
  91. package/dist/knob-contracts/avatar-knobs.d.ts +3 -4
  92. package/dist/knob-contracts/avatar-knobs.js +2 -1
  93. package/dist/knob-contracts/badge-knobs.d.ts +3 -4
  94. package/dist/knob-contracts/button-group-knobs.d.ts +3 -4
  95. package/dist/knob-contracts/button-knobs.d.ts +3 -4
  96. package/dist/knob-contracts/button-knobs.js +1 -0
  97. package/dist/knob-contracts/calendar-knobs.d.ts +3 -4
  98. package/dist/knob-contracts/card-knobs.d.ts +3 -4
  99. package/dist/knob-contracts/chat-composer-attachment-knobs.d.ts +3 -4
  100. package/dist/knob-contracts/chat-composer-attachment-knobs.js +5 -1
  101. package/dist/knob-contracts/chat-composer-knobs.d.ts +3 -4
  102. package/dist/knob-contracts/chat-composer-knobs.js +2 -0
  103. package/dist/knob-contracts/chat-layout-knobs.d.ts +3 -4
  104. package/dist/knob-contracts/chat-layout-knobs.js +2 -2
  105. package/dist/knob-contracts/chat-message-knobs.d.ts +3 -4
  106. package/dist/knob-contracts/chat-message-knobs.js +3 -1
  107. package/dist/knob-contracts/choice-knobs.d.ts +3 -4
  108. package/dist/knob-contracts/choice-knobs.js +2 -1
  109. package/dist/knob-contracts/code-diff-knobs.d.ts +3 -4
  110. package/dist/knob-contracts/code-diff-knobs.js +1 -0
  111. package/dist/knob-contracts/code-knobs.d.ts +3 -4
  112. package/dist/knob-contracts/code-knobs.js +3 -1
  113. package/dist/knob-contracts/collapsible-knobs.d.ts +3 -4
  114. package/dist/knob-contracts/color-picker-knobs.d.ts +3 -4
  115. package/dist/knob-contracts/context-knobs.d.ts +3 -4
  116. package/dist/knob-contracts/context-knobs.js +3 -0
  117. package/dist/knob-contracts/dockable-panel-knobs.d.ts +3 -4
  118. package/dist/knob-contracts/dockable-panel-knobs.js +1 -0
  119. package/dist/knob-contracts/dropzone-knobs.d.ts +3 -4
  120. package/dist/knob-contracts/dropzone-knobs.js +1 -0
  121. package/dist/knob-contracts/dynamic-notification-knobs.d.ts +3 -4
  122. package/dist/knob-contracts/empty-knobs.d.ts +3 -4
  123. package/dist/knob-contracts/empty-knobs.js +14 -1
  124. package/dist/knob-contracts/environment-variables-knobs.d.ts +3 -4
  125. package/dist/knob-contracts/environment-variables-knobs.js +2 -1
  126. package/dist/knob-contracts/field-knobs.d.ts +3 -4
  127. package/dist/knob-contracts/gradient-editor-knobs.d.ts +3 -4
  128. package/dist/knob-contracts/gradient-editor-knobs.js +3 -1
  129. package/dist/knob-contracts/infinite-canvas-knobs.d.ts +3 -4
  130. package/dist/knob-contracts/inline-attachment-knobs.d.ts +3 -4
  131. package/dist/knob-contracts/inline-attachment-knobs.js +6 -1
  132. package/dist/knob-contracts/inline-citation-knobs.d.ts +3 -4
  133. package/dist/knob-contracts/inline-citation-knobs.js +4 -1
  134. package/dist/knob-contracts/item-knobs.d.ts +3 -4
  135. package/dist/knob-contracts/kbd-knobs.d.ts +3 -4
  136. package/dist/knob-contracts/markdown-block-knobs.d.ts +3 -4
  137. package/dist/knob-contracts/markdown-block-knobs.js +2 -0
  138. package/dist/knob-contracts/markdown-knobs.d.ts +3 -4
  139. package/dist/knob-contracts/markdown-knobs.js +1 -0
  140. package/dist/knob-contracts/morphing-panel-knobs.d.ts +3 -4
  141. package/dist/knob-contracts/page-layout-knobs.d.ts +4 -0
  142. package/dist/knob-contracts/page-layout-knobs.js +15 -0
  143. package/dist/knob-contracts/pagination-knobs.d.ts +3 -4
  144. package/dist/knob-contracts/phone-input-knobs.d.ts +3 -4
  145. package/dist/knob-contracts/phone-input-knobs.js +1 -0
  146. package/dist/knob-contracts/popup-knobs.d.ts +3 -4
  147. package/dist/knob-contracts/progressive-blur-knobs.d.ts +3 -4
  148. package/dist/knob-contracts/progressive-blur-knobs.js +1 -0
  149. package/dist/knob-contracts/range-knobs.d.ts +3 -4
  150. package/dist/knob-contracts/resizable-knobs.d.ts +3 -4
  151. package/dist/knob-contracts/resizable-knobs.js +1 -0
  152. package/dist/knob-contracts/rich-tooltip-knobs.d.ts +3 -4
  153. package/dist/knob-contracts/scroll-area-knobs.d.ts +3 -4
  154. package/dist/knob-contracts/separator-knobs.d.ts +3 -4
  155. package/dist/knob-contracts/sidebar-knobs.d.ts +3 -4
  156. package/dist/knob-contracts/sidebar-knobs.js +1 -0
  157. package/dist/knob-contracts/skeleton-knobs.d.ts +3 -4
  158. package/dist/knob-contracts/skeleton-knobs.js +9 -1
  159. package/dist/knob-contracts/source-badge-knobs.d.ts +3 -4
  160. package/dist/knob-contracts/spinner-knobs.d.ts +3 -4
  161. package/dist/knob-contracts/stepper-knobs.d.ts +3 -4
  162. package/dist/knob-contracts/stepper-knobs.js +1 -0
  163. package/dist/knob-contracts/switch-knobs.d.ts +3 -4
  164. package/dist/knob-contracts/switch-knobs.js +7 -1
  165. package/dist/knob-contracts/table-knobs.d.ts +3 -4
  166. package/dist/knob-contracts/table-of-contents-knobs.d.ts +3 -4
  167. package/dist/knob-contracts/table-of-contents-knobs.js +25 -0
  168. package/dist/knob-contracts/tabs-knobs.d.ts +3 -4
  169. package/dist/knob-contracts/tabs-knobs.js +2 -1
  170. package/dist/knob-contracts/task-list-knobs.d.ts +3 -4
  171. package/dist/knob-contracts/task-list-knobs.js +5 -0
  172. package/dist/knob-contracts/thread-rail-knobs.d.ts +3 -4
  173. package/dist/knob-contracts/timeline-knobs.d.ts +3 -4
  174. package/dist/knob-contracts/toolbar-knobs.d.ts +3 -4
  175. package/dist/knob-contracts/toolbar-knobs.js +1 -0
  176. package/dist/knob-contracts/track-highlight-knobs.d.ts +3 -4
  177. package/dist/knob-contracts/transcript-divider-knobs.d.ts +3 -4
  178. package/dist/knob-contracts/tree-knobs.d.ts +3 -4
  179. package/dist/knob-contracts/user-ask-knobs.d.ts +3 -4
  180. package/dist/knob-contracts/user-ask-knobs.js +5 -0
  181. package/dist/lib/cn.d.ts +2 -3
  182. package/dist/lib/code-tokens.d.ts +12 -13
  183. package/dist/lib/color.d.ts +26 -27
  184. package/dist/lib/contrast.d.ts +12 -13
  185. package/dist/lib/diff.d.ts +14 -15
  186. package/dist/lib/dropzone-validation.d.ts +25 -26
  187. package/dist/lib/env-file.d.ts +12 -13
  188. package/dist/lib/format-audio-recorder-duration.d.ts +2 -3
  189. package/dist/lib/liquid-glass-optics.d.ts +2 -3
  190. package/dist/lib/phone-input-format.d.ts +3 -4
  191. package/dist/lib/phone-number.d.ts +8 -9
  192. package/dist/lib/trigger-detect.d.ts +4 -5
  193. package/dist/markdown-block.d.ts +11 -12
  194. package/dist/markdown-block.js +1 -1
  195. package/dist/scripts/contrast-eval.d.ts +16 -17
  196. package/dist/scripts/contrast-eval.js +13 -7
  197. package/dist/skin-provider.d.ts +14 -0
  198. package/dist/skin-provider.js +21 -0
  199. package/dist/skin.d.ts +14 -33
  200. package/dist/skin.js +3 -46
  201. package/dist/source-badge.d.ts +7 -8
  202. package/dist/styles/index.css +3 -5
  203. package/dist/styles/recipes/accordion.css +8 -2
  204. package/dist/styles/recipes/action-bar.css +40 -5
  205. package/dist/styles/recipes/activity.css +36 -3
  206. package/dist/styles/recipes/alert.css +97 -16
  207. package/dist/styles/recipes/audio-visualizer.css +8 -1
  208. package/dist/styles/recipes/avatar.css +17 -1
  209. package/dist/styles/recipes/badge.css +0 -1
  210. package/dist/styles/recipes/button-group.css +8 -0
  211. package/dist/styles/recipes/button.css +49 -8
  212. package/dist/styles/recipes/calendar.css +21 -6
  213. package/dist/styles/recipes/card.css +2 -0
  214. package/dist/styles/recipes/chat-composer-attachment.css +83 -54
  215. package/dist/styles/recipes/chat-composer.css +41 -22
  216. package/dist/styles/recipes/chat-layout.css +37 -54
  217. package/dist/styles/recipes/chat-message.css +78 -5
  218. package/dist/styles/recipes/choice.css +21 -2
  219. package/dist/styles/recipes/code-diff.css +9 -1
  220. package/dist/styles/recipes/code.css +64 -17
  221. package/dist/styles/recipes/collapsible.css +0 -3
  222. package/dist/styles/recipes/color-picker-details.css +1 -2
  223. package/dist/styles/recipes/color-picker-values.css +0 -4
  224. package/dist/styles/recipes/context.css +30 -18
  225. package/dist/styles/recipes/dockable-panel.css +8 -1
  226. package/dist/styles/recipes/dropzone.css +9 -2
  227. package/dist/styles/recipes/dynamic-notification-input.css +6 -0
  228. package/dist/styles/recipes/dynamic-notification.css +1 -0
  229. package/dist/styles/recipes/empty.css +118 -17
  230. package/dist/styles/recipes/environment-variables.css +9 -1
  231. package/dist/styles/recipes/field-parts.css +3 -6
  232. package/dist/styles/recipes/field.css +15 -5
  233. package/dist/styles/recipes/gradient-editor.css +33 -5
  234. package/dist/styles/recipes/inline-attachment.css +68 -20
  235. package/dist/styles/recipes/inline-citation.css +52 -10
  236. package/dist/styles/recipes/item.css +4 -2
  237. package/dist/styles/recipes/kbd.css +8 -0
  238. package/dist/styles/recipes/markdown-block.css +17 -2
  239. package/dist/styles/recipes/markdown.css +19 -0
  240. package/dist/styles/recipes/morphing-panel.css +1 -1
  241. package/dist/styles/recipes/page-layout.css +203 -0
  242. package/dist/styles/recipes/pagination.css +16 -4
  243. package/dist/styles/recipes/phone-input.css +8 -4
  244. package/dist/styles/recipes/popup-drawer.css +3 -1
  245. package/dist/styles/recipes/popup-lists.css +11 -0
  246. package/dist/styles/recipes/popup-toast.css +3 -29
  247. package/dist/styles/recipes/popup.css +10 -14
  248. package/dist/styles/recipes/progressive-blur.css +28 -7
  249. package/dist/styles/recipes/range.css +74 -3
  250. package/dist/styles/recipes/resizable.css +8 -10
  251. package/dist/styles/recipes/rich-tooltip.css +1 -4
  252. package/dist/styles/recipes/scroll-area.css +8 -2
  253. package/dist/styles/recipes/sidebar-menu.css +0 -6
  254. package/dist/styles/recipes/sidebar.css +56 -17
  255. package/dist/styles/recipes/skeleton.css +85 -3
  256. package/dist/styles/recipes/source-badge.css +20 -3
  257. package/dist/styles/recipes/stepper.css +8 -1
  258. package/dist/styles/recipes/switch.css +89 -17
  259. package/dist/styles/recipes/table-of-contents.css +211 -45
  260. package/dist/styles/recipes/table.css +0 -1
  261. package/dist/styles/recipes/tabs.css +35 -2
  262. package/dist/styles/recipes/task-list.css +68 -9
  263. package/dist/styles/recipes/thread-rail.css +19 -17
  264. package/dist/styles/recipes/toolbar.css +39 -4
  265. package/dist/styles/recipes/track-highlight.css +63 -5
  266. package/dist/styles/recipes/transcript-divider.css +1 -0
  267. package/dist/styles/recipes/tree.css +2 -0
  268. package/dist/styles/recipes/user-ask.css +65 -18
  269. package/dist/styles/theme.css +164 -138
  270. package/dist/surface-variants.d.ts +4 -5
  271. package/dist/task-list.d.ts +16 -17
  272. package/dist/thread-rail.d.ts +21 -22
  273. package/dist/thread-rail.js +1 -1
  274. package/dist/transcript-divider.d.ts +6 -7
  275. package/dist/ui/accordion.d.ts +10 -11
  276. package/dist/ui/alert-dialog.d.ts +11 -12
  277. package/dist/ui/alert-dialog.js +9 -7
  278. package/dist/ui/alert.d.ts +9 -10
  279. package/dist/ui/alert.js +3 -3
  280. package/dist/ui/aspect-ratio.d.ts +3 -4
  281. package/dist/ui/autocomplete.d.ts +19 -20
  282. package/dist/ui/autocomplete.js +6 -4
  283. package/dist/ui/avatar.d.ts +9 -10
  284. package/dist/ui/badge.d.ts +9 -10
  285. package/dist/ui/button-group.d.ts +7 -8
  286. package/dist/ui/button-group.js +3 -2
  287. package/dist/ui/button.d.ts +17 -18
  288. package/dist/ui/button.js +20 -5
  289. package/dist/ui/calendar.d.ts +3 -4
  290. package/dist/ui/card.d.ts +16 -17
  291. package/dist/ui/checkbox-group.d.ts +4 -5
  292. package/dist/ui/checkbox-group.js +3 -2
  293. package/dist/ui/checkbox.d.ts +3 -4
  294. package/dist/ui/code-diff.d.ts +8 -9
  295. package/dist/ui/code.d.ts +32 -23
  296. package/dist/ui/code.js +41 -20
  297. package/dist/ui/collapsible.d.ts +7 -8
  298. package/dist/ui/color-picker.d.ts +40 -41
  299. package/dist/ui/color-picker.js +8 -6
  300. package/dist/ui/combobox-disabled-selection.d.ts +3 -4
  301. package/dist/ui/combobox.d.ts +19 -20
  302. package/dist/ui/combobox.js +6 -4
  303. package/dist/ui/command.d.ts +22 -19
  304. package/dist/ui/command.js +63 -13
  305. package/dist/ui/context-menu.d.ts +30 -31
  306. package/dist/ui/context-menu.js +10 -7
  307. package/dist/ui/dialog.d.ts +13 -13
  308. package/dist/ui/dialog.js +11 -9
  309. package/dist/ui/dockable-panel-geometry.d.ts +7 -8
  310. package/dist/ui/dockable-panel.d.ts +21 -22
  311. package/dist/ui/drawer.d.ts +17 -18
  312. package/dist/ui/drawer.js +9 -8
  313. package/dist/ui/dropdown-menu.d.ts +32 -33
  314. package/dist/ui/dropdown-menu.js +6 -4
  315. package/dist/ui/dropzone.d.ts +24 -24
  316. package/dist/ui/dropzone.js +4 -1
  317. package/dist/ui/empty.d.ts +14 -14
  318. package/dist/ui/empty.js +3 -3
  319. package/dist/ui/field.d.ts +26 -27
  320. package/dist/ui/form.d.ts +4 -5
  321. package/dist/ui/gradient-editor.d.ts +16 -17
  322. package/dist/ui/gradient-editor.js +2 -2
  323. package/dist/ui/hover-card.d.ts +6 -7
  324. package/dist/ui/hover-card.js +6 -4
  325. package/dist/ui/infinite-canvas.d.ts +11 -12
  326. package/dist/ui/infinite-canvas.js +1 -0
  327. package/dist/ui/input-group.d.ts +6 -7
  328. package/dist/ui/input-otp.d.ts +7 -8
  329. package/dist/ui/input.d.ts +3 -4
  330. package/dist/ui/item.d.ts +20 -21
  331. package/dist/ui/kbd.d.ts +7 -5
  332. package/dist/ui/kbd.js +4 -2
  333. package/dist/ui/markdown-elements.d.ts +20 -21
  334. package/dist/ui/markdown.d.ts +5 -6
  335. package/dist/ui/menubar.d.ts +25 -26
  336. package/dist/ui/menubar.js +10 -7
  337. package/dist/ui/meter.d.ts +11 -12
  338. package/dist/ui/morphing-panel.d.ts +8 -9
  339. package/dist/ui/native-select.d.ts +3 -4
  340. package/dist/ui/native-select.js +1 -1
  341. package/dist/ui/navigation-menu.d.ts +17 -18
  342. package/dist/ui/navigation-menu.js +6 -4
  343. package/dist/ui/number-field.d.ts +15 -16
  344. package/dist/ui/number-field.js +1 -1
  345. package/dist/ui/page-layout.d.ts +44 -0
  346. package/dist/ui/page-layout.js +108 -0
  347. package/dist/ui/pagination.d.ts +10 -11
  348. package/dist/ui/phone-input.d.ts +5 -6
  349. package/dist/ui/phone-input.js +39 -36
  350. package/dist/ui/popover.d.ts +11 -12
  351. package/dist/ui/popover.js +6 -4
  352. package/dist/ui/progress.d.ts +11 -12
  353. package/dist/ui/progressive-blur.d.ts +4 -5
  354. package/dist/ui/radio-group.d.ts +5 -6
  355. package/dist/ui/resizable.d.ts +12 -13
  356. package/dist/ui/resizable.js +1 -1
  357. package/dist/ui/responsive-dialog.d.ts +11 -12
  358. package/dist/ui/rich-tooltip-tour.d.ts +5 -6
  359. package/dist/ui/rich-tooltip.d.ts +21 -23
  360. package/dist/ui/rich-tooltip.js +6 -6
  361. package/dist/ui/scroll-area.d.ts +7 -8
  362. package/dist/ui/scroll-area.js +9 -6
  363. package/dist/ui/select.d.ts +21 -14
  364. package/dist/ui/select.js +8 -5
  365. package/dist/ui/separator.d.ts +2 -3
  366. package/dist/ui/sheet.d.ts +8 -9
  367. package/dist/ui/sheet.js +9 -7
  368. package/dist/ui/sidebar-menu.d.ts +18 -19
  369. package/dist/ui/sidebar-menu.js +4 -3
  370. package/dist/ui/sidebar-provider.d.ts +32 -7
  371. package/dist/ui/sidebar-provider.js +82 -22
  372. package/dist/ui/sidebar-resize-rail.d.ts +8 -0
  373. package/dist/ui/sidebar-resize-rail.js +192 -0
  374. package/dist/ui/sidebar.d.ts +19 -13
  375. package/dist/ui/sidebar.js +120 -55
  376. package/dist/ui/skeleton.d.ts +7 -4
  377. package/dist/ui/skeleton.js +9 -2
  378. package/dist/ui/slider.d.ts +6 -5
  379. package/dist/ui/slider.js +16 -13
  380. package/dist/ui/spinner.d.ts +3 -4
  381. package/dist/ui/stepper.d.ts +22 -23
  382. package/dist/ui/switch.d.ts +3 -4
  383. package/dist/ui/switch.js +12 -1
  384. package/dist/ui/table-of-contents.d.ts +7 -8
  385. package/dist/ui/table-of-contents.js +4 -2
  386. package/dist/ui/table.d.ts +17 -18
  387. package/dist/ui/tabs.d.ts +14 -11
  388. package/dist/ui/textarea.d.ts +3 -4
  389. package/dist/ui/timeline.d.ts +18 -19
  390. package/dist/ui/toast.d.ts +9 -9
  391. package/dist/ui/toast.js +23 -16
  392. package/dist/ui/toggle.d.ts +5 -6
  393. package/dist/ui/toggle.js +3 -2
  394. package/dist/ui/toolbar.d.ts +15 -16
  395. package/dist/ui/toolbar.js +15 -4
  396. package/dist/ui/tooltip.d.ts +6 -13
  397. package/dist/ui/tooltip.js +8 -9
  398. package/dist/ui/tree.d.ts +18 -19
  399. package/dist/ui/tree.js +3 -2
  400. package/dist/ui/trigger-menu.d.ts +15 -16
  401. package/dist/ui/trigger-menu.js +6 -4
  402. package/dist/ui/use-switch-drag.d.ts +7 -0
  403. package/dist/ui/use-switch-drag.js +104 -0
  404. package/dist/user-ask.d.ts +28 -27
  405. package/dist/user-ask.js +38 -13
  406. package/package.json +17 -16
  407. package/dist/code-block-editor.d.ts +0 -59
  408. package/dist/code-block-editor.js +0 -250
  409. package/dist/knob-contracts/code-block-editor-knobs.d.ts +0 -5
  410. package/dist/knob-contracts/code-block-editor-knobs.js +0 -11
  411. package/dist/lib/code-block-shiki.d.ts +0 -9
  412. package/dist/lib/code-block-shiki.js +0 -6
  413. package/dist/skin.config.d.ts +0 -5
  414. package/dist/skin.config.js +0 -12
  415. package/dist/styles/recipes/code-block-editor.css +0 -136
  416. package/dist/styles/skin-theme.css +0 -137
  417. package/dist/styles/skin.css +0 -143
@@ -2,8 +2,8 @@ import { PopupKnobStyle } from "../knob-contracts/popup-knobs.js";
2
2
  import { CSSProperties, ComponentProps } from "react";
3
3
  import { Popover as Popover$1 } from "@base-ui/react/popover";
4
4
  //#region src/ui/popover.d.ts
5
- declare const popoverContentPaddings: readonly ["default", "none"];
6
- type PopoverContentPadding = (typeof popoverContentPaddings)[number];
5
+ export declare const popoverContentPaddings: readonly ["default", "none"];
6
+ export type PopoverContentPadding = (typeof popoverContentPaddings)[number];
7
7
  type PopoverPopupProps = Omit<ComponentProps<typeof Popover$1.Popup>, "style"> & {
8
8
  side?: ComponentProps<typeof Popover$1.Positioner>["side"];
9
9
  align?: ComponentProps<typeof Popover$1.Positioner>["align"];
@@ -12,23 +12,22 @@ type PopoverPopupProps = Omit<ComponentProps<typeof Popover$1.Popup>, "style"> &
12
12
  padding?: PopoverContentPadding;
13
13
  style?: CSSProperties & PopupKnobStyle;
14
14
  };
15
- declare function Popover(props: ComponentProps<typeof Popover$1.Root>): import("react").JSX.Element;
16
- declare function PopoverTrigger({ className, ...props }: ComponentProps<typeof Popover$1.Trigger> & {
15
+ export declare function Popover(props: ComponentProps<typeof Popover$1.Root>): import("react").JSX.Element;
16
+ export declare function PopoverTrigger({ className, ...props }: ComponentProps<typeof Popover$1.Trigger> & {
17
17
  style?: CSSProperties & PopupKnobStyle;
18
18
  }): import("react").JSX.Element;
19
- declare function PopoverAnchor(props: ComponentProps<typeof Popover$1.Trigger>): import("react").JSX.Element;
20
- declare function PopoverContent({ className, children, side, align, sideOffset, collisionPadding, padding, ...props }: PopoverPopupProps): import("react").JSX.Element;
21
- declare function PopoverHeader({ className, ...props }: ComponentProps<"div"> & {
19
+ export declare function PopoverAnchor(props: ComponentProps<typeof Popover$1.Trigger>): import("react").JSX.Element;
20
+ export declare function PopoverContent({ className, children, side, align, sideOffset, collisionPadding, padding, ...props }: PopoverPopupProps): import("react").JSX.Element;
21
+ export declare function PopoverHeader({ className, ...props }: ComponentProps<"div"> & {
22
22
  style?: CSSProperties & PopupKnobStyle;
23
23
  }): import("react").JSX.Element;
24
- declare function PopoverTitle({ className, ...props }: ComponentProps<typeof Popover$1.Title> & {
24
+ export declare function PopoverTitle({ className, ...props }: ComponentProps<typeof Popover$1.Title> & {
25
25
  style?: CSSProperties & PopupKnobStyle;
26
26
  }): import("react").JSX.Element;
27
- declare function PopoverDescription({ className, ...props }: ComponentProps<typeof Popover$1.Description> & {
27
+ export declare function PopoverDescription({ className, ...props }: ComponentProps<typeof Popover$1.Description> & {
28
28
  style?: CSSProperties & PopupKnobStyle;
29
29
  }): import("react").JSX.Element;
30
- declare function PopoverClose({ className, ...props }: ComponentProps<typeof Popover$1.Close> & {
30
+ export declare function PopoverClose({ className, ...props }: ComponentProps<typeof Popover$1.Close> & {
31
31
  style?: CSSProperties & PopupKnobStyle;
32
32
  }): import("react").JSX.Element;
33
- //#endregion
34
- export { Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverContentPadding, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, popoverContentPaddings };
33
+ //#endregion
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
- import { skinEffects, skinId } from "../skin.js";
3
+ import { controlEffectsAttribute } from "../skin.js";
4
+ import { useSkin } from "../skin-provider.js";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
  import { Popover as Popover$1 } from "@base-ui/react/popover";
6
7
  //#region src/ui/popover.tsx
@@ -21,14 +22,15 @@ function PopoverAnchor(props) {
21
22
  return /* @__PURE__ */ jsx(Popover$1.Trigger, { ...props });
22
23
  }
23
24
  function PopoverContent({ className, children, side = "bottom", align = "center", sideOffset = 6, collisionPadding, padding = "default", ...props }) {
25
+ const skin = useSkin();
24
26
  return /* @__PURE__ */ jsx(Popover$1.Portal, { children: /* @__PURE__ */ jsx(Popover$1.Positioner, {
25
- "data-skin": skinId(),
26
- "data-effects": skinEffects(),
27
+ "data-skin": skin.id,
28
+ "data-effects": controlEffectsAttribute(skin.effects),
27
29
  side,
28
30
  align,
29
31
  sideOffset,
30
32
  collisionPadding,
31
- className: "z-[80]",
33
+ className: "z-(--z-popup)",
32
34
  children: /* @__PURE__ */ jsx(Popover$1.Popup, {
33
35
  "data-control-ui": "popover",
34
36
  "data-popup-kind": "popover",
@@ -1,7 +1,7 @@
1
1
  import { RangeKnobStyle } from "../knob-contracts/range-knobs.js";
2
2
  import { CSSProperties, ComponentProps, ReactNode } from "react";
3
3
  //#region src/ui/progress.d.ts
4
- type ProgressProps = Omit<ComponentProps<"div"> & {
4
+ export type ProgressProps = Omit<ComponentProps<"div"> & {
5
5
  value: number | null;
6
6
  min?: number;
7
7
  max?: number;
@@ -11,24 +11,23 @@ type ProgressProps = Omit<ComponentProps<"div"> & {
11
11
  }, "style"> & {
12
12
  style?: CSSProperties & RangeKnobStyle;
13
13
  };
14
- type ProgressTrackProps = Omit<ComponentProps<"div">, "style"> & {
14
+ export type ProgressTrackProps = Omit<ComponentProps<"div">, "style"> & {
15
15
  style?: CSSProperties & RangeKnobStyle;
16
16
  };
17
- type ProgressIndicatorProps = Omit<ComponentProps<"div">, "style"> & {
17
+ export type ProgressIndicatorProps = Omit<ComponentProps<"div">, "style"> & {
18
18
  style?: CSSProperties & RangeKnobStyle;
19
19
  };
20
- type ProgressLabelProps = Omit<ComponentProps<"span">, "style"> & {
20
+ export type ProgressLabelProps = Omit<ComponentProps<"span">, "style"> & {
21
21
  style?: CSSProperties & RangeKnobStyle;
22
22
  };
23
- type ProgressValueProps = Omit<Omit<ComponentProps<"span">, "children"> & {
23
+ export type ProgressValueProps = Omit<Omit<ComponentProps<"span">, "children"> & {
24
24
  children?: ((formattedValue: string | null, value: number | null) => ReactNode) | null;
25
25
  }, "style"> & {
26
26
  style?: CSSProperties & RangeKnobStyle;
27
27
  };
28
- declare function Progress({ className, ...props }: ProgressProps): import("react").JSX.Element;
29
- declare function ProgressLabel({ className, ...props }: ProgressLabelProps): import("react").JSX.Element;
30
- declare function ProgressValue({ className, ...props }: ProgressValueProps): import("react").JSX.Element;
31
- declare function ProgressTrack({ className, ...props }: ProgressTrackProps): import("react").JSX.Element;
32
- declare function ProgressIndicator({ className, ...props }: ProgressIndicatorProps): import("react").JSX.Element;
33
- //#endregion
34
- export { Progress, ProgressIndicator, ProgressIndicatorProps, ProgressLabel, ProgressLabelProps, ProgressProps, ProgressTrack, ProgressTrackProps, ProgressValue, ProgressValueProps };
28
+ export declare function Progress({ className, ...props }: ProgressProps): import("react").JSX.Element;
29
+ export declare function ProgressLabel({ className, ...props }: ProgressLabelProps): import("react").JSX.Element;
30
+ export declare function ProgressValue({ className, ...props }: ProgressValueProps): import("react").JSX.Element;
31
+ export declare function ProgressTrack({ className, ...props }: ProgressTrackProps): import("react").JSX.Element;
32
+ export declare function ProgressIndicator({ className, ...props }: ProgressIndicatorProps): import("react").JSX.Element;
33
+ //#endregion
@@ -1,12 +1,11 @@
1
1
  import { ProgressiveBlurKnobStyle } from "../knob-contracts/progressive-blur-knobs.js";
2
2
  import { CSSProperties, ComponentProps } from "react";
3
3
  //#region src/ui/progressive-blur.d.ts
4
- type ProgressiveBlurSide = "top" | "bottom" | "inline-start" | "inline-end";
5
- type ProgressiveBlurProps = Omit<ComponentProps<"div">, "children" | "dangerouslySetInnerHTML" | "style" | "tabIndex"> & {
4
+ export type ProgressiveBlurSide = "top" | "bottom" | "inline-start" | "inline-end";
5
+ export type ProgressiveBlurProps = Omit<ComponentProps<"div">, "children" | "dangerouslySetInnerHTML" | "style" | "tabIndex"> & {
6
6
  side?: ProgressiveBlurSide;
7
7
  visible?: boolean;
8
8
  style?: CSSProperties & ProgressiveBlurKnobStyle;
9
9
  };
10
- declare function ProgressiveBlur({ side, visible, ...props }: ProgressiveBlurProps): import("react").JSX.Element;
11
- //#endregion
12
- export { ProgressiveBlur, ProgressiveBlurProps, ProgressiveBlurSide };
10
+ export declare function ProgressiveBlur({ side, visible, ...props }: ProgressiveBlurProps): import("react").JSX.Element;
11
+ //#endregion
@@ -2,7 +2,7 @@ import { ControlledChoice } from "../control-props.js";
2
2
  import { ChoiceKnobStyle } from "../knob-contracts/choice-knobs.js";
3
3
  import { CSSProperties, ComponentProps } from "react";
4
4
  //#region src/ui/radio-group.d.ts
5
- type RadioGroupProps<TValue extends string = string> = Omit<ComponentProps<"div">, "defaultValue" | "onChange"> & ControlledChoice<TValue> & {
5
+ export type RadioGroupProps<TValue extends string = string> = Omit<ComponentProps<"div">, "defaultValue" | "onChange"> & ControlledChoice<TValue> & {
6
6
  disabled?: boolean;
7
7
  readOnly?: boolean;
8
8
  required?: boolean;
@@ -11,7 +11,7 @@ type RadioGroupProps<TValue extends string = string> = Omit<ComponentProps<"div"
11
11
  } & {
12
12
  style?: CSSProperties & ChoiceKnobStyle;
13
13
  };
14
- type RadioProps = Omit<{
14
+ export type RadioProps = Omit<{
15
15
  value: string;
16
16
  disabled?: boolean;
17
17
  readOnly?: boolean;
@@ -23,7 +23,6 @@ type RadioProps = Omit<{
23
23
  }, "style"> & {
24
24
  style?: CSSProperties & ChoiceKnobStyle;
25
25
  };
26
- declare function RadioGroup<TValue extends string = string>({ className, orientation, ...props }: RadioGroupProps<TValue>): import("react").JSX.Element;
27
- declare function Radio({ className, disabled, ...props }: RadioProps): import("react").JSX.Element;
28
- //#endregion
29
- export { Radio, RadioGroup, RadioGroupProps, RadioProps };
26
+ export declare function RadioGroup<TValue extends string = string>({ className, orientation, ...props }: RadioGroupProps<TValue>): import("react").JSX.Element;
27
+ export declare function Radio({ className, disabled, ...props }: RadioProps): import("react").JSX.Element;
28
+ //#endregion
@@ -1,12 +1,12 @@
1
1
  import { ResizableKnobStyle } from "../knob-contracts/resizable-knobs.js";
2
2
  import { CSSProperties, ComponentProps, Ref } from "react";
3
3
  //#region src/ui/resizable.d.ts
4
- type ResizableLayout = {
4
+ export type ResizableLayout = {
5
5
  [panelId: string]: number;
6
6
  };
7
- type ResizablePanelGroupVariant = "framed" | "nested";
8
- type ResizableHandleVariant = "solid" | "hover";
9
- type ResizablePanelGroupProps = Omit<ComponentProps<"div">, "style"> & {
7
+ export type ResizablePanelGroupVariant = "framed" | "nested";
8
+ export type ResizableHandleVariant = "solid" | "hover";
9
+ export type ResizablePanelGroupProps = Omit<ComponentProps<"div">, "style"> & {
10
10
  orientation?: "horizontal" | "vertical";
11
11
  variant?: ResizablePanelGroupVariant;
12
12
  defaultLayout?: ResizableLayout;
@@ -18,18 +18,18 @@ type ResizablePanelGroupProps = Omit<ComponentProps<"div">, "style"> & {
18
18
  }) => void;
19
19
  style?: CSSProperties & ResizableKnobStyle;
20
20
  };
21
- type ResizablePanelSize = {
21
+ export type ResizablePanelSize = {
22
22
  asPercentage: number;
23
23
  inPixels: number;
24
24
  };
25
- interface ResizablePanelHandle {
25
+ export interface ResizablePanelHandle {
26
26
  collapse: () => void;
27
27
  expand: () => void;
28
28
  getSize: () => ResizablePanelSize;
29
29
  isCollapsed: () => boolean;
30
30
  resize: (size: number | string) => void;
31
31
  }
32
- type ResizablePanelProps = Omit<ComponentProps<"div">, "onResize"> & {
32
+ export type ResizablePanelProps = Omit<ComponentProps<"div">, "onResize"> & {
33
33
  defaultSize?: number | string;
34
34
  minSize?: number | string;
35
35
  maxSize?: number | string;
@@ -42,15 +42,14 @@ type ResizablePanelProps = Omit<ComponentProps<"div">, "onResize"> & {
42
42
  } & {
43
43
  style?: CSSProperties & ResizableKnobStyle;
44
44
  };
45
- type ResizableHandleProps = Omit<ComponentProps<"div">, "role" | "tabIndex" | "style"> & {
45
+ export type ResizableHandleProps = Omit<ComponentProps<"div">, "role" | "tabIndex" | "style"> & {
46
46
  variant?: ResizableHandleVariant;
47
47
  withHandle?: boolean;
48
48
  disabled?: boolean;
49
49
  disableDoubleClick?: boolean;
50
50
  style?: CSSProperties & ResizableKnobStyle;
51
51
  };
52
- declare function ResizablePanelGroup({ className, orientation, variant, children, ...props }: ResizablePanelGroupProps): import("react").JSX.Element;
53
- declare function ResizablePanel({ className, ...props }: ResizablePanelProps): import("react").JSX.Element;
54
- declare function ResizableHandle({ className, variant, withHandle, children, ...props }: ResizableHandleProps): import("react").JSX.Element;
55
- //#endregion
56
- export { ResizableHandle, ResizableHandleProps, ResizableHandleVariant, ResizableLayout, ResizablePanel, ResizablePanelGroup, ResizablePanelGroupProps, ResizablePanelGroupVariant, ResizablePanelHandle, ResizablePanelProps, ResizablePanelSize };
52
+ export declare function ResizablePanelGroup({ className, orientation, variant, children, ...props }: ResizablePanelGroupProps): import("react").JSX.Element;
53
+ export declare function ResizablePanel({ className, ...props }: ResizablePanelProps): import("react").JSX.Element;
54
+ export declare function ResizableHandle({ className, variant, withHandle, children, ...props }: ResizableHandleProps): import("react").JSX.Element;
55
+ //#endregion
@@ -38,7 +38,7 @@ function ResizableHandle({ className, variant = "solid", withHandle, children, .
38
38
  "data-slot": "handle",
39
39
  "data-variant": variant,
40
40
  "data-axis": axis,
41
- className: cn("relative flex items-center justify-center", axis === "vertical" ? "w-px" : "h-px", className),
41
+ className: cn("relative flex items-center justify-center", axis === "vertical" ? "w-px touch-pan-y" : "h-px touch-pan-x", className),
42
42
  ...props,
43
43
  children: [withHandle ? /* @__PURE__ */ jsx("span", {
44
44
  "data-control-ui": "resizable",
@@ -1,18 +1,17 @@
1
1
  import { DialogCloseProps, DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogProps, DialogTitle, DialogTrigger } from "./dialog.js";
2
2
  import { ComponentProps } from "react";
3
3
  //#region src/ui/responsive-dialog.d.ts
4
- type ResponsiveDialogProps = DialogProps;
5
- type ResponsiveDialogContentProps = DialogContentProps & {
4
+ export type ResponsiveDialogProps = DialogProps;
5
+ export type ResponsiveDialogContentProps = DialogContentProps & {
6
6
  dialogClassName?: string;
7
7
  drawerClassName?: string;
8
8
  };
9
- declare function ResponsiveDialog({ open: controlledOpen, defaultOpen, onOpenChange, children }: ResponsiveDialogProps): import("react").JSX.Element;
10
- declare function ResponsiveDialogTrigger(props: Omit<ComponentProps<typeof DialogTrigger>, "handle">): import("react").JSX.Element;
11
- declare function ResponsiveDialogClose({ className, children, variant, size, tone, iconOnly, ...props }: DialogCloseProps): import("react").JSX.Element;
12
- declare function ResponsiveDialogContent({ className, dialogClassName, drawerClassName, children, showCloseButton, ...props }: ResponsiveDialogContentProps): import("react").JSX.Element;
13
- declare function ResponsiveDialogHeader(props: ComponentProps<typeof DialogHeader>): import("react").JSX.Element;
14
- declare function ResponsiveDialogFooter(props: ComponentProps<typeof DialogFooter>): import("react").JSX.Element;
15
- declare function ResponsiveDialogTitle(props: ComponentProps<typeof DialogTitle>): import("react").JSX.Element;
16
- declare function ResponsiveDialogDescription(props: ComponentProps<typeof DialogDescription>): import("react").JSX.Element;
17
- //#endregion
18
- export { ResponsiveDialog, ResponsiveDialogClose, ResponsiveDialogContent, ResponsiveDialogContentProps, ResponsiveDialogDescription, ResponsiveDialogFooter, ResponsiveDialogHeader, ResponsiveDialogProps, ResponsiveDialogTitle, ResponsiveDialogTrigger };
9
+ export declare function ResponsiveDialog({ open: controlledOpen, defaultOpen, onOpenChange, children }: ResponsiveDialogProps): import("react").JSX.Element;
10
+ export declare function ResponsiveDialogTrigger(props: Omit<ComponentProps<typeof DialogTrigger>, "handle">): import("react").JSX.Element;
11
+ export declare function ResponsiveDialogClose({ className, children, variant, size, tone, iconOnly, ...props }: DialogCloseProps): import("react").JSX.Element;
12
+ export declare function ResponsiveDialogContent({ className, dialogClassName, drawerClassName, children, showCloseButton, ...props }: ResponsiveDialogContentProps): import("react").JSX.Element;
13
+ export declare function ResponsiveDialogHeader(props: ComponentProps<typeof DialogHeader>): import("react").JSX.Element;
14
+ export declare function ResponsiveDialogFooter(props: ComponentProps<typeof DialogFooter>): import("react").JSX.Element;
15
+ export declare function ResponsiveDialogTitle(props: ComponentProps<typeof DialogTitle>): import("react").JSX.Element;
16
+ export declare function ResponsiveDialogDescription(props: ComponentProps<typeof DialogDescription>): import("react").JSX.Element;
17
+ //#endregion
@@ -1,12 +1,11 @@
1
1
  //#region src/ui/rich-tooltip-tour.d.ts
2
- type TourPosition = {
2
+ export type TourPosition = {
3
3
  index: number;
4
4
  total: number;
5
5
  isFirst: boolean;
6
6
  isLast: boolean;
7
7
  };
8
- declare function tourPosition(steps: readonly string[], activeStep: string | null): TourPosition;
9
- declare function stepAfter(steps: readonly string[], index: number): string | null;
10
- declare function stepBefore(steps: readonly string[], index: number): string | null;
11
- //#endregion
12
- export { TourPosition, stepAfter, stepBefore, tourPosition };
8
+ export declare function tourPosition(steps: readonly string[], activeStep: string | null): TourPosition;
9
+ export declare function stepAfter(steps: readonly string[], index: number): string | null;
10
+ export declare function stepBefore(steps: readonly string[], index: number): string | null;
11
+ //#endregion
@@ -4,8 +4,8 @@ import { TourPosition } from "./rich-tooltip-tour.js";
4
4
  import { CSSProperties, ComponentProps, ReactNode } from "react";
5
5
  import { Popover } from "@base-ui/react/popover";
6
6
  //#region src/ui/rich-tooltip.d.ts
7
- type RichTooltipTone = "accent" | "surface";
8
- type RichTooltipProgressVariant = "count" | "dots";
7
+ export type RichTooltipTone = "accent" | "surface";
8
+ export type RichTooltipProgressVariant = "count" | "dots";
9
9
  type RichTooltipContentKnobStyle = RichTooltipKnobStyle & PopupKnobStyle;
10
10
  type TourValue = TourPosition & {
11
11
  activeStep: string | null;
@@ -14,9 +14,8 @@ type TourValue = TourPosition & {
14
14
  goTo: (step: string) => void;
15
15
  finish: () => void;
16
16
  };
17
- /** Null outside `<RichTooltipTour>` — single-use rich tooltips read it and skip their step affordances. */
18
- declare function useTour(): TourValue | null;
19
- type RichTooltipTourProps = {
17
+ export declare function useTour(): TourValue | null;
18
+ export type RichTooltipTourProps = {
20
19
  steps: readonly string[];
21
20
  step?: string | null;
22
21
  defaultStep?: string;
@@ -25,20 +24,20 @@ type RichTooltipTourProps = {
25
24
  storageKey?: string;
26
25
  children?: ReactNode;
27
26
  };
28
- declare function RichTooltipTour({ steps, step, defaultStep, onStepChange, onComplete, storageKey, children }: RichTooltipTourProps): import("react").JSX.Element;
29
- type RichTooltipProps = Omit<ComponentProps<typeof Popover.Root>, "modal"> & {
27
+ export declare function RichTooltipTour({ steps, step, defaultStep, onStepChange, onComplete, storageKey, children }: RichTooltipTourProps): import("react").JSX.Element;
28
+ export type RichTooltipProps = Omit<ComponentProps<typeof Popover.Root>, "modal"> & {
30
29
  step?: string;
31
30
  tone?: RichTooltipTone;
32
31
  storageKey?: string;
33
32
  dismissOnOutsidePress?: boolean;
34
33
  trapFocus?: boolean;
35
34
  };
36
- declare function RichTooltip({ step, tone, storageKey, dismissOnOutsidePress, trapFocus, open, defaultOpen, onOpenChange, children, ...props }: RichTooltipProps): import("react").JSX.Element;
37
- declare function RichTooltipTrigger({ className, ...props }: ComponentProps<typeof Popover.Trigger> & {
35
+ export declare function RichTooltip({ step, tone, storageKey, dismissOnOutsidePress, trapFocus, open, defaultOpen, onOpenChange, children, ...props }: RichTooltipProps): import("react").JSX.Element;
36
+ export declare function RichTooltipTrigger({ className, ...props }: ComponentProps<typeof Popover.Trigger> & {
38
37
  style?: CSSProperties & PopupKnobStyle;
39
38
  }): import("react").JSX.Element;
40
39
  type AnchorProp = ComponentProps<typeof Popover.Positioner>["anchor"];
41
- type RichTooltipContentProps = Omit<ComponentProps<typeof Popover.Popup>, "style"> & {
40
+ export type RichTooltipContentProps = Omit<ComponentProps<typeof Popover.Popup>, "style"> & {
42
41
  style?: CSSProperties & RichTooltipContentKnobStyle;
43
42
  } & {
44
43
  side?: ComponentProps<typeof Popover.Positioner>["side"];
@@ -49,35 +48,34 @@ type RichTooltipContentProps = Omit<ComponentProps<typeof Popover.Popup>, "style
49
48
  arrow?: boolean;
50
49
  scrollAnchorIntoView?: boolean;
51
50
  };
52
- declare function RichTooltipContent({ className, children, side, align, sideOffset, anchor, collisionPadding, arrow, scrollAnchorIntoView, ...props }: RichTooltipContentProps): import("react").JSX.Element;
53
- declare function RichTooltipMedia({ className, ...props }: ComponentProps<"div"> & {
51
+ export declare function RichTooltipContent({ className, children, side, align, sideOffset, anchor, collisionPadding, arrow, scrollAnchorIntoView, ...props }: RichTooltipContentProps): import("react").JSX.Element;
52
+ export declare function RichTooltipMedia({ className, ...props }: ComponentProps<"div"> & {
54
53
  style?: CSSProperties & PopupKnobStyle;
55
54
  }): import("react").JSX.Element;
56
- declare function RichTooltipHeader({ className, ...props }: ComponentProps<"div"> & {
55
+ export declare function RichTooltipHeader({ className, ...props }: ComponentProps<"div"> & {
57
56
  style?: CSSProperties & PopupKnobStyle;
58
57
  }): import("react").JSX.Element;
59
- declare function RichTooltipTitle({ className, ...props }: Omit<ComponentProps<typeof Popover.Title>, "style"> & {
58
+ export declare function RichTooltipTitle({ className, ...props }: Omit<ComponentProps<typeof Popover.Title>, "style"> & {
60
59
  style?: CSSProperties & RichTooltipKnobStyle & PopupKnobStyle;
61
60
  }): import("react").JSX.Element;
62
- declare function RichTooltipDescription({ className, ...props }: Omit<ComponentProps<typeof Popover.Description>, "style"> & {
61
+ export declare function RichTooltipDescription({ className, ...props }: Omit<ComponentProps<typeof Popover.Description>, "style"> & {
63
62
  style?: CSSProperties & RichTooltipKnobStyle & PopupKnobStyle;
64
63
  }): import("react").JSX.Element;
65
- declare function RichTooltipFooter({ className, ...props }: ComponentProps<"div"> & {
64
+ export declare function RichTooltipFooter({ className, ...props }: ComponentProps<"div"> & {
66
65
  style?: CSSProperties & PopupKnobStyle;
67
66
  }): import("react").JSX.Element;
68
- type RichTooltipProgressProps = Omit<ComponentProps<"div">, "style"> & {
67
+ export type RichTooltipProgressProps = Omit<ComponentProps<"div">, "style"> & {
69
68
  variant?: RichTooltipProgressVariant;
70
69
  style?: CSSProperties & RichTooltipKnobStyle & PopupKnobStyle;
71
70
  };
72
- declare function RichTooltipProgress({ className, variant, children, ...props }: RichTooltipProgressProps): import("react").JSX.Element | null;
73
- declare function RichTooltipPrevious({ className, children, onClick, ...props }: Omit<ComponentProps<"button">, "style"> & {
71
+ export declare function RichTooltipProgress({ className, variant, children, ...props }: RichTooltipProgressProps): import("react").JSX.Element | null;
72
+ export declare function RichTooltipPrevious({ className, children, onClick, ...props }: Omit<ComponentProps<"button">, "style"> & {
74
73
  style?: CSSProperties & RichTooltipKnobStyle & PopupKnobStyle;
75
74
  }): import("react").JSX.Element | null;
76
- declare function RichTooltipNext({ className, children, onClick, ...props }: Omit<ComponentProps<"button">, "style"> & {
75
+ export declare function RichTooltipNext({ className, children, onClick, ...props }: Omit<ComponentProps<"button">, "style"> & {
77
76
  style?: CSSProperties & RichTooltipKnobStyle & PopupKnobStyle;
78
77
  }): import("react").JSX.Element;
79
- declare function RichTooltipClose({ className, children, ...props }: Omit<ComponentProps<typeof Popover.Close>, "style"> & {
78
+ export declare function RichTooltipClose({ className, children, ...props }: Omit<ComponentProps<typeof Popover.Close>, "style"> & {
80
79
  style?: CSSProperties & RichTooltipKnobStyle & PopupKnobStyle;
81
80
  }): import("react").JSX.Element;
82
- //#endregion
83
- export { RichTooltip, RichTooltipClose, RichTooltipContent, RichTooltipContentProps, RichTooltipDescription, RichTooltipFooter, RichTooltipHeader, RichTooltipMedia, RichTooltipNext, RichTooltipPrevious, RichTooltipProgress, RichTooltipProgressProps, RichTooltipProgressVariant, RichTooltipProps, RichTooltipTitle, RichTooltipTone, RichTooltipTour, RichTooltipTourProps, RichTooltipTrigger, useTour };
81
+ //#endregion
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
- import { skinEffects, skinId } from "../skin.js";
3
+ import { controlEffectsAttribute } from "../skin.js";
4
+ import { useSkin } from "../skin-provider.js";
4
5
  import { stepAfter, stepBefore, tourPosition } from "./rich-tooltip-tour.js";
5
6
  import { createContext, useContext, useEffect, useState } from "react";
6
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -8,7 +9,6 @@ import { ChevronLeftIcon, ChevronRightIcon, XIcon } from "lucide-react";
8
9
  import { Popover } from "@base-ui/react/popover";
9
10
  //#region src/ui/rich-tooltip.tsx
10
11
  const TourContext = createContext(null);
11
- /** Null outside `<RichTooltipTour>` — single-use rich tooltips read it and skip their step affordances. */
12
12
  function useTour() {
13
13
  return useContext(TourContext);
14
14
  }
@@ -26,7 +26,6 @@ function writeSeen(storageKey) {
26
26
  globalThis.localStorage?.setItem(storageKey, "seen");
27
27
  } catch {}
28
28
  }
29
- /** Starts closed so the server and first client pass agree, then opens once storage has been read. */
30
29
  function useSeenGate(storageKey, enabled) {
31
30
  const [allowed, setAllowed] = useState(false);
32
31
  useEffect(() => {
@@ -136,6 +135,7 @@ function useAnchorScroll(anchor, open, enabled) {
136
135
  ]);
137
136
  }
138
137
  function RichTooltipContent({ className, children, side = "bottom", align = "center", sideOffset = 10, anchor, collisionPadding = 12, arrow = true, scrollAnchorIntoView = true, ...props }) {
138
+ const skin = useSkin();
139
139
  const { tone } = useRichTooltipContext();
140
140
  const isSurface = tone === "surface";
141
141
  useAnchorScroll(anchor, true, scrollAnchorIntoView);
@@ -144,14 +144,14 @@ function RichTooltipContent({ className, children, side = "bottom", align = "cen
144
144
  "data-popup-kind": "rich-tooltip",
145
145
  "data-control-family": "popup",
146
146
  "data-slot": "positioner",
147
- "data-skin": skinId(),
148
- "data-effects": skinEffects(),
147
+ "data-skin": skin.id,
148
+ "data-effects": controlEffectsAttribute(skin.effects),
149
149
  side,
150
150
  align,
151
151
  sideOffset,
152
152
  anchor,
153
153
  collisionPadding,
154
- className: "z-[80]",
154
+ className: "z-(--z-popup)",
155
155
  children: /* @__PURE__ */ jsxs(Popover.Popup, {
156
156
  "data-control-ui": "rich-tooltip",
157
157
  "data-popup-kind": "rich-tooltip",
@@ -2,15 +2,15 @@ import { ScrollAreaKnobStyle } from "../knob-contracts/scroll-area-knobs.js";
2
2
  import { ProgressiveBlurProps } from "./progressive-blur.js";
3
3
  import { CSSProperties, ComponentProps, Ref } from "react";
4
4
  //#region src/ui/scroll-area.d.ts
5
- declare const scrollAreaScrollbarVisibilities: readonly ["scroll", "hover", "always"];
6
- type ScrollAreaScrollbarVisibility = (typeof scrollAreaScrollbarVisibilities)[number];
7
- type ScrollAreaLockAxis = "x" | "y" | "both";
8
- type ScrollAreaViewportProps = Omit<ComponentProps<"div">, "children" | "className" | "ref"> & {
5
+ export declare const scrollAreaScrollbarVisibilities: readonly ["scroll", "hover", "always"];
6
+ export type ScrollAreaScrollbarVisibility = (typeof scrollAreaScrollbarVisibilities)[number];
7
+ export type ScrollAreaLockAxis = "x" | "y" | "both";
8
+ export type ScrollAreaViewportProps = Omit<ComponentProps<"div">, "children" | "className" | "ref"> & {
9
9
  "data-control-ui"?: string;
10
10
  "data-control-family"?: string;
11
11
  "data-slot"?: string;
12
12
  };
13
- type ScrollAreaProps = Omit<ComponentProps<"div">, "style"> & {
13
+ export type ScrollAreaProps = Omit<ComponentProps<"div">, "style"> & {
14
14
  style?: CSSProperties & ScrollAreaKnobStyle;
15
15
  } & {
16
16
  viewportClassName?: string;
@@ -23,6 +23,5 @@ type ScrollAreaProps = Omit<ComponentProps<"div">, "style"> & {
23
23
  lockAxis?: ScrollAreaLockAxis;
24
24
  scrollbarVisibility?: ScrollAreaScrollbarVisibility;
25
25
  };
26
- declare function ScrollArea({ className, viewportClassName, viewportProps, viewportRef, maxHeight, mask, blur, blurProps, lockAxis, scrollbarVisibility, children, style, ...props }: ScrollAreaProps): import("react").JSX.Element;
27
- //#endregion
28
- export { ScrollArea, ScrollAreaLockAxis, ScrollAreaProps, ScrollAreaScrollbarVisibility, ScrollAreaViewportProps, scrollAreaScrollbarVisibilities };
26
+ export declare function ScrollArea({ className, viewportClassName, viewportProps, viewportRef, maxHeight, mask, blur, blurProps, lockAxis, scrollbarVisibility, children, style, ...props }: ScrollAreaProps): import("react").JSX.Element;
27
+ //#endregion
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
+ import { useSkin } from "../skin-provider.js";
3
4
  import { ProgressiveBlur } from "./progressive-blur.js";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
@@ -34,7 +35,9 @@ function viewportStyle(maxHeight, lockX, lockY) {
34
35
  ...lockY ? { overflowY: "hidden" } : {}
35
36
  };
36
37
  }
37
- function ScrollArea({ className, viewportClassName, viewportProps, viewportRef, maxHeight, mask = true, blur = false, blurProps, lockAxis, scrollbarVisibility = "scroll", children, style, ...props }) {
38
+ function ScrollArea({ className, viewportClassName, viewportProps, viewportRef, maxHeight, mask = true, blur, blurProps, lockAxis, scrollbarVisibility = "scroll", children, style, ...props }) {
39
+ const skin = useSkin();
40
+ const resolvedBlur = blur ?? skin.scrollAreaBlur ?? false;
38
41
  const lockX = lockAxis === "x" || lockAxis === "both";
39
42
  const lockY = lockAxis === "y" || lockAxis === "both";
40
43
  const resolvedViewportStyle = viewportStyle(maxHeight, lockX, lockY);
@@ -51,7 +54,7 @@ function ScrollArea({ className, viewportClassName, viewportProps, viewportRef,
51
54
  "data-control-family": "scroll-area",
52
55
  "data-slot": "root",
53
56
  "data-mask": mask || void 0,
54
- "data-blur": blur || void 0,
57
+ "data-blur": resolvedBlur || void 0,
55
58
  "data-lock-axis": lockAxis,
56
59
  className: cn("relative overflow-hidden", className),
57
60
  style,
@@ -73,22 +76,22 @@ function ScrollArea({ className, viewportClassName, viewportProps, viewportRef,
73
76
  children
74
77
  })
75
78
  }),
76
- blur && !lockY && /* @__PURE__ */ jsx(ProgressiveBlur, {
79
+ resolvedBlur && !lockY && /* @__PURE__ */ jsx(ProgressiveBlur, {
77
80
  ...blurProps,
78
81
  side: "top",
79
82
  visible: false
80
83
  }),
81
- blur && !lockY && /* @__PURE__ */ jsx(ProgressiveBlur, {
84
+ resolvedBlur && !lockY && /* @__PURE__ */ jsx(ProgressiveBlur, {
82
85
  ...blurProps,
83
86
  side: "bottom",
84
87
  visible: false
85
88
  }),
86
- blur && !lockX && /* @__PURE__ */ jsx(ProgressiveBlur, {
89
+ resolvedBlur && !lockX && /* @__PURE__ */ jsx(ProgressiveBlur, {
87
90
  ...blurProps,
88
91
  side: "inline-start",
89
92
  visible: false
90
93
  }),
91
- blur && !lockX && /* @__PURE__ */ jsx(ProgressiveBlur, {
94
+ resolvedBlur && !lockX && /* @__PURE__ */ jsx(ProgressiveBlur, {
92
95
  ...blurProps,
93
96
  side: "inline-end",
94
97
  visible: false
@@ -5,27 +5,35 @@ import { PopupKnobStyle } from "../knob-contracts/popup-knobs.js";
5
5
  import { CSSProperties, ComponentProps, ReactNode } from "react";
6
6
  import { Select as Select$1 } from "@base-ui/react/select";
7
7
  //#region src/ui/select.d.ts
8
- type SelectProps<TValue extends string = string> = ControlledChoice<TValue> & {
8
+ export type SelectProps<TValue extends string = string> = Omit<ControlledChoice<TValue>, "value"> & {
9
+ value?: TValue | null;
10
+ open?: boolean;
11
+ defaultOpen?: boolean;
12
+ onOpenChange?: (open: boolean) => void;
9
13
  disabled?: boolean;
14
+ items?: Record<string, ReactNode> | readonly {
15
+ value: TValue;
16
+ label: ReactNode;
17
+ }[];
10
18
  name?: string;
11
19
  children?: ReactNode;
12
20
  };
13
- declare const selectTriggerVariants: readonly ["surface", "ghost"];
14
- type SelectTriggerVariant = (typeof selectTriggerVariants)[number];
15
- type SelectTriggerProps = Omit<ComponentProps<"button">, "style"> & {
21
+ export declare const selectTriggerVariants: readonly ["surface", "ghost"];
22
+ export type SelectTriggerVariant = (typeof selectTriggerVariants)[number];
23
+ export type SelectTriggerProps = Omit<ComponentProps<"button">, "style"> & {
16
24
  style?: CSSProperties & ButtonKnobStyle;
17
25
  } & {
18
26
  size?: ControlSize;
19
27
  variant?: SelectTriggerVariant;
20
28
  };
21
- type SelectValueProps = {
29
+ export type SelectValueProps = {
22
30
  placeholder?: ReactNode;
23
31
  children?: ReactNode | ((value: string) => ReactNode);
24
32
  };
25
- type SelectContentProps = Omit<ComponentProps<"div">, "style"> & {
33
+ export type SelectContentProps = Omit<ComponentProps<"div">, "style"> & Pick<ComponentProps<typeof Select$1.Positioner>, "alignItemWithTrigger"> & {
26
34
  style?: CSSProperties & PopupKnobStyle;
27
35
  };
28
- type SelectItemProps = Omit<ComponentProps<"div">, "style"> & {
36
+ export type SelectItemProps = Omit<ComponentProps<"div">, "style"> & {
29
37
  style?: CSSProperties & PopupKnobStyle;
30
38
  } & {
31
39
  value: string;
@@ -35,10 +43,9 @@ type SelectItemProps = Omit<ComponentProps<"div">, "style"> & {
35
43
  type RefinedSelectTriggerProps = SelectTriggerProps & Pick<ComponentProps<typeof Select$1.Trigger>, "nativeButton" | "render"> & {
36
44
  style?: CSSProperties & PopupKnobStyle;
37
45
  };
38
- declare function Select<TValue extends string = string>({ children, onValueChange, ...props }: SelectProps<TValue>): import("react").JSX.Element;
39
- declare function SelectTrigger({ size, variant, className, children, disabled, ...props }: RefinedSelectTriggerProps): import("react").JSX.Element;
40
- declare function SelectValue({ children, ...props }: SelectValueProps): import("react").JSX.Element;
41
- declare function SelectContent({ className, children, ...props }: SelectContentProps): import("react").JSX.Element;
42
- declare function SelectItem({ className, children, disabled, ...props }: SelectItemProps): import("react").JSX.Element;
43
- //#endregion
44
- export { Select, SelectContent, SelectContentProps, SelectItem, SelectItemProps, SelectProps, SelectTrigger, SelectTriggerProps, SelectTriggerVariant, SelectValue, SelectValueProps, selectTriggerVariants };
46
+ export declare function Select<TValue extends string = string>({ children, onValueChange, ...props }: SelectProps<TValue>): import("react").JSX.Element;
47
+ export declare function SelectTrigger({ size, variant, className, children, disabled, ...props }: RefinedSelectTriggerProps): import("react").JSX.Element;
48
+ export declare function SelectValue({ children, ...props }: SelectValueProps): import("react").JSX.Element;
49
+ export declare function SelectContent({ className, children, alignItemWithTrigger, ...props }: SelectContentProps): import("react").JSX.Element;
50
+ export declare function SelectItem({ className, children, disabled, ...props }: SelectItemProps): import("react").JSX.Element;
51
+ //#endregion
package/dist/ui/select.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
- import { skinEffects, skinId } from "../skin.js";
3
+ import { controlEffectsAttribute } from "../skin.js";
4
+ import { useSkin } from "../skin-provider.js";
4
5
  import { popupItemStructureClasses } from "../surface-variants.js";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
7
  import { Select as Select$1 } from "@base-ui/react/select";
@@ -64,14 +65,16 @@ function SelectValue({ children, ...props }) {
64
65
  children
65
66
  });
66
67
  }
67
- function SelectContent({ className, children, ...props }) {
68
+ function SelectContent({ className, children, alignItemWithTrigger = false, ...props }) {
69
+ const skin = useSkin();
68
70
  return /* @__PURE__ */ jsx(Select$1.Portal, { children: /* @__PURE__ */ jsx(Select$1.Positioner, {
69
- "data-skin": skinId(),
70
- "data-effects": skinEffects(),
71
+ "data-skin": skin.id,
72
+ "data-effects": controlEffectsAttribute(skin.effects),
71
73
  side: "bottom",
72
74
  align: "start",
73
75
  sideOffset: 6,
74
- className: "z-[80]",
76
+ alignItemWithTrigger,
77
+ className: "z-(--z-popup)",
75
78
  children: /* @__PURE__ */ jsx(Select$1.Popup, {
76
79
  "data-control-ui": "select",
77
80
  "data-popup-kind": "select",
@@ -2,8 +2,7 @@ import { SeparatorKnobStyle } from "../knob-contracts/separator-knobs.js";
2
2
  import { CSSProperties, ComponentProps } from "react";
3
3
  import { Separator as Separator$1 } from "@base-ui/react/separator";
4
4
  //#region src/ui/separator.d.ts
5
- declare function Separator({ className, orientation, ...props }: Omit<ComponentProps<typeof Separator$1>, "style"> & {
5
+ export declare function Separator({ className, orientation, ...props }: Omit<ComponentProps<typeof Separator$1>, "style"> & {
6
6
  style?: CSSProperties & SeparatorKnobStyle;
7
7
  }): import("react").JSX.Element;
8
- //#endregion
9
- export { Separator };
8
+ //#endregion