@botiverse/raft-ui 0.50.0 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/components/activity-inbox/activity-inbox-shell.d.mts +12 -0
  3. package/dist/components/activity-inbox/activity-inbox-shell.mjs +39 -0
  4. package/dist/components/activity-inbox/activity-inbox-shell.recipe.mjs +14 -0
  5. package/dist/components/activity-inbox/activity-inbox-sidebar.d.mts +6 -0
  6. package/dist/components/activity-inbox/activity-inbox-sidebar.mjs +22 -0
  7. package/dist/components/activity-inbox/activity-inbox-sidebar.recipe.mjs +22 -0
  8. package/dist/components/activity-inbox/activity-inbox-toolbar.d.mts +9 -0
  9. package/dist/components/activity-inbox/activity-inbox-toolbar.mjs +29 -0
  10. package/dist/components/activity-inbox/activity-inbox-toolbar.recipe.mjs +14 -0
  11. package/dist/components/activity-inbox/index.d.mts +4 -0
  12. package/dist/components/alert-dialog/alert-dialog.d.mts +41 -0
  13. package/dist/components/alert-dialog/alert-dialog.mjs +163 -0
  14. package/dist/components/alert-dialog/index.d.mts +2 -0
  15. package/dist/components/announcement-dialog/announcement-dialog.d.mts +18 -0
  16. package/dist/components/announcement-dialog/announcement-dialog.mjs +121 -0
  17. package/dist/components/announcement-dialog/index.d.mts +3 -0
  18. package/dist/components/app-rail/app-rail.d.mts +31 -0
  19. package/dist/components/app-rail/app-rail.mjs +126 -0
  20. package/dist/components/app-rail/app-rail.recipe.mjs +47 -0
  21. package/dist/components/app-rail/index.d.mts +2 -0
  22. package/dist/components/app-shell/app-shell.d.mts +27 -0
  23. package/dist/components/app-shell/app-shell.mjs +217 -0
  24. package/dist/components/app-shell/index.d.mts +2 -0
  25. package/dist/components/avatar/avatar.d.mts +169 -0
  26. package/dist/components/avatar/avatar.mjs +298 -0
  27. package/dist/components/avatar/index.d.mts +2 -0
  28. package/dist/components/badge/badge.d.mts +89 -0
  29. package/dist/components/badge/badge.mjs +203 -0
  30. package/dist/components/badge/index.d.mts +2 -0
  31. package/dist/components/banner/banner.d.mts +141 -0
  32. package/dist/components/banner/banner.mjs +228 -0
  33. package/dist/components/banner/index.d.mts +2 -0
  34. package/dist/components/button/button.d.mts +257 -0
  35. package/dist/components/button/button.mjs +177 -0
  36. package/dist/components/button/index.d.mts +2 -0
  37. package/dist/components/card/card.d.mts +21 -0
  38. package/dist/components/card/card.mjs +114 -0
  39. package/dist/components/card/card.recipe.d.mts +105 -0
  40. package/dist/components/card/card.recipe.mjs +67 -0
  41. package/dist/components/card/index.d.mts +2 -0
  42. package/dist/components/checkbox/checkbox-indicator.d.mts +92 -0
  43. package/dist/components/checkbox/checkbox-indicator.mjs +61 -0
  44. package/dist/components/checkbox/checkbox.d.mts +9 -0
  45. package/dist/components/checkbox/checkbox.mjs +40 -0
  46. package/dist/components/checkbox/index.d.mts +3 -0
  47. package/dist/components/choice-list/choice-list.d.mts +103 -0
  48. package/dist/components/choice-list/choice-list.mjs +301 -0
  49. package/dist/components/choice-list/choice-list.recipe.mjs +44 -0
  50. package/dist/components/choice-list/index.d.mts +2 -0
  51. package/dist/components/code-block/code-block.d.mts +30 -0
  52. package/dist/components/code-block/code-block.mjs +151 -0
  53. package/dist/components/code-block/code-block.recipe.mjs +47 -0
  54. package/dist/components/code-block/index.d.mts +2 -0
  55. package/dist/components/combobox/combobox.d.mts +69 -0
  56. package/dist/components/combobox/combobox.mjs +438 -0
  57. package/dist/components/combobox/index.d.mts +2 -0
  58. package/dist/components/combobox-select/combobox-select.d.mts +4 -0
  59. package/dist/components/combobox-select/combobox-select.list-side.mjs +16 -0
  60. package/dist/components/combobox-select/combobox-select.mjs +473 -0
  61. package/dist/components/combobox-select/combobox-select.options.mjs +21 -0
  62. package/dist/components/combobox-select/combobox-select.types.d.mts +83 -0
  63. package/dist/components/combobox-select/index.d.mts +3 -0
  64. package/dist/components/comment/comment-card.d.mts +40 -0
  65. package/dist/components/comment/comment-card.mjs +83 -0
  66. package/dist/components/comment/comment-entry.d.mts +24 -0
  67. package/dist/components/comment/comment-entry.mjs +75 -0
  68. package/dist/components/comment/comment-highlight.d.mts +18 -0
  69. package/dist/components/comment/comment-highlight.mjs +33 -0
  70. package/dist/components/comment/comment-margin-layout.d.mts +32 -0
  71. package/dist/components/comment/comment-margin-layout.mjs +44 -0
  72. package/dist/components/comment/comment-margin.d.mts +29 -0
  73. package/dist/components/comment/comment-margin.mjs +164 -0
  74. package/dist/components/comment/comment-marker.d.mts +16 -0
  75. package/dist/components/comment/comment-marker.mjs +24 -0
  76. package/dist/components/comment/comment.recipe.mjs +58 -0
  77. package/dist/components/comment/index.d.mts +8 -0
  78. package/dist/components/comment/use-comment-margin-fits.d.mts +16 -0
  79. package/dist/components/comment/use-comment-margin-fits.mjs +34 -0
  80. package/dist/components/composer/composer-attachment.recipe.mjs +85 -0
  81. package/dist/components/composer/composer-attachments-scroll-area.d.mts +5 -0
  82. package/dist/components/composer/composer-attachments-scroll-area.mjs +93 -0
  83. package/dist/components/composer/composer-attachments.d.mts +27 -0
  84. package/dist/components/composer/composer-attachments.mjs +147 -0
  85. package/dist/components/composer/composer-drop-overlay.d.mts +9 -0
  86. package/dist/components/composer/composer-drop-overlay.mjs +60 -0
  87. package/dist/components/composer/composer-drop-overlay.recipe.mjs +23 -0
  88. package/dist/components/composer/composer-root.d.mts +5 -0
  89. package/dist/components/composer/composer-root.mjs +18 -0
  90. package/dist/components/composer/composer-suggestion-list.d.mts +139 -0
  91. package/dist/components/composer/composer-suggestion-list.mjs +160 -0
  92. package/dist/components/composer/composer-toolbar-label.d.mts +5 -0
  93. package/dist/components/composer/composer-toolbar-label.mjs +24 -0
  94. package/dist/components/composer/composer.d.mts +20 -0
  95. package/dist/components/composer/composer.mjs +88 -0
  96. package/dist/components/composer/composer.recipe.mjs +29 -0
  97. package/dist/components/composer/index.d.mts +10 -0
  98. package/dist/components/composer/sortable-composer-attachments.d.mts +37 -0
  99. package/dist/components/composer/sortable-composer-attachments.mjs +247 -0
  100. package/dist/components/composer/use-composer-suggestions.d.mts +83 -0
  101. package/dist/components/composer/use-composer-suggestions.mjs +207 -0
  102. package/dist/components/context-menu/context-menu.d.mts +53 -0
  103. package/dist/components/context-menu/context-menu.mjs +275 -0
  104. package/dist/components/context-menu/index.d.mts +2 -0
  105. package/dist/components/conversation-panel/conversation-panel-empty-state.d.mts +9 -0
  106. package/dist/components/conversation-panel/conversation-panel-empty-state.mjs +57 -0
  107. package/dist/components/conversation-panel/conversation-panel.d.mts +20 -0
  108. package/dist/components/conversation-panel/conversation-panel.mjs +63 -0
  109. package/dist/components/conversation-panel/conversation-panel.recipe.mjs +15 -0
  110. package/dist/components/conversation-panel/index.d.mts +3 -0
  111. package/dist/components/copyable-code/copyable-code.d.mts +72 -0
  112. package/dist/components/copyable-code/copyable-code.mjs +153 -0
  113. package/dist/components/copyable-code/index.d.mts +2 -0
  114. package/dist/components/description-list/description-list.d.mts +59 -0
  115. package/dist/components/description-list/description-list.mjs +96 -0
  116. package/dist/components/description-list/index.d.mts +2 -0
  117. package/dist/components/dialog/dialog-sheet-context.mjs +58 -0
  118. package/dist/components/dialog/dialog-sheet.d.mts +31 -0
  119. package/dist/components/dialog/dialog-sheet.mjs +194 -0
  120. package/dist/components/dialog/dialog.d.mts +85 -0
  121. package/dist/components/dialog/dialog.mjs +371 -0
  122. package/dist/components/dialog/index.d.mts +3 -0
  123. package/dist/components/drag/drag-announcements.d.mts +72 -0
  124. package/dist/components/drag/drag-announcements.mjs +115 -0
  125. package/dist/components/drag/drag-lift.d.mts +100 -0
  126. package/dist/components/drag/drag-lift.mjs +276 -0
  127. package/dist/components/drag/drag-lists.d.mts +98 -0
  128. package/dist/components/drag/drag-lists.mjs +258 -0
  129. package/dist/components/drag/drag-sensors.d.mts +87 -0
  130. package/dist/components/drag/drag-sensors.mjs +169 -0
  131. package/dist/components/drag/drag.recipe.d.mts +7 -0
  132. package/dist/components/drag/drag.recipe.mjs +30 -0
  133. package/dist/components/drag/drop-placeholder.d.mts +41 -0
  134. package/dist/components/drag/drop-placeholder.mjs +161 -0
  135. package/dist/components/drag/index.d.mts +8 -0
  136. package/dist/components/drawer/drawer.d.mts +34 -0
  137. package/dist/components/drawer/drawer.mjs +202 -0
  138. package/dist/components/drawer/drawer.recipe.mjs +175 -0
  139. package/dist/components/drawer/index.d.mts +2 -0
  140. package/dist/components/dropdown-menu/dropdown-menu.d.mts +62 -0
  141. package/dist/components/dropdown-menu/dropdown-menu.mjs +319 -0
  142. package/dist/components/dropdown-menu/index.d.mts +2 -0
  143. package/dist/components/ellipsis/ellipsis.d.mts +55 -0
  144. package/dist/components/ellipsis/ellipsis.mjs +320 -0
  145. package/dist/components/ellipsis/index.d.mts +3 -0
  146. package/dist/components/empty-state/empty-state.d.mts +15 -0
  147. package/dist/components/empty-state/empty-state.mjs +102 -0
  148. package/dist/components/empty-state/index.d.mts +2 -0
  149. package/dist/components/field/field.d.mts +79 -0
  150. package/dist/components/field/field.mjs +100 -0
  151. package/dist/components/field/index.d.mts +2 -0
  152. package/dist/components/file-preview/file-preview.d.mts +17 -0
  153. package/dist/components/file-preview/file-preview.mjs +210 -0
  154. package/dist/components/file-preview/file-preview.recipe.d.mts +99 -0
  155. package/dist/components/file-preview/file-preview.recipe.mjs +39 -0
  156. package/dist/components/file-preview/index.d.mts +2 -0
  157. package/dist/components/files/files.d.mts +35 -0
  158. package/dist/components/files/files.mjs +69 -0
  159. package/dist/components/files/files.recipe.mjs +40 -0
  160. package/dist/components/files/index.d.mts +2 -0
  161. package/dist/components/filter-chip/filter-chip.d.mts +25 -0
  162. package/dist/components/filter-chip/filter-chip.mjs +59 -0
  163. package/dist/components/filter-chip/index.d.mts +2 -0
  164. package/dist/components/float-button/float-button.d.mts +36 -0
  165. package/dist/components/float-button/float-button.mjs +116 -0
  166. package/dist/components/float-button/float-button.position.d.mts +6 -0
  167. package/dist/components/float-button/float-button.position.mjs +41 -0
  168. package/dist/components/float-button/index.d.mts +3 -0
  169. package/dist/components/form-section/form-section.d.mts +16 -0
  170. package/dist/components/form-section/form-section.mjs +53 -0
  171. package/dist/components/form-section/index.d.mts +2 -0
  172. package/dist/components/icon-tile/icon-tile.d.mts +97 -0
  173. package/dist/components/icon-tile/icon-tile.mjs +49 -0
  174. package/dist/components/icon-tile/index.d.mts +2 -0
  175. package/dist/components/icons/action-icons.d.mts +34 -0
  176. package/dist/components/icons/action-icons.mjs +383 -0
  177. package/dist/components/icons/conversation-icons.d.mts +12 -0
  178. package/dist/components/icons/conversation-icons.mjs +147 -0
  179. package/dist/components/icons/index.d.mts +4 -0
  180. package/dist/components/icons/object-icons.d.mts +6 -0
  181. package/dist/components/icons/object-icons.mjs +27 -0
  182. package/dist/components/inbox-item/inbox-item-leading-badge.d.mts +13 -0
  183. package/dist/components/inbox-item/inbox-item-leading-badge.mjs +27 -0
  184. package/dist/components/inbox-item/inbox-item-skeleton.d.mts +46 -0
  185. package/dist/components/inbox-item/inbox-item-skeleton.mjs +89 -0
  186. package/dist/components/inbox-item/inbox-item-skeleton.recipe.mjs +20 -0
  187. package/dist/components/inbox-item/inbox-item.d.mts +71 -0
  188. package/dist/components/inbox-item/inbox-item.mjs +276 -0
  189. package/dist/components/inbox-item/inbox-item.recipe.mjs +137 -0
  190. package/dist/components/inbox-item/index.d.mts +2 -0
  191. package/dist/components/inline-code/index.d.mts +2 -0
  192. package/dist/components/inline-code/inline-code.d.mts +8 -0
  193. package/dist/components/inline-code/inline-code.mjs +30 -0
  194. package/dist/components/input/index.d.mts +2 -0
  195. package/dist/components/input/input.d.mts +16 -0
  196. package/dist/components/input/input.mjs +20 -0
  197. package/dist/components/input/input.recipe.mjs +12 -0
  198. package/dist/components/input-group/index.d.mts +2 -0
  199. package/dist/components/input-group/input-group.d.mts +93 -0
  200. package/dist/components/input-group/input-group.mjs +178 -0
  201. package/dist/components/kbd/index.d.mts +2 -0
  202. package/dist/components/kbd/kbd.d.mts +7 -0
  203. package/dist/components/kbd/kbd.mjs +34 -0
  204. package/dist/components/label/index.d.mts +2 -0
  205. package/dist/components/label/label.d.mts +60 -0
  206. package/dist/components/label/label.mjs +75 -0
  207. package/dist/components/legacy-task-panel/index.d.mts +2 -0
  208. package/dist/components/legacy-task-panel/legacy-task-panel.d.mts +57 -0
  209. package/dist/components/legacy-task-panel/legacy-task-panel.mjs +234 -0
  210. package/dist/components/legacy-task-panel/legacy-task-panel.recipe.mjs +30 -0
  211. package/dist/components/lightbox/index.d.mts +2 -0
  212. package/dist/components/lightbox/lightbox.d.mts +55 -0
  213. package/dist/components/lightbox/lightbox.mjs +336 -0
  214. package/dist/components/list-row/index.d.mts +2 -0
  215. package/dist/components/list-row/list-row-skeleton.d.mts +21 -0
  216. package/dist/components/list-row/list-row-skeleton.mjs +43 -0
  217. package/dist/components/list-row/list-row.d.mts +66 -0
  218. package/dist/components/list-row/list-row.mjs +167 -0
  219. package/dist/components/list-row/list-row.recipe.d.mts +126 -0
  220. package/dist/components/list-row/list-row.recipe.mjs +94 -0
  221. package/dist/components/live-agent-activity-bar/index.d.mts +2 -0
  222. package/dist/components/live-agent-activity-bar/live-agent-activity-bar.d.mts +25 -0
  223. package/dist/components/live-agent-activity-bar/live-agent-activity-bar.mjs +107 -0
  224. package/dist/components/logo/index.d.mts +2 -0
  225. package/dist/components/logo/raft-logo.d.mts +9 -0
  226. package/dist/components/logo/raft-logo.mjs +63 -0
  227. package/dist/components/markdown/index.d.mts +2 -0
  228. package/dist/components/markdown/markdown-parts.d.mts +54 -0
  229. package/dist/components/markdown/markdown-parts.mjs +153 -0
  230. package/dist/components/markdown/markdown.recipe.mjs +77 -0
  231. package/dist/components/message-action-card/index.d.mts +2 -0
  232. package/dist/components/message-action-card/message-action-card-content.recipe.mjs +50 -0
  233. package/dist/components/message-action-card/message-action-card.d.mts +95 -0
  234. package/dist/components/message-action-card/message-action-card.mjs +298 -0
  235. package/dist/components/message-action-card/message-action-card.recipe.mjs +47 -0
  236. package/dist/components/message-attachment/index.d.mts +5 -0
  237. package/dist/components/message-attachment/message-attachment.d.mts +27 -0
  238. package/dist/components/message-attachment/message-attachment.mjs +129 -0
  239. package/dist/components/message-attachment/message-attachment.recipe.mjs +36 -0
  240. package/dist/components/message-attachment/message-image-gallery-rows.d.mts +47 -0
  241. package/dist/components/message-attachment/message-image-gallery-rows.mjs +55 -0
  242. package/dist/components/message-attachment/message-image-gallery.d.mts +32 -0
  243. package/dist/components/message-attachment/message-image-gallery.mjs +105 -0
  244. package/dist/components/message-attachment/message-image-gallery.recipe.mjs +61 -0
  245. package/dist/components/message-attachment/message-video-preview.d.mts +19 -0
  246. package/dist/components/message-attachment/message-video-preview.mjs +92 -0
  247. package/dist/components/message-attachment/message-video-preview.recipe.mjs +33 -0
  248. package/dist/components/message-embed/index.d.mts +2 -0
  249. package/dist/components/message-embed/message-embed.d.mts +12 -0
  250. package/dist/components/message-embed/message-embed.mjs +42 -0
  251. package/dist/components/message-embed/message-embed.recipe.mjs +14 -0
  252. package/dist/components/message-forwarded-bundle/index.d.mts +2 -0
  253. package/dist/components/message-forwarded-bundle/message-forwarded-bundle.d.mts +92 -0
  254. package/dist/components/message-forwarded-bundle/message-forwarded-bundle.mjs +324 -0
  255. package/dist/components/message-forwarded-bundle/message-forwarded-bundle.recipe.mjs +81 -0
  256. package/dist/components/message-item/index.d.mts +13 -0
  257. package/dist/components/message-item/message-footer.d.mts +20 -0
  258. package/dist/components/message-item/message-footer.mjs +54 -0
  259. package/dist/components/message-item/message-footer.recipe.mjs +46 -0
  260. package/dist/components/message-item/message-item-content.d.mts +22 -0
  261. package/dist/components/message-item/message-item-content.mjs +81 -0
  262. package/dist/components/message-item/message-item-delegated.d.mts +38 -0
  263. package/dist/components/message-item/message-item-delegated.mjs +72 -0
  264. package/dist/components/message-item/message-item-gutter.d.mts +10 -0
  265. package/dist/components/message-item/message-item-gutter.mjs +41 -0
  266. package/dist/components/message-item/message-item-header.d.mts +29 -0
  267. package/dist/components/message-item/message-item-header.mjs +107 -0
  268. package/dist/components/message-item/message-item-label.mjs +113 -0
  269. package/dist/components/message-item/message-item-root.d.mts +25 -0
  270. package/dist/components/message-item/message-item-root.mjs +39 -0
  271. package/dist/components/message-item/message-item-toolbar.d.mts +9 -0
  272. package/dist/components/message-item/message-item-toolbar.mjs +131 -0
  273. package/dist/components/message-item/message-item.recipe.d.mts +101 -0
  274. package/dist/components/message-item/message-item.recipe.mjs +114 -0
  275. package/dist/components/message-item/message-multi-select.d.mts +15 -0
  276. package/dist/components/message-item/message-multi-select.mjs +49 -0
  277. package/dist/components/message-item/message-multi-select.recipe.mjs +23 -0
  278. package/dist/components/message-item/message-reaction.d.mts +39 -0
  279. package/dist/components/message-item/message-reaction.mjs +188 -0
  280. package/dist/components/message-item/message-reaction.recipe.mjs +76 -0
  281. package/dist/components/message-item/message-reference.d.mts +50 -0
  282. package/dist/components/message-item/message-reference.mjs +111 -0
  283. package/dist/components/message-item/message-reference.recipe.d.mts +6 -0
  284. package/dist/components/message-item/message-reference.recipe.mjs +63 -0
  285. package/dist/components/message-item/message-text-selection-toolbar.d.mts +24 -0
  286. package/dist/components/message-item/message-text-selection-toolbar.mjs +13 -0
  287. package/dist/components/message-list/index.d.mts +4 -0
  288. package/dist/components/message-list/message-list-jump.d.mts +21 -0
  289. package/dist/components/message-list/message-list-jump.mjs +73 -0
  290. package/dist/components/message-list/message-list-markers.d.mts +13 -0
  291. package/dist/components/message-list/message-list-markers.mjs +70 -0
  292. package/dist/components/message-list/message-list.d.mts +7 -0
  293. package/dist/components/message-list/message-list.mjs +52 -0
  294. package/dist/components/message-list/message-list.recipe.mjs +54 -0
  295. package/dist/components/message-quoted-preview/index.d.mts +2 -0
  296. package/dist/components/message-quoted-preview/message-quoted-preview.d.mts +40 -0
  297. package/dist/components/message-quoted-preview/message-quoted-preview.mjs +144 -0
  298. package/dist/components/message-quoted-preview/message-quoted-preview.recipe.mjs +38 -0
  299. package/dist/components/message-replies/index.d.mts +2 -0
  300. package/dist/components/message-replies/message-replies.d.mts +17 -0
  301. package/dist/components/message-replies/message-replies.mjs +79 -0
  302. package/dist/components/message-replies/message-replies.recipe.mjs +25 -0
  303. package/dist/components/message-translation/index.d.mts +2 -0
  304. package/dist/components/message-translation/message-translation.d.mts +20 -0
  305. package/dist/components/message-translation/message-translation.mjs +64 -0
  306. package/dist/components/message-translation/message-translation.recipe.mjs +27 -0
  307. package/dist/components/meter/index.d.mts +2 -0
  308. package/dist/components/meter/meter.d.mts +107 -0
  309. package/dist/components/meter/meter.mjs +118 -0
  310. package/dist/components/mobile-nav/index.d.mts +3 -0
  311. package/dist/components/mobile-nav/mobile-nav-server.d.mts +71 -0
  312. package/dist/components/mobile-nav/mobile-nav-server.mjs +287 -0
  313. package/dist/components/mobile-nav/mobile-nav.d.mts +12 -0
  314. package/dist/components/mobile-nav/mobile-nav.mjs +73 -0
  315. package/dist/components/mode-bar/index.d.mts +2 -0
  316. package/dist/components/mode-bar/mode-bar.d.mts +33 -0
  317. package/dist/components/mode-bar/mode-bar.mjs +115 -0
  318. package/dist/components/notification-center/index.d.mts +2 -0
  319. package/dist/components/notification-center/notification-center.d.mts +225 -0
  320. package/dist/components/notification-center/notification-center.mjs +340 -0
  321. package/dist/components/panel/index.d.mts +7 -0
  322. package/dist/components/panel/panel-action.d.mts +15 -0
  323. package/dist/components/panel/panel-action.mjs +23 -0
  324. package/dist/components/panel/panel-action.recipe.mjs +40 -0
  325. package/dist/components/panel/panel-header.d.mts +34 -0
  326. package/dist/components/panel/panel-header.mjs +135 -0
  327. package/dist/components/panel/panel-header.recipe.mjs +78 -0
  328. package/dist/components/panel/panel-notice.d.mts +16 -0
  329. package/dist/components/panel/panel-notice.mjs +77 -0
  330. package/dist/components/panel/panel-split-action.d.mts +34 -0
  331. package/dist/components/panel/panel-split-action.mjs +69 -0
  332. package/dist/components/panel/panel-split-action.recipe.mjs +53 -0
  333. package/dist/components/panel/panel-toggle-action.d.mts +6 -0
  334. package/dist/components/panel/panel-toggle-action.mjs +15 -0
  335. package/dist/components/panel/panel.d.mts +25 -0
  336. package/dist/components/panel/panel.mjs +96 -0
  337. package/dist/components/panel/panel.recipe.mjs +24 -0
  338. package/dist/components/picker-trigger-button/index.d.mts +2 -0
  339. package/dist/components/picker-trigger-button/picker-trigger-button.d.mts +7 -0
  340. package/dist/components/picker-trigger-button/picker-trigger-button.mjs +36 -0
  341. package/dist/components/popover/index.d.mts +2 -0
  342. package/dist/components/popover/popover.d.mts +41 -0
  343. package/dist/components/popover/popover.mjs +184 -0
  344. package/dist/components/preview-card/index.d.mts +2 -0
  345. package/dist/components/preview-card/preview-card.d.mts +43 -0
  346. package/dist/components/preview-card/preview-card.mjs +197 -0
  347. package/dist/components/profile-panel/index.d.mts +2 -0
  348. package/dist/components/profile-panel/profile-panel.d.mts +14 -0
  349. package/dist/components/profile-panel/profile-panel.mjs +46 -0
  350. package/dist/components/profile-panel/profile-panel.recipe.mjs +14 -0
  351. package/dist/components/progress/index.d.mts +2 -0
  352. package/dist/components/progress/progress.d.mts +119 -0
  353. package/dist/components/progress/progress.mjs +139 -0
  354. package/dist/components/pull-to-refresh/index.d.mts +4 -0
  355. package/dist/components/pull-to-refresh/pull-to-refresh-gesture.d.mts +30 -0
  356. package/dist/components/pull-to-refresh/pull-to-refresh-gesture.mjs +134 -0
  357. package/dist/components/pull-to-refresh/pull-to-refresh-indicator.d.mts +21 -0
  358. package/dist/components/pull-to-refresh/pull-to-refresh-indicator.mjs +153 -0
  359. package/dist/components/pull-to-refresh/pull-to-refresh-material-progress.mjs +150 -0
  360. package/dist/components/pull-to-refresh/use-pull-to-refresh.d.mts +55 -0
  361. package/dist/components/pull-to-refresh/use-pull-to-refresh.mjs +156 -0
  362. package/dist/components/radio-group/index.d.mts +2 -0
  363. package/dist/components/radio-group/radio-group.d.mts +14 -0
  364. package/dist/components/radio-group/radio-group.mjs +59 -0
  365. package/dist/components/resizable/index.d.mts +2 -0
  366. package/dist/components/resizable/resizable.d.mts +15 -0
  367. package/dist/components/resizable/resizable.mjs +39 -0
  368. package/dist/components/resizable/resizable.recipe.mjs +24 -0
  369. package/dist/components/scroll-area/index.d.mts +2 -0
  370. package/dist/components/scroll-area/scroll-area.d.mts +17 -0
  371. package/dist/components/scroll-area/scroll-area.mjs +55 -0
  372. package/dist/components/scroll-area/scroll-area.recipe.mjs +23 -0
  373. package/dist/components/search/index.d.mts +6 -0
  374. package/dist/components/search/search-entity.d.mts +24 -0
  375. package/dist/components/search/search-entity.mjs +106 -0
  376. package/dist/components/search/search-entity.recipe.mjs +41 -0
  377. package/dist/components/search/search-message.d.mts +25 -0
  378. package/dist/components/search/search-message.mjs +115 -0
  379. package/dist/components/search/search-message.recipe.mjs +32 -0
  380. package/dist/components/search/search-thread.d.mts +17 -0
  381. package/dist/components/search/search-thread.mjs +79 -0
  382. package/dist/components/search/search-thread.recipe.mjs +16 -0
  383. package/dist/components/search/search-trigger.d.mts +15 -0
  384. package/dist/components/search/search-trigger.mjs +59 -0
  385. package/dist/components/search/search.d.mts +23 -0
  386. package/dist/components/search/search.mjs +88 -0
  387. package/dist/components/search/search.recipe.mjs +22 -0
  388. package/dist/components/segmented-control/index.d.mts +2 -0
  389. package/dist/components/segmented-control/segmented-control.d.mts +38 -0
  390. package/dist/components/segmented-control/segmented-control.mjs +306 -0
  391. package/dist/components/select/index.d.mts +2 -0
  392. package/dist/components/select/select.d.mts +95 -0
  393. package/dist/components/select/select.mjs +483 -0
  394. package/dist/components/separator/index.d.mts +2 -0
  395. package/dist/components/separator/separator.d.mts +10 -0
  396. package/dist/components/separator/separator.mjs +49 -0
  397. package/dist/components/sidebar/index.d.mts +5 -0
  398. package/dist/components/sidebar/sidebar-item.d.mts +64 -0
  399. package/dist/components/sidebar/sidebar-item.mjs +201 -0
  400. package/dist/components/sidebar/sidebar-item.recipe.mjs +100 -0
  401. package/dist/components/sidebar/sidebar-menu.d.mts +13 -0
  402. package/dist/components/sidebar/sidebar-menu.mjs +67 -0
  403. package/dist/components/sidebar/sidebar-menu.recipe.mjs +22 -0
  404. package/dist/components/sidebar/sidebar-section.d.mts +41 -0
  405. package/dist/components/sidebar/sidebar-section.mjs +164 -0
  406. package/dist/components/sidebar/sidebar-section.recipe.mjs +45 -0
  407. package/dist/components/sidebar/sidebar.d.mts +17 -0
  408. package/dist/components/sidebar/sidebar.mjs +149 -0
  409. package/dist/components/sidebar/sidebar.recipe.mjs +37 -0
  410. package/dist/components/skeleton/index.d.mts +2 -0
  411. package/dist/components/skeleton/skeleton.d.mts +50 -0
  412. package/dist/components/skeleton/skeleton.mjs +29 -0
  413. package/dist/components/spinner/index.d.mts +2 -0
  414. package/dist/components/spinner/spinner.d.mts +77 -0
  415. package/dist/components/spinner/spinner.mjs +118 -0
  416. package/dist/components/status/index.d.mts +2 -0
  417. package/dist/components/status/status.d.mts +143 -0
  418. package/dist/components/status/status.mjs +56 -0
  419. package/dist/components/steps/index.d.mts +3 -0
  420. package/dist/components/steps/otter-indicator.d.mts +17 -0
  421. package/dist/components/steps/otter-indicator.mjs +331 -0
  422. package/dist/components/steps/steps.d.mts +50 -0
  423. package/dist/components/steps/steps.mjs +174 -0
  424. package/dist/components/switch/index.d.mts +2 -0
  425. package/dist/components/switch/switch.d.mts +9 -0
  426. package/dist/components/switch/switch.mjs +50 -0
  427. package/dist/components/system-message/index.d.mts +2 -0
  428. package/dist/components/system-message/system-message.d.mts +27 -0
  429. package/dist/components/system-message/system-message.mjs +113 -0
  430. package/dist/components/system-message/system-message.recipe.mjs +34 -0
  431. package/dist/components/table/index.d.mts +2 -0
  432. package/dist/components/table/table.d.mts +35 -0
  433. package/dist/components/table/table.mjs +102 -0
  434. package/dist/components/table/table.recipe.mjs +31 -0
  435. package/dist/components/tabs/index.d.mts +2 -0
  436. package/dist/components/tabs/tabs.d.mts +185 -0
  437. package/dist/components/tabs/tabs.mjs +528 -0
  438. package/dist/components/task-board/index.d.mts +2 -0
  439. package/dist/components/task-board/task-board-column.recipe.mjs +46 -0
  440. package/dist/components/task-board/task-board.d.mts +40 -0
  441. package/dist/components/task-board/task-board.mjs +155 -0
  442. package/dist/components/task-card/index.d.mts +2 -0
  443. package/dist/components/task-card/task-card-status.recipe.mjs +17 -0
  444. package/dist/components/task-card/task-card.d.mts +30 -0
  445. package/dist/components/task-card/task-card.mjs +141 -0
  446. package/dist/components/task-card/task-card.recipe.mjs +39 -0
  447. package/dist/components/task-dnd/index.d.mts +2 -0
  448. package/dist/components/task-dnd/task-dnd.d.mts +75 -0
  449. package/dist/components/task-dnd/task-dnd.mjs +341 -0
  450. package/dist/components/task-dnd/task-dnd.recipe.mjs +20 -0
  451. package/dist/components/task-list/index.d.mts +2 -0
  452. package/dist/components/task-list/task-list-section.recipe.mjs +37 -0
  453. package/dist/components/task-list/task-list.d.mts +34 -0
  454. package/dist/components/task-list/task-list.mjs +119 -0
  455. package/dist/components/tasks/index.d.mts +7 -0
  456. package/dist/components/tasks/task-chip.d.mts +14 -0
  457. package/dist/components/tasks/task-chip.mjs +81 -0
  458. package/dist/components/tasks/task-loading.d.mts +7 -0
  459. package/dist/components/tasks/task-loading.mjs +32 -0
  460. package/dist/components/tasks/task-loading.recipe.mjs +8 -0
  461. package/dist/components/tasks/task-status-badge.d.mts +24 -0
  462. package/dist/components/tasks/task-status-badge.mjs +24 -0
  463. package/dist/components/tasks/task-status-icon.d.mts +13 -0
  464. package/dist/components/tasks/task-status-icon.mjs +90 -0
  465. package/dist/components/tasks/task-status.recipe.d.mts +62 -0
  466. package/dist/components/tasks/task-status.recipe.mjs +33 -0
  467. package/dist/components/tasks/tasks-panel.d.mts +22 -0
  468. package/dist/components/tasks/tasks-panel.mjs +114 -0
  469. package/dist/components/tasks/tasks-panel.recipe.mjs +36 -0
  470. package/dist/components/text/index.d.mts +2 -0
  471. package/dist/components/text/text.d.mts +186 -0
  472. package/dist/components/text/text.mjs +114 -0
  473. package/dist/components/text-link/index.d.mts +2 -0
  474. package/dist/components/text-link/text-link.d.mts +36 -0
  475. package/dist/components/text-link/text-link.mjs +60 -0
  476. package/dist/components/text-selection-toolbar/index.d.mts +3 -0
  477. package/dist/components/text-selection-toolbar/text-selection-anchor.d.mts +22 -0
  478. package/dist/components/text-selection-toolbar/text-selection-anchor.mjs +106 -0
  479. package/dist/components/text-selection-toolbar/text-selection-toolbar.d.mts +20 -0
  480. package/dist/components/text-selection-toolbar/text-selection-toolbar.mjs +41 -0
  481. package/dist/components/text-selection-toolbar/text-selection-toolbar.recipe.mjs +19 -0
  482. package/dist/components/textarea/index.d.mts +2 -0
  483. package/dist/components/textarea/textarea.d.mts +16 -0
  484. package/dist/components/textarea/textarea.mjs +62 -0
  485. package/dist/components/thread-panel/index.d.mts +2 -0
  486. package/dist/components/thread-panel/thread-panel.d.mts +31 -0
  487. package/dist/components/thread-panel/thread-panel.mjs +162 -0
  488. package/dist/components/thread-panel/thread-panel.recipe.mjs +36 -0
  489. package/dist/components/timeline/index.d.mts +2 -0
  490. package/dist/components/timeline/timeline.d.mts +44 -0
  491. package/dist/components/timeline/timeline.mjs +81 -0
  492. package/dist/components/toast/index.d.mts +2 -0
  493. package/dist/components/toast/toast.d.mts +263 -0
  494. package/dist/components/toast/toast.mjs +556 -0
  495. package/dist/components/toggle-group/index.d.mts +2 -0
  496. package/dist/components/toggle-group/toggle-group.d.mts +15 -0
  497. package/dist/components/toggle-group/toggle-group.mjs +64 -0
  498. package/dist/components/tooltip/index.d.mts +2 -0
  499. package/dist/components/tooltip/tooltip.d.mts +18 -0
  500. package/dist/components/tooltip/tooltip.mjs +197 -0
  501. package/dist/components/virtual-list/ItemColumns.mjs +37 -0
  502. package/dist/components/virtual-list/VirtualList.d.mts +4 -0
  503. package/dist/components/virtual-list/VirtualList.mjs +1401 -0
  504. package/dist/components/virtual-list/VirtualListContext.mjs +5 -0
  505. package/dist/components/virtual-list/hooks/use-event-callback.mjs +10 -0
  506. package/dist/components/virtual-list/hooks/use-ios-momentum-compensation.mjs +148 -0
  507. package/dist/components/virtual-list/hooks/use-keyboard-scroll.mjs +42 -0
  508. package/dist/components/virtual-list/hooks/use-latest-ref.mjs +10 -0
  509. package/dist/components/virtual-list/hooks/use-layout-effect-with-previous.mjs +16 -0
  510. package/dist/components/virtual-list/hooks/use-memo-with-previous.mjs +22 -0
  511. package/dist/components/virtual-list/hooks/use-non-passive-wheel.mjs +23 -0
  512. package/dist/components/virtual-list/hooks/use-non-virtual-content-resize.mjs +28 -0
  513. package/dist/components/virtual-list/hooks/use-scroll-anchor.mjs +55 -0
  514. package/dist/components/virtual-list/index.d.mts +5 -0
  515. package/dist/components/virtual-list/public-types.d.mts +341 -0
  516. package/dist/components/virtual-list/resize-observer/ResizeObserverWrapper.d.mts +5 -0
  517. package/dist/components/virtual-list/resize-observer/ResizeObserverWrapper.mjs +70 -0
  518. package/dist/components/virtual-list/resize-observer/resize-observer-delegate.d.mts +6 -0
  519. package/dist/components/virtual-list/resize-observer/resize-observer-delegate.mjs +54 -0
  520. package/dist/components/virtual-list/utils/align.mjs +19 -0
  521. package/dist/components/virtual-list/utils/constants.mjs +30 -0
  522. package/dist/components/virtual-list/utils/fenwick-tree.mjs +66 -0
  523. package/dist/components/virtual-list/utils/items-anchor.mjs +49 -0
  524. package/dist/components/virtual-list/utils/measure.mjs +77 -0
  525. package/dist/components/virtual-list/utils/platform.mjs +39 -0
  526. package/dist/components/virtual-list/utils/range.mjs +103 -0
  527. package/dist/components/virtual-list/utils/size-cache.mjs +35 -0
  528. package/dist/components/workspace-button/index.d.mts +2 -0
  529. package/dist/components/workspace-button/workspace-button.d.mts +9 -0
  530. package/dist/components/workspace-button/workspace-button.mjs +28 -0
  531. package/dist/index.d.mts +239 -4864
  532. package/dist/index.mjs +142 -17053
  533. package/dist/lib/chip-remove.mjs +17 -0
  534. package/dist/lib/data-attributes.d.mts +5 -0
  535. package/dist/lib/decision-width.mjs +9 -0
  536. package/dist/lib/default-native-button.mjs +8 -0
  537. package/dist/lib/desktop-media.mjs +10 -0
  538. package/dist/lib/drag-escape.mjs +37 -0
  539. package/dist/lib/frame-insets.mjs +127 -0
  540. package/dist/lib/head-edges.mjs +44 -0
  541. package/dist/lib/hud-text-action.mjs +10 -0
  542. package/dist/lib/inline-chip.mjs +30 -0
  543. package/dist/lib/input-modality.d.mts +36 -0
  544. package/dist/lib/input-modality.mjs +186 -0
  545. package/dist/lib/list-cell.mjs +21 -0
  546. package/dist/lib/located.d.mts +25 -0
  547. package/dist/lib/located.mjs +28 -0
  548. package/dist/lib/overlay-depth.d.mts +42 -0
  549. package/dist/lib/overlay-depth.mjs +59 -0
  550. package/dist/lib/phone-media.mjs +24 -0
  551. package/dist/lib/presence.d.mts +16 -0
  552. package/dist/lib/presence.mjs +16 -0
  553. package/dist/lib/row-tone.d.mts +8 -0
  554. package/dist/lib/search-hit.mjs +18 -0
  555. package/dist/lib/stacked-actions.mjs +112 -0
  556. package/dist/lib/styled-props.d.mts +15 -0
  557. package/dist/lib/tap-activation.mjs +133 -0
  558. package/dist/lib/theme/theme-context.d.mts +10 -0
  559. package/dist/lib/theme/theme-context.mjs +9 -0
  560. package/dist/lib/theme/theme-provider.d.mts +23 -0
  561. package/dist/lib/theme/theme-provider.mjs +61 -0
  562. package/dist/lib/theme/theme-scope.mjs +19 -0
  563. package/dist/lib/theme/use-theme.d.mts +5 -0
  564. package/dist/lib/theme/use-theme.mjs +9 -0
  565. package/dist/lib/touch-drag.d.mts +55 -0
  566. package/dist/lib/touch-drag.mjs +151 -0
  567. package/dist/lib/truncation.d.mts +26 -0
  568. package/dist/lib/truncation.mjs +153 -0
  569. package/dist/lib/tv.d.mts +2 -0
  570. package/dist/lib/tv.mjs +14 -0
  571. package/dist/lib/use-copy-to-clipboard.mjs +58 -0
  572. package/dist/lib/use-merged-ref.mjs +60 -0
  573. package/dist/lib/use-mobile-viewport.mjs +17 -0
  574. package/dist/lib/use-overflow-title.mjs +49 -0
  575. package/dist/lib/use-scrollbar-size.d.mts +16 -0
  576. package/dist/lib/use-scrollbar-size.mjs +46 -0
  577. package/dist/lib/use-truncated.d.mts +20 -0
  578. package/dist/lib/use-truncated.mjs +34 -0
  579. package/dist/lib/without-children.d.mts +8 -0
  580. package/dist/wip.d.mts +61 -1222
  581. package/dist/wip.mjs +43 -3079
  582. package/package.json +8 -1
  583. package/dist/inbox-item-B4nNvpp1.d.mts +0 -1784
  584. package/dist/inbox-item-DHJOrxB8.mjs +0 -7454
  585. package/dist/style.css +0 -1395
