@rimelight/ui 0.0.31 → 0.0.32

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 (364) hide show
  1. package/package.json +1 -1
  2. package/src/components/astro/RLA3dHover.astro +19 -0
  3. package/src/components/astro/RLAAlert.astro +2 -0
  4. package/src/components/astro/RLAApp.astro +19 -0
  5. package/src/components/astro/RLAAspectRatio.astro +1 -1
  6. package/src/components/astro/RLAAudio.astro +19 -0
  7. package/src/components/astro/RLAAvatarGroup.astro +1 -1
  8. package/src/components/astro/RLABadge.astro +3 -1
  9. package/src/components/astro/RLABanner.astro +19 -0
  10. package/src/components/astro/RLABrowserMockup.astro +19 -0
  11. package/src/components/astro/RLAButton.astro +3 -1
  12. package/src/components/astro/RLACalendar.astro +19 -0
  13. package/src/components/astro/RLAChangelog.astro +19 -0
  14. package/src/components/astro/RLAChart.astro +33 -9
  15. package/src/components/astro/RLAChat.astro +19 -0
  16. package/src/components/astro/RLAChatMessage.astro +19 -0
  17. package/src/components/astro/RLAChatMessages.astro +19 -0
  18. package/src/components/astro/RLAChatPalette.astro +19 -0
  19. package/src/components/astro/RLAChatPrompt.astro +19 -0
  20. package/src/components/astro/RLAChatPromptSubmit.astro +19 -0
  21. package/src/components/astro/RLAChatReasoning.astro +19 -0
  22. package/src/components/astro/RLAChatShimmer.astro +19 -0
  23. package/src/components/astro/RLAChatTool.astro +19 -0
  24. package/src/components/astro/RLACheckbox.astro +3 -1
  25. package/src/components/astro/RLAChip.astro +20 -0
  26. package/src/components/astro/RLAColorPicker.astro +19 -0
  27. package/src/components/astro/RLACommandPalette.astro +19 -0
  28. package/src/components/astro/RLACompare.astro +19 -0
  29. package/src/components/astro/{RLAAlertDialog.astro → RLAConfirm.astro} +1 -1
  30. package/src/components/astro/RLAContainer.astro +19 -0
  31. package/src/components/astro/RLAContextMenu.astro +19 -0
  32. package/src/components/astro/RLADashboardGroup.astro +19 -0
  33. package/src/components/astro/RLADashboardNavbar.astro +19 -0
  34. package/src/components/astro/RLADashboardPanel.astro +19 -0
  35. package/src/components/astro/RLADashboardResizeHandle.astro +19 -0
  36. package/src/components/astro/RLADashboardSearch.astro +19 -0
  37. package/src/components/astro/RLADashboardSearchButton.astro +19 -0
  38. package/src/components/astro/RLADashboardSidebar.astro +19 -0
  39. package/src/components/astro/RLADashboardSidebarCollapse.astro +19 -0
  40. package/src/components/astro/RLADashboardSidebarToggle.astro +19 -0
  41. package/src/components/astro/RLADashboardToolbar.astro +19 -0
  42. package/src/components/astro/RLADock.astro +19 -0
  43. package/src/components/astro/RLADropdownMenu.astro +1 -1
  44. package/src/components/astro/RLAEditor.astro +19 -0
  45. package/src/components/astro/RLAEmpty.astro +19 -0
  46. package/src/components/astro/RLAError.astro +19 -0
  47. package/src/components/astro/{RLAInputGroup.astro → RLAFieldGroup.astro} +7 -7
  48. package/src/components/astro/RLAFieldset.astro +19 -0
  49. package/src/components/astro/{RLADropzone.astro → RLAFileUpload.astro} +14 -14
  50. package/src/components/astro/RLAFloatingAction.astro +19 -0
  51. package/src/components/astro/RLAForm.astro +19 -0
  52. package/src/components/astro/{RLAField.astro → RLAFormField.astro} +7 -7
  53. package/src/components/astro/RLAGallery.astro +19 -0
  54. package/src/components/astro/RLAHoverCard.astro +1 -1
  55. package/src/components/astro/RLAImage.astro +19 -0
  56. package/src/components/astro/RLAInput.astro +3 -1
  57. package/src/components/astro/RLAInputDate.astro +19 -0
  58. package/src/components/astro/{RLACombobox.astro → RLAInputMenu.astro} +22 -22
  59. package/src/components/astro/RLAInputNumber.astro +19 -0
  60. package/src/components/astro/RLAInputPin.astro +19 -0
  61. package/src/components/astro/RLAInputTags.astro +19 -0
  62. package/src/components/astro/RLAInputTime.astro +19 -0
  63. package/src/components/astro/RLAKnob.astro +19 -0
  64. package/src/components/astro/RLALink.astro +19 -0
  65. package/src/components/astro/RLALinkGroup.astro +19 -0
  66. package/src/components/astro/RLAListbox.astro +19 -0
  67. package/src/components/astro/RLALocaleSelector.astro +1 -1
  68. package/src/components/astro/RLAMegamenu.astro +19 -0
  69. package/src/components/astro/RLAMeter.astro +19 -0
  70. package/src/components/astro/{RLADialog.astro → RLAModal.astro} +15 -15
  71. package/src/components/astro/RLANavigationMenu.astro +1 -1
  72. package/src/components/astro/RLAPage.astro +19 -0
  73. package/src/components/astro/RLAPageAside.astro +19 -0
  74. package/src/components/astro/RLAPageBody.astro +19 -0
  75. package/src/components/astro/RLAPageHeader.astro +19 -0
  76. package/src/components/astro/{RLASection.astro → RLAPageSection.astro} +6 -6
  77. package/src/components/astro/RLAPassword.astro +19 -0
  78. package/src/components/astro/RLAPhoneMockup.astro +19 -0
  79. package/src/components/astro/RLAPost.astro +19 -0
  80. package/src/components/astro/RLAPricingPlan.astro +19 -0
  81. package/src/components/astro/RLAPricingTable.astro +19 -0
  82. package/src/components/astro/RLAProgress.astro +3 -1
  83. package/src/components/astro/RLAProse.astro +19 -0
  84. package/src/components/astro/RLAQrCode.astro +19 -0
  85. package/src/components/astro/RLARadioGroup.astro +19 -0
  86. package/src/components/astro/RLARating.astro +19 -0
  87. package/src/components/astro/RLAScrollArea.astro +1 -1
  88. package/src/components/astro/RLAScrollToTop.astro +172 -159
  89. package/src/components/astro/{RLASheet.astro → RLASlideover.astro} +9 -9
  90. package/src/components/astro/RLASlider.astro +8 -3
  91. package/src/components/astro/RLASpeedDial.astro +19 -0
  92. package/src/components/astro/RLASpinner.astro +3 -1
  93. package/src/components/astro/{RLAResizable.astro → RLASplitter.astro} +7 -7
  94. package/src/components/astro/RLASpoiler.astro +19 -0
  95. package/src/components/astro/RLAStepper.astro +19 -0
  96. package/src/components/astro/RLAStickySurface.astro +1 -1
  97. package/src/components/astro/RLASwitch.astro +3 -1
  98. package/src/components/astro/RLATableOfContents.astro +19 -0
  99. package/src/components/astro/RLAThemeSelector.astro +1 -1
  100. package/src/components/astro/RLATimeline.astro +19 -0
  101. package/src/components/astro/RLATour.astro +19 -0
  102. package/src/components/astro/RLATree.astro +19 -0
  103. package/src/components/astro/RLAUser.astro +19 -0
  104. package/src/components/astro/{RLAEmbedYoutube.astro → RLAVideo.astro} +6 -6
  105. package/src/components/astro/RLAWatermark.astro +19 -0
  106. package/src/components/astro/RLAWindowMockup.astro +19 -0
  107. package/src/integrations/ui.ts +208 -143
  108. package/src/presets/defaults.ts +285 -0
  109. package/src/presets/index.ts +537 -256
  110. package/src/styles/index.css +6 -0
  111. package/src/themes/3d-hover.theme.ts +10 -0
  112. package/src/themes/accordion.theme.ts +10 -0
  113. package/src/themes/alert.theme.ts +7 -2
  114. package/src/themes/app.theme.ts +10 -0
  115. package/src/themes/audio.theme.ts +10 -0
  116. package/src/themes/badge.theme.ts +8 -3
  117. package/src/themes/banner.theme.ts +10 -0
  118. package/src/themes/browser-mockup.theme.ts +10 -0
  119. package/src/themes/button.theme.ts +195 -190
  120. package/src/themes/calendar.theme.ts +10 -0
  121. package/src/themes/changelog.theme.ts +10 -0
  122. package/src/themes/chat-message.theme.ts +10 -0
  123. package/src/themes/chat-messages.theme.ts +10 -0
  124. package/src/themes/chat-palette.theme.ts +10 -0
  125. package/src/themes/chat-prompt-submit.theme.ts +10 -0
  126. package/src/themes/chat-prompt.theme.ts +10 -0
  127. package/src/themes/chat-reasoning.theme.ts +10 -0
  128. package/src/themes/chat-shimmer.theme.ts +10 -0
  129. package/src/themes/chat-tool.theme.ts +10 -0
  130. package/src/themes/chat.theme.ts +10 -0
  131. package/src/themes/checkbox.theme.ts +7 -1
  132. package/src/themes/chip.theme.ts +16 -0
  133. package/src/themes/color-picker.theme.ts +10 -0
  134. package/src/themes/command-palette.theme.ts +10 -0
  135. package/src/themes/compare.theme.ts +10 -0
  136. package/src/themes/{alertDialog.theme.ts → confirm.theme.ts} +2 -2
  137. package/src/themes/container.theme.ts +10 -0
  138. package/src/themes/context-menu.theme.ts +10 -0
  139. package/src/themes/dashboard-group.theme.ts +10 -0
  140. package/src/themes/dashboard-navbar.theme.ts +10 -0
  141. package/src/themes/dashboard-panel.theme.ts +10 -0
  142. package/src/themes/dashboard-resize-handle.theme.ts +10 -0
  143. package/src/themes/dashboard-search-button.theme.ts +10 -0
  144. package/src/themes/dashboard-search.theme.ts +10 -0
  145. package/src/themes/dashboard-sidebar-collapse.theme.ts +10 -0
  146. package/src/themes/dashboard-sidebar-toggle.theme.ts +10 -0
  147. package/src/themes/dashboard-sidebar.theme.ts +10 -0
  148. package/src/themes/dashboard-toolbar.theme.ts +10 -0
  149. package/src/themes/dock.theme.ts +10 -0
  150. package/src/themes/editor.theme.ts +10 -0
  151. package/src/themes/empty.theme.ts +10 -0
  152. package/src/themes/error.theme.ts +10 -0
  153. package/src/themes/{inputGroup.theme.ts → field-group.theme.ts} +2 -2
  154. package/src/themes/fieldset.theme.ts +10 -0
  155. package/src/themes/{dropzone.theme.ts → file-upload.theme.ts} +2 -2
  156. package/src/themes/floating-action.theme.ts +10 -0
  157. package/src/themes/{field.theme.ts → form-field.theme.ts} +2 -2
  158. package/src/themes/form.theme.ts +10 -0
  159. package/src/themes/gallery.theme.ts +10 -0
  160. package/src/themes/head.theme.ts +10 -0
  161. package/src/themes/image.theme.ts +10 -0
  162. package/src/themes/input-date.theme.ts +10 -0
  163. package/src/themes/{combobox.theme.ts → input-menu.theme.ts} +2 -2
  164. package/src/themes/input-number.theme.ts +10 -0
  165. package/src/themes/input-pin.theme.ts +10 -0
  166. package/src/themes/input-tags.theme.ts +10 -0
  167. package/src/themes/input-time.theme.ts +10 -0
  168. package/src/themes/input.theme.ts +5 -0
  169. package/src/themes/knob.theme.ts +10 -0
  170. package/src/themes/link-group.theme.ts +10 -0
  171. package/src/themes/link.theme.ts +10 -0
  172. package/src/themes/listbox.theme.ts +10 -0
  173. package/src/themes/megamenu.theme.ts +10 -0
  174. package/src/themes/meter.theme.ts +10 -0
  175. package/src/themes/{dialog.theme.ts → modal.theme.ts} +2 -2
  176. package/src/themes/page-aside.theme.ts +10 -0
  177. package/src/themes/page-body.theme.ts +10 -0
  178. package/src/themes/page-header.theme.ts +10 -0
  179. package/src/themes/page.theme.ts +10 -0
  180. package/src/themes/password.theme.ts +10 -0
  181. package/src/themes/phone-mockup.theme.ts +10 -0
  182. package/src/themes/post.theme.ts +10 -0
  183. package/src/themes/pricing-plan.theme.ts +10 -0
  184. package/src/themes/pricing-table.theme.ts +10 -0
  185. package/src/themes/progress.theme.ts +12 -1
  186. package/src/themes/prose.theme.ts +10 -0
  187. package/src/themes/qr-code.theme.ts +10 -0
  188. package/src/themes/quote.theme.ts +10 -0
  189. package/src/themes/radio-group.theme.ts +10 -0
  190. package/src/themes/rating.theme.ts +10 -0
  191. package/src/themes/scroll-to-top.theme.ts +44 -40
  192. package/src/themes/{sheet.theme.ts → slideover.theme.ts} +2 -2
  193. package/src/themes/slider.theme.ts +9 -3
  194. package/src/themes/speed-dial.theme.ts +10 -0
  195. package/src/themes/spinner.theme.ts +7 -2
  196. package/src/themes/{resizable.theme.ts → splitter.theme.ts} +2 -2
  197. package/src/themes/spoiler.theme.ts +10 -0
  198. package/src/themes/stepper.theme.ts +10 -0
  199. package/src/themes/switch.theme.ts +7 -1
  200. package/src/themes/table-of-contents.theme.ts +10 -0
  201. package/src/themes/timeline.theme.ts +10 -0
  202. package/src/themes/tour.theme.ts +10 -0
  203. package/src/themes/tree.theme.ts +10 -0
  204. package/src/themes/user.theme.ts +10 -0
  205. package/src/themes/watermark.theme.ts +10 -0
  206. package/src/themes/window-mockup.theme.ts +10 -0
  207. package/src/types/components/3d-hover.ts +11 -0
  208. package/src/types/components/accordion.ts +1 -1
  209. package/src/types/components/alert.ts +7 -1
  210. package/src/types/components/app.ts +11 -0
  211. package/src/types/components/aspect-ratio.ts +2 -2
  212. package/src/types/components/audio.ts +11 -0
  213. package/src/types/components/avatar-group.ts +12 -0
  214. package/src/types/components/avatar.ts +3 -15
  215. package/src/types/components/badge.ts +8 -2
  216. package/src/types/components/banner.ts +11 -0
  217. package/src/types/components/breadcrumb.ts +2 -2
  218. package/src/types/components/browser-mockup.ts +11 -0
  219. package/src/types/components/button.ts +7 -1
  220. package/src/types/components/calendar.ts +11 -0
  221. package/src/types/components/card.ts +2 -2
  222. package/src/types/components/carousel.ts +2 -2
  223. package/src/types/components/changelog.ts +11 -0
  224. package/src/types/components/chart.ts +2 -2
  225. package/src/types/components/chat-message.ts +11 -0
  226. package/src/types/components/chat-messages.ts +11 -0
  227. package/src/types/components/chat-palette.ts +11 -0
  228. package/src/types/components/chat-prompt-submit.ts +11 -0
  229. package/src/types/components/chat-prompt.ts +11 -0
  230. package/src/types/components/chat-reasoning.ts +11 -0
  231. package/src/types/components/chat-shimmer.ts +11 -0
  232. package/src/types/components/chat-tool.ts +11 -0
  233. package/src/types/components/chat.ts +11 -0
  234. package/src/types/components/checkbox.ts +8 -2
  235. package/src/types/components/chip.ts +17 -0
  236. package/src/types/components/collapsible.ts +2 -2
  237. package/src/types/components/color-picker.ts +11 -0
  238. package/src/types/components/command-palette.ts +11 -0
  239. package/src/types/components/compare.ts +11 -0
  240. package/src/types/components/{alert-dialog.ts → confirm.ts} +2 -2
  241. package/src/types/components/container.ts +11 -0
  242. package/src/types/components/context-menu.ts +11 -0
  243. package/src/types/components/dashboard-group.ts +11 -0
  244. package/src/types/components/dashboard-navbar.ts +11 -0
  245. package/src/types/components/dashboard-panel.ts +11 -0
  246. package/src/types/components/dashboard-resize-handle.ts +11 -0
  247. package/src/types/components/dashboard-search-button.ts +11 -0
  248. package/src/types/components/dashboard-search.ts +11 -0
  249. package/src/types/components/dashboard-sidebar-collapse.ts +11 -0
  250. package/src/types/components/dashboard-sidebar-toggle.ts +11 -0
  251. package/src/types/components/dashboard-sidebar.ts +11 -0
  252. package/src/types/components/dashboard-toolbar.ts +11 -0
  253. package/src/types/components/dock.ts +11 -0
  254. package/src/types/components/drawer.ts +2 -2
  255. package/src/types/components/dropdown-menu.ts +2 -2
  256. package/src/types/components/editor.ts +11 -0
  257. package/src/types/components/empty.ts +11 -0
  258. package/src/types/components/error.ts +11 -0
  259. package/src/types/components/{input-group.ts → field-group.ts} +3 -3
  260. package/src/types/components/fieldset.ts +11 -0
  261. package/src/types/components/{dropzone.ts → file-upload.ts} +4 -4
  262. package/src/types/components/floating-action.ts +11 -0
  263. package/src/types/components/footer.ts +1 -1
  264. package/src/types/components/{field.ts → form-field.ts} +3 -3
  265. package/src/types/components/form.ts +11 -0
  266. package/src/types/components/gallery.ts +11 -0
  267. package/src/types/components/header.ts +1 -1
  268. package/src/types/components/hover-card.ts +2 -2
  269. package/src/types/components/icon.ts +2 -1
  270. package/src/types/components/image.ts +11 -0
  271. package/src/types/components/index.ts +134 -60
  272. package/src/types/components/input-date.ts +11 -0
  273. package/src/types/components/{combobox.ts → input-menu.ts} +5 -4
  274. package/src/types/components/input-number.ts +11 -0
  275. package/src/types/components/input-pin.ts +11 -0
  276. package/src/types/components/input-tags.ts +11 -0
  277. package/src/types/components/input-time.ts +11 -0
  278. package/src/types/components/input.ts +8 -2
  279. package/src/types/components/kbd.ts +2 -2
  280. package/src/types/components/knob.ts +11 -0
  281. package/src/types/components/label.ts +2 -2
  282. package/src/types/components/link-group.ts +11 -0
  283. package/src/types/components/link.ts +1 -1
  284. package/src/types/components/listbox.ts +11 -0
  285. package/src/types/components/{localeSelector.ts → locale-selector.ts} +3 -3
  286. package/src/types/components/logo.ts +1 -1
  287. package/src/types/components/main.ts +1 -1
  288. package/src/types/components/marquee.ts +2 -2
  289. package/src/types/components/megamenu.ts +11 -0
  290. package/src/types/components/meter.ts +11 -0
  291. package/src/types/components/{dialog.ts → modal.ts} +3 -2
  292. package/src/types/components/navigation-menu.ts +34 -7
  293. package/src/types/components/page-aside.ts +11 -0
  294. package/src/types/components/page-body.ts +11 -0
  295. package/src/types/components/page-header.ts +11 -0
  296. package/src/types/components/{section.ts → page-section.ts} +2 -2
  297. package/src/types/components/page.ts +11 -0
  298. package/src/types/components/pagination.ts +2 -2
  299. package/src/types/components/password.ts +11 -0
  300. package/src/types/components/phone-mockup.ts +5 -0
  301. package/src/types/components/placeholder.ts +1 -1
  302. package/src/types/components/popover.ts +3 -2
  303. package/src/types/components/post.ts +11 -0
  304. package/src/types/components/pricing-plan.ts +11 -0
  305. package/src/types/components/pricing-table.ts +11 -0
  306. package/src/types/components/progress.ts +9 -2
  307. package/src/types/components/prose.ts +11 -0
  308. package/src/types/components/qr-code.ts +11 -0
  309. package/src/types/components/quote.ts +11 -0
  310. package/src/types/components/radio-group.ts +11 -0
  311. package/src/types/components/rating.ts +11 -0
  312. package/src/types/components/scroll-area.ts +3 -2
  313. package/src/types/components/scroll-to-top.ts +7 -1
  314. package/src/types/components/select.ts +2 -2
  315. package/src/types/components/separator.ts +3 -2
  316. package/src/types/components/sidebar.ts +3 -2
  317. package/src/types/components/skeleton.ts +2 -2
  318. package/src/types/components/{sheet.ts → slideover.ts} +4 -3
  319. package/src/types/components/slider.ts +8 -2
  320. package/src/types/components/speed-dial.ts +11 -0
  321. package/src/types/components/spinner.ts +9 -2
  322. package/src/types/components/{resizable.ts → splitter.ts} +4 -3
  323. package/src/types/components/spoiler.ts +11 -0
  324. package/src/types/components/stepper.ts +11 -0
  325. package/src/types/components/sticky-surface.ts +3 -2
  326. package/src/types/components/switch.ts +9 -2
  327. package/src/types/components/table-of-contents.ts +11 -0
  328. package/src/types/components/table.ts +2 -2
  329. package/src/types/components/tabs.ts +2 -2
  330. package/src/types/components/textarea.ts +2 -2
  331. package/src/types/components/{themeSelector.ts → theme-selector.ts} +1 -1
  332. package/src/types/components/timeline.ts +11 -0
  333. package/src/types/components/toast.ts +2 -2
  334. package/src/types/components/tooltip.ts +3 -2
  335. package/src/types/components/tour.ts +11 -0
  336. package/src/types/components/tree.ts +11 -0
  337. package/src/types/components/user.ts +11 -0
  338. package/src/types/components/{embed-youtube.ts → video.ts} +2 -2
  339. package/src/types/components/watermark.ts +11 -0
  340. package/src/types/components/window-mockup.ts +11 -0
  341. package/src/types/index.ts +2 -1
  342. package/src/types/theme.ts +1 -0
  343. package/src/components/astro/RLANativeSelect.astro +0 -51
  344. package/src/components/astro/RLAToggle.astro +0 -38
  345. package/src/components/astro/RLAToggleGroup.astro +0 -30
  346. package/src/preset.ts +0 -393
  347. package/src/themes/nativeSelect.theme.ts +0 -24
  348. package/src/themes/toggle.theme.ts +0 -42
  349. package/src/themes/toggleGroup.theme.ts +0 -21
  350. package/src/types/components/native-select.ts +0 -39
  351. package/src/types/components/navigation.ts +0 -34
  352. package/src/types/components/toggle-group.ts +0 -23
  353. package/src/types/components/toggle.ts +0 -27
  354. /package/src/themes/{aspectRatio.theme.ts → aspect-ratio.theme.ts} +0 -0
  355. /package/src/themes/{avatarGroup.theme.ts → avatar-group.theme.ts} +0 -0
  356. /package/src/themes/{dropdownMenu.theme.ts → dropdown-menu.theme.ts} +0 -0
  357. /package/src/themes/{hoverCard.theme.ts → hover-card.theme.ts} +0 -0
  358. /package/src/themes/{localeSelector.theme.ts → locale-selector.theme.ts} +0 -0
  359. /package/src/themes/{navigationMenu.theme.ts → navigation-menu.theme.ts} +0 -0
  360. /package/src/themes/{section.theme.ts → page-section.theme.ts} +0 -0
  361. /package/src/themes/{scrollArea.theme.ts → scroll-area.theme.ts} +0 -0
  362. /package/src/themes/{stickySurface.theme.ts → sticky-surface.theme.ts} +0 -0
  363. /package/src/themes/{themeSelector.theme.ts → theme-selector.theme.ts} +0 -0
  364. /package/src/themes/{embedYoutube.theme.ts → video.theme.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rimelight/ui",
3
- "version": "0.0.31",
3
+ "version": "0.0.32",
4
4
  "private": false,
5
5
  "description": "Rimelight Entertainment UI Library.",
6
6
  "keywords": [
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ThreeDHoverProps } from "../../types"
5
+ import 3dHoverThemeDefault from "../../themes/3d-hover.theme"
6
+
7
+ const 3dHover = scv(3dHoverThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ThreeDHoverProps
14
+
15
+ const classes = resolveClasses(3dHover, {}, useUi("3dHover", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -15,6 +15,7 @@ const {
15
15
  title,
16
16
  description,
17
17
  icon,
18
+ theme,
18
19
  ui: uiProp,
19
20
  class: className,
20
21
  ...rest
@@ -26,6 +27,7 @@ const classes = resolveClasses(alert, {
26
27
  variant,
27
28
  color,
28
29
  hasIcon: isIcon,
30
+ theme
29
31
  }, useUi("alert", uiProp), className)
30
32
  ---
31
33
  <div
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { AppProps } from "../../types"
5
+ import appThemeDefault from "../../themes/app.theme"
6
+
7
+ const app = scv(appThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as AppProps
14
+
15
+ const classes = resolveClasses(app, {}, useUi("app", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -2,7 +2,7 @@
2
2
  import { scv } from "css-variants"
3
3
  import { useUi, resolveClasses } from "../../utils"
4
4
  import type { AspectRatioProps } from "../../types"
5
- import aspectRatioTheme from "../../themes/aspectRatio.theme"
5
+ import aspectRatioTheme from "../../themes/aspect-ratio.theme"
6
6
 
7
7
  const aspectRatio = scv(aspectRatioTheme)
8
8
 
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { AudioProps } from "../../types"
5
+ import audioThemeDefault from "../../themes/audio.theme"
6
+
7
+ const audio = scv(audioThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as AudioProps
14
+
15
+ const classes = resolveClasses(audio, {}, useUi("audio", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -2,7 +2,7 @@
2
2
  import { scv } from "css-variants"
3
3
  import { useUi, resolveClasses } from "../../utils"
4
4
  import type { AvatarGroupProps } from "../../types"
5
- import avatarGroupTheme from "../../themes/avatarGroup.theme"
5
+ import avatarGroupTheme from "../../themes/avatar-group.theme"
6
6
 
7
7
  const avatarGroup = scv(avatarGroupTheme)
8
8
 
@@ -14,6 +14,7 @@ const {
14
14
  color = "primary",
15
15
  size = "md",
16
16
  shape = "pill",
17
+ theme,
17
18
  ui: uiProp,
18
19
  class: className,
19
20
  ...rest
@@ -23,7 +24,8 @@ const classes = resolveClasses(badge, {
23
24
  variant,
24
25
  color,
25
26
  size,
26
- shape
27
+ shape,
28
+ theme
27
29
  }, useUi("badge", uiProp), className)
28
30
  ---
29
31
  <span class={classes.root} data-slot="root" {...rest}>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { BannerProps } from "../../types"
5
+ import bannerThemeDefault from "../../themes/banner.theme"
6
+
7
+ const banner = scv(bannerThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as BannerProps
14
+
15
+ const classes = resolveClasses(banner, {}, useUi("banner", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { BrowserMockupProps } from "../../types"
5
+ import browserMockupThemeDefault from "../../themes/browser-mockup.theme"
6
+
7
+ const browserMockup = scv(browserMockupThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as BrowserMockupProps
14
+
15
+ const classes = resolveClasses(browserMockup, {}, useUi("browserMockup", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -22,6 +22,7 @@ const {
22
22
  square = false,
23
23
  block = false,
24
24
  active = false,
25
+ theme,
25
26
  activeColor,
26
27
  activeVariant,
27
28
  ui: uiProp,
@@ -52,7 +53,8 @@ const classes = resolveClasses(button, {
52
53
  leading: isLeading,
53
54
  trailing: isTrailing,
54
55
  loading,
55
- active
56
+ active,
57
+ theme
56
58
  }, useUi("button", uiProp), className);
57
59
 
58
60
  const Tag = href ? "a" : "button";
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { CalendarProps } from "../../types"
5
+ import calendarThemeDefault from "../../themes/calendar.theme"
6
+
7
+ const calendar = scv(calendarThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as CalendarProps
14
+
15
+ const classes = resolveClasses(calendar, {}, useUi("calendar", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChangelogProps } from "../../types"
5
+ import changelogThemeDefault from "../../themes/changelog.theme"
6
+
7
+ const changelog = scv(changelogThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChangelogProps
14
+
15
+ const classes = resolveClasses(changelog, {}, useUi("changelog", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -20,6 +20,9 @@ const {
20
20
 
21
21
  const classes = resolveClasses(chart, {}, useUi("chart", uiProp), className)
22
22
 
23
+ // Unique instance ID to prevent CSS collisions between multiple charts
24
+ const instanceId = Math.random().toString(36).substring(2, 8)
25
+
23
26
  // Compute derived values on the server so we don't do heavy JS on the client
24
27
  const max = data.length > 0 ? Math.max(...data.map(d => d.value)) : 1
25
28
  const total = data.reduce((sum, d) => sum + d.value, 0)
@@ -37,6 +40,21 @@ const palette = [
37
40
  const getColor = (item: ChartDataPoint, index: number) =>
38
41
  item.color ?? palette[index % palette.length]
39
42
 
43
+ // Strip angle brackets from color values to prevent XSS via </style> breakout
44
+ const cssColor = (item: ChartDataPoint, index: number) =>
45
+ getColor(item, index).replace(/[<>]/g, "")
46
+
47
+ // Build per-item CSS rules to avoid inline styles (CSP compliance)
48
+ const itemCssRules: string[] = []
49
+ data.forEach((item, i) => {
50
+ if (type === "bar") {
51
+ const pct = max > 0 ? (item.value / max) * 100 : 0
52
+ itemCssRules.push(`.rlc-${instanceId}-b-${i}{height:${pct}%;background:${cssColor(item, i)};min-height:4px;width:100%}`)
53
+ }
54
+ itemCssRules.push(`.rlc-${instanceId}-s-${i}{background:${cssColor(item, i)}}`)
55
+ })
56
+ const chartItemStyles = itemCssRules.join("")
57
+
40
58
  // Build pie/donut SVG path segments
41
59
  const PIE_R = 80
42
60
  const PIE_CX = 100
@@ -83,12 +101,20 @@ const areaPath = linePoints.length > 0
83
101
  : ""
84
102
  ---
85
103
 
86
- <div class={classes.root} data-slot="root" style={`min-height:${height}px`} {...rest}>
104
+ <style define:vars={{ chartH: `${height}px`, chartInnerH: `${height - 60}px` }}>
105
+ [data-slot="root"] { min-height: var(--chart-h); }
106
+ [data-slot="container"] { height: var(--chart-inner-h); gap: 6px; align-items: flex-end; }
107
+ .rla-chart-line-wrap { height: var(--chart-inner-h); }
108
+ .rla-chart-pie-wrap { height: var(--chart-inner-h); }
109
+ </style>
110
+ <style set:html={chartItemStyles}></style>
111
+
112
+ <div class={classes.root} data-slot="root" {...rest}>
87
113
  {title && <div class={classes.title} data-slot="title">{title}</div>}
88
114
 
89
115
  {/* Bar Chart */}
90
116
  {type === "bar" && (
91
- <div class={classes.container} data-slot="container" style={`height:${height - 60}px;gap:6px;align-items:flex-end`}>
117
+ <div class={classes.container} data-slot="container">
92
118
  {data.map((item, i) => {
93
119
  const pct = max > 0 ? (item.value / max) * 100 : 0
94
120
  return (
@@ -97,8 +123,7 @@ const areaPath = linePoints.length > 0
97
123
  {item.value}
98
124
  </span>
99
125
  <div
100
- class={classes.bar}
101
- style={`height:${pct}%;background:${getColor(item, i)};min-height:4px;width:100%;`}
126
+ class={`${classes.bar} rlc-${instanceId}-b-${i}`}
102
127
  title={`${item.label}: ${item.value}`}
103
128
  />
104
129
  <span class={classes.axis}>{item.label}</span>
@@ -110,7 +135,7 @@ const areaPath = linePoints.length > 0
110
135
 
111
136
  {/* Line / Area Chart */}
112
137
  {(type === "line" || type === "area") && (
113
- <div class="relative w-full" style={`height:${height - 60}px`}>
138
+ <div class="relative w-full rla-chart-line-wrap">
114
139
  <svg
115
140
  class={classes.svg}
116
141
  viewBox={`0 0 ${LINE_W} ${LINE_H}`}
@@ -155,7 +180,7 @@ const areaPath = linePoints.length > 0
155
180
 
156
181
  {/* Pie / Donut Chart */}
157
182
  {(type === "pie" || type === "donut") && (
158
- <div class="flex items-center gap-6 justify-center" style={`height:${height - 60}px`}>
183
+ <div class="flex items-center gap-6 justify-center rla-chart-pie-wrap">
159
184
  <svg
160
185
  viewBox="0 0 200 200"
161
186
  class="h-full w-auto max-h-48"
@@ -187,8 +212,7 @@ const areaPath = linePoints.length > 0
187
212
  {data.map((item, i) => (
188
213
  <div class="flex items-center gap-2 text-xs text-muted-foreground">
189
214
  <span
190
- class="size-3 rounded-sm shrink-0"
191
- style={`background:${getColor(item, i)}`}
215
+ class={`size-3 rounded-sm shrink-0 rlc-${instanceId}-s-${i}`}
192
216
  />
193
217
  <span>{item.label}</span>
194
218
  <span class="ml-1 font-mono text-foreground">{item.value}</span>
@@ -206,7 +230,7 @@ const areaPath = linePoints.length > 0
206
230
  <div class={classes.legend} data-slot="legend">
207
231
  {data.map((item, i) => (
208
232
  <div class="flex items-center gap-1.5">
209
- <span class="size-2.5 rounded-full shrink-0" style={`background:${getColor(item, i)}`} />
233
+ <span class={`size-2.5 rounded-full shrink-0 rlc-${instanceId}-s-${i}`} />
210
234
  <span>{item.label}</span>
211
235
  </div>
212
236
  ))}
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChatProps } from "../../types"
5
+ import chatThemeDefault from "../../themes/chat.theme"
6
+
7
+ const chat = scv(chatThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChatProps
14
+
15
+ const classes = resolveClasses(chat, {}, useUi("chat", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChatMessageProps } from "../../types"
5
+ import chatMessageThemeDefault from "../../themes/chat-message.theme"
6
+
7
+ const chatMessage = scv(chatMessageThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChatMessageProps
14
+
15
+ const classes = resolveClasses(chatMessage, {}, useUi("chatMessage", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChatMessagesProps } from "../../types"
5
+ import chatMessagesThemeDefault from "../../themes/chat-messages.theme"
6
+
7
+ const chatMessages = scv(chatMessagesThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChatMessagesProps
14
+
15
+ const classes = resolveClasses(chatMessages, {}, useUi("chatMessages", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChatPaletteProps } from "../../types"
5
+ import chatPaletteThemeDefault from "../../themes/chat-palette.theme"
6
+
7
+ const chatPalette = scv(chatPaletteThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChatPaletteProps
14
+
15
+ const classes = resolveClasses(chatPalette, {}, useUi("chatPalette", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChatPromptProps } from "../../types"
5
+ import chatPromptThemeDefault from "../../themes/chat-prompt.theme"
6
+
7
+ const chatPrompt = scv(chatPromptThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChatPromptProps
14
+
15
+ const classes = resolveClasses(chatPrompt, {}, useUi("chatPrompt", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChatPromptSubmitProps } from "../../types"
5
+ import chatPromptSubmitThemeDefault from "../../themes/chat-prompt-submit.theme"
6
+
7
+ const chatPromptSubmit = scv(chatPromptSubmitThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChatPromptSubmitProps
14
+
15
+ const classes = resolveClasses(chatPromptSubmit, {}, useUi("chatPromptSubmit", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChatReasoningProps } from "../../types"
5
+ import chatReasoningThemeDefault from "../../themes/chat-reasoning.theme"
6
+
7
+ const chatReasoning = scv(chatReasoningThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChatReasoningProps
14
+
15
+ const classes = resolveClasses(chatReasoning, {}, useUi("chatReasoning", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChatShimmerProps } from "../../types"
5
+ import chatShimmerThemeDefault from "../../themes/chat-shimmer.theme"
6
+
7
+ const chatShimmer = scv(chatShimmerThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChatShimmerProps
14
+
15
+ const classes = resolveClasses(chatShimmer, {}, useUi("chatShimmer", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChatToolProps } from "../../types"
5
+ import chatToolThemeDefault from "../../themes/chat-tool.theme"
6
+
7
+ const chatTool = scv(chatToolThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ChatToolProps
14
+
15
+ const classes = resolveClasses(chatTool, {}, useUi("chatTool", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -17,6 +17,7 @@ const {
17
17
  label,
18
18
  color = "primary",
19
19
  size = "md",
20
+ theme,
20
21
  ui: uiProp,
21
22
  class: className,
22
23
  ...rest
@@ -25,7 +26,8 @@ const {
25
26
  const classes = resolveClasses(checkbox, {
26
27
  color,
27
28
  size,
28
- checked
29
+ checked,
30
+ theme
29
31
  }, useUi("checkbox", uiProp), className);
30
32
  ---
31
33
  <label class={classes.root} data-slot="root">
@@ -0,0 +1,20 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ChipProps } from "../../types"
5
+ import chipThemeDefault from "../../themes/chip.theme"
6
+
7
+ const chip = scv(chipThemeDefault)
8
+
9
+ const {
10
+ theme,
11
+ ui: uiProp,
12
+ class: className,
13
+ ...rest
14
+ } = Astro.props as ChipProps
15
+
16
+ const classes = resolveClasses(chip, { theme }, useUi("chip", uiProp), className);
17
+ ---
18
+ <div class={classes.root} data-slot="root" {...rest}>
19
+ <slot />
20
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ColorPickerProps } from "../../types"
5
+ import colorPickerThemeDefault from "../../themes/color-picker.theme"
6
+
7
+ const colorPicker = scv(colorPickerThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ColorPickerProps
14
+
15
+ const classes = resolveClasses(colorPicker, {}, useUi("colorPicker", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { CommandPaletteProps } from "../../types"
5
+ import commandPaletteThemeDefault from "../../themes/command-palette.theme"
6
+
7
+ const commandPalette = scv(commandPaletteThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as CommandPaletteProps
14
+
15
+ const classes = resolveClasses(commandPalette, {}, useUi("commandPalette", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { CompareProps } from "../../types"
5
+ import compareThemeDefault from "../../themes/compare.theme"
6
+
7
+ const compare = scv(compareThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as CompareProps
14
+
15
+ const classes = resolveClasses(compare, {}, useUi("compare", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -2,7 +2,7 @@
2
2
  import { scv } from "css-variants"
3
3
  import { useUi, resolveClasses } from "../../utils"
4
4
  import type { AlertDialogProps } from "../../types"
5
- import alertDialogTheme from "../../themes/alertDialog.theme"
5
+ import alertDialogTheme from "../../themes/confirm.theme"
6
6
  import RLAButton from "./RLAButton.astro"
7
7
 
8
8
  const alertDialog = scv(alertDialogTheme)
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ContainerProps } from "../../types"
5
+ import containerThemeDefault from "../../themes/container.theme"
6
+
7
+ const container = scv(containerThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ContainerProps
14
+
15
+ const classes = resolveClasses(container, {}, useUi("container", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ContextMenuProps } from "../../types"
5
+ import contextMenuThemeDefault from "../../themes/context-menu.theme"
6
+
7
+ const contextMenu = scv(contextMenuThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ContextMenuProps
14
+
15
+ const classes = resolveClasses(contextMenu, {}, useUi("contextMenu", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>