@inui/design-system 0.0.0-stage → 1.22.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 (312) hide show
  1. package/README.md +360 -2
  2. package/dist/components/ui/accordion.d.ts +44 -0
  3. package/dist/components/ui/accordion.d.ts.map +1 -0
  4. package/dist/components/ui/accordion.js +86 -0
  5. package/dist/components/ui/accordion.js.map +1 -0
  6. package/dist/components/ui/ai-avatar.d.ts +46 -0
  7. package/dist/components/ui/ai-avatar.d.ts.map +1 -0
  8. package/dist/components/ui/ai-avatar.js +43 -0
  9. package/dist/components/ui/ai-avatar.js.map +1 -0
  10. package/dist/components/ui/ai-label.d.ts +118 -0
  11. package/dist/components/ui/ai-label.d.ts.map +1 -0
  12. package/dist/components/ui/ai-label.js +184 -0
  13. package/dist/components/ui/ai-label.js.map +1 -0
  14. package/dist/components/ui/ai-sparkle.d.ts +91 -0
  15. package/dist/components/ui/ai-sparkle.d.ts.map +1 -0
  16. package/dist/components/ui/ai-sparkle.js +200 -0
  17. package/dist/components/ui/ai-sparkle.js.map +1 -0
  18. package/dist/components/ui/alert-dialog.d.ts +79 -0
  19. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  20. package/dist/components/ui/alert-dialog.js +147 -0
  21. package/dist/components/ui/alert-dialog.js.map +1 -0
  22. package/dist/components/ui/alert.d.ts +71 -0
  23. package/dist/components/ui/alert.d.ts.map +1 -0
  24. package/dist/components/ui/alert.js +108 -0
  25. package/dist/components/ui/alert.js.map +1 -0
  26. package/dist/components/ui/aspect-ratio.d.ts +30 -0
  27. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  28. package/dist/components/ui/aspect-ratio.js +40 -0
  29. package/dist/components/ui/aspect-ratio.js.map +1 -0
  30. package/dist/components/ui/attachment.d.ts +74 -0
  31. package/dist/components/ui/attachment.d.ts.map +1 -0
  32. package/dist/components/ui/attachment.js +142 -0
  33. package/dist/components/ui/attachment.js.map +1 -0
  34. package/dist/components/ui/avatar.d.ts +82 -0
  35. package/dist/components/ui/avatar.d.ts.map +1 -0
  36. package/dist/components/ui/avatar.js +123 -0
  37. package/dist/components/ui/avatar.js.map +1 -0
  38. package/dist/components/ui/badge.d.ts +130 -0
  39. package/dist/components/ui/badge.d.ts.map +1 -0
  40. package/dist/components/ui/badge.js +226 -0
  41. package/dist/components/ui/badge.js.map +1 -0
  42. package/dist/components/ui/breadcrumb.d.ts +43 -0
  43. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  44. package/dist/components/ui/breadcrumb.js +98 -0
  45. package/dist/components/ui/breadcrumb.js.map +1 -0
  46. package/dist/components/ui/browser-tabs.d.ts +218 -0
  47. package/dist/components/ui/browser-tabs.d.ts.map +1 -0
  48. package/dist/components/ui/browser-tabs.js +528 -0
  49. package/dist/components/ui/browser-tabs.js.map +1 -0
  50. package/dist/components/ui/bubble.d.ts +80 -0
  51. package/dist/components/ui/bubble.d.ts.map +1 -0
  52. package/dist/components/ui/bubble.js +235 -0
  53. package/dist/components/ui/bubble.js.map +1 -0
  54. package/dist/components/ui/button-group.d.ts +60 -0
  55. package/dist/components/ui/button-group.d.ts.map +1 -0
  56. package/dist/components/ui/button-group.js +89 -0
  57. package/dist/components/ui/button-group.js.map +1 -0
  58. package/dist/components/ui/button.d.ts +157 -0
  59. package/dist/components/ui/button.d.ts.map +1 -0
  60. package/dist/components/ui/button.js +144 -0
  61. package/dist/components/ui/button.js.map +1 -0
  62. package/dist/components/ui/calendar.d.ts +57 -0
  63. package/dist/components/ui/calendar.d.ts.map +1 -0
  64. package/dist/components/ui/calendar.js +163 -0
  65. package/dist/components/ui/calendar.js.map +1 -0
  66. package/dist/components/ui/card.d.ts +96 -0
  67. package/dist/components/ui/card.d.ts.map +1 -0
  68. package/dist/components/ui/card.js +131 -0
  69. package/dist/components/ui/card.js.map +1 -0
  70. package/dist/components/ui/carousel.d.ts +86 -0
  71. package/dist/components/ui/carousel.d.ts.map +1 -0
  72. package/dist/components/ui/carousel.js +207 -0
  73. package/dist/components/ui/carousel.js.map +1 -0
  74. package/dist/components/ui/checkbox.d.ts +54 -0
  75. package/dist/components/ui/checkbox.d.ts.map +1 -0
  76. package/dist/components/ui/checkbox.js +78 -0
  77. package/dist/components/ui/checkbox.js.map +1 -0
  78. package/dist/components/ui/collapsible.d.ts +45 -0
  79. package/dist/components/ui/collapsible.d.ts.map +1 -0
  80. package/dist/components/ui/collapsible.js +65 -0
  81. package/dist/components/ui/collapsible.js.map +1 -0
  82. package/dist/components/ui/combobox.d.ts +111 -0
  83. package/dist/components/ui/combobox.d.ts.map +1 -0
  84. package/dist/components/ui/combobox.js +264 -0
  85. package/dist/components/ui/combobox.js.map +1 -0
  86. package/dist/components/ui/command.d.ts +71 -0
  87. package/dist/components/ui/command.d.ts.map +1 -0
  88. package/dist/components/ui/command.js +133 -0
  89. package/dist/components/ui/command.js.map +1 -0
  90. package/dist/components/ui/context-menu.d.ts +70 -0
  91. package/dist/components/ui/context-menu.d.ts.map +1 -0
  92. package/dist/components/ui/context-menu.js +163 -0
  93. package/dist/components/ui/context-menu.js.map +1 -0
  94. package/dist/components/ui/count-badge.d.ts +40 -0
  95. package/dist/components/ui/count-badge.d.ts.map +1 -0
  96. package/dist/components/ui/count-badge.js +43 -0
  97. package/dist/components/ui/count-badge.js.map +1 -0
  98. package/dist/components/ui/data-table.d.ts +1026 -0
  99. package/dist/components/ui/data-table.d.ts.map +1 -0
  100. package/dist/components/ui/data-table.js +3423 -0
  101. package/dist/components/ui/data-table.js.map +1 -0
  102. package/dist/components/ui/dialog.d.ts +73 -0
  103. package/dist/components/ui/dialog.d.ts.map +1 -0
  104. package/dist/components/ui/dialog.js +145 -0
  105. package/dist/components/ui/dialog.js.map +1 -0
  106. package/dist/components/ui/direction.d.ts +35 -0
  107. package/dist/components/ui/direction.d.ts.map +1 -0
  108. package/dist/components/ui/direction.js +35 -0
  109. package/dist/components/ui/direction.js.map +1 -0
  110. package/dist/components/ui/drawer.d.ts +53 -0
  111. package/dist/components/ui/drawer.d.ts.map +1 -0
  112. package/dist/components/ui/drawer.js +115 -0
  113. package/dist/components/ui/drawer.js.map +1 -0
  114. package/dist/components/ui/dropdown-menu.d.ts +75 -0
  115. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  116. package/dist/components/ui/dropdown-menu.js +173 -0
  117. package/dist/components/ui/dropdown-menu.js.map +1 -0
  118. package/dist/components/ui/dropzone.d.ts +141 -0
  119. package/dist/components/ui/dropzone.d.ts.map +1 -0
  120. package/dist/components/ui/dropzone.js +257 -0
  121. package/dist/components/ui/dropzone.js.map +1 -0
  122. package/dist/components/ui/empty.d.ts +94 -0
  123. package/dist/components/ui/empty.d.ts.map +1 -0
  124. package/dist/components/ui/empty.js +149 -0
  125. package/dist/components/ui/empty.js.map +1 -0
  126. package/dist/components/ui/field.d.ts +122 -0
  127. package/dist/components/ui/field.d.ts.map +1 -0
  128. package/dist/components/ui/field.js +254 -0
  129. package/dist/components/ui/field.js.map +1 -0
  130. package/dist/components/ui/hover-card.d.ts +51 -0
  131. package/dist/components/ui/hover-card.d.ts.map +1 -0
  132. package/dist/components/ui/hover-card.js +101 -0
  133. package/dist/components/ui/hover-card.js.map +1 -0
  134. package/dist/components/ui/input-group.d.ts +62 -0
  135. package/dist/components/ui/input-group.d.ts.map +1 -0
  136. package/dist/components/ui/input-group.js +115 -0
  137. package/dist/components/ui/input-group.js.map +1 -0
  138. package/dist/components/ui/input-otp.d.ts +52 -0
  139. package/dist/components/ui/input-otp.d.ts.map +1 -0
  140. package/dist/components/ui/input-otp.js +89 -0
  141. package/dist/components/ui/input-otp.js.map +1 -0
  142. package/dist/components/ui/input.d.ts +47 -0
  143. package/dist/components/ui/input.d.ts.map +1 -0
  144. package/dist/components/ui/input.js +47 -0
  145. package/dist/components/ui/input.js.map +1 -0
  146. package/dist/components/ui/item.d.ts +74 -0
  147. package/dist/components/ui/item.d.ts.map +1 -0
  148. package/dist/components/ui/item.js +176 -0
  149. package/dist/components/ui/item.js.map +1 -0
  150. package/dist/components/ui/kbd.d.ts +41 -0
  151. package/dist/components/ui/kbd.d.ts.map +1 -0
  152. package/dist/components/ui/kbd.js +58 -0
  153. package/dist/components/ui/kbd.js.map +1 -0
  154. package/dist/components/ui/key-value-pair.d.ts +56 -0
  155. package/dist/components/ui/key-value-pair.d.ts.map +1 -0
  156. package/dist/components/ui/key-value-pair.js +110 -0
  157. package/dist/components/ui/key-value-pair.js.map +1 -0
  158. package/dist/components/ui/label.d.ts +83 -0
  159. package/dist/components/ui/label.d.ts.map +1 -0
  160. package/dist/components/ui/label.js +85 -0
  161. package/dist/components/ui/label.js.map +1 -0
  162. package/dist/components/ui/marker.d.ts +54 -0
  163. package/dist/components/ui/marker.d.ts.map +1 -0
  164. package/dist/components/ui/marker.js +79 -0
  165. package/dist/components/ui/marker.js.map +1 -0
  166. package/dist/components/ui/menubar.d.ts +72 -0
  167. package/dist/components/ui/menubar.d.ts.map +1 -0
  168. package/dist/components/ui/menubar.js +174 -0
  169. package/dist/components/ui/menubar.js.map +1 -0
  170. package/dist/components/ui/message-scroller.d.ts +53 -0
  171. package/dist/components/ui/message-scroller.d.ts.map +1 -0
  172. package/dist/components/ui/message-scroller.js +95 -0
  173. package/dist/components/ui/message-scroller.js.map +1 -0
  174. package/dist/components/ui/message.d.ts +63 -0
  175. package/dist/components/ui/message.d.ts.map +1 -0
  176. package/dist/components/ui/message.js +92 -0
  177. package/dist/components/ui/message.js.map +1 -0
  178. package/dist/components/ui/meta-list.d.ts +55 -0
  179. package/dist/components/ui/meta-list.d.ts.map +1 -0
  180. package/dist/components/ui/meta-list.js +75 -0
  181. package/dist/components/ui/meta-list.js.map +1 -0
  182. package/dist/components/ui/native-select.d.ts +51 -0
  183. package/dist/components/ui/native-select.d.ts.map +1 -0
  184. package/dist/components/ui/native-select.js +75 -0
  185. package/dist/components/ui/native-select.js.map +1 -0
  186. package/dist/components/ui/navigation-menu.d.ts +56 -0
  187. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  188. package/dist/components/ui/navigation-menu.js +116 -0
  189. package/dist/components/ui/navigation-menu.js.map +1 -0
  190. package/dist/components/ui/page-header.d.ts +223 -0
  191. package/dist/components/ui/page-header.d.ts.map +1 -0
  192. package/dist/components/ui/page-header.js +233 -0
  193. package/dist/components/ui/page-header.js.map +1 -0
  194. package/dist/components/ui/pagination.d.ts +68 -0
  195. package/dist/components/ui/pagination.d.ts.map +1 -0
  196. package/dist/components/ui/pagination.js +145 -0
  197. package/dist/components/ui/pagination.js.map +1 -0
  198. package/dist/components/ui/popover.d.ts +61 -0
  199. package/dist/components/ui/popover.d.ts.map +1 -0
  200. package/dist/components/ui/popover.js +144 -0
  201. package/dist/components/ui/popover.js.map +1 -0
  202. package/dist/components/ui/progress.d.ts +35 -0
  203. package/dist/components/ui/progress.d.ts.map +1 -0
  204. package/dist/components/ui/progress.js +46 -0
  205. package/dist/components/ui/progress.js.map +1 -0
  206. package/dist/components/ui/questionnaire.d.ts +92 -0
  207. package/dist/components/ui/questionnaire.d.ts.map +1 -0
  208. package/dist/components/ui/questionnaire.js +277 -0
  209. package/dist/components/ui/questionnaire.js.map +1 -0
  210. package/dist/components/ui/radio-group.d.ts +50 -0
  211. package/dist/components/ui/radio-group.d.ts.map +1 -0
  212. package/dist/components/ui/radio-group.js +65 -0
  213. package/dist/components/ui/radio-group.js.map +1 -0
  214. package/dist/components/ui/resizable.d.ts +44 -0
  215. package/dist/components/ui/resizable.d.ts.map +1 -0
  216. package/dist/components/ui/resizable.js +73 -0
  217. package/dist/components/ui/resizable.js.map +1 -0
  218. package/dist/components/ui/scroll-area.d.ts +55 -0
  219. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  220. package/dist/components/ui/scroll-area.js +72 -0
  221. package/dist/components/ui/scroll-area.js.map +1 -0
  222. package/dist/components/ui/select.d.ts +274 -0
  223. package/dist/components/ui/select.d.ts.map +1 -0
  224. package/dist/components/ui/select.js +609 -0
  225. package/dist/components/ui/select.js.map +1 -0
  226. package/dist/components/ui/separator.d.ts +31 -0
  227. package/dist/components/ui/separator.d.ts.map +1 -0
  228. package/dist/components/ui/separator.js +38 -0
  229. package/dist/components/ui/separator.js.map +1 -0
  230. package/dist/components/ui/sheet.d.ts +59 -0
  231. package/dist/components/ui/sheet.d.ts.map +1 -0
  232. package/dist/components/ui/sheet.js +128 -0
  233. package/dist/components/ui/sheet.js.map +1 -0
  234. package/dist/components/ui/sidebar.d.ts +166 -0
  235. package/dist/components/ui/sidebar.d.ts.map +1 -0
  236. package/dist/components/ui/sidebar.js +512 -0
  237. package/dist/components/ui/sidebar.js.map +1 -0
  238. package/dist/components/ui/skeleton.d.ts +35 -0
  239. package/dist/components/ui/skeleton.d.ts.map +1 -0
  240. package/dist/components/ui/skeleton.js +46 -0
  241. package/dist/components/ui/skeleton.js.map +1 -0
  242. package/dist/components/ui/slider.d.ts +39 -0
  243. package/dist/components/ui/slider.d.ts.map +1 -0
  244. package/dist/components/ui/slider.js +75 -0
  245. package/dist/components/ui/slider.js.map +1 -0
  246. package/dist/components/ui/sonner.d.ts +56 -0
  247. package/dist/components/ui/sonner.d.ts.map +1 -0
  248. package/dist/components/ui/sonner.js +96 -0
  249. package/dist/components/ui/sonner.js.map +1 -0
  250. package/dist/components/ui/spinner.d.ts +37 -0
  251. package/dist/components/ui/spinner.d.ts.map +1 -0
  252. package/dist/components/ui/spinner.js +51 -0
  253. package/dist/components/ui/spinner.js.map +1 -0
  254. package/dist/components/ui/stepper.d.ts +84 -0
  255. package/dist/components/ui/stepper.d.ts.map +1 -0
  256. package/dist/components/ui/stepper.js +145 -0
  257. package/dist/components/ui/stepper.js.map +1 -0
  258. package/dist/components/ui/switch.d.ts +36 -0
  259. package/dist/components/ui/switch.d.ts.map +1 -0
  260. package/dist/components/ui/switch.js +44 -0
  261. package/dist/components/ui/switch.js.map +1 -0
  262. package/dist/components/ui/table.d.ts +80 -0
  263. package/dist/components/ui/table.d.ts.map +1 -0
  264. package/dist/components/ui/table.js +130 -0
  265. package/dist/components/ui/table.js.map +1 -0
  266. package/dist/components/ui/tabs.d.ts +87 -0
  267. package/dist/components/ui/tabs.d.ts.map +1 -0
  268. package/dist/components/ui/tabs.js +128 -0
  269. package/dist/components/ui/tabs.js.map +1 -0
  270. package/dist/components/ui/textarea.d.ts +35 -0
  271. package/dist/components/ui/textarea.d.ts.map +1 -0
  272. package/dist/components/ui/textarea.js +38 -0
  273. package/dist/components/ui/textarea.js.map +1 -0
  274. package/dist/components/ui/time-picker.d.ts +58 -0
  275. package/dist/components/ui/time-picker.d.ts.map +1 -0
  276. package/dist/components/ui/time-picker.js +188 -0
  277. package/dist/components/ui/time-picker.js.map +1 -0
  278. package/dist/components/ui/toggle-group.d.ts +52 -0
  279. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  280. package/dist/components/ui/toggle-group.js +94 -0
  281. package/dist/components/ui/toggle-group.js.map +1 -0
  282. package/dist/components/ui/toggle.d.ts +50 -0
  283. package/dist/components/ui/toggle.d.ts.map +1 -0
  284. package/dist/components/ui/toggle.js +70 -0
  285. package/dist/components/ui/toggle.js.map +1 -0
  286. package/dist/components/ui/tooltip.d.ts +51 -0
  287. package/dist/components/ui/tooltip.d.ts.map +1 -0
  288. package/dist/components/ui/tooltip.js +78 -0
  289. package/dist/components/ui/tooltip.js.map +1 -0
  290. package/dist/hooks/use-dark-mode.d.ts +2 -0
  291. package/dist/hooks/use-dark-mode.d.ts.map +1 -0
  292. package/dist/hooks/use-dark-mode.js +36 -0
  293. package/dist/hooks/use-dark-mode.js.map +1 -0
  294. package/dist/hooks/use-mobile.d.ts +2 -0
  295. package/dist/hooks/use-mobile.d.ts.map +1 -0
  296. package/dist/hooks/use-mobile.js +20 -0
  297. package/dist/hooks/use-mobile.js.map +1 -0
  298. package/dist/index.d.ts +88 -0
  299. package/dist/index.d.ts.map +1 -0
  300. package/dist/index.js +77 -0
  301. package/dist/lib/scope.d.ts +64 -0
  302. package/dist/lib/scope.d.ts.map +1 -0
  303. package/dist/lib/scope.js +74 -0
  304. package/dist/lib/scope.js.map +1 -0
  305. package/dist/lib/utils.d.ts +3 -0
  306. package/dist/lib/utils.d.ts.map +1 -0
  307. package/dist/lib/utils.js +11 -0
  308. package/dist/lib/utils.js.map +1 -0
  309. package/dist/styles.css +2 -0
  310. package/dist/theme-tokens.css +537 -0
  311. package/dist/theme.css +417 -0
  312. package/package.json +103 -3
