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,158 @@
|
|
|
1
|
+
import { AlertCircle as t, ArrowLeft as l, ArrowRight as i, Ban as n, Bell as d, Box as C, Briefcase as c, Calendar as h, Camera as L, Check as u, CheckCircle as g, ChevronDown as f, ChevronLeft as p, ChevronRight as U, ChevronUp as v, Clock as k, Coffee as y, CreditCard as P, DollarSign as F, Edit as S, ExternalLink as T, Eye as m, EyeOff as x, FileText as R, Filter as $, FolderOpen as A, FolderPlus as B, FolderTree as E, Folders as G, Globe as M, GraduationCap as O, GripVertical as w, Hash as H, History as X, Home as _, Image as b, Info as D, Languages as I, Layers as K, LayoutGrid as V, LayoutList as W, Leaf as j, List as q, Loader as z, Loader2 as J, Lock as N, LockKeyhole as Q, LogOut as Y, Mail as Z, Menu as aa, MessageCircle as ea, Package as sa, Pencil as ra, Phone as oa, Plus as ta, Search as la, Settings as ia, Shield as na, Tag as da, Trash2 as Ca, TrendingUp as ca, Upload as ha, User as La, UserCheck as ua, UserPlus as ga, UserRound as fa, UserRoundSearch as pa, UserX as Ua, Wand2 as va, X as ka, XCircle as ya } from "lucide-react";
|
|
2
|
+
var r = Object.defineProperty, Pa = (e, o) => {
|
|
3
|
+
let a = {};
|
|
4
|
+
for (var s in e)
|
|
5
|
+
r(a, s, {
|
|
6
|
+
get: e[s],
|
|
7
|
+
enumerable: !0
|
|
8
|
+
});
|
|
9
|
+
return o || r(a, Symbol.toStringTag, { value: "Module" }), a;
|
|
10
|
+
}, Sa = /* @__PURE__ */ Pa({
|
|
11
|
+
AlertCircle: () => t,
|
|
12
|
+
ArrowLeft: () => l,
|
|
13
|
+
ArrowRight: () => i,
|
|
14
|
+
Ban: () => n,
|
|
15
|
+
Bell: () => d,
|
|
16
|
+
Box: () => C,
|
|
17
|
+
Briefcase: () => c,
|
|
18
|
+
Calendar: () => h,
|
|
19
|
+
Camera: () => L,
|
|
20
|
+
Check: () => u,
|
|
21
|
+
CheckCircle: () => g,
|
|
22
|
+
ChevronDown: () => f,
|
|
23
|
+
ChevronLeft: () => p,
|
|
24
|
+
ChevronRight: () => U,
|
|
25
|
+
ChevronUp: () => v,
|
|
26
|
+
Clock: () => k,
|
|
27
|
+
Coffee: () => y,
|
|
28
|
+
DollarSign: () => F,
|
|
29
|
+
Edit: () => S,
|
|
30
|
+
ExternalLink: () => T,
|
|
31
|
+
Eye: () => m,
|
|
32
|
+
EyeOff: () => x,
|
|
33
|
+
FileText: () => R,
|
|
34
|
+
Filter: () => $,
|
|
35
|
+
FolderOpen: () => A,
|
|
36
|
+
FolderPlus: () => B,
|
|
37
|
+
FolderTree: () => E,
|
|
38
|
+
Folders: () => G,
|
|
39
|
+
Globe: () => M,
|
|
40
|
+
GraduationCap: () => O,
|
|
41
|
+
GripVertical: () => w,
|
|
42
|
+
Hash: () => H,
|
|
43
|
+
History: () => X,
|
|
44
|
+
Home: () => _,
|
|
45
|
+
Image: () => b,
|
|
46
|
+
Info: () => D,
|
|
47
|
+
Languages: () => I,
|
|
48
|
+
Layers: () => K,
|
|
49
|
+
LayoutGrid: () => V,
|
|
50
|
+
LayoutList: () => W,
|
|
51
|
+
Leaf: () => j,
|
|
52
|
+
List: () => q,
|
|
53
|
+
Loader: () => z,
|
|
54
|
+
Loader2: () => J,
|
|
55
|
+
Lock: () => N,
|
|
56
|
+
LockKeyhole: () => Q,
|
|
57
|
+
LogOut: () => Y,
|
|
58
|
+
LucideCreditCard: () => P,
|
|
59
|
+
Mail: () => Z,
|
|
60
|
+
Menu: () => aa,
|
|
61
|
+
MessageCircle: () => ea,
|
|
62
|
+
Package: () => sa,
|
|
63
|
+
Pencil: () => ra,
|
|
64
|
+
Phone: () => oa,
|
|
65
|
+
Plus: () => ta,
|
|
66
|
+
Search: () => la,
|
|
67
|
+
Settings: () => ia,
|
|
68
|
+
Shield: () => na,
|
|
69
|
+
Tag: () => da,
|
|
70
|
+
Trash2: () => Ca,
|
|
71
|
+
TrendingUp: () => ca,
|
|
72
|
+
Upload: () => ha,
|
|
73
|
+
User: () => La,
|
|
74
|
+
UserCheck: () => ua,
|
|
75
|
+
UserPlus: () => ga,
|
|
76
|
+
UserRound: () => fa,
|
|
77
|
+
UserRoundSearch: () => pa,
|
|
78
|
+
UserX: () => Ua,
|
|
79
|
+
Wand2: () => va,
|
|
80
|
+
X: () => ka,
|
|
81
|
+
XCircle: () => ya
|
|
82
|
+
});
|
|
83
|
+
export {
|
|
84
|
+
ra as $,
|
|
85
|
+
O as A,
|
|
86
|
+
W as B,
|
|
87
|
+
R as C,
|
|
88
|
+
E as D,
|
|
89
|
+
B as E,
|
|
90
|
+
b as F,
|
|
91
|
+
N as G,
|
|
92
|
+
q as H,
|
|
93
|
+
D as I,
|
|
94
|
+
P as J,
|
|
95
|
+
Q as K,
|
|
96
|
+
I as L,
|
|
97
|
+
H as M,
|
|
98
|
+
X as N,
|
|
99
|
+
G as O,
|
|
100
|
+
_ as P,
|
|
101
|
+
sa as Q,
|
|
102
|
+
K as R,
|
|
103
|
+
x as S,
|
|
104
|
+
A as T,
|
|
105
|
+
z as U,
|
|
106
|
+
j as V,
|
|
107
|
+
J as W,
|
|
108
|
+
aa as X,
|
|
109
|
+
Z as Y,
|
|
110
|
+
ea as Z,
|
|
111
|
+
y as _,
|
|
112
|
+
ya as _t,
|
|
113
|
+
d as a,
|
|
114
|
+
da as at,
|
|
115
|
+
T as b,
|
|
116
|
+
h as c,
|
|
117
|
+
ha as ct,
|
|
118
|
+
g as d,
|
|
119
|
+
ga as dt,
|
|
120
|
+
oa as et,
|
|
121
|
+
f,
|
|
122
|
+
fa as ft,
|
|
123
|
+
k as g,
|
|
124
|
+
ka as gt,
|
|
125
|
+
v as h,
|
|
126
|
+
va as ht,
|
|
127
|
+
n as i,
|
|
128
|
+
na as it,
|
|
129
|
+
w as j,
|
|
130
|
+
M as k,
|
|
131
|
+
L as l,
|
|
132
|
+
La as lt,
|
|
133
|
+
U as m,
|
|
134
|
+
Ua as mt,
|
|
135
|
+
l as n,
|
|
136
|
+
la as nt,
|
|
137
|
+
C as o,
|
|
138
|
+
Ca as ot,
|
|
139
|
+
p,
|
|
140
|
+
pa as pt,
|
|
141
|
+
Y as q,
|
|
142
|
+
i as r,
|
|
143
|
+
ia as rt,
|
|
144
|
+
c as s,
|
|
145
|
+
ca as st,
|
|
146
|
+
t,
|
|
147
|
+
ta as tt,
|
|
148
|
+
u,
|
|
149
|
+
ua as ut,
|
|
150
|
+
F as v,
|
|
151
|
+
Sa as vt,
|
|
152
|
+
$ as w,
|
|
153
|
+
m as x,
|
|
154
|
+
S as y,
|
|
155
|
+
V as z
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
//# sourceMappingURL=chunk-lucide-yNs0iz1-.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-lucide-yNs0iz1-.mjs","names":[],"sources":["../src/icons/lucide.ts"],"sourcesContent":["export type { LucideIcon } from \"lucide-react\";\n\nexport {\n AlertCircle,\n ArrowLeft,\n ArrowRight,\n Ban,\n Bell,\n Box,\n Briefcase,\n Calendar,\n Camera,\n Check,\n CheckCircle,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Clock,\n Coffee,\n CreditCard as LucideCreditCard,\n DollarSign,\n Edit,\n ExternalLink,\n Eye,\n EyeOff,\n FileText,\n Filter,\n FolderOpen,\n FolderPlus,\n FolderTree,\n Folders,\n Globe,\n GraduationCap,\n GripVertical,\n Hash,\n History,\n Home,\n Image,\n Info,\n Languages,\n LayoutGrid,\n LayoutList,\n Leaf,\n Layers,\n List,\n Loader,\n Loader2,\n Lock,\n LockKeyhole,\n LogOut,\n Mail,\n Menu,\n MessageCircle,\n Package,\n Pencil,\n Phone,\n Plus,\n Search,\n Settings,\n Shield,\n Tag,\n Trash2,\n TrendingUp,\n Upload,\n User,\n UserCheck,\n UserPlus,\n UserRound,\n UserRoundSearch,\n UserX,\n Wand2,\n X,\n XCircle,\n} from \"lucide-react\";\n"],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const s=require("./chunk-preference-BXXryZLY.cjs");var i={isOpen:!1,message:"No message",title:"No title",confirmText:"Confirm",onClick:void 0},n={isOpen:!1},a={isOpen:!1};function d(e){const r={...e};return delete r.isOpen,r}var{store:t,useStore:l}=s.makeStore({modalType:void 0,baseModal:i,confirmModal:n,loadingModal:a},e=>({showModal:(r,u)=>{e({modalType:r,baseModal:{isOpen:!0,variant:r,...d(u)}})},hideModal:r=>{if(r==="confirm"){e({confirmModal:n});return}if(r==="loading"){e({loadingModal:a});return}e({modalType:void 0,baseModal:i})},showConfirm:r=>e({confirmModal:{...n,...r,isOpen:!0}}),showLoading:r=>e({loadingModal:{...a,...r,isOpen:!0}})})),o=t.getState().showModal,f=t.getState().hideModal,c=t.getState().showConfirm,g=t.getState().showLoading,m=(e,r)=>{o("info",{isOpen:!0,message:e,title:r})},h=e=>{if(typeof e=="string"){o("success",{isOpen:!0,message:e});return}o("success",{isOpen:!0,message:e.message,title:e.title,onClick:e.onClick})},M=(e,r)=>{o("error",{isOpen:!0,message:e,title:r})};Object.defineProperty(exports,"ModalStore",{enumerable:!0,get:function(){return t}});Object.defineProperty(exports,"hideModal",{enumerable:!0,get:function(){return f}});Object.defineProperty(exports,"showConfirm",{enumerable:!0,get:function(){return c}});Object.defineProperty(exports,"showError",{enumerable:!0,get:function(){return M}});Object.defineProperty(exports,"showInfo",{enumerable:!0,get:function(){return m}});Object.defineProperty(exports,"showLoading",{enumerable:!0,get:function(){return g}});Object.defineProperty(exports,"showModal",{enumerable:!0,get:function(){return o}});Object.defineProperty(exports,"showSuccess",{enumerable:!0,get:function(){return h}});Object.defineProperty(exports,"useModalStore",{enumerable:!0,get:function(){return l}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-modal-C3LgRLur.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-modal-C3LgRLur.cjs","names":[],"sources":["../src/stores/modal.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nimport { makeStore } from \"@/stores/makeStore\";\n\ntype ModalType = \"success\" | \"error\" | \"info\";\n\nexport interface BaseModalProps {\n isOpen: boolean;\n message?: string;\n title?: string;\n confirmText?: string;\n onClick?: () => void;\n variant?: ModalType;\n}\n\nexport interface ConfirmModalProps {\n isOpen: boolean;\n title?: string;\n message?: string;\n confirmText?: string;\n cancelText?: string;\n confirmInputText?: string;\n variant?: \"default\" | \"hold\";\n holdDurationMs?: number;\n onConfirm?: () => void;\n onCancel?: () => void;\n}\n\nexport interface LoadingModalProps {\n isOpen: boolean;\n message?: string;\n canClose?: boolean;\n}\n\ninterface ModalState {\n modalType: ModalType | undefined;\n baseModal: BaseModalProps;\n confirmModal: ConfirmModalProps;\n loadingModal: LoadingModalProps;\n}\n\ninterface ModalActions {\n showModal: (modalType: ModalType, props: BaseModalProps) => void;\n hideModal: (modalType?: string) => void;\n showConfirm: (props: Omit<ConfirmModalProps, \"isOpen\">) => void;\n showLoading: (props?: Omit<LoadingModalProps, \"isOpen\">) => void;\n}\n\nconst defaultBaseModalProps: BaseModalProps = {\n isOpen: false,\n message: \"No message\",\n title: \"No title\",\n confirmText: \"Confirm\",\n onClick: undefined,\n};\n\nconst defaultConfirm: ConfirmModalProps = {\n isOpen: false,\n};\n\nconst defaultLoading: LoadingModalProps = {\n isOpen: false,\n};\n\nfunction omitIsOpen<T extends { isOpen?: boolean }>(props: T): Omit<T, \"isOpen\"> {\n const rest = { ...props };\n delete rest.isOpen;\n return rest as Omit<T, \"isOpen\">;\n}\n\nconst { store: ModalStore, useStore: useModalStore } = makeStore<ModalState, ModalActions>(\n {\n modalType: undefined,\n baseModal: defaultBaseModalProps,\n confirmModal: defaultConfirm,\n loadingModal: defaultLoading,\n },\n (set) => ({\n showModal: (modalType, props) => {\n const restProps = omitIsOpen(props);\n set({\n modalType,\n baseModal: {\n isOpen: true,\n variant: modalType,\n ...restProps,\n },\n });\n },\n hideModal: (modalType) => {\n if (modalType === \"confirm\") {\n set({ confirmModal: defaultConfirm });\n return;\n }\n if (modalType === \"loading\") {\n set({ loadingModal: defaultLoading });\n return;\n }\n set({\n modalType: undefined,\n baseModal: defaultBaseModalProps,\n });\n },\n showConfirm: (props) => set({ confirmModal: { ...defaultConfirm, ...props, isOpen: true } }),\n showLoading: (props) => set({ loadingModal: { ...defaultLoading, ...props, isOpen: true } }),\n }),\n);\n\nconst showModal = ModalStore.getState().showModal;\nconst hideModal = ModalStore.getState().hideModal;\nconst showConfirm = ModalStore.getState().showConfirm;\nconst showLoading = ModalStore.getState().showLoading;\n\nexport { showModal, hideModal, showConfirm, showLoading };\nexport { ModalStore, useModalStore };\nexport default ModalStore;\n\nexport const showInfo = (message: string, title?: string) => {\n showModal(\"info\", { isOpen: true, message, title });\n};\n\nexport type ShowSuccessProps = {\n message: string;\n title?: string;\n onClick?: () => void;\n};\n\nexport const showSuccess = (props: ShowSuccessProps | string) => {\n if (typeof props === \"string\") {\n showModal(\"success\", { isOpen: true, message: props });\n return;\n }\n showModal(\"success\", {\n isOpen: true,\n message: props.message,\n title: props.title,\n onClick: props.onClick,\n });\n};\n\nexport const showError = (message: string, title?: string) => {\n showModal(\"error\", { isOpen: true, message, title });\n};\n\nexport type ModalProviderProps = { children: ReactNode };\n"],"mappings":"mDAgDA,IAAM,EAAwC,CAC5C,OAAQ,GACR,QAAS,aACT,MAAO,WACP,YAAa,UACb,QAAS,MACX,EAEM,EAAoC,CACxC,OAAQ,EACV,EAEM,EAAoC,CACxC,OAAQ,EACV,EAEA,SAAS,EAA2C,EAA6B,CAC/E,MAAM,EAAO,CAAE,GAAG,CAAM,EACxB,cAAO,EAAK,OACL,CACT,CAEA,GAAM,CAAE,MAAO,EAAY,SAAU,CAAA,EAAkB,EAAA,UACrD,CACE,UAAW,OACX,UAAW,EACX,aAAc,EACd,aAAc,CAChB,EACC,IAAS,CACR,UAAA,CAAY,EAAW,IAAU,CAE/B,EAAI,CACF,UAAA,EACA,UAAW,CACT,OAAQ,GACR,QAAS,EACT,GANc,EAAW,CAMtB,CACL,CACF,CAAC,CACH,EACA,UAAY,GAAc,CACxB,GAAI,IAAc,UAAW,CAC3B,EAAI,CAAE,aAAc,CAAe,CAAC,EACpC,MACF,CACA,GAAI,IAAc,UAAW,CAC3B,EAAI,CAAE,aAAc,CAAe,CAAC,EACpC,MACF,CACA,EAAI,CACF,UAAW,OACX,UAAW,CACb,CAAC,CACH,EACA,YAAc,GAAU,EAAI,CAAE,aAAc,CAAE,GAAG,EAAgB,GAAG,EAAO,OAAQ,EAAK,CAAE,CAAC,EAC3F,YAAc,GAAU,EAAI,CAAE,aAAc,CAAE,GAAG,EAAgB,GAAG,EAAO,OAAQ,EAAK,CAAE,CAAC,CAC7F,EACF,EAEM,EAAY,EAAW,SAAS,EAAE,UAClC,EAAY,EAAW,SAAS,EAAE,UAClC,EAAc,EAAW,SAAS,EAAE,YACpC,EAAc,EAAW,SAAS,EAAE,YAM7B,EAAA,CAAY,EAAiB,IAAmB,CAC3D,EAAU,OAAQ,CAAE,OAAQ,GAAM,QAAA,EAAS,MAAA,CAAM,CAAC,CACpD,EAQa,EAAe,GAAqC,CAC/D,GAAI,OAAO,GAAU,SAAU,CAC7B,EAAU,UAAW,CAAE,OAAQ,GAAM,QAAS,CAAM,CAAC,EACrD,MACF,CACA,EAAU,UAAW,CACnB,OAAQ,GACR,QAAS,EAAM,QACf,MAAO,EAAM,MACb,QAAS,EAAM,OACjB,CAAC,CACH,EAEa,EAAA,CAAa,EAAiB,IAAmB,CAC5D,EAAU,QAAS,CAAE,OAAQ,GAAM,QAAA,EAAS,MAAA,CAAM,CAAC,CACrD"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { l } from "./chunk-preference-x4EdmqU6.mjs";
|
|
2
|
+
var t = {
|
|
3
|
+
isOpen: !1,
|
|
4
|
+
message: "No message",
|
|
5
|
+
title: "No title",
|
|
6
|
+
confirmText: "Confirm",
|
|
7
|
+
onClick: void 0
|
|
8
|
+
}, i = { isOpen: !1 }, r = { isOpen: !1 };
|
|
9
|
+
function d(e) {
|
|
10
|
+
const a = { ...e };
|
|
11
|
+
return delete a.isOpen, a;
|
|
12
|
+
}
|
|
13
|
+
var { store: s, useStore: u } = l({
|
|
14
|
+
modalType: void 0,
|
|
15
|
+
baseModal: t,
|
|
16
|
+
confirmModal: i,
|
|
17
|
+
loadingModal: r
|
|
18
|
+
}, (e) => ({
|
|
19
|
+
showModal: (a, n) => {
|
|
20
|
+
e({
|
|
21
|
+
modalType: a,
|
|
22
|
+
baseModal: {
|
|
23
|
+
isOpen: !0,
|
|
24
|
+
variant: a,
|
|
25
|
+
...d(n)
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
hideModal: (a) => {
|
|
30
|
+
if (a === "confirm") {
|
|
31
|
+
e({ confirmModal: i });
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (a === "loading") {
|
|
35
|
+
e({ loadingModal: r });
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
e({
|
|
39
|
+
modalType: void 0,
|
|
40
|
+
baseModal: t
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
showConfirm: (a) => e({ confirmModal: {
|
|
44
|
+
...i,
|
|
45
|
+
...a,
|
|
46
|
+
isOpen: !0
|
|
47
|
+
} }),
|
|
48
|
+
showLoading: (a) => e({ loadingModal: {
|
|
49
|
+
...r,
|
|
50
|
+
...a,
|
|
51
|
+
isOpen: !0
|
|
52
|
+
} })
|
|
53
|
+
})), o = s.getState().showModal, m = s.getState().hideModal, g = s.getState().showConfirm, M = s.getState().showLoading, c = (e, a) => {
|
|
54
|
+
o("info", {
|
|
55
|
+
isOpen: !0,
|
|
56
|
+
message: e,
|
|
57
|
+
title: a
|
|
58
|
+
});
|
|
59
|
+
}, h = (e) => {
|
|
60
|
+
if (typeof e == "string") {
|
|
61
|
+
o("success", {
|
|
62
|
+
isOpen: !0,
|
|
63
|
+
message: e
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
o("success", {
|
|
68
|
+
isOpen: !0,
|
|
69
|
+
message: e.message,
|
|
70
|
+
title: e.title,
|
|
71
|
+
onClick: e.onClick
|
|
72
|
+
});
|
|
73
|
+
}, v = (e, a) => {
|
|
74
|
+
o("error", {
|
|
75
|
+
isOpen: !0,
|
|
76
|
+
message: e,
|
|
77
|
+
title: a
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
export {
|
|
81
|
+
c as a,
|
|
82
|
+
h as c,
|
|
83
|
+
v as i,
|
|
84
|
+
u as l,
|
|
85
|
+
m as n,
|
|
86
|
+
M as o,
|
|
87
|
+
g as r,
|
|
88
|
+
o as s,
|
|
89
|
+
s as t
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
//# sourceMappingURL=chunk-modal-D9vk2ENf.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-modal-D9vk2ENf.mjs","names":[],"sources":["../src/stores/modal.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nimport { makeStore } from \"@/stores/makeStore\";\n\ntype ModalType = \"success\" | \"error\" | \"info\";\n\nexport interface BaseModalProps {\n isOpen: boolean;\n message?: string;\n title?: string;\n confirmText?: string;\n onClick?: () => void;\n variant?: ModalType;\n}\n\nexport interface ConfirmModalProps {\n isOpen: boolean;\n title?: string;\n message?: string;\n confirmText?: string;\n cancelText?: string;\n confirmInputText?: string;\n variant?: \"default\" | \"hold\";\n holdDurationMs?: number;\n onConfirm?: () => void;\n onCancel?: () => void;\n}\n\nexport interface LoadingModalProps {\n isOpen: boolean;\n message?: string;\n canClose?: boolean;\n}\n\ninterface ModalState {\n modalType: ModalType | undefined;\n baseModal: BaseModalProps;\n confirmModal: ConfirmModalProps;\n loadingModal: LoadingModalProps;\n}\n\ninterface ModalActions {\n showModal: (modalType: ModalType, props: BaseModalProps) => void;\n hideModal: (modalType?: string) => void;\n showConfirm: (props: Omit<ConfirmModalProps, \"isOpen\">) => void;\n showLoading: (props?: Omit<LoadingModalProps, \"isOpen\">) => void;\n}\n\nconst defaultBaseModalProps: BaseModalProps = {\n isOpen: false,\n message: \"No message\",\n title: \"No title\",\n confirmText: \"Confirm\",\n onClick: undefined,\n};\n\nconst defaultConfirm: ConfirmModalProps = {\n isOpen: false,\n};\n\nconst defaultLoading: LoadingModalProps = {\n isOpen: false,\n};\n\nfunction omitIsOpen<T extends { isOpen?: boolean }>(props: T): Omit<T, \"isOpen\"> {\n const rest = { ...props };\n delete rest.isOpen;\n return rest as Omit<T, \"isOpen\">;\n}\n\nconst { store: ModalStore, useStore: useModalStore } = makeStore<ModalState, ModalActions>(\n {\n modalType: undefined,\n baseModal: defaultBaseModalProps,\n confirmModal: defaultConfirm,\n loadingModal: defaultLoading,\n },\n (set) => ({\n showModal: (modalType, props) => {\n const restProps = omitIsOpen(props);\n set({\n modalType,\n baseModal: {\n isOpen: true,\n variant: modalType,\n ...restProps,\n },\n });\n },\n hideModal: (modalType) => {\n if (modalType === \"confirm\") {\n set({ confirmModal: defaultConfirm });\n return;\n }\n if (modalType === \"loading\") {\n set({ loadingModal: defaultLoading });\n return;\n }\n set({\n modalType: undefined,\n baseModal: defaultBaseModalProps,\n });\n },\n showConfirm: (props) => set({ confirmModal: { ...defaultConfirm, ...props, isOpen: true } }),\n showLoading: (props) => set({ loadingModal: { ...defaultLoading, ...props, isOpen: true } }),\n }),\n);\n\nconst showModal = ModalStore.getState().showModal;\nconst hideModal = ModalStore.getState().hideModal;\nconst showConfirm = ModalStore.getState().showConfirm;\nconst showLoading = ModalStore.getState().showLoading;\n\nexport { showModal, hideModal, showConfirm, showLoading };\nexport { ModalStore, useModalStore };\nexport default ModalStore;\n\nexport const showInfo = (message: string, title?: string) => {\n showModal(\"info\", { isOpen: true, message, title });\n};\n\nexport type ShowSuccessProps = {\n message: string;\n title?: string;\n onClick?: () => void;\n};\n\nexport const showSuccess = (props: ShowSuccessProps | string) => {\n if (typeof props === \"string\") {\n showModal(\"success\", { isOpen: true, message: props });\n return;\n }\n showModal(\"success\", {\n isOpen: true,\n message: props.message,\n title: props.title,\n onClick: props.onClick,\n });\n};\n\nexport const showError = (message: string, title?: string) => {\n showModal(\"error\", { isOpen: true, message, title });\n};\n\nexport type ModalProviderProps = { children: ReactNode };\n"],"mappings":";AAgDA,IAAM,IAAwC;AAAA,EAC5C,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,aAAa;AAAA,EACb,SAAS;AACX,GAEM,IAAoC,EACxC,QAAQ,GACV,GAEM,IAAoC,EACxC,QAAQ,GACV;AAEA,SAAS,EAA2C,GAA6B;AAC/E,QAAM,IAAO,EAAE,GAAG,EAAM;AACxB,gBAAO,EAAK,QACL;AACT;AAEA,IAAM,EAAE,OAAO,GAAY,UAAU,EAAA,IAAkB,EACrD;AAAA,EACE,WAAW;AAAA,EACX,WAAW;AAAA,EACX,cAAc;AAAA,EACd,cAAc;AAChB,GAAA,CACC,OAAS;AAAA,EACR,WAAA,CAAY,GAAW,MAAU;AAE/B,IAAA,EAAI;AAAA,MACF,WAAA;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,GANc,EAAW,CAMtB;AAAA,MACL;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,WAAA,CAAY,MAAc;AACxB,QAAI,MAAc,WAAW;AAC3B,MAAA,EAAI,EAAE,cAAc,EAAe,CAAC;AACpC;AAAA,IACF;AACA,QAAI,MAAc,WAAW;AAC3B,MAAA,EAAI,EAAE,cAAc,EAAe,CAAC;AACpC;AAAA,IACF;AACA,IAAA,EAAI;AAAA,MACF,WAAW;AAAA,MACX,WAAW;AAAA,IACb,CAAC;AAAA,EACH;AAAA,EACA,aAAA,CAAc,MAAU,EAAI,EAAE,cAAc;AAAA,IAAE,GAAG;AAAA,IAAgB,GAAG;AAAA,IAAO,QAAQ;AAAA,EAAK,EAAE,CAAC;AAAA,EAC3F,aAAA,CAAc,MAAU,EAAI,EAAE,cAAc;AAAA,IAAE,GAAG;AAAA,IAAgB,GAAG;AAAA,IAAO,QAAQ;AAAA,EAAK,EAAE,CAAC;AAC7F,EACF,GAEM,IAAY,EAAW,SAAS,EAAE,WAClC,IAAY,EAAW,SAAS,EAAE,WAClC,IAAc,EAAW,SAAS,EAAE,aACpC,IAAc,EAAW,SAAS,EAAE,aAM7B,IAAA,CAAY,GAAiB,MAAmB;AAC3D,EAAA,EAAU,QAAQ;AAAA,IAAE,QAAQ;AAAA,IAAM,SAAA;AAAA,IAAS,OAAA;AAAA,EAAM,CAAC;AACpD,GAQa,IAAA,CAAe,MAAqC;AAC/D,MAAI,OAAO,KAAU,UAAU;AAC7B,IAAA,EAAU,WAAW;AAAA,MAAE,QAAQ;AAAA,MAAM,SAAS;AAAA,IAAM,CAAC;AACrD;AAAA,EACF;AACA,EAAA,EAAU,WAAW;AAAA,IACnB,QAAQ;AAAA,IACR,SAAS,EAAM;AAAA,IACf,OAAO,EAAM;AAAA,IACb,SAAS,EAAM;AAAA,EACjB,CAAC;AACH,GAEa,IAAA,CAAa,GAAiB,MAAmB;AAC5D,EAAA,EAAU,SAAS;AAAA,IAAE,QAAQ;AAAA,IAAM,SAAA;AAAA,IAAS,OAAA;AAAA,EAAM,CAAC;AACrD"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const a=require("./chunk-dashboard-CFT0HjSM.cjs"),u=require("./chunk-preference-BXXryZLY.cjs");let o=require("react");function i(){const e=u.usePreferenceStore(r=>r.theme.appearance),[n,t]=(0,o.useState)(u.readSystemRadixAppearance);return(0,o.useEffect)(()=>{if(e!==a.AppearanceEnum.SYSTEM)return;const r=window.matchMedia("(prefers-color-scheme: dark)"),c=()=>t(r.matches?a.AppearanceEnum.DARK:a.AppearanceEnum.LIGHT);return c(),r.addEventListener("change",c),()=>r.removeEventListener("change",c)},[e]),e===a.AppearanceEnum.SYSTEM?n:u.resolveRadixAppearance(e)}function p(e){return!!(e.language!==void 0||e.theme&&Object.keys(e.theme).length>0||e.layoutMode!==void 0||e.dashboardBackground!==void 0)}var f;function d(e){f=e}var l=e=>{const{isAuthValid:n,applyKey:t,serverPreference:r}=e,c=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!n||!r)return;const s=t??"default";c.current!==s&&(c.current=s,u.replacePreference(r))},[n,t,r])},y=()=>({syncPreference:n=>{u.setPreference(n),p(n)&&Promise.resolve(f?.(u.PreferenceStore.getState())).catch(t=>{console.error("Failed to sync preference:",t)})}});Object.defineProperty(exports,"configurePreferenceSync",{enumerable:!0,get:function(){return d}});Object.defineProperty(exports,"useApplyPreferenceOnLoad",{enumerable:!0,get:function(){return l}});Object.defineProperty(exports,"useResolvedAppearance",{enumerable:!0,get:function(){return i}});Object.defineProperty(exports,"useSyncPreference",{enumerable:!0,get:function(){return y}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-preference-BP-GO9Uk.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-preference-BP-GO9Uk.cjs","names":[],"sources":["../src/hooks/preference.ts"],"sourcesContent":["/**\n * Shared preference hooks — appearance resolve + host-configured server sync.\n */\nimport type { PreferencePatch, ResolvedPreference } from \"@/stores/preference\";\nimport type { RadixAppearance } from \"@/themes/radix\";\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AppearanceEnum } from \"@/enums/theme\";\nimport {\n PreferenceStore,\n replacePreference,\n setPreference,\n usePreferenceStore,\n} from \"@/stores/preference\";\nimport { readSystemRadixAppearance, resolveRadixAppearance } from \"@/themes/radix\";\n\n/** 将 theme.appearance(含 system)解析为当前生效的 Radix light|dark,并在跟随系统时响应 OS 切换。 */\nexport function useResolvedAppearance(): RadixAppearance {\n const appearance = usePreferenceStore((s) => s.theme.appearance);\n const [systemAppearance, setSystemAppearance] = useState<RadixAppearance>(readSystemRadixAppearance);\n\n useEffect(() => {\n if (appearance !== AppearanceEnum.SYSTEM) return;\n const mq = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const onChange = () => setSystemAppearance(mq.matches ? AppearanceEnum.DARK : AppearanceEnum.LIGHT);\n onChange();\n mq.addEventListener(\"change\", onChange);\n return () => mq.removeEventListener(\"change\", onChange);\n }, [appearance]);\n\n return appearance === AppearanceEnum.SYSTEM ? systemAppearance : resolveRadixAppearance(appearance);\n}\n\nfunction patchHasServerField(patch: PreferencePatch): boolean {\n if (patch.language !== undefined) return true;\n if (patch.theme && Object.keys(patch.theme).length > 0) return true;\n if (patch.layoutMode !== undefined) return true;\n if (patch.dashboardBackground !== undefined) return true;\n return false;\n}\n\ntype PreferenceSyncFn = (state: ResolvedPreference) => void | Promise<void>;\nlet preferenceSync: PreferenceSyncFn | undefined;\n\n/** Hosts register persistence here — no CityPulso API. */\nexport function configurePreferenceSync(fn: PreferenceSyncFn | undefined): void {\n preferenceSync = fn;\n}\n\n/** 登录后用服务端偏好覆盖本地;无服务端数据时保留本地 persist。 */\nexport const useApplyPreferenceOnLoad = (args: {\n isAuthValid: boolean;\n applyKey?: string | null;\n serverPreference?: ResolvedPreference | null;\n}) => {\n const { isAuthValid, applyKey, serverPreference } = args;\n const lastAppliedKey = useRef<string | null>(null);\n\n useEffect(() => {\n if (!isAuthValid || !serverPreference) return;\n const key = applyKey ?? \"default\";\n if (lastAppliedKey.current === key) return;\n lastAppliedKey.current = key;\n replacePreference(serverPreference);\n }, [isAuthValid, applyKey, serverPreference]);\n};\n\nexport const useSyncPreference = () => {\n const syncPreference = (patch: PreferencePatch) => {\n setPreference(patch);\n if (!patchHasServerField(patch)) return;\n void Promise.resolve(preferenceSync?.(PreferenceStore.getState())).catch((error) => {\n console.error(\"Failed to sync preference:\", error);\n });\n };\n\n return { syncPreference };\n};\n"],"mappings":"sHAkBA,SAAgB,GAAyC,CACvD,MAAM,EAAa,EAAA,mBAAoB,GAAM,EAAE,MAAM,UAAU,EACzD,CAAC,EAAkB,CAAA,KAAuB,EAAA,UAA0B,EAAA,yBAAyB,EAEnG,SAAA,EAAA,WAAA,IAAgB,CACd,GAAI,IAAe,EAAA,eAAe,OAAQ,OAC1C,MAAM,EAAK,OAAO,WAAW,8BAA8B,EACrD,EAAA,IAAiB,EAAoB,EAAG,QAAU,EAAA,eAAe,KAAO,EAAA,eAAe,KAAK,EAClG,OAAA,EAAS,EACT,EAAG,iBAAiB,SAAU,CAAQ,EACtC,IAAa,EAAG,oBAAoB,SAAU,CAAQ,CACxD,EAAG,CAAC,CAAU,CAAC,EAER,IAAe,EAAA,eAAe,OAAS,EAAmB,EAAA,uBAAuB,CAAU,CACpG,CAEA,SAAS,EAAoB,EAAiC,CAI5D,MAHI,GAAA,EAAM,WAAa,QACnB,EAAM,OAAS,OAAO,KAAK,EAAM,KAAK,EAAE,OAAS,GACjD,EAAM,aAAe,QACrB,EAAM,sBAAwB,OAEpC,CAGA,IAAI,EAGJ,SAAgB,EAAwB,EAAwC,CAC9E,EAAiB,CACnB,CAGA,IAAa,EAA4B,GAInC,CACJ,KAAM,CAAE,YAAA,EAAa,SAAA,EAAU,iBAAA,CAAA,EAAqB,EAC9C,KAAiB,EAAA,QAAsB,IAAI,KAEjD,EAAA,WAAA,IAAgB,CACd,GAAI,CAAC,GAAe,CAAC,EAAkB,OACvC,MAAM,EAAM,GAAY,UACpB,EAAe,UAAY,IAC/B,EAAe,QAAU,EACzB,EAAA,kBAAkB,CAAgB,EACpC,EAAG,CAAC,EAAa,EAAU,CAAgB,CAAC,CAC9C,EAEa,EAAA,KASJ,CAAE,eARe,GAA2B,CACjD,EAAA,cAAc,CAAK,EACd,EAAoB,CAAK,GAC9B,QAAa,QAAQ,IAAiB,EAAA,gBAAgB,SAAS,CAAC,CAAC,EAAE,MAAO,GAAU,CAClF,QAAQ,MAAM,6BAA8B,CAAK,CACnD,CAAC,CACH,CAEwB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const e=require("./chunk-dashboard-CFT0HjSM.cjs");let p=require("zustand");var V=Object.values(e.AccentColorEnum),K=Object.values(e.GrayColorEnum),w=[e.AppearanceEnum.LIGHT,e.AppearanceEnum.DARK],W=Object.values(e.AppearanceEnum),x=Object.values(e.RadiusEnum),q=Object.values(e.ScalingEnum),J=Object.values(e.PanelBackgroundEnum),z={[e.BaseEnum.LINUX]:e.RadiusEnum.NONE,[e.BaseEnum.ANDROID]:e.RadiusEnum.SMALL,[e.BaseEnum.DEFAULT]:e.RadiusEnum.MEDIUM,[e.BaseEnum.WINDOWS]:e.RadiusEnum.LARGE,[e.BaseEnum.IOS]:e.RadiusEnum.FULL},$={[e.RadiusEnum.NONE]:e.BaseEnum.LINUX,[e.RadiusEnum.SMALL]:e.BaseEnum.ANDROID,[e.RadiusEnum.MEDIUM]:e.BaseEnum.DEFAULT,[e.RadiusEnum.LARGE]:e.BaseEnum.WINDOWS,[e.RadiusEnum.FULL]:e.BaseEnum.IOS},j=e.AccentColorEnum.TOMATO,B=e.GrayColorEnum.SLATE,N=e.ScalingEnum.S100,M=e.PanelBackgroundEnum.TRANSLUCENT,Q=e.ThemeFontFamilyEnum.SYSTEM,Z=Object.values(e.ThemeFontFamilyEnum),v=e.AppearanceEnum.SYSTEM;function F(){return typeof window>"u"||typeof window.matchMedia!="function"?e.AppearanceEnum.LIGHT:window.matchMedia("(prefers-color-scheme: dark)").matches?e.AppearanceEnum.DARK:e.AppearanceEnum.LIGHT}function ee(r){return r===e.AppearanceEnum.SYSTEM?F():r}function C(){return{accent:j,gray:B,appearance:v,radius:e.RadiusEnum.MEDIUM,scaling:N,panelBackground:M,fontFamily:Q}}function X(r,a=v,n=e.RadiusEnum.MEDIUM){const t=r??{};return{accent:e.AccentColor(t.accent),gray:e.GrayColor(t.gray),appearance:e.Appearance(t.appearance??a),radius:e.Radius(t.radius??n),scaling:e.Scaling(t.scaling),panelBackground:e.PanelBackground(t.panelBackground),fontFamily:e.ThemeFontFamily(t.fontFamily)}}var _=(function(r){return r.SHOW="show",r.HIDE="hide",r})(_||{}),D="show",re=Object.values(_),te="layout-storage",ne=r=>(a,n,t)=>{const c=t.subscribe;return t.subscribe=((u,l,i)=>{let A=u;if(l){const f=i?.equalityFn||Object.is;let s=u(t.getState());A=b=>{const y=u(b);if(!f(s,y)){const E=s;l(s=y,E)}},i?.fireImmediately&&l(s,s)}return c(A)}),r(a,n,t)},k=ne;function ue(r,a){let n;try{n=r()}catch{return}return{getItem:t=>{var c;const u=i=>i===null?null:JSON.parse(i,a?.reviver),l=(c=n.getItem(t))!=null?c:null;return l instanceof Promise?l.then(u):u(l)},setItem:(t,c)=>n.setItem(t,JSON.stringify(c,a?.replacer)),removeItem:t=>n.removeItem(t)}}var R=r=>a=>{try{const n=r(a);return n instanceof Promise?n:{then(t){return R(t)(n)},catch(t){return this}}}catch(n){return{then(t){return this},catch(t){return R(t)(n)}}}},ae=(r,a)=>(n,t,c)=>{let u={storage:ue(()=>window.localStorage),partialize:o=>o,version:0,merge:(o,g)=>({...g,...o}),...a},l=!1,i=0;const A=new Set,f=new Set;let s=u.storage;if(!s)return r((...o)=>{console.warn(`[zustand persist middleware] Unable to update item '${u.name}', the given storage is currently unavailable.`),n(...o)},t,c);const b=()=>{const o=u.partialize({...t()});return s.setItem(u.name,{state:o,version:u.version})},y=c.setState;c.setState=(o,g)=>(y(o,g),b());const E=r((...o)=>(n(...o),b()),t,c);c.getInitialState=()=>E;let S;const h=()=>{var o,g;if(!s)return;const O=++i;l=!1,A.forEach(d=>{var m;return d((m=t())!=null?m:E)});const T=((g=u.onRehydrateStorage)==null?void 0:g.call(u,(o=t())!=null?o:E))||void 0;return R(s.getItem.bind(s))(u.name).then(d=>{if(d)if(typeof d.version=="number"&&d.version!==u.version){if(u.migrate){const m=u.migrate(d.state,d.version);return m instanceof Promise?m.then(P=>[!0,P]):[!0,m]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,d.state];return[!1,void 0]}).then(d=>{var m;if(O!==i)return;const[P,Y]=d;if(S=u.merge(Y,(m=t())!=null?m:E),n(S,!0),P)return b()}).then(()=>{O===i&&(T?.(t(),void 0),S=t(),l=!0,f.forEach(d=>d(S)))}).catch(d=>{O===i&&T?.(void 0,d)})};return c.persist={setOptions:o=>{u={...u,...o},o.storage&&(s=o.storage)},clearStorage:()=>{++i,s?.removeItem(u.name)},getOptions:()=>u,rehydrate:()=>h(),hasHydrated:()=>l,onHydrate:o=>(A.add(o),()=>{A.delete(o)}),onFinishHydration:o=>(f.add(o),()=>{f.delete(o)})},u.skipHydration||h(),S||E},oe=ae;function ce(r,a){const n=(0,p.createStore)()(k((c,u)=>({...r,...a(c,u)})));return{store:n,useStore:c=>(0,p.useStore)(n,c)}}function G(r){const{name:a,initialState:n,actions:t,partialize:c,version:u,migrate:l}=r,i=(0,p.createStore)()(k(oe((f,s)=>({...n,...t(f,s)}),{name:a,...c&&{partialize:c},...u!==void 0&&{version:u},...l&&{migrate:l}})));return{store:i,useStore:f=>(0,p.useStore)(i,f)}}function I(){return{language:"zh",theme:C(),layoutMode:D,dashboardBackground:e.DEFAULT_DASHBOARD_BACKGROUND}}function U(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)}function H(r){const a=I();if(!U(r))return a;const n=U(r.theme)?r.theme:void 0;return{language:e.Language(typeof r.language=="string"?r.language:void 0),theme:X(n),layoutMode:r.layoutMode===_.HIDE?_.HIDE:D,dashboardBackground:e.DashboardBackground(typeof r.dashboardBackground=="string"?r.dashboardBackground:void 0)}}function ie(r){return{language:r.language,theme:{...r.theme},layoutMode:r.layoutMode,dashboardBackground:r.dashboardBackground}}var{store:L,useStore:se}=G({name:"nfx-preference",initialState:I(),version:2,migrate:r=>H(r),partialize:r=>({language:r.language,theme:r.theme,layoutMode:r.layoutMode,dashboardBackground:r.dashboardBackground}),actions:r=>({setPreference:a=>r(n=>({language:a.language??n.language,theme:{...n.theme,...a.theme},layoutMode:a.layoutMode??n.layoutMode,dashboardBackground:a.dashboardBackground??n.dashboardBackground})),replacePreference:a=>r(()=>a)})}),le=L.getState().setPreference,de=L.getState().replacePreference;Object.defineProperty(exports,"BASE_TO_RADIX_RADIUS",{enumerable:!0,get:function(){return z}});Object.defineProperty(exports,"DEFAULT_LAYOUT_MODE",{enumerable:!0,get:function(){return D}});Object.defineProperty(exports,"DEFAULT_RADIX_ACCENT",{enumerable:!0,get:function(){return j}});Object.defineProperty(exports,"DEFAULT_RADIX_GRAY",{enumerable:!0,get:function(){return B}});Object.defineProperty(exports,"DEFAULT_RADIX_PANEL_BACKGROUND",{enumerable:!0,get:function(){return M}});Object.defineProperty(exports,"DEFAULT_RADIX_SCALING",{enumerable:!0,get:function(){return N}});Object.defineProperty(exports,"DEFAULT_THEME_APPEARANCE",{enumerable:!0,get:function(){return v}});Object.defineProperty(exports,"LAYOUT_MODE_VALUES",{enumerable:!0,get:function(){return re}});Object.defineProperty(exports,"LAYOUT_STORAGE_KEY",{enumerable:!0,get:function(){return te}});Object.defineProperty(exports,"LayoutModeEnum",{enumerable:!0,get:function(){return _}});Object.defineProperty(exports,"PreferenceStore",{enumerable:!0,get:function(){return L}});Object.defineProperty(exports,"RADIX_ACCENT_VALUES",{enumerable:!0,get:function(){return V}});Object.defineProperty(exports,"RADIX_APPEARANCE_VALUES",{enumerable:!0,get:function(){return w}});Object.defineProperty(exports,"RADIX_GRAY_VALUES",{enumerable:!0,get:function(){return K}});Object.defineProperty(exports,"RADIX_PANEL_BACKGROUND_VALUES",{enumerable:!0,get:function(){return J}});Object.defineProperty(exports,"RADIX_RADIUS_TO_BASE",{enumerable:!0,get:function(){return $}});Object.defineProperty(exports,"RADIX_RADIUS_VALUES",{enumerable:!0,get:function(){return x}});Object.defineProperty(exports,"RADIX_SCALING_VALUES",{enumerable:!0,get:function(){return q}});Object.defineProperty(exports,"THEME_APPEARANCE_VALUES",{enumerable:!0,get:function(){return W}});Object.defineProperty(exports,"THEME_FONT_FAMILY_VALUES",{enumerable:!0,get:function(){return Z}});Object.defineProperty(exports,"getDefaultPreference",{enumerable:!0,get:function(){return I}});Object.defineProperty(exports,"getDefaultThemePreference",{enumerable:!0,get:function(){return C}});Object.defineProperty(exports,"makePersistStore",{enumerable:!0,get:function(){return G}});Object.defineProperty(exports,"makeStore",{enumerable:!0,get:function(){return ce}});Object.defineProperty(exports,"parseServerPreference",{enumerable:!0,get:function(){return H}});Object.defineProperty(exports,"readSystemRadixAppearance",{enumerable:!0,get:function(){return F}});Object.defineProperty(exports,"replacePreference",{enumerable:!0,get:function(){return de}});Object.defineProperty(exports,"resolveRadixAppearance",{enumerable:!0,get:function(){return ee}});Object.defineProperty(exports,"resolveThemePreference",{enumerable:!0,get:function(){return X}});Object.defineProperty(exports,"setPreference",{enumerable:!0,get:function(){return le}});Object.defineProperty(exports,"toServerPreference",{enumerable:!0,get:function(){return ie}});Object.defineProperty(exports,"usePreferenceStore",{enumerable:!0,get:function(){return se}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-preference-BXXryZLY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-preference-BXXryZLY.cjs","names":[],"sources":["../src/themes/radix/mappings.ts","../src/designs/layouts/types/layout.ts","../node_modules/zustand/esm/middleware.mjs","../src/stores/makeStore.ts","../src/stores/preference.ts"],"sourcesContent":["import type { ThemeProps } from \"@radix-ui/themes\";\n\nimport type { Nilable } from \"@/types\";\n\nimport {\n AccentColor,\n AccentColorEnum,\n Appearance,\n AppearanceEnum,\n BaseEnum,\n GrayColor,\n GrayColorEnum,\n PanelBackground,\n PanelBackgroundEnum,\n Radius,\n RadiusEnum,\n Scaling,\n ScalingEnum,\n ThemeFontFamily,\n ThemeFontFamilyEnum,\n} from \"@/enums/theme\";\n\nexport type RadixAccentColor = NonNullable<ThemeProps[\"accentColor\"]>;\nexport type RadixGrayColor = NonNullable<ThemeProps[\"grayColor\"]>;\nexport type RadixAppearance = Extract<NonNullable<ThemeProps[\"appearance\"]>, \"light\" | \"dark\">;\nexport type RadixRadius = NonNullable<ThemeProps[\"radius\"]>;\nexport type RadixScaling = NonNullable<ThemeProps[\"scaling\"]>;\nexport type RadixPanelBackground = NonNullable<ThemeProps[\"panelBackground\"]>;\n\nexport const RADIX_ACCENT_VALUES: readonly AccentColorEnum[] = Object.values(AccentColorEnum);\nexport const RADIX_GRAY_VALUES: readonly GrayColorEnum[] = Object.values(GrayColorEnum);\nexport const RADIX_APPEARANCE_VALUES: readonly RadixAppearance[] = [AppearanceEnum.LIGHT, AppearanceEnum.DARK];\nexport const THEME_APPEARANCE_VALUES: readonly AppearanceEnum[] = Object.values(AppearanceEnum);\nexport const RADIX_RADIUS_VALUES: readonly RadiusEnum[] = Object.values(RadiusEnum);\nexport const RADIX_SCALING_VALUES: readonly ScalingEnum[] = Object.values(ScalingEnum);\nexport const RADIX_PANEL_BACKGROUND_VALUES: readonly PanelBackgroundEnum[] = Object.values(PanelBackgroundEnum);\n\nexport const BASE_TO_RADIX_RADIUS: Record<BaseEnum, RadiusEnum> = {\n [BaseEnum.LINUX]: RadiusEnum.NONE,\n [BaseEnum.ANDROID]: RadiusEnum.SMALL,\n [BaseEnum.DEFAULT]: RadiusEnum.MEDIUM,\n [BaseEnum.WINDOWS]: RadiusEnum.LARGE,\n [BaseEnum.IOS]: RadiusEnum.FULL,\n};\n\nexport const RADIX_RADIUS_TO_BASE: Record<RadiusEnum, BaseEnum> = {\n [RadiusEnum.NONE]: BaseEnum.LINUX,\n [RadiusEnum.SMALL]: BaseEnum.ANDROID,\n [RadiusEnum.MEDIUM]: BaseEnum.DEFAULT,\n [RadiusEnum.LARGE]: BaseEnum.WINDOWS,\n [RadiusEnum.FULL]: BaseEnum.IOS,\n};\n\nexport const DEFAULT_RADIX_ACCENT = AccentColorEnum.TOMATO;\nexport const DEFAULT_RADIX_GRAY = GrayColorEnum.SLATE;\nexport const DEFAULT_RADIX_SCALING = ScalingEnum.S100;\nexport const DEFAULT_RADIX_PANEL_BACKGROUND = PanelBackgroundEnum.TRANSLUCENT;\nexport const DEFAULT_THEME_FONT_FAMILY = ThemeFontFamilyEnum.SYSTEM;\nexport const THEME_FONT_FAMILY_VALUES: readonly ThemeFontFamilyEnum[] = Object.values(ThemeFontFamilyEnum);\nexport const DEFAULT_THEME_APPEARANCE = AppearanceEnum.SYSTEM;\n\nexport function readSystemRadixAppearance(): RadixAppearance {\n if (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") return AppearanceEnum.LIGHT;\n return window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? AppearanceEnum.DARK : AppearanceEnum.LIGHT;\n}\n\nexport function resolveRadixAppearance(appearance: AppearanceEnum): RadixAppearance {\n return appearance === AppearanceEnum.SYSTEM ? readSystemRadixAppearance() : appearance;\n}\n\nexport interface ResolvedThemePreference {\n accent: AccentColorEnum;\n gray: GrayColorEnum;\n appearance: AppearanceEnum;\n radius: RadiusEnum;\n scaling: ScalingEnum;\n panelBackground: PanelBackgroundEnum;\n fontFamily: ThemeFontFamilyEnum;\n}\n\nexport function getDefaultThemePreference(): ResolvedThemePreference {\n return {\n accent: DEFAULT_RADIX_ACCENT,\n gray: DEFAULT_RADIX_GRAY,\n appearance: DEFAULT_THEME_APPEARANCE,\n radius: RadiusEnum.MEDIUM,\n scaling: DEFAULT_RADIX_SCALING,\n panelBackground: DEFAULT_RADIX_PANEL_BACKGROUND,\n fontFamily: DEFAULT_THEME_FONT_FAMILY,\n };\n}\n\nexport function resolveThemePreference(\n partial: Nilable<Partial<ResolvedThemePreference>>,\n fallbackAppearance: AppearanceEnum = DEFAULT_THEME_APPEARANCE,\n fallbackRadius: RadiusEnum = RadiusEnum.MEDIUM,\n): ResolvedThemePreference {\n const p = partial ?? {};\n return {\n accent: AccentColor(p.accent),\n gray: GrayColor(p.gray),\n appearance: Appearance(p.appearance ?? fallbackAppearance),\n radius: Radius(p.radius ?? fallbackRadius),\n scaling: Scaling(p.scaling),\n panelBackground: PanelBackground(p.panelBackground),\n fontFamily: ThemeFontFamily(p.fontFamily),\n };\n}\n","/**\n * 布局模式枚举与常量。Layout mode enum and constants.\n */\nenum LayoutModeEnum {\n SHOW = \"show\",\n HIDE = \"hide\",\n}\n\nconst DEFAULT_LAYOUT_MODE = LayoutModeEnum.SHOW;\nconst LAYOUT_MODE_VALUES = Object.values(LayoutModeEnum);\nconst LAYOUT_STORAGE_KEY = \"layout-storage\";\n\nexport { LayoutModeEnum, DEFAULT_LAYOUT_MODE, LAYOUT_MODE_VALUES, LAYOUT_STORAGE_KEY };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst shouldDispatchFromDevtools = (api) => !!api.dispatchFromDevtools && typeof api.dispatch === \"function\";\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst v8StackLineRe = /^at (?:new |async )?(.+?) \\(/;\nconst geckoStackLineRe = /^([^@]+)@/;\nfunction findCallerName(stack) {\n var _a, _b, _c;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return ((_b = v8StackLineRe.exec(callerLine)) == null ? void 0 : _b[1]) || ((_c = geckoStackLineRe.exec(callerLine)) == null ? void 0 : _c[1]);\n}\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = ((state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n });\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (shouldDispatchFromDevtools(api)) {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (shouldDispatchFromDevtools(api)) {\n api.dispatch(action);\n }\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = ((selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n });\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => window.localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n let hydrationVersion = 0;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n return setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n return setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n const currentVersion = ++hydrationVersion;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n if (currentVersion !== hydrationVersion) {\n return;\n }\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(get(), void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n ++hydrationVersion;\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nfunction ssrSafe(config, isSSR = typeof window === \"undefined\") {\n return (set, get, api) => {\n if (!isSSR) {\n return config(set, get, api);\n }\n const ssrSet = () => {\n throw new Error(\"Cannot set state of Zustand store in SSR\");\n };\n api.setState = ssrSet;\n return config(ssrSet, get, api);\n };\n}\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector, ssrSafe as unstable_ssrSafe };\n","/**\n * 通用 Store 工厂(学习 hooks 的 make 函数模式)。\n * Generic persist store factory.\n */\n\nimport { createStore, useStore } from \"zustand\";\nimport { persist, subscribeWithSelector } from \"zustand/middleware\";\n\n/** SetState:与 zustand 的 set 一致。Same as zustand set. */\nexport type SetState<S> = (partial: Partial<S> | ((state: S) => Partial<S>)) => void;\n\n/** GetState:与 zustand 的 get 一致。Same as zustand get. */\nexport type GetState<S> = () => S;\n\n/**\n * 创建带 subscribeWithSelector 的 Store(不持久化)。\n * Create store with subscribeWithSelector (no persist).\n *\n * @param initialState - 初始状态。Initial state.\n * @param actions - (set, get) => actions 对象。(set, get) => actions object.\n * @returns { store, useStore } 供外部使用。Returns { store, useStore }.\n *\n * @example\n * ```ts\n * const { store, useStore } = makeStore(\n * { count: 0 },\n * (set) => ({ increment: () => set((s) => ({ count: s.count + 1 })) })\n * );\n * const count = useStore((s) => s.count);\n * ```\n */\nexport function makeStore<S extends object, A extends object>(initialState: S, actions: (set: SetState<S & A>, get: GetState<S & A>) => A) {\n const store = createStore<S & A>()(\n subscribeWithSelector((set, get) => ({\n ...initialState,\n ...actions(set as SetState<S & A>, get as GetState<S & A>),\n })),\n );\n const useStoreBound = <T>(selector: (state: S & A) => T): T => useStore(store, selector);\n return { store, useStore: useStoreBound };\n}\n\n/** makePersistStore 的配置。Config for makePersistStore. */\nexport interface MakePersistStoreOptions<S extends object, A extends object> {\n /** 持久化 key(localStorage)。Persist key (localStorage). */\n name: string;\n /** 初始状态。Initial state. */\n initialState: S;\n /** (set, get) => actions。(set, get) => actions. */\n actions: (set: SetState<S & A>, get: GetState<S & A>) => A;\n /** 只持久化部分 state;缺省则全量。Partialize state to persist; default full. */\n partialize?: (state: S & A) => Partial<S & A>;\n /** 版本号(用于 migrate)。Version for migrate. */\n version?: number;\n /** 迁移旧持久化数据。Migrate persisted state. */\n migrate?: (persistedState: unknown, version: number) => Partial<S & A>;\n}\n\n/**\n * 创建带 persist + subscribeWithSelector 的 Store。\n * Create store with persist and subscribeWithSelector.\n *\n * @param options - name, initialState, actions, partialize?, version?, migrate?\n * @returns { store, useStore }\n *\n * @example\n * ```ts\n * const { store, useStore } = makePersistStore({\n * name: \"auth-storage\",\n * initialState: { token: null },\n * actions: (set) => ({ setToken: (t) => set({ token: t }) }),\n * });\n * ```\n */\nexport function makePersistStore<S extends object, A extends object>(options: MakePersistStoreOptions<S, A>) {\n const { name, initialState, actions: actionsFn, partialize, version, migrate } = options;\n const store = createStore<S & A>()(\n subscribeWithSelector(\n persist(\n (set, get) => ({\n ...initialState,\n ...actionsFn(set as SetState<S & A>, get as GetState<S & A>),\n }),\n {\n name,\n ...(partialize && { partialize }),\n ...(version !== undefined && { version }),\n ...(migrate && { migrate }),\n },\n ),\n ),\n );\n const useStoreBound = <T>(selector: (state: S & A) => T): T => useStore(store, selector);\n return { store, useStore: useStoreBound };\n}\n","/**\n * Shared preference store — theme + language + layout (no map/billing/event).\n */\nimport { DEFAULT_LAYOUT_MODE, LayoutModeEnum } from \"@/designs/layouts/types\";\nimport { DEFAULT_LANGUAGE, Language, type LanguageEnum } from \"@/enums/language\";\nimport { DashboardBackground, DEFAULT_DASHBOARD_BACKGROUND, DashboardBackgroundEnum } from \"@/enums/dashboard\";\nimport { getDefaultThemePreference, resolveThemePreference, type ResolvedThemePreference } from \"@/themes/radix\";\nimport { makePersistStore } from \"@/stores/makeStore\";\n\nexport interface ResolvedPreference {\n language: LanguageEnum;\n theme: ResolvedThemePreference;\n layoutMode: LayoutModeEnum;\n dashboardBackground: DashboardBackgroundEnum;\n}\n\nexport interface PreferencePatch {\n language?: LanguageEnum;\n theme?: Partial<ResolvedThemePreference>;\n layoutMode?: LayoutModeEnum;\n dashboardBackground?: DashboardBackgroundEnum;\n}\n\nexport function getDefaultPreference(): ResolvedPreference {\n return {\n language: DEFAULT_LANGUAGE,\n theme: getDefaultThemePreference(),\n layoutMode: DEFAULT_LAYOUT_MODE,\n dashboardBackground: DEFAULT_DASHBOARD_BACKGROUND,\n };\n}\n\nfunction isPlainRecord(v: unknown): v is Record<string, unknown> {\n return v !== null && typeof v === \"object\" && !Array.isArray(v);\n}\n\nexport function parseServerPreference(raw: unknown): ResolvedPreference {\n const d = getDefaultPreference();\n if (!isPlainRecord(raw)) return d;\n const themeRaw = isPlainRecord(raw.theme) ? (raw.theme as Partial<ResolvedThemePreference>) : undefined;\n return {\n language: Language(typeof raw.language === \"string\" ? raw.language : undefined),\n theme: resolveThemePreference(themeRaw),\n layoutMode: raw.layoutMode === LayoutModeEnum.HIDE ? LayoutModeEnum.HIDE : DEFAULT_LAYOUT_MODE,\n dashboardBackground: DashboardBackground(typeof raw.dashboardBackground === \"string\" ? raw.dashboardBackground : undefined),\n };\n}\n\nexport function toServerPreference(state: ResolvedPreference): ResolvedPreference {\n return {\n language: state.language,\n theme: { ...state.theme },\n layoutMode: state.layoutMode,\n dashboardBackground: state.dashboardBackground,\n };\n}\n\ninterface PreferenceActions {\n setPreference: (patch: PreferencePatch) => void;\n replacePreference: (next: ResolvedPreference) => void;\n}\n\nconst { store: PreferenceStore, useStore: usePreferenceStore } = makePersistStore<ResolvedPreference, PreferenceActions>({\n name: \"nfx-preference\",\n initialState: getDefaultPreference(),\n version: 2,\n migrate: (persisted) => parseServerPreference(persisted),\n partialize: (state) => ({\n language: state.language,\n theme: state.theme,\n layoutMode: state.layoutMode,\n dashboardBackground: state.dashboardBackground,\n }),\n actions: (set) => ({\n setPreference: (patch) =>\n set((s) => ({\n language: patch.language ?? s.language,\n theme: { ...s.theme, ...patch.theme },\n layoutMode: patch.layoutMode ?? s.layoutMode,\n dashboardBackground: patch.dashboardBackground ?? s.dashboardBackground,\n })),\n replacePreference: (next) => set(() => next),\n }),\n});\n\nconst setPreference = PreferenceStore.getState().setPreference;\nconst replacePreference = PreferenceStore.getState().replacePreference;\n\nexport { setPreference, replacePreference };\nexport { PreferenceStore, usePreferenceStore };\n"],"x_google_ignoreList":[2],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { m as s } from "./chunk-dashboard-BsGK96hu.mjs";
|
|
2
|
+
import { A as f, a as i, i as p, j as d, s as l, t as m } from "./chunk-preference-x4EdmqU6.mjs";
|
|
3
|
+
import { useEffect as o, useRef as y, useState as v } from "react";
|
|
4
|
+
function h() {
|
|
5
|
+
const e = l((r) => r.theme.appearance), [n, t] = v(f);
|
|
6
|
+
return o(() => {
|
|
7
|
+
if (e !== s.SYSTEM) return;
|
|
8
|
+
const r = window.matchMedia("(prefers-color-scheme: dark)"), a = () => t(r.matches ? s.DARK : s.LIGHT);
|
|
9
|
+
return a(), r.addEventListener("change", a), () => r.removeEventListener("change", a);
|
|
10
|
+
}, [e]), e === s.SYSTEM ? n : d(e);
|
|
11
|
+
}
|
|
12
|
+
function S(e) {
|
|
13
|
+
return !!(e.language !== void 0 || e.theme && Object.keys(e.theme).length > 0 || e.layoutMode !== void 0 || e.dashboardBackground !== void 0);
|
|
14
|
+
}
|
|
15
|
+
var u;
|
|
16
|
+
function E(e) {
|
|
17
|
+
u = e;
|
|
18
|
+
}
|
|
19
|
+
var R = (e) => {
|
|
20
|
+
const { isAuthValid: n, applyKey: t, serverPreference: r } = e, a = y(null);
|
|
21
|
+
o(() => {
|
|
22
|
+
if (!n || !r) return;
|
|
23
|
+
const c = t ?? "default";
|
|
24
|
+
a.current !== c && (a.current = c, p(r));
|
|
25
|
+
}, [
|
|
26
|
+
n,
|
|
27
|
+
t,
|
|
28
|
+
r
|
|
29
|
+
]);
|
|
30
|
+
}, k = () => ({ syncPreference: (n) => {
|
|
31
|
+
i(n), S(n) && Promise.resolve(u?.(m.getState())).catch((t) => {
|
|
32
|
+
console.error("Failed to sync preference:", t);
|
|
33
|
+
});
|
|
34
|
+
} });
|
|
35
|
+
export {
|
|
36
|
+
k as i,
|
|
37
|
+
R as n,
|
|
38
|
+
h as r,
|
|
39
|
+
E as t
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=chunk-preference-Y15HwKd0.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-preference-Y15HwKd0.mjs","names":[],"sources":["../src/hooks/preference.ts"],"sourcesContent":["/**\n * Shared preference hooks — appearance resolve + host-configured server sync.\n */\nimport type { PreferencePatch, ResolvedPreference } from \"@/stores/preference\";\nimport type { RadixAppearance } from \"@/themes/radix\";\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AppearanceEnum } from \"@/enums/theme\";\nimport {\n PreferenceStore,\n replacePreference,\n setPreference,\n usePreferenceStore,\n} from \"@/stores/preference\";\nimport { readSystemRadixAppearance, resolveRadixAppearance } from \"@/themes/radix\";\n\n/** 将 theme.appearance(含 system)解析为当前生效的 Radix light|dark,并在跟随系统时响应 OS 切换。 */\nexport function useResolvedAppearance(): RadixAppearance {\n const appearance = usePreferenceStore((s) => s.theme.appearance);\n const [systemAppearance, setSystemAppearance] = useState<RadixAppearance>(readSystemRadixAppearance);\n\n useEffect(() => {\n if (appearance !== AppearanceEnum.SYSTEM) return;\n const mq = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const onChange = () => setSystemAppearance(mq.matches ? AppearanceEnum.DARK : AppearanceEnum.LIGHT);\n onChange();\n mq.addEventListener(\"change\", onChange);\n return () => mq.removeEventListener(\"change\", onChange);\n }, [appearance]);\n\n return appearance === AppearanceEnum.SYSTEM ? systemAppearance : resolveRadixAppearance(appearance);\n}\n\nfunction patchHasServerField(patch: PreferencePatch): boolean {\n if (patch.language !== undefined) return true;\n if (patch.theme && Object.keys(patch.theme).length > 0) return true;\n if (patch.layoutMode !== undefined) return true;\n if (patch.dashboardBackground !== undefined) return true;\n return false;\n}\n\ntype PreferenceSyncFn = (state: ResolvedPreference) => void | Promise<void>;\nlet preferenceSync: PreferenceSyncFn | undefined;\n\n/** Hosts register persistence here — no CityPulso API. */\nexport function configurePreferenceSync(fn: PreferenceSyncFn | undefined): void {\n preferenceSync = fn;\n}\n\n/** 登录后用服务端偏好覆盖本地;无服务端数据时保留本地 persist。 */\nexport const useApplyPreferenceOnLoad = (args: {\n isAuthValid: boolean;\n applyKey?: string | null;\n serverPreference?: ResolvedPreference | null;\n}) => {\n const { isAuthValid, applyKey, serverPreference } = args;\n const lastAppliedKey = useRef<string | null>(null);\n\n useEffect(() => {\n if (!isAuthValid || !serverPreference) return;\n const key = applyKey ?? \"default\";\n if (lastAppliedKey.current === key) return;\n lastAppliedKey.current = key;\n replacePreference(serverPreference);\n }, [isAuthValid, applyKey, serverPreference]);\n};\n\nexport const useSyncPreference = () => {\n const syncPreference = (patch: PreferencePatch) => {\n setPreference(patch);\n if (!patchHasServerField(patch)) return;\n void Promise.resolve(preferenceSync?.(PreferenceStore.getState())).catch((error) => {\n console.error(\"Failed to sync preference:\", error);\n });\n };\n\n return { syncPreference };\n};\n"],"mappings":";;;AAkBA,SAAgB,IAAyC;AACvD,QAAM,IAAa,EAAA,CAAoB,MAAM,EAAE,MAAM,UAAU,GACzD,CAAC,GAAkB,CAAA,IAAuB,EAA0B,CAAyB;AAEnG,SAAA,EAAA,MAAgB;AACd,QAAI,MAAe,EAAe,OAAQ;AAC1C,UAAM,IAAK,OAAO,WAAW,8BAA8B,GACrD,IAAA,MAAiB,EAAoB,EAAG,UAAU,EAAe,OAAO,EAAe,KAAK;AAClG,WAAA,EAAS,GACT,EAAG,iBAAiB,UAAU,CAAQ,GACtC,MAAa,EAAG,oBAAoB,UAAU,CAAQ;AAAA,EACxD,GAAG,CAAC,CAAU,CAAC,GAER,MAAe,EAAe,SAAS,IAAmB,EAAuB,CAAU;AACpG;AAEA,SAAS,EAAoB,GAAiC;AAI5D,SAHI,GAAA,EAAM,aAAa,UACnB,EAAM,SAAS,OAAO,KAAK,EAAM,KAAK,EAAE,SAAS,KACjD,EAAM,eAAe,UACrB,EAAM,wBAAwB;AAEpC;AAGA,IAAI;AAGJ,SAAgB,EAAwB,GAAwC;AAC9E,EAAA,IAAiB;AACnB;AAGA,IAAa,IAAA,CAA4B,MAInC;AACJ,QAAM,EAAE,aAAA,GAAa,UAAA,GAAU,kBAAA,EAAA,IAAqB,GAC9C,IAAiB,EAAsB,IAAI;AAEjD,EAAA,EAAA,MAAgB;AACd,QAAI,CAAC,KAAe,CAAC,EAAkB;AACvC,UAAM,IAAM,KAAY;AACxB,IAAI,EAAe,YAAY,MAC/B,EAAe,UAAU,GACzB,EAAkB,CAAgB;AAAA,EACpC,GAAG;AAAA,IAAC;AAAA,IAAa;AAAA,IAAU;AAAA,EAAgB,CAAC;AAC9C,GAEa,IAAA,OASJ,EAAE,gBARH,CAAkB,MAA2B;AAEjD,EADA,EAAc,CAAK,GACd,EAAoB,CAAK,KAC9B,QAAa,QAAQ,IAAiB,EAAgB,SAAS,CAAC,CAAC,EAAE,MAAA,CAAO,MAAU;AAClF,YAAQ,MAAM,8BAA8B,CAAK;AAAA,EACnD,CAAC;AACH,EAEwB"}
|