nfx-ui 0.16.2 → 0.20.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.
- package/README.md +67 -271
- package/dist/animations.cjs +1 -2
- package/dist/animations.mjs +9 -9
- package/dist/apis.cjs +0 -1
- package/dist/apis.cjs.map +1 -1
- package/dist/apis.mjs +0 -1
- package/dist/apis.mjs.map +1 -1
- package/dist/chunk-LucideIcon-Chc7x8mN.mjs +15 -0
- package/dist/chunk-LucideIcon-Chc7x8mN.mjs.map +1 -0
- package/dist/chunk-LucideIcon-CuoAB_OX.cjs +3 -0
- package/dist/chunk-LucideIcon-CuoAB_OX.cjs.map +1 -0
- package/dist/chunk-ModalProvider-BgLSJXhS.cjs +3 -0
- package/dist/chunk-ModalProvider-BgLSJXhS.cjs.map +1 -0
- package/dist/chunk-ModalProvider-CpzFzfWG.mjs +220 -0
- package/dist/chunk-ModalProvider-CpzFzfWG.mjs.map +1 -0
- package/dist/chunk-PixelBlast-BbJ2VmCL.cjs +190 -0
- package/dist/chunk-PixelBlast-BbJ2VmCL.cjs.map +1 -0
- package/dist/chunk-PixelBlast-BiBrG_NH.mjs +504 -0
- package/dist/chunk-PixelBlast-BiBrG_NH.mjs.map +1 -0
- package/dist/chunk-ThemeProvider-C4kxX2D0.cjs +3 -0
- package/dist/chunk-ThemeProvider-C4kxX2D0.cjs.map +1 -0
- package/dist/chunk-ThemeProvider-D0U8V6ky.mjs +28 -0
- package/dist/chunk-ThemeProvider-D0U8V6ky.mjs.map +1 -0
- package/dist/chunk-animations-CkOpTtX1.cjs +11 -0
- package/dist/chunk-animations-CkOpTtX1.cjs.map +1 -0
- package/dist/chunk-animations-DKyNVF-O.mjs +973 -0
- package/dist/chunk-animations-DKyNVF-O.mjs.map +1 -0
- package/dist/chunk-dashboard-BsGK96hu.mjs +104 -0
- package/dist/chunk-dashboard-BsGK96hu.mjs.map +1 -0
- package/dist/chunk-dashboard-CFT0HjSM.cjs +3 -0
- package/dist/chunk-dashboard-CFT0HjSM.cjs.map +1 -0
- package/dist/chunk-hooks-Cy_8mdDG.mjs +90 -0
- package/dist/chunk-hooks-Cy_8mdDG.mjs.map +1 -0
- package/dist/chunk-hooks-yVn82nBZ.cjs +3 -0
- package/dist/chunk-hooks-yVn82nBZ.cjs.map +1 -0
- package/dist/chunk-i18n-B8pZ_hpC.mjs +435 -0
- package/dist/chunk-i18n-B8pZ_hpC.mjs.map +1 -0
- package/dist/chunk-i18n-C06d89Eq.cjs +3 -0
- package/dist/chunk-i18n-C06d89Eq.cjs.map +1 -0
- package/dist/chunk-layout-BDpxG0Ca.mjs +27 -0
- package/dist/chunk-layout-BDpxG0Ca.mjs.map +1 -0
- package/dist/chunk-layout-DKCQHheg.cjs +3 -0
- package/dist/chunk-layout-DKCQHheg.cjs.map +1 -0
- package/dist/chunk-lucide-CrMbx2vC.cjs +3 -0
- package/dist/chunk-lucide-CrMbx2vC.cjs.map +1 -0
- package/dist/chunk-lucide-yNs0iz1-.mjs +158 -0
- package/dist/chunk-lucide-yNs0iz1-.mjs.map +1 -0
- package/dist/chunk-modal-C3LgRLur.cjs +3 -0
- package/dist/chunk-modal-C3LgRLur.cjs.map +1 -0
- package/dist/chunk-modal-D9vk2ENf.mjs +92 -0
- package/dist/chunk-modal-D9vk2ENf.mjs.map +1 -0
- package/dist/chunk-preference-BP-GO9Uk.cjs +3 -0
- package/dist/chunk-preference-BP-GO9Uk.cjs.map +1 -0
- package/dist/chunk-preference-BXXryZLY.cjs +3 -0
- package/dist/chunk-preference-BXXryZLY.cjs.map +1 -0
- package/dist/chunk-preference-Y15HwKd0.mjs +42 -0
- package/dist/chunk-preference-Y15HwKd0.mjs.map +1 -0
- package/dist/chunk-preference-x4EdmqU6.mjs +295 -0
- package/dist/chunk-preference-x4EdmqU6.mjs.map +1 -0
- package/dist/chunk-rolldown-runtime-Bvb_CV3F.cjs +1 -0
- package/dist/chunk-useLanguageLabel-38sEu2rP.cjs +3 -0
- package/dist/chunk-useLanguageLabel-38sEu2rP.cjs.map +1 -0
- package/dist/chunk-useLanguageLabel-BLdxHuep.mjs +38 -0
- package/dist/chunk-useLanguageLabel-BLdxHuep.mjs.map +1 -0
- package/dist/chunk-useLayout-CbUZVWpS.cjs +3 -0
- package/dist/chunk-useLayout-CbUZVWpS.cjs.map +1 -0
- package/dist/chunk-useLayout-CjXHRPLD.mjs +302 -0
- package/dist/chunk-useLayout-CjXHRPLD.mjs.map +1 -0
- package/dist/chunk-useTheme-C2Ip6OAs.mjs +34 -0
- package/dist/chunk-useTheme-C2Ip6OAs.mjs.map +1 -0
- package/dist/chunk-useTheme-DSps5NbC.cjs +3 -0
- package/dist/chunk-useTheme-DSps5NbC.cjs.map +1 -0
- package/dist/components.cjs +3 -3
- package/dist/components.cjs.map +1 -1
- package/dist/components.mjs +1122 -1472
- package/dist/components.mjs.map +1 -1
- package/dist/constants.cjs +0 -1
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.mjs +0 -1
- package/dist/constants.mjs.map +1 -1
- package/dist/enums.cjs +1 -0
- package/dist/enums.mjs +43 -0
- package/dist/events.cjs +0 -1
- package/dist/events.cjs.map +1 -1
- package/dist/events.mjs +0 -1
- package/dist/events.mjs.map +1 -1
- package/dist/hooks.cjs +1 -4
- package/dist/hooks.mjs +12 -104
- package/dist/icons.cjs +3 -2
- package/dist/icons.cjs.map +1 -0
- package/dist/icons.mjs +19350 -73
- package/dist/icons.mjs.map +1 -0
- package/dist/languages.cjs +1 -2
- package/dist/languages.cjs.map +1 -1
- package/dist/languages.mjs +63 -76
- package/dist/languages.mjs.map +1 -1
- package/dist/layouts.cjs +2 -2
- package/dist/layouts.cjs.map +1 -1
- package/dist/layouts.mjs +787 -395
- package/dist/layouts.mjs.map +1 -1
- package/dist/navigations.cjs +0 -1
- package/dist/navigations.cjs.map +1 -1
- package/dist/navigations.mjs +0 -1
- package/dist/navigations.mjs.map +1 -1
- package/dist/pixel-blast.cjs +1 -191
- package/dist/pixel-blast.mjs +2 -503
- package/dist/providers.cjs +4 -0
- package/dist/providers.cjs.map +1 -0
- package/dist/providers.mjs +37 -0
- package/dist/providers.mjs.map +1 -0
- package/dist/services.cjs +0 -1
- package/dist/services.cjs.map +1 -1
- package/dist/services.mjs +0 -1
- package/dist/services.mjs.map +1 -1
- package/dist/src/designs/animations/index.d.ts +1 -0
- package/dist/src/designs/animations/index.d.ts.map +1 -1
- package/dist/src/designs/components/CardHeader.d.ts +9 -0
- package/dist/src/designs/components/CardHeader.d.ts.map +1 -0
- package/dist/src/designs/components/EmptyState/index.d.ts +10 -0
- package/dist/src/designs/components/EmptyState/index.d.ts.map +1 -0
- package/dist/src/designs/components/LayoutSwitcher/index.d.ts +1 -1
- package/dist/src/designs/components/LayoutSwitcher/index.d.ts.map +1 -1
- package/dist/src/designs/components/Logo/index.d.ts +15 -0
- package/dist/src/designs/components/Logo/index.d.ts.map +1 -0
- package/dist/src/designs/components/LucideIcon.d.ts +11 -0
- package/dist/src/designs/components/LucideIcon.d.ts.map +1 -0
- package/dist/src/designs/components/PageHeader/index.d.ts +11 -0
- package/dist/src/designs/components/PageHeader/index.d.ts.map +1 -0
- package/dist/src/designs/components/PreferencesPopover/index.d.ts +6 -0
- package/dist/src/designs/components/PreferencesPopover/index.d.ts.map +1 -0
- package/dist/src/designs/components/Suspense/index.d.ts +6 -60
- package/dist/src/designs/components/Suspense/index.d.ts.map +1 -1
- package/dist/src/designs/components/ThemeSettings/index.d.ts +2 -0
- package/dist/src/designs/components/ThemeSettings/index.d.ts.map +1 -0
- package/dist/src/designs/components/ThemeSwitcher/index.d.ts +1 -3
- package/dist/src/designs/components/ThemeSwitcher/index.d.ts.map +1 -1
- package/dist/src/designs/components/VirtuosoList.d.ts +37 -0
- package/dist/src/designs/components/VirtuosoList.d.ts.map +1 -0
- package/dist/src/designs/components/index.d.ts +19 -25
- package/dist/src/designs/components/index.d.ts.map +1 -1
- package/dist/src/designs/layouts/components/Background/index.d.ts +1 -1
- package/dist/src/designs/layouts/components/Background/index.d.ts.map +1 -1
- package/dist/src/designs/layouts/components/Header/index.d.ts +31 -3
- package/dist/src/designs/layouts/components/Header/index.d.ts.map +1 -1
- package/dist/src/designs/layouts/components/LayoutFrame/index.d.ts +1 -1
- package/dist/src/designs/layouts/components/LayoutFrame/index.d.ts.map +1 -1
- package/dist/src/designs/layouts/components/Main/index.d.ts +8 -0
- package/dist/src/designs/layouts/components/Main/index.d.ts.map +1 -0
- package/dist/src/designs/layouts/components/MainWrapper/index.d.ts +1 -1
- package/dist/src/designs/layouts/components/MainWrapper/index.d.ts.map +1 -1
- package/dist/src/designs/layouts/components/PageFrame/index.d.ts +10 -0
- package/dist/src/designs/layouts/components/PageFrame/index.d.ts.map +1 -0
- package/dist/src/designs/layouts/components/SideHideLayout/index.d.ts +1 -1
- package/dist/src/designs/layouts/components/SideHideLayout/index.d.ts.map +1 -1
- package/dist/src/designs/layouts/components/SideShowLayout/index.d.ts +1 -1
- package/dist/src/designs/layouts/components/SideShowLayout/index.d.ts.map +1 -1
- package/dist/src/designs/layouts/components/Sidebar/index.d.ts +74 -2
- package/dist/src/designs/layouts/components/Sidebar/index.d.ts.map +1 -1
- package/dist/src/designs/layouts/components/Sidebar/menu.d.ts +9 -0
- package/dist/src/designs/layouts/components/Sidebar/menu.d.ts.map +1 -0
- package/dist/src/designs/layouts/components/UserTopBar/index.d.ts +18 -0
- package/dist/src/designs/layouts/components/UserTopBar/index.d.ts.map +1 -0
- package/dist/src/designs/layouts/components/index.d.ts +9 -1
- package/dist/src/designs/layouts/components/index.d.ts.map +1 -1
- package/dist/src/designs/layouts/index.d.ts +2 -0
- package/dist/src/designs/layouts/index.d.ts.map +1 -1
- package/dist/src/designs/providers/ModalProvider/components/Base.d.ts +6 -0
- package/dist/src/designs/providers/ModalProvider/components/Base.d.ts.map +1 -0
- package/dist/src/designs/providers/ModalProvider/components/Confirm.d.ts +6 -0
- package/dist/src/designs/providers/ModalProvider/components/Confirm.d.ts.map +1 -0
- package/dist/src/designs/providers/ModalProvider/components/Loading.d.ts +6 -0
- package/dist/src/designs/providers/ModalProvider/components/Loading.d.ts.map +1 -0
- package/dist/src/designs/providers/ModalProvider/index.d.ts +10 -0
- package/dist/src/designs/providers/ModalProvider/index.d.ts.map +1 -0
- package/dist/src/{preference/constants.d.ts → enums/dashboard.d.ts} +4 -8
- package/dist/src/enums/dashboard.d.ts.map +1 -0
- package/dist/src/enums/index.d.ts +4 -0
- package/dist/src/enums/index.d.ts.map +1 -0
- package/dist/src/enums/language.d.ts +13 -0
- package/dist/src/enums/language.d.ts.map +1 -0
- package/dist/src/enums/theme.d.ts +107 -0
- package/dist/src/enums/theme.d.ts.map +1 -0
- package/dist/src/hooks/index.d.ts +2 -4
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/preference.d.ts +21 -0
- package/dist/src/hooks/preference.d.ts.map +1 -0
- package/dist/src/icons/animated/accessibility-icon.d.ts +13 -0
- package/dist/src/icons/animated/accessibility-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/airplane-icon.d.ts +9 -0
- package/dist/src/icons/animated/airplane-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/alarm-clock-plus-icon.d.ts +11 -0
- package/dist/src/icons/animated/alarm-clock-plus-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/align-center-icon.d.ts +4 -0
- package/dist/src/icons/animated/align-center-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/align-vertical-space-around-icon.d.ts +4 -0
- package/dist/src/icons/animated/align-vertical-space-around-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/ambulance-icon.d.ts +4 -0
- package/dist/src/icons/animated/ambulance-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/ampersand-icon.d.ts +4 -0
- package/dist/src/icons/animated/ampersand-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/angry-icon.d.ts +4 -0
- package/dist/src/icons/animated/angry-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/annoyed-icon.d.ts +4 -0
- package/dist/src/icons/animated/annoyed-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/apple-brand-logo.d.ts +4 -0
- package/dist/src/icons/animated/apple-brand-logo.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-back-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-back-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-back-up-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-back-up-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-big-down-dash-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-big-down-dash-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-big-down-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-big-down-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-big-left-dash-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-big-left-dash-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-big-left-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-big-left-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-big-right-dash-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-big-right-dash-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-big-right-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-big-right-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-big-up-dash-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-big-up-dash-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-big-up-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-big-up-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-down-0-1-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-down-0-1-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-down-1-0-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-down-1-0-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-down-a-z-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-down-a-z-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-narrow-down-dashed-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-narrow-down-dashed-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-narrow-down-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-narrow-down-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-narrow-left-dashed-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-narrow-left-dashed-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-narrow-left-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-narrow-left-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-narrow-right-dashed-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-narrow-right-dashed-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-narrow-right-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-narrow-right-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-narrow-up-dashed-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-narrow-up-dashed-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/arrow-narrow-up-icon.d.ts +4 -0
- package/dist/src/icons/animated/arrow-narrow-up-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/at-sign-icon.d.ts +4 -0
- package/dist/src/icons/animated/at-sign-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/banana-icon.d.ts +4 -0
- package/dist/src/icons/animated/banana-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/battery-charging-icon.d.ts +4 -0
- package/dist/src/icons/animated/battery-charging-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/battery-icon.d.ts +4 -0
- package/dist/src/icons/animated/battery-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/battery-pause-icon.d.ts +4 -0
- package/dist/src/icons/animated/battery-pause-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/bell-off-icon.d.ts +4 -0
- package/dist/src/icons/animated/bell-off-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/bluetooth-connected-icon.d.ts +4 -0
- package/dist/src/icons/animated/bluetooth-connected-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/book-icon.d.ts +4 -0
- package/dist/src/icons/animated/book-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/bookmark-icon.d.ts +4 -0
- package/dist/src/icons/animated/bookmark-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brain-circuit-icon.d.ts +4 -0
- package/dist/src/icons/animated/brain-circuit-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-aistudio-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-aistudio-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-anthropic-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-anthropic-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-aws-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-aws-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-bags-fm-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-bags-fm-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-chrome-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-chrome-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-cursor-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-cursor-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-gemini-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-gemini-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-google-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-google-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-grok-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-grok-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-lmstudio-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-lmstudio-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-midjourney-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-midjourney-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-nextjs-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-nextjs-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-notion-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-notion-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-ollama-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-ollama-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-openai-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-openai-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-paypal-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-paypal-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-qwen-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-qwen-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-railway-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-railway-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-react-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-react-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-react-native-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-react-native-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-stripe-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-stripe-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-telegram-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-telegram-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-threads-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-threads-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-twitch-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-twitch-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-vercel-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-vercel-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-windows-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-windows-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-wordpress-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-wordpress-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-xai-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-xai-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brand-zoom-icon.d.ts +4 -0
- package/dist/src/icons/animated/brand-zoom-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/brightness-down-icon.d.ts +4 -0
- package/dist/src/icons/animated/brightness-down-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/bug-icon.d.ts +4 -0
- package/dist/src/icons/animated/bug-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/bulb-svg.d.ts +4 -0
- package/dist/src/icons/animated/bulb-svg.d.ts.map +1 -0
- package/dist/src/icons/animated/camera-icon.d.ts +4 -0
- package/dist/src/icons/animated/camera-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/camera-off-icon.d.ts +4 -0
- package/dist/src/icons/animated/camera-off-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/candy-cane-icon.d.ts +4 -0
- package/dist/src/icons/animated/candy-cane-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/cart-icon.d.ts +4 -0
- package/dist/src/icons/animated/cart-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/chart-bar-icon.d.ts +4 -0
- package/dist/src/icons/animated/chart-bar-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/chart-covariate-icon.d.ts +4 -0
- package/dist/src/icons/animated/chart-covariate-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/chart-histogram-icon.d.ts +4 -0
- package/dist/src/icons/animated/chart-histogram-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/chart-line-icon.d.ts +4 -0
- package/dist/src/icons/animated/chart-line-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/chart-pie-icon.d.ts +4 -0
- package/dist/src/icons/animated/chart-pie-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/checked-icon.d.ts +4 -0
- package/dist/src/icons/animated/checked-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/clock-icon.d.ts +4 -0
- package/dist/src/icons/animated/clock-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/cloud-1-icon.d.ts +4 -0
- package/dist/src/icons/animated/cloud-1-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/cloud-2-icon.d.ts +4 -0
- package/dist/src/icons/animated/cloud-2-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/cloud-3-icon.d.ts +4 -0
- package/dist/src/icons/animated/cloud-3-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/code-icon.d.ts +4 -0
- package/dist/src/icons/animated/code-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/code-xml-icon.d.ts +4 -0
- package/dist/src/icons/animated/code-xml-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/coffee-icon.d.ts +4 -0
- package/dist/src/icons/animated/coffee-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/coin-bitcoin-icon.d.ts +4 -0
- package/dist/src/icons/animated/coin-bitcoin-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/copy-icon.d.ts +4 -0
- package/dist/src/icons/animated/copy-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/copy-off-icon.d.ts +4 -0
- package/dist/src/icons/animated/copy-off-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/copyright-icon.d.ts +4 -0
- package/dist/src/icons/animated/copyright-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/cpu-icon.d.ts +4 -0
- package/dist/src/icons/animated/cpu-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/credit-card.d.ts +4 -0
- package/dist/src/icons/animated/credit-card.d.ts.map +1 -0
- package/dist/src/icons/animated/currency-bitcoin-icon.d.ts +4 -0
- package/dist/src/icons/animated/currency-bitcoin-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/currency-dollar-icon.d.ts +4 -0
- package/dist/src/icons/animated/currency-dollar-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/currency-ethereum-icon.d.ts +4 -0
- package/dist/src/icons/animated/currency-ethereum-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/currency-euro-icon.d.ts +4 -0
- package/dist/src/icons/animated/currency-euro-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/currency-rupee-icon.d.ts +4 -0
- package/dist/src/icons/animated/currency-rupee-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/device-airpods-icon.d.ts +4 -0
- package/dist/src/icons/animated/device-airpods-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/dialpad-icon.d.ts +4 -0
- package/dist/src/icons/animated/dialpad-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/dino-icon.d.ts +4 -0
- package/dist/src/icons/animated/dino-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/discord-icon.d.ts +4 -0
- package/dist/src/icons/animated/discord-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/docker-icon.d.ts +4 -0
- package/dist/src/icons/animated/docker-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/dots-horizontal-icon.d.ts +4 -0
- package/dist/src/icons/animated/dots-horizontal-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/dots-vertical-icon.d.ts +4 -0
- package/dist/src/icons/animated/dots-vertical-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/double-check-icon.d.ts +4 -0
- package/dist/src/icons/animated/double-check-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/down-chevron.d.ts +4 -0
- package/dist/src/icons/animated/down-chevron.d.ts.map +1 -0
- package/dist/src/icons/animated/download-icon.d.ts +4 -0
- package/dist/src/icons/animated/download-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/drum-icon.d.ts +4 -0
- package/dist/src/icons/animated/drum-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/expand-icon.d.ts +4 -0
- package/dist/src/icons/animated/expand-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/external-link-icon.d.ts +4 -0
- package/dist/src/icons/animated/external-link-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/eye-icon.d.ts +4 -0
- package/dist/src/icons/animated/eye-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/eye-off-icon.d.ts +4 -0
- package/dist/src/icons/animated/eye-off-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/facebook-icon.d.ts +4 -0
- package/dist/src/icons/animated/facebook-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/figma-icon.d.ts +4 -0
- package/dist/src/icons/animated/figma-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/file-description-icon.d.ts +4 -0
- package/dist/src/icons/animated/file-description-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/filled-bell-icon.d.ts +4 -0
- package/dist/src/icons/animated/filled-bell-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/filled-checked-icon.d.ts +4 -0
- package/dist/src/icons/animated/filled-checked-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/filter-icon.d.ts +4 -0
- package/dist/src/icons/animated/filter-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/flame-icon.d.ts +4 -0
- package/dist/src/icons/animated/flame-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/focus-icon.d.ts +4 -0
- package/dist/src/icons/animated/focus-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/gamepad-icon.d.ts +4 -0
- package/dist/src/icons/animated/gamepad-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/gauge-icon.d.ts +4 -0
- package/dist/src/icons/animated/gauge-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/gear-icon.d.ts +4 -0
- package/dist/src/icons/animated/gear-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/ghost-icon.d.ts +4 -0
- package/dist/src/icons/animated/ghost-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/github-copilot-icon.d.ts +4 -0
- package/dist/src/icons/animated/github-copilot-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/github-icon.d.ts +4 -0
- package/dist/src/icons/animated/github-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/gitlab-icon.d.ts +4 -0
- package/dist/src/icons/animated/gitlab-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/globe-icon.d.ts +4 -0
- package/dist/src/icons/animated/globe-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/gmail-icon.d.ts +4 -0
- package/dist/src/icons/animated/gmail-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/golang-icon.d.ts +4 -0
- package/dist/src/icons/animated/golang-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/hand-heart-icon.d.ts +4 -0
- package/dist/src/icons/animated/hand-heart-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/hashtag-icon.d.ts +4 -0
- package/dist/src/icons/animated/hashtag-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/heart-icon.d.ts +4 -0
- package/dist/src/icons/animated/heart-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/history-circle-icon.d.ts +4 -0
- package/dist/src/icons/animated/history-circle-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/home-icon.d.ts +4 -0
- package/dist/src/icons/animated/home-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/hotel-icon.d.ts +4 -0
- package/dist/src/icons/animated/hotel-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/index.d.ts +267 -0
- package/dist/src/icons/animated/index.d.ts.map +1 -0
- package/dist/src/icons/animated/info-circle-icon.d.ts +4 -0
- package/dist/src/icons/animated/info-circle-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/instagram-icon.d.ts +4 -0
- package/dist/src/icons/animated/instagram-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/javascript-icon.d.ts +4 -0
- package/dist/src/icons/animated/javascript-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/keyframes-icon.d.ts +4 -0
- package/dist/src/icons/animated/keyframes-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/layers-icon.d.ts +4 -0
- package/dist/src/icons/animated/layers-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/layout-bottombar-collapse-icon.d.ts +4 -0
- package/dist/src/icons/animated/layout-bottombar-collapse-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/layout-dashboard-icon.d.ts +4 -0
- package/dist/src/icons/animated/layout-dashboard-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/layout-sidebar-right-collapse-icon.d.ts +4 -0
- package/dist/src/icons/animated/layout-sidebar-right-collapse-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/layout-sidebar-right-icon.d.ts +4 -0
- package/dist/src/icons/animated/layout-sidebar-right-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-a-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-a-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-b-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-b-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-c-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-c-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-d-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-d-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-e-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-e-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-f-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-f-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-g-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-g-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-h-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-h-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-i-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-i-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-j-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-j-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-k-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-k-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-l-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-l-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-m-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-m-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-n-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-n-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-o-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-o-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-p-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-p-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-q-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-q-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-r-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-r-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-s-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-s-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-t-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-t-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-u-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-u-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-v-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-v-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-w-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-w-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-x-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-x-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-y-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-y-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/letter-z-icon.d.ts +4 -0
- package/dist/src/icons/animated/letter-z-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/library-icon.d.ts +4 -0
- package/dist/src/icons/animated/library-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/like-icon.d.ts +4 -0
- package/dist/src/icons/animated/like-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/link-icon.d.ts +4 -0
- package/dist/src/icons/animated/link-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/linkedin-icon.d.ts +4 -0
- package/dist/src/icons/animated/linkedin-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/locate-icon.d.ts +4 -0
- package/dist/src/icons/animated/locate-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/lock-icon.d.ts +4 -0
- package/dist/src/icons/animated/lock-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/logout-icon.d.ts +4 -0
- package/dist/src/icons/animated/logout-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/magnifier-icon.d.ts +4 -0
- package/dist/src/icons/animated/magnifier-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/mail-filled-icon.d.ts +4 -0
- package/dist/src/icons/animated/mail-filled-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/map-pin-icon.d.ts +4 -0
- package/dist/src/icons/animated/map-pin-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/meh-icon.d.ts +4 -0
- package/dist/src/icons/animated/meh-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/message-circle-icon.d.ts +4 -0
- package/dist/src/icons/animated/message-circle-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/moon-icon.d.ts +4 -0
- package/dist/src/icons/animated/moon-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/mouse-pointer-2-icon.d.ts +4 -0
- package/dist/src/icons/animated/mouse-pointer-2-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/mysql-icon.d.ts +4 -0
- package/dist/src/icons/animated/mysql-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/nodejs-icon.d.ts +4 -0
- package/dist/src/icons/animated/nodejs-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/paint-icon.d.ts +4 -0
- package/dist/src/icons/animated/paint-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/party-popper-icon.d.ts +4 -0
- package/dist/src/icons/animated/party-popper-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/passport-icon.d.ts +4 -0
- package/dist/src/icons/animated/passport-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/paw-print-icon.d.ts +4 -0
- package/dist/src/icons/animated/paw-print-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/pen-icon.d.ts +4 -0
- package/dist/src/icons/animated/pen-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/phone-volume.d.ts +4 -0
- package/dist/src/icons/animated/phone-volume.d.ts.map +1 -0
- package/dist/src/icons/animated/pinterest-icon.d.ts +4 -0
- package/dist/src/icons/animated/pinterest-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/player-icon.d.ts +4 -0
- package/dist/src/icons/animated/player-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/plug-connected-icon.d.ts +4 -0
- package/dist/src/icons/animated/plug-connected-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/plug-connected-x-icon.d.ts +4 -0
- package/dist/src/icons/animated/plug-connected-x-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/python-icon.d.ts +4 -0
- package/dist/src/icons/animated/python-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/qrcode-icon.d.ts +4 -0
- package/dist/src/icons/animated/qrcode-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/question-mark.d.ts +4 -0
- package/dist/src/icons/animated/question-mark.d.ts.map +1 -0
- package/dist/src/icons/animated/radio-icon.d.ts +4 -0
- package/dist/src/icons/animated/radio-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/rainbow-icon.d.ts +4 -0
- package/dist/src/icons/animated/rainbow-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/refresh-icon.d.ts +4 -0
- package/dist/src/icons/animated/refresh-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/right-chevron.d.ts +4 -0
- package/dist/src/icons/animated/right-chevron.d.ts.map +1 -0
- package/dist/src/icons/animated/rocket-icon.d.ts +4 -0
- package/dist/src/icons/animated/rocket-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/rosette-discount-check-icon.d.ts +4 -0
- package/dist/src/icons/animated/rosette-discount-check-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/rosette-discount-icon.d.ts +4 -0
- package/dist/src/icons/animated/rosette-discount-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/router-icon.d.ts +4 -0
- package/dist/src/icons/animated/router-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/satellite-dish-icon.d.ts +4 -0
- package/dist/src/icons/animated/satellite-dish-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/save-icon.d.ts +4 -0
- package/dist/src/icons/animated/save-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/scan-barcode-icon.d.ts +4 -0
- package/dist/src/icons/animated/scan-barcode-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/scan-heart-icon.d.ts +4 -0
- package/dist/src/icons/animated/scan-heart-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/send-horizontal-icon.d.ts +4 -0
- package/dist/src/icons/animated/send-horizontal-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/send-icon.d.ts +4 -0
- package/dist/src/icons/animated/send-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/shield-check.d.ts +4 -0
- package/dist/src/icons/animated/shield-check.d.ts.map +1 -0
- package/dist/src/icons/animated/shopping-cart-icon.d.ts +4 -0
- package/dist/src/icons/animated/shopping-cart-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/simple-checked-icon.d.ts +4 -0
- package/dist/src/icons/animated/simple-checked-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/skull-emoji.d.ts +4 -0
- package/dist/src/icons/animated/skull-emoji.d.ts.map +1 -0
- package/dist/src/icons/animated/slack-icon.d.ts +4 -0
- package/dist/src/icons/animated/slack-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/sliders-horizontal-icon.d.ts +4 -0
- package/dist/src/icons/animated/sliders-horizontal-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/snapchat-icon.d.ts +4 -0
- package/dist/src/icons/animated/snapchat-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/soup-icon.d.ts +4 -0
- package/dist/src/icons/animated/soup-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/sparkles-icon.d.ts +4 -0
- package/dist/src/icons/animated/sparkles-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/spotify-icon.d.ts +4 -0
- package/dist/src/icons/animated/spotify-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/stack-3-icon.d.ts +4 -0
- package/dist/src/icons/animated/stack-3-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/stack-icon.d.ts +4 -0
- package/dist/src/icons/animated/stack-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/star-icon.d.ts +4 -0
- package/dist/src/icons/animated/star-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/subscript-icon.d.ts +4 -0
- package/dist/src/icons/animated/subscript-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/target-icon.d.ts +4 -0
- package/dist/src/icons/animated/target-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/telephone-icon.d.ts +4 -0
- package/dist/src/icons/animated/telephone-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/terminal-icon.d.ts +4 -0
- package/dist/src/icons/animated/terminal-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/toggle-icon.d.ts +4 -0
- package/dist/src/icons/animated/toggle-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/trash-icon.d.ts +9 -0
- package/dist/src/icons/animated/trash-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/travel-bag.d.ts +4 -0
- package/dist/src/icons/animated/travel-bag.d.ts.map +1 -0
- package/dist/src/icons/animated/triangle-alert-icon.d.ts +4 -0
- package/dist/src/icons/animated/triangle-alert-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/trophy-icon.d.ts +4 -0
- package/dist/src/icons/animated/trophy-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/truck-electric-icon.d.ts +4 -0
- package/dist/src/icons/animated/truck-electric-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/twitter-icon.d.ts +4 -0
- package/dist/src/icons/animated/twitter-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/twitter-x-icon.d.ts +4 -0
- package/dist/src/icons/animated/twitter-x-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/types.d.ts +33 -0
- package/dist/src/icons/animated/types.d.ts.map +1 -0
- package/dist/src/icons/animated/typescript-icon.d.ts +4 -0
- package/dist/src/icons/animated/typescript-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/unlink-icon.d.ts +4 -0
- package/dist/src/icons/animated/unlink-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/unordered-list-icon.d.ts +4 -0
- package/dist/src/icons/animated/unordered-list-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/upload-icon.d.ts +4 -0
- package/dist/src/icons/animated/upload-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/useAnimatedIconTrigger.d.ts +8 -0
- package/dist/src/icons/animated/useAnimatedIconTrigger.d.ts.map +1 -0
- package/dist/src/icons/animated/user-check-icon.d.ts +4 -0
- package/dist/src/icons/animated/user-check-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/user-icon.d.ts +4 -0
- package/dist/src/icons/animated/user-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/user-plus-icon.d.ts +4 -0
- package/dist/src/icons/animated/user-plus-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/users-group-icon.d.ts +4 -0
- package/dist/src/icons/animated/users-group-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/users-icon.d.ts +4 -0
- package/dist/src/icons/animated/users-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/vinyl-icon.d.ts +4 -0
- package/dist/src/icons/animated/vinyl-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/volume-2-icon.d.ts +4 -0
- package/dist/src/icons/animated/volume-2-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/volume-x-icon.d.ts +4 -0
- package/dist/src/icons/animated/volume-x-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/wallet-icon.d.ts +4 -0
- package/dist/src/icons/animated/wallet-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/washing-machine-icon.d.ts +4 -0
- package/dist/src/icons/animated/washing-machine-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/whatsapp-icon.d.ts +4 -0
- package/dist/src/icons/animated/whatsapp-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/wifi-icon.d.ts +4 -0
- package/dist/src/icons/animated/wifi-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/wifi-off-icon.d.ts +4 -0
- package/dist/src/icons/animated/wifi-off-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/world-icon.d.ts +4 -0
- package/dist/src/icons/animated/world-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/x-icon.d.ts +4 -0
- package/dist/src/icons/animated/x-icon.d.ts.map +1 -0
- package/dist/src/icons/animated/youtube-icon.d.ts +4 -0
- package/dist/src/icons/animated/youtube-icon.d.ts.map +1 -0
- package/dist/src/icons/index.d.ts +1 -0
- package/dist/src/icons/index.d.ts.map +1 -1
- package/dist/src/icons/lucide.d.ts +1 -1
- package/dist/src/icons/lucide.d.ts.map +1 -1
- package/dist/src/languages/hooks/index.d.ts +1 -1
- package/dist/src/languages/hooks/index.d.ts.map +1 -1
- package/dist/src/languages/hooks/useLanguageLabel.d.ts +8 -7
- package/dist/src/languages/hooks/useLanguageLabel.d.ts.map +1 -1
- package/dist/src/languages/hooks/usePreferenceLabel.d.ts +1 -1
- package/dist/src/languages/hooks/usePreferenceLabel.d.ts.map +1 -1
- package/dist/src/languages/hooks/useThemeLabel.d.ts +4 -5
- package/dist/src/languages/hooks/useThemeLabel.d.ts.map +1 -1
- package/dist/src/languages/index.d.ts +0 -2
- package/dist/src/languages/index.d.ts.map +1 -1
- package/dist/src/languages/languages/i18n.d.ts +4 -7
- package/dist/src/languages/languages/i18n.d.ts.map +1 -1
- package/dist/src/languages/languages/i18nResources.d.ts +1 -1
- package/dist/src/languages/languages/i18nResources.d.ts.map +1 -1
- package/dist/src/languages/resources/index.d.ts +2 -2
- package/dist/src/languages/types/components.d.ts +1 -24
- package/dist/src/languages/types/components.d.ts.map +1 -1
- package/dist/src/languages/types/i18n.d.ts +1 -4
- package/dist/src/languages/types/i18n.d.ts.map +1 -1
- package/dist/src/languages/types/language.d.ts +2 -11
- package/dist/src/languages/types/language.d.ts.map +1 -1
- package/dist/src/languages/utils/getLocalLanguage.d.ts +1 -1
- package/dist/src/languages/utils/getLocalLanguage.d.ts.map +1 -1
- package/dist/src/languages/utils/languageStorage.d.ts +2 -3
- package/dist/src/languages/utils/languageStorage.d.ts.map +1 -1
- package/dist/src/providers/LanguageProvider/index.d.ts +19 -0
- package/dist/src/providers/LanguageProvider/index.d.ts.map +1 -0
- package/dist/src/providers/ThemeProvider/index.d.ts +17 -0
- package/dist/src/providers/ThemeProvider/index.d.ts.map +1 -0
- package/dist/src/providers/index.d.ts +7 -0
- package/dist/src/providers/index.d.ts.map +1 -0
- package/dist/src/stores/index.d.ts +4 -0
- package/dist/src/stores/index.d.ts.map +1 -1
- package/dist/src/stores/layout.d.ts +41 -0
- package/dist/src/stores/layout.d.ts.map +1 -0
- package/dist/src/stores/makeStore.d.ts +1 -1
- package/dist/src/stores/modal.d.ts +67 -0
- package/dist/src/stores/modal.d.ts.map +1 -0
- package/dist/src/stores/preference.d.ts +52 -0
- package/dist/src/stores/preference.d.ts.map +1 -0
- package/dist/src/themes/fonts.d.ts +21 -0
- package/dist/src/themes/fonts.d.ts.map +1 -0
- package/dist/src/themes/hooks/index.d.ts +1 -3
- package/dist/src/themes/hooks/index.d.ts.map +1 -1
- package/dist/src/themes/hooks/useTheme.d.ts +25 -9
- package/dist/src/themes/hooks/useTheme.d.ts.map +1 -1
- package/dist/src/themes/index.d.ts +3 -4
- package/dist/src/themes/index.d.ts.map +1 -1
- package/dist/src/themes/radix/index.d.ts +2 -0
- package/dist/src/themes/radix/index.d.ts.map +1 -0
- package/dist/src/themes/radix/mappings.d.ts +39 -0
- package/dist/src/themes/radix/mappings.d.ts.map +1 -0
- package/dist/src/themes/types/components.d.ts +1 -24
- package/dist/src/themes/types/components.d.ts.map +1 -1
- package/dist/src/themes/types/context.d.ts +6 -12
- package/dist/src/themes/types/context.d.ts.map +1 -1
- package/dist/src/themes/types/index.d.ts +1 -6
- package/dist/src/themes/types/index.d.ts.map +1 -1
- package/dist/src/themes/types/theme.d.ts +15 -26
- package/dist/src/themes/types/theme.d.ts.map +1 -1
- package/dist/src/utils/factory/hooks.d.ts +44 -0
- package/dist/src/utils/factory/hooks.d.ts.map +1 -0
- package/dist/src/utils/factory/index.d.ts +2 -0
- package/dist/src/utils/factory/index.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/safe.d.ts +4 -0
- package/dist/src/utils/safe.d.ts.map +1 -1
- package/dist/stores.cjs +1 -4
- package/dist/stores.mjs +32 -164
- package/dist/themes.cjs +2 -4
- package/dist/themes.mjs +27 -1473
- package/dist/types.cjs +0 -1
- package/dist/types.mjs +0 -1
- package/dist/utils.cjs +1 -2
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.mjs +163 -181
- package/dist/utils.mjs.map +1 -1
- package/package.json +101 -43
- package/dist/chunk-BounceLoading-C-gq-XVr.mjs +0 -241
- package/dist/chunk-BounceLoading-C-gq-XVr.mjs.map +0 -1
- package/dist/chunk-BounceLoading-CkxvzNz8.cjs +0 -11
- package/dist/chunk-BounceLoading-CkxvzNz8.cjs.map +0 -1
- package/dist/chunk-animations-CiJbVYGC.mjs +0 -741
- package/dist/chunk-animations-CiJbVYGC.mjs.map +0 -1
- package/dist/chunk-animations-i85rn79V.cjs +0 -3
- package/dist/chunk-animations-i85rn79V.cjs.map +0 -1
- package/dist/chunk-chunk-D-Fg7nx1.cjs +0 -1
- package/dist/chunk-i18n-2-xL4pEi.cjs +0 -3
- package/dist/chunk-i18n-2-xL4pEi.cjs.map +0 -1
- package/dist/chunk-i18n-DgaoEbGL.mjs +0 -214
- package/dist/chunk-i18n-DgaoEbGL.mjs.map +0 -1
- package/dist/chunk-language-2r4uKROB.cjs +0 -3
- package/dist/chunk-language-2r4uKROB.cjs.map +0 -1
- package/dist/chunk-language-JRs5UIa2.mjs +0 -11
- package/dist/chunk-language-JRs5UIa2.mjs.map +0 -1
- package/dist/chunk-layout-BEAgFhif.mjs +0 -11
- package/dist/chunk-layout-BEAgFhif.mjs.map +0 -1
- package/dist/chunk-layout-mMQXuBLE.cjs +0 -3
- package/dist/chunk-layout-mMQXuBLE.cjs.map +0 -1
- package/dist/chunk-lucide-B99NZWfa.mjs +0 -158
- package/dist/chunk-lucide-B99NZWfa.mjs.map +0 -1
- package/dist/chunk-lucide-XL6d5__j.cjs +0 -3
- package/dist/chunk-lucide-XL6d5__j.cjs.map +0 -1
- package/dist/chunk-preference-DMhhY1Pl.mjs +0 -60
- package/dist/chunk-preference-DMhhY1Pl.mjs.map +0 -1
- package/dist/chunk-preference-DbNgeGhx.cjs +0 -3
- package/dist/chunk-preference-DbNgeGhx.cjs.map +0 -1
- package/dist/chunk-theme-CINVDd47.mjs +0 -17
- package/dist/chunk-theme-CINVDd47.mjs.map +0 -1
- package/dist/chunk-theme-D49XQfXe.cjs +0 -3
- package/dist/chunk-theme-D49XQfXe.cjs.map +0 -1
- package/dist/chunk-useLayout-BAIFfydj.cjs +0 -3
- package/dist/chunk-useLayout-BAIFfydj.cjs.map +0 -1
- package/dist/chunk-useLayout-BXsJlpcb.mjs +0 -12
- package/dist/chunk-useLayout-BXsJlpcb.mjs.map +0 -1
- package/dist/chunk-useTheme-BY1_pW9y.mjs +0 -13
- package/dist/chunk-useTheme-BY1_pW9y.mjs.map +0 -1
- package/dist/chunk-useTheme-Tw_7_cQf.cjs +0 -3
- package/dist/chunk-useTheme-Tw_7_cQf.cjs.map +0 -1
- package/dist/hooks.cjs.map +0 -1
- package/dist/hooks.mjs.map +0 -1
- package/dist/pixel-blast.cjs.map +0 -1
- package/dist/pixel-blast.mjs.map +0 -1
- package/dist/preference.cjs +0 -2
- package/dist/preference.mjs +0 -10
- package/dist/src/designs/components/Button/index.d.ts +0 -32
- package/dist/src/designs/components/Button/index.d.ts.map +0 -1
- package/dist/src/designs/components/Dropdown/index.d.ts +0 -25
- package/dist/src/designs/components/Dropdown/index.d.ts.map +0 -1
- package/dist/src/designs/components/Input/index.d.ts +0 -35
- package/dist/src/designs/components/Input/index.d.ts.map +0 -1
- package/dist/src/designs/components/KeyValueEditor/index.d.ts +0 -44
- package/dist/src/designs/components/KeyValueEditor/index.d.ts.map +0 -1
- package/dist/src/designs/components/SearchInput/index.d.ts +0 -15
- package/dist/src/designs/components/SearchInput/index.d.ts.map +0 -1
- package/dist/src/designs/components/ShowFilter/index.d.ts +0 -40
- package/dist/src/designs/components/ShowFilter/index.d.ts.map +0 -1
- package/dist/src/designs/components/SlideDownSwitcher/index.d.ts +0 -17
- package/dist/src/designs/components/SlideDownSwitcher/index.d.ts.map +0 -1
- package/dist/src/designs/components/Slider/index.d.ts +0 -39
- package/dist/src/designs/components/Slider/index.d.ts.map +0 -1
- package/dist/src/designs/components/Textarea/index.d.ts +0 -33
- package/dist/src/designs/components/Textarea/index.d.ts.map +0 -1
- package/dist/src/hooks/makeCursorFetchFunction.d.ts +0 -85
- package/dist/src/hooks/makeCursorFetchFunction.d.ts.map +0 -1
- package/dist/src/hooks/makeUnifiedInfiniteQuery.d.ts +0 -125
- package/dist/src/hooks/makeUnifiedInfiniteQuery.d.ts.map +0 -1
- package/dist/src/hooks/makeUnifiedQuery.d.ts +0 -20
- package/dist/src/hooks/makeUnifiedQuery.d.ts.map +0 -1
- package/dist/src/hooks/type.d.ts +0 -41
- package/dist/src/hooks/type.d.ts.map +0 -1
- package/dist/src/languages/providers/index.d.ts +0 -8
- package/dist/src/languages/providers/index.d.ts.map +0 -1
- package/dist/src/preference/constants.d.ts.map +0 -1
- package/dist/src/preference/core.d.ts +0 -12
- package/dist/src/preference/core.d.ts.map +0 -1
- package/dist/src/preference/index.d.ts +0 -27
- package/dist/src/preference/index.d.ts.map +0 -1
- package/dist/src/preference/nfx_slice.d.ts +0 -24
- package/dist/src/preference/nfx_slice.d.ts.map +0 -1
- package/dist/src/preference/types.d.ts +0 -28
- package/dist/src/preference/types.d.ts.map +0 -1
- package/dist/src/themes/hooks/useBaseVariables.d.ts +0 -8
- package/dist/src/themes/hooks/useBaseVariables.d.ts.map +0 -1
- package/dist/src/themes/hooks/useThemeVariables.d.ts +0 -11
- package/dist/src/themes/hooks/useThemeVariables.d.ts.map +0 -1
- package/dist/src/themes/hooks/useVariables.d.ts +0 -8
- package/dist/src/themes/hooks/useVariables.d.ts.map +0 -1
- package/dist/src/themes/providers/index.d.ts +0 -8
- package/dist/src/themes/providers/index.d.ts.map +0 -1
- package/dist/src/themes/themes/bases/android.d.ts +0 -5
- package/dist/src/themes/themes/bases/android.d.ts.map +0 -1
- package/dist/src/themes/themes/bases/default.d.ts +0 -6
- package/dist/src/themes/themes/bases/default.d.ts.map +0 -1
- package/dist/src/themes/themes/bases/index.d.ts +0 -9
- package/dist/src/themes/themes/bases/index.d.ts.map +0 -1
- package/dist/src/themes/themes/bases/ios.d.ts +0 -5
- package/dist/src/themes/themes/bases/ios.d.ts.map +0 -1
- package/dist/src/themes/themes/bases/linux.d.ts +0 -5
- package/dist/src/themes/themes/bases/linux.d.ts.map +0 -1
- package/dist/src/themes/themes/bases/windows.d.ts +0 -5
- package/dist/src/themes/themes/bases/windows.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/coffee.d.ts +0 -8
- package/dist/src/themes/themes/colors/coffee.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/corporate.d.ts +0 -8
- package/dist/src/themes/themes/colors/corporate.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/cosmic.d.ts +0 -8
- package/dist/src/themes/themes/colors/cosmic.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/dark.d.ts +0 -8
- package/dist/src/themes/themes/colors/dark.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/default.d.ts +0 -8
- package/dist/src/themes/themes/colors/default.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/forest.d.ts +0 -8
- package/dist/src/themes/themes/colors/forest.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/index.d.ts +0 -14
- package/dist/src/themes/themes/colors/index.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/light.d.ts +0 -8
- package/dist/src/themes/themes/colors/light.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/wheat.d.ts +0 -8
- package/dist/src/themes/themes/colors/wheat.d.ts.map +0 -1
- package/dist/src/themes/themes/colors/wine.d.ts +0 -8
- package/dist/src/themes/themes/colors/wine.d.ts.map +0 -1
- package/dist/src/themes/themes/index.d.ts +0 -3
- package/dist/src/themes/themes/index.d.ts.map +0 -1
- package/dist/src/themes/utils/index.d.ts +0 -5
- package/dist/src/themes/utils/index.d.ts.map +0 -1
- package/dist/src/themes/utils/themeStorage.d.ts +0 -12
- package/dist/src/themes/utils/themeStorage.d.ts.map +0 -1
- package/dist/stores.cjs.map +0 -1
- package/dist/stores.mjs.map +0 -1
- package/dist/themes.cjs.map +0 -1
- package/dist/themes.mjs.map +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const me=require("./chunk-rolldown-runtime-Bvb_CV3F.cjs"),z=require("./chunk-useTheme-DSps5NbC.cjs");let n=require("react");n=me.__toESM(n,1);let i=require("react/jsx-runtime");var fe="styles-module__loading___bgEAk",ge="styles-module__back___XLPvD",ve="styles-module__front___hSxig",_e="styles-module__dash_682___AQzo6",xe="styles-module__dash_682___AQzo6",te={loading:fe,back:ge,front:ve,dash_682:_e,dash682:xe},ce=(0,n.memo)(({size:t="medium",className:r})=>{const{width:u,height:e}={small:{width:"48px",height:"36px"},medium:{width:"64px",height:"48px"},large:{width:"96px",height:"72px"}}[t];return(0,i.jsx)("div",{className:`${te.loading} ${r||""}`,children:(0,i.jsxs)("svg",{width:u,height:e,viewBox:"0 0 64 48",children:[(0,i.jsx)("polyline",{points:"0.157 23.954, 14 23.954, 21.843 48, 43 0, 50 24, 64 24",id:"back",className:te.back}),(0,i.jsx)("polyline",{points:"0.157 23.954, 14 23.954, 21.843 48, 43 0, 50 24, 64 24",id:"front",className:te.front})]})})});ce.displayName="ECGLoading";var ye="styles-module__loader___E7OIM",we="styles-module__truckWrapper___Sk4zX",pe="styles-module__truckBody___j7w2C",be="styles-module__motion___IiNlW",Me="styles-module__truckTires___4ncTl",ke="styles-module__tiresvg___IBQcN",Ce="styles-module__road___sxx-E",Re="styles-module__roadAnimation___yvrHP",je="styles-module__lampPost___okcN5",G={loader:ye,truckWrapper:we,truckBody:pe,motion:be,truckTires:Me,tiresvg:ke,road:Ce,roadAnimation:Re,lampPost:je},ae=(0,n.memo)(({size:t="medium",className:r})=>{const{width:u,height:e,svgScale:h}={small:{width:"150px",height:"75px",svgScale:.75},medium:{width:"200px",height:"100px",svgScale:1},large:{width:"300px",height:"150px",svgScale:1.5}}[t];return(0,i.jsx)("div",{className:`${G.loader} ${r||""}`,style:{width:u,height:e},children:(0,i.jsxs)("div",{className:G.truckWrapper,style:{transform:`scale(${h})`},children:[(0,i.jsx)("div",{className:G.truckBody,children:(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 198 93",className:G.trucksvg,children:[(0,i.jsx)("path",{strokeWidth:"3",stroke:"var(--color-fg-heading)",fill:"var(--color-primary)",d:"M135 22.5H177.264C178.295 22.5 179.22 23.133 179.594 24.0939L192.33 56.8443C192.442 57.1332 192.5 57.4404 192.5 57.7504V89C192.5 90.3807 191.381 91.5 190 91.5H135C133.619 91.5 132.5 90.3807 132.5 89V25C132.5 23.6193 133.619 22.5 135 22.5Z"}),(0,i.jsx)("path",{strokeWidth:"3",stroke:"var(--color-fg-heading)",fill:"var(--color-bg-3)",d:"M146 33.5H181.741C182.779 33.5 183.709 34.1415 184.078 35.112L190.538 52.112C191.16 53.748 189.951 55.5 188.201 55.5H146C144.619 55.5 143.5 54.3807 143.5 53V36C143.5 34.6193 144.619 33.5 146 33.5Z"}),(0,i.jsx)("path",{strokeWidth:"2",stroke:"var(--color-fg-heading)",fill:"var(--color-fg-heading)",d:"M150 65C150 65.39 149.763 65.8656 149.127 66.2893C148.499 66.7083 147.573 67 146.5 67C145.427 67 144.501 66.7083 143.873 66.2893C143.237 65.8656 143 65.39 143 65C143 64.61 143.237 64.1344 143.873 63.7107C144.501 63.2917 145.427 63 146.5 63C147.573 63 148.499 63.2917 149.127 63.7107C149.763 64.1344 150 64.61 150 65Z"}),(0,i.jsx)("rect",{strokeWidth:"2",stroke:"var(--color-fg-heading)",fill:"var(--color-warning)",rx:"1",height:"7",width:"5",y:"63",x:"187"}),(0,i.jsx)("rect",{strokeWidth:"2",stroke:"var(--color-fg-heading)",fill:"var(--color-fg-heading)",rx:"1",height:"11",width:"4",y:"81",x:"193"}),(0,i.jsx)("rect",{strokeWidth:"3",stroke:"var(--color-fg-heading)",fill:"var(--color-bg-2)",rx:"2.5",height:"90",width:"121",y:"1.5",x:"6.5"}),(0,i.jsx)("rect",{strokeWidth:"2",stroke:"var(--color-fg-heading)",fill:"var(--color-bg-2)",rx:"2",height:"4",width:"6",y:"84",x:"1"})]})}),(0,i.jsxs)("div",{className:G.truckTires,children:[(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 30 30",className:G.tiresvg,children:[(0,i.jsx)("circle",{strokeWidth:"3",stroke:"var(--color-fg-heading)",fill:"var(--color-fg-heading)",r:"13.5",cy:"15",cx:"15"}),(0,i.jsx)("circle",{fill:"var(--color-bg-2)",r:"7",cy:"15",cx:"15"})]}),(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 30 30",className:G.tiresvg,children:[(0,i.jsx)("circle",{strokeWidth:"3",stroke:"var(--color-fg-heading)",fill:"var(--color-fg-heading)",r:"13.5",cy:"15",cx:"15"}),(0,i.jsx)("circle",{fill:"var(--color-bg-2)",r:"7",cy:"15",cx:"15"})]})]}),(0,i.jsx)("div",{className:G.road}),(0,i.jsx)("svg",{xmlSpace:"preserve",viewBox:"0 0 453.459 453.459",xmlns:"http://www.w3.org/2000/svg",version:"1.1",fill:"var(--color-fg-heading)",className:G.lampPost,children:(0,i.jsx)("path",{d:`M252.882,0c-37.781,0-68.686,29.953-70.245,67.358h-6.917v8.954c-26.109,2.163-45.463,10.011-45.463,19.366h9.993
|
|
2
|
+
c-1.65,5.146-2.507,10.54-2.507,16.017c0,28.956,23.558,52.514,52.514,52.514c28.956,0,52.514-23.558,52.514-52.514
|
|
3
|
+
c0-5.478-0.856-10.872-2.506-16.017h9.992c0-9.354-19.352-17.204-45.463-19.366v-8.954h-6.149C200.189,38.779,223.924,16,252.882,16
|
|
4
|
+
c29.952,0,54.32,24.368,54.32,54.32c0,28.774-11.078,37.009-25.105,47.437c-17.444,12.968-37.216,27.667-37.216,78.884v113.914
|
|
5
|
+
h-0.797c-5.068,0-9.174,4.108-9.174,9.177c0,2.844,1.293,5.383,3.321,7.066c-3.432,27.933-26.851,95.744-8.226,115.459v11.202h45.75
|
|
6
|
+
v-11.202c18.625-19.715-4.794-87.527-8.227-115.459c2.029-1.683,3.322-4.223,3.322-7.066c0-5.068-4.107-9.177-9.176-9.177h-0.795
|
|
7
|
+
V196.641c0-43.174,14.942-54.283,30.762-66.043c14.793-10.997,31.559-23.461,31.559-60.277C323.202,31.545,291.656,0,252.882,0z
|
|
8
|
+
M232.77,111.694c0,23.442-19.071,42.514-42.514,42.514c-23.442,0-42.514-19.072-42.514-42.514c0-5.531,1.078-10.957,3.141-16.017
|
|
9
|
+
h78.747C231.693,100.736,232.77,106.162,232.77,111.694z`})})]})})});ae.displayName="TruckLoading";var $e="styles-module__loader___pFUzL",Le="styles-module__shadow324___sutUe",Ee="styles-module__square___GKjhm",Pe="styles-module__jump7456Square___Z-D9b",Te="styles-module__circle___bUpSN",Ie="styles-module__jump7456Circle___2AfF7",se={loader:$e,shadow324:Le,square:Ee,jump7456Square:Pe,circle:Te,jump7456Circle:Ie},le=(0,n.memo)(({size:t="medium",shape:r="square",className:u})=>{const e={small:"32px",medium:"48px",large:"64px"}[t];return(0,i.jsx)("div",{className:`${se.loader} ${se[r]} ${u||""}`,style:{width:e,height:e}})});le.displayName="BounceLoading";var Ne="style-module__waves___oR3u7",Be="style-module__wavesCanvas___zkhTC",oe={waves:Ne,wavesCanvas:Be},T=class{x;y;z;constructor(t,r,u){this.x=t,this.y=r,this.z=u}dot2(t,r){return this.x*t+this.y*r}},Ae=class{grad3;p;perm;gradP;constructor(t=0){this.grad3=[new T(1,1,0),new T(-1,1,0),new T(1,-1,0),new T(-1,-1,0),new T(1,0,1),new T(-1,0,1),new T(1,0,-1),new T(-1,0,-1),new T(0,1,1),new T(0,-1,1),new T(0,1,-1),new T(0,-1,-1)],this.p=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180],this.perm=new Array(512),this.gradP=new Array(512),this.seed(t)}seed(t){t>0&&t<1&&(t*=65536),t=Math.floor(t),t<256&&(t|=t<<8);for(let r=0;r<256;r++){let u=r&1?this.p[r]^t&255:this.p[r]^t>>8&255;this.perm[r]=this.perm[r+256]=u,this.gradP[r]=this.gradP[r+256]=this.grad3[u%12]}}fade(t){return t*t*t*(t*(t*6-15)+10)}lerp(t,r,u){return(1-u)*t+u*r}perlin2(t,r){let u=Math.floor(t),e=Math.floor(r);t-=u,r-=e,u&=255,e&=255;const h=this.gradP[u+this.perm[e]].dot2(t,r),x=this.gradP[u+this.perm[e+1]].dot2(t,r-1),w=this.gradP[u+1+this.perm[e]].dot2(t-1,r),g=this.gradP[u+1+this.perm[e+1]].dot2(t-1,r-1),y=this.fade(t);return this.lerp(this.lerp(h,w,y),this.lerp(x,g,y),this.fade(r))}},We=({lineColor:t="black",backgroundColor:r="transparent",waveSpeedX:u=.0125,waveSpeedY:e=.005,waveAmpX:h=32,waveAmpY:x=16,xGap:w=10,yGap:g=32,friction:y=.925,tension:k=.005,maxCursorMove:m=100,style:O={},className:V=""})=>{const v=(0,n.useRef)(null),R=(0,n.useRef)(null),d=(0,n.useRef)(null),C=(0,n.useRef)({width:0,height:0,left:0,top:0}),H=(0,n.useRef)(new Ae(Math.random())),X=(0,n.useRef)([]),B=(0,n.useRef)({x:-10,y:0,lx:0,ly:0,sx:0,sy:0,v:0,vs:0,a:0,set:!1}),E=(0,n.useRef)({lineColor:t,waveSpeedX:u,waveSpeedY:e,waveAmpX:h,waveAmpY:x,friction:y,tension:k,maxCursorMove:m,xGap:w,yGap:g}),I=(0,n.useRef)(null);return(0,n.useEffect)(()=>{E.current={lineColor:t,waveSpeedX:u,waveSpeedY:e,waveAmpX:h,waveAmpY:x,friction:y,tension:k,maxCursorMove:m,xGap:w,yGap:g}},[t,u,e,h,x,y,k,m,w,g]),(0,n.useEffect)(()=>{const M=R.current,j=v.current;if(!M||!j)return;d.current=M.getContext("2d");function A(){if(!j||!M)return;const l=j.getBoundingClientRect();C.current={width:l.width,height:l.height,left:l.left,top:l.top},M.width=l.width,M.height=l.height}function P(){const{width:l,height:o}=C.current;X.current=[];const a=l+200,b=o+30,{xGap:$,yGap:D}=E.current,Z=Math.ceil(a/$),S=Math.ceil(b/D),Q=(l-$*Z)/2,U=(o-D*S)/2;for(let Y=0;Y<=Z;Y++){const J=[];for(let _=0;_<=S;_++)J.push({x:Q+$*Y,y:U+D*_,wave:{x:0,y:0},cursor:{x:0,y:0,vx:0,vy:0}});X.current.push(J)}}function L(l){const o=X.current,a=B.current,b=H.current,{waveSpeedX:$,waveSpeedY:D,waveAmpX:Z,waveAmpY:S,friction:Q,tension:U,maxCursorMove:Y}=E.current;o.forEach(J=>{J.forEach(_=>{const re=b.perlin2((_.x+l*$)*.002,(_.y+l*D)*.0015)*12;_.wave.x=Math.cos(re)*Z,_.wave.y=Math.sin(re)*S;const ue=_.x-a.sx,de=_.y-a.sy,ee=Math.hypot(ue,de),K=Math.max(175,a.vs);if(ee<K){const he=1-ee/K,ne=Math.cos(ee*.001)*he;_.cursor.vx+=Math.cos(a.a)*ne*K*a.vs*65e-5,_.cursor.vy+=Math.sin(a.a)*ne*K*a.vs*65e-5}_.cursor.vx+=(0-_.cursor.x)*U,_.cursor.vy+=(0-_.cursor.y)*U,_.cursor.vx*=Q,_.cursor.vy*=Q,_.cursor.x+=_.cursor.vx*2,_.cursor.y+=_.cursor.vy*2,_.cursor.x=Math.min(Y,Math.max(-Y,_.cursor.x)),_.cursor.y=Math.min(Y,Math.max(-Y,_.cursor.y))})})}function N(l,o=!0){const a=l.x+l.wave.x+(o?l.cursor.x:0),b=l.y+l.wave.y+(o?l.cursor.y:0);return{x:Math.round(a*10)/10,y:Math.round(b*10)/10}}function W(){const{width:l,height:o}=C.current,a=d.current;a&&(a.clearRect(0,0,l,o),a.beginPath(),a.strokeStyle=E.current.lineColor,X.current.forEach(b=>{let $=N(b[0],!1);a.moveTo($.x,$.y),b.forEach((D,Z)=>{const S=Z===b.length-1;$=N(D,!S);const Q=N(b[Z+1]||b[b.length-1],!S);a.lineTo($.x,$.y),S&&a.moveTo(Q.x,Q.y)})}),a.stroke())}function F(l){if(!j)return;const o=B.current;o.sx+=(o.x-o.sx)*.1,o.sy+=(o.y-o.sy)*.1;const a=o.x-o.lx,b=o.y-o.ly,$=Math.hypot(a,b);o.v=$,o.vs+=($-o.vs)*.1,o.vs=Math.min(100,o.vs),o.lx=o.x,o.ly=o.y,o.a=Math.atan2(b,a),j.style.setProperty("--x",`${o.sx}px`),j.style.setProperty("--y",`${o.sy}px`),L(l),W(),I.current=requestAnimationFrame(F)}function s(){A(),P()}function f(l){p(l.clientX,l.clientY)}function c(l){const o=l.touches[0];p(o.clientX,o.clientY)}function p(l,o){const a=B.current,b=C.current;a.x=l-b.left,a.y=o-b.top,a.set||(a.sx=a.x,a.sy=a.y,a.lx=a.x,a.ly=a.y,a.set=!0)}return A(),P(),I.current=requestAnimationFrame(F),window.addEventListener("resize",s),window.addEventListener("mousemove",f),window.addEventListener("touchmove",c,{passive:!1}),()=>{window.removeEventListener("resize",s),window.removeEventListener("mousemove",f),window.removeEventListener("touchmove",c),I.current!==null&&cancelAnimationFrame(I.current)}},[]),(0,i.jsx)("div",{ref:v,className:`${oe.waves} ${V}`,style:{position:"absolute",top:0,left:0,margin:0,padding:0,width:"100%",height:"100%",overflow:"hidden",backgroundColor:r,...O},children:(0,i.jsx)("canvas",{ref:R,className:oe.wavesCanvas})})},Fe=t=>{const{currentTheme:r}=z.useTheme(),u=(0,n.useMemo)(()=>{const e=r.colors.variables.primary||"rgb(220, 38, 38)",h=(g,y,k,m=.4)=>`rgb(${Math.round(g+(255-g)*m)}, ${Math.round(y+(255-y)*m)}, ${Math.round(k+(255-k)*m)})`;if(e.startsWith("#")){const g=e.slice(1);return h(parseInt(g.slice(0,2),16),parseInt(g.slice(2,4),16),parseInt(g.slice(4,6),16))}const x=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(x)return h(parseInt(x[1],10),parseInt(x[2],10),parseInt(x[3],10));const w=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);return w?h(parseInt(w[1],10),parseInt(w[2],10),parseInt(w[3],10)):e},[r]);return(0,i.jsx)(We,{lineColor:u,backgroundColor:"transparent",waveSpeedX:.05,waveSpeedY:.01,waveAmpX:40,waveAmpY:20,...t})},Ve="style-module__squaresCanvas___22kMc",Xe={squaresCanvas:Ve},Ge=({direction:t="right",speed:r=1,borderColor:u="#6B7280",squareSize:e=40,hoverFillColor:h="#111827",className:x="",style:w={}})=>{const{currentTheme:g}=z.useTheme(),y=g.colors.variables.fgHeading,k=(0,n.useRef)(null),m=(0,n.useRef)(null),O=(0,n.useRef)(0),V=(0,n.useRef)(0),v=(0,n.useRef)({x:0,y:0}),R=(0,n.useRef)(null);return(0,n.useEffect)(()=>{const d=k.current;if(!d)return;const C=d.getContext("2d"),H=()=>{d.width=d.offsetWidth,d.height=d.offsetHeight,O.current=Math.ceil(d.width/e)+1,V.current=Math.ceil(d.height/e)+1};window.addEventListener("resize",H),H();const X=()=>{if(!C)return;C.clearRect(0,0,d.width,d.height);const M=Math.floor(v.current.x/e)*e,j=Math.floor(v.current.y/e)*e;for(let P=M;P<d.width+e;P+=e)for(let L=j;L<d.height+e;L+=e){const N=P-v.current.x%e,W=L-v.current.y%e;R.current&&Math.floor((P-M)/e)===R.current.x&&Math.floor((L-j)/e)===R.current.y&&(C.fillStyle=h,C.fillRect(N,W,e,e)),C.strokeStyle=u,C.strokeRect(N,W,e,e)}const A=C.createRadialGradient(d.width/2,d.height/2,0,d.width/2,d.height/2,Math.sqrt(d.width**2+d.height**2)/2);A.addColorStop(0,"rgba(0, 0, 0, 0)"),A.addColorStop(1,y),C.fillStyle=A,C.fillRect(0,0,d.width,d.height)},B=()=>{const M=Math.max(r,.1);switch(t){case"right":v.current.x=(v.current.x-M+e)%e;break;case"left":v.current.x=(v.current.x+M+e)%e;break;case"up":v.current.y=(v.current.y+M+e)%e;break;case"down":v.current.y=(v.current.y-M+e)%e;break;case"diagonal":v.current.x=(v.current.x-M+e)%e,v.current.y=(v.current.y-M+e)%e}X(),m.current=requestAnimationFrame(B)},E=M=>{const j=d.getBoundingClientRect(),A=M.clientX-j.left,P=M.clientY-j.top,L=Math.floor(v.current.x/e)*e,N=Math.floor(v.current.y/e)*e,W=Math.floor((A+v.current.x-L)/e),F=Math.floor((P+v.current.y-N)/e);(!R.current||R.current.x!==W||R.current.y!==F)&&(R.current={x:W,y:F})},I=()=>{R.current=null};return d.addEventListener("mousemove",E),d.addEventListener("mouseleave",I),m.current=requestAnimationFrame(B),()=>{window.removeEventListener("resize",H),m.current&&cancelAnimationFrame(m.current),d.removeEventListener("mousemove",E),d.removeEventListener("mouseleave",I)}},[t,r,u,h,e,y]),(0,i.jsx)("canvas",{ref:k,className:`${Xe.squaresCanvas} ${x}`,style:w})},He=t=>{const{currentTheme:r}=z.useTheme(),u=(0,n.useMemo)(()=>{const h=r.colors.variables.border5||r.colors.variables.fg||"#6B7280";if(h.startsWith("#"))return h;const x=h.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);return x?`#${parseInt(x[1],10).toString(16).padStart(2,"0")}${parseInt(x[2],10).toString(16).padStart(2,"0")}${parseInt(x[3],10).toString(16).padStart(2,"0")}`:h},[r]),e=(0,n.useMemo)(()=>{const h=r.colors.variables.bg3||r.colors.variables.border3||"#F3F4F6",x=(g,y,k,m=.3)=>`rgb(${Math.round(g*(1-m))}, ${Math.round(y*(1-m))}, ${Math.round(k*(1-m))})`;if(h.startsWith("#")){const g=h.slice(1);return x(parseInt(g.slice(0,2),16),parseInt(g.slice(2,4),16),parseInt(g.slice(4,6),16))}const w=h.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);return w?x(parseInt(w[1],10),parseInt(w[2],10),parseInt(w[3],10)):h},[r]);return(0,i.jsx)(Ge,{borderColor:u,hoverFillColor:e,speed:.5,squareSize:40,direction:"diagonal",...t})},Se="style-module__container___HkxIe",Ye="style-module__canvas___MR9JX",Oe="style-module__outerVignette___i75nw",De="style-module__centerVignette___n9uVG",q={container:Se,canvas:Ye,outerVignette:Oe,centerVignette:De},Ze=(0,n.memo)(({glitchColors:t=["#7F1D1D","#16A34A","#2563EB"],glitchSpeed:r=500,centerVignette:u=!1,outerVignette:e=!0,smooth:h=!0,characters:x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$&*()-_+=/[]{};:<>.,0123456789",className:w="",style:g={}})=>{const y=(0,n.useRef)(null),k=(0,n.useRef)(null),m=(0,n.useRef)([]),O=(0,n.useRef)({columns:0,rows:0}),V=(0,n.useRef)(null),v=(0,n.useRef)(Date.now()),R=(0,n.useMemo)(()=>Array.from(x),[x]),d=(0,n.useRef)(new Map),C=16,H=10,X=20,B=(0,n.useCallback)(()=>R[Math.floor(Math.random()*R.length)],[R]),E=(0,n.useCallback)(()=>t[Math.floor(Math.random()*t.length)],[t]),I=(0,n.useCallback)(s=>{if(d.current.has(s))return d.current.get(s);const f=s.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(l,o,a,b)=>o+o+a+a+b+b),c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(f),p=c?{r:parseInt(c[1],16),g:parseInt(c[2],16),b:parseInt(c[3],16)}:null;return d.current.set(s,p),p},[]),M=(s,f,c)=>{const p={r:Math.round(s.r+(f.r-s.r)*c),g:Math.round(s.g+(f.g-s.g)*c),b:Math.round(s.b+(f.b-s.b)*c)};return`rgb(${p.r}, ${p.g}, ${p.b})`},j=(s,f)=>({columns:Math.ceil(s/H),rows:Math.ceil(f/X)}),A=(s,f)=>{O.current={columns:s,rows:f};const c=s*f;m.current=Array.from({length:c},()=>({char:B(),color:E(),targetColor:E(),colorProgress:1}))},P=()=>{const s=y.current;if(!s)return;const f=s.parentElement;if(!f)return;const c=window.devicePixelRatio||1,p=f.getBoundingClientRect();s.width=p.width*c,s.height=p.height*c,s.style.width=`${p.width}px`,s.style.height=`${p.height}px`,V.current&&V.current.setTransform(c,0,0,c,0,0);const{columns:l,rows:o}=j(p.width,p.height);A(l,o),L()},L=(0,n.useCallback)(()=>{if(!V.current||m.current.length===0)return;const s=V.current,f=y.current;f&&(s.clearRect(0,0,f.width,f.height),s.font=`${C}px monospace`,s.textBaseline="top",s.textAlign="left",m.current.forEach((c,p)=>{const l=p%O.current.columns*H,o=Math.floor(p/O.current.columns)*X;s.fillStyle=c.color,s.fillText(c.char,l,o)}))},[]),N=(0,n.useCallback)(()=>{if(!m.current||m.current.length===0)return;const s=Math.max(1,Math.floor(m.current.length*.02));for(let f=0;f<s;f++){const c=Math.floor(Math.random()*m.current.length);m.current[c]&&(m.current[c].char=B(),m.current[c].targetColor=E(),h?m.current[c].colorProgress=0:(m.current[c].color=m.current[c].targetColor,m.current[c].colorProgress=1))}},[B,E,h]),W=(0,n.useCallback)(()=>{let s=!1,f=0;m.current.forEach(c=>{if(c.colorProgress<1){f++,c.colorProgress+=.03,c.colorProgress>1&&(c.colorProgress=1);const p=I(c.color),l=I(c.targetColor);p&&l&&(c.color=M(p,l,c.colorProgress),s=!0)}}),s&&f>0&&L()},[I,L]),F=(0,n.useCallback)(()=>{const s=Date.now();s-v.current>=r?(N(),L(),v.current=s):h&&W(),k.current=requestAnimationFrame(F)},[r,h,N,W]);return(0,n.useEffect)(()=>{const s=y.current;if(!s)return;V.current=s.getContext("2d"),P(),F();let f;const c=()=>{clearTimeout(f),f=setTimeout(()=>{k.current&&cancelAnimationFrame(k.current),P(),F()},100)};return window.addEventListener("resize",c),()=>{k.current&&cancelAnimationFrame(k.current),window.removeEventListener("resize",c),clearTimeout(f),d.current.clear()}},[r,h,t,F]),(0,i.jsxs)("div",{className:`${q.container} ${w}`,style:g,children:[(0,i.jsx)("canvas",{ref:y,className:q.canvas}),e&&(0,i.jsx)("div",{className:q.outerVignette}),u&&(0,i.jsx)("div",{className:q.centerVignette})]})}),ie=(0,n.memo)(t=>{const{currentTheme:r}=z.useTheme(),u=(0,n.useMemo)(()=>{const e=r.colors.variables.primary||"#DC2626",h=r.colors.variables.info||"#2563EB",x=r.colors.variables.success||"#16A34A",w=g=>{if(g.startsWith("#"))return g;const y=g.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);return y?`#${parseInt(y[1],10).toString(16).padStart(2,"0")}${parseInt(y[2],10).toString(16).padStart(2,"0")}${parseInt(y[3],10).toString(16).padStart(2,"0")}`:g};return[w(e),w(h),w(x)]},[r]);return(0,i.jsx)(Ze,{glitchColors:u,glitchSpeed:300,centerVignette:!0,outerVignette:!1,smooth:!0,...t})});ie.displayName="LetterGlitchBackground";Object.defineProperty(exports,"BounceLoading",{enumerable:!0,get:function(){return le}});Object.defineProperty(exports,"ECGLoading",{enumerable:!0,get:function(){return ce}});Object.defineProperty(exports,"LetterGlitchBackground",{enumerable:!0,get:function(){return ie}});Object.defineProperty(exports,"SquareBackground",{enumerable:!0,get:function(){return He}});Object.defineProperty(exports,"TruckLoading",{enumerable:!0,get:function(){return ae}});Object.defineProperty(exports,"WaveBackground",{enumerable:!0,get:function(){return Fe}});
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=chunk-animations-CkOpTtX1.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-animations-CkOpTtX1.cjs","names":[],"sources":["../src/designs/animations/ECGLoading/styles.module.css","../src/designs/animations/ECGLoading/index.tsx","../src/designs/animations/TruckLoading/styles.module.css","../src/designs/animations/TruckLoading/index.tsx","../src/designs/animations/BounceLoading/styles.module.css","../src/designs/animations/BounceLoading/index.tsx","../src/designs/animations/Waves/style.module.css","../src/designs/animations/Waves/index.tsx","../src/designs/animations/Squares/style.module.css","../src/designs/animations/Squares/index.tsx","../src/designs/animations/LetterGlitch/style.module.css","../src/designs/animations/LetterGlitch/index.tsx"],"sourcesContent":[".loading {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.loading svg polyline {\r\n fill: none;\r\n stroke-width: 3;\r\n stroke-linecap: round;\r\n stroke-linejoin: round;\r\n}\r\n\r\n.loading svg polyline.back {\r\n fill: none;\r\n stroke: var(--color-primary-alpha);\r\n}\r\n\r\n.loading svg polyline.front {\r\n fill: none;\r\n stroke: var(--color-primary);\r\n stroke-dasharray: 48, 144;\r\n stroke-dashoffset: 192;\r\n animation: dash_682 1.4s linear infinite;\r\n}\r\n\r\n@keyframes dash_682 {\r\n 72.5% {\r\n opacity: 0;\r\n }\r\n\r\n to {\r\n stroke-dashoffset: 0;\r\n }\r\n}","import { memo } from \"react\";\n\nimport styles from \"./styles.module.css\";\n\ninterface ECGLoadingProps {\n size?: \"small\" | \"medium\" | \"large\";\n className?: string;\n}\n\nconst ECGLoading = memo(({ size = \"medium\", className }: ECGLoadingProps) => {\n const sizeMap = {\n small: { width: \"48px\", height: \"36px\" },\n medium: { width: \"64px\", height: \"48px\" },\n large: { width: \"96px\", height: \"72px\" },\n };\n\n const { width, height } = sizeMap[size];\n\n return (\n <div className={`${styles.loading} ${className || \"\"}`}>\n <svg width={width} height={height} viewBox=\"0 0 64 48\">\n <polyline points=\"0.157 23.954, 14 23.954, 21.843 48, 43 0, 50 24, 64 24\" id=\"back\" className={styles.back} />\n <polyline points=\"0.157 23.954, 14 23.954, 21.843 48, 43 0, 50 24, 64 24\" id=\"front\" className={styles.front} />\n </svg>\n </div>\n );\n});\n\nECGLoading.displayName = \"ECGLoading\";\n\nexport default ECGLoading;\n",".loader {\r\n width: fit-content;\r\n height: fit-content;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.truckWrapper {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n align-items: center;\r\n justify-content: flex-end;\r\n overflow-x: hidden;\r\n}\r\n\r\n/* truck upper body */\r\n.truckBody {\r\n width: 65%;\r\n height: fit-content;\r\n margin-bottom: 6px;\r\n animation: motion 1s linear infinite;\r\n}\r\n\r\n/* truck suspension animation*/\r\n@keyframes motion {\r\n 0% {\r\n transform: translateY(0px);\r\n }\r\n 50% {\r\n transform: translateY(3px);\r\n }\r\n 100% {\r\n transform: translateY(0px);\r\n }\r\n}\r\n\r\n/* truck's tires */\r\n.truckTires {\r\n width: 65%;\r\n height: fit-content;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 0px 10px 0px 15px;\r\n position: absolute;\r\n bottom: 0;\r\n}\r\n\r\n.tiresvg {\r\n width: 24px;\r\n}\r\n\r\n.road {\r\n width: 100%;\r\n height: 1.5px;\r\n background-color: var(--color-fg-heading);\r\n position: relative;\r\n bottom: 0;\r\n align-self: flex-end;\r\n border-radius: var(--radius-button);\r\n}\r\n\r\n.road::before {\r\n content: \"\";\r\n position: absolute;\r\n width: 20px;\r\n height: 100%;\r\n background-color: var(--color-fg-heading);\r\n right: -50%;\r\n border-radius: var(--radius-button);\r\n animation: roadAnimation 1.4s linear infinite;\r\n border-left: 10px solid var(--color-bg);\r\n}\r\n\r\n.road::after {\r\n content: \"\";\r\n position: absolute;\r\n width: 10px;\r\n height: 100%;\r\n background-color: var(--color-fg-heading);\r\n right: -65%;\r\n border-radius: var(--radius-button);\r\n animation: roadAnimation 1.4s linear infinite;\r\n border-left: 4px solid var(--color-bg);\r\n}\r\n\r\n.lampPost {\r\n position: absolute;\r\n bottom: 0;\r\n right: -90%;\r\n height: 45%;\r\n animation: roadAnimation 1.4s linear infinite;\r\n}\r\n\r\n@keyframes roadAnimation {\r\n 0% {\r\n transform: translateX(0px);\r\n }\r\n 100% {\r\n transform: translateX(-350px);\r\n }\r\n}\r\n","import { memo } from \"react\";\n\nimport styles from \"./styles.module.css\";\n\ninterface TruckLoadingProps {\n size?: \"small\" | \"medium\" | \"large\";\n className?: string;\n}\n\nconst TruckLoading = memo(({ size = \"medium\", className }: TruckLoadingProps) => {\n const sizeMap = {\n small: { width: \"150px\", height: \"75px\", svgScale: 0.75 },\n medium: { width: \"200px\", height: \"100px\", svgScale: 1 },\n large: { width: \"300px\", height: \"150px\", svgScale: 1.5 },\n };\n\n const { width, height, svgScale } = sizeMap[size];\n\n return (\n <div className={`${styles.loader} ${className || \"\"}`} style={{ width, height }}>\n <div className={styles.truckWrapper} style={{ transform: `scale(${svgScale})` }}>\n <div className={styles.truckBody}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 198 93\" className={styles.trucksvg}>\n <path\n strokeWidth=\"3\"\n stroke=\"var(--color-fg-heading)\"\n fill=\"var(--color-primary)\"\n d=\"M135 22.5H177.264C178.295 22.5 179.22 23.133 179.594 24.0939L192.33 56.8443C192.442 57.1332 192.5 57.4404 192.5 57.7504V89C192.5 90.3807 191.381 91.5 190 91.5H135C133.619 91.5 132.5 90.3807 132.5 89V25C132.5 23.6193 133.619 22.5 135 22.5Z\"\n />\n <path\n strokeWidth=\"3\"\n stroke=\"var(--color-fg-heading)\"\n fill=\"var(--color-bg-3)\"\n d=\"M146 33.5H181.741C182.779 33.5 183.709 34.1415 184.078 35.112L190.538 52.112C191.16 53.748 189.951 55.5 188.201 55.5H146C144.619 55.5 143.5 54.3807 143.5 53V36C143.5 34.6193 144.619 33.5 146 33.5Z\"\n />\n <path\n strokeWidth=\"2\"\n stroke=\"var(--color-fg-heading)\"\n fill=\"var(--color-fg-heading)\"\n d=\"M150 65C150 65.39 149.763 65.8656 149.127 66.2893C148.499 66.7083 147.573 67 146.5 67C145.427 67 144.501 66.7083 143.873 66.2893C143.237 65.8656 143 65.39 143 65C143 64.61 143.237 64.1344 143.873 63.7107C144.501 63.2917 145.427 63 146.5 63C147.573 63 148.499 63.2917 149.127 63.7107C149.763 64.1344 150 64.61 150 65Z\"\n />\n <rect strokeWidth=\"2\" stroke=\"var(--color-fg-heading)\" fill=\"var(--color-warning)\" rx=\"1\" height=\"7\" width=\"5\" y=\"63\" x=\"187\" />\n <rect strokeWidth=\"2\" stroke=\"var(--color-fg-heading)\" fill=\"var(--color-fg-heading)\" rx=\"1\" height=\"11\" width=\"4\" y=\"81\" x=\"193\" />\n <rect strokeWidth=\"3\" stroke=\"var(--color-fg-heading)\" fill=\"var(--color-bg-2)\" rx=\"2.5\" height=\"90\" width=\"121\" y=\"1.5\" x=\"6.5\" />\n <rect strokeWidth=\"2\" stroke=\"var(--color-fg-heading)\" fill=\"var(--color-bg-2)\" rx=\"2\" height=\"4\" width=\"6\" y=\"84\" x=\"1\" />\n </svg>\n </div>\n <div className={styles.truckTires}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 30 30\" className={styles.tiresvg}>\n <circle strokeWidth=\"3\" stroke=\"var(--color-fg-heading)\" fill=\"var(--color-fg-heading)\" r=\"13.5\" cy=\"15\" cx=\"15\" />\n <circle fill=\"var(--color-bg-2)\" r=\"7\" cy=\"15\" cx=\"15\" />\n </svg>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 30 30\" className={styles.tiresvg}>\n <circle strokeWidth=\"3\" stroke=\"var(--color-fg-heading)\" fill=\"var(--color-fg-heading)\" r=\"13.5\" cy=\"15\" cx=\"15\" />\n <circle fill=\"var(--color-bg-2)\" r=\"7\" cy=\"15\" cx=\"15\" />\n </svg>\n </div>\n <div className={styles.road} />\n\n <svg\n xmlSpace=\"preserve\"\n viewBox=\"0 0 453.459 453.459\"\n xmlns=\"http://www.w3.org/2000/svg\"\n version=\"1.1\"\n fill=\"var(--color-fg-heading)\"\n className={styles.lampPost}\n >\n <path\n d=\"M252.882,0c-37.781,0-68.686,29.953-70.245,67.358h-6.917v8.954c-26.109,2.163-45.463,10.011-45.463,19.366h9.993\nc-1.65,5.146-2.507,10.54-2.507,16.017c0,28.956,23.558,52.514,52.514,52.514c28.956,0,52.514-23.558,52.514-52.514\nc0-5.478-0.856-10.872-2.506-16.017h9.992c0-9.354-19.352-17.204-45.463-19.366v-8.954h-6.149C200.189,38.779,223.924,16,252.882,16\nc29.952,0,54.32,24.368,54.32,54.32c0,28.774-11.078,37.009-25.105,47.437c-17.444,12.968-37.216,27.667-37.216,78.884v113.914\nh-0.797c-5.068,0-9.174,4.108-9.174,9.177c0,2.844,1.293,5.383,3.321,7.066c-3.432,27.933-26.851,95.744-8.226,115.459v11.202h45.75\nv-11.202c18.625-19.715-4.794-87.527-8.227-115.459c2.029-1.683,3.322-4.223,3.322-7.066c0-5.068-4.107-9.177-9.176-9.177h-0.795\nV196.641c0-43.174,14.942-54.283,30.762-66.043c14.793-10.997,31.559-23.461,31.559-60.277C323.202,31.545,291.656,0,252.882,0z\nM232.77,111.694c0,23.442-19.071,42.514-42.514,42.514c-23.442,0-42.514-19.072-42.514-42.514c0-5.531,1.078-10.957,3.141-16.017\nh78.747C231.693,100.736,232.77,106.162,232.77,111.694z\"\n />\n </svg>\n </div>\n </div>\n );\n});\n\nTruckLoading.displayName = \"TruckLoading\";\n\nexport default TruckLoading;\n",".loader {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.loader::before {\n content: \"\";\n width: 100%;\n height: 5px;\n background: var(--color-primary);\n opacity: 0.3;\n position: absolute;\n top: calc(100% + 12px);\n left: 0;\n border-radius: 50%;\n animation: shadow324 0.5s linear infinite;\n}\n\n.loader::after {\n content: \"\";\n width: 100%;\n height: 100%;\n background: var(--color-primary);\n position: absolute;\n top: 0;\n left: 0;\n}\n\n/* 正方形样式 */\n.square::after {\n border-radius: var(--radius-button);\n animation: jump7456Square 0.5s linear infinite;\n}\n\n/* 圆形样式 */\n.circle::after {\n border-radius: 50%;\n animation: jump7456Circle 0.5s linear infinite;\n}\n\n@keyframes jump7456Square {\n 15% {\n border-bottom-right-radius: 3px;\n }\n\n 25% {\n transform: translateY(9px) rotate(22.5deg);\n }\n\n 50% {\n transform: translateY(18px) scale(1, 0.9) rotate(45deg);\n border-bottom-right-radius: 40px;\n }\n\n 75% {\n transform: translateY(9px) rotate(67.5deg);\n }\n\n 100% {\n transform: translateY(0) rotate(90deg);\n }\n}\n\n@keyframes jump7456Circle {\n 15% {\n border-bottom-right-radius: 50%;\n }\n\n 25% {\n transform: translateY(9px) rotate(22.5deg);\n }\n\n 50% {\n transform: translateY(18px) scale(1, 0.9) rotate(45deg);\n border-bottom-right-radius: 40px;\n }\n\n 75% {\n transform: translateY(9px) rotate(67.5deg);\n }\n\n 100% {\n transform: translateY(0) rotate(90deg);\n }\n}\n\n@keyframes shadow324 {\n 0%,\n 100% {\n transform: scale(1, 1);\n }\n\n 50% {\n transform: scale(1.2, 1);\n }\n}\n","import { memo } from \"react\";\n\nimport styles from \"./styles.module.css\";\n\ninterface BounceLoadingProps {\n size?: \"small\" | \"medium\" | \"large\";\n shape?: \"square\" | \"circle\";\n className?: string;\n}\n\nconst BounceLoading = memo(({ size = \"medium\", shape = \"square\", className }: BounceLoadingProps) => {\n const sizeMap = {\n small: \"32px\",\n medium: \"48px\",\n large: \"64px\",\n };\n\n const loaderSize = sizeMap[size];\n\n return <div className={`${styles.loader} ${styles[shape]} ${className || \"\"}`} style={{ width: loaderSize, height: loaderSize }} />;\n});\n\nBounceLoading.displayName = \"BounceLoading\";\n\nexport default BounceLoading;\n",".waves {\n position: absolute;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.waves::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 0.5rem;\n height: 0.5rem;\n background: var(--color-bg);\n border-radius: 50%;\n transform: translate3d(calc(var(--x) - 50%), calc(var(--y) - 50%), 0);\n will-change: transform;\n}\n\n.wavesCanvas {\n display: block;\n width: 100%;\n height: 100%;\n}\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport type { CSSProperties } from \"react\";\n\nimport { useTheme } from \"@/themes/hooks/useTheme\";\n\nimport styles from \"./style.module.css\";\n\nclass Grad {\n x: number;\n y: number;\n z: number;\n constructor(x: number, y: number, z: number) {\n this.x = x;\n this.y = y;\n this.z = z;\n }\n dot2(x: number, y: number): number {\n return this.x * x + this.y * y;\n }\n}\n\nclass Noise {\n grad3: Grad[];\n p: number[];\n perm: number[];\n gradP: Grad[];\n\n constructor(seed = 0) {\n this.grad3 = [\n new Grad(1, 1, 0),\n new Grad(-1, 1, 0),\n new Grad(1, -1, 0),\n new Grad(-1, -1, 0),\n new Grad(1, 0, 1),\n new Grad(-1, 0, 1),\n new Grad(1, 0, -1),\n new Grad(-1, 0, -1),\n new Grad(0, 1, 1),\n new Grad(0, -1, 1),\n new Grad(0, 1, -1),\n new Grad(0, -1, -1),\n ];\n this.p = [\n 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234,\n 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139,\n 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80,\n 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202,\n 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221,\n 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210,\n 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150,\n 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180,\n ];\n this.perm = new Array(512);\n this.gradP = new Array(512);\n this.seed(seed);\n }\n seed(seed: number) {\n if (seed > 0 && seed < 1) seed *= 65536;\n seed = Math.floor(seed);\n if (seed < 256) seed |= seed << 8;\n for (let i = 0; i < 256; i++) {\n let v = i & 1 ? this.p[i] ^ (seed & 255) : this.p[i] ^ ((seed >> 8) & 255);\n this.perm[i] = this.perm[i + 256] = v;\n this.gradP[i] = this.gradP[i + 256] = this.grad3[v % 12];\n }\n }\n fade(t: number): number {\n return t * t * t * (t * (t * 6 - 15) + 10);\n }\n lerp(a: number, b: number, t: number): number {\n return (1 - t) * a + t * b;\n }\n perlin2(x: number, y: number): number {\n let X = Math.floor(x),\n Y = Math.floor(y);\n x -= X;\n y -= Y;\n X &= 255;\n Y &= 255;\n const n00 = this.gradP[X + this.perm[Y]].dot2(x, y);\n const n01 = this.gradP[X + this.perm[Y + 1]].dot2(x, y - 1);\n const n10 = this.gradP[X + 1 + this.perm[Y]].dot2(x - 1, y);\n const n11 = this.gradP[X + 1 + this.perm[Y + 1]].dot2(x - 1, y - 1);\n const u = this.fade(x);\n return this.lerp(this.lerp(n00, n10, u), this.lerp(n01, n11, u), this.fade(y));\n }\n}\n\ninterface Point {\n x: number;\n y: number;\n wave: { x: number; y: number };\n cursor: { x: number; y: number; vx: number; vy: number };\n}\n\ninterface Mouse {\n x: number;\n y: number;\n lx: number;\n ly: number;\n sx: number;\n sy: number;\n v: number;\n vs: number;\n a: number;\n set: boolean;\n}\n\ninterface Config {\n lineColor: string;\n waveSpeedX: number;\n waveSpeedY: number;\n waveAmpX: number;\n waveAmpY: number;\n friction: number;\n tension: number;\n maxCursorMove: number;\n xGap: number;\n yGap: number;\n}\n\ninterface WavesProps {\n lineColor?: string;\n backgroundColor?: string;\n waveSpeedX?: number;\n waveSpeedY?: number;\n waveAmpX?: number;\n waveAmpY?: number;\n xGap?: number;\n yGap?: number;\n friction?: number;\n tension?: number;\n maxCursorMove?: number;\n style?: CSSProperties;\n className?: string;\n}\n\nconst Waves: React.FC<WavesProps> = ({\n lineColor = \"black\",\n backgroundColor = \"transparent\",\n waveSpeedX = 0.0125,\n waveSpeedY = 0.005,\n waveAmpX = 32,\n waveAmpY = 16,\n xGap = 10,\n yGap = 32,\n friction = 0.925,\n tension = 0.005,\n maxCursorMove = 100,\n style = {},\n className = \"\",\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const ctxRef = useRef<CanvasRenderingContext2D | null>(null);\n const boundingRef = useRef<{\n width: number;\n height: number;\n left: number;\n top: number;\n }>({\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n });\n const noiseRef = useRef(new Noise(Math.random()));\n const linesRef = useRef<Point[][]>([]);\n const mouseRef = useRef<Mouse>({\n x: -10,\n y: 0,\n lx: 0,\n ly: 0,\n sx: 0,\n sy: 0,\n v: 0,\n vs: 0,\n a: 0,\n set: false,\n });\n const configRef = useRef<Config>({\n lineColor,\n waveSpeedX,\n waveSpeedY,\n waveAmpX,\n waveAmpY,\n friction,\n tension,\n maxCursorMove,\n xGap,\n yGap,\n });\n const frameIdRef = useRef<number | null>(null);\n\n useEffect(() => {\n configRef.current = {\n lineColor,\n waveSpeedX,\n waveSpeedY,\n waveAmpX,\n waveAmpY,\n friction,\n tension,\n maxCursorMove,\n xGap,\n yGap,\n };\n }, [lineColor, waveSpeedX, waveSpeedY, waveAmpX, waveAmpY, friction, tension, maxCursorMove, xGap, yGap]);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n const container = containerRef.current;\n if (!canvas || !container) return;\n ctxRef.current = canvas.getContext(\"2d\");\n\n function setSize() {\n if (!container || !canvas) return;\n const rect = container.getBoundingClientRect();\n boundingRef.current = {\n width: rect.width,\n height: rect.height,\n left: rect.left,\n top: rect.top,\n };\n canvas.width = rect.width;\n canvas.height = rect.height;\n }\n\n function setLines() {\n const { width, height } = boundingRef.current;\n linesRef.current = [];\n const oWidth = width + 200,\n oHeight = height + 30;\n const { xGap, yGap } = configRef.current;\n const totalLines = Math.ceil(oWidth / xGap);\n const totalPoints = Math.ceil(oHeight / yGap);\n const xStart = (width - xGap * totalLines) / 2;\n const yStart = (height - yGap * totalPoints) / 2;\n for (let i = 0; i <= totalLines; i++) {\n const pts: Point[] = [];\n for (let j = 0; j <= totalPoints; j++) {\n pts.push({\n x: xStart + xGap * i,\n y: yStart + yGap * j,\n wave: { x: 0, y: 0 },\n cursor: { x: 0, y: 0, vx: 0, vy: 0 },\n });\n }\n linesRef.current.push(pts);\n }\n }\n\n function movePoints(time: number) {\n const lines = linesRef.current;\n const mouse = mouseRef.current;\n const noise = noiseRef.current;\n const { waveSpeedX, waveSpeedY, waveAmpX, waveAmpY, friction, tension, maxCursorMove } = configRef.current;\n lines.forEach((pts) => {\n pts.forEach((p) => {\n const move = noise.perlin2((p.x + time * waveSpeedX) * 0.002, (p.y + time * waveSpeedY) * 0.0015) * 12;\n p.wave.x = Math.cos(move) * waveAmpX;\n p.wave.y = Math.sin(move) * waveAmpY;\n\n const dx = p.x - mouse.sx,\n dy = p.y - mouse.sy;\n const dist = Math.hypot(dx, dy);\n const l = Math.max(175, mouse.vs);\n if (dist < l) {\n const s = 1 - dist / l;\n const f = Math.cos(dist * 0.001) * s;\n p.cursor.vx += Math.cos(mouse.a) * f * l * mouse.vs * 0.00065;\n p.cursor.vy += Math.sin(mouse.a) * f * l * mouse.vs * 0.00065;\n }\n\n p.cursor.vx += (0 - p.cursor.x) * tension;\n p.cursor.vy += (0 - p.cursor.y) * tension;\n p.cursor.vx *= friction;\n p.cursor.vy *= friction;\n p.cursor.x += p.cursor.vx * 2;\n p.cursor.y += p.cursor.vy * 2;\n p.cursor.x = Math.min(maxCursorMove, Math.max(-maxCursorMove, p.cursor.x));\n p.cursor.y = Math.min(maxCursorMove, Math.max(-maxCursorMove, p.cursor.y));\n });\n });\n }\n\n function moved(point: Point, withCursor = true): { x: number; y: number } {\n const x = point.x + point.wave.x + (withCursor ? point.cursor.x : 0);\n const y = point.y + point.wave.y + (withCursor ? point.cursor.y : 0);\n return { x: Math.round(x * 10) / 10, y: Math.round(y * 10) / 10 };\n }\n\n function drawLines() {\n const { width, height } = boundingRef.current;\n const ctx = ctxRef.current;\n if (!ctx) return;\n ctx.clearRect(0, 0, width, height);\n ctx.beginPath();\n ctx.strokeStyle = configRef.current.lineColor;\n linesRef.current.forEach((points) => {\n let p1 = moved(points[0], false);\n ctx.moveTo(p1.x, p1.y);\n points.forEach((p, idx) => {\n const isLast = idx === points.length - 1;\n p1 = moved(p, !isLast);\n const p2 = moved(points[idx + 1] || points[points.length - 1], !isLast);\n ctx.lineTo(p1.x, p1.y);\n if (isLast) ctx.moveTo(p2.x, p2.y);\n });\n });\n ctx.stroke();\n }\n\n function tick(t: number) {\n if (!container) return;\n const mouse = mouseRef.current;\n mouse.sx += (mouse.x - mouse.sx) * 0.1;\n mouse.sy += (mouse.y - mouse.sy) * 0.1;\n const dx = mouse.x - mouse.lx,\n dy = mouse.y - mouse.ly;\n const d = Math.hypot(dx, dy);\n mouse.v = d;\n mouse.vs += (d - mouse.vs) * 0.1;\n mouse.vs = Math.min(100, mouse.vs);\n mouse.lx = mouse.x;\n mouse.ly = mouse.y;\n mouse.a = Math.atan2(dy, dx);\n container.style.setProperty(\"--x\", `${mouse.sx}px`);\n container.style.setProperty(\"--y\", `${mouse.sy}px`);\n\n movePoints(t);\n drawLines();\n frameIdRef.current = requestAnimationFrame(tick);\n }\n\n function onResize() {\n setSize();\n setLines();\n }\n function onMouseMove(e: MouseEvent) {\n updateMouse(e.clientX, e.clientY);\n }\n function onTouchMove(e: TouchEvent) {\n const touch = e.touches[0];\n updateMouse(touch.clientX, touch.clientY);\n }\n function updateMouse(x: number, y: number) {\n const mouse = mouseRef.current;\n const b = boundingRef.current;\n mouse.x = x - b.left;\n mouse.y = y - b.top;\n if (!mouse.set) {\n mouse.sx = mouse.x;\n mouse.sy = mouse.y;\n mouse.lx = mouse.x;\n mouse.ly = mouse.y;\n mouse.set = true;\n }\n }\n\n setSize();\n setLines();\n frameIdRef.current = requestAnimationFrame(tick);\n window.addEventListener(\"resize\", onResize);\n window.addEventListener(\"mousemove\", onMouseMove);\n window.addEventListener(\"touchmove\", onTouchMove, { passive: false });\n\n return () => {\n window.removeEventListener(\"resize\", onResize);\n window.removeEventListener(\"mousemove\", onMouseMove);\n window.removeEventListener(\"touchmove\", onTouchMove);\n if (frameIdRef.current !== null) {\n cancelAnimationFrame(frameIdRef.current);\n }\n };\n }, []);\n\n return (\n <div\n ref={containerRef}\n className={`${styles.waves} ${className}`}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n backgroundColor,\n ...style,\n }}\n >\n <canvas ref={canvasRef} className={styles.wavesCanvas} />\n </div>\n );\n};\n\nconst WaveBackground: React.FC<Omit<WavesProps, \"lineColor\" | \"backgroundColor\">> = (props) => {\n const { currentTheme } = useTheme();\n\n // 从主题中获取线条颜色,降低颜色深度(变浅)\n const lineColor = useMemo(() => {\n // 尝试从主题变量中获取主色,如果没有则使用默认值\n const primary = currentTheme.colors.variables.primary || \"rgb(220, 38, 38)\";\n\n // 将颜色变浅的函数:向白色混合\n const lightenColor = (r: number, g: number, b: number, factor: number = 0.4) => {\n // factor: 0 = 原色, 1 = 白色\n const newR = Math.round(r + (255 - r) * factor);\n const newG = Math.round(g + (255 - g) * factor);\n const newB = Math.round(b + (255 - b) * factor);\n return `rgb(${newR}, ${newG}, ${newB})`;\n };\n\n // 如果已经是 hex 格式,转换为 rgb 并变浅\n if (primary.startsWith(\"#\")) {\n const hex = primary.slice(1);\n const r = parseInt(hex.slice(0, 2), 16);\n const g = parseInt(hex.slice(2, 4), 16);\n const b = parseInt(hex.slice(4, 6), 16);\n return lightenColor(r, g, b);\n }\n // 将 rgb() 格式变浅\n const match = primary.match(/rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);\n if (match) {\n const r = parseInt(match[1], 10);\n const g = parseInt(match[2], 10);\n const b = parseInt(match[3], 10);\n return lightenColor(r, g, b);\n }\n // 如果已经是 rgba 格式,提取 RGB 并变浅\n const rgbaMatch = primary.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/);\n if (rgbaMatch) {\n const r = parseInt(rgbaMatch[1], 10);\n const g = parseInt(rgbaMatch[2], 10);\n const b = parseInt(rgbaMatch[3], 10);\n return lightenColor(r, g, b);\n }\n return primary;\n }, [currentTheme]);\n\n return <Waves lineColor={lineColor} backgroundColor=\"transparent\" waveSpeedX={0.05} waveSpeedY={0.01} waveAmpX={40} waveAmpY={20} {...props} />;\n};\n\nexport default WaveBackground;\n",".squaresCanvas {\n width: 100%;\n height: 100%;\n border: none;\n display: block;\n}\n","import React, { useEffect, useMemo, useRef } from \"react\";\n\nimport { useTheme } from \"@/themes/hooks/useTheme\";\n\nimport styles from \"./style.module.css\";\n\ntype CanvasStrokeStyle = string | CanvasGradient | CanvasPattern;\n\ninterface GridOffset {\n x: number;\n y: number;\n}\n\ninterface SquaresProps {\n direction?: \"diagonal\" | \"up\" | \"right\" | \"down\" | \"left\";\n speed?: number;\n borderColor?: CanvasStrokeStyle;\n squareSize?: number;\n hoverFillColor?: CanvasStrokeStyle;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst Squares: React.FC<SquaresProps> = ({\n direction = \"right\",\n speed = 1,\n borderColor = \"#6B7280\",\n squareSize = 40,\n hoverFillColor = \"#111827\",\n className = \"\",\n style = {},\n}) => {\n const { currentTheme } = useTheme();\n const vignetteEdgeColor = currentTheme.colors.variables.fgHeading;\n\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const requestRef = useRef<number | null>(null);\n const numSquaresX = useRef<number>(0);\n const numSquaresY = useRef<number>(0);\n const gridOffset = useRef<GridOffset>({ x: 0, y: 0 });\n const hoveredSquareRef = useRef<GridOffset | null>(null);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n const ctx = canvas.getContext(\"2d\");\n\n const resizeCanvas = () => {\n canvas.width = canvas.offsetWidth;\n canvas.height = canvas.offsetHeight;\n numSquaresX.current = Math.ceil(canvas.width / squareSize) + 1;\n numSquaresY.current = Math.ceil(canvas.height / squareSize) + 1;\n };\n\n window.addEventListener(\"resize\", resizeCanvas);\n resizeCanvas();\n\n const drawGrid = () => {\n if (!ctx) return;\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n const startX = Math.floor(gridOffset.current.x / squareSize) * squareSize;\n const startY = Math.floor(gridOffset.current.y / squareSize) * squareSize;\n\n for (let x = startX; x < canvas.width + squareSize; x += squareSize) {\n for (let y = startY; y < canvas.height + squareSize; y += squareSize) {\n const squareX = x - (gridOffset.current.x % squareSize);\n const squareY = y - (gridOffset.current.y % squareSize);\n\n if (\n hoveredSquareRef.current &&\n Math.floor((x - startX) / squareSize) === hoveredSquareRef.current.x &&\n Math.floor((y - startY) / squareSize) === hoveredSquareRef.current.y\n ) {\n ctx.fillStyle = hoverFillColor;\n ctx.fillRect(squareX, squareY, squareSize, squareSize);\n }\n\n ctx.strokeStyle = borderColor;\n ctx.strokeRect(squareX, squareY, squareSize, squareSize);\n }\n }\n\n const gradient = ctx.createRadialGradient(\n canvas.width / 2,\n canvas.height / 2,\n 0,\n canvas.width / 2,\n canvas.height / 2,\n Math.sqrt(canvas.width ** 2 + canvas.height ** 2) / 2,\n );\n gradient.addColorStop(0, \"rgba(0, 0, 0, 0)\");\n gradient.addColorStop(1, vignetteEdgeColor);\n\n ctx.fillStyle = gradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n };\n\n const updateAnimation = () => {\n const effectiveSpeed = Math.max(speed, 0.1);\n switch (direction) {\n case \"right\":\n gridOffset.current.x = (gridOffset.current.x - effectiveSpeed + squareSize) % squareSize;\n break;\n case \"left\":\n gridOffset.current.x = (gridOffset.current.x + effectiveSpeed + squareSize) % squareSize;\n break;\n case \"up\":\n gridOffset.current.y = (gridOffset.current.y + effectiveSpeed + squareSize) % squareSize;\n break;\n case \"down\":\n gridOffset.current.y = (gridOffset.current.y - effectiveSpeed + squareSize) % squareSize;\n break;\n case \"diagonal\":\n gridOffset.current.x = (gridOffset.current.x - effectiveSpeed + squareSize) % squareSize;\n gridOffset.current.y = (gridOffset.current.y - effectiveSpeed + squareSize) % squareSize;\n break;\n default:\n break;\n }\n\n drawGrid();\n requestRef.current = requestAnimationFrame(updateAnimation);\n };\n\n const handleMouseMove = (event: MouseEvent) => {\n const rect = canvas.getBoundingClientRect();\n const mouseX = event.clientX - rect.left;\n const mouseY = event.clientY - rect.top;\n\n const startX = Math.floor(gridOffset.current.x / squareSize) * squareSize;\n const startY = Math.floor(gridOffset.current.y / squareSize) * squareSize;\n\n const hoveredSquareX = Math.floor((mouseX + gridOffset.current.x - startX) / squareSize);\n const hoveredSquareY = Math.floor((mouseY + gridOffset.current.y - startY) / squareSize);\n\n if (!hoveredSquareRef.current || hoveredSquareRef.current.x !== hoveredSquareX || hoveredSquareRef.current.y !== hoveredSquareY) {\n hoveredSquareRef.current = { x: hoveredSquareX, y: hoveredSquareY };\n }\n };\n\n const handleMouseLeave = () => {\n hoveredSquareRef.current = null;\n };\n\n canvas.addEventListener(\"mousemove\", handleMouseMove);\n canvas.addEventListener(\"mouseleave\", handleMouseLeave);\n requestRef.current = requestAnimationFrame(updateAnimation);\n\n return () => {\n window.removeEventListener(\"resize\", resizeCanvas);\n if (requestRef.current) cancelAnimationFrame(requestRef.current);\n canvas.removeEventListener(\"mousemove\", handleMouseMove);\n canvas.removeEventListener(\"mouseleave\", handleMouseLeave);\n };\n }, [direction, speed, borderColor, hoverFillColor, squareSize, vignetteEdgeColor]);\n\n return <canvas ref={canvasRef} className={`${styles.squaresCanvas} ${className}`} style={style} />;\n};\n\nconst SquareBackground: React.FC<Omit<SquaresProps, \"borderColor\" | \"hoverFillColor\">> = (props) => {\n const { currentTheme } = useTheme();\n\n // 从主题中获取边框颜色\n const borderColor = useMemo(() => {\n const borderColorValue = currentTheme.colors.variables.border5 || currentTheme.colors.variables.fg || \"#6B7280\";\n if (borderColorValue.startsWith(\"#\")) {\n return borderColorValue;\n }\n const match = borderColorValue.match(/rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);\n if (match) {\n const r = parseInt(match[1], 10).toString(16).padStart(2, \"0\");\n const g = parseInt(match[2], 10).toString(16).padStart(2, \"0\");\n const b = parseInt(match[3], 10).toString(16).padStart(2, \"0\");\n return `#${r}${g}${b}`;\n }\n return borderColorValue;\n }, [currentTheme]);\n\n // 从主题中获取悬停填充颜色\n const hoverFillColor = useMemo(() => {\n const baseColor = currentTheme.colors.variables.bg3 || currentTheme.colors.variables.border3 || \"#F3F4F6\";\n\n const darkenColor = (r: number, g: number, b: number, factor: number = 0.3) => {\n const newR = Math.round(r * (1 - factor));\n const newG = Math.round(g * (1 - factor));\n const newB = Math.round(b * (1 - factor));\n return `rgb(${newR}, ${newG}, ${newB})`;\n };\n\n if (baseColor.startsWith(\"#\")) {\n const hex = baseColor.slice(1);\n const r = parseInt(hex.slice(0, 2), 16);\n const g = parseInt(hex.slice(2, 4), 16);\n const b = parseInt(hex.slice(4, 6), 16);\n return darkenColor(r, g, b);\n }\n const match = baseColor.match(/rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);\n if (match) {\n const r = parseInt(match[1], 10);\n const g = parseInt(match[2], 10);\n const b = parseInt(match[3], 10);\n return darkenColor(r, g, b);\n }\n return baseColor;\n }, [currentTheme]);\n\n return <Squares borderColor={borderColor} hoverFillColor={hoverFillColor} speed={0.5} squareSize={40} direction=\"diagonal\" {...props} />;\n};\n\nexport default SquareBackground;\n",".container {\n position: relative;\n width: 100%;\n height: 100%;\n background-color: var(--color-bg);\n overflow: hidden;\n}\n\n.canvas {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.outerVignette {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n background: radial-gradient(circle, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 1) 100%);\n}\n\n.centerVignette {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n background: radial-gradient(circle, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 60%);\n}\n","import { memo, useCallback, useEffect, useMemo, useRef } from \"react\";\n\nimport { useTheme } from \"@/themes/hooks/useTheme\";\n\nimport styles from \"./style.module.css\";\n\ninterface LetterGlitchProps {\n glitchColors?: string[];\n glitchSpeed?: number;\n centerVignette?: boolean;\n outerVignette?: boolean;\n smooth?: boolean;\n characters?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst LetterGlitch = memo(\n ({\n glitchColors = [\"#7F1D1D\", \"#16A34A\", \"#2563EB\"],\n glitchSpeed = 500, // 增加默认速度,减少更新频率\n centerVignette = false,\n outerVignette = true,\n smooth = true,\n characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$&*()-_+=/[]{};:<>.,0123456789\",\n className = \"\",\n style = {},\n }: LetterGlitchProps) => {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const animationRef = useRef<number | null>(null);\n const letters = useRef<\n {\n char: string;\n color: string;\n targetColor: string;\n colorProgress: number;\n }[]\n >([]);\n const grid = useRef({ columns: 0, rows: 0 });\n const context = useRef<CanvasRenderingContext2D | null>(null);\n const lastGlitchTime = useRef(Date.now());\n\n const lettersAndSymbols = useMemo(() => Array.from(characters), [characters]);\n\n // 缓存 hexToRgb 结果\n const rgbCache = useRef<Map<string, { r: number; g: number; b: number } | null>>(new Map());\n\n const fontSize = 16;\n const charWidth = 10;\n const charHeight = 20;\n\n const getRandomChar = useCallback(() => {\n return lettersAndSymbols[Math.floor(Math.random() * lettersAndSymbols.length)];\n }, [lettersAndSymbols]);\n\n const getRandomColor = useCallback(() => {\n return glitchColors[Math.floor(Math.random() * glitchColors.length)];\n }, [glitchColors]);\n\n const hexToRgb = useCallback((hex: string) => {\n // 检查缓存\n if (rgbCache.current.has(hex)) {\n return rgbCache.current.get(hex)!;\n }\n\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const normalizedHex = hex.replace(shorthandRegex, (_m, r, g, b) => {\n return r + r + g + g + b + b;\n });\n\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(normalizedHex);\n const rgb = result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n\n // 缓存结果\n rgbCache.current.set(hex, rgb);\n return rgb;\n }, []);\n\n const interpolateColor = (start: { r: number; g: number; b: number }, end: { r: number; g: number; b: number }, factor: number) => {\n const result = {\n r: Math.round(start.r + (end.r - start.r) * factor),\n g: Math.round(start.g + (end.g - start.g) * factor),\n b: Math.round(start.b + (end.b - start.b) * factor),\n };\n return `rgb(${result.r}, ${result.g}, ${result.b})`;\n };\n\n const calculateGrid = (width: number, height: number) => {\n const columns = Math.ceil(width / charWidth);\n const rows = Math.ceil(height / charHeight);\n return { columns, rows };\n };\n\n const initializeLetters = (columns: number, rows: number) => {\n grid.current = { columns, rows };\n const totalLetters = columns * rows;\n letters.current = Array.from({ length: totalLetters }, () => ({\n char: getRandomChar(),\n color: getRandomColor(),\n targetColor: getRandomColor(),\n colorProgress: 1,\n }));\n };\n\n const resizeCanvas = () => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n const parent = canvas.parentElement;\n if (!parent) return;\n\n const dpr = window.devicePixelRatio || 1;\n const rect = parent.getBoundingClientRect();\n\n canvas.width = rect.width * dpr;\n canvas.height = rect.height * dpr;\n\n canvas.style.width = `${rect.width}px`;\n canvas.style.height = `${rect.height}px`;\n\n if (context.current) {\n context.current.setTransform(dpr, 0, 0, dpr, 0, 0);\n }\n\n const { columns, rows } = calculateGrid(rect.width, rect.height);\n initializeLetters(columns, rows);\n drawLetters();\n };\n\n const drawLetters = useCallback(() => {\n if (!context.current || letters.current.length === 0) return;\n const ctx = context.current;\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.font = `${fontSize}px monospace`;\n ctx.textBaseline = \"top\";\n ctx.textAlign = \"left\";\n\n // 批量绘制,减少状态切换\n letters.current.forEach((letter, index) => {\n const x = (index % grid.current.columns) * charWidth;\n const y = Math.floor(index / grid.current.columns) * charHeight;\n ctx.fillStyle = letter.color;\n ctx.fillText(letter.char, x, y);\n });\n }, []);\n\n const updateLetters = useCallback(() => {\n if (!letters.current || letters.current.length === 0) return;\n\n // 减少更新比例,从 5% 降到 2%,降低性能消耗\n const updateCount = Math.max(1, Math.floor(letters.current.length * 0.02));\n\n for (let i = 0; i < updateCount; i++) {\n const index = Math.floor(Math.random() * letters.current.length);\n if (!letters.current[index]) continue;\n\n letters.current[index].char = getRandomChar();\n letters.current[index].targetColor = getRandomColor();\n\n if (!smooth) {\n letters.current[index].color = letters.current[index].targetColor;\n letters.current[index].colorProgress = 1;\n } else {\n letters.current[index].colorProgress = 0;\n }\n }\n }, [getRandomChar, getRandomColor, smooth]);\n\n const handleSmoothTransitions = useCallback(() => {\n let needsRedraw = false;\n let activeCount = 0;\n\n // 只处理正在过渡的字母,减少不必要的计算\n letters.current.forEach((letter) => {\n if (letter.colorProgress < 1) {\n activeCount++;\n letter.colorProgress += 0.03; // 稍微降低过渡速度,减少重绘频率\n if (letter.colorProgress > 1) letter.colorProgress = 1;\n\n const startRgb = hexToRgb(letter.color);\n const endRgb = hexToRgb(letter.targetColor);\n if (startRgb && endRgb) {\n letter.color = interpolateColor(startRgb, endRgb, letter.colorProgress);\n needsRedraw = true;\n }\n }\n });\n\n // 只有在有活动过渡时才重绘\n if (needsRedraw && activeCount > 0) {\n drawLetters();\n }\n }, [hexToRgb, drawLetters]);\n\n const animate = useCallback(() => {\n const now = Date.now();\n const timeSinceLastGlitch = now - lastGlitchTime.current;\n\n // 只在需要更新时才执行\n if (timeSinceLastGlitch >= glitchSpeed) {\n updateLetters();\n drawLetters();\n lastGlitchTime.current = now;\n } else if (smooth) {\n // 只在平滑模式下才检查过渡\n handleSmoothTransitions();\n }\n\n animationRef.current = requestAnimationFrame(animate);\n }, [glitchSpeed, smooth, updateLetters, handleSmoothTransitions]);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n context.current = canvas.getContext(\"2d\");\n resizeCanvas();\n animate();\n\n let resizeTimeout: ReturnType<typeof setTimeout>;\n\n const handleResize = () => {\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(() => {\n if (animationRef.current) {\n cancelAnimationFrame(animationRef.current);\n }\n resizeCanvas();\n animate();\n }, 100);\n };\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n if (animationRef.current) {\n cancelAnimationFrame(animationRef.current);\n }\n window.removeEventListener(\"resize\", handleResize);\n clearTimeout(resizeTimeout);\n // 清理缓存\n rgbCache.current.clear();\n };\n }, [glitchSpeed, smooth, glitchColors, animate]);\n\n return (\n <div className={`${styles.container} ${className}`} style={style}>\n <canvas ref={canvasRef} className={styles.canvas} />\n {outerVignette && <div className={styles.outerVignette}></div>}\n {centerVignette && <div className={styles.centerVignette}></div>}\n </div>\n );\n },\n);\n\nconst LetterGlitchBackground: React.FC<Omit<LetterGlitchProps, \"glitchColors\">> = memo((props) => {\n const { currentTheme } = useTheme();\n\n // 从主题中获取故障颜色数组\n const glitchColors = useMemo(() => {\n const primary = currentTheme.colors.variables.primary || \"#DC2626\";\n const info = currentTheme.colors.variables.info || \"#2563EB\";\n const success = currentTheme.colors.variables.success || \"#16A34A\";\n\n const toHex = (color: string): string => {\n if (color.startsWith(\"#\")) {\n return color;\n }\n const match = color.match(/rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);\n if (match) {\n const r = parseInt(match[1], 10).toString(16).padStart(2, \"0\");\n const g = parseInt(match[2], 10).toString(16).padStart(2, \"0\");\n const b = parseInt(match[3], 10).toString(16).padStart(2, \"0\");\n return `#${r}${g}${b}`;\n }\n return color;\n };\n\n return [toHex(primary), toHex(info), toHex(success)];\n }, [currentTheme]);\n\n return (\n <LetterGlitch\n glitchColors={glitchColors}\n glitchSpeed={300} // 增加默认速度,减少更新频率\n centerVignette={true}\n outerVignette={false}\n smooth={true}\n {...props}\n />\n );\n});\n\nLetterGlitchBackground.displayName = \"LetterGlitchBackground\";\n\nexport default LetterGlitchBackground;\n"],"mappings":"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K,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,EAAG,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,EAAG,IAAK,IAAK,IAAK,IACrJ,GAAI,EAAG,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IACnJ,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,EAAG,IAAK,GACrJ,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IACrJ,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,IAAK,IAAK,GAAI,IAClJ,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,EAAG,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IACtJ,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,EAAG,IACrJ,IAAK,IAAK,IAAK,IAAK,GAAI,I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"}
|