@rimelight/ui 0.0.42 → 0.0.43

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 (400) hide show
  1. package/README.md +4 -14
  2. package/package.json +20 -30
  3. package/src/components/3d-hover/3d-hover.theme.ts +9 -12
  4. package/src/components/3d-hover/RLA3dHover.astro +9 -20
  5. package/src/components/accordion/RLAAccordion.astro +5 -14
  6. package/src/components/accordion/accordion.theme.ts +34 -37
  7. package/src/components/app/RLAApp.astro +9 -20
  8. package/src/components/app/app.theme.ts +9 -12
  9. package/src/components/aspect-ratio/RLAAspectRatio.astro +19 -27
  10. package/src/components/aspect-ratio/aspect-ratio.theme.ts +8 -12
  11. package/src/components/audio/RLAAudio.astro +3 -14
  12. package/src/components/audio/audio.theme.ts +9 -12
  13. package/src/components/avatar/RLAAvatar.astro +9 -29
  14. package/src/components/avatar/avatar.theme.ts +66 -77
  15. package/src/components/avatar/avatar.ts +6 -11
  16. package/src/components/avatar-group/RLAAvatarGroup.astro +188 -23
  17. package/src/components/avatar-group/avatar-group.theme.ts +12 -11
  18. package/src/components/avatar-group/avatar-group.ts +41 -0
  19. package/src/components/badge/RLABadge.astro +23 -36
  20. package/src/components/badge/RLSBadge.tsx +41 -0
  21. package/src/components/badge/RLVBadge.vue +8 -16
  22. package/src/components/badge/badge.theme.ts +118 -160
  23. package/src/components/badge/badge.ts +2 -1
  24. package/src/components/banner/RLABanner.astro +88 -103
  25. package/src/components/banner/banner.theme.ts +40 -43
  26. package/src/components/breadcrumb/RLABreadcrumb.astro +241 -62
  27. package/src/components/breadcrumb/breadcrumb.theme.ts +12 -16
  28. package/src/components/breadcrumb/breadcrumb.ts +19 -0
  29. package/src/components/browser-mockup/RLABrowserMockup.astro +9 -20
  30. package/src/components/browser-mockup/browser-mockup.theme.ts +9 -12
  31. package/src/components/button/RLAButton.astro +10 -30
  32. package/src/components/button/RLSButton.tsx +169 -0
  33. package/src/components/button/RLVButton.vue +13 -26
  34. package/src/components/button/button.theme.ts +163 -220
  35. package/src/components/button/button.ts +1 -1
  36. package/src/components/calendar/RLACalendar.astro +9 -20
  37. package/src/components/calendar/calendar.theme.ts +9 -12
  38. package/src/components/callout/RLACallout.astro +5 -14
  39. package/src/components/callout/callout.theme.ts +59 -101
  40. package/src/components/callout/callout.ts +1 -1
  41. package/src/components/card/RLACard.astro +71 -77
  42. package/src/components/card/RLSCard.tsx +116 -0
  43. package/src/components/card/RLVCard.vue +6 -14
  44. package/src/components/card/card.theme.ts +41 -44
  45. package/src/components/carousel/RLACarousel.astro +43 -11
  46. package/src/components/carousel/carousel.theme.ts +28 -32
  47. package/src/components/chart/RLAChart.astro +5 -11
  48. package/src/components/chart/chart.theme.ts +18 -21
  49. package/src/components/chart/chart.ts +1 -1
  50. package/src/components/chat/RLAChat.astro +9 -20
  51. package/src/components/chat/chat.theme.ts +9 -12
  52. package/src/components/chat-message/RLAChatMessage.astro +9 -20
  53. package/src/components/chat-message/chat-message.theme.ts +9 -12
  54. package/src/components/chat-messages/RLAChatMessages.astro +9 -20
  55. package/src/components/chat-messages/chat-messages.theme.ts +9 -12
  56. package/src/components/chat-palette/RLAChatPalette.astro +9 -20
  57. package/src/components/chat-palette/chat-palette.theme.ts +9 -12
  58. package/src/components/chat-prompt/RLAChatPrompt.astro +9 -20
  59. package/src/components/chat-prompt/chat-prompt.theme.ts +9 -12
  60. package/src/components/chat-prompt-submit/RLAChatPromptSubmit.astro +9 -20
  61. package/src/components/chat-prompt-submit/chat-prompt-submit.theme.ts +9 -12
  62. package/src/components/chat-reasoning/RLAChatReasoning.astro +9 -20
  63. package/src/components/chat-reasoning/chat-reasoning.theme.ts +9 -12
  64. package/src/components/chat-shimmer/RLAChatShimmer.astro +9 -20
  65. package/src/components/chat-shimmer/chat-shimmer.theme.ts +9 -12
  66. package/src/components/chat-tool/RLAChatTool.astro +9 -20
  67. package/src/components/chat-tool/chat-tool.theme.ts +9 -12
  68. package/src/components/checkbox/RLACheckbox.astro +2 -17
  69. package/src/components/checkbox/RLSCheckbox.tsx +65 -0
  70. package/src/components/checkbox/checkbox.theme.ts +34 -45
  71. package/src/components/checkbox/checkbox.ts +1 -1
  72. package/src/components/chip/RLAChip.astro +32 -56
  73. package/src/components/chip/chip.theme.ts +66 -72
  74. package/src/components/chip/chip.ts +3 -1
  75. package/src/components/collapsible/RLACollapsible.astro +2 -12
  76. package/src/components/collapsible/collapsible.theme.ts +17 -20
  77. package/src/components/collapsible/collapsible.ts +1 -1
  78. package/src/components/color-area/RLAColorArea.astro +2 -13
  79. package/src/components/color-area/color-area.theme.ts +19 -31
  80. package/src/components/color-area/color-area.ts +1 -1
  81. package/src/components/color-field/RLAColorField.astro +3 -14
  82. package/src/components/color-field/color-field.theme.ts +18 -30
  83. package/src/components/color-field/color-field.ts +1 -1
  84. package/src/components/color-picker/RLAColorPicker.astro +9 -20
  85. package/src/components/color-picker/color-picker.theme.ts +9 -12
  86. package/src/components/color-slider/RLAColorSlider.astro +2 -13
  87. package/src/components/color-slider/color-slider.theme.ts +20 -32
  88. package/src/components/color-slider/color-slider.ts +1 -1
  89. package/src/components/command-palette/RLACommandPalette.astro +9 -20
  90. package/src/components/command-palette/command-palette.theme.ts +9 -12
  91. package/src/components/compare/RLACompare.astro +9 -20
  92. package/src/components/compare/compare.theme.ts +9 -12
  93. package/src/components/confirm/RLAConfirm.astro +114 -122
  94. package/src/components/confirm/confirm.theme.ts +40 -44
  95. package/src/components/confirm/confirm.ts +1 -0
  96. package/src/components/container/RLAContainer.astro +9 -20
  97. package/src/components/container/container.theme.ts +9 -12
  98. package/src/components/context-menu/RLAContextMenu.astro +9 -20
  99. package/src/components/context-menu/context-menu.theme.ts +9 -12
  100. package/src/components/dashboard-group/RLADashboardGroup.astro +17 -21
  101. package/src/components/dashboard-group/dashboard-group.theme.ts +9 -12
  102. package/src/components/dashboard-group/dashboard-group.ts +1 -6
  103. package/src/components/dashboard-navbar/RLADashboardNavbar.astro +61 -21
  104. package/src/components/dashboard-navbar/dashboard-navbar.theme.ts +26 -12
  105. package/src/components/dashboard-navbar/dashboard-navbar.ts +5 -6
  106. package/src/components/dashboard-panel/RLADashboardPanel.astro +25 -13
  107. package/src/components/dashboard-panel/dashboard-panel.theme.ts +22 -12
  108. package/src/components/dashboard-panel/dashboard-panel.ts +4 -6
  109. package/src/components/dashboard-resize-handle/RLADashboardResizeHandle.astro +21 -21
  110. package/src/components/dashboard-resize-handle/dashboard-resize-handle.theme.ts +9 -12
  111. package/src/components/dashboard-resize-handle/dashboard-resize-handle.ts +1 -6
  112. package/src/components/dashboard-search/RLADashboardSearch.astro +100 -21
  113. package/src/components/dashboard-search/dashboard-search.theme.ts +24 -11
  114. package/src/components/dashboard-search/dashboard-search.ts +2 -6
  115. package/src/components/dashboard-search-button/RLADashboardSearchButton.astro +45 -21
  116. package/src/components/dashboard-search-button/dashboard-search-button.theme.ts +20 -12
  117. package/src/components/dashboard-search-button/dashboard-search-button.ts +4 -6
  118. package/src/components/dashboard-sidebar/RLADashboardSidebar.astro +119 -21
  119. package/src/components/dashboard-sidebar/dashboard-sidebar.theme.ts +40 -11
  120. package/src/components/dashboard-sidebar/dashboard-sidebar.ts +8 -6
  121. package/src/components/dashboard-sidebar-collapse/RLADashboardSidebarCollapse.astro +24 -21
  122. package/src/components/dashboard-sidebar-collapse/dashboard-sidebar-collapse.theme.ts +16 -12
  123. package/src/components/dashboard-sidebar-collapse/dashboard-sidebar-collapse.ts +2 -6
  124. package/src/components/dashboard-sidebar-toggle/RLADashboardSidebarToggle.astro +23 -21
  125. package/src/components/dashboard-sidebar-toggle/dashboard-sidebar-toggle.theme.ts +16 -12
  126. package/src/components/dashboard-sidebar-toggle/dashboard-sidebar-toggle.ts +2 -6
  127. package/src/components/dashboard-toolbar/RLADashboardToolbar.astro +25 -21
  128. package/src/components/dashboard-toolbar/dashboard-toolbar.theme.ts +11 -12
  129. package/src/components/dashboard-toolbar/dashboard-toolbar.ts +1 -6
  130. package/src/components/dock/RLADock.astro +9 -20
  131. package/src/components/dock/dock.theme.ts +9 -12
  132. package/src/components/drawer/RLADrawer.astro +115 -126
  133. package/src/components/drawer/drawer.theme.ts +53 -57
  134. package/src/components/dropdown-menu/RLADropdownMenu.astro +180 -47
  135. package/src/components/dropdown-menu/RLSDropdownMenu.tsx +196 -0
  136. package/src/components/dropdown-menu/dropdown-menu.theme.ts +51 -27
  137. package/src/components/dropdown-menu/dropdown-menu.ts +47 -9
  138. package/src/components/editor/RLAEditor.astro +9 -20
  139. package/src/components/editor/blocks/AddBlockModal.vue +3 -3
  140. package/src/components/editor/blocks/Block.vue +4 -3
  141. package/src/components/editor/blocks/BlockEditor.vue +3 -3
  142. package/src/components/editor/blocks/BlockViewRenderer.vue +8 -2
  143. package/src/components/editor/blocks/editor/CalloutBlockEditor.vue +2 -2
  144. package/src/components/editor/blocks/editor/ParagraphBlockEditor.vue +1 -1
  145. package/src/components/editor/blocks/editor/SectionBlockEditor.vue +3 -3
  146. package/src/components/editor/blocks/renderer/CalloutBlockRenderer.vue +2 -3
  147. package/src/components/editor/blocks/renderer/SectionBlockRenderer.vue +2 -2
  148. package/src/components/editor/editor.theme.ts +9 -12
  149. package/src/components/empty/RLAEmpty.astro +86 -20
  150. package/src/components/empty/empty.theme.ts +79 -11
  151. package/src/components/empty/empty.ts +59 -2
  152. package/src/components/error/RLAError.astro +9 -20
  153. package/src/components/error/error.theme.ts +9 -12
  154. package/src/components/field-group/RLAFieldGroup.astro +2 -11
  155. package/src/components/field-group/field-group.theme.ts +18 -22
  156. package/src/components/fieldset/RLAFieldset.astro +9 -20
  157. package/src/components/fieldset/fieldset.theme.ts +9 -12
  158. package/src/components/file-upload/RLAFileUpload.astro +4 -13
  159. package/src/components/file-upload/file-upload.theme.ts +19 -22
  160. package/src/components/file-upload/file-upload.ts +1 -1
  161. package/src/components/floating-action/RLAFloatingAction.astro +9 -20
  162. package/src/components/floating-action/floating-action.theme.ts +9 -12
  163. package/src/components/footer/RLAFooter.astro +32 -38
  164. package/src/components/footer/footer.theme.ts +31 -26
  165. package/src/components/footer/footer.ts +4 -0
  166. package/src/components/form/RLAForm.astro +9 -20
  167. package/src/components/form/form.theme.ts +9 -12
  168. package/src/components/form-field/RLAFormField.astro +5 -12
  169. package/src/components/form-field/RLSFormField.tsx +71 -0
  170. package/src/components/form-field/RLVFormField.vue +5 -14
  171. package/src/components/form-field/form-field.theme.ts +19 -22
  172. package/src/components/form-field/form-field.ts +1 -0
  173. package/src/components/gallery/RLAGallery.astro +9 -20
  174. package/src/components/gallery/gallery.theme.ts +9 -12
  175. package/src/components/grid/RLAGrid.astro +2 -15
  176. package/src/components/grid/grid.theme.ts +31 -34
  177. package/src/components/head/UIHead.astro +298 -0
  178. package/src/components/head/head.theme.ts +9 -12
  179. package/src/components/header/HeaderLayer.astro +63 -0
  180. package/src/components/header/RLAHeader.astro +29 -48
  181. package/src/components/header/header.theme.ts +37 -40
  182. package/src/components/header/header.ts +4 -0
  183. package/src/{utils → components/header}/headerStack.ts +30 -22
  184. package/src/components/hover-card/RLAHoverCard.astro +24 -35
  185. package/src/components/hover-card/hover-card.theme.ts +23 -27
  186. package/src/components/icon/RLAIcon.astro +29 -36
  187. package/src/components/icon/RLSIcon.tsx +6 -7
  188. package/src/components/icon/RLVIcon.vue +5 -6
  189. package/src/components/icon/icon.theme.ts +18 -28
  190. package/src/components/icon/resolver.ts +15 -29
  191. package/src/components/image/RLAImage.astro +20 -23
  192. package/src/components/image/image.theme.ts +29 -32
  193. package/src/components/input/RLAInput.astro +6 -21
  194. package/src/components/input/RLSInput.tsx +101 -0
  195. package/src/components/input/RLVInput.vue +11 -20
  196. package/src/components/input/input.theme.ts +41 -44
  197. package/src/components/input/input.ts +1 -1
  198. package/src/components/input-date/RLAInputDate.astro +9 -20
  199. package/src/components/input-date/input-date.theme.ts +9 -12
  200. package/src/components/input-menu/RLAInputMenu.astro +2 -12
  201. package/src/components/input-menu/input-menu.theme.ts +29 -32
  202. package/src/components/input-menu/input-menu.ts +1 -1
  203. package/src/components/input-number/RLAInputNumber.astro +9 -20
  204. package/src/components/input-number/input-number.theme.ts +9 -12
  205. package/src/components/input-pin/RLAInputPin.astro +9 -22
  206. package/src/components/input-pin/input-pin.theme.ts +9 -13
  207. package/src/components/input-rating/RLAInputRating.astro +2 -23
  208. package/src/components/input-rating/input-rating.theme.ts +64 -76
  209. package/src/components/input-rating/input-rating.ts +1 -1
  210. package/src/components/input-tags/RLAInputTags.astro +174 -21
  211. package/src/components/input-tags/input-tags.theme.ts +37 -12
  212. package/src/components/input-tags/input-tags.ts +50 -0
  213. package/src/components/input-time/RLAInputTime.astro +9 -20
  214. package/src/components/input-time/input-time.theme.ts +9 -12
  215. package/src/components/kbd/RLAKbd.astro +17 -32
  216. package/src/components/kbd/kbd.theme.ts +49 -91
  217. package/src/components/kbd/kbd.ts +3 -0
  218. package/src/components/knob/RLAKnob.astro +9 -20
  219. package/src/components/knob/knob.theme.ts +9 -12
  220. package/src/components/label/RLALabel.astro +16 -27
  221. package/src/components/label/label.theme.ts +16 -20
  222. package/src/components/layout-grid/RLALayoutGrid.astro +5 -11
  223. package/src/components/layout-grid/layout-grid.theme.ts +12 -15
  224. package/src/components/link/RLALink.astro +6 -20
  225. package/src/components/link/RLSLink.tsx +8 -16
  226. package/src/components/link/RLVLink.vue +7 -16
  227. package/src/components/link/link.theme.ts +37 -37
  228. package/src/components/link/link.ts +5 -5
  229. package/src/components/link-group/RLALinkGroup.astro +7 -44
  230. package/src/components/link-group/link-group.theme.ts +21 -26
  231. package/src/components/link-group/link-group.ts +5 -16
  232. package/src/components/listbox/RLAListbox.astro +9 -20
  233. package/src/components/listbox/listbox.theme.ts +9 -12
  234. package/src/components/locale-selector/RLALocaleSelector.astro +13 -21
  235. package/src/components/locale-selector/locale-selector.theme.ts +49 -44
  236. package/src/components/locale-selector/locale-selector.ts +4 -0
  237. package/src/components/logo/RLALogo.astro +13 -26
  238. package/src/components/logo/logo.theme.ts +9 -12
  239. package/src/components/main/RLAMain.astro +31 -36
  240. package/src/components/main/main.theme.ts +9 -12
  241. package/src/components/marquee/RLAMarquee.astro +62 -43
  242. package/src/components/marquee/marquee.theme.ts +22 -26
  243. package/src/components/meter/RLAMeter.astro +9 -20
  244. package/src/components/meter/meter.theme.ts +9 -12
  245. package/src/components/modal/RLAModal.astro +70 -72
  246. package/src/components/modal/RLSModal.tsx +156 -0
  247. package/src/components/modal/RLVModal.vue +5 -6
  248. package/src/components/modal/modal.theme.ts +42 -46
  249. package/src/components/modal/modal.ts +1 -0
  250. package/src/components/navigation-menu/RLANavigationMenu.astro +7 -12
  251. package/src/components/navigation-menu/navigation-menu.theme.ts +36 -39
  252. package/src/components/navigation-menu/navigation-menu.ts +19 -18
  253. package/src/components/page/RLAPage.astro +9 -20
  254. package/src/components/page/page.theme.ts +9 -12
  255. package/src/components/page-aside/RLAPageAside.astro +9 -20
  256. package/src/components/page-aside/page-aside.theme.ts +9 -12
  257. package/src/components/page-body/RLAPageBody.astro +9 -20
  258. package/src/components/page-body/page-body.theme.ts +9 -12
  259. package/src/components/page-header/RLAPageHeader.astro +9 -20
  260. package/src/components/page-header/page-header.theme.ts +9 -12
  261. package/src/components/page-section/RLAPageSection.astro +11 -15
  262. package/src/components/page-section/page-section.theme.ts +193 -176
  263. package/src/components/pagination/RLAPagination.astro +91 -97
  264. package/src/components/pagination/pagination.theme.ts +22 -26
  265. package/src/components/password/RLAPassword.astro +9 -20
  266. package/src/components/password/password.theme.ts +9 -12
  267. package/src/components/phone-mockup/RLAPhoneMockup.astro +9 -20
  268. package/src/components/phone-mockup/phone-mockup.theme.ts +9 -12
  269. package/src/components/placeholder/RLAPlaceholder.astro +32 -43
  270. package/src/components/placeholder/placeholder.theme.ts +11 -14
  271. package/src/components/popover/RLAPopover.astro +205 -132
  272. package/src/components/popover/popover.theme.ts +23 -27
  273. package/src/components/post/RLAPost.astro +2 -10
  274. package/src/components/post/post.theme.ts +45 -48
  275. package/src/components/pricing-plan/RLAPricingPlan.astro +9 -20
  276. package/src/components/pricing-plan/pricing-plan.theme.ts +9 -12
  277. package/src/components/pricing-table/RLAPricingTable.astro +9 -20
  278. package/src/components/pricing-table/pricing-table.theme.ts +9 -12
  279. package/src/components/progress/RLAProgress.astro +2 -17
  280. package/src/components/progress/progress.theme.ts +22 -34
  281. package/src/components/progress/progress.ts +1 -1
  282. package/src/components/prose/RLAProse.astro +9 -20
  283. package/src/components/prose/prose.theme.ts +9 -12
  284. package/src/components/qr-code/RLAQrCode.astro +9 -20
  285. package/src/components/qr-code/qr-code.theme.ts +9 -12
  286. package/src/components/quote/quote.theme.ts +9 -12
  287. package/src/components/radio-group/RLARadioGroup.astro +9 -20
  288. package/src/components/radio-group/radio-group.theme.ts +9 -12
  289. package/src/components/rating/RLARating.astro +9 -20
  290. package/src/components/rating/rating.theme.ts +9 -12
  291. package/src/components/scroll-area/RLAScrollArea.astro +2 -10
  292. package/src/components/scroll-area/scroll-area.theme.ts +21 -24
  293. package/src/components/scroll-to-top/RLAScrollToTop.astro +67 -43
  294. package/src/components/scroll-to-top/RLVScrollToTop.vue +6 -10
  295. package/src/components/scroll-to-top/scroll-to-top.theme.ts +32 -46
  296. package/src/components/scroll-to-top/scroll-to-top.ts +1 -1
  297. package/src/{utils → components/scroll-to-top}/scroll.ts +19 -6
  298. package/src/components/search/RLASearch.astro +3 -9
  299. package/src/components/search/search.theme.ts +60 -63
  300. package/src/components/select/RLASelect.astro +514 -113
  301. package/src/components/select/RLSSelect.tsx +126 -0
  302. package/src/components/select/RLVSelect.vue +7 -15
  303. package/src/components/select/select.theme.ts +104 -25
  304. package/src/components/select/select.ts +58 -36
  305. package/src/components/separator/RLASeparator.astro +62 -83
  306. package/src/components/separator/separator.theme.ts +135 -138
  307. package/src/components/separator/separator.ts +4 -0
  308. package/src/components/shortcuts/RLAShortcuts.astro +3 -4
  309. package/src/components/sidebar/RLASidebar.astro +11 -21
  310. package/src/components/sidebar/sidebar.theme.ts +39 -42
  311. package/src/components/sidebar/sidebar.ts +2 -0
  312. package/src/components/skeleton/RLASkeleton.astro +13 -22
  313. package/src/components/skeleton/skeleton.theme.ts +16 -19
  314. package/src/components/slideover/RLASlideover.astro +2 -12
  315. package/src/components/slideover/slideover.theme.ts +51 -55
  316. package/src/components/slider/RLASlider.astro +2 -15
  317. package/src/components/slider/slider.theme.ts +20 -33
  318. package/src/components/slider/slider.ts +1 -1
  319. package/src/components/speed-dial/RLASpeedDial.astro +9 -20
  320. package/src/components/speed-dial/speed-dial.theme.ts +9 -12
  321. package/src/components/spinner/RLASpinner.astro +2 -17
  322. package/src/components/spinner/spinner.theme.ts +29 -30
  323. package/src/components/spinner/spinner.ts +1 -1
  324. package/src/components/splitter/RLASplitter.astro +3 -11
  325. package/src/components/splitter/splitter.theme.ts +18 -21
  326. package/src/components/spoiler/RLASpoiler.astro +9 -20
  327. package/src/components/spoiler/spoiler.theme.ts +9 -12
  328. package/src/components/stepper/RLAStepper.astro +300 -21
  329. package/src/components/stepper/stepper.theme.ts +214 -12
  330. package/src/components/stepper/stepper.ts +23 -6
  331. package/src/components/steps/RLASteps.astro +2 -8
  332. package/src/components/steps/steps.theme.ts +9 -12
  333. package/src/components/sticky-surface/RLAStickySurface.astro +67 -38
  334. package/src/components/sticky-surface/sticky-surface.theme.ts +7 -11
  335. package/src/components/sticky-surface/sticky-surface.ts +1 -0
  336. package/src/components/surround/RLASurround.astro +5 -5
  337. package/src/components/switch/RLASwitch.astro +2 -18
  338. package/src/components/switch/switch.theme.ts +50 -61
  339. package/src/components/switch/switch.ts +1 -1
  340. package/src/components/table/RLATable.astro +566 -50
  341. package/src/components/table/table.theme.ts +112 -31
  342. package/src/components/table/table.ts +207 -6
  343. package/src/components/table-of-contents/RLATableOfContents.astro +8 -13
  344. package/src/components/table-of-contents/table-of-contents.theme.ts +60 -63
  345. package/src/components/tabs/RLATabs.astro +195 -51
  346. package/src/components/tabs/tabs.theme.ts +81 -84
  347. package/src/components/tabs/tabs.ts +18 -1
  348. package/src/components/textarea/RLATextarea.astro +16 -13
  349. package/src/components/textarea/RLSTextarea.tsx +69 -0
  350. package/src/components/textarea/RLVTextarea.vue +8 -16
  351. package/src/components/textarea/textarea.theme.ts +21 -24
  352. package/src/components/textarea/textarea.ts +2 -1
  353. package/src/components/theme-selector/RLAThemeSelector.astro +5 -13
  354. package/src/components/theme-selector/theme-selector.theme.ts +11 -14
  355. package/src/components/timeline/RLATimeline.astro +24 -44
  356. package/src/components/timeline/timeline.theme.ts +302 -307
  357. package/src/components/toast/RLAToast.astro +44 -18
  358. package/src/components/toast/store.ts +97 -0
  359. package/src/components/toast/toast.theme.ts +31 -34
  360. package/src/components/toast/toast.ts +1 -1
  361. package/src/components/toaster/RLAToaster.astro +76 -6
  362. package/src/components/tooltip/RLATooltip.astro +136 -33
  363. package/src/components/tooltip/tooltip.theme.ts +23 -26
  364. package/src/components/tour/RLATour.astro +9 -20
  365. package/src/components/tour/tour.theme.ts +9 -12
  366. package/src/components/tree/RLATree.astro +9 -20
  367. package/src/components/tree/tree.theme.ts +9 -12
  368. package/src/components/user/RLAUser.astro +9 -20
  369. package/src/components/user/user.theme.ts +9 -12
  370. package/src/components/video/RLAVideo.astro +5 -10
  371. package/src/components/video/video.theme.ts +13 -16
  372. package/src/components/watermark/RLAWatermark.astro +9 -20
  373. package/src/components/watermark/watermark.theme.ts +9 -12
  374. package/src/components/window-mockup/RLAWindowMockup.astro +9 -20
  375. package/src/components/window-mockup/window-mockup.theme.ts +9 -12
  376. package/src/icons.ts +68 -0
  377. package/src/index.ts +31 -0
  378. package/src/preset.ts +146 -0
  379. package/src/resolver.ts +20 -0
  380. package/src/shortcuts.ts +172 -0
  381. package/src/types.ts +57 -0
  382. package/LICENSE +0 -21
  383. package/src/components/head/RLAHead.astro +0 -528
  384. package/src/config/color.config.ts +0 -300
  385. package/src/config/site.config.ts +0 -28
  386. package/src/config/ui.config.ts +0 -89
  387. package/src/env.d.ts +0 -23
  388. package/src/icons/defaults.ts +0 -44
  389. package/src/presets/index.ts +0 -577
  390. package/src/stores/toast.ts +0 -24
  391. package/src/themes.ts +0 -26
  392. package/src/types/component.ts +0 -28
  393. package/src/ui.ts +0 -159
  394. package/src/utils/defineTheme.ts +0 -5
  395. package/src/utils/merge.ts +0 -62
  396. package/src/utils/resolveClasses.ts +0 -39
  397. package/src/utils/resolveTheme.ts +0 -13
  398. package/src/utils/shortcuts.ts +0 -322
  399. package/src/utils/toast.ts +0 -36
  400. package/src/utils/useUi.ts +0 -33