package/dist/index.js ADDED
@@ -0,0 +1,77 @@
1
+ import { cn } from "./lib/utils.js";
2
+ import { M2DS_PORTAL_ATTRIBUTE, M2DS_ROOT_ATTRIBUTE, getPortalContainer, portalScopeProps, rootScopeProps } from "./lib/scope.js";
3
+ import { useIsMobile } from "./hooks/use-mobile.js";
4
+ import { useIsDarkMode } from "./hooks/use-dark-mode.js";
5
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./components/ui/accordion.js";
6
+ import { AISparkle, aiSparkleSizeVariants, aiSparkleStateVariants } from "./components/ui/ai-sparkle.js";
7
+ import { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage } from "./components/ui/avatar.js";
8
+ import { AIAvatar } from "./components/ui/ai-avatar.js";
9
+ import { Button, buttonVariants } from "./components/ui/button.js";
10
+ import { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger } from "./components/ui/popover.js";
11
+ import { AILabel, AILabelContent, AILabelTrigger } from "./components/ui/ai-label.js";
12
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from "./components/ui/alert-dialog.js";
13
+ import { Alert, AlertAction, AlertDescription, AlertTitle } from "./components/ui/alert.js";
14
+ import { AspectRatio } from "./components/ui/aspect-ratio.js";
15
+ import { Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger } from "./components/ui/attachment.js";
16
+ import { Badge, badgeVariants } from "./components/ui/badge.js";
17
+ import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "./components/ui/breadcrumb.js";
18
+ import { Input } from "./components/ui/input.js";
19
+ import { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from "./components/ui/context-menu.js";
20
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./components/ui/tooltip.js";
21
+ import { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants } from "./components/ui/tabs.js";
22
+ import { BrowserTab, BrowserTabs, BrowserTabsList } from "./components/ui/browser-tabs.js";
23
+ import { Bubble, BubbleContent, BubbleGroup, BubbleReactions } from "./components/ui/bubble.js";
24
+ import { Separator } from "./components/ui/separator.js";
25
+ import { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants } from "./components/ui/button-group.js";
26
+ import { Calendar, CalendarDayButton } from "./components/ui/calendar.js";
27
+ import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./components/ui/card.js";
28
+ import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, useCarousel } from "./components/ui/carousel.js";
29
+ import { Label, OptionalHint, RequiredDot } from "./components/ui/label.js";
30
+ import { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldIdContext, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle } from "./components/ui/field.js";
31
+ import { Checkbox } from "./components/ui/checkbox.js";
32
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./components/ui/collapsible.js";
33
+ import { Textarea } from "./components/ui/textarea.js";
34
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./components/ui/input-group.js";
35
+ import { Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, useComboboxAnchor } from "./components/ui/combobox.js";
36
+ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./components/ui/dialog.js";
37
+ import { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from "./components/ui/command.js";
38
+ import { CountBadge } from "./components/ui/count-badge.js";
39
+ import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./components/ui/table.js";
40
+ import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "./components/ui/pagination.js";
41
+ import { Skeleton } from "./components/ui/skeleton.js";
42
+ import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from "./components/ui/empty.js";
43
+ import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./components/ui/dropdown-menu.js";
44
+ import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectMultiple, SelectMultipleContent, SelectMultipleFooter, SelectMultipleGroup, SelectMultipleItem, SelectMultipleLabel, SelectMultipleSeparator, SelectMultipleTrigger, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from "./components/ui/select.js";
45
+ import { DataTable, HighlightMatch, RowActions, columnMenuActions } from "./components/ui/data-table.js";
46
+ import { DirectionProvider, useDirection } from "./components/ui/direction.js";
47
+ import { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger } from "./components/ui/drawer.js";
48
+ import { Dropzone, FileTypeIcon, getFileTypeFamily } from "./components/ui/dropzone.js";
49
+ import { HoverCard, HoverCardContent, HoverCardTrigger } from "./components/ui/hover-card.js";
50
+ import { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "./components/ui/input-otp.js";
51
+ import { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle } from "./components/ui/item.js";
52
+ import { Kbd, KbdGroup } from "./components/ui/kbd.js";
53
+ import { KeyValuePair, KeyValuePairGroup, KeyValuePairKey, KeyValuePairValue, keyValuePairVariants } from "./components/ui/key-value-pair.js";
54
+ import { Marker, MarkerContent, MarkerIcon, markerVariants } from "./components/ui/marker.js";
55
+ import { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from "./components/ui/menubar.js";
56
+ import { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from "./components/ui/message-scroller.js";
57
+ import { Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader } from "./components/ui/message.js";
58
+ import { MetaList, MetaListIcon, MetaListItem, metaListVariants } from "./components/ui/meta-list.js";
59
+ import { NativeSelect, NativeSelectOptGroup, NativeSelectOption } from "./components/ui/native-select.js";
60
+ import { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle } from "./components/ui/navigation-menu.js";
61
+ import { PageHeader, PageHeaderActions, PageHeaderContent, PageHeaderDescription, PageHeaderTitle } from "./components/ui/page-header.js";
62
+ import { Progress } from "./components/ui/progress.js";
63
+ import { Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle } from "./components/ui/questionnaire.js";
64
+ import { RadioGroup, RadioGroupItem } from "./components/ui/radio-group.js";
65
+ import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "./components/ui/resizable.js";
66
+ import { ScrollArea, ScrollBar } from "./components/ui/scroll-area.js";
67
+ import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from "./components/ui/sheet.js";
68
+ import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuCollapsible, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from "./components/ui/sidebar.js";
69
+ import { Slider } from "./components/ui/slider.js";
70
+ import { Toaster } from "./components/ui/sonner.js";
71
+ import { Spinner } from "./components/ui/spinner.js";
72
+ import { Stepper, StepperContent, StepperList, StepperTrigger } from "./components/ui/stepper.js";
73
+ import { Switch } from "./components/ui/switch.js";
74
+ import { TimePicker } from "./components/ui/time-picker.js";
75
+ import { Toggle, toggleVariants } from "./components/ui/toggle.js";
76
+ import { ToggleGroup, ToggleGroupItem } from "./components/ui/toggle-group.js";
77
+ export { AIAvatar, AILabel, AILabelContent, AILabelTrigger, AISparkle, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BrowserTab, BrowserTabs, TabsContent as BrowserTabsContent, TabsContent, BrowserTabsList, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CountBadge, DataTable, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldIdContext, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileTypeIcon, HighlightMatch, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, KeyValuePair, KeyValuePairGroup, KeyValuePairKey, KeyValuePairValue, Label, M2DS_PORTAL_ATTRIBUTE, M2DS_ROOT_ATTRIBUTE, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MetaList, MetaListIcon, MetaListItem, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, OptionalHint, PageHeader, PageHeaderActions, PageHeaderContent, PageHeaderDescription, PageHeaderTitle, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RadioGroup, RadioGroupItem, RequiredDot, ResizableHandle, ResizablePanel, ResizablePanelGroup, RowActions, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectMultiple, SelectMultipleContent, SelectMultipleFooter, SelectMultipleGroup, SelectMultipleItem, SelectMultipleLabel, SelectMultipleSeparator, SelectMultipleTrigger, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuCollapsible, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Stepper, StepperContent, StepperList, StepperTrigger, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsList, TabsTrigger, Textarea, TimePicker, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, aiSparkleSizeVariants, aiSparkleStateVariants, badgeVariants, buttonGroupVariants, buttonVariants, cn, columnMenuActions, getFileTypeFamily, getPortalContainer, keyValuePairVariants, markerVariants, metaListVariants, navigationMenuTriggerStyle, portalScopeProps, rootScopeProps, tabsListVariants, toggleVariants, useCarousel, useComboboxAnchor, useDirection, useIsDarkMode, useIsMobile, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar };
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Scope markers for the stylesheet.
3
+ *
4
+ * `dist/styles.css` wraps every rule in
5
+ * `@scope ([data-m2ds-root], [data-m2ds-portal])` so the library can be mounted as
6
+ * one web component among several on a shared page without its reset or its token
7
+ * palette touching the host document. See `src/styles/index.css`.
8
+ *
9
+ * There is no unscoped build, so `data-m2ds-root` is required: without it on some
10
+ * ancestor, nothing renders styled.
11
+ *
12
+ * Both constants are harmless if a consumer instead runs their own unscoped Tailwind
13
+ * build over our `dist/` — they are only attributes, and nothing in such a sheet
14
+ * selects on them.
15
+ */
16
+ /**
17
+ * Put this on the element your app renders into — the web component host, or any
18
+ * wrapper. Everything inside it is styled; nothing outside it is.
19
+ *
20
+ * Note that `@scope` does not match the scoping root itself with bare selectors, so
21
+ * utility classes on the SAME element as this attribute will not apply. Put it on a
22
+ * wrapper, not on an element you also want to style with utilities.
23
+ */
24
+ export declare const M2DS_ROOT_ATTRIBUTE = "data-m2ds-root";
25
+ /**
26
+ * Marks the container that portalled content is mounted into, so `@scope` reaches
27
+ * it. `@scope` resolves against the DOM, and overlays portal into `document.body` —
28
+ * outside the consumer's `data-m2ds-root` — so without this every dialog, select,
29
+ * tooltip, popover and dropdown would render unstyled.
30
+ */
31
+ export declare const M2DS_PORTAL_ATTRIBUTE = "data-m2ds-portal";
32
+ /** Spread onto the element your app renders into. See {@link M2DS_ROOT_ATTRIBUTE}. */
33
+ export declare const rootScopeProps: {
34
+ readonly "data-m2ds-root": "";
35
+ };
36
+ /**
37
+ * Spread onto a container you portal library content into yourself.
38
+ *
39
+ * The built-in overlays do NOT use this — they pass {@link getPortalContainer} as
40
+ * Radix's `container` prop instead. Radix's portal wrappers destructure a fixed set
41
+ * of props with no rest spread (`react-menu`, `react-dialog`, `react-tooltip`,
42
+ * `react-popover`, `react-hover-card`), so an attribute handed to `<X.Portal>` is
43
+ * silently dropped; and because they render with `asChild`, there is no portal
44
+ * element to carry it even if it survived. `container` is the supported hook.
45
+ */
46
+ export declare const portalScopeProps: {
47
+ readonly "data-m2ds-portal": "";
48
+ };
49
+ /**
50
+ * The shared element that every built-in overlay portals into: one
51
+ * `<div data-m2ds-portal>` appended to `document.body`, created on first use.
52
+ *
53
+ * Returns `undefined` during SSR, where Radix falls back to `document.body` and
54
+ * renders nothing until mount anyway. Created during render rather than in an
55
+ * effect so the first paint is already in scope — an effect would flash unstyled.
56
+ * Re-created if something detaches it from the document.
57
+ *
58
+ * Caveat: being a child of `<body>`, it inherits the document's theme. `dark` on
59
+ * `<html>` reaches it, but if two roots on one page run different modes, overlays
60
+ * follow the document rather than the root that opened them. Pass an explicit
61
+ * `container` on the component to override per overlay.
62
+ */
63
+ export declare function getPortalContainer(): HTMLElement | undefined;
64
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/lib/scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,qBAAqB,CAAA;AAEvD,sFAAsF;AACtF,eAAO,MAAM,cAAc;;CAAoC,CAAA;AAE/D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;CAAsC,CAAA;AAEnE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,GAAG,SAAS,CAiB5D"}
@@ -0,0 +1,74 @@
1
+ //#region src/lib/scope.ts
2
+ /**
3
+ * Scope markers for the stylesheet.
4
+ *
5
+ * `dist/styles.css` wraps every rule in
6
+ * `@scope ([data-m2ds-root], [data-m2ds-portal])` so the library can be mounted as
7
+ * one web component among several on a shared page without its reset or its token
8
+ * palette touching the host document. See `src/styles/index.css`.
9
+ *
10
+ * There is no unscoped build, so `data-m2ds-root` is required: without it on some
11
+ * ancestor, nothing renders styled.
12
+ *
13
+ * Both constants are harmless if a consumer instead runs their own unscoped Tailwind
14
+ * build over our `dist/` — they are only attributes, and nothing in such a sheet
15
+ * selects on them.
16
+ */
17
+ /**
18
+ * Put this on the element your app renders into — the web component host, or any
19
+ * wrapper. Everything inside it is styled; nothing outside it is.
20
+ *
21
+ * Note that `@scope` does not match the scoping root itself with bare selectors, so
22
+ * utility classes on the SAME element as this attribute will not apply. Put it on a
23
+ * wrapper, not on an element you also want to style with utilities.
24
+ */
25
+ var M2DS_ROOT_ATTRIBUTE = "data-m2ds-root";
26
+ /**
27
+ * Marks the container that portalled content is mounted into, so `@scope` reaches
28
+ * it. `@scope` resolves against the DOM, and overlays portal into `document.body` —
29
+ * outside the consumer's `data-m2ds-root` — so without this every dialog, select,
30
+ * tooltip, popover and dropdown would render unstyled.
31
+ */
32
+ var M2DS_PORTAL_ATTRIBUTE = "data-m2ds-portal";
33
+ /** Spread onto the element your app renders into. See {@link M2DS_ROOT_ATTRIBUTE}. */
34
+ var rootScopeProps = { "data-m2ds-root": "" };
35
+ /**
36
+ * Spread onto a container you portal library content into yourself.
37
+ *
38
+ * The built-in overlays do NOT use this — they pass {@link getPortalContainer} as
39
+ * Radix's `container` prop instead. Radix's portal wrappers destructure a fixed set
40
+ * of props with no rest spread (`react-menu`, `react-dialog`, `react-tooltip`,
41
+ * `react-popover`, `react-hover-card`), so an attribute handed to `<X.Portal>` is
42
+ * silently dropped; and because they render with `asChild`, there is no portal
43
+ * element to carry it even if it survived. `container` is the supported hook.
44
+ */
45
+ var portalScopeProps = { "data-m2ds-portal": "" };
46
+ /**
47
+ * The shared element that every built-in overlay portals into: one
48
+ * `<div data-m2ds-portal>` appended to `document.body`, created on first use.
49
+ *
50
+ * Returns `undefined` during SSR, where Radix falls back to `document.body` and
51
+ * renders nothing until mount anyway. Created during render rather than in an
52
+ * effect so the first paint is already in scope — an effect would flash unstyled.
53
+ * Re-created if something detaches it from the document.
54
+ *
55
+ * Caveat: being a child of `<body>`, it inherits the document's theme. `dark` on
56
+ * `<html>` reaches it, but if two roots on one page run different modes, overlays
57
+ * follow the document rather than the root that opened them. Pass an explicit
58
+ * `container` on the component to override per overlay.
59
+ */
60
+ function getPortalContainer() {
61
+ if (typeof document === "undefined") return void 0;
62
+ if (!container?.isConnected) {
63
+ container = document.createElement("div");
64
+ container.setAttribute(M2DS_PORTAL_ATTRIBUTE, "");
65
+ container.style.containerType = "inline-size";
66
+ document.body.appendChild(container);
67
+ }
68
+ return container;
69
+ }
70
+ var container = null;
71
+ //#endregion
72
+ export { M2DS_PORTAL_ATTRIBUTE, M2DS_ROOT_ATTRIBUTE, getPortalContainer, portalScopeProps, rootScopeProps };
73
+
74
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","names":[],"sources":["../../src/lib/scope.ts"],"sourcesContent":["/**\n * Scope markers for the stylesheet.\n *\n * `dist/styles.css` wraps every rule in\n * `@scope ([data-m2ds-root], [data-m2ds-portal])` so the library can be mounted as\n * one web component among several on a shared page without its reset or its token\n * palette touching the host document. See `src/styles/index.css`.\n *\n * There is no unscoped build, so `data-m2ds-root` is required: without it on some\n * ancestor, nothing renders styled.\n *\n * Both constants are harmless if a consumer instead runs their own unscoped Tailwind\n * build over our `dist/` — they are only attributes, and nothing in such a sheet\n * selects on them.\n */\n\n/**\n * Put this on the element your app renders into — the web component host, or any\n * wrapper. Everything inside it is styled; nothing outside it is.\n *\n * Note that `@scope` does not match the scoping root itself with bare selectors, so\n * utility classes on the SAME element as this attribute will not apply. Put it on a\n * wrapper, not on an element you also want to style with utilities.\n */\nexport const M2DS_ROOT_ATTRIBUTE = \"data-m2ds-root\"\n\n/**\n * Marks the container that portalled content is mounted into, so `@scope` reaches\n * it. `@scope` resolves against the DOM, and overlays portal into `document.body` —\n * outside the consumer's `data-m2ds-root` — so without this every dialog, select,\n * tooltip, popover and dropdown would render unstyled.\n */\nexport const M2DS_PORTAL_ATTRIBUTE = \"data-m2ds-portal\"\n\n/** Spread onto the element your app renders into. See {@link M2DS_ROOT_ATTRIBUTE}. */\nexport const rootScopeProps = { \"data-m2ds-root\": \"\" } as const\n\n/**\n * Spread onto a container you portal library content into yourself.\n *\n * The built-in overlays do NOT use this — they pass {@link getPortalContainer} as\n * Radix's `container` prop instead. Radix's portal wrappers destructure a fixed set\n * of props with no rest spread (`react-menu`, `react-dialog`, `react-tooltip`,\n * `react-popover`, `react-hover-card`), so an attribute handed to `<X.Portal>` is\n * silently dropped; and because they render with `asChild`, there is no portal\n * element to carry it even if it survived. `container` is the supported hook.\n */\nexport const portalScopeProps = { \"data-m2ds-portal\": \"\" } as const\n\n/**\n * The shared element that every built-in overlay portals into: one\n * `<div data-m2ds-portal>` appended to `document.body`, created on first use.\n *\n * Returns `undefined` during SSR, where Radix falls back to `document.body` and\n * renders nothing until mount anyway. Created during render rather than in an\n * effect so the first paint is already in scope — an effect would flash unstyled.\n * Re-created if something detaches it from the document.\n *\n * Caveat: being a child of `<body>`, it inherits the document's theme. `dark` on\n * `<html>` reaches it, but if two roots on one page run different modes, overlays\n * follow the document rather than the root that opened them. Pass an explicit\n * `container` on the component to override per overlay.\n */\nexport function getPortalContainer(): HTMLElement | undefined {\n if (typeof document === \"undefined\") return undefined\n if (!container?.isConnected) {\n container = document.createElement(\"div\")\n container.setAttribute(M2DS_PORTAL_ATTRIBUTE, \"\")\n // `inline-size` containment, not a visual change on its own — it just\n // makes this element a valid `@container` query context. Dialog/Sheet/\n // Drawer's width caps use `@sm:` against it instead of the viewport\n // `sm:` breakpoint: in ordinary usage this div is 100% of `<body>`,\n // effectively the same width as the viewport, so behavior is unchanged;\n // in a host that visually constrains `<body>` itself to a narrower\n // region (e.g. an embedded/sidecar-style panel), the cap now tracks\n // that actual width instead of the full, unconstrained browser window.\n container.style.containerType = \"inline-size\"\n document.body.appendChild(container)\n }\n return container\n}\n\nlet container: HTMLElement | null = null\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAa,sBAAsB;;;;;;;AAQnC,IAAa,wBAAwB;;AAGrC,IAAa,iBAAiB,EAAE,kBAAkB,GAAG;;;;;;;;;;;AAYrD,IAAa,mBAAmB,EAAE,oBAAoB,GAAG;;;;;;;;;;;;;;;AAgBzD,SAAgB,qBAA8C;CAC5D,IAAI,OAAO,aAAa,aAAa,OAAO,KAAA;CAC5C,IAAI,CAAC,WAAW,aAAa;EAC3B,YAAY,SAAS,cAAc,KAAK;EACxC,UAAU,aAAa,uBAAuB,EAAE;EAShD,UAAU,MAAM,gBAAgB;EAChC,SAAS,KAAK,YAAY,SAAS;CACrC;CACA,OAAO;AACT;AAEA,IAAI,YAAgC"}
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAmB5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,11 @@
1
+ import { clsx } from "clsx";
2
+ import { extendTailwindMerge } from "tailwind-merge";
3
+ //#region src/lib/utils.ts
4
+ var twMerge = extendTailwindMerge({ extend: { classGroups: { "bg-image": ["bg-ai-glow", "bg-ai-glow-bottom"] } } });
5
+ function cn(...inputs) {
6
+ return twMerge(clsx(inputs));
7
+ }
8
+ //#endregion
9
+ export { cn };
10
+
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { extendTailwindMerge } from \"tailwind-merge\"\n\n// tailwind-merge can't know that `bg-ai-glow`/`bg-ai-glow-bottom` are\n// background-IMAGE utilities (they come from `--background-image-*` theme\n// tokens, not `--color-*`), so out of the box it files them under the\n// background-color group and lets them knock out a sibling `bg-background`\n// / `bg-card` — which is exactly how the AI column's sticky header cell\n// lost its grey, and why the AI Card once needed a separate overlay div.\n// Registering them in the `bg-image` group lets a colour and a glow\n// coexist on one element, the same way `bg-card bg-gradient-to-r` does.\nconst twMerge = extendTailwindMerge({\n extend: {\n classGroups: {\n \"bg-image\": [\"bg-ai-glow\", \"bg-ai-glow-bottom\"],\n },\n },\n})\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":";;;AAWA,IAAM,UAAU,oBAAoB,EAClC,QAAQ,EACN,aAAa,EACX,YAAY,CAAC,cAAc,mBAAmB,EAChD,EACF,EACF,CAAC;AAED,SAAgB,GAAG,GAAG,QAAsB;CAC1C,OAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B"}