@botiverse/raft-ui 0.51.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 +20 -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,161 @@
1
+ "use client";
2
+ import { drag } from "./drag.recipe.mjs";
3
+ import { dragPointer } from "./drag-lift.mjs";
4
+ import { useEffect, useRef } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { mergeProps } from "@base-ui/react/merge-props";
7
+ import { useRender } from "@base-ui/react/use-render";
8
+ import { createPortal } from "react-dom";
9
+ import { useDndContext } from "@dnd-kit/core";
10
+ //#region src/components/drag/drop-placeholder.tsx
11
+ /**
12
+ * Where a dragged item will land (design/patterns/drag-and-drop.md#where-it-will-land):
13
+ * a 1.5px dashed `line-strong` outline on `fill-subtle`, with the item's
14
+ * radius and size. One look for every place. The control radius is the
15
+ * default; pass the item's own (`rounded-container` for a card). Hidden from
16
+ * assistive technology: the announcements say where the item is.
17
+ */
18
+ function DropPlaceholder({ opaque = false, className, render, ...props }) {
19
+ const { placeholder } = drag({ opaque });
20
+ return useRender({
21
+ defaultTagName: "div",
22
+ render,
23
+ props: mergeProps({
24
+ "aria-hidden": true,
25
+ className: placeholder({ className })
26
+ }, props, { "data-slot": "drop-placeholder" })
27
+ });
28
+ }
29
+ /** The chip sits this far right of and below the pointer. */
30
+ const HINT_OFFSET = {
31
+ x: 14,
32
+ y: 16
33
+ };
34
+ /** It stays at least this far inside the window on every side. */
35
+ const HINT_INSET = 8;
36
+ /** Pushed off the lifted copy, it keeps this far from it. */
37
+ const HINT_GAP = 6;
38
+ function overlaps(a, b) {
39
+ return a.left < b.right && a.right > b.left && a.top < b.bottom && a.bottom > b.top;
40
+ }
41
+ function clamp(value, min, max) {
42
+ return Math.max(min, Math.min(value, Math.max(min, max)));
43
+ }
44
+ /**
45
+ * Where the refusal chip goes (design/patterns/drag-and-drop.md#refused-places):
46
+ * right of and below the pointer; left of it (and of the copy) where the
47
+ * window's right edge would cut it, above it where the bottom edge would; off
48
+ * the lifted copy, which is drawn over it; and always at least 8px inside the
49
+ * window.
50
+ */
51
+ function placeRefusalHint(point, size, lift, viewport) {
52
+ const { width, height } = size;
53
+ const maxX = viewport.width - HINT_INSET - width;
54
+ const maxY = viewport.height - HINT_INSET - height;
55
+ const fitsX = (x) => x >= HINT_INSET && x <= maxX;
56
+ const fitsY = (y) => y >= HINT_INSET && y <= maxY;
57
+ const right = point.x + HINT_OFFSET.x;
58
+ const onRight = right <= maxX;
59
+ let x = onRight ? right : Math.min(point.x, lift?.left ?? point.x) - HINT_OFFSET.x - width;
60
+ const below = point.y + HINT_OFFSET.y;
61
+ const onBelow = below <= maxY;
62
+ let y = onBelow ? below : point.y - HINT_OFFSET.y - height;
63
+ const box = (bx, by) => ({
64
+ left: bx,
65
+ top: by,
66
+ right: bx + width,
67
+ bottom: by + height
68
+ });
69
+ if (lift && overlaps(box(x, y), lift)) {
70
+ const clearBelow = lift.bottom + HINT_GAP;
71
+ const clearAbove = lift.top - HINT_GAP - height;
72
+ const vertical = (onBelow ? [clearBelow, clearAbove] : [clearAbove, clearBelow]).find(fitsY);
73
+ if (vertical !== void 0) y = vertical;
74
+ else {
75
+ const besideRight = lift.right + HINT_OFFSET.x;
76
+ const besideLeft = lift.left - HINT_OFFSET.x - width;
77
+ const beside = (onRight ? [besideRight, besideLeft] : [besideLeft, besideRight]).find(fitsX);
78
+ if (beside !== void 0) x = beside;
79
+ }
80
+ }
81
+ return {
82
+ x: Math.round(clamp(x, HINT_INSET, maxX)),
83
+ y: Math.round(clamp(y, HINT_INSET, maxY))
84
+ };
85
+ }
86
+ /**
87
+ * Shown while the hand is over a place that refuses the item
88
+ * (design/patterns/drag-and-drop.md#refused-places): the reason, in a HUD
89
+ * chip by the pointer (by the lifted copy in a keyboard drag), and the
90
+ * not-allowed cursor. Render it only while the place is refused, inside the
91
+ * `DndContext`, with no placeholder anywhere. Announce the reason as well:
92
+ * the chip is not read out.
93
+ *
94
+ * The chip sits right of and below the pointer. Near the window's right edge
95
+ * it goes left of the pointer and of the lifted copy, near the bottom edge
96
+ * above the pointer; it never sits under the copy, and always stays 8px inside
97
+ * the window. Its size is measured when its content changes, not every frame.
98
+ */
99
+ function DragRefusalHint({ children, container, className, style, ...props }) {
100
+ const { hint } = drag();
101
+ const ref = useRef(null);
102
+ const { active, activatorEvent } = useDndContext();
103
+ const dragging = active != null;
104
+ const viaKeyboard = typeof KeyboardEvent !== "undefined" && activatorEvent instanceof KeyboardEvent;
105
+ useEffect(() => {
106
+ if (!dragging) return;
107
+ const root = document.documentElement;
108
+ root.setAttribute("data-drag-refused", "");
109
+ const node = ref.current;
110
+ const size = {
111
+ width: node?.offsetWidth ?? 0,
112
+ height: node?.offsetHeight ?? 0
113
+ };
114
+ const observer = node && typeof ResizeObserver !== "undefined" ? new ResizeObserver(() => {
115
+ size.width = node.offsetWidth;
116
+ size.height = node.offsetHeight;
117
+ }) : null;
118
+ if (node) observer?.observe(node);
119
+ let frame = 0;
120
+ const tick = () => {
121
+ if (node) {
122
+ const lift = document.querySelector("[data-slot=drag-lift]")?.getBoundingClientRect();
123
+ let point = dragPointer();
124
+ if ((viaKeyboard || !point) && lift) point = {
125
+ x: lift.right,
126
+ y: lift.top + lift.height / 2
127
+ };
128
+ if (point) {
129
+ const at = placeRefusalHint(point, size, lift ?? null, {
130
+ width: window.innerWidth,
131
+ height: window.innerHeight
132
+ });
133
+ node.style.transform = `translate(${at.x}px, ${at.y}px)`;
134
+ node.style.visibility = "visible";
135
+ }
136
+ }
137
+ frame = requestAnimationFrame(tick);
138
+ };
139
+ tick();
140
+ return () => {
141
+ root.removeAttribute("data-drag-refused");
142
+ observer?.disconnect();
143
+ cancelAnimationFrame(frame);
144
+ };
145
+ }, [dragging, viaKeyboard]);
146
+ if (!dragging || typeof document === "undefined") return null;
147
+ return createPortal(/* @__PURE__ */ jsx("div", {
148
+ ...props,
149
+ ref,
150
+ "data-slot": "drag-refusal-hint",
151
+ "aria-hidden": true,
152
+ className: hint({ className }),
153
+ style: {
154
+ visibility: "hidden",
155
+ ...style
156
+ },
157
+ children
158
+ }), container ?? document.body);
159
+ }
160
+ //#endregion
161
+ export { DragRefusalHint, DropPlaceholder, placeRefusalHint };
@@ -0,0 +1,8 @@
1
+ import { DEFAULT_DRAG_MESSAGES, DragAnnouncementSource, DragMessages, DragNamed, DragPlace, createDragAnnouncements, dragInstructions, dragMessages } from "./drag-announcements.mjs";
2
+ import { HoldThenMoveOptions, HoldThenMoveTouchSensor, MouseOnlyPointerSensor, TOUCH_DRAG_DISTANCE_PX, TOUCH_DRAG_HOLD_MS, TOUCH_DRAG_TOLERANCE_PX, useHoldThenMoveTouchSensor, useMouseOnlyPointerSensor } from "../../lib/touch-drag.mjs";
3
+ import { DRAG_KEYBOARD_CODES, DragAcrossLists, DragRemeasure, DragRemeasureProps, DragSensorsOptions, MOUSE_DRAG_DISTANCE_PX, listKeyboardCoordinates, useDragAcrossLists, useDragSensors } from "./drag-sensors.mjs";
4
+ import { LIFT_CLASS } from "./drag.recipe.mjs";
5
+ import { DRAG_AUTO_SCROLL_ZONE_PX, DRAG_KEYBOARD_OFFSET_PX, DRAG_LIFT_Z_INDEX, DRAG_SETTLE, DRAG_SIBLING_TRANSITION, DROP_GLIDE, DragLift, DragLiftProps, ORIGIN_OPACITY, cancelDrag, keepGrabInside, useDragSiblingTransition } from "./drag-lift.mjs";
6
+ import { DragRefusalHint, DragRefusalHintProps, DropPlaceholder, DropPlaceholderProps } from "./drop-placeholder.mjs";
7
+ import { DragListsItems, DragLiveRegion, DraggedSlot, DraggedSlotProps, UseDragListsOptions, dragListStrategy, useDragAnnouncer, useDragLists } from "./drag-lists.mjs";
8
+ export { DEFAULT_DRAG_MESSAGES, DRAG_AUTO_SCROLL_ZONE_PX, DRAG_KEYBOARD_CODES, DRAG_KEYBOARD_OFFSET_PX, DRAG_LIFT_Z_INDEX, DRAG_SETTLE, DRAG_SIBLING_TRANSITION, DROP_GLIDE, type DragAcrossLists, type DragAnnouncementSource, DragLift, type DragLiftProps, type DragListsItems, DragLiveRegion, type DragMessages, type DragNamed, type DragPlace, DragRefusalHint, type DragRefusalHintProps, DragRemeasure, type DragRemeasureProps, type DragSensorsOptions, DraggedSlot, type DraggedSlotProps, DropPlaceholder, type DropPlaceholderProps, type HoldThenMoveOptions, HoldThenMoveTouchSensor, LIFT_CLASS, MOUSE_DRAG_DISTANCE_PX, MouseOnlyPointerSensor, ORIGIN_OPACITY, TOUCH_DRAG_DISTANCE_PX, TOUCH_DRAG_HOLD_MS, TOUCH_DRAG_TOLERANCE_PX, type UseDragListsOptions, cancelDrag, createDragAnnouncements, dragInstructions, dragListStrategy, dragMessages, keepGrabInside, listKeyboardCoordinates, useDragAcrossLists, useDragAnnouncer, useDragLists, useDragSensors, useDragSiblingTransition, useHoldThenMoveTouchSensor, useMouseOnlyPointerSensor };
@@ -0,0 +1,34 @@
1
+ import { StyledProps } from "../../lib/styled-props.mjs";
2
+ import { ButtonProps } from "../button/button.mjs";
3
+ import "../button/index.mjs";
4
+ import { useRender } from "@base-ui/react/use-render";
5
+ import { Drawer } from "@base-ui/react/drawer";
6
+ //#region src/components/drawer/drawer.d.ts
7
+ export type DrawerProps = Drawer.Root.Props;
8
+ declare function Drawer$1({ modal, snapPoints, swipeDirection, children, ...props }: DrawerProps): import("react").JSX.Element;
9
+ export type DrawerTriggerProps = Drawer.Trigger.Props;
10
+ export declare function DrawerTrigger(props: DrawerTriggerProps): import("react").JSX.Element;
11
+ export type DrawerPortalProps = Drawer.Portal.Props;
12
+ export declare function DrawerPortal(props: DrawerPortalProps): import("react").JSX.Element;
13
+ export type DrawerOverlayProps = StyledProps<Drawer.Backdrop.Props>;
14
+ export declare function DrawerOverlay({ className, ...props }: DrawerOverlayProps): import("react").JSX.Element;
15
+ export type DrawerContentProps = StyledProps<Drawer.Popup.Props> & {
16
+ portalProps?: DrawerPortalProps;
17
+ };
18
+ export declare function DrawerContent({ className, children, portalProps, ...props }: DrawerContentProps): import("react").JSX.Element;
19
+ export type DrawerCloseProps = StyledProps<Drawer.Close.Props> & Pick<ButtonProps, "variant" | "size">;
20
+ export declare function DrawerClose({ className, variant, size, children, render, "aria-label": ariaLabel, ...props }: DrawerCloseProps): import("react").JSX.Element;
21
+ export type DrawerHeaderProps = useRender.ComponentProps<"div">;
22
+ export declare function DrawerHeader({ className, render, ...props }: DrawerHeaderProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
23
+ export type DrawerFooterProps = useRender.ComponentProps<"div">;
24
+ export declare function DrawerFooter({ className, render, ...props }: DrawerFooterProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
25
+ export type DrawerBodyProps = useRender.ComponentProps<"div">;
26
+ export declare function DrawerBody({ className, render, ...props }: DrawerBodyProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
27
+ export type DrawerActionsProps = useRender.ComponentProps<"div">;
28
+ export declare function DrawerActions({ className, render, children, ...props }: DrawerActionsProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
29
+ export type DrawerTitleProps = StyledProps<Drawer.Title.Props>;
30
+ export declare function DrawerTitle({ className, ...props }: DrawerTitleProps): import("react").JSX.Element;
31
+ export type DrawerDescriptionProps = StyledProps<Drawer.Description.Props>;
32
+ export declare function DrawerDescription({ className, ...props }: DrawerDescriptionProps): import("react").JSX.Element;
33
+ //#endregion
34
+ export { Drawer$1 as Drawer };
@@ -0,0 +1,202 @@
1
+ import { cn } from "../../cn.mjs";
2
+ import { useThemeScopeProps } from "../../lib/theme/theme-scope.mjs";
3
+ import { useParentOverlayKind, withOverlayLayer } from "../../lib/overlay-depth.mjs";
4
+ import { Button } from "../button/button.mjs";
5
+ import { DialogSheetReset } from "../dialog/dialog-sheet-context.mjs";
6
+ import { drawer } from "./drawer.recipe.mjs";
7
+ import { X } from "lucide-react";
8
+ import { createContext, useContext, useMemo } from "react";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ import { mergeProps } from "@base-ui/react/merge-props";
11
+ import { useRender } from "@base-ui/react/use-render";
12
+ import { Drawer } from "@base-ui/react/drawer";
13
+ //#region src/components/drawer/drawer.tsx
14
+ const DrawerConfigContext = createContext(null);
15
+ function useDrawerConfig() {
16
+ const context = useContext(DrawerConfigContext);
17
+ if (!context) throw new Error("Drawer parts must be used within Drawer.");
18
+ return context;
19
+ }
20
+ function Drawer$1({ modal = true, snapPoints, swipeDirection = "down", children, ...props }) {
21
+ const hasSnapPoints = snapPoints != null && snapPoints.length > 0;
22
+ const swipeAxis = swipeDirection === "down" || swipeDirection === "up" ? "y" : "x";
23
+ const contextValue = useMemo(() => ({
24
+ hasSnapPoints,
25
+ modal,
26
+ swipeAxis,
27
+ swipeDirection
28
+ }), [
29
+ hasSnapPoints,
30
+ modal,
31
+ swipeAxis,
32
+ swipeDirection
33
+ ]);
34
+ return /* @__PURE__ */ jsx(DrawerConfigContext.Provider, {
35
+ value: contextValue,
36
+ children: /* @__PURE__ */ jsx(Drawer.Root, {
37
+ modal,
38
+ snapPoints,
39
+ swipeDirection,
40
+ ...props,
41
+ children: withOverlayLayer("drawer", modal === true, children)
42
+ })
43
+ });
44
+ }
45
+ function DrawerTrigger(props) {
46
+ return /* @__PURE__ */ jsx(Drawer.Trigger, {
47
+ "data-slot": "drawer-trigger",
48
+ ...props
49
+ });
50
+ }
51
+ function DrawerPortal(props) {
52
+ return /* @__PURE__ */ jsx(Drawer.Portal, {
53
+ "data-slot": "drawer-portal",
54
+ ...useThemeScopeProps(props)
55
+ });
56
+ }
57
+ function DrawerOverlay({ className, ...props }) {
58
+ const { hasSnapPoints } = useDrawerConfig();
59
+ const nested = useParentOverlayKind() === "dialog";
60
+ const { overlay } = drawer({
61
+ snapPoints: hasSnapPoints,
62
+ nested
63
+ });
64
+ return /* @__PURE__ */ jsx(Drawer.Backdrop, {
65
+ "data-slot": "drawer-overlay",
66
+ "data-nested": nested ? "" : void 0,
67
+ forceRender: nested,
68
+ className: overlay({ className }),
69
+ ...props
70
+ });
71
+ }
72
+ function DrawerSwipeHandle() {
73
+ const { swipeAxis, swipeDirection } = useDrawerConfig();
74
+ const { swipeHandle } = drawer({
75
+ side: swipeDirection,
76
+ axis: swipeAxis
77
+ });
78
+ return /* @__PURE__ */ jsx("div", {
79
+ "data-slot": "drawer-swipe-handle",
80
+ "aria-hidden": "true",
81
+ className: swipeHandle()
82
+ });
83
+ }
84
+ function DrawerContent({ className, children, portalProps, ...props }) {
85
+ const { hasSnapPoints, modal, swipeAxis, swipeDirection } = useDrawerConfig();
86
+ const { content, popup, viewport } = drawer({
87
+ side: swipeDirection,
88
+ axis: swipeAxis,
89
+ snapPoints: hasSnapPoints
90
+ });
91
+ return /* @__PURE__ */ jsxs(DrawerPortal, {
92
+ ...portalProps,
93
+ children: [modal === true ? /* @__PURE__ */ jsx(DrawerOverlay, {}) : null, /* @__PURE__ */ jsx(Drawer.Viewport, {
94
+ "data-slot": "drawer-viewport",
95
+ className: cn(viewport(), modal === true && "pointer-events-auto"),
96
+ children: /* @__PURE__ */ jsxs(Drawer.Popup, {
97
+ "data-slot": "drawer-popup",
98
+ className: popup({ className }),
99
+ ...props,
100
+ children: [hasSnapPoints ? /* @__PURE__ */ jsx(DrawerSwipeHandle, {}) : null, /* @__PURE__ */ jsx(Drawer.Content, {
101
+ "data-slot": "drawer-content",
102
+ className: content(),
103
+ children: /* @__PURE__ */ jsx(DialogSheetReset, { children })
104
+ })]
105
+ })
106
+ })]
107
+ });
108
+ }
109
+ function DrawerClose({ className, variant, size, children, render, "aria-label": ariaLabel, ...props }) {
110
+ const { close, closeIcon } = drawer();
111
+ if (render) return /* @__PURE__ */ jsx(Drawer.Close, {
112
+ "data-slot": "drawer-close",
113
+ className,
114
+ render,
115
+ "aria-label": ariaLabel,
116
+ ...props,
117
+ children
118
+ });
119
+ return /* @__PURE__ */ jsx(Drawer.Close, {
120
+ "data-slot": "drawer-close",
121
+ render: /* @__PURE__ */ jsx(Button, {
122
+ variant: variant ?? "ghost",
123
+ size: size ?? "icon-lg",
124
+ "aria-label": ariaLabel ?? "Close"
125
+ }),
126
+ className: close({ className }),
127
+ ...props,
128
+ children: children ?? /* @__PURE__ */ jsx(X, { className: closeIcon() })
129
+ });
130
+ }
131
+ function DrawerHeader({ className, render, ...props }) {
132
+ const { hasSnapPoints, swipeAxis, swipeDirection } = useDrawerConfig();
133
+ const { header } = drawer({
134
+ side: swipeDirection,
135
+ axis: swipeAxis,
136
+ snapPoints: hasSnapPoints
137
+ });
138
+ const defaultProps = { className: header({ className }) };
139
+ return useRender({
140
+ defaultTagName: "div",
141
+ render,
142
+ props: mergeProps(defaultProps, props),
143
+ state: { slot: "drawer-header" }
144
+ });
145
+ }
146
+ function DrawerFooter({ className, render, ...props }) {
147
+ const { swipeAxis } = useDrawerConfig();
148
+ const { footer } = drawer({ axis: swipeAxis });
149
+ const defaultProps = { className: footer({ className }) };
150
+ return useRender({
151
+ defaultTagName: "div",
152
+ render,
153
+ props: mergeProps(defaultProps, props),
154
+ state: { slot: "drawer-footer" }
155
+ });
156
+ }
157
+ function DrawerBody({ className, render, ...props }) {
158
+ const { swipeAxis } = useDrawerConfig();
159
+ const { body } = drawer({ axis: swipeAxis });
160
+ const defaultProps = { className: body({ className }) };
161
+ return useRender({
162
+ defaultTagName: "div",
163
+ render,
164
+ props: mergeProps(defaultProps, props),
165
+ state: { slot: "drawer-body" }
166
+ });
167
+ }
168
+ function DrawerActions({ className, render, children, ...props }) {
169
+ const swipeAxis = useContext(DrawerConfigContext)?.swipeAxis;
170
+ const { actions } = drawer({ axis: swipeAxis });
171
+ const defaultProps = {
172
+ className: actions({ className }),
173
+ "data-stacked": swipeAxis === "x" ? void 0 : "",
174
+ children
175
+ };
176
+ return useRender({
177
+ defaultTagName: "div",
178
+ render,
179
+ props: mergeProps(defaultProps, props),
180
+ state: { slot: "drawer-actions" }
181
+ });
182
+ }
183
+ function DrawerTitle({ className, ...props }) {
184
+ const { swipeAxis } = useDrawerConfig();
185
+ const { title } = drawer({ axis: swipeAxis });
186
+ return /* @__PURE__ */ jsx(Drawer.Title, {
187
+ "data-slot": "drawer-title",
188
+ className: title({ className }),
189
+ ...props
190
+ });
191
+ }
192
+ function DrawerDescription({ className, ...props }) {
193
+ const { swipeAxis } = useDrawerConfig();
194
+ const { description } = drawer({ axis: swipeAxis });
195
+ return /* @__PURE__ */ jsx(Drawer.Description, {
196
+ "data-slot": "drawer-description",
197
+ className: description({ className }),
198
+ ...props
199
+ });
200
+ }
201
+ //#endregion
202
+ export { Drawer$1 as Drawer, DrawerActions, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
@@ -0,0 +1,175 @@
1
+ import { tv } from "../../lib/tv.mjs";
2
+ import { panelHeadEdges } from "../panel/panel-header.recipe.mjs";
3
+ //#region src/components/drawer/drawer.recipe.ts
4
+ const drawerMotion = tv({
5
+ slots: {
6
+ overlay: [
7
+ "opacity-[max(var(--drawer-overlay-min-opacity,0),calc(1-var(--drawer-swipe-progress)))]",
8
+ "transition-opacity duration-200 ease-slide",
9
+ "data-starting-style:opacity-0 data-ending-style:pointer-events-none data-ending-style:opacity-0 data-ending-style:duration-150",
10
+ "motion-reduce:transition-none"
11
+ ],
12
+ popup: [
13
+ "[--drawer-blur:2px] [--drawer-ease:var(--ease-slide)]",
14
+ "[--closed-transform:translate3d(var(--drawer-exit-x,0px),var(--drawer-exit-y,0px),0)]",
15
+ "[--drawer-stack-peek:16px] [--drawer-stack-step:0.05]",
16
+ "[--drawer-stack-progress:clamp(0,var(--drawer-swipe-progress),1)]",
17
+ "[--drawer-stack-offset:max(0px,calc((var(--nested-drawers)-var(--drawer-stack-progress))*var(--drawer-stack-peek)))]",
18
+ "[--drawer-stack-scale-base:calc(max(0,1-(var(--nested-drawers)*var(--drawer-stack-step))))]",
19
+ "[--drawer-stack-scale:clamp(0,calc(var(--drawer-stack-scale-base)+(var(--drawer-stack-step)*var(--drawer-stack-progress))),1)]",
20
+ "[--drawer-stack-shrink:calc(1-var(--drawer-stack-scale))]",
21
+ "[--drawer-stack-shrink-offset:calc(var(--drawer-stack-shrink)*var(--drawer-stack-size))]",
22
+ "origin-(--drawer-transform-origin)",
23
+ "transform-[translate3d(calc(var(--drawer-swipe-x,0px)+var(--drawer-stack-x,0px)),calc(var(--drawer-swipe-y,0px)+var(--drawer-stack-y,0px)),0)_scale(var(--drawer-stack-scale))]",
24
+ "opacity-100 blur-0",
25
+ "transition-[transform,height,opacity,filter] duration-240 ease-(--drawer-ease) will-change-transform",
26
+ "data-ending-style:duration-[calc(var(--drawer-swipe-strength,1)*180ms)]",
27
+ "data-starting-style:transform-(--closed-transform) data-starting-style:opacity-0 data-starting-style:blur-(--drawer-blur)",
28
+ "data-ending-style:transform-(--closed-transform) data-ending-style:opacity-0 data-ending-style:blur-(--drawer-blur)",
29
+ "data-swiping:duration-0 data-nested-drawer-swiping:duration-0 motion-reduce:transition-none"
30
+ ],
31
+ content: ["transition-opacity duration-150 ease-slide motion-reduce:transition-none", "group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100"],
32
+ swipeHandle: ["transition-opacity duration-150 motion-reduce:transition-none", "group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100"]
33
+ },
34
+ variants: {
35
+ side: {
36
+ down: { popup: [
37
+ "[--drawer-exit-y:calc(100%+var(--drawer-inset)+2px)]",
38
+ "[--drawer-stack-y:calc(0px-var(--drawer-stack-offset)-var(--drawer-stack-shrink-offset))]",
39
+ "[--drawer-transform-origin:50%_100%]"
40
+ ] },
41
+ up: { popup: [
42
+ "[--drawer-exit-y:calc(-100%-var(--drawer-inset)-2px)]",
43
+ "[--drawer-stack-y:calc(var(--drawer-stack-offset)+var(--drawer-stack-shrink-offset))]",
44
+ "[--drawer-transform-origin:50%_0%]"
45
+ ] },
46
+ left: { popup: [
47
+ "[--drawer-exit-x:calc(-100%-var(--drawer-inset)-2px)]",
48
+ "[--drawer-stack-x:calc(var(--drawer-stack-offset)+var(--drawer-stack-shrink-offset))]",
49
+ "[--drawer-transform-origin:0%_50%]"
50
+ ] },
51
+ right: { popup: [
52
+ "[--drawer-exit-x:calc(100%+var(--drawer-inset)+2px)]",
53
+ "[--drawer-stack-x:calc(0px-var(--drawer-stack-offset)-var(--drawer-stack-shrink-offset))]",
54
+ "[--drawer-transform-origin:100%_50%]"
55
+ ] }
56
+ },
57
+ axis: {
58
+ x: { popup: ["[--drawer-stack-size:100%]", "[--drawer-swipe-x:var(--drawer-swipe-movement-x)]"] },
59
+ y: { popup: ["[--drawer-stack-size:max(0px,var(--drawer-frontmost-height,var(--drawer-height)))]", "[--drawer-swipe-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y))]"] }
60
+ },
61
+ snapPoints: { true: { overlay: ["[--drawer-overlay-min-opacity:0.5]"] } }
62
+ }
63
+ });
64
+ const drawer = tv({
65
+ extend: drawerMotion,
66
+ slots: {
67
+ overlay: [
68
+ "fixed inset-0 z-50 min-h-dvh select-none",
69
+ "supports-[-webkit-touch-callout:none]:absolute",
70
+ "bg-layer-backdrop"
71
+ ],
72
+ viewport: ["pointer-events-none fixed inset-0 z-50 select-none"],
73
+ popup: [
74
+ "group/drawer-popup pointer-events-auto fixed z-50 flex h-(--drawer-content-height) flex-col outline-none",
75
+ "[--drawer-inset:12px] [--drawer-content-height:var(--drawer-height,auto)]",
76
+ "data-nested-drawer-open:overflow-hidden",
77
+ "bg-layer-popover text-foreground",
78
+ "shadow-float ring-1 ring-line-seam"
79
+ ],
80
+ content: ["flex min-h-0 flex-1 flex-col rounded-[inherit] select-text", "group-data-swiping/drawer-popup:select-none"],
81
+ swipeHandle: [
82
+ "relative z-10 shrink-0 cursor-grab select-none active:cursor-grabbing",
83
+ "before:absolute before:content-['']",
84
+ "before:rounded-full before:bg-line-seam"
85
+ ],
86
+ close: ["shrink-0"],
87
+ closeIcon: ["size-control-icon"],
88
+ header: ["flex flex-col", "items-stretch gap-1 px-4 pt-4 pb-2 text-left"],
89
+ body: ["flex flex-1 flex-col", "items-stretch px-4 pt-2 pb-4 text-left"],
90
+ footer: ["mt-auto py-5", "px-4 pt-3 pb-4"],
91
+ actions: [
92
+ "flex w-full flex-col items-stretch",
93
+ "**:data-[slot=button]:w-full",
94
+ "gap-2"
95
+ ],
96
+ title: ["text-pretty text-foreground", "max-w-none text-left font-sans text-headline font-bold"],
97
+ description: ["text-pretty", "max-w-none text-left font-sans text-callout text-foreground-muted"]
98
+ },
99
+ variants: {
100
+ nested: {
101
+ false: {},
102
+ true: { overlay: ["bg-layer-backdrop-nested"] }
103
+ },
104
+ side: {
105
+ down: {
106
+ popup: [
107
+ "bottom-(--drawer-inset) min-h-64 max-h-[82vh]",
108
+ "rounded-t-dialog [--drawer-inset:0px]",
109
+ "pb-[env(safe-area-inset-bottom,0px)]"
110
+ ],
111
+ swipeHandle: ["before:top-3"]
112
+ },
113
+ up: {
114
+ popup: [
115
+ "top-(--drawer-inset) max-h-[80vh]",
116
+ "rounded-b-dialog [--drawer-inset:0px]",
117
+ "pt-[env(safe-area-inset-top,0px)]"
118
+ ],
119
+ swipeHandle: ["order-last", "before:bottom-3"]
120
+ },
121
+ left: {
122
+ popup: ["left-(--drawer-inset)"],
123
+ swipeHandle: ["order-last", "before:right-3"]
124
+ },
125
+ right: {
126
+ popup: ["right-(--drawer-inset)"],
127
+ swipeHandle: ["before:left-3"]
128
+ }
129
+ },
130
+ axis: {
131
+ x: {
132
+ popup: ["flex-row", "inset-y-0 w-full max-w-[420px] [--drawer-inset:0px]"],
133
+ swipeHandle: [
134
+ "my-auto h-16 w-11",
135
+ "before:top-1/2 before:-translate-y-1/2",
136
+ "before:w-1 before:h-9"
137
+ ],
138
+ header: [
139
+ "min-h-14 shrink-0 flex-row items-center justify-between gap-2 py-0 text-left",
140
+ "border-b border-line-seam",
141
+ panelHeadEdges
142
+ ],
143
+ body: ["items-stretch text-left", "min-h-0 overflow-y-auto px-5 py-4"],
144
+ footer: ["border-t border-line-seam px-5 py-3"],
145
+ title: ["min-w-0 max-w-none flex-1 text-left"],
146
+ description: ["max-w-none text-left"],
147
+ actions: ["flex-row flex-wrap justify-end", "**:data-[slot=button]:w-auto"]
148
+ },
149
+ y: {
150
+ popup: [
151
+ "data-nested-drawer-open:h-(--drawer-frontmost-height)",
152
+ "mx-auto md:max-w-md",
153
+ "inset-x-0"
154
+ ],
155
+ swipeHandle: [
156
+ "mx-auto w-16",
157
+ "before:left-1/2 before:-translate-x-1/2",
158
+ "h-4",
159
+ "before:top-1.5 before:h-1 before:w-9"
160
+ ]
161
+ }
162
+ }
163
+ },
164
+ compoundVariants: [{
165
+ side: "down",
166
+ snapPoints: true,
167
+ class: { header: ["pt-2"] }
168
+ }, {
169
+ axis: "y",
170
+ snapPoints: true,
171
+ class: { popup: ["[--drawer-content-height:100dvh]"] }
172
+ }]
173
+ });
174
+ //#endregion
175
+ export { drawer };
@@ -0,0 +1,2 @@
1
+ import { Drawer, DrawerActions, DrawerActionsProps, DrawerBody, DrawerBodyProps, DrawerClose, DrawerCloseProps, DrawerContent, DrawerContentProps, DrawerDescription, DrawerDescriptionProps, DrawerFooter, DrawerFooterProps, DrawerHeader, DrawerHeaderProps, DrawerOverlay, DrawerOverlayProps, DrawerPortal, DrawerPortalProps, DrawerProps, DrawerTitle, DrawerTitleProps, DrawerTrigger, DrawerTriggerProps } from "./drawer.mjs";
2
+ export { Drawer, DrawerActions, type DrawerActionsProps, DrawerBody, type DrawerBodyProps, DrawerClose, type DrawerCloseProps, DrawerContent, type DrawerContentProps, DrawerDescription, type DrawerDescriptionProps, DrawerFooter, type DrawerFooterProps, DrawerHeader, type DrawerHeaderProps, DrawerOverlay, type DrawerOverlayProps, DrawerPortal, type DrawerPortalProps, type DrawerProps, DrawerTitle, type DrawerTitleProps, DrawerTrigger, type DrawerTriggerProps };
@@ -0,0 +1,62 @@
1
+ import { StyledProps } from "../../lib/styled-props.mjs";
2
+ import { BadgeProps } from "../badge/badge.mjs";
3
+ import "../badge/index.mjs";
4
+ import { KbdProps } from "../kbd/kbd.mjs";
5
+ import "../kbd/index.mjs";
6
+ import { ComponentPropsWithRef } from "react";
7
+ import { Menu } from "@base-ui/react/menu";
8
+ //#region src/components/dropdown-menu/dropdown-menu.d.ts
9
+ export type DropdownMenuProps = Menu.Root.Props;
10
+ export declare function DropdownMenu(props: DropdownMenuProps): import("react").JSX.Element;
11
+ export type DropdownMenuSubmenuProps = Menu.SubmenuRoot.Props;
12
+ export declare function DropdownMenuSubmenu(props: DropdownMenuSubmenuProps): import("react").JSX.Element;
13
+ export type DropdownMenuTriggerProps = StyledProps<Menu.Trigger.Props>;
14
+ export declare function DropdownMenuTrigger({ className, render, ...props }: DropdownMenuTriggerProps): import("react").JSX.Element;
15
+ export type DropdownMenuPortalProps = Menu.Portal.Props;
16
+ export declare function DropdownMenuPortal(props: DropdownMenuPortalProps): import("react").JSX.Element;
17
+ export type DropdownMenuPopupProps = ComponentPropsWithRef<"div">;
18
+ export declare function DropdownMenuPopup({ className, ...props }: DropdownMenuPopupProps): import("react").JSX.Element;
19
+ export type DropdownMenuContentProps = StyledProps<Menu.Popup.Props> & Pick<Menu.Positioner.Props, "align" | "alignOffset" | "anchor" | "arrowPadding" | "collisionAvoidance" | "collisionBoundary" | "collisionPadding" | "disableAnchorTracking" | "positionMethod" | "side" | "sideOffset" | "sticky"> & {
20
+ portalProps?: DropdownMenuPortalProps;
21
+ };
22
+ export declare function DropdownMenuContent({ align, alignOffset, anchor, arrowPadding, collisionAvoidance, collisionBoundary, collisionPadding, disableAnchorTracking, positionMethod, side, sideOffset, sticky, portalProps, className, ...props }: DropdownMenuContentProps): import("react").JSX.Element;
23
+ export type DropdownMenuItemProps = StyledProps<Menu.Item.Props>;
24
+ export declare function DropdownMenuItem({ className, ...props }: DropdownMenuItemProps): import("react").JSX.Element;
25
+ export type DropdownMenuItemLabelProps = StyledProps<ComponentPropsWithRef<"span">>;
26
+ export declare function DropdownMenuItemLabel({ className, ...props }: DropdownMenuItemLabelProps): import("react").JSX.Element;
27
+ export type DropdownMenuFooterProps = StyledProps<ComponentPropsWithRef<"div">>;
28
+ export declare function DropdownMenuFooter({ className, ...props }: DropdownMenuFooterProps): import("react").JSX.Element;
29
+ export type DropdownMenuSubmenuTriggerProps = StyledProps<Menu.SubmenuTrigger.Props>;
30
+ export declare function DropdownMenuSubmenuTrigger({ children, className, ...props }: DropdownMenuSubmenuTriggerProps): import("react").JSX.Element;
31
+ export type DropdownMenuLabelProps = StyledProps<ComponentPropsWithRef<"div">>;
32
+ export declare function DropdownMenuLabel({ className, ...props }: DropdownMenuLabelProps): import("react").JSX.Element;
33
+ export type DropdownMenuShortcutProps = KbdProps;
34
+ export declare function DropdownMenuShortcut({ className, ...props }: DropdownMenuShortcutProps): import("react").JSX.Element;
35
+ export type DropdownMenuItemCountProps = BadgeProps;
36
+ export declare function DropdownMenuItemCount({ className, ...props }: DropdownMenuItemCountProps): import("react").JSX.Element;
37
+ export type DropdownMenuSeparatorProps = StyledProps<Menu.Separator.Props>;
38
+ export declare function DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps): import("react").JSX.Element;
39
+ export type DropdownMenuRadioGroupProps = StyledProps<Menu.RadioGroup.Props>;
40
+ export declare function DropdownMenuRadioGroup({ ...props }: DropdownMenuRadioGroupProps): import("react").JSX.Element;
41
+ export type DropdownMenuRadioItemProps = StyledProps<Menu.RadioItem.Props>;
42
+ export declare function DropdownMenuRadioItem({ className, children, closeOnClick, ...props }: DropdownMenuRadioItemProps): import("react").JSX.Element;
43
+ export type DropdownMenuRadioItemIndicatorProps = StyledProps<Menu.RadioItemIndicator.Props>;
44
+ export declare function DropdownMenuRadioItemIndicator({ className, ...props }: DropdownMenuRadioItemIndicatorProps): import("react").JSX.Element;
45
+ export type DropdownMenuCheckboxItemProps = StyledProps<Menu.CheckboxItem.Props>;
46
+ export declare function DropdownMenuCheckboxItem({ className, children, ...props }: DropdownMenuCheckboxItemProps): import("react").JSX.Element;
47
+ export type DropdownMenuCheckboxItemIndicatorProps = StyledProps<Menu.CheckboxItemIndicator.Props>;
48
+ export declare function DropdownMenuCheckboxItemIndicator({ className, ...props }: DropdownMenuCheckboxItemIndicatorProps): import("react").JSX.Element;
49
+ export type DropdownMenuLinkItemProps = StyledProps<Menu.LinkItem.Props> & {
50
+ /**
51
+ * The page being shown: `aria-current="page"`, drawn as the chosen value
52
+ * of a radio group (a check mark and bold text).
53
+ */
54
+ current?: boolean;
55
+ };
56
+ /**
57
+ * One choice that is another page, such as the same page in another
58
+ * language: a link, so it opens in a new tab and can be copied. Its
59
+ * `href` goes on the item; `current` marks the page being shown.
60
+ */
61
+ export declare function DropdownMenuLinkItem({ current, className, children, ...props }: DropdownMenuLinkItemProps): import("react").JSX.Element;
62
+ //#endregion