@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
@@ -1,65 +1,57 @@
1
- /* Load alongside Tailwind v4 and at least one complete skin theme — nothing here paints without a pack's token values. */
2
-
3
- @custom-variant dark (&:is(.dark *));
4
-
5
- /* biome-ignore-start lint/complexity/noImportantStyles: Reduced motion must override skin and inline motion. */
6
- /* Motion collapses under OS preference; !important wins over skin-scoped tokens and editor duration overrides. */
7
- @media (prefers-reduced-motion: reduce) {
8
- :where(:root),
9
- [data-skin] {
10
- --duration-fast: 0ms !important;
11
- --duration-base: 0ms !important;
12
- --duration-slow: 0ms !important;
13
- }
14
-
15
- :where([data-skin], [data-skin] *, [data-skin]::before, [data-skin]::after, [data-skin] *::before, [data-skin] *::after) {
16
- scroll-behavior: auto !important;
17
- transition-delay: 0ms !important;
18
- transition-duration: 0ms !important;
19
- animation-delay: 0ms !important;
20
- animation-duration: 1ms !important;
21
- animation-iteration-count: 1 !important;
22
- }
23
- }
24
-
25
- /* Explicit motion kill-switch, same collapse as above but opt-in via attribute, not OS preference.
26
- Skin's `motion: "reduced"` flag or the theme editor toggle stamps [data-motion="reduced"] on <html>;
27
- also targets skin-scoped portals directly since their [data-skin] tokens would beat inherited root values. */
28
- :root[data-motion="reduced"],
29
- [data-motion="reduced"][data-skin],
30
- [data-motion="reduced"] [data-skin] {
31
- --duration-fast: 0ms !important;
32
- --duration-base: 0ms !important;
33
- --duration-slow: 0ms !important;
34
- }
35
-
36
- :where(
37
- [data-motion="reduced"],
38
- [data-motion="reduced"] *,
39
- [data-motion="reduced"]::before,
40
- [data-motion="reduced"]::after,
41
- [data-motion="reduced"] *::before,
42
- [data-motion="reduced"] *::after
43
- ) {
44
- scroll-behavior: auto !important;
45
- transition-delay: 0ms !important;
46
- transition-duration: 0ms !important;
47
- animation-delay: 0ms !important;
48
- animation-duration: 1ms !important;
49
- animation-iteration-count: 1 !important;
50
- }
51
- /* biome-ignore-end lint/complexity/noImportantStyles: Reduced motion must override skin and inline motion. */
52
-
53
- /* Skin-root defaults at zero specificity — any pack declaration (theme.css or skin.css) wins.
54
- First family: derived-tier contract tokens, re-valued by a pack only when it diverges.
55
- Second family: core mechanics (math constants + aliases) that live OFF the contract entirely. */
56
- :where([data-skin]) {
57
- /* font roles default to the skin's face; re-value one to give headings their own. */
1
+ :where(:root, [data-skin]) {
2
+ --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
4
+
5
+ --primary: oklch(0.2046 0 0);
6
+ --primary-foreground: oklch(0.9851 0 0);
7
+ --foreground: oklch(0.1448 0 0);
8
+ --secondary-foreground: oklch(0.1448 0 0);
9
+ --accent-foreground: oklch(0.1448 0 0);
10
+
11
+ --background: oklch(1 0 0);
12
+ --card: oklch(1 0 0);
13
+ --card-foreground: oklch(0.1448 0 0);
14
+ --popover: oklch(1 0 0);
15
+ --popover-foreground: oklch(0.1448 0 0);
16
+ --canvas: oklch(1 0 0);
17
+
18
+ --radius: 0px;
19
+ --shadow-size: 0;
20
+ --scroll-fade-size: 0px;
21
+ --backdrop-blur-popover: 0px;
22
+ --backdrop-blur-overlay: 0px;
23
+
24
+ --control-h: 36px;
25
+ --popover-opacity: 1;
26
+ --overlay-opacity: 0.2;
27
+ --padding-x: 16px;
28
+ --padding-y: 10px;
29
+
30
+ --muted: oklch(0.9425 0 0);
31
+ --muted-foreground: oklch(0.52 0 0);
32
+ --secondary: oklch(0.9425 0 0);
33
+ --accent: oklch(0.9295 0 0);
34
+ --destructive: oklch(0.568 0.1961 32);
35
+ --destructive-foreground: oklch(0.9852 0.0058 85);
36
+ --border: oklch(0.8851 0 0 / var(--ring-opacity));
37
+ --input: oklch(0.8851 0 0);
38
+ --ring: oklch(0.5 0 0);
39
+ --text-label: 0.75rem;
40
+ --radius-control: calc(var(--radius) * 2);
41
+ --radius-field: calc(var(--radius) * 2.2);
42
+ --radius-panel: calc(var(--radius) * 2.6);
43
+ --radius-scene: calc(var(--radius) * 2.8);
44
+ --radius-popup-item: calc(var(--radius-control) * 0.6);
45
+ --shadow-color: oklch(0.2986 0 0);
46
+ --shadow-opacity: 1;
47
+ --duration-fast: 150ms;
48
+ --duration-base: 200ms;
49
+ --duration-slow: 300ms;
50
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
51
+ --ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);
52
+ --popover-padding: 0.25rem;
58
53
  --font-body: var(--font-sans);
59
54
  --font-display: var(--font-sans);
60
-
61
- /* majority defaults measured over the shipped packs; a pack declares one only to diverge,
62
- and the dark block below carries the mode-split ones */
63
55
  --primary-text: oklch(from var(--primary) 0.48 c h);
64
56
  --destructive-text: oklch(from var(--destructive) 0.48 c h);
65
57
  --ring-opacity: 1;
@@ -97,10 +89,7 @@
97
89
 
98
90
  --corner-shape: round;
99
91
  --corner-radius-fit: 0.5;
100
- --radius-popover: calc(
101
- var(--radius-popup-item-fit) +
102
- clamp(0px, var(--radius-popup-item-fit) * 1000, var(--popover-padding) - var(--nest-safe))
103
- );
92
+ --radius-popover: calc(var(--radius-popup-item-fit) + clamp(0px, var(--radius-popup-item-fit) * 1000, var(--popover-padding)));
104
93
 
105
94
  --shadow-highlight: oklch(1 0 0 / 0.62);
106
95
  --shadow-y: 1;
@@ -146,27 +135,15 @@
146
135
  --badge-pink-foreground: var(--color-pink-800);
147
136
  --badge-pink-border: oklch(from var(--color-pink-500) l c h / 0.2);
148
137
  --badge-pink-hover: oklch(from var(--color-pink-500) l c h / 0.24);
149
-
150
- /* tw-scale rungs multiply from THE radius knob; the squircle fallback below re-derives them ×fit */
151
138
  --radius-sm: calc(var(--radius) * 0.6);
152
139
  --radius-md: calc(var(--radius) * 0.8);
153
140
  --radius-lg: var(--radius);
154
141
  --radius-xl: calc(var(--radius) * 1.4);
155
142
  --radius-2xl: calc(var(--radius) * 1.6);
156
-
157
- /* Browser clamps rendered radius to half the box's short side, so at large --radius a row's visible
158
- corner saturates below the --radius-popup-item token. Container must match the visible corner, not
159
- the token, or it out-rounds the row and the overflow clip cuts it flat. */
160
143
  --radius-popup-item-fit: min(var(--radius-popup-item), calc(var(--control-h-xs) / 2));
161
- /* Sub-pixel guard for concentric nesting in ring-clipped containers. Bump to border+~2px if one ever gets a real border. */
162
144
  --nest-safe: 1px;
163
- /* Corner-fit ratio = 2+sqrt(2): control at gap `g` from corner radius R is sliced once R > ratio*g.
164
- Caps corners that can outgrow their content inset (code-block --radius-panel vs fixed tab inset)
165
- at gap*ratio, so header controls never clip. */
166
145
  --nest-corner-ratio: 3.41421356;
167
146
  --control-h-md: var(--control-h);
168
-
169
- /* shadcn Sidebar compat: --sidebar* aliases existing tokens; row state derives from --foreground alpha. */
170
147
  --sidebar: var(--canvas);
171
148
  --sidebar-foreground: var(--foreground);
172
149
  --sidebar-primary: var(--primary);
@@ -177,7 +154,30 @@
177
154
  --sidebar-ring: var(--ring);
178
155
  }
179
156
 
180
- :where(.dark [data-skin], .dark[data-skin]) {
157
+ :where(.dark:root, .dark[data-skin], .dark [data-skin]) {
158
+ --primary: oklch(0.9851 0 0);
159
+ --primary-foreground: oklch(0.2046 0 0);
160
+ --foreground: oklch(0.9851 0 0);
161
+ --card-foreground: oklch(0.9851 0 0);
162
+ --popover-foreground: oklch(0.9851 0 0);
163
+ --secondary-foreground: oklch(0.9851 0 0);
164
+ --accent-foreground: oklch(0.9851 0 0);
165
+ --background: oklch(0.1448 0 0);
166
+ --card: oklch(0.2046 0 0);
167
+ --popover: oklch(0.2046 0 0);
168
+ --canvas: oklch(0.1448 0 0);
169
+
170
+ --muted: oklch(0.2668 0 0);
171
+ --muted-foreground: oklch(0.7405 0 0);
172
+ --secondary: oklch(0.2668 0 0);
173
+ --accent: oklch(0.2864 0 0);
174
+ --destructive: oklch(0.551 0.1799 32);
175
+ --destructive-foreground: oklch(0.9645 0.008 84);
176
+ --border: oklch(0.3082 0 0 / var(--ring-opacity));
177
+ --input: oklch(0.3082 0 0);
178
+ --ring: oklch(0.66 0 0);
179
+ --focus-ring: oklch(0.66 0 0);
180
+ --shadow-color: oklch(0 0 0);
181
181
  --primary-text: oklch(from var(--primary) 0.78 c h);
182
182
  --destructive-text: oklch(from var(--destructive) 0.78 c h);
183
183
  --shadow-highlight: oklch(1 0 0 / 0.055);
@@ -214,6 +214,53 @@
214
214
  --badge-pink-hover: oklch(from var(--color-pink-400) l c h / 0.28);
215
215
  }
216
216
 
217
+ @custom-variant dark (&:is(.dark *));
218
+
219
+ /* biome-ignore-start lint/complexity/noImportantStyles: Reduced motion must override skin and inline motion. */
220
+
221
+ @media (prefers-reduced-motion: reduce) {
222
+ :where(:root),
223
+ [data-skin] {
224
+ --duration-fast: 0ms !important;
225
+ --duration-base: 0ms !important;
226
+ --duration-slow: 0ms !important;
227
+ }
228
+
229
+ :where(:root, :root *, [data-skin], [data-skin] *, [data-skin]::before, [data-skin]::after, [data-skin] *::before, [data-skin] *::after) {
230
+ scroll-behavior: auto !important;
231
+ transition-delay: 0ms !important;
232
+ transition-duration: 0ms !important;
233
+ animation-delay: 0ms !important;
234
+ animation-duration: 1ms !important;
235
+ animation-iteration-count: 1 !important;
236
+ }
237
+ }
238
+
239
+ :root[data-motion="reduced"],
240
+ [data-motion="reduced"][data-skin],
241
+ [data-motion="reduced"] [data-skin] {
242
+ --duration-fast: 0ms !important;
243
+ --duration-base: 0ms !important;
244
+ --duration-slow: 0ms !important;
245
+ }
246
+
247
+ :where(
248
+ [data-motion="reduced"],
249
+ [data-motion="reduced"] *,
250
+ [data-motion="reduced"]::before,
251
+ [data-motion="reduced"]::after,
252
+ [data-motion="reduced"] *::before,
253
+ [data-motion="reduced"] *::after
254
+ ) {
255
+ scroll-behavior: auto !important;
256
+ transition-delay: 0ms !important;
257
+ transition-duration: 0ms !important;
258
+ animation-delay: 0ms !important;
259
+ animation-duration: 1ms !important;
260
+ animation-iteration-count: 1 !important;
261
+ }
262
+ /* biome-ignore-end lint/complexity/noImportantStyles: Reduced motion must override skin and inline motion. */
263
+
217
264
  @theme inline {
218
265
  --color-background: var(--background);
219
266
  --color-canvas: var(--canvas);
@@ -246,9 +293,6 @@
246
293
  --color-sidebar-border: var(--sidebar-border);
247
294
  --color-sidebar-ring: var(--sidebar-ring);
248
295
 
249
- /* Self-references, not values: @theme merges globally across all skin packs in one Tailwind build,
250
- so a value here could never differ per skin. Self-ref keeps the var alive in the emitted utility,
251
- so pack-scoped declarations re-value each rung per skin (same shape as --color-primary below). */
252
296
  --radius-sm: var(--radius-sm);
253
297
  --radius-md: var(--radius-md);
254
298
  --radius-lg: var(--radius-lg);
@@ -258,7 +302,6 @@
258
302
  --radius-panel: var(--radius-panel);
259
303
  --radius-scene: var(--radius-scene);
260
304
 
261
- /* Same self-reference shape; rungs + paired line-height/weight/tracking live in each skin theme. */
262
305
  --text-micro: var(--text-micro);
263
306
  --text-caption: var(--text-caption);
264
307
  --text-label: var(--text-label);
@@ -282,13 +325,9 @@
282
325
  --text-display--font-weight: var(--text-display--font-weight);
283
326
  --text-display--letter-spacing: var(--text-display--letter-spacing);
284
327
 
285
- /* Generates font-body/font-display utilities off role tokens above; skin re-values one alone to re-face all headings/body. */
286
328
  --font-body: var(--font-body);
287
329
  --font-display: var(--font-display);
288
330
 
289
- /* Global knobs (size/opacity/y) + tier multipliers keep control/panel/popover/modal/ambient shadows
290
- distinct without per-component math. Each tier layers tight+mid+long alphas for one soft umber
291
- penumbra ("soft daylight"); every length multiplies the global knobs so --shadow-size:0 flattens all. */
292
331
  --shadow-xs:
293
332
  inset 0 1px 0 oklch(from var(--shadow-highlight) l c h / calc(alpha * var(--shadow-opacity) * min(var(--shadow-size), 1))),
294
333
  0 calc(1px * var(--shadow-size) * var(--shadow-control-multiplier) * var(--shadow-y))
@@ -345,7 +384,7 @@
345
384
  0 calc(6px * var(--shadow-size) * var(--shadow-popover-multiplier) * var(--shadow-y))
346
385
  calc(14px * var(--shadow-size) * var(--shadow-popover-multiplier))
347
386
  calc(-3px * var(--shadow-size) * var(--shadow-popover-multiplier))
348
- oklch(from var(--shadow-color) l c h / calc(0.07 * var(--shadow-opacity))); /* floating popovers */
387
+ oklch(from var(--shadow-color) l c h / calc(0.07 * var(--shadow-opacity)));
349
388
  --shadow-modal:
350
389
  inset 0 1px 0
351
390
  oklch(from var(--shadow-highlight) l c h / calc(alpha * var(--shadow-opacity) * min(var(--shadow-size), 1))),
@@ -364,7 +403,7 @@
364
403
  0 calc(7px * var(--shadow-size) * var(--shadow-modal-multiplier) * var(--shadow-y))
365
404
  calc(16px * var(--shadow-size) * var(--shadow-modal-multiplier))
366
405
  calc(-3px * var(--shadow-size) * var(--shadow-modal-multiplier))
367
- oklch(from var(--shadow-color) l c h / calc(0.1 * var(--shadow-opacity))); /* dialogs and sheets */
406
+ oklch(from var(--shadow-color) l c h / calc(0.1 * var(--shadow-opacity)));
368
407
  --shadow-soft:
369
408
  0 calc(0.75px * var(--shadow-size) * var(--shadow-ambient-multiplier) * var(--shadow-y))
370
409
  calc(2px * var(--shadow-size) * var(--shadow-ambient-multiplier)) calc(-0.75px * var(--shadow-size) * var(--shadow-ambient-multiplier))
@@ -374,7 +413,7 @@
374
413
  oklch(from var(--shadow-color) l c h / calc(0.05 * var(--shadow-opacity))),
375
414
  0 calc(4.5px * var(--shadow-size) * var(--shadow-ambient-multiplier) * var(--shadow-y))
376
415
  calc(12px * var(--shadow-size) * var(--shadow-ambient-multiplier)) calc(-2.5px * var(--shadow-size) * var(--shadow-ambient-multiplier))
377
- oklch(from var(--shadow-color) l c h / calc(0.05 * var(--shadow-opacity))); /* ambient lift */
416
+ oklch(from var(--shadow-color) l c h / calc(0.05 * var(--shadow-opacity)));
378
417
 
379
418
  --shadow-inset:
380
419
  inset 0 calc(1px * var(--shadow-size) * var(--shadow-control-multiplier) * var(--shadow-y))
@@ -383,14 +422,11 @@
383
422
  inset 0 0 calc(4px * var(--shadow-size) * var(--shadow-control-multiplier))
384
423
  oklch(from var(--shadow-color) l c h / calc(0.04 * var(--shadow-opacity)));
385
424
 
386
- /* bare `transition*` utilities inherit the themed curve + tempo */
387
425
  --default-transition-duration: var(--duration-fast);
388
426
  --default-transition-timing-function: var(--ease-standard);
389
427
  }
390
428
 
391
429
  @layer base {
392
- /* v4 defaults border/divide color to currentColor; restore themed border (same rule shadcn v4 ships, host merge is harmless). */
393
- /* border-box origin too: default padding-box origin + border-box clip + repeat tiles the gradient's far end into a translucent border ring (--border carries alpha in most packs). Escape hatch: bg-origin-padding. */
394
430
  *,
395
431
  ::after,
396
432
  ::before {
@@ -404,21 +440,14 @@
404
440
  }
405
441
  }
406
442
 
407
- /* Squircle w/o corner-shape support falls back to plain round radius, reading over-rounded; shrink
408
- fallback by --corner-radius-fit to track Chrome's squircle. Gated on live --corner-shape via style
409
- query (fires only when squircle selected); re-declared on DA elements since skin-root tokens bake var(--radius) at their root, unreachable by descendant override. No style-query support = current fallback. */
410
443
  @supports not (corner-shape: squircle) {
411
444
  @container style(--corner-shape: squircle) {
412
445
  :where([data-control-ui][data-slot]) {
413
- /* Halve base control radius; concentric popup/popover tokens re-derive from it, no second factor needed. */
414
446
  --radius-control: calc(var(--radius) * 2 * var(--corner-radius-fit));
415
447
  --radius-popup-item: calc(var(--radius-control) * 0.6);
416
448
  --radius-popup-item-fit: min(var(--radius-popup-item), calc(var(--control-h-xs) / 2));
417
- --radius-popover: calc(
418
- var(--radius-popup-item-fit) +
419
- clamp(0px, var(--radius-popup-item-fit) * 1000, var(--popover-padding) - var(--nest-safe))
420
- );
421
- /* Each derives straight from --radius; must mirror the :where([data-skin]) scale above ×fit. */
449
+ --radius-popover: calc(var(--radius-popup-item-fit) + clamp(0px, var(--radius-popup-item-fit) * 1000, var(--popover-padding)));
450
+
422
451
  --radius-sm: calc(var(--radius) * 0.6 * var(--corner-radius-fit));
423
452
  --radius-md: calc(var(--radius) * 0.8 * var(--corner-radius-fit));
424
453
  --radius-lg: calc(var(--radius) * var(--corner-radius-fit));
@@ -433,13 +462,6 @@
433
462
  }
434
463
 
435
464
  @layer components {
436
- /* THE keyboard focus indicator, for every Control UI element in one rule. An outline, not a
437
- box-shadow: a skin that re-paints box-shadow cannot erase it, and forced-colors mode repaints
438
- outline-color with a system color while it drops box-shadow entirely. Opt OUT (a part that takes
439
- programmatic focus but is not a target) by re-valuing --focus-ring-width to 0px on that part.
440
- A control rendered as a <label> never takes focus itself — the input it wraps does, and a part
441
- nested inside a composed control (an input inside InputGroup) lets that shell carry the ring so
442
- it wraps the whole field instead of one part of it. */
443
465
  :where([data-control-family]):focus-visible,
444
466
  :where([data-control-family][data-control="true"]):has(:focus-visible) {
445
467
  outline: var(--focus-ring-width) var(--focus-ring-style) var(--focus-ring);
@@ -484,20 +506,12 @@
484
506
  }
485
507
  }
486
508
 
487
- /* Cross-slide switch, shared by every surface that swaps one panel for another (tabs panels, inline
488
- citation sources). Contract: the element owning the switch carries data-slide="scope", each swapped
489
- child data-slide="panel" plus the lifecycle attributes — inert, data-starting-style /
490
- data-ending-style, data-activation-direction. Base UI stamps those on tabs panels; inline citation
491
- stamps its own. Keyed on the role, not on a component, so a new caller opts in with two attributes. */
492
509
  :where([data-slide="panel"]) {
493
510
  translate: 0 0;
494
- /* No opacity fade: panels unmount, fade-in from 0 would flash empty frame; slide-only keeps content opaque. */
511
+
495
512
  transition: translate var(--duration-slow) var(--ease-emphasized);
496
513
  }
497
514
 
498
- /* Fallback switch (no anchor positioning): the outgoing panel stays mounted+inert until its exit
499
- anim finishes; two in-flow panels would stack, so the exiting one is pulled from layout the moment
500
- it's inert and the entering one gets a soft directional nudge. Active panel is never `inert`. */
501
515
  :where([data-slide="panel"][inert]) {
502
516
  display: none;
503
517
  }
@@ -518,14 +532,7 @@
518
532
  translate: 0 0.35rem;
519
533
  }
520
534
 
521
- /* True cross-slide (anchor positioning, Limited → @supports per the CSS-first rule): the exiting
522
- panel is revived and glued edge-to-edge onto the entering panel's box (anchor = the open panel).
523
- Anchor offsets track the anchor's translated box every frame, so the pair travel as ONE strip
524
- driven by a single transition — the entering panel's ±100% slide — whatever wrapper the panels
525
- happen to live in (they are not always the scope's direct children). */
526
535
  @supports ((anchor-name: --aui-slide-panel) and (anchor-scope: --aui-slide-panel)) {
527
- /* Per-instance scope: without it the exiting panel would anchor onto the LAST open panel in the
528
- whole document — another instance's panel. Nested scopes re-scope, so names never leak. */
529
536
  :where([data-slide="scope"]) {
530
537
  anchor-scope: --aui-slide-panel;
531
538
  }
@@ -534,9 +541,6 @@
534
541
  anchor-name: --aui-slide-panel;
535
542
  }
536
543
 
537
- /* display:block revives the fallback-hidden panel; anchor-size clips a longer outgoing panel to
538
- the incoming one's box mid-slide. The per-direction glue below does the placement; a panel with
539
- direction "none" gets no glue and no hold, i.e. the instant fallback swap. */
540
544
  :where([data-slide="panel"][inert][data-ending-style]) {
541
545
  display: block;
542
546
  position: absolute;
@@ -546,15 +550,11 @@
546
550
  overflow: clip;
547
551
  }
548
552
 
549
- /* The panels' direct parent turns containing block + crops the ±100% travel while a switch is in
550
- flight (an absolutely positioned exiting panel escapes the overflow of non-positioned ancestors). */
551
553
  :where(:has(> [data-slide="panel"][data-ending-style])) {
552
554
  position: relative;
553
555
  overflow: clip;
554
556
  }
555
557
 
556
- /* Glue = trailing edge of the strip; the hold animation is what keeps Base UI from unmounting the
557
- exiting panel mid-slide (it waits on the panel's own animations, and the glue isn't one). */
558
558
  :where([data-slide="panel"][inert][data-ending-style][data-activation-direction="left"]) {
559
559
  top: anchor(top);
560
560
  left: anchor(right);
@@ -595,12 +595,6 @@
595
595
  translate: 0 100%;
596
596
  }
597
597
 
598
- /* Height morph: auto→auto never transitions, so the entering panel starts at the outgoing panel's
599
- measured height (--aui-slide-prev-height, stamped by the component just before the switch) and
600
- eases to its own intrinsic height — calc-size() makes the auto endpoint interpolable. The glued
601
- exiting panel follows via anchor-size(height), so the whole strip resizes as one; overflow
602
- mid-morph is cropped by the parent clip already active for the slide. :not([inert]) keeps this
603
- off the exiting panel, whose height must stay anchor-size(height). */
604
598
  @supports (height: calc-size(auto, size)) {
605
599
  :where([data-slide="panel"]:not([inert])) {
606
600
  height: calc-size(auto, size);
@@ -615,8 +609,6 @@
615
609
  }
616
610
  }
617
611
 
618
- /* Visually inert 0.999→1 hold: exists purely so the exiting panel reports a running animation for
619
- the slide's duration. Rides the motion tokens, so reduced motion collapses it to an instant swap. */
620
612
  @keyframes aui-slide-exit-hold {
621
613
  from {
622
614
  opacity: 0.999;
@@ -1,6 +1,5 @@
1
1
  //#region src/surface-variants.d.ts
2
- declare const popupItemStructureClasses = "flex select-none items-center";
3
- declare const popupParts: readonly ["backdrop", "surface", "list-surface", "list-content", "bar", "item", "navigation-link", "label", "separator", "shortcut"];
4
- type PopupPart = (typeof popupParts)[number];
5
- //#endregion
6
- export { PopupPart, popupItemStructureClasses, popupParts };
2
+ export declare const popupItemStructureClasses = "flex select-none items-center";
3
+ export declare const popupParts: readonly ["backdrop", "surface", "list-surface", "list-content", "bar", "item", "navigation-link", "label", "separator", "shortcut"];
4
+ export type PopupPart = (typeof popupParts)[number];
5
+ //#endregion
@@ -2,33 +2,32 @@ import { CollapsibleProps } from "./ui/collapsible.js";
2
2
  import { TaskListKnobStyle } from "./knob-contracts/task-list-knobs.js";
3
3
  import { CSSProperties, ComponentProps, ReactNode } from "react";
4
4
  //#region src/task-list.d.ts
5
- type TaskStatus = "pending" | "active" | "completed";
6
- type TaskListProps = Omit<CollapsibleProps, "style"> & {
5
+ export type TaskStatus = "pending" | "active" | "completed";
6
+ export type TaskListProps = Omit<CollapsibleProps, "style"> & {
7
7
  style?: CSSProperties & TaskListKnobStyle;
8
8
  };
9
9
  type TaskListStyleProps<Props, Style> = Omit<Props, "style"> & {
10
10
  style?: CSSProperties & Style;
11
11
  };
12
- declare function TaskList({ className, children, ...props }: TaskListProps): import("react").JSX.Element;
13
- type TaskListTriggerProps = TaskListStyleProps<ComponentProps<"button">, TaskListKnobStyle>;
14
- declare function TaskListTrigger({ className, children, ...props }: TaskListTriggerProps): import("react").JSX.Element;
15
- type TaskListProgressProps = TaskListStyleProps<ComponentProps<"span">, TaskListKnobStyle>;
16
- declare function TaskListProgress({ className, children, ...props }: TaskListProgressProps): import("react").JSX.Element;
17
- type TaskListLabelProps = TaskListStyleProps<ComponentProps<"span">, TaskListKnobStyle>;
18
- declare function TaskListLabel({ className, children, ...props }: TaskListLabelProps): import("react").JSX.Element;
19
- type TaskListContentProps = ComponentProps<"ol"> & {
12
+ export declare function TaskList({ className, children, ...props }: TaskListProps): import("react").JSX.Element;
13
+ export type TaskListTriggerProps = TaskListStyleProps<ComponentProps<"button">, TaskListKnobStyle>;
14
+ export declare function TaskListTrigger({ className, children, ...props }: TaskListTriggerProps): import("react").JSX.Element;
15
+ export type TaskListProgressProps = TaskListStyleProps<ComponentProps<"span">, TaskListKnobStyle>;
16
+ export declare function TaskListProgress({ className, children, ...props }: TaskListProgressProps): import("react").JSX.Element;
17
+ export type TaskListLabelProps = TaskListStyleProps<ComponentProps<"span">, TaskListKnobStyle>;
18
+ export declare function TaskListLabel({ className, children, ...props }: TaskListLabelProps): import("react").JSX.Element;
19
+ export type TaskListContentProps = ComponentProps<"ol"> & {
20
20
  style?: CSSProperties & TaskListKnobStyle;
21
21
  };
22
- declare function TaskListContent({ className, children, ...props }: TaskListContentProps): import("react").JSX.Element;
23
- type TaskListItemProps = TaskListStyleProps<Omit<ComponentProps<"li">, "children">, TaskListKnobStyle> & {
22
+ export declare function TaskListContent({ className, children, ...props }: TaskListContentProps): import("react").JSX.Element;
23
+ export type TaskListItemProps = TaskListStyleProps<Omit<ComponentProps<"li">, "children">, TaskListKnobStyle> & {
24
24
  label: string;
25
25
  status?: TaskStatus;
26
26
  children?: ReactNode;
27
27
  };
28
- declare function TaskListItem({ label, status, className, children, ...props }: TaskListItemProps): import("react").JSX.Element;
29
- type TaskListIndicatorProps = TaskListStyleProps<ComponentProps<"span">, TaskListKnobStyle> & {
28
+ export declare function TaskListItem({ label, status, className, children, ...props }: TaskListItemProps): import("react").JSX.Element;
29
+ export type TaskListIndicatorProps = TaskListStyleProps<ComponentProps<"span">, TaskListKnobStyle> & {
30
30
  status?: TaskStatus;
31
31
  };
32
- declare function TaskListIndicator({ status, className, ...props }: TaskListIndicatorProps): import("react").JSX.Element;
33
- //#endregion
34
- export { TaskList, TaskListContent, TaskListContentProps, TaskListIndicator, TaskListIndicatorProps, TaskListItem, TaskListItemProps, TaskListLabel, TaskListLabelProps, TaskListProgress, TaskListProgressProps, TaskListProps, TaskListTrigger, TaskListTriggerProps, TaskStatus };
32
+ export declare function TaskListIndicator({ status, className, ...props }: TaskListIndicatorProps): import("react").JSX.Element;
33
+ //#endregion
@@ -2,51 +2,50 @@ import { ChatRole } from "./hooks/use-chat-message.js";
2
2
  import { ThreadRailKnobStyle } from "./knob-contracts/thread-rail-knobs.js";
3
3
  import { CSSProperties, ComponentProps, ReactNode } from "react";
4
4
  //#region src/thread-rail.d.ts
5
- type ThreadRailProps = ComponentProps<"nav"> & {
5
+ export type ThreadRailProps = ComponentProps<"nav"> & {
6
6
  style?: CSSProperties & ThreadRailKnobStyle;
7
7
  };
8
- type ThreadRailItemProps = Omit<ComponentProps<"div">, "style"> & {
8
+ export type ThreadRailItemProps = Omit<ComponentProps<"div">, "style"> & {
9
9
  from?: ChatRole;
10
10
  inView?: boolean;
11
11
  active?: boolean;
12
12
  style?: CSSProperties & ThreadRailKnobStyle;
13
13
  };
14
- declare function ThreadRail({ className, children, style, ...props }: ThreadRailProps): import("react").JSX.Element;
15
- declare function ThreadRailItem({ from, inView, active, index, className, children, ...props }: ThreadRailItemProps & {
14
+ export declare function ThreadRail({ className, children, style, ...props }: ThreadRailProps): import("react").JSX.Element;
15
+ export declare function ThreadRailItem({ from, inView, active, index, className, children, ...props }: ThreadRailItemProps & {
16
16
  index?: number;
17
17
  }): import("react").JSX.Element;
18
- type ThreadRailLineProps = Omit<ComponentProps<"button">, "style"> & {
18
+ export type ThreadRailLineProps = Omit<ComponentProps<"button">, "style"> & {
19
19
  style?: CSSProperties & ThreadRailKnobStyle;
20
20
  };
21
- declare function ThreadRailLine({ className, ...props }: ThreadRailLineProps): import("react").JSX.Element;
22
- type ThreadRailPopoverProps = Omit<ComponentProps<"div">, "style"> & {
21
+ export declare function ThreadRailLine({ className, ...props }: ThreadRailLineProps): import("react").JSX.Element;
22
+ export type ThreadRailPopoverProps = Omit<ComponentProps<"div">, "style"> & {
23
23
  children?: ReactNode;
24
24
  style?: CSSProperties & ThreadRailKnobStyle;
25
25
  };
26
- declare function ThreadRailPopover(_props: ThreadRailPopoverProps): null;
27
- type ThreadRailTitleProps = Omit<ComponentProps<"div">, "style"> & {
26
+ export declare function ThreadRailPopover(_props: ThreadRailPopoverProps): null;
27
+ export type ThreadRailTitleProps = Omit<ComponentProps<"div">, "style"> & {
28
28
  style?: CSSProperties & ThreadRailKnobStyle;
29
29
  };
30
- declare function ThreadRailTitle({ className, ...props }: ThreadRailTitleProps): import("react").JSX.Element;
31
- type ThreadRailSummaryProps = Omit<ComponentProps<"p">, "style"> & {
30
+ export declare function ThreadRailTitle({ className, ...props }: ThreadRailTitleProps): import("react").JSX.Element;
31
+ export type ThreadRailSummaryProps = Omit<ComponentProps<"p">, "style"> & {
32
32
  style?: CSSProperties & ThreadRailKnobStyle;
33
33
  };
34
- declare function ThreadRailSummary({ className, ...props }: ThreadRailSummaryProps): import("react").JSX.Element;
35
- type ThreadRailFooterProps = Omit<ComponentProps<"div">, "style"> & {
34
+ export declare function ThreadRailSummary({ className, ...props }: ThreadRailSummaryProps): import("react").JSX.Element;
35
+ export type ThreadRailFooterProps = Omit<ComponentProps<"div">, "style"> & {
36
36
  style?: CSSProperties & ThreadRailKnobStyle;
37
37
  };
38
- declare function ThreadRailFooter({ className, ...props }: ThreadRailFooterProps): import("react").JSX.Element;
39
- type ThreadRailFileProps = Omit<ComponentProps<"span">, "style"> & {
38
+ export declare function ThreadRailFooter({ className, ...props }: ThreadRailFooterProps): import("react").JSX.Element;
39
+ export type ThreadRailFileProps = Omit<ComponentProps<"span">, "style"> & {
40
40
  style?: CSSProperties & ThreadRailKnobStyle;
41
41
  };
42
- declare function ThreadRailFile({ className, ...props }: ThreadRailFileProps): import("react").JSX.Element;
43
- type ThreadRailFileIconProps = Omit<ComponentProps<"span">, "style"> & {
42
+ export declare function ThreadRailFile({ className, ...props }: ThreadRailFileProps): import("react").JSX.Element;
43
+ export type ThreadRailFileIconProps = Omit<ComponentProps<"span">, "style"> & {
44
44
  style?: CSSProperties & ThreadRailKnobStyle;
45
45
  };
46
- declare function ThreadRailFileIcon({ className, children, ...props }: ThreadRailFileIconProps): import("react").JSX.Element;
47
- type ThreadRailMoreProps = Omit<ComponentProps<"span">, "style"> & {
46
+ export declare function ThreadRailFileIcon({ className, children, ...props }: ThreadRailFileIconProps): import("react").JSX.Element;
47
+ export type ThreadRailMoreProps = Omit<ComponentProps<"span">, "style"> & {
48
48
  style?: CSSProperties & ThreadRailKnobStyle;
49
49
  };
50
- declare function ThreadRailMore({ className, ...props }: ThreadRailMoreProps): import("react").JSX.Element;
51
- //#endregion
52
- export { ThreadRail, ThreadRailFile, ThreadRailFileIcon, ThreadRailFileIconProps, ThreadRailFileProps, ThreadRailFooter, ThreadRailFooterProps, ThreadRailItem, ThreadRailItemProps, ThreadRailLine, ThreadRailLineProps, ThreadRailMore, ThreadRailMoreProps, ThreadRailPopover, ThreadRailPopoverProps, ThreadRailProps, ThreadRailSummary, ThreadRailSummaryProps, ThreadRailTitle, ThreadRailTitleProps };
50
+ export declare function ThreadRailMore({ className, ...props }: ThreadRailMoreProps): import("react").JSX.Element;
51
+ //#endregion
@@ -1,15 +1,14 @@
1
1
  import { TranscriptDividerKnobStyle } from "./knob-contracts/transcript-divider-knobs.js";
2
2
  import { CSSProperties, ComponentProps } from "react";
3
3
  //#region src/transcript-divider.d.ts
4
- type ChatTone = "neutral" | "success" | "warning" | "danger";
5
- type TranscriptDividerProps = Omit<ComponentProps<"div">, "style"> & {
4
+ export type ChatTone = "neutral" | "success" | "warning" | "danger";
5
+ export type TranscriptDividerProps = Omit<ComponentProps<"div">, "style"> & {
6
6
  tone?: ChatTone;
7
7
  style?: CSSProperties & TranscriptDividerKnobStyle;
8
8
  };
9
- declare function TranscriptDivider({ tone, className, children, ...props }: TranscriptDividerProps): import("react").JSX.Element;
10
- type TranscriptDividerLabelProps = ComponentProps<"span"> & {
9
+ export declare function TranscriptDivider({ tone, className, children, ...props }: TranscriptDividerProps): import("react").JSX.Element;
10
+ export type TranscriptDividerLabelProps = ComponentProps<"span"> & {
11
11
  style?: CSSProperties & TranscriptDividerKnobStyle;
12
12
  };
13
- declare function TranscriptDividerLabel({ className, ...props }: TranscriptDividerLabelProps): import("react").JSX.Element;
14
- //#endregion
15
- export { ChatTone, TranscriptDivider, TranscriptDividerLabel, TranscriptDividerLabelProps, TranscriptDividerProps };
13
+ export declare function TranscriptDividerLabel({ className, ...props }: TranscriptDividerLabelProps): import("react").JSX.Element;
14
+ //#endregion
@@ -1,8 +1,8 @@
1
1
  import { AccordionKnobStyle } from "../knob-contracts/accordion-knobs.js";
2
2
  import { CSSProperties, ComponentProps } from "react";
3
3
  //#region src/ui/accordion.d.ts
4
- type AccordionValue = (string | number)[];
5
- type AccordionProps = Omit<ComponentProps<"div">, "defaultValue" | "onChange"> & {
4
+ export type AccordionValue = (string | number)[];
5
+ export type AccordionProps = Omit<ComponentProps<"div">, "defaultValue" | "onChange"> & {
6
6
  value?: AccordionValue;
7
7
  defaultValue?: AccordionValue;
8
8
  onValueChange?: (value: AccordionValue) => void;
@@ -11,21 +11,20 @@ type AccordionProps = Omit<ComponentProps<"div">, "defaultValue" | "onChange"> &
11
11
  } & {
12
12
  style?: CSSProperties & AccordionKnobStyle;
13
13
  };
14
- type AccordionItemProps = Omit<ComponentProps<"div"> & {
14
+ export type AccordionItemProps = Omit<ComponentProps<"div"> & {
15
15
  value?: string | number;
16
16
  disabled?: boolean;
17
17
  }, "style"> & {
18
18
  style?: CSSProperties & AccordionKnobStyle;
19
19
  };
20
- type AccordionTriggerProps = Omit<ComponentProps<"button">, "style"> & {
20
+ export type AccordionTriggerProps = Omit<ComponentProps<"button">, "style"> & {
21
21
  style?: CSSProperties & AccordionKnobStyle;
22
22
  };
23
- type AccordionPanelProps = Omit<ComponentProps<"div">, "style"> & {
23
+ export type AccordionPanelProps = Omit<ComponentProps<"div">, "style"> & {
24
24
  style?: CSSProperties & AccordionKnobStyle;
25
25
  };
26
- declare function Accordion({ className, ...props }: AccordionProps): import("react").JSX.Element;
27
- declare function AccordionItem({ className, ...props }: AccordionItemProps): import("react").JSX.Element;
28
- declare function AccordionTrigger({ className, children, ...props }: AccordionTriggerProps): import("react").JSX.Element;
29
- declare function AccordionPanel({ className, children, ...props }: AccordionPanelProps): import("react").JSX.Element;
30
- //#endregion
31
- export { Accordion, AccordionItem, AccordionItemProps, AccordionPanel, AccordionPanelProps, AccordionProps, AccordionTrigger, AccordionTriggerProps, AccordionValue };
26
+ export declare function Accordion({ className, ...props }: AccordionProps): import("react").JSX.Element;
27
+ export declare function AccordionItem({ className, ...props }: AccordionItemProps): import("react").JSX.Element;
28
+ export declare function AccordionTrigger({ className, children, ...props }: AccordionTriggerProps): import("react").JSX.Element;
29
+ export declare function AccordionPanel({ className, children, ...props }: AccordionPanelProps): import("react").JSX.Element;
30
+ //#endregion