astro-component-kit 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/README.md +218 -119
  2. package/package.json +25 -52
  3. package/src/components/index.ts +207 -0
  4. package/src/components/lib/AnimatedGalaxy.astro +185 -0
  5. package/src/components/lib/Galaxy3D.astro +308 -0
  6. package/src/components/lib/GlassNavbar.astro +13 -11
  7. package/src/components/lib/LogoWithGalaxy.astro +63 -0
  8. package/src/components/lib/buttons/3dPushButton.astro +9 -0
  9. package/src/components/lib/buttons/AnimatedIconButton.astro +10 -0
  10. package/src/components/lib/buttons/BorderDrawButton.astro +9 -0
  11. package/src/components/lib/buttons/CyberpunkButton.astro +10 -0
  12. package/src/components/lib/buttons/DoubleBorderButton.astro +9 -0
  13. package/src/components/lib/buttons/GhostOutlineButton.astro +10 -0
  14. package/src/components/lib/buttons/GlassButton.astro +13 -32
  15. package/src/components/lib/buttons/GlowButton.astro +9 -0
  16. package/src/components/lib/buttons/LiquidButton.astro +9 -0
  17. package/src/components/lib/buttons/LoadingButton.astro +10 -0
  18. package/src/components/lib/buttons/MagneticButton.astro +10 -0
  19. package/src/components/lib/buttons/MinimalPillButton.astro +9 -0
  20. package/src/components/lib/buttons/NeumorphicButton.astro +10 -0
  21. package/src/components/lib/buttons/PulseButton.astro +10 -0
  22. package/src/components/lib/buttons/RetroArcadeButton.astro +9 -0
  23. package/src/components/lib/buttons/RetroShadowButton.astro +9 -0
  24. package/src/components/lib/buttons/ShimmerButton.astro +9 -0
  25. package/src/components/lib/buttons/ShinyButton.astro +9 -0
  26. package/src/components/lib/buttons/TiltGlowButton.astro +10 -0
  27. package/src/components/lib/cards/BlogHorizontalCard.astro +46 -13
  28. package/src/components/lib/cards/CyberFeatureCard.astro +50 -6
  29. package/src/components/lib/cards/EcommerceProductCard.astro +69 -16
  30. package/src/components/lib/cards/GlassCard.astro +8 -0
  31. package/src/components/lib/cards/GlassEventCard.astro +53 -12
  32. package/src/components/lib/cards/GlowPortfolioCard.astro +46 -9
  33. package/src/components/lib/cards/InteractiveTiltCard.astro +47 -7
  34. package/src/components/lib/cards/KanbanItemCard.astro +40 -9
  35. package/src/components/lib/cards/MinimalLinkCard.astro +37 -7
  36. package/src/components/lib/cards/MusicPlayerMini.astro +54 -14
  37. package/src/components/lib/cards/NeumorphicCard.astro +32 -2
  38. package/src/components/lib/cards/NotificationCard.astro +44 -9
  39. package/src/components/lib/cards/PricingCard.astro +47 -9
  40. package/src/components/lib/cards/ProfileCard.astro +50 -11
  41. package/src/components/lib/cards/RetroGameCard.astro +37 -9
  42. package/src/components/lib/cards/StatCard.astro +43 -8
  43. package/src/components/lib/cards/TaskKanbanCard.astro +50 -11
  44. package/src/components/lib/cards/TestimonialCardClean.astro +43 -12
  45. package/src/components/lib/cards/WeatherWidgetCard.astro +36 -10
  46. package/src/components/lib/feedback/AnimatedCheckmark.astro +58 -9
  47. package/src/components/lib/feedback/Badge.astro +47 -12
  48. package/src/components/lib/feedback/CircleProgress.astro +56 -13
  49. package/src/components/lib/feedback/ConfettiFeedback.astro +74 -11
  50. package/src/components/lib/feedback/CyberGlitchAlert.astro +69 -6
  51. package/src/components/lib/feedback/EmptyStateCard.astro +55 -7
  52. package/src/components/lib/feedback/GlassAlert.astro +59 -13
  53. package/src/components/lib/feedback/GlassModal.astro +99 -14
  54. package/src/components/lib/feedback/GlassProgress.astro +39 -5
  55. package/src/components/lib/feedback/IndicatorBadgeMinimal.astro +56 -3
  56. package/src/components/lib/feedback/NeonSpinner.astro +40 -3
  57. package/src/components/lib/feedback/PulseDot.astro +51 -7
  58. package/src/components/lib/feedback/RatingPill.astro +38 -8
  59. package/src/components/lib/feedback/ShakeErrorGroup.astro +44 -3
  60. package/src/components/lib/feedback/SimpleTooltip.astro +53 -4
  61. package/src/components/lib/feedback/SkeletonList.astro +59 -13
  62. package/src/components/lib/feedback/Spotlight.astro +49 -4
  63. package/src/components/lib/feedback/StepProgress.astro +96 -9
  64. package/src/components/lib/feedback/ToastNotif.astro +60 -6
  65. package/src/components/lib/feedback/TypingIndicator.astro +52 -7
  66. package/src/components/lib/forms/AnimatedInput.astro +47 -5
  67. package/src/components/lib/forms/ChipInput.astro +116 -8
  68. package/src/components/lib/forms/ColorPickerInput.astro +53 -6
  69. package/src/components/lib/forms/CurrencyInput.astro +59 -6
  70. package/src/components/lib/forms/CustomRadioGroup.astro +61 -9
  71. package/src/components/lib/forms/CyberpunkCheckbox.astro +64 -8
  72. package/src/components/lib/forms/DragDropUpload.astro +87 -7
  73. package/src/components/lib/forms/ErrorInput.astro +31 -4
  74. package/src/components/lib/forms/FloatingPassword.astro +48 -10
  75. package/src/components/lib/forms/FormGroupVertical.astro +63 -9
  76. package/src/components/lib/forms/GlassSlider.astro +84 -3
  77. package/src/components/lib/forms/GlassTextarea.astro +39 -6
  78. package/src/components/lib/forms/ModernSelect.astro +66 -10
  79. package/src/components/lib/forms/NeumorphicSwitch.astro +54 -26
  80. package/src/components/lib/forms/OTPInput.astro +84 -12
  81. package/src/components/lib/forms/RatingStars.astro +66 -10
  82. package/src/components/lib/forms/SearchReveal.astro +44 -6
  83. package/src/components/lib/forms/SegmentedControl.astro +61 -7
  84. package/src/components/lib/forms/SimpleFileInput.astro +57 -6
  85. package/src/components/lib/forms/StepperInput.astro +101 -9
  86. package/src/components/lib/layout/FeatureHero.astro +70 -6
  87. package/src/components/lib/layout/FooterCenteredMinimal.astro +5 -2
  88. package/src/components/lib/navigation/GlassNavbar.astro +10 -5
  89. package/src/components/lib/navigation/MinimalSidebar.astro +6 -3
  90. package/src/components/lib/navigation/SimpleFooterGlass.astro +6 -2
  91. package/src/components/lib/overlays/SplashIntroOverlay.astro +6 -3
  92. package/src/components/lib/sections/ButtonsShowcase.astro +182 -0
  93. package/src/components/lib/sections/CardsShowcase.astro +376 -0
  94. package/src/components/lib/sections/DataShowcase.astro +329 -0
  95. package/src/components/lib/sections/FeedbackShowcase.astro +320 -0
  96. package/src/components/lib/sections/FormsShowcase.astro +347 -0
  97. package/src/components/lib/sections/HeroGlass.astro +202 -0
  98. package/src/components/lib/sections/HeroGradient.astro +143 -0
  99. package/src/components/lib/sections/HeroSplit.astro +210 -0
  100. package/src/components/lib/sections/LayoutShowcase.astro +317 -0
  101. package/src/components/lib/sections/NavigationShowcase.astro +285 -0
  102. package/src/components/lib/sections/OverlaysShowcase.astro +373 -0
  103. package/src/components/lib/sections/TypographyShowcase.astro +239 -0
  104. package/src/components/lib/sections/index.ts +9 -0
  105. package/src/components/types.d.ts +6 -0
  106. package/{dist → src}/styles/global.css +5 -5
  107. package/dist/AnimatedInput.astro +0 -82
  108. package/dist/Badge.astro +0 -52
  109. package/dist/GlassButton.astro +0 -87
  110. package/dist/GlassCard.astro +0 -72
  111. package/dist/GlassNavbar.astro +0 -65
  112. package/dist/GlowButton.astro +0 -60
  113. package/dist/buttons/3dPushButton.astro +0 -136
  114. package/dist/buttons/AnimatedIconButton.astro +0 -146
  115. package/dist/buttons/BorderDrawButton.astro +0 -112
  116. package/dist/buttons/CyberpunkButton.astro +0 -148
  117. package/dist/buttons/DoubleBorderButton.astro +0 -131
  118. package/dist/buttons/GhostOutlineButton.astro +0 -109
  119. package/dist/buttons/GlassButton.astro +0 -165
  120. package/dist/buttons/GlowButton.astro +0 -119
  121. package/dist/buttons/LiquidButton.astro +0 -167
  122. package/dist/buttons/LoadingButton.astro +0 -148
  123. package/dist/buttons/MagneticButton.astro +0 -134
  124. package/dist/buttons/MinimalPillButton.astro +0 -102
  125. package/dist/buttons/NeumorphicButton.astro +0 -158
  126. package/dist/buttons/PulseButton.astro +0 -111
  127. package/dist/buttons/RetroArcadeButton.astro +0 -105
  128. package/dist/buttons/RetroShadowButton.astro +0 -82
  129. package/dist/buttons/ShimmerButton.astro +0 -113
  130. package/dist/buttons/ShinyButton.astro +0 -121
  131. package/dist/buttons/TiltGlowButton.astro +0 -145
  132. package/dist/buttons/index.mjs +0 -19
  133. package/dist/buttons/index.ts +0 -19
  134. package/dist/cards/BlogHorizontalCard.astro +0 -18
  135. package/dist/cards/CyberFeatureCard.astro +0 -12
  136. package/dist/cards/EcommerceProductCard.astro +0 -24
  137. package/dist/cards/GlassCard.astro +0 -17
  138. package/dist/cards/GlassEventCard.astro +0 -19
  139. package/dist/cards/GlowPortfolioCard.astro +0 -16
  140. package/dist/cards/InteractiveTiltCard.astro +0 -25
  141. package/dist/cards/KanbanItemCard.astro +0 -15
  142. package/dist/cards/MinimalLinkCard.astro +0 -12
  143. package/dist/cards/MusicPlayerMini.astro +0 -21
  144. package/dist/cards/NeumorphicCard.astro +0 -6
  145. package/dist/cards/NotificationCard.astro +0 -15
  146. package/dist/cards/PricingCard.astro +0 -17
  147. package/dist/cards/ProfileCard.astro +0 -17
  148. package/dist/cards/RetroGameCard.astro +0 -15
  149. package/dist/cards/StatCard.astro +0 -15
  150. package/dist/cards/TaskKanbanCard.astro +0 -18
  151. package/dist/cards/TestimonialCardClean.astro +0 -20
  152. package/dist/cards/WeatherWidgetCard.astro +0 -17
  153. package/dist/cards/index.mjs +0 -19
  154. package/dist/cards/index.ts +0 -19
  155. package/dist/data/AccordionGroupGlass.astro +0 -21
  156. package/dist/data/AvatarGroupStack.astro +0 -15
  157. package/dist/data/CalendarGridView.astro +0 -18
  158. package/dist/data/DataChipsGroup.astro +0 -16
  159. package/dist/data/DescriptionListHoriz.astro +0 -14
  160. package/dist/data/FileTreeView.astro +0 -22
  161. package/dist/data/GanttChartMinimal.astro +0 -12
  162. package/dist/data/GlassTable.astro +0 -23
  163. package/dist/data/KeyValuePillGroup.astro +0 -12
  164. package/dist/data/PriceCompareTable.astro +0 -22
  165. package/dist/data/ProgressListSmall.astro +0 -17
  166. package/dist/data/RatingBreakdownBar.astro +0 -13
  167. package/dist/data/SparklineStatCard.astro +0 -16
  168. package/dist/data/StatsGridDashboard.astro +0 -16
  169. package/dist/data/StepperDataVertical.astro +0 -15
  170. package/dist/data/TagCloudData.astro +0 -14
  171. package/dist/data/TimelineHorizSteps.astro +0 -18
  172. package/dist/data/TreeItemInteractive.astro +0 -18
  173. package/dist/data/UserDirectoryItem.astro +0 -15
  174. package/dist/data/VerticalTimeline.astro +0 -21
  175. package/dist/data/index.mjs +0 -20
  176. package/dist/data/index.ts +0 -20
  177. package/dist/feedback/AnimatedCheckmark.astro +0 -13
  178. package/dist/feedback/Badge.astro +0 -19
  179. package/dist/feedback/CircleProgress.astro +0 -22
  180. package/dist/feedback/ConfettiFeedback.astro +0 -18
  181. package/dist/feedback/CyberGlitchAlert.astro +0 -11
  182. package/dist/feedback/EmptyStateCard.astro +0 -13
  183. package/dist/feedback/GlassAlert.astro +0 -20
  184. package/dist/feedback/GlassModal.astro +0 -19
  185. package/dist/feedback/GlassProgress.astro +0 -10
  186. package/dist/feedback/IndicatorBadgeMinimal.astro +0 -10
  187. package/dist/feedback/NeonSpinner.astro +0 -7
  188. package/dist/feedback/PulseDot.astro +0 -12
  189. package/dist/feedback/RatingPill.astro +0 -13
  190. package/dist/feedback/ShakeErrorGroup.astro +0 -7
  191. package/dist/feedback/SimpleTooltip.astro +0 -10
  192. package/dist/feedback/SkeletonList.astro +0 -20
  193. package/dist/feedback/Spotlight.astro +0 -9
  194. package/dist/feedback/StepProgress.astro +0 -14
  195. package/dist/feedback/ToastNotif.astro +0 -11
  196. package/dist/feedback/TypingIndicator.astro +0 -12
  197. package/dist/feedback/index.mjs +0 -20
  198. package/dist/feedback/index.ts +0 -20
  199. package/dist/forms/AnimatedInput.astro +0 -16
  200. package/dist/forms/ChipInput.astro +0 -13
  201. package/dist/forms/ColorPickerInput.astro +0 -13
  202. package/dist/forms/CurrencyInput.astro +0 -11
  203. package/dist/forms/CustomRadioGroup.astro +0 -13
  204. package/dist/forms/CyberpunkCheckbox.astro +0 -15
  205. package/dist/forms/DragDropUpload.astro +0 -12
  206. package/dist/forms/ErrorInput.astro +0 -11
  207. package/dist/forms/FloatingPassword.astro +0 -20
  208. package/dist/forms/FormGroupVertical.astro +0 -14
  209. package/dist/forms/GlassSlider.astro +0 -7
  210. package/dist/forms/GlassTextarea.astro +0 -14
  211. package/dist/forms/ModernSelect.astro +0 -16
  212. package/dist/forms/NeumorphicSwitch.astro +0 -55
  213. package/dist/forms/OTPInput.astro +0 -22
  214. package/dist/forms/RatingStars.astro +0 -15
  215. package/dist/forms/SearchReveal.astro +0 -13
  216. package/dist/forms/SegmentedControl.astro +0 -13
  217. package/dist/forms/SimpleFileInput.astro +0 -11
  218. package/dist/forms/StepperInput.astro +0 -14
  219. package/dist/forms/index.mjs +0 -20
  220. package/dist/forms/index.ts +0 -20
  221. package/dist/index.js +0 -1
  222. package/dist/index.mjs +0 -1
  223. package/dist/layout/BentoGrid3.astro +0 -14
  224. package/dist/layout/CenterFixedBox.astro +0 -6
  225. package/dist/layout/CenteredContainer.astro +0 -8
  226. package/dist/layout/ClusterHorizontal.astro +0 -6
  227. package/dist/layout/FeatureHero.astro +0 -17
  228. package/dist/layout/FooterCenteredMinimal.astro +0 -11
  229. package/dist/layout/FullBleedSection.astro +0 -6
  230. package/dist/layout/GalleryGrid4.astro +0 -7
  231. package/dist/layout/GlassCardGrid.astro +0 -6
  232. package/dist/layout/GlassSectionHeader.astro +0 -15
  233. package/dist/layout/LandingSectionSplit.astro +0 -13
  234. package/dist/layout/MasonryGrid.astro +0 -7
  235. package/dist/layout/MinimalFooterGrid.astro +0 -20
  236. package/dist/layout/ScrollSnapSection.astro +0 -7
  237. package/dist/layout/SectionDividerText.astro +0 -7
  238. package/dist/layout/SidebarLayoutWrapper.astro +0 -11
  239. package/dist/layout/SplitScreenLayout.astro +0 -11
  240. package/dist/layout/StepLayoutVertical.astro +0 -21
  241. package/dist/layout/StickySidebarWrapper.astro +0 -10
  242. package/dist/layout/VerticalStack.astro +0 -8
  243. package/dist/layout/index.mjs +0 -20
  244. package/dist/layout/index.ts +0 -20
  245. package/dist/navigation/AnchorSideNav.astro +0 -13
  246. package/dist/navigation/BottomNavMobile.astro +0 -13
  247. package/dist/navigation/BreadcrumbsMinimal.astro +0 -16
  248. package/dist/navigation/BurgerMorphIcon.astro +0 -12
  249. package/dist/navigation/CommandPaletteUI.astro +0 -17
  250. package/dist/navigation/DotNavigationSlider.astro +0 -13
  251. package/dist/navigation/FloatingTabBar.astro +0 -12
  252. package/dist/navigation/GlassNavbar.astro +0 -19
  253. package/dist/navigation/LangSwitcherPill.astro +0 -17
  254. package/dist/navigation/MegaMenuGlass.astro +0 -25
  255. package/dist/navigation/MinimalSidebar.astro +0 -18
  256. package/dist/navigation/PaginationGlass.astro +0 -20
  257. package/dist/navigation/PaginationInfiniteUI.astro +0 -11
  258. package/dist/navigation/RadialIconMenu.astro +0 -15
  259. package/dist/navigation/RetroArcadeMenu.astro +0 -12
  260. package/dist/navigation/ScrollProgressTop.astro +0 -15
  261. package/dist/navigation/SimpleFooterGlass.astro +0 -21
  262. package/dist/navigation/TabUnderline.astro +0 -14
  263. package/dist/navigation/UserProfileNav.astro +0 -21
  264. package/dist/navigation/VerticalTabs.astro +0 -14
  265. package/dist/navigation/index.mjs +0 -20
  266. package/dist/navigation/index.ts +0 -20
  267. package/dist/overlays/AgeVerificationOverlay.astro +0 -20
  268. package/dist/overlays/BackdropBlurMask.astro +0 -6
  269. package/dist/overlays/BottomSheetMobile.astro +0 -16
  270. package/dist/overlays/CommandDialog.astro +0 -19
  271. package/dist/overlays/ContextMenuOverlay.astro +0 -17
  272. package/dist/overlays/CookieBannerGlass.astro +0 -14
  273. package/dist/overlays/ExitIntentOverlay.astro +0 -19
  274. package/dist/overlays/FloatingTrayActions.astro +0 -13
  275. package/dist/overlays/HelpBubbleOverlay.astro +0 -11
  276. package/dist/overlays/LightboxOverlay.astro +0 -13
  277. package/dist/overlays/LoadingOverlayFull.astro +0 -10
  278. package/dist/overlays/MobileNavOverlay.astro +0 -18
  279. package/dist/overlays/OverlayModal.astro +0 -24
  280. package/dist/overlays/PopoverMenuGlass.astro +0 -17
  281. package/dist/overlays/SearchOverlayFullscreen.astro +0 -15
  282. package/dist/overlays/SideDrawerRight.astro +0 -16
  283. package/dist/overlays/SplashIntroOverlay.astro +0 -11
  284. package/dist/overlays/SpotlightIndicator.astro +0 -6
  285. package/dist/overlays/ToastStackOverlay.astro +0 -12
  286. package/dist/overlays/TooltipActionTray.astro +0 -14
  287. package/dist/overlays/index.mjs +0 -20
  288. package/dist/overlays/index.ts +0 -20
  289. package/dist/typography/AnimatedUnderlineLink.astro +0 -10
  290. package/dist/typography/BackgroundClipMask.astro +0 -7
  291. package/dist/typography/CodeInlineGlass.astro +0 -6
  292. package/dist/typography/CyberpunkGlitchText.astro +0 -20
  293. package/dist/typography/DropCapParagraph.astro +0 -7
  294. package/dist/typography/FadedVerticalText.astro +0 -6
  295. package/dist/typography/FloatingTextLabel.astro +0 -10
  296. package/dist/typography/GlassBlockQuote.astro +0 -13
  297. package/dist/typography/GlassTextReveal.astro +0 -7
  298. package/dist/typography/GradientHeading.astro +0 -9
  299. package/dist/typography/GradientUnderlineLink.astro +0 -7
  300. package/dist/typography/KbdIndicator.astro +0 -6
  301. package/dist/typography/LetterSpacingWide.astro +0 -6
  302. package/dist/typography/MinimalListMarkers.astro +0 -10
  303. package/dist/typography/MonospaceStatLine.astro +0 -6
  304. package/dist/typography/NeonTextHighlight.astro +0 -6
  305. package/dist/typography/ShadowRevealText.astro +0 -7
  306. package/dist/typography/StrokeHeadingOutline.astro +0 -8
  307. package/dist/typography/Text3DLayer.astro +0 -7
  308. package/dist/typography/TypewriterText.astro +0 -15
  309. package/dist/typography/index.mjs +0 -20
  310. package/dist/typography/index.ts +0 -20
  311. package/dist/utilities/AspectRatioBox.astro +0 -11
  312. package/dist/utilities/BackgroundDotPattern.astro +0 -6
  313. package/dist/utilities/CircularMask.astro +0 -7
  314. package/dist/utilities/ClickRippleWrapper.astro +0 -7
  315. package/dist/utilities/FadeInWrapper.astro +0 -11
  316. package/dist/utilities/FixedRatioImage.astro +0 -7
  317. package/dist/utilities/GlassBlurLayer.astro +0 -6
  318. package/dist/utilities/GradientBorderMask.astro +0 -7
  319. package/dist/utilities/HoverLift.astro +0 -7
  320. package/dist/utilities/ResponsiveSpacer.astro +0 -15
  321. package/dist/utilities/ResponsiveVisToggle.astro +0 -11
  322. package/dist/utilities/ScrollLockParent.astro +0 -11
  323. package/dist/utilities/ScrollMarginTarget.astro +0 -10
  324. package/dist/utilities/SlideUpReveal.astro +0 -7
  325. package/dist/utilities/SmoothAnchorLink.astro +0 -22
  326. package/dist/utilities/StackLayering.astro +0 -12
  327. package/dist/utilities/StickyObserver.astro +0 -8
  328. package/dist/utilities/TextTruncate.astro +0 -10
  329. package/dist/utilities/TruncateSingleLine.astro +0 -6
  330. package/dist/utilities/VisuallyHidden.astro +0 -6
  331. package/dist/utilities/index.mjs +0 -20
  332. package/dist/utilities/index.ts +0 -20
  333. package/src/components/lib/utilities/AspectRatioBox.astro +0 -11
  334. package/src/components/lib/utilities/BackgroundDotPattern.astro +0 -6
  335. package/src/components/lib/utilities/CircularMask.astro +0 -7
  336. package/src/components/lib/utilities/ClickRippleWrapper.astro +0 -7
  337. package/src/components/lib/utilities/FadeInWrapper.astro +0 -11
  338. package/src/components/lib/utilities/FixedRatioImage.astro +0 -7
  339. package/src/components/lib/utilities/GlassBlurLayer.astro +0 -6
  340. package/src/components/lib/utilities/GradientBorderMask.astro +0 -7
  341. package/src/components/lib/utilities/HoverLift.astro +0 -7
  342. package/src/components/lib/utilities/ResponsiveSpacer.astro +0 -15
  343. package/src/components/lib/utilities/ResponsiveVisToggle.astro +0 -11
  344. package/src/components/lib/utilities/ScrollLockParent.astro +0 -11
  345. package/src/components/lib/utilities/ScrollMarginTarget.astro +0 -10
  346. package/src/components/lib/utilities/SlideUpReveal.astro +0 -7
  347. package/src/components/lib/utilities/SmoothAnchorLink.astro +0 -22
  348. package/src/components/lib/utilities/StackLayering.astro +0 -12
  349. package/src/components/lib/utilities/StickyObserver.astro +0 -8
  350. package/src/components/lib/utilities/TextTruncate.astro +0 -10
  351. package/src/components/lib/utilities/TruncateSingleLine.astro +0 -6
  352. package/src/components/lib/utilities/VisuallyHidden.astro +0 -6
  353. package/src/components/lib/utilities/index.ts +0 -20
