@botiverse/raft-ui 0.51.0 → 0.52.1

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 +26 -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 -17054
  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 -1190
  581. package/dist/wip.mjs +43 -2970
  582. package/package.json +8 -1
  583. package/dist/index-C3ymUW98.d.mts +0 -1816
  584. package/dist/mode-bar-tGnYByXp.mjs +0 -7564
  585. package/dist/style.css +0 -1395
@@ -0,0 +1,71 @@
1
+ import { MobileNavItemProps } from "./mobile-nav.mjs";
2
+ import { PopoverContentProps, PopoverProps } from "../popover/popover.mjs";
3
+ import { ComponentPropsWithRef } from "react";
4
+ //#region src/components/mobile-nav/mobile-nav-server.d.ts
5
+ export type MobileNavServerPopoverProps = Omit<PopoverProps, "handle">;
6
+ /** The root: owns the popover's open state, like `Popover` (`open`, `onOpenChange`). */
7
+ export declare function MobileNavServerPopover(props: MobileNavServerPopoverProps): import("react").JSX.Element;
8
+ export type MobileNavServerItemProps = Omit<MobileNavItemProps, "selected" | "render" | "nativeButton">;
9
+ /**
10
+ * The tab: the server's avatar and its name in `MobileNavLabel`, as children.
11
+ * A press opens the popover, and so does holding it for 500ms (the long press
12
+ * of raft-ui's menus). Lifting the finger after a hold never closes it: the
13
+ * click that ends the hold is not a press, whether the hold opened the
14
+ * popover or found it open.
15
+ * It is never `selected`: it holds no page.
16
+ */
17
+ export declare function MobileNavServerItem({ className, id, ref, onClick, onContextMenu, onPointerDown, onPointerMove, onPointerUp, onPointerCancel, onPointerLeave, ...props }: MobileNavServerItemProps): import("react").JSX.Element;
18
+ export type MobileNavServerPopoverContentProps = PopoverContentProps;
19
+ /**
20
+ * The popover above the tab bar, 8px from each side of it and 8px above it,
21
+ * as tall as its content and at most 60% of the screen. It stops below the
22
+ * top safe area (a notch in a standalone web app): Base UI's collision padding
23
+ * takes only pixels, so the height cap subtracts `env(safe-area-inset-top)`.
24
+ * The bottom needs none: the tab bar under the popover already pads the
25
+ * bottom safe area. A column:
26
+ * `MobileNavServerPopoverList` takes the room left and scrolls, and the
27
+ * destinations and the footer after it stay in view.
28
+ */
29
+ export declare function MobileNavServerPopoverContent({ anchor, side, align, sideOffset, collisionPadding, className, ...props }: MobileNavServerPopoverContentProps): import("react").JSX.Element;
30
+ export type MobileNavServerPopoverListProps = ComponentPropsWithRef<"div">;
31
+ /** The server list: takes the room left in the popover and scrolls inside it. */
32
+ export declare function MobileNavServerPopoverList({ className, ...props }: MobileNavServerPopoverListProps): import("react").JSX.Element;
33
+ export type MobileNavServerPopoverGroupProps = ComponentPropsWithRef<"div">;
34
+ /** Rows that always stay in view, such as the footer actions. */
35
+ export declare function MobileNavServerPopoverGroup({ className, ...props }: MobileNavServerPopoverGroupProps): import("react").JSX.Element;
36
+ export type MobileNavServerPopoverRowProps = ComponentPropsWithRef<"button">;
37
+ /**
38
+ * One row at the option height of every popup list (`py-option-inset`, 36px
39
+ * for one line; a second line adds its own height and nothing else): a 20px
40
+ * avatar or a 16px icon, `MobileNavServerPopoverRowLabel` (or a
41
+ * `MobileNavServerPopoverRowBody` with a description under the label), then
42
+ * anything trailing (a check, a count), centered on the row.
43
+ * `aria-current="true"` marks the current server in bold.
44
+ */
45
+ export declare function MobileNavServerPopoverRow({ className, type, ...props }: MobileNavServerPopoverRowProps): import("react").JSX.Element;
46
+ export type MobileNavServerPopoverRowLabelProps = ComponentPropsWithRef<"span">;
47
+ /** A row's label: takes the room and truncates. */
48
+ export declare function MobileNavServerPopoverRowLabel({ className, ...props }: MobileNavServerPopoverRowLabelProps): import("react").JSX.Element;
49
+ export type MobileNavServerPopoverDestinationsProps = ComponentPropsWithRef<"div">;
50
+ /** The server's own pages, side by side in equal cells; a `group`, named with `aria-label`. */
51
+ export declare function MobileNavServerPopoverDestinations({ className, ...props }: MobileNavServerPopoverDestinationsProps): import("react").JSX.Element;
52
+ export type MobileNavServerPopoverDestinationProps = ComponentPropsWithRef<"button">;
53
+ /**
54
+ * One of the server's pages: a 20px icon over a short label in a `span`, which
55
+ * truncates. Something new on that page (a feedback reply, a computer that
56
+ * needs attention) is an `accent` `Status` child, the attention dot at the
57
+ * icon's top-right corner: the server tab's avatar never carries it.
58
+ */
59
+ export declare function MobileNavServerPopoverDestination({ className, type, ...props }: MobileNavServerPopoverDestinationProps): import("react").JSX.Element;
60
+ export type MobileNavServerPopoverRowBodyProps = ComponentPropsWithRef<"span">;
61
+ /**
62
+ * The text of a two-line row: `MobileNavServerPopoverRowLabel`, then
63
+ * `MobileNavServerPopoverRowDescription` under it. The second line adds its
64
+ * own height and nothing else; the avatar and the trailing check or count
65
+ * center on both lines.
66
+ */
67
+ export declare function MobileNavServerPopoverRowBody({ className, ...props }: MobileNavServerPopoverRowBodyProps): import("react").JSX.Element;
68
+ export type MobileNavServerPopoverRowDescriptionProps = ComponentPropsWithRef<"span">;
69
+ /** A row's second line, such as a server's address: muted Space Mono; truncates. */
70
+ export declare function MobileNavServerPopoverRowDescription({ className, ...props }: MobileNavServerPopoverRowDescriptionProps): import("react").JSX.Element;
71
+ //#endregion
@@ -0,0 +1,287 @@
1
+ import { tv } from "../../lib/tv.mjs";
2
+ import { MobileNavItem } from "./mobile-nav.mjs";
3
+ import "../../lib/touch-drag.mjs";
4
+ import { PopoverContent } from "../popover/popover.mjs";
5
+ import { createContext, use, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { Popover } from "@base-ui/react/popover";
8
+ //#region src/components/mobile-nav/mobile-nav-server.tsx
9
+ const mobileNavServer = tv({ slots: {
10
+ item: [
11
+ "select-none [-webkit-touch-callout:none]",
12
+ "*:data-[slot=avatar]:size-[22px]",
13
+ "data-popup-open:before:bg-fill-medium"
14
+ ],
15
+ content: [
16
+ "flex flex-col",
17
+ "w-[calc(var(--anchor-width)-16px)] min-w-0",
18
+ "max-h-[min(60dvh,calc(var(--available-height)-env(safe-area-inset-top,0px)))]"
19
+ ],
20
+ list: ["flex min-h-0 flex-1 flex-col overflow-y-auto overscroll-contain p-1"],
21
+ group: ["flex shrink-0 flex-col p-1"],
22
+ row: [
23
+ "flex w-full shrink-0 cursor-default select-none items-center",
24
+ "text-left outline-none transition-colors",
25
+ "min-h-option gap-2.5 rounded-chip px-2.5 py-option-inset",
26
+ "font-sans text-callout font-medium text-foreground",
27
+ "hover:bg-brand-soft active:bg-brand-soft focus-visible:bg-brand-soft",
28
+ "aria-[current=true]:font-bold",
29
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&>svg:not([class*='size-'])]:size-4",
30
+ "[&>svg]:text-foreground-muted",
31
+ "*:data-[slot=avatar]:size-5 *:data-[slot=avatar]:shrink-0"
32
+ ],
33
+ rowLabel: ["min-w-0 flex-1 truncate"],
34
+ rowBody: ["flex min-w-0 flex-1 flex-col"],
35
+ rowDescription: ["min-w-0 truncate", "font-mono text-mono-meta font-normal text-foreground-hint"],
36
+ destinations: ["grid shrink-0 grid-flow-col auto-cols-fr gap-1 p-1"],
37
+ destination: [
38
+ "relative flex min-w-0 cursor-default select-none flex-col items-center justify-center",
39
+ "outline-none transition-colors",
40
+ "gap-1 rounded-chip px-1 py-2",
41
+ "font-sans text-footnote font-medium text-foreground",
42
+ "hover:bg-brand-soft active:bg-brand-soft focus-visible:bg-brand-soft",
43
+ "[&_svg]:pointer-events-none [&_svg]:size-5 [&_svg]:shrink-0 [&_svg]:text-foreground-muted",
44
+ "[&>span]:max-w-full [&>span]:truncate",
45
+ "*:data-[slot=status]:absolute *:data-[slot=status]:top-1 *:data-[slot=status]:left-[calc(50%+6px)]"
46
+ ]
47
+ } });
48
+ const MobileNavServerContext = createContext(null);
49
+ function useMobileNavServerContext(part) {
50
+ const context = use(MobileNavServerContext);
51
+ if (!context) throw new Error(`${part} must be inside MobileNavServerPopover`);
52
+ return context;
53
+ }
54
+ /** The root: owns the popover's open state, like `Popover` (`open`, `onOpenChange`). */
55
+ function MobileNavServerPopover(props) {
56
+ const [handle] = useState(() => Popover.createHandle());
57
+ const triggerRef = useRef(null);
58
+ const context = useMemo(() => ({
59
+ handle,
60
+ triggerRef
61
+ }), [handle]);
62
+ return /* @__PURE__ */ jsx(MobileNavServerContext, {
63
+ value: context,
64
+ children: /* @__PURE__ */ jsx(Popover.Root, {
65
+ "data-slot": "mobile-nav-server-popover",
66
+ handle,
67
+ ...props
68
+ })
69
+ });
70
+ }
71
+ /**
72
+ * The tab: the server's avatar and its name in `MobileNavLabel`, as children.
73
+ * A press opens the popover, and so does holding it for 500ms (the long press
74
+ * of raft-ui's menus). Lifting the finger after a hold never closes it: the
75
+ * click that ends the hold is not a press, whether the hold opened the
76
+ * popover or found it open.
77
+ * It is never `selected`: it holds no page.
78
+ */
79
+ function MobileNavServerItem({ className, id, ref, onClick, onContextMenu, onPointerDown, onPointerMove, onPointerUp, onPointerCancel, onPointerLeave, ...props }) {
80
+ const { handle, triggerRef } = useMobileNavServerContext("MobileNavServerItem");
81
+ const { item } = mobileNavServer();
82
+ const generatedId = useId();
83
+ const triggerId = id ?? generatedId;
84
+ const holdTimer = useRef(void 0);
85
+ const holdStart = useRef(null);
86
+ const held = useRef(false);
87
+ const cancelHold = useCallback(() => {
88
+ clearTimeout(holdTimer.current);
89
+ holdTimer.current = void 0;
90
+ holdStart.current = null;
91
+ }, []);
92
+ useEffect(() => cancelHold, [cancelHold]);
93
+ const setRef = useCallback((node) => {
94
+ triggerRef.current = node;
95
+ assignRef(ref, node);
96
+ }, [ref, triggerRef]);
97
+ const handlePointerDown = useCallback((event) => {
98
+ onPointerDown?.(event);
99
+ cancelHold();
100
+ held.current = false;
101
+ if (event.button !== 0) return;
102
+ holdStart.current = {
103
+ x: event.clientX,
104
+ y: event.clientY
105
+ };
106
+ holdTimer.current = setTimeout(() => {
107
+ holdTimer.current = void 0;
108
+ held.current = true;
109
+ if (!handle.isOpen) handle.open(triggerId);
110
+ }, 500);
111
+ }, [
112
+ cancelHold,
113
+ handle,
114
+ onPointerDown,
115
+ triggerId
116
+ ]);
117
+ const handlePointerMove = useCallback((event) => {
118
+ onPointerMove?.(event);
119
+ const start = holdStart.current;
120
+ if (!start) return;
121
+ if (Math.hypot(event.clientX - start.x, event.clientY - start.y) > 10) cancelHold();
122
+ }, [cancelHold, onPointerMove]);
123
+ const handlePointerUp = useCallback((event) => {
124
+ onPointerUp?.(event);
125
+ cancelHold();
126
+ }, [cancelHold, onPointerUp]);
127
+ const handlePointerCancel = useCallback((event) => {
128
+ onPointerCancel?.(event);
129
+ cancelHold();
130
+ }, [cancelHold, onPointerCancel]);
131
+ const handlePointerLeave = useCallback((event) => {
132
+ onPointerLeave?.(event);
133
+ cancelHold();
134
+ }, [cancelHold, onPointerLeave]);
135
+ const handleClick = useCallback((event) => {
136
+ onClick?.(event);
137
+ if (!held.current) return;
138
+ held.current = false;
139
+ event.preventBaseUIHandler?.();
140
+ }, [onClick]);
141
+ const handleContextMenu = useCallback((event) => {
142
+ onContextMenu?.(event);
143
+ event.preventDefault();
144
+ }, [onContextMenu]);
145
+ return /* @__PURE__ */ jsx(Popover.Trigger, {
146
+ handle,
147
+ id: triggerId,
148
+ ref: setRef,
149
+ render: /* @__PURE__ */ jsx(MobileNavItem, {}),
150
+ "data-slot": "mobile-nav-server-item",
151
+ className: item({ className }),
152
+ onPointerDown: handlePointerDown,
153
+ onPointerMove: handlePointerMove,
154
+ onPointerUp: handlePointerUp,
155
+ onPointerCancel: handlePointerCancel,
156
+ onPointerLeave: handlePointerLeave,
157
+ onClick: handleClick,
158
+ onContextMenu: handleContextMenu,
159
+ ...props
160
+ });
161
+ }
162
+ /**
163
+ * The popover above the tab bar, 8px from each side of it and 8px above it,
164
+ * as tall as its content and at most 60% of the screen. It stops below the
165
+ * top safe area (a notch in a standalone web app): Base UI's collision padding
166
+ * takes only pixels, so the height cap subtracts `env(safe-area-inset-top)`.
167
+ * The bottom needs none: the tab bar under the popover already pads the
168
+ * bottom safe area. A column:
169
+ * `MobileNavServerPopoverList` takes the room left and scrolls, and the
170
+ * destinations and the footer after it stay in view.
171
+ */
172
+ function MobileNavServerPopoverContent({ anchor, side = "top", align = "center", sideOffset = 8, collisionPadding = 8, className, ...props }) {
173
+ const { triggerRef } = useMobileNavServerContext("MobileNavServerPopoverContent");
174
+ const { content } = mobileNavServer();
175
+ const tabBar = useCallback(() => {
176
+ const trigger = triggerRef.current;
177
+ return trigger?.closest("[data-slot=mobile-nav-root]") ?? trigger;
178
+ }, [triggerRef]);
179
+ return /* @__PURE__ */ jsx(PopoverContent, {
180
+ "data-slot": "mobile-nav-server-popover-content",
181
+ anchor: anchor ?? tabBar,
182
+ side,
183
+ align,
184
+ sideOffset,
185
+ collisionPadding,
186
+ className: content({ className }),
187
+ ...props
188
+ });
189
+ }
190
+ /** The server list: takes the room left in the popover and scrolls inside it. */
191
+ function MobileNavServerPopoverList({ className, ...props }) {
192
+ const { list } = mobileNavServer();
193
+ return /* @__PURE__ */ jsx("div", {
194
+ "data-slot": "mobile-nav-server-popover-list",
195
+ className: list({ className }),
196
+ ...props
197
+ });
198
+ }
199
+ /** Rows that always stay in view, such as the footer actions. */
200
+ function MobileNavServerPopoverGroup({ className, ...props }) {
201
+ const { group } = mobileNavServer();
202
+ return /* @__PURE__ */ jsx("div", {
203
+ "data-slot": "mobile-nav-server-popover-group",
204
+ className: group({ className }),
205
+ ...props
206
+ });
207
+ }
208
+ /**
209
+ * One row at the option height of every popup list (`py-option-inset`, 36px
210
+ * for one line; a second line adds its own height and nothing else): a 20px
211
+ * avatar or a 16px icon, `MobileNavServerPopoverRowLabel` (or a
212
+ * `MobileNavServerPopoverRowBody` with a description under the label), then
213
+ * anything trailing (a check, a count), centered on the row.
214
+ * `aria-current="true"` marks the current server in bold.
215
+ */
216
+ function MobileNavServerPopoverRow({ className, type = "button", ...props }) {
217
+ const { row } = mobileNavServer();
218
+ return /* @__PURE__ */ jsx("button", {
219
+ type,
220
+ "data-slot": "mobile-nav-server-popover-row",
221
+ className: row({ className }),
222
+ ...props
223
+ });
224
+ }
225
+ /** A row's label: takes the room and truncates. */
226
+ function MobileNavServerPopoverRowLabel({ className, ...props }) {
227
+ const { rowLabel } = mobileNavServer();
228
+ return /* @__PURE__ */ jsx("span", {
229
+ "data-slot": "mobile-nav-server-popover-row-label",
230
+ className: rowLabel({ className }),
231
+ ...props
232
+ });
233
+ }
234
+ /** The server's own pages, side by side in equal cells; a `group`, named with `aria-label`. */
235
+ function MobileNavServerPopoverDestinations({ className, ...props }) {
236
+ const { destinations } = mobileNavServer();
237
+ return /* @__PURE__ */ jsx("div", {
238
+ role: "group",
239
+ "data-slot": "mobile-nav-server-popover-destinations",
240
+ className: destinations({ className }),
241
+ ...props
242
+ });
243
+ }
244
+ /**
245
+ * One of the server's pages: a 20px icon over a short label in a `span`, which
246
+ * truncates. Something new on that page (a feedback reply, a computer that
247
+ * needs attention) is an `accent` `Status` child, the attention dot at the
248
+ * icon's top-right corner: the server tab's avatar never carries it.
249
+ */
250
+ function MobileNavServerPopoverDestination({ className, type = "button", ...props }) {
251
+ const { destination } = mobileNavServer();
252
+ return /* @__PURE__ */ jsx("button", {
253
+ type,
254
+ "data-slot": "mobile-nav-server-popover-destination",
255
+ className: destination({ className }),
256
+ ...props
257
+ });
258
+ }
259
+ /**
260
+ * The text of a two-line row: `MobileNavServerPopoverRowLabel`, then
261
+ * `MobileNavServerPopoverRowDescription` under it. The second line adds its
262
+ * own height and nothing else; the avatar and the trailing check or count
263
+ * center on both lines.
264
+ */
265
+ function MobileNavServerPopoverRowBody({ className, ...props }) {
266
+ const { rowBody } = mobileNavServer();
267
+ return /* @__PURE__ */ jsx("span", {
268
+ "data-slot": "mobile-nav-server-popover-row-body",
269
+ className: rowBody({ className }),
270
+ ...props
271
+ });
272
+ }
273
+ /** A row's second line, such as a server's address: muted Space Mono; truncates. */
274
+ function MobileNavServerPopoverRowDescription({ className, ...props }) {
275
+ const { rowDescription } = mobileNavServer();
276
+ return /* @__PURE__ */ jsx("span", {
277
+ "data-slot": "mobile-nav-server-popover-row-description",
278
+ className: rowDescription({ className }),
279
+ ...props
280
+ });
281
+ }
282
+ function assignRef(ref, value) {
283
+ if (typeof ref === "function") ref(value);
284
+ else if (ref) ref.current = value;
285
+ }
286
+ //#endregion
287
+ export { MobileNavServerItem, MobileNavServerPopover, MobileNavServerPopoverContent, MobileNavServerPopoverDestination, MobileNavServerPopoverDestinations, MobileNavServerPopoverGroup, MobileNavServerPopoverList, MobileNavServerPopoverRow, MobileNavServerPopoverRowBody, MobileNavServerPopoverRowDescription, MobileNavServerPopoverRowLabel };
@@ -0,0 +1,12 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ //#region src/components/mobile-nav/mobile-nav.d.ts
3
+ export type MobileNavRootProps = useRender.ComponentProps<"nav">;
4
+ export declare function MobileNavRoot({ className, render, ...props }: MobileNavRootProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
5
+ export type MobileNavItemProps = useRender.ComponentProps<"button"> & {
6
+ nativeButton?: boolean;
7
+ selected?: boolean;
8
+ };
9
+ export declare function MobileNavItem({ nativeButton, selected, className, render, ref, ...props }: MobileNavItemProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
10
+ export type MobileNavLabelProps = useRender.ComponentProps<"span">;
11
+ export declare function MobileNavLabel({ className, render, ...props }: MobileNavLabelProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
12
+ //#endregion
@@ -0,0 +1,73 @@
1
+ import { tv } from "../../lib/tv.mjs";
2
+ import { useTapActivation } from "../../lib/tap-activation.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Button } from "@base-ui/react/button";
5
+ import { mergeProps } from "@base-ui/react/merge-props";
6
+ import { useRender } from "@base-ui/react/use-render";
7
+ //#region src/components/mobile-nav/mobile-nav.tsx
8
+ const mobileNav = tv({ slots: {
9
+ root: [
10
+ "grid w-full flex-none grid-flow-col auto-cols-fr items-start gap-0",
11
+ "border-t border-line-seam bg-layer-card px-2 pt-1.5 text-foreground-hint",
12
+ "pb-[max(8px,min(env(safe-area-inset-bottom,0px),34px))]"
13
+ ],
14
+ item: [
15
+ "relative inline-flex shrink-0 items-center outline-none",
16
+ "disabled:pointer-events-none disabled:opacity-45",
17
+ "[&_svg]:shrink-0",
18
+ "isolate min-w-0 flex-col justify-start gap-[7px] border-0 px-0 pt-1 pb-0",
19
+ "font-sans text-[10px]/3 font-semibold text-foreground-hint",
20
+ "*:relative *:z-10 [&_svg]:size-[22px] [&_svg]:stroke-2",
21
+ "before:pointer-events-none before:absolute before:top-0 before:left-1/2 before:z-0 before:-translate-x-1/2",
22
+ "before:h-[30px] before:w-14 before:rounded-control before:border-[1.5px] before:border-transparent before:content-['']",
23
+ "active:before:bg-fill-medium",
24
+ "data-[selected=true]:font-bold data-[selected=true]:text-foreground",
25
+ "data-[selected=true]:[&_svg]:text-sticker-ink",
26
+ "data-[selected=true]:before:border-sticker-ink data-[selected=true]:before:bg-selected data-[selected=true]:before:ring-[1.5px] data-[selected=true]:before:ring-sticker-edge",
27
+ "data-[selected=true]:active:before:overlay-sticker-medium",
28
+ "rounded-control focus-visible:shadow-focus"
29
+ ],
30
+ itemLabel: ["min-w-0 truncate", "max-w-full"]
31
+ } });
32
+ function MobileNavRoot({ className, render, ...props }) {
33
+ const { root } = mobileNav();
34
+ const defaultProps = {
35
+ "data-slot": "mobile-nav-root",
36
+ className: root({ className })
37
+ };
38
+ return useRender({
39
+ defaultTagName: "nav",
40
+ render,
41
+ props: mergeProps(defaultProps, props)
42
+ });
43
+ }
44
+ function MobileNavItem({ nativeButton = true, selected, className, render, ref, ...props }) {
45
+ const { item } = mobileNav();
46
+ const tapRef = useTapActivation();
47
+ const defaultProps = {
48
+ type: nativeButton ? "button" : void 0,
49
+ "aria-pressed": nativeButton ? selected : void 0,
50
+ "data-slot": "mobile-nav-item",
51
+ "data-selected": selected ? "true" : void 0,
52
+ className: item({ className })
53
+ };
54
+ return useRender({
55
+ render: render ?? /* @__PURE__ */ jsx(Button, {}),
56
+ ref: ref ? [ref, tapRef] : tapRef,
57
+ props: mergeProps(defaultProps, props)
58
+ });
59
+ }
60
+ function MobileNavLabel({ className, render, ...props }) {
61
+ const { itemLabel } = mobileNav();
62
+ const defaultProps = {
63
+ "data-slot": "mobile-nav-item-label",
64
+ className: itemLabel({ className })
65
+ };
66
+ return useRender({
67
+ defaultTagName: "span",
68
+ render,
69
+ props: mergeProps(defaultProps, props)
70
+ });
71
+ }
72
+ //#endregion
73
+ export { MobileNavItem, MobileNavLabel, MobileNavRoot };
@@ -0,0 +1,2 @@
1
+ import { ModeBar, ModeBarAction, ModeBarActionProps, ModeBarContent, ModeBarContentProps, ModeBarDescription, ModeBarDescriptionProps, ModeBarProps, ModeBarTitle, ModeBarTitleProps } from "./mode-bar.mjs";
2
+ export { ModeBar, ModeBarAction, type ModeBarActionProps, ModeBarContent, type ModeBarContentProps, ModeBarDescription, type ModeBarDescriptionProps, type ModeBarProps, ModeBarTitle, type ModeBarTitleProps };
@@ -0,0 +1,33 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ //#region src/components/mode-bar/mode-bar.d.ts
3
+ export type ModeBarProps = useRender.ComponentProps<"div">;
4
+ /**
5
+ * The strip. Put `ModeBarContent` in it, then the `ModeBarAction` that ends
6
+ * the mode.
7
+ */
8
+ export declare function ModeBar({ className, render, ...props }: ModeBarProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
9
+ export type ModeBarContentProps = useRender.ComponentProps<"div">;
10
+ /**
11
+ * The words: `ModeBarTitle`, then `ModeBarDescription`, on one line that
12
+ * wraps. A polite live region, so a change to the title (a draft count) is
13
+ * read out; the action stays outside it.
14
+ */
15
+ export declare function ModeBarContent({ className, render, ...props }: ModeBarContentProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
16
+ export type ModeBarTitleProps = useRender.ComponentProps<"span">;
17
+ /** The mode and its state, bold in the HUD ink: "Commenting · 1 draft." */
18
+ export declare function ModeBarTitle({ className, render, ...props }: ModeBarTitleProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
19
+ export type ModeBarDescriptionProps = useRender.ComponentProps<"span">;
20
+ /**
21
+ * What to do in the mode, in the muted HUD ink, after the title on the same
22
+ * line. It brings the space before it, so the two read and copy as one
23
+ * sentence.
24
+ */
25
+ export declare function ModeBarDescription({ className, render, children, ...props }: ModeBarDescriptionProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
26
+ export type ModeBarActionProps = useRender.ComponentProps<"button">;
27
+ /**
28
+ * The text action that ends the mode (Done), at the end of the first line. A
29
+ * real `button`; on the HUD it is a text action, like a toast's, never a
30
+ * Button.
31
+ */
32
+ export declare function ModeBarAction({ className, render, ...props }: ModeBarActionProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
33
+ //#endregion
@@ -0,0 +1,115 @@
1
+ import { tv } from "../../lib/tv.mjs";
2
+ import { hudTextAction } from "../../lib/hud-text-action.mjs";
3
+ import { Fragment, jsxs } 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/mode-bar/mode-bar.tsx
7
+ /**
8
+ * A dark strip across a panel, under its head, while the panel is in a mode
9
+ * people entered and leave on purpose (commenting on an Artifact). It is the
10
+ * HUD surface, not an intent tint: nothing is wrong, so it is not a notice;
11
+ * the dark fill says "the panel works differently now" until the mode ends.
12
+ * Its edges and height for one line are PanelNotice's, so the two strips are
13
+ * one size under a head.
14
+ */
15
+ const modeBar = tv({ slots: {
16
+ root: [
17
+ "flex shrink-0 items-start",
18
+ "min-h-10 gap-4 px-5 py-2.5 max-md:px-4",
19
+ "bg-layer-hud font-sans text-callout text-foreground-on-hud"
20
+ ],
21
+ content: ["min-w-0 flex-1 wrap-break-word"],
22
+ title: ["font-bold"],
23
+ description: ["text-foreground-on-hud-muted"],
24
+ action: [
25
+ "relative inline-flex shrink-0 items-center whitespace-nowrap select-none",
26
+ "border-0 bg-transparent p-0",
27
+ ...hudTextAction,
28
+ "disabled:pointer-events-none disabled:opacity-40"
29
+ ]
30
+ } });
31
+ /**
32
+ * The strip. Put `ModeBarContent` in it, then the `ModeBarAction` that ends
33
+ * the mode.
34
+ */
35
+ function ModeBar({ className, render, ...props }) {
36
+ const { root } = modeBar();
37
+ const defaultProps = {
38
+ "data-slot": "mode-bar",
39
+ className: root({ className })
40
+ };
41
+ return useRender({
42
+ defaultTagName: "div",
43
+ render,
44
+ props: mergeProps(defaultProps, props)
45
+ });
46
+ }
47
+ /**
48
+ * The words: `ModeBarTitle`, then `ModeBarDescription`, on one line that
49
+ * wraps. A polite live region, so a change to the title (a draft count) is
50
+ * read out; the action stays outside it.
51
+ */
52
+ function ModeBarContent({ className, render, ...props }) {
53
+ const { content } = modeBar();
54
+ const defaultProps = {
55
+ "data-slot": "mode-bar-content",
56
+ role: "status",
57
+ className: content({ className })
58
+ };
59
+ return useRender({
60
+ defaultTagName: "div",
61
+ render,
62
+ props: mergeProps(defaultProps, props)
63
+ });
64
+ }
65
+ /** The mode and its state, bold in the HUD ink: "Commenting · 1 draft." */
66
+ function ModeBarTitle({ className, render, ...props }) {
67
+ const { title } = modeBar();
68
+ const defaultProps = {
69
+ "data-slot": "mode-bar-title",
70
+ className: title({ className })
71
+ };
72
+ return useRender({
73
+ defaultTagName: "span",
74
+ render,
75
+ props: mergeProps(defaultProps, props)
76
+ });
77
+ }
78
+ /**
79
+ * What to do in the mode, in the muted HUD ink, after the title on the same
80
+ * line. It brings the space before it, so the two read and copy as one
81
+ * sentence.
82
+ */
83
+ function ModeBarDescription({ className, render, children, ...props }) {
84
+ const { description } = modeBar();
85
+ const defaultProps = {
86
+ "data-slot": "mode-bar-description",
87
+ className: description({ className }),
88
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [" ", children] })
89
+ };
90
+ return useRender({
91
+ defaultTagName: "span",
92
+ render,
93
+ props: mergeProps(defaultProps, props)
94
+ });
95
+ }
96
+ /**
97
+ * The text action that ends the mode (Done), at the end of the first line. A
98
+ * real `button`; on the HUD it is a text action, like a toast's, never a
99
+ * Button.
100
+ */
101
+ function ModeBarAction({ className, render, ...props }) {
102
+ const { action } = modeBar();
103
+ const defaultProps = {
104
+ "data-slot": "mode-bar-action",
105
+ type: "button",
106
+ className: action({ className })
107
+ };
108
+ return useRender({
109
+ defaultTagName: "button",
110
+ render,
111
+ props: mergeProps(defaultProps, props)
112
+ });
113
+ }
114
+ //#endregion
115
+ export { ModeBar, ModeBarAction, ModeBarContent, ModeBarDescription, ModeBarTitle };
@@ -0,0 +1,2 @@
1
+ import { NotificationCenter, NotificationCenterActionButton, NotificationCenterActionButtonProps, NotificationCenterCount, NotificationCenterCountProps, NotificationCenterEmptyState, NotificationCenterEmptyStateProps, NotificationCenterHeader, NotificationCenterHeaderProps, NotificationCenterItem, NotificationCenterItemActions, NotificationCenterItemActionsProps, NotificationCenterItemBody, NotificationCenterItemBodyProps, NotificationCenterItemContent, NotificationCenterItemContentProps, NotificationCenterItemIcon, NotificationCenterItemIconProps, NotificationCenterItemProps, NotificationCenterItemRow, NotificationCenterItemRowProps, NotificationCenterItemTitle, NotificationCenterItemTitleProps, NotificationCenterList, NotificationCenterListProps, NotificationCenterPopup, NotificationCenterPopupProps, NotificationCenterPortalProps, NotificationCenterProps, NotificationCenterScroller, NotificationCenterScrollerProps, NotificationCenterTitle, NotificationCenterTitleProps, NotificationCenterTrigger, NotificationCenterTriggerProps } from "./notification-center.mjs";
2
+ export { NotificationCenter, NotificationCenterActionButton, type NotificationCenterActionButtonProps, NotificationCenterCount, type NotificationCenterCountProps, NotificationCenterEmptyState, type NotificationCenterEmptyStateProps, NotificationCenterHeader, type NotificationCenterHeaderProps, NotificationCenterItem, NotificationCenterItemActions, type NotificationCenterItemActionsProps, NotificationCenterItemBody, type NotificationCenterItemBodyProps, NotificationCenterItemContent, type NotificationCenterItemContentProps, NotificationCenterItemIcon, type NotificationCenterItemIconProps, type NotificationCenterItemProps, NotificationCenterItemRow, type NotificationCenterItemRowProps, NotificationCenterItemTitle, type NotificationCenterItemTitleProps, NotificationCenterList, type NotificationCenterListProps, NotificationCenterPopup, type NotificationCenterPopupProps, type NotificationCenterPortalProps, type NotificationCenterProps, NotificationCenterScroller, type NotificationCenterScrollerProps, NotificationCenterTitle, type NotificationCenterTitleProps, NotificationCenterTrigger, type NotificationCenterTriggerProps };