@ctrl-ui/react 0.8.2 → 0.8.4

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 (373) 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/blocks/chat.d.ts +3 -4
  7. package/dist/blocks/chat.js +6 -3
  8. package/dist/blocks/coding-agent.d.ts +11 -12
  9. package/dist/blocks/coding-agent.js +10 -9
  10. package/dist/blocks/file-explorer-data.d.ts +11 -12
  11. package/dist/blocks/file-explorer.d.ts +3 -3
  12. package/dist/blocks/settings-data.d.ts +8 -9
  13. package/dist/blocks/settings.d.ts +4 -4
  14. package/dist/blocks/theme-toggle.d.ts +11 -12
  15. package/dist/blocks/theme-toggle.js +14 -4
  16. package/dist/chat-composer-attachment.d.ts +20 -21
  17. package/dist/chat-composer-attachment.js +24 -20
  18. package/dist/chat-composer-editor/extensions/mention.d.ts +5 -6
  19. package/dist/chat-composer-editor/ghost.d.ts +3 -4
  20. package/dist/chat-composer-editor/schema.d.ts +2 -3
  21. package/dist/chat-composer-editor/serialize.d.ts +3 -4
  22. package/dist/chat-composer-editor/types.d.ts +5 -6
  23. package/dist/chat-composer-editor.d.ts +2 -3
  24. package/dist/chat-composer-editor.js +18 -4
  25. package/dist/chat-composer.d.ts +17 -18
  26. package/dist/chat-composer.js +14 -8
  27. package/dist/chat-layout.d.ts +12 -21
  28. package/dist/chat-layout.js +28 -83
  29. package/dist/chat-message.d.ts +14 -15
  30. package/dist/context-model.d.ts +7 -8
  31. package/dist/context.d.ts +21 -22
  32. package/dist/control-props.d.ts +10 -11
  33. package/dist/control-variants.d.ts +6 -7
  34. package/dist/dynamic-notification-glass.d.ts +3 -4
  35. package/dist/dynamic-notification-liquid.d.ts +3 -4
  36. package/dist/dynamic-notification-siri-wave.d.ts +2 -3
  37. package/dist/dynamic-notification.d.ts +28 -29
  38. package/dist/email/email.d.ts +6 -7
  39. package/dist/email/length.d.ts +2 -3
  40. package/dist/email/templates.d.ts +7 -8
  41. package/dist/email/theme.d.ts +4 -5
  42. package/dist/environment-variables.d.ts +35 -36
  43. package/dist/extensions/create-track-highlight.d.ts +3 -4
  44. package/dist/extensions/supports-anchor-transitions.d.ts +2 -3
  45. package/dist/extensions/track-highlight.d.ts +3 -4
  46. package/dist/hooks/use-audio-recorder.d.ts +14 -15
  47. package/dist/hooks/use-chat-composer.d.ts +5 -6
  48. package/dist/hooks/use-chat-message.d.ts +7 -8
  49. package/dist/hooks/use-color-area.d.ts +5 -6
  50. package/dist/hooks/use-copy-to-clipboard.d.ts +7 -8
  51. package/dist/hooks/use-dropzone.d.ts +11 -12
  52. package/dist/hooks/use-dynamic-notification.d.ts +6 -7
  53. package/dist/hooks/use-environment-variables.d.ts +9 -10
  54. package/dist/hooks/use-keyboard-navigation.d.ts +3 -0
  55. package/dist/hooks/use-keyboard-navigation.js +22 -0
  56. package/dist/hooks/use-mobile.d.ts +2 -3
  57. package/dist/hooks/use-textarea-trigger-menu.d.ts +2 -3
  58. package/dist/hooks/use-trigger-menu.d.ts +7 -8
  59. package/dist/hooks/use-user-ask.d.ts +6 -7
  60. package/dist/inline-attachment.d.ts +16 -17
  61. package/dist/inline-citation.d.ts +22 -23
  62. package/dist/knob-contracts/accordion-knobs.d.ts +3 -4
  63. package/dist/knob-contracts/accordion-knobs.js +1 -0
  64. package/dist/knob-contracts/action-bar-knobs.d.ts +3 -4
  65. package/dist/knob-contracts/activity-knobs.d.ts +3 -4
  66. package/dist/knob-contracts/alert-knobs.d.ts +3 -4
  67. package/dist/knob-contracts/alert-knobs.js +12 -1
  68. package/dist/knob-contracts/audio-recorder-knobs.d.ts +3 -4
  69. package/dist/knob-contracts/audio-visualizer-knobs.d.ts +3 -4
  70. package/dist/knob-contracts/avatar-knobs.d.ts +3 -4
  71. package/dist/knob-contracts/avatar-knobs.js +2 -1
  72. package/dist/knob-contracts/badge-knobs.d.ts +3 -4
  73. package/dist/knob-contracts/button-group-knobs.d.ts +3 -4
  74. package/dist/knob-contracts/button-knobs.d.ts +3 -4
  75. package/dist/knob-contracts/button-knobs.js +1 -0
  76. package/dist/knob-contracts/calendar-knobs.d.ts +3 -4
  77. package/dist/knob-contracts/card-knobs.d.ts +3 -4
  78. package/dist/knob-contracts/chat-composer-attachment-knobs.d.ts +3 -4
  79. package/dist/knob-contracts/chat-composer-attachment-knobs.js +3 -1
  80. package/dist/knob-contracts/chat-composer-knobs.d.ts +3 -4
  81. package/dist/knob-contracts/chat-composer-knobs.js +1 -0
  82. package/dist/knob-contracts/chat-layout-knobs.d.ts +3 -4
  83. package/dist/knob-contracts/chat-layout-knobs.js +2 -3
  84. package/dist/knob-contracts/chat-message-knobs.d.ts +3 -4
  85. package/dist/knob-contracts/choice-knobs.d.ts +3 -4
  86. package/dist/knob-contracts/choice-knobs.js +2 -1
  87. package/dist/knob-contracts/code-diff-knobs.d.ts +3 -4
  88. package/dist/knob-contracts/code-diff-knobs.js +1 -0
  89. package/dist/knob-contracts/code-knobs.d.ts +3 -4
  90. package/dist/knob-contracts/code-knobs.js +3 -1
  91. package/dist/knob-contracts/collapsible-knobs.d.ts +3 -4
  92. package/dist/knob-contracts/color-picker-knobs.d.ts +3 -4
  93. package/dist/knob-contracts/context-knobs.d.ts +3 -4
  94. package/dist/knob-contracts/dockable-panel-knobs.d.ts +3 -4
  95. package/dist/knob-contracts/dockable-panel-knobs.js +1 -0
  96. package/dist/knob-contracts/dropzone-knobs.d.ts +3 -4
  97. package/dist/knob-contracts/dropzone-knobs.js +1 -0
  98. package/dist/knob-contracts/dynamic-notification-knobs.d.ts +3 -4
  99. package/dist/knob-contracts/empty-knobs.d.ts +3 -4
  100. package/dist/knob-contracts/empty-knobs.js +14 -1
  101. package/dist/knob-contracts/environment-variables-knobs.d.ts +3 -4
  102. package/dist/knob-contracts/environment-variables-knobs.js +2 -1
  103. package/dist/knob-contracts/field-knobs.d.ts +3 -4
  104. package/dist/knob-contracts/gradient-editor-knobs.d.ts +3 -4
  105. package/dist/knob-contracts/gradient-editor-knobs.js +3 -1
  106. package/dist/knob-contracts/infinite-canvas-knobs.d.ts +3 -4
  107. package/dist/knob-contracts/inline-attachment-knobs.d.ts +3 -4
  108. package/dist/knob-contracts/inline-attachment-knobs.js +2 -1
  109. package/dist/knob-contracts/inline-citation-knobs.d.ts +3 -4
  110. package/dist/knob-contracts/inline-citation-knobs.js +1 -0
  111. package/dist/knob-contracts/item-knobs.d.ts +3 -4
  112. package/dist/knob-contracts/kbd-knobs.d.ts +3 -4
  113. package/dist/knob-contracts/markdown-block-knobs.d.ts +3 -4
  114. package/dist/knob-contracts/markdown-block-knobs.js +2 -0
  115. package/dist/knob-contracts/markdown-knobs.d.ts +3 -4
  116. package/dist/knob-contracts/markdown-knobs.js +1 -0
  117. package/dist/knob-contracts/morphing-panel-knobs.d.ts +3 -4
  118. package/dist/knob-contracts/pagination-knobs.d.ts +3 -4
  119. package/dist/knob-contracts/phone-input-knobs.d.ts +3 -4
  120. package/dist/knob-contracts/phone-input-knobs.js +1 -0
  121. package/dist/knob-contracts/popup-knobs.d.ts +3 -4
  122. package/dist/knob-contracts/progressive-blur-knobs.d.ts +3 -4
  123. package/dist/knob-contracts/progressive-blur-knobs.js +1 -0
  124. package/dist/knob-contracts/range-knobs.d.ts +3 -4
  125. package/dist/knob-contracts/resizable-knobs.d.ts +3 -4
  126. package/dist/knob-contracts/resizable-knobs.js +1 -0
  127. package/dist/knob-contracts/rich-tooltip-knobs.d.ts +3 -4
  128. package/dist/knob-contracts/scroll-area-knobs.d.ts +3 -4
  129. package/dist/knob-contracts/separator-knobs.d.ts +3 -4
  130. package/dist/knob-contracts/sidebar-knobs.d.ts +3 -4
  131. package/dist/knob-contracts/sidebar-knobs.js +1 -0
  132. package/dist/knob-contracts/skeleton-knobs.d.ts +3 -4
  133. package/dist/knob-contracts/skeleton-knobs.js +9 -1
  134. package/dist/knob-contracts/source-badge-knobs.d.ts +3 -4
  135. package/dist/knob-contracts/spinner-knobs.d.ts +3 -4
  136. package/dist/knob-contracts/stepper-knobs.d.ts +3 -4
  137. package/dist/knob-contracts/stepper-knobs.js +1 -0
  138. package/dist/knob-contracts/switch-knobs.d.ts +3 -4
  139. package/dist/knob-contracts/switch-knobs.js +7 -1
  140. package/dist/knob-contracts/table-knobs.d.ts +3 -4
  141. package/dist/knob-contracts/table-of-contents-knobs.d.ts +3 -4
  142. package/dist/knob-contracts/table-of-contents-knobs.js +25 -0
  143. package/dist/knob-contracts/tabs-knobs.d.ts +3 -4
  144. package/dist/knob-contracts/tabs-knobs.js +2 -1
  145. package/dist/knob-contracts/task-list-knobs.d.ts +3 -4
  146. package/dist/knob-contracts/task-list-knobs.js +1 -0
  147. package/dist/knob-contracts/thread-rail-knobs.d.ts +3 -4
  148. package/dist/knob-contracts/timeline-knobs.d.ts +3 -4
  149. package/dist/knob-contracts/toolbar-knobs.d.ts +3 -4
  150. package/dist/knob-contracts/toolbar-knobs.js +1 -0
  151. package/dist/knob-contracts/track-highlight-knobs.d.ts +3 -4
  152. package/dist/knob-contracts/transcript-divider-knobs.d.ts +3 -4
  153. package/dist/knob-contracts/tree-knobs.d.ts +3 -4
  154. package/dist/knob-contracts/user-ask-knobs.d.ts +3 -4
  155. package/dist/knob-contracts/user-ask-knobs.js +1 -0
  156. package/dist/lib/cn.d.ts +2 -3
  157. package/dist/lib/code-tokens.d.ts +12 -13
  158. package/dist/lib/color.d.ts +26 -27
  159. package/dist/lib/contrast.d.ts +12 -13
  160. package/dist/lib/diff.d.ts +14 -15
  161. package/dist/lib/dropzone-validation.d.ts +25 -26
  162. package/dist/lib/env-file.d.ts +12 -13
  163. package/dist/lib/format-audio-recorder-duration.d.ts +2 -3
  164. package/dist/lib/liquid-glass-optics.d.ts +2 -3
  165. package/dist/lib/phone-input-format.d.ts +3 -4
  166. package/dist/lib/phone-input-format.js +1 -1
  167. package/dist/lib/phone-number.d.ts +8 -9
  168. package/dist/lib/trigger-detect.d.ts +4 -5
  169. package/dist/markdown-block.d.ts +11 -12
  170. package/dist/scripts/contrast-eval.d.ts +16 -17
  171. package/dist/scripts/contrast-eval.js +13 -7
  172. package/dist/skin-provider.d.ts +14 -0
  173. package/dist/skin-provider.js +21 -0
  174. package/dist/skin.d.ts +14 -33
  175. package/dist/skin.js +3 -46
  176. package/dist/source-badge.d.ts +7 -8
  177. package/dist/styles/index.css +1 -4
  178. package/dist/styles/recipes/accordion.css +8 -2
  179. package/dist/styles/recipes/action-bar.css +5 -2
  180. package/dist/styles/recipes/alert.css +95 -16
  181. package/dist/styles/recipes/avatar.css +17 -1
  182. package/dist/styles/recipes/badge.css +0 -1
  183. package/dist/styles/recipes/button.css +34 -8
  184. package/dist/styles/recipes/calendar.css +0 -6
  185. package/dist/styles/recipes/chat-composer-attachment.css +51 -53
  186. package/dist/styles/recipes/chat-composer.css +26 -21
  187. package/dist/styles/recipes/chat-layout.css +21 -62
  188. package/dist/styles/recipes/chat-message.css +11 -5
  189. package/dist/styles/recipes/choice.css +9 -2
  190. package/dist/styles/recipes/code-diff.css +8 -1
  191. package/dist/styles/recipes/code.css +39 -17
  192. package/dist/styles/recipes/collapsible.css +0 -3
  193. package/dist/styles/recipes/color-picker-details.css +1 -2
  194. package/dist/styles/recipes/color-picker-values.css +0 -4
  195. package/dist/styles/recipes/dockable-panel.css +8 -1
  196. package/dist/styles/recipes/dropzone.css +9 -2
  197. package/dist/styles/recipes/empty.css +118 -17
  198. package/dist/styles/recipes/environment-variables.css +8 -1
  199. package/dist/styles/recipes/field-parts.css +1 -6
  200. package/dist/styles/recipes/field.css +9 -5
  201. package/dist/styles/recipes/gradient-editor.css +16 -5
  202. package/dist/styles/recipes/inline-attachment.css +13 -8
  203. package/dist/styles/recipes/inline-citation.css +8 -4
  204. package/dist/styles/recipes/item.css +1 -1
  205. package/dist/styles/recipes/kbd.css +8 -0
  206. package/dist/styles/recipes/markdown-block.css +16 -2
  207. package/dist/styles/recipes/markdown.css +12 -0
  208. package/dist/styles/recipes/morphing-panel.css +1 -1
  209. package/dist/styles/recipes/pagination.css +0 -4
  210. package/dist/styles/recipes/phone-input.css +8 -4
  211. package/dist/styles/recipes/popup-lists.css +11 -0
  212. package/dist/styles/recipes/popup-toast.css +1 -29
  213. package/dist/styles/recipes/popup.css +2 -2
  214. package/dist/styles/recipes/progressive-blur.css +28 -7
  215. package/dist/styles/recipes/range.css +50 -1
  216. package/dist/styles/recipes/resizable.css +8 -10
  217. package/dist/styles/recipes/rich-tooltip.css +0 -4
  218. package/dist/styles/recipes/scroll-area.css +8 -2
  219. package/dist/styles/recipes/sidebar-menu.css +0 -6
  220. package/dist/styles/recipes/sidebar.css +56 -17
  221. package/dist/styles/recipes/skeleton.css +85 -3
  222. package/dist/styles/recipes/source-badge.css +0 -3
  223. package/dist/styles/recipes/stepper.css +8 -1
  224. package/dist/styles/recipes/switch.css +89 -17
  225. package/dist/styles/recipes/table-of-contents.css +211 -45
  226. package/dist/styles/recipes/table.css +0 -1
  227. package/dist/styles/recipes/tabs.css +19 -2
  228. package/dist/styles/recipes/task-list.css +8 -2
  229. package/dist/styles/recipes/thread-rail.css +0 -4
  230. package/dist/styles/recipes/toolbar.css +18 -4
  231. package/dist/styles/recipes/track-highlight.css +63 -5
  232. package/dist/styles/recipes/tree.css +2 -0
  233. package/dist/styles/recipes/user-ask.css +8 -4
  234. package/dist/styles/theme.css +130 -138
  235. package/dist/surface-variants.d.ts +4 -5
  236. package/dist/task-list.d.ts +16 -17
  237. package/dist/thread-rail.d.ts +21 -22
  238. package/dist/transcript-divider.d.ts +6 -7
  239. package/dist/ui/accordion.d.ts +10 -11
  240. package/dist/ui/alert-dialog.d.ts +11 -12
  241. package/dist/ui/alert-dialog.js +8 -6
  242. package/dist/ui/alert.d.ts +9 -10
  243. package/dist/ui/alert.js +3 -3
  244. package/dist/ui/aspect-ratio.d.ts +3 -4
  245. package/dist/ui/autocomplete.d.ts +19 -20
  246. package/dist/ui/autocomplete.js +5 -3
  247. package/dist/ui/avatar.d.ts +9 -10
  248. package/dist/ui/badge.d.ts +9 -10
  249. package/dist/ui/button-group.d.ts +7 -8
  250. package/dist/ui/button-group.js +3 -2
  251. package/dist/ui/button.d.ts +17 -18
  252. package/dist/ui/button.js +20 -5
  253. package/dist/ui/calendar.d.ts +3 -4
  254. package/dist/ui/card.d.ts +16 -17
  255. package/dist/ui/checkbox-group.d.ts +4 -5
  256. package/dist/ui/checkbox-group.js +3 -2
  257. package/dist/ui/checkbox.d.ts +3 -4
  258. package/dist/ui/code-diff.d.ts +8 -9
  259. package/dist/ui/code.d.ts +32 -23
  260. package/dist/ui/code.js +41 -20
  261. package/dist/ui/collapsible.d.ts +7 -8
  262. package/dist/ui/color-picker.d.ts +40 -41
  263. package/dist/ui/color-picker.js +6 -4
  264. package/dist/ui/combobox-disabled-selection.d.ts +3 -4
  265. package/dist/ui/combobox.d.ts +19 -20
  266. package/dist/ui/combobox.js +5 -3
  267. package/dist/ui/command.d.ts +19 -18
  268. package/dist/ui/command.js +38 -12
  269. package/dist/ui/context-menu.d.ts +30 -31
  270. package/dist/ui/context-menu.js +8 -5
  271. package/dist/ui/dialog.d.ts +13 -13
  272. package/dist/ui/dialog.js +10 -8
  273. package/dist/ui/dockable-panel-geometry.d.ts +7 -8
  274. package/dist/ui/dockable-panel.d.ts +21 -22
  275. package/dist/ui/drawer.d.ts +17 -18
  276. package/dist/ui/drawer.js +7 -6
  277. package/dist/ui/dropdown-menu.d.ts +32 -33
  278. package/dist/ui/dropdown-menu.js +5 -3
  279. package/dist/ui/dropzone.d.ts +24 -24
  280. package/dist/ui/empty.d.ts +14 -14
  281. package/dist/ui/empty.js +3 -3
  282. package/dist/ui/field.d.ts +26 -27
  283. package/dist/ui/form.d.ts +4 -5
  284. package/dist/ui/gradient-editor.d.ts +16 -17
  285. package/dist/ui/hover-card.d.ts +6 -7
  286. package/dist/ui/hover-card.js +5 -3
  287. package/dist/ui/infinite-canvas.d.ts +11 -12
  288. package/dist/ui/input-group.d.ts +6 -7
  289. package/dist/ui/input-otp.d.ts +7 -8
  290. package/dist/ui/input.d.ts +3 -4
  291. package/dist/ui/item.d.ts +20 -21
  292. package/dist/ui/kbd.d.ts +7 -5
  293. package/dist/ui/kbd.js +4 -2
  294. package/dist/ui/markdown-elements.d.ts +20 -21
  295. package/dist/ui/markdown.d.ts +5 -6
  296. package/dist/ui/menubar.d.ts +25 -26
  297. package/dist/ui/menubar.js +8 -5
  298. package/dist/ui/meter.d.ts +11 -12
  299. package/dist/ui/morphing-panel.d.ts +8 -9
  300. package/dist/ui/native-select.d.ts +3 -4
  301. package/dist/ui/native-select.js +1 -1
  302. package/dist/ui/navigation-menu.d.ts +17 -18
  303. package/dist/ui/navigation-menu.js +5 -3
  304. package/dist/ui/number-field.d.ts +15 -16
  305. package/dist/ui/pagination.d.ts +10 -11
  306. package/dist/ui/phone-input.d.ts +5 -6
  307. package/dist/ui/phone-input.js +40 -37
  308. package/dist/ui/popover.d.ts +11 -12
  309. package/dist/ui/popover.js +5 -3
  310. package/dist/ui/progress.d.ts +11 -12
  311. package/dist/ui/progressive-blur.d.ts +4 -5
  312. package/dist/ui/radio-group.d.ts +5 -6
  313. package/dist/ui/resizable.d.ts +12 -13
  314. package/dist/ui/responsive-dialog.d.ts +11 -12
  315. package/dist/ui/rich-tooltip-tour.d.ts +5 -6
  316. package/dist/ui/rich-tooltip.d.ts +21 -23
  317. package/dist/ui/rich-tooltip.js +5 -5
  318. package/dist/ui/scroll-area.d.ts +7 -8
  319. package/dist/ui/scroll-area.js +9 -6
  320. package/dist/ui/select.d.ts +21 -14
  321. package/dist/ui/select.js +7 -4
  322. package/dist/ui/separator.d.ts +2 -3
  323. package/dist/ui/sheet.d.ts +8 -9
  324. package/dist/ui/sheet.js +7 -5
  325. package/dist/ui/sidebar-menu.d.ts +18 -19
  326. package/dist/ui/sidebar-menu.js +4 -3
  327. package/dist/ui/sidebar-provider.d.ts +32 -7
  328. package/dist/ui/sidebar-provider.js +82 -22
  329. package/dist/ui/sidebar-resize-rail.d.ts +8 -0
  330. package/dist/ui/sidebar-resize-rail.js +192 -0
  331. package/dist/ui/sidebar.d.ts +19 -13
  332. package/dist/ui/sidebar.js +120 -55
  333. package/dist/ui/skeleton.d.ts +7 -4
  334. package/dist/ui/skeleton.js +9 -2
  335. package/dist/ui/slider.d.ts +6 -5
  336. package/dist/ui/slider.js +16 -13
  337. package/dist/ui/spinner.d.ts +3 -4
  338. package/dist/ui/stepper.d.ts +22 -23
  339. package/dist/ui/switch.d.ts +3 -4
  340. package/dist/ui/switch.js +12 -1
  341. package/dist/ui/table-of-contents.d.ts +7 -8
  342. package/dist/ui/table-of-contents.js +4 -2
  343. package/dist/ui/table.d.ts +17 -18
  344. package/dist/ui/tabs.d.ts +14 -11
  345. package/dist/ui/textarea.d.ts +3 -4
  346. package/dist/ui/timeline.d.ts +18 -19
  347. package/dist/ui/toast.d.ts +9 -9
  348. package/dist/ui/toast.js +21 -14
  349. package/dist/ui/toggle.d.ts +5 -6
  350. package/dist/ui/toggle.js +3 -2
  351. package/dist/ui/toolbar.d.ts +15 -16
  352. package/dist/ui/toolbar.js +15 -4
  353. package/dist/ui/tooltip.d.ts +6 -13
  354. package/dist/ui/tooltip.js +7 -8
  355. package/dist/ui/tree.d.ts +18 -19
  356. package/dist/ui/tree.js +3 -2
  357. package/dist/ui/trigger-menu.d.ts +15 -16
  358. package/dist/ui/trigger-menu.js +5 -3
  359. package/dist/ui/use-switch-drag.d.ts +7 -0
  360. package/dist/ui/use-switch-drag.js +104 -0
  361. package/dist/user-ask.d.ts +24 -25
  362. package/package.json +15 -15
  363. package/dist/code-block-editor.d.ts +0 -59
  364. package/dist/code-block-editor.js +0 -250
  365. package/dist/knob-contracts/code-block-editor-knobs.d.ts +0 -5
  366. package/dist/knob-contracts/code-block-editor-knobs.js +0 -11
  367. package/dist/lib/code-block-shiki.d.ts +0 -9
  368. package/dist/lib/code-block-shiki.js +0 -6
  369. package/dist/skin.config.d.ts +0 -5
  370. package/dist/skin.config.js +0 -12
  371. package/dist/styles/recipes/code-block-editor.css +0 -136
  372. package/dist/styles/skin-theme.css +0 -137
  373. package/dist/styles/skin.css +0 -143
