@entropy-softworks/ui 2026.7.31
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/CHANGELOG.md +96 -0
- package/LICENSE +21 -0
- package/README.md +115 -0
- package/lib/components/auth/LockOverlay.d.ts +22 -0
- package/lib/components/auth/LockOverlay.d.ts.map +1 -0
- package/lib/components/auth/LockOverlay.jsx +82 -0
- package/lib/components/auth/LockOverlay.jsx.map +1 -0
- package/lib/components/auth/PasswordStrengthMeter.d.ts +12 -0
- package/lib/components/auth/PasswordStrengthMeter.d.ts.map +1 -0
- package/lib/components/auth/PasswordStrengthMeter.jsx +81 -0
- package/lib/components/auth/PasswordStrengthMeter.jsx.map +1 -0
- package/lib/components/auth/ProtectedRoute.d.ts +24 -0
- package/lib/components/auth/ProtectedRoute.d.ts.map +1 -0
- package/lib/components/auth/ProtectedRoute.jsx +56 -0
- package/lib/components/auth/ProtectedRoute.jsx.map +1 -0
- package/lib/components/auth/PwnedPasswordWarning.d.ts +13 -0
- package/lib/components/auth/PwnedPasswordWarning.d.ts.map +1 -0
- package/lib/components/auth/PwnedPasswordWarning.jsx +29 -0
- package/lib/components/auth/PwnedPasswordWarning.jsx.map +1 -0
- package/lib/components/auth/index.d.ts +5 -0
- package/lib/components/auth/index.d.ts.map +1 -0
- package/lib/components/auth/index.js +5 -0
- package/lib/components/auth/index.js.map +1 -0
- package/lib/components/bottom-nav.d.ts +25 -0
- package/lib/components/bottom-nav.d.ts.map +1 -0
- package/lib/components/bottom-nav.jsx +51 -0
- package/lib/components/bottom-nav.jsx.map +1 -0
- package/lib/components/button.d.ts +16 -0
- package/lib/components/button.d.ts.map +1 -0
- package/lib/components/button.jsx +73 -0
- package/lib/components/button.jsx.map +1 -0
- package/lib/components/card.d.ts +22 -0
- package/lib/components/card.d.ts.map +1 -0
- package/lib/components/card.jsx +36 -0
- package/lib/components/card.jsx.map +1 -0
- package/lib/components/checkbox.d.ts +12 -0
- package/lib/components/checkbox.d.ts.map +1 -0
- package/lib/components/checkbox.jsx +16 -0
- package/lib/components/checkbox.jsx.map +1 -0
- package/lib/components/connection-settings.d.ts +41 -0
- package/lib/components/connection-settings.d.ts.map +1 -0
- package/lib/components/connection-settings.jsx +354 -0
- package/lib/components/connection-settings.jsx.map +1 -0
- package/lib/components/context-menu.d.ts +52 -0
- package/lib/components/context-menu.d.ts.map +1 -0
- package/lib/components/context-menu.jsx +24 -0
- package/lib/components/context-menu.jsx.map +1 -0
- package/lib/components/data-table.d.ts +59 -0
- package/lib/components/data-table.d.ts.map +1 -0
- package/lib/components/data-table.jsx +101 -0
- package/lib/components/data-table.jsx.map +1 -0
- package/lib/components/dialog.d.ts +58 -0
- package/lib/components/dialog.d.ts.map +1 -0
- package/lib/components/dialog.jsx +197 -0
- package/lib/components/dialog.jsx.map +1 -0
- package/lib/components/dropdown-menu.d.ts +55 -0
- package/lib/components/dropdown-menu.d.ts.map +1 -0
- package/lib/components/dropdown-menu.jsx +38 -0
- package/lib/components/dropdown-menu.jsx.map +1 -0
- package/lib/components/entropy-boot-splash.d.ts +24 -0
- package/lib/components/entropy-boot-splash.d.ts.map +1 -0
- package/lib/components/entropy-boot-splash.jsx +83 -0
- package/lib/components/entropy-boot-splash.jsx.map +1 -0
- package/lib/components/entropy-mark-animated.d.ts +20 -0
- package/lib/components/entropy-mark-animated.d.ts.map +1 -0
- package/lib/components/entropy-mark-animated.jsx +148 -0
- package/lib/components/entropy-mark-animated.jsx.map +1 -0
- package/lib/components/entropy-mark-geometry.d.ts +8 -0
- package/lib/components/entropy-mark-geometry.d.ts.map +1 -0
- package/lib/components/entropy-mark-geometry.js +10 -0
- package/lib/components/entropy-mark-geometry.js.map +1 -0
- package/lib/components/entropy-mark-sequential.d.ts +12 -0
- package/lib/components/entropy-mark-sequential.d.ts.map +1 -0
- package/lib/components/entropy-mark-sequential.jsx +53 -0
- package/lib/components/entropy-mark-sequential.jsx.map +1 -0
- package/lib/components/entropy-mark.d.ts +29 -0
- package/lib/components/entropy-mark.d.ts.map +1 -0
- package/lib/components/entropy-mark.jsx +66 -0
- package/lib/components/entropy-mark.jsx.map +1 -0
- package/lib/components/error-boundary.d.ts +31 -0
- package/lib/components/error-boundary.d.ts.map +1 -0
- package/lib/components/error-boundary.jsx +40 -0
- package/lib/components/error-boundary.jsx.map +1 -0
- package/lib/components/index.d.ts +41 -0
- package/lib/components/index.d.ts.map +1 -0
- package/lib/components/index.js +43 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/input.d.ts +26 -0
- package/lib/components/input.d.ts.map +1 -0
- package/lib/components/input.jsx +95 -0
- package/lib/components/input.jsx.map +1 -0
- package/lib/components/item-icon.d.ts +32 -0
- package/lib/components/item-icon.d.ts.map +1 -0
- package/lib/components/item-icon.jsx +54 -0
- package/lib/components/item-icon.jsx.map +1 -0
- package/lib/components/label.d.ts +13 -0
- package/lib/components/label.d.ts.map +1 -0
- package/lib/components/label.jsx +9 -0
- package/lib/components/label.jsx.map +1 -0
- package/lib/components/legal-dialog.d.ts +18 -0
- package/lib/components/legal-dialog.d.ts.map +1 -0
- package/lib/components/legal-dialog.jsx +31 -0
- package/lib/components/legal-dialog.jsx.map +1 -0
- package/lib/components/license-gate.d.ts +17 -0
- package/lib/components/license-gate.d.ts.map +1 -0
- package/lib/components/license-gate.jsx +21 -0
- package/lib/components/license-gate.jsx.map +1 -0
- package/lib/components/logo.d.ts +15 -0
- package/lib/components/logo.d.ts.map +1 -0
- package/lib/components/logo.jsx +20 -0
- package/lib/components/logo.jsx.map +1 -0
- package/lib/components/onboarding-wizard.d.ts +89 -0
- package/lib/components/onboarding-wizard.d.ts.map +1 -0
- package/lib/components/onboarding-wizard.jsx +185 -0
- package/lib/components/onboarding-wizard.jsx.map +1 -0
- package/lib/components/pagination.d.ts +43 -0
- package/lib/components/pagination.d.ts.map +1 -0
- package/lib/components/pagination.jsx +72 -0
- package/lib/components/pagination.jsx.map +1 -0
- package/lib/components/password-generator.d.ts +15 -0
- package/lib/components/password-generator.d.ts.map +1 -0
- package/lib/components/password-generator.jsx +273 -0
- package/lib/components/password-generator.jsx.map +1 -0
- package/lib/components/pin-pad.d.ts +20 -0
- package/lib/components/pin-pad.d.ts.map +1 -0
- package/lib/components/pin-pad.jsx +93 -0
- package/lib/components/pin-pad.jsx.map +1 -0
- package/lib/components/popover.d.ts +27 -0
- package/lib/components/popover.d.ts.map +1 -0
- package/lib/components/popover.jsx +18 -0
- package/lib/components/popover.jsx.map +1 -0
- package/lib/components/profile/ProfileDialog.d.ts +25 -0
- package/lib/components/profile/ProfileDialog.d.ts.map +1 -0
- package/lib/components/profile/ProfileDialog.jsx +71 -0
- package/lib/components/profile/ProfileDialog.jsx.map +1 -0
- package/lib/components/profile/ProfileTab.d.ts +12 -0
- package/lib/components/profile/ProfileTab.d.ts.map +1 -0
- package/lib/components/profile/ProfileTab.jsx +112 -0
- package/lib/components/profile/ProfileTab.jsx.map +1 -0
- package/lib/components/profile/SecurityTab.d.ts +32 -0
- package/lib/components/profile/SecurityTab.d.ts.map +1 -0
- package/lib/components/profile/SecurityTab.jsx +145 -0
- package/lib/components/profile/SecurityTab.jsx.map +1 -0
- package/lib/components/profile/index.d.ts +4 -0
- package/lib/components/profile/index.d.ts.map +1 -0
- package/lib/components/profile/index.js +4 -0
- package/lib/components/profile/index.js.map +1 -0
- package/lib/components/segmented-toggle.d.ts +28 -0
- package/lib/components/segmented-toggle.d.ts.map +1 -0
- package/lib/components/segmented-toggle.jsx +64 -0
- package/lib/components/segmented-toggle.jsx.map +1 -0
- package/lib/components/separator.d.ts +13 -0
- package/lib/components/separator.d.ts.map +1 -0
- package/lib/components/separator.jsx +16 -0
- package/lib/components/separator.jsx.map +1 -0
- package/lib/components/server-settings.d.ts +27 -0
- package/lib/components/server-settings.d.ts.map +1 -0
- package/lib/components/server-settings.jsx +307 -0
- package/lib/components/server-settings.jsx.map +1 -0
- package/lib/components/settings/AccountSection.d.ts +26 -0
- package/lib/components/settings/AccountSection.d.ts.map +1 -0
- package/lib/components/settings/AccountSection.jsx +32 -0
- package/lib/components/settings/AccountSection.jsx.map +1 -0
- package/lib/components/settings/DangerZoneSection.d.ts +13 -0
- package/lib/components/settings/DangerZoneSection.d.ts.map +1 -0
- package/lib/components/settings/DangerZoneSection.jsx +16 -0
- package/lib/components/settings/DangerZoneSection.jsx.map +1 -0
- package/lib/components/settings/GeneralSection.d.ts +11 -0
- package/lib/components/settings/GeneralSection.d.ts.map +1 -0
- package/lib/components/settings/GeneralSection.jsx +12 -0
- package/lib/components/settings/GeneralSection.jsx.map +1 -0
- package/lib/components/settings/SupportSection.d.ts +11 -0
- package/lib/components/settings/SupportSection.d.ts.map +1 -0
- package/lib/components/settings/SupportSection.jsx +22 -0
- package/lib/components/settings/SupportSection.jsx.map +1 -0
- package/lib/components/settings/index.d.ts +5 -0
- package/lib/components/settings/index.d.ts.map +1 -0
- package/lib/components/settings/index.js +5 -0
- package/lib/components/settings/index.js.map +1 -0
- package/lib/components/settings-row.d.ts +28 -0
- package/lib/components/settings-row.d.ts.map +1 -0
- package/lib/components/settings-row.jsx +68 -0
- package/lib/components/settings-row.jsx.map +1 -0
- package/lib/components/skeleton.d.ts +8 -0
- package/lib/components/skeleton.d.ts.map +1 -0
- package/lib/components/skeleton.jsx +24 -0
- package/lib/components/skeleton.jsx.map +1 -0
- package/lib/components/social-connections.d.ts +15 -0
- package/lib/components/social-connections.d.ts.map +1 -0
- package/lib/components/social-connections.jsx +31 -0
- package/lib/components/social-connections.jsx.map +1 -0
- package/lib/components/stat-card.d.ts +29 -0
- package/lib/components/stat-card.d.ts.map +1 -0
- package/lib/components/stat-card.jsx +36 -0
- package/lib/components/stat-card.jsx.map +1 -0
- package/lib/components/tag-chip.d.ts +18 -0
- package/lib/components/tag-chip.d.ts.map +1 -0
- package/lib/components/tag-chip.jsx +54 -0
- package/lib/components/tag-chip.jsx.map +1 -0
- package/lib/components/tag-multi-select.d.ts +27 -0
- package/lib/components/tag-multi-select.d.ts.map +1 -0
- package/lib/components/tag-multi-select.jsx +65 -0
- package/lib/components/tag-multi-select.jsx.map +1 -0
- package/lib/components/text.d.ts +22 -0
- package/lib/components/text.d.ts.map +1 -0
- package/lib/components/text.jsx +43 -0
- package/lib/components/text.jsx.map +1 -0
- package/lib/components/toast/ToastPortal.d.ts +11 -0
- package/lib/components/toast/ToastPortal.d.ts.map +1 -0
- package/lib/components/toast/ToastPortal.jsx +15 -0
- package/lib/components/toast/ToastPortal.jsx.map +1 -0
- package/lib/components/toast/ToastPortal.web.d.ts +14 -0
- package/lib/components/toast/ToastPortal.web.d.ts.map +1 -0
- package/lib/components/toast/ToastPortal.web.jsx +39 -0
- package/lib/components/toast/ToastPortal.web.jsx.map +1 -0
- package/lib/components/toast/index.d.ts +3 -0
- package/lib/components/toast/index.d.ts.map +1 -0
- package/lib/components/toast/index.js +3 -0
- package/lib/components/toast/index.js.map +1 -0
- package/lib/components/toast/toast-config.d.ts +14 -0
- package/lib/components/toast/toast-config.d.ts.map +1 -0
- package/lib/components/toast/toast-config.jsx +24 -0
- package/lib/components/toast/toast-config.jsx.map +1 -0
- package/lib/components/tooltip.d.ts +30 -0
- package/lib/components/tooltip.d.ts.map +1 -0
- package/lib/components/tooltip.jsx +14 -0
- package/lib/components/tooltip.jsx.map +1 -0
- package/lib/components/totp-display.d.ts +23 -0
- package/lib/components/totp-display.d.ts.map +1 -0
- package/lib/components/totp-display.jsx +132 -0
- package/lib/components/totp-display.jsx.map +1 -0
- package/lib/components/user-avatar.d.ts +18 -0
- package/lib/components/user-avatar.d.ts.map +1 -0
- package/lib/components/user-avatar.jsx +25 -0
- package/lib/components/user-avatar.jsx.map +1 -0
- package/lib/context/AppConfigContext.d.ts +56 -0
- package/lib/context/AppConfigContext.d.ts.map +1 -0
- package/lib/context/AppConfigContext.jsx +14 -0
- package/lib/context/AppConfigContext.jsx.map +1 -0
- package/lib/context/NavigationContext.d.ts +42 -0
- package/lib/context/NavigationContext.d.ts.map +1 -0
- package/lib/context/NavigationContext.jsx +53 -0
- package/lib/context/NavigationContext.jsx.map +1 -0
- package/lib/context/NotificationContext.d.ts +32 -0
- package/lib/context/NotificationContext.d.ts.map +1 -0
- package/lib/context/NotificationContext.jsx +49 -0
- package/lib/context/NotificationContext.jsx.map +1 -0
- package/lib/context/ThemeContext.d.ts +12 -0
- package/lib/context/ThemeContext.d.ts.map +1 -0
- package/lib/context/ThemeContext.jsx +66 -0
- package/lib/context/ThemeContext.jsx.map +1 -0
- package/lib/context/index.d.ts +5 -0
- package/lib/context/index.d.ts.map +1 -0
- package/lib/context/index.js +5 -0
- package/lib/context/index.js.map +1 -0
- package/lib/flags.d.ts +9 -0
- package/lib/flags.d.ts.map +1 -0
- package/lib/flags.js +37 -0
- package/lib/flags.js.map +1 -0
- package/lib/forms/form-error.d.ts +12 -0
- package/lib/forms/form-error.d.ts.map +1 -0
- package/lib/forms/form-error.jsx +14 -0
- package/lib/forms/form-error.jsx.map +1 -0
- package/lib/forms/index.d.ts +3 -0
- package/lib/forms/index.d.ts.map +1 -0
- package/lib/forms/index.js +3 -0
- package/lib/forms/index.js.map +1 -0
- package/lib/forms/shake-field.d.ts +18 -0
- package/lib/forms/shake-field.d.ts.map +1 -0
- package/lib/forms/shake-field.jsx +30 -0
- package/lib/forms/shake-field.jsx.map +1 -0
- package/lib/hooks/index.d.ts +6 -0
- package/lib/hooks/index.d.ts.map +1 -0
- package/lib/hooks/index.js +6 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/useAuth.d.ts +109 -0
- package/lib/hooks/useAuth.d.ts.map +1 -0
- package/lib/hooks/useAuth.jsx +404 -0
- package/lib/hooks/useAuth.jsx.map +1 -0
- package/lib/hooks/useAutoLock.d.ts +22 -0
- package/lib/hooks/useAutoLock.d.ts.map +1 -0
- package/lib/hooks/useAutoLock.js +85 -0
- package/lib/hooks/useAutoLock.js.map +1 -0
- package/lib/hooks/useDebouncedValue.d.ts +19 -0
- package/lib/hooks/useDebouncedValue.d.ts.map +1 -0
- package/lib/hooks/useDebouncedValue.js +29 -0
- package/lib/hooks/useDebouncedValue.js.map +1 -0
- package/lib/hooks/useShakeAnimation.d.ts +17 -0
- package/lib/hooks/useShakeAnimation.d.ts.map +1 -0
- package/lib/hooks/useShakeAnimation.js +22 -0
- package/lib/hooks/useShakeAnimation.js.map +1 -0
- package/lib/hooks/useUploadBlobUrl.d.ts +13 -0
- package/lib/hooks/useUploadBlobUrl.d.ts.map +1 -0
- package/lib/hooks/useUploadBlobUrl.js +60 -0
- package/lib/hooks/useUploadBlobUrl.js.map +1 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +47 -0
- package/lib/index.js.map +1 -0
- package/lib/screens/auth/AccountPickerScreen.d.ts +24 -0
- package/lib/screens/auth/AccountPickerScreen.d.ts.map +1 -0
- package/lib/screens/auth/AccountPickerScreen.jsx +47 -0
- package/lib/screens/auth/AccountPickerScreen.jsx.map +1 -0
- package/lib/screens/auth/AuthScreen.d.ts +59 -0
- package/lib/screens/auth/AuthScreen.d.ts.map +1 -0
- package/lib/screens/auth/AuthScreen.jsx +594 -0
- package/lib/screens/auth/AuthScreen.jsx.map +1 -0
- package/lib/screens/auth/ConsentScreen.d.ts +27 -0
- package/lib/screens/auth/ConsentScreen.d.ts.map +1 -0
- package/lib/screens/auth/ConsentScreen.jsx +55 -0
- package/lib/screens/auth/ConsentScreen.jsx.map +1 -0
- package/lib/screens/auth/ErrorScreen.d.ts +20 -0
- package/lib/screens/auth/ErrorScreen.d.ts.map +1 -0
- package/lib/screens/auth/ErrorScreen.jsx +43 -0
- package/lib/screens/auth/ErrorScreen.jsx.map +1 -0
- package/lib/screens/auth/ExpiredLinkScreen.d.ts +19 -0
- package/lib/screens/auth/ExpiredLinkScreen.d.ts.map +1 -0
- package/lib/screens/auth/ExpiredLinkScreen.jsx +38 -0
- package/lib/screens/auth/ExpiredLinkScreen.jsx.map +1 -0
- package/lib/screens/auth/ForgotPasswordScreen.d.ts +4 -0
- package/lib/screens/auth/ForgotPasswordScreen.d.ts.map +1 -0
- package/lib/screens/auth/ForgotPasswordScreen.jsx +123 -0
- package/lib/screens/auth/ForgotPasswordScreen.jsx.map +1 -0
- package/lib/screens/auth/ImportDataScreen.d.ts +17 -0
- package/lib/screens/auth/ImportDataScreen.d.ts.map +1 -0
- package/lib/screens/auth/ImportDataScreen.jsx +73 -0
- package/lib/screens/auth/ImportDataScreen.jsx.map +1 -0
- package/lib/screens/auth/LoginScreen.d.ts +38 -0
- package/lib/screens/auth/LoginScreen.d.ts.map +1 -0
- package/lib/screens/auth/LoginScreen.jsx +326 -0
- package/lib/screens/auth/LoginScreen.jsx.map +1 -0
- package/lib/screens/auth/MfaChallengeScreen.d.ts +4 -0
- package/lib/screens/auth/MfaChallengeScreen.d.ts.map +1 -0
- package/lib/screens/auth/MfaChallengeScreen.jsx +139 -0
- package/lib/screens/auth/MfaChallengeScreen.jsx.map +1 -0
- package/lib/screens/auth/MfaEnrollScreen.d.ts +12 -0
- package/lib/screens/auth/MfaEnrollScreen.d.ts.map +1 -0
- package/lib/screens/auth/MfaEnrollScreen.jsx +267 -0
- package/lib/screens/auth/MfaEnrollScreen.jsx.map +1 -0
- package/lib/screens/auth/PasskeyEnrollScreen.d.ts +18 -0
- package/lib/screens/auth/PasskeyEnrollScreen.d.ts.map +1 -0
- package/lib/screens/auth/PasskeyEnrollScreen.jsx +51 -0
- package/lib/screens/auth/PasskeyEnrollScreen.jsx.map +1 -0
- package/lib/screens/auth/PrivacyPolicyScreen.d.ts +19 -0
- package/lib/screens/auth/PrivacyPolicyScreen.d.ts.map +1 -0
- package/lib/screens/auth/PrivacyPolicyScreen.jsx +143 -0
- package/lib/screens/auth/PrivacyPolicyScreen.jsx.map +1 -0
- package/lib/screens/auth/RegisterScreen.d.ts +14 -0
- package/lib/screens/auth/RegisterScreen.d.ts.map +1 -0
- package/lib/screens/auth/RegisterScreen.jsx +296 -0
- package/lib/screens/auth/RegisterScreen.jsx.map +1 -0
- package/lib/screens/auth/ResetPasswordScreen.d.ts +12 -0
- package/lib/screens/auth/ResetPasswordScreen.d.ts.map +1 -0
- package/lib/screens/auth/ResetPasswordScreen.jsx +276 -0
- package/lib/screens/auth/ResetPasswordScreen.jsx.map +1 -0
- package/lib/screens/auth/ServerConfigScreen.d.ts +18 -0
- package/lib/screens/auth/ServerConfigScreen.d.ts.map +1 -0
- package/lib/screens/auth/ServerConfigScreen.jsx +259 -0
- package/lib/screens/auth/ServerConfigScreen.jsx.map +1 -0
- package/lib/screens/auth/TermsOfServiceScreen.d.ts +30 -0
- package/lib/screens/auth/TermsOfServiceScreen.d.ts.map +1 -0
- package/lib/screens/auth/TermsOfServiceScreen.jsx +130 -0
- package/lib/screens/auth/TermsOfServiceScreen.jsx.map +1 -0
- package/lib/screens/auth/VerifyEmailScreen.d.ts +4 -0
- package/lib/screens/auth/VerifyEmailScreen.d.ts.map +1 -0
- package/lib/screens/auth/VerifyEmailScreen.jsx +249 -0
- package/lib/screens/auth/VerifyEmailScreen.jsx.map +1 -0
- package/lib/screens/auth/WelcomeScreen.d.ts +17 -0
- package/lib/screens/auth/WelcomeScreen.d.ts.map +1 -0
- package/lib/screens/auth/WelcomeScreen.jsx +58 -0
- package/lib/screens/auth/WelcomeScreen.jsx.map +1 -0
- package/lib/screens/auth/index.d.ts +19 -0
- package/lib/screens/auth/index.d.ts.map +1 -0
- package/lib/screens/auth/index.js +19 -0
- package/lib/screens/auth/index.js.map +1 -0
- package/lib/screens/index.d.ts +2 -0
- package/lib/screens/index.d.ts.map +1 -0
- package/lib/screens/index.js +2 -0
- package/lib/screens/index.js.map +1 -0
- package/lib/services/api-config.d.ts +87 -0
- package/lib/services/api-config.d.ts.map +1 -0
- package/lib/services/api-config.js +202 -0
- package/lib/services/api-config.js.map +1 -0
- package/lib/services/auth.service.d.ts +140 -0
- package/lib/services/auth.service.d.ts.map +1 -0
- package/lib/services/auth.service.js +376 -0
- package/lib/services/auth.service.js.map +1 -0
- package/lib/services/favicon.d.ts +46 -0
- package/lib/services/favicon.d.ts.map +1 -0
- package/lib/services/favicon.js +84 -0
- package/lib/services/favicon.js.map +1 -0
- package/lib/services/hibp-cache.d.ts +23 -0
- package/lib/services/hibp-cache.d.ts.map +1 -0
- package/lib/services/hibp-cache.js +56 -0
- package/lib/services/hibp-cache.js.map +1 -0
- package/lib/services/hibp.d.ts +28 -0
- package/lib/services/hibp.d.ts.map +1 -0
- package/lib/services/hibp.js +92 -0
- package/lib/services/hibp.js.map +1 -0
- package/lib/services/index.d.ts +8 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +7 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/passkey.d.ts +10 -0
- package/lib/services/passkey.d.ts.map +1 -0
- package/lib/services/passkey.js +192 -0
- package/lib/services/passkey.js.map +1 -0
- package/lib/utils/api-fetch.d.ts +11 -0
- package/lib/utils/api-fetch.d.ts.map +1 -0
- package/lib/utils/api-fetch.js +52 -0
- package/lib/utils/api-fetch.js.map +1 -0
- package/lib/utils/clipboard.d.ts +31 -0
- package/lib/utils/clipboard.d.ts.map +1 -0
- package/lib/utils/clipboard.js +66 -0
- package/lib/utils/clipboard.js.map +1 -0
- package/lib/utils/cn.d.ts +9 -0
- package/lib/utils/cn.d.ts.map +1 -0
- package/lib/utils/cn.js +12 -0
- package/lib/utils/cn.js.map +1 -0
- package/lib/utils/debounce.d.ts +13 -0
- package/lib/utils/debounce.d.ts.map +1 -0
- package/lib/utils/debounce.js +28 -0
- package/lib/utils/debounce.js.map +1 -0
- package/lib/utils/error.d.ts +9 -0
- package/lib/utils/error.d.ts.map +1 -0
- package/lib/utils/error.js +11 -0
- package/lib/utils/error.js.map +1 -0
- package/lib/utils/fetch.d.ts +17 -0
- package/lib/utils/fetch.d.ts.map +1 -0
- package/lib/utils/fetch.js +29 -0
- package/lib/utils/fetch.js.map +1 -0
- package/lib/utils/http-error.d.ts +41 -0
- package/lib/utils/http-error.d.ts.map +1 -0
- package/lib/utils/http-error.js +63 -0
- package/lib/utils/http-error.js.map +1 -0
- package/lib/utils/index.d.ts +11 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +11 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/palette.d.ts +46 -0
- package/lib/utils/palette.d.ts.map +1 -0
- package/lib/utils/palette.js +75 -0
- package/lib/utils/palette.js.map +1 -0
- package/lib/utils/password.d.ts +20 -0
- package/lib/utils/password.d.ts.map +1 -0
- package/lib/utils/password.js +51 -0
- package/lib/utils/password.js.map +1 -0
- package/lib/utils/settings-storage.d.ts +3 -0
- package/lib/utils/settings-storage.d.ts.map +1 -0
- package/lib/utils/settings-storage.js +62 -0
- package/lib/utils/settings-storage.js.map +1 -0
- package/lib/utils/validation.d.ts +29 -0
- package/lib/utils/validation.d.ts.map +1 -0
- package/lib/utils/validation.js +58 -0
- package/lib/utils/validation.js.map +1 -0
- package/package.json +204 -0
- package/src/components/__tests__/data-table.test.ts +94 -0
- package/src/components/__tests__/pagination.test.ts +73 -0
- package/src/components/__tests__/stat-card.test.ts +21 -0
- package/src/components/auth/LockOverlay.tsx +122 -0
- package/src/components/auth/PasswordStrengthMeter.tsx +96 -0
- package/src/components/auth/ProtectedRoute.tsx +91 -0
- package/src/components/auth/PwnedPasswordWarning.tsx +54 -0
- package/src/components/auth/index.ts +10 -0
- package/src/components/bottom-nav.tsx +99 -0
- package/src/components/button.tsx +144 -0
- package/src/components/card.tsx +82 -0
- package/src/components/checkbox.tsx +48 -0
- package/src/components/connection-settings.tsx +583 -0
- package/src/components/context-menu.tsx +95 -0
- package/src/components/data-table.tsx +223 -0
- package/src/components/dialog.tsx +376 -0
- package/src/components/dropdown-menu.tsx +120 -0
- package/src/components/entropy-boot-splash.tsx +114 -0
- package/src/components/entropy-mark-animated.tsx +260 -0
- package/src/components/entropy-mark-geometry.ts +11 -0
- package/src/components/entropy-mark-sequential.tsx +132 -0
- package/src/components/entropy-mark.tsx +135 -0
- package/src/components/error-boundary.tsx +70 -0
- package/src/components/index.ts +156 -0
- package/src/components/input.tsx +246 -0
- package/src/components/item-icon.tsx +111 -0
- package/src/components/label.tsx +25 -0
- package/src/components/legal-dialog.tsx +47 -0
- package/src/components/license-gate.tsx +28 -0
- package/src/components/logo.tsx +34 -0
- package/src/components/onboarding-wizard.tsx +353 -0
- package/src/components/pagination.tsx +154 -0
- package/src/components/password-generator.tsx +393 -0
- package/src/components/pin-pad.tsx +156 -0
- package/src/components/popover.tsx +38 -0
- package/src/components/profile/ProfileDialog.tsx +129 -0
- package/src/components/profile/ProfileTab.tsx +151 -0
- package/src/components/profile/SecurityTab.tsx +229 -0
- package/src/components/profile/index.ts +3 -0
- package/src/components/segmented-toggle.tsx +119 -0
- package/src/components/separator.tsx +41 -0
- package/src/components/server-settings.tsx +442 -0
- package/src/components/settings/AccountSection.tsx +76 -0
- package/src/components/settings/DangerZoneSection.tsx +37 -0
- package/src/components/settings/GeneralSection.tsx +39 -0
- package/src/components/settings/SupportSection.tsx +53 -0
- package/src/components/settings/index.ts +4 -0
- package/src/components/settings-row.tsx +126 -0
- package/src/components/skeleton.tsx +48 -0
- package/src/components/social-connections.tsx +55 -0
- package/src/components/stat-card.tsx +64 -0
- package/src/components/tag-chip.tsx +78 -0
- package/src/components/tag-multi-select.tsx +136 -0
- package/src/components/text.tsx +77 -0
- package/src/components/toast/ToastPortal.tsx +16 -0
- package/src/components/toast/ToastPortal.web.tsx +47 -0
- package/src/components/toast/index.ts +2 -0
- package/src/components/toast/toast-config.tsx +31 -0
- package/src/components/tooltip.tsx +30 -0
- package/src/components/totp-display.tsx +207 -0
- package/src/components/user-avatar.tsx +46 -0
- package/src/context/AppConfigContext.tsx +76 -0
- package/src/context/NavigationContext.tsx +75 -0
- package/src/context/NotificationContext.tsx +69 -0
- package/src/context/ThemeContext.tsx +83 -0
- package/src/context/__tests__/NavigationContext.test.tsx +53 -0
- package/src/context/index.ts +24 -0
- package/src/flags.ts +44 -0
- package/src/forms/form-error.tsx +20 -0
- package/src/forms/index.ts +2 -0
- package/src/forms/shake-field.tsx +52 -0
- package/src/hooks/__tests__/useUploadBlobUrl.test.tsx +77 -0
- package/src/hooks/index.ts +18 -0
- package/src/hooks/useAuth.tsx +567 -0
- package/src/hooks/useAutoLock.ts +110 -0
- package/src/hooks/useDebouncedValue.ts +32 -0
- package/src/hooks/useShakeAnimation.ts +42 -0
- package/src/hooks/useUploadBlobUrl.ts +75 -0
- package/src/index.ts +48 -0
- package/src/screens/auth/AccountPickerScreen.tsx +103 -0
- package/src/screens/auth/AuthScreen.tsx +941 -0
- package/src/screens/auth/ConsentScreen.tsx +118 -0
- package/src/screens/auth/ErrorScreen.tsx +96 -0
- package/src/screens/auth/ExpiredLinkScreen.tsx +87 -0
- package/src/screens/auth/ForgotPasswordScreen.tsx +182 -0
- package/src/screens/auth/ImportDataScreen.tsx +112 -0
- package/src/screens/auth/LoginScreen.tsx +484 -0
- package/src/screens/auth/MfaChallengeScreen.tsx +216 -0
- package/src/screens/auth/MfaEnrollScreen.tsx +388 -0
- package/src/screens/auth/PasskeyEnrollScreen.tsx +96 -0
- package/src/screens/auth/PrivacyPolicyScreen.tsx +249 -0
- package/src/screens/auth/RegisterScreen.tsx +430 -0
- package/src/screens/auth/ResetPasswordScreen.tsx +377 -0
- package/src/screens/auth/ServerConfigScreen.tsx +388 -0
- package/src/screens/auth/TermsOfServiceScreen.tsx +236 -0
- package/src/screens/auth/VerifyEmailScreen.tsx +310 -0
- package/src/screens/auth/WelcomeScreen.tsx +78 -0
- package/src/screens/auth/index.ts +36 -0
- package/src/screens/index.ts +1 -0
- package/src/services/__tests__/api-config.test.ts +67 -0
- package/src/services/__tests__/favicon.test.ts +88 -0
- package/src/services/__tests__/hibp-cache.test.ts +37 -0
- package/src/services/__tests__/hibp.test.ts +39 -0
- package/src/services/api-config.ts +260 -0
- package/src/services/auth.service.ts +498 -0
- package/src/services/favicon.ts +102 -0
- package/src/services/hibp-cache.ts +71 -0
- package/src/services/hibp.ts +120 -0
- package/src/services/index.ts +52 -0
- package/src/services/passkey.ts +213 -0
- package/src/types/external.d.ts +24 -0
- package/src/utils/__tests__/clipboard.test.ts +59 -0
- package/src/utils/__tests__/cn.test.ts +24 -0
- package/src/utils/__tests__/debounce.test.ts +42 -0
- package/src/utils/__tests__/error.test.ts +18 -0
- package/src/utils/__tests__/http-error.test.ts +33 -0
- package/src/utils/__tests__/palette.test.ts +22 -0
- package/src/utils/__tests__/password.test.ts +55 -0
- package/src/utils/__tests__/settings-storage.test.ts +15 -0
- package/src/utils/__tests__/validation.test.ts +52 -0
- package/src/utils/api-fetch.ts +61 -0
- package/src/utils/clipboard.ts +69 -0
- package/src/utils/cn.ts +12 -0
- package/src/utils/debounce.ts +33 -0
- package/src/utils/error.ts +10 -0
- package/src/utils/fetch.ts +33 -0
- package/src/utils/http-error.ts +81 -0
- package/src/utils/index.ts +23 -0
- package/src/utils/palette.ts +105 -0
- package/src/utils/password.ts +64 -0
- package/src/utils/settings-storage.ts +68 -0
- package/src/utils/validation.ts +71 -0
- package/styles/globals.css +262 -0
- package/tailwind-preset.js +163 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/* CSS linter directives - ignore Tailwind at-rules */
|
|
2
|
+
/* stylelint-disable at-rule-no-unknown */
|
|
3
|
+
@tailwind base;
|
|
4
|
+
@tailwind components;
|
|
5
|
+
@tailwind utilities;
|
|
6
|
+
/* stylelint-enable at-rule-no-unknown */
|
|
7
|
+
/* aspect-ratio utilities are disabled in tailwind-preset.js
|
|
8
|
+
(corePlugins.aspectRatio: false) because react-native-css-interop
|
|
9
|
+
crashes on "aspect-ratio: auto" during Metro bundling. */
|
|
10
|
+
|
|
11
|
+
/* Geist fonts loaded via expo-font in the consumer's root _layout.tsx */
|
|
12
|
+
|
|
13
|
+
@layer base {
|
|
14
|
+
:root {
|
|
15
|
+
--background: 255 255 255;
|
|
16
|
+
--foreground: 0 0 0;
|
|
17
|
+
|
|
18
|
+
--card: 255 255 255;
|
|
19
|
+
--card-foreground: 0 0 0;
|
|
20
|
+
|
|
21
|
+
--popover: 255 255 255;
|
|
22
|
+
--popover-foreground: 0 0 0;
|
|
23
|
+
|
|
24
|
+
--primary: 0 0 0;
|
|
25
|
+
--primary-foreground: 255 255 255;
|
|
26
|
+
|
|
27
|
+
--secondary: 245 245 245;
|
|
28
|
+
--secondary-foreground: 0 0 0;
|
|
29
|
+
|
|
30
|
+
--muted: 245 245 245;
|
|
31
|
+
--muted-foreground: 115 115 115;
|
|
32
|
+
|
|
33
|
+
--accent: 245 245 245;
|
|
34
|
+
--accent-foreground: 0 0 0;
|
|
35
|
+
|
|
36
|
+
--destructive: 239 68 68;
|
|
37
|
+
--destructive-foreground: 255 255 255;
|
|
38
|
+
|
|
39
|
+
--border: 229 229 229;
|
|
40
|
+
--input: 229 229 229;
|
|
41
|
+
--ring: 0 0 0;
|
|
42
|
+
|
|
43
|
+
--radius: 0.5rem;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.dark {
|
|
47
|
+
--background: 0 0 0;
|
|
48
|
+
--foreground: 255 255 255;
|
|
49
|
+
|
|
50
|
+
--card: 0 0 0;
|
|
51
|
+
--card-foreground: 255 255 255;
|
|
52
|
+
|
|
53
|
+
--popover: 0 0 0;
|
|
54
|
+
--popover-foreground: 255 255 255;
|
|
55
|
+
|
|
56
|
+
--primary: 255 255 255;
|
|
57
|
+
--primary-foreground: 0 0 0;
|
|
58
|
+
|
|
59
|
+
--secondary: 38 38 38;
|
|
60
|
+
--secondary-foreground: 255 255 255;
|
|
61
|
+
|
|
62
|
+
--muted: 38 38 38;
|
|
63
|
+
--muted-foreground: 163 163 163;
|
|
64
|
+
|
|
65
|
+
--accent: 38 38 38;
|
|
66
|
+
--accent-foreground: 255 255 255;
|
|
67
|
+
|
|
68
|
+
--destructive: 127 29 29;
|
|
69
|
+
--destructive-foreground: 255 255 255;
|
|
70
|
+
|
|
71
|
+
--border: 38 38 38;
|
|
72
|
+
--input: 38 38 38;
|
|
73
|
+
--ring: 255 255 255;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
body {
|
|
77
|
+
background-color: rgb(var(--background));
|
|
78
|
+
color: rgb(var(--foreground));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@layer base {
|
|
83
|
+
* {
|
|
84
|
+
font-family:
|
|
85
|
+
"Geist-Regular",
|
|
86
|
+
system-ui,
|
|
87
|
+
-apple-system,
|
|
88
|
+
sans-serif;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.font-mono {
|
|
92
|
+
font-family:
|
|
93
|
+
"GeistMono-Regular", "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Fira Mono",
|
|
94
|
+
"Droid Sans Mono", "Courier New", monospace;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
body {
|
|
98
|
+
margin: 0;
|
|
99
|
+
padding: 0;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
html {
|
|
103
|
+
scroll-behavior: smooth;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* Remove default browser focus outline — apps style focus themselves. */
|
|
107
|
+
input:focus,
|
|
108
|
+
textarea:focus,
|
|
109
|
+
button:focus,
|
|
110
|
+
[role="button"]:focus,
|
|
111
|
+
[tabindex]:focus {
|
|
112
|
+
outline: none;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@layer utilities {
|
|
117
|
+
.animate-fade-in {
|
|
118
|
+
animation: fade-in 0.3s ease-in-out;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.animate-slide-up {
|
|
122
|
+
animation: slide-up 0.3s ease-out;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.animate-pulse-slow {
|
|
126
|
+
animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.animate-countdown {
|
|
130
|
+
animation: countdown 1s linear infinite;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.active\:scale-98:active {
|
|
134
|
+
transform: scale(0.98);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.pt-safe {
|
|
138
|
+
padding-top: env(safe-area-inset-top);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.pb-safe {
|
|
142
|
+
padding-bottom: env(safe-area-inset-bottom);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.px-safe {
|
|
146
|
+
padding-left: env(safe-area-inset-left);
|
|
147
|
+
padding-right: env(safe-area-inset-right);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
@keyframes fade-in {
|
|
152
|
+
0% {
|
|
153
|
+
opacity: 0;
|
|
154
|
+
transform: translateY(10px);
|
|
155
|
+
}
|
|
156
|
+
100% {
|
|
157
|
+
opacity: 1;
|
|
158
|
+
transform: translateY(0);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
@keyframes slide-up {
|
|
163
|
+
0% {
|
|
164
|
+
transform: translateY(100%);
|
|
165
|
+
}
|
|
166
|
+
100% {
|
|
167
|
+
transform: translateY(0);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
@keyframes countdown {
|
|
172
|
+
0% {
|
|
173
|
+
transform: rotate(0deg);
|
|
174
|
+
}
|
|
175
|
+
100% {
|
|
176
|
+
transform: rotate(360deg);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@layer components {
|
|
181
|
+
.terminal-cursor::after {
|
|
182
|
+
content: "_";
|
|
183
|
+
animation: blink 1s infinite;
|
|
184
|
+
font-weight: 700;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
@keyframes blink {
|
|
188
|
+
0%,
|
|
189
|
+
50% {
|
|
190
|
+
opacity: 1;
|
|
191
|
+
}
|
|
192
|
+
51%,
|
|
193
|
+
100% {
|
|
194
|
+
opacity: 0;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
@layer components {
|
|
200
|
+
.progress-ring {
|
|
201
|
+
stroke-dasharray: 283;
|
|
202
|
+
stroke-dashoffset: 0;
|
|
203
|
+
transform-origin: center;
|
|
204
|
+
transform: rotate(-90deg);
|
|
205
|
+
transition: stroke-dashoffset 1s linear;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
@layer components {
|
|
210
|
+
.skeleton {
|
|
211
|
+
background: linear-gradient(90deg, #f5f5f5 0%, rgba(115, 115, 115, 0.1) 50%, #f5f5f5 100%);
|
|
212
|
+
background-size: 200% 100%;
|
|
213
|
+
animation: skeleton-loading 1.5s ease-in-out infinite;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.dark .skeleton {
|
|
217
|
+
background: linear-gradient(90deg, #262626 0%, rgba(163, 163, 163, 0.1) 50%, #262626 100%);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
@keyframes skeleton-loading {
|
|
221
|
+
0% {
|
|
222
|
+
background-position: 200% 0;
|
|
223
|
+
}
|
|
224
|
+
100% {
|
|
225
|
+
background-position: -200% 0;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
@layer utilities {
|
|
231
|
+
@media (hover: hover) {
|
|
232
|
+
.custom-scrollbar::-webkit-scrollbar {
|
|
233
|
+
width: 8px;
|
|
234
|
+
height: 8px;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.custom-scrollbar::-webkit-scrollbar-track {
|
|
238
|
+
background: #ffffff;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.custom-scrollbar::-webkit-scrollbar-thumb {
|
|
242
|
+
background: rgba(115, 115, 115, 0.3);
|
|
243
|
+
border-radius: 4px;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
|
|
247
|
+
background: rgba(115, 115, 115, 0.5);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.dark .custom-scrollbar::-webkit-scrollbar-track {
|
|
251
|
+
background: #000000;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.dark .custom-scrollbar::-webkit-scrollbar-thumb {
|
|
255
|
+
background: rgba(163, 163, 163, 0.3);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover {
|
|
259
|
+
background: rgba(163, 163, 163, 0.5);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared NativeWind / Tailwind preset for Entropy Softworks Expo apps.
|
|
3
|
+
*
|
|
4
|
+
* Consumers extend with their own `content` globs:
|
|
5
|
+
*
|
|
6
|
+
* module.exports = {
|
|
7
|
+
* presets: [require("@entropy-softworks/ui/tailwind-preset")],
|
|
8
|
+
* content: ["./app/**\/*.{js,jsx,ts,tsx}", "./node_modules/@entropy-softworks/ui/**\/*.{js,jsx,ts,tsx}"],
|
|
9
|
+
* };
|
|
10
|
+
*
|
|
11
|
+
* CSS custom properties (`--background`, `--primary`, …) are declared in
|
|
12
|
+
* `styles/globals.css`. Light + dark themes share the same Tailwind utility
|
|
13
|
+
* names; the consumer toggles the `.dark` class on the document root.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
// `nativewind` is a peerDependency, so it lives in the consumer's
|
|
17
|
+
// `node_modules`, not in this package's. A bare
|
|
18
|
+
// `require("nativewind/preset")` walks up from THIS file's directory
|
|
19
|
+
// — which in a hoisted monorepo never reaches the consumer's
|
|
20
|
+
// `node_modules` — and fails. Resolve from `process.cwd()` (the
|
|
21
|
+
// consumer's app root when its tailwind.config.js loads this preset)
|
|
22
|
+
// with `__dirname` as a fallback for direct-tree consumers.
|
|
23
|
+
const nativewindPreset = require(
|
|
24
|
+
require.resolve("nativewind/preset", { paths: [process.cwd(), __dirname] })
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
/** @type {import('tailwindcss').Config} */
|
|
28
|
+
module.exports = {
|
|
29
|
+
content: [],
|
|
30
|
+
darkMode: "class",
|
|
31
|
+
presets: [nativewindPreset],
|
|
32
|
+
theme: {
|
|
33
|
+
extend: {
|
|
34
|
+
colors: {
|
|
35
|
+
border: "rgb(var(--border))",
|
|
36
|
+
input: "rgb(var(--input))",
|
|
37
|
+
ring: "rgb(var(--ring))",
|
|
38
|
+
background: "rgb(var(--background))",
|
|
39
|
+
foreground: "rgb(var(--foreground))",
|
|
40
|
+
primary: {
|
|
41
|
+
DEFAULT: "rgb(var(--primary))",
|
|
42
|
+
foreground: "rgb(var(--primary-foreground))",
|
|
43
|
+
},
|
|
44
|
+
secondary: {
|
|
45
|
+
DEFAULT: "rgb(var(--secondary))",
|
|
46
|
+
foreground: "rgb(var(--secondary-foreground))",
|
|
47
|
+
},
|
|
48
|
+
destructive: {
|
|
49
|
+
DEFAULT: "rgb(var(--destructive))",
|
|
50
|
+
foreground: "rgb(var(--destructive-foreground))",
|
|
51
|
+
},
|
|
52
|
+
muted: {
|
|
53
|
+
DEFAULT: "rgb(var(--muted))",
|
|
54
|
+
foreground: "rgb(var(--muted-foreground))",
|
|
55
|
+
},
|
|
56
|
+
accent: {
|
|
57
|
+
DEFAULT: "rgb(var(--accent))",
|
|
58
|
+
foreground: "rgb(var(--accent-foreground))",
|
|
59
|
+
},
|
|
60
|
+
popover: {
|
|
61
|
+
DEFAULT: "rgb(var(--popover))",
|
|
62
|
+
foreground: "rgb(var(--popover-foreground))",
|
|
63
|
+
},
|
|
64
|
+
card: {
|
|
65
|
+
DEFAULT: "rgb(var(--card))",
|
|
66
|
+
foreground: "rgb(var(--card-foreground))",
|
|
67
|
+
},
|
|
68
|
+
success: {
|
|
69
|
+
DEFAULT: "#22c55e",
|
|
70
|
+
foreground: "#ffffff",
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
borderRadius: {
|
|
74
|
+
lg: "var(--radius)",
|
|
75
|
+
md: "calc(var(--radius) - 2px)",
|
|
76
|
+
sm: "calc(var(--radius) - 4px)",
|
|
77
|
+
},
|
|
78
|
+
fontFamily: {
|
|
79
|
+
sans: [
|
|
80
|
+
"Geist-Regular",
|
|
81
|
+
"system-ui",
|
|
82
|
+
"-apple-system",
|
|
83
|
+
"BlinkMacSystemFont",
|
|
84
|
+
"Segoe UI",
|
|
85
|
+
"Roboto",
|
|
86
|
+
"sans-serif",
|
|
87
|
+
],
|
|
88
|
+
"sans-medium": ["Geist-Medium"],
|
|
89
|
+
"sans-bold": ["Geist-Bold"],
|
|
90
|
+
mono: [
|
|
91
|
+
"GeistMono-Regular",
|
|
92
|
+
"SF Mono",
|
|
93
|
+
"Monaco",
|
|
94
|
+
"Inconsolata",
|
|
95
|
+
"Fira Code",
|
|
96
|
+
"Fira Mono",
|
|
97
|
+
"Droid Sans Mono",
|
|
98
|
+
"Courier New",
|
|
99
|
+
"monospace",
|
|
100
|
+
],
|
|
101
|
+
"mono-medium": ["GeistMono-Medium"],
|
|
102
|
+
"mono-bold": ["GeistMono-Bold"],
|
|
103
|
+
},
|
|
104
|
+
fontSize: {
|
|
105
|
+
xs: ["12px", { lineHeight: "16px" }],
|
|
106
|
+
sm: ["14px", { lineHeight: "20px" }],
|
|
107
|
+
base: ["16px", { lineHeight: "24px" }],
|
|
108
|
+
lg: ["18px", { lineHeight: "28px" }],
|
|
109
|
+
xl: ["20px", { lineHeight: "28px" }],
|
|
110
|
+
"2xl": ["24px", { lineHeight: "32px" }],
|
|
111
|
+
"3xl": ["30px", { lineHeight: "36px" }],
|
|
112
|
+
"4xl": ["36px", { lineHeight: "40px" }],
|
|
113
|
+
},
|
|
114
|
+
spacing: {
|
|
115
|
+
"safe-top": "env(safe-area-inset-top)",
|
|
116
|
+
"safe-bottom": "env(safe-area-inset-bottom)",
|
|
117
|
+
"safe-left": "env(safe-area-inset-left)",
|
|
118
|
+
"safe-right": "env(safe-area-inset-right)",
|
|
119
|
+
},
|
|
120
|
+
animation: {
|
|
121
|
+
"fade-in": "fade-in 0.3s ease-in-out",
|
|
122
|
+
"slide-up": "slide-up 0.3s ease-out",
|
|
123
|
+
"pulse-slow": "pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite",
|
|
124
|
+
countdown: "countdown 1s linear infinite",
|
|
125
|
+
blink: "blink 1s infinite",
|
|
126
|
+
skeleton: "skeleton-loading 1.5s ease-in-out infinite",
|
|
127
|
+
},
|
|
128
|
+
keyframes: {
|
|
129
|
+
"fade-in": {
|
|
130
|
+
"0%": { opacity: "0", transform: "translateY(10px)" },
|
|
131
|
+
"100%": { opacity: "1", transform: "translateY(0)" },
|
|
132
|
+
},
|
|
133
|
+
"slide-up": {
|
|
134
|
+
"0%": { transform: "translateY(100%)" },
|
|
135
|
+
"100%": { transform: "translateY(0)" },
|
|
136
|
+
},
|
|
137
|
+
countdown: {
|
|
138
|
+
"0%": { transform: "rotate(0deg)" },
|
|
139
|
+
"100%": { transform: "rotate(360deg)" },
|
|
140
|
+
},
|
|
141
|
+
blink: {
|
|
142
|
+
"0%, 50%": { opacity: "1" },
|
|
143
|
+
"51%, 100%": { opacity: "0" },
|
|
144
|
+
},
|
|
145
|
+
"skeleton-loading": {
|
|
146
|
+
"0%": { backgroundPosition: "200% 0" },
|
|
147
|
+
"100%": { backgroundPosition: "-200% 0" },
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
scale: {
|
|
151
|
+
98: "0.98",
|
|
152
|
+
102: "1.02",
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
// `aspect-ratio: auto` crashes the Metro bundler on native targets via
|
|
157
|
+
// react-native-css-interop. RN supports `aspectRatio` natively as a
|
|
158
|
+
// numeric style prop, so the Tailwind utility is unnecessary anyway.
|
|
159
|
+
corePlugins: {
|
|
160
|
+
aspectRatio: false,
|
|
161
|
+
},
|
|
162
|
+
plugins: [],
|
|
163
|
+
};
|