@@ -1,43 +1,62 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
- import type { MarqueeProps } from "./marquee"
6
- import { resolveTheme } from "../../utils/resolveTheme"
7
- import marqueeThemeDefault, { createMarqueeTheme } from "./marquee.theme"
8
- const marqueeTheme = resolveTheme(marqueeThemeDefault, createMarqueeTheme)
9
-
10
-
11
- const marquee = scv(marqueeTheme)
12
-
13
- const {
14
- direction = "left",
15
- speed = 40,
16
- pauseOnHover = true,
17
- ui: uiProp,
18
- class: className,
19
- ...rest
20
- } = Astro.props as MarqueeProps
21
-
22
- const classes = resolveClasses(marquee, {
23
- direction,
24
- pauseOnHover
25
- }, useUi("marquee", uiProp), className)
26
-
27
- const duration = `${speed}s`
28
- const id = `marquee-${Math.random().toString(36).substring(2, 9)}`
29
- ---
30
- <div class={classes.root} data-slot="marquee-root" {...rest}>
31
- <div class:list={[classes.track, id]} data-slot="track">
32
- <slot />
33
- </div>
34
- <div class:list={[classes.track, id]} data-slot="track" aria-hidden="true">
35
- <slot />
36
- </div>
37
- </div>
38
-
39
- <style is:inline set:html={`
40
- .${id} {
41
- animation-duration: ${duration} !important;
42
- }
43
- `} />
1
+ ---
2
+ import type { MarqueeProps } from "./marquee"
3
+ import { marqueeTheme } from "./marquee.theme"
4
+
5
+
6
+ const {
7
+ speed = 40,
8
+ ...rest
9
+ } = Astro.props as MarqueeProps
10
+
11
+ const classes = marqueeTheme(Astro.props)
12
+
13
+ const duration = `${speed}s`
14
+ const id = `marquee-${Math.random().toString(36).substring(2, 9)}`
15
+ ---
16
+ <div class={classes.root} data-slot="marquee-root" {...rest}>
17
+ <div class:list={[classes.track, id]} data-slot="track">
18
+ <slot />
19
+ </div>
20
+ <div class:list={[classes.track, id]} data-slot="track" aria-hidden="true">
21
+ <slot />
22
+ </div>
23
+ </div>
24
+
25
+ <style is:inline set:html={`
26
+ .${id} {
27
+ animation-duration: ${duration} !important;
28
+ }
29
+ `} />
30
+
31
+ <style>
32
+ .animate-marquee,
33
+ .animate-marquee-left {
34
+ animation: marquee-left 30s linear infinite;
35
+ }
36
+ .animate-marquee-right {
37
+ animation: marquee-right 30s linear infinite;
38
+ }
39
+ .animate-marquee-up {
40
+ animation: marquee-up 30s linear infinite;
41
+ }
42
+ .animate-marquee-down {
43
+ animation: marquee-down 30s linear infinite;
44
+ }
45
+
46
+ @keyframes marquee-left {
47
+ from { transform: translateX(0); }
48
+ to { transform: translateX(-100%); }
49
+ }
50
+ @keyframes marquee-right {
51
+ from { transform: translateX(-100%); }
52
+ to { transform: translateX(0); }
53
+ }
54
+ @keyframes marquee-up {
55
+ from { transform: translateY(0); }
56
+ to { transform: translateY(-100%); }
57
+ }
58
+ @keyframes marquee-down {
59
+ from { transform: translateY(-100%); }
60
+ to { transform: translateY(0); }
61
+ }
62
+ </style>
@@ -1,29 +1,25 @@
1
- import { colorConfig } from "../../config/color.config"
2
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
3
2
 