@@ -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,8 +144,8 @@ 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,
@@ -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,13 +65,15 @@ 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,
76
+ alignItemWithTrigger,
74
77
  className: "z-[80]",
75
78
  children: /* @__PURE__ */ jsx(Select$1.Popup, {
76
79
  "data-control-ui": "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
@@ -2,24 +2,23 @@ import { PopupKnobStyle } from "../knob-contracts/popup-knobs.js";
2
2
  import { CSSProperties, ComponentProps } from "react";
3
3
  import { Dialog } from "@base-ui/react/dialog";
4
4
  //#region src/ui/sheet.d.ts
5
- declare function Sheet(props: ComponentProps<typeof Dialog.Root>): import("react").JSX.Element;
6
- declare function SheetClose({ className, ...props }: ComponentProps<typeof Dialog.Close> & {
5
+ export declare function Sheet(props: ComponentProps<typeof Dialog.Root>): import("react").JSX.Element;
6
+ export declare function SheetClose({ className, ...props }: ComponentProps<typeof Dialog.Close> & {
7
7
  style?: CSSProperties & PopupKnobStyle;
8
8
  }): import("react").JSX.Element;
9
- type SheetContentProps = Omit<ComponentProps<typeof Dialog.Popup>, "style"> & {
9
+ export type SheetContentProps = Omit<ComponentProps<typeof Dialog.Popup>, "style"> & {
10
10
  style?: CSSProperties & PopupKnobStyle;
11
11
  } & {
12
12
  side?: "left" | "right";
13
13
  };
14
- declare function SheetContent({ className, children, side, ...props }: SheetContentProps): import("react").JSX.Element;
15
- declare function SheetHeader({ className, ...props }: ComponentProps<"div"> & {
14
+ export declare function SheetContent({ className, children, side, ...props }: SheetContentProps): import("react").JSX.Element;
15
+ export declare function SheetHeader({ className, ...props }: ComponentProps<"div"> & {
16
16
  style?: CSSProperties & PopupKnobStyle;
17
17
  }): import("react").JSX.Element;
18
- declare function SheetTitle({ className, ...props }: ComponentProps<typeof Dialog.Title> & {
18
+ export declare function SheetTitle({ className, ...props }: ComponentProps<typeof Dialog.Title> & {
19
19
  style?: CSSProperties & PopupKnobStyle;
20
20
  }): import("react").JSX.Element;
21
- declare function SheetDescription({ className, ...props }: ComponentProps<typeof Dialog.Description> & {
21
+ export declare function SheetDescription({ className, ...props }: ComponentProps<typeof Dialog.Description> & {
22
22
  style?: CSSProperties & PopupKnobStyle;
23
23
  }): import("react").JSX.Element;
24
- //#endregion
25
- export { Sheet, SheetClose, SheetContent, SheetContentProps, SheetDescription, SheetHeader, SheetTitle };
24
+ //#endregion
package/dist/ui/sheet.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 { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { Dialog } from "@base-ui/react/dialog";
6
7
  //#region src/ui/sheet.tsx
@@ -18,18 +19,19 @@ function SheetClose({ className, ...props }) {
18
19
  });
19
20
  }
20
21
  function SheetContent({ className, children, side = "right", ...props }) {
22
+ const skin = useSkin();
21
23
  return /* @__PURE__ */ jsxs(Dialog.Portal, { children: [/* @__PURE__ */ jsx(Dialog.Backdrop, {
22
24
  "data-control-ui": "sheet",
23
25
  "data-popup-kind": "sheet",
24
26
  "data-slot": "backdrop",
25
27
  "data-control-family": "popup",
26
28
  "data-popup-part": "backdrop",
27
- "data-skin": skinId(),
28
- "data-effects": skinEffects(),
29
+ "data-skin": skin.id,
30
+ "data-effects": controlEffectsAttribute(skin.effects),
29
31
  className: "fixed inset-0 z-[70]"
30
32
  }), /* @__PURE__ */ jsx(Dialog.Popup, {
31
- "data-skin": skinId(),
32
- "data-effects": skinEffects(),
33
+ "data-skin": skin.id,
34
+ "data-effects": controlEffectsAttribute(skin.effects),
33
35
  "data-control-ui": "sheet",
34
36
  "data-popup-kind": "sheet",
35
37
  "data-control-family": "popup",
@@ -2,26 +2,26 @@ import { HoverIndicator, RenderProp, SelectionIndicator } from "../control-props
2
2
  import { SidebarKnobStyle } from "../knob-contracts/sidebar-knobs.js";
3
3
  import { CSSProperties, ComponentProps, ReactNode } from "react";
4
4
  //#region src/ui/sidebar-menu.d.ts
5
- declare const sidebarMenuButtonVariants: readonly ["default", "outline"];
6
- type SidebarMenuButtonVariant = (typeof sidebarMenuButtonVariants)[number];
7
- declare const sidebarMenuButtonSizes: readonly ["default", "sm", "lg"];
8
- type SidebarMenuButtonSize = (typeof sidebarMenuButtonSizes)[number];
9
- type SidebarGroupLabelProps = Omit<ComponentProps<"div">, "style"> & {
5
+ export declare const sidebarMenuButtonVariants: readonly ["default", "outline"];
6
+ export type SidebarMenuButtonVariant = (typeof sidebarMenuButtonVariants)[number];
7
+ export declare const sidebarMenuButtonSizes: readonly ["default", "sm", "lg"];
8
+ export type SidebarMenuButtonSize = (typeof sidebarMenuButtonSizes)[number];
9
+ export type SidebarGroupLabelProps = Omit<ComponentProps<"div">, "style"> & {
10
10
  style?: CSSProperties & SidebarKnobStyle;
11
11
  } & {
12
12
  render?: RenderProp<ComponentProps<"div">>;
13
13
  };
14
- type SidebarGroupContentProps = Omit<ComponentProps<"div">, "style"> & {
14
+ export type SidebarGroupContentProps = Omit<ComponentProps<"div">, "style"> & {
15
15
  style?: CSSProperties & SidebarKnobStyle;
16
16
  };
17
- type SidebarMenuActionProps = Omit<ComponentProps<"button">, "style"> & {
17
+ export type SidebarMenuActionProps = Omit<ComponentProps<"button">, "style"> & {
18
18
  render?: RenderProp<ComponentProps<"button">>;
19
19
  showOnHover?: boolean;
20
20
  style?: CSSProperties & SidebarKnobStyle;
21
21
  };
22
- declare function SidebarGroupContent({ className, ...props }: SidebarGroupContentProps): import("react").JSX.Element;
23
- declare function SidebarMenuAction({ className, render, showOnHover, children, ...props }: SidebarMenuActionProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
24
- type SidebarMenuButtonProps = Omit<ComponentProps<"button">, "style"> & {
22
+ export declare function SidebarGroupContent({ className, ...props }: SidebarGroupContentProps): import("react").JSX.Element;
23
+ export declare function SidebarMenuAction({ className, render, showOnHover, children, ...props }: SidebarMenuActionProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
24
+ export type SidebarMenuButtonProps = Omit<ComponentProps<"button">, "style"> & {
25
25
  style?: CSSProperties & SidebarKnobStyle;
26
26
  } & {
27
27
  render?: RenderProp<ComponentProps<"button">>;
@@ -30,20 +30,19 @@ type SidebarMenuButtonProps = Omit<ComponentProps<"button">, "style"> & {
30
30
  variant?: SidebarMenuButtonVariant;
31
31
  size?: SidebarMenuButtonSize;
32
32
  };
33
- declare function SidebarGroup({ className, ...props }: ComponentProps<"div"> & {
33
+ export declare function SidebarGroup({ className, ...props }: ComponentProps<"div"> & {
34
34
  style?: CSSProperties & SidebarKnobStyle;
35
35
  }): import("react").JSX.Element;
36
- declare function SidebarGroupLabel({ className, render, children, ...props }: SidebarGroupLabelProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
37
- type SidebarSelectionIndicator = SelectionIndicator | HoverIndicator;
38
- declare function SidebarMenu({ className, indicator, style, children, ...props }: ComponentProps<"ul"> & {
36
+ export declare function SidebarGroupLabel({ className, render, children, ...props }: SidebarGroupLabelProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
37
+ export type SidebarSelectionIndicator = SelectionIndicator | HoverIndicator;
38
+ export declare function SidebarMenu({ className, indicator, style, children, ...props }: ComponentProps<"ul"> & {
39
39
  indicator?: SidebarSelectionIndicator;
40
40
  } & {
41
41
  style?: CSSProperties & SidebarKnobStyle;
42
42
  }): import("react").JSX.Element;
43
- declare function SidebarMenuItem({ className, ...props }: ComponentProps<"li"> & {
43
+ export declare function SidebarMenuItem({ className, ...props }: ComponentProps<"li"> & {
44
44
  style?: CSSProperties & SidebarKnobStyle;
45
45
  }): import("react").JSX.Element;
46
- declare function SidebarMenuButton({ render, isActive, variant, size, tooltip, className, children, ...props }: SidebarMenuButtonProps): import("react").JSX.Element;
47
- declare function SidebarMenuSub({ className, ...props }: ComponentProps<typeof SidebarMenu>): import("react").JSX.Element;
48
- //#endregion
49
- export { SidebarGroup, SidebarGroupContent, SidebarGroupContentProps, SidebarGroupLabel, SidebarGroupLabelProps, SidebarMenu, SidebarMenuAction, SidebarMenuActionProps, SidebarMenuButton, SidebarMenuButtonProps, SidebarMenuButtonSize, SidebarMenuButtonVariant, SidebarMenuItem, SidebarMenuSub, SidebarSelectionIndicator, sidebarMenuButtonSizes, sidebarMenuButtonVariants };
46
+ export declare function SidebarMenuButton({ render, isActive, variant, size, tooltip, className, children, ...props }: SidebarMenuButtonProps): import("react").JSX.Element;
47
+ export declare function SidebarMenuSub({ className, ...props }: ComponentProps<typeof SidebarMenu>): import("react").JSX.Element;
48
+ //#endregion
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
- import { skinIndicator } from "../skin.js";
3
+ import { useSkin } from "../skin-provider.js";
4
4
  import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
5
5
  import { useSidebar } from "./sidebar-provider.js";
6
6
  import { TrackHighlight } from "../extensions/track-highlight.js";
@@ -65,7 +65,8 @@ function SidebarGroupLabel({ className, render, children, ...props }) {
65
65
  }
66
66
  const SidebarMenuContext = createContext("none");
67
67
  function SidebarMenu({ className, indicator, style, children, ...props }) {
68
- const resolvedIndicator = indicator ?? skinIndicator("sidebar") ?? "none";
68
+ const skin = useSkin();
69
+ const resolvedIndicator = indicator ?? skin.indicators?.sidebar ?? "none";
69
70
  const hasHighlight = resolvedIndicator !== "none";
70
71
  const list = /* @__PURE__ */ jsx("ul", {
71
72
  "data-control-ui": "sidebar",
@@ -101,7 +102,7 @@ function SidebarMenuItem({ className, ...props }) {
101
102
  ...props
102
103
  });
103
104
  }
104
- const sidebarMenuButtonClasses = cva("peer/menu-button flex w-full items-center overflow-hidden text-start group-data-[collapsible=icon]:px-0! disabled:pointer-events-none aria-disabled:pointer-events-none [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
105
+ const sidebarMenuButtonClasses = cva("peer/menu-button flex w-full items-center overflow-hidden text-start group-data-[collapsible=icon]:px-0! disabled:pointer-events-none aria-disabled:pointer-events-none [&>span]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
105
106
  variants: {
106
107
  variant: {
107
108
  default: null,
@@ -1,7 +1,7 @@
1
1
  import { SidebarKnobStyle } from "../knob-contracts/sidebar-knobs.js";
2
- import { CSSProperties, ComponentProps } from "react";
2
+ import { CSSProperties, ComponentProps, RefObject } from "react";
3
3
  //#region src/ui/sidebar-provider.d.ts
4
- type SidebarStyle = CSSProperties & SidebarKnobStyle & {
4
+ export type SidebarStyle = CSSProperties & SidebarKnobStyle & {
5
5
  "--sidebar-width"?: string;
6
6
  "--sidebar-width-icon"?: string;
7
7
  };
@@ -13,16 +13,41 @@ type SidebarContextProps = {
13
13
  setOpenMobile: (open: boolean) => void;
14
14
  isMobile: boolean;
15
15
  toggleSidebar: () => void;
16
+ width: number | undefined;
17
+ minWidth: number;
18
+ maxWidth: number;
19
+ setWidth: (width: number) => void;
16
20
  };
17
- declare function useSidebar(): SidebarContextProps;
18
- type SidebarProviderProps = Omit<ComponentProps<"div">, "style"> & {
21
+ type SidebarElements = {
22
+ wrapperRef: RefObject<HTMLDivElement | null>;
23
+ offcanvasRef: RefObject<HTMLDivElement | null>;
24
+ railRef: RefObject<HTMLElement | null>;
25
+ triggerRef: RefObject<HTMLButtonElement | null>;
26
+ };
27
+ export declare const SidebarSurfaceContext: import("react").Context<{
28
+ side: "left" | "right";
29
+ collapsible: "offcanvas" | "icon" | "none";
30
+ railContainer: HTMLDivElement | null;
31
+ } | null>;
32
+ export declare function useSidebarElements(): SidebarElements;
33
+ export declare function useSidebarSurface(): {
34
+ side: "left" | "right";
35
+ collapsible: "offcanvas" | "icon" | "none";
36
+ railContainer: HTMLDivElement | null;
37
+ };
38
+ export declare function useSidebar(): SidebarContextProps;
39
+ export type SidebarProviderProps = Omit<ComponentProps<"div">, "style"> & {
19
40
  defaultOpen?: boolean;
20
41
  open?: boolean;
21
42
  onOpenChange?: (open: boolean) => void;
43
+ defaultWidth?: number;
44
+ minWidth?: number;
45
+ maxWidth?: number;
46
+ width?: number;
47
+ onWidthChange?: (width: number) => void;
22
48
  persistOpen?: boolean;
23
49
  keyboardShortcut?: string | null;
24
50
  style?: SidebarStyle;
25
51
  };
26
- declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange, persistOpen, keyboardShortcut, ref, className, style, children, ...props }: SidebarProviderProps): import("react").JSX.Element;
27
- //#endregion
28
- export { SidebarProvider, SidebarProviderProps, SidebarStyle, useSidebar };
52
+ export declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange, defaultWidth, minWidth, maxWidth, width: widthProp, onWidthChange, persistOpen, keyboardShortcut, ref, className, style, children, ...props }: SidebarProviderProps): import("react").JSX.Element;
53
+ //#endregion