@rimelight/ui 0.0.30 → 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.
- package/package.json +1 -1
- package/src/components/astro/RLA3dHover.astro +19 -0
- package/src/components/astro/RLAAlert.astro +62 -0
- package/src/components/astro/RLAApp.astro +19 -0
- package/src/components/astro/RLAAspectRatio.astro +23 -0
- package/src/components/astro/RLAAudio.astro +19 -0
- package/src/components/astro/RLAAvatar.astro +56 -0
- package/src/components/astro/RLAAvatarGroup.astro +19 -0
- package/src/components/astro/RLABadge.astro +33 -0
- package/src/components/astro/RLABanner.astro +19 -0
- package/src/components/astro/RLABreadcrumb.astro +44 -0
- package/src/components/astro/RLABrowserMockup.astro +19 -0
- package/src/components/astro/RLAButton.astro +3 -1
- package/src/components/astro/RLACalendar.astro +19 -0
- package/src/components/astro/RLACard.astro +74 -0
- package/src/components/astro/RLACarousel.astro +71 -0
- package/src/components/astro/RLAChangelog.astro +19 -0
- package/src/components/astro/RLAChart.astro +239 -0
- package/src/components/astro/RLAChat.astro +19 -0
- package/src/components/astro/RLAChatMessage.astro +19 -0
- package/src/components/astro/RLAChatMessages.astro +19 -0
- package/src/components/astro/RLAChatPalette.astro +19 -0
- package/src/components/astro/RLAChatPrompt.astro +19 -0
- package/src/components/astro/RLAChatPromptSubmit.astro +19 -0
- package/src/components/astro/RLAChatReasoning.astro +19 -0
- package/src/components/astro/RLAChatShimmer.astro +19 -0
- package/src/components/astro/RLAChatTool.astro +19 -0
- package/src/components/astro/RLACheckbox.astro +53 -0
- package/src/components/astro/RLAChip.astro +20 -0
- package/src/components/astro/RLACollapsible.astro +38 -0
- package/src/components/astro/RLAColorPicker.astro +19 -0
- package/src/components/astro/RLACommandPalette.astro +19 -0
- package/src/components/astro/RLACompare.astro +19 -0
- package/src/components/astro/RLAConfirm.astro +86 -0
- package/src/components/astro/RLAContainer.astro +19 -0
- package/src/components/astro/RLAContextMenu.astro +19 -0
- package/src/components/astro/RLADashboardGroup.astro +19 -0
- package/src/components/astro/RLADashboardNavbar.astro +19 -0
- package/src/components/astro/RLADashboardPanel.astro +19 -0
- package/src/components/astro/RLADashboardResizeHandle.astro +19 -0
- package/src/components/astro/RLADashboardSearch.astro +19 -0
- package/src/components/astro/RLADashboardSearchButton.astro +19 -0
- package/src/components/astro/RLADashboardSidebar.astro +19 -0
- package/src/components/astro/RLADashboardSidebarCollapse.astro +19 -0
- package/src/components/astro/RLADashboardSidebarToggle.astro +19 -0
- package/src/components/astro/RLADashboardToolbar.astro +19 -0
- package/src/components/astro/RLADock.astro +19 -0
- package/src/components/astro/RLADrawer.astro +74 -0
- package/src/components/astro/RLADropdownMenu.astro +82 -0
- package/src/components/astro/RLAEditor.astro +19 -0
- package/src/components/astro/RLAEmpty.astro +19 -0
- package/src/components/astro/RLAError.astro +19 -0
- package/src/components/astro/RLAFieldGroup.astro +35 -0
- package/src/components/astro/RLAFieldset.astro +19 -0
- package/src/components/astro/RLAFileUpload.astro +134 -0
- package/src/components/astro/RLAFloatingAction.astro +19 -0
- package/src/components/astro/RLAForm.astro +19 -0
- package/src/components/astro/RLAFormField.astro +43 -0
- package/src/components/astro/RLAGallery.astro +19 -0
- package/src/components/{Head.astro → astro/RLAHead.astro} +181 -199
- package/src/components/astro/RLAHoverCard.astro +31 -0
- package/src/components/astro/RLAImage.astro +19 -0
- package/src/components/astro/RLAInput.astro +62 -0
- package/src/components/astro/RLAInputDate.astro +19 -0
- package/src/components/astro/RLAInputMenu.astro +131 -0
- package/src/components/astro/RLAInputNumber.astro +19 -0
- package/src/components/astro/RLAInputPin.astro +19 -0
- package/src/components/astro/RLAInputTags.astro +19 -0
- package/src/components/astro/RLAInputTime.astro +19 -0
- package/src/components/astro/RLAKbd.astro +22 -0
- package/src/components/astro/RLAKnob.astro +19 -0
- package/src/components/astro/RLALabel.astro +23 -0
- package/src/components/astro/RLALink.astro +19 -0
- package/src/components/astro/RLALinkGroup.astro +19 -0
- package/src/components/astro/RLAListbox.astro +19 -0
- package/src/components/astro/RLALocaleSelector.astro +110 -0
- package/src/components/astro/RLAMarquee.astro +32 -0
- package/src/components/astro/RLAMegamenu.astro +19 -0
- package/src/components/astro/RLAMeter.astro +19 -0
- package/src/components/astro/RLAModal.astro +95 -0
- package/src/components/astro/RLANavigationMenu.astro +136 -0
- package/src/components/astro/RLAPage.astro +19 -0
- package/src/components/astro/RLAPageAside.astro +19 -0
- package/src/components/astro/RLAPageBody.astro +19 -0
- package/src/components/astro/RLAPageHeader.astro +19 -0
- package/src/components/astro/{RLASection.astro → RLAPageSection.astro} +6 -6
- package/src/components/astro/RLAPagination.astro +94 -0
- package/src/components/astro/RLAPassword.astro +19 -0
- package/src/components/astro/RLAPhoneMockup.astro +19 -0
- package/src/components/astro/RLAPopover.astro +31 -0
- package/src/components/astro/RLAPost.astro +19 -0
- package/src/components/astro/RLAPricingPlan.astro +19 -0
- package/src/components/astro/RLAPricingTable.astro +19 -0
- package/src/components/astro/RLAProgress.astro +45 -0
- package/src/components/astro/RLAProse.astro +19 -0
- package/src/components/astro/RLAQrCode.astro +19 -0
- package/src/components/astro/RLARadioGroup.astro +19 -0
- package/src/components/astro/RLARating.astro +19 -0
- package/src/components/astro/RLAScrollArea.astro +157 -0
- package/src/components/astro/RLAScrollToTop.astro +172 -159
- package/src/components/astro/RLASelect.astro +109 -0
- package/src/components/astro/RLASeparator.astro +27 -0
- package/src/components/astro/RLASidebar.astro +135 -0
- package/src/components/astro/RLASkeleton.astro +20 -0
- package/src/components/astro/RLASlideover.astro +72 -0
- package/src/components/astro/RLASlider.astro +58 -0
- package/src/components/astro/RLASpeedDial.astro +19 -0
- package/src/components/astro/RLASpinner.astro +27 -0
- package/src/components/astro/RLASplitter.astro +177 -0
- package/src/components/astro/RLASpoiler.astro +19 -0
- package/src/components/astro/RLAStepper.astro +19 -0
- package/src/components/astro/RLAStickySurface.astro +27 -0
- package/src/components/astro/RLASwitch.astro +51 -0
- package/src/components/astro/RLATable.astro +60 -0
- package/src/components/astro/RLATableOfContents.astro +19 -0
- package/src/components/astro/RLATabs.astro +92 -0
- package/src/components/astro/RLATextarea.astro +42 -0
- package/src/components/astro/RLAThemeSelector.astro +73 -0
- package/src/components/astro/RLATimeline.astro +19 -0
- package/src/components/astro/RLAToast.astro +107 -0
- package/src/components/astro/RLATooltip.astro +31 -0
- package/src/components/astro/RLATour.astro +19 -0
- package/src/components/astro/RLATree.astro +19 -0
- package/src/components/astro/RLAUser.astro +19 -0
- package/src/components/astro/{RLAEmbedYoutube.astro → RLAVideo.astro} +6 -6
- package/src/components/astro/RLAWatermark.astro +19 -0
- package/src/components/astro/RLAWindowMockup.astro +19 -0
- package/src/integrations/ui.ts +208 -142
- package/src/presets/defaults.ts +285 -0
- package/src/presets/index.ts +537 -256
- package/src/styles/index.css +6 -0
- package/src/themes/3d-hover.theme.ts +10 -0
- package/src/themes/accordion.theme.ts +10 -0
- package/src/themes/alert.theme.ts +56 -0
- package/src/themes/app.theme.ts +10 -0
- package/src/themes/aspect-ratio.theme.ts +11 -0
- package/src/themes/audio.theme.ts +10 -0
- package/src/themes/avatar-group.theme.ts +10 -0
- package/src/themes/avatar.theme.ts +28 -0
- package/src/themes/badge.theme.ts +66 -0
- package/src/themes/banner.theme.ts +10 -0
- package/src/themes/breadcrumb.theme.ts +15 -0
- package/src/themes/browser-mockup.theme.ts +10 -0
- package/src/themes/button.theme.ts +195 -190
- package/src/themes/calendar.theme.ts +10 -0
- package/src/themes/card.theme.ts +34 -0
- package/src/themes/carousel.theme.ts +32 -0
- package/src/themes/changelog.theme.ts +10 -0
- package/src/themes/chart.theme.ts +21 -0
- package/src/themes/chat-message.theme.ts +10 -0
- package/src/themes/chat-messages.theme.ts +10 -0
- package/src/themes/chat-palette.theme.ts +10 -0
- package/src/themes/chat-prompt-submit.theme.ts +10 -0
- package/src/themes/chat-prompt.theme.ts +10 -0
- package/src/themes/chat-reasoning.theme.ts +10 -0
- package/src/themes/chat-shimmer.theme.ts +10 -0
- package/src/themes/chat-tool.theme.ts +10 -0
- package/src/themes/chat.theme.ts +10 -0
- package/src/themes/checkbox.theme.ts +48 -0
- package/src/themes/chip.theme.ts +16 -0
- package/src/themes/collapsible.theme.ts +22 -0
- package/src/themes/color-picker.theme.ts +10 -0
- package/src/themes/command-palette.theme.ts +10 -0
- package/src/themes/compare.theme.ts +10 -0
- package/src/themes/confirm.theme.ts +33 -0
- package/src/themes/container.theme.ts +10 -0
- package/src/themes/context-menu.theme.ts +10 -0
- package/src/themes/dashboard-group.theme.ts +10 -0
- package/src/themes/dashboard-navbar.theme.ts +10 -0
- package/src/themes/dashboard-panel.theme.ts +10 -0
- package/src/themes/dashboard-resize-handle.theme.ts +10 -0
- package/src/themes/dashboard-search-button.theme.ts +10 -0
- package/src/themes/dashboard-search.theme.ts +10 -0
- package/src/themes/dashboard-sidebar-collapse.theme.ts +10 -0
- package/src/themes/dashboard-sidebar-toggle.theme.ts +10 -0
- package/src/themes/dashboard-sidebar.theme.ts +10 -0
- package/src/themes/dashboard-toolbar.theme.ts +10 -0
- package/src/themes/dock.theme.ts +10 -0
- package/src/themes/drawer.theme.ts +44 -0
- package/src/themes/dropdown-menu.theme.ts +27 -0
- package/src/themes/editor.theme.ts +10 -0
- package/src/themes/empty.theme.ts +10 -0
- package/src/themes/error.theme.ts +10 -0
- package/src/themes/field-group.theme.ts +23 -0
- package/src/themes/fieldset.theme.ts +10 -0
- package/src/themes/file-upload.theme.ts +24 -0
- package/src/themes/floating-action.theme.ts +10 -0
- package/src/themes/form-field.theme.ts +24 -0
- package/src/themes/form.theme.ts +10 -0
- package/src/themes/gallery.theme.ts +10 -0
- package/src/themes/head.theme.ts +10 -0
- package/src/themes/hover-card.theme.ts +27 -0
- package/src/themes/image.theme.ts +10 -0
- package/src/themes/input-date.theme.ts +10 -0
- package/src/themes/input-menu.theme.ts +28 -0
- package/src/themes/input-number.theme.ts +10 -0
- package/src/themes/input-pin.theme.ts +10 -0
- package/src/themes/input-tags.theme.ts +10 -0
- package/src/themes/input-time.theme.ts +10 -0
- package/src/themes/input.theme.ts +41 -0
- package/src/themes/kbd.theme.ts +24 -0
- package/src/themes/knob.theme.ts +10 -0
- package/src/themes/label.theme.ts +20 -0
- package/src/themes/link-group.theme.ts +10 -0
- package/src/themes/link.theme.ts +10 -0
- package/src/themes/listbox.theme.ts +10 -0
- package/src/themes/locale-selector.theme.ts +50 -0
- package/src/themes/marquee.theme.ts +27 -0
- package/src/themes/megamenu.theme.ts +10 -0
- package/src/themes/meter.theme.ts +10 -0
- package/src/themes/modal.theme.ts +37 -0
- package/src/themes/navigation-menu.theme.ts +19 -0
- package/src/themes/page-aside.theme.ts +10 -0
- package/src/themes/page-body.theme.ts +10 -0
- package/src/themes/page-header.theme.ts +10 -0
- package/src/themes/{section.theme.ts → page-section.theme.ts} +1 -2
- package/src/themes/page.theme.ts +10 -0
- package/src/themes/pagination.theme.ts +26 -0
- package/src/themes/password.theme.ts +10 -0
- package/src/themes/phone-mockup.theme.ts +10 -0
- package/src/themes/popover.theme.ts +28 -0
- package/src/themes/post.theme.ts +10 -0
- package/src/themes/pricing-plan.theme.ts +10 -0
- package/src/themes/pricing-table.theme.ts +10 -0
- package/src/themes/progress.theme.ts +37 -0
- package/src/themes/prose.theme.ts +10 -0
- package/src/themes/qr-code.theme.ts +10 -0
- package/src/themes/quote.theme.ts +10 -0
- package/src/themes/radio-group.theme.ts +10 -0
- package/src/themes/rating.theme.ts +10 -0
- package/src/themes/scroll-area.theme.ts +24 -0
- package/src/themes/scroll-to-top.theme.ts +44 -40
- package/src/themes/select.theme.ts +27 -0
- package/src/themes/separator.theme.ts +19 -0
- package/src/themes/sidebar.theme.ts +33 -0
- package/src/themes/skeleton.theme.ts +20 -0
- package/src/themes/slideover.theme.ts +43 -0
- package/src/themes/slider.theme.ts +34 -0
- package/src/themes/speed-dial.theme.ts +10 -0
- package/src/themes/spinner.theme.ts +35 -0
- package/src/themes/splitter.theme.ts +22 -0
- package/src/themes/spoiler.theme.ts +10 -0
- package/src/themes/stepper.theme.ts +10 -0
- package/src/themes/sticky-surface.theme.ts +10 -0
- package/src/themes/switch.theme.ts +65 -0
- package/src/themes/table-of-contents.theme.ts +10 -0
- package/src/themes/table.theme.ts +36 -0
- package/src/themes/tabs.theme.ts +44 -0
- package/src/themes/textarea.theme.ts +26 -0
- package/src/themes/theme-selector.theme.ts +16 -0
- package/src/themes/timeline.theme.ts +10 -0
- package/src/themes/toast.theme.ts +25 -0
- package/src/themes/tooltip.theme.ts +27 -0
- package/src/themes/tour.theme.ts +10 -0
- package/src/themes/tree.theme.ts +10 -0
- package/src/themes/user.theme.ts +10 -0
- package/src/themes/watermark.theme.ts +10 -0
- package/src/themes/window-mockup.theme.ts +10 -0
- package/src/types/components/3d-hover.ts +11 -0
- package/src/types/components/accordion.ts +1 -1
- package/src/types/components/alert.ts +37 -0
- package/src/types/components/app.ts +11 -0
- package/src/types/components/aspect-ratio.ts +15 -0
- package/src/types/components/audio.ts +11 -0
- package/src/types/components/avatar-group.ts +12 -0
- package/src/types/components/avatar.ts +35 -0
- package/src/types/components/badge.ts +33 -0
- package/src/types/components/banner.ts +11 -0
- package/src/types/components/breadcrumb.ts +24 -0
- package/src/types/components/browser-mockup.ts +11 -0
- package/src/types/components/button.ts +7 -1
- package/src/types/components/calendar.ts +11 -0
- package/src/types/components/card.ts +31 -0
- package/src/types/components/carousel.ts +25 -0
- package/src/types/components/changelog.ts +11 -0
- package/src/types/components/chart.ts +38 -0
- package/src/types/components/chat-message.ts +11 -0
- package/src/types/components/chat-messages.ts +11 -0
- package/src/types/components/chat-palette.ts +11 -0
- package/src/types/components/chat-prompt-submit.ts +11 -0
- package/src/types/components/chat-prompt.ts +11 -0
- package/src/types/components/chat-reasoning.ts +11 -0
- package/src/types/components/chat-shimmer.ts +11 -0
- package/src/types/components/chat-tool.ts +11 -0
- package/src/types/components/chat.ts +11 -0
- package/src/types/components/checkbox.ts +41 -0
- package/src/types/components/chip.ts +17 -0
- package/src/types/components/collapsible.ts +31 -0
- package/src/types/components/color-picker.ts +11 -0
- package/src/types/components/command-palette.ts +11 -0
- package/src/types/components/compare.ts +11 -0
- package/src/types/components/confirm.ts +35 -0
- package/src/types/components/container.ts +11 -0
- package/src/types/components/context-menu.ts +11 -0
- package/src/types/components/dashboard-group.ts +11 -0
- package/src/types/components/dashboard-navbar.ts +11 -0
- package/src/types/components/dashboard-panel.ts +11 -0
- package/src/types/components/dashboard-resize-handle.ts +11 -0
- package/src/types/components/dashboard-search-button.ts +11 -0
- package/src/types/components/dashboard-search.ts +11 -0
- package/src/types/components/dashboard-sidebar-collapse.ts +11 -0
- package/src/types/components/dashboard-sidebar-toggle.ts +11 -0
- package/src/types/components/dashboard-sidebar.ts +11 -0
- package/src/types/components/dashboard-toolbar.ts +11 -0
- package/src/types/components/dock.ts +11 -0
- package/src/types/components/drawer.ts +31 -0
- package/src/types/components/dropdown-menu.ts +42 -0
- package/src/types/components/editor.ts +11 -0
- package/src/types/components/empty.ts +11 -0
- package/src/types/components/error.ts +11 -0
- package/src/types/components/field-group.ts +23 -0
- package/src/types/components/fieldset.ts +11 -0
- package/src/types/components/file-upload.ts +39 -0
- package/src/types/components/floating-action.ts +11 -0
- package/src/types/components/footer.ts +1 -1
- package/src/types/components/form-field.ts +31 -0
- package/src/types/components/form.ts +11 -0
- package/src/types/components/gallery.ts +11 -0
- package/src/types/components/header.ts +1 -1
- package/src/types/components/hover-card.ts +19 -0
- package/src/types/components/icon.ts +2 -1
- package/src/types/components/image.ts +11 -0
- package/src/types/components/index.ts +134 -13
- package/src/types/components/input-date.ts +11 -0
- package/src/types/components/input-menu.ts +44 -0
- package/src/types/components/input-number.ts +11 -0
- package/src/types/components/input-pin.ts +11 -0
- package/src/types/components/input-tags.ts +11 -0
- package/src/types/components/input-time.ts +11 -0
- package/src/types/components/input.ts +65 -0
- package/src/types/components/kbd.ts +15 -0
- package/src/types/components/knob.ts +11 -0
- package/src/types/components/label.ts +19 -0
- package/src/types/components/link-group.ts +11 -0
- package/src/types/components/link.ts +1 -1
- package/src/types/components/listbox.ts +11 -0
- package/src/types/components/locale-selector.ts +33 -0
- package/src/types/components/logo.ts +1 -1
- package/src/types/components/main.ts +1 -1
- package/src/types/components/marquee.ts +23 -0
- package/src/types/components/megamenu.ts +11 -0
- package/src/types/components/meter.ts +11 -0
- package/src/types/components/modal.ts +40 -0
- package/src/types/components/{navigation.ts → navigation-menu.ts} +22 -2
- package/src/types/components/page-aside.ts +11 -0
- package/src/types/components/page-body.ts +11 -0
- package/src/types/components/page-header.ts +11 -0
- package/src/types/components/{section.ts → page-section.ts} +2 -2
- package/src/types/components/page.ts +11 -0
- package/src/types/components/pagination.ts +23 -0
- package/src/types/components/password.ts +11 -0
- package/src/types/components/phone-mockup.ts +5 -0
- package/src/types/components/placeholder.ts +1 -1
- package/src/types/components/popover.ts +24 -0
- package/src/types/components/post.ts +11 -0
- package/src/types/components/pricing-plan.ts +11 -0
- package/src/types/components/pricing-table.ts +11 -0
- package/src/types/components/progress.ts +34 -0
- package/src/types/components/prose.ts +11 -0
- package/src/types/components/qr-code.ts +11 -0
- package/src/types/components/quote.ts +11 -0
- package/src/types/components/radio-group.ts +11 -0
- package/src/types/components/rating.ts +11 -0
- package/src/types/components/scroll-area.ts +24 -0
- package/src/types/components/scroll-to-top.ts +7 -1
- package/src/types/components/select.ts +43 -0
- package/src/types/components/separator.ts +20 -0
- package/src/types/components/sidebar.ts +37 -0
- package/src/types/components/skeleton.ts +15 -0
- package/src/types/components/slideover.ts +32 -0
- package/src/types/components/slider.ts +41 -0
- package/src/types/components/speed-dial.ts +11 -0
- package/src/types/components/spinner.ts +26 -0
- package/src/types/components/splitter.ts +20 -0
- package/src/types/components/spoiler.ts +11 -0
- package/src/types/components/stepper.ts +11 -0
- package/src/types/components/sticky-surface.ts +20 -0
- package/src/types/components/switch.ts +42 -0
- package/src/types/components/table-of-contents.ts +11 -0
- package/src/types/components/table.ts +31 -0
- package/src/types/components/tabs.ts +43 -0
- package/src/types/components/textarea.ts +51 -0
- package/src/types/components/theme-selector.ts +15 -0
- package/src/types/components/timeline.ts +11 -0
- package/src/types/components/toast.ts +35 -0
- package/src/types/components/tooltip.ts +24 -0
- package/src/types/components/tour.ts +11 -0
- package/src/types/components/tree.ts +11 -0
- package/src/types/components/user.ts +11 -0
- package/src/types/components/{embed-youtube.ts → video.ts} +2 -2
- package/src/types/components/watermark.ts +11 -0
- package/src/types/components/window-mockup.ts +11 -0
- package/src/types/index.ts +2 -1
- package/src/types/theme.ts +1 -0
- package/src/components/ThemeToggle.astro +0 -57
- package/src/preset.ts +0 -393
- /package/src/themes/{embedYoutube.theme.ts → video.theme.ts} +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const createTableTheme = () =>
|
|
4
|
+
defineTheme({
|
|
5
|
+
slots: ["root", "table", "thead", "tbody", "tfoot", "tr", "th", "td", "caption"],
|
|
6
|
+
base: {
|
|
7
|
+
root: "relative w-full overflow-auto rounded-lg border border-border shadow-sm",
|
|
8
|
+
table: "w-full text-sm text-left border-collapse",
|
|
9
|
+
thead: "bg-muted/50 border-b border-border",
|
|
10
|
+
tbody: "divide-y divide-border",
|
|
11
|
+
tfoot: "bg-muted/30 border-t border-border font-medium",
|
|
12
|
+
tr: "transition-colors hover:bg-muted/30",
|
|
13
|
+
th: "p-4 text-xs font-semibold uppercase text-muted-foreground",
|
|
14
|
+
td: "p-4 text-foreground align-middle",
|
|
15
|
+
caption: "p-4 text-xs text-muted-foreground text-center"
|
|
16
|
+
},
|
|
17
|
+
variants: {
|
|
18
|
+
striped: {
|
|
19
|
+
true: { tr: "odd:bg-background even:bg-muted/20 hover:bg-muted/35" }
|
|
20
|
+
},
|
|
21
|
+
bordered: {
|
|
22
|
+
true: {
|
|
23
|
+
root: "border-2 border-border",
|
|
24
|
+
tr: "border-b border-border",
|
|
25
|
+
th: "border-r border-border last:border-r-0",
|
|
26
|
+
td: "border-r border-border last:border-r-0"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
striped: false,
|
|
32
|
+
bordered: false
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
export default createTableTheme()
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const createTabsTheme = () =>
|
|
4
|
+
defineTheme({
|
|
5
|
+
slots: ["root", "list", "trigger", "content"],
|
|
6
|
+
base: {
|
|
7
|
+
root: "w-full flex flex-col gap-4",
|
|
8
|
+
list: "inline-flex items-center justify-start rounded-md bg-muted p-1 text-muted-foreground",
|
|
9
|
+
trigger: "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:text-foreground cursor-pointer",
|
|
10
|
+
content: "mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
|
|
11
|
+
},
|
|
12
|
+
variants: {
|
|
13
|
+
variant: {
|
|
14
|
+
solid: {
|
|
15
|
+
list: "bg-muted p-1 rounded-lg",
|
|
16
|
+
trigger: "data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm"
|
|
17
|
+
},
|
|
18
|
+
underline: {
|
|
19
|
+
list: "bg-transparent border-b border-border rounded-none p-0 gap-4",
|
|
20
|
+
trigger: "rounded-none border-b-2 border-transparent px-1 pb-3 pt-2 data-[state=active]:border-primary data-[state=active]:text-foreground hover:border-muted-foreground/30"
|
|
21
|
+
},
|
|
22
|
+
pills: {
|
|
23
|
+
list: "bg-transparent p-0 gap-2",
|
|
24
|
+
trigger: "rounded-full px-4 py-1.5 data-[state=active]:bg-primary data-[state=active]:text-white"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
orientation: {
|
|
28
|
+
horizontal: { root: "flex-col", list: "w-full" },
|
|
29
|
+
vertical: { root: "flex-row gap-6", list: "flex-col items-stretch h-full w-48 border-r border-border rounded-none bg-transparent" }
|
|
30
|
+
},
|
|
31
|
+
size: {
|
|
32
|
+
sm: { trigger: "text-xs px-2.5 py-1" },
|
|
33
|
+
md: { trigger: "text-sm px-3.5 py-1.5" },
|
|
34
|
+
lg: { trigger: "text-base px-4.5 py-2" }
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
defaultVariants: {
|
|
38
|
+
variant: "solid",
|
|
39
|
+
orientation: "horizontal",
|
|
40
|
+
size: "md"
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
export default createTabsTheme()
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const createTextareaTheme = () =>
|
|
4
|
+
defineTheme({
|
|
5
|
+
slots: ["root", "textarea"],
|
|
6
|
+
base: {
|
|
7
|
+
root: "relative flex items-center w-full rounded-md border border-input bg-background shadow-sm focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",
|
|
8
|
+
textarea: "w-full bg-transparent px-3 py-2 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 min-h-[80px]"
|
|
9
|
+
},
|
|
10
|
+
variants: {
|
|
11
|
+
size: {
|
|
12
|
+
sm: { textarea: "py-1.5 text-xs min-h-[60px]" },
|
|
13
|
+
md: { textarea: "py-2 text-sm min-h-[80px]" },
|
|
14
|
+
lg: { textarea: "py-2.5 text-base min-h-[100px]" }
|
|
15
|
+
},
|
|
16
|
+
error: {
|
|
17
|
+
true: { root: "border-error-500 focus-within:ring-error-500/50" }
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
size: "md",
|
|
22
|
+
error: false
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
export default createTextareaTheme()
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export default defineTheme({
|
|
4
|
+
slots: [
|
|
5
|
+
"root",
|
|
6
|
+
"sun",
|
|
7
|
+
"moon"
|
|
8
|
+
],
|
|
9
|
+
base: {
|
|
10
|
+
root: "group rounded-full hover:bg-neutral-900/50 transition-colors inline-flex items-center justify-center text-neutral-400 hover:text-white cursor-pointer",
|
|
11
|
+
sun: "hidden dark:block i-lucide-sun w-5 h-5 text-current",
|
|
12
|
+
moon: "dark:hidden i-lucide-moon w-5 h-5 text-current"
|
|
13
|
+
},
|
|
14
|
+
variants: {},
|
|
15
|
+
defaultVariants: {}
|
|
16
|
+
})
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const createToastTheme = () =>
|
|
4
|
+
defineTheme({
|
|
5
|
+
slots: ["root", "title", "description", "action", "close"],
|
|
6
|
+
base: {
|
|
7
|
+
root: "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all border-border bg-background text-foreground",
|
|
8
|
+
title: "text-sm font-semibold",
|
|
9
|
+
description: "text-xs opacity-90",
|
|
10
|
+
action: "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-xs font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
|
|
11
|
+
close: "absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100"
|
|
12
|
+
},
|
|
13
|
+
variants: {
|
|
14
|
+
variant: {
|
|
15
|
+
default: { root: "bg-background border-border" },
|
|
16
|
+
destructive: { root: "destructive group border-error-500/20 bg-error-500/10 text-error-700 dark:text-error-400" },
|
|
17
|
+
success: { root: "border-success-500/20 bg-success-500/10 text-success-700 dark:text-success-400" }
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
variant: "default"
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
export default createToastTheme()
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineTheme } from "../utils/defineTheme"
|
|
2
|
+
|
|
3
|
+
export const tooltipTheme = defineTheme({
|
|
4
|
+
slots: ["root", "trigger", "content"],
|
|
5
|
+
base: {
|
|
6
|
+
root: "relative inline-block group/tooltip",
|
|
7
|
+
trigger: "",
|
|
8
|
+
content: [
|
|
9
|
+
"absolute z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground shadow-md animate-in fade-in-0 zoom-in-95",
|
|
10
|
+
"transition-all duration-150 invisible opacity-0 scale-95 origin-center pointer-events-none",
|
|
11
|
+
"group-hover/tooltip:visible group-hover/tooltip:opacity-100 group-hover/tooltip:scale-100"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
variants: {
|
|
15
|
+
placement: {
|
|
16
|
+
top: { content: "bottom-full left-1/2 -translate-x-1/2 mb-1.5" },
|
|
17
|
+
bottom: { content: "top-full left-1/2 -translate-x-1/2 mt-1.5" },
|
|
18
|
+
left: { content: "right-full top-1/2 -translate-y-1/2 mr-1.5" },
|
|
19
|
+
right: { content: "left-full top-1/2 -translate-y-1/2 ml-1.5" }
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
placement: "top"
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
export default tooltipTheme
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Theme } from "../theme"
|
|
2
|
+
|
|
3
|
+
export interface AlertProps {
|
|
4
|
+
/**
|
|
5
|
+
* The visual variant of the alert.
|
|
6
|
+
*/
|
|
7
|
+
variant?: "default" | "destructive" | "outline" | "solid"
|
|
8
|
+
/**
|
|
9
|
+
* The color scheme of the alert.
|
|
10
|
+
*/
|
|
11
|
+
color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
|
|
12
|
+
/**
|
|
13
|
+
* The main title text of the alert.
|
|
14
|
+
*/
|
|
15
|
+
title?: string
|
|
16
|
+
/**
|
|
17
|
+
* The secondary description text of the alert.
|
|
18
|
+
*/
|
|
19
|
+
description?: string
|
|
20
|
+
/**
|
|
21
|
+
* An optional leading icon.
|
|
22
|
+
*/
|
|
23
|
+
icon?: string
|
|
24
|
+
/**
|
|
25
|
+
* Theme mode override — pins colors to flat, light, or dark mode.
|
|
26
|
+
*/
|
|
27
|
+
theme?: Theme
|
|
28
|
+
/**
|
|
29
|
+
* Slot-specific CSS class overrides.
|
|
30
|
+
*/
|
|
31
|
+
ui?: any
|
|
32
|
+
/**
|
|
33
|
+
* Additional CSS classes to apply to the root element.
|
|
34
|
+
*/
|
|
35
|
+
class?: any
|
|
36
|
+
[key: string]: unknown
|
|
37
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface AspectRatioProps {
|
|
2
|
+
/**
|
|
3
|
+
* The aspect ratio fraction/decimal (e.g. 16/9, 4/3, 1).
|
|
4
|
+
*/
|
|
5
|
+
ratio?: number
|
|
6
|
+
/**
|
|
7
|
+
* Slot-specific CSS class overrides.
|
|
8
|
+
*/
|
|
9
|
+
ui?: any
|
|
10
|
+
/**
|
|
11
|
+
* Additional CSS classes to apply to the root element.
|
|
12
|
+
*/
|
|
13
|
+
class?: any
|
|
14
|
+
[key: string]: unknown
|
|
15
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface AvatarProps {
|
|
2
|
+
/**
|
|
3
|
+
* The source URL of the avatar image.
|
|
4
|
+
*/
|
|
5
|
+
src?: string
|
|
6
|
+
/**
|
|
7
|
+
* Alt description for screen readers.
|
|
8
|
+
*/
|
|
9
|
+
alt?: string
|
|
10
|
+
/**
|
|
11
|
+
* Two-letter fallback initials when src fails to load.
|
|
12
|
+
*/
|
|
13
|
+
fallback?: string
|
|
14
|
+
/**
|
|
15
|
+
* The avatar dimensions scale.
|
|
16
|
+
*/
|
|
17
|
+
size?: "sm" | "md" | "lg"
|
|
18
|
+
/**
|
|
19
|
+
* Displays a status badge circle on the avatar.
|
|
20
|
+
*/
|
|
21
|
+
badge?: boolean
|
|
22
|
+
/**
|
|
23
|
+
* The color of the status badge.
|
|
24
|
+
*/
|
|
25
|
+
badgeColor?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
|
|
26
|
+
/**
|
|
27
|
+
* Slot-specific CSS class overrides.
|
|
28
|
+
*/
|
|
29
|
+
ui?: any
|
|
30
|
+
/**
|
|
31
|
+
* Additional CSS classes to apply to the root element.
|
|
32
|
+
*/
|
|
33
|
+
class?: any
|
|
34
|
+
[key: string]: unknown
|
|
35
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Theme } from "../theme"
|
|
2
|
+
|
|
3
|
+
export interface BadgeProps {
|
|
4
|
+
/**
|
|
5
|
+
* Visual style variant.
|
|
6
|
+
*/
|
|
7
|
+
variant?: "solid" | "outline" | "soft" | "ghost"
|
|
8
|
+
/**
|
|
9
|
+
* Color scheme applied.
|
|
10
|
+
*/
|
|
11
|
+
color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
|
|
12
|
+
/**
|
|
13
|
+
* The size scale of the badge.
|
|
14
|
+
*/
|
|
15
|
+
size?: "sm" | "md" | "lg"
|
|
16
|
+
/**
|
|
17
|
+
* The shape corner rounding.
|
|
18
|
+
*/
|
|
19
|
+
shape?: "square" | "rounded" | "pill"
|
|
20
|
+
/**
|
|
21
|
+
* Theme mode override — pins colors to flat, light, or dark mode.
|
|
22
|
+
*/
|
|
23
|
+
theme?: Theme
|
|
24
|
+
/**
|
|
25
|
+
* Slot-specific CSS class overrides.
|
|
26
|
+
*/
|
|
27
|
+
ui?: any
|
|
28
|
+
/**
|
|
29
|
+
* Additional CSS classes to apply to the root element.
|
|
30
|
+
*/
|
|
31
|
+
class?: any
|
|
32
|
+
[key: string]: unknown
|
|
33
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface BreadcrumbItem {
|
|
2
|
+
label: string
|
|
3
|
+
href?: string
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface BreadcrumbProps {
|
|
7
|
+
/**
|
|
8
|
+
* Quick-prop array to render breadcrumb items automatically.
|
|
9
|
+
*/
|
|
10
|
+
items?: BreadcrumbItem[]
|
|
11
|
+
/**
|
|
12
|
+
* The icon separating the breadcrumbs.
|
|
13
|
+
*/
|
|
14
|
+
separatorIcon?: string
|
|
15
|
+
/**
|
|
16
|
+
* Slot-specific CSS class overrides.
|
|
17
|
+
*/
|
|
18
|
+
ui?: any
|
|
19
|
+
/**
|
|
20
|
+
* Additional CSS classes to apply to the root element.
|
|
21
|
+
*/
|
|
22
|
+
class?: any
|
|
23
|
+
[key: string]: unknown
|
|
24
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { Theme } from "../theme"
|
|
2
|
+
|
|
1
3
|
export interface ButtonProps {
|
|
2
4
|
/**
|
|
3
5
|
* The visual style variant of the button
|
|
@@ -59,12 +61,16 @@ export interface ButtonProps {
|
|
|
59
61
|
* Variant used when button is in active state
|
|
60
62
|
*/
|
|
61
63
|
activeVariant?: "solid" | "outline" | "ghost" | "link" | "soft"
|
|
64
|
+
/**
|
|
65
|
+
* Theme mode override — pins colors to flat, light, or dark mode.
|
|
66
|
+
*/
|
|
67
|
+
theme?: Theme
|
|
62
68
|
/**
|
|
63
69
|
* Slot-specific CSS class overrides.
|
|
64
70
|
*/
|
|
65
71
|
ui?: any
|
|
66
72
|
/**
|
|
67
|
-
* Additional CSS classes to apply to the root
|
|
73
|
+
* Additional CSS classes to apply to the root element.
|
|
68
74
|
*/
|
|
69
75
|
class?: any
|
|
70
76
|
[key: string]: unknown
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface CardProps {
|
|
2
|
+
/**
|
|
3
|
+
* Card heading title.
|
|
4
|
+
*/
|
|
5
|
+
title?: string
|
|
6
|
+
/**
|
|
7
|
+
* Subtitle description text.
|
|
8
|
+
*/
|
|
9
|
+
description?: string
|
|
10
|
+
/**
|
|
11
|
+
* Media source (e.g. image url) displayed at top.
|
|
12
|
+
*/
|
|
13
|
+
mediaSrc?: string
|
|
14
|
+
/**
|
|
15
|
+
* Link reference makes the entire card interactive.
|
|
16
|
+
*/
|
|
17
|
+
href?: string
|
|
18
|
+
/**
|
|
19
|
+
* Glassmorphism or overlay style.
|
|
20
|
+
*/
|
|
21
|
+
overlay?: boolean
|
|
22
|
+
/**
|
|
23
|
+
* Slot-specific CSS class overrides.
|
|
24
|
+
*/
|
|
25
|
+
ui?: any
|
|
26
|
+
/**
|
|
27
|
+
* Additional CSS classes to apply to the root element.
|
|
28
|
+
*/
|
|
29
|
+
class?: any
|
|
30
|
+
[key: string]: unknown
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface CarouselSlide {
|
|
2
|
+
imageSrc?: string
|
|
3
|
+
title?: string
|
|
4
|
+
description?: string
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface CarouselProps {
|
|
8
|
+
/**
|
|
9
|
+
* The list of slide items to render.
|
|
10
|
+
*/
|
|
11
|
+
slides?: CarouselSlide[]
|
|
12
|
+
/**
|
|
13
|
+
* Controlled autoplay.
|
|
14
|
+
*/
|
|
15
|
+
autoplay?: boolean
|
|
16
|
+
/**
|
|
17
|
+
* Slot-specific CSS class overrides.
|
|
18
|
+
*/
|
|
19
|
+
ui?: any
|
|
20
|
+
/**
|
|
21
|
+
* Additional CSS classes to apply to the root element.
|
|
22
|
+
*/
|
|
23
|
+
class?: any
|
|
24
|
+
[key: string]: unknown
|
|
25
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface ChartDataPoint {
|
|
2
|
+
label: string
|
|
3
|
+
value: number
|
|
4
|
+
color?: string
|
|
5
|
+
[key: string]: any
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ChartProps {
|
|
9
|
+
/**
|
|
10
|
+
* Type of chart.
|
|
11
|
+
*/
|
|
12
|
+
type?: "bar" | "line" | "pie" | "area" | "donut"
|
|
13
|
+
/**
|
|
14
|
+
* Data points array.
|
|
15
|
+
*/
|
|
16
|
+
data?: ChartDataPoint[]
|
|
17
|
+
/**
|
|
18
|
+
* Title of the chart.
|
|
19
|
+
*/
|
|
20
|
+
title?: string
|
|
21
|
+
/**
|
|
22
|
+
* Height of the chart in pixels.
|
|
23
|
+
*/
|
|
24
|
+
height?: number
|
|
25
|
+
/**
|
|
26
|
+
* Color theme.
|
|
27
|
+
*/
|
|
28
|
+
color?: "primary" | "secondary" | "success" | "warning" | "error" | "info"
|
|
29
|
+
/**
|
|
30
|
+
* Slot-specific CSS class overrides.
|
|
31
|
+
*/
|
|
32
|
+
ui?: any
|
|
33
|
+
/**
|
|
34
|
+
* Additional CSS classes to apply to the root element.
|
|
35
|
+
*/
|
|
36
|
+
class?: any
|
|
37
|
+
[key: string]: unknown
|
|
38
|
+
}
|