4
- export const createMarqueeTheme = (_colors: readonly string[] = colorConfig.colors) =>
5
- defineTheme({
6
- slots: ["root", "track"],
7
- base: {
8
- root: "relative w-full overflow-hidden flex gap-4 mask-gradient-to-r",
9
- track: "flex shrink-0 gap-4 min-w-full justify-around animate-marquee"
3
+ export const marqueeTheme = defineTheme("marquee", {
4
+ slots: ["root", "track"],
5
+ base: {
6
+ root: "relative w-full overflow-hidden flex gap-4 mask-gradient-to-r",
7
+ track: "flex shrink-0 gap-4 min-w-full justify-around animate-marquee"
8
+ },
9
+ variants: {
10
+ direction: {
11
+ left: { track: "flex-row animate-marquee-left" },
12
+ right: { track: "flex-row animate-marquee-right" },
13
+ up: { root: "flex-col h-80", track: "flex-col animate-marquee-up" },
14
+ down: { root: "flex-col h-80", track: "flex-col animate-marquee-down" }
10
15
  },
11
- variants: {
12
- direction: {
13
- left: { track: "flex-row animate-marquee-left" },
14
- right: { track: "flex-row animate-marquee-right" },
15
- up: { root: "flex-col h-80", track: "flex-col animate-marquee-up" },
16
- down: { root: "flex-col h-80", track: "flex-col animate-marquee-down" }
17
- },
18
- pauseOnHover: {
19
- true: { track: "hover:[animation-play-state:paused]" },
20
- false: { track: "" }
21
- }
22
- },
23
- defaultVariants: {
24
- direction: "left",
25
- pauseOnHover: true
16
+ pauseOnHover: {
17
+ true: { track: "hover:[animation-play-state:paused]" },
18
+ false: { track: "" }
26
19
  }
27
- })
28
-
29
- export default createMarqueeTheme()
20
+ },
21
+ defaultVariants: {
22
+ direction: "left",
23
+ pauseOnHover: true
24
+ }
25
+ })
@@ -1,21 +1,10 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
- import type { MeterProps } from "./meter"
6
- import meterTheme from "./meter.theme"
7
-
8
-
9
- const meter = scv(meterTheme)
10
-
11
- const {
12
- ui: uiProp,
13
- class: className,
14
- ...rest
15
- } = Astro.props as MeterProps
16
-
17
- const classes = resolveClasses(meter, {}, useUi("meter", uiProp), className);
18
- ---
19
- <div class={classes.root} data-slot="root" {...rest}>
20
- <slot />
1
+ ---
2
+ import { meterTheme } from "./meter.theme"
3
+
4
+
5
+
6
+ const classes = meterTheme(Astro.props)
7
+ ---
8
+ <div class={classes.root} data-slot="root" {...Astro.props}>
9
+ <slot />
21
10
  </div>
@@ -1,13 +1,10 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const createMeterTheme = () =>
4
- defineTheme({
5
- slots: ["root"],
6
- base: {
7
- root: ""
8
- },
9
- variants: {},
10
- defaultVariants: {}
11
- })
12
-
13
- export default createMeterTheme()
3
+ export const meterTheme = defineTheme("meter", {
4
+ slots: ["root"],
5
+ base: {
6
+ root: ""
7
+ },
8
+ variants: {},
9
+ defaultVariants: {}
10
+ })
@@ -1,18 +1,11 @@
1
1
  ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
2
  import type { ModalProps } from "./modal"
6
- import { resolveTheme } from "../../utils/resolveTheme"
7
- import modalThemeDefault, { createModalTheme } from "./modal.theme"
8
- const modalTheme = resolveTheme(modalThemeDefault, createModalTheme)
3
+ import { modalTheme } from "./modal.theme"
9
4
  import RLAIcon from "../icon/RLAIcon.astro"
10
5
 
11
6
 
12
- const modal = scv(modalTheme)
13
7
 
14
8
  const {
15
- open = false,
16
9
  triggerLabel,
17
10
  closeOnClickOutside = true,
18
11
  closeOnEscape = true,
@@ -20,15 +13,13 @@ const {
20
13
  title,
21
14
  description,
22
15
  size = "md",
23
- ui: uiProp,
24
- class: className,
25
16
  unmountOnHide = true,
26
17
  ...rest
27
- } = Astro.props as ModalProps & { size?: "sm" | "md" | "lg" | "xl" }
18
+ } = Astro.props as ModalProps
28
19
 
29
- const classes = resolveClasses(modal, {
30
- size
31
- }, useUi("modal", uiProp), className)
20
+
21
+
22
+ const classes = modalTheme(Astro.props)
32
23
 
33
24
  const modalId = `rla-modal-${Math.random().toString(36).substring(2, 9)}`
34
25
  ---
@@ -85,93 +76,100 @@ const modalId = `rla-modal-${Math.random().toString(36).substring(2, 9)}`
85
76
  </div>
86
77
 
87
78
  <script>
79
+ /**
80
+ * <dialog> handles natively:
81
+ * - Focus trap (Tab cycles only inside the dialog)
82
+ * - Escape key dismissal (fires 'cancel' event)
83
+ * - Top-layer stacking (no z-index wrestling)
84
+ * - aria-modal semantics
85
+ *
86
+ * This script only adds:
87
+ * - Show trigger wiring
88
+ * - Close button wiring
89
+ * - Click-outside detection (via backdrop click: e.target === dialog)
90
+ * - Optional scroll lock on <body>
91
+ * - Optional Escape suppression (data-close-on-escape="false")
92
+ * - Optional unmountOnHide (innerHTML save/restore)
93
+ */
94
+ const openDialog = (dialog: HTMLDialogElement) => {
95
+ // Restore content if it was unmounted
96
+ if (dialog.getAttribute('data-unmount-on-hide') === 'true' && (dialog as any).rlaSavedHtml) {
97
+ dialog.innerHTML = (dialog as any).rlaSavedHtml;
98
+ delete (dialog as any).rlaSavedHtml;
99
+ }
100
+ dialog.showModal();
101
+ if (dialog.getAttribute('data-lock-scroll') === 'true') {
102
+ document.body.style.overflow = 'hidden';
103
+ }
104
+ };
105
+
106
+ const closeDialog = (dialog: HTMLDialogElement) => {
107
+ dialog.close();
108
+ if (dialog.getAttribute('data-lock-scroll') === 'true') {
109
+ document.body.style.overflow = '';
110
+ }
111
+ if (dialog.getAttribute('data-unmount-on-hide') === 'true') {
112
+ (dialog as any).rlaSavedHtml = dialog.innerHTML;
113
+ dialog.innerHTML = '';
114
+ }
115
+ };
116
+
88
117
  if (!(window as any).rlaDialogListenerActive) {
89
118
  (window as any).rlaDialogListenerActive = true;
119
+
120
+ // Show triggers
90
121
  document.addEventListener('click', (e) => {
91
122
  const target = e.target as HTMLElement | null;
92
123
  if (!target) return;
93
124
 
125
+ // Open
94
126
  const showTrigger = target.closest('[data-dialog-show]');
95
127
  if (showTrigger) {
96
128
  const dialogId = showTrigger.getAttribute('data-dialog-show');
97
129
  if (dialogId) {
98
130
  const dialog = document.getElementById(dialogId) as HTMLDialogElement | null;
99
- if (dialog) {
100
- // Restore content if it was unmounted/cleared
101
- if (dialog.getAttribute('data-unmount-on-hide') === 'true' && (dialog as any).rlaSavedHtml) {
102
- dialog.innerHTML = (dialog as any).rlaSavedHtml;
103
- }
104
- if (typeof dialog.showModal === 'function') {
105
- dialog.showModal();
106
- } else if (typeof (dialog as any).showmodal === 'function') {
107
- (dialog as any).showmodal();
108
- }
109
- }
131
+ if (dialog) openDialog(dialog);
110
132
  }
133
+ return;
111
134
  }
112
135
 
136
+ // Close button
113
137
  const closeTrigger = target.closest('[data-dialog-close]');
114
138
  if (closeTrigger) {
115
139
  const dialogId = closeTrigger.getAttribute('data-dialog-close');
116
140
  if (dialogId) {
117
141
  const dialog = document.getElementById(dialogId) as HTMLDialogElement | null;
118
- if (dialog) {
119
- dialog.close();
120
- // Clear content if unmountOnHide is true
121
- if (dialog.getAttribute('data-unmount-on-hide') === 'true') {
122
- if (!(dialog as any).rlaSavedHtml) {
123
- (dialog as any).rlaSavedHtml = dialog.innerHTML;
124
- }
125
- // Keep only the close button to ensure it can be reopened/closed properly
126
- const closeBtn = dialog.querySelector('[data-slot="close-button"]');
127
- dialog.innerHTML = '';
128
- if (closeBtn) {
129
- dialog.appendChild(closeBtn);
130
- }
131
- }
132
- }
142
+ if (dialog) closeDialog(dialog);
133
143
  }
144
+ return;
134
145
  }
135
146
 
147
+ // Click-outside: for <dialog>, e.target IS the dialog element itself when clicking
148
+ // on the backdrop (the dialog's padding area outside its content box).
136
149
  if (target.tagName === 'DIALOG' && target.getAttribute('data-close-on-click-outside') === 'true') {
137
- const rect = target.getBoundingClientRect();
138
- const isInModal = (
139
- rect.top <= e.clientY &&
140
- e.clientY <= rect.top + rect.height &&
141
- rect.left <= e.clientX &&
142
- e.clientX <= rect.left + rect.width
143
- );
144
- if (!isInModal) {
145
- const dialog = target as HTMLDialogElement;
146
- dialog.close();
147
- if (dialog.getAttribute('data-unmount-on-hide') === 'true') {
148
- if (!(dialog as any).rlaSavedHtml) {
149
- (dialog as any).rlaSavedHtml = dialog.innerHTML;
150
- }
151
- const closeBtn = dialog.querySelector('[data-slot="close-button"]');
152
- dialog.innerHTML = '';
153
- if (closeBtn) {
154
- dialog.appendChild(closeBtn);
155
- }
156
- }
157
- }
150
+ closeDialog(target as HTMLDialogElement);
158
151
  }
159
152
  });
160
153
 
161
- // Handle dialog escape key
154
+ // Escape key — suppress if data-close-on-escape="false", otherwise browser
155
+ // fires 'cancel' naturally which closes the dialog.
162
156
  document.addEventListener('cancel', (e) => {
163
157
  const dialog = e.target as HTMLDialogElement | null;
164
- if (dialog && dialog.tagName === 'DIALOG') {
165
- if (dialog.getAttribute('data-unmount-on-hide') === 'true') {
166
- if (!(dialog as any).rlaSavedHtml) {
167
- (dialog as any).rlaSavedHtml = dialog.innerHTML;
168
- }
169
- const closeBtn = dialog.querySelector('[data-slot="close-button"]');
158
+ if (!dialog || dialog.tagName !== 'DIALOG') return;
159
+
160
+ if (dialog.getAttribute('data-close-on-escape') === 'false') {
161
+ e.preventDefault();
162
+ return;
163
+ }
164
+ // Let the browser close it, then clean up
165
+ if (dialog.getAttribute('data-lock-scroll') === 'true') {
166
+ document.body.style.overflow = '';
167
+ }
168
+ if (dialog.getAttribute('data-unmount-on-hide') === 'true') {
169
+ requestAnimationFrame(() => {
170
+ (dialog as any).rlaSavedHtml = dialog.innerHTML;
170
171
  dialog.innerHTML = '';
171
- if (closeBtn) {
172
- dialog.appendChild(closeBtn);
173
- }
174
- }
172
+ });
175
173
  }
176
174
  });
177
175
 
@@ -0,0 +1,156 @@
1
+ import {
2
+ createMemo,
3
+ splitProps,
4
+ Show,
5
+ onMount,
6
+ onCleanup,
7
+ createEffect,
8
+ type Component,
9
+ type JSX
10
+ } from "solid-js"
11
+ import type { ModalProps } from "./modal"
12
+ import { modalTheme } from "./modal.theme"
13
+ import RLSIcon from "../icon/RLSIcon"
14
+
15
+ export interface RLSModalProps extends ModalProps {
16
+ onClose?: () => void
17
+ children?: JSX.Element
18
+ titleSlot?: JSX.Element
19
+ descriptionSlot?: JSX.Element
20
+ footerSlot?: JSX.Element
21
+ }
22
+
23
+ const RLSModal: Component<RLSModalProps> = (allProps) => {
24
+ const [props, rest] = splitProps(allProps, [
25
+ "open",
26
+ "onClose",
27
+ "title",
28
+ "description",
29
+ "size",
30
+ "closeOnClickOutside",
31
+ "closeOnEscape",
32
+ "lockScroll",
33
+ "unmountOnHide",
34
+ "ui",
35
+ "class",
36
+ "children",
37
+ "titleSlot",
38
+ "descriptionSlot",
39
+ "footerSlot"
40
+ ])
41
+
42
+ const closeOnClickOutside = () => props.closeOnClickOutside !== false
43
+ const closeOnEscape = () => props.closeOnEscape !== false
44
+
45
+ const handleClose = () => {
46
+ props.onClose?.()
47
+ }
48
+
49
+ onMount(() => {
50
+ const handleCancel = (e: Event) => {
51
+ // Native Escape fires 'cancel' on the dialog element
52
+ if (e.target !== dialogRef) return
53
+ if (!closeOnEscape()) {
54
+ e.preventDefault()
55
+ } else {
56
+ e.preventDefault()
57
+ handleClose()
58
+ }
59
+ }
60
+ const handleClick = (e: MouseEvent) => {
61
+ // Clicking the ::backdrop means e.target IS the dialog element
62
+ if (closeOnClickOutside() && e.target === dialogRef) {
63
+ handleClose()
64
+ }
65
+ }
66
+ document.addEventListener("cancel", handleCancel)
67
+ document.addEventListener("click", handleClick)
68
+ onCleanup(() => {
69
+ document.removeEventListener("cancel", handleCancel)
70
+ document.removeEventListener("click", handleClick)
71
+ })
72
+ })
73
+
74
+ const resolvedClasses = createMemo(() =>
75
+ modalTheme({
76
+ size: props.size ?? "md",
77
+ ui: props.ui,
78
+ class: props.class
79
+ })
80
+ )
81
+
82
+ let dialogRef: HTMLDialogElement | undefined
83
+
84
+ createEffect(() => {
85
+ if (!dialogRef) return
86
+ if (props.open) {
87
+ if (!dialogRef.open) dialogRef.showModal()
88
+ } else {
89
+ if (dialogRef.open) dialogRef.close()
90
+ }
91
+ })
92
+
93
+ return (
94
+ <Show when={props.open || !props.unmountOnHide}>
95
+ <dialog
96
+ ref={(el) => (dialogRef = el)}
97
+ class={`w-full rounded-xl border border-default bg-default p-6 shadow-xl outline-none flex flex-col max-h-[90vh] overflow-y-auto text-foreground backdrop:bg-black/60 backdrop:backdrop-blur-sm ${
98
+ resolvedClasses().content || ""
99
+ } ${props.class || ""}`}
100
+ data-slot="content"
101
+ {...rest}
102
+ >
103
+ <button
104
+ type="button"
105
+ class="absolute right-4 top-4 rounded-md p-1 text-muted-foreground hover:text-foreground hover:bg-neutral-100 dark:hover:bg-neutral-800 transition cursor-pointer border-none bg-transparent"
106
+ data-slot="close-button"
107
+ aria-label="Close modal"
108
+ onClick={handleClose}
109
+ >
110
+ <RLSIcon name="close" size="sm" aria-hidden="true" />
111
+ </button>
112
+
113
+ {props.title || props.description || props.titleSlot || props.descriptionSlot ? (
114
+ <div class={resolvedClasses().header || "mb-4"} data-slot="header">
115
+ {props.titleSlot ? (
116
+ props.titleSlot
117
+ ) : props.title ? (
118
+ <h3
119
+ class={resolvedClasses().title || "text-lg font-semibold text-highlighted"}
120
+ data-slot="title"
121
+ >
122
+ {props.title}
123
+ </h3>
124
+ ) : null}
125
+
126
+ {props.descriptionSlot ? (
127
+ props.descriptionSlot
128
+ ) : props.description ? (
129
+ <p
130
+ class={resolvedClasses().description || "text-sm text-muted"}
131
+ data-slot="description"
132
+ >
133
+ {props.description}
134
+ </p>
135
+ ) : null}
136
+ </div>
137
+ ) : null}
138
+
139
+ {props.children}
140
+
141
+ {props.footerSlot ? (
142
+ <div
143
+ class={
144
+ resolvedClasses().footer || "flex justify-end gap-2 mt-6 pt-4 border-t border-default"
145
+ }
146
+ data-slot="footer"
147
+ >
148
+ {props.footerSlot}
149
+ </div>
150
+ ) : null}
151
+ </dialog>
152
+ </Show>
153
+ )
154
+ }
155
+
156
+ export default RLSModal
@@ -1,17 +1,13 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, useSlots, useAttrs } from "vue"
3
- import { scv } from "css-variants"
4
- import { useUi } from "../../utils/useUi"
5
- import { resolveClasses } from "../../utils/resolveClasses"
6
3
  import type { ModalProps } from "./modal"
7
- import modalThemeDefault from "./modal.theme"
4
+ import { modalTheme } from "./modal.theme"
8
5
  import RLVIcon from "../icon/RLVIcon.vue"
9
6
 
10
7
  defineOptions({ name: "RLVModal" })
11
8
 
12
9
  const attrs = useAttrs()
13
10
  const slots = useSlots()
14
- const modalScv = scv(modalThemeDefault)
15
11
 
16
12
  const isOpen = defineModel<boolean>("open", { default: false })
17
13
 
@@ -36,7 +32,10 @@ const emit = defineEmits<{
36
32
  }>()
37
33
 
38
34
  const resolvedClasses = computed(() =>
39
- resolveClasses(modalScv, { size: props.size }, useUi("modal", props.ui), props.class)
35
+ modalTheme({
36
+ size: props.size,
37
+ class: props.class
38
+ })
40
39
  )
41
40
 
42
41
  function handleClose() {