@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
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  import { scv } from "css-variants"
3
3
  import { useUi, resolveClasses } from "../../utils"
4
- import type { ComboboxProps } from "../../types"
5
- import comboboxThemeDefault, { createComboboxTheme } from "../../themes/combobox.theme"
4
+ import type { InputMenuProps } from "../../types"
5
+ import inputMenuThemeDefault, { createInputMenuTheme } from "../../themes/input-menu.theme"
6
6
 
7
- const comboboxTheme = comboboxThemeDefault
8
- const combobox = scv(comboboxTheme)
7
+ const inputMenuTheme = inputMenuThemeDefault
8
+ const inputMenu = scv(inputMenuTheme)
9
9
 
10
10
  const {
11
11
  items = [],
@@ -19,11 +19,11 @@ const {
19
19
  ui: uiProp,
20
20
  class: className,
21
21
  ...rest
22
- } = Astro.props as ComboboxProps
22
+ } = Astro.props as InputMenuProps
23
23
 
24
- const classes = resolveClasses(combobox, {
24
+ const classes = resolveClasses(inputMenu, {
25
25
  size
26
- }, useUi("combobox", uiProp), className);
26
+ }, useUi("inputMenu", uiProp), className);
27
27
 
28
28
  const normalizedItems = items.map(item => {
29
29
  if (typeof item === "string") {
@@ -38,34 +38,34 @@ const initialLabel = selectedItem ? selectedItem.label : ""
38
38
  <div class={classes.root} data-slot="root" data-disabled={disabled ? "" : undefined}>
39
39
  {label && <label class={classes.label} data-slot="label">{label}</label>}
40
40
 
41
- <div class="relative w-full" data-combobox-wrapper>
41
+ <div class="relative w-full" data-inputMenu-wrapper>
42
42
  <button
43
43
  type="button"
44
44
  class={classes.trigger}
45
45
  data-slot="trigger"
46
46
  disabled={disabled}
47
- data-combobox-trigger
47
+ data-inputMenu-trigger
48
48
  {...rest}
49
49
  >
50
- <span data-combobox-value>{initialLabel || placeholder}</span>
50
+ <span data-inputMenu-value>{initialLabel || placeholder}</span>
51
51
  <span class="i-lucide-chevrons-up-down opacity-50" />
52
52
  </button>
53
53
 
54
- <div class={classes.content + " hidden"} data-combobox-dropdown data-slot="content">
54
+ <div class={classes.content + " hidden"} data-inputMenu-dropdown data-slot="content">
55
55
  <input
56
56
  type="text"
57
57
  class={classes.input}
58
58
  placeholder="Search..."
59
- data-combobox-search
59
+ data-inputMenu-search
60
60
  />
61
- <div class="py-1" data-combobox-items>
61
+ <div class="py-1" data-inputMenu-items>
62
62
  {normalizedItems.map(item => (
63
63
  <div
64
64
  class={classes.item}
65
65
  data-slot="item"
66
66
  data-value={item.value}
67
67
  data-label={item.label}
68
- data-combobox-item
68
+ data-inputMenu-item
69
69
  >
70
70
  <span class={classes.itemText}>{item.label}</span>
71
71
  <span class={classes.itemIcon + " hidden i-lucide-check"} data-check-icon />
@@ -74,17 +74,17 @@ const initialLabel = selectedItem ? selectedItem.label : ""
74
74
  </div>
75
75
  </div>
76
76
  </div>
77
- <input type="hidden" name={name} value={value} data-combobox-hidden-input />
77
+ <input type="hidden" name={name} value={value} data-inputMenu-hidden-input />
78
78
  </div>
79
79
 
80
80
  <script>
81
- document.querySelectorAll("[data-combobox-wrapper]").forEach(wrapper => {
82
- const trigger = wrapper.querySelector("[data-combobox-trigger]") as HTMLButtonElement;
83
- const dropdown = wrapper.querySelector("[data-combobox-dropdown]") as HTMLDivElement;
84
- const search = wrapper.querySelector("[data-combobox-search]") as HTMLInputElement;
85
- const items = wrapper.querySelectorAll("[data-combobox-item]");
86
- const valueSpan = wrapper.querySelector("[data-combobox-value]");
87
- const hiddenInput = wrapper.closest("[data-slot=root]")?.querySelector("[data-combobox-hidden-input]") as HTMLInputElement;
81
+ document.querySelectorAll("[data-inputMenu-wrapper]").forEach(wrapper => {
82
+ const trigger = wrapper.querySelector("[data-inputMenu-trigger]") as HTMLButtonElement;
83
+ const dropdown = wrapper.querySelector("[data-inputMenu-dropdown]") as HTMLDivElement;
84
+ const search = wrapper.querySelector("[data-inputMenu-search]") as HTMLInputElement;
85
+ const items = wrapper.querySelectorAll("[data-inputMenu-item]");
86
+ const valueSpan = wrapper.querySelector("[data-inputMenu-value]");
87
+ const hiddenInput = wrapper.closest("[data-slot=root]")?.querySelector("[data-inputMenu-hidden-input]") as HTMLInputElement;
88
88
 
89
89
  if (!trigger || !dropdown) return;
90
90
 
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { InputNumberProps } from "../../types"
5
+ import inputNumberThemeDefault from "../../themes/input-number.theme"
6
+
7
+ const inputNumber = scv(inputNumberThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as InputNumberProps
14
+
15
+ const classes = resolveClasses(inputNumber, {}, useUi("inputNumber", 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 { InputPinProps } from "../../types"
5
+ import inputPinThemeDefault from "../../themes/input-pin.theme"
6
+
7
+ const inputPin = scv(inputPinThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as InputPinProps
14
+
15
+ const classes = resolveClasses(inputPin, {}, useUi("inputPin", 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 { InputTagsProps } from "../../types"
5
+ import inputTagsThemeDefault from "../../themes/input-tags.theme"
6
+
7
+ const inputTags = scv(inputTagsThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as InputTagsProps
14
+
15
+ const classes = resolveClasses(inputTags, {}, useUi("inputTags", 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 { InputTimeProps } from "../../types"
5
+ import inputTimeThemeDefault from "../../themes/input-time.theme"
6
+
7
+ const inputTime = scv(inputTimeThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as InputTimeProps
14
+
15
+ const classes = resolveClasses(inputTime, {}, useUi("inputTime", 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 { KnobProps } from "../../types"
5
+ import knobThemeDefault from "../../themes/knob.theme"
6
+
7
+ const knob = scv(knobThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as KnobProps
14
+
15
+ const classes = resolveClasses(knob, {}, useUi("knob", 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 { LinkProps } from "../../types"
5
+ import linkThemeDefault from "../../themes/link.theme"
6
+
7
+ const link = scv(linkThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as LinkProps
14
+
15
+ const classes = resolveClasses(link, {}, useUi("link", 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 { LinkGroupProps } from "../../types"
5
+ import linkGroupThemeDefault from "../../themes/link-group.theme"
6
+
7
+ const linkGroup = scv(linkGroupThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as LinkGroupProps
14
+
15
+ const classes = resolveClasses(linkGroup, {}, useUi("linkGroup", 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 { ListboxProps } from "../../types"
5
+ import listboxThemeDefault from "../../themes/listbox.theme"
6
+
7
+ const listbox = scv(listboxThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ListboxProps
14
+
15
+ const classes = resolveClasses(listbox, {}, useUi("listbox", 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 { LocaleSelectorProps } from "../../types"
5
- import localeSelectorTheme from "../../themes/localeSelector.theme"
5
+ import localeSelectorTheme from "../../themes/locale-selector.theme"
6
6
  import { getRelativeLocaleUrlList, getRelativeLocaleUrl } from "astro:i18n";
7
7
 
8
8
  const localeSelector = scv(localeSelectorTheme)
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { MegamenuProps } from "../../types"
5
+ import megamenuThemeDefault from "../../themes/megamenu.theme"
6
+
7
+ const megamenu = scv(megamenuThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as MegamenuProps
14
+
15
+ const classes = resolveClasses(megamenu, {}, useUi("megamenu", 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 { MeterProps } from "../../types"
5
+ import meterThemeDefault from "../../themes/meter.theme"
6
+
7
+ const meter = scv(meterThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as MeterProps
14
+
15
+ const classes = resolveClasses(meter, {}, useUi("meter", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  import { scv } from "css-variants"
3
3
  import { useUi, resolveClasses } from "../../utils"
4
- import type { DialogProps } from "../../types"
5
- import dialogTheme from "../../themes/dialog.theme"
4
+ import type { ModalProps } from "../../types"
5
+ import modalTheme from "../../themes/modal.theme"
6
6
 
7
- const dialog = scv(dialogTheme)
7
+ const modal = scv(modalTheme)
8
8
 
9
9
  const {
10
10
  open = false,
@@ -18,32 +18,32 @@ const {
18
18
  ui: uiProp,
19
19
  class: className,
20
20
  ...rest
21
- } = Astro.props as DialogProps
21
+ } = Astro.props as ModalProps
22
22
 
23
- const classes = resolveClasses(dialog, {
23
+ const classes = resolveClasses(modal, {
24
24
  size
25
- }, useUi("dialog", uiProp), className)
25
+ }, useUi("modal", uiProp), className)
26
26
 
27
- const dialogId = `rla-dialog-${Math.random().toString(36).substring(2, 9)}`
27
+ const modalId = `rla-modal-${Math.random().toString(36).substring(2, 9)}`
28
28
  ---
29
- <div class={classes.root} data-slot="dialog-container">
29
+ <div class={classes.root} data-slot="modal-container">
30
30
  {triggerLabel ? (
31
31
  <button
32
32
  class={classes.trigger}
33
33
  data-slot="trigger"
34
34
  type="button"
35
- onclick={`document.getElementById('${dialogId}').showModal()`}
35
+ onclick={`document.getElementById('${modalId}').showmodal()`}
36
36
  >
37
37
  {triggerLabel}
38
38
  </button>
39
39
  ) : (
40
- <span onclick={`document.getElementById('${dialogId}').showModal()`}>
40
+ <span onclick={`document.getElementById('${modalId}').showmodal()`}>
41
41
  <slot name="trigger" />
42
42
  </span>
43
43
  )}
44
44
 
45
45
  <dialog
46
- id={dialogId}
46
+ id={modalId}
47
47
  class={classes.content}
48
48
  data-slot="content"
49
49
  data-lock-scroll={lockScroll ? "true" : "false"}
@@ -55,8 +55,8 @@ const dialogId = `rla-dialog-${Math.random().toString(36).substring(2, 9)}`
55
55
  class={classes.closeButton}
56
56
  data-slot="close-button"
57
57
  type="button"
58
- onclick={`document.getElementById('${dialogId}').close()`}
59
- aria-label="Close dialog"
58
+ onclick={`document.getElementById('${modalId}').close()`}
59
+ aria-label="Close modal"
60
60
  >
61
61
  <span class="i-lucide-x size-4" aria-hidden="true" />
62
62
  </button>
@@ -81,13 +81,13 @@ const dialogId = `rla-dialog-${Math.random().toString(36).substring(2, 9)}`
81
81
  document.addEventListener('click', (e) => {
82
82
  if (e.target && e.target.tagName === 'DIALOG' && e.target.getAttribute('data-close-on-click-outside') === 'true') {
83
83
  const rect = e.target.getBoundingClientRect();
84
- const isInDialog = (
84
+ const isInModal = (
85
85
  rect.top <= e.clientY &&
86
86
  e.clientY <= rect.top + rect.height &&
87
87
  rect.left <= e.clientX &&
88
88
  e.clientX <= rect.left + rect.width
89
89
  );
90
- if (!isInDialog) {
90
+ if (!isInModal) {
91
91
  e.target.close();
92
92
  }
93
93
  }
@@ -2,7 +2,7 @@
2
2
  import { scv } from "css-variants"
3
3
  import { useUi, resolveClasses } from "../../utils"
4
4
  import type { NavigationMenuProps } from "../../types"
5
- import navigationMenuThemeDefault, { createNavigationMenuTheme } from "../../themes/navigationMenu.theme"
5
+ import navigationMenuThemeDefault, { createNavigationMenuTheme } from "../../themes/navigation-menu.theme"
6
6
 
7
7
  const navigationMenuTheme = navigationMenuThemeDefault
8
8
  const navigationMenu = scv(navigationMenuTheme)
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { PageProps } from "../../types"
5
+ import pageThemeDefault from "../../themes/page.theme"
6
+
7
+ const page = scv(pageThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as PageProps
14
+
15
+ const classes = resolveClasses(page, {}, useUi("page", 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 { PageAsideProps } from "../../types"
5
+ import pageAsideThemeDefault from "../../themes/page-aside.theme"
6
+
7
+ const pageAside = scv(pageAsideThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as PageAsideProps
14
+
15
+ const classes = resolveClasses(pageAside, {}, useUi("pageAside", 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 { PageBodyProps } from "../../types"
5
+ import pageBodyThemeDefault from "../../themes/page-body.theme"
6
+
7
+ const pageBody = scv(pageBodyThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as PageBodyProps
14
+
15
+ const classes = resolveClasses(pageBody, {}, useUi("pageBody", 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 { PageHeaderProps } from "../../types"
5
+ import pageHeaderThemeDefault from "../../themes/page-header.theme"
6
+
7
+ const pageHeader = scv(pageHeaderThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as PageHeaderProps
14
+
15
+ const classes = resolveClasses(pageHeader, {}, useUi("pageHeader", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  import { scv } from "css-variants"
3
3
  import { useUi, resolveClasses } from "../../utils"
4
- import type { SectionProps } from "../../types"
5
- import sectionTheme from "../../themes/section.theme"
4
+ import type { PageSectionProps } from "../../types"
5
+ import pageSectionTheme from "../../themes/page-section.theme"
6
6
  import RLAIcon from "./RLAIcon.astro"
7
7
  import RLAButton from "./RLAButton.astro"
8
8
 
9
- const section = scv(sectionTheme)
9
+ const pageSection = scv(pageSectionTheme)
10
10
 
11
11
  const {
12
12
  as = "section",
@@ -22,9 +22,9 @@ const {
22
22
  ui: uiProp,
23
23
  class: className,
24
24
  ...rest
25
- } = Astro.props as SectionProps;
25
+ } = Astro.props as PageSectionProps;
26
26
 
27
- const classes = resolveClasses(section, {
27
+ const classes = resolveClasses(pageSection, {
28
28
  variant,
29
29
  orientation,
30
30
  reverse,
@@ -33,7 +33,7 @@ const classes = resolveClasses(section, {
33
33
  title: !!(Astro.slots.has("title") || title),
34
34
  description: !!(Astro.slots.has("description") || description),
35
35
  body: Astro.slots.has("body")
36
- }, useUi("section", uiProp), className);
36
+ }, useUi("pageSection", uiProp), className);
37
37
 
38
38
  const hasDefaultSlot = Astro.slots.has("default");
39
39
 
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { PasswordProps } from "../../types"
5
+ import passwordThemeDefault from "../../themes/password.theme"
6
+
7
+ const password = scv(passwordThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as PasswordProps
14
+
15
+ const classes = resolveClasses(password, {}, useUi("password", 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 { PhoneMockupProps } from "../../types"
5
+ import phoneMockupThemeDefault from "../../themes/phone-mockup.theme"
6
+
7
+ const phoneMockup = scv(phoneMockupThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as PhoneMockupProps
14
+
15
+ const classes = resolveClasses(phoneMockup, {}, useUi("phoneMockup", 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 { PostProps } from "../../types"
5
+ import postThemeDefault from "../../themes/post.theme"
6
+
7
+ const post = scv(postThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as PostProps
14
+
15
+ const classes = resolveClasses(post, {}, useUi("post", 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 { PricingPlanProps } from "../../types"
5
+ import pricingPlanThemeDefault from "../../themes/pricing-plan.theme"
6
+
7
+ const pricingPlan = scv(pricingPlanThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as PricingPlanProps
14
+
15
+ const classes = resolveClasses(pricingPlan, {}, useUi("pricingPlan", 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 { PricingTableProps } from "../../types"
5
+ import pricingTableThemeDefault from "../../themes/pricing-table.theme"
6
+
7
+ const pricingTable = scv(pricingTableThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as PricingTableProps
14
+
15
+ const classes = resolveClasses(pricingTable, {}, useUi("pricingTable", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>
@@ -14,6 +14,7 @@ const {
14
14
  max = 100,
15
15
  color = "primary",
16
16
  size = "md",
17
+ theme,
17
18
  ui: uiProp,
18
19
  class: className,
19
20
  ...rest
@@ -21,7 +22,8 @@ const {
21
22
 
22
23
  const classes = resolveClasses(progress, {
23
24
  color,
24
- size
25
+ size,
26
+ theme
25
27
  }, useUi("progress", uiProp), className)
26
28
 
27
29
  const percentage = Math.min(100, Math.max(0, (value / max) * 100))
@@ -0,0 +1,19 @@
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ProseProps } from "../../types"
5
+ import proseThemeDefault from "../../themes/prose.theme"
6
+
7
+ const prose = scv(proseThemeDefault)
8
+
9
+ const {
10
+ ui: uiProp,
11
+ class: className,
12
+ ...rest
13
+ } = Astro.props as ProseProps
14
+
15
+ const classes = resolveClasses(prose, {}, useUi("prose", uiProp), className);
16
+ ---
17
+ <div class={classes.root} data-slot="root" {...rest}>
18
+ <slot />
19
+ </div>