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,504 @@
|
|
|
1
|
+
import { n as ge } from "./chunk-useTheme-C2Ip6OAs.mjs";
|
|
2
|
+
import { memo as ue, useEffect as ye, useMemo as we, useRef as q } from "react";
|
|
3
|
+
import { jsx as ce } from "react/jsx-runtime";
|
|
4
|
+
import { Effect as fe, EffectComposer as re, EffectPass as ae, RenderPass as ie } from "postprocessing";
|
|
5
|
+
import { Clock as Se, Color as Ce, GLSL3 as Ee, LinearFilter as ne, Mesh as Re, OrthographicCamera as Te, PlaneGeometry as Pe, Scene as Ae, ShaderMaterial as be, Texture as Me, Uniform as M, Vector2 as le, WebGLRenderer as ze } from "three";
|
|
6
|
+
var Ie = "style-module__container___Hh3-c", ke = { container: Ie }, Fe = () => {
|
|
7
|
+
const a = document.createElement("canvas");
|
|
8
|
+
a.width = 64, a.height = 64;
|
|
9
|
+
const n = a.getContext("2d");
|
|
10
|
+
if (!n) throw new Error("2D context not available");
|
|
11
|
+
n.fillStyle = "black", n.fillRect(0, 0, a.width, a.height);
|
|
12
|
+
const y = new Me(a);
|
|
13
|
+
y.minFilter = ne, y.magFilter = ne, y.generateMipmaps = !1;
|
|
14
|
+
const w = [];
|
|
15
|
+
let m = null;
|
|
16
|
+
const s = 64;
|
|
17
|
+
let R = 0.1 * 64;
|
|
18
|
+
const z = 1 / s, I = () => {
|
|
19
|
+
n.fillStyle = "black", n.fillRect(0, 0, a.width, a.height);
|
|
20
|
+
}, k = (t) => {
|
|
21
|
+
const l = {
|
|
22
|
+
x: t.x * 64,
|
|
23
|
+
y: (1 - t.y) * 64
|
|
24
|
+
};
|
|
25
|
+
let c = 1;
|
|
26
|
+
const T = (x) => Math.sin(x * Math.PI / 2), S = (x) => -x * (x - 2);
|
|
27
|
+
t.age < s * 0.3 ? c = T(t.age / (s * 0.3)) : c = S(1 - (t.age - s * 0.3) / (s * 0.7)) || 0, c *= t.force;
|
|
28
|
+
const g = `${(t.vx + 1) / 2 * 255}, ${(t.vy + 1) / 2 * 255}, ${c * 255}`, h = 320;
|
|
29
|
+
n.shadowOffsetX = h, n.shadowOffsetY = h, n.shadowBlur = R, n.shadowColor = `rgba(${g},${0.22 * c})`, n.beginPath(), n.fillStyle = "rgba(255,0,0,1)", n.arc(l.x - h, l.y - h, R, 0, Math.PI * 2), n.fill();
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
canvas: a,
|
|
33
|
+
texture: y,
|
|
34
|
+
addTouch: (t) => {
|
|
35
|
+
let l = 0, c = 0, T = 0;
|
|
36
|
+
if (m) {
|
|
37
|
+
const S = t.x - m.x, g = t.y - m.y;
|
|
38
|
+
if (S === 0 && g === 0) return;
|
|
39
|
+
const h = S * S + g * g, x = Math.sqrt(h);
|
|
40
|
+
c = S / (x || 1), T = g / (x || 1), l = Math.min(h * 1e4, 1);
|
|
41
|
+
}
|
|
42
|
+
m = {
|
|
43
|
+
x: t.x,
|
|
44
|
+
y: t.y
|
|
45
|
+
}, w.push({
|
|
46
|
+
x: t.x,
|
|
47
|
+
y: t.y,
|
|
48
|
+
age: 0,
|
|
49
|
+
force: l,
|
|
50
|
+
vx: c,
|
|
51
|
+
vy: T
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
update: () => {
|
|
55
|
+
I();
|
|
56
|
+
for (let t = w.length - 1; t >= 0; t--) {
|
|
57
|
+
const l = w[t], c = l.force * z * (1 - l.age / s);
|
|
58
|
+
l.x += l.vx * c, l.y += l.vy * c, l.age++, l.age > s && w.splice(t, 1);
|
|
59
|
+
}
|
|
60
|
+
for (let t = 0; t < w.length; t++) k(w[t]);
|
|
61
|
+
y.needsUpdate = !0;
|
|
62
|
+
},
|
|
63
|
+
set radiusScale(t) {
|
|
64
|
+
R = 0.1 * 64 * t;
|
|
65
|
+
},
|
|
66
|
+
get radiusScale() {
|
|
67
|
+
return R / (0.1 * 64);
|
|
68
|
+
},
|
|
69
|
+
size: 64
|
|
70
|
+
};
|
|
71
|
+
}, _e = (E, a) => new fe("LiquidEffect", `
|
|
72
|
+
uniform sampler2D uTexture;
|
|
73
|
+
uniform float uStrength;
|
|
74
|
+
uniform float uTime;
|
|
75
|
+
uniform float uFreq;
|
|
76
|
+
|
|
77
|
+
void mainUv(inout vec2 uv) {
|
|
78
|
+
vec4 tex = texture2D(uTexture, uv);
|
|
79
|
+
float vx = tex.r * 2.0 - 1.0;
|
|
80
|
+
float vy = tex.g * 2.0 - 1.0;
|
|
81
|
+
float intensity = tex.b;
|
|
82
|
+
|
|
83
|
+
float wave = 0.5 + 0.5 * sin(uTime * uFreq + intensity * 6.2831853);
|
|
84
|
+
|
|
85
|
+
float amt = uStrength * intensity * wave;
|
|
86
|
+
|
|
87
|
+
uv += vec2(vx, vy) * amt;
|
|
88
|
+
}
|
|
89
|
+
`, { uniforms: /* @__PURE__ */ new Map([
|
|
90
|
+
["uTexture", new M(E)],
|
|
91
|
+
["uStrength", new M(a?.strength ?? 0.025)],
|
|
92
|
+
["uTime", new M(0)],
|
|
93
|
+
["uFreq", new M(a?.freq ?? 4.5)]
|
|
94
|
+
]) }), se = {
|
|
95
|
+
square: 0,
|
|
96
|
+
circle: 1,
|
|
97
|
+
triangle: 2,
|
|
98
|
+
diamond: 3
|
|
99
|
+
}, qe = `
|
|
100
|
+
void main() {
|
|
101
|
+
gl_Position = vec4(position, 1.0);
|
|
102
|
+
}
|
|
103
|
+
`, Be = `
|
|
104
|
+
precision highp float;
|
|
105
|
+
|
|
106
|
+
uniform vec3 uColor;
|
|
107
|
+
uniform vec2 uResolution;
|
|
108
|
+
uniform float uTime;
|
|
109
|
+
uniform float uPixelSize;
|
|
110
|
+
uniform float uScale;
|
|
111
|
+
uniform float uDensity;
|
|
112
|
+
uniform float uPixelJitter;
|
|
113
|
+
uniform int uEnableRipples;
|
|
114
|
+
uniform float uRippleSpeed;
|
|
115
|
+
uniform float uRippleThickness;
|
|
116
|
+
uniform float uRippleIntensity;
|
|
117
|
+
uniform float uEdgeFade;
|
|
118
|
+
|
|
119
|
+
uniform int uShapeType;
|
|
120
|
+
const int SHAPE_SQUARE = 0;
|
|
121
|
+
const int SHAPE_CIRCLE = 1;
|
|
122
|
+
const int SHAPE_TRIANGLE = 2;
|
|
123
|
+
const int SHAPE_DIAMOND = 3;
|
|
124
|
+
|
|
125
|
+
const int MAX_CLICKS = 10;
|
|
126
|
+
|
|
127
|
+
uniform vec2 uClickPos [MAX_CLICKS];
|
|
128
|
+
uniform float uClickTimes[MAX_CLICKS];
|
|
129
|
+
|
|
130
|
+
out vec4 fragColor;
|
|
131
|
+
|
|
132
|
+
float Bayer2(vec2 a) {
|
|
133
|
+
a = floor(a);
|
|
134
|
+
return fract(a.x / 2. + a.y * a.y * .75);
|
|
135
|
+
}
|
|
136
|
+
#define Bayer4(a) (Bayer2(.5*(a))*0.25 + Bayer2(a))
|
|
137
|
+
#define Bayer8(a) (Bayer4(.5*(a))*0.25 + Bayer2(a))
|
|
138
|
+
|
|
139
|
+
#define FBM_OCTAVES 5
|
|
140
|
+
#define FBM_LACUNARITY 1.25
|
|
141
|
+
#define FBM_GAIN 1.0
|
|
142
|
+
|
|
143
|
+
float hash11(float n){ return fract(sin(n)*43758.5453); }
|
|
144
|
+
|
|
145
|
+
float vnoise(vec3 p){
|
|
146
|
+
vec3 ip = floor(p);
|
|
147
|
+
vec3 fp = fract(p);
|
|
148
|
+
float n000 = hash11(dot(ip + vec3(0.0,0.0,0.0), vec3(1.0,57.0,113.0)));
|
|
149
|
+
float n100 = hash11(dot(ip + vec3(1.0,0.0,0.0), vec3(1.0,57.0,113.0)));
|
|
150
|
+
float n010 = hash11(dot(ip + vec3(0.0,1.0,0.0), vec3(1.0,57.0,113.0)));
|
|
151
|
+
float n110 = hash11(dot(ip + vec3(1.0,1.0,0.0), vec3(1.0,57.0,113.0)));
|
|
152
|
+
float n001 = hash11(dot(ip + vec3(0.0,0.0,1.0), vec3(1.0,57.0,113.0)));
|
|
153
|
+
float n101 = hash11(dot(ip + vec3(1.0,0.0,1.0), vec3(1.0,57.0,113.0)));
|
|
154
|
+
float n011 = hash11(dot(ip + vec3(0.0,1.0,1.0), vec3(1.0,57.0,113.0)));
|
|
155
|
+
float n111 = hash11(dot(ip + vec3(1.0,1.0,1.0), vec3(1.0,57.0,113.0)));
|
|
156
|
+
vec3 w = fp*fp*fp*(fp*(fp*6.0-15.0)+10.0);
|
|
157
|
+
float x00 = mix(n000, n100, w.x);
|
|
158
|
+
float x10 = mix(n010, n110, w.x);
|
|
159
|
+
float x01 = mix(n001, n101, w.x);
|
|
160
|
+
float x11 = mix(n011, n111, w.x);
|
|
161
|
+
float y0 = mix(x00, x10, w.y);
|
|
162
|
+
float y1 = mix(x01, x11, w.y);
|
|
163
|
+
return mix(y0, y1, w.z) * 2.0 - 1.0;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
float fbm2(vec2 uv, float t){
|
|
167
|
+
vec3 p = vec3(uv * uScale, t);
|
|
168
|
+
float amp = 1.0;
|
|
169
|
+
float freq = 1.0;
|
|
170
|
+
float sum = 1.0;
|
|
171
|
+
for (int i = 0; i < FBM_OCTAVES; ++i){
|
|
172
|
+
sum += amp * vnoise(p * freq);
|
|
173
|
+
freq *= FBM_LACUNARITY;
|
|
174
|
+
amp *= FBM_GAIN;
|
|
175
|
+
}
|
|
176
|
+
return sum * 0.5 + 0.5;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
float maskCircle(vec2 p, float cov){
|
|
180
|
+
float r = sqrt(cov) * .25;
|
|
181
|
+
float d = length(p - 0.5) - r;
|
|
182
|
+
float aa = 0.5 * fwidth(d);
|
|
183
|
+
return cov * (1.0 - smoothstep(-aa, aa, d * 2.0));
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
float maskTriangle(vec2 p, vec2 id, float cov){
|
|
187
|
+
bool flip = mod(id.x + id.y, 2.0) > 0.5;
|
|
188
|
+
if (flip) p.x = 1.0 - p.x;
|
|
189
|
+
float r = sqrt(cov);
|
|
190
|
+
float d = p.y - r*(1.0 - p.x);
|
|
191
|
+
float aa = fwidth(d);
|
|
192
|
+
return cov * clamp(0.5 - d/aa, 0.0, 1.0);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
float maskDiamond(vec2 p, float cov){
|
|
196
|
+
float r = sqrt(cov) * 0.564;
|
|
197
|
+
return step(abs(p.x - 0.49) + abs(p.y - 0.49), r);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
void main(){
|
|
201
|
+
float pixelSize = uPixelSize;
|
|
202
|
+
vec2 fragCoord = gl_FragCoord.xy - uResolution * .5;
|
|
203
|
+
float aspectRatio = uResolution.x / uResolution.y;
|
|
204
|
+
|
|
205
|
+
vec2 pixelId = floor(fragCoord / pixelSize);
|
|
206
|
+
vec2 pixelUV = fract(fragCoord / pixelSize);
|
|
207
|
+
|
|
208
|
+
float cellPixelSize = 8.0 * pixelSize;
|
|
209
|
+
vec2 cellId = floor(fragCoord / cellPixelSize);
|
|
210
|
+
vec2 cellCoord = cellId * cellPixelSize;
|
|
211
|
+
vec2 uv = cellCoord / uResolution * vec2(aspectRatio, 1.0);
|
|
212
|
+
|
|
213
|
+
float base = fbm2(uv, uTime * 0.05);
|
|
214
|
+
base = base * 0.5 - 0.65;
|
|
215
|
+
|
|
216
|
+
float feed = base + (uDensity - 0.5) * 0.3;
|
|
217
|
+
|
|
218
|
+
float speed = uRippleSpeed;
|
|
219
|
+
float thickness = uRippleThickness;
|
|
220
|
+
const float dampT = 1.0;
|
|
221
|
+
const float dampR = 10.0;
|
|
222
|
+
|
|
223
|
+
if (uEnableRipples == 1) {
|
|
224
|
+
for (int i = 0; i < MAX_CLICKS; ++i){
|
|
225
|
+
vec2 pos = uClickPos[i];
|
|
226
|
+
if (pos.x < 0.0) continue;
|
|
227
|
+
float cellPixelSize = 8.0 * pixelSize;
|
|
228
|
+
vec2 cuv = (((pos - uResolution * .5 - cellPixelSize * .5) / (uResolution))) * vec2(aspectRatio, 1.0);
|
|
229
|
+
float t = max(uTime - uClickTimes[i], 0.0);
|
|
230
|
+
float r = distance(uv, cuv);
|
|
231
|
+
float waveR = speed * t;
|
|
232
|
+
float ring = exp(-pow((r - waveR) / thickness, 2.0));
|
|
233
|
+
float atten = exp(-dampT * t) * exp(-dampR * r);
|
|
234
|
+
feed = max(feed, ring * atten * uRippleIntensity);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
float bayer = Bayer8(fragCoord / uPixelSize) - 0.5;
|
|
239
|
+
float bw = step(0.5, feed + bayer);
|
|
240
|
+
|
|
241
|
+
float h = fract(sin(dot(floor(fragCoord / uPixelSize), vec2(127.1, 311.7))) * 43758.5453);
|
|
242
|
+
float jitterScale = 1.0 + (h - 0.5) * uPixelJitter;
|
|
243
|
+
float coverage = bw * jitterScale;
|
|
244
|
+
float M;
|
|
245
|
+
if (uShapeType == SHAPE_CIRCLE) M = maskCircle (pixelUV, coverage);
|
|
246
|
+
else if (uShapeType == SHAPE_TRIANGLE) M = maskTriangle(pixelUV, pixelId, coverage);
|
|
247
|
+
else if (uShapeType == SHAPE_DIAMOND) M = maskDiamond(pixelUV, coverage);
|
|
248
|
+
else M = coverage;
|
|
249
|
+
|
|
250
|
+
if (uEdgeFade > 0.0) {
|
|
251
|
+
vec2 norm = gl_FragCoord.xy / uResolution;
|
|
252
|
+
float edge = min(min(norm.x, norm.y), min(1.0 - norm.x, 1.0 - norm.y));
|
|
253
|
+
float fade = smoothstep(0.0, uEdgeFade, edge);
|
|
254
|
+
M *= fade;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
vec3 color = uColor;
|
|
258
|
+
|
|
259
|
+
// sRGB gamma correction - convert linear to sRGB for accurate color output
|
|
260
|
+
vec3 srgbColor = mix(
|
|
261
|
+
color * 12.92,
|
|
262
|
+
1.055 * pow(color, vec3(1.0 / 2.4)) - 0.055,
|
|
263
|
+
step(0.0031308, color)
|
|
264
|
+
);
|
|
265
|
+
|
|
266
|
+
fragColor = vec4(srgbColor, M);
|
|
267
|
+
}
|
|
268
|
+
`, V = 10, me = ue(({ variant: E = "square", pixelSize: a = 3, color: n = "#DC2626", className: y, style: w, antialias: m = !0, patternScale: s = 2, patternDensity: R = 1, liquid: z = !1, liquidStrength: I = 0.1, liquidRadius: k = 1, pixelSizeJitter: B = 0, enableRipples: L = !0, rippleIntensityScale: t = 1, rippleThickness: l = 0.1, rippleSpeed: c = 0.3, liquidWobbleSpeed: T = 4.5, autoPauseOffscreen: S = !0, speed: g = 0.5, transparent: h = !0, edgeFade: x = 0.5, noiseAmount: D = 0 }) => {
|
|
269
|
+
const $ = q(null), de = q({ visible: !0 }), X = q(g), f = q(null), O = q(null);
|
|
270
|
+
return ye(() => {
|
|
271
|
+
const C = $.current;
|
|
272
|
+
if (!C) return;
|
|
273
|
+
X.current = g;
|
|
274
|
+
const ve = [
|
|
275
|
+
"antialias",
|
|
276
|
+
"liquid",
|
|
277
|
+
"noiseAmount"
|
|
278
|
+
], K = {
|
|
279
|
+
antialias: m,
|
|
280
|
+
liquid: z,
|
|
281
|
+
noiseAmount: D
|
|
282
|
+
};
|
|
283
|
+
let U = !1;
|
|
284
|
+
if (!f.current) U = !0;
|
|
285
|
+
else if (O.current) {
|
|
286
|
+
for (const e of ve) if (O.current[e] !== K[e]) {
|
|
287
|
+
U = !0;
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
if (U) {
|
|
292
|
+
if (f.current) {
|
|
293
|
+
const o = f.current;
|
|
294
|
+
o.resizeObserver?.disconnect(), cancelAnimationFrame(o.raf), o.quad?.geometry.dispose(), o.material.dispose(), o.composer?.dispose(), o.renderer.dispose(), o.renderer.domElement.parentElement === C && C.removeChild(o.renderer.domElement), f.current = null;
|
|
295
|
+
}
|
|
296
|
+
const e = document.createElement("canvas"), r = new ze({
|
|
297
|
+
canvas: e,
|
|
298
|
+
antialias: m,
|
|
299
|
+
alpha: !0,
|
|
300
|
+
powerPreference: "high-performance"
|
|
301
|
+
});
|
|
302
|
+
r.domElement.style.width = "100%", r.domElement.style.height = "100%", r.setPixelRatio(Math.min(window.devicePixelRatio || 1, 1.5)), C.appendChild(r.domElement), h ? r.setClearAlpha(0) : r.setClearColor(0, 1);
|
|
303
|
+
const d = {
|
|
304
|
+
uResolution: { value: new le(0, 0) },
|
|
305
|
+
uTime: { value: 0 },
|
|
306
|
+
uColor: { value: new Ce(n) },
|
|
307
|
+
uClickPos: { value: Array.from({ length: V }, () => new le(-1, -1)) },
|
|
308
|
+
uClickTimes: { value: new Float32Array(V) },
|
|
309
|
+
uShapeType: { value: se[E] ?? 0 },
|
|
310
|
+
uPixelSize: { value: a * r.getPixelRatio() },
|
|
311
|
+
uScale: { value: s },
|
|
312
|
+
uDensity: { value: R },
|
|
313
|
+
uPixelJitter: { value: B },
|
|
314
|
+
uEnableRipples: { value: L ? 1 : 0 },
|
|
315
|
+
uRippleSpeed: { value: c },
|
|
316
|
+
uRippleThickness: { value: l },
|
|
317
|
+
uRippleIntensity: { value: t },
|
|
318
|
+
uEdgeFade: { value: x }
|
|
319
|
+
}, P = new Ae(), b = new Te(-1, 1, 1, -1, 0, 1), Y = new be({
|
|
320
|
+
vertexShader: qe,
|
|
321
|
+
fragmentShader: Be,
|
|
322
|
+
uniforms: d,
|
|
323
|
+
transparent: !0,
|
|
324
|
+
depthTest: !1,
|
|
325
|
+
depthWrite: !1,
|
|
326
|
+
glslVersion: Ee
|
|
327
|
+
}), pe = new Pe(2, 2), j = new Re(pe, Y);
|
|
328
|
+
P.add(j);
|
|
329
|
+
const J = new Se(), W = () => {
|
|
330
|
+
const o = C.clientWidth || 1, i = C.clientHeight || 1;
|
|
331
|
+
r.setSize(o, i, !1), d.uResolution.value.set(r.domElement.width, r.domElement.height), f.current?.composer && f.current.composer.setSize(r.domElement.width, r.domElement.height), d.uPixelSize.value = a * r.getPixelRatio();
|
|
332
|
+
};
|
|
333
|
+
W();
|
|
334
|
+
const Q = new ResizeObserver(W);
|
|
335
|
+
Q.observe(C);
|
|
336
|
+
const Z = (() => {
|
|
337
|
+
if (typeof window < "u" && window.crypto?.getRandomValues) {
|
|
338
|
+
const o = /* @__PURE__ */ new Uint32Array(1);
|
|
339
|
+
return window.crypto.getRandomValues(o), o[0] / 4294967295;
|
|
340
|
+
}
|
|
341
|
+
return Math.random();
|
|
342
|
+
})() * 1e3;
|
|
343
|
+
let u, A, F;
|
|
344
|
+
if (z) {
|
|
345
|
+
A = Fe(), A.radiusScale = k, u = new re(r);
|
|
346
|
+
const o = new ie(P, b);
|
|
347
|
+
F = _e(A.texture, {
|
|
348
|
+
strength: I,
|
|
349
|
+
freq: T
|
|
350
|
+
});
|
|
351
|
+
const i = new ae(b, F);
|
|
352
|
+
i.renderToScreen = !0, u.addPass(o), u.addPass(i);
|
|
353
|
+
}
|
|
354
|
+
if (D > 0) {
|
|
355
|
+
u || (u = new re(r), u.addPass(new ie(P, b)));
|
|
356
|
+
const o = new fe("NoiseEffect", "uniform float uTime; uniform float uAmount; float hash(vec2 p){ return fract(sin(dot(p, vec2(127.1,311.7))) * 43758.5453);} void mainUv(inout vec2 uv){} void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){ float n=hash(floor(uv*vec2(1920.0,1080.0))+floor(uTime*60.0)); float g=(n-0.5)*uAmount; outputColor=inputColor+vec4(vec3(g),0.0);} ", { uniforms: /* @__PURE__ */ new Map([["uTime", new M(0)], ["uAmount", new M(D)]]) }), i = new ae(b, o);
|
|
357
|
+
i.renderToScreen = !0, u && u.passes.length > 0 && u.passes.forEach((v) => {
|
|
358
|
+
const p = v;
|
|
359
|
+
p.renderToScreen = !1;
|
|
360
|
+
}), u.addPass(i);
|
|
361
|
+
}
|
|
362
|
+
u && u.setSize(r.domElement.width, r.domElement.height);
|
|
363
|
+
const ee = (o) => {
|
|
364
|
+
const i = r.domElement.getBoundingClientRect(), v = r.domElement.width / i.width, p = r.domElement.height / i.height;
|
|
365
|
+
return {
|
|
366
|
+
fx: (o.clientX - i.left) * v,
|
|
367
|
+
fy: (i.height - (o.clientY - i.top)) * p,
|
|
368
|
+
w: r.domElement.width,
|
|
369
|
+
h: r.domElement.height
|
|
370
|
+
};
|
|
371
|
+
}, he = (o) => {
|
|
372
|
+
const { fx: i, fy: v } = ee(o), p = f.current?.clickIx ?? 0;
|
|
373
|
+
d.uClickPos.value[p].set(i, v), d.uClickTimes.value[p] = d.uTime.value, f.current && (f.current.clickIx = (p + 1) % V);
|
|
374
|
+
}, xe = (o) => {
|
|
375
|
+
if (!A) return;
|
|
376
|
+
const { fx: i, fy: v, w: p, h: G } = ee(o);
|
|
377
|
+
A.addTouch({
|
|
378
|
+
x: i / p,
|
|
379
|
+
y: v / G
|
|
380
|
+
});
|
|
381
|
+
};
|
|
382
|
+
r.domElement.addEventListener("pointerdown", he, { passive: !0 }), r.domElement.addEventListener("pointermove", xe, { passive: !0 });
|
|
383
|
+
let _ = 0, H = 0;
|
|
384
|
+
const te = 1e3 / 30, N = (o) => {
|
|
385
|
+
if (S && !de.current.visible) {
|
|
386
|
+
_ = requestAnimationFrame(N);
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
const i = o - H;
|
|
390
|
+
if (i < te) {
|
|
391
|
+
_ = requestAnimationFrame(N);
|
|
392
|
+
return;
|
|
393
|
+
}
|
|
394
|
+
if (H = o - i % te, d.uTime.value = Z + J.getElapsedTime() * X.current, F) {
|
|
395
|
+
const v = F.uniforms.get("uTime");
|
|
396
|
+
v && (v.value = d.uTime.value);
|
|
397
|
+
}
|
|
398
|
+
u ? (A && A.update(), u.passes.forEach((v) => {
|
|
399
|
+
const p = v;
|
|
400
|
+
p.effects && p.effects.forEach((G) => {
|
|
401
|
+
const oe = G.uniforms?.get("uTime");
|
|
402
|
+
oe && (oe.value = d.uTime.value);
|
|
403
|
+
});
|
|
404
|
+
}), u.render()) : r.render(P, b), _ = requestAnimationFrame(N);
|
|
405
|
+
};
|
|
406
|
+
_ = requestAnimationFrame((o) => {
|
|
407
|
+
H = o, N(o);
|
|
408
|
+
}), f.current = {
|
|
409
|
+
renderer: r,
|
|
410
|
+
scene: P,
|
|
411
|
+
camera: b,
|
|
412
|
+
material: Y,
|
|
413
|
+
clock: J,
|
|
414
|
+
clickIx: 0,
|
|
415
|
+
uniforms: d,
|
|
416
|
+
resizeObserver: Q,
|
|
417
|
+
raf: _,
|
|
418
|
+
quad: j,
|
|
419
|
+
timeOffset: Z,
|
|
420
|
+
composer: u,
|
|
421
|
+
touch: A,
|
|
422
|
+
liquidEffect: F
|
|
423
|
+
};
|
|
424
|
+
} else {
|
|
425
|
+
const e = f.current;
|
|
426
|
+
if (e.uniforms.uShapeType.value = se[E] ?? 0, e.uniforms.uPixelSize.value = a * e.renderer.getPixelRatio(), e.uniforms.uColor.value.set(n), e.uniforms.uScale.value = s, e.uniforms.uDensity.value = R, e.uniforms.uPixelJitter.value = B, e.uniforms.uEnableRipples.value = L ? 1 : 0, e.uniforms.uRippleIntensity.value = t, e.uniforms.uRippleThickness.value = l, e.uniforms.uRippleSpeed.value = c, e.uniforms.uEdgeFade.value = x, h ? e.renderer.setClearAlpha(0) : e.renderer.setClearColor(0, 1), e.liquidEffect) {
|
|
427
|
+
const r = e.liquidEffect, d = r.uniforms.get("uStrength");
|
|
428
|
+
d && (d.value = I);
|
|
429
|
+
const P = r.uniforms.get("uFreq");
|
|
430
|
+
P && (P.value = T);
|
|
431
|
+
}
|
|
432
|
+
e.touch && (e.touch.radiusScale = k);
|
|
433
|
+
}
|
|
434
|
+
return O.current = K, () => {
|
|
435
|
+
if (f.current && U || !f.current) return;
|
|
436
|
+
const e = f.current;
|
|
437
|
+
e.resizeObserver?.disconnect(), cancelAnimationFrame(e.raf), e.quad?.geometry.dispose(), e.material.dispose(), e.composer?.dispose(), e.renderer.dispose(), e.renderer.domElement.parentElement === C && C.removeChild(e.renderer.domElement), f.current = null;
|
|
438
|
+
};
|
|
439
|
+
}, [
|
|
440
|
+
m,
|
|
441
|
+
z,
|
|
442
|
+
D,
|
|
443
|
+
a,
|
|
444
|
+
s,
|
|
445
|
+
R,
|
|
446
|
+
L,
|
|
447
|
+
t,
|
|
448
|
+
l,
|
|
449
|
+
c,
|
|
450
|
+
B,
|
|
451
|
+
x,
|
|
452
|
+
h,
|
|
453
|
+
I,
|
|
454
|
+
k,
|
|
455
|
+
T,
|
|
456
|
+
S,
|
|
457
|
+
E,
|
|
458
|
+
n,
|
|
459
|
+
g
|
|
460
|
+
]), /* @__PURE__ */ ce("div", {
|
|
461
|
+
ref: $,
|
|
462
|
+
className: `${ke.container} ${y ?? ""}`,
|
|
463
|
+
style: w,
|
|
464
|
+
"aria-label": "PixelBlast interactive background"
|
|
465
|
+
});
|
|
466
|
+
});
|
|
467
|
+
me.displayName = "PixelBlast";
|
|
468
|
+
var Le = ue((E) => {
|
|
469
|
+
const { currentTheme: a } = ge(), n = we(() => {
|
|
470
|
+
const y = a.colors.variables.primary || "#DC2626";
|
|
471
|
+
return ((m) => {
|
|
472
|
+
if (m.startsWith("#")) return m;
|
|
473
|
+
const s = m.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);
|
|
474
|
+
return s ? `#${parseInt(s[1], 10).toString(16).padStart(2, "0")}${parseInt(s[2], 10).toString(16).padStart(2, "0")}${parseInt(s[3], 10).toString(16).padStart(2, "0")}` : m;
|
|
475
|
+
})(y);
|
|
476
|
+
}, [a]);
|
|
477
|
+
return /* @__PURE__ */ ce(me, {
|
|
478
|
+
color: n,
|
|
479
|
+
variant: "square",
|
|
480
|
+
pixelSize: 6,
|
|
481
|
+
patternScale: 2,
|
|
482
|
+
patternDensity: 1,
|
|
483
|
+
pixelSizeJitter: 0,
|
|
484
|
+
enableRipples: !0,
|
|
485
|
+
rippleSpeed: 0.3,
|
|
486
|
+
rippleThickness: 0.12,
|
|
487
|
+
rippleIntensityScale: 1.2,
|
|
488
|
+
liquid: !1,
|
|
489
|
+
liquidStrength: 0.12,
|
|
490
|
+
liquidRadius: 1.2,
|
|
491
|
+
liquidWobbleSpeed: 5,
|
|
492
|
+
speed: 0.3,
|
|
493
|
+
edgeFade: 0.25,
|
|
494
|
+
transparent: !0,
|
|
495
|
+
antialias: !1,
|
|
496
|
+
...E
|
|
497
|
+
});
|
|
498
|
+
});
|
|
499
|
+
Le.displayName = "PixelBlastBackground";
|
|
500
|
+
export {
|
|
501
|
+
Le as t
|
|
502
|
+
};
|
|
503
|
+
|
|
504
|
+
//# sourceMappingURL=chunk-PixelBlast-BiBrG_NH.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-PixelBlast-BiBrG_NH.mjs","names":[],"sources":["../src/designs/animations/PixelBlast/style.module.css","../src/designs/animations/PixelBlast/index.tsx"],"sourcesContent":[".container {\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n}\n","// Component inspired by github.com/zavalit/bayer-dithering-webgl-demo\n\nimport React, { memo, useEffect, useMemo, useRef } from \"react\";\nimport { Effect, EffectComposer, EffectPass, RenderPass } from \"postprocessing\";\nimport {\n Clock,\n Color,\n GLSL3,\n LinearFilter,\n Mesh,\n OrthographicCamera,\n PlaneGeometry,\n Scene,\n ShaderMaterial,\n Texture,\n Uniform,\n Vector2,\n WebGLRenderer,\n} from \"three\";\n\nimport { useTheme } from \"@/themes/hooks/useTheme\";\n\nimport styles from \"./style.module.css\";\n\ntype PixelBlastVariant = \"square\" | \"circle\" | \"triangle\" | \"diamond\";\n\ninterface TouchPoint {\n x: number;\n y: number;\n vx: number;\n vy: number;\n force: number;\n age: number;\n}\n\ninterface TouchTexture {\n canvas: HTMLCanvasElement;\n texture: Texture;\n addTouch: (norm: { x: number; y: number }) => void;\n update: () => void;\n radiusScale: number;\n size: number;\n}\n\ninterface ReinitConfig {\n antialias: boolean;\n liquid: boolean;\n noiseAmount: number;\n}\n\ntype PixelBlastProps = {\n variant?: PixelBlastVariant;\n pixelSize?: number;\n color?: string;\n className?: string;\n style?: React.CSSProperties;\n antialias?: boolean;\n patternScale?: number;\n patternDensity?: number;\n liquid?: boolean;\n liquidStrength?: number;\n liquidRadius?: number;\n pixelSizeJitter?: number;\n enableRipples?: boolean;\n rippleIntensityScale?: number;\n rippleThickness?: number;\n rippleSpeed?: number;\n liquidWobbleSpeed?: number;\n autoPauseOffscreen?: boolean;\n speed?: number;\n transparent?: boolean;\n edgeFade?: number;\n noiseAmount?: number;\n};\n\nconst createTouchTexture = (): TouchTexture => {\n const size = 64;\n const canvas = document.createElement(\"canvas\");\n canvas.width = size;\n canvas.height = size;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) throw new Error(\"2D context not available\");\n ctx.fillStyle = \"black\";\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n const texture = new Texture(canvas);\n texture.minFilter = LinearFilter;\n texture.magFilter = LinearFilter;\n texture.generateMipmaps = false;\n const trail: TouchPoint[] = [];\n let last: { x: number; y: number } | null = null;\n const maxAge = 64;\n let radius = 0.1 * size;\n const speed = 1 / maxAge;\n const clear = () => {\n ctx.fillStyle = \"black\";\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n };\n const drawPoint = (p: TouchPoint) => {\n const pos = { x: p.x * size, y: (1 - p.y) * size };\n let intensity = 1;\n const easeOutSine = (t: number) => Math.sin((t * Math.PI) / 2);\n const easeOutQuad = (t: number) => -t * (t - 2);\n if (p.age < maxAge * 0.3) intensity = easeOutSine(p.age / (maxAge * 0.3));\n else intensity = easeOutQuad(1 - (p.age - maxAge * 0.3) / (maxAge * 0.7)) || 0;\n intensity *= p.force;\n const color = `${((p.vx + 1) / 2) * 255}, ${((p.vy + 1) / 2) * 255}, ${intensity * 255}`;\n const offset = size * 5;\n ctx.shadowOffsetX = offset;\n ctx.shadowOffsetY = offset;\n ctx.shadowBlur = radius;\n ctx.shadowColor = `rgba(${color},${0.22 * intensity})`;\n ctx.beginPath();\n ctx.fillStyle = \"rgba(255,0,0,1)\";\n ctx.arc(pos.x - offset, pos.y - offset, radius, 0, Math.PI * 2);\n ctx.fill();\n };\n const addTouch = (norm: { x: number; y: number }) => {\n let force = 0;\n let vx = 0;\n let vy = 0;\n if (last) {\n const dx = norm.x - last.x;\n const dy = norm.y - last.y;\n if (dx === 0 && dy === 0) return;\n const dd = dx * dx + dy * dy;\n const d = Math.sqrt(dd);\n vx = dx / (d || 1);\n vy = dy / (d || 1);\n force = Math.min(dd * 10000, 1);\n }\n last = { x: norm.x, y: norm.y };\n trail.push({ x: norm.x, y: norm.y, age: 0, force, vx, vy });\n };\n const update = () => {\n clear();\n for (let i = trail.length - 1; i >= 0; i--) {\n const point = trail[i];\n const f = point.force * speed * (1 - point.age / maxAge);\n point.x += point.vx * f;\n point.y += point.vy * f;\n point.age++;\n if (point.age > maxAge) trail.splice(i, 1);\n }\n for (let i = 0; i < trail.length; i++) drawPoint(trail[i]);\n texture.needsUpdate = true;\n };\n return {\n canvas,\n texture,\n addTouch,\n update,\n set radiusScale(v: number) {\n radius = 0.1 * size * v;\n },\n get radiusScale() {\n return radius / (0.1 * size);\n },\n size,\n };\n};\n\nconst createLiquidEffect = (texture: Texture, opts?: { strength?: number; freq?: number }) => {\n const fragment = `\n uniform sampler2D uTexture;\n uniform float uStrength;\n uniform float uTime;\n uniform float uFreq;\n\n void mainUv(inout vec2 uv) {\n vec4 tex = texture2D(uTexture, uv);\n float vx = tex.r * 2.0 - 1.0;\n float vy = tex.g * 2.0 - 1.0;\n float intensity = tex.b;\n\n float wave = 0.5 + 0.5 * sin(uTime * uFreq + intensity * 6.2831853);\n\n float amt = uStrength * intensity * wave;\n\n uv += vec2(vx, vy) * amt;\n }\n `;\n return new Effect(\"LiquidEffect\", fragment, {\n uniforms: new Map<string, Uniform>([\n [\"uTexture\", new Uniform(texture)],\n [\"uStrength\", new Uniform(opts?.strength ?? 0.025)],\n [\"uTime\", new Uniform(0)],\n [\"uFreq\", new Uniform(opts?.freq ?? 4.5)],\n ]),\n });\n};\n\nconst SHAPE_MAP: Record<PixelBlastVariant, number> = {\n square: 0,\n circle: 1,\n triangle: 2,\n diamond: 3,\n};\n\nconst VERTEX_SRC = `\nvoid main() {\n gl_Position = vec4(position, 1.0);\n}\n`;\n\nconst FRAGMENT_SRC = `\nprecision highp float;\n\nuniform vec3 uColor;\nuniform vec2 uResolution;\nuniform float uTime;\nuniform float uPixelSize;\nuniform float uScale;\nuniform float uDensity;\nuniform float uPixelJitter;\nuniform int uEnableRipples;\nuniform float uRippleSpeed;\nuniform float uRippleThickness;\nuniform float uRippleIntensity;\nuniform float uEdgeFade;\n\nuniform int uShapeType;\nconst int SHAPE_SQUARE = 0;\nconst int SHAPE_CIRCLE = 1;\nconst int SHAPE_TRIANGLE = 2;\nconst int SHAPE_DIAMOND = 3;\n\nconst int MAX_CLICKS = 10;\n\nuniform vec2 uClickPos [MAX_CLICKS];\nuniform float uClickTimes[MAX_CLICKS];\n\nout vec4 fragColor;\n\nfloat Bayer2(vec2 a) {\n a = floor(a);\n return fract(a.x / 2. + a.y * a.y * .75);\n}\n#define Bayer4(a) (Bayer2(.5*(a))*0.25 + Bayer2(a))\n#define Bayer8(a) (Bayer4(.5*(a))*0.25 + Bayer2(a))\n\n#define FBM_OCTAVES 5\n#define FBM_LACUNARITY 1.25\n#define FBM_GAIN 1.0\n\nfloat hash11(float n){ return fract(sin(n)*43758.5453); }\n\nfloat vnoise(vec3 p){\n vec3 ip = floor(p);\n vec3 fp = fract(p);\n float n000 = hash11(dot(ip + vec3(0.0,0.0,0.0), vec3(1.0,57.0,113.0)));\n float n100 = hash11(dot(ip + vec3(1.0,0.0,0.0), vec3(1.0,57.0,113.0)));\n float n010 = hash11(dot(ip + vec3(0.0,1.0,0.0), vec3(1.0,57.0,113.0)));\n float n110 = hash11(dot(ip + vec3(1.0,1.0,0.0), vec3(1.0,57.0,113.0)));\n float n001 = hash11(dot(ip + vec3(0.0,0.0,1.0), vec3(1.0,57.0,113.0)));\n float n101 = hash11(dot(ip + vec3(1.0,0.0,1.0), vec3(1.0,57.0,113.0)));\n float n011 = hash11(dot(ip + vec3(0.0,1.0,1.0), vec3(1.0,57.0,113.0)));\n float n111 = hash11(dot(ip + vec3(1.0,1.0,1.0), vec3(1.0,57.0,113.0)));\n vec3 w = fp*fp*fp*(fp*(fp*6.0-15.0)+10.0);\n float x00 = mix(n000, n100, w.x);\n float x10 = mix(n010, n110, w.x);\n float x01 = mix(n001, n101, w.x);\n float x11 = mix(n011, n111, w.x);\n float y0 = mix(x00, x10, w.y);\n float y1 = mix(x01, x11, w.y);\n return mix(y0, y1, w.z) * 2.0 - 1.0;\n}\n\nfloat fbm2(vec2 uv, float t){\n vec3 p = vec3(uv * uScale, t);\n float amp = 1.0;\n float freq = 1.0;\n float sum = 1.0;\n for (int i = 0; i < FBM_OCTAVES; ++i){\n sum += amp * vnoise(p * freq);\n freq *= FBM_LACUNARITY;\n amp *= FBM_GAIN;\n }\n return sum * 0.5 + 0.5;\n}\n\nfloat maskCircle(vec2 p, float cov){\n float r = sqrt(cov) * .25;\n float d = length(p - 0.5) - r;\n float aa = 0.5 * fwidth(d);\n return cov * (1.0 - smoothstep(-aa, aa, d * 2.0));\n}\n\nfloat maskTriangle(vec2 p, vec2 id, float cov){\n bool flip = mod(id.x + id.y, 2.0) > 0.5;\n if (flip) p.x = 1.0 - p.x;\n float r = sqrt(cov);\n float d = p.y - r*(1.0 - p.x);\n float aa = fwidth(d);\n return cov * clamp(0.5 - d/aa, 0.0, 1.0);\n}\n\nfloat maskDiamond(vec2 p, float cov){\n float r = sqrt(cov) * 0.564;\n return step(abs(p.x - 0.49) + abs(p.y - 0.49), r);\n}\n\nvoid main(){\n float pixelSize = uPixelSize;\n vec2 fragCoord = gl_FragCoord.xy - uResolution * .5;\n float aspectRatio = uResolution.x / uResolution.y;\n\n vec2 pixelId = floor(fragCoord / pixelSize);\n vec2 pixelUV = fract(fragCoord / pixelSize);\n\n float cellPixelSize = 8.0 * pixelSize;\n vec2 cellId = floor(fragCoord / cellPixelSize);\n vec2 cellCoord = cellId * cellPixelSize;\n vec2 uv = cellCoord / uResolution * vec2(aspectRatio, 1.0);\n\n float base = fbm2(uv, uTime * 0.05);\n base = base * 0.5 - 0.65;\n\n float feed = base + (uDensity - 0.5) * 0.3;\n\n float speed = uRippleSpeed;\n float thickness = uRippleThickness;\n const float dampT = 1.0;\n const float dampR = 10.0;\n\n if (uEnableRipples == 1) {\n for (int i = 0; i < MAX_CLICKS; ++i){\n vec2 pos = uClickPos[i];\n if (pos.x < 0.0) continue;\n float cellPixelSize = 8.0 * pixelSize;\n vec2 cuv = (((pos - uResolution * .5 - cellPixelSize * .5) / (uResolution))) * vec2(aspectRatio, 1.0);\n float t = max(uTime - uClickTimes[i], 0.0);\n float r = distance(uv, cuv);\n float waveR = speed * t;\n float ring = exp(-pow((r - waveR) / thickness, 2.0));\n float atten = exp(-dampT * t) * exp(-dampR * r);\n feed = max(feed, ring * atten * uRippleIntensity);\n }\n }\n\n float bayer = Bayer8(fragCoord / uPixelSize) - 0.5;\n float bw = step(0.5, feed + bayer);\n\n float h = fract(sin(dot(floor(fragCoord / uPixelSize), vec2(127.1, 311.7))) * 43758.5453);\n float jitterScale = 1.0 + (h - 0.5) * uPixelJitter;\n float coverage = bw * jitterScale;\n float M;\n if (uShapeType == SHAPE_CIRCLE) M = maskCircle (pixelUV, coverage);\n else if (uShapeType == SHAPE_TRIANGLE) M = maskTriangle(pixelUV, pixelId, coverage);\n else if (uShapeType == SHAPE_DIAMOND) M = maskDiamond(pixelUV, coverage);\n else M = coverage;\n\n if (uEdgeFade > 0.0) {\n vec2 norm = gl_FragCoord.xy / uResolution;\n float edge = min(min(norm.x, norm.y), min(1.0 - norm.x, 1.0 - norm.y));\n float fade = smoothstep(0.0, uEdgeFade, edge);\n M *= fade;\n }\n\n vec3 color = uColor;\n\n // sRGB gamma correction - convert linear to sRGB for accurate color output\n vec3 srgbColor = mix(\n color * 12.92,\n 1.055 * pow(color, vec3(1.0 / 2.4)) - 0.055,\n step(0.0031308, color)\n );\n\n fragColor = vec4(srgbColor, M);\n}\n`;\n\nconst MAX_CLICKS = 10;\n\nconst PixelBlast: React.FC<PixelBlastProps> = memo(\n ({\n variant = \"square\",\n pixelSize = 3,\n color = \"#DC2626\",\n className,\n style,\n antialias = true,\n patternScale = 2,\n patternDensity = 1,\n liquid = false,\n liquidStrength = 0.1,\n liquidRadius = 1,\n pixelSizeJitter = 0,\n enableRipples = true,\n rippleIntensityScale = 1,\n rippleThickness = 0.1,\n rippleSpeed = 0.3,\n liquidWobbleSpeed = 4.5,\n autoPauseOffscreen = true,\n speed = 0.5,\n transparent = true,\n edgeFade = 0.5,\n noiseAmount = 0,\n }) => {\n const containerRef = useRef<HTMLDivElement | null>(null);\n const visibilityRef = useRef({ visible: true });\n const speedRef = useRef(speed);\n\n const threeRef = useRef<{\n renderer: WebGLRenderer;\n scene: Scene;\n camera: OrthographicCamera;\n material: ShaderMaterial;\n clock: Clock;\n clickIx: number;\n uniforms: {\n uResolution: { value: Vector2 };\n uTime: { value: number };\n uColor: { value: Color };\n uClickPos: { value: Vector2[] };\n uClickTimes: { value: Float32Array };\n uShapeType: { value: number };\n uPixelSize: { value: number };\n uScale: { value: number };\n uDensity: { value: number };\n uPixelJitter: { value: number };\n uEnableRipples: { value: number };\n uRippleSpeed: { value: number };\n uRippleThickness: { value: number };\n uRippleIntensity: { value: number };\n uEdgeFade: { value: number };\n };\n resizeObserver?: ResizeObserver;\n raf?: number;\n quad?: Mesh<PlaneGeometry, ShaderMaterial>;\n timeOffset?: number;\n composer?: EffectComposer;\n touch?: ReturnType<typeof createTouchTexture>;\n liquidEffect?: Effect;\n } | null>(null);\n const prevConfigRef = useRef<ReinitConfig | null>(null);\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n speedRef.current = speed;\n const needsReinitKeys: (keyof ReinitConfig)[] = [\"antialias\", \"liquid\", \"noiseAmount\"];\n const cfg: ReinitConfig = { antialias, liquid, noiseAmount };\n let mustReinit = false;\n if (!threeRef.current) mustReinit = true;\n else if (prevConfigRef.current) {\n for (const k of needsReinitKeys)\n if (prevConfigRef.current[k] !== cfg[k]) {\n mustReinit = true;\n break;\n }\n }\n if (mustReinit) {\n if (threeRef.current) {\n const t = threeRef.current;\n t.resizeObserver?.disconnect();\n cancelAnimationFrame(t.raf!);\n t.quad?.geometry.dispose();\n t.material.dispose();\n t.composer?.dispose();\n t.renderer.dispose();\n if (t.renderer.domElement.parentElement === container) container.removeChild(t.renderer.domElement);\n threeRef.current = null;\n }\n const canvas = document.createElement(\"canvas\");\n const renderer = new WebGLRenderer({\n canvas,\n antialias,\n alpha: true,\n powerPreference: \"high-performance\",\n });\n renderer.domElement.style.width = \"100%\";\n renderer.domElement.style.height = \"100%\";\n // 降低像素比以提高性能\n renderer.setPixelRatio(Math.min(window.devicePixelRatio || 1, 1.5));\n container.appendChild(renderer.domElement);\n if (transparent) renderer.setClearAlpha(0);\n else renderer.setClearColor(0x000000, 1);\n const uniforms = {\n uResolution: { value: new Vector2(0, 0) },\n uTime: { value: 0 },\n uColor: { value: new Color(color) },\n uClickPos: {\n value: Array.from({ length: MAX_CLICKS }, () => new Vector2(-1, -1)),\n },\n uClickTimes: { value: new Float32Array(MAX_CLICKS) },\n uShapeType: { value: SHAPE_MAP[variant] ?? 0 },\n uPixelSize: { value: pixelSize * renderer.getPixelRatio() },\n uScale: { value: patternScale },\n uDensity: { value: patternDensity },\n uPixelJitter: { value: pixelSizeJitter },\n uEnableRipples: { value: enableRipples ? 1 : 0 },\n uRippleSpeed: { value: rippleSpeed },\n uRippleThickness: { value: rippleThickness },\n uRippleIntensity: { value: rippleIntensityScale },\n uEdgeFade: { value: edgeFade },\n };\n const scene = new Scene();\n const camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);\n const material = new ShaderMaterial({\n vertexShader: VERTEX_SRC,\n fragmentShader: FRAGMENT_SRC,\n uniforms,\n transparent: true,\n depthTest: false,\n depthWrite: false,\n glslVersion: GLSL3,\n });\n\n const quadGeom = new PlaneGeometry(2, 2);\n const quad = new Mesh(quadGeom, material);\n scene.add(quad);\n const clock = new Clock();\n const setSize = () => {\n const w = container.clientWidth || 1;\n const h = container.clientHeight || 1;\n renderer.setSize(w, h, false);\n uniforms.uResolution.value.set(renderer.domElement.width, renderer.domElement.height);\n if (threeRef.current?.composer) threeRef.current.composer.setSize(renderer.domElement.width, renderer.domElement.height);\n uniforms.uPixelSize.value = pixelSize * renderer.getPixelRatio();\n };\n setSize();\n const ro = new ResizeObserver(setSize);\n ro.observe(container);\n const randomFloat = (): number => {\n if (typeof window !== \"undefined\" && window.crypto?.getRandomValues) {\n const u32 = new Uint32Array(1);\n window.crypto.getRandomValues(u32);\n return u32[0] / 0xffffffff;\n }\n return Math.random();\n };\n const timeOffset = randomFloat() * 1000;\n let composer: EffectComposer | undefined;\n let touch: ReturnType<typeof createTouchTexture> | undefined;\n let liquidEffect: Effect | undefined;\n if (liquid) {\n touch = createTouchTexture();\n touch.radiusScale = liquidRadius;\n composer = new EffectComposer(renderer);\n const renderPass = new RenderPass(scene, camera);\n liquidEffect = createLiquidEffect(touch.texture, {\n strength: liquidStrength,\n freq: liquidWobbleSpeed,\n });\n const effectPass = new EffectPass(camera, liquidEffect);\n effectPass.renderToScreen = true;\n composer.addPass(renderPass);\n composer.addPass(effectPass);\n }\n if (noiseAmount > 0) {\n if (!composer) {\n composer = new EffectComposer(renderer);\n composer.addPass(new RenderPass(scene, camera));\n }\n const noiseEffect = new Effect(\n \"NoiseEffect\",\n `uniform float uTime; uniform float uAmount; float hash(vec2 p){ return fract(sin(dot(p, vec2(127.1,311.7))) * 43758.5453);} void mainUv(inout vec2 uv){} void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){ float n=hash(floor(uv*vec2(1920.0,1080.0))+floor(uTime*60.0)); float g=(n-0.5)*uAmount; outputColor=inputColor+vec4(vec3(g),0.0);} `,\n {\n uniforms: new Map<string, Uniform>([\n [\"uTime\", new Uniform(0)],\n [\"uAmount\", new Uniform(noiseAmount)],\n ]),\n },\n );\n const noisePass = new EffectPass(camera, noiseEffect);\n noisePass.renderToScreen = true;\n if (composer && composer.passes.length > 0) {\n composer.passes.forEach((p: { renderToScreen?: boolean }) => {\n const pass = p as { renderToScreen?: boolean };\n pass.renderToScreen = false;\n });\n }\n composer.addPass(noisePass);\n }\n if (composer) composer.setSize(renderer.domElement.width, renderer.domElement.height);\n const mapToPixels = (e: PointerEvent) => {\n const rect = renderer.domElement.getBoundingClientRect();\n const scaleX = renderer.domElement.width / rect.width;\n const scaleY = renderer.domElement.height / rect.height;\n const fx = (e.clientX - rect.left) * scaleX;\n const fy = (rect.height - (e.clientY - rect.top)) * scaleY;\n return {\n fx,\n fy,\n w: renderer.domElement.width,\n h: renderer.domElement.height,\n };\n };\n const onPointerDown = (e: PointerEvent) => {\n const { fx, fy } = mapToPixels(e);\n const ix = threeRef.current?.clickIx ?? 0;\n uniforms.uClickPos.value[ix].set(fx, fy);\n uniforms.uClickTimes.value[ix] = uniforms.uTime.value;\n if (threeRef.current) threeRef.current.clickIx = (ix + 1) % MAX_CLICKS;\n };\n const onPointerMove = (e: PointerEvent) => {\n if (!touch) return;\n const { fx, fy, w, h } = mapToPixels(e);\n touch.addTouch({ x: fx / w, y: fy / h });\n };\n renderer.domElement.addEventListener(\"pointerdown\", onPointerDown, {\n passive: true,\n });\n renderer.domElement.addEventListener(\"pointermove\", onPointerMove, {\n passive: true,\n });\n let raf = 0;\n let lastFrameTime = 0;\n const targetFPS = 30; // 限制到 30 FPS 以提高性能\n const frameInterval = 1000 / targetFPS;\n\n const animate = (currentTime: number) => {\n if (autoPauseOffscreen && !visibilityRef.current.visible) {\n raf = requestAnimationFrame(animate);\n return;\n }\n\n // 帧率限制\n const elapsed = currentTime - lastFrameTime;\n if (elapsed < frameInterval) {\n raf = requestAnimationFrame(animate);\n return;\n }\n lastFrameTime = currentTime - (elapsed % frameInterval);\n\n uniforms.uTime.value = timeOffset + clock.getElapsedTime() * speedRef.current;\n if (liquidEffect) {\n const liqEffect = liquidEffect as Effect & { uniforms: Map<string, Uniform> };\n const timeUniform = liqEffect.uniforms.get(\"uTime\");\n if (timeUniform) timeUniform.value = uniforms.uTime.value;\n }\n if (composer) {\n if (touch) touch.update();\n composer.passes.forEach((p: any) => {\n const pass = p as { effects?: Array<Effect & { uniforms?: Map<string, Uniform> }> };\n if (pass.effects) {\n pass.effects.forEach((eff: Effect & { uniforms?: Map<string, Uniform> }) => {\n const timeUniform = eff.uniforms?.get(\"uTime\");\n if (timeUniform) timeUniform.value = uniforms.uTime.value;\n });\n }\n });\n composer.render();\n } else renderer.render(scene, camera);\n raf = requestAnimationFrame(animate);\n };\n raf = requestAnimationFrame((time) => {\n lastFrameTime = time;\n animate(time);\n });\n threeRef.current = {\n renderer,\n scene,\n camera,\n material,\n clock,\n clickIx: 0,\n uniforms,\n resizeObserver: ro,\n raf,\n quad,\n timeOffset,\n composer,\n touch,\n liquidEffect,\n };\n } else {\n const t = threeRef.current!;\n t.uniforms.uShapeType.value = SHAPE_MAP[variant] ?? 0;\n t.uniforms.uPixelSize.value = pixelSize * t.renderer.getPixelRatio();\n t.uniforms.uColor.value.set(color);\n t.uniforms.uScale.value = patternScale;\n t.uniforms.uDensity.value = patternDensity;\n t.uniforms.uPixelJitter.value = pixelSizeJitter;\n t.uniforms.uEnableRipples.value = enableRipples ? 1 : 0;\n t.uniforms.uRippleIntensity.value = rippleIntensityScale;\n t.uniforms.uRippleThickness.value = rippleThickness;\n t.uniforms.uRippleSpeed.value = rippleSpeed;\n t.uniforms.uEdgeFade.value = edgeFade;\n if (transparent) t.renderer.setClearAlpha(0);\n else t.renderer.setClearColor(0x000000, 1);\n if (t.liquidEffect) {\n const liqEffect = t.liquidEffect as Effect & { uniforms: Map<string, Uniform> };\n const uStrength = liqEffect.uniforms.get(\"uStrength\");\n if (uStrength) uStrength.value = liquidStrength;\n const uFreq = liqEffect.uniforms.get(\"uFreq\");\n if (uFreq) uFreq.value = liquidWobbleSpeed;\n }\n if (t.touch) t.touch.radiusScale = liquidRadius;\n }\n prevConfigRef.current = cfg;\n return () => {\n if (threeRef.current && mustReinit) return;\n if (!threeRef.current) return;\n const t = threeRef.current;\n t.resizeObserver?.disconnect();\n cancelAnimationFrame(t.raf!);\n t.quad?.geometry.dispose();\n t.material.dispose();\n t.composer?.dispose();\n t.renderer.dispose();\n if (t.renderer.domElement.parentElement === container) container.removeChild(t.renderer.domElement);\n threeRef.current = null;\n };\n }, [\n antialias,\n liquid,\n noiseAmount,\n pixelSize,\n patternScale,\n patternDensity,\n enableRipples,\n rippleIntensityScale,\n rippleThickness,\n rippleSpeed,\n pixelSizeJitter,\n edgeFade,\n transparent,\n liquidStrength,\n liquidRadius,\n liquidWobbleSpeed,\n autoPauseOffscreen,\n variant,\n color,\n speed,\n ]);\n\n return <div ref={containerRef} className={`${styles.container} ${className ?? \"\"}`} style={style} aria-label=\"PixelBlast interactive background\" />;\n },\n);\n\nPixelBlast.displayName = \"PixelBlast\";\n\nconst PixelBlastBackground: React.FC<Omit<PixelBlastProps, \"color\">> = memo((props) => {\n const { currentTheme } = useTheme();\n\n // 从主题中获取颜色\n const color = useMemo(() => {\n const primary = currentTheme.colors.variables.primary || \"#DC2626\";\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);\n }, [currentTheme]);\n\n return (\n <PixelBlast\n color={color}\n variant=\"square\"\n pixelSize={6}\n patternScale={2}\n patternDensity={1}\n pixelSizeJitter={0}\n enableRipples\n rippleSpeed={0.3}\n rippleThickness={0.12}\n rippleIntensityScale={1.2}\n liquid={false}\n liquidStrength={0.12}\n liquidRadius={1.2}\n liquidWobbleSpeed={5}\n speed={0.3}\n edgeFade={0.25}\n transparent\n antialias={false}\n {...props}\n />\n );\n});\n\nPixelBlastBackground.displayName = \"PixelBlastBackground\";\n\nexport default PixelBlastBackground;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const u=require("./chunk-preference-BXXryZLY.cjs"),i=require("./chunk-preference-BP-GO9Uk.cjs");let o=require("react"),s=require("@radix-ui/themes"),d=require("react/jsx-runtime");var t=({children:n,onAppearanceChange:a})=>{const e=u.usePreferenceStore(c=>c.theme),r=i.useResolvedAppearance();return(0,o.useEffect)(()=>{document.documentElement.dataset.appearance=r,a?.(r)},[a,r]),(0,d.jsx)(s.Theme,{appearance:r,accentColor:e.accent,grayColor:e.gray,radius:e.radius,scaling:e.scaling,panelBackground:e.panelBackground,hasBackground:!0,className:"radix-app-theme","data-font-family":e.fontFamily,children:n})};t.displayName="ThemeProvider";Object.defineProperty(exports,"ThemeProvider",{enumerable:!0,get:function(){return t}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-ThemeProvider-C4kxX2D0.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-ThemeProvider-C4kxX2D0.cjs","names":[],"sources":["../src/providers/ThemeProvider/index.tsx"],"sourcesContent":["/**\n * Shared Radix Theme provider — reads unified preference store.\n * Host may pass document side-effects (e.g. favicon) via `onAppearanceChange`.\n */\nimport type { RadixAppearance } from \"@/themes/radix\";\nimport type { ReactNode } from \"react\";\n\nimport { useEffect } from \"react\";\nimport { Theme } from \"@radix-ui/themes\";\n\nimport { useResolvedAppearance } from \"@/hooks/preference\";\nimport { usePreferenceStore } from \"@/stores/preference\";\n\nimport \"@/themes/index.css\";\n\nexport interface ThemeProviderProps {\n children: ReactNode;\n onAppearanceChange?: (appearance: RadixAppearance) => void;\n}\n\nconst ThemeProvider = ({ children, onAppearanceChange }: ThemeProviderProps) => {\n const theme = usePreferenceStore((s) => s.theme);\n const resolvedAppearance = useResolvedAppearance();\n\n useEffect(() => {\n document.documentElement.dataset.appearance = resolvedAppearance;\n onAppearanceChange?.(resolvedAppearance);\n }, [onAppearanceChange, resolvedAppearance]);\n\n return (\n <Theme\n appearance={resolvedAppearance}\n accentColor={theme.accent}\n grayColor={theme.gray}\n radius={theme.radius}\n scaling={theme.scaling}\n panelBackground={theme.panelBackground}\n hasBackground\n className=\"radix-app-theme\"\n data-font-family={theme.fontFamily}\n >\n {children}\n </Theme>\n );\n};\n\nThemeProvider.displayName = \"ThemeProvider\";\nexport default ThemeProvider;\n"],"mappings":"oLAoBA,IAAM,EAAA,CAAiB,CAAE,SAAA,EAAU,mBAAA,CAAA,IAA6C,CAC9E,MAAM,EAAQ,EAAA,mBAAoB,GAAM,EAAE,KAAK,EACzC,EAAqB,EAAA,sBAAsB,EAEjD,SAAA,EAAA,WAAA,IAAgB,CACd,SAAS,gBAAgB,QAAQ,WAAa,EAC9C,IAAqB,CAAkB,CACzC,EAAG,CAAC,EAAoB,CAAkB,CAAC,KAGzC,EAAA,KAAC,EAAA,MAAD,CACE,WAAY,EACZ,YAAa,EAAM,OACnB,UAAW,EAAM,KACjB,OAAQ,EAAM,OACd,QAAS,EAAM,QACf,gBAAiB,EAAM,gBACvB,cAAA,GACA,UAAU,kBACV,mBAAkB,EAAM,WAEvB,SAAA,CACI,CAAA,CAEX,EAEA,EAAc,YAAc"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { s as m } from "./chunk-preference-x4EdmqU6.mjs";
|
|
2
|
+
import { r as s } from "./chunk-preference-Y15HwKd0.mjs";
|
|
3
|
+
import { useEffect as c } from "react";
|
|
4
|
+
import { Theme as n } from "@radix-ui/themes";
|
|
5
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
6
|
+
var d = ({ children: o, onAppearanceChange: r }) => {
|
|
7
|
+
const e = m((t) => t.theme), a = s();
|
|
8
|
+
return c(() => {
|
|
9
|
+
document.documentElement.dataset.appearance = a, r?.(a);
|
|
10
|
+
}, [r, a]), /* @__PURE__ */ p(n, {
|
|
11
|
+
appearance: a,
|
|
12
|
+
accentColor: e.accent,
|
|
13
|
+
grayColor: e.gray,
|
|
14
|
+
radius: e.radius,
|
|
15
|
+
scaling: e.scaling,
|
|
16
|
+
panelBackground: e.panelBackground,
|
|
17
|
+
hasBackground: !0,
|
|
18
|
+
className: "radix-app-theme",
|
|
19
|
+
"data-font-family": e.fontFamily,
|
|
20
|
+
children: o
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
d.displayName = "ThemeProvider";
|
|
24
|
+
export {
|
|
25
|
+
d as t
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=chunk-ThemeProvider-D0U8V6ky.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-ThemeProvider-D0U8V6ky.mjs","names":[],"sources":["../src/providers/ThemeProvider/index.tsx"],"sourcesContent":["/**\n * Shared Radix Theme provider — reads unified preference store.\n * Host may pass document side-effects (e.g. favicon) via `onAppearanceChange`.\n */\nimport type { RadixAppearance } from \"@/themes/radix\";\nimport type { ReactNode } from \"react\";\n\nimport { useEffect } from \"react\";\nimport { Theme } from \"@radix-ui/themes\";\n\nimport { useResolvedAppearance } from \"@/hooks/preference\";\nimport { usePreferenceStore } from \"@/stores/preference\";\n\nimport \"@/themes/index.css\";\n\nexport interface ThemeProviderProps {\n children: ReactNode;\n onAppearanceChange?: (appearance: RadixAppearance) => void;\n}\n\nconst ThemeProvider = ({ children, onAppearanceChange }: ThemeProviderProps) => {\n const theme = usePreferenceStore((s) => s.theme);\n const resolvedAppearance = useResolvedAppearance();\n\n useEffect(() => {\n document.documentElement.dataset.appearance = resolvedAppearance;\n onAppearanceChange?.(resolvedAppearance);\n }, [onAppearanceChange, resolvedAppearance]);\n\n return (\n <Theme\n appearance={resolvedAppearance}\n accentColor={theme.accent}\n grayColor={theme.gray}\n radius={theme.radius}\n scaling={theme.scaling}\n panelBackground={theme.panelBackground}\n hasBackground\n className=\"radix-app-theme\"\n data-font-family={theme.fontFamily}\n >\n {children}\n </Theme>\n );\n};\n\nThemeProvider.displayName = \"ThemeProvider\";\nexport default ThemeProvider;\n"],"mappings":";;;;;AAoBA,IAAM,IAAA,CAAiB,EAAE,UAAA,GAAU,oBAAA,EAAA,MAA6C;AAC9E,QAAM,IAAQ,EAAA,CAAoB,MAAM,EAAE,KAAK,GACzC,IAAqB,EAAsB;AAEjD,SAAA,EAAA,MAAgB;AACd,aAAS,gBAAgB,QAAQ,aAAa,GAC9C,IAAqB,CAAkB;AAAA,EACzC,GAAG,CAAC,GAAoB,CAAkB,CAAC,GAGzC,gBAAA,EAAC,GAAD;AAAA,IACE,YAAY;AAAA,IACZ,aAAa,EAAM;AAAA,IACnB,WAAW,EAAM;AAAA,IACjB,QAAQ,EAAM;AAAA,IACd,SAAS,EAAM;AAAA,IACf,iBAAiB,EAAM;AAAA,IACvB,eAAA;AAAA,IACA,WAAU;AAAA,IACV,oBAAkB,EAAM;AAAA,IAEvB,UAAA;AAAA,EACI,CAAA;AAEX;AAEA,EAAc,cAAc"}
|