@@ -0,0 +1,34 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ //#region src/components/panel/panel-header.d.ts
3
+ export type PanelHeaderProps = useRender.ComponentProps<"div">;
4
+ export declare function PanelHeader({ children, className, render, ...props }: PanelHeaderProps): import("react").JSX.Element;
5
+ export type PanelSectionHeaderProps = useRender.ComponentProps<"div">;
6
+ export declare function PanelSectionHeader({ children, className, render, ...props }: PanelSectionHeaderProps): import("react").JSX.Element;
7
+ export type PanelHeaderIconProps = useRender.ComponentProps<"div">;
8
+ export declare function PanelHeaderIcon({ className, render, ...props }: PanelHeaderIconProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
9
+ export type PanelHeaderContentProps = useRender.ComponentProps<"div">;
10
+ export declare function PanelHeaderContent({ className, render, ...props }: PanelHeaderContentProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
11
+ export type PanelHeadingProps = useRender.ComponentProps<"div">;
12
+ export declare function PanelHeading({ className, render, ...props }: PanelHeadingProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
13
+ export type PanelTitleProps = useRender.ComponentProps<"div">;
14
+ export declare function PanelTitle({ className, render, ...props }: PanelTitleProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
15
+ export type PanelMetaProps = useRender.ComponentProps<"div"> & {
16
+ size?: "sm" | "md";
17
+ };
18
+ export declare function PanelMeta({ className, render, size, ...props }: PanelMetaProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
19
+ export type PanelStatusProps = useRender.ComponentProps<"span">;
20
+ /**
21
+ * Attribute badge in a panel header, such as a muted or archived marker.
22
+ * Use `PanelActivity` for a live status readout wrapping a `Status`.
23
+ */
24
+ export declare function PanelStatus({ className, render, ...props }: PanelStatusProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
25
+ export type PanelActivityProps = useRender.ComponentProps<"span">;
26
+ /**
27
+ * Live status readout in a panel header, such as agent activity or presence.
28
+ * Wraps a `Status` and supplies header-appropriate spacing and typography;
29
+ * use `PanelStatus` for a standalone attribute badge.
30
+ */
31
+ export declare function PanelActivity({ className, render, ...props }: PanelActivityProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
32
+ export type PanelActionsProps = useRender.ComponentProps<"div">;
33
+ export declare function PanelActions({ className, render, ...props }: PanelActionsProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
34
+ //#endregion
@@ -0,0 +1,135 @@
1
+ import { panelHeader } from "./panel-header.recipe.mjs";
2
+ import { PanelHeaderRoot } from "./panel.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { mergeProps } from "@base-ui/react/merge-props";
5
+ import { useRender } from "@base-ui/react/use-render";
6
+ //#region src/components/panel/panel-header.tsx
7
+ function PanelHeader({ children, className, render, ...props }) {
8
+ const { header } = panelHeader();
9
+ return /* @__PURE__ */ jsx(PanelHeaderRoot, {
10
+ ...props,
11
+ render,
12
+ "data-panel-frame-header": "",
13
+ "data-slot": "panel-header",
14
+ className: header({ className }),
15
+ children
16
+ });
17
+ }
18
+ function PanelSectionHeader({ children, className, render, ...props }) {
19
+ const { sectionHeader } = panelHeader();
20
+ return /* @__PURE__ */ jsx(PanelHeaderRoot, {
21
+ ...props,
22
+ render,
23
+ "data-slot": "panel-section-header",
24
+ className: sectionHeader({ className }),
25
+ children
26
+ });
27
+ }
28
+ function PanelHeaderIcon({ className, render, ...props }) {
29
+ const { headerIcon } = panelHeader();
30
+ const defaultProps = {
31
+ "data-slot": "panel-header-icon",
32
+ className: headerIcon({ className })
33
+ };
34
+ return useRender({
35
+ defaultTagName: "div",
36
+ render,
37
+ props: mergeProps(defaultProps, props)
38
+ });
39
+ }
40
+ function PanelHeaderContent({ className, render, ...props }) {
41
+ const { headerContent } = panelHeader();
42
+ const defaultProps = {
43
+ "data-slot": "panel-header-content",
44
+ className: headerContent({ className })
45
+ };
46
+ return useRender({
47
+ defaultTagName: "div",
48
+ render,
49
+ props: mergeProps(defaultProps, props)
50
+ });
51
+ }
52
+ function PanelHeading({ className, render, ...props }) {
53
+ const { heading } = panelHeader();
54
+ const defaultProps = {
55
+ "data-slot": "panel-heading",
56
+ className: heading({ className })
57
+ };
58
+ return useRender({
59
+ defaultTagName: "div",
60
+ render,
61
+ props: mergeProps(defaultProps, props)
62
+ });
63
+ }
64
+ function PanelTitle({ className, render, ...props }) {
65
+ const { title } = panelHeader();
66
+ const defaultProps = {
67
+ "data-slot": "panel-title",
68
+ className: title({ className })
69
+ };
70
+ return useRender({
71
+ defaultTagName: "div",
72
+ render,
73
+ props: mergeProps(defaultProps, props)
74
+ });
75
+ }
76
+ function PanelMeta({ className, render, size = "sm", ...props }) {
77
+ const { meta } = panelHeader({ size });
78
+ const defaultProps = {
79
+ "data-slot": "panel-meta",
80
+ className: meta({ className })
81
+ };
82
+ return useRender({
83
+ defaultTagName: "div",
84
+ render,
85
+ props: mergeProps(defaultProps, props)
86
+ });
87
+ }
88
+ /**
89
+ * Attribute badge in a panel header, such as a muted or archived marker.
90
+ * Use `PanelActivity` for a live status readout wrapping a `Status`.
91
+ */
92
+ function PanelStatus({ className, render, ...props }) {
93
+ const { status } = panelHeader();
94
+ const defaultProps = {
95
+ "data-slot": "panel-status",
96
+ className: status({ className })
97
+ };
98
+ return useRender({
99
+ defaultTagName: "span",
100
+ render,
101
+ props: mergeProps(defaultProps, props)
102
+ });
103
+ }
104
+ /**
105
+ * Live status readout in a panel header, such as agent activity or presence.
106
+ * Wraps a `Status` and supplies header-appropriate spacing and typography;
107
+ * use `PanelStatus` for a standalone attribute badge.
108
+ */
109
+ function PanelActivity({ className, render, ...props }) {
110
+ const { activity } = panelHeader();
111
+ const defaultProps = {
112
+ "data-slot": "panel-activity",
113
+ className: activity({ className })
114
+ };
115
+ return useRender({
116
+ defaultTagName: "span",
117
+ render,
118
+ props: mergeProps(defaultProps, props)
119
+ });
120
+ }
121
+ function PanelActions({ className, render, ...props }) {
122
+ const { actions } = panelHeader();
123
+ const defaultProps = {
124
+ "data-slot": "panel-actions",
125
+ "data-icon-inset": "",
126
+ className: actions({ className })
127
+ };
128
+ return useRender({
129
+ defaultTagName: "div",
130
+ render,
131
+ props: mergeProps(defaultProps, props)
132
+ });
133
+ }
134
+ //#endregion
135
+ export { PanelActions, PanelActivity, PanelHeader, PanelHeaderContent, PanelHeaderIcon, PanelHeading, PanelMeta, PanelSectionHeader, PanelStatus, PanelTitle };
@@ -0,0 +1,78 @@
1
+ import { controlIconInset, headEdges } from "../../lib/head-edges.mjs";
2
+ import { tv } from "../../lib/tv.mjs";
3
+ //#region src/components/panel/panel-header.recipe.ts
4
+ /**
5
+ * Where a head's edge controls sit, shared by every head (panel, section,
6
+ * drawer, thread): see lib/head-edges.ts. Both sides pad by the content
7
+ * margin, 20px on a desktop and 16px on a phone, so a filled thing (a sticker,
8
+ * a pill, a filled Button) puts its shape on it, and the first and last
9
+ * frameless icon button are pulled out by their icon inset so their icon box
10
+ * lands on it: 20px on a desktop and on a touch screen with the desktop
11
+ * layout, 16px on a phone, mirrored at the two ends.
12
+ */
13
+ const panelHeadEdges = headEdges;
14
+ /**
15
+ * A head's trailing actions, 2px apart (4px on a desktop). The group declares
16
+ * its PanelActions' icon inset, so the head pulls the group, not its last
17
+ * button: an action hidden at some width (a thread's Close below 1024px) then
18
+ * leaves the next one on the edge.
19
+ */
20
+ const panelHeadActions = ["flex shrink-0 items-center gap-0.5 md:pointer-fine:gap-1", controlIconInset];
21
+ /**
22
+ * `header` and `sectionHeader` share one bar, expressed through
23
+ * `compoundSlots`: a 56px row (the shell header height) with a seam under it.
24
+ * On a phone the section head sits on the frame.
25
+ */
26
+ const panelHeader = tv({
27
+ slots: {
28
+ header: [],
29
+ sectionHeader: [],
30
+ headerIcon: [
31
+ "flex size-[27px] shrink-0 items-center justify-center",
32
+ "rounded-sticker border-[1.5px] border-sticker-ink bg-brand text-sticker-ink ring-[1.5px] ring-sticker-edge",
33
+ "not-data-[icon-kind=avatar]:[&_svg]:size-3.5 not-data-[icon-kind=avatar]:[&_svg]:stroke-2",
34
+ "data-[icon-kind=avatar]:size-auto data-[icon-kind=avatar]:border-transparent data-[icon-kind=avatar]:bg-transparent"
35
+ ],
36
+ headerContent: "flex min-w-0 flex-1 flex-col justify-center",
37
+ heading: "flex min-w-0 items-center gap-2",
38
+ title: "truncate font-sans text-headline font-bold text-foreground",
39
+ meta: "min-w-0 truncate font-sans text-caption text-foreground-hint",
40
+ status: [
41
+ "inline-flex shrink-0 items-center gap-1 border-0 bg-transparent p-0",
42
+ "font-sans text-caption font-medium normal-case text-foreground-hint",
43
+ "[&_svg]:size-3.5 [&_svg]:shrink-0"
44
+ ],
45
+ activity: [
46
+ "inline-flex shrink-0 items-center gap-1.5",
47
+ "font-sans text-caption text-foreground-hint",
48
+ "[&_svg]:size-3.5 [&_svg]:shrink-0",
49
+ "*:data-[slot=status]:lead-dot"
50
+ ],
51
+ actions: panelHeadActions
52
+ },
53
+ variants: { size: {
54
+ sm: {},
55
+ md: { meta: ["text-footnote"] }
56
+ } },
57
+ compoundSlots: [{
58
+ slots: ["header", "sectionHeader"],
59
+ class: [
60
+ "flex h-(--shell-header-height,56px) shrink-0 items-center gap-3 max-md:gap-2",
61
+ panelHeadEdges,
62
+ "border-b border-line-seam bg-layer-canvas text-foreground",
63
+ "max-md:sticky max-md:top-0 max-md:z-30"
64
+ ]
65
+ }, {
66
+ slots: ["sectionHeader"],
67
+ class: [
68
+ "max-md:bg-layer-frame max-md:text-foreground-on-frame",
69
+ "max-md:[&>[data-slot=panel-header-icon]]:hidden",
70
+ "max-md:**:data-[slot=panel-title]:text-foreground-on-frame",
71
+ "max-md:**:data-[slot=panel-meta]:text-foreground-on-frame-muted",
72
+ "max-md:**:data-[slot=panel-action]:text-foreground-on-frame",
73
+ "max-md:**:data-[slot=panel-action]:hover:bg-fill-frame-medium max-md:**:data-[slot=panel-action]:active:bg-fill-frame-medium"
74
+ ]
75
+ }]
76
+ });
77
+ //#endregion
78
+ export { panelHeadActions, panelHeadEdges, panelHeader };
@@ -0,0 +1,16 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ //#region src/components/panel/panel-notice.d.ts
3
+ export type PanelNoticeStatus = "default" | "warning" | "destructive" | "info" | "success";
4
+ export type PanelNoticeProps = useRender.ComponentProps<"div"> & {
5
+ /** The tint: warning for something to fix (the default), destructive only
6
+ * for what cannot be undone. */
7
+ status?: PanelNoticeStatus;
8
+ };
9
+ export declare function PanelNotice({ className, render, status, ...props }: PanelNoticeProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
10
+ export type PanelNoticeContentProps = useRender.ComponentProps<"div">;
11
+ /** The message: takes the width left and wraps or clamps as the caller says. */
12
+ export declare function PanelNoticeContent({ className, render, ...props }: PanelNoticeContentProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
13
+ export type PanelNoticeActionsProps = useRender.ComponentProps<"div">;
14
+ /** Trailing controls (copy, a link, ×), centred on the first text line. */
15
+ export declare function PanelNoticeActions({ className, render, ...props }: PanelNoticeActionsProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
16
+ //#endregion
@@ -0,0 +1,77 @@
1
+ import { tv } from "../../lib/tv.mjs";
2
+ import { mergeProps } from "@base-ui/react/merge-props";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+ //#region src/components/panel/panel-notice.tsx
5
+ /**
6
+ * A notice strip that runs the full width of a panel, under its head (a
7
+ * runtime error, a setting that failed to save). It is a region of its own,
8
+ * so it is closed by the region seam, the same line the head draws above it
9
+ * — never the lighter in-region divider. Its edges are the panel's (`--column-margin`:
10
+ * 20 / 16 on a phone, 20 in a column of list cells), and its trailing actions overhang the padding so a 32px
11
+ * button sits on the first text line instead of making the strip taller.
12
+ *
13
+ * Inside a card or a dialog, where a notice is part of the content, use
14
+ * Banner instead.
15
+ */
16
+ const panelNotice = tv({
17
+ slots: {
18
+ root: [
19
+ "flex shrink-0 items-start",
20
+ "min-h-10 gap-2.5 border-b border-line-seam px-(--column-margin) py-2.5",
21
+ "font-sans text-callout font-semibold text-foreground",
22
+ "[&>svg]:lead-icon",
23
+ "*:data-[slot=spinner]:lead-icon *:data-[slot=spinner]:w-4 *:data-[slot=spinner]:leading-[inherit]"
24
+ ],
25
+ content: ["min-w-0 flex-1"],
26
+ actions: ["flex shrink-0 items-center", "-my-1.5 gap-3"]
27
+ },
28
+ variants: { status: {
29
+ default: { root: ["bg-fill-muted"] },
30
+ warning: { root: ["bg-warning-soft"] },
31
+ destructive: { root: ["bg-danger-soft"] },
32
+ info: { root: ["bg-info-soft"] },
33
+ success: { root: ["bg-success-soft"] }
34
+ } },
35
+ defaultVariants: { status: "warning" }
36
+ });
37
+ function PanelNotice({ className, render, status = "warning", ...props }) {
38
+ const { root } = panelNotice({ status });
39
+ const defaultProps = {
40
+ "data-slot": "panel-notice",
41
+ "data-status": status,
42
+ className: root({ className })
43
+ };
44
+ return useRender({
45
+ defaultTagName: "div",
46
+ render,
47
+ props: mergeProps(defaultProps, props)
48
+ });
49
+ }
50
+ /** The message: takes the width left and wraps or clamps as the caller says. */
51
+ function PanelNoticeContent({ className, render, ...props }) {
52
+ const { content } = panelNotice();
53
+ const defaultProps = {
54
+ "data-slot": "panel-notice-content",
55
+ className: content({ className })
56
+ };
57
+ return useRender({
58
+ defaultTagName: "div",
59
+ render,
60
+ props: mergeProps(defaultProps, props)
61
+ });
62
+ }
63
+ /** Trailing controls (copy, a link, ×), centred on the first text line. */
64
+ function PanelNoticeActions({ className, render, ...props }) {
65
+ const { actions } = panelNotice();
66
+ const defaultProps = {
67
+ "data-slot": "panel-notice-actions",
68
+ className: actions({ className })
69
+ };
70
+ return useRender({
71
+ defaultTagName: "div",
72
+ render,
73
+ props: mergeProps(defaultProps, props)
74
+ });
75
+ }
76
+ //#endregion
77
+ export { PanelNotice, PanelNoticeActions, PanelNoticeContent };
@@ -0,0 +1,34 @@
1
+ import { StyledProps } from "../../lib/styled-props.mjs";
2
+ import { DataAttributes } from "../../lib/data-attributes.mjs";
3
+ import { ComponentProps } from "react";
4
+ import { Button } from "@base-ui/react/button";
5
+ import { Toggle } from "@base-ui/react/toggle";
6
+ //#region src/components/panel/panel-split-action.d.ts
7
+ export type PanelSplitActionProps = ComponentProps<"div"> & DataAttributes;
8
+ /**
9
+ * One header action with a menu beside it, such as Comment and its ▾: a
10
+ * `PanelSplitActionMain` (or `PanelSplitActionToggle`), then a `PanelSplitActionMenu` as the trigger of a
11
+ * DropdownMenu or a Popover. The two parts read as one control.
12
+ */
13
+ export declare function PanelSplitAction({ className, ...props }: PanelSplitActionProps): import("react").JSX.Element;
14
+ export type PanelSplitActionMainProps = Omit<StyledProps<Button.Props>, "type"> & DataAttributes;
15
+ /**
16
+ * The primary action of a split action, a panel action's square: a Base UI
17
+ * Button. For an action that stays on, use `PanelSplitActionToggle`.
18
+ */
19
+ export declare function PanelSplitActionMain({ className, render, nativeButton, ...props }: PanelSplitActionMainProps): import("react").JSX.Element;
20
+ export type PanelSplitActionToggleProps = Omit<StyledProps<Toggle.Props>, "type"> & DataAttributes;
21
+ /**
22
+ * The primary action of a split action when it turns something on, such as
23
+ * commenting: a Base UI Toggle (`aria-pressed`), the yellow sticker while
24
+ * pressed, like PanelToggleAction.
25
+ */
26
+ export declare function PanelSplitActionToggle({ className, render, nativeButton, ...props }: PanelSplitActionToggleProps): import("react").JSX.Element;
27
+ export type PanelSplitActionMenuProps = Omit<StyledProps<Button.Props>, "type"> & DataAttributes;
28
+ /**
29
+ * The narrow part of a split action that opens its menu, with a chevron by
30
+ * default. Render it as the trigger of a DropdownMenu or a Popover:
31
+ * `<DropdownMenuTrigger render={<PanelSplitActionMenu aria-label="Comments" />} />`.
32
+ */
33
+ export declare function PanelSplitActionMenu({ className, render, nativeButton, children, ...props }: PanelSplitActionMenuProps): import("react").JSX.Element;
34
+ //#endregion
@@ -0,0 +1,69 @@
1
+ import { defaultNativeButton } from "../../lib/default-native-button.mjs";
2
+ import { panelSplitAction, panelSplitActionMain, panelSplitActionMenu, panelSplitActionToggle } from "./panel-split-action.recipe.mjs";
3
+ import { ChevronDown } from "lucide-react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { Button } from "@base-ui/react/button";
6
+ import { Toggle } from "@base-ui/react/toggle";
7
+ //#region src/components/panel/panel-split-action.tsx
8
+ /**
9
+ * One header action with a menu beside it, such as Comment and its ▾: a
10
+ * `PanelSplitActionMain` (or `PanelSplitActionToggle`), then a `PanelSplitActionMenu` as the trigger of a
11
+ * DropdownMenu or a Popover. The two parts read as one control.
12
+ */
13
+ function PanelSplitAction({ className, ...props }) {
14
+ return /* @__PURE__ */ jsx("div", {
15
+ role: "group",
16
+ ...props,
17
+ "data-slot": "panel-split-action",
18
+ className: panelSplitAction({ className })
19
+ });
20
+ }
21
+ /**
22
+ * The primary action of a split action, a panel action's square: a Base UI
23
+ * Button. For an action that stays on, use `PanelSplitActionToggle`.
24
+ */
25
+ function PanelSplitActionMain({ className, render, nativeButton, ...props }) {
26
+ return /* @__PURE__ */ jsx(Button, {
27
+ ...props,
28
+ render,
29
+ nativeButton: nativeButton ?? defaultNativeButton(render),
30
+ type: "button",
31
+ "data-slot": "panel-split-action-main",
32
+ "data-split-action-main": "",
33
+ className: panelSplitActionMain({ className })
34
+ });
35
+ }
36
+ /**
37
+ * The primary action of a split action when it turns something on, such as
38
+ * commenting: a Base UI Toggle (`aria-pressed`), the yellow sticker while
39
+ * pressed, like PanelToggleAction.
40
+ */
41
+ function PanelSplitActionToggle({ className, render, nativeButton, ...props }) {
42
+ return /* @__PURE__ */ jsx(Toggle, {
43
+ ...props,
44
+ render,
45
+ nativeButton: nativeButton ?? defaultNativeButton(render),
46
+ type: "button",
47
+ "data-slot": "panel-split-action-toggle",
48
+ "data-split-action-main": "",
49
+ className: panelSplitActionToggle({ className })
50
+ });
51
+ }
52
+ /**
53
+ * The narrow part of a split action that opens its menu, with a chevron by
54
+ * default. Render it as the trigger of a DropdownMenu or a Popover:
55
+ * `<DropdownMenuTrigger render={<PanelSplitActionMenu aria-label="Comments" />} />`.
56
+ */
57
+ function PanelSplitActionMenu({ className, render, nativeButton, children, ...props }) {
58
+ return /* @__PURE__ */ jsx(Button, {
59
+ ...props,
60
+ render,
61
+ nativeButton: nativeButton ?? defaultNativeButton(render),
62
+ type: "button",
63
+ "data-slot": "panel-split-action-menu",
64
+ className: panelSplitActionMenu({ className }),
65
+ children: children ?? /* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": true })
66
+ });
67
+ }
68
+ //#endregion
69
+ export { PanelSplitAction, PanelSplitActionMain, PanelSplitActionMenu, PanelSplitActionToggle };
@@ -0,0 +1,53 @@
1
+ import { tv } from "../../lib/tv.mjs";
2
+ import { panelAction, panelToggleAction } from "./panel-action.recipe.mjs";
3
+ //#region src/components/panel/panel-split-action.recipe.ts
4
+ /**
5
+ * A split action reads as one control: the group is one rounded shape, and
6
+ * whichever part is under the pointer takes the medium tier (`fill-medium`)
7
+ * while the other part takes the subtle tier (`fill-subtle`). The coupling is
8
+ * `group-hover` on the root, which only hovers through a part (the root lets
9
+ * the pointer through, so a disabled part, which takes no pointer, hovers
10
+ * nothing). A part's resting fill is a custom property: the menu reads the
11
+ * main part's (or the toggle's) pressed state through a sibling selector, the main part reads
12
+ * the open menu through a has-selector on the root itself (packages/ui/CLAUDE.md,
13
+ * Selector Cost), so a hover, a press, a selection or a disabled state on the
14
+ * part itself always wins over the tint.
15
+ */
16
+ const panelSplitAction = tv({ base: [
17
+ "group/split-action relative inline-flex shrink-0 items-center",
18
+ "rounded-control pointer-events-none",
19
+ "has-[>[data-popup-open]]:[--split-action-main-tint:var(--fill-subtle)]"
20
+ ] });
21
+ const splitActionMainParts = [
22
+ "pointer-events-auto rounded-e-none",
23
+ "after:end-0",
24
+ "focus-visible:z-1 aria-pressed:z-1 data-pressed:z-1",
25
+ "bg-(--split-action-main-tint,transparent)",
26
+ "group-hover/split-action:bg-fill-subtle",
27
+ "hover:bg-fill-medium active:bg-fill-medium"
28
+ ];
29
+ const panelSplitActionMain = tv({
30
+ extend: panelAction,
31
+ base: splitActionMainParts
32
+ });
33
+ const panelSplitActionToggle = tv({
34
+ extend: panelToggleAction,
35
+ base: splitActionMainParts
36
+ });
37
+ const panelSplitActionMenu = tv({
38
+ extend: panelAction,
39
+ base: [
40
+ "pointer-events-auto min-w-0 rounded-s-none px-0",
41
+ "w-6 me-5 md:pointer-fine:w-5 md:pointer-fine:me-0",
42
+ "after:start-0 after:inset-e-[-21.5px] md:pointer-fine:after:-end-control-hit",
43
+ "focus-visible:z-1",
44
+ "[[data-split-action-main][data-pressed]~&]:[--split-action-menu-tint:var(--fill-subtle)]",
45
+ "[[data-split-action-main][aria-pressed=true]~&]:[--split-action-menu-tint:var(--fill-subtle)]",
46
+ "bg-(--split-action-menu-tint,transparent)",
47
+ "group-hover/split-action:bg-fill-subtle",
48
+ "hover:bg-fill-medium active:bg-fill-medium data-popup-open:bg-fill-medium",
49
+ "[&>svg]:size-4"
50
+ ]
51
+ });
52
+ //#endregion
53
+ export { panelSplitAction, panelSplitActionMain, panelSplitActionMenu, panelSplitActionToggle };
@@ -0,0 +1,6 @@
1
+ import { StyledProps } from "../../lib/styled-props.mjs";
2
+ import { Toggle } from "@base-ui/react/toggle";
3
+ //#region src/components/panel/panel-toggle-action.d.ts
4
+ export type PanelToggleActionProps = Omit<StyledProps<Toggle.Props>, "type">;
5
+ export declare function PanelToggleAction({ className, ...props }: PanelToggleActionProps): import("react").JSX.Element;
6
+ //#endregion
@@ -0,0 +1,15 @@
1
+ import { panelToggleAction } from "./panel-action.recipe.mjs";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { Toggle } from "@base-ui/react/toggle";
4
+ //#region src/components/panel/panel-toggle-action.tsx
5
+ function PanelToggleAction({ className, ...props }) {
6
+ return /* @__PURE__ */ jsx(Toggle, {
7
+ ...props,
8
+ type: "button",
9
+ "data-slot": "panel-toggle-action",
10
+ "data-icon-inset": "",
11
+ className: panelToggleAction({ className })
12
+ });
13
+ }
14
+ //#endregion
15
+ export { PanelToggleAction };
@@ -0,0 +1,25 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ //#region src/components/panel/panel.d.ts
3
+ export type PanelEdge = "attached" | "inset";
4
+ export type PanelProps = useRender.ComponentProps<"section"> & {
5
+ edge?: PanelEdge;
6
+ };
7
+ export declare function Panel({ className, edge, render, ...props }: PanelProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
8
+ export type PanelHeaderRootProps = useRender.ComponentProps<"div">;
9
+ /**
10
+ * Bare header bar: fixed height and centered flex row, no border, fill, or padding.
11
+ * Shared base for `PanelHeader`, `PanelSectionHeader`, and panel-specific headers
12
+ * such as `ThreadPanelHeader` — it is not exclusive to `PanelHeader`.
13
+ */
14
+ export declare function PanelHeaderRoot({ className, render, ...props }: PanelHeaderRootProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
15
+ export type PanelBodyProps = useRender.ComponentProps<"div">;
16
+ export declare function PanelBody({ className, render, ...props }: PanelBodyProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
17
+ export type PanelScrollViewportProps = useRender.ComponentProps<"div">;
18
+ export declare function PanelScrollViewport({ className, render, ...props }: PanelScrollViewportProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
19
+ export type PanelScrollContentProps = useRender.ComponentProps<"div">;
20
+ export declare function PanelScrollContent({ className, render, ...props }: PanelScrollContentProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
21
+ export type PanelSectionProps = useRender.ComponentProps<"section">;
22
+ export declare function PanelSection({ className, render, ...props }: PanelSectionProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
23
+ export type PanelFooterProps = useRender.ComponentProps<"div">;
24
+ export declare function PanelFooter({ className, render, ...props }: PanelFooterProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
25
+ //#endregion
@@ -0,0 +1,96 @@
1
+ import { panel } from "./panel.recipe.mjs";
2
+ import { mergeProps } from "@base-ui/react/merge-props";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+ //#region src/components/panel/panel.tsx
5
+ function Panel({ className, edge, render, ...props }) {
6
+ const { root } = panel({ edge });
7
+ const defaultProps = {
8
+ "data-edge": edge,
9
+ "data-slot": "panel",
10
+ className: root({ className })
11
+ };
12
+ return useRender({
13
+ defaultTagName: "section",
14
+ render,
15
+ props: mergeProps(defaultProps, props)
16
+ });
17
+ }
18
+ /**
19
+ * Bare header bar: fixed height and centered flex row, no border, fill, or padding.
20
+ * Shared base for `PanelHeader`, `PanelSectionHeader`, and panel-specific headers
21
+ * such as `ThreadPanelHeader` — it is not exclusive to `PanelHeader`.
22
+ */
23
+ function PanelHeaderRoot({ className, render, ...props }) {
24
+ const { header } = panel();
25
+ const defaultProps = {
26
+ "data-slot": "panel-header-root",
27
+ className: header({ className })
28
+ };
29
+ return useRender({
30
+ defaultTagName: "div",
31
+ render,
32
+ props: mergeProps(defaultProps, props)
33
+ });
34
+ }
35
+ function PanelBody({ className, render, ...props }) {
36
+ const { body } = panel();
37
+ const defaultProps = {
38
+ "data-slot": "panel-body",
39
+ className: body({ className })
40
+ };
41
+ return useRender({
42
+ defaultTagName: "div",
43
+ render,
44
+ props: mergeProps(defaultProps, props)
45
+ });
46
+ }
47
+ function PanelScrollViewport({ className, render, ...props }) {
48
+ const { scrollViewport } = panel();
49
+ const defaultProps = {
50
+ "data-slot": "panel-scroll-viewport",
51
+ className: scrollViewport({ className })
52
+ };
53
+ return useRender({
54
+ defaultTagName: "div",
55
+ render,
56
+ props: mergeProps(defaultProps, props)
57
+ });
58
+ }
59
+ function PanelScrollContent({ className, render, ...props }) {
60
+ const { scrollContent } = panel();
61
+ const defaultProps = {
62
+ "data-slot": "panel-scroll-content",
63
+ className: scrollContent({ className })
64
+ };
65
+ return useRender({
66
+ defaultTagName: "div",
67
+ render,
68
+ props: mergeProps(defaultProps, props)
69
+ });
70
+ }
71
+ function PanelSection({ className, render, ...props }) {
72
+ const { section } = panel();
73
+ const defaultProps = {
74
+ "data-slot": "panel-section",
75
+ className: section({ className })
76
+ };
77
+ return useRender({
78
+ defaultTagName: "section",
79
+ render,
80
+ props: mergeProps(defaultProps, props)
81
+ });
82
+ }
83
+ function PanelFooter({ className, render, ...props }) {
84
+ const { footer } = panel();
85
+ const defaultProps = {
86
+ "data-slot": "panel-footer",
87
+ className: footer({ className })
88
+ };
89
+ return useRender({
90
+ defaultTagName: "div",
91
+ render,
92
+ props: mergeProps(defaultProps, props)
93
+ });
94
+ }
95
+ //#endregion
96
+ export { Panel, PanelBody, PanelFooter, PanelHeaderRoot, PanelScrollContent, PanelScrollViewport, PanelSection };