@@ -0,0 +1,320 @@
1
+ ---
2
+ // FeedbackShowcase.astro — Premium feedback category showcase with live preview
3
+ interface Props {
4
+ title?: string;
5
+ subtitle?: string;
6
+ }
7
+
8
+ const { title = "Feedback", subtitle = "Badges, alerts, and notification components." } = Astro.props;
9
+ ---
10
+
11
+ <section class="feedback-showcase">
12
+ <div class="container">
13
+ <div class="showcase-header">
14
+ <span class="showcase-eyebrow">&#128172; Feedback</span>
15
+ <h2 class="showcase-title">{title}</h2>
16
+ <p class="showcase-subtitle">{subtitle}</p>
17
+ </div>
18
+
19
+ <div class="preview-stage">
20
+ <div class="preview-stage__inner">
21
+ <div class="feedback-stack">
22
+
23
+ <!-- Alert Banner: Success -->
24
+ <div class="alert alert--success">
25
+ <span class="alert__icon">&#9989;</span>
26
+ <span class="alert__message">Changes saved successfully.</span>
27
+ <span class="alert__dismiss">&times;</span>
28
+ </div>
29
+
30
+ <!-- Alert Banner: Warning -->
31
+ <div class="alert alert--warning">
32
+ <span class="alert__icon">&#9888;&#65039;</span>
33
+ <span class="alert__message">Your session expires in 5 minutes.</span>
34
+ <span class="alert__dismiss">&times;</span>
35
+ </div>
36
+
37
+ <!-- Badge / Pill -->
38
+ <div class="badge-row">
39
+ <span class="badge badge--new">New</span>
40
+ <span class="badge badge--beta">Beta</span>
41
+ <span class="badge badge--count">3</span>
42
+ </div>
43
+
44
+ <!-- Toast Notification -->
45
+ <div class="toast">
46
+ <span class="toast__icon">&#128276;</span>
47
+ <div class="toast__content">
48
+ <span class="toast__title">New message</span>
49
+ <span class="toast__body">Hey! Can you review the latest PR?</span>
50
+ </div>
51
+ <span class="toast__dismiss">&times;</span>
52
+ </div>
53
+
54
+ <!-- Spinner / Loading Indicator -->
55
+ <div class="spinner-row">
56
+ <div class="spinner"></div>
57
+ <span class="spinner__label">Loading...</span>
58
+ </div>
59
+
60
+ </div>
61
+ </div>
62
+ </div>
63
+
64
+ <div class="usage-code">
65
+ <code>&lt;Alert variant="success"&gt;Changes saved successfully.&lt;/Alert&gt;</code>
66
+ </div>
67
+ </div>
68
+ </section>
69
+
70
+ <style>
71
+ .feedback-showcase {
72
+ padding: var(--sp-16) 0;
73
+ position: relative;
74
+ }
75
+ .showcase-header {
76
+ text-align: center;
77
+ margin-bottom: var(--sp-10);
78
+ }
79
+ .showcase-eyebrow {
80
+ display: inline-block;
81
+ padding: 0.35rem 0.8rem;
82
+ font-size: 0.75rem;
83
+ font-weight: 700;
84
+ text-transform: uppercase;
85
+ letter-spacing: 0.1em;
86
+ color: var(--c-primary-light);
87
+ background: rgba(184,134,11,0.1);
88
+ border: 1px solid rgba(184,134,11,0.25);
89
+ border-radius: var(--r-full);
90
+ margin-bottom: var(--sp-4);
91
+ }
92
+ .showcase-title {
93
+ font-size: clamp(2rem, 4vw, 3rem);
94
+ font-weight: 800;
95
+ color: var(--c-text-1);
96
+ margin-bottom: var(--sp-3);
97
+ }
98
+ .showcase-subtitle {
99
+ font-size: 1.05rem;
100
+ color: var(--c-text-2);
101
+ max-width: 500px;
102
+ margin: 0 auto;
103
+ }
104
+
105
+ /* Preview Stage */
106
+ .preview-stage {
107
+ padding: var(--sp-12);
108
+ background: rgba(10, 10, 10, 0.6);
109
+ backdrop-filter: blur(20px);
110
+ border: 1px solid rgba(255,255,255,0.08);
111
+ border-radius: var(--r-xl);
112
+ margin-bottom: var(--sp-6);
113
+ box-shadow: 0 20px 60px rgba(0,0,0,0.4);
114
+ }
115
+ .preview-stage__inner {
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ min-height: 340px;
120
+ }
121
+ .feedback-stack {
122
+ display: flex;
123
+ flex-direction: column;
124
+ align-items: center;
125
+ gap: var(--sp-5);
126
+ width: 100%;
127
+ max-width: 480px;
128
+ }
129
+
130
+ /* Alert Styles */
131
+ .alert {
132
+ display: flex;
133
+ align-items: center;
134
+ gap: 0.6rem;
135
+ width: 100%;
136
+ padding: 0.85rem 1rem;
137
+ font-size: 0.9rem;
138
+ font-family: var(--font-sans);
139
+ border-radius: var(--r-md);
140
+ border: 1px solid transparent;
141
+ animation: fadeSlideIn 0.5s ease both;
142
+ }
143
+ .alert:nth-child(2) { animation-delay: 0.15s; }
144
+ .alert__icon {
145
+ font-size: 1.1rem;
146
+ flex-shrink: 0;
147
+ }
148
+ .alert__message {
149
+ flex: 1;
150
+ color: var(--c-text-1);
151
+ }
152
+ .alert__dismiss {
153
+ font-size: 1.2rem;
154
+ color: var(--c-text-2);
155
+ cursor: pointer;
156
+ opacity: 0.5;
157
+ transition: opacity 0.2s ease;
158
+ flex-shrink: 0;
159
+ line-height: 1;
160
+ }
161
+ .alert__dismiss:hover {
162
+ opacity: 1;
163
+ }
164
+ .alert--success {
165
+ background: rgba(34,197,94,0.1);
166
+ border-color: rgba(34,197,94,0.25);
167
+ color: #22c55e;
168
+ }
169
+ .alert--warning {
170
+ background: rgba(245,158,11,0.1);
171
+ border-color: rgba(245,158,11,0.25);
172
+ color: #f59e0b;
173
+ }
174
+
175
+ /* Badge Styles */
176
+ .badge-row {
177
+ display: flex;
178
+ gap: var(--sp-3);
179
+ align-items: center;
180
+ animation: fadeSlideIn 0.5s ease 0.3s both;
181
+ }
182
+ .badge {
183
+ display: inline-flex;
184
+ align-items: center;
185
+ justify-content: center;
186
+ padding: 0.3rem 0.75rem;
187
+ font-size: 0.75rem;
188
+ font-weight: 600;
189
+ font-family: var(--font-sans);
190
+ border-radius: var(--r-full);
191
+ white-space: nowrap;
192
+ }
193
+ .badge--new {
194
+ background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
195
+ color: #0a0a0a;
196
+ box-shadow: 0 2px 10px rgba(184,134,11,0.25);
197
+ }
198
+ .badge--beta {
199
+ background: rgba(255,255,255,0.08);
200
+ color: var(--c-text-1);
201
+ border: 1px solid rgba(255,255,255,0.12);
202
+ }
203
+ .badge--count {
204
+ background: rgba(239,68,68,0.15);
205
+ color: #ef4444;
206
+ border: 1px solid rgba(239,68,68,0.3);
207
+ min-width: 1.5rem;
208
+ padding: 0.3rem 0.5rem;
209
+ }
210
+
211
+ /* Toast Notification */
212
+ .toast {
213
+ display: flex;
214
+ align-items: flex-start;
215
+ gap: 0.75rem;
216
+ width: 100%;
217
+ padding: 1rem;
218
+ background: rgba(255,255,255,0.06);
219
+ backdrop-filter: blur(12px);
220
+ border: 1px solid rgba(255,255,255,0.1);
221
+ border-radius: var(--r-lg);
222
+ box-shadow: 0 8px 30px rgba(0,0,0,0.3);
223
+ animation: fadeSlideIn 0.5s ease 0.45s both;
224
+ }
225
+ .toast__icon {
226
+ font-size: 1.3rem;
227
+ flex-shrink: 0;
228
+ margin-top: 0.1rem;
229
+ }
230
+ .toast__content {
231
+ display: flex;
232
+ flex-direction: column;
233
+ gap: 0.2rem;
234
+ flex: 1;
235
+ }
236
+ .toast__title {
237
+ font-size: 0.9rem;
238
+ font-weight: 600;
239
+ color: var(--c-text-1);
240
+ font-family: var(--font-sans);
241
+ }
242
+ .toast__body {
243
+ font-size: 0.8rem;
244
+ color: var(--c-text-2);
245
+ font-family: var(--font-sans);
246
+ line-height: 1.4;
247
+ }
248
+ .toast__dismiss {
249
+ font-size: 1.1rem;
250
+ color: var(--c-text-2);
251
+ cursor: pointer;
252
+ opacity: 0.5;
253
+ transition: opacity 0.2s ease;
254
+ flex-shrink: 0;
255
+ line-height: 1;
256
+ }
257
+ .toast__dismiss:hover {
258
+ opacity: 1;
259
+ }
260
+
261
+ /* Spinner */
262
+ .spinner-row {
263
+ display: flex;
264
+ align-items: center;
265
+ gap: 0.75rem;
266
+ animation: fadeSlideIn 0.5s ease 0.6s both;
267
+ }
268
+ .spinner {
269
+ width: 1.5rem;
270
+ height: 1.5rem;
271
+ border: 2px solid rgba(184,134,11,0.2);
272
+ border-top-color: var(--c-primary-light);
273
+ border-radius: 50%;
274
+ animation: spin 0.8s linear infinite;
275
+ }
276
+ .spinner__label {
277
+ font-size: 0.85rem;
278
+ color: var(--c-text-2);
279
+ font-family: var(--font-sans);
280
+ }
281
+
282
+ /* Animations */
283
+ @keyframes fadeSlideIn {
284
+ from {
285
+ opacity: 0;
286
+ transform: translateY(8px);
287
+ }
288
+ to {
289
+ opacity: 1;
290
+ transform: translateY(0);
291
+ }
292
+ }
293
+ @keyframes spin {
294
+ to {
295
+ transform: rotate(360deg);
296
+ }
297
+ }
298
+
299
+ /* Usage Code */
300
+ .usage-code {
301
+ text-align: center;
302
+ padding: var(--sp-4);
303
+ background: rgba(255,255,255,0.02);
304
+ border-radius: var(--r-md);
305
+ }
306
+ .usage-code code {
307
+ font-family: var(--font-mono);
308
+ font-size: 0.85rem;
309
+ color: var(--c-primary-light);
310
+ }
311
+
312
+ @media (max-width: 640px) {
313
+ .feedback-stack { max-width: 100%; gap: var(--sp-4); }
314
+ .preview-stage { padding: var(--sp-8) var(--sp-4); }
315
+ .preview-stage__inner { min-height: auto; }
316
+ .alert { font-size: 0.85rem; padding: 0.75rem 0.8rem; }
317
+ .toast { padding: 0.85rem; }
318
+ .badge { font-size: 0.7rem; padding: 0.25rem 0.6rem; }
319
+ }
320
+ </style>
@@ -0,0 +1,347 @@
1
+ ---
2
+ // FormsShowcase.astro — Premium forms section with live preview
3
+ interface Props {
4
+ title?: string;
5
+ subtitle?: string;
6
+ }
7
+
8
+ const { title = "Forms", subtitle = "Form elements with clean animations and validation states." } = Astro.props;
9
+ ---
10
+
11
+ <section class="forms-showcase">
12
+ <div class="container">
13
+ <div class="showcase-header">
14
+ <span class="showcase-eyebrow">📝 Forms</span>
15
+ <h2 class="showcase-title">{title}</h2>
16
+ <p class="showcase-subtitle">{subtitle}</p>
17
+ </div>
18
+
19
+ <div class="preview-stage">
20
+ <div class="preview-stage__inner">
21
+ <div class="form-grid">
22
+ <!-- Animated Input -->
23
+ <div class="form-group">
24
+ <div class="input-wrapper">
25
+ <input type="text" class="input-animated" placeholder=" " readonly />
26
+ <label class="input-label">Email address</label>
27
+ <span class="input-border"></span>
28
+ </div>
29
+ </div>
30
+
31
+ <!-- Glass Textarea -->
32
+ <div class="form-group">
33
+ <div class="textarea-glass">
34
+ <span class="textarea-label">Message</span>
35
+ <div class="textarea-mockup">
36
+ <span class="textarea-line"></span>
37
+ <span class="textarea-line short"></span>
38
+ <span class="textarea-line"></span>
39
+ </div>
40
+ </div>
41
+ </div>
42
+
43
+ <!-- Custom Checkbox & Toggle -->
44
+ <div class="form-group form-group--controls">
45
+ <div class="checkbox-mockup">
46
+ <div class="checkbox-box">
47
+ <svg class="checkbox-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
48
+ <polyline points="20 6 9 17 4 12"></polyline>
49
+ </svg>
50
+ </div>
51
+ <span class="checkbox-label">Accept terms</span>
52
+ </div>
53
+ <div class="toggle-mockup">
54
+ <div class="toggle-track">
55
+ <div class="toggle-thumb"></div>
56
+ </div>
57
+ <span class="toggle-label">Dark mode</span>
58
+ </div>
59
+ </div>
60
+
61
+ <!-- Select Dropdown -->
62
+ <div class="form-group">
63
+ <div class="select-mockup">
64
+ <span class="select-label">Category</span>
65
+ <div class="select-display">
66
+ <span class="select-value">Select option...</span>
67
+ <svg class="select-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
68
+ <polyline points="6 9 12 15 18 9"></polyline>
69
+ </svg>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </div>
76
+
77
+ <div class="usage-code">
78
+ <code>&lt;GlassInput type="email" label="Email" /&gt;</code>
79
+ </div>
80
+ </div>
81
+ </section>
82
+
83
+ <style>
84
+ .forms-showcase {
85
+ padding: var(--sp-16) 0;
86
+ position: relative;
87
+ }
88
+ .showcase-header {
89
+ text-align: center;
90
+ margin-bottom: var(--sp-10);
91
+ }
92
+ .showcase-eyebrow {
93
+ display: inline-block;
94
+ padding: 0.35rem 0.8rem;
95
+ font-size: 0.75rem;
96
+ font-weight: 700;
97
+ text-transform: uppercase;
98
+ letter-spacing: 0.1em;
99
+ color: var(--c-primary-light);
100
+ background: rgba(184,134,11,0.1);
101
+ border: 1px solid rgba(184,134,11,0.25);
102
+ border-radius: var(--r-full);
103
+ margin-bottom: var(--sp-4);
104
+ }
105
+ .showcase-title {
106
+ font-size: clamp(2rem, 4vw, 3rem);
107
+ font-weight: 800;
108
+ color: var(--c-text-1);
109
+ margin-bottom: var(--sp-3);
110
+ }
111
+ .showcase-subtitle {
112
+ font-size: 1.05rem;
113
+ color: var(--c-text-2);
114
+ max-width: 500px;
115
+ margin: 0 auto;
116
+ }
117
+
118
+ /* Preview Stage */
119
+ .preview-stage {
120
+ padding: var(--sp-12);
121
+ background: rgba(10, 10, 10, 0.6);
122
+ backdrop-filter: blur(20px);
123
+ border: 1px solid rgba(255,255,255,0.08);
124
+ border-radius: var(--r-xl);
125
+ margin-bottom: var(--sp-6);
126
+ box-shadow: 0 20px 60px rgba(0,0,0,0.4);
127
+ }
128
+ .preview-stage__inner {
129
+ display: flex;
130
+ align-items: center;
131
+ justify-content: center;
132
+ min-height: 320px;
133
+ }
134
+ .form-grid {
135
+ display: grid;
136
+ grid-template-columns: repeat(2, 1fr);
137
+ gap: var(--sp-6);
138
+ width: 100%;
139
+ max-width: 600px;
140
+ }
141
+
142
+ /* Animated Input */
143
+ .input-wrapper {
144
+ position: relative;
145
+ }
146
+ .input-animated {
147
+ width: 100%;
148
+ padding: 1rem 1rem 0.75rem;
149
+ font-size: 0.9rem;
150
+ font-family: var(--font-sans);
151
+ color: var(--c-text-1);
152
+ background: rgba(255,255,255,0.04);
153
+ border: 1px solid rgba(255,255,255,0.1);
154
+ border-radius: var(--r-md);
155
+ outline: none;
156
+ transition: all 0.3s ease;
157
+ }
158
+ .input-label {
159
+ position: absolute;
160
+ left: 1rem;
161
+ top: 50%;
162
+ transform: translateY(-50%);
163
+ font-size: 0.9rem;
164
+ color: var(--c-text-2);
165
+ pointer-events: none;
166
+ transition: all 0.25s ease;
167
+ opacity: 0.6;
168
+ }
169
+ .input-animated:not(:placeholder-shown) ~ .input-label,
170
+ .input-animated:focus ~ .input-label {
171
+ top: 0.5rem;
172
+ font-size: 0.7rem;
173
+ color: var(--c-primary-light);
174
+ opacity: 1;
175
+ }
176
+ .input-border {
177
+ position: absolute;
178
+ bottom: 0;
179
+ left: 50%;
180
+ width: 0;
181
+ height: 2px;
182
+ background: linear-gradient(90deg, var(--c-primary-light), var(--c-primary));
183
+ border-radius: var(--r-md);
184
+ transition: all 0.3s ease;
185
+ transform: translateX(-50%);
186
+ }
187
+ .input-animated:focus ~ .input-border,
188
+ .input-wrapper:hover .input-border {
189
+ width: calc(100% - 2rem);
190
+ }
191
+
192
+ /* Glass Textarea */
193
+ .textarea-glass {
194
+ display: flex;
195
+ flex-direction: column;
196
+ gap: 0.5rem;
197
+ }
198
+ .textarea-label {
199
+ font-size: 0.85rem;
200
+ color: var(--c-text-2);
201
+ font-weight: 500;
202
+ }
203
+ .textarea-mockup {
204
+ padding: 0.85rem 1rem;
205
+ background: rgba(255,255,255,0.04);
206
+ backdrop-filter: blur(12px);
207
+ border: 1px solid rgba(255,255,255,0.1);
208
+ border-radius: var(--r-md);
209
+ display: flex;
210
+ flex-direction: column;
211
+ gap: 0.5rem;
212
+ min-height: 80px;
213
+ }
214
+ .textarea-line {
215
+ height: 8px;
216
+ background: rgba(255,255,255,0.12);
217
+ border-radius: var(--r-sm);
218
+ width: 100%;
219
+ }
220
+ .textarea-line.short {
221
+ width: 60%;
222
+ }
223
+
224
+ /* Checkbox & Toggle */
225
+ .form-group--controls {
226
+ display: flex;
227
+ flex-direction: column;
228
+ gap: var(--sp-4);
229
+ justify-content: center;
230
+ }
231
+ .checkbox-mockup {
232
+ display: flex;
233
+ align-items: center;
234
+ gap: 0.65rem;
235
+ }
236
+ .checkbox-box {
237
+ width: 22px;
238
+ height: 22px;
239
+ background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
240
+ border-radius: var(--r-sm);
241
+ display: flex;
242
+ align-items: center;
243
+ justify-content: center;
244
+ box-shadow: 0 2px 8px rgba(184,134,11,0.3);
245
+ }
246
+ .checkbox-check {
247
+ width: 14px;
248
+ height: 14px;
249
+ color: #0a0a0a;
250
+ }
251
+ .checkbox-label {
252
+ font-size: 0.85rem;
253
+ color: var(--c-text-2);
254
+ }
255
+
256
+ .toggle-mockup {
257
+ display: flex;
258
+ align-items: center;
259
+ gap: 0.65rem;
260
+ }
261
+ .toggle-track {
262
+ width: 44px;
263
+ height: 24px;
264
+ background: rgba(255,255,255,0.1);
265
+ border: 1px solid rgba(255,255,255,0.15);
266
+ border-radius: var(--r-full);
267
+ position: relative;
268
+ }
269
+ .toggle-thumb {
270
+ position: absolute;
271
+ top: 2px;
272
+ right: 2px;
273
+ width: 18px;
274
+ height: 18px;
275
+ background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
276
+ border-radius: 50%;
277
+ box-shadow: 0 2px 6px rgba(184,134,11,0.4);
278
+ transition: all 0.25s ease;
279
+ }
280
+ .toggle-label {
281
+ font-size: 0.85rem;
282
+ color: var(--c-text-2);
283
+ }
284
+
285
+ /* Select Dropdown */
286
+ .select-mockup {
287
+ display: flex;
288
+ flex-direction: column;
289
+ gap: 0.5rem;
290
+ }
291
+ .select-label {
292
+ font-size: 0.85rem;
293
+ color: var(--c-text-2);
294
+ font-weight: 500;
295
+ }
296
+ .select-display {
297
+ padding: 0.85rem 1rem;
298
+ background: rgba(255,255,255,0.04);
299
+ backdrop-filter: blur(12px);
300
+ border: 1px solid rgba(255,255,255,0.1);
301
+ border-radius: var(--r-md);
302
+ display: flex;
303
+ align-items: center;
304
+ justify-content: space-between;
305
+ cursor: pointer;
306
+ transition: all 0.25s ease;
307
+ }
308
+ .select-display:hover {
309
+ border-color: rgba(184,134,11,0.3);
310
+ background: rgba(255,255,255,0.06);
311
+ }
312
+ .select-value {
313
+ font-size: 0.9rem;
314
+ color: var(--c-text-2);
315
+ }
316
+ .select-chevron {
317
+ width: 18px;
318
+ height: 18px;
319
+ color: var(--c-text-2);
320
+ opacity: 0.6;
321
+ }
322
+
323
+ .usage-code {
324
+ text-align: center;
325
+ padding: var(--sp-4);
326
+ background: rgba(255,255,255,0.02);
327
+ border-radius: var(--r-md);
328
+ }
329
+ .usage-code code {
330
+ font-family: var(--font-mono);
331
+ font-size: 0.85rem;
332
+ color: var(--c-primary-light);
333
+ }
334
+
335
+ @media (max-width: 640px) {
336
+ .form-grid {
337
+ grid-template-columns: 1fr;
338
+ gap: var(--sp-4);
339
+ }
340
+ .preview-stage {
341
+ padding: var(--sp-8) var(--sp-4);
342
+ }
343
+ .preview-stage__inner {
344
+ min-height: auto;
345
+ }
346
+ }
347
+ </style>