astro-component-kit 0.0.1
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/LICENSE +21 -0
- package/README.md +262 -0
- package/dist/AnimatedInput.astro +82 -0
- package/dist/Badge.astro +52 -0
- package/dist/GlassButton.astro +87 -0
- package/dist/GlassCard.astro +72 -0
- package/dist/GlassNavbar.astro +65 -0
- package/dist/GlowButton.astro +60 -0
- package/dist/buttons/3dPushButton.astro +136 -0
- package/dist/buttons/AnimatedIconButton.astro +146 -0
- package/dist/buttons/BorderDrawButton.astro +112 -0
- package/dist/buttons/CyberpunkButton.astro +148 -0
- package/dist/buttons/DoubleBorderButton.astro +131 -0
- package/dist/buttons/GhostOutlineButton.astro +109 -0
- package/dist/buttons/GlassButton.astro +165 -0
- package/dist/buttons/GlowButton.astro +119 -0
- package/dist/buttons/LiquidButton.astro +167 -0
- package/dist/buttons/LoadingButton.astro +148 -0
- package/dist/buttons/MagneticButton.astro +134 -0
- package/dist/buttons/MinimalPillButton.astro +102 -0
- package/dist/buttons/NeumorphicButton.astro +158 -0
- package/dist/buttons/PulseButton.astro +111 -0
- package/dist/buttons/RetroArcadeButton.astro +105 -0
- package/dist/buttons/RetroShadowButton.astro +82 -0
- package/dist/buttons/ShimmerButton.astro +113 -0
- package/dist/buttons/ShinyButton.astro +121 -0
- package/dist/buttons/TiltGlowButton.astro +145 -0
- package/dist/buttons/index.mjs +19 -0
- package/dist/buttons/index.ts +19 -0
- package/dist/cards/BlogHorizontalCard.astro +18 -0
- package/dist/cards/CyberFeatureCard.astro +12 -0
- package/dist/cards/EcommerceProductCard.astro +24 -0
- package/dist/cards/GlassCard.astro +17 -0
- package/dist/cards/GlassEventCard.astro +19 -0
- package/dist/cards/GlowPortfolioCard.astro +16 -0
- package/dist/cards/InteractiveTiltCard.astro +25 -0
- package/dist/cards/KanbanItemCard.astro +15 -0
- package/dist/cards/MinimalLinkCard.astro +12 -0
- package/dist/cards/MusicPlayerMini.astro +21 -0
- package/dist/cards/NeumorphicCard.astro +6 -0
- package/dist/cards/NotificationCard.astro +15 -0
- package/dist/cards/PricingCard.astro +17 -0
- package/dist/cards/ProfileCard.astro +17 -0
- package/dist/cards/RetroGameCard.astro +15 -0
- package/dist/cards/StatCard.astro +15 -0
- package/dist/cards/TaskKanbanCard.astro +18 -0
- package/dist/cards/TestimonialCardClean.astro +20 -0
- package/dist/cards/WeatherWidgetCard.astro +17 -0
- package/dist/cards/index.mjs +19 -0
- package/dist/cards/index.ts +19 -0
- package/dist/data/AccordionGroupGlass.astro +21 -0
- package/dist/data/AvatarGroupStack.astro +15 -0
- package/dist/data/CalendarGridView.astro +18 -0
- package/dist/data/DataChipsGroup.astro +16 -0
- package/dist/data/DescriptionListHoriz.astro +14 -0
- package/dist/data/FileTreeView.astro +22 -0
- package/dist/data/GanttChartMinimal.astro +12 -0
- package/dist/data/GlassTable.astro +23 -0
- package/dist/data/KeyValuePillGroup.astro +12 -0
- package/dist/data/PriceCompareTable.astro +22 -0
- package/dist/data/ProgressListSmall.astro +17 -0
- package/dist/data/RatingBreakdownBar.astro +13 -0
- package/dist/data/SparklineStatCard.astro +16 -0
- package/dist/data/StatsGridDashboard.astro +16 -0
- package/dist/data/StepperDataVertical.astro +15 -0
- package/dist/data/TagCloudData.astro +14 -0
- package/dist/data/TimelineHorizSteps.astro +18 -0
- package/dist/data/TreeItemInteractive.astro +18 -0
- package/dist/data/UserDirectoryItem.astro +15 -0
- package/dist/data/VerticalTimeline.astro +21 -0
- package/dist/data/index.mjs +20 -0
- package/dist/data/index.ts +20 -0
- package/dist/feedback/AnimatedCheckmark.astro +13 -0
- package/dist/feedback/Badge.astro +19 -0
- package/dist/feedback/CircleProgress.astro +22 -0
- package/dist/feedback/ConfettiFeedback.astro +18 -0
- package/dist/feedback/CyberGlitchAlert.astro +11 -0
- package/dist/feedback/EmptyStateCard.astro +13 -0
- package/dist/feedback/GlassAlert.astro +20 -0
- package/dist/feedback/GlassModal.astro +19 -0
- package/dist/feedback/GlassProgress.astro +10 -0
- package/dist/feedback/IndicatorBadgeMinimal.astro +10 -0
- package/dist/feedback/NeonSpinner.astro +7 -0
- package/dist/feedback/PulseDot.astro +12 -0
- package/dist/feedback/RatingPill.astro +13 -0
- package/dist/feedback/ShakeErrorGroup.astro +7 -0
- package/dist/feedback/SimpleTooltip.astro +10 -0
- package/dist/feedback/SkeletonList.astro +20 -0
- package/dist/feedback/Spotlight.astro +9 -0
- package/dist/feedback/StepProgress.astro +14 -0
- package/dist/feedback/ToastNotif.astro +11 -0
- package/dist/feedback/TypingIndicator.astro +12 -0
- package/dist/feedback/index.mjs +20 -0
- package/dist/feedback/index.ts +20 -0
- package/dist/forms/AnimatedInput.astro +16 -0
- package/dist/forms/ChipInput.astro +13 -0
- package/dist/forms/ColorPickerInput.astro +13 -0
- package/dist/forms/CurrencyInput.astro +11 -0
- package/dist/forms/CustomRadioGroup.astro +13 -0
- package/dist/forms/CyberpunkCheckbox.astro +15 -0
- package/dist/forms/DragDropUpload.astro +12 -0
- package/dist/forms/ErrorInput.astro +11 -0
- package/dist/forms/FloatingPassword.astro +20 -0
- package/dist/forms/FormGroupVertical.astro +14 -0
- package/dist/forms/GlassSlider.astro +7 -0
- package/dist/forms/GlassTextarea.astro +14 -0
- package/dist/forms/ModernSelect.astro +16 -0
- package/dist/forms/NeumorphicSwitch.astro +55 -0
- package/dist/forms/OTPInput.astro +22 -0
- package/dist/forms/RatingStars.astro +15 -0
- package/dist/forms/SearchReveal.astro +13 -0
- package/dist/forms/SegmentedControl.astro +13 -0
- package/dist/forms/SimpleFileInput.astro +11 -0
- package/dist/forms/StepperInput.astro +14 -0
- package/dist/forms/index.mjs +20 -0
- package/dist/forms/index.ts +20 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/dist/layout/BentoGrid3.astro +14 -0
- package/dist/layout/CenterFixedBox.astro +6 -0
- package/dist/layout/CenteredContainer.astro +8 -0
- package/dist/layout/ClusterHorizontal.astro +6 -0
- package/dist/layout/FeatureHero.astro +17 -0
- package/dist/layout/FooterCenteredMinimal.astro +11 -0
- package/dist/layout/FullBleedSection.astro +6 -0
- package/dist/layout/GalleryGrid4.astro +7 -0
- package/dist/layout/GlassCardGrid.astro +6 -0
- package/dist/layout/GlassSectionHeader.astro +15 -0
- package/dist/layout/LandingSectionSplit.astro +13 -0
- package/dist/layout/MasonryGrid.astro +7 -0
- package/dist/layout/MinimalFooterGrid.astro +20 -0
- package/dist/layout/ScrollSnapSection.astro +7 -0
- package/dist/layout/SectionDividerText.astro +7 -0
- package/dist/layout/SidebarLayoutWrapper.astro +11 -0
- package/dist/layout/SplitScreenLayout.astro +11 -0
- package/dist/layout/StepLayoutVertical.astro +21 -0
- package/dist/layout/StickySidebarWrapper.astro +10 -0
- package/dist/layout/VerticalStack.astro +8 -0
- package/dist/layout/index.mjs +20 -0
- package/dist/layout/index.ts +20 -0
- package/dist/navigation/AnchorSideNav.astro +13 -0
- package/dist/navigation/BottomNavMobile.astro +13 -0
- package/dist/navigation/BreadcrumbsMinimal.astro +16 -0
- package/dist/navigation/BurgerMorphIcon.astro +12 -0
- package/dist/navigation/CommandPaletteUI.astro +17 -0
- package/dist/navigation/DotNavigationSlider.astro +13 -0
- package/dist/navigation/FloatingTabBar.astro +12 -0
- package/dist/navigation/GlassNavbar.astro +19 -0
- package/dist/navigation/LangSwitcherPill.astro +17 -0
- package/dist/navigation/MegaMenuGlass.astro +25 -0
- package/dist/navigation/MinimalSidebar.astro +18 -0
- package/dist/navigation/PaginationGlass.astro +20 -0
- package/dist/navigation/PaginationInfiniteUI.astro +11 -0
- package/dist/navigation/RadialIconMenu.astro +15 -0
- package/dist/navigation/RetroArcadeMenu.astro +12 -0
- package/dist/navigation/ScrollProgressTop.astro +15 -0
- package/dist/navigation/SimpleFooterGlass.astro +21 -0
- package/dist/navigation/TabUnderline.astro +14 -0
- package/dist/navigation/UserProfileNav.astro +21 -0
- package/dist/navigation/VerticalTabs.astro +14 -0
- package/dist/navigation/index.mjs +20 -0
- package/dist/navigation/index.ts +20 -0
- package/dist/overlays/AgeVerificationOverlay.astro +20 -0
- package/dist/overlays/BackdropBlurMask.astro +6 -0
- package/dist/overlays/BottomSheetMobile.astro +16 -0
- package/dist/overlays/CommandDialog.astro +19 -0
- package/dist/overlays/ContextMenuOverlay.astro +17 -0
- package/dist/overlays/CookieBannerGlass.astro +14 -0
- package/dist/overlays/ExitIntentOverlay.astro +19 -0
- package/dist/overlays/FloatingTrayActions.astro +13 -0
- package/dist/overlays/HelpBubbleOverlay.astro +11 -0
- package/dist/overlays/LightboxOverlay.astro +13 -0
- package/dist/overlays/LoadingOverlayFull.astro +10 -0
- package/dist/overlays/MobileNavOverlay.astro +18 -0
- package/dist/overlays/OverlayModal.astro +24 -0
- package/dist/overlays/PopoverMenuGlass.astro +17 -0
- package/dist/overlays/SearchOverlayFullscreen.astro +15 -0
- package/dist/overlays/SideDrawerRight.astro +16 -0
- package/dist/overlays/SplashIntroOverlay.astro +11 -0
- package/dist/overlays/SpotlightIndicator.astro +6 -0
- package/dist/overlays/ToastStackOverlay.astro +12 -0
- package/dist/overlays/TooltipActionTray.astro +14 -0
- package/dist/overlays/index.mjs +20 -0
- package/dist/overlays/index.ts +20 -0
- package/dist/styles/global.css +142 -0
- package/dist/typography/AnimatedUnderlineLink.astro +10 -0
- package/dist/typography/BackgroundClipMask.astro +7 -0
- package/dist/typography/CodeInlineGlass.astro +6 -0
- package/dist/typography/CyberpunkGlitchText.astro +20 -0
- package/dist/typography/DropCapParagraph.astro +7 -0
- package/dist/typography/FadedVerticalText.astro +6 -0
- package/dist/typography/FloatingTextLabel.astro +10 -0
- package/dist/typography/GlassBlockQuote.astro +13 -0
- package/dist/typography/GlassTextReveal.astro +7 -0
- package/dist/typography/GradientHeading.astro +9 -0
- package/dist/typography/GradientUnderlineLink.astro +7 -0
- package/dist/typography/KbdIndicator.astro +6 -0
- package/dist/typography/LetterSpacingWide.astro +6 -0
- package/dist/typography/MinimalListMarkers.astro +10 -0
- package/dist/typography/MonospaceStatLine.astro +6 -0
- package/dist/typography/NeonTextHighlight.astro +6 -0
- package/dist/typography/ShadowRevealText.astro +7 -0
- package/dist/typography/StrokeHeadingOutline.astro +8 -0
- package/dist/typography/Text3DLayer.astro +7 -0
- package/dist/typography/TypewriterText.astro +15 -0
- package/dist/typography/index.mjs +20 -0
- package/dist/typography/index.ts +20 -0
- package/dist/utilities/AspectRatioBox.astro +11 -0
- package/dist/utilities/BackgroundDotPattern.astro +6 -0
- package/dist/utilities/CircularMask.astro +7 -0
- package/dist/utilities/ClickRippleWrapper.astro +7 -0
- package/dist/utilities/FadeInWrapper.astro +11 -0
- package/dist/utilities/FixedRatioImage.astro +7 -0
- package/dist/utilities/GlassBlurLayer.astro +6 -0
- package/dist/utilities/GradientBorderMask.astro +7 -0
- package/dist/utilities/HoverLift.astro +7 -0
- package/dist/utilities/ResponsiveSpacer.astro +15 -0
- package/dist/utilities/ResponsiveVisToggle.astro +11 -0
- package/dist/utilities/ScrollLockParent.astro +11 -0
- package/dist/utilities/ScrollMarginTarget.astro +10 -0
- package/dist/utilities/SlideUpReveal.astro +7 -0
- package/dist/utilities/SmoothAnchorLink.astro +22 -0
- package/dist/utilities/StackLayering.astro +12 -0
- package/dist/utilities/StickyObserver.astro +8 -0
- package/dist/utilities/TextTruncate.astro +10 -0
- package/dist/utilities/TruncateSingleLine.astro +6 -0
- package/dist/utilities/VisuallyHidden.astro +6 -0
- package/dist/utilities/index.mjs +20 -0
- package/dist/utilities/index.ts +20 -0
- package/package.json +108 -0
- package/src/components/lib/AnimatedInput.astro +82 -0
- package/src/components/lib/Badge.astro +52 -0
- package/src/components/lib/GlassButton.astro +87 -0
- package/src/components/lib/GlassCard.astro +72 -0
- package/src/components/lib/GlassNavbar.astro +65 -0
- package/src/components/lib/GlowButton.astro +60 -0
- package/src/components/lib/buttons/3dPushButton.astro +136 -0
- package/src/components/lib/buttons/AnimatedIconButton.astro +146 -0
- package/src/components/lib/buttons/BorderDrawButton.astro +112 -0
- package/src/components/lib/buttons/CyberpunkButton.astro +148 -0
- package/src/components/lib/buttons/DoubleBorderButton.astro +131 -0
- package/src/components/lib/buttons/GhostOutlineButton.astro +109 -0
- package/src/components/lib/buttons/GlassButton.astro +165 -0
- package/src/components/lib/buttons/GlowButton.astro +119 -0
- package/src/components/lib/buttons/LiquidButton.astro +167 -0
- package/src/components/lib/buttons/LoadingButton.astro +148 -0
- package/src/components/lib/buttons/MagneticButton.astro +134 -0
- package/src/components/lib/buttons/MinimalPillButton.astro +102 -0
- package/src/components/lib/buttons/NeumorphicButton.astro +158 -0
- package/src/components/lib/buttons/PulseButton.astro +111 -0
- package/src/components/lib/buttons/RetroArcadeButton.astro +105 -0
- package/src/components/lib/buttons/RetroShadowButton.astro +82 -0
- package/src/components/lib/buttons/ShimmerButton.astro +113 -0
- package/src/components/lib/buttons/ShinyButton.astro +121 -0
- package/src/components/lib/buttons/TiltGlowButton.astro +145 -0
- package/src/components/lib/buttons/index.ts +19 -0
- package/src/components/lib/cards/BlogHorizontalCard.astro +18 -0
- package/src/components/lib/cards/CyberFeatureCard.astro +12 -0
- package/src/components/lib/cards/EcommerceProductCard.astro +24 -0
- package/src/components/lib/cards/GlassCard.astro +17 -0
- package/src/components/lib/cards/GlassEventCard.astro +19 -0
- package/src/components/lib/cards/GlowPortfolioCard.astro +16 -0
- package/src/components/lib/cards/InteractiveTiltCard.astro +25 -0
- package/src/components/lib/cards/KanbanItemCard.astro +15 -0
- package/src/components/lib/cards/MinimalLinkCard.astro +12 -0
- package/src/components/lib/cards/MusicPlayerMini.astro +21 -0
- package/src/components/lib/cards/NeumorphicCard.astro +6 -0
- package/src/components/lib/cards/NotificationCard.astro +15 -0
- package/src/components/lib/cards/PricingCard.astro +17 -0
- package/src/components/lib/cards/ProfileCard.astro +17 -0
- package/src/components/lib/cards/RetroGameCard.astro +15 -0
- package/src/components/lib/cards/StatCard.astro +15 -0
- package/src/components/lib/cards/TaskKanbanCard.astro +18 -0
- package/src/components/lib/cards/TestimonialCardClean.astro +20 -0
- package/src/components/lib/cards/WeatherWidgetCard.astro +17 -0
- package/src/components/lib/cards/index.ts +19 -0
- package/src/components/lib/data/AccordionGroupGlass.astro +21 -0
- package/src/components/lib/data/AvatarGroupStack.astro +15 -0
- package/src/components/lib/data/CalendarGridView.astro +18 -0
- package/src/components/lib/data/DataChipsGroup.astro +16 -0
- package/src/components/lib/data/DescriptionListHoriz.astro +14 -0
- package/src/components/lib/data/FileTreeView.astro +22 -0
- package/src/components/lib/data/GanttChartMinimal.astro +12 -0
- package/src/components/lib/data/GlassTable.astro +23 -0
- package/src/components/lib/data/KeyValuePillGroup.astro +12 -0
- package/src/components/lib/data/PriceCompareTable.astro +22 -0
- package/src/components/lib/data/ProgressListSmall.astro +17 -0
- package/src/components/lib/data/RatingBreakdownBar.astro +13 -0
- package/src/components/lib/data/SparklineStatCard.astro +16 -0
- package/src/components/lib/data/StatsGridDashboard.astro +16 -0
- package/src/components/lib/data/StepperDataVertical.astro +15 -0
- package/src/components/lib/data/TagCloudData.astro +14 -0
- package/src/components/lib/data/TimelineHorizSteps.astro +18 -0
- package/src/components/lib/data/TreeItemInteractive.astro +18 -0
- package/src/components/lib/data/UserDirectoryItem.astro +15 -0
- package/src/components/lib/data/VerticalTimeline.astro +21 -0
- package/src/components/lib/data/index.ts +20 -0
- package/src/components/lib/feedback/AnimatedCheckmark.astro +13 -0
- package/src/components/lib/feedback/Badge.astro +19 -0
- package/src/components/lib/feedback/CircleProgress.astro +22 -0
- package/src/components/lib/feedback/ConfettiFeedback.astro +18 -0
- package/src/components/lib/feedback/CyberGlitchAlert.astro +11 -0
- package/src/components/lib/feedback/EmptyStateCard.astro +13 -0
- package/src/components/lib/feedback/GlassAlert.astro +20 -0
- package/src/components/lib/feedback/GlassModal.astro +19 -0
- package/src/components/lib/feedback/GlassProgress.astro +10 -0
- package/src/components/lib/feedback/IndicatorBadgeMinimal.astro +10 -0
- package/src/components/lib/feedback/NeonSpinner.astro +7 -0
- package/src/components/lib/feedback/PulseDot.astro +12 -0
- package/src/components/lib/feedback/RatingPill.astro +13 -0
- package/src/components/lib/feedback/ShakeErrorGroup.astro +7 -0
- package/src/components/lib/feedback/SimpleTooltip.astro +10 -0
- package/src/components/lib/feedback/SkeletonList.astro +20 -0
- package/src/components/lib/feedback/Spotlight.astro +9 -0
- package/src/components/lib/feedback/StepProgress.astro +14 -0
- package/src/components/lib/feedback/ToastNotif.astro +11 -0
- package/src/components/lib/feedback/TypingIndicator.astro +12 -0
- package/src/components/lib/feedback/index.ts +20 -0
- package/src/components/lib/forms/AnimatedInput.astro +16 -0
- package/src/components/lib/forms/ChipInput.astro +13 -0
- package/src/components/lib/forms/ColorPickerInput.astro +13 -0
- package/src/components/lib/forms/CurrencyInput.astro +11 -0
- package/src/components/lib/forms/CustomRadioGroup.astro +13 -0
- package/src/components/lib/forms/CyberpunkCheckbox.astro +15 -0
- package/src/components/lib/forms/DragDropUpload.astro +12 -0
- package/src/components/lib/forms/ErrorInput.astro +11 -0
- package/src/components/lib/forms/FloatingPassword.astro +20 -0
- package/src/components/lib/forms/FormGroupVertical.astro +14 -0
- package/src/components/lib/forms/GlassSlider.astro +7 -0
- package/src/components/lib/forms/GlassTextarea.astro +14 -0
- package/src/components/lib/forms/ModernSelect.astro +16 -0
- package/src/components/lib/forms/NeumorphicSwitch.astro +55 -0
- package/src/components/lib/forms/OTPInput.astro +22 -0
- package/src/components/lib/forms/RatingStars.astro +15 -0
- package/src/components/lib/forms/SearchReveal.astro +13 -0
- package/src/components/lib/forms/SegmentedControl.astro +13 -0
- package/src/components/lib/forms/SimpleFileInput.astro +11 -0
- package/src/components/lib/forms/StepperInput.astro +14 -0
- package/src/components/lib/forms/index.ts +20 -0
- package/src/components/lib/index.ts +6 -0
- package/src/components/lib/layout/BentoGrid3.astro +14 -0
- package/src/components/lib/layout/CenterFixedBox.astro +6 -0
- package/src/components/lib/layout/CenteredContainer.astro +8 -0
- package/src/components/lib/layout/ClusterHorizontal.astro +6 -0
- package/src/components/lib/layout/FeatureHero.astro +17 -0
- package/src/components/lib/layout/FooterCenteredMinimal.astro +11 -0
- package/src/components/lib/layout/FullBleedSection.astro +6 -0
- package/src/components/lib/layout/GalleryGrid4.astro +7 -0
- package/src/components/lib/layout/GlassCardGrid.astro +6 -0
- package/src/components/lib/layout/GlassSectionHeader.astro +15 -0
- package/src/components/lib/layout/LandingSectionSplit.astro +13 -0
- package/src/components/lib/layout/MasonryGrid.astro +7 -0
- package/src/components/lib/layout/MinimalFooterGrid.astro +20 -0
- package/src/components/lib/layout/ScrollSnapSection.astro +7 -0
- package/src/components/lib/layout/SectionDividerText.astro +7 -0
- package/src/components/lib/layout/SidebarLayoutWrapper.astro +11 -0
- package/src/components/lib/layout/SplitScreenLayout.astro +11 -0
- package/src/components/lib/layout/StepLayoutVertical.astro +21 -0
- package/src/components/lib/layout/StickySidebarWrapper.astro +10 -0
- package/src/components/lib/layout/VerticalStack.astro +8 -0
- package/src/components/lib/layout/index.ts +20 -0
- package/src/components/lib/navigation/AnchorSideNav.astro +13 -0
- package/src/components/lib/navigation/BottomNavMobile.astro +13 -0
- package/src/components/lib/navigation/BreadcrumbsMinimal.astro +16 -0
- package/src/components/lib/navigation/BurgerMorphIcon.astro +12 -0
- package/src/components/lib/navigation/CommandPaletteUI.astro +17 -0
- package/src/components/lib/navigation/DotNavigationSlider.astro +13 -0
- package/src/components/lib/navigation/FloatingTabBar.astro +12 -0
- package/src/components/lib/navigation/GlassNavbar.astro +19 -0
- package/src/components/lib/navigation/LangSwitcherPill.astro +17 -0
- package/src/components/lib/navigation/MegaMenuGlass.astro +25 -0
- package/src/components/lib/navigation/MinimalSidebar.astro +18 -0
- package/src/components/lib/navigation/PaginationGlass.astro +20 -0
- package/src/components/lib/navigation/PaginationInfiniteUI.astro +11 -0
- package/src/components/lib/navigation/RadialIconMenu.astro +15 -0
- package/src/components/lib/navigation/RetroArcadeMenu.astro +12 -0
- package/src/components/lib/navigation/ScrollProgressTop.astro +15 -0
- package/src/components/lib/navigation/SimpleFooterGlass.astro +21 -0
- package/src/components/lib/navigation/TabUnderline.astro +14 -0
- package/src/components/lib/navigation/UserProfileNav.astro +21 -0
- package/src/components/lib/navigation/VerticalTabs.astro +14 -0
- package/src/components/lib/navigation/index.ts +20 -0
- package/src/components/lib/overlays/AgeVerificationOverlay.astro +20 -0
- package/src/components/lib/overlays/BackdropBlurMask.astro +6 -0
- package/src/components/lib/overlays/BottomSheetMobile.astro +16 -0
- package/src/components/lib/overlays/CommandDialog.astro +19 -0
- package/src/components/lib/overlays/ContextMenuOverlay.astro +17 -0
- package/src/components/lib/overlays/CookieBannerGlass.astro +14 -0
- package/src/components/lib/overlays/ExitIntentOverlay.astro +19 -0
- package/src/components/lib/overlays/FloatingTrayActions.astro +13 -0
- package/src/components/lib/overlays/HelpBubbleOverlay.astro +11 -0
- package/src/components/lib/overlays/LightboxOverlay.astro +13 -0
- package/src/components/lib/overlays/LoadingOverlayFull.astro +10 -0
- package/src/components/lib/overlays/MobileNavOverlay.astro +18 -0
- package/src/components/lib/overlays/OverlayModal.astro +24 -0
- package/src/components/lib/overlays/PopoverMenuGlass.astro +17 -0
- package/src/components/lib/overlays/SearchOverlayFullscreen.astro +15 -0
- package/src/components/lib/overlays/SideDrawerRight.astro +16 -0
- package/src/components/lib/overlays/SplashIntroOverlay.astro +11 -0
- package/src/components/lib/overlays/SpotlightIndicator.astro +6 -0
- package/src/components/lib/overlays/ToastStackOverlay.astro +12 -0
- package/src/components/lib/overlays/TooltipActionTray.astro +14 -0
- package/src/components/lib/overlays/index.ts +20 -0
- package/src/components/lib/typography/AnimatedUnderlineLink.astro +10 -0
- package/src/components/lib/typography/BackgroundClipMask.astro +7 -0
- package/src/components/lib/typography/CodeInlineGlass.astro +6 -0
- package/src/components/lib/typography/CyberpunkGlitchText.astro +20 -0
- package/src/components/lib/typography/DropCapParagraph.astro +7 -0
- package/src/components/lib/typography/FadedVerticalText.astro +6 -0
- package/src/components/lib/typography/FloatingTextLabel.astro +10 -0
- package/src/components/lib/typography/GlassBlockQuote.astro +13 -0
- package/src/components/lib/typography/GlassTextReveal.astro +7 -0
- package/src/components/lib/typography/GradientHeading.astro +9 -0
- package/src/components/lib/typography/GradientUnderlineLink.astro +7 -0
- package/src/components/lib/typography/KbdIndicator.astro +6 -0
- package/src/components/lib/typography/LetterSpacingWide.astro +6 -0
- package/src/components/lib/typography/MinimalListMarkers.astro +10 -0
- package/src/components/lib/typography/MonospaceStatLine.astro +6 -0
- package/src/components/lib/typography/NeonTextHighlight.astro +6 -0
- package/src/components/lib/typography/ShadowRevealText.astro +7 -0
- package/src/components/lib/typography/StrokeHeadingOutline.astro +8 -0
- package/src/components/lib/typography/Text3DLayer.astro +7 -0
- package/src/components/lib/typography/TypewriterText.astro +15 -0
- package/src/components/lib/typography/index.ts +20 -0
- package/src/components/lib/utilities/AspectRatioBox.astro +11 -0
- package/src/components/lib/utilities/BackgroundDotPattern.astro +6 -0
- package/src/components/lib/utilities/CircularMask.astro +7 -0
- package/src/components/lib/utilities/ClickRippleWrapper.astro +7 -0
- package/src/components/lib/utilities/FadeInWrapper.astro +11 -0
- package/src/components/lib/utilities/FixedRatioImage.astro +7 -0
- package/src/components/lib/utilities/GlassBlurLayer.astro +6 -0
- package/src/components/lib/utilities/GradientBorderMask.astro +7 -0
- package/src/components/lib/utilities/HoverLift.astro +7 -0
- package/src/components/lib/utilities/ResponsiveSpacer.astro +15 -0
- package/src/components/lib/utilities/ResponsiveVisToggle.astro +11 -0
- package/src/components/lib/utilities/ScrollLockParent.astro +11 -0
- package/src/components/lib/utilities/ScrollMarginTarget.astro +10 -0
- package/src/components/lib/utilities/SlideUpReveal.astro +7 -0
- package/src/components/lib/utilities/SmoothAnchorLink.astro +22 -0
- package/src/components/lib/utilities/StackLayering.astro +12 -0
- package/src/components/lib/utilities/StickyObserver.astro +8 -0
- package/src/components/lib/utilities/TextTruncate.astro +10 -0
- package/src/components/lib/utilities/TruncateSingleLine.astro +6 -0
- package/src/components/lib/utilities/VisuallyHidden.astro +6 -0
- package/src/components/lib/utilities/index.ts +20 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="stat-card">
|
|
4
|
+
<div class="icon">📈</div>
|
|
5
|
+
<div>
|
|
6
|
+
<span class="label">Total Revenue</span>
|
|
7
|
+
<span class="value">$124,590</span>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
<style>
|
|
11
|
+
.stat-card { display: flex; align-items: center; gap: 1.25rem; padding: 1.5rem; background: rgba(99,102,241,0.06); border: 1px solid rgba(99,102,241,0.2); border-radius: 16px; }
|
|
12
|
+
.icon { font-size: 1.5rem; background: rgba(99,102,241,0.1); width: 50px; height: 50px; display: grid; place-items: center; border-radius: 12px; }
|
|
13
|
+
.label { display: block; font-size: 0.8rem; color: #94a3b8; font-weight: 600; text-transform: uppercase; }
|
|
14
|
+
.value { display: block; font-size: 1.4rem; font-weight: 800; color: #fff; }
|
|
15
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="task-card">
|
|
4
|
+
<div class="tags"><span class="tag-high">High</span></div>
|
|
5
|
+
<p>Implement authentication middleware for the API.</p>
|
|
6
|
+
<div class="task-footer">
|
|
7
|
+
<span class="date">📅 Oct 24</span>
|
|
8
|
+
<div class="assign">MJ</div>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<style>
|
|
12
|
+
.task-card { background: #1e293b; padding: 1rem; border-radius: 10px; border: 1px solid #334155; }
|
|
13
|
+
.tag-high { background: rgba(239,68,68,0.1); color: #f87171; font-size: 0.7rem; font-weight: 700; padding: 2px 8px; border-radius: 4px; }
|
|
14
|
+
p { font-size: 0.85rem; color: #e2e8f0; margin: 0.75rem 0; font-weight: 500; }
|
|
15
|
+
.task-footer { display: flex; justify-content: space-between; align-items: center; }
|
|
16
|
+
.date { font-size: 0.75rem; color: #64748b; }
|
|
17
|
+
.assign { width: 24px; height: 24px; background: #6366f1; color: #fff; font-size: 0.65rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; }
|
|
18
|
+
</style>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="testi-card">
|
|
4
|
+
<div class="quote">"This component library transformed our workflow. The best Astro-first UI kit we've found."</div>
|
|
5
|
+
<div class="author">
|
|
6
|
+
<div class="pic"></div>
|
|
7
|
+
<div>
|
|
8
|
+
<h5>Alex Rivera</h5>
|
|
9
|
+
<span>CTO at TechFlow</span>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
<style>
|
|
14
|
+
.testi-card { background: rgba(255,255,255,0.03); padding: 2rem; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); }
|
|
15
|
+
.quote { font-size: 1rem; color: #e2e8f0; font-style: italic; line-height: 1.6; margin-bottom: 2rem; }
|
|
16
|
+
.author { display: flex; align-items: center; gap: 1rem; }
|
|
17
|
+
.pic { width: 40px; height: 40px; background: #334155; border-radius: 50%; }
|
|
18
|
+
h5 { margin: 0; color: #fff; }
|
|
19
|
+
span { font-size: 0.75rem; color: #64748b; }
|
|
20
|
+
</style>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="weather-card">
|
|
4
|
+
<div class="temp">24°</div>
|
|
5
|
+
<div class="city">
|
|
6
|
+
<h4>Sunnyvale</h4>
|
|
7
|
+
<p>Partly Cloudy</p>
|
|
8
|
+
</div>
|
|
9
|
+
<div class="icon">☀️</div>
|
|
10
|
+
</div>
|
|
11
|
+
<style>
|
|
12
|
+
.weather-card { display: flex; align-items: center; gap: 1.5rem; padding: 1.5rem; background: linear-gradient(135deg, rgba(99,102,241,0.2), rgba(192,132,252,0.2)); backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.15); border-radius: 24px; color: #fff; }
|
|
13
|
+
.temp { font-size: 2.2rem; font-weight: 800; }
|
|
14
|
+
.city h4 { margin: 0; font-size: 1rem; }
|
|
15
|
+
.city p { margin: 0; font-size: 0.8rem; opacity: 0.7; }
|
|
16
|
+
.icon { font-size: 2.5rem; margin-left: auto; }
|
|
17
|
+
</style>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { default as BlogHorizontalCard } from './BlogHorizontalCard.astro';
|
|
2
|
+
export { default as CyberFeatureCard } from './CyberFeatureCard.astro';
|
|
3
|
+
export { default as EcommerceProductCard } from './EcommerceProductCard.astro';
|
|
4
|
+
export { default as GlassCard } from './GlassCard.astro';
|
|
5
|
+
export { default as GlassEventCard } from './GlassEventCard.astro';
|
|
6
|
+
export { default as GlowPortfolioCard } from './GlowPortfolioCard.astro';
|
|
7
|
+
export { default as InteractiveTiltCard } from './InteractiveTiltCard.astro';
|
|
8
|
+
export { default as KanbanItemCard } from './KanbanItemCard.astro';
|
|
9
|
+
export { default as MinimalLinkCard } from './MinimalLinkCard.astro';
|
|
10
|
+
export { default as MusicPlayerMini } from './MusicPlayerMini.astro';
|
|
11
|
+
export { default as NeumorphicCard } from './NeumorphicCard.astro';
|
|
12
|
+
export { default as NotificationCard } from './NotificationCard.astro';
|
|
13
|
+
export { default as PricingCard } from './PricingCard.astro';
|
|
14
|
+
export { default as ProfileCard } from './ProfileCard.astro';
|
|
15
|
+
export { default as RetroGameCard } from './RetroGameCard.astro';
|
|
16
|
+
export { default as StatCard } from './StatCard.astro';
|
|
17
|
+
export { default as TaskKanbanCard } from './TaskKanbanCard.astro';
|
|
18
|
+
export { default as TestimonialCardClean } from './TestimonialCardClean.astro';
|
|
19
|
+
export { default as WeatherWidgetCard } from './WeatherWidgetCard.astro';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="acc-wrap">
|
|
4
|
+
<details open>
|
|
5
|
+
<summary>How do I install the components?</summary>
|
|
6
|
+
<div class="content">Simply copy the Astro and CSS code into your project.</div>
|
|
7
|
+
</details>
|
|
8
|
+
<details>
|
|
9
|
+
<summary>Is this open source?</summary>
|
|
10
|
+
<div class="content">Yes, Astro Components is free under the MIT license.</div>
|
|
11
|
+
</details>
|
|
12
|
+
</div>
|
|
13
|
+
<style>
|
|
14
|
+
.acc-wrap { display: flex; flex-direction: column; gap: 0.5rem; }
|
|
15
|
+
details { background: rgba(255,255,255,0.03); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; overflow: hidden; }
|
|
16
|
+
summary { padding: 1rem 1.5rem; cursor: pointer; color: #fff; font-weight: 600; list-style: none; display: flex; justify-content: space-between; align-items: center; transition: 0.2s; }
|
|
17
|
+
summary:hover { background: rgba(255,255,255,0.02); }
|
|
18
|
+
summary::after { content: "+"; font-size: 1.25rem; transition: transform 0.3s; }
|
|
19
|
+
details[open] summary::after { transform: rotate(45deg); }
|
|
20
|
+
.content { padding: 0 1.5rem 1rem; color: #94a3b8; font-size: 0.9rem; line-height: 1.6; }
|
|
21
|
+
</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="av-group">
|
|
4
|
+
<div class="av" style="background:#6366f1">AJ</div>
|
|
5
|
+
<div class="av" style="background:#8b5cf6">MK</div>
|
|
6
|
+
<div class="av" style="background:#ec4899">SL</div>
|
|
7
|
+
<div class="av more">+4</div>
|
|
8
|
+
</div>
|
|
9
|
+
<style>
|
|
10
|
+
.av-group { display: flex; align-items: center; }
|
|
11
|
+
.av { width: 32px; height: 32px; border-radius: 50%; border: 2px solid #080b14; margin-left: -10px; display: grid; place-items: center; font-size: 0.65rem; font-weight: 800; color: #fff; position: relative; transition: 0.2s; cursor: pointer; }
|
|
12
|
+
.av:first-child { margin-left: 0; }
|
|
13
|
+
.av:hover { transform: translateY(-4px); z-index: 10; }
|
|
14
|
+
.more { background: #1e293b; color: #94a3b8; border-style: dashed; }
|
|
15
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="cal-card">
|
|
4
|
+
<div class="cal-head"><h4>October 2024</h4></div>
|
|
5
|
+
<div class="cal-grid">
|
|
6
|
+
<span>Mo</span><span>Tu</span><span>We</span><span>Th</span><span>Fr</span><span>Sa</span><span>Su</span>
|
|
7
|
+
{[...Array(31)].map((_, i) => <div class:list={[{ "today": i+1 === 24 }]}>{i+1}</div>)}
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
<style>
|
|
11
|
+
.cal-card { background: #111; border: 1px solid #333; border-radius: 16px; padding: 1.25rem; width: fit-content; }
|
|
12
|
+
.cal-head { text-align: center; margin-bottom: 1rem; color: #fff; }
|
|
13
|
+
.cal-grid { display: grid; grid-template-columns: repeat(7, 35px); text-align: center; font-size: 0.75rem; color: #64748b; }
|
|
14
|
+
.cal-grid span { font-weight: 800; padding: 5px 0; color: #818cf8; }
|
|
15
|
+
.cal-grid div { padding: 8px 0; cursor: pointer; transition: 0.2s; }
|
|
16
|
+
.cal-grid div:hover { color: #fff; background: rgba(255,255,255,0.05); border-radius: 5px; }
|
|
17
|
+
.today { background: #6366f1; color: #fff !important; border-radius: 5px; box-shadow: 0 0 10px rgba(99,102,241,0.4); }
|
|
18
|
+
</style>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="chips-row">
|
|
4
|
+
<span class="chip-active">All Assets</span>
|
|
5
|
+
<span>Images</span>
|
|
6
|
+
<span>Videos</span>
|
|
7
|
+
<span>Docs</span>
|
|
8
|
+
<span>Music</span>
|
|
9
|
+
</div>
|
|
10
|
+
<style>
|
|
11
|
+
.chips-row { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
|
|
12
|
+
.chips-row::-webkit-scrollbar { display: none; }
|
|
13
|
+
.chips-row span { padding: 6px 16px; background: #1e293b; border: 1px solid rgba(255, 255, 255, 0.05); color: #94a3b8; font-size: 0.8rem; border-radius: 100px; cursor: pointer; white-space: nowrap; transition: 0.2s; font-weight: 600; }
|
|
14
|
+
.chips-row span:hover { color: #fff; border-color: rgba(255, 255, 255, 0.2); }
|
|
15
|
+
.chip-active { background: #6366f1 !important; color: #fff !important; border-color: transparent !important; box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4); }
|
|
16
|
+
</style>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<dl class="desc-list">
|
|
4
|
+
<div class="row"><dt>Module Name</dt><dd>AuthEngine</dd></div>
|
|
5
|
+
<div class="row"><dt>Version</dt><dd>1.4.2</dd></div>
|
|
6
|
+
<div class="row"><dt>Status</dt><dd>Deployment Ready</dd></div>
|
|
7
|
+
</dl>
|
|
8
|
+
<style>
|
|
9
|
+
.desc-list { display: flex; flex-direction: column; width: 100%; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; overflow: hidden; background: rgba(0,0,0,0.1); }
|
|
10
|
+
.row { display: grid; grid-template-columns: 140px 1fr; padding: 0.75rem 1.25rem; border-bottom: 1px solid rgba(255, 255, 255, 0.1); font-size: 0.85rem; }
|
|
11
|
+
.row:last-child { border-bottom: none; }
|
|
12
|
+
dt { color: #64748b; font-weight: 600; }
|
|
13
|
+
dd { color: #fff; margin: 0; }
|
|
14
|
+
</style>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="tree">
|
|
4
|
+
<div class="folder active">📁 src</div>
|
|
5
|
+
<div class="indent">
|
|
6
|
+
<div class="folder">📁 components</div>
|
|
7
|
+
<div class="indent">
|
|
8
|
+
<div class="file">📄 Button.astro</div>
|
|
9
|
+
<div class="file">📄 Card.astro</div>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="file">📄 styles.css</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="file">📄 astro.config.mjs</div>
|
|
14
|
+
</div>
|
|
15
|
+
<style>
|
|
16
|
+
.tree { font-family: monospace; font-size: 0.85rem; color: #94a3b8; line-height: 1.8; }
|
|
17
|
+
.indent { padding-left: 1.25rem; border-left: 1px solid rgba(255,255,255,0.1); }
|
|
18
|
+
.folder { color: #fff; font-weight: 700; cursor: pointer; }
|
|
19
|
+
.folder.active { color: #818cf8; }
|
|
20
|
+
.file { cursor: pointer; padding-left: 4px; }
|
|
21
|
+
.file:hover { color: #fff; }
|
|
22
|
+
</style>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="gantt">
|
|
4
|
+
<div class="g-row"><div class="g-bar" style="width: 40%; margin-left: 10%; background: #6366f1"></div></div>
|
|
5
|
+
<div class="g-row"><div class="g-bar" style="width: 30%; margin-left: 55%; background: #c084fc"></div></div>
|
|
6
|
+
<div class="g-row"><div class="g-bar" style="width: 20%; margin-left: 20%; background: #10b981"></div></div>
|
|
7
|
+
</div>
|
|
8
|
+
<style>
|
|
9
|
+
.gantt { width: 100%; max-width: 500px; display: flex; flex-direction: column; gap: 8px; background: rgba(0,0,0,0.3); padding: 12px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.05); }
|
|
10
|
+
.g-row { height: 20px; position: relative; width: 100%; background: rgba(255,255,255,0.02); border-radius: 4px; }
|
|
11
|
+
.g-bar { height: 100%; border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
|
|
12
|
+
</style>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="table-wrap">
|
|
4
|
+
<table>
|
|
5
|
+
<thead><tr><th>User</th><th>Status</th><th>Role</th><th>Activity</th></tr></thead>
|
|
6
|
+
<tbody>
|
|
7
|
+
<tr><td>Alex Smith</td><td><span class="st st-active">Active</span></td><td>Admin</td><td>2m ago</td></tr>
|
|
8
|
+
<tr><td>Maria Garcia</td><td><span class="st st-away">Away</span></td><td>Editor</td><td>1h ago</td></tr>
|
|
9
|
+
<tr><td>James Wilson</td><td><span class="st st-offline">Offline</span></td><td>Viewer</td><td>2d ago</td></tr>
|
|
10
|
+
</tbody>
|
|
11
|
+
</table>
|
|
12
|
+
</div>
|
|
13
|
+
<style>
|
|
14
|
+
.table-wrap { width: 100%; overflow-x: auto; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06); border-radius: 16px; backdrop-filter: blur(10px); }
|
|
15
|
+
table { width: 100%; border-collapse: collapse; text-align: left; }
|
|
16
|
+
th { padding: 1rem 1.5rem; background: rgba(255,255,255,0.03); color: #818cf8; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; border-bottom: 1px solid rgba(255,255,255,0.06); }
|
|
17
|
+
td { padding: 1rem 1.5rem; color: #e2e8f0; font-size: 0.9rem; border-bottom: 1px solid rgba(255,255,255,0.04); }
|
|
18
|
+
tr:hover td { background: rgba(255,255,255,0.02); }
|
|
19
|
+
.st { padding: 2px 8px; border-radius: 4px; font-size: 0.7rem; font-weight: 700; }
|
|
20
|
+
.st-active { background: rgba(16,185,129,0.1); color: #34d399; }
|
|
21
|
+
.st-away { background: rgba(245,158,11,0.1); color: #fbbf24; }
|
|
22
|
+
.st-offline { background: rgba(100,116,139,0.1); color: #94a3b8; }
|
|
23
|
+
</style>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="meta-row">
|
|
4
|
+
<div class="m-pill">OS:<span>MacOS</span></div>
|
|
5
|
+
<div class="m-pill">Ver:<span>14.5</span></div>
|
|
6
|
+
<div class="m-pill">Arch:<span>ARM64</span></div>
|
|
7
|
+
</div>
|
|
8
|
+
<style>
|
|
9
|
+
.meta-row { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
10
|
+
.m-pill { background: rgba(0,0,0,0.2); color: #64748b; font-size: 0.7rem; padding: 4px 12px; border-radius: 8px; font-weight: 700; border: 1px solid rgba(255, 255, 255, 0.05); }
|
|
11
|
+
span { color: #e2e8f0; margin-left: 6px; }
|
|
12
|
+
</style>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="c-wrap">
|
|
4
|
+
<table>
|
|
5
|
+
<thead>
|
|
6
|
+
<tr><th>Features</th><th>Free</th><th>Pro</th></tr>
|
|
7
|
+
</thead>
|
|
8
|
+
<tbody>
|
|
9
|
+
<tr><td>Feature A</td><td>✅</td><td>✅</td></tr>
|
|
10
|
+
<tr><td>Feature B</td><td>❌</td><td>✅</td></tr>
|
|
11
|
+
<tr><td>Storage</td><td>10GB</td><td>100GB</td></tr>
|
|
12
|
+
</tbody>
|
|
13
|
+
</table>
|
|
14
|
+
</div>
|
|
15
|
+
<style>
|
|
16
|
+
.c-wrap { background: #0f172a; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); overflow: hidden; }
|
|
17
|
+
table { width: 100%; font-size: 0.85rem; color: #e2e8f0; border-collapse: collapse; }
|
|
18
|
+
th { padding: 1rem; background: rgba(255, 255, 255, 0.05); color: #fff; text-align: center; font-weight: 800; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
|
|
19
|
+
th:first-child { text-align: left; }
|
|
20
|
+
td { padding: 1rem; border: 1px solid rgba(255, 255, 255, 0.05); text-align: center; }
|
|
21
|
+
td:first-child { text-align: left; background: rgba(255,255,255,0.02); width: 40%; font-weight: 600; }
|
|
22
|
+
</style>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="p-list">
|
|
4
|
+
<div class="p-row"><span>Storage</span><strong>42%</strong></div>
|
|
5
|
+
<div class="p-bar"><div class="fill" style="width: 42%"></div></div>
|
|
6
|
+
<div style="margin-top: 1rem"></div>
|
|
7
|
+
<div class="p-row"><span>Bandwidth</span><strong>68%</strong></div>
|
|
8
|
+
<div class="p-bar"><div class="fill" style="width: 68%; background: #c084fc"></div></div>
|
|
9
|
+
</div>
|
|
10
|
+
<style>
|
|
11
|
+
.p-list { width: 100%; max-width: 300px; }
|
|
12
|
+
.p-row { display: flex; justify-content: space-between; font-size: 0.8rem; margin-bottom: 6px; }
|
|
13
|
+
span { color: #64748b; font-weight: 600; }
|
|
14
|
+
strong { color: #fff; }
|
|
15
|
+
.p-bar { height: 6px; background: rgba(255, 255, 255, 0.05); border-radius: 100px; overflow: hidden; }
|
|
16
|
+
.fill { height: 100%; background: #6366f1; border-radius: inherit; }
|
|
17
|
+
</style>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="rating-box">
|
|
4
|
+
<div class="r-row"><span>5★</span><div class="bar-bg"><div class="bar-val" style="width: 80%"></div></div></div>
|
|
5
|
+
<div class="r-row"><span>4★</span><div class="bar-bg"><div class="bar-val" style="width: 15%"></div></div></div>
|
|
6
|
+
<div class="r-row"><span>3★</span><div class="bar-bg"><div class="bar-val" style="width: 5%"></div></div></div>
|
|
7
|
+
</div>
|
|
8
|
+
<style>
|
|
9
|
+
.rating-box { display: flex; flex-direction: column; gap: 8px; width: 220px; }
|
|
10
|
+
.r-row { display: flex; align-items: center; gap: 10px; color: #94a3b8; font-size: 0.75rem; font-weight: 700; }
|
|
11
|
+
.bar-bg { flex: 1; height: 6px; background: rgba(255,255,255,0.05); border-radius: 3px; border: 1px solid rgba(255, 255, 255, 0.03); }
|
|
12
|
+
.bar-val { height: 100%; background: #fbbf24; border-radius: inherit; box-shadow: 0 0 8px rgba(251, 191, 36, 0.4); }
|
|
13
|
+
</style>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="spark-card">
|
|
4
|
+
<div class="top"><span>Sessions</span><h3>2,415</h3></div>
|
|
5
|
+
<div class="graph">
|
|
6
|
+
<svg viewBox="0 0 100 30">
|
|
7
|
+
<path d="M0 25 L10 20 L20 22 L30 15 L40 18 L50 25 L60 10 L70 12 L80 5 L90 8 L100 2" fill="none" stroke="#6366f1" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
8
|
+
</svg>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<style>
|
|
12
|
+
.spark-card { padding: 1.5rem; background: #111; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 20px; min-width: 160px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
|
|
13
|
+
h3 { margin: 4px 0; color: #fff; font-size: 1.5rem; font-weight: 800; }
|
|
14
|
+
span { font-size: 0.75rem; color: #64748b; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
|
|
15
|
+
.graph { margin-top: 15px; height: 30px; opacity: 0.8; }
|
|
16
|
+
</style>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="s-grid">
|
|
4
|
+
<div class="s-card"><span>Users</span><h3>12.4k</h3><small class="up">+12%</small></div>
|
|
5
|
+
<div class="s-card"><span>Revenue</span><h3>$48k</h3><small class="up">+5%</small></div>
|
|
6
|
+
<div class="s-card"><span>Bounce</span><h3>24%</h3><small class="down">-2%</small></div>
|
|
7
|
+
</div>
|
|
8
|
+
<style>
|
|
9
|
+
.s-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; }
|
|
10
|
+
.s-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255, 255, 255, 0.1); padding: 1.25rem; border-radius: 12px; }
|
|
11
|
+
span { font-size: 0.75rem; color: #64748b; font-weight: 600; text-transform: uppercase; }
|
|
12
|
+
h3 { font-size: 1.5rem; color: #fff; margin: 0.25rem 0; }
|
|
13
|
+
small { font-size: 0.7rem; font-weight: 700; }
|
|
14
|
+
.up { color: #10b981; }
|
|
15
|
+
.down { color: #ef4444; }
|
|
16
|
+
</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="v-steps">
|
|
4
|
+
<div class="v-step done"><span>Check</span>Account Created</div>
|
|
5
|
+
<div class="v-step current"><span>2</span>Verify Email</div>
|
|
6
|
+
<div class="v-step"><span>3</span>Setup Profile</div>
|
|
7
|
+
</div>
|
|
8
|
+
<style>
|
|
9
|
+
.v-steps { display: flex; flex-direction: column; gap: 1rem; }
|
|
10
|
+
.v-step { display: flex; align-items: center; gap: 1rem; color: #64748b; font-size: 0.9rem; font-weight: 600; }
|
|
11
|
+
.v-step span { width: 24px; height: 24px; background: #1e293b; display: grid; place-items: center; border-radius: 50%; font-size: 0.7rem; border: 1px solid #334155; }
|
|
12
|
+
.current { color: #fff; }
|
|
13
|
+
.current span { background: #6366f1; border-color: #6366f1; box-shadow: 0 0 10px rgba(99,102,241,0.4); }
|
|
14
|
+
.done span { background: #10b981; border-color: #10b981; color: #fff; }
|
|
15
|
+
</style>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="t-cloud">
|
|
4
|
+
<span class="t-pill">React</span>
|
|
5
|
+
<span class="t-pill t-active">Astro</span>
|
|
6
|
+
<span class="t-pill">Next.js</span>
|
|
7
|
+
<span class="t-pill">Vue</span>
|
|
8
|
+
<span class="t-pill">Svelte</span>
|
|
9
|
+
</div>
|
|
10
|
+
<style>
|
|
11
|
+
.t-cloud { display: flex; flex-wrap: wrap; gap: 0.5rem; }
|
|
12
|
+
.t-pill { padding: 4px 12px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 100px; color: #94a3b8; font-size: 0.75rem; font-weight: 600; cursor: pointer; transition: 0.2s; }
|
|
13
|
+
.t-pill:hover, .t-active { background: #6366f1; color: #fff; border-color: transparent; box-shadow: 0 4px 10px rgba(99,102,241,0.3); }
|
|
14
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="h-timeline">
|
|
4
|
+
<div class="h-line"></div>
|
|
5
|
+
<div class="h-item"><span>2022</span><strong>Founded</strong></div>
|
|
6
|
+
<div class="h-item"><span>2023</span><strong>Global</strong></div>
|
|
7
|
+
<div class="h-item curr"><span>2024</span><strong>V2.0</strong></div>
|
|
8
|
+
</div>
|
|
9
|
+
<style>
|
|
10
|
+
.h-timeline { display: flex; justify-content: space-between; position: relative; padding: 2rem 0; width: 100%; max-width: 600px; margin: 0 auto; }
|
|
11
|
+
.h-line { position: absolute; top: 3.2rem; left: 0; width: 100%; height: 2px; background: rgba(255,255,255,0.1); }
|
|
12
|
+
.h-item { text-align: center; position: relative; z-index: 1; min-width: 80px; }
|
|
13
|
+
.h-item span { display: block; font-size: 0.7rem; color: #64748b; margin-bottom: 2rem; font-weight: 700; }
|
|
14
|
+
.h-item::after { content: ""; position: absolute; left: 50%; top: 1.1rem; width: 16px; height: 16px; background: #1e293b; border: 3px solid #334155; border-radius: 50%; transform: translateX(-50%); transition: 0.3s; }
|
|
15
|
+
strong { display: block; color: #fff; font-size: 0.85rem; }
|
|
16
|
+
.curr strong { color: #6366f1; }
|
|
17
|
+
.curr::after { background: #6366f1; border-color: #080b14; box-shadow: 0 0 15px rgba(99, 102, 241, 0.6); }
|
|
18
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="exp-row">
|
|
4
|
+
<div class="main"><span>▶</span> Users Database</div>
|
|
5
|
+
<div class="child">
|
|
6
|
+
<p>Columns: id, name, email, avatar, status</p>
|
|
7
|
+
<p>Rows: 1,402 entries</p>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
<style>
|
|
11
|
+
.exp-row { border-bottom: 1px solid rgba(255, 255, 255, 0.05); padding: 12px; }
|
|
12
|
+
.main { color: #fff; font-size: 0.85rem; font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: 0.2s; }
|
|
13
|
+
.main span { font-size: 0.6rem; color: #64748b; transition: 0.3s; }
|
|
14
|
+
.child { margin-top: 12px; padding-left: 24px; color: #64748b; font-size: 0.8rem; display: none; line-height: 1.5; }
|
|
15
|
+
.exp-row:hover .main { color: #818cf8; }
|
|
16
|
+
.exp-row:hover .main span { transform: rotate(90deg); color: #818cf8; }
|
|
17
|
+
.exp-row:hover .child { display: block; }
|
|
18
|
+
</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="u-item">
|
|
4
|
+
<div class="u-pic">JS</div>
|
|
5
|
+
<div class="u-info"><h5>John Doe</h5><p>Software Engineer</p></div>
|
|
6
|
+
<div class="u-stat">Online</div>
|
|
7
|
+
</div>
|
|
8
|
+
<style>
|
|
9
|
+
.u-item { display: flex; align-items: center; gap: 1rem; padding: 1rem; background: rgba(255, 255, 255, 0.03); border-radius: 16px; border: 1px solid rgba(255, 255, 255, 0.08); transition: 0.2s; }
|
|
10
|
+
.u-item:hover { border-color: rgba(99, 102, 241, 0.4); background: rgba(99, 102, 241, 0.05); }
|
|
11
|
+
.u-pic { width: 42px; height: 42px; background: linear-gradient(135deg, #6366f1, #c084fc); border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 0.8rem; }
|
|
12
|
+
.u-info h5 { margin: 0; color: #fff; font-size: 1rem; }
|
|
13
|
+
.u-info p { margin: 2px 0 0; font-size: 0.75rem; color: #64748b; }
|
|
14
|
+
.u-stat { margin-left: auto; font-size: 0.65rem; color: #34d399; font-weight: 800; text-transform: uppercase; background: rgba(52, 211, 153, 0.1); padding: 2px 8px; border-radius: 4px; }
|
|
15
|
+
</style>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="timeline-v">
|
|
4
|
+
<div class="t-item">
|
|
5
|
+
<div class="t-date">Oct 2024</div>
|
|
6
|
+
<div class="t-content"><h4>V2 Release</h4><p>Launched the modular registry architecture.</p></div>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="t-item">
|
|
9
|
+
<div class="t-date">Aug 2024</div>
|
|
10
|
+
<div class="t-content"><h4>Beta Phase</h4><p>Community testing and initial component set.</p></div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
<style>
|
|
14
|
+
.timeline-v { position: relative; padding-left: 2rem; }
|
|
15
|
+
.timeline-v::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: rgba(99,102,241,0.2); }
|
|
16
|
+
.t-item { position: relative; margin-bottom: 2.5rem; }
|
|
17
|
+
.t-item::after { content: ""; position: absolute; left: -2.35rem; top: 5px; width: 12px; height: 12px; background: #6366f1; border: 3px solid #080b14; border-radius: 50%; }
|
|
18
|
+
.t-date { font-size: 0.75rem; font-weight: 700; color: #6366f1; margin-bottom: 0.25rem; }
|
|
19
|
+
h4 { color: #fff; margin: 0; }
|
|
20
|
+
p { font-size: 0.85rem; color: #94a3b8; margin-top: 0.25rem; }
|
|
21
|
+
</style>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { default as AccordionGroupGlass } from './AccordionGroupGlass.astro';
|
|
2
|
+
export { default as AvatarGroupStack } from './AvatarGroupStack.astro';
|
|
3
|
+
export { default as CalendarGridView } from './CalendarGridView.astro';
|
|
4
|
+
export { default as DataChipsGroup } from './DataChipsGroup.astro';
|
|
5
|
+
export { default as DescriptionListHoriz } from './DescriptionListHoriz.astro';
|
|
6
|
+
export { default as FileTreeView } from './FileTreeView.astro';
|
|
7
|
+
export { default as GanttChartMinimal } from './GanttChartMinimal.astro';
|
|
8
|
+
export { default as GlassTable } from './GlassTable.astro';
|
|
9
|
+
export { default as KeyValuePillGroup } from './KeyValuePillGroup.astro';
|
|
10
|
+
export { default as PriceCompareTable } from './PriceCompareTable.astro';
|
|
11
|
+
export { default as ProgressListSmall } from './ProgressListSmall.astro';
|
|
12
|
+
export { default as RatingBreakdownBar } from './RatingBreakdownBar.astro';
|
|
13
|
+
export { default as SparklineStatCard } from './SparklineStatCard.astro';
|
|
14
|
+
export { default as StatsGridDashboard } from './StatsGridDashboard.astro';
|
|
15
|
+
export { default as StepperDataVertical } from './StepperDataVertical.astro';
|
|
16
|
+
export { default as TagCloudData } from './TagCloudData.astro';
|
|
17
|
+
export { default as TimelineHorizSteps } from './TimelineHorizSteps.astro';
|
|
18
|
+
export { default as TreeItemInteractive } from './TreeItemInteractive.astro';
|
|
19
|
+
export { default as UserDirectoryItem } from './UserDirectoryItem.astro';
|
|
20
|
+
export { default as VerticalTimeline } from './VerticalTimeline.astro';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
|
|
4
|
+
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
|
|
5
|
+
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
|
|
6
|
+
</svg>
|
|
7
|
+
<style>
|
|
8
|
+
.checkmark { width: 56px; height: 56px; border-radius: 50%; display: block; stroke-width: 2; stroke: #fff; stroke-miterlimit: 10; margin: 10% auto; box-shadow: inset 0px 0px 0px #7ac142; animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both; }
|
|
9
|
+
.checkmark__circle { stroke-dasharray: 166; stroke-dashoffset: 166; stroke-width: 2; stroke-miterlimit: 10; stroke: #7ac142; fill: none; animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards; }
|
|
10
|
+
.checkmark__check { transform-origin: 50% 50%; stroke-dasharray: 48; stroke-dashoffset: 48; animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards; }
|
|
11
|
+
@keyframes stroke { 100% { stroke-dashoffset: 0; } }
|
|
12
|
+
@keyframes fill { 100% { box-shadow: inset 0px 0px 0px 30px #7ac142; } }
|
|
13
|
+
</style>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
interface Props { variant?: 'default' | 'success' | 'warning' | 'danger' | 'info'; dot?: boolean; pulse?: boolean; }
|
|
3
|
+
const { variant = 'default', dot = false, pulse = false } = Astro.props;
|
|
4
|
+
---
|
|
5
|
+
<span class:list={['badge', `badge--${variant}`]}>
|
|
6
|
+
{dot && <span class:list={['badge__dot', { 'badge__dot--pulse': pulse }]}></span>}
|
|
7
|
+
<slot />
|
|
8
|
+
</span>
|
|
9
|
+
<style>
|
|
10
|
+
.badge { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.25rem 0.7rem; border-radius: 100px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; white-space: nowrap; }
|
|
11
|
+
.badge--default { background: rgba(100, 116, 139, 0.18); color: #94a3b8; border: 1px solid rgba(100, 116, 139, 0.25); }
|
|
12
|
+
.badge--success { background: rgba(16, 185, 129, 0.12); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.25); }
|
|
13
|
+
.badge--warning { background: rgba(245, 158, 11, 0.12); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.25); }
|
|
14
|
+
.badge--danger { background: rgba(239, 68, 68, 0.12); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.25); }
|
|
15
|
+
.badge--info { background: rgba(99, 102, 241, 0.12); color: #818cf8; border: 1px solid rgba(99, 102, 241, 0.25); }
|
|
16
|
+
.badge__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
|
|
17
|
+
.badge__dot--pulse { animation: dot-pulse 1.8s ease-in-out infinite; }
|
|
18
|
+
@keyframes dot-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.7); } }
|
|
19
|
+
</style>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
interface Props { percent: number; }
|
|
3
|
+
const { percent } = Astro.props;
|
|
4
|
+
const radius = 30;
|
|
5
|
+
const circum = 2 * Math.PI * radius;
|
|
6
|
+
const offset = circum - (percent / 100) * circum;
|
|
7
|
+
---
|
|
8
|
+
<div class="circle-box">
|
|
9
|
+
<svg width="80" height="80">
|
|
10
|
+
<circle class="bg" cx="40" cy="40" r={radius} />
|
|
11
|
+
<circle class="val" cx="40" cy="40" r={radius} stroke-dasharray={circum} stroke-dashoffset={offset} />
|
|
12
|
+
</svg>
|
|
13
|
+
<div class="label">{percent}%</div>
|
|
14
|
+
</div>
|
|
15
|
+
<style>
|
|
16
|
+
.circle-box { position: relative; width: 80px; height: 80px; display: grid; place-items: center; }
|
|
17
|
+
svg { transform: rotate(-90deg); }
|
|
18
|
+
circle { fill: transparent; stroke-width: 6; stroke-linecap: round; }
|
|
19
|
+
.bg { stroke: rgba(255,255,255,0.05); }
|
|
20
|
+
.val { stroke: #6366f1; transition: stroke-dashoffset 1s ease; }
|
|
21
|
+
.label { position: absolute; font-size: 0.8rem; font-weight: 800; color: #fff; }
|
|
22
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="confetti-btn-trigger">
|
|
4
|
+
<span>Success!</span>
|
|
5
|
+
<div class="confetti-container">
|
|
6
|
+
<div class="piece" style="--l: 10%; --d: 0.5s"></div>
|
|
7
|
+
<div class="piece" style="--l: 50%; --d: 1s"></div>
|
|
8
|
+
<div class="piece" style="--l: 80%; --d: 0.2s"></div>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<style>
|
|
12
|
+
.confetti-container { position: absolute; inset: 0; pointer-events: none; }
|
|
13
|
+
.piece { position: absolute; left: var(--l); top: 0; width: 8px; height: 8px; background: #6366f1; border-radius: 2px; opacity: 0; animation: fall 2s infinite var(--d); }
|
|
14
|
+
@keyframes fall {
|
|
15
|
+
0% { transform: translateY(0) rotate(0); opacity: 1; }
|
|
16
|
+
100% { transform: translateY(100px) rotate(360deg); opacity: 0; }
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="glitch-alert">
|
|
4
|
+
<span class="glitch-text" data-text="CRITICAL ERROR">CRITICAL ERROR</span>
|
|
5
|
+
</div>
|
|
6
|
+
<style>
|
|
7
|
+
.glitch-alert { background: #ff003c; padding: 1.5rem; border: 2px solid #fff; position: relative; overflow: hidden; }
|
|
8
|
+
.glitch-text { font-family: monospace; font-weight: 900; color: #fff; font-size: 1.2rem; }
|
|
9
|
+
.glitch-text::before { content: attr(data-text); position: absolute; left: -2px; text-shadow: 2px 0 #00e0ff; animation: glitch-anim 1s infinite linear alternate-reverse; }
|
|
10
|
+
@keyframes glitch-anim { 0% { clip: rect(44px, 450px, 56px, 0); } 100% { clip: rect(12px, 450px, 80px, 0); } }
|
|
11
|
+
</style>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
<div class="empty-state">
|
|
4
|
+
<div class="ico">📁</div>
|
|
5
|
+
<h4>No results found</h4>
|
|
6
|
+
<p>Try adjusting your search filters or add a new item.</p>
|
|
7
|
+
</div>
|
|
8
|
+
<style>
|
|
9
|
+
.empty-state { text-align: center; padding: 4rem 2rem; border: 2px dashed rgba(255,255,255,0.1); border-radius: 20px; color: #94a3b8; background: rgba(255,255,255,0.02); }
|
|
10
|
+
.ico { font-size: 3rem; margin-bottom: 1rem; opacity: 0.5; }
|
|
11
|
+
h4 { color: #fff; margin: 0; }
|
|
12
|
+
p { font-size: 0.9rem; margin-top: 0.5rem; }
|
|
13
|
+
</style>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
interface Props { type?: 'info' | 'success' | 'warning' | 'error'; title: string; }
|
|
3
|
+
const { type = 'info', title } = Astro.props;
|
|
4
|
+
---
|
|
5
|
+
<div class:list={['alert', `alert--${type}` ]}>
|
|
6
|
+
<div class="alert-icon">!</div>
|
|
7
|
+
<div class="alert-content">
|
|
8
|
+
<div class="alert-title">{title}</div>
|
|
9
|
+
<div class="alert-body"><slot /></div>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
<style>
|
|
13
|
+
.alert { display: flex; gap: 1rem; padding: 1.25rem; border-radius: 16px; border: 1px solid rgba(255,255,255,0.1); backdrop-filter: blur(12px); background: rgba(255,255,255,0.03); }
|
|
14
|
+
.alert--success { border-color: rgba(52,211,153,0.3); background: rgba(52,211,153,0.05); }
|
|
15
|
+
.alert--warning { border-color: rgba(245,158,11,0.3); background: rgba(245,158,11,0.05); }
|
|
16
|
+
.alert--error { border-color: rgba(239,68,68,0.3); background: rgba(239,68,68,0.05); }
|
|
17
|
+
.alert-icon { font-weight: 900; background: rgba(255,255,255,0.1); width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; font-size: 0.8rem; }
|
|
18
|
+
.alert-title { font-weight: 700; color: #fff; margin-bottom: 2px; }
|
|
19
|
+
.alert-body { font-size: 0.85rem; color: #94a3b8; }
|
|
20
|
+
</style>
|