@brijbyte/agentic-ui 0.0.1-beta → 0.0.2

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 (375) hide show
  1. package/README.md +808 -0
  2. package/dist/accordion/accordion.css +85 -0
  3. package/dist/accordion/accordion.d.ts +28 -0
  4. package/dist/accordion/accordion.d.ts.map +1 -0
  5. package/dist/accordion/accordion.js +51 -0
  6. package/dist/accordion/accordion.js.map +1 -0
  7. package/dist/accordion/accordion.module.css.d.ts +2 -0
  8. package/dist/accordion/accordion.module.js +14 -0
  9. package/dist/accordion/accordion.module.js.map +1 -0
  10. package/dist/accordion/index.d.ts +3 -0
  11. package/dist/accordion/index.js +4 -0
  12. package/dist/accordion/parts.d.ts +28 -0
  13. package/dist/accordion/parts.d.ts.map +1 -0
  14. package/dist/accordion/parts.js +55 -0
  15. package/dist/accordion/parts.js.map +1 -0
  16. package/dist/alert-dialog/alert-dialog.css +84 -0
  17. package/dist/alert-dialog/alert-dialog.d.ts +44 -0
  18. package/dist/alert-dialog/alert-dialog.d.ts.map +1 -0
  19. package/dist/alert-dialog/alert-dialog.js +46 -0
  20. package/dist/alert-dialog/alert-dialog.js.map +1 -0
  21. package/dist/alert-dialog/alert-dialog.module.css.d.ts +2 -0
  22. package/dist/alert-dialog/alert-dialog.module.js +14 -0
  23. package/dist/alert-dialog/alert-dialog.module.js.map +1 -0
  24. package/dist/alert-dialog/index.d.ts +3 -0
  25. package/dist/alert-dialog/index.js +4 -0
  26. package/dist/alert-dialog/parts.d.ts +28 -0
  27. package/dist/alert-dialog/parts.d.ts.map +1 -0
  28. package/dist/alert-dialog/parts.js +62 -0
  29. package/dist/alert-dialog/parts.js.map +1 -0
  30. package/dist/badge/badge.css +66 -0
  31. package/dist/badge/badge.d.ts +20 -0
  32. package/dist/badge/badge.d.ts.map +1 -0
  33. package/dist/badge/badge.js +21 -0
  34. package/dist/badge/badge.js.map +1 -0
  35. package/dist/badge/badge.module.css.d.ts +2 -0
  36. package/dist/badge/badge.module.js +16 -0
  37. package/dist/badge/badge.module.js.map +1 -0
  38. package/dist/badge/index.d.ts +2 -0
  39. package/dist/badge/index.js +3 -0
  40. package/dist/button/button.css +242 -0
  41. package/dist/button/button.d.ts +28 -0
  42. package/dist/button/button.d.ts.map +1 -0
  43. package/dist/button/button.js +34 -0
  44. package/dist/button/button.js.map +1 -0
  45. package/dist/button/button.module.css.d.ts +2 -0
  46. package/dist/button/button.module.js +27 -0
  47. package/dist/button/button.module.js.map +1 -0
  48. package/dist/button/index.d.ts +2 -0
  49. package/dist/button/index.js +3 -0
  50. package/dist/card/card.css +64 -0
  51. package/dist/card/card.d.ts +41 -0
  52. package/dist/card/card.d.ts.map +1 -0
  53. package/dist/card/card.js +50 -0
  54. package/dist/card/card.js.map +1 -0
  55. package/dist/card/card.module.css.d.ts +2 -0
  56. package/dist/card/card.module.js +15 -0
  57. package/dist/card/card.module.js.map +1 -0
  58. package/dist/card/index.d.ts +2 -0
  59. package/dist/card/index.js +3 -0
  60. package/dist/checkbox/checkbox.css +72 -0
  61. package/dist/checkbox/checkbox.d.ts +29 -0
  62. package/dist/checkbox/checkbox.d.ts.map +1 -0
  63. package/dist/checkbox/checkbox.js +40 -0
  64. package/dist/checkbox/checkbox.js.map +1 -0
  65. package/dist/checkbox/checkbox.module.css.d.ts +2 -0
  66. package/dist/checkbox/checkbox.module.js +11 -0
  67. package/dist/checkbox/checkbox.module.js.map +1 -0
  68. package/dist/checkbox/index.d.ts +3 -0
  69. package/dist/checkbox/index.js +4 -0
  70. package/dist/checkbox/parts.d.ts +20 -0
  71. package/dist/checkbox/parts.d.ts.map +1 -0
  72. package/dist/checkbox/parts.js +51 -0
  73. package/dist/checkbox/parts.js.map +1 -0
  74. package/dist/collapsible/collapsible.css +88 -0
  75. package/dist/collapsible/collapsible.d.ts +24 -0
  76. package/dist/collapsible/collapsible.d.ts.map +1 -0
  77. package/dist/collapsible/collapsible.js +44 -0
  78. package/dist/collapsible/collapsible.js.map +1 -0
  79. package/dist/collapsible/collapsible.module.css.d.ts +2 -0
  80. package/dist/collapsible/collapsible.module.js +12 -0
  81. package/dist/collapsible/collapsible.module.js.map +1 -0
  82. package/dist/collapsible/index.d.ts +3 -0
  83. package/dist/collapsible/index.js +4 -0
  84. package/dist/collapsible/parts.d.ts +23 -0
  85. package/dist/collapsible/parts.d.ts.map +1 -0
  86. package/dist/collapsible/parts.js +44 -0
  87. package/dist/collapsible/parts.js.map +1 -0
  88. package/dist/context-menu/context-menu.css +151 -0
  89. package/dist/context-menu/context-menu.d.ts +36 -0
  90. package/dist/context-menu/context-menu.d.ts.map +1 -0
  91. package/dist/context-menu/context-menu.js +54 -0
  92. package/dist/context-menu/context-menu.js.map +1 -0
  93. package/dist/context-menu/context-menu.module.css.d.ts +2 -0
  94. package/dist/context-menu/context-menu.module.js +18 -0
  95. package/dist/context-menu/context-menu.module.js.map +1 -0
  96. package/dist/context-menu/index.d.ts +3 -0
  97. package/dist/context-menu/index.js +4 -0
  98. package/dist/context-menu/parts.d.ts +38 -0
  99. package/dist/context-menu/parts.d.ts.map +1 -0
  100. package/dist/context-menu/parts.js +91 -0
  101. package/dist/context-menu/parts.js.map +1 -0
  102. package/dist/dialog/dialog.css +125 -0
  103. package/dist/dialog/dialog.d.ts +40 -0
  104. package/dist/dialog/dialog.d.ts.map +1 -0
  105. package/dist/dialog/dialog.js +57 -0
  106. package/dist/dialog/dialog.js.map +1 -0
  107. package/dist/dialog/dialog.module.css.d.ts +2 -0
  108. package/dist/dialog/dialog.module.js +17 -0
  109. package/dist/dialog/dialog.module.js.map +1 -0
  110. package/dist/dialog/index.d.ts +3 -0
  111. package/dist/dialog/index.js +4 -0
  112. package/dist/dialog/parts.d.ts +38 -0
  113. package/dist/dialog/parts.d.ts.map +1 -0
  114. package/dist/dialog/parts.js +75 -0
  115. package/dist/dialog/parts.js.map +1 -0
  116. package/dist/drawer/drawer.css +253 -0
  117. package/dist/drawer/drawer.d.ts +38 -0
  118. package/dist/drawer/drawer.d.ts.map +1 -0
  119. package/dist/drawer/drawer.js +87 -0
  120. package/dist/drawer/drawer.js.map +1 -0
  121. package/dist/drawer/drawer.module.css.d.ts +2 -0
  122. package/dist/drawer/drawer.module.js +20 -0
  123. package/dist/drawer/drawer.module.js.map +1 -0
  124. package/dist/drawer/index.d.ts +3 -0
  125. package/dist/drawer/index.js +4 -0
  126. package/dist/drawer/parts.d.ts +58 -0
  127. package/dist/drawer/parts.d.ts.map +1 -0
  128. package/dist/drawer/parts.js +107 -0
  129. package/dist/drawer/parts.js.map +1 -0
  130. package/dist/index.css +2701 -0
  131. package/dist/index.d.ts +39 -0
  132. package/dist/index.js +62 -0
  133. package/dist/input/index.d.ts +2 -0
  134. package/dist/input/index.js +3 -0
  135. package/dist/input/input.css +103 -0
  136. package/dist/input/input.d.ts +17 -0
  137. package/dist/input/input.d.ts.map +1 -0
  138. package/dist/input/input.js +37 -0
  139. package/dist/input/input.js.map +1 -0
  140. package/dist/input/input.module.css.d.ts +2 -0
  141. package/dist/input/input.module.js +18 -0
  142. package/dist/input/input.module.js.map +1 -0
  143. package/dist/layer-order.css +22 -0
  144. package/dist/menu/index.d.ts +4 -0
  145. package/dist/menu/index.js +5 -0
  146. package/dist/menu/menu.css +154 -0
  147. package/dist/menu/menu.d.ts +50 -0
  148. package/dist/menu/menu.d.ts.map +1 -0
  149. package/dist/menu/menu.js +69 -0
  150. package/dist/menu/menu.js.map +1 -0
  151. package/dist/menu/menu.module.css.d.ts +2 -0
  152. package/dist/menu/menu.module.js +19 -0
  153. package/dist/menu/menu.module.js.map +1 -0
  154. package/dist/menu/menuitemshortcut.d.ts +9 -0
  155. package/dist/menu/menuitemshortcut.d.ts.map +1 -0
  156. package/dist/menu/menuitemshortcut.js +15 -0
  157. package/dist/menu/menuitemshortcut.js.map +1 -0
  158. package/dist/menu/parts.d.ts +39 -0
  159. package/dist/menu/parts.d.ts.map +1 -0
  160. package/dist/menu/parts.js +76 -0
  161. package/dist/menu/parts.js.map +1 -0
  162. package/dist/number-field/index.d.ts +3 -0
  163. package/dist/number-field/index.js +4 -0
  164. package/dist/number-field/number-field.css +111 -0
  165. package/dist/number-field/number-field.d.ts +31 -0
  166. package/dist/number-field/number-field.d.ts.map +1 -0
  167. package/dist/number-field/number-field.js +78 -0
  168. package/dist/number-field/number-field.js.map +1 -0
  169. package/dist/number-field/number-field.module.css.d.ts +2 -0
  170. package/dist/number-field/number-field.module.js +16 -0
  171. package/dist/number-field/number-field.module.js.map +1 -0
  172. package/dist/number-field/parts.d.ts +38 -0
  173. package/dist/number-field/parts.d.ts.map +1 -0
  174. package/dist/number-field/parts.js +74 -0
  175. package/dist/number-field/parts.js.map +1 -0
  176. package/dist/progress/index.d.ts +3 -0
  177. package/dist/progress/index.js +4 -0
  178. package/dist/progress/parts.d.ts +20 -0
  179. package/dist/progress/parts.d.ts.map +1 -0
  180. package/dist/progress/parts.js +42 -0
  181. package/dist/progress/parts.js.map +1 -0
  182. package/dist/progress/progress.css +71 -0
  183. package/dist/progress/progress.d.ts +27 -0
  184. package/dist/progress/progress.d.ts.map +1 -0
  185. package/dist/progress/progress.js +27 -0
  186. package/dist/progress/progress.js.map +1 -0
  187. package/dist/progress/progress.module.css.d.ts +2 -0
  188. package/dist/progress/progress.module.js +19 -0
  189. package/dist/progress/progress.module.js.map +1 -0
  190. package/dist/reset.css +91 -0
  191. package/dist/select/index.d.ts +3 -0
  192. package/dist/select/index.js +4 -0
  193. package/dist/select/parts.d.ts +65 -0
  194. package/dist/select/parts.d.ts.map +1 -0
  195. package/dist/select/parts.js +134 -0
  196. package/dist/select/parts.js.map +1 -0
  197. package/dist/select/select.css +157 -0
  198. package/dist/select/select.d.ts +41 -0
  199. package/dist/select/select.d.ts.map +1 -0
  200. package/dist/select/select.js +89 -0
  201. package/dist/select/select.js.map +1 -0
  202. package/dist/select/select.module.css.d.ts +2 -0
  203. package/dist/select/select.module.js +17 -0
  204. package/dist/select/select.module.js.map +1 -0
  205. package/dist/separator/index.d.ts +2 -0
  206. package/dist/separator/index.js +3 -0
  207. package/dist/separator/separator.css +16 -0
  208. package/dist/separator/separator.d.ts +16 -0
  209. package/dist/separator/separator.d.ts.map +1 -0
  210. package/dist/separator/separator.js +17 -0
  211. package/dist/separator/separator.js.map +1 -0
  212. package/dist/separator/separator.module.css.d.ts +2 -0
  213. package/dist/separator/separator.module.js +6 -0
  214. package/dist/separator/separator.module.js.map +1 -0
  215. package/dist/slider/index.d.ts +3 -0
  216. package/dist/slider/index.js +4 -0
  217. package/dist/slider/parts.d.ts +38 -0
  218. package/dist/slider/parts.d.ts.map +1 -0
  219. package/dist/slider/parts.js +69 -0
  220. package/dist/slider/parts.js.map +1 -0
  221. package/dist/slider/slider.css +97 -0
  222. package/dist/slider/slider.d.ts +38 -0
  223. package/dist/slider/slider.d.ts.map +1 -0
  224. package/dist/slider/slider.js +41 -0
  225. package/dist/slider/slider.js.map +1 -0
  226. package/dist/slider/slider.module.css.d.ts +2 -0
  227. package/dist/slider/slider.module.js +15 -0
  228. package/dist/slider/slider.module.js.map +1 -0
  229. package/dist/styles/reset.css +69 -0
  230. package/dist/styles/tokens.css +276 -0
  231. package/dist/switch/index.d.ts +3 -0
  232. package/dist/switch/index.js +4 -0
  233. package/dist/switch/parts.d.ts +18 -0
  234. package/dist/switch/parts.d.ts.map +1 -0
  235. package/dist/switch/parts.js +39 -0
  236. package/dist/switch/parts.js.map +1 -0
  237. package/dist/switch/switch.css +64 -0
  238. package/dist/switch/switch.d.ts +28 -0
  239. package/dist/switch/switch.d.ts.map +1 -0
  240. package/dist/switch/switch.js +26 -0
  241. package/dist/switch/switch.js.map +1 -0
  242. package/dist/switch/switch.module.css.d.ts +2 -0
  243. package/dist/switch/switch.module.js +11 -0
  244. package/dist/switch/switch.module.js.map +1 -0
  245. package/dist/tabs/index.d.ts +3 -0
  246. package/dist/tabs/index.js +4 -0
  247. package/dist/tabs/parts.d.ts +23 -0
  248. package/dist/tabs/parts.d.ts.map +1 -0
  249. package/dist/tabs/parts.js +48 -0
  250. package/dist/tabs/parts.js.map +1 -0
  251. package/dist/tabs/tabs.css +86 -0
  252. package/dist/tabs/tabs.d.ts +28 -0
  253. package/dist/tabs/tabs.d.ts.map +1 -0
  254. package/dist/tabs/tabs.js +30 -0
  255. package/dist/tabs/tabs.js.map +1 -0
  256. package/dist/tabs/tabs.module.css.d.ts +2 -0
  257. package/dist/tabs/tabs.module.js +11 -0
  258. package/dist/tabs/tabs.module.js.map +1 -0
  259. package/dist/tailwind-theme.css +142 -0
  260. package/dist/toast/index.d.ts +3 -0
  261. package/dist/toast/index.js +4 -0
  262. package/dist/toast/parts.d.ts +33 -0
  263. package/dist/toast/parts.d.ts.map +1 -0
  264. package/dist/toast/parts.js +62 -0
  265. package/dist/toast/parts.js.map +1 -0
  266. package/dist/toast/toast.css +207 -0
  267. package/dist/toast/toast.d.ts +43 -0
  268. package/dist/toast/toast.d.ts.map +1 -0
  269. package/dist/toast/toast.js +156 -0
  270. package/dist/toast/toast.js.map +1 -0
  271. package/dist/toast/toast.module.css.d.ts +2 -0
  272. package/dist/toast/toast.module.js +25 -0
  273. package/dist/toast/toast.module.js.map +1 -0
  274. package/dist/tokens.css +404 -0
  275. package/dist/tooltip/index.d.ts +3 -0
  276. package/dist/tooltip/index.js +4 -0
  277. package/dist/tooltip/parts.d.ts +23 -0
  278. package/dist/tooltip/parts.d.ts.map +1 -0
  279. package/dist/tooltip/parts.js +53 -0
  280. package/dist/tooltip/parts.js.map +1 -0
  281. package/dist/tooltip/tooltip.css +60 -0
  282. package/dist/tooltip/tooltip.d.ts +22 -0
  283. package/dist/tooltip/tooltip.d.ts.map +1 -0
  284. package/dist/tooltip/tooltip.js +23 -0
  285. package/dist/tooltip/tooltip.js.map +1 -0
  286. package/dist/tooltip/tooltip.module.css.d.ts +2 -0
  287. package/dist/tooltip/tooltip.module.js +10 -0
  288. package/dist/tooltip/tooltip.module.js.map +1 -0
  289. package/package.json +153 -4
  290. package/src/accordion/accordion.module.css +75 -0
  291. package/src/accordion/accordion.tsx +50 -0
  292. package/src/accordion/index.ts +6 -0
  293. package/src/accordion/parts.tsx +68 -0
  294. package/src/alert-dialog/alert-dialog.module.css +91 -0
  295. package/src/alert-dialog/alert-dialog.tsx +69 -0
  296. package/src/alert-dialog/index.ts +7 -0
  297. package/src/alert-dialog/parts.tsx +73 -0
  298. package/src/badge/badge.module.css +60 -0
  299. package/src/badge/badge.tsx +19 -0
  300. package/src/badge/index.ts +3 -0
  301. package/src/button/button.module.css +229 -0
  302. package/src/button/button.tsx +67 -0
  303. package/src/button/index.ts +3 -0
  304. package/src/card/card.module.css +56 -0
  305. package/src/card/card.tsx +54 -0
  306. package/src/card/index.ts +3 -0
  307. package/src/checkbox/checkbox.module.css +69 -0
  308. package/src/checkbox/checkbox.tsx +38 -0
  309. package/src/checkbox/index.ts +6 -0
  310. package/src/checkbox/parts.tsx +54 -0
  311. package/src/collapsible/collapsible.module.css +81 -0
  312. package/src/collapsible/collapsible.tsx +38 -0
  313. package/src/collapsible/index.ts +6 -0
  314. package/src/collapsible/parts.tsx +52 -0
  315. package/src/context-menu/context-menu.module.css +168 -0
  316. package/src/context-menu/context-menu.tsx +75 -0
  317. package/src/context-menu/index.ts +21 -0
  318. package/src/context-menu/parts.tsx +99 -0
  319. package/src/css.d.ts +8 -0
  320. package/src/dialog/dialog.module.css +116 -0
  321. package/src/dialog/dialog.tsx +73 -0
  322. package/src/dialog/index.ts +13 -0
  323. package/src/dialog/parts.tsx +96 -0
  324. package/src/drawer/drawer.module.css +240 -0
  325. package/src/drawer/drawer.tsx +96 -0
  326. package/src/drawer/index.ts +24 -0
  327. package/src/drawer/parts.tsx +122 -0
  328. package/src/index.ts +237 -0
  329. package/src/input/index.ts +3 -0
  330. package/src/input/input.module.css +93 -0
  331. package/src/input/input.tsx +39 -0
  332. package/src/menu/index.ts +7 -0
  333. package/src/menu/menu.module.css +142 -0
  334. package/src/menu/menu.tsx +108 -0
  335. package/src/menu/menuitemshortcut.tsx +9 -0
  336. package/src/menu/parts.tsx +90 -0
  337. package/src/number-field/index.ts +20 -0
  338. package/src/number-field/number-field.module.css +98 -0
  339. package/src/number-field/number-field.tsx +75 -0
  340. package/src/number-field/parts.tsx +91 -0
  341. package/src/progress/index.ts +6 -0
  342. package/src/progress/parts.tsx +51 -0
  343. package/src/progress/progress.module.css +61 -0
  344. package/src/progress/progress.tsx +42 -0
  345. package/src/select/index.ts +30 -0
  346. package/src/select/parts.tsx +171 -0
  347. package/src/select/select.module.css +146 -0
  348. package/src/select/select.tsx +98 -0
  349. package/src/separator/index.ts +3 -0
  350. package/src/separator/separator.module.css +14 -0
  351. package/src/separator/separator.tsx +20 -0
  352. package/src/slider/index.ts +14 -0
  353. package/src/slider/parts.tsx +90 -0
  354. package/src/slider/slider.module.css +110 -0
  355. package/src/slider/slider.tsx +68 -0
  356. package/src/styles/layer-order.css +22 -0
  357. package/src/styles/reset.css +91 -0
  358. package/src/styles/tailwind-theme.css +142 -0
  359. package/src/styles/tokens.css +404 -0
  360. package/src/switch/index.ts +6 -0
  361. package/src/switch/parts.tsx +44 -0
  362. package/src/switch/switch.module.css +57 -0
  363. package/src/switch/switch.tsx +33 -0
  364. package/src/tabs/index.ts +6 -0
  365. package/src/tabs/parts.tsx +48 -0
  366. package/src/tabs/tabs.module.css +79 -0
  367. package/src/tabs/tabs.tsx +48 -0
  368. package/src/toast/index.ts +6 -0
  369. package/src/toast/parts.tsx +76 -0
  370. package/src/toast/toast.module.css +212 -0
  371. package/src/toast/toast.tsx +129 -0
  372. package/src/tooltip/index.ts +6 -0
  373. package/src/tooltip/parts.tsx +62 -0
  374. package/src/tooltip/tooltip.module.css +56 -0
  375. package/src/tooltip/tooltip.tsx +30 -0
@@ -0,0 +1,38 @@
1
+ import type { ReactNode } from "react";
2
+ import { Collapsible as BaseCollapsible } from "@base-ui/react/collapsible";
3
+ import styles from "./collapsible.module.css";
4
+
5
+ export interface CollapsibleProps {
6
+ trigger: ReactNode;
7
+ children: ReactNode;
8
+ defaultOpen?: boolean;
9
+ open?: boolean;
10
+ onOpenChange?: (open: boolean) => void;
11
+ disabled?: boolean;
12
+ className?: string;
13
+ }
14
+
15
+ function ChevronIcon() {
16
+ return (
17
+ <svg width="10" height="10" viewBox="0 0 10 10" fill="none" aria-hidden>
18
+ <path d="M3.5 9L7.5 5L3.5 1" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
19
+ </svg>
20
+ );
21
+ }
22
+
23
+ export function Collapsible({ trigger, children, className, onOpenChange, ...props }: CollapsibleProps) {
24
+ return (
25
+ <BaseCollapsible.Root className={`${styles.root} ${className ?? ""}`} onOpenChange={onOpenChange as never} {...props}>
26
+ <BaseCollapsible.Trigger className={styles.trigger}>
27
+ <span className={styles["trigger-icon"]}>
28
+ <ChevronIcon />
29
+ </span>
30
+ {trigger}
31
+ </BaseCollapsible.Trigger>
32
+ <BaseCollapsible.Panel className={styles.panel}>
33
+ <div className={styles["panel-content"]}>{children}</div>
34
+ </BaseCollapsible.Panel>
35
+ </BaseCollapsible.Root>
36
+ );
37
+ }
38
+ export { styles as CollapsibleStyles };
@@ -0,0 +1,6 @@
1
+ export { Collapsible } from "./collapsible";
2
+ export type { CollapsibleProps } from "./collapsible";
3
+
4
+ export { CollapsibleRoot, CollapsibleTrigger, CollapsiblePanel } from "./parts";
5
+ export type { CollapsibleRootProps, CollapsibleTriggerProps, CollapsiblePanelProps } from "./parts";
6
+ export { CollapsibleStyles } from "./collapsible";
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Styled primitives for Collapsible.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * import { Collapsible } from '@base-ui/react/collapsible';
7
+ * import { CollapsibleTrigger, CollapsiblePanel } from '@brijbyte/agentic-ui/collapsible';
8
+ *
9
+ * <Collapsible.Root>
10
+ * <CollapsibleTrigger>Toggle</CollapsibleTrigger>
11
+ * <CollapsiblePanel>Content</CollapsiblePanel>
12
+ * </Collapsible.Root>
13
+ * ```
14
+ */
15
+ import { forwardRef } from "react";
16
+ import type { ComponentRef, ComponentPropsWithoutRef } from "react";
17
+ import { Collapsible as BaseCollapsible } from "@base-ui/react/collapsible";
18
+ import styles from "./collapsible.module.css";
19
+
20
+ type BaseRootProps = ComponentPropsWithoutRef<typeof BaseCollapsible.Root>;
21
+ type BaseTriggerProps = ComponentPropsWithoutRef<typeof BaseCollapsible.Trigger>;
22
+ type BasePanelProps = ComponentPropsWithoutRef<typeof BaseCollapsible.Panel>;
23
+
24
+ export interface CollapsibleRootProps extends Omit<BaseRootProps, "className"> {
25
+ className?: string;
26
+ }
27
+ export interface CollapsibleTriggerProps extends Omit<BaseTriggerProps, "className"> {
28
+ className?: string;
29
+ }
30
+ export interface CollapsiblePanelProps extends Omit<BasePanelProps, "className"> {
31
+ className?: string;
32
+ }
33
+
34
+ export const CollapsibleRoot = forwardRef<ComponentRef<typeof BaseCollapsible.Root>, CollapsibleRootProps>(function CollapsibleRoot(
35
+ { className, ...props },
36
+ ref,
37
+ ) {
38
+ return <BaseCollapsible.Root ref={ref} className={`${styles.root} ${className ?? ""}`} {...props} />;
39
+ });
40
+
41
+ export const CollapsibleTrigger = forwardRef<ComponentRef<typeof BaseCollapsible.Trigger>, CollapsibleTriggerProps>(
42
+ function CollapsibleTrigger({ className, ...props }, ref) {
43
+ return <BaseCollapsible.Trigger ref={ref} className={`${styles.trigger} ${className ?? ""}`} {...props} />;
44
+ },
45
+ );
46
+
47
+ export const CollapsiblePanel = forwardRef<ComponentRef<typeof BaseCollapsible.Panel>, CollapsiblePanelProps>(function CollapsiblePanel(
48
+ { className, ...props },
49
+ ref,
50
+ ) {
51
+ return <BaseCollapsible.Panel ref={ref} className={`${styles.panel} ${className ?? ""}`} {...props} />;
52
+ });
@@ -0,0 +1,168 @@
1
+ @layer components {
2
+ .positioner {
3
+ outline: none;
4
+ z-index: var(--z-dropdown);
5
+ }
6
+
7
+ .popup {
8
+ box-sizing: border-box;
9
+ padding: var(--space-1) 0;
10
+ border-radius: var(--radius-lg);
11
+ background-color: var(--color-overlay);
12
+ border: var(--border-width-base) solid var(--color-line);
13
+ box-shadow: var(--shadow-popover);
14
+ color: var(--color-primary);
15
+ font-family: var(--font-sans);
16
+ font-size: var(--font-size-md);
17
+ min-width: 220px;
18
+ transform-origin: var(--transform-origin);
19
+ outline: none;
20
+ transition:
21
+ opacity 150ms var(--easing-ease-out),
22
+ transform 150ms var(--easing-ease-out);
23
+ }
24
+
25
+ @supports (backdrop-filter: blur(20px)) {
26
+ .popup {
27
+ backdrop-filter: blur(20px) saturate(1.8);
28
+ -webkit-backdrop-filter: blur(20px) saturate(1.8);
29
+ }
30
+ }
31
+
32
+ .popup[data-starting-style] {
33
+ opacity: 0;
34
+ transform: scale(0.97);
35
+ }
36
+
37
+ .popup[data-ending-style] {
38
+ opacity: 0;
39
+ transform: scale(0.99);
40
+ transition:
41
+ opacity 75ms var(--easing-ease-in),
42
+ transform 75ms var(--easing-ease-in);
43
+ }
44
+
45
+ /* ─── Trigger area ───────────────────────────────────────────── */
46
+
47
+ .trigger {
48
+ display: block;
49
+ outline: none;
50
+ user-select: none;
51
+ -webkit-user-select: none;
52
+ cursor: default;
53
+ }
54
+
55
+ /* ─── Item ───────────────────────────────────────────────────── */
56
+
57
+ .item {
58
+ display: flex;
59
+ align-items: center;
60
+ gap: var(--space-2);
61
+ /* Full-width — no inset margin */
62
+ padding: var(--space-1) var(--space-4);
63
+ font-family: var(--font-sans);
64
+ font-size: var(--font-size-md);
65
+ color: var(--color-primary);
66
+ cursor: default;
67
+ outline: none;
68
+ user-select: none;
69
+ position: relative;
70
+ transition: none;
71
+ }
72
+
73
+ .item[data-highlighted] {
74
+ background-color: var(--color-accent);
75
+ color: var(--color-on-accent);
76
+ }
77
+
78
+ .item[data-disabled] {
79
+ opacity: 0.36;
80
+ cursor: not-allowed;
81
+ }
82
+
83
+ /* ─── Item internals ─────────────────────────────────────────── */
84
+
85
+ .item-icon {
86
+ width: 16px;
87
+ height: 16px;
88
+ flex-shrink: 0;
89
+ display: flex;
90
+ align-items: center;
91
+ justify-content: center;
92
+ color: inherit;
93
+ }
94
+
95
+ .item-label {
96
+ flex: 1;
97
+ }
98
+
99
+ .item-shortcut {
100
+ margin-left: var(--space-8);
101
+ font-size: var(--font-size-sm);
102
+ color: var(--color-tertiary);
103
+ flex-shrink: 0;
104
+ }
105
+
106
+ .item[data-highlighted] .item-shortcut {
107
+ color: color-mix(in srgb, var(--color-on-accent) 60%, transparent);
108
+ }
109
+
110
+ .submenu-icon {
111
+ margin-left: auto;
112
+ color: var(--color-tertiary);
113
+ flex-shrink: 0;
114
+ }
115
+
116
+ .item[data-highlighted] .submenu-icon,
117
+ .submenu-trigger[data-highlighted] .submenu-icon {
118
+ color: color-mix(in srgb, var(--color-on-accent) 70%, transparent);
119
+ }
120
+
121
+ /* ─── Submenu trigger ────────────────────────────────────────── */
122
+
123
+ .submenu-trigger {
124
+ display: flex;
125
+ align-items: center;
126
+ gap: var(--space-2);
127
+ padding: var(--space-1) var(--space-4);
128
+ font-family: var(--font-sans);
129
+ font-size: var(--font-size-md);
130
+ color: var(--color-primary);
131
+ cursor: default;
132
+ outline: none;
133
+ user-select: none;
134
+ transition: none;
135
+ }
136
+
137
+ .submenu-trigger[data-highlighted],
138
+ .submenu-trigger[data-popup-open] {
139
+ background-color: var(--color-accent);
140
+ color: var(--color-on-accent);
141
+ }
142
+
143
+ .submenu-trigger[data-disabled] {
144
+ opacity: 0.36;
145
+ cursor: not-allowed;
146
+ }
147
+
148
+ /* ─── Group label ────────────────────────────────────────────── */
149
+
150
+ .group-label {
151
+ padding: var(--space-1) var(--space-4) var(--space-0-5);
152
+ font-family: var(--font-sans);
153
+ font-size: var(--font-size-xs);
154
+ font-weight: var(--font-weight-semibold);
155
+ color: var(--color-tertiary);
156
+ text-transform: uppercase;
157
+ letter-spacing: var(--letter-spacing-wide);
158
+ cursor: default;
159
+ user-select: none;
160
+ }
161
+
162
+ /* ─── Separator ──────────────────────────────────────────────── */
163
+ .separator {
164
+ margin: var(--space-1) var(--space-4);
165
+ height: var(--border-width-base);
166
+ background-color: var(--color-line-subtle);
167
+ }
168
+ }
@@ -0,0 +1,75 @@
1
+ import type { ReactNode, ReactElement } from "react";
2
+ import { ContextMenu as BaseContextMenu } from "@base-ui/react/context-menu";
3
+ import styles from "./context-menu.module.css";
4
+
5
+ export interface ContextMenuItemDef {
6
+ type?: "item";
7
+ label: ReactNode;
8
+ icon?: ReactNode;
9
+ shortcut?: string;
10
+ onSelect?: () => void;
11
+ disabled?: boolean;
12
+ }
13
+
14
+ export interface ContextMenuSeparatorDef {
15
+ type: "separator";
16
+ }
17
+
18
+ export interface ContextMenuGroupDef {
19
+ type: "group";
20
+ label?: ReactNode;
21
+ items: ContextMenuItemDef[];
22
+ }
23
+
24
+ export type ContextMenuEntry = ContextMenuItemDef | ContextMenuSeparatorDef | ContextMenuGroupDef;
25
+
26
+ export interface ContextMenuProps {
27
+ /** The element that can be right-clicked / long-pressed to open the menu. */
28
+ children: ReactElement;
29
+ items: ContextMenuEntry[];
30
+ className?: string;
31
+ }
32
+
33
+ function RenderItem({ item, i }: { item: ContextMenuItemDef; i: number }) {
34
+ return (
35
+ <BaseContextMenu.Item key={i} className={styles.item} disabled={item.disabled} onClick={item.onSelect}>
36
+ {item.icon && <span className={styles["item-icon"]}>{item.icon}</span>}
37
+ <span className={styles["item-label"]}>{item.label}</span>
38
+ {item.shortcut && <span className={styles["item-shortcut"]}>{item.shortcut}</span>}
39
+ </BaseContextMenu.Item>
40
+ );
41
+ }
42
+
43
+ export function ContextMenu({ children, items, className }: ContextMenuProps) {
44
+ return (
45
+ <BaseContextMenu.Root>
46
+ <BaseContextMenu.Trigger className={`${styles.trigger} ${className ?? ""}`} render={children} />
47
+ <BaseContextMenu.Portal>
48
+ <BaseContextMenu.Positioner className={styles.positioner}>
49
+ <BaseContextMenu.Popup className={styles.popup}>
50
+ {items.map((entry, i) => {
51
+ if (entry.type === "separator") {
52
+ return <BaseContextMenu.Separator key={i} className={styles.separator} />;
53
+ }
54
+ if (entry.type === "group") {
55
+ return (
56
+ <BaseContextMenu.Group key={i}>
57
+ {entry.label && (
58
+ <BaseContextMenu.GroupLabel className={styles["group-label"]}>{entry.label}</BaseContextMenu.GroupLabel>
59
+ )}
60
+ {entry.items.map((item, j) => (
61
+ <RenderItem key={j} item={item} i={j} />
62
+ ))}
63
+ </BaseContextMenu.Group>
64
+ );
65
+ }
66
+ return <RenderItem key={i} item={entry} i={i} />;
67
+ })}
68
+ </BaseContextMenu.Popup>
69
+ </BaseContextMenu.Positioner>
70
+ </BaseContextMenu.Portal>
71
+ </BaseContextMenu.Root>
72
+ );
73
+ }
74
+
75
+ export { styles as ContextMenuStyles };
@@ -0,0 +1,21 @@
1
+ export { ContextMenu } from "./context-menu";
2
+ export type { ContextMenuProps, ContextMenuEntry, ContextMenuItemDef, ContextMenuSeparatorDef, ContextMenuGroupDef } from "./context-menu";
3
+
4
+ export {
5
+ ContextMenuPopup,
6
+ ContextMenuItem,
7
+ ContextMenuSeparator,
8
+ ContextMenuGroup,
9
+ ContextMenuGroupLabel,
10
+ ContextMenuSubmenuTrigger,
11
+ } from "./parts";
12
+ export type {
13
+ ContextMenuPopupProps,
14
+ ContextMenuItemProps,
15
+ ContextMenuSeparatorProps,
16
+ ContextMenuGroupProps,
17
+ ContextMenuGroupLabelProps,
18
+ ContextMenuSubmenuTriggerProps,
19
+ } from "./parts";
20
+
21
+ export { ContextMenuStyles } from "./context-menu";
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Styled primitives for ContextMenu.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * import { ContextMenu as BaseContextMenu } from '@base-ui/react/context-menu';
7
+ * import { ContextMenuPopup, ContextMenuItem, ContextMenuSeparator } from '@brijbyte/agentic-ui/context-menu';
8
+ *
9
+ * <BaseContextMenu.Root>
10
+ * <BaseContextMenu.Trigger render={<div>Right click me</div>} />
11
+ * <BaseContextMenu.Portal>
12
+ * <BaseContextMenu.Positioner>
13
+ * <ContextMenuPopup>
14
+ * <ContextMenuItem>Cut</ContextMenuItem>
15
+ * <ContextMenuItem>Copy</ContextMenuItem>
16
+ * <ContextMenuSeparator />
17
+ * <ContextMenuItem>Paste</ContextMenuItem>
18
+ * </ContextMenuPopup>
19
+ * </BaseContextMenu.Positioner>
20
+ * </BaseContextMenu.Portal>
21
+ * </BaseContextMenu.Root>
22
+ * ```
23
+ */
24
+ import { forwardRef } from "react";
25
+ import type { ComponentRef, ComponentPropsWithoutRef } from "react";
26
+ import { ContextMenu as BaseContextMenu } from "@base-ui/react/context-menu";
27
+ import styles from "./context-menu.module.css";
28
+
29
+ type BasePopupProps = ComponentPropsWithoutRef<typeof BaseContextMenu.Popup>;
30
+ type BaseItemProps = ComponentPropsWithoutRef<typeof BaseContextMenu.Item>;
31
+ type BaseSeparatorProps = ComponentPropsWithoutRef<typeof BaseContextMenu.Separator>;
32
+ type BaseGroupProps = ComponentPropsWithoutRef<typeof BaseContextMenu.Group>;
33
+ type BaseGroupLabelProps = ComponentPropsWithoutRef<typeof BaseContextMenu.GroupLabel>;
34
+ type BaseSubmenuTriggerProps = ComponentPropsWithoutRef<typeof BaseContextMenu.SubmenuTrigger>;
35
+
36
+ export interface ContextMenuPopupProps extends Omit<BasePopupProps, "className"> {
37
+ className?: string;
38
+ }
39
+ export interface ContextMenuItemProps extends Omit<BaseItemProps, "className"> {
40
+ className?: string;
41
+ }
42
+ export interface ContextMenuSeparatorProps extends Omit<BaseSeparatorProps, "className"> {
43
+ className?: string;
44
+ }
45
+ export interface ContextMenuGroupProps extends Omit<BaseGroupProps, "className"> {
46
+ className?: string;
47
+ }
48
+ export interface ContextMenuGroupLabelProps extends Omit<BaseGroupLabelProps, "className"> {
49
+ className?: string;
50
+ }
51
+ export interface ContextMenuSubmenuTriggerProps extends Omit<BaseSubmenuTriggerProps, "className"> {
52
+ className?: string;
53
+ }
54
+
55
+ export const ContextMenuPopup = forwardRef<ComponentRef<typeof BaseContextMenu.Popup>, ContextMenuPopupProps>(function ContextMenuPopup(
56
+ { className, ...props },
57
+ ref,
58
+ ) {
59
+ return <BaseContextMenu.Popup ref={ref} className={`${styles.popup} ${className ?? ""}`} {...props} />;
60
+ });
61
+
62
+ export const ContextMenuItem = forwardRef<ComponentRef<typeof BaseContextMenu.Item>, ContextMenuItemProps>(function ContextMenuItem(
63
+ { className, ...props },
64
+ ref,
65
+ ) {
66
+ return <BaseContextMenu.Item ref={ref} className={`${styles.item} ${className ?? ""}`} {...props} />;
67
+ });
68
+
69
+ export const ContextMenuSeparator = forwardRef<ComponentRef<typeof BaseContextMenu.Separator>, ContextMenuSeparatorProps>(
70
+ function ContextMenuSeparator({ className, ...props }, ref) {
71
+ return <BaseContextMenu.Separator ref={ref} className={`${styles.separator} ${className ?? ""}`} {...props} />;
72
+ },
73
+ );
74
+
75
+ export const ContextMenuGroup = forwardRef<ComponentRef<typeof BaseContextMenu.Group>, ContextMenuGroupProps>(function ContextMenuGroup(
76
+ { className, ...props },
77
+ ref,
78
+ ) {
79
+ return <BaseContextMenu.Group ref={ref} className={className} {...props} />;
80
+ });
81
+
82
+ export const ContextMenuGroupLabel = forwardRef<ComponentRef<typeof BaseContextMenu.GroupLabel>, ContextMenuGroupLabelProps>(
83
+ function ContextMenuGroupLabel({ className, ...props }, ref) {
84
+ return <BaseContextMenu.GroupLabel ref={ref} className={`${styles["group-label"]} ${className ?? ""}`} {...props} />;
85
+ },
86
+ );
87
+
88
+ export const ContextMenuSubmenuTrigger = forwardRef<ComponentRef<typeof BaseContextMenu.SubmenuTrigger>, ContextMenuSubmenuTriggerProps>(
89
+ function ContextMenuSubmenuTrigger({ className, children, ...props }, ref) {
90
+ return (
91
+ <BaseContextMenu.SubmenuTrigger ref={ref} className={`${styles["submenu-trigger"]} ${className ?? ""}`} {...props}>
92
+ <span style={{ flex: 1 }}>{children}</span>
93
+ <svg width="10" height="10" viewBox="0 0 10 10" fill="none" className={styles["submenu-icon"]}>
94
+ <path d="M3.5 9L7.5 5L3.5 1" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
95
+ </svg>
96
+ </BaseContextMenu.SubmenuTrigger>
97
+ );
98
+ },
99
+ );
package/src/css.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ declare module "*.module.css" {
2
+ const styles: Record<string, string | undefined>;
3
+ export default styles;
4
+ }
5
+
6
+ declare module "*.css" {
7
+ // side-effect import
8
+ }
@@ -0,0 +1,116 @@
1
+ @layer components {
2
+ .backdrop {
3
+ position: fixed;
4
+ inset: 0;
5
+ background-color: rgba(0, 0, 0, 0.48);
6
+ z-index: var(--z-overlay);
7
+ transition: opacity var(--duration-slow) var(--easing-standard);
8
+ }
9
+ .backdrop[data-starting-style],
10
+ .backdrop[data-ending-style] {
11
+ opacity: 0;
12
+ }
13
+ .popup {
14
+ position: fixed;
15
+ top: 50%;
16
+ left: 50%;
17
+ transform: translate(-50%, -50%);
18
+ z-index: var(--z-modal);
19
+ background-color: var(--color-elevated);
20
+ border: var(--border-width-base) solid var(--color-line);
21
+ border-radius: var(--radius-2xl);
22
+ box-shadow: var(--shadow-xl);
23
+ padding: var(--space-5) var(--space-6) var(--space-5);
24
+ width: min(440px, calc(100vw - var(--space-8)));
25
+ max-height: min(640px, calc(100vh - var(--space-8)));
26
+ display: flex;
27
+ flex-direction: column;
28
+ gap: var(--space-3);
29
+ outline: none;
30
+ overflow: hidden;
31
+ transition:
32
+ opacity 200ms var(--easing-ease-out),
33
+ transform 200ms var(--easing-spring);
34
+ }
35
+ .popup[data-starting-style] {
36
+ opacity: 0;
37
+ transform: translate(-50%, -48%) scale(0.96);
38
+ }
39
+ .popup[data-ending-style] {
40
+ opacity: 0;
41
+ transform: translate(-50%, -50%) scale(0.98);
42
+ transition:
43
+ opacity 150ms var(--easing-ease-in),
44
+ transform 150ms var(--easing-ease-in);
45
+ }
46
+ .header {
47
+ display: flex;
48
+ flex-direction: column;
49
+ gap: var(--space-2);
50
+ text-align: center;
51
+ }
52
+ .title {
53
+ font-family: var(--font-sans);
54
+ font-size: var(--font-size-lg);
55
+ font-weight: var(--font-weight-bold);
56
+ color: var(--color-primary);
57
+ line-height: var(--line-height-tight);
58
+ letter-spacing: var(--letter-spacing-tight);
59
+ }
60
+ .description {
61
+ font-family: var(--font-sans);
62
+ font-size: var(--font-size-md);
63
+ color: var(--color-secondary);
64
+ line-height: var(--line-height-relaxed);
65
+ }
66
+ .close {
67
+ position: absolute;
68
+ top: var(--space-4);
69
+ right: var(--space-4);
70
+ width: 24px;
71
+ height: 24px;
72
+ border-radius: var(--radius-sm);
73
+ border: none;
74
+ background: transparent;
75
+ color: var(--color-tertiary);
76
+ cursor: pointer;
77
+ display: flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ outline: none;
81
+ transition:
82
+ background-color var(--duration-fast) var(--easing-standard),
83
+ color var(--duration-fast) var(--easing-standard);
84
+ }
85
+ .close:hover {
86
+ background-color: var(--color-hover);
87
+ color: var(--color-primary);
88
+ }
89
+ .close:focus-visible {
90
+ box-shadow: var(--shadow-focus);
91
+ }
92
+ .body {
93
+ flex: 1;
94
+ overflow-y: auto;
95
+ font-family: var(--font-mono);
96
+ font-size: var(--font-size-sm);
97
+ color: var(--color-secondary);
98
+ line-height: var(--line-height-relaxed);
99
+ }
100
+ .footer {
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: flex-end;
104
+ gap: var(--space-2);
105
+ padding-top: var(--space-2);
106
+ }
107
+ /* When a footerStart slot is present, space-between pushes it left */
108
+ .footer-split {
109
+ justify-content: space-between;
110
+ }
111
+ .footer-end {
112
+ display: flex;
113
+ align-items: center;
114
+ gap: var(--space-2);
115
+ }
116
+ }
@@ -0,0 +1,73 @@
1
+ import type { ReactNode, ReactElement } from "react";
2
+ import { Dialog as BaseDialog } from "@base-ui/react/dialog";
3
+ import styles from "./dialog.module.css";
4
+
5
+ export interface DialogProps {
6
+ open?: boolean;
7
+ defaultOpen?: boolean;
8
+ /** `eventDetails` is the base-ui event details object. */
9
+ onOpenChange?: (open: boolean, eventDetails: unknown) => void;
10
+ trigger?: ReactElement;
11
+ title?: ReactNode;
12
+ description?: ReactNode;
13
+ children?: ReactNode;
14
+ /** Buttons aligned to the right (cancel, confirm). */
15
+ footer?: ReactNode;
16
+ /**
17
+ * Content anchored to the left of the footer — intended for a destructive
18
+ * action (e.g. Delete). When present the footer switches to space-between
19
+ * layout, matching the macOS dialog pattern.
20
+ */
21
+ footerStart?: ReactNode;
22
+ className?: string;
23
+ dismissible?: boolean;
24
+ }
25
+
26
+ function XIcon() {
27
+ return (
28
+ <svg width="12" height="12" viewBox="0 0 12 12" fill="none">
29
+ <path d="M2 2L10 10M10 2L2 10" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" />
30
+ </svg>
31
+ );
32
+ }
33
+
34
+ export function Dialog({
35
+ trigger,
36
+ title,
37
+ description,
38
+ children,
39
+ footer,
40
+ footerStart,
41
+ className,
42
+ dismissible = true,
43
+ onOpenChange,
44
+ ...props
45
+ }: DialogProps) {
46
+ return (
47
+ <BaseDialog.Root onOpenChange={onOpenChange as never} {...props}>
48
+ {trigger && <BaseDialog.Trigger render={trigger} />}
49
+ <BaseDialog.Portal>
50
+ <BaseDialog.Backdrop className={styles.backdrop} />
51
+ <BaseDialog.Viewport>
52
+ <BaseDialog.Popup className={`${styles.popup} ${className ?? ""}`}>
53
+ {title && <BaseDialog.Title className={styles.title}>{title}</BaseDialog.Title>}
54
+ {description && <BaseDialog.Description className={styles.description}>{description}</BaseDialog.Description>}
55
+ {dismissible && (
56
+ <BaseDialog.Close className={styles.close} aria-label="Close dialog">
57
+ <XIcon />
58
+ </BaseDialog.Close>
59
+ )}
60
+ {children && <div className={styles.body}>{children}</div>}
61
+ {(footer || footerStart) && (
62
+ <div className={`${styles.footer} ${footerStart ? styles["footer-split"] : ""}`}>
63
+ {footerStart && <div>{footerStart}</div>}
64
+ {footer && <div className={styles["footer-end"]}>{footer}</div>}
65
+ </div>
66
+ )}
67
+ </BaseDialog.Popup>
68
+ </BaseDialog.Viewport>
69
+ </BaseDialog.Portal>
70
+ </BaseDialog.Root>
71
+ );
72
+ }
73
+ export { styles as DialogStyles };
@@ -0,0 +1,13 @@
1
+ export { Dialog } from "./dialog";
2
+ export type { DialogProps } from "./dialog";
3
+
4
+ export { DialogBackdrop, DialogViewport, DialogPopup, DialogTitle, DialogDescription, DialogClose } from "./parts";
5
+ export type {
6
+ DialogBackdropProps,
7
+ DialogViewportProps,
8
+ DialogPopupProps,
9
+ DialogTitleProps,
10
+ DialogDescriptionProps,
11
+ DialogCloseProps,
12
+ } from "./parts";
13
+ export { DialogStyles } from "./dialog";