From 7c6e14ffe2b8aa7e4473fc60d0fa3712a5f9ca96 Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Mon, 2 Feb 2026 13:01:20 +0100 Subject: [PATCH] upgrade to tamagui v2 and guest pwa overhaul --- .tamagui/tamagui-components.config.cjs | 9697 ++--- .tamagui/tamagui.config.cjs | 2112 +- .tamagui/tamagui.config.json | 29702 +++++++++++++++- package-lock.json | 2147 +- package.json | 27 +- resources/css/app.css | 48 + resources/js/admin/DevTenantSwitcher.tsx | 12 +- .../js/admin/mobile/AuthCallbackPage.tsx | 2 +- resources/js/admin/mobile/BillingPage.tsx | 58 +- resources/js/admin/mobile/BrandingPage.tsx | 80 +- resources/js/admin/mobile/DashboardPage.tsx | 64 +- resources/js/admin/mobile/DataExportsPage.tsx | 12 +- .../js/admin/mobile/EventAnalyticsPage.tsx | 40 +- .../js/admin/mobile/EventControlRoomPage.tsx | 54 +- resources/js/admin/mobile/EventFormPage.tsx | 16 +- .../mobile/EventGuestNotificationsPage.tsx | 26 +- .../mobile/EventLiveShowSettingsPage.tsx | 24 +- .../js/admin/mobile/EventMembersPage.tsx | 26 +- .../js/admin/mobile/EventPhotoboothPage.tsx | 36 +- resources/js/admin/mobile/EventRecapPage.tsx | 70 +- resources/js/admin/mobile/EventTasksPage.tsx | 78 +- resources/js/admin/mobile/EventsPage.tsx | 34 +- .../js/admin/mobile/ForgotPasswordPage.tsx | 8 +- resources/js/admin/mobile/HelpArticlePage.tsx | 10 +- resources/js/admin/mobile/HelpCenterPage.tsx | 10 +- resources/js/admin/mobile/LoginPage.tsx | 16 +- resources/js/admin/mobile/LoginStartPage.tsx | 2 +- resources/js/admin/mobile/LogoutPage.tsx | 2 +- .../js/admin/mobile/NotificationsPage.tsx | 32 +- resources/js/admin/mobile/PackageShopPage.tsx | 50 +- .../js/admin/mobile/ProfileAccountPage.tsx | 40 +- resources/js/admin/mobile/ProfilePage.tsx | 16 +- resources/js/admin/mobile/PublicHelpPage.tsx | 18 +- .../js/admin/mobile/QrLayoutCustomizePage.tsx | 86 +- resources/js/admin/mobile/QrPrintPage.tsx | 48 +- .../js/admin/mobile/ResetPasswordPage.tsx | 8 +- resources/js/admin/mobile/SettingsPage.tsx | 36 +- resources/js/admin/mobile/TasksTabPage.tsx | 10 +- resources/js/admin/mobile/UploadsTabPage.tsx | 6 +- .../js/admin/mobile/components/BottomNav.tsx | 2 +- .../mobile/components/ContextHelpLink.tsx | 2 +- .../mobile/components/EventSwitcherSheet.tsx | 4 +- .../admin/mobile/components/FormControls.tsx | 2 +- .../mobile/components/LegalConsentSheet.tsx | 8 +- .../admin/mobile/components/LimitWarnings.tsx | 6 +- .../mobile/components/MobileInstallBanner.tsx | 8 +- .../admin/mobile/components/MobileShell.tsx | 16 +- .../mobile/components/OnboardingShell.tsx | 8 +- .../js/admin/mobile/components/Primitives.tsx | 16 +- .../js/admin/mobile/components/Scaffold.tsx | 6 +- .../mobile/components/SetupChecklist.tsx | 8 +- .../js/admin/mobile/components/Sheet.tsx | 2 +- .../admin/mobile/components/UserMenuSheet.tsx | 14 +- .../admin/mobile/welcome/WelcomeEventPage.tsx | 10 +- .../mobile/welcome/WelcomeLandingPage.tsx | 10 +- .../mobile/welcome/WelcomePackagesPage.tsx | 14 +- .../mobile/welcome/WelcomeSummaryPage.tsx | 16 +- resources/js/guest-v2/App.tsx | 31 + .../js/guest-v2/__tests__/BottomDock.test.tsx | 53 + .../guest-v2/__tests__/EventLayout.test.tsx | 53 + .../__tests__/HelpCenterScreen.test.tsx | 73 + .../js/guest-v2/__tests__/HomeScreen.test.tsx | 75 + .../guest-v2/__tests__/LandingScreen.test.tsx | 61 + .../__tests__/NotFoundScreen.test.tsx | 28 + .../__tests__/PhotoLightboxScreen.test.tsx | 70 + .../guest-v2/__tests__/ScreensCopy.test.tsx | 155 + .../__tests__/SettingsContent.test.tsx | 124 + .../guest-v2/__tests__/SettingsSheet.test.tsx | 58 + .../__tests__/SlideshowScreen.test.tsx | 31 + .../__tests__/TaskDetailScreen.test.tsx | 60 + .../__tests__/UploadQueueScreen.test.tsx | 72 + .../guest-v2/__tests__/UploadScreen.test.tsx | 87 + .../guest-v2/__tests__/brandingTheme.test.ts | 74 + .../guest-v2/__tests__/eventBranding.test.ts | 31 + .../js/guest-v2/__tests__/statsApi.test.ts | 33 + .../guest-v2/components/AmbientBackground.tsx | 28 + resources/js/guest-v2/components/AppShell.tsx | 236 + .../js/guest-v2/components/BottomDock.tsx | 75 + .../js/guest-v2/components/CompassHub.tsx | 150 + .../js/guest-v2/components/FabActionSheet.tsx | 105 + .../components/FloatingActionButton.tsx | 55 + .../components/GuestAnalyticsNudge.tsx | 267 + .../guest-v2/components/NotificationSheet.tsx | 200 + .../js/guest-v2/components/PhotoFrameTile.tsx | 71 + .../guest-v2/components/SettingsContent.tsx | 362 + .../js/guest-v2/components/SettingsSheet.tsx | 268 + .../guest-v2/components/StandaloneShell.tsx | 18 + .../js/guest-v2/components/SurfaceCard.tsx | 35 + resources/js/guest-v2/components/TopBar.tsx | 97 + .../js/guest-v2/context/EventDataContext.tsx | 103 + .../guest-v2/context/GuestIdentityContext.tsx | 111 + .../js/guest-v2/hooks/usePollGalleryDelta.ts | 82 + resources/js/guest-v2/hooks/usePollStats.ts | 57 + resources/js/guest-v2/layouts/EventLayout.tsx | 74 + .../js/guest-v2/layouts/GuestLocaleLayout.tsx | 12 + resources/js/guest-v2/lib/brandingTheme.ts | 1 + resources/js/guest-v2/lib/brandingTheme.tsx | 66 + resources/js/guest-v2/lib/device.ts | 18 + resources/js/guest-v2/lib/eventBranding.ts | 74 + resources/js/guest-v2/lib/routes.ts | 13 + .../js/guest-v2/lib/usePulseAnimation.ts | 39 + .../js/guest-v2/lib/useStaggeredReveal.ts | 29 + resources/js/guest-v2/main.tsx | 25 + resources/js/guest-v2/router.tsx | 106 + .../guest-v2/screens/AchievementsScreen.tsx | 174 + .../js/guest-v2/screens/GalleryScreen.tsx | 347 + .../js/guest-v2/screens/HelpArticleScreen.tsx | 170 + .../js/guest-v2/screens/HelpCenterScreen.tsx | 174 + resources/js/guest-v2/screens/HomeScreen.tsx | 415 + .../js/guest-v2/screens/LandingScreen.tsx | 237 + resources/js/guest-v2/screens/LegalScreen.tsx | 83 + .../js/guest-v2/screens/LiveShowScreen.tsx | 213 + .../js/guest-v2/screens/NotFoundScreen.tsx | 26 + .../guest-v2/screens/PhotoLightboxScreen.tsx | 589 + .../guest-v2/screens/ProfileSetupScreen.tsx | 104 + .../guest-v2/screens/PublicGalleryScreen.tsx | 306 + .../js/guest-v2/screens/SettingsScreen.tsx | 11 + resources/js/guest-v2/screens/ShareScreen.tsx | 170 + .../js/guest-v2/screens/SharedPhotoScreen.tsx | 183 + .../js/guest-v2/screens/SlideshowScreen.tsx | 186 + .../js/guest-v2/screens/TaskDetailScreen.tsx | 237 + resources/js/guest-v2/screens/TasksScreen.tsx | 271 + .../js/guest-v2/screens/UploadQueueScreen.tsx | 307 + .../js/guest-v2/screens/UploadScreen.tsx | 742 + .../screens/mockups/Mockup01CaptureOrbit.tsx | 99 + .../screens/mockups/Mockup02GalleryMosaic.tsx | 76 + .../screens/mockups/Mockup03PromptQuest.tsx | 74 + .../mockups/Mockup04TimelineStream.tsx | 70 + .../screens/mockups/Mockup05CompassHub.tsx | 81 + .../screens/mockups/Mockup06SplitCapture.tsx | 66 + .../screens/mockups/Mockup07SwipeDeck.tsx | 94 + .../screens/mockups/Mockup08Daybook.tsx | 58 + .../screens/mockups/Mockup09ChecklistFlow.tsx | 63 + .../screens/mockups/Mockup10SpotlightReel.tsx | 62 + .../guest-v2/screens/mockups/MockupFrame.tsx | 65 + .../screens/mockups/MockupHome01PulseHero.tsx | 70 + .../mockups/MockupHome02StoryRings.tsx | 75 + .../mockups/MockupHome03LiveStream.tsx | 52 + .../mockups/MockupHome04TaskSprint.tsx | 63 + .../mockups/MockupHome05GalleryFirst.tsx | 46 + .../screens/mockups/MockupHome06CalmFocus.tsx | 56 + .../mockups/MockupHome07MomentStack.tsx | 65 + .../mockups/MockupHome08CountdownStage.tsx | 54 + .../screens/mockups/MockupHome09ShareHub.tsx | 63 + .../screens/mockups/MockupHome10Moodboard.tsx | 56 + .../screens/mockups/MockupPrimitives.tsx | 65 + .../mockups/MockupsHomeIndexScreen.tsx | 68 + .../screens/mockups/MockupsIndexScreen.tsx | 82 + .../js/guest-v2/services/achievementsApi.ts | 6 + resources/js/guest-v2/services/apiClient.ts | 95 + resources/js/guest-v2/services/emotionsApi.ts | 24 + resources/js/guest-v2/services/eventApi.ts | 8 + resources/js/guest-v2/services/eventLink.ts | 16 + resources/js/guest-v2/services/galleryApi.ts | 6 + .../js/guest-v2/services/notificationsApi.ts | 6 + resources/js/guest-v2/services/photosApi.ts | 78 + resources/js/guest-v2/services/pushApi.ts | 1 + resources/js/guest-v2/services/statsApi.ts | 40 + resources/js/guest-v2/services/tasksApi.ts | 26 + resources/js/guest-v2/services/uploadApi.ts | 3 + resources/js/guest/i18n/messages.ts | 296 +- .../__tests__/AuthStep.google.test.tsx | 42 +- resources/views/guest-v2.blade.php | 45 + routes/web.php | 23 +- tamagui.config.ts | 174 +- tests/Feature/GuestV2PwaTest.php | 36 + tsconfig.json | 8 +- vite.config.ts | 14 +- 168 files changed, 47462 insertions(+), 8914 deletions(-) create mode 100644 resources/js/guest-v2/App.tsx create mode 100644 resources/js/guest-v2/__tests__/BottomDock.test.tsx create mode 100644 resources/js/guest-v2/__tests__/EventLayout.test.tsx create mode 100644 resources/js/guest-v2/__tests__/HelpCenterScreen.test.tsx create mode 100644 resources/js/guest-v2/__tests__/HomeScreen.test.tsx create mode 100644 resources/js/guest-v2/__tests__/LandingScreen.test.tsx create mode 100644 resources/js/guest-v2/__tests__/NotFoundScreen.test.tsx create mode 100644 resources/js/guest-v2/__tests__/PhotoLightboxScreen.test.tsx create mode 100644 resources/js/guest-v2/__tests__/ScreensCopy.test.tsx create mode 100644 resources/js/guest-v2/__tests__/SettingsContent.test.tsx create mode 100644 resources/js/guest-v2/__tests__/SettingsSheet.test.tsx create mode 100644 resources/js/guest-v2/__tests__/SlideshowScreen.test.tsx create mode 100644 resources/js/guest-v2/__tests__/TaskDetailScreen.test.tsx create mode 100644 resources/js/guest-v2/__tests__/UploadQueueScreen.test.tsx create mode 100644 resources/js/guest-v2/__tests__/UploadScreen.test.tsx create mode 100644 resources/js/guest-v2/__tests__/brandingTheme.test.ts create mode 100644 resources/js/guest-v2/__tests__/eventBranding.test.ts create mode 100644 resources/js/guest-v2/__tests__/statsApi.test.ts create mode 100644 resources/js/guest-v2/components/AmbientBackground.tsx create mode 100644 resources/js/guest-v2/components/AppShell.tsx create mode 100644 resources/js/guest-v2/components/BottomDock.tsx create mode 100644 resources/js/guest-v2/components/CompassHub.tsx create mode 100644 resources/js/guest-v2/components/FabActionSheet.tsx create mode 100644 resources/js/guest-v2/components/FloatingActionButton.tsx create mode 100644 resources/js/guest-v2/components/GuestAnalyticsNudge.tsx create mode 100644 resources/js/guest-v2/components/NotificationSheet.tsx create mode 100644 resources/js/guest-v2/components/PhotoFrameTile.tsx create mode 100644 resources/js/guest-v2/components/SettingsContent.tsx create mode 100644 resources/js/guest-v2/components/SettingsSheet.tsx create mode 100644 resources/js/guest-v2/components/StandaloneShell.tsx create mode 100644 resources/js/guest-v2/components/SurfaceCard.tsx create mode 100644 resources/js/guest-v2/components/TopBar.tsx create mode 100644 resources/js/guest-v2/context/EventDataContext.tsx create mode 100644 resources/js/guest-v2/context/GuestIdentityContext.tsx create mode 100644 resources/js/guest-v2/hooks/usePollGalleryDelta.ts create mode 100644 resources/js/guest-v2/hooks/usePollStats.ts create mode 100644 resources/js/guest-v2/layouts/EventLayout.tsx create mode 100644 resources/js/guest-v2/layouts/GuestLocaleLayout.tsx create mode 100644 resources/js/guest-v2/lib/brandingTheme.ts create mode 100644 resources/js/guest-v2/lib/brandingTheme.tsx create mode 100644 resources/js/guest-v2/lib/device.ts create mode 100644 resources/js/guest-v2/lib/eventBranding.ts create mode 100644 resources/js/guest-v2/lib/routes.ts create mode 100644 resources/js/guest-v2/lib/usePulseAnimation.ts create mode 100644 resources/js/guest-v2/lib/useStaggeredReveal.ts create mode 100644 resources/js/guest-v2/main.tsx create mode 100644 resources/js/guest-v2/router.tsx create mode 100644 resources/js/guest-v2/screens/AchievementsScreen.tsx create mode 100644 resources/js/guest-v2/screens/GalleryScreen.tsx create mode 100644 resources/js/guest-v2/screens/HelpArticleScreen.tsx create mode 100644 resources/js/guest-v2/screens/HelpCenterScreen.tsx create mode 100644 resources/js/guest-v2/screens/HomeScreen.tsx create mode 100644 resources/js/guest-v2/screens/LandingScreen.tsx create mode 100644 resources/js/guest-v2/screens/LegalScreen.tsx create mode 100644 resources/js/guest-v2/screens/LiveShowScreen.tsx create mode 100644 resources/js/guest-v2/screens/NotFoundScreen.tsx create mode 100644 resources/js/guest-v2/screens/PhotoLightboxScreen.tsx create mode 100644 resources/js/guest-v2/screens/ProfileSetupScreen.tsx create mode 100644 resources/js/guest-v2/screens/PublicGalleryScreen.tsx create mode 100644 resources/js/guest-v2/screens/SettingsScreen.tsx create mode 100644 resources/js/guest-v2/screens/ShareScreen.tsx create mode 100644 resources/js/guest-v2/screens/SharedPhotoScreen.tsx create mode 100644 resources/js/guest-v2/screens/SlideshowScreen.tsx create mode 100644 resources/js/guest-v2/screens/TaskDetailScreen.tsx create mode 100644 resources/js/guest-v2/screens/TasksScreen.tsx create mode 100644 resources/js/guest-v2/screens/UploadQueueScreen.tsx create mode 100644 resources/js/guest-v2/screens/UploadScreen.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup01CaptureOrbit.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup02GalleryMosaic.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup03PromptQuest.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup04TimelineStream.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup05CompassHub.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup06SplitCapture.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup07SwipeDeck.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup08Daybook.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup09ChecklistFlow.tsx create mode 100644 resources/js/guest-v2/screens/mockups/Mockup10SpotlightReel.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupFrame.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome01PulseHero.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome02StoryRings.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome03LiveStream.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome04TaskSprint.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome05GalleryFirst.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome06CalmFocus.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome07MomentStack.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome08CountdownStage.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome09ShareHub.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupHome10Moodboard.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupPrimitives.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupsHomeIndexScreen.tsx create mode 100644 resources/js/guest-v2/screens/mockups/MockupsIndexScreen.tsx create mode 100644 resources/js/guest-v2/services/achievementsApi.ts create mode 100644 resources/js/guest-v2/services/apiClient.ts create mode 100644 resources/js/guest-v2/services/emotionsApi.ts create mode 100644 resources/js/guest-v2/services/eventApi.ts create mode 100644 resources/js/guest-v2/services/eventLink.ts create mode 100644 resources/js/guest-v2/services/galleryApi.ts create mode 100644 resources/js/guest-v2/services/notificationsApi.ts create mode 100644 resources/js/guest-v2/services/photosApi.ts create mode 100644 resources/js/guest-v2/services/pushApi.ts create mode 100644 resources/js/guest-v2/services/statsApi.ts create mode 100644 resources/js/guest-v2/services/tasksApi.ts create mode 100644 resources/js/guest-v2/services/uploadApi.ts create mode 100644 resources/views/guest-v2.blade.php create mode 100644 tests/Feature/GuestV2PwaTest.php diff --git a/.tamagui/tamagui-components.config.cjs b/.tamagui/tamagui-components.config.cjs index f1d2244..152aad7 100644 --- a/.tamagui/tamagui-components.config.cjs +++ b/.tamagui/tamagui-components.config.cjs @@ -5109,12 +5109,12 @@ var require_mergeRefs = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = mergeRefs; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); function mergeRefs() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return /* @__PURE__ */ __name(function forwardRef26(node) { + return /* @__PURE__ */ __name(function forwardRef24(node) { args.forEach((ref) => { if (ref == null) { return; @@ -5144,15 +5144,15 @@ var require_useMergeRefs = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = useMergeRefs; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _mergeRefs = _interopRequireDefault(require_mergeRefs()); function useMergeRefs() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } - return React83.useMemo( + return React80.useMemo( () => (0, _mergeRefs.default)(...args), - + // eslint-disable-next-line [...args] ); } @@ -5168,10 +5168,10 @@ var require_useStable = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = useStable; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var UNINITIALIZED = typeof Symbol === "function" && typeof Symbol() === "symbol" ? Symbol() : Object.freeze({}); function useStable(getInitialValue) { - var ref = React83.useRef(UNINITIALIZED); + var ref = React80.useRef(UNINITIALIZED); if (ref.current === UNINITIALIZED) { ref.current = getInitialValue(); } @@ -6087,12 +6087,12 @@ var require_useResponderEvents = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = useResponderEvents; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var ResponderSystem = _interopRequireWildcard(require_ResponderSystem()); var emptyObject = {}; var idCounter = 0; function useStable(getInitialValue) { - var ref = React83.useRef(null); + var ref = React80.useRef(null); if (ref.current == null) { ref.current = getInitialValue(); } @@ -6104,14 +6104,14 @@ var require_useResponderEvents = __commonJS({ config = emptyObject; } var id = useStable(() => idCounter++); - var isAttachedRef = React83.useRef(false); - React83.useEffect(() => { + var isAttachedRef = React80.useRef(false); + React80.useEffect(() => { ResponderSystem.attachListeners(); return () => { ResponderSystem.removeNode(id); }; }, [id]); - React83.useEffect(() => { + React80.useEffect(() => { var _config = config, onMoveShouldSetResponder = _config.onMoveShouldSetResponder, onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture, onScrollShouldSetResponder = _config.onScrollShouldSetResponder, onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture, onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder, onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture, onStartShouldSetResponder = _config.onStartShouldSetResponder, onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture; var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null; var node = hostRef.current; @@ -6123,10 +6123,10 @@ var require_useResponderEvents = __commonJS({ isAttachedRef.current = false; } }, [config, hostRef, id]); - React83.useDebugValue({ + React80.useDebugValue({ isResponder: hostRef.current === ResponderSystem.getResponderNode() }); - React83.useDebugValue(config); + React80.useDebugValue(config); } __name(useResponderEvents, "useResponderEvents"); module2.exports = exports2.default; @@ -6157,7 +6157,7 @@ var require_View = __commonJS({ exports2.__esModule = true; exports2.default = void 0; var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _createElement = _interopRequireDefault(require_createElement()); var forwardedProps = _interopRequireWildcard(require_forwardedProps()); var _pick = _interopRequireDefault(require_pick()); @@ -6177,17 +6177,17 @@ var require_View = __commonJS({ pointerEvents: true }); var pickProps = /* @__PURE__ */ __name((props) => (0, _pick.default)(props, forwardPropsList), "pickProps"); - var View13 = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var View28 = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var hrefAttrs = props.hrefAttrs, onLayout = props.onLayout, onMoveShouldSetResponder = props.onMoveShouldSetResponder, onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture, onResponderEnd = props.onResponderEnd, onResponderGrant = props.onResponderGrant, onResponderMove = props.onResponderMove, onResponderReject = props.onResponderReject, onResponderRelease = props.onResponderRelease, onResponderStart = props.onResponderStart, onResponderTerminate = props.onResponderTerminate, onResponderTerminationRequest = props.onResponderTerminationRequest, onScrollShouldSetResponder = props.onScrollShouldSetResponder, onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture, onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder, onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture, onStartShouldSetResponder = props.onStartShouldSetResponder, onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); if (process.env.NODE_ENV !== "production") { - React83.Children.toArray(props.children).forEach((item) => { + React80.Children.toArray(props.children).forEach((item) => { if (typeof item === "string") { console.error("Unexpected text node: " + item + ". A text node cannot be a child of a ."); } }); } - var hasTextAncestor = React83.useContext(_TextAncestorContext.default); - var hostRef = React83.useRef(null); + var hasTextAncestor = React80.useContext(_TextAncestorContext.default); + var hostRef = React80.useRef(null); var _useLocaleContext = (0, _useLocale.useLocaleContext)(), contextDirection = _useLocaleContext.direction; (0, _useElementLayout.default)(hostRef, onLayout); (0, _useResponderEvents.default)(hostRef, { @@ -6237,7 +6237,7 @@ var require_View = __commonJS({ writingDirection }); }); - View13.displayName = "View"; + View28.displayName = "View"; var styles = _StyleSheet.default.create({ view$raw: { alignContent: "flex-start", @@ -6262,7 +6262,7 @@ var require_View = __commonJS({ display: "inline-flex" } }); - var _default = exports2.default = View13; + var _default = exports2.default = View28; module2.exports = exports2.default; } }); @@ -6632,7 +6632,7 @@ var require_ScrollViewBase = __commonJS({ exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _View = _interopRequireDefault(require_View()); var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); @@ -6674,14 +6674,14 @@ var require_ScrollViewBase = __commonJS({ return eventThrottle > 0 && timeSinceLastTick >= eventThrottle; } __name(shouldEmitScrollEvent, "shouldEmitScrollEvent"); - var ScrollViewBase = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var ScrollViewBase = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var onScroll = props.onScroll, onTouchMove = props.onTouchMove, onWheel = props.onWheel, _props$scrollEnabled = props.scrollEnabled, scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled, _props$scrollEventThr = props.scrollEventThrottle, scrollEventThrottle = _props$scrollEventThr === void 0 ? 0 : _props$scrollEventThr, showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator, showsVerticalScrollIndicator = props.showsVerticalScrollIndicator, style = props.style, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); - var scrollState = React83.useRef({ + var scrollState = React80.useRef({ isScrolling: false, scrollLastTick: 0 }); - var scrollTimeout = React83.useRef(null); - var scrollRef = React83.useRef(null); + var scrollTimeout = React80.useRef(null); + var scrollRef = React80.useRef(null); function createPreventableScrollHandler(handler) { return (e) => { if (scrollEnabled) { @@ -6732,7 +6732,7 @@ var require_ScrollViewBase = __commonJS({ } __name(handleScrollEnd, "handleScrollEnd"); var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false; - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, rest, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, rest, { onScroll: handleScroll, onTouchMove: createPreventableScrollHandler(onTouchMove), onWheel: createPreventableScrollHandler(onWheel), @@ -6844,7 +6844,7 @@ var require_ScrollView = __commonJS({ var _excluded = ["contentContainerStyle", "horizontal", "onContentSizeChange", "refreshControl", "stickyHeaderIndices", "pagingEnabled", "forwardedRef", "keyboardDismissMode", "onScroll", "centerContent"]; var emptyObject = {}; var IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16; - var ScrollView3 = class extends _react.default.Component { + var ScrollView2 = class extends _react.default.Component { static { __name(this, "ScrollView"); } @@ -7410,7 +7410,7 @@ var require_ScrollView = __commonJS({ } }); var ForwardedScrollView = /* @__PURE__ */ _react.default.forwardRef((props, forwardedRef) => { - return /* @__PURE__ */ _react.default.createElement(ScrollView3, (0, _extends2.default)({}, props, { + return /* @__PURE__ */ _react.default.createElement(ScrollView2, (0, _extends2.default)({}, props, { forwardedRef })); }); @@ -7527,10 +7527,10 @@ var require_EventEmitter = __commonJS({ * Registers a listener that is called when the supplied event is emitted. * Returns a subscription that has a `remove` method to undo registration. */ - addListener(eventType, listener, context2) { + addListener(eventType, listener, context4) { var registrations = allocate(this._registry, eventType); var registration = { - context: context2, + context: context4, listener, remove() { registrations.delete(registration); @@ -8181,8 +8181,8 @@ var require_StateSafePureComponent = __commonJS({ exports2.__esModule = true; exports2.default = void 0; var _invariant = _interopRequireDefault(require_invariant()); - var React83 = _interopRequireWildcard(require("react")); - var StateSafePureComponent = class extends React83.PureComponent { + var React80 = _interopRequireWildcard(require("react")); + var StateSafePureComponent = class extends React80.PureComponent { static { __name(this, "StateSafePureComponent"); } @@ -8193,11 +8193,11 @@ var require_StateSafePureComponent = __commonJS({ } setState(partialState, callback) { if (typeof partialState === "function") { - super.setState((state, props) => { + super.setState((state2, props) => { this._inAsyncStateUpdate = true; var ret; try { - ret = partialState(state, props); + ret = partialState(state2, props); } catch (err) { throw err; } finally { @@ -8211,7 +8211,7 @@ var require_StateSafePureComponent = __commonJS({ } _installSetStateHooks() { var that = this; - var props = this.props, state = this.state; + var props = this.props, state2 = this.state; Object.defineProperty(this, "props", { get() { (0, _invariant.default)(!that._inAsyncStateUpdate, '"this.props" should not be accessed during state updates'); @@ -8224,10 +8224,10 @@ var require_StateSafePureComponent = __commonJS({ Object.defineProperty(this, "state", { get() { (0, _invariant.default)(!that._inAsyncStateUpdate, '"this.state" should not be acceessed during state updates'); - return state; + return state2; }, set(newState) { - state = newState; + state2 = newState; } }); } @@ -8420,22 +8420,22 @@ var require_VirtualizedListContext = __commonJS({ exports2.VirtualizedListContextResetter = VirtualizedListContextResetter; var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); var _react = _interopRequireWildcard(require("react")); - var React83 = _react; + var React80 = _react; var __DEV__ = process.env.NODE_ENV !== "production"; - var VirtualizedListContext = exports2.VirtualizedListContext = /* @__PURE__ */ React83.createContext(null); + var VirtualizedListContext = exports2.VirtualizedListContext = /* @__PURE__ */ React80.createContext(null); if (__DEV__) { VirtualizedListContext.displayName = "VirtualizedListContext"; } function VirtualizedListContextResetter(_ref) { var children = _ref.children; - return /* @__PURE__ */ React83.createElement(VirtualizedListContext.Provider, { + return /* @__PURE__ */ React80.createElement(VirtualizedListContext.Provider, { value: null }, children); } __name(VirtualizedListContextResetter, "VirtualizedListContextResetter"); function VirtualizedListContextProvider(_ref2) { var children = _ref2.children, value = _ref2.value; - var context2 = (0, _react.useMemo)(() => ({ + var context4 = (0, _react.useMemo)(() => ({ cellKey: null, getScrollMetrics: value.getScrollMetrics, horizontal: value.horizontal, @@ -8443,19 +8443,19 @@ var require_VirtualizedListContext = __commonJS({ registerAsNestedChild: value.registerAsNestedChild, unregisterAsNestedChild: value.unregisterAsNestedChild }), [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.registerAsNestedChild, value.unregisterAsNestedChild]); - return /* @__PURE__ */ React83.createElement(VirtualizedListContext.Provider, { - value: context2 + return /* @__PURE__ */ React80.createElement(VirtualizedListContext.Provider, { + value: context4 }, children); } __name(VirtualizedListContextProvider, "VirtualizedListContextProvider"); function VirtualizedListCellContextProvider(_ref3) { var cellKey = _ref3.cellKey, children = _ref3.children; var currContext = (0, _react.useContext)(VirtualizedListContext); - var context2 = (0, _react.useMemo)(() => currContext == null ? null : (0, _objectSpread2.default)((0, _objectSpread2.default)({}, currContext), {}, { + var context4 = (0, _react.useMemo)(() => currContext == null ? null : (0, _objectSpread2.default)((0, _objectSpread2.default)({}, currContext), {}, { cellKey }), [currContext, cellKey]); - return /* @__PURE__ */ React83.createElement(VirtualizedListContext.Provider, { - value: context2 + return /* @__PURE__ */ React80.createElement(VirtualizedListContext.Provider, { + value: context4 }, children); } __name(VirtualizedListCellContextProvider, "VirtualizedListCellContextProvider"); @@ -8476,8 +8476,8 @@ var require_VirtualizedListCellRenderer = __commonJS({ var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _VirtualizedListContext = require_VirtualizedListContext(); var _invariant = _interopRequireDefault(require_invariant()); - var React83 = _interopRequireWildcard(require("react")); - var CellRenderer = class extends React83.Component { + var React80 = _interopRequireWildcard(require("react")); + var CellRenderer = class extends React80.Component { static { __name(this, "CellRenderer"); } @@ -8522,8 +8522,8 @@ var require_VirtualizedListCellRenderer = __commonJS({ // reused by SectionList and we can keep VirtualizedList simpler. // $FlowFixMe[missing-local-annot] updateSeparatorProps(newProps) { - this.setState((state) => ({ - separatorProps: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.separatorProps), newProps) + this.setState((state2) => ({ + separatorProps: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state2.separatorProps), newProps) })); } componentWillUnmount() { @@ -8534,7 +8534,7 @@ var require_VirtualizedListCellRenderer = __commonJS({ console.warn("VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take precedence over renderItem."); } if (ListItemComponent2) { - return /* @__PURE__ */ React83.createElement(ListItemComponent2, { + return /* @__PURE__ */ React80.createElement(ListItemComponent2, { item, index: index5, separators: this._separators @@ -8552,20 +8552,20 @@ var require_VirtualizedListCellRenderer = __commonJS({ render() { var _this$props4 = this.props, CellRendererComponent = _this$props4.CellRendererComponent, ItemSeparatorComponent = _this$props4.ItemSeparatorComponent, ListItemComponent2 = _this$props4.ListItemComponent, cellKey = _this$props4.cellKey, horizontal = _this$props4.horizontal, item = _this$props4.item, index5 = _this$props4.index, inversionStyle = _this$props4.inversionStyle, onCellFocusCapture = _this$props4.onCellFocusCapture, onCellLayout = _this$props4.onCellLayout, renderItem = _this$props4.renderItem; var element = this._renderElement(renderItem, ListItemComponent2, item, index5); - var itemSeparator = /* @__PURE__ */ React83.isValidElement(ItemSeparatorComponent) ? ( + var itemSeparator = /* @__PURE__ */ React80.isValidElement(ItemSeparatorComponent) ? ( // $FlowFixMe[incompatible-type] ItemSeparatorComponent ) : ( // $FlowFixMe[incompatible-type] - ItemSeparatorComponent && /* @__PURE__ */ React83.createElement(ItemSeparatorComponent, this.state.separatorProps) + ItemSeparatorComponent && /* @__PURE__ */ React80.createElement(ItemSeparatorComponent, this.state.separatorProps) ); var cellStyle = inversionStyle ? horizontal ? [styles.rowReverse, inversionStyle] : [styles.columnReverse, inversionStyle] : horizontal ? [styles.row, inversionStyle] : inversionStyle; - var result = !CellRendererComponent ? /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({ + var result = !CellRendererComponent ? /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({ style: cellStyle, onFocusCapture: onCellFocusCapture }, onCellLayout && { onLayout: this._onLayout - }), element, itemSeparator) : /* @__PURE__ */ React83.createElement(CellRendererComponent, (0, _extends2.default)({ + }), element, itemSeparator) : /* @__PURE__ */ React80.createElement(CellRendererComponent, (0, _extends2.default)({ cellKey, index: index5, item, @@ -8574,7 +8574,7 @@ var require_VirtualizedListCellRenderer = __commonJS({ }, onCellLayout && { onLayout: this._onLayout }), element, itemSeparator); - return /* @__PURE__ */ React83.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { + return /* @__PURE__ */ React80.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { cellKey: this.props.cellKey }, result); } @@ -8770,7 +8770,7 @@ var require_VirtualizedList = __commonJS({ var _VirtualizeUtils = require_VirtualizeUtils(); var _invariant = _interopRequireDefault(require_invariant()); var _nullthrows = _interopRequireDefault(require_nullthrows()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var __DEV__ = process.env.NODE_ENV !== "production"; var ON_EDGE_REACHED_EPSILON = 1e-3; var _usedIndexForKey = false; @@ -9035,15 +9035,15 @@ var require_VirtualizedList = __commonJS({ this._defaultRenderScrollComponent = (props) => { var onRefresh = props.onRefresh; if (this._isNestedWithSameOrientation()) { - return /* @__PURE__ */ React83.createElement(_View.default, props); + return /* @__PURE__ */ React80.createElement(_View.default, props); } else if (onRefresh) { var _props$refreshing; (0, _invariant.default)(typeof props.refreshing === "boolean", "`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `" + JSON.stringify((_props$refreshing = props.refreshing) !== null && _props$refreshing !== void 0 ? _props$refreshing : "undefined") + "`"); return ( // $FlowFixMe[prop-missing] Invalid prop usage // $FlowFixMe[incompatible-use] - /* @__PURE__ */ React83.createElement(_ScrollView.default, (0, _extends2.default)({}, props, { - refreshControl: props.refreshControl == null ? /* @__PURE__ */ React83.createElement( + /* @__PURE__ */ React80.createElement(_ScrollView.default, (0, _extends2.default)({}, props, { + refreshControl: props.refreshControl == null ? /* @__PURE__ */ React80.createElement( _RefreshControl.default, { refreshing: props.refreshing, @@ -9054,7 +9054,7 @@ var require_VirtualizedList = __commonJS({ })) ); } else { - return /* @__PURE__ */ React83.createElement(_ScrollView.default, props); + return /* @__PURE__ */ React80.createElement(_ScrollView.default, props); } }; this._onCellLayout = (e, cellKey, index5) => { @@ -9241,10 +9241,10 @@ var require_VirtualizedList = __commonJS({ }; this._updateCellsToRender = () => { this._updateViewableItems(this.props, this.state.cellsAroundViewport); - this.setState((state, props) => { - var cellsAroundViewport = this._adjustCellsAroundViewport(props, state.cellsAroundViewport); + this.setState((state2, props) => { + var cellsAroundViewport = this._adjustCellsAroundViewport(props, state2.cellsAroundViewport); var renderMask = _VirtualizedList._createRenderMask(props, cellsAroundViewport, this._getNonViewportRenderRegions(props)); - if (cellsAroundViewport.first === state.cellsAroundViewport.first && cellsAroundViewport.last === state.cellsAroundViewport.last && renderMask.equals(state.renderMask)) { + if (cellsAroundViewport.first === state2.cellsAroundViewport.first && cellsAroundViewport.last === state2.cellsAroundViewport.last && renderMask.equals(state2.renderMask)) { return null; } return { @@ -9538,7 +9538,7 @@ var require_VirtualizedList = __commonJS({ stickyHeaderIndices.push(cells.length); } var shouldListenForLayout = getItemLayout == null || debug || _this._fillRateHelper.enabled(); - cells.push(/* @__PURE__ */ React83.createElement(_VirtualizedListCellRenderer.default, (0, _extends2.default)({ + cells.push(/* @__PURE__ */ React80.createElement(_VirtualizedListCellRenderer.default, (0, _extends2.default)({ CellRendererComponent, ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : void 0, ListItemComponent: ListItemComponent2, @@ -9603,15 +9603,15 @@ var require_VirtualizedList = __commonJS({ if (stickyIndicesFromProps.has(0)) { stickyHeaderIndices.push(0); } - var _element = /* @__PURE__ */ React83.isValidElement(ListHeaderComponent) ? ListHeaderComponent : ( + var _element = /* @__PURE__ */ React80.isValidElement(ListHeaderComponent) ? ListHeaderComponent : ( // $FlowFixMe[not-a-component] // $FlowFixMe[incompatible-type-arg] - /* @__PURE__ */ React83.createElement(ListHeaderComponent, null) + /* @__PURE__ */ React80.createElement(ListHeaderComponent, null) ); - cells.push(/* @__PURE__ */ React83.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { + cells.push(/* @__PURE__ */ React80.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { cellKey: this._getCellKey() + "-header", key: "$header" - }, /* @__PURE__ */ React83.createElement( + }, /* @__PURE__ */ React80.createElement( _View.default, { onLayout: this._onLayoutHeader, @@ -9623,15 +9623,15 @@ var require_VirtualizedList = __commonJS({ } var itemCount = this.props.getItemCount(data); if (itemCount === 0 && ListEmptyComponent) { - var _element2 = /* @__PURE__ */ React83.isValidElement(ListEmptyComponent) ? ListEmptyComponent : ( + var _element2 = /* @__PURE__ */ React80.isValidElement(ListEmptyComponent) ? ListEmptyComponent : ( // $FlowFixMe[not-a-component] // $FlowFixMe[incompatible-type-arg] - /* @__PURE__ */ React83.createElement(ListEmptyComponent, null) + /* @__PURE__ */ React80.createElement(ListEmptyComponent, null) ); - cells.push(/* @__PURE__ */ React83.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { + cells.push(/* @__PURE__ */ React80.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { cellKey: this._getCellKey() + "-empty", key: "$empty" - }, /* @__PURE__ */ React83.cloneElement(_element2, { + }, /* @__PURE__ */ React80.cloneElement(_element2, { onLayout: /* @__PURE__ */ __name((event) => { this._onLayoutEmpty(event); if (_element2.props.onLayout) { @@ -9659,7 +9659,7 @@ var require_VirtualizedList = __commonJS({ var firstMetrics = this.__getFrameMetricsApprox(section.first, this.props); var lastMetrics = this.__getFrameMetricsApprox(last, this.props); var spacerSize = lastMetrics.offset + lastMetrics.length - firstMetrics.offset; - cells.push(/* @__PURE__ */ React83.createElement(_View.default, { + cells.push(/* @__PURE__ */ React80.createElement(_View.default, { key: "$spacer-" + section.first, style: { [spacerKey]: spacerSize @@ -9675,15 +9675,15 @@ var require_VirtualizedList = __commonJS({ } } if (ListFooterComponent) { - var _element3 = /* @__PURE__ */ React83.isValidElement(ListFooterComponent) ? ListFooterComponent : ( + var _element3 = /* @__PURE__ */ React80.isValidElement(ListFooterComponent) ? ListFooterComponent : ( // $FlowFixMe[not-a-component] // $FlowFixMe[incompatible-type-arg] - /* @__PURE__ */ React83.createElement(ListFooterComponent, null) + /* @__PURE__ */ React80.createElement(ListFooterComponent, null) ); - cells.push(/* @__PURE__ */ React83.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { + cells.push(/* @__PURE__ */ React80.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { cellKey: this._getFooterCellKey(), key: "$footer" - }, /* @__PURE__ */ React83.createElement( + }, /* @__PURE__ */ React80.createElement( _View.default, { onLayout: this._onLayoutFooter, @@ -9708,7 +9708,7 @@ var require_VirtualizedList = __commonJS({ style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style }); this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1; - var innerRet = /* @__PURE__ */ React83.createElement(_VirtualizedListContext.VirtualizedListContextProvider, { + var innerRet = /* @__PURE__ */ React80.createElement(_VirtualizedListContext.VirtualizedListContextProvider, { value: { cellKey: null, getScrollMetrics: this._getScrollMetrics, @@ -9717,12 +9717,12 @@ var require_VirtualizedList = __commonJS({ registerAsNestedChild: this._registerAsNestedChild, unregisterAsNestedChild: this._unregisterAsNestedChild } - }, /* @__PURE__ */ React83.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), { + }, /* @__PURE__ */ React80.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), { ref: this._captureScrollRef }, cells)); var ret = innerRet; if (this.props.debug) { - return /* @__PURE__ */ React83.createElement(_View.default, { + return /* @__PURE__ */ React80.createElement(_View.default, { style: styles.debug }, ret, this._renderDebugOverlay()); } else { @@ -9810,20 +9810,20 @@ var require_VirtualizedList = __commonJS({ var windowLen = frameLast.offset + frameLast.length - windowTop; var visTop = this._scrollMetrics.offset; var visLen = this._scrollMetrics.visibleLength; - return /* @__PURE__ */ React83.createElement(_View.default, { + return /* @__PURE__ */ React80.createElement(_View.default, { style: [styles.debugOverlayBase, styles.debugOverlay] - }, framesInLayout.map((f, ii2) => /* @__PURE__ */ React83.createElement(_View.default, { + }, framesInLayout.map((f, ii2) => /* @__PURE__ */ React80.createElement(_View.default, { key: "f" + ii2, style: [styles.debugOverlayBase, styles.debugOverlayFrame, { top: f.offset * normalize, height: f.length * normalize }] - })), /* @__PURE__ */ React83.createElement(_View.default, { + })), /* @__PURE__ */ React80.createElement(_View.default, { style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, { top: windowTop * normalize, height: windowLen * normalize }] - }), /* @__PURE__ */ React83.createElement(_View.default, { + }), /* @__PURE__ */ React80.createElement(_View.default, { style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, { top: visTop * normalize, height: visLen * normalize @@ -10027,7 +10027,7 @@ var require_FlatList = __commonJS({ var _deepDiffer = _interopRequireDefault(require_deepDiffer()); var _Platform = _interopRequireDefault(require_Platform()); var _invariant = _interopRequireDefault(require_invariant()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _VirtualizedList = _interopRequireDefault(require_VirtualizedList()); var _VirtualizeUtils = require_VirtualizeUtils(); var _memoizeOne = _interopRequireDefault(require_memoize_one_cjs()); @@ -10044,7 +10044,7 @@ var require_FlatList = __commonJS({ return typeof Object(data).length === "number"; } __name(isArrayLike, "isArrayLike"); - var FlatList = class extends React83.PureComponent { + var FlatList = class extends React80.PureComponent { static { __name(this, "FlatList"); } @@ -10175,7 +10175,7 @@ var require_FlatList = __commonJS({ var cols = numColumnsOrDefault(numColumns); var render = /* @__PURE__ */ __name((props) => { if (ListItemComponent2) { - return /* @__PURE__ */ React83.createElement(ListItemComponent2, props); + return /* @__PURE__ */ React80.createElement(ListItemComponent2, props); } else if (renderItem) { return renderItem(props); } else { @@ -10186,7 +10186,7 @@ var require_FlatList = __commonJS({ if (cols > 1) { var _item2 = info.item, _index = info.index; (0, _invariant.default)(Array.isArray(_item2), "Expected array of items with numColumns > 1"); - return /* @__PURE__ */ React83.createElement(_View.default, { + return /* @__PURE__ */ React80.createElement(_View.default, { style: [styles.row, columnWrapperStyle] }, _item2.map((it, kk) => { var element = render({ @@ -10195,7 +10195,7 @@ var require_FlatList = __commonJS({ index: _index * cols + kk, separators: info.separators }); - return element != null ? /* @__PURE__ */ React83.createElement(React83.Fragment, { + return element != null ? /* @__PURE__ */ React80.createElement(React80.Fragment, { key: kk }, element) : null; })); @@ -10285,7 +10285,7 @@ var require_FlatList = __commonJS({ var renderer = strictMode ? this._memoizedRenderer : this._renderer; return ( // $FlowFixMe[incompatible-exact] - `restProps` (`Props`) is inexact. - /* @__PURE__ */ React83.createElement(_VirtualizedList.default, (0, _extends2.default)({}, restProps, { + /* @__PURE__ */ React80.createElement(_VirtualizedList.default, (0, _extends2.default)({}, restProps, { getItem: this._getItem, getItemCount: this._getItemCount, keyExtractor: this._keyExtractor, @@ -10401,10 +10401,10 @@ var require_NativeEventEmitter = __commonJS({ this._nativeModule = nativeModule; } } - addListener(eventType, listener, context2) { + addListener(eventType, listener, context4) { var _this$_nativeModule; (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType); - var subscription = _RCTDeviceEventEmitter.default.addListener(eventType, listener, context2); + var subscription = _RCTDeviceEventEmitter.default.addListener(eventType, listener, context4); return { remove: /* @__PURE__ */ __name(() => { if (subscription != null) { @@ -12243,7 +12243,7 @@ var require_useMergeRefs2 = __commonJS({ } }, [...refs] - + // eslint-disable-line react-hooks/exhaustive-deps ); } __name(useMergeRefs, "useMergeRefs"); @@ -12265,16 +12265,16 @@ var require_createAnimatedComponent = __commonJS({ var _useMergeRefs = _interopRequireDefault(require_useMergeRefs2()); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _View = _interopRequireDefault(require_View()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _excluded = ["style"]; function createAnimatedComponent(Component) { - return /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + return /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var _useAnimatedProps = (0, _useAnimatedProps2.default)(props), reducedProps = _useAnimatedProps[0], callbackRef = _useAnimatedProps[1]; var ref = (0, _useMergeRefs.default)(callbackRef, forwardedRef); var passthroughAnimatedPropExplicitValues = reducedProps.passthroughAnimatedPropExplicitValues, style = reducedProps.style; var _ref = passthroughAnimatedPropExplicitValues !== null && passthroughAnimatedPropExplicitValues !== void 0 ? passthroughAnimatedPropExplicitValues : {}, passthroughStyle = _ref.style, passthroughProps = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded); var mergedStyle = [style, passthroughStyle]; - return /* @__PURE__ */ React83.createElement(Component, (0, _extends2.default)({}, reducedProps, passthroughProps, { + return /* @__PURE__ */ React80.createElement(Component, (0, _extends2.default)({}, reducedProps, passthroughProps, { style: mergedStyle, ref })); @@ -12294,10 +12294,10 @@ var require_AnimatedFlatList = __commonJS({ exports2.__esModule = true; exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _FlatList = _interopRequireDefault(require_FlatList2()); var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); - var FlatListWithEventThrottle = /* @__PURE__ */ React83.forwardRef((props, ref) => /* @__PURE__ */ React83.createElement(_FlatList.default, (0, _extends2.default)({ + var FlatListWithEventThrottle = /* @__PURE__ */ React80.forwardRef((props, ref) => /* @__PURE__ */ React80.createElement(_FlatList.default, (0, _extends2.default)({ scrollEventThrottle: 1e-4 }, props, { ref @@ -12527,7 +12527,7 @@ var require_Image = __commonJS({ var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _createElement = _interopRequireDefault(require_createElement()); var _AssetRegistry = require_AssetRegistry(); var _preprocess = require_preprocess(); @@ -12545,20 +12545,20 @@ var require_Image = __commonJS({ var _filterId = 0; var svgDataUriPattern = /^(data:image\/svg\+xml;utf8,)(.*)/; function createTintColorSVG(tintColor, id) { - return tintColor && id != null ? /* @__PURE__ */ React83.createElement("svg", { + return tintColor && id != null ? /* @__PURE__ */ React80.createElement("svg", { style: { position: "absolute", height: 0, visibility: "hidden", width: 0 } - }, /* @__PURE__ */ React83.createElement("defs", null, /* @__PURE__ */ React83.createElement("filter", { + }, /* @__PURE__ */ React80.createElement("defs", null, /* @__PURE__ */ React80.createElement("filter", { id: "tint-" + id, suppressHydrationWarning: true - }, /* @__PURE__ */ React83.createElement("feFlood", { + }, /* @__PURE__ */ React80.createElement("feFlood", { floodColor: "" + tintColor, key: tintColor - }), /* @__PURE__ */ React83.createElement("feComposite", { + }), /* @__PURE__ */ React80.createElement("feComposite", { in2: "SourceAlpha", operator: "in" })))) : null; @@ -12642,7 +12642,7 @@ var require_Image = __commonJS({ return uri; } __name(resolveAssetUri, "resolveAssetUri"); - var Image2 = /* @__PURE__ */ React83.forwardRef((props, ref) => { + var Image2 = /* @__PURE__ */ React80.forwardRef((props, ref) => { var _ariaLabel = props["aria-label"], accessibilityLabel = props.accessibilityLabel, blurRadius = props.blurRadius, defaultSource = props.defaultSource, draggable = props.draggable, onError = props.onError, onLayout = props.onLayout, onLoad = props.onLoad, onLoadEnd = props.onLoadEnd, onLoadStart = props.onLoadStart, pointerEvents = props.pointerEvents, source = props.source, style = props.style, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); var ariaLabel = _ariaLabel || accessibilityLabel; if (process.env.NODE_ENV !== "production") { @@ -12650,7 +12650,7 @@ var require_Image = __commonJS({ throw new Error("The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning."); } } - var _React$useState = React83.useState(() => { + var _React$useState = React80.useState(() => { var uri2 = resolveAssetUri(source); if (uri2 != null) { var isLoaded = _ImageLoader.default.has(uri2); @@ -12659,13 +12659,13 @@ var require_Image = __commonJS({ } } return IDLE; - }), state = _React$useState[0], updateState = _React$useState[1]; - var _React$useState2 = React83.useState({}), layout = _React$useState2[0], updateLayout = _React$useState2[1]; - var hasTextAncestor = React83.useContext(_TextAncestorContext.default); - var hiddenImageRef = React83.useRef(null); - var filterRef = React83.useRef(_filterId++); - var requestRef = React83.useRef(null); - var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null; + }), state2 = _React$useState[0], updateState = _React$useState[1]; + var _React$useState2 = React80.useState({}), layout = _React$useState2[0], updateLayout = _React$useState2[1]; + var hasTextAncestor = React80.useContext(_TextAncestorContext.default); + var hiddenImageRef = React80.useRef(null); + var filterRef = React80.useRef(_filterId++); + var requestRef = React80.useRef(null); + var shouldDisplaySource = state2 === LOADED || state2 === LOADING && defaultSource == null; var _extractNonStandardSt = extractNonStandardStyleProps(style, blurRadius, filterRef.current, props.tintColor), _resizeMode = _extractNonStandardSt[0], filter = _extractNonStandardSt[1], _tintColor = _extractNonStandardSt[2]; var resizeMode = props.resizeMode || _resizeMode || "cover"; var tintColor = props.tintColor || _tintColor; @@ -12703,7 +12703,7 @@ var require_Image = __commonJS({ } __name(handleLayout, "handleLayout"); var uri = resolveAssetUri(source); - React83.useEffect(() => { + React80.useEffect(() => { abortPendingRequest(); if (uri != null) { updateState(LOADING); @@ -12741,7 +12741,7 @@ var require_Image = __commonJS({ __name(abortPendingRequest, "abortPendingRequest"); return abortPendingRequest; }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]); - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, rest, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, rest, { "aria-label": ariaLabel, onLayout: handleLayout, pointerEvents, @@ -12758,7 +12758,7 @@ var require_Image = __commonJS({ boxShadow: null } ] - }), /* @__PURE__ */ React83.createElement(_View.default, { + }), /* @__PURE__ */ React80.createElement(_View.default, { style: [styles.image, resizeModeStyles[resizeMode], { backgroundImage, filter @@ -12853,7 +12853,7 @@ var require_AnimatedImage = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = void 0; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _Image = _interopRequireDefault(require_Image()); var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); var _default = exports2.default = (0, _createAnimatedComponent.default)(_Image.default); @@ -12870,10 +12870,10 @@ var require_AnimatedScrollView = __commonJS({ exports2.__esModule = true; exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _ScrollView = _interopRequireDefault(require_ScrollView()); var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); - var ScrollViewWithEventThrottle = /* @__PURE__ */ React83.forwardRef((props, ref) => /* @__PURE__ */ React83.createElement(_ScrollView.default, (0, _extends2.default)({ + var ScrollViewWithEventThrottle = /* @__PURE__ */ React80.forwardRef((props, ref) => /* @__PURE__ */ React80.createElement(_ScrollView.default, (0, _extends2.default)({ scrollEventThrottle: 1e-4 }, props, { ref @@ -12899,9 +12899,9 @@ var require_VirtualizedSectionList = __commonJS({ var _VirtualizedList = _interopRequireDefault(require_VirtualizedList()); var _VirtualizeUtils = require_VirtualizeUtils(); var _invariant = _interopRequireDefault(require_invariant()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _excluded = ["ItemSeparatorComponent", "SectionSeparatorComponent", "renderItem", "renderSectionFooter", "renderSectionHeader", "sections", "stickySectionHeadersEnabled"]; - var VirtualizedSectionList = class extends React83.PureComponent { + var VirtualizedSectionList = class extends React80.PureComponent { static { __name(this, "VirtualizedSectionList"); } @@ -12938,7 +12938,7 @@ var require_VirtualizedSectionList = __commonJS({ } }; this._renderItem = (listItemCount) => ( - + // eslint-disable-next-line react/no-unstable-nested-components (_ref2) => { var item = _ref2.item, index5 = _ref2.index; var info = this._subExtractor(index5); @@ -12963,7 +12963,7 @@ var require_VirtualizedSectionList = __commonJS({ var renderItem = info.section.renderItem || this.props.renderItem; var SeparatorComponent = this._getSeparatorComponent(index5, info, listItemCount); (0, _invariant.default)(renderItem, "no renderItem!"); - return /* @__PURE__ */ React83.createElement(ItemWithSeparator, { + return /* @__PURE__ */ React80.createElement(ItemWithSeparator, { SeparatorComponent, LeadingSeparatorComponent: infoIndex === 0 ? this.props.SectionSeparatorComponent : void 0, cellKey: info.key, @@ -13053,7 +13053,7 @@ var require_VirtualizedSectionList = __commonJS({ itemCount += this.props.getItemCount(section.data); } var renderItem = this._renderItem(itemCount); - return /* @__PURE__ */ React83.createElement(_VirtualizedList.default, (0, _extends2.default)({}, passThroughProps, { + return /* @__PURE__ */ React80.createElement(_VirtualizedList.default, (0, _extends2.default)({}, passThroughProps, { keyExtractor: this._keyExtractor, stickyHeaderIndices, renderItem, @@ -13144,23 +13144,23 @@ var require_VirtualizedSectionList = __commonJS({ }; function ItemWithSeparator(props) { var LeadingSeparatorComponent = props.LeadingSeparatorComponent, SeparatorComponent = props.SeparatorComponent, cellKey = props.cellKey, prevCellKey = props.prevCellKey, setSelfHighlightCallback = props.setSelfHighlightCallback, updateHighlightFor = props.updateHighlightFor, setSelfUpdatePropsCallback = props.setSelfUpdatePropsCallback, updatePropsFor = props.updatePropsFor, item = props.item, index5 = props.index, section = props.section, inverted = props.inverted; - var _React$useState = React83.useState(false), leadingSeparatorHiglighted = _React$useState[0], setLeadingSeparatorHighlighted = _React$useState[1]; - var _React$useState2 = React83.useState(false), separatorHighlighted = _React$useState2[0], setSeparatorHighlighted = _React$useState2[1]; - var _React$useState3 = React83.useState({ + var _React$useState = React80.useState(false), leadingSeparatorHiglighted = _React$useState[0], setLeadingSeparatorHighlighted = _React$useState[1]; + var _React$useState2 = React80.useState(false), separatorHighlighted = _React$useState2[0], setSeparatorHighlighted = _React$useState2[1]; + var _React$useState3 = React80.useState({ leadingItem: props.leadingItem, leadingSection: props.leadingSection, section: props.section, trailingItem: props.item, trailingSection: props.trailingSection }), leadingSeparatorProps = _React$useState3[0], setLeadingSeparatorProps = _React$useState3[1]; - var _React$useState4 = React83.useState({ + var _React$useState4 = React80.useState({ leadingItem: props.item, leadingSection: props.leadingSection, section: props.section, trailingItem: props.trailingItem, trailingSection: props.trailingSection }), separatorProps = _React$useState4[0], setSeparatorProps = _React$useState4[1]; - React83.useEffect(() => { + React80.useEffect(() => { setSelfHighlightCallback(cellKey, setSeparatorHighlighted); setSelfUpdatePropsCallback(cellKey, setSeparatorProps); return () => { @@ -13201,13 +13201,13 @@ var require_VirtualizedSectionList = __commonJS({ section, separators }); - var leadingSeparator = LeadingSeparatorComponent != null && /* @__PURE__ */ React83.createElement(LeadingSeparatorComponent, (0, _extends2.default)({ + var leadingSeparator = LeadingSeparatorComponent != null && /* @__PURE__ */ React80.createElement(LeadingSeparatorComponent, (0, _extends2.default)({ highlighted: leadingSeparatorHiglighted }, leadingSeparatorProps)); - var separator = SeparatorComponent != null && /* @__PURE__ */ React83.createElement(SeparatorComponent, (0, _extends2.default)({ + var separator = SeparatorComponent != null && /* @__PURE__ */ React80.createElement(SeparatorComponent, (0, _extends2.default)({ highlighted: separatorHighlighted }, separatorProps)); - return leadingSeparator || separator ? /* @__PURE__ */ React83.createElement(_View.default, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element; + return leadingSeparator || separator ? /* @__PURE__ */ React80.createElement(_View.default, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element; } __name(ItemWithSeparator, "ItemWithSeparator"); var _default = exports2.default = VirtualizedSectionList; @@ -13226,10 +13226,10 @@ var require_SectionList = __commonJS({ var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); var _Platform = _interopRequireDefault(require_Platform()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _VirtualizedSectionList = _interopRequireDefault(require_VirtualizedSectionList()); var _excluded = ["stickySectionHeadersEnabled"]; - var SectionList = class extends React83.PureComponent { + var SectionList = class extends React80.PureComponent { static { __name(this, "SectionList"); } @@ -13290,7 +13290,7 @@ var require_SectionList = __commonJS({ render() { var _this$props = this.props, _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled, restProps = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded); var stickySectionHeadersEnabled = _stickySectionHeadersEnabled !== null && _stickySectionHeadersEnabled !== void 0 ? _stickySectionHeadersEnabled : _Platform.default.OS === "ios"; - return /* @__PURE__ */ React83.createElement(_VirtualizedSectionList.default, (0, _extends2.default)({}, restProps, { + return /* @__PURE__ */ React80.createElement(_VirtualizedSectionList.default, (0, _extends2.default)({}, restProps, { stickySectionHeadersEnabled, ref: this._captureRef, getItemCount: /* @__PURE__ */ __name((items) => items.length, "getItemCount"), @@ -13326,10 +13326,10 @@ var require_AnimatedSectionList = __commonJS({ exports2.__esModule = true; exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _SectionList = _interopRequireDefault(require_SectionList2()); var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); - var SectionListWithEventThrottle = /* @__PURE__ */ React83.forwardRef((props, ref) => /* @__PURE__ */ React83.createElement(_SectionList.default, (0, _extends2.default)({ + var SectionListWithEventThrottle = /* @__PURE__ */ React80.forwardRef((props, ref) => /* @__PURE__ */ React80.createElement(_SectionList.default, (0, _extends2.default)({ scrollEventThrottle: 1e-4 }, props, { ref @@ -13350,7 +13350,7 @@ var require_Text = __commonJS({ exports2.default = void 0; var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _createElement = _interopRequireDefault(require_createElement()); var forwardedProps = _interopRequireWildcard(require_forwardedProps()); var _pick = _interopRequireDefault(require_pick()); @@ -13368,10 +13368,10 @@ var require_Text = __commonJS({ pointerEvents: true }); var pickProps = /* @__PURE__ */ __name((props) => (0, _pick.default)(props, forwardPropsList), "pickProps"); - var Text6 = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var Text9 = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var hrefAttrs = props.hrefAttrs, numberOfLines = props.numberOfLines, onClick = props.onClick, onLayout = props.onLayout, onPress = props.onPress, onMoveShouldSetResponder = props.onMoveShouldSetResponder, onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture, onResponderEnd = props.onResponderEnd, onResponderGrant = props.onResponderGrant, onResponderMove = props.onResponderMove, onResponderReject = props.onResponderReject, onResponderRelease = props.onResponderRelease, onResponderStart = props.onResponderStart, onResponderTerminate = props.onResponderTerminate, onResponderTerminationRequest = props.onResponderTerminationRequest, onScrollShouldSetResponder = props.onScrollShouldSetResponder, onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture, onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder, onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture, onStartShouldSetResponder = props.onStartShouldSetResponder, onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture, selectable = props.selectable, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); - var hasTextAncestor = React83.useContext(_TextAncestorContext.default); - var hostRef = React83.useRef(null); + var hasTextAncestor = React80.useContext(_TextAncestorContext.default); + var hostRef = React80.useRef(null); var _useLocaleContext = (0, _useLocale.useLocaleContext)(), contextDirection = _useLocaleContext.direction; (0, _useElementLayout.default)(hostRef, onLayout); (0, _useResponderEvents.default)(hostRef, { @@ -13392,7 +13392,7 @@ var require_Text = __commonJS({ onStartShouldSetResponder, onStartShouldSetResponderCapture }); - var handleClick = React83.useCallback((e) => { + var handleClick = React80.useCallback((e) => { if (onClick != null) { onClick(e); } else if (onPress != null) { @@ -13436,11 +13436,11 @@ var require_Text = __commonJS({ var element = (0, _createElement.default)(component, supportedProps, { writingDirection }); - return hasTextAncestor ? element : /* @__PURE__ */ React83.createElement(_TextAncestorContext.default.Provider, { + return hasTextAncestor ? element : /* @__PURE__ */ React80.createElement(_TextAncestorContext.default.Provider, { value: true }, element); }); - Text6.displayName = "Text"; + Text9.displayName = "Text"; var textStyle = { backgroundColor: "transparent", border: "0 solid black", @@ -13490,7 +13490,7 @@ var require_Text = __commonJS({ cursor: "pointer" } }); - var _default = exports2.default = Text6; + var _default = exports2.default = Text9; module2.exports = exports2.default; } }); @@ -13503,7 +13503,7 @@ var require_AnimatedText = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = void 0; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _Text = _interopRequireDefault(require_Text()); var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); var _default = exports2.default = (0, _createAnimatedComponent.default)(_Text.default); @@ -13519,7 +13519,7 @@ var require_AnimatedView = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = void 0; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _View = _interopRequireDefault(require_View()); var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); var _default = exports2.default = (0, _createAnimatedComponent.default)(_View.default); @@ -15979,23 +15979,23 @@ var require_AppContainer = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = void 0; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _View = _interopRequireDefault(require_View()); - var RootTagContext = /* @__PURE__ */ React83.createContext(null); - var AppContainer = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var RootTagContext = /* @__PURE__ */ React80.createContext(null); + var AppContainer = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var children = props.children, WrapperComponent = props.WrapperComponent; - var innerView = /* @__PURE__ */ React83.createElement(_View.default, { + var innerView = /* @__PURE__ */ React80.createElement(_View.default, { children, key: 1, style: styles.appContainer }); if (WrapperComponent) { - innerView = /* @__PURE__ */ React83.createElement(WrapperComponent, null, innerView); + innerView = /* @__PURE__ */ React80.createElement(WrapperComponent, null, innerView); } - return /* @__PURE__ */ React83.createElement(RootTagContext.Provider, { + return /* @__PURE__ */ React80.createElement(RootTagContext.Provider, { value: props.rootTag - }, /* @__PURE__ */ React83.createElement(_View.default, { + }, /* @__PURE__ */ React80.createElement(_View.default, { ref: forwardedRef, style: styles.appContainer }, innerView)); @@ -16313,7 +16313,7 @@ var require_Keyboard = __commonJS({ exports2.__esModule = true; exports2.default = void 0; var _dismissKeyboard = _interopRequireDefault(require_dismissKeyboard()); - var Keyboard2 = { + var Keyboard = { isVisible() { return false; }, @@ -16331,7 +16331,7 @@ var require_Keyboard = __commonJS({ removeListener() { } }; - var _default = exports2.default = Keyboard2; + var _default = exports2.default = Keyboard; module2.exports = exports2.default; } }); @@ -17099,11 +17099,11 @@ var require_ActivityIndicator = __commonJS({ exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _View = _interopRequireDefault(require_View()); var _excluded = ["animating", "color", "hidesWhenStopped", "size", "style"]; - var createSvgCircle = /* @__PURE__ */ __name((style) => /* @__PURE__ */ React83.createElement("circle", { + var createSvgCircle = /* @__PURE__ */ __name((style) => /* @__PURE__ */ React80.createElement("circle", { cx: "16", cy: "16", fill: "none", @@ -17111,9 +17111,9 @@ var require_ActivityIndicator = __commonJS({ strokeWidth: "4", style }), "createSvgCircle"); - var ActivityIndicator2 = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var ActivityIndicator2 = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var _props$animating = props.animating, animating = _props$animating === void 0 ? true : _props$animating, _props$color = props.color, color = _props$color === void 0 ? "#1976D2" : _props$color, _props$hidesWhenStopp = props.hidesWhenStopped, hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp, _props$size = props.size, size4 = _props$size === void 0 ? "small" : _props$size, style = props.style, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); - var svg = /* @__PURE__ */ React83.createElement("svg", { + var svg = /* @__PURE__ */ React80.createElement("svg", { height: "100%", viewBox: "0 0 32 32", width: "100%" @@ -17125,13 +17125,13 @@ var require_ActivityIndicator = __commonJS({ strokeDasharray: 80, strokeDashoffset: 60 })); - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, other, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, other, { "aria-valuemax": 1, "aria-valuemin": 0, ref: forwardedRef, role: "progressbar", style: [styles.container, style] - }), /* @__PURE__ */ React83.createElement(_View.default, { + }), /* @__PURE__ */ React80.createElement(_View.default, { children: svg, style: [typeof size4 === "number" ? { height: size4, @@ -17610,7 +17610,7 @@ var require_TouchableOpacity = __commonJS({ var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); var _react = _interopRequireWildcard(require("react")); - var React83 = _react; + var React80 = _react; var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); var _usePressEvents = _interopRequireDefault(require_usePressEvents()); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); @@ -17655,7 +17655,7 @@ var require_TouchableOpacity = __commonJS({ } }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]); var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig); - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, { accessibilityDisabled: disabled, focusable: !disabled && focusable2 !== false, pointerEvents: disabled ? "box-none" : void 0, @@ -17679,7 +17679,7 @@ var require_TouchableOpacity = __commonJS({ touchAction: "manipulation" } }); - var MemoedTouchableOpacity = /* @__PURE__ */ React83.memo(/* @__PURE__ */ React83.forwardRef(TouchableOpacity)); + var MemoedTouchableOpacity = /* @__PURE__ */ React80.memo(/* @__PURE__ */ React80.forwardRef(TouchableOpacity)); MemoedTouchableOpacity.displayName = "TouchableOpacity"; var _default = exports2.default = MemoedTouchableOpacity; module2.exports = exports2.default; @@ -17694,13 +17694,13 @@ var require_Button = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = void 0; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _TouchableOpacity = _interopRequireDefault(require_TouchableOpacity()); var _Text = _interopRequireDefault(require_Text()); - var Button = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var Button2 = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var accessibilityLabel = props.accessibilityLabel, color = props.color, disabled = props.disabled, onPress = props.onPress, testID = props.testID, title = props.title; - return /* @__PURE__ */ React83.createElement(_TouchableOpacity.default, { + return /* @__PURE__ */ React80.createElement(_TouchableOpacity.default, { accessibilityLabel, accessibilityRole: "button", disabled, @@ -17711,11 +17711,11 @@ var require_Button = __commonJS({ backgroundColor: color }, disabled && styles.buttonDisabled], testID - }, /* @__PURE__ */ React83.createElement(_Text.default, { + }, /* @__PURE__ */ React80.createElement(_Text.default, { style: [styles.text, disabled && styles.textDisabled] }, title)); }); - Button.displayName = "Button"; + Button2.displayName = "Button"; var styles = _StyleSheet.default.create({ button: { backgroundColor: "#2196F3", @@ -17735,7 +17735,7 @@ var require_Button = __commonJS({ color: "#a1a1a1" } }); - var _default = exports2.default = Button; + var _default = exports2.default = Button2; module2.exports = exports2.default; } }); @@ -17752,12 +17752,12 @@ var require_CheckBox = __commonJS({ var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _createElement = _interopRequireDefault(require_createElement()); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _View = _interopRequireDefault(require_View()); var _excluded = ["aria-readonly", "color", "disabled", "onChange", "onValueChange", "readOnly", "style", "value"]; - var CheckBox = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var CheckBox = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var ariaReadOnly = props["aria-readonly"], color = props.color, disabled = props.disabled, onChange = props.onChange, onValueChange = props.onValueChange, readOnly = props.readOnly, style = props.style, value = props.value, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); function handleChange(event) { var value2 = event.nativeEvent.target.checked; @@ -17766,7 +17766,7 @@ var require_CheckBox = __commonJS({ onValueChange && onValueChange(value2); } __name(handleChange, "handleChange"); - var fakeControl = /* @__PURE__ */ React83.createElement(_View.default, { + var fakeControl = /* @__PURE__ */ React80.createElement(_View.default, { style: [ styles.fakeControl, value && styles.fakeControlChecked, @@ -17788,7 +17788,7 @@ var require_CheckBox = __commonJS({ style: [styles.nativeControl, styles.cursorInherit], type: "checkbox" }); - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, other, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, other, { "aria-disabled": disabled, "aria-readonly": ariaReadOnly, style: [styles.root, style, disabled && styles.cursorDefault] @@ -17856,7 +17856,7 @@ var require_ImageBackground = __commonJS({ var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); var _react = _interopRequireWildcard(require("react")); - var React83 = _react; + var React80 = _react; var _Image = _interopRequireDefault(require_Image()); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _View = _interopRequireDefault(require_View()); @@ -17865,10 +17865,10 @@ var require_ImageBackground = __commonJS({ var ImageBackground = /* @__PURE__ */ (0, _react.forwardRef)((props, forwardedRef) => { var children = props.children, _props$style = props.style, style = _props$style === void 0 ? emptyObject : _props$style, imageStyle = props.imageStyle, imageRef = props.imageRef, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); var _StyleSheet$flatten = _StyleSheet.default.flatten(style), height = _StyleSheet$flatten.height, width = _StyleSheet$flatten.width; - return /* @__PURE__ */ React83.createElement(_View.default, { + return /* @__PURE__ */ React80.createElement(_View.default, { ref: forwardedRef, style - }, /* @__PURE__ */ React83.createElement(_Image.default, (0, _extends2.default)({}, rest, { + }, /* @__PURE__ */ React80.createElement(_Image.default, (0, _extends2.default)({}, rest, { ref: imageRef, style: [{ // Temporary Workaround: @@ -17901,10 +17901,10 @@ var require_KeyboardAvoidingView = __commonJS({ exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _View = _interopRequireDefault(require_View()); var _excluded = ["behavior", "contentContainerStyle", "keyboardVerticalOffset"]; - var KeyboardAvoidingView = class extends React83.Component { + var KeyboardAvoidingView = class extends React80.Component { static { __name(this, "KeyboardAvoidingView"); } @@ -17927,7 +17927,7 @@ var require_KeyboardAvoidingView = __commonJS({ } render() { var _this$props = this.props, behavior = _this$props.behavior, contentContainerStyle = _this$props.contentContainerStyle, keyboardVerticalOffset = _this$props.keyboardVerticalOffset, rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded); - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({ + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({ onLayout: this.onLayout }, rest)); } @@ -17945,12 +17945,12 @@ var require_ModalPortal = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = void 0; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _reactDom = require("react-dom"); var _canUseDom = _interopRequireDefault(require_canUseDom()); function ModalPortal(props) { var children = props.children; - var elementRef = React83.useRef(null); + var elementRef = React80.useRef(null); if (_canUseDom.default && !elementRef.current) { var element = document.createElement("div"); if (element && document.body) { @@ -17958,7 +17958,7 @@ var require_ModalPortal = __commonJS({ elementRef.current = element; } } - React83.useEffect(() => { + React80.useEffect(() => { if (_canUseDom.default) { return () => { if (document.body && elementRef.current) { @@ -17984,7 +17984,7 @@ var require_ModalAnimation = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = void 0; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _createElement = _interopRequireDefault(require_createElement()); var ANIMATION_DURATION = 250; @@ -18000,11 +18000,11 @@ var require_ModalAnimation = __commonJS({ __name(getAnimationStyle, "getAnimationStyle"); function ModalAnimation(props) { var animationType = props.animationType, children = props.children, onDismiss = props.onDismiss, onShow = props.onShow, visible = props.visible; - var _React$useState = React83.useState(false), isRendering = _React$useState[0], setIsRendering = _React$useState[1]; - var wasVisible = React83.useRef(false); - var wasRendering = React83.useRef(false); + var _React$useState = React80.useState(false), isRendering = _React$useState[0], setIsRendering = _React$useState[1]; + var wasVisible = React80.useRef(false); + var wasRendering = React80.useRef(false); var isAnimated = animationType && animationType !== "none"; - var animationEndCallback = React83.useCallback((e) => { + var animationEndCallback = React80.useCallback((e) => { if (e && e.currentTarget !== e.target) { return; } @@ -18016,13 +18016,13 @@ var require_ModalAnimation = __commonJS({ setIsRendering(false); } }, [onShow, visible]); - React83.useEffect(() => { + React80.useEffect(() => { if (wasRendering.current && !isRendering && onDismiss) { onDismiss(); } wasRendering.current = isRendering; }, [isRendering, onDismiss]); - React83.useEffect(() => { + React80.useEffect(() => { if (visible) { setIsRendering(true); } @@ -18123,14 +18123,14 @@ var require_ModalContent = __commonJS({ exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _View = _interopRequireDefault(require_View()); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _canUseDom = _interopRequireDefault(require_canUseDom()); var _excluded = ["active", "children", "onRequestClose", "transparent"]; - var ModalContent = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var ModalContent = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var active = props.active, children = props.children, onRequestClose = props.onRequestClose, transparent = props.transparent, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); - React83.useEffect(() => { + React80.useEffect(() => { if (_canUseDom.default) { var closeOnEscape = /* @__PURE__ */ __name((e) => { if (active && e.key === "Escape") { @@ -18144,15 +18144,15 @@ var require_ModalContent = __commonJS({ return () => document.removeEventListener("keyup", closeOnEscape, false); } }, [active, onRequestClose]); - var style = React83.useMemo(() => { + var style = React80.useMemo(() => { return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque]; }, [transparent]); - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, rest, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, rest, { "aria-modal": true, ref: forwardedRef, role: active ? "dialog" : null, style - }), /* @__PURE__ */ React83.createElement(_View.default, { + }), /* @__PURE__ */ React80.createElement(_View.default, { style: styles.container }, children)); }); @@ -18188,7 +18188,7 @@ var require_ModalFocusTrap = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = void 0; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _View = _interopRequireDefault(require_View()); var _createElement = _interopRequireDefault(require_createElement()); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); @@ -18234,12 +18234,12 @@ var require_ModalFocusTrap = __commonJS({ __name(focusLastDescendant, "focusLastDescendant"); var ModalFocusTrap = /* @__PURE__ */ __name((_ref) => { var active = _ref.active, children = _ref.children; - var trapElementRef = React83.useRef(); - var focusRef = React83.useRef({ + var trapElementRef = React80.useRef(); + var focusRef = React80.useRef({ trapFocusInProgress: false, lastFocusedElement: null }); - React83.useEffect(() => { + React80.useEffect(() => { if (_canUseDom.default) { var trapFocus = /* @__PURE__ */ __name(() => { if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) { @@ -18266,7 +18266,7 @@ var require_ModalFocusTrap = __commonJS({ return () => document.removeEventListener("focus", trapFocus, true); } }, [active]); - React83.useEffect(function() { + React80.useEffect(function() { if (_canUseDom.default) { var lastFocusedElementOutsideTrap = document.activeElement; return function() { @@ -18276,9 +18276,9 @@ var require_ModalFocusTrap = __commonJS({ }; } }, []); - return /* @__PURE__ */ React83.createElement(React83.Fragment, null, /* @__PURE__ */ React83.createElement(FocusBracket, null), /* @__PURE__ */ React83.createElement(_View.default, { + return /* @__PURE__ */ React80.createElement(React80.Fragment, null, /* @__PURE__ */ React80.createElement(FocusBracket, null), /* @__PURE__ */ React80.createElement(_View.default, { ref: trapElementRef - }, children), /* @__PURE__ */ React83.createElement(FocusBracket, null)); + }, children), /* @__PURE__ */ React80.createElement(FocusBracket, null)); }, "ModalFocusTrap"); var _default = exports2.default = ModalFocusTrap; var styles = _StyleSheet.default.create({ @@ -18301,7 +18301,7 @@ var require_Modal = __commonJS({ exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _ModalPortal = _interopRequireDefault(require_ModalPortal()); var _ModalAnimation = _interopRequireDefault(require_ModalAnimation()); var _ModalContent = _interopRequireDefault(require_ModalContent()); @@ -18341,33 +18341,33 @@ var require_Modal = __commonJS({ notifyActiveModalListeners(); } __name(addActiveModal, "addActiveModal"); - var Modal = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var Modal = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var animationType = props.animationType, children = props.children, onDismiss = props.onDismiss, onRequestClose = props.onRequestClose, onShow = props.onShow, transparent = props.transparent, _props$visible = props.visible, visible = _props$visible === void 0 ? true : _props$visible, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); - var modalId = React83.useMemo(() => uniqueModalIdentifier++, []); - var _React$useState = React83.useState(false), isActive = _React$useState[0], setIsActive = _React$useState[1]; - var onDismissCallback = React83.useCallback(() => { + var modalId = React80.useMemo(() => uniqueModalIdentifier++, []); + var _React$useState = React80.useState(false), isActive = _React$useState[0], setIsActive = _React$useState[1]; + var onDismissCallback = React80.useCallback(() => { removeActiveModal(modalId); if (onDismiss) { onDismiss(); } }, [modalId, onDismiss]); - var onShowCallback = React83.useCallback(() => { + var onShowCallback = React80.useCallback(() => { addActiveModal(modalId, setIsActive); if (onShow) { onShow(); } }, [modalId, onShow]); - React83.useEffect(() => { + React80.useEffect(() => { return () => removeActiveModal(modalId); }, [modalId]); - return /* @__PURE__ */ React83.createElement(_ModalPortal.default, null, /* @__PURE__ */ React83.createElement(_ModalAnimation.default, { + return /* @__PURE__ */ React80.createElement(_ModalPortal.default, null, /* @__PURE__ */ React80.createElement(_ModalAnimation.default, { animationType, onDismiss: onDismissCallback, onShow: onShowCallback, visible - }, /* @__PURE__ */ React83.createElement(_ModalFocusTrap.default, { + }, /* @__PURE__ */ React80.createElement(_ModalFocusTrap.default, { active: isActive - }, /* @__PURE__ */ React83.createElement(_ModalContent.default, (0, _extends2.default)({}, rest, { + }, /* @__PURE__ */ React80.createElement(_ModalContent.default, (0, _extends2.default)({}, rest, { active: isActive, onRequestClose, ref: forwardedRef, @@ -18415,16 +18415,16 @@ var require_Picker = __commonJS({ exports2.default = void 0; var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _createElement = _interopRequireDefault(require_createElement()); var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); var _usePlatformMethods = _interopRequireDefault(require_usePlatformMethods()); var _PickerItem = _interopRequireDefault(require_PickerItem()); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _excluded = ["children", "enabled", "onValueChange", "selectedValue", "style", "testID", "itemStyle", "mode", "prompt"]; - var Picker = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var Picker = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var children = props.children, enabled = props.enabled, onValueChange = props.onValueChange, selectedValue = props.selectedValue, style = props.style, testID = props.testID, itemStyle = props.itemStyle, mode = props.mode, prompt = props.prompt, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); - var hostRef = React83.useRef(null); + var hostRef = React80.useRef(null); function handleChange(e) { var _e$target = e.target, selectedIndex = _e$target.selectedIndex, value = _e$target.value; if (onValueChange) { @@ -18722,11 +18722,11 @@ var require_useEvent = __commonJS({ "use strict"; var _interopRequireDefault = require_interopRequireDefault().default; exports2.__esModule = true; - exports2.default = useEvent12; + exports2.default = useEvent11; var _addEventListener = require_addEventListener(); var _useLayoutEffect = _interopRequireDefault(require_useLayoutEffect()); var _useStable = _interopRequireDefault(require_useStable()); - function useEvent12(eventType, options) { + function useEvent11(eventType, options) { var targetListeners = (0, _useStable.default)(() => /* @__PURE__ */ new Map()); var addListener = (0, _useStable.default)(() => { return (target, callback) => { @@ -18754,7 +18754,7 @@ var require_useEvent = __commonJS({ }, [targetListeners]); return addListener; } - __name(useEvent12, "useEvent"); + __name(useEvent11, "useEvent"); module2.exports = exports2.default; } }); @@ -18885,7 +18885,7 @@ var require_Pressable = __commonJS({ var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); var _react = _interopRequireWildcard(require("react")); - var React83 = _react; + var React80 = _react; var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); var _useHover = _interopRequireDefault(require_useHover()); var _usePressEvents = _interopRequireDefault(require_usePressEvents()); @@ -18925,7 +18925,7 @@ var require_Pressable = __commonJS({ focused, pressed }; - var blurHandler = React83.useCallback((e) => { + var blurHandler = React80.useCallback((e) => { if (e.nativeEvent.target === hostRef.current) { setFocused(false); if (onBlur != null) { @@ -18933,7 +18933,7 @@ var require_Pressable = __commonJS({ } } }, [hostRef, setFocused, onBlur]); - var focusHandler = React83.useCallback((e) => { + var focusHandler = React80.useCallback((e) => { if (e.nativeEvent.target === hostRef.current) { setFocused(true); if (onFocus != null) { @@ -18941,7 +18941,7 @@ var require_Pressable = __commonJS({ } } }, [hostRef, setFocused, onFocus]); - var contextMenuHandler = React83.useCallback((e) => { + var contextMenuHandler = React80.useCallback((e) => { if (onContextMenuPress != null) { onContextMenuPress(e); } @@ -18949,7 +18949,7 @@ var require_Pressable = __commonJS({ onContextMenu(e); } }, [onContextMenu, onContextMenuPress]); - var keyDownHandler = React83.useCallback((e) => { + var keyDownHandler = React80.useCallback((e) => { if (onKeyDownPress != null) { onKeyDownPress(e); } @@ -18963,7 +18963,7 @@ var require_Pressable = __commonJS({ } else { _tabIndex = disabled ? -1 : 0; } - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, { "aria-disabled": disabled, onBlur: blurHandler, onContextMenu: contextMenuHandler, @@ -19007,15 +19007,15 @@ var require_ProgressBar = __commonJS({ exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _View = _interopRequireDefault(require_View()); var _excluded = ["color", "indeterminate", "progress", "trackColor", "style"]; - var ProgressBar = /* @__PURE__ */ React83.forwardRef((props, ref) => { + var ProgressBar = /* @__PURE__ */ React80.forwardRef((props, ref) => { var _props$color = props.color, color = _props$color === void 0 ? "#1976D2" : _props$color, _props$indeterminate = props.indeterminate, indeterminate = _props$indeterminate === void 0 ? false : _props$indeterminate, _props$progress = props.progress, progress = _props$progress === void 0 ? 0 : _props$progress, _props$trackColor = props.trackColor, trackColor = _props$trackColor === void 0 ? "transparent" : _props$trackColor, style = props.style, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); var percentageProgress = progress * 100; var width = indeterminate ? "25%" : percentageProgress + "%"; - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, other, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, other, { "aria-valuemax": 100, "aria-valuemin": 0, "aria-valuenow": indeterminate ? null : percentageProgress, @@ -19024,7 +19024,7 @@ var require_ProgressBar = __commonJS({ style: [styles.track, style, { backgroundColor: trackColor }] - }), /* @__PURE__ */ React83.createElement(_View.default, { + }), /* @__PURE__ */ React80.createElement(_View.default, { style: [{ backgroundColor: color, width @@ -19074,7 +19074,7 @@ var require_SafeAreaView = __commonJS({ exports2.default = void 0; var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); var _View = _interopRequireDefault(require_View()); var _canUseDom = _interopRequireDefault(require_canUseDom()); @@ -19085,9 +19085,9 @@ var require_SafeAreaView = __commonJS({ } return "env"; })(); - var SafeAreaView = /* @__PURE__ */ React83.forwardRef((props, ref) => { + var SafeAreaView = /* @__PURE__ */ React80.forwardRef((props, ref) => { var style = props.style, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, rest, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, rest, { ref, style: [styles.root, style] })); @@ -19165,7 +19165,7 @@ var require_Switch = __commonJS({ var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _createElement = _interopRequireDefault(require_createElement()); var _multiplyStyleLengthValue = _interopRequireDefault(require_multiplyStyleLengthValue()); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); @@ -19180,9 +19180,9 @@ var require_Switch = __commonJS({ var defaultActiveThumbColor = "#009688"; var defaultThumbColor = "#FAFAFA"; var defaultDisabledThumbColor = "#BDBDBD"; - var Switch2 = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var Switch2 = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var ariaLabel = props["aria-label"], accessibilityLabel = props.accessibilityLabel, activeThumbColor = props.activeThumbColor, activeTrackColor = props.activeTrackColor, _props$disabled = props.disabled, disabled = _props$disabled === void 0 ? false : _props$disabled, onValueChange = props.onValueChange, _props$style = props.style, style = _props$style === void 0 ? emptyObject : _props$style, thumbColor = props.thumbColor, trackColor = props.trackColor, _props$value = props.value, value = _props$value === void 0 ? false : _props$value, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); - var thumbRef = React83.useRef(null); + var thumbRef = React80.useRef(null); function handleChange(event) { if (onValueChange != null) { onValueChange(event.nativeEvent.target.checked); @@ -19276,11 +19276,11 @@ var require_Switch = __commonJS({ type: "checkbox", role: "switch" }); - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, other, { + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, other, { style: rootStyle - }), /* @__PURE__ */ React83.createElement(_View.default, { + }), /* @__PURE__ */ React80.createElement(_View.default, { style: trackStyle - }), /* @__PURE__ */ React83.createElement(_View.default, { + }), /* @__PURE__ */ React80.createElement(_View.default, { ref: thumbRef, style: thumbStyle }), nativeControl); @@ -19339,7 +19339,7 @@ var require_TextInput = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = void 0; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _createElement = _interopRequireDefault(require_createElement()); var forwardedProps = _interopRequireWildcard(require_forwardedProps()); var _pick = _interopRequireDefault(require_pick()); @@ -19390,7 +19390,7 @@ var require_TextInput = __commonJS({ } __name(isEventComposing, "isEventComposing"); var focusTimeout = null; - var TextInput2 = /* @__PURE__ */ React83.forwardRef((props, forwardedRef) => { + var TextInput = /* @__PURE__ */ React80.forwardRef((props, forwardedRef) => { var _props$autoCapitalize = props.autoCapitalize, autoCapitalize = _props$autoCapitalize === void 0 ? "sentences" : _props$autoCapitalize, autoComplete = props.autoComplete, autoCompleteType = props.autoCompleteType, _props$autoCorrect = props.autoCorrect, autoCorrect = _props$autoCorrect === void 0 ? true : _props$autoCorrect, blurOnSubmit = props.blurOnSubmit, caretHidden = props.caretHidden, clearTextOnFocus = props.clearTextOnFocus, dir = props.dir, editable = props.editable, enterKeyHint = props.enterKeyHint, inputMode = props.inputMode, keyboardType = props.keyboardType, _props$multiline = props.multiline, multiline = _props$multiline === void 0 ? false : _props$multiline, numberOfLines = props.numberOfLines, onBlur = props.onBlur, onChange = props.onChange, onChangeText = props.onChangeText, onContentSizeChange = props.onContentSizeChange, onFocus = props.onFocus, onKeyPress = props.onKeyPress, onLayout = props.onLayout, onMoveShouldSetResponder = props.onMoveShouldSetResponder, onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture, onResponderEnd = props.onResponderEnd, onResponderGrant = props.onResponderGrant, onResponderMove = props.onResponderMove, onResponderReject = props.onResponderReject, onResponderRelease = props.onResponderRelease, onResponderStart = props.onResponderStart, onResponderTerminate = props.onResponderTerminate, onResponderTerminationRequest = props.onResponderTerminationRequest, onScrollShouldSetResponder = props.onScrollShouldSetResponder, onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture, onSelectionChange = props.onSelectionChange, onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder, onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture, onStartShouldSetResponder = props.onStartShouldSetResponder, onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture, onSubmitEditing = props.onSubmitEditing, placeholderTextColor = props.placeholderTextColor, _props$readOnly = props.readOnly, readOnly = _props$readOnly === void 0 ? false : _props$readOnly, returnKeyType = props.returnKeyType, rows = props.rows, _props$secureTextEntr = props.secureTextEntry, secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr, selection = props.selection, selectTextOnFocus = props.selectTextOnFocus, showSoftInputOnFocus = props.showSoftInputOnFocus, spellCheck = props.spellCheck; var type; var _inputMode; @@ -19436,20 +19436,20 @@ var require_TextInput = __commonJS({ if (secureTextEntry) { type = "password"; } - var dimensions = React83.useRef({ + var dimensions = React80.useRef({ height: null, width: null }); - var hostRef = React83.useRef(null); - var prevSelection = React83.useRef(null); - var prevSecureTextEntry = React83.useRef(false); - React83.useEffect(() => { + var hostRef = React80.useRef(null); + var prevSelection = React80.useRef(null); + var prevSecureTextEntry = React80.useRef(false); + React80.useEffect(() => { if (hostRef.current && prevSelection.current) { setSelection(hostRef.current, prevSelection.current); } prevSecureTextEntry.current = secureTextEntry; }, [secureTextEntry]); - var handleContentSizeChange = React83.useCallback((hostNode) => { + var handleContentSizeChange = React80.useCallback((hostNode) => { if (multiline && onContentSizeChange && hostNode != null) { var newHeight = hostNode.scrollHeight; var newWidth = hostNode.scrollWidth; @@ -19467,7 +19467,7 @@ var require_TextInput = __commonJS({ } } }, [multiline, onContentSizeChange]); - var imperativeRef = React83.useMemo(() => (hostNode) => { + var imperativeRef = React80.useMemo(() => (hostNode) => { if (hostNode != null) { hostNode.clear = function() { if (hostNode != null) { @@ -19628,8 +19628,8 @@ var require_TextInput = __commonJS({ }); return element; }); - TextInput2.displayName = "TextInput"; - TextInput2.State = _TextInputState.default; + TextInput.displayName = "TextInput"; + TextInput.State = _TextInputState.default; var styles = _StyleSheet.default.create({ textinput$raw: { MozAppearance: "textfield", @@ -19650,7 +19650,7 @@ var require_TextInput = __commonJS({ caretColor: "transparent" } }); - var _default = exports2.default = TextInput2; + var _default = exports2.default = TextInput; module2.exports = exports2.default; } }); @@ -20206,8 +20206,8 @@ var require_Touchable = __commonJS({ this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout); this.longPressDelayTimeout = null; }, "_cancelLongPressDelayTimeout"), - _isHighlight: /* @__PURE__ */ __name(function _isHighlight(state) { - return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN; + _isHighlight: /* @__PURE__ */ __name(function _isHighlight(state2) { + return state2 === States.RESPONDER_ACTIVE_PRESS_IN || state2 === States.RESPONDER_ACTIVE_LONG_PRESS_IN; }, "_isHighlight"), _savePressInLocation: /* @__PURE__ */ __name(function _savePressInLocation(e) { var touch = extractSingleTouch(e.nativeEvent); @@ -20384,7 +20384,7 @@ var require_TouchableHighlight = __commonJS({ var _extends2 = _interopRequireDefault(require_extends()); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); var _react = _interopRequireWildcard(require("react")); - var React83 = _react; + var React80 = _react; var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); var _usePressEvents = _interopRequireDefault(require_usePressEvents()); var _StyleSheet = _interopRequireDefault(require_StyleSheet()); @@ -20452,14 +20452,14 @@ var require_TouchableHighlight = __commonJS({ } }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, showUnderlay, hideUnderlay]); var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig); - var child = React83.Children.only(children); - return /* @__PURE__ */ React83.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, { + var child = React80.Children.only(children); + return /* @__PURE__ */ React80.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, { accessibilityDisabled: disabled, focusable: !disabled && focusable2 !== false, pointerEvents: disabled ? "box-none" : void 0, ref: setRef2, style: [styles.root, style, !disabled && styles.actionable, extraStyles && extraStyles.underlay] - }), /* @__PURE__ */ React83.cloneElement(child, { + }), /* @__PURE__ */ React80.cloneElement(child, { style: [child.props.style, extraStyles && extraStyles.child] })); } @@ -20473,7 +20473,7 @@ var require_TouchableHighlight = __commonJS({ touchAction: "manipulation" } }); - var MemoedTouchableHighlight = /* @__PURE__ */ React83.memo(/* @__PURE__ */ React83.forwardRef(TouchableHighlight)); + var MemoedTouchableHighlight = /* @__PURE__ */ React80.memo(/* @__PURE__ */ React80.forwardRef(TouchableHighlight)); MemoedTouchableHighlight.displayName = "TouchableHighlight"; var _default = exports2.default = MemoedTouchableHighlight; module2.exports = exports2.default; @@ -20532,7 +20532,7 @@ var require_TouchableWithoutFeedback = __commonJS({ exports2.__esModule = true; exports2.default = void 0; var _react = _interopRequireWildcard(require("react")); - var React83 = _react; + var React80 = _react; var _pick = _interopRequireDefault(require_pick()); var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); var _usePressEvents = _interopRequireDefault(require_usePressEvents()); @@ -20570,17 +20570,17 @@ var require_TouchableWithoutFeedback = __commonJS({ onPressEnd: onPressOut }), [disabled, delayPressIn, delayPressOut, delayLongPress, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination]); var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig); - var element = React83.Children.only(props.children); + var element = React80.Children.only(props.children); var children = [element.props.children]; var supportedProps = pickProps(props); supportedProps.accessibilityDisabled = disabled; supportedProps.focusable = !disabled && focusable2 !== false; supportedProps.ref = (0, _useMergeRefs.default)(forwardedRef, hostRef, element.ref); var elementProps = Object.assign(supportedProps, pressEventHandlers); - return /* @__PURE__ */ React83.cloneElement(element, elementProps, ...children); + return /* @__PURE__ */ React80.cloneElement(element, elementProps, ...children); } __name(TouchableWithoutFeedback, "TouchableWithoutFeedback"); - var MemoedTouchableWithoutFeedback = /* @__PURE__ */ React83.memo(/* @__PURE__ */ React83.forwardRef(TouchableWithoutFeedback)); + var MemoedTouchableWithoutFeedback = /* @__PURE__ */ React80.memo(/* @__PURE__ */ React80.forwardRef(TouchableWithoutFeedback)); MemoedTouchableWithoutFeedback.displayName = "TouchableWithoutFeedback"; var _default = exports2.default = MemoedTouchableWithoutFeedback; module2.exports = exports2.default; @@ -20664,11 +20664,11 @@ var require_useColorScheme = __commonJS({ var _interopRequireWildcard = require_interopRequireWildcard().default; exports2.__esModule = true; exports2.default = useColorScheme; - var React83 = _interopRequireWildcard(require("react")); + var React80 = _interopRequireWildcard(require("react")); var _Appearance = _interopRequireDefault(require_Appearance()); function useColorScheme() { - var _React$useState = React83.useState(_Appearance.default.getColorScheme()), colorScheme = _React$useState[0], setColorScheme = _React$useState[1]; - React83.useEffect(() => { + var _React$useState = React80.useState(_Appearance.default.getColorScheme()), colorScheme = _React$useState[0], setColorScheme = _React$useState[1]; + React80.useEffect(() => { function listener(appearance) { setColorScheme(appearance.colorScheme); } @@ -20865,7 +20865,7 @@ var require_cjs = __commonJS({ var require_dist = __commonJS({ "node_modules/tabbable/dist/index.js"(exports2) { "use strict"; - var candidateSelectors = ["input:not([inert])", "select:not([inert])", "textarea:not([inert])", "a[href]:not([inert])", "button:not([inert])", "[tabindex]:not(slot):not([inert])", "audio[controls]:not([inert])", "video[controls]:not([inert])", '[contenteditable]:not([contenteditable="false"]):not([inert])', "details>summary:first-of-type:not([inert])", "details:not([inert])"]; + var candidateSelectors = ["input:not([inert]):not([inert] *)", "select:not([inert]):not([inert] *)", "textarea:not([inert]):not([inert] *)", "a[href]:not([inert]):not([inert] *)", "button:not([inert]):not([inert] *)", "[tabindex]:not(slot):not([inert]):not([inert] *)", "audio[controls]:not([inert]):not([inert] *)", "video[controls]:not([inert]):not([inert] *)", '[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)', "details>summary:first-of-type:not([inert]):not([inert] *)", "details:not([inert]):not([inert] *)"]; var candidateSelector = /* @__PURE__ */ candidateSelectors.join(","); var NoElement = typeof Element === "undefined"; var matches = NoElement ? function() { @@ -20883,7 +20883,9 @@ var require_dist = __commonJS({ } var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, "inert"); var inert = inertAtt === "" || inertAtt === "true"; - var result = inert || lookUp && node && _isInert(node.parentNode); + var result = inert || lookUp && node && // closest does not exist on shadow roots, so we fall back to a manual + // lookup upward, in case it is not defined. + (typeof node.closest === "function" ? node.closest("[inert]") : _isInert(node.parentNode)); return result; }, "isInert"); var isContentEditable = /* @__PURE__ */ __name(function isContentEditable2(node) { @@ -21117,10 +21119,7 @@ var require_dist = __commonJS({ return false; }, "isDisabledFromFieldset"); var isNodeMatchingSelectorFocusable = /* @__PURE__ */ __name(function isNodeMatchingSelectorFocusable2(options, node) { - if (node.disabled || // we must do an inert look up to filter out any elements inside an inert ancestor - // because we're limited in the type of selectors we can use in JSDom (see related - // note related to `candidateSelectors`) - _isInert(node) || isHiddenInput(node) || isHidden2(node, options) || // For a details element with a summary, the summary element gets the focus + if (node.disabled || isHiddenInput(node) || isHidden2(node, options) || // For a details element with a summary, the summary element gets the focus isDetailsWithSummary(node) || isDisabledFromFieldset(node)) { return false; } @@ -21203,7 +21202,7 @@ var require_dist = __commonJS({ } return isNodeMatchingSelectorTabbable(options, node); }, "isTabbable"); - var focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat("iframe").join(","); + var focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat("iframe:not([inert]):not([inert] *)").join(","); var isFocusable = /* @__PURE__ */ __name(function isFocusable2(node, options) { options = options || {}; if (!node) { @@ -21237,6 +21236,7 @@ __export(esm_exports, { AlertDialogCancel: () => AlertDialogCancel, AlertDialogContent: () => AlertDialogContent, AlertDialogDescription: () => AlertDialogDescription, + AlertDialogDestructive: () => AlertDialogDestructive, AlertDialogOverlay: () => AlertDialogOverlay, AlertDialogPortal: () => AlertDialogPortal, AlertDialogTitle: () => AlertDialogTitle, @@ -21250,12 +21250,9 @@ __export(esm_exports, { AvatarFallbackFrame: () => AvatarFallbackFrame, AvatarFrame: () => AvatarFrame, AvatarImage: () => AvatarImage, - Button: () => Button2, + Button: () => Button, ButtonContext: () => ButtonContext, - ButtonFrame: () => ButtonFrame, - ButtonIcon: () => ButtonIcon, ButtonNestingContext: () => ButtonNestingContext, - ButtonText: () => ButtonText, Card: () => Card, CardBackground: () => CardBackground, CardFooter: () => CardFooter, @@ -21283,16 +21280,18 @@ __export(esm_exports, { DialogTitle: () => DialogTitle, DialogTrigger: () => DialogTrigger, DialogWarningProvider: () => DialogWarningProvider, + Em: () => Em, EnsureFlexed: () => EnsureFlexed, Fieldset: () => Fieldset, FontLanguage: () => import_core61.FontLanguage, Footer: () => Footer, Form: () => Form2, + FormContext: () => FormContext, FormFrame: () => FormFrame, FormProvider: () => FormProvider, FormTrigger: () => FormTrigger, ForwardSelectContext: () => ForwardSelectContext, - Frame: () => Frame, + Frame: () => Frame2, Group: () => Group, GroupContext: () => import_core61.GroupContext, GroupFrame: () => GroupFrame, @@ -21306,17 +21305,11 @@ __export(esm_exports, { Header: () => Header, Heading: () => Heading, INITIAL_STATE: () => INITIAL_STATE, - IS_FABRIC: () => IS_FABRIC, Image: () => Image, Input: () => Input, - InputFrame: () => InputFrame, Label: () => Label, LabelFrame: () => LabelFrame, ListItem: () => ListItem2, - ListItemFrame: () => ListItemFrame, - ListItemSubtitle: () => ListItemSubtitle, - ListItemText: () => ListItemText, - ListItemTitle: () => ListItemTitle, Main: () => Main, Nav: () => Nav, Overlay: () => Overlay, @@ -21371,41 +21364,38 @@ __export(esm_exports, { Sheet: () => Sheet, SheetController: () => SheetController, SheetControllerContext: () => SheetControllerContext, - SheetHandleFrame: () => SheetHandleFrame, SheetInsideSheetContext: () => SheetInsideSheetContext, - SheetOverlayFrame: () => SheetOverlayFrame, SheetScrollView: () => SheetScrollView, SizableStack: () => SizableStack, SizableText: () => SizableText2, Slider: () => Slider, + SliderActive: () => SliderActive, + SliderActiveFrame: () => SliderActiveFrame, SliderContext: () => SliderContext, SliderFrame: () => SliderFrame, SliderThumb: () => SliderThumb, SliderThumbFrame: () => SliderThumbFrame, SliderTrack: () => SliderTrack, - SliderTrackActive: () => SliderTrackActive, - SliderTrackActiveFrame: () => SliderTrackActiveFrame, SliderTrackFrame: () => SliderTrackFrame, - Spacer: () => import_core61.Spacer, + Spacer: () => Spacer, + Span: () => Span, Spinner: () => Spinner, Square: () => Square, - Stack: () => import_core61.Stack, + Strong: () => Strong, StyleObjectIdentifier: () => StyleObjectIdentifier, StyleObjectProperty: () => StyleObjectProperty, StyleObjectPseudo: () => StyleObjectPseudo, StyleObjectRules: () => StyleObjectRules, StyleObjectValue: () => StyleObjectValue, Switch: () => Switch, - SwitchContext: () => SwitchContext, SwitchFrame: () => SwitchFrame, SwitchStyledContext: () => SwitchStyledContext, SwitchThumb: () => SwitchThumb, Tabs: () => Tabs, TabsProvider: () => TabsProvider, TamaguiProvider: () => TamaguiProvider, - Text: () => Text5, + Text: () => Text8, TextArea: () => TextArea, - TextAreaFrame: () => TextAreaFrame, Theme: () => import_core61.Theme, ThemeableStack: () => ThemeableStack, Thumb: () => Thumb, @@ -21414,8 +21404,7 @@ __export(esm_exports, { TooltipGroup: () => TooltipGroup, TooltipSimple: () => TooltipSimple, Track: () => Track, - USE_NATIVE_PORTAL: () => USE_NATIVE_PORTAL, - Unspaced: () => import_core61.Unspaced, + Unspaced: () => Unspaced, View: () => import_core61.View, VisuallyHidden: () => VisuallyHidden, XGroup: () => XGroup, @@ -21436,6 +21425,8 @@ __export(esm_exports, { createContext: () => createContext7, createContextScope: () => createContextScope, createFont: () => import_core61.createFont, + createGroupScope: () => createGroupScope, + createImage: () => createImage, createMedia: () => createMedia, createProgressScope: () => createProgressScope, createRadioGroup: () => createRadioGroup, @@ -21446,20 +21437,21 @@ __export(esm_exports, { createSwitch: () => createSwitch, createTabs: () => createTabs, createTamagui: () => createTamagui, - createTheme: () => import_core61.createTheme, createTokens: () => import_core61.createTokens, createVariable: () => import_core61.createVariable, debounce: () => debounce, - defaultStyles: () => defaultStyles, fullscreenStyle: () => fullscreenStyle, getCSSStylesAtomic: () => import_core61.getCSSStylesAtomic, getConfig: () => import_core61.getConfig, + getElevation: () => getElevation, getFontSize: () => getFontSize, getFontSizeToken: () => getFontSizeToken, getFontSizeVariable: () => getFontSizeVariable, + getIcon: () => getIcon, getMedia: () => import_core61.getMedia, getNativeSheet: () => getNativeSheet, getShapeSize: () => getShapeSize, + getSizedElevation: () => getSizedElevation, getThemes: () => import_core61.getThemes, getToken: () => import_core61.getToken, getTokenValue: () => import_core61.getTokenValue, @@ -21467,7 +21459,10 @@ __export(esm_exports, { getVariable: () => import_core61.getVariable, getVariableName: () => import_core61.getVariableName, getVariableValue: () => import_core61.getVariableValue, + getWebElement: () => getWebElement, + inputSizeVariant: () => inputSizeVariant, insertFont: () => import_core61.insertFont, + isBrowser: () => import_core61.isBrowser, isChrome: () => import_core61.isChrome, isClient: () => import_core61.isClient, isPresent: () => isPresent, @@ -21475,7 +21470,9 @@ __export(esm_exports, { isServerSide: () => isServerSide, isTamaguiComponent: () => import_core61.isTamaguiComponent, isTamaguiElement: () => import_core61.isTamaguiElement, + isTeleportEnabled: () => isTeleportEnabled, isTouchable: () => import_core61.isTouchable, + isUnspaced: () => isUnspaced, isVariable: () => import_core61.isVariable, isWeb: () => import_core61.isWeb, isWebTouchable: () => import_core61.isWebTouchable, @@ -21484,6 +21481,7 @@ __export(esm_exports, { mediaQueryConfig: () => import_core61.mediaQueryConfig, mediaState: () => import_core61.mediaState, mutateThemes: () => mutateThemes, + needsPortalRepropagation: () => needsPortalRepropagation, portalListeners: () => portalListeners, prevent: () => prevent, replaceTheme: () => replaceTheme, @@ -21494,10 +21492,9 @@ __export(esm_exports, { setupDev: () => import_core61.setupDev, setupNativeSheet: () => setupNativeSheet, setupPopper: () => setupPopper, - setupReactNative: () => import_core61.setupReactNative, shouldRenderNativePlatform: () => shouldRenderNativePlatform, simpleHash: () => simpleHash, - spacedChildren: () => import_core61.spacedChildren, + spacedChildren: () => spacedChildren, stylePropsAll: () => stylePropsAll, stylePropsText: () => stylePropsText, stylePropsTextOnly: () => stylePropsTextOnly, @@ -21505,13 +21502,13 @@ __export(esm_exports, { stylePropsUnitless: () => stylePropsUnitless, stylePropsView: () => stylePropsView, styled: () => import_core61.styled, + textAreaSizeVariant: () => textAreaSizeVariant, themeable: () => import_core61.themeable, themeableVariants: () => themeableVariants, tokenCategories: () => tokenCategories, updateTheme: () => updateTheme, useAdaptContext: () => useAdaptContext, useAdaptIsActive: () => useAdaptIsActive, - useButton: () => useButton, useComposedRefs: () => useComposedRefs, useConfiguration: () => import_core61.useConfiguration, useControllableState: () => useControllableState, @@ -21527,13 +21524,13 @@ __export(esm_exports, { useGet: () => import_core61.useGet, useGetThemedIcon: () => useGetThemedIcon, useGroupItem: () => useGroupItem, - useInputProps: () => useInputProps, useIsPresent: () => useIsPresent, useIsTouchDevice: () => import_core61.useIsTouchDevice, useIsomorphicLayoutEffect: () => import_core61.useIsomorphicLayoutEffect, useLabelContext: () => useLabelContext, - useListItem: () => useListItem, useMedia: () => import_core61.useMedia, + useNativeInputRef: () => useNativeInputRef, + useNativeRef: () => useNativeRef, usePopoverContext: () => usePopoverContext, usePopperContext: () => usePopperContext, usePopperContextSlow: () => usePopperContextSlow, @@ -21548,26 +21545,166 @@ __export(esm_exports, { useSheetOffscreenSize: () => useSheetOffscreenSize, useSheetOpenState: () => useSheetOpenState, useStyle: () => import_core61.useStyle, + useSwitchNative: () => useSwitchNative, useTabsContext: () => useTabsContext, useTheme: () => import_core61.useTheme, useThemeName: () => import_core61.useThemeName, + useToggleGroupItem: () => useToggleGroupItem, + useWebRef: () => useWebRef, useWindowDimensions: () => useWindowDimensions, validPseudoKeys: () => validPseudoKeys, validStyles: () => validStyles, variableToString: () => import_core61.variableToString, + webOnlyStylePropsText: () => webOnlyStylePropsText, + webOnlyStylePropsView: () => webOnlyStylePropsView, withStaticProperties: () => import_core61.withStaticProperties, wrapChildrenInText: () => wrapChildrenInText }); module.exports = __toCommonJS(esm_exports); -// node_modules/@tamagui/constants/dist/esm/constants.mjs +// node_modules/@tamagui/spacer/dist/esm/spacedChildren.mjs +var import_web2 = require("@tamagui/core"); var import_react = __toESM(require("react"), 1); -var IS_REACT_19 = typeof import_react.default.use < "u"; + +// node_modules/@tamagui/spacer/dist/esm/Spacer.mjs +var import_web = require("@tamagui/core"); +var getSpacerSize = /* @__PURE__ */ __name((size4, { + tokens +}) => { + size4 = size4 === true ? "$true" : size4; + const sizePx = tokens.space[size4] ?? size4; + return { + width: sizePx, + height: sizePx, + minWidth: sizePx, + minHeight: sizePx + }; +}, "getSpacerSize"); +var Spacer = (0, import_web.styled)(import_web.View, { + name: "Spacer", + pointerEvents: "none", + render: "span", + variants: { + size: { + "...size": getSpacerSize, + "...": getSpacerSize + }, + direction: { + horizontal: { + height: 0, + minHeight: 0 + }, + vertical: { + width: 0, + minWidth: 0 + }, + both: {} + } + }, + defaultVariants: { + // @ts-ignore + size: true + } +}); + +// node_modules/@tamagui/spacer/dist/esm/Unspaced.mjs +function Unspaced(props) { + return props.children; +} +__name(Unspaced, "Unspaced"); +Unspaced.isUnspaced = true; +function isUnspaced(child) { + const t = child?.type; + return t?.isVisuallyHidden || t?.isUnspaced; +} +__name(isUnspaced, "isUnspaced"); + +// node_modules/@tamagui/spacer/dist/esm/spacedChildren.mjs +var import_jsx_runtime = require("react/jsx-runtime"); +function spacedChildren(props) { + const { + isZStack, + children, + space, + direction, + spaceFlex, + separator, + ensureKeys + } = props, hasSpace = !!(space || spaceFlex), hasSeparator = separator != null, areChildrenArray = Array.isArray(children); + if (!ensureKeys && !(hasSpace || hasSeparator || isZStack)) return children; + const childrenList = areChildrenArray ? children : import_react.default.Children.toArray(children); + if (childrenList.length <= 1 && !isZStack && !childrenList[0]?.type?.shouldForwardSpace) return children; + const final = []; + for (let [index5, child] of childrenList.entries()) { + const isEmpty = child == null || Array.isArray(child) && child.length === 0; + if (!isEmpty && import_react.default.isValidElement(child) && child.type?.shouldForwardSpace && (child = import_react.default.cloneElement(child, { + space, + spaceFlex, + separator, + key: child.key + })), isEmpty || !child || child.key && !isZStack ? final.push(child) : final.push(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.default.Fragment, { + children: isZStack ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AbsoluteFill, { + children: child + }) : child + }, `${index5}0t`)), isUnspaced(child) && index5 === 0 || isZStack) continue; + const next = childrenList[index5 + 1]; + next && !isEmpty && !isUnspaced(next) && (separator ? (hasSpace && final.push(createSpacer({ + key: `_${index5}_00t`, + direction, + space, + spaceFlex + })), final.push(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.default.Fragment, { + children: separator + }, `${index5}03t`)), hasSpace && final.push(createSpacer({ + key: `_${index5}01t`, + direction, + space, + spaceFlex + }))) : final.push(createSpacer({ + key: `_${index5}02t`, + direction, + space, + spaceFlex + }))); + } + return process.env.NODE_ENV === "development" && props.debug && console.info(" Spaced children", final, props), final; +} +__name(spacedChildren, "spacedChildren"); +function createSpacer({ + key, + direction, + space, + spaceFlex +}) { + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Spacer, { + size: space, + direction, + ...typeof spaceFlex < "u" && { + flex: spaceFlex === true ? 1 : spaceFlex === false ? 0 : spaceFlex + } + }, key); +} +__name(createSpacer, "createSpacer"); +var AbsoluteFill = (0, import_web2.createComponent)({ + defaultProps: { + ...import_web2.viewDefaultStyles, + flexDirection: "column", + position: "absolute", + top: 0, + right: 0, + bottom: 0, + left: 0, + pointerEvents: "box-none" + } +}); + +// node_modules/@tamagui/constants/dist/esm/constants.mjs +var import_react2 = require("react"); var isWeb = true; -var isWindowDefined = typeof window < "u"; -var isServer = isWeb && !isWindowDefined; -var isClient = isWeb && isWindowDefined; -var useIsomorphicLayoutEffect = isServer ? import_react.useEffect : import_react.useLayoutEffect; +var isBrowser = typeof window < "u"; +var isServer = isWeb && !isBrowser; +var isClient = isWeb && isBrowser; +var useIsomorphicLayoutEffect = isServer ? import_react2.useEffect : import_react2.useLayoutEffect; var isChrome = typeof navigator < "u" && /Chrome/.test(navigator.userAgent || ""); var isWebTouchable = isClient && ("ontouchstart" in window || navigator.maxTouchPoints > 0); var isTouchable = !isWeb || isWebTouchable; @@ -21576,21 +21713,21 @@ var isIos = process.env.TEST_NATIVE_PLATFORM === "ios"; var currentPlatform = "web"; // node_modules/@tamagui/use-force-update/dist/esm/index.mjs -var import_react2 = __toESM(require("react"), 1); +var import_react3 = __toESM(require("react"), 1); var isServerSide = typeof window > "u"; var idFn = /* @__PURE__ */ __name(() => { }, "idFn"); function useForceUpdate() { - return isServerSide ? idFn : import_react2.default.useReducer((x) => Math.random(), 0)[1]; + return isServerSide ? idFn : import_react3.default.useReducer((x) => Math.random(), 0)[1]; } __name(useForceUpdate, "useForceUpdate"); // node_modules/@tamagui/animate-presence/dist/esm/AnimatePresence.mjs -var import_react5 = require("react"); +var import_react6 = require("react"); // node_modules/@tamagui/animate-presence/dist/esm/LayoutGroupContext.mjs -var import_react3 = __toESM(require("react"), 1); -var LayoutGroupContext = import_react3.default.createContext({}); +var import_react4 = __toESM(require("react"), 1); +var LayoutGroupContext = import_react4.default.createContext({}); // node_modules/@tamagui/use-constant/dist/esm/index.mjs var React4 = __toESM(require("react"), 1); @@ -21605,11 +21742,11 @@ __name(useConstant, "useConstant"); // node_modules/@tamagui/use-presence/dist/esm/PresenceContext.mjs var React5 = __toESM(require("react"), 1); -var import_jsx_runtime = require("react/jsx-runtime"); +var import_jsx_runtime2 = require("react/jsx-runtime"); var PresenceContext = React5.createContext(null); var ResetPresence = /* @__PURE__ */ __name((props) => { const parent = React5.useContext(PresenceContext); - return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PresenceContext.Provider, { + return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PresenceContext.Provider, { value: props.disable ? parent : null, children: props.children }); @@ -21618,30 +21755,30 @@ var ResetPresence = /* @__PURE__ */ __name((props) => { // node_modules/@tamagui/use-presence/dist/esm/usePresence.mjs var React6 = __toESM(require("react"), 1); function usePresence() { - const context2 = React6.useContext(PresenceContext); - if (!context2) return [true, null, context2]; + const context4 = React6.useContext(PresenceContext); + if (!context4) return [true, null, context4]; const { id, isPresent: isPresent2, onExitComplete, register - } = context2; - return React6.useEffect(() => register(id), []), !isPresent2 && onExitComplete ? [false, () => onExitComplete?.(id), context2] : [true, void 0, context2]; + } = context4; + return React6.useEffect(() => register(id), []), !isPresent2 && onExitComplete ? [false, () => onExitComplete?.(id), context4] : [true, void 0, context4]; } __name(usePresence, "usePresence"); function useIsPresent() { return isPresent(React6.useContext(PresenceContext)); } __name(useIsPresent, "useIsPresent"); -function isPresent(context2) { - return context2 === null ? true : context2.isPresent; +function isPresent(context4) { + return context4 === null ? true : context4.isPresent; } __name(isPresent, "isPresent"); // node_modules/@tamagui/animate-presence/dist/esm/PresenceChild.mjs var React7 = __toESM(require("react"), 1); -var import_react4 = require("react"); -var import_jsx_runtime2 = require("react/jsx-runtime"); +var import_react5 = require("react"); +var import_jsx_runtime3 = require("react/jsx-runtime"); var PresenceChild = React7.memo(({ children, initial, @@ -21653,7 +21790,7 @@ var PresenceChild = React7.memo(({ presenceAffectsLayout, custom }) => { - const presenceChildren = useConstant(newChildrenMap), id = (0, import_react4.useId)() || "", context2 = React7.useMemo( + const presenceChildren = useConstant(newChildrenMap), id = (0, import_react5.useId)() || "", context4 = React7.useMemo( () => ({ id, initial, @@ -21681,8 +21818,8 @@ var PresenceChild = React7.memo(({ presenceChildren.forEach((_, key) => presenceChildren.set(key, false)); }, [isPresent2]), React7.useEffect(() => { !isPresent2 && !presenceChildren.size && onExitComplete?.(); - }, [isPresent2]), /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PresenceContext.Provider, { - value: context2, + }, [isPresent2]), /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PresenceContext.Provider, { + value: context4, children }); }); @@ -21692,7 +21829,7 @@ function newChildrenMap() { __name(newChildrenMap, "newChildrenMap"); // node_modules/@tamagui/animate-presence/dist/esm/AnimatePresence.mjs -var import_jsx_runtime3 = require("react/jsx-runtime"); +var import_jsx_runtime4 = require("react/jsx-runtime"); var getChildKey = /* @__PURE__ */ __name((child) => child.key || "", "getChildKey"); function updateChildLookup(children, allChildren) { children.forEach((child) => { @@ -21703,8 +21840,8 @@ function updateChildLookup(children, allChildren) { __name(updateChildLookup, "updateChildLookup"); function onlyElements(children) { const filtered = []; - return import_react5.Children.forEach(children, (child) => { - (0, import_react5.isValidElement)(child) && filtered.push(child); + return import_react6.Children.forEach(children, (child) => { + (0, import_react6.isValidElement)(child) && filtered.push(child); }), filtered; } __name(onlyElements, "onlyElements"); @@ -21720,17 +21857,17 @@ var AnimatePresence = /* @__PURE__ */ __name(({ custom, passThrough }) => { - let forceRender = (0, import_react5.useContext)(LayoutGroupContext).forceRender ?? useForceUpdate(); - const filteredChildren = onlyElements(children), presentChildren = (0, import_react5.useRef)(filteredChildren), allChildren = (0, import_react5.useRef)(/* @__PURE__ */ new Map()).current, exiting = (0, import_react5.useRef)(/* @__PURE__ */ new Set()).current; + let forceRender = (0, import_react6.useContext)(LayoutGroupContext).forceRender ?? useForceUpdate(); + const filteredChildren = onlyElements(children), presentChildren = (0, import_react6.useRef)(filteredChildren), allChildren = (0, import_react6.useRef)(/* @__PURE__ */ new Map()).current, exiting = (0, import_react6.useRef)(/* @__PURE__ */ new Set()).current; updateChildLookup(filteredChildren, allChildren); - const isInitialRender = (0, import_react5.useRef)(true); - if (passThrough) return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { + const isInitialRender = (0, import_react6.useRef)(true); + if (passThrough) return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children }); if (useIsomorphicLayoutEffect(() => { isInitialRender.current = false; - }, []), isInitialRender.current) return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { - children: filteredChildren.map((child) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PresenceChild, { + }, []), isInitialRender.current) return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { + children: filteredChildren.map((child) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(PresenceChild, { isPresent: true, enterExitVariant, exitVariant, @@ -21751,7 +21888,7 @@ var AnimatePresence = /* @__PURE__ */ __name(({ if (targetKeys.indexOf(key) !== -1) return; const child = allChildren.get(key); if (!child) return; - const insertionIndex = presentKeys.indexOf(key), exitingComponent = /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PresenceChild, { + const insertionIndex = presentKeys.indexOf(key), exitingComponent = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(PresenceChild, { isPresent: false, onExitComplete: /* @__PURE__ */ __name(() => { allChildren.delete(key), exiting.delete(key); @@ -21768,7 +21905,7 @@ var AnimatePresence = /* @__PURE__ */ __name(({ childrenToRender.splice(insertionIndex, 0, exitingComponent); }), childrenToRender = childrenToRender.map((child) => { const key = child.key; - return exiting.has(key) ? child : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PresenceChild, { + return exiting.has(key) ? child : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(PresenceChild, { isPresent: true, exitVariant, enterVariant, @@ -21777,10 +21914,10 @@ var AnimatePresence = /* @__PURE__ */ __name(({ custom, children: child }, getChildKey(child)); - }), presentChildren.current = childrenToRender, /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { + }), presentChildren.current = childrenToRender, /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: exiting.size ? childrenToRender : ( // biome-ignore lint/correctness/useJsxKeyInIterable: - childrenToRender.map((child) => (0, import_react5.cloneElement)(child)) + childrenToRender.map((child) => (0, import_react6.cloneElement)(child)) ) }); }, "AnimatePresence"); @@ -21864,6 +22001,85 @@ function resolvePlatformNames(nativeProp) { } __name(resolvePlatformNames, "resolvePlatformNames"); +// node_modules/@tamagui/helpers/dist/esm/webOnlyStyleProps.mjs +var webOnlyStylePropsView = { + transition: true, + textWrap: true, + backdropFilter: true, + WebkitBackdropFilter: true, + // These background-* props are web-only CSS, but NOT backgroundColor + background: true, + // CSS border shorthand (e.g., "1px solid red") - RN only supports individual props + border: true, + borderTop: true, + borderRight: true, + borderBottom: true, + borderLeft: true, + backgroundAttachment: true, + backgroundBlendMode: true, + backgroundClip: true, + // backgroundImage: now cross-platform via experimental_backgroundImage in RN 0.76+ + backgroundOrigin: true, + backgroundPosition: true, + backgroundRepeat: true, + backgroundSize: true, + borderBottomStyle: true, + borderImage: true, + borderLeftStyle: true, + borderRightStyle: true, + borderTopStyle: true, + // boxSizing: now supported in RN 0.77+ (New Architecture) + caretColor: true, + clipPath: true, + contain: true, + containerType: true, + content: true, + // cursor: now cross-platform - supported on iOS 17+ (trackpad/stylus) with limited values + float: true, + mask: true, + maskBorder: true, + maskBorderMode: true, + maskBorderOutset: true, + maskBorderRepeat: true, + maskBorderSlice: true, + maskBorderSource: true, + maskBorderWidth: true, + maskClip: true, + maskComposite: true, + maskImage: true, + maskMode: true, + maskOrigin: true, + maskPosition: true, + maskRepeat: true, + maskSize: true, + maskType: true, + // mixBlendMode: now supported in RN 0.77+ (New Architecture) + objectFit: true, + objectPosition: true, + // outline*: now supported in RN 0.77+ (New Architecture) + overflowBlock: true, + overflowInline: true, + overflowX: true, + overflowY: true, + // NOTE: pointerEvents is NOT web-only - it's a core React Native View prop (not a style) + pointerEvents: true, + scrollbarWidth: true, + textEmphasis: true, + touchAction: true, + transformStyle: true, + userSelect: true, + willChange: true +}; +var webOnlyStylePropsText = { + whiteSpace: true, + wordWrap: true, + textOverflow: true, + textDecorationDistance: true, + // cursor: now cross-platform - in stylePropsView + WebkitLineClamp: true, + WebkitBoxOrient: true +}; + // node_modules/@tamagui/helpers/dist/esm/validStyleProps.mjs var textColors = { color: true, @@ -21917,6 +22133,7 @@ var tokenCategories = { borderStartColor: true, shadowColor: true, ...textColors, + // outlineColor is supported on RN 0.77+ (New Architecture) outlineColor: true, caretColor: true } @@ -21977,6 +22194,8 @@ var stylePropsTransform = { }; var stylePropsView = { backfaceVisibility: true, + borderCurve: true, + cursor: true, borderBottomEndRadius: true, borderBottomStartRadius: true, borderBottomWidth: true, @@ -22067,78 +22286,26 @@ var stylePropsView = { ...tokenCategories.radius, ...stylePropsTransform, ...stylePropsUnitless, - boxShadow: true, - filter: true, - // RN 0.77+ style props (set REACT_NATIVE_PRE_77=1 for older RN) - ...!process.env.REACT_NATIVE_PRE_77 && { - boxSizing: true, - mixBlendMode: true, - outlineColor: true, - outlineSpread: true, - outlineStyle: true, - outlineWidth: true - }, - // RN doesn't support specific border styles per-edge - transition: true, - textWrap: true, - backdropFilter: true, - WebkitBackdropFilter: true, - background: true, - backgroundAttachment: true, - backgroundBlendMode: true, - backgroundClip: true, - backgroundColor: true, - backgroundImage: true, - backgroundOrigin: true, - backgroundPosition: true, - backgroundRepeat: true, - backgroundSize: true, - borderBottomStyle: true, - borderImage: true, - borderLeftStyle: true, - borderRightStyle: true, - borderTopStyle: true, - caretColor: true, - clipPath: true, - contain: true, - containerType: true, - content: true, - cursor: true, - float: true, - mask: true, - maskBorder: true, - maskBorderMode: true, - maskBorderOutset: true, - maskBorderRepeat: true, - maskBorderSlice: true, - maskBorderSource: true, - maskBorderWidth: true, - maskClip: true, - maskComposite: true, - maskImage: true, - maskMode: true, - maskOrigin: true, - maskPosition: true, - maskRepeat: true, - maskSize: true, - maskType: true, - objectFit: true, - objectPosition: true, - outlineOffset: true, - overflowBlock: true, - overflowInline: true, - overflowX: true, - overflowY: true, - pointerEvents: true, - scrollbarWidth: true, - textEmphasis: true, - touchAction: true, - transformStyle: true, - userSelect: true, - willChange: true, ...isAndroid ? { elevationAndroid: true - } : {} + } : {}, + boxShadow: true, + border: true, + filter: true, + // RN 0.76+ supports linear-gradient via backgroundImage + backgroundImage: true, + // the actual RN 0.76+ prop name (backgroundImage expands to this on native) + experimental_backgroundImage: true, + // RN 0.76/0.77+ style props (New Architecture) + boxSizing: true, + mixBlendMode: true, + isolation: true, + outlineColor: true, + outlineOffset: true, + outlineStyle: true, + outlineWidth: true, + // web-only for convenience - tree-shaken on native + ...webOnlyStylePropsView }; var stylePropsFont = { fontFamily: true, @@ -22156,18 +22323,13 @@ var stylePropsTextOnly = { textDecorationLine: true, textDecorationStyle: true, ...textColors, + textShadow: true, textShadowOffset: true, textShadowRadius: true, userSelect: true, - selectable: true, verticalAlign: true, - whiteSpace: true, - wordWrap: true, - textOverflow: true, - textDecorationDistance: true, - cursor: true, - WebkitLineClamp: true, - WebkitBoxOrient: true + // web-only text props - tree-shaken on native + ...webOnlyStylePropsText }; var stylePropsText = { ...stylePropsView, @@ -22187,34 +22349,16 @@ var validPseudoKeys = { var validStyles = stylePropsView; // node_modules/@tamagui/helpers/dist/esm/withStaticProperties.mjs -var import_react6 = __toESM(require("react"), 1); var Decorated = Symbol(); -var withStaticProperties = /* @__PURE__ */ __name((component, staticProps) => { - const next = (() => { - if (component[Decorated]) { - const _ = import_react6.default.forwardRef((props, ref) => import_react6.default.createElement(component, { - ...props, - ref - })); - for (const key in component) { - const v = component[key]; - _[key] = v && typeof v == "object" ? { - ...v - } : v; - } - } - return component; - })(); - return Object.assign(next, staticProps), next[Decorated] = true, next; -}, "withStaticProperties"); +var withStaticProperties = /* @__PURE__ */ __name((component, staticProps) => (Object.assign(component, staticProps), component[Decorated] = true, component), "withStaticProperties"); // node_modules/@tamagui/use-event/dist/esm/useGet.mjs -var React9 = __toESM(require("react"), 1); +var React8 = __toESM(require("react"), 1); function useGet(currentValue, initialValue2, forwardToFunction) { - const curRef = React9.useRef(initialValue2 ?? currentValue); + const curRef = React8.useRef(initialValue2 ?? currentValue); return useIsomorphicLayoutEffect(() => { curRef.current = currentValue; - }), React9.useCallback(forwardToFunction ? (...args) => curRef.current?.apply(null, args) : () => curRef.current, []); + }), React8.useCallback(forwardToFunction ? (...args) => curRef.current?.apply(null, args) : () => curRef.current, []); } __name(useGet, "useGet"); @@ -22228,7 +22372,7 @@ var defaultValue = /* @__PURE__ */ __name(() => { }, "defaultValue"); // node_modules/@tamagui/use-controllable-state/dist/esm/useControllableState.mjs -var React10 = __toESM(require("react"), 1); +var React9 = __toESM(require("react"), 1); // node_modules/@tamagui/start-transition/dist/esm/index.mjs var import_react7 = require("react"); @@ -22246,14 +22390,14 @@ function useControllableState({ preventUpdate, transition }) { - const [state, setState] = React10.useState(prop ?? defaultProp), previous = React10.useRef(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = useEvent(onChange || idFn2), transitionFn = transition ? startTransition : emptyCallbackFn; - React10.useEffect(() => { + const [state2, setState] = React9.useState(prop ?? defaultProp), previous = React9.useRef(state2), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state2, onChangeCb = useEvent(onChange || idFn2), transitionFn = transition ? startTransition : emptyCallbackFn; + React9.useEffect(() => { prop !== void 0 && (previous.current = prop, transitionFn(() => { setState(prop); })); - }, [prop]), React10.useEffect(() => { - propWins || state !== previous.current && (previous.current = state, onChangeCb(state)); - }, [onChangeCb, state, propWins]); + }, [prop]), React9.useEffect(() => { + propWins || state2 !== previous.current && (previous.current = state2, onChangeCb(state2)); + }, [onChangeCb, state2, propWins]); const setter = useEvent((next) => { if (!preventUpdate) if (propWins) { const nextValue = typeof next == "function" ? next(previous.current) : next; @@ -22269,15 +22413,15 @@ var idFn2 = /* @__PURE__ */ __name(() => { }, "idFn"); // node_modules/@tamagui/collapsible/dist/esm/Collapsible.mjs -var import_web = require("@tamagui/core"); -var React11 = __toESM(require("react"), 1); -var import_jsx_runtime4 = require("react/jsx-runtime"); +var import_web3 = require("@tamagui/core"); +var React10 = __toESM(require("react"), 1); +var import_jsx_runtime5 = require("react/jsx-runtime"); var COLLAPSIBLE_NAME = "Collapsible"; var { Provider: CollapsibleProvider, useStyledContext: useCollapsibleContext -} = (0, import_web.createStyledContext)(); -var _Collapsible = React11.forwardRef((props, forwardedRef) => { +} = (0, import_web3.createStyledContext)(); +var _Collapsible = React10.forwardRef((props, forwardedRef) => { const { __scopeCollapsible, open: openProp, @@ -22290,13 +22434,13 @@ var _Collapsible = React11.forwardRef((props, forwardedRef) => { defaultProp: defaultOpen, onChange: onOpenChange }); - return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CollapsibleProvider, { + return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(CollapsibleProvider, { scope: __scopeCollapsible, disabled, - contentId: React11.useId(), + contentId: React10.useId(), open, - onOpenToggle: React11.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]), - children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_web.Stack, { + onOpenToggle: React10.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]), + children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_web3.View, { "data-state": getState(open), "data-disabled": disabled ? "" : void 0, ...collapsibleProps, @@ -22306,33 +22450,33 @@ var _Collapsible = React11.forwardRef((props, forwardedRef) => { }); _Collapsible.displayName = COLLAPSIBLE_NAME; var TRIGGER_NAME = "CollapsibleTrigger"; -var CollapsibleTriggerFrame = (0, import_web.styled)(import_web.Stack, { +var CollapsibleTriggerFrame = (0, import_web3.styled)(import_web3.View, { name: TRIGGER_NAME, - tag: "button" + render: "button" }); var CollapsibleTrigger = CollapsibleTriggerFrame.styleable((props, forwardedRef) => { const { __scopeCollapsible, children, ...triggerProps - } = props, context2 = useCollapsibleContext(__scopeCollapsible); - return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CollapsibleTriggerFrame, { - "aria-controls": context2.contentId, - "aria-expanded": context2.open || false, - "data-state": getState(context2.open), - "data-disabled": context2.disabled ? "" : void 0, - disabled: context2.disabled, + } = props, context4 = useCollapsibleContext(__scopeCollapsible); + return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(CollapsibleTriggerFrame, { + "aria-controls": context4.contentId, + "aria-expanded": context4.open || false, + "data-state": getState(context4.open), + "data-disabled": context4.disabled ? "" : void 0, + disabled: context4.disabled, ...triggerProps, ref: forwardedRef, - onPress: composeEventHandlers(props.onPress, context2.onOpenToggle), + onPress: composeEventHandlers(props.onPress, context4.onOpenToggle), children: typeof children == "function" ? children({ - open: context2.open + open: context4.open }) : children }); }); CollapsibleTrigger.displayName = TRIGGER_NAME; var CONTENT_NAME = "CollapsibleContent"; -var CollapsibleContentFrame = (0, import_web.styled)(import_web.Stack, { +var CollapsibleContentFrame = (0, import_web3.styled)(import_web3.View, { name: CONTENT_NAME }); var CollapsibleContent = CollapsibleContentFrame.styleable((props, forwardedRef) => { @@ -22342,13 +22486,13 @@ var CollapsibleContent = CollapsibleContentFrame.styleable((props, forwardedRef) // @ts-expect-error __scopeCollapsible, ...contentProps - } = props, context2 = useCollapsibleContext(__scopeCollapsible); - return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AnimatePresence, { + } = props, context4 = useCollapsibleContext(__scopeCollapsible); + return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AnimatePresence, { ...contentProps, - children: forceMount || context2.open ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CollapsibleContentFrame, { + children: forceMount || context4.open ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(CollapsibleContentFrame, { ref: forwardedRef, ...contentProps, - children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ResetPresence, { + children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ResetPresence, { children }) }) : null @@ -22365,7 +22509,7 @@ var Collapsible = withStaticProperties(_Collapsible, { }); // node_modules/@tamagui/compose-refs/dist/esm/compose-refs.mjs -var React12 = __toESM(require("react"), 1); +var React11 = __toESM(require("react"), 1); function setRef(ref, value) { typeof ref == "function" ? ref(value) : ref && (ref.current = value); } @@ -22375,14 +22519,14 @@ function composeRefs(...refs) { } __name(composeRefs, "composeRefs"); function useComposedRefs(...refs) { - return React12.useCallback(composeRefs(...refs), refs); + return React11.useCallback(composeRefs(...refs), refs); } __name(useComposedRefs, "useComposedRefs"); // node_modules/@tamagui/collection/dist/esm/Collection.mjs var import_core = require("@tamagui/core"); var import_react8 = __toESM(require("react"), 1); -var import_jsx_runtime5 = require("react/jsx-runtime"); +var import_jsx_runtime6 = require("react/jsx-runtime"); function createCollection(name) { const { Provider: CollectionProviderImpl, @@ -22397,7 +22541,7 @@ function createCollection(name) { scope, children } = props, ref = import_react8.default.useRef(void 0), itemMap = import_react8.default.useRef(/* @__PURE__ */ new Map()).current; - return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(CollectionProviderImpl, { + return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, @@ -22409,8 +22553,8 @@ function createCollection(name) { const { scope, children - } = props, context2 = useCollectionContext(scope), composedRefs = useComposedRefs(forwardedRef, context2.collectionRef); - return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_core.Slot, { + } = props, context4 = useCollectionContext(scope), composedRefs = useComposedRefs(forwardedRef, context4.collectionRef); + return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_core.Slot, { ref: composedRefs, children }); @@ -22421,11 +22565,11 @@ function createCollection(name) { scope, children, ...itemData - } = props, ref = import_react8.default.useRef(void 0), composedRefs = useComposedRefs(forwardedRef, ref), context2 = useCollectionContext(scope); - return import_react8.default.useEffect(() => (context2.itemMap.set(ref, { + } = props, ref = import_react8.default.useRef(void 0), composedRefs = useComposedRefs(forwardedRef, ref), context4 = useCollectionContext(scope); + return import_react8.default.useEffect(() => (context4.itemMap.set(ref, { ref, ...itemData - }), () => void context2.itemMap.delete(ref))), /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_core.Slot, { + }), () => void context4.itemMap.delete(ref))), /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_core.Slot, { [ITEM_DATA_ATTR]: "", ref: composedRefs, children @@ -22433,14 +22577,14 @@ function createCollection(name) { }); CollectionItemSlot.displayName = ITEM_SLOT_NAME; function useCollection3(scope) { - const context2 = useCollectionContext(scope); + const context4 = useCollectionContext(scope); return import_react8.default.useCallback(() => { if (!isWeb) return []; - const collectionNode = context2.collectionRef.current; + const collectionNode = context4.collectionRef.current; if (!collectionNode) return []; const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`)); - return Array.from(context2.itemMap.values()).sort((a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)); - }, [context2.collectionRef, context2.itemMap]); + return Array.from(context4.itemMap.values()).sort((a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)); + }, [context4.collectionRef, context4.itemMap]); } __name(useCollection3, "useCollection"); return [{ @@ -22493,17 +22637,8 @@ var getSizedElevation = /* @__PURE__ */ __name((val, { // node_modules/@tamagui/stacks/dist/esm/Stacks.mjs var fullscreenStyle = { position: "absolute", - top: 0, - left: 0, - right: 0, - bottom: 0 + inset: 0 }; -var getInset = /* @__PURE__ */ __name((val) => val && typeof val == "object" ? val : { - top: val, - left: val, - bottom: val, - right: val -}, "getInset"); var variants = { fullscreen: { true: fullscreenStyle @@ -22511,8 +22646,7 @@ var variants = { elevation: { "...size": getElevation, ":number": getElevation - }, - inset: getInset + } }; var YStack = (0, import_core3.styled)(import_core3.View, { flexDirection: "column", @@ -22532,11 +22666,82 @@ var ZStack = (0, import_core3.styled)(YStack, { }); ZStack.displayName = "ZStack"; -// node_modules/@tamagui/stacks/dist/esm/SizableStack.mjs +// node_modules/@tamagui/stacks/dist/esm/ThemeableStack.mjs var import_core4 = require("@tamagui/core"); +// node_modules/@tamagui/stacks/dist/esm/variants.mjs +var elevate = { + true: /* @__PURE__ */ __name((_, extras) => getElevation(extras.props.size, extras), "true") +}; +var bordered = /* @__PURE__ */ __name((val, { + props +}) => ({ + // TODO size it with size in '...size' + borderWidth: typeof val == "number" ? val : 1, + borderColor: "$borderColor" +}), "bordered"); +var circularStyle = { + borderRadius: 1e5, + padding: 0 +}; +var circular = { + true: /* @__PURE__ */ __name((_, { + props, + tokens + }) => { + if (!("size" in props)) return circularStyle; + const size4 = typeof props.size == "number" ? props.size : tokens.size[props.size]; + return { + ...circularStyle, + width: size4, + height: size4, + maxWidth: size4, + maxHeight: size4, + minWidth: size4, + minHeight: size4 + }; + }, "true") +}; + +// node_modules/@tamagui/stacks/dist/esm/ThemeableStack.mjs +var chromelessStyle = { + backgroundColor: "transparent", + borderColor: "transparent", + shadowColor: "transparent", + hoverStyle: { + borderColor: "transparent" + } +}; +var themeableVariants = { + circular, + elevate, + bordered: { + true: bordered + }, + transparent: { + true: { + backgroundColor: "transparent" + } + }, + chromeless: { + true: chromelessStyle, + all: { + ...chromelessStyle, + hoverStyle: chromelessStyle, + pressStyle: chromelessStyle, + focusStyle: chromelessStyle + } + } +}; +var ThemeableStack = (0, import_core4.styled)(YStack, { + variants: themeableVariants +}); + +// node_modules/@tamagui/stacks/dist/esm/SizableStack.mjs +var import_core5 = require("@tamagui/core"); + // node_modules/@tamagui/get-token/dist/esm/index.mjs -var import_web2 = require("@tamagui/core"); +var import_web4 = require("@tamagui/core"); var defaultOptions = { shift: 0, bounds: [0] @@ -22548,7 +22753,7 @@ var cacheWholeVariables = {}; var cacheKeys = {}; var cacheWholeKeys = {}; var stepTokenUpOrDown = /* @__PURE__ */ __name((type, current, options = defaultOptions) => { - const tokens = (0, import_web2.getTokens)({ + const tokens = (0, import_web4.getTokens)({ prefixed: true })[type]; if (!(type in cacheVariables)) { @@ -22560,7 +22765,7 @@ var stepTokenUpOrDown = /* @__PURE__ */ __name((type, current, options = default } const isString = typeof current == "string", tokensOrdered = (options.excludeHalfSteps ? isString ? cacheWholeKeys : cacheWholeVariables : isString ? cacheKeys : cacheVariables)[type], min2 = options.bounds?.[0] ?? 0, max2 = options.bounds?.[1] ?? tokensOrdered.length - 1, currentIndex = tokensOrdered.indexOf(current); let shift4 = options.shift || 0; - shift4 && (current === "$true" || (0, import_web2.isVariable)(current) && current.name === "true") && (shift4 += shift4 > 0 ? 1 : -1); + shift4 && (current === "$true" || (0, import_web4.isVariable)(current) && current.name === "true") && (shift4 += shift4 > 0 ? 1 : -1); const index5 = Math.min(max2, Math.max(min2, currentIndex + shift4)), found = tokensOrdered[index5]; return (typeof found == "string" ? tokens[found] : found) || tokens.$true; }, "stepTokenUpOrDown"); @@ -22585,179 +22790,47 @@ var getButtonSized = /* @__PURE__ */ __name((val, { }; }, "getButtonSized"); -// node_modules/@tamagui/stacks/dist/esm/variants.mjs -var elevate = { - true: /* @__PURE__ */ __name((_, extras) => getElevation(extras.props.size, extras), "true") -}; -var bordered = /* @__PURE__ */ __name((val, { - props -}) => ({ - // TODO size it with size in '...size' - borderWidth: typeof val == "number" ? val : 1, - borderColor: "$borderColor", - ...props.hoverTheme && { - hoverStyle: { - borderColor: "$borderColorHover" - } - }, - ...props.pressTheme && { - pressStyle: { - borderColor: "$borderColorPress" - } - }, - ...props.focusTheme && { - focusStyle: { - borderColor: "$borderColorFocus" - } - } -}), "bordered"); -var padded = { - true: /* @__PURE__ */ __name((_, extras) => { - const { - tokens, - props - } = extras; - return { - padding: tokens.space[props.size] || tokens.space.$true - }; - }, "true") -}; -var radiused = { - true: /* @__PURE__ */ __name((_, extras) => { - const { - tokens, - props - } = extras; - return { - borderRadius: tokens.radius[props.size] || tokens.radius.$true - }; - }, "true") -}; -var circularStyle = { - borderRadius: 1e5, - padding: 0 -}; -var circular = { - true: /* @__PURE__ */ __name((_, { - props, - tokens - }) => { - if (!("size" in props)) return circularStyle; - const size4 = typeof props.size == "number" ? props.size : tokens.size[props.size]; - return { - ...circularStyle, - width: size4, - height: size4, - maxWidth: size4, - maxHeight: size4, - minWidth: size4, - minHeight: size4 - }; - }, "true") -}; -var hoverTheme = { - true: { - hoverStyle: { - backgroundColor: "$backgroundHover", - borderColor: "$borderColorHover" - } - }, - false: {} -}; -var pressTheme = { - true: { - cursor: "pointer", - pressStyle: { - backgroundColor: "$backgroundPress", - borderColor: "$borderColorPress" - } - }, - false: {} -}; -var focusTheme = { - true: { - focusStyle: { - backgroundColor: "$backgroundFocus", - borderColor: "$borderColorFocus" - } - }, - false: {} -}; - // node_modules/@tamagui/stacks/dist/esm/SizableStack.mjs -var SizableStack = (0, import_core4.styled)(XStack, { +var SizableStack = (0, import_core5.styled)(ThemeableStack, { name: "SizableStack", variants: { unstyled: { true: { - hoverTheme: false, - pressTheme: false, - focusTheme: false, elevate: false, bordered: false } }, - hoverTheme, - pressTheme, - focusTheme, circular, elevate, - bordered, + bordered: { + true: bordered + }, size: { "...size": /* @__PURE__ */ __name((val, extras) => getButtonSized(val, extras), "...size") } } }); -// node_modules/@tamagui/stacks/dist/esm/ThemeableStack.mjs -var import_core5 = require("@tamagui/core"); -var chromelessStyle = { - backgroundColor: "transparent", - borderColor: "transparent", - shadowColor: "transparent", - hoverStyle: { - borderColor: "transparent" - } -}; -var themeableVariants = { - backgrounded: { - true: { - backgroundColor: "$background" - } - }, - radiused, - hoverTheme, - pressTheme, - focusTheme, - circular, - padded, - elevate, - bordered, - transparent: { - true: { - backgroundColor: "transparent" - } - }, - chromeless: { - true: chromelessStyle, - all: { - ...chromelessStyle, - hoverStyle: chromelessStyle, - pressStyle: chromelessStyle, - focusStyle: chromelessStyle - } - } -}; -var ThemeableStack = (0, import_core5.styled)(YStack, { - variants: themeableVariants -}); - // node_modules/@tamagui/stacks/dist/esm/NestingContext.mjs var import_react9 = __toESM(require("react"), 1); var ButtonNestingContext = import_react9.default.createContext(false); +// node_modules/@tamagui/text/dist/esm/Emphasis.mjs +var import_web5 = require("@tamagui/core"); +var Strong = (0, import_web5.styled)(import_web5.Text, { + render: "strong", + fontWeight: "bold" +}); +var Span = (0, import_web5.styled)(import_web5.Text, { + render: "span" +}); +var Em = (0, import_web5.styled)(import_web5.Text, { + render: "em", + fontStyle: "italic" +}); + // node_modules/@tamagui/get-font-sized/dist/esm/index.mjs -var import_web3 = require("@tamagui/core"); +var import_web6 = require("@tamagui/core"); var getFontSized = /* @__PURE__ */ __name((sizeTokenIn = "$true", { font, fontFamily, @@ -22773,7 +22846,7 @@ var getFontSized = /* @__PURE__ */ __name((sizeTokenIn = "$true", { font }), console.groupEnd()), style; }, "getFontSized"); -var SizableText = (0, import_web3.styled)(import_web3.Text, { +var SizableText = (0, import_web6.styled)(import_web6.Text, { name: "SizableText", fontFamily: "$body", variants: { @@ -22788,7 +22861,7 @@ var SizableText = (0, import_web3.styled)(import_web3.Text, { var cache2 = /* @__PURE__ */ new WeakMap(); function getDefaultSizeToken(font) { if (typeof font == "object" && cache2.has(font)) return cache2.get(font); - const sizeTokens = "$true" in font.size ? font.size : (0, import_web3.getTokens)().size, sizeDefault = sizeTokens.$true, sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find((x) => x !== "$true" && sizeTokens[x].val === sizeDefault.val) : null; + const sizeTokens = "$true" in font.size ? font.size : (0, import_web6.getTokens)().size, sizeDefault = sizeTokens.$true, sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find((x) => x !== "$true" && sizeTokens[x].val === sizeDefault.val) : null; return !sizeDefault || !sizeDefaultSpecific ? (process.env.NODE_ENV === "development" && console.warn(`No default size is set in your tokens for the "true" key, fonts will be inconsistent. Fix this by having consistent tokens across fonts and sizes and setting a true key for your size tokens, or @@ -22797,8 +22870,8 @@ function getDefaultSizeToken(font) { __name(getDefaultSizeToken, "getDefaultSizeToken"); // node_modules/@tamagui/text/dist/esm/SizableText.mjs -var import_web4 = require("@tamagui/core"); -var SizableText2 = (0, import_web4.styled)(import_web4.Text, { +var import_web7 = require("@tamagui/core"); +var SizableText2 = (0, import_web7.styled)(import_web7.Text, { name: "SizableText", fontFamily: "$body", variants: { @@ -22815,17 +22888,20 @@ var SizableText2 = (0, import_web4.styled)(import_web4.Text, { } }); SizableText2.staticConfig.variants.fontFamily = { - "...": /* @__PURE__ */ __name((_val, extras) => { + "...": /* @__PURE__ */ __name((val, extras) => { + if (val === "inherit") return { + fontFamily: "inherit" + }; const sizeProp = extras.props.size, fontSizeProp = extras.props.fontSize, size4 = sizeProp === "$true" && fontSizeProp ? fontSizeProp : extras.props.size || "$true"; return getFontSized(size4, extras); }, "...") }; // node_modules/@tamagui/text/dist/esm/Paragraph.mjs -var import_web5 = require("@tamagui/core"); -var Paragraph = (0, import_web5.styled)(SizableText2, { +var import_web8 = require("@tamagui/core"); +var Paragraph = (0, import_web8.styled)(SizableText2, { name: "Paragraph", - tag: "p", + render: "p", userSelect: "auto", color: "$color", size: "$true", @@ -22833,18 +22909,18 @@ var Paragraph = (0, import_web5.styled)(SizableText2, { }); // node_modules/@tamagui/text/dist/esm/Headings.mjs -var import_web6 = require("@tamagui/core"); -var Heading = (0, import_web6.styled)(Paragraph, { - tag: "span", +var import_web9 = require("@tamagui/core"); +var Heading = (0, import_web9.styled)(Paragraph, { + render: "span", name: "Heading", - accessibilityRole: "header", + role: "heading", fontFamily: "$heading", size: "$8", margin: 0 }); -var H1 = (0, import_web6.styled)(Heading, { +var H1 = (0, import_web9.styled)(Heading, { name: "H1", - tag: "h1", + render: "h1", variants: { unstyled: { false: { @@ -22856,9 +22932,9 @@ var H1 = (0, import_web6.styled)(Heading, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var H2 = (0, import_web6.styled)(Heading, { +var H2 = (0, import_web9.styled)(Heading, { name: "H2", - tag: "h2", + render: "h2", variants: { unstyled: { false: { @@ -22870,9 +22946,9 @@ var H2 = (0, import_web6.styled)(Heading, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var H3 = (0, import_web6.styled)(Heading, { +var H3 = (0, import_web9.styled)(Heading, { name: "H3", - tag: "h3", + render: "h3", variants: { unstyled: { false: { @@ -22884,9 +22960,9 @@ var H3 = (0, import_web6.styled)(Heading, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var H4 = (0, import_web6.styled)(Heading, { +var H4 = (0, import_web9.styled)(Heading, { name: "H4", - tag: "h4", + render: "h4", variants: { unstyled: { false: { @@ -22898,9 +22974,9 @@ var H4 = (0, import_web6.styled)(Heading, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var H5 = (0, import_web6.styled)(Heading, { +var H5 = (0, import_web9.styled)(Heading, { name: "H5", - tag: "h5", + render: "h5", variants: { unstyled: { false: { @@ -22912,9 +22988,9 @@ var H5 = (0, import_web6.styled)(Heading, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var H6 = (0, import_web6.styled)(Heading, { +var H6 = (0, import_web9.styled)(Heading, { name: "H6", - tag: "h6", + render: "h6", variants: { unstyled: { false: { @@ -22929,7 +23005,7 @@ var H6 = (0, import_web6.styled)(Heading, { // node_modules/@tamagui/text/dist/esm/wrapChildrenInText.mjs var import_react10 = __toESM(require("react"), 1); -var import_jsx_runtime6 = require("react/jsx-runtime"); +var import_jsx_runtime7 = require("react/jsx-runtime"); function wrapChildrenInText(TextComponent, propsIn, extraProps) { const { children, @@ -22951,7 +23027,7 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) { }; return color && (props.color = color), fontFamily && (props.fontFamily = fontFamily), fontSize && (props.fontSize = fontSize), fontWeight && (props.fontWeight = fontWeight), letterSpacing && (props.letterSpacing = letterSpacing), textAlign && (props.textAlign = textAlign), size4 && (props.size = size4), fontStyle && (props.fontStyle = fontStyle), maxFontSizeMultiplier && (props.maxFontSizeMultiplier = maxFontSizeMultiplier), import_react10.default.Children.toArray(children).map((child, index5) => typeof child == "string" ? ( // so "data-disable-theme" is a hack to fix themeInverse, don't ask me why - /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(TextComponent, { + /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TextComponent, { ...props, ...textProps, children: child @@ -22961,33 +23037,33 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) { __name(wrapChildrenInText, "wrapChildrenInText"); // node_modules/@tamagui/use-direction/dist/esm/useDirection.mjs -var React16 = __toESM(require("react"), 1); -var import_jsx_runtime7 = require("react/jsx-runtime"); -var DirectionContext = React16.createContext(void 0); +var React15 = __toESM(require("react"), 1); +var import_jsx_runtime8 = require("react/jsx-runtime"); +var DirectionContext = React15.createContext(void 0); function useDirection(localDir) { - const globalDir = React16.useContext(DirectionContext); + const globalDir = React15.useContext(DirectionContext); return localDir || globalDir || "ltr"; } __name(useDirection, "useDirection"); // node_modules/@tamagui/accordion/dist/esm/Accordion.mjs -var React17 = __toESM(require("react"), 1); -var import_jsx_runtime8 = require("react/jsx-runtime"); +var React16 = __toESM(require("react"), 1); +var import_jsx_runtime9 = require("react/jsx-runtime"); var ACCORDION_NAME = "Accordion"; var ACCORDION_KEYS = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"]; var [Collection, useCollection] = createCollection(ACCORDION_NAME); var ACCORDION_CONTEXT = "Accordion"; -var AccordionComponent = React17.forwardRef((props, forwardedRef) => { +var AccordionComponent = React16.forwardRef((props, forwardedRef) => { const { type, ...accordionProps } = props, singleProps = accordionProps, multipleProps = accordionProps; - return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Collection.Provider, { + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Collection.Provider, { scope: props.__scopeAccordion || ACCORDION_CONTEXT, - children: type === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionImplMultiple, { + children: type === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef - }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionImplSingle, { + }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) @@ -23008,7 +23084,7 @@ var { Provider: AccordionCollapsibleProvider, useStyledContext: useAccordionCollapsibleContext } = (0, import_core6.createStyledContext)(); -var AccordionImplSingle = React17.forwardRef((props, forwardedRef) => { +var AccordionImplSingle = React16.forwardRef((props, forwardedRef) => { const { value: valueProp, defaultValue: defaultValue2, @@ -23022,22 +23098,22 @@ var AccordionImplSingle = React17.forwardRef((props, forwardedRef) => { defaultProp: defaultValue2 || "", onChange: onValueChange }); - return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionValueProvider, { + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionValueProvider, { scope: props.__scopeAccordion, value: value ? [value] : [], onItemOpen: setValue, - onItemClose: React17.useCallback(() => collapsible && setValue(""), [setValue, collapsible]), - children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionCollapsibleProvider, { + onItemClose: React16.useCallback(() => collapsible && setValue(""), [setValue, collapsible]), + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, - children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionImpl, { + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) }) }); }); -var AccordionImplMultiple = React17.forwardRef((props, forwardedRef) => { +var AccordionImplMultiple = React16.forwardRef((props, forwardedRef) => { const { value: valueProp, defaultValue: defaultValue2, @@ -23048,16 +23124,16 @@ var AccordionImplMultiple = React17.forwardRef((props, forwardedRef) => { prop: valueProp, defaultProp: defaultValue2 || [], onChange: onValueChange - }), handleItemOpen = React17.useCallback((itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]), [setValue]), handleItemClose = React17.useCallback((itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)), [setValue]); - return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionValueProvider, { + }), handleItemOpen = React16.useCallback((itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]), [setValue]), handleItemClose = React16.useCallback((itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)), [setValue]); + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionValueProvider, { scope: props.__scopeAccordion, value: value || [], onItemOpen: handleItemOpen, onItemClose: handleItemClose, - children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionCollapsibleProvider, { + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, - children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionImpl, { + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) @@ -23068,14 +23144,14 @@ var { Provider: AccordionImplProvider, useStyledContext: useAccordionContext } = (0, import_core6.createStyledContext)(); -var AccordionImpl = React17.forwardRef((props, forwardedRef) => { +var AccordionImpl = React16.forwardRef((props, forwardedRef) => { const { __scopeAccordion, disabled, dir, orientation = "vertical", ...accordionProps - } = props, accordionRef = React17.useRef(null), composedRef = useComposedRefs(accordionRef, forwardedRef), getItems = useCollection(__scopeAccordion || ACCORDION_CONTEXT), isDirectionLTR = useDirection(dir) === "ltr", handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => { + } = props, accordionRef = React16.useRef(null), composedRef = useComposedRefs(accordionRef, forwardedRef), getItems = useCollection(__scopeAccordion || ACCORDION_CONTEXT), isDirectionLTR = useDirection(dir) === "ltr", handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => { if (!ACCORDION_KEYS.includes(event.key)) return; const target = event.target, triggerCollection = getItems().filter((item) => !item.ref.current?.disabled), triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target), triggerCount = triggerCollection.length; if (triggerIndex === -1) return; @@ -23109,14 +23185,14 @@ var AccordionImpl = React17.forwardRef((props, forwardedRef) => { const clampedIndex = nextIndex % triggerCount; triggerCollection[clampedIndex].ref.current?.focus(); }); - return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionImplProvider, { + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionImplProvider, { scope: __scopeAccordion, disabled, direction: dir, orientation, - children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Collection.Slot, { + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Collection.Slot, { scope: __scopeAccordion || ACCORDION_CONTEXT, - children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(YStack, { + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(YStack, { "data-orientation": orientation, ref: composedRef, ...accordionProps, @@ -23132,18 +23208,18 @@ var { Provider: AccordionItemProvider, useStyledContext: useAccordionItemContext } = (0, import_core6.createStyledContext)(); -var AccordionItem = React17.forwardRef((props, forwardedRef) => { +var AccordionItem = React16.forwardRef((props, forwardedRef) => { const { __scopeAccordion, value, ...accordionItemProps - } = props, accordionContext = useAccordionContext(__scopeAccordion), valueContext = useAccordionValueContext(__scopeAccordion), triggerId = React17.useId(), open = value && valueContext.value.includes(value) || false, disabled = accordionContext.disabled || props.disabled; - return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionItemProvider, { + } = props, accordionContext = useAccordionContext(__scopeAccordion), valueContext = useAccordionValueContext(__scopeAccordion), triggerId = React16.useId(), open = value && valueContext.value.includes(value) || false, disabled = accordionContext.disabled || props.disabled; + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionItemProvider, { scope: __scopeAccordion, open, disabled, triggerId, - children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Collapsible, { + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Collapsible, { "data-orientation": accordionContext.orientation, "data-state": open ? "open" : "closed", __scopeCollapsible: __scopeAccordion || ACCORDION_CONTEXT, @@ -23159,12 +23235,12 @@ var AccordionItem = React17.forwardRef((props, forwardedRef) => { }); AccordionItem.displayName = ITEM_NAME; var HEADER_NAME = "AccordionHeader"; -var AccordionHeader = React17.forwardRef((props, forwardedRef) => { +var AccordionHeader = React16.forwardRef((props, forwardedRef) => { const { __scopeAccordion, ...headerProps } = props, accordionContext = useAccordionContext(__scopeAccordion), itemContext = useAccordionItemContext(__scopeAccordion); - return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(H1, { + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(H1, { "data-orientation": accordionContext.orientation, "data-state": getState2(itemContext.open), "data-disabled": itemContext.disabled ? "" : void 0, @@ -23179,8 +23255,6 @@ var AccordionTriggerFrame = (0, import_core6.styled)(Collapsible.Trigger, { false: { cursor: "pointer", backgroundColor: "$background", - borderColor: "$borderColor", - borderWidth: 1, padding: "$true", hoverStyle: { backgroundColor: "$backgroundHover" @@ -23203,9 +23277,9 @@ var AccordionTrigger = AccordionTriggerFrame.styleable(function(props, forwarded __scopeAccordion, ...triggerProps } = props, accordionContext = useAccordionContext(__scopeAccordion), itemContext = useAccordionItemContext(__scopeAccordion), collapsibleContext = useAccordionCollapsibleContext(__scopeAccordion); - return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Collection.ItemSlot, { + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Collection.ItemSlot, { scope: __scopeAccordion || ACCORDION_CONTEXT, - children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionTriggerFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionTriggerFrame, { __scopeCollapsible: __scopeAccordion || ACCORDION_CONTEXT, "aria-disabled": itemContext.open && !collapsibleContext.collapsible || void 0, "data-orientation": accordionContext.orientation, @@ -23233,7 +23307,7 @@ var AccordionContent = AccordionContentFrame.styleable(function(props, forwarded __scopeAccordion, ...contentProps } = props, accordionContext = useAccordionContext(__scopeAccordion), itemContext = useAccordionItemContext(__scopeAccordion); - return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionContentFrame, { + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionContentFrame, { role: "region", "aria-labelledby": itemContext.triggerId, "data-orientation": accordionContext.orientation, @@ -23246,18 +23320,21 @@ var HeightAnimator = import_core6.View.styleable((props, ref) => { const itemContext = useAccordionItemContext(), { children, ...rest - } = props, [height, setHeight] = React17.useState(0); - return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core6.View, { + } = props, [measuredHeight, setMeasuredHeight] = React16.useState(0), hasMeasured = measuredHeight > 0, height = itemContext.open ? hasMeasured ? measuredHeight : "auto" : 0, shouldAbsolutePosition = hasMeasured || !itemContext.open; + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core6.View, { ref, - height: itemContext.open ? height : 0, + height, + position: "relative", ...rest, - children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core6.View, { - position: "absolute", - width: "100%", + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core6.View, { + position: shouldAbsolutePosition ? "absolute" : "relative", + top: shouldAbsolutePosition ? 0 : void 0, + left: shouldAbsolutePosition ? 0 : void 0, + right: shouldAbsolutePosition ? 0 : void 0, onLayout: /* @__PURE__ */ __name(({ nativeEvent }) => { - nativeEvent.layout.height && setHeight(nativeEvent.layout.height); + nativeEvent.layout.height && nativeEvent.layout.height !== measuredHeight && setMeasuredHeight(nativeEvent.layout.height); }, "onLayout"), children }) @@ -23321,8 +23398,8 @@ var useStackedZIndex = /* @__PURE__ */ __name((props) => { if (typeof zIndexProp == "number") return zIndexProp; if (stackZIndex) { if (hardcoded) return hardcoded + 1; - const highest = Object.values(stackContext).reduce((acc, cur) => Math.max(acc, cur), 0), found = stackLayer * 5e3 + highest + 1; - return typeof stackZIndex == "number" ? stackZIndex + found : found; + const entries = Object.values(stackContext), baseForLayer = stackLayer * 5e3, nextLayerBase = (stackLayer + 1) * 5e3, validEntries = entries.filter((z) => z < nextLayerBase), highest = validEntries.length > 0 ? Math.max(...validEntries) : baseForLayer, nextZIndex = highest === baseForLayer ? baseForLayer + 1 : highest + 1; + return typeof stackZIndex == "number" ? stackZIndex + nextZIndex : nextZIndex; } return 1; }, [stackLayer, zIndexProp, stackZIndex]); @@ -23336,37 +23413,37 @@ var useStackedZIndex = /* @__PURE__ */ __name((props) => { // node_modules/@tamagui/z-index-stack/dist/esm/StackZIndex.mjs var import_react13 = require("react"); -var import_jsx_runtime9 = require("react/jsx-runtime"); +var import_jsx_runtime10 = require("react/jsx-runtime"); var StackZIndexContext = /* @__PURE__ */ __name(({ children, zIndex }) => { const existing = (0, import_react13.useContext)(ZIndexStackContext); - let content = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(ZIndexStackContext.Provider, { + let content = /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ZIndexStackContext.Provider, { value: existing + 1, children }); - return typeof zIndex < "u" && (content = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(ZIndexHardcodedContext.Provider, { + return typeof zIndex < "u" && (content = /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ZIndexHardcodedContext.Provider, { value: zIndex, children: content })), content; }, "StackZIndexContext"); // node_modules/@tamagui/portal/dist/esm/Portal.mjs -var React18 = __toESM(require("react"), 1); +var React17 = __toESM(require("react"), 1); var import_react_dom = require("react-dom"); // node_modules/@tamagui/portal/dist/esm/helpers.mjs -var import_web7 = require("@tamagui/core"); +var import_web10 = require("@tamagui/core"); var getStackedZIndexProps = /* @__PURE__ */ __name((propsIn) => ({ stackZIndex: propsIn.stackZIndex, zIndex: resolveViewZIndex(propsIn.zIndex) }), "getStackedZIndexProps"); -var resolveViewZIndex = /* @__PURE__ */ __name((zIndex) => typeof zIndex > "u" || zIndex === "unset" ? void 0 : typeof zIndex == "number" ? zIndex : (0, import_web7.getTokenValue)(zIndex, "zIndex"), "resolveViewZIndex"); +var resolveViewZIndex = /* @__PURE__ */ __name((zIndex) => typeof zIndex > "u" ? void 0 : typeof zIndex == "number" ? zIndex : (0, import_web10.getTokenValue)(zIndex, "zIndex"), "resolveViewZIndex"); // node_modules/@tamagui/portal/dist/esm/Portal.mjs -var import_jsx_runtime10 = require("react/jsx-runtime"); -var Portal = React18.memo((propsIn) => { +var import_jsx_runtime11 = require("react/jsx-runtime"); +var Portal = React17.memo((propsIn) => { if (isServer) return null; const body = globalThis.document?.body; if (!body) return propsIn.children; @@ -23374,77 +23451,226 @@ var Portal = React18.memo((propsIn) => { children, passThrough } = propsIn, zIndex = useStackedZIndex(getStackedZIndexProps(propsIn)); - return passThrough ? children : (0, import_react_dom.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { + return passThrough ? children : (0, import_react_dom.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { style: { zIndex, position: "fixed", inset: 0, contain: "strict", - pointerEvents: "none" + pointerEvents: "none", + // prevent mobile browser from scrolling/moving this fixed element + touchAction: "none" }, children }), body); }); +// node_modules/@tamagui/native/dist/esm/portalState.mjs +var state = { + enabled: false, + type: null +}; +function getPortal() { + return { + get isEnabled() { + return state.enabled; + }, + get state() { + return state; + }, + set(newState) { + state = newState; + } + }; +} +__name(getPortal, "getPortal"); + +// node_modules/@tamagui/native/dist/esm/gestureState.mjs +var GLOBAL_KEY = "__tamagui_native_gesture_state__"; +function getGlobalState() { + const g = globalThis; + return g[GLOBAL_KEY] || (g[GLOBAL_KEY] = { + enabled: false, + Gesture: null, + GestureDetector: null, + ScrollView: null + }), g[GLOBAL_KEY]; +} +__name(getGlobalState, "getGlobalState"); +function getGestureHandler() { + return { + get isEnabled() { + return getGlobalState().enabled; + }, + get state() { + return getGlobalState(); + }, + set(updates) { + const state2 = getGlobalState(); + Object.assign(state2, updates); + }, + disable() { + const state2 = getGlobalState(); + state2.enabled = false; + }, + createPressGesture(config) { + const { + Gesture + } = getGlobalState(); + if (!Gesture) return null; + const longPressDuration = config.delayLongPress ?? 500, tap = Gesture.Tap().runOnJS(true).maxDuration(1e4).onBegin((e) => { + config.onPressIn?.(e); + }).onEnd((e) => { + config.onPress?.(e); + }).onFinalize((e) => { + config.onPressOut?.(e); + }); + if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap; + const longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).onBegin((e) => config.onPressIn?.(e)).onStart((e) => config.onLongPress?.(e)).onFinalize((e) => config.onPressOut?.(e)); + return config.hitSlop && longPress.hitSlop(config.hitSlop), Gesture.Exclusive(longPress, tap); + } + }; +} +__name(getGestureHandler, "getGestureHandler"); + +// node_modules/@tamagui/native/dist/esm/safeAreaState.mjs +var GLOBAL_KEY2 = "__tamagui_native_safe_area_state__"; +function getGlobalState2() { + const g = globalThis; + return g[GLOBAL_KEY2] || (g[GLOBAL_KEY2] = { + enabled: false, + useSafeAreaInsets: null, + useSafeAreaFrame: null, + initialMetrics: null + }), g[GLOBAL_KEY2]; +} +__name(getGlobalState2, "getGlobalState"); +var defaultInsets = { + top: 0, + right: 0, + bottom: 0, + left: 0 +}; +var defaultFrame = { + x: 0, + y: 0, + width: 0, + height: 0 +}; +function getSafeArea() { + return { + get isEnabled() { + return getGlobalState2().enabled; + }, + get state() { + return getGlobalState2(); + }, + set(updates) { + Object.assign(getGlobalState2(), updates); + }, + getInsets() { + const state2 = getGlobalState2(); + return !state2.enabled || !state2.initialMetrics ? defaultInsets : state2.initialMetrics.insets; + }, + getFrame() { + const state2 = getGlobalState2(); + return !state2.enabled || !state2.initialMetrics ? defaultFrame : state2.initialMetrics.frame; + } + }; +} +__name(getSafeArea, "getSafeArea"); + +// node_modules/@tamagui/native/dist/esm/components.mjs +var import_jsx_runtime12 = require("react/jsx-runtime"); +function NativePortalHost({ + name +}) { + if (getPortal().state.type !== "teleport") return null; + const { + PortalHost: PortalHost2 + } = globalThis.__tamagui_teleport; + return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(PortalHost2, { + name + }); +} +__name(NativePortalHost, "NativePortalHost"); +function NativePortalProvider({ + children +}) { + if (getPortal().state.type !== "teleport") return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_jsx_runtime12.Fragment, { + children + }); + const { + PortalProvider: PortalProvider2 + } = globalThis.__tamagui_teleport; + return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(PortalProvider2, { + children + }); +} +__name(NativePortalProvider, "NativePortalProvider"); + // node_modules/@tamagui/portal/dist/esm/GorhomPortal.mjs var import_react14 = __toESM(require("react"), 1); // node_modules/@tamagui/portal/dist/esm/constants.mjs -var IS_FABRIC = typeof global < "u" && !!(global._IS_FABRIC ?? global.nativeFabricUIManager); -var USE_NATIVE_PORTAL = process.env.TAMAGUI_USE_NATIVE_PORTAL && process.env.TAMAGUI_USE_NATIVE_PORTAL !== "false" ? true : !isAndroid && !IS_FABRIC; +var isTeleportEnabled = /* @__PURE__ */ __name(() => { + const state2 = getPortal().state; + return state2.enabled && state2.type === "teleport"; +}, "isTeleportEnabled"); +var needsPortalRepropagation = /* @__PURE__ */ __name(() => isWeb || isTeleportEnabled() ? false : isAndroid || isIos, "needsPortalRepropagation"); var allPortalHosts = /* @__PURE__ */ new Map(); var portalListeners = {}; // node_modules/@tamagui/portal/dist/esm/GorhomPortal.mjs -var import_jsx_runtime11 = require("react/jsx-runtime"); +var import_jsx_runtime13 = require("react/jsx-runtime"); var ACTIONS = /* @__PURE__ */ ((ACTIONS2) => (ACTIONS2[ACTIONS2.REGISTER_HOST = 0] = "REGISTER_HOST", ACTIONS2[ACTIONS2.DEREGISTER_HOST = 1] = "DEREGISTER_HOST", ACTIONS2[ACTIONS2.ADD_UPDATE_PORTAL = 2] = "ADD_UPDATE_PORTAL", ACTIONS2[ACTIONS2.REMOVE_PORTAL = 3] = "REMOVE_PORTAL", ACTIONS2))(ACTIONS || {}); var INITIAL_STATE = {}; -var registerHost = /* @__PURE__ */ __name((state, hostName) => (hostName in state || (state[hostName] = []), state), "registerHost"); -var deregisterHost = /* @__PURE__ */ __name((state, hostName) => (delete state[hostName], state), "deregisterHost"); -var addUpdatePortal = /* @__PURE__ */ __name((state, hostName, portalName, node) => { - hostName in state || (state = registerHost(state, hostName)); - const index5 = state[hostName].findIndex((item) => item.name === portalName); - return index5 !== -1 ? state[hostName][index5].node = node : state[hostName].push({ +var registerHost = /* @__PURE__ */ __name((state2, hostName) => (hostName in state2 || (state2[hostName] = []), state2), "registerHost"); +var deregisterHost = /* @__PURE__ */ __name((state2, hostName) => (delete state2[hostName], state2), "deregisterHost"); +var addUpdatePortal = /* @__PURE__ */ __name((state2, hostName, portalName, node) => { + hostName in state2 || (state2 = registerHost(state2, hostName)); + const index5 = state2[hostName].findIndex((item) => item.name === portalName); + return index5 !== -1 ? state2[hostName][index5].node = node : state2[hostName].push({ name: portalName, node - }), state; + }), state2; }, "addUpdatePortal"); -var removePortal = /* @__PURE__ */ __name((state, hostName, portalName) => { - if (!(hostName in state)) return console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`), state; - const index5 = state[hostName].findIndex((item) => item.name === portalName); - return index5 !== -1 && state[hostName].splice(index5, 1), state; +var removePortal = /* @__PURE__ */ __name((state2, hostName, portalName) => { + if (!(hostName in state2)) return process.env.NODE_ENV === "development" && console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`), state2; + const index5 = state2[hostName].findIndex((item) => item.name === portalName); + return index5 !== -1 && state2[hostName].splice(index5, 1), state2; }, "removePortal"); -var reducer = /* @__PURE__ */ __name((state, action) => { +var reducer = /* @__PURE__ */ __name((state2, action) => { const { type } = action; switch (type) { case 0: return registerHost({ - ...state + ...state2 }, action.hostName); case 1: return deregisterHost({ - ...state + ...state2 }, action.hostName); case 2: return addUpdatePortal({ - ...state + ...state2 }, action.hostName, action.portalName, action.node); case 3: return removePortal({ - ...state + ...state2 }, action.hostName, action.portalName); default: - return state; + return state2; } }, "reducer"); var PortalStateContext = (0, import_react14.createContext)(null); var PortalDispatchContext = (0, import_react14.createContext)(null); var usePortalState = /* @__PURE__ */ __name((hostName) => { - const state = (0, import_react14.useContext)(PortalStateContext); - if (state === null) throw new Error("'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component."); - return state[hostName] || []; + const state2 = (0, import_react14.useContext)(PortalStateContext); + if (state2 === null) throw new Error("'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component."); + return state2[hostName] || []; }, "usePortalState"); var usePortal = /* @__PURE__ */ __name((hostName = "root") => { const dispatch = (0, import_react14.useContext)(PortalDispatchContext); @@ -23486,37 +23712,41 @@ var PortalProviderComponent = /* @__PURE__ */ __name(({ shouldAddRootHost = true, children }) => { - const [state, dispatch] = (0, import_react14.useReducer)(reducer, INITIAL_STATE), transitionDispatch = (0, import_react14.useMemo)(() => (value) => { + const [state2, dispatch] = (0, import_react14.useReducer)(reducer, INITIAL_STATE), transitionDispatch = (0, import_react14.useMemo)(() => (value) => { startTransition(() => { dispatch(value); }); - }, [dispatch]); - return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PortalDispatchContext.Provider, { + }, [dispatch]), portalState = getPortal().state, content = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(PortalDispatchContext.Provider, { value: transitionDispatch, - children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(PortalStateContext.Provider, { - value: state, - children: [children, shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PortalHost, { + children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(PortalStateContext.Provider, { + value: state2, + children: [children, shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(PortalHost, { name: rootHostName })] }) }); + return portalState.type === "teleport" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(NativePortalProvider, { + children: content + }) : content; }, "PortalProviderComponent"); var PortalProvider = (0, import_react14.memo)(PortalProviderComponent); PortalProvider.displayName = "PortalProvider"; -var defaultRenderer = /* @__PURE__ */ __name((children) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { +var defaultRenderer = /* @__PURE__ */ __name((children) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children }), "defaultRenderer"); var PortalHost = (0, import_react14.memo)(function(props) { - return isWeb ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PortalHostWeb, { + return isWeb ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(PortalHostWeb, { ...props - }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PortalHostNonNative, { + }) : getPortal().state.type === "teleport" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(NativePortalHost, { + name: props.name + }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(PortalHostNonNative, { ...props }); }); function PortalHostWeb(props) { return useIsomorphicLayoutEffect(() => () => { allPortalHosts.delete(props.name); - }, [props.name]), /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { + }, [props.name]), /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { style: { display: "contents" }, @@ -23531,15 +23761,13 @@ function PortalHostNonNative(props) { name, forwardProps, render = defaultRenderer - } = props, state = usePortalState(name), { + } = props, state2 = usePortalState(name), { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name); - return useIsomorphicLayoutEffect(() => { - if (!(typeof window > "u")) return registerHost2(), () => { - deregisterHost2(); - }; - }, []), render(forwardProps ? state.map((item) => { + return useIsomorphicLayoutEffect(() => (registerHost2(), () => { + deregisterHost2(); + }), []), render(forwardProps ? state2.map((item) => { let next = item.node; const { children, @@ -23549,7 +23777,7 @@ function PortalHostNonNative(props) { key: child.key, ...restForwardProps }) : child) : next; - }) : state.map((item) => item.node)); + }) : state2.map((item) => item.node)); } __name(PortalHostNonNative, "PortalHostNonNative"); @@ -23557,7 +23785,7 @@ __name(PortalHostNonNative, "PortalHostNonNative"); var import_react15 = require("react"); var import_react_dom2 = require("react-dom"); var GorhomPortalItem = /* @__PURE__ */ __name((props) => { - !props.hostName && !props.passThrough && console.warn("No hostName"); + process.env.NODE_ENV === "development" && !props.hostName && !props.passThrough && console.warn("No hostName"); const cur = allPortalHosts.get(props.hostName || ""), [node, setNode] = (0, import_react15.useState)(cur); if (useIsomorphicLayoutEffect(() => { if (!props.hostName) return; @@ -23576,7 +23804,7 @@ var GorhomPortalItem = /* @__PURE__ */ __name((props) => { // node_modules/@tamagui/adapt/dist/esm/Adapt.mjs var import_react16 = __toESM(require("react"), 1); -var import_jsx_runtime12 = require("react/jsx-runtime"); +var import_jsx_runtime14 = require("react/jsx-runtime"); var AdaptContext = (0, import_core7.createStyledContext)({ Contents: null, scopeName: "", @@ -23592,15 +23820,15 @@ var AdaptContext = (0, import_core7.createStyledContext)({ var LastAdaptContextScope = (0, import_react16.createContext)(""); var ProvideAdaptContext = /* @__PURE__ */ __name(({ children, - ...context2 + ...context4 }) => { - const scope = context2.scopeName || "", lastScope = (0, import_react16.useContext)(LastAdaptContextScope); - return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(LastAdaptContextScope.Provider, { - value: lastScope || context2.lastScope || "", - children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AdaptContext.Provider, { + const scope = context4.scopeName || "", lastScope = (0, import_react16.useContext)(LastAdaptContextScope); + return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(LastAdaptContextScope.Provider, { + value: lastScope || context4.lastScope || "", + children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(AdaptContext.Provider, { scope, - lastScope: lastScope || context2.lastScope, - ...context2, + lastScope: lastScope || context4.lastScope, + ...context4, children }) }); @@ -23619,7 +23847,7 @@ var AdaptParent = /* @__PURE__ */ __name(({ const id = (0, import_react16.useId)(), portalName = `AdaptPortal${scope}${id}`, FinalContents = (0, import_react16.useMemo)(() => { if (Contents) return Contents; if (AdaptPortals.has(portalName)) return AdaptPortals.get(portalName); - const element = /* @__PURE__ */ __name(() => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(PortalHost, { + const element = /* @__PURE__ */ __name(() => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(PortalHost, { name: portalName, forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps }, id), "element"); @@ -23629,9 +23857,9 @@ var AdaptParent = /* @__PURE__ */ __name(({ AdaptPortals.delete(portalName); }), [portalName]); const [when, setWhen] = import_react16.default.useState(null), [platform2, setPlatform] = import_react16.default.useState(null), [children2, setChildren] = import_react16.default.useState(null); - return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(LastAdaptContextScope.Provider, { + return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(LastAdaptContextScope.Provider, { value: scope, - children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ProvideAdaptContext, { + children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ProvideAdaptContext, { Contents: FinalContents, when, platform: platform2, @@ -23648,9 +23876,9 @@ var AdaptContents = /* @__PURE__ */ __name(({ scope, ...rest }) => { - const context2 = useAdaptContext(scope); - if (!context2?.Contents) throw new Error(process.env.NODE_ENV === "production" ? "tamagui.dev/docs/intro/errors#warning-002" : "You're rendering a Tamagui component without nesting it inside a parent that is able to adapt."); - return import_react16.default.createElement(context2.Contents, { + const context4 = useAdaptContext(scope); + if (!context4?.Contents) throw new Error(process.env.NODE_ENV === "production" ? "tamagui.dev/docs/intro/errors#warning-002" : "You're rendering a Tamagui component without nesting it inside a parent that is able to adapt."); + return import_react16.default.createElement(context4.Contents, { ...rest, key: "stable" }); @@ -23662,20 +23890,20 @@ var Adapt = withStaticProperties(function(props) { when, children, scope - } = props, context2 = useAdaptContext(scope), enabled = useAdaptIsActiveGiven(props); + } = props, context4 = useAdaptContext(scope), enabled = useAdaptIsActiveGiven(props); useIsomorphicLayoutEffect(() => { - context2?.setWhen?.(when || enabled), context2?.setPlatform?.(platform2 || null); - }, [when, platform2, enabled, context2.setWhen, context2.setPlatform]), useIsomorphicLayoutEffect(() => () => { - context2?.setWhen?.(null), context2?.setPlatform?.(null); + context4?.setWhen?.(when || enabled), context4?.setPlatform?.(platform2 || null); + }, [when, platform2, enabled, context4.setWhen, context4.setPlatform]), useIsomorphicLayoutEffect(() => () => { + context4?.setWhen?.(null), context4?.setPlatform?.(null); }, []); let output; if (typeof children == "function") { - const Component = context2?.Contents; - output = children(Component ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Component, {}) : null); + const Component = context4?.Contents; + output = children(Component ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Component, {}) : null); } else output = children; return useIsomorphicLayoutEffect(() => { - typeof children == "function" && output !== void 0 && context2?.setChildren(output); - }, [output]), /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(StackZIndexContext, { + typeof children == "function" && output !== void 0 && context4?.setChildren(output); + }, [output]), /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(StackZIndexContext, { children: enabled ? output : null }); }, { @@ -23685,7 +23913,7 @@ var AdaptPortalContents = /* @__PURE__ */ __name((props) => { const isActive = useAdaptIsActive(props.scope), { portalName } = useAdaptContext(props.scope); - return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(GorhomPortalItem, { + return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(GorhomPortalItem, { passThrough: !isActive, hostName: portalName, children: props.children @@ -23707,71 +23935,71 @@ var useAdaptIsActive = /* @__PURE__ */ __name((scope) => { }, "useAdaptIsActive"); // node_modules/@tamagui/alert-dialog/dist/esm/AlertDialog.mjs -var import_core15 = require("@tamagui/core"); +var import_core11 = require("@tamagui/core"); // node_modules/@tamagui/dialog/dist/esm/Dialog.mjs -var import_core14 = require("@tamagui/core"); +var import_core10 = require("@tamagui/core"); // node_modules/@tamagui/create-context/dist/esm/create-context.mjs -var React21 = __toESM(require("react"), 1); -var import_jsx_runtime13 = require("react/jsx-runtime"); +var React20 = __toESM(require("react"), 1); +var import_jsx_runtime15 = require("react/jsx-runtime"); function createContext7(rootComponentName, defaultContext) { - const Context = React21.createContext(defaultContext); + const Context = React20.createContext(defaultContext); function Provider(props) { const { children, - ...context2 - } = props, value = React21.useMemo(() => context2, Object.values(context2)); - return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Context.Provider, { + ...context4 + } = props, value = React20.useMemo(() => context4, Object.values(context4)); + return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Context.Provider, { value, children }); } __name(Provider, "Provider"); - function useContext22(consumerName) { - const context2 = React21.useContext(Context); - if (context2) return context2; + function useContext23(consumerName) { + const context4 = React20.useContext(Context); + if (context4) return context4; if (defaultContext !== void 0) return defaultContext; throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``); } - __name(useContext22, "useContext"); - return [Provider, useContext22]; + __name(useContext23, "useContext"); + return [Provider, useContext23]; } __name(createContext7, "createContext"); function createContextScope(scopeName, createContextScopeDeps = []) { let defaultContexts = []; function createContext22(rootComponentName, defaultContext) { - const BaseContext = React21.createContext(defaultContext), index5 = defaultContexts.length; + const BaseContext = React20.createContext(defaultContext), index5 = defaultContexts.length; defaultContexts = [...defaultContexts, defaultContext]; function Provider(props) { const { scope, children, - ...context2 - } = props, Context = scope?.[scopeName]?.[index5] || BaseContext, value = React21.useMemo(() => context2, Object.values(context2)); - return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Context.Provider, { + ...context4 + } = props, Context = scope?.[scopeName]?.[index5] || BaseContext, value = React20.useMemo(() => context4, Object.values(context4)); + return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Context.Provider, { value, children }); } __name(Provider, "Provider"); - function useContext22(consumerName, scope, options) { - const Context = scope?.[scopeName]?.[index5] || BaseContext, context2 = React21.useContext(Context); - if (context2) return context2; + function useContext23(consumerName, scope, options) { + const Context = scope?.[scopeName]?.[index5] || BaseContext, context4 = React20.useContext(Context); + if (context4) return context4; if (defaultContext !== void 0) return defaultContext; const missingContextMessage = `\`${consumerName}\` must be used within \`${rootComponentName}\``; if (options?.fallback) return options?.warn !== false && console.warn(missingContextMessage), options.fallback; throw new Error(missingContextMessage); } - __name(useContext22, "useContext"); - return [Provider, useContext22]; + __name(useContext23, "useContext"); + return [Provider, useContext23]; } __name(createContext22, "createContext2"); const createScope = /* @__PURE__ */ __name(() => { - const scopeContexts = defaultContexts.map((defaultContext) => React21.createContext(defaultContext)); + const scopeContexts = defaultContexts.map((defaultContext) => React20.createContext(defaultContext)); return function(scope) { const contexts = scope?.[scopeName] || scopeContexts; - return React21.useMemo(() => ({ + return React20.useMemo(() => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts @@ -23801,7 +24029,7 @@ function composeContextScopes(...scopes) { ...currentScope }; }, {}); - return React21.useMemo(() => ({ + return React20.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]); }; @@ -23810,13 +24038,16 @@ function composeContextScopes(...scopes) { } __name(composeContextScopes, "composeContextScopes"); +// node_modules/@tamagui/dismissable/dist/esm/Dismissable.mjs +var import_core8 = require("@tamagui/core"); + // node_modules/@tamagui/use-callback-ref/dist/esm/index.mjs -var React22 = __toESM(require("react"), 1); +var React21 = __toESM(require("react"), 1); function useCallbackRef(callback) { - const callbackRef = React22.useRef(callback); - return React22.useEffect(() => { + const callbackRef = React21.useRef(callback); + return React21.useEffect(() => { callbackRef.current = callback; - }), React22.useMemo(() => (...args) => callbackRef.current?.(...args), []); + }), React21.useMemo(() => (...args) => callbackRef.current?.(...args), []); } __name(useCallbackRef, "useCallbackRef"); @@ -23828,17 +24059,25 @@ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.docum const handleKeyDown = /* @__PURE__ */ __name((event) => { event.key === "Escape" && onEscapeKeyDown(event); }, "handleKeyDown"); - return ownerDocument.addEventListener("keydown", handleKeyDown), () => { - ownerDocument.removeEventListener("keydown", handleKeyDown); + return ownerDocument.addEventListener( + "keydown", + // @ts-expect-error + handleKeyDown + ), () => { + ownerDocument.removeEventListener( + "keydown", + // @ts-expect-error + handleKeyDown + ); }; }, [onEscapeKeyDown, ownerDocument]); } __name(useEscapeKeydown, "useEscapeKeydown"); // node_modules/@tamagui/dismissable/dist/esm/Dismissable.mjs -var React24 = __toESM(require("react"), 1); +var React23 = __toESM(require("react"), 1); var ReactDOM = __toESM(require("react-dom"), 1); -var import_jsx_runtime14 = require("react/jsx-runtime"); +var import_jsx_runtime16 = require("react/jsx-runtime"); function dispatchDiscreteCustomEvent(target, event) { target && ReactDOM.flushSync(() => target.dispatchEvent(event)); } @@ -23848,12 +24087,12 @@ var CONTEXT_UPDATE = "dismissable.update"; var POINTER_DOWN_OUTSIDE = "dismissable.pointerDownOutside"; var FOCUS_OUTSIDE = "dismissable.focusOutside"; var originalBodyPointerEvents; -var DismissableContext = React24.createContext({ +var DismissableContext = React23.createContext({ layers: /* @__PURE__ */ new Set(), layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(), branches: /* @__PURE__ */ new Set() }); -var Dismissable = React24.forwardRef((props, forwardedRef) => { +var Dismissable = React23.forwardRef((props, forwardedRef) => { const { disableOutsidePointerEvents = false, forceUnmount, @@ -23862,53 +24101,53 @@ var Dismissable = React24.forwardRef((props, forwardedRef) => { onFocusOutside, onInteractOutside, onDismiss, + asChild, + children, ...layerProps - } = props, context2 = React24.useContext(DismissableContext), [node, setNode] = React24.useState(null), [, force] = React24.useState({}), composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2)), layers = Array.from(context2.layers), [highestLayerWithOutsidePointerEventsDisabled] = [...context2.layersWithOutsidePointerEventsDisabled].slice(-1), highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled), index5 = node ? layers.indexOf(node) : -1, isBodyPointerEventsDisabled = context2.layersWithOutsidePointerEventsDisabled.size > 0, isPointerEventsEnabled = index5 >= highestLayerWithOutsidePointerEventsDisabledIndex, pointerDownOutside = usePointerDownOutside((event) => { - const target = event.target, isPointerDownOnBranch = [...context2.branches].some((branch) => branch.contains(target)); + } = props, Comp = asChild ? import_core8.Slot : import_core8.View, context4 = React23.useContext(DismissableContext), [node, setNode] = React23.useState(null), [, force] = React23.useState({}), composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2)), layers = Array.from(context4.layers), [highestLayerWithOutsidePointerEventsDisabled] = [...context4.layersWithOutsidePointerEventsDisabled].slice(-1), highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled), index5 = node ? layers.indexOf(node) : -1, isBodyPointerEventsDisabled = context4.layersWithOutsidePointerEventsDisabled.size > 0, isPointerEventsEnabled = index5 >= highestLayerWithOutsidePointerEventsDisabledIndex, pointerDownOutside = usePointerDownOutside((event) => { + const target = event.target, isPointerDownOnBranch = [...context4.branches].some((branch) => branch.contains(target)); !isPointerEventsEnabled || isPointerDownOnBranch || (onPointerDownOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.()); }), focusOutside = useFocusOutside((event) => { const target = event.target; - [...context2.branches].some((branch) => branch.contains(target)) || (onFocusOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.()); + [...context4.branches].some((branch) => branch.contains(target)) || (onFocusOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.()); }); return useEscapeKeydown((event) => { - index5 === context2.layers.size - 1 && (onEscapeKeyDown?.(event), !event.defaultPrevented && onDismiss && (event.preventDefault(), onDismiss())); - }), React24.useEffect(() => { - if (node) return disableOutsidePointerEvents && (context2.layersWithOutsidePointerEventsDisabled.size === 0 && (originalBodyPointerEvents = document.body.style.pointerEvents, document.body.style.pointerEvents = "none"), context2.layersWithOutsidePointerEventsDisabled.add(node)), context2.layers.add(node), dispatchUpdate(), () => { - disableOutsidePointerEvents && context2.layersWithOutsidePointerEventsDisabled.size === 1 && (document.body.style.pointerEvents = originalBodyPointerEvents); + const currentLayers = Array.from(context4.layers); + (node ? currentLayers.indexOf(node) : -1) === currentLayers.length - 1 && (onEscapeKeyDown?.(event), !event.defaultPrevented && onDismiss && (event.preventDefault(), onDismiss())); + }), React23.useEffect(() => { + if (node) return disableOutsidePointerEvents && (context4.layersWithOutsidePointerEventsDisabled.size === 0 && (originalBodyPointerEvents = document.body.style.pointerEvents, document.body.style.pointerEvents = "none"), context4.layersWithOutsidePointerEventsDisabled.add(node)), context4.layers.add(node), dispatchUpdate(), () => { + disableOutsidePointerEvents && context4.layersWithOutsidePointerEventsDisabled.size === 1 && (document.body.style.pointerEvents = originalBodyPointerEvents); }; - }, [node, disableOutsidePointerEvents, context2]), React24.useEffect(() => { + }, [node, disableOutsidePointerEvents, context4]), React23.useEffect(() => { if (!forceUnmount) return () => { - node && (context2.layers.delete(node), context2.layersWithOutsidePointerEventsDisabled.delete(node), dispatchUpdate()); + node && (context4.layers.delete(node), context4.layersWithOutsidePointerEventsDisabled.delete(node), dispatchUpdate()); }; - }, [node, context2, forceUnmount]), React24.useEffect(() => { + }, [node, context4, forceUnmount]), React23.useEffect(() => { const handleUpdate = /* @__PURE__ */ __name(() => { force({}); }, "handleUpdate"); return document.addEventListener(CONTEXT_UPDATE, handleUpdate), () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate); - }, []), /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { + }, []), /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Comp, { ...layerProps, ref: composedRefs, - style: { - display: "contents", - pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0, - // @ts-ignore - ...props.style - }, - onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture), - onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture), - onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture) + display: "contents", + pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0, + onFocusCapture: (0, import_core8.composeEventHandlers)(props.onFocusCapture, focusOutside.onFocusCapture), + onBlurCapture: (0, import_core8.composeEventHandlers)(props.onBlurCapture, focusOutside.onBlurCapture), + onPointerDownCapture: (0, import_core8.composeEventHandlers)(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture), + children }); }); Dismissable.displayName = DISMISSABLE_LAYER_NAME; var BRANCH_NAME = "DismissableBranch"; -var DismissableBranch = React24.forwardRef((props, forwardedRef) => { - const context2 = React24.useContext(DismissableContext), ref = React24.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref); - return React24.useEffect(() => { +var DismissableBranch = React23.forwardRef((props, forwardedRef) => { + const context4 = React23.useContext(DismissableContext), ref = React23.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref); + return React23.useEffect(() => { const node = ref.current; - if (node) return context2.branches.add(node), () => { - context2.branches.delete(node); + if (node) return context4.branches.add(node), () => { + context4.branches.delete(node); }; - }, [context2.branches]), /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { + }, [context4.branches]), /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { style: { display: "contents" }, @@ -23918,9 +24157,9 @@ var DismissableBranch = React24.forwardRef((props, forwardedRef) => { }); DismissableBranch.displayName = BRANCH_NAME; function usePointerDownOutside(onPointerDownOutside) { - const handlePointerDownOutside = useEvent(onPointerDownOutside), isPointerInsideReactTreeRef = React24.useRef(false), handleClickRef = React24.useRef(() => { + const handlePointerDownOutside = useEvent(onPointerDownOutside), isPointerInsideReactTreeRef = React23.useRef(false), handleClickRef = React23.useRef(() => { }); - return React24.useEffect(() => { + return React23.useEffect(() => { const handlePointerDown = /* @__PURE__ */ __name((event) => { if (event.target && !isPointerInsideReactTreeRef.current) { let handleAndDispatchPointerDownOutsideEvent = /* @__PURE__ */ __name(function() { @@ -23951,8 +24190,8 @@ function usePointerDownOutside(onPointerDownOutside) { } __name(usePointerDownOutside, "usePointerDownOutside"); function useFocusOutside(onFocusOutside) { - const handleFocusOutside = useEvent(onFocusOutside), isFocusInsideReactTreeRef = React24.useRef(false); - return React24.useEffect(() => { + const handleFocusOutside = useEvent(onFocusOutside), isFocusInsideReactTreeRef = React23.useRef(false); + return React23.useEffect(() => { const handleFocus = /* @__PURE__ */ __name((event) => { event.target && !isFocusInsideReactTreeRef.current && handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, { originalEvent: event @@ -24063,11 +24302,11 @@ var fullyIdle = /* @__PURE__ */ __name(async (signal) => { }, "fullyIdle"); // node_modules/@tamagui/focus-scope/dist/esm/FocusScope.mjs -var React26 = __toESM(require("react"), 1); +var React25 = __toESM(require("react"), 1); // node_modules/@tamagui/focus-scope/dist/esm/FocusScopeController.mjs -var React25 = __toESM(require("react"), 1); -var import_jsx_runtime15 = require("react/jsx-runtime"); +var React24 = __toESM(require("react"), 1); +var import_jsx_runtime17 = require("react/jsx-runtime"); var FOCUS_SCOPE_CONTROLLER_NAME = "FocusScopeController"; var [createFocusScopeControllerContext, createFocusScopeControllerScope] = createContextScope(FOCUS_SCOPE_CONTROLLER_NAME); var [FocusScopeControllerProvider, useFocusScopeControllerContext] = createFocusScopeControllerContext(FOCUS_SCOPE_CONTROLLER_NAME); @@ -24082,7 +24321,7 @@ function FocusScopeController(props) { onUnmountAutoFocus, forceUnmount, focusOnIdle - } = props, stableOnMountAutoFocus = useEvent(onMountAutoFocus), stableOnUnmountAutoFocus = useEvent(onUnmountAutoFocus), contextValue = React25.useMemo(() => ({ + } = props, stableOnMountAutoFocus = useEvent(onMountAutoFocus), stableOnUnmountAutoFocus = useEvent(onUnmountAutoFocus), contextValue = React24.useMemo(() => ({ enabled, loop, trapped, @@ -24091,7 +24330,7 @@ function FocusScopeController(props) { forceUnmount, focusOnIdle }), [enabled, loop, trapped, stableOnMountAutoFocus, stableOnUnmountAutoFocus, forceUnmount, focusOnIdle]); - return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(FocusScopeControllerProvider, { + return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FocusScopeControllerProvider, { scope: __scopeFocusScope, ...contextValue, children @@ -24101,34 +24340,65 @@ __name(FocusScopeController, "FocusScopeController"); var FocusScopeControllerComponent = FocusScopeController; // node_modules/@tamagui/focus-scope/dist/esm/FocusScope.mjs -var import_jsx_runtime16 = require("react/jsx-runtime"); +var import_jsx_runtime18 = require("react/jsx-runtime"); var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount"; var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount"; var EVENT_OPTIONS = { bubbles: false, cancelable: true }; -var FocusScope = React26.forwardRef(function({ +var FocusScope = React25.forwardRef(function({ __scopeFocusScope, ...props }, forwardedRef) { - const context2 = useFocusScopeControllerContext("FocusScope", __scopeFocusScope, { + const context4 = useFocusScopeControllerContext("FocusScope", __scopeFocusScope, { warn: false, fallback: {} }), mergedProps = { ...props, - enabled: context2.enabled ?? props.enabled, - loop: context2.loop ?? props.loop, - trapped: context2.trapped ?? props.trapped, - onMountAutoFocus: context2.onMountAutoFocus ?? props.onMountAutoFocus, - onUnmountAutoFocus: context2.onUnmountAutoFocus ?? props.onUnmountAutoFocus, - forceUnmount: context2.forceUnmount ?? props.forceUnmount, - focusOnIdle: context2.focusOnIdle ?? props.focusOnIdle + enabled: context4.enabled ?? props.enabled, + loop: context4.loop ?? props.loop, + trapped: context4.trapped ?? props.trapped, + onMountAutoFocus: context4.onMountAutoFocus ?? props.onMountAutoFocus, + onUnmountAutoFocus: context4.onUnmountAutoFocus ?? props.onUnmountAutoFocus, + forceUnmount: context4.forceUnmount ?? props.forceUnmount, + focusOnIdle: context4.focusOnIdle ?? props.focusOnIdle }, childProps = useFocusScope(mergedProps, forwardedRef); - return typeof mergedProps.children == "function" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jsx_runtime16.Fragment, { + return typeof mergedProps.children == "function" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_jsx_runtime18.Fragment, { children: mergedProps.children(childProps) - }) : React26.cloneElement(React26.Children.only(mergedProps.children), childProps); + }) : React25.cloneElement(React25.Children.only(mergedProps.children), childProps); }); +function setupFocusTrap(container, lastFocusedElementRef, focusScope) { + const controller = new AbortController(); + let rafId2 = null; + function scheduleRefocus() { + if (rafId2) return; + const elementToFocus = lastFocusedElementRef.current; + rafId2 = requestAnimationFrame(() => { + rafId2 = null, !focusScope.paused && (focusScope.stopped || container.isConnected && (container.contains(document.activeElement) || focus(elementToFocus))); + }); + } + __name(scheduleRefocus, "scheduleRefocus"); + function handleFocusIn(event) { + if (focusScope.paused) return; + const target = event.target; + container.contains(target) ? (target?.addEventListener("blur", handleBlur, { + signal: controller.signal + }), lastFocusedElementRef.current = target) : scheduleRefocus(); + } + __name(handleFocusIn, "handleFocusIn"); + function handleFocusOut(event) { + controller.abort(), !focusScope.paused && (container.contains(event.relatedTarget) || scheduleRefocus()); + } + __name(handleFocusOut, "handleFocusOut"); + function handleBlur() { + } + __name(handleBlur, "handleBlur"); + return document.addEventListener("focusin", handleFocusIn), document.addEventListener("focusout", handleFocusOut), () => { + rafId2 && (cancelAnimationFrame(rafId2), rafId2 = null), controller.abort(), document.removeEventListener("focusin", handleFocusIn), document.removeEventListener("focusout", handleFocusOut); + }; +} +__name(setupFocusTrap, "setupFocusTrap"); function useFocusScope(props, forwardedRef) { const { loop = false, @@ -24140,48 +24410,27 @@ function useFocusScope(props, forwardedRef) { focusOnIdle = true, children, ...scopeProps - } = props, [container, setContainer] = React26.useState(null), onMountAutoFocus = useEvent(onMountAutoFocusProp), onUnmountAutoFocus = useEvent(onUnmountAutoFocusProp), lastFocusedElementRef = React26.useRef(null), setContainerTransition = React26.useCallback((node) => { - startTransition(() => { - setContainer(node); - }); - }, [setContainer]), composedRefs = useComposedRefs(forwardedRef, setContainerTransition), focusScope = React26.useRef({ + } = props, [container, setContainer] = React25.useState(null), containerRef = React25.useRef(null), onMountAutoFocus = useEvent(onMountAutoFocusProp), onUnmountAutoFocus = useEvent(onUnmountAutoFocusProp), lastFocusedElementRef = React25.useRef(null), focusScopeRef = React25.useRef({ paused: false, + stopped: false, + // set to true when cleanup starts, signals trap to stop pause() { this.paused = true; }, resume() { this.paused = false; + }, + stop() { + this.stopped = true; } - }).current; - React26.useEffect(() => { - if (!enabled || !trapped) return; - const controller = new AbortController(); - function handleFocusIn(event) { - if (focusScope.paused || !container) return; - const target = event.target; - container.contains(target) ? (target?.addEventListener("blur", handleBlur, { - signal: controller.signal - }), lastFocusedElementRef.current = target) : focus(lastFocusedElementRef.current, { - select: true - }); - } - __name(handleFocusIn, "handleFocusIn"); - function handleFocusOut(event) { - controller.abort(), !(focusScope.paused || !container) && (container.contains(event.relatedTarget) || focus(lastFocusedElementRef.current, { - select: true - })); - } - __name(handleFocusOut, "handleFocusOut"); - function handleBlur() { - lastFocusedElementRef.current = container; - } - __name(handleBlur, "handleBlur"); - return document.addEventListener("focusin", handleFocusIn), document.addEventListener("focusout", handleFocusOut), () => { - controller.abort(), document.removeEventListener("focusin", handleFocusIn), document.removeEventListener("focusout", handleFocusOut); - }; - }, [trapped, forceUnmount, container, focusScope.paused]), useAsyncEffect(async (signal) => { + }), focusScope = focusScopeRef.current, trapCleanupRef = React25.useRef(null), setContainerRef = React25.useCallback((node) => { + trapCleanupRef.current && (trapCleanupRef.current(), trapCleanupRef.current = null), containerRef.current = node, isWeb && node && enabled && trapped && (trapCleanupRef.current = setupFocusTrap(node, lastFocusedElementRef, focusScopeRef.current)), setContainer(node); + }, [enabled, trapped]), composedRefs = useComposedRefs(forwardedRef, setContainerRef); + useIsomorphicLayoutEffect(() => () => { + trapCleanupRef.current && (trapCleanupRef.current(), trapCleanupRef.current = null); + }, []), useAsyncEffect(async (signal) => { if (!enabled || !container || forceUnmount) return; - focusScopesStack.add(focusScope); + focusScope.stopped = false, focusScopesStack.add(focusScope); const previouslyFocusedElement = document.activeElement; if (!container.contains(previouslyFocusedElement)) { const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS); @@ -24200,14 +24449,14 @@ function useFocusScope(props, forwardedRef) { } } return () => { - container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus); + focusScope.stop(), container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus); const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS); container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus), container.dispatchEvent(unmountEvent), unmountEvent.defaultPrevented || focus(previouslyFocusedElement ?? document.body, { select: true }), container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus), focusScopesStack.remove(focusScope); }; }, [enabled, container, forceUnmount, onMountAutoFocus, onUnmountAutoFocus, focusScope, focusOnIdle]); - const handleKeyDown = React26.useCallback((event) => { + const handleKeyDown = React25.useCallback((event) => { if (!trapped || !loop || focusScope.paused || !enabled || !container) return; const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey, focusedElement = document.activeElement; if (isTabKey && focusedElement) { @@ -24219,7 +24468,7 @@ function useFocusScope(props, forwardedRef) { })) : focusedElement === container && event.preventDefault(); } }, [loop, trapped, focusScope.paused, enabled, container]); - React26.useEffect(() => { + React25.useEffect(() => { if (!container || !trapped || !loop || !enabled) return; const handleKeyDownCapture = /* @__PURE__ */ __name((event) => { event.key === "Tab" && handleKeyDown(event); @@ -24228,7 +24477,7 @@ function useFocusScope(props, forwardedRef) { container.removeEventListener("keydown", handleKeyDownCapture, true); }; }, [container, trapped, loop, enabled, handleKeyDown]); - const existingOnKeyDown = scopeProps.onKeyDown, composedOnKeyDown = React26.useCallback((event) => { + const existingOnKeyDown = scopeProps.onKeyDown, composedOnKeyDown = React25.useCallback((event) => { existingOnKeyDown?.(event); }, [existingOnKeyDown]); return { @@ -24327,82 +24576,55 @@ __name(removeLinks, "removeLinks"); var import_react19 = require("react"); var canUseDOM = /* @__PURE__ */ __name(() => typeof window < "u" && !!window.document && !!window.document.createElement, "canUseDOM"); var refCount = 0; -var previousBodyStyle = null; +var savedScrollY = 0; +var previousStyles = null; +function isIOSSafari() { + if (typeof navigator > "u") return false; + const ua = navigator.userAgent, isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, isSafari4 = /^((?!chrome|android).)*safari/i.test(ua); + return isIOS && isSafari4; +} +__name(isIOSSafari, "isIOSSafari"); var useDisableBodyScroll = /* @__PURE__ */ __name((enabled) => { + const wasEnabled = (0, import_react19.useRef)(false); (0, import_react19.useEffect)(() => { - if (!enabled || !canUseDOM()) return; - const bodyEl = document.documentElement; - return ++refCount === 1 && (previousBodyStyle = { - scrollbarGutter: bodyEl.style.scrollbarGutter, - overflow: bodyEl.style.overflow - }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), () => { - --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null); - }; - }, [enabled]); + if (canUseDOM()) { + if (enabled && !wasEnabled.current) { + if (wasEnabled.current = true, ++refCount === 1) { + const html = document.documentElement, body = document.body; + savedScrollY = window.scrollY, previousStyles = { + htmlOverflow: html.style.overflow, + htmlScrollbarGutter: html.style.scrollbarGutter, + bodyPosition: body.style.position, + bodyTop: body.style.top, + bodyWidth: body.style.width, + bodyOverflow: body.style.overflow, + bodyOverscrollBehavior: body.style.overscrollBehavior + }, html.style.scrollbarGutter = "stable", html.style.overflow = "hidden", body.style.overscrollBehavior = "none", isIOSSafari() && (body.style.position = "fixed", body.style.top = `-${savedScrollY}px`, body.style.width = "100%", body.style.overflow = "hidden"); + } + } else if (!enabled && wasEnabled.current && (wasEnabled.current = false, --refCount === 0 && previousStyles)) { + const html = document.documentElement, body = document.body; + html.style.overflow = previousStyles.htmlOverflow, html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter, body.style.position = previousStyles.bodyPosition, body.style.top = previousStyles.bodyTop, body.style.width = previousStyles.bodyWidth, body.style.overflow = previousStyles.bodyOverflow, body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior, isIOSSafari() && savedScrollY > 0 && window.scrollTo(0, savedScrollY), previousStyles = null, savedScrollY = 0; + } + } + }, [enabled]), (0, import_react19.useEffect)(() => () => { + if (wasEnabled.current && (wasEnabled.current = false, --refCount === 0 && previousStyles)) { + const html = document.documentElement, body = document.body; + html.style.overflow = previousStyles.htmlOverflow, html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter, body.style.position = previousStyles.bodyPosition, body.style.top = previousStyles.bodyTop, body.style.width = previousStyles.bodyWidth, body.style.overflow = previousStyles.bodyOverflow, body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior, isIOSSafari() && savedScrollY > 0 && window.scrollTo(0, savedScrollY), previousStyles = null, savedScrollY = 0; + } + }, []); }, "useDisableBodyScroll"); // node_modules/@tamagui/remove-scroll/dist/esm/RemoveScroll.mjs var RemoveScroll = /* @__PURE__ */ __name((props) => (useDisableBodyScroll(!!props.enabled), props.children), "RemoveScroll"); -// node_modules/@tamagui/sheet/dist/esm/Sheet.mjs -var import_core12 = require("@tamagui/core"); - -// node_modules/@tamagui/sheet/dist/esm/constants.mjs -var SHEET_NAME = "Sheet"; -var SHEET_HANDLE_NAME = "SheetHandle"; -var SHEET_OVERLAY_NAME = "SheetOverlay"; - -// node_modules/@tamagui/sheet/dist/esm/createSheet.mjs -var import_core11 = require("@tamagui/core"); - -// node_modules/@tamagui/use-did-finish-ssr/dist/esm/index.mjs -var React27 = __toESM(require("react"), 1); - -// node_modules/@tamagui/use-did-finish-ssr/dist/esm/ClientOnly.mjs -var import_react20 = require("react"); -var import_jsx_runtime17 = require("react/jsx-runtime"); -var ClientOnlyContext = (0, import_react20.createContext)(false); - -// node_modules/@tamagui/use-did-finish-ssr/dist/esm/index.mjs -function useDidFinishSSR() { - return React27.useContext(ClientOnlyContext) ? true : React27.useSyncExternalStore(subscribe, () => true, () => false); -} -__name(useDidFinishSSR, "useDidFinishSSR"); -var subscribe = /* @__PURE__ */ __name(() => () => { -}, "subscribe"); - -// node_modules/@tamagui/sheet/dist/esm/createSheet.mjs -var import_react26 = require("react"); -var import_react_native_web3 = __toESM(require_cjs(), 1); - -// node_modules/@tamagui/sheet/dist/esm/SheetContext.mjs -var [createSheetContext, createSheetScope] = createContextScope(SHEET_NAME); -var [SheetProvider, useSheetContext] = createSheetContext(SHEET_NAME, {}); - -// node_modules/@tamagui/sheet/dist/esm/SheetImplementationCustom.mjs -var import_core9 = require("@tamagui/core"); -var import_react24 = __toESM(require("react"), 1); -var import_react_native_web = __toESM(require_cjs(), 1); - -// node_modules/@tamagui/sheet/dist/esm/contexts.mjs +// node_modules/@tamagui/sheet/dist/esm/SheetController.mjs var import_react21 = __toESM(require("react"), 1); -var ParentSheetContext = import_react21.default.createContext({ - zIndex: 1e5 -}); -var SheetInsideSheetContext = import_react21.default.createContext(null); - -// node_modules/@tamagui/sheet/dist/esm/helpers.mjs -function resisted(y, minY, maxOverflow = 25) { - if (y >= minY) return y; - const pastBoundary = minY - y, resistedDistance = Math.sqrt(pastBoundary) * 2; - return minY - resistedDistance; -} -__name(resisted, "resisted"); +var import_core9 = require("@tamagui/core"); // node_modules/@tamagui/sheet/dist/esm/useSheetController.mjs -var import_react22 = __toESM(require("react"), 1); +var import_react20 = __toESM(require("react"), 1); var useSheetController = /* @__PURE__ */ __name(() => { - const controller = import_react22.default.useContext(SheetControllerContext), isHidden2 = controller?.hidden, isShowingNonSheet = isHidden2 && controller?.open; + const controller = import_react20.default.useContext(SheetControllerContext), isHidden2 = controller?.hidden, isShowingNonSheet = isHidden2 && controller?.open; return { controller, isHidden: isHidden2, @@ -24410,789 +24632,10 @@ var useSheetController = /* @__PURE__ */ __name(() => { disableDrag: controller?.disableDrag }; }, "useSheetController"); -var SheetControllerContext = import_react22.default.createContext(null); - -// node_modules/@tamagui/sheet/dist/esm/useSheetOpenState.mjs -var useSheetOpenState = /* @__PURE__ */ __name((props) => { - const { - isHidden: isHidden2, - controller - } = useSheetController(), onOpenChangeInternal = /* @__PURE__ */ __name((val) => { - controller?.onOpenChange?.(val), props.onOpenChange?.(val); - }, "onOpenChangeInternal"), propVal = props.preferAdaptParentOpenState ? controller?.open ?? props.open : props.open ?? controller?.open, [open, setOpen] = useControllableState({ - prop: propVal, - defaultProp: props.defaultOpen ?? false, - onChange: onOpenChangeInternal, - strategy: "most-recent-wins" - }); - return { - open, - setOpen, - isHidden: isHidden2, - controller - }; -}, "useSheetOpenState"); - -// node_modules/@tamagui/sheet/dist/esm/useSheetProviderProps.mjs -var import_react23 = __toESM(require("react"), 1); -var import_core8 = require("@tamagui/core"); -function useSheetProviderProps(props, state, options = {}) { - const handleRef = import_react23.default.useRef(null), contentRef = import_react23.default.useRef(null), [frameSize, setFrameSize] = import_react23.default.useState(0), [maxContentSize, setMaxContentSize] = import_react23.default.useState(0), snapPointsMode = props.snapPointsMode ?? "percent", snapPointsProp = props.snapPoints ?? (snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"]), hasFit = snapPointsProp[0] === "fit", snapPoints = import_react23.default.useMemo(() => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]), [position_, setPositionImmediate] = useControllableState({ - prop: props.position, - defaultProp: props.defaultPosition || (state.open ? 0 : -1), - onChange: props.onPositionChange, - strategy: "most-recent-wins" - }), position = state.open === false ? -1 : position_, { - open - } = state, setPosition = import_react23.default.useCallback((next) => { - props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state.setOpen(false) : setPositionImmediate(next); - }, [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]); - process.env.NODE_ENV === "development" && (snapPointsMode === "mixed" && snapPoints.some((p) => { - if (typeof p == "string") { - if (p === "fit") return false; - if (p.endsWith("%")) { - const n = Number(p.slice(0, -1)); - return n < 0 || n > 100; - } - return true; - } - return typeof p != "number" || p < 0; - }) && console.warn('\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed'), snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0 && console.warn('\u26A0\uFE0F Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed'), snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit") && console.warn("\u26A0\uFE0F Invalid snapPoint given, there are no snap points when snapPointsMode is fit"), snapPointsMode === "constant" && snapPoints.some((p) => typeof p != "number" || p < 0) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant"), snapPointsMode === "percent" && snapPoints.some((p) => typeof p != "number" || p < 0 || p > 100) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent")), open && props.dismissOnSnapToBottom && position === snapPoints.length - 1 && setPositionImmediate(0); - const shouldSetPositionOpen = open && position < 0; - import_react23.default.useEffect(() => { - shouldSetPositionOpen && setPosition(0); - }, [setPosition, shouldSetPositionOpen]); - const { - animationDriver - } = (0, import_core8.useConfiguration)(); - if (!animationDriver) throw new Error(process.env.NODE_ENV === "production" ? "\u274C 008" : "Must set animations in tamagui.config.ts"); - const scrollBridge = useConstant(() => { - const parentDragListeners = /* @__PURE__ */ new Set(), bridge = { - hasScrollableContent: false, - enabled: false, - y: 0, - paneY: 0, - paneMinY: 0, - scrollStartY: -1, - drag: /* @__PURE__ */ __name(() => { - }, "drag"), - release: /* @__PURE__ */ __name(() => { - }, "release"), - scrollLock: false, - isParentDragging: false, - onParentDragging: /* @__PURE__ */ __name((cb) => (parentDragListeners.add(cb), () => { - parentDragListeners.delete(cb); - }), "onParentDragging"), - setParentDragging: /* @__PURE__ */ __name((val) => { - val !== bridge.isParentDragging && (bridge.isParentDragging = val, parentDragListeners.forEach((cb) => cb(val))); - }, "setParentDragging") - }; - return bridge; - }), removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal), maxSnapPoint = snapPoints[0]; - return { - screenSize: snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint == "number" ? maxSnapPoint : 100) / 100) : maxContentSize, - maxSnapPoint, - removeScrollEnabled, - scrollBridge, - modal: !!props.modal, - open: state.open, - setOpen: state.setOpen, - hidden: !!state.isHidden, - contentRef, - handleRef, - frameSize, - setFrameSize, - dismissOnOverlayPress: props.dismissOnOverlayPress ?? true, - dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false, - onOverlayComponent: options.onOverlayComponent, - scope: props.__scopeSheet, - hasFit, - position, - snapPoints, - snapPointsMode, - setMaxContentSize, - setPosition, - setPositionImmediate, - onlyShowFrame: false - }; -} -__name(useSheetProviderProps, "useSheetProviderProps"); - -// node_modules/@tamagui/sheet/dist/esm/SheetImplementationCustom.mjs -var import_jsx_runtime18 = require("react/jsx-runtime"); -var hiddenSize = 10000.1; -var sheetHiddenStyleSheet = null; -var relativeDimensionTo = isWeb ? "window" : "screen"; -var SheetImplementationCustom = import_react24.default.forwardRef(function(props, forwardedRef) { - const parentSheet = import_react24.default.useContext(ParentSheetContext), { - animation, - animationConfig: animationConfigProp, - modal = false, - zIndex = parentSheet.zIndex + 1, - moveOnKeyboardChange = false, - unmountChildrenWhenHidden = false, - portalProps, - containerComponent: ContainerComponent = import_react24.default.Fragment - } = props, state = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = import_react24.default.useState(null), providerProps = useSheetProviderProps(props, state, { - onOverlayComponent: setOverlayComponent - }), { - frameSize, - setFrameSize, - snapPoints, - snapPointsMode, - hasFit, - position, - setPosition, - scrollBridge, - screenSize, - setMaxContentSize, - maxSnapPoint - } = providerProps, { - open, - controller, - isHidden: isHidden2 - } = state, sheetRef = import_react24.default.useRef(void 0), ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef), { - animationDriver - } = (0, import_core9.useConfiguration)(); - if (!animationDriver) throw new Error("Sheet reqiures an animation driver to be set"); - const animationConfig = (() => { - if (animationDriver.supportsCSS) return {}; - const [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [animation] : []; - return animationConfigProp ?? (animationProp ? { - ...animationDriver.animations[animationProp], - ...animationPropConfig - } : null); - })(), [isShowingInnerSheet, setIsShowingInnerSheet] = import_react24.default.useState(false), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet && // if not using weird portal limitation we dont need to hide parent sheet - USE_NATIVE_PORTAL, sheetInsideSheet = import_react24.default.useContext(SheetInsideSheetContext), onInnerSheet = import_react24.default.useCallback((hasChild) => { - setIsShowingInnerSheet(hasChild); - }, []), stableFrameSize = import_react24.default.useRef(frameSize); - import_react24.default.useEffect(() => { - open && frameSize && (stableFrameSize.current = frameSize); - }, [open, frameSize]); - const positions = import_react24.default.useMemo(() => snapPoints.map((point) => ( - // FIX: Use stable frameSize when closing to prevent position jumps - getYPositions(snapPointsMode, point, screenSize, open ? frameSize : stableFrameSize.current) - )), [screenSize, frameSize, snapPoints, snapPointsMode, open]), { - useAnimatedNumber, - useAnimatedNumberStyle, - useAnimatedNumberReaction - } = animationDriver, AnimatedView = animationDriver.View ?? import_core9.Stack; - useIsomorphicLayoutEffect(() => { - if (sheetInsideSheet && open) return sheetInsideSheet(true), () => { - sheetInsideSheet(false); - }; - }, [sheetInsideSheet, open]); - const nextParentContext = import_react24.default.useMemo(() => ({ - zIndex - }), [zIndex]), startPosition = (0, import_core9.useDidFinishSSR)() && screenSize ? screenSize : hiddenSize, animatedNumber = useAnimatedNumber(startPosition), at = import_react24.default.useRef(startPosition), hasntMeasured = at.current === hiddenSize, [disableAnimation, setDisableAnimation] = (0, import_react24.useState)(hasntMeasured), hasScrollView = import_react24.default.useRef(false); - useAnimatedNumberReaction({ - value: animatedNumber, - hostRef: sheetRef - }, import_react24.default.useCallback((value) => { - at.current = value, scrollBridge.paneY = value; - }, [animationDriver])); - function stopSpring() { - animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0); - } - __name(stopSpring, "stopSpring"); - const animateTo = (0, import_core9.useEvent)((position2) => { - if (frameSize === 0) return; - let toValue = isHidden2 || position2 === -1 ? screenSize : positions[position2]; - at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, { - type: "spring", - ...animationConfig - })); - }); - useIsomorphicLayoutEffect(() => { - if (hasntMeasured && screenSize && frameSize) { - at.current = screenSize, animatedNumber.setValue(screenSize, { - type: "timing", - duration: 0 - }, () => { - setTimeout(() => { - setDisableAnimation(false); - }, 10); - }); - return; - } - disableAnimation || !frameSize || !screenSize || isHidden2 || hasntMeasured && !open || (animateTo(position), position === -1 && (scrollBridge.scrollLock = false, scrollBridge.scrollStartY = -1)); - }, [hasntMeasured, disableAnimation, isHidden2, frameSize, screenSize, open, position]); - const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = (0, import_core9.useThemeName)(), [isDragging, setIsDragging] = import_react24.default.useState(false), panResponder = import_react24.default.useMemo(() => { - if (disableDrag || !frameSize || isShowingInnerSheet) return; - const minY = positions[0]; - scrollBridge.paneMinY = minY; - let startY = at.current; - function setPanning(val) { - setIsDragging(val), isClient && (sheetHiddenStyleSheet || (sheetHiddenStyleSheet = document.createElement("style"), typeof document.head < "u" && document.head.appendChild(sheetHiddenStyleSheet)), val ? sheetHiddenStyleSheet.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : sheetHiddenStyleSheet.innerText = ""); - } - __name(setPanning, "setPanning"); - const release = /* @__PURE__ */ __name(({ - vy, - dragAt - }) => { - if (scrollBridge.setParentDragging(false), scrollBridge.scrollLock) return; - isExternalDrag = false, previouslyScrolling = false, setPanning(false); - const end = dragAt + startY + frameSize * vy * 0.2; - let closestPoint = 0, dist = Number.POSITIVE_INFINITY; - for (let i = 0; i < positions.length; i++) { - const position2 = positions[i], curDist = end > position2 ? end - position2 : position2 - end; - curDist < dist && (dist = curDist, closestPoint = i); - } - setPosition(closestPoint), animateTo(closestPoint); - }, "release"), finish = /* @__PURE__ */ __name((_e, state2) => { - release({ - vy: state2.vy, - dragAt: state2.dy - }); - }, "finish"); - let previouslyScrolling = false; - const onMoveShouldSet = /* @__PURE__ */ __name((e, { - dy - }) => { - function getShouldSet() { - if (e.target === providerProps.handleRef.current) return true; - if (scrollBridge.hasScrollableContent === true) { - if (scrollBridge.scrollLock) return false; - const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY; - if (isScrolled) return previouslyScrolling = true, false; - if (isNearTop && hasScrollView.current && isDraggingUp) return false; - } - return Math.abs(dy) > 10; - } - __name(getShouldSet, "getShouldSet"); - const granted = getShouldSet(); - return granted && scrollBridge.setParentDragging(true), granted; - }, "onMoveShouldSet"), grant = /* @__PURE__ */ __name(() => { - setPanning(true), stopSpring(), startY = at.current; - }, "grant"); - let isExternalDrag = false; - return scrollBridge.drag = (dy) => { - isExternalDrag || (isExternalDrag = true, grant()); - const to = dy + startY; - animatedNumber.setValue(resisted(to, minY), { - type: "direct" - }); - }, scrollBridge.release = release, import_react_native_web.PanResponder.create({ - onMoveShouldSetPanResponder: onMoveShouldSet, - onPanResponderGrant: grant, - onPanResponderMove: /* @__PURE__ */ __name((_e, { - dy - }) => { - const toFull = dy + startY, to = resisted(toFull, minY); - to <= minY ? scrollBridge.setParentDragging(false) : scrollBridge.setParentDragging(true), animatedNumber.setValue(to, { - type: "direct" - }); - }, "onPanResponderMove"), - onPanResponderEnd: finish, - onPanResponderTerminate: finish, - onPanResponderRelease: finish - }); - }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]), handleAnimationViewLayout = import_react24.default.useCallback((e) => { - if (!open && stableFrameSize.current !== 0) return; - const next = Math.min(e.nativeEvent?.layout.height, import_react_native_web.Dimensions.get(relativeDimensionTo).height); - next && setFrameSize(next); - }, [open]), handleMaxContentViewLayout = import_react24.default.useCallback((e) => { - const next = Math.min(e.nativeEvent?.layout.height, import_react_native_web.Dimensions.get(relativeDimensionTo).height); - next && setMaxContentSize(next); - }, []), animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => { - "worklet"; - return { - transform: [{ - translateY: frameSize === 0 ? hiddenSize : val - }] - }; - }), sizeBeforeKeyboard = import_react24.default.useRef(null); - import_react24.default.useEffect(() => { - if (isWeb || !moveOnKeyboardChange) return; - const keyboardShowListener = import_react_native_web.Keyboard.addListener(currentPlatform === "ios" ? "keyboardWillShow" : "keyboardDidShow", (e) => { - sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = isHidden2 || position === -1 ? screenSize : positions[position], animatedNumber.setValue(Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0), { - type: "timing", - duration: 250 - })); - }), keyboardDidHideListener = import_react_native_web.Keyboard.addListener("keyboardDidHide", () => { - sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current, { - type: "timing", - duration: 250 - }), sizeBeforeKeyboard.current = null); - }); - return () => { - keyboardDidHideListener.remove(), keyboardShowListener.remove(); - }; - }, [moveOnKeyboardChange, positions, position, isHidden2]); - const [opacity, setOpacity] = import_react24.default.useState(open ? 1 : 0); - open && opacity === 0 && setOpacity(1), import_react24.default.useEffect(() => { - if (!open) { - const tm = setTimeout(() => { - setOpacity(0); - }, 400); - return () => { - clearTimeout(tm); - }; - } - }, [open]); - const forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? `${maxSnapPoint}${isWeb ? "dvh" : "%"}` : maxSnapPoint, setHasScrollView = import_react24.default.useCallback((val) => { - hasScrollView.current = val; - }, []); - let contents = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core9.LayoutMeasurementController, { - disable: !open, - children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ParentSheetContext.Provider, { - value: nextParentContext, - children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(SheetProvider, { - ...providerProps, - setHasScrollView, - children: [/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(AnimatePresence, { - custom: { - open - }, - children: shouldHideParentSheet || !open ? null : overlayComponent - }), snapPointsMode !== "percent" && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native_web.View, { - style: { - opacity: 0, - position: "absolute", - top: 0, - left: 0, - right: 0, - bottom: 0, - pointerEvents: "none" - }, - onLayout: handleMaxContentViewLayout - }), /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(AnimatedView, { - ref, - ...panResponder?.panHandlers, - onLayout: handleAnimationViewLayout, - animation: isDragging || disableAnimation ? null : animation, - disableClassName: true, - style: [{ - position: "absolute", - zIndex, - width: "100%", - height: forcedContentHeight, - minHeight: forcedContentHeight, - opacity: shouldHideParentSheet ? 0 : opacity, - ...(shouldHideParentSheet || !open) && { - pointerEvents: "none" - } - }, animatedStyle], - children: props.children - })] - }) - }) - }); - const shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : true; - if (modal) { - const modalContents = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Portal, { - stackZIndex: zIndex, - ...portalProps, - children: shouldMountChildren && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ContainerComponent, { - children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core9.Theme, { - contain: true, - forceClassName: true, - name: themeName, - children: contents - }) - }) - }); - return isWeb ? modalContents : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(SheetInsideSheetContext.Provider, { - value: onInnerSheet, - children: modalContents - }); - } - return contents; -}); -function getYPositions(mode, point, screenSize, frameSize) { - if (!screenSize || !frameSize) return 0; - if (mode === "mixed") { - if (typeof point == "number") return screenSize - Math.min(screenSize, Math.max(0, point)); - if (point === "fit") return screenSize - Math.min(screenSize, frameSize); - if (point.endsWith("%")) { - const pct2 = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100; - return Number.isNaN(pct2) ? (console.warn("Invalid snapPoint percentage string"), 0) : Math.round(screenSize - pct2 * screenSize); - } - return console.warn("Invalid snapPoint unknown value"), 0; - } - if (mode === "fit") return point === 0 ? screenSize : screenSize - Math.min(screenSize, frameSize); - if (mode === "constant" && typeof point == "number") return screenSize - Math.min(screenSize, Math.max(0, point)); - const pct = Math.min(100, Math.max(0, Number(point))) / 100; - return Number.isNaN(pct) ? (console.warn("Invalid snapPoint percentage"), 0) : Math.round(screenSize - pct * screenSize); -} -__name(getYPositions, "getYPositions"); - -// node_modules/@tamagui/sheet/dist/esm/SheetScrollView.mjs -var import_core10 = require("@tamagui/core"); - -// node_modules/@tamagui/scroll-view/dist/esm/ScrollView.mjs -var import_web8 = require("@tamagui/core"); -var import_react_native_web2 = __toESM(require_cjs(), 1); -var ScrollView = (0, import_web8.styled)(import_react_native_web2.ScrollView, { - name: "ScrollView", - scrollEnabled: true, - variants: { - fullscreen: { - true: fullscreenStyle - } - } -}, { - accept: { - contentContainerStyle: "style" - } -}); - -// node_modules/@tamagui/sheet/dist/esm/SheetScrollView.mjs -var import_react25 = __toESM(require("react"), 1); -var import_jsx_runtime19 = require("react/jsx-runtime"); -var SHEET_SCROLL_VIEW_NAME = "SheetScrollView"; -var SheetScrollView = import_react25.default.forwardRef(({ - __scopeSheet, - children, - onScroll, - scrollEnabled: scrollEnabledProp, - ...props -}, ref) => { - const context2 = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet), { - scrollBridge, - setHasScrollView - } = context2, [scrollEnabled, setScrollEnabled_] = useControllableState({ - prop: scrollEnabledProp, - defaultProp: true - }), scrollRef = import_react25.default.useRef(null), setScrollEnabled = /* @__PURE__ */ __name((next) => { - scrollRef.current?.setNativeProps?.({ - scrollEnabled: next - }), setScrollEnabled_(next); - }, "setScrollEnabled"), state = import_react25.default.useRef({ - lastPageY: 0, - dragAt: 0, - dys: [], - // store a few recent dys to get velocity on release - isScrolling: false, - isDraggingScrollArea: false - }); - (0, import_react25.useEffect)(() => (setHasScrollView(true), () => { - setHasScrollView(false); - }), []); - const release = /* @__PURE__ */ __name(() => { - if (!state.current.isDraggingScrollArea) return; - state.current.isDraggingScrollArea = false, scrollBridge.scrollStartY = -1, scrollBridge.scrollLock = false, state.current.isScrolling = false, setScrollEnabled(true); - let vy = 0; - if (state.current.dys.length) { - const recentDys = state.current.dys.slice(-10); - vy = (recentDys.length ? recentDys.reduce((a, b) => a + b, 0) : 0) / recentDys.length * 0.04; - } - state.current.dys = [], scrollBridge.release({ - dragAt: state.current.dragAt, - vy - }); - }, "release"), scrollable = scrollEnabled; - (0, import_react25.useEffect)(() => { - if (!import_core10.isClient || !scrollRef.current) return; - const controller = new AbortController(), node = scrollRef.current?.getScrollableNode(); - if (!node) return; - node.addEventListener("touchmove", (e) => { - scrollBridge.isParentDragging && node.scrollTo({ - top: scrollBridge.y, - behavior: "instant" - }); - }, { - signal: controller.signal, - passive: false - }); - const disposeBridgeListen = scrollBridge.onParentDragging((val) => { - }); - return () => { - disposeBridgeListen(), controller.abort(); - }; - }, [scrollRef]); - const [hasScrollableContent, setHasScrollableContent] = (0, import_react25.useState)(true), parentHeight = (0, import_react25.useRef)(0), contentHeight = (0, import_react25.useRef)(0), setIsScrollable = /* @__PURE__ */ __name(() => { - parentHeight.current && contentHeight.current && setHasScrollableContent(contentHeight.current > parentHeight.current); - }, "setIsScrollable"); - return (0, import_react25.useEffect)(() => { - scrollBridge.hasScrollableContent = hasScrollableContent; - }, [hasScrollableContent]), /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(ScrollView, { - onLayout: /* @__PURE__ */ __name((e) => { - parentHeight.current = Math.ceil(e.nativeEvent.layout.height), setIsScrollable(); - }, "onLayout"), - ref: composeRefs(scrollRef, ref), - flex: 1, - scrollEventThrottle: 8, - onResponderRelease: release, - className: "_ovs-contain", - scrollEnabled: scrollable, - onScroll: /* @__PURE__ */ __name((e) => { - const { - y - } = e.nativeEvent.contentOffset; - scrollBridge.y = y, import_core10.isWeb && (scrollBridge.scrollLock = y > 0), y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e); - }, "onScroll"), - onStartShouldSetResponder: /* @__PURE__ */ __name(() => (scrollBridge.scrollStartY = -1, state.current.isDraggingScrollArea = true, scrollable), "onStartShouldSetResponder"), - onMoveShouldSetResponder: /* @__PURE__ */ __name((e) => scrollable, "onMoveShouldSetResponder"), - contentContainerStyle: { - minHeight: "100%" - }, - onResponderMove: /* @__PURE__ */ __name((e) => { - if (import_core10.isWeb) { - const { - pageY - } = e.nativeEvent; - state.current.isScrolling || scrollBridge.scrollStartY === -1 && (scrollBridge.scrollStartY = pageY, state.current.lastPageY = pageY); - const dragAt = pageY - scrollBridge.scrollStartY, dy = pageY - state.current.lastPageY; - state.current.lastPageY = pageY; - const isDraggingUp = dy < 0, isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY; - if (hasScrollableContent && (dy === 0 || isDraggingUp) && isPaneAtTop && !state.current.isScrolling) { - state.current.isScrolling = true, scrollBridge.scrollLock = true, setScrollEnabled(true); - return; - } - if (!(!state.current.isScrolling && dy > 0 && scrollBridge.y === 0) && scrollBridge.y >= 0) return; - setScrollEnabled(false), scrollBridge.drag(dragAt), state.current.dragAt = dragAt, state.current.dys.push(dy), state.current.dys.length > 100 && (state.current.dys = state.current.dys.slice(-10)); - } - }, "onResponderMove"), - ...props, - children: [/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_core10.View, { - position: "absolute", - inset: 0, - pointerEvents: "none", - zIndex: -1, - onLayout: /* @__PURE__ */ __name((e) => { - contentHeight.current = Math.floor(e.nativeEvent.layout.height), setIsScrollable(); - }, "onLayout") - }), children] - }); -}); - -// node_modules/@tamagui/sheet/dist/esm/useSheetOffscreenSize.mjs -var useSheetOffscreenSize = /* @__PURE__ */ __name(({ - snapPoints, - position, - screenSize, - frameSize, - snapPointsMode -}) => { - if (snapPointsMode === "fit") return 0; - if (snapPointsMode === "constant") { - const maxSize2 = Number(snapPoints[0]), currentSize2 = Number(snapPoints[position] ?? 0); - return maxSize2 - currentSize2; - } - if (snapPointsMode === "percent") { - const maxPercentOpened = Number(snapPoints[0]) / 100, percentOpened = Number(snapPoints[position] ?? 0) / 100; - return (maxPercentOpened - percentOpened) * screenSize; - } - const maxSnapPoint = snapPoints[0]; - if (maxSnapPoint === "fit") return 0; - const maxSize = typeof maxSnapPoint == "string" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint, currentSnapPoint = snapPoints[position] ?? 0, currentSize = typeof currentSnapPoint == "string" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint, offscreenSize = maxSize - currentSize; - return Number.isNaN(offscreenSize) ? 0 : offscreenSize; -}, "useSheetOffscreenSize"); - -// node_modules/@tamagui/sheet/dist/esm/createSheet.mjs -var import_jsx_runtime20 = require("react/jsx-runtime"); -function createSheet({ - Handle: Handle2, - Frame: Frame2, - Overlay: Overlay2 -}) { - const SheetHandle = Handle2.styleable(({ - __scopeSheet, - ...props - }, forwardedRef) => { - const context2 = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet), composedRef = useComposedRefs(context2.handleRef, forwardedRef); - return context2.onlyShowFrame ? null : ( - // @ts-ignore - /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Handle2, { - ref: composedRef, - onPress: /* @__PURE__ */ __name(() => { - const max2 = context2.snapPoints.length + (context2.dismissOnSnapToBottom ? -1 : 0), nextPos = (context2.position + 1) % max2; - context2.setPosition(nextPos); - }, "onPress"), - open: context2.open, - ...props - }) - ); - }), SheetOverlay = Overlay2.extractable((0, import_react26.memo)((propsIn) => { - const { - __scopeSheet, - ...props - } = propsIn, context2 = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = (0, import_react26.useMemo)(() => ( - // @ts-ignore - /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Overlay2, { - ...props, - onPress: composeEventHandlers(props.onPress, context2.dismissOnOverlayPress ? () => { - context2.setOpen(false); - } : void 0) - }) - ), [props.onPress, props.opacity, context2.dismissOnOverlayPress]); - return useIsomorphicLayoutEffect(() => { - context2.onOverlayComponent?.(element); - }, [element]), context2.onlyShowFrame, null; - })), SheetFrame = Frame2.extractable((0, import_react26.forwardRef)(({ - __scopeSheet, - adjustPaddingForOffscreenContent, - disableHideBottomOverflow, - children, - ...props - }, forwardedRef) => { - const context2 = useSheetContext(SHEET_NAME, __scopeSheet), { - hasFit, - removeScrollEnabled = true, - frameSize, - contentRef, - open - } = context2, composedContentRef = useComposedRefs(forwardedRef, contentRef), offscreenSize = useSheetOffscreenSize(context2), stableFrameSize = (0, import_react26.useRef)(frameSize); - (0, import_react26.useEffect)(() => { - open && frameSize && (stableFrameSize.current = frameSize); - }, [open, frameSize]); - const sheetContents = (0, import_react26.useMemo)(() => { - const shouldUseFixedHeight = hasFit && !open && stableFrameSize.current; - return ( - // @ts-expect-error - /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Frame2, { - ref: composedContentRef, - flex: hasFit && open ? 0 : 1, - height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize, - pointerEvents: open ? "auto" : "none", - ...props, - children: [/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StackZIndexContext, { - zIndex: resolveViewZIndex(props.zIndex), - children - }), adjustPaddingForOffscreenContent && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core11.Stack, { - "data-sheet-offscreen-pad": true, - height: offscreenSize, - width: "100%" - })] - }) - ); - }, [open, props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]); - return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { - children: [/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(RemoveScroll, { - enabled: removeScrollEnabled && context2.open, - children: sheetContents - }), !disableHideBottomOverflow && // @ts-ignore - /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Frame2, { - ...props, - "data-testid": "ensure-sheet-cover-not-overlapping", - componentName: "SheetCover", - children: null, - position: "absolute", - bottom: "-100%", - zIndex: -1, - height: context2.frameSize, - left: 0, - right: 0, - borderWidth: 0, - borderRadius: 0, - shadowOpacity: 0 - })] - }); - })), Sheet2 = (0, import_react26.forwardRef)(function(props, ref) { - const hydrated = useDidFinishSSR(), { - isShowingNonSheet - } = useSheetController(); - let SheetImplementation = SheetImplementationCustom; - return props.native && import_react_native_web3.Platform.OS, isShowingNonSheet || !hydrated ? null : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SheetImplementation, { - ref, - ...props - }); - }), components = { - Frame: SheetFrame, - Overlay: SheetOverlay, - Handle: SheetHandle, - ScrollView: SheetScrollView - }, Controlled = withStaticProperties(Sheet2, components); - return withStaticProperties(Sheet2, { - ...components, - Controlled - }); -} -__name(createSheet, "createSheet"); - -// node_modules/@tamagui/sheet/dist/esm/Sheet.mjs -var Handle = (0, import_core12.styled)(XStack, { - name: SHEET_HANDLE_NAME, - variants: { - open: { - true: { - opacity: 1, - pointerEvents: "auto" - }, - false: { - opacity: 0, - pointerEvents: "none" - } - }, - unstyled: { - false: { - height: 10, - borderRadius: 100, - backgroundColor: "$background", - zIndex: 10, - marginHorizontal: "35%", - marginBottom: "$2", - opacity: 0.5, - hoverStyle: { - opacity: 0.7 - } - } - } - }, - defaultVariants: { - unstyled: process.env.TAMAGUI_HEADLESS === "1" - } -}); -var Overlay = (0, import_core12.styled)(ThemeableStack, { - name: SHEET_OVERLAY_NAME, - variants: { - open: { - true: { - pointerEvents: "auto" - }, - false: { - pointerEvents: "none" - } - }, - unstyled: { - false: { - fullscreen: true, - position: "absolute", - backgrounded: true, - zIndex: 99999, - pointerEvents: "auto" - } - } - }, - defaultVariants: { - unstyled: process.env.TAMAGUI_HEADLESS === "1" - } -}); -var Frame = (0, import_core12.styled)(YStack, { - name: SHEET_NAME, - variants: { - unstyled: { - false: { - flex: 1, - backgroundColor: "$background", - borderTopLeftRadius: "$true", - borderTopRightRadius: "$true", - width: "100%", - maxHeight: "100%", - overflow: "hidden" - } - } - }, - defaultVariants: { - unstyled: process.env.TAMAGUI_HEADLESS === "1" - } -}); -var Sheet = createSheet({ - Frame, - Handle, - Overlay -}); -var SheetOverlayFrame = Overlay; -var SheetHandleFrame = Handle; - -// node_modules/@tamagui/sheet/dist/esm/useSheet.mjs -var useSheet = /* @__PURE__ */ __name(() => useSheetContext("", void 0), "useSheet"); +var SheetControllerContext = import_react20.default.createContext(null); // node_modules/@tamagui/sheet/dist/esm/SheetController.mjs -var import_react27 = __toESM(require("react"), 1); -var import_core13 = require("@tamagui/core"); -var import_jsx_runtime21 = require("react/jsx-runtime"); +var import_jsx_runtime19 = require("react/jsx-runtime"); var SheetController = /* @__PURE__ */ __name(({ children, onOpenChange: onOpenChangeProp, @@ -25200,83 +24643,23 @@ var SheetController = /* @__PURE__ */ __name(({ hidden, disableDrag }) => { - const onOpenChange = (0, import_core13.useEvent)(onOpenChangeProp), id = (0, import_react27.useId)(), memoValue = import_react27.default.useMemo(() => ({ + const onOpenChange = (0, import_core9.useEvent)(onOpenChangeProp), id = (0, import_react21.useId)(), memoValue = import_react21.default.useMemo(() => ({ id, open, hidden, disableDrag, onOpenChange }), [id, onOpenChange, open, hidden, disableDrag]); - return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SheetControllerContext.Provider, { + return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(SheetControllerContext.Provider, { value: memoValue, children }); }, "SheetController"); -// node_modules/@tamagui/sheet/dist/esm/nativeSheet.mjs -var import_react28 = require("react"); -var import_react_native_web4 = __toESM(require_cjs(), 1); -var import_jsx_runtime22 = require("react/jsx-runtime"); -var nativeSheets = { - ios: null -}; -function getNativeSheet(platform2) { - return nativeSheets[platform2]; -} -__name(getNativeSheet, "getNativeSheet"); -function setupNativeSheet(platform2, RNIOSModal) { - const { - ModalSheetView, - ModalSheetViewMainContent - } = RNIOSModal; - platform2 === "ios" && (nativeSheets[platform2] = (props) => { - const state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), { - open, - setOpen - } = state, ref = (0, import_react28.useRef)(void 0); - (0, import_react28.useEffect)(() => { - open ? ref.current?.presentModal() : ref.current?.dismissModal(); - }, [open]); - function setOpenInternal(next) { - props.onOpenChange?.(open), setOpen(next); - } - __name(setOpenInternal, "setOpenInternal"); - return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment, { - children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(SheetProvider, { - setHasScrollView: emptyFn, - ...providerProps, - onlyShowFrame: true, - children: [/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ModalSheetView, { - ref, - onModalDidDismiss: /* @__PURE__ */ __name(() => setOpenInternal(false), "onModalDidDismiss"), - children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ModalSheetViewMainContent, { - children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_native_web4.View, { - style: { - flex: 1 - }, - children: props.children - }) - }) - }), /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(YStack, { - position: "absolute", - opacity: 0, - pointerEvents: "none", - width: 0, - height: 0, - children: props.children - })] - }) - }); - }); -} -__name(setupNativeSheet, "setupNativeSheet"); -var emptyFn = /* @__PURE__ */ __name(() => { -}, "emptyFn"); - // node_modules/@tamagui/dialog/dist/esm/Dialog.mjs -var React34 = __toESM(require("react"), 1); -var import_jsx_runtime23 = require("react/jsx-runtime"); -var DialogContext = (0, import_core14.createStyledContext)( +var React28 = __toESM(require("react"), 1); +var import_jsx_runtime20 = require("react/jsx-runtime"); +var DialogContext = (0, import_core10.createStyledContext)( // since we always provide this we can avoid setting here {}, "Dialog__" @@ -25285,31 +24668,31 @@ var { useStyledContext: useDialogContext, Provider: DialogProvider } = DialogContext; -var DialogTriggerFrame = (0, import_core14.styled)(import_core14.View, { +var DialogTriggerFrame = (0, import_core10.styled)(import_core10.View, { name: "DialogTrigger" }); var DialogTrigger = DialogTriggerFrame.styleable(function(props, forwardedRef) { const { scope, ...triggerProps - } = props, isInsideButton = React34.useContext(ButtonNestingContext), context2 = useDialogContext(scope), composedTriggerRef = useComposedRefs(forwardedRef, context2.triggerRef); - return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ButtonNestingContext.Provider, { + } = props, isInsideButton = React28.useContext(ButtonNestingContext), context4 = useDialogContext(scope), composedTriggerRef = useComposedRefs(forwardedRef, context4.triggerRef); + return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ButtonNestingContext.Provider, { value: true, - children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogTriggerFrame, { - tag: isInsideButton ? "span" : "button", + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTriggerFrame, { + render: isInsideButton ? "span" : "button", "aria-haspopup": "dialog", - "aria-expanded": context2.open, - "aria-controls": context2.contentId, - "data-state": getState3(context2.open), + "aria-expanded": context4.open, + "aria-controls": context4.contentId, + "data-state": getState3(context4.open), ...triggerProps, ref: composedTriggerRef, - onPress: composeEventHandlers(props.onPress, context2.onOpenToggle) + onPress: composeEventHandlers(props.onPress, context4.onOpenToggle) }) }); }); -var DialogPortalFrame = (0, import_core14.styled)(YStack, { +var DialogPortalFrame = (0, import_core10.styled)(YStack, { pointerEvents: "none", - tag: "dialog", + render: "dialog", variants: { unstyled: { false: { @@ -25338,46 +24721,46 @@ var DialogPortalFrame = (0, import_core14.styled)(YStack, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var needsRepropagation = isAndroid || isIos && !USE_NATIVE_PORTAL; +var needsRepropagation = needsPortalRepropagation(); var DialogPortalItem = /* @__PURE__ */ __name(({ - context: context2, + context: context4, children }) => { - const themeName = (0, import_core14.useThemeName)(), isAdapted = useAdaptIsActive(context2.adaptScope), adaptContext = useAdaptContext(context2.adaptScope); - let content = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core14.Theme, { + const themeName = (0, import_core10.useThemeName)(), isAdapted = useAdaptIsActive(context4.adaptScope), adaptContext = useAdaptContext(context4.adaptScope); + let content = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core10.Theme, { name: themeName, children }); - return needsRepropagation && (content = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ProvideAdaptContext, { + return needsRepropagation && (content = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ProvideAdaptContext, { ...adaptContext, - children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogProvider, { - ...context2, + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogProvider, { + ...context4, children: content }) - })), isAdapted ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(AdaptPortalContents, { - scope: context2.adaptScope, + })), isAdapted ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AdaptPortalContents, { + scope: context4.adaptScope, children: content - }) : context2.modal ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(GorhomPortalItem, { - hostName: context2.modal ? "root" : context2.adaptScope, + }) : context4.modal ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(GorhomPortalItem, { + hostName: context4.modal ? "root" : context4.adaptScope, children: content }) : content; }, "DialogPortalItem"); -var DialogPortal = React34.forwardRef((props, forwardRef26) => { +var DialogPortal = React28.forwardRef((props, forwardRef24) => { const { scope, forceMount, children, ...frameProps - } = props, dialogRef = React34.useRef(null), ref = composeRefs(dialogRef, forwardRef26), context2 = useDialogContext(scope), isMountedOrOpen = forceMount || context2.open, [isFullyHidden, setIsFullyHidden] = React34.useState(!isMountedOrOpen), isAdapted = useAdaptIsActive(context2.adaptScope), isVisible = isMountedOrOpen ? true : !isFullyHidden; + } = props, dialogRef = React28.useRef(null), ref = composeRefs(dialogRef, forwardRef24), context4 = useDialogContext(scope), isMountedOrOpen = forceMount || context4.open, [isFullyHidden, setIsFullyHidden] = React28.useState(!isMountedOrOpen), isAdapted = useAdaptIsActive(context4.adaptScope), isVisible = isMountedOrOpen ? true : !isFullyHidden; isMountedOrOpen && isFullyHidden && setIsFullyHidden(false), isWeb && useIsomorphicLayoutEffect(() => { const node = dialogRef.current; node instanceof HTMLDialogElement && (isVisible ? node.show?.() : node.close?.()); }, [isVisible]); - const handleExitComplete = React34.useCallback(() => { + const handleExitComplete = React28.useCallback(() => { setIsFullyHidden(true); - }, []), zIndex = (0, import_core14.getExpandedShorthand)("zIndex", props), contents = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(StackZIndexContext, { + }, []), zIndex = (0, import_core10.getExpandedShorthand)("zIndex", props), contents = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StackZIndexContext, { zIndex: resolveViewZIndex(zIndex), - children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(AnimatePresence, { + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AnimatePresence, { passThrough: isAdapted, onExitComplete: handleExitComplete, children: isMountedOrOpen || isAdapted ? children : null @@ -25386,9 +24769,9 @@ var DialogPortal = React34.forwardRef((props, forwardRef26) => { // NOTE: we remove the inner frame, but not the portal itself // saw a bug when we removed and re-added portals that caused stale inner contents of the portal // seems like a React bug itself but leaving this for now as it fixes - isFullyHidden && !isAdapted ? null : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core14.LayoutMeasurementController, { + isFullyHidden && !isAdapted ? null : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core10.LayoutMeasurementController, { disable: !isMountedOrOpen, - children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogPortalFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogPortalFrame, { ref, ...isWeb && isMountedOrOpen && { "aria-modal": true @@ -25400,16 +24783,16 @@ var DialogPortal = React34.forwardRef((props, forwardRef26) => { }) }) ); - return isWeb ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Portal, { + return isWeb ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Portal, { zIndex, stackZIndex: 1e3, passThrough: isAdapted, - children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(PassthroughTheme, { + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PassthroughTheme, { passThrough: isAdapted, children: framedContents }) - }) : isAdapted ? framedContents : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogPortalItem, { - context: context2, + }) : isAdapted ? framedContents : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogPortalItem, { + context: context4, children: framedContents }); }); @@ -25417,8 +24800,8 @@ var PassthroughTheme = /* @__PURE__ */ __name(({ children, passThrough }) => { - const themeName = (0, import_core14.useThemeName)(); - return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core14.Theme, { + const themeName = (0, import_core10.useThemeName)(); + return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core10.Theme, { passThrough, name: themeName, forceClassName: true, @@ -25426,26 +24809,48 @@ var PassthroughTheme = /* @__PURE__ */ __name(({ }); }, "PassthroughTheme"); var OVERLAY_NAME = "DialogOverlay"; -var DialogOverlayFrame = (0, import_core14.styled)(Overlay, { - name: OVERLAY_NAME +var DialogOverlayFrame = (0, import_core10.styled)(YStack, { + name: OVERLAY_NAME, + variants: { + open: { + true: { + pointerEvents: "auto" + }, + false: { + pointerEvents: "none" + } + }, + unstyled: { + false: { + fullscreen: true, + position: "absolute", + backgroundColor: "$background", + zIndex: 99999, + pointerEvents: "auto" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } }); var DialogOverlay = DialogOverlayFrame.styleable(function({ scope, ...props }, forwardedRef) { - const context2 = useDialogContext(scope), { - forceMount = context2.forceMount, + const context4 = useDialogContext(scope), { + forceMount = context4.forceMount, ...overlayProps - } = props, isAdapted = useAdaptIsActive(context2.adaptScope); - return !forceMount && (!context2.modal || isAdapted) ? null : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogOverlayFrame, { - "data-state": getState3(context2.open), - pointerEvents: context2.open ? "auto" : "none", + } = props, isAdapted = useAdaptIsActive(context4.adaptScope); + return !forceMount && (!context4.modal || isAdapted) ? null : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogOverlayFrame, { + "data-state": getState3(context4.open), + pointerEvents: context4.open ? "auto" : "none", ...overlayProps, ref: forwardedRef }); }); var CONTENT_NAME2 = "DialogContent"; -var DialogContentFrame = (0, import_core14.styled)(ThemeableStack, { +var DialogContentFrame = (0, import_core10.styled)(ThemeableStack, { name: CONTENT_NAME2, variants: { size: { @@ -25454,11 +24859,15 @@ var DialogContentFrame = (0, import_core14.styled)(ThemeableStack, { unstyled: { false: { position: "relative", - backgrounded: true, - padded: true, - radiused: true, + backgroundColor: "$background", + borderWidth: 1, + borderColor: "$borderColor", + padding: "$true", + borderRadius: "$true", elevate: true, - zIndex: 1e5 + zIndex: 1e5, + // Ensure content receives pointer events (fixes React 19 + display:contents inheritance) + pointerEvents: "auto" } } }, @@ -25471,43 +24880,43 @@ var DialogContent = DialogContentFrame.styleable(function({ scope, ...props }, forwardedRef) { - const context2 = useDialogContext(scope), { - forceMount = context2.forceMount, + const context4 = useDialogContext(scope), { + forceMount = context4.forceMount, ...contentProps - } = props, contents = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { - children: context2.modal ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogContentModal, { - context: context2, + } = props, contents = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, { + children: context4.modal ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogContentModal, { + context: context4, ...contentProps, ref: forwardedRef - }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogContentNonModal, { - context: context2, + }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogContentNonModal, { + context: context4, ...contentProps, ref: forwardedRef }) }); - return !isWeb || context2.disableRemoveScroll ? contents : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(RemoveScroll, { - enabled: context2.open, - children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { + return !isWeb || context4.disableRemoveScroll ? contents : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(RemoveScroll, { + enabled: context4.open, + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { "data-remove-scroll-container": true, className: "_dsp_contents", children: contents }) }); }); -var DialogContentModal = React34.forwardRef(({ +var DialogContentModal = React28.forwardRef(({ children, - context: context2, + context: context4, ...props }, forwardedRef) => { - const contentRef = React34.useRef(null), composedRefs = useComposedRefs(forwardedRef, context2.contentRef, contentRef); - return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogContentImpl, { + const contentRef = React28.useRef(null), composedRefs = useComposedRefs(forwardedRef, context4.contentRef, contentRef); + return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogContentImpl, { ...props, - context: context2, + context: context4, ref: composedRefs, - trapFocus: context2.open, + trapFocus: context4.open, disableOutsidePointerEvents: true, onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => { - event.preventDefault(), context2.triggerRef.current?.focus(); + event.preventDefault(), context4.triggerRef.current?.focus(); }), onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => { const originalEvent = event.detail.originalEvent, ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true; @@ -25520,9 +24929,9 @@ var DialogContentModal = React34.forwardRef(({ children }); }); -var DialogContentNonModal = React34.forwardRef((props, forwardedRef) => { - const hasInteractedOutsideRef = React34.useRef(false); - return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogContentImpl, { +var DialogContentNonModal = React28.forwardRef((props, forwardedRef) => { + const hasInteractedOutsideRef = React28.useRef(false); + return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogContentImpl, { ...props, ref: forwardedRef, trapFocus: false, @@ -25538,7 +24947,7 @@ var DialogContentNonModal = React34.forwardRef((props, forwardedRef) => { }, "onInteractOutside") }); }); -var DialogContentImpl = React34.forwardRef((props, forwardedRef) => { +var DialogContentImpl = React28.forwardRef((props, forwardedRef) => { const { trapFocus, onOpenAutoFocus, @@ -25548,98 +24957,101 @@ var DialogContentImpl = React34.forwardRef((props, forwardedRef) => { onPointerDownOutside, onFocusOutside, onInteractOutside, - context: context2, + context: context4, ...contentProps - } = props, contentRef = React34.useRef( + } = props, contentRef = React28.useRef( // TODO react 19 type workaround void 0 ), composedRefs = useComposedRefs(forwardedRef, contentRef); - if (useAdaptIsActive(context2.adaptScope)) return !isWeb && !context2.open ? null : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogPortalItem, { - context: context2, + if (useAdaptIsActive(context4.adaptScope)) return !isWeb && !context4.open ? null : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogPortalItem, { + context: context4, children: contentProps.children }); - const contents = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogContentFrame, { + const contents = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogContentFrame, { ref: composedRefs, - id: context2.contentId, - "aria-describedby": context2.descriptionId, - "aria-labelledby": context2.titleId, - "data-state": getState3(context2.open), + id: context4.contentId, + role: "dialog", + "aria-modal": context4.modal, + "aria-describedby": context4.descriptionId, + "aria-labelledby": context4.titleId, + "data-state": getState3(context4.open), + pointerEvents: context4.open ? "auto" : "none", ...contentProps }); - return isWeb ? /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { - children: [/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Dismissable, { - disableOutsidePointerEvents: context2.open && disableOutsidePointerEvents, - forceUnmount: !context2.open, + return isWeb ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { + children: [/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dismissable, { + disableOutsidePointerEvents: context4.open && disableOutsidePointerEvents, + forceUnmount: !context4.open, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, - onDismiss: /* @__PURE__ */ __name(() => context2?.onOpenChange?.(false), "onDismiss"), - children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(FocusScope, { + onDismiss: /* @__PURE__ */ __name(() => context4?.onOpenChange?.(false), "onDismiss"), + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(FocusScope, { loop: true, - enabled: context2.open, + enabled: context4.open, trapped: trapFocus, onMountAutoFocus: onOpenAutoFocus, - forceUnmount: !context2.open, + forceUnmount: !context4.open, onUnmountAutoFocus: onCloseAutoFocus, children: contents }) - }), process.env.NODE_ENV === "development" && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { - children: [/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(TitleWarning, { - titleId: context2.titleId - }), /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DescriptionWarning, { + }), process.env.NODE_ENV === "development" && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { + children: [/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(TitleWarning, { + titleId: context4.titleId + }), /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DescriptionWarning, { contentRef, - descriptionId: context2.descriptionId + descriptionId: context4.descriptionId })] })] }) : contents; }); -var DialogTitleFrame = (0, import_core14.styled)(H2, { +var DialogTitleFrame = (0, import_core10.styled)(H2, { name: "DialogTitle" }); var DialogTitle = DialogTitleFrame.styleable(function(props, forwardedRef) { const { scope, ...titleProps - } = props, context2 = useDialogContext(scope); - return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogTitleFrame, { - id: context2.titleId, + } = props, context4 = useDialogContext(scope); + return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitleFrame, { + id: context4.titleId, ...titleProps, ref: forwardedRef }); }); -var DialogDescriptionFrame = (0, import_core14.styled)(Paragraph, { +var DialogDescriptionFrame = (0, import_core10.styled)(Paragraph, { name: "DialogDescription" }); var DialogDescription = DialogDescriptionFrame.styleable(function(props, forwardedRef) { const { scope, ...descriptionProps - } = props, context2 = useDialogContext(scope); - return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogDescriptionFrame, { - id: context2.descriptionId, + } = props, context4 = useDialogContext(scope); + return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogDescriptionFrame, { + id: context4.descriptionId, ...descriptionProps, ref: forwardedRef }); }); var CLOSE_NAME = "DialogClose"; -var DialogCloseFrame = (0, import_core14.styled)(import_core14.View, { +var DialogCloseFrame = (0, import_core10.styled)(import_core10.View, { name: CLOSE_NAME, - tag: "button" + render: "button" }); var DialogClose = DialogCloseFrame.styleable((props, forwardedRef) => { const { scope, displayWhenAdapted, ...closeProps - } = props, context2 = useDialogContext(scope), isAdapted = useAdaptIsActive(context2.adaptScope), isInsideButton = React34.useContext(ButtonNestingContext); - return isAdapted && !displayWhenAdapted ? null : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogCloseFrame, { - accessibilityLabel: "Dialog Close", - tag: isInsideButton ? "span" : "button", + } = props, context4 = useDialogContext(scope), isAdapted = useAdaptIsActive(context4.adaptScope), isInsideButton = React28.useContext(ButtonNestingContext); + return isAdapted && !displayWhenAdapted ? null : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogCloseFrame, { + "aria-label": "Dialog Close", + render: isInsideButton ? "span" : "button", ...closeProps, ref: forwardedRef, onPress: composeEventHandlers(props.onPress, () => { - context2.onOpenChange(false); + context4.onOpenChange(false); }) }); }); @@ -25658,7 +25070,7 @@ var TitleWarning = /* @__PURE__ */ __name(({ }) => { if (process.env.NODE_ENV === "development") { const titleWarningContext = useWarningContext(TITLE_WARNING_NAME), MESSAGE = `\`${titleWarningContext.contentName}\` wants a \`${titleWarningContext.titleName}\` to be accessible. If you want to hide the \`${titleWarningContext.titleName}\`, wrap it with .`; - React34.useEffect(() => { + React28.useEffect(() => { isWeb && titleId && (document.getElementById(titleId) || console.warn(MESSAGE)); }, [MESSAGE, titleId]); } @@ -25671,7 +25083,7 @@ var DescriptionWarning = /* @__PURE__ */ __name(({ }) => { if (process.env.NODE_ENV === "development") { const MESSAGE = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${useWarningContext(DESCRIPTION_WARNING_NAME).contentName}}.`; - React34.useEffect(() => { + React28.useEffect(() => { if (!isWeb) return; const contentNode = contentRef.current; if (!(contentNode instanceof HTMLElement)) return; @@ -25681,7 +25093,7 @@ var DescriptionWarning = /* @__PURE__ */ __name(({ } return null; }, "DescriptionWarning"); -var Dialog = withStaticProperties(React34.forwardRef(function(props, ref) { +var Dialog = withStaticProperties(React28.forwardRef(function(props, ref) { const { scope = "", children, @@ -25690,13 +25102,13 @@ var Dialog = withStaticProperties(React34.forwardRef(function(props, ref) { onOpenChange, modal = true, disableRemoveScroll = false - } = props, baseId = React34.useId(), dialogId = `Dialog-${scope}-${baseId}`, contentId = `${dialogId}-content`, titleId = `${dialogId}-title`, descriptionId = `${dialogId}-description`, triggerRef = React34.useRef(null), contentRef = React34.useRef(null), [open, setOpen] = useControllableState({ + } = props, baseId = React28.useId(), dialogId = `Dialog-${scope}-${baseId}`, contentId = `${dialogId}-content`, titleId = `${dialogId}-title`, descriptionId = `${dialogId}-description`, triggerRef = React28.useRef(null), contentRef = React28.useRef(null), [open, setOpen] = useControllableState({ prop: openProp, defaultProp: defaultOpen, onChange: onOpenChange - }), onOpenToggle = React34.useCallback(() => { + }), onOpenToggle = React28.useCallback(() => { setOpen((prevOpen) => !prevOpen); - }, [setOpen]), adaptScope = `DialogAdapt${scope}`, context2 = { + }, [setOpen]), adaptScope = `DialogAdapt${scope}`, context4 = { dialogScope: scope, adaptScope, triggerRef, @@ -25710,17 +25122,17 @@ var Dialog = withStaticProperties(React34.forwardRef(function(props, ref) { modal, disableRemoveScroll }; - return React34.useImperativeHandle(ref, () => ({ + return React28.useImperativeHandle(ref, () => ({ open: setOpen - }), [setOpen]), /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(AdaptParent, { + }), [setOpen]), /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AdaptParent, { scope: adaptScope, portal: { forwardProps: props }, - children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogProvider, { + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogProvider, { scope, - ...context2, - children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogSheetController, { + ...context4, + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogSheetController, { onOpenChange: setOpen, scope, children @@ -25735,29 +25147,28 @@ var Dialog = withStaticProperties(React34.forwardRef(function(props, ref) { Title: DialogTitle, Description: DialogDescription, Close: DialogClose, - Sheet: Sheet.Controlled, FocusScope: FocusScopeControllerComponent, Adapt }); var DialogSheetController = /* @__PURE__ */ __name((props) => { - const context2 = useDialogContext(props.scope), isAdapted = useAdaptIsActive(context2.adaptScope); - return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(SheetController, { + const context4 = useDialogContext(props.scope), isAdapted = useAdaptIsActive(context4.adaptScope); + return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SheetController, { onOpenChange: /* @__PURE__ */ __name((val) => { isAdapted && props.onOpenChange?.(val); }, "onOpenChange"), - open: context2.open, + open: context4.open, hidden: !isAdapted, children: props.children }); }, "DialogSheetController"); // node_modules/@tamagui/alert-dialog/dist/esm/AlertDialog.mjs -var React35 = __toESM(require("react"), 1); -var import_jsx_runtime24 = require("react/jsx-runtime"); +var React29 = __toESM(require("react"), 1); +var import_jsx_runtime21 = require("react/jsx-runtime"); var getAlertDialogScope = /* @__PURE__ */ __name((scope) => scope, "getAlertDialogScope"); var ROOT_NAME = "AlertDialog"; var TRIGGER_NAME2 = "AlertDialogTrigger"; -var NativeAlertDialogTriggerFrame = (0, import_core15.styled)(import_core15.View, { +var NativeAlertDialogTriggerFrame = (0, import_core11.styled)(import_core11.View, { name: TRIGGER_NAME2 }); var AlertDialogTrigger = NativeAlertDialogTriggerFrame.styleable(function(props, forwardedRef) { @@ -25768,7 +25179,7 @@ var AlertDialogTrigger = NativeAlertDialogTriggerFrame.styleable(function(props, __onPress, ...rest } = props; - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(NativeAlertDialogTriggerFrame, { + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(NativeAlertDialogTriggerFrame, { ...rest, onPress: composeEventHandlers(onPress, __onPress) }); @@ -25777,7 +25188,7 @@ var AlertDialogTrigger = NativeAlertDialogTriggerFrame.styleable(function(props, scope, ...triggerProps } = props; - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogTrigger, { + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTrigger, { scope: getAlertDialogScope(scope), ...triggerProps, ref: forwardedRef @@ -25788,13 +25199,13 @@ var AlertDialogPortal = /* @__PURE__ */ __name(function(props) { scope, ...portalProps } = props; - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogPortal, { + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPortal, { scope: getAlertDialogScope(scope), ...portalProps }); }, "AlertDialogPortal"); var OVERLAY_NAME2 = "AlertDialogOverlay"; -var AlertDialogOverlayFrame = (0, import_core15.styled)(DialogOverlayFrame, { +var AlertDialogOverlayFrame = (0, import_core11.styled)(DialogOverlayFrame, { name: OVERLAY_NAME2 }); var AlertDialogOverlay = AlertDialogOverlayFrame.styleable(function(props, forwardedRef) { @@ -25802,7 +25213,7 @@ var AlertDialogOverlay = AlertDialogOverlayFrame.styleable(function(props, forwa scope, ...overlayProps } = props; - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogOverlay, { + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogOverlay, { scope: getAlertDialogScope(scope), ...overlayProps, ref: forwardedRef @@ -25812,21 +25223,22 @@ var CONTENT_NAME3 = "AlertDialogContent"; var { Provider: AlertDialogContextProvider, useStyledContext: useAlertDialogContentContext -} = (0, import_core15.createStyledContext)({}, "AlertDialogContext"); -var AlertDialogContent = React35.forwardRef(function(props, forwardedRef) { +} = (0, import_core11.createStyledContext)({}, "AlertDialogContext"); +var AlertDialogContent = React29.forwardRef(function(props, forwardedRef) { const { scope, children, ...contentProps - } = props, dialogScope = getAlertDialogScope(scope), contentRef = React35.useRef(null), composedRefs = useComposedRefs(forwardedRef, contentRef), cancelRef = React35.useRef(null); - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogWarningProvider, { + } = props, dialogScope = getAlertDialogScope(scope), contentRef = React29.useRef(null), composedRefs = useComposedRefs(forwardedRef, contentRef), cancelRef = React29.useRef(null), destructiveRef = React29.useRef(null); + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogWarningProvider, { contentName: CONTENT_NAME3, titleName: TITLE_NAME, docsSlug: "alert-dialog", - children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AlertDialogContextProvider, { + children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(AlertDialogContextProvider, { scope, cancelRef, - children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(DialogContent, { + destructiveRef, + children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogContent, { role: "alertdialog", "aria-modal": true, scope: dialogScope, @@ -25839,9 +25251,9 @@ var AlertDialogContent = React35.forwardRef(function(props, forwardedRef) { }), onPointerDownOutside: /* @__PURE__ */ __name((event) => event.preventDefault(), "onPointerDownOutside"), onInteractOutside: /* @__PURE__ */ __name((event) => event.preventDefault(), "onInteractOutside"), - children: [/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core15.Slottable, { + children: [/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_core11.Slottable, { children - }), process.env.NODE_ENV === "development" && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DescriptionWarning2, { + }), process.env.NODE_ENV === "development" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DescriptionWarning2, { contentRef })] }) @@ -25849,7 +25261,7 @@ var AlertDialogContent = React35.forwardRef(function(props, forwardedRef) { }); }); var TITLE_NAME = "AlertDialogTitle"; -var AlertDialogTitleFrame = (0, import_core15.styled)(import_core15.View, { +var AlertDialogTitleFrame = (0, import_core11.styled)(import_core11.View, { name: TITLE_NAME }); var AlertDialogTitle = AlertDialogTitleFrame.styleable(function(props, forwardedRef) { @@ -25857,14 +25269,14 @@ var AlertDialogTitle = AlertDialogTitleFrame.styleable(function(props, forwarded scope, ...titleProps } = props; - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogTitle, { + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { scope: getAlertDialogScope(scope), ...titleProps, ref: forwardedRef }); }); var DESCRIPTION_NAME = "AlertDialogDescription"; -var AlertDialogDescriptionFrame = (0, import_core15.styled)(import_core15.View, { +var AlertDialogDescriptionFrame = (0, import_core11.styled)(import_core11.View, { name: DESCRIPTION_NAME }); var AlertDialogDescription = AlertDialogDescriptionFrame.styleable(function(props, forwardedRef) { @@ -25872,14 +25284,14 @@ var AlertDialogDescription = AlertDialogDescriptionFrame.styleable(function(prop scope, ...descriptionProps } = props; - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogDescription, { + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogDescription, { scope: getAlertDialogScope(scope), ...descriptionProps, ref: forwardedRef }); }); var ACTION_NAME = "AlertDialogAction"; -var AlertDialogActionFrame = (0, import_core15.styled)(import_core15.View, { +var AlertDialogActionFrame = (0, import_core11.styled)(import_core11.View, { name: ACTION_NAME }); var AlertDialogAction = AlertDialogActionFrame.styleable(function(props, forwardedRef) { @@ -25887,14 +25299,14 @@ var AlertDialogAction = AlertDialogActionFrame.styleable(function(props, forward scope, ...actionProps } = props; - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogClose, { + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogClose, { scope: getAlertDialogScope(scope), ...actionProps, ref: forwardedRef }); }); var CANCEL_NAME = "AlertDialogCancel"; -var AlertDialogCancelFrame = (0, import_core15.styled)(import_core15.View, { +var AlertDialogCancelFrame = (0, import_core11.styled)(import_core11.View, { name: CANCEL_NAME }); var AlertDialogCancel = AlertDialogCancelFrame.styleable(function(props, forwardedRef) { @@ -25904,15 +25316,32 @@ var AlertDialogCancel = AlertDialogCancelFrame.styleable(function(props, forward } = props, { cancelRef } = useAlertDialogContentContext(scope), ref = useComposedRefs(forwardedRef, cancelRef); - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogClose, { + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogClose, { scope: getAlertDialogScope(scope), ...cancelProps, ref }); }); +var DESTRUCTIVE_NAME = "AlertDialogDestructive"; +var AlertDialogDestructiveFrame = (0, import_core11.styled)(import_core11.View, { + name: DESTRUCTIVE_NAME +}); +var AlertDialogDestructive = AlertDialogDestructiveFrame.styleable(function(props, forwardedRef) { + const { + scope, + ...destructiveProps + } = props, { + destructiveRef + } = useAlertDialogContentContext(scope), ref = useComposedRefs(forwardedRef, destructiveRef); + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogClose, { + scope: getAlertDialogScope(scope), + ...destructiveProps, + ref + }); +}); var DescriptionWarning2 = /* @__PURE__ */ __name(({ contentRef -}) => (process.env.NODE_ENV === "development" && React35.useEffect(() => { +}) => (process.env.NODE_ENV === "development" && React29.useEffect(() => { if (!isWeb) return; document.getElementById( // @ts-ignore @@ -25931,7 +25360,7 @@ var AlertDialogInner = /* @__PURE__ */ __name((props) => { native, ...alertDialogProps } = props, dialogScope = getAlertDialogScope(scope); - return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Dialog, { + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Dialog, { scope: dialogScope, ...alertDialogProps, modal: true @@ -25944,67 +25373,156 @@ var AlertDialog = withStaticProperties(AlertDialogInner, { Content: AlertDialogContent, Action: AlertDialogAction, Cancel: AlertDialogCancel, + Destructive: AlertDialogDestructive, Title: AlertDialogTitle, Description: AlertDialogDescription }); AlertDialog.displayName = ROOT_NAME; // node_modules/@tamagui/avatar/dist/esm/Avatar.mjs -var import_core17 = require("@tamagui/core"); +var import_core12 = require("@tamagui/core"); // node_modules/@tamagui/image/dist/esm/Image.mjs -var import_react29 = __toESM(require("react"), 1); -var import_core16 = require("@tamagui/core"); -var import_react_native_web5 = __toESM(require_cjs(), 1); -var import_jsx_runtime25 = require("react/jsx-runtime"); -var StyledImage = (0, import_core16.styled)(import_react_native_web5.Image, { - name: "Image" +var import_web11 = require("@tamagui/core"); +var import_jsx_runtime22 = require("react/jsx-runtime"); +var StyledImage = (0, import_web11.styled)(import_web11.View, { + name: "Image", + render: "img" }); -var hasWarned = false; var Image = StyledImage.styleable((inProps, ref) => { - const [props, style] = (0, import_core16.usePropsAndStyle)(inProps), { - src, - source, - objectFit, + const { + // exclude native only props + blurRadius, + capInsets, + defaultSource, + fadeDuration, + loadingIndicatorSource, + onLoadEnd, + onPartialLoad, + progressiveRenderingEnabled, + resizeMethod, + tintColor, ...rest - } = props; - process.env.NODE_ENV === "development" && typeof src == "string" && (typeof props.width == "string" && props.width[0] !== "$" || typeof props.height == "string" && props.height[0] !== "$") && (hasWarned || (hasWarned = true, console.warn('React Native expects a numerical width/height. If you want to use a percent you must define the "source" prop with width, height, and uri.'))); - let finalSource = typeof src == "string" ? { - uri: src, - ...isWeb && { - width: props.width || style?.width, - height: props.height || style?.height - } - } : source ?? src; - return finalSource && typeof finalSource == "object" && (process.env.NODE_ENV === "development" && process.env.TAMAGUI_IMAGE_CHECK_ERROR && import_react29.default.useEffect(() => { - async function run() { - if (typeof src == "string") try { - await fetch(src).then((res) => res.text()); - } catch { - console.error(`Error loading image: ${src}`, { - props - }); - } - } - __name(run, "run"); - run(); - }, [src]), finalSource.default && (finalSource = finalSource.default)), /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_native_web5.Image, { - resizeMode: objectFit, + } = inProps; + return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StyledImage, { ref, - source: finalSource, - style, ...rest }); +}, { + staticConfig: { + memo: true + } }); -Image.getSize = import_react_native_web5.Image.getSize; -Image.getSizeWithHeaders = import_react_native_web5.Image.getSizeWithHeaders; -Image.prefetch = import_react_native_web5.Image.prefetch; -Image.prefetchWithMetadata = import_react_native_web5.Image.prefetchWithMetadata; -Image.abortPrefetch = import_react_native_web5.Image.abortPrefetch; -Image.queryCache = import_react_native_web5.Image.queryCache; +var func = /* @__PURE__ */ __name(() => { +}, "func"); +Image.getSize = func; +Image.getSizeWithHeaders = func; +Image.prefetch = func; +Image.prefetchWithMetadata = func; +Image.abortPrefetch = func; +Image.queryCache = func; + +// node_modules/@tamagui/image/dist/esm/createImage.mjs +var import_web12 = require("@tamagui/core"); +var import_jsx_runtime23 = require("react/jsx-runtime"); +var defaultObjectFitMap = /* @__PURE__ */ __name((objectFit) => { + switch (objectFit) { + case "fill": + return "stretch"; + case "none": + return "center"; + case "scale-down": + return "contain"; + case "contain": + return "contain"; + default: + return "cover"; + } +}, "defaultObjectFitMap"); +var defaultTransformSource = /* @__PURE__ */ __name((props) => { + const { + src, + source, + width, + height + } = props; + return source || (src && typeof src != "string" ? src : { + uri: src, + width, + height + }); +}, "defaultTransformSource"); +function createImage(options) { + const { + Component, + mapObjectFitToResizeMode = defaultObjectFitMap, + resizeModePropName = "resizeMode", + objectPositionPropName, + transformSource = defaultTransformSource + } = options, ImageComponent = (0, import_web12.styled)(Component, { + name: "Image" + }, { + inlineProps: /* @__PURE__ */ new Set(["source", "placeholder", "transition", "contentFit", "contentPosition", "cachePolicy", "recyclingKey", "allowDownscaling", "autoplay", "blurRadius", "priority", "placeholderContentFit", "responsivePolicy", "onLoadStart", "onProgress", "onLoadEnd"]) + }).styleable((incomingProps, ref) => { + const props = incomingProps, { + src, + width, + height, + objectFit, + objectPosition, + // web only props - filter out on native + decoding, + elementTiming, + fetchpriority, + isMap, + loading, + sizes, + useMap, + onLoad, + onError, + ...rest + } = props, resolvedWidth = typeof width == "string" && width[0] === "$" ? (0, import_web12.getTokenValue)(width) : width, resolvedHeight = typeof height == "string" && height[0] === "$" ? (0, import_web12.getTokenValue)(height) : height, finalSource = transformSource({ + src, + width: resolvedWidth, + height: resolvedHeight + }), finalProps = { + ...rest, + source: finalSource, + style: { + width: resolvedWidth, + height: resolvedHeight + } + }; + return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = (e) => { + const source = e?.nativeEvent?.source || e?.source || {}; + onLoad({ + target: { + naturalHeight: source?.height, + naturalWidth: source?.width + }, + type: "load" + }); + }), onError && (finalProps.onError = () => { + onError({ + type: "error" + }); + }), /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Component, { + ref, + ...finalProps + }); + }), comp = Component; + return ImageComponent.getSize = comp.getSize || (() => { + }), ImageComponent.getSizeWithHeaders = comp.getSizeWithHeaders || (() => { + }), ImageComponent.prefetch = comp.prefetch || (() => { + }), ImageComponent.prefetchWithMetadata = comp.prefetchWithMetadata || (() => { + }), ImageComponent.abortPrefetch = comp.abortPrefetch || (() => { + }), ImageComponent.queryCache = comp.queryCache || (() => { + }), ImageComponent; +} +__name(createImage, "createImage"); // node_modules/@tamagui/shapes/dist/esm/Square.mjs -var import_web9 = require("@tamagui/core"); +var import_web13 = require("@tamagui/core"); // node_modules/@tamagui/shapes/dist/esm/getShapeSize.mjs var getShapeSize = /* @__PURE__ */ __name((size4, { @@ -26022,7 +25540,7 @@ var getShapeSize = /* @__PURE__ */ __name((size4, { }, "getShapeSize"); // node_modules/@tamagui/shapes/dist/esm/Square.mjs -var Square = (0, import_web9.styled)(ThemeableStack, { +var Square = (0, import_web13.styled)(ThemeableStack, { name: "Square", alignItems: "center", justifyContent: "center", @@ -26037,49 +25555,51 @@ var Square = (0, import_web9.styled)(ThemeableStack, { }); // node_modules/@tamagui/shapes/dist/esm/Circle.mjs -var import_web10 = require("@tamagui/core"); -var Circle = (0, import_web10.styled)(Square, { +var import_web14 = require("@tamagui/core"); +var Circle = (0, import_web14.styled)(Square, { name: "Circle", - circular: true + borderRadius: 1e8 }); // node_modules/@tamagui/avatar/dist/esm/Avatar.mjs -var React37 = __toESM(require("react"), 1); -var import_jsx_runtime26 = require("react/jsx-runtime"); +var React30 = __toESM(require("react"), 1); +var import_jsx_runtime24 = require("react/jsx-runtime"); var AVATAR_NAME = "Avatar"; var [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME); var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME); var IMAGE_NAME = "AvatarImage"; -var AvatarImage = React37.forwardRef((props, forwardedRef) => { +var AvatarImage = React30.forwardRef((props, forwardedRef) => { const { __scopeAvatar, src, + source, onLoadingStatusChange = /* @__PURE__ */ __name(() => { }, "onLoadingStatusChange"), ...imageProps - } = props, context2 = useAvatarContext(IMAGE_NAME, __scopeAvatar), [status, setStatus] = React37.useState("idle"), shapeSize = (0, import_core17.getVariableValue)(getShapeSize( - context2.size, + } = props, context4 = useAvatarContext(IMAGE_NAME, __scopeAvatar), [status, setStatus] = React30.useState("idle"), shapeSize = (0, import_core12.getVariableValue)(getShapeSize( + context4.size, // @ts-expect-error { - tokens: (0, import_core17.getTokens)() + tokens: (0, import_core12.getTokens)() } - )?.width); - return React37.useEffect(() => { - setStatus(src ? "idle" : "error"); - }, [JSON.stringify(src)]), React37.useEffect(() => { - onLoadingStatusChange(status), context2.onImageLoadingStatusChange(status); - }, [status]), src ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(YStack, { + )?.width), resolvedSrc = src || (source && typeof source == "object" && "uri" in source ? source.uri : source); + return React30.useEffect(() => { + setStatus(resolvedSrc ? "idle" : "error"); + }, [resolvedSrc]), React30.useEffect(() => { + onLoadingStatusChange(status), context4.onImageLoadingStatusChange(status); + }, [status]), resolvedSrc ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(YStack, { fullscreen: true, zIndex: 1, - children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Image, { + children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Image, { fullscreen: true, + objectFit: "cover", ...typeof shapeSize == "number" && !Number.isNaN(shapeSize) && { width: shapeSize, height: shapeSize }, ...imageProps, ref: forwardedRef, - src, + src: resolvedSrc, onError: /* @__PURE__ */ __name(() => { setStatus("error"); }, "onError"), @@ -26091,46 +25611,46 @@ var AvatarImage = React37.forwardRef((props, forwardedRef) => { }); AvatarImage.displayName = IMAGE_NAME; var FALLBACK_NAME = "AvatarFallback"; -var AvatarFallbackFrame = (0, import_core17.styled)(YStack, { +var AvatarFallbackFrame = (0, import_core12.styled)(YStack, { name: FALLBACK_NAME, position: "absolute", fullscreen: true, zIndex: 0 }); -var AvatarFallback = AvatarFallbackFrame.extractable(React37.forwardRef((props, forwardedRef) => { +var AvatarFallback = AvatarFallbackFrame.styleable((props, forwardedRef) => { const { __scopeAvatar, delayMs, ...fallbackProps - } = props, context2 = useAvatarContext(FALLBACK_NAME, __scopeAvatar), [canRender, setCanRender] = React37.useState(delayMs === void 0); - return React37.useEffect(() => { + } = props, context4 = useAvatarContext(FALLBACK_NAME, __scopeAvatar), [canRender, setCanRender] = React30.useState(delayMs === void 0); + return React30.useEffect(() => { if (delayMs !== void 0) { const timerId = setTimeout(() => setCanRender(true), delayMs); return () => clearTimeout(timerId); } - }, [delayMs]), canRender && context2.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(AvatarFallbackFrame, { + }, [delayMs]), canRender && context4.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AvatarFallbackFrame, { ...fallbackProps, ref: forwardedRef }) : null; -})); +}); AvatarFallback.displayName = FALLBACK_NAME; -var AvatarFrame = (0, import_core17.styled)(Square, { +var AvatarFrame = (0, import_core12.styled)(Square, { name: AVATAR_NAME, position: "relative", overflow: "hidden" }); -var Avatar = withStaticProperties(React37.forwardRef((props, forwardedRef) => { +var Avatar = withStaticProperties(React30.forwardRef((props, forwardedRef) => { const { __scopeAvatar, size: size4 = "$true", ...avatarProps - } = props, [imageLoadingStatus, setImageLoadingStatus] = React37.useState("idle"); - return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(AvatarProvider, { + } = props, [imageLoadingStatus, setImageLoadingStatus] = React30.useState("idle"); + return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AvatarProvider, { size: size4, scope: __scopeAvatar, imageLoadingStatus, onImageLoadingStatusChange: setImageLoadingStatus, - children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(AvatarFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AvatarFrame, { size: size4, ...avatarProps, ref: forwardedRef @@ -26143,20 +25663,20 @@ var Avatar = withStaticProperties(React37.forwardRef((props, forwardedRef) => { Avatar.displayName = AVATAR_NAME; // node_modules/@tamagui/font-size/dist/esm/getFontSize.mjs -var import_core18 = require("@tamagui/core"); +var import_core13 = require("@tamagui/core"); var getFontSize = /* @__PURE__ */ __name((inSize, opts) => { const res = getFontSizeVariable(inSize, opts); - return (0, import_core18.isVariable)(res) ? +res.val : res ? +res : 16; + return (0, import_core13.isVariable)(res) ? +res.val : res ? +res : 16; }, "getFontSize"); var getFontSizeVariable = /* @__PURE__ */ __name((inSize, opts) => { const token = getFontSizeToken(inSize, opts); if (!token) return inSize; - const conf = (0, import_core18.getConfig)(); + const conf = (0, import_core13.getConfig)(); return conf.fontsParsed[opts?.font || conf.defaultFontToken]?.size[token]; }, "getFontSizeVariable"); var getFontSizeToken = /* @__PURE__ */ __name((inSize, opts) => { if (typeof inSize == "number") return null; - const relativeSize = opts?.relativeSize || 0, conf = (0, import_core18.getConfig)(), fontSize = conf.fontsParsed[opts?.font || conf.defaultFontToken]?.size || // fallback to size tokens + const relativeSize = opts?.relativeSize || 0, conf = (0, import_core13.getConfig)(), fontSize = conf.fontsParsed[opts?.font || conf.defaultFontToken]?.size || // fallback to size tokens conf.tokensParsed.size, size4 = (inSize === "$true" && !("$true" in fontSize) ? "$4" : inSize) ?? ("$true" in fontSize ? "$true" : "$4"), sizeTokens = Object.keys(fontSize); let foundIndex = sizeTokens.indexOf(size4); foundIndex === -1 && size4.endsWith(".5") && (foundIndex = sizeTokens.indexOf(size4.replace(".5", ""))), process.env.NODE_ENV === "development" && foundIndex === -1 && console.warn("No font size found", size4, opts, "in size tokens", sizeTokens); @@ -26168,51 +25688,50 @@ var getFontSizeToken = /* @__PURE__ */ __name((inSize, opts) => { var prevent = /* @__PURE__ */ __name((e) => [e.preventDefault(), e.stopPropagation()], "prevent"); // node_modules/@tamagui/helpers-tamagui/dist/esm/useCurrentColor.mjs -var import_web11 = require("@tamagui/core"); +var import_web15 = require("@tamagui/core"); var useCurrentColor = /* @__PURE__ */ __name((colorProp) => { - const theme = (0, import_web11.useTheme)(); - return colorProp ? (0, import_web11.getVariable)(colorProp) : theme[colorProp]?.get() || theme.color?.get(); + const theme = (0, import_web15.useTheme)(); + return colorProp ? (0, import_web15.getVariable)(colorProp) : theme[colorProp]?.get() || theme.color?.get(); }, "useCurrentColor"); // node_modules/@tamagui/helpers-tamagui/dist/esm/useGetThemedIcon.mjs -var import_react30 = __toESM(require("react"), 1); +var import_react22 = __toESM(require("react"), 1); var useGetThemedIcon = /* @__PURE__ */ __name((props) => { const color = useCurrentColor(props.color); - return (el) => el && (import_react30.default.isValidElement(el) ? import_react30.default.cloneElement(el, { + return (el) => el && (import_react22.default.isValidElement(el) ? import_react22.default.cloneElement(el, { ...props, color, // @ts-expect-error ...el.props - }) : import_react30.default.createElement(el, props)); + }) : import_react22.default.createElement(el, props)); }, "useGetThemedIcon"); +// node_modules/@tamagui/helpers-tamagui/dist/esm/getIcon.mjs +var import_react23 = __toESM(require("react"), 1); +var getIcon = /* @__PURE__ */ __name((el, props) => el && (import_react23.default.isValidElement(el) ? import_react23.default.cloneElement(el, { + ...props, + // @ts-expect-error + ...el.props +}) : import_react23.default.createElement(el, props)), "getIcon"); + // node_modules/@tamagui/button/dist/esm/Button.mjs -var import_web12 = require("@tamagui/core"); -var import_react31 = require("react"); -var import_jsx_runtime27 = require("react/jsx-runtime"); -var ButtonContext = (0, import_web12.createStyledContext)({ - // keeping these here means they work with styled() passing down color to text - color: void 0, - ellipse: void 0, - fontFamily: void 0, - fontSize: void 0, - fontStyle: void 0, - fontWeight: void 0, - letterSpacing: void 0, - maxFontSizeMultiplier: void 0, +var import_web16 = require("@tamagui/core"); +var import_react24 = require("react"); +var import_jsx_runtime25 = require("react/jsx-runtime"); +var context = (0, import_web16.createStyledContext)({ size: void 0, - textAlign: void 0, - variant: void 0 + variant: void 0, + color: void 0, + elevation: void 0 }); -var BUTTON_NAME = "Button"; -var ButtonFrame = (0, import_web12.styled)(ThemeableStack, { - name: BUTTON_NAME, - tag: "button", - context: ButtonContext, +var Frame = (0, import_web16.styled)(import_web16.View, { + context, + name: "Button", role: "button", - focusable: true, - // forces runtime pressStyle so it passes through context text colors - disableClassName: true, + render: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { + type: "button" + }), + tabIndex: 0, variants: { unstyled: { false: { @@ -26222,11 +25741,17 @@ var ButtonFrame = (0, import_web12.styled)(ThemeableStack, { flexWrap: "nowrap", flexDirection: "row", cursor: "pointer", - hoverTheme: true, - pressTheme: true, - backgrounded: true, + backgroundColor: "$background", borderWidth: 1, borderColor: "transparent", + hoverStyle: { + backgroundColor: "$backgroundHover", + borderColor: "$borderColorHover" + }, + pressStyle: { + backgroundColor: "$backgroundPress", + borderColor: "$borderColorHover" + }, focusVisibleStyle: { outlineColor: "$outlineColor", outlineStyle: "solid", @@ -26235,9 +25760,9 @@ var ButtonFrame = (0, import_web12.styled)(ThemeableStack, { } }, variant: { - outlined: { + outlined: process.env.TAMAGUI_HEADLESS === "1" ? {} : { backgroundColor: "transparent", - borderWidth: 2, + borderWidth: 1, borderColor: "$borderColor", hoverStyle: { backgroundColor: "transparent", @@ -26246,20 +25771,36 @@ var ButtonFrame = (0, import_web12.styled)(ThemeableStack, { pressStyle: { backgroundColor: "transparent", borderColor: "$borderColorPress" - }, - focusVisibleStyle: { - backgroundColor: "transparent", - borderColor: "$borderColorFocus" } } }, + circular: themeableVariants.circular, + chromeless: themeableVariants.chromeless, size: { - "...size": getButtonSized, - ":number": getButtonSized + "...size": /* @__PURE__ */ __name((val, extras) => { + const buttonStyle = getButtonSized(val, extras), gap = (0, import_web16.getTokenValue)(val); + return { + ...buttonStyle, + gap + }; + }, "...size"), + ":number": /* @__PURE__ */ __name((val, extras) => { + const buttonStyle = getButtonSized(val, extras), gap = val * 0.4; + return { + ...buttonStyle, + gap + }; + }, ":number") + }, + elevation: { + "...size": getElevation, + ":number": getElevation }, disabled: { true: { - pointerEvents: "none" + pointerEvents: "none", + // @ts-ignore + "aria-disabled": true } } }, @@ -26267,9 +25808,8 @@ var ButtonFrame = (0, import_web12.styled)(ThemeableStack, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var ButtonText = (0, import_web12.styled)(SizableText2, { - name: "Button", - context: ButtonContext, +var Text4 = (0, import_web16.styled)(SizableText2, { + context, variants: { unstyled: { false: { @@ -26278,7 +25818,7 @@ var ButtonText = (0, import_web12.styled)(SizableText2, { // flexGrow 1 leads to inconsistent native style where text pushes to start of view flexGrow: 0, flexShrink: 1, - ellipse: true, + ellipsis: true, color: "$color" } } @@ -26287,129 +25827,74 @@ var ButtonText = (0, import_web12.styled)(SizableText2, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var ButtonIcon = /* @__PURE__ */ __name((props) => { +var Icon = /* @__PURE__ */ __name((props) => { const { children, - scaleIcon = 1 - } = props, { - size: size4, - color - } = (0, import_react31.useContext)(ButtonContext), iconSize = (typeof size4 == "number" ? size4 * 0.5 : getFontSize(size4)) * scaleIcon; - return useGetThemedIcon({ + scaleIcon = 1, + size: size4 + } = props, styledContext = context.useStyledContext(); + if (!styledContext) throw new Error("Button.Icon must be used within a Button"); + const sizeToken = size4 ?? styledContext.size, iconSize = (typeof sizeToken == "number" ? sizeToken * 0.5 : getFontSize(sizeToken)) * scaleIcon; + return getIcon(children, { size: iconSize, - color - })(children); -}, "ButtonIcon"); -var ButtonComponent = ButtonFrame.styleable(function(props, ref) { - const { - props: buttonProps - } = useButton(props); - return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ButtonFrame, { - "data-disable-theme": true, - ...buttonProps, - ref + color: styledContext.color }); +}, "Icon"); +var ButtonContext = (0, import_web16.createStyledContext)({ + size: void 0, + variant: void 0, + color: void 0 }); -var Button2 = withStaticProperties(ButtonComponent, { - Text: ButtonText, - Icon: ButtonIcon -}); -function useButton({ - textProps, - ...propsIn -}, { - Text: Text6 = Button2.Text -} = { - Text: Button2.Text -}) { - const isNested = (0, import_react31.useContext)(ButtonNestingContext), propsActive = (0, import_web12.useProps)(propsIn, { +var ButtonComponent = Frame.styleable((propsIn, ref) => { + const isNested = (0, import_react24.useContext)(ButtonNestingContext), processedProps = (0, import_web16.useProps)(propsIn, { noNormalize: true, noExpand: true }), { + children, + iconSize, icon, iconAfter, - space, - spaceFlex, scaleIcon = 1, - scaleSpace = 0.66, - separator, - noTextWrap, - fontFamily, - fontSize, - fontWeight, - fontStyle, - letterSpacing, - tag, - ellipse, - maxFontSizeMultiplier, - ...restProps - } = propsActive, size4 = propsActive.size || (propsActive.unstyled ? void 0 : "$true"), color = propsActive.color, iconSize = (typeof size4 == "number" ? size4 * 0.5 : getFontSize(size4, { - font: fontFamily?.[0] === "$" ? fontFamily : void 0 - })) * scaleIcon, getThemedIcon = useGetThemedIcon({ - size: iconSize, - color - }), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = space ?? (0, import_web12.getVariableValue)(iconSize) * scaleSpace, contents = noTextWrap ? [propsIn.children] : wrapChildrenInText(Text6, { - children: propsIn.children, - color, - fontFamily, - fontSize, - textProps, - fontWeight, - fontStyle, - letterSpacing, - ellipse, - maxFontSizeMultiplier - }, Text6 === ButtonText && propsActive.unstyled !== true ? { + ...props + } = processedProps, size4 = propsIn.size || (propsIn.unstyled ? void 0 : "$true"), styledContext = context.useStyledContext(), finalSize = iconSize ?? size4 ?? styledContext?.size, iconSizeNumber = (typeof finalSize == "number" ? finalSize * 0.5 : getFontSize(finalSize)) * scaleIcon, [themedIcon, themedIconAfter] = [icon, iconAfter].map((icon2) => icon2 ? getIcon(icon2, { + size: iconSizeNumber, + color: styledContext?.color + // No marginLeft or marginRight needed - spacing is handled by the gap property in Frame's size variants + }) : null), wrappedChildren = wrapChildrenInText(Text4, { + children + }, { unstyled: process.env.TAMAGUI_HEADLESS === "1", - size: size4 - } : void 0), inner2 = (0, import_web12.spacedChildren)({ - // a bit arbitrary but scaling to font size is necessary so long as button does - space: spaceSize === false ? 0 : spaceSize == true ? "$true" : spaceSize, - spaceFlex, - ensureKeys: true, - separator, - direction: propsActive.flexDirection === "column" || propsActive.flexDirection === "column-reverse" ? "vertical" : "horizontal", - // for keys to stay the same we keep indices as similar a possible - // so even if icons are undefined we still pass them - children: [themedIcon, ...contents, themedIconAfter] - }), props = { - size: size4, - ...propsIn.disabled && { - // in rnw - false still has keyboard tabIndex, undefined = not actually focusable - focusable: void 0, - // even with tabIndex unset, it will keep focusVisibleStyle on web so disable it here - focusVisibleStyle: { - borderColor: "$background" - } - }, - // fixes SSR issue + DOM nesting issue of not allowing button in button - tag: tag ?? (isNested ? "span" : ( - // defaults to when accessibilityRole = link - // see https://github.com/tamagui/tamagui/issues/505 - propsActive.accessibilityRole === "link" || propsActive.role === "link" ? "a" : "button" - )), - ...restProps, - children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ButtonNestingContext.Provider, { - value: true, - children: inner2 - }), - // forces it to be a runtime pressStyle so it passes through context text colors - disableClassName: true - }; - return { - spaceSize, - isNested, - props - }; -} -__name(useButton, "useButton"); + size: finalSize ?? styledContext?.size + }); + return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ButtonNestingContext.Provider, { + value: true, + children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(Frame, { + ref, + ...props, + ...isNested && { + render: "span" + }, + ...props.circular && !propsIn.size && { + size: size4 + }, + tabIndex: 0, + children: [themedIcon, wrappedChildren, themedIconAfter] + }) + }); +}); +var Button = (0, import_web16.withStaticProperties)(ButtonComponent, { + Apply: context.Provider, + Frame, + Text: Text4, + Icon +}); // node_modules/@tamagui/card/dist/esm/Card.mjs -var import_web13 = require("@tamagui/core"); -var CardContext = (0, import_web13.createStyledContext)({ +var import_web17 = require("@tamagui/core"); +var CardContext = (0, import_web17.createStyledContext)({ size: "$true" }); -var CardFrame = (0, import_web13.styled)(ThemeableStack, { +var CardFrame = (0, import_web17.styled)(YStack, { name: "Card", context: CardContext, variants: { @@ -26432,7 +25917,7 @@ var CardFrame = (0, import_web13.styled)(ThemeableStack, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var CardHeader = (0, import_web13.styled)(ThemeableStack, { +var CardHeader = (0, import_web17.styled)(YStack, { name: "CardHeader", context: CardContext, variants: { @@ -26455,7 +25940,7 @@ var CardHeader = (0, import_web13.styled)(ThemeableStack, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var CardFooter = (0, import_web13.styled)(CardHeader, { +var CardFooter = (0, import_web17.styled)(CardHeader, { name: "CardFooter", variants: { unstyled: { @@ -26471,7 +25956,7 @@ var CardFooter = (0, import_web13.styled)(CardHeader, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var CardBackground = (0, import_web13.styled)(ThemeableStack, { +var CardBackground = (0, import_web17.styled)(YStack, { name: "CardBackground", variants: { unstyled: { @@ -26488,25 +25973,28 @@ var CardBackground = (0, import_web13.styled)(ThemeableStack, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var Card = (0, import_web13.withStaticProperties)(CardFrame, { +var Card = (0, import_web17.withStaticProperties)(CardFrame, { Header: CardHeader, Footer: CardFooter, Background: CardBackground }); // node_modules/@tamagui/checkbox/dist/esm/Checkbox.mjs -var import_core20 = require("@tamagui/core"); +var import_core15 = require("@tamagui/core"); // node_modules/@tamagui/checkbox/dist/esm/CheckboxStyledContext.mjs -var import_core19 = require("@tamagui/core"); -var CheckboxStyledContext = (0, import_core19.createStyledContext)({ +var import_core14 = require("@tamagui/core"); +var CheckboxStyledContext = (0, import_core14.createStyledContext)({ size: "$true", - scaleIcon: 1 + scaleIcon: 1, + unstyled: process.env.TAMAGUI_HEADLESS === "1", + active: false, + disabled: false }); // node_modules/@tamagui/checkbox/dist/esm/Checkbox.mjs var INDICATOR_NAME = "CheckboxIndicator"; -var CheckboxIndicatorFrame = (0, import_core20.styled)(ThemeableStack, { +var CheckboxIndicatorFrame = (0, import_core15.styled)(YStack, { // use Checkbox for easier themes name: INDICATOR_NAME, context: CheckboxStyledContext, @@ -26518,11 +26006,15 @@ var CheckboxIndicatorFrame = (0, import_core20.styled)(ThemeableStack, { defaultVariants: { unstyled: process.env.TAMAGUI_HEADLESS === "1" } +}, { + accept: { + activeStyle: "style" + } }); var CHECKBOX_NAME = "Checkbox"; -var CheckboxFrame = (0, import_core20.styled)(ThemeableStack, { +var CheckboxFrame = (0, import_core15.styled)(YStack, { name: CHECKBOX_NAME, - tag: "button", + render: "button", context: CheckboxStyledContext, variants: { unstyled: { @@ -26531,13 +26023,15 @@ var CheckboxFrame = (0, import_core20.styled)(ThemeableStack, { backgroundColor: "$background", alignItems: "center", justifyContent: "center", - pressTheme: true, - focusable: true, borderWidth: 1, borderColor: "$borderColor", hoverStyle: { borderColor: "$borderColorHover" }, + pressStyle: { + backgroundColor: "$backgroundPress", + borderColor: "$borderColorPress" + }, focusStyle: { borderColor: "$borderColorFocus" }, @@ -26568,64 +26062,29 @@ var CheckboxFrame = (0, import_core20.styled)(ThemeableStack, { }, size: { "...size": /* @__PURE__ */ __name((val) => ({ - borderRadius: (0, import_core20.getVariableValue)(getSize(val)) / 8 + borderRadius: (0, import_core15.getVariableValue)(getSize(val)) / 8 }), "...size") } }, defaultVariants: { unstyled: process.env.TAMAGUI_HEADLESS === "1" } +}, { + accept: { + activeStyle: "style" + } }); -// node_modules/@tamagui/checkbox/dist/esm/createCheckbox.mjs -var import_react34 = __toESM(require("react"), 1); - // node_modules/@tamagui/focusable/dist/esm/registerFocusable.mjs var registerFocusable = /* @__PURE__ */ __name((id, input) => () => { }, "registerFocusable"); var focusFocusable = /* @__PURE__ */ __name((id) => { }, "focusFocusable"); -// node_modules/@tamagui/focusable/dist/esm/focusableInputHOC.mjs -var import_web14 = require("@tamagui/core"); -var import_react32 = __toESM(require("react"), 1); -function useFocusable({ - isInput, - props, - ref -}) { - const { - id, - onChangeText, - value, - defaultValue: defaultValue2 - } = props, inputValue = import_react32.default.useRef(value || defaultValue2 || ""), unregisterFocusable = import_react32.default.useRef(void 0), focusAndSelect = import_react32.default.useCallback((input) => { - input.focus(), input.setSelection && typeof inputValue.current == "string" && input.setSelection(0, inputValue.current.length); - }, []), registerFocusableHandler = import_react32.default.useCallback((input) => { - !id || !input || (unregisterFocusable.current?.(), unregisterFocusable.current = registerFocusable(id, { - focus: input.focus, - ...isInput && { - focusAndSelect: /* @__PURE__ */ __name(() => focusAndSelect(input), "focusAndSelect") - } - })); - }, [id, isInput, focusAndSelect]), inputRef = import_react32.default.useCallback((input) => { - input && registerFocusableHandler(input); - }, [registerFocusableHandler]), handleChangeText = (0, import_web14.useEvent)((value2) => { - inputValue.current = value2, onChangeText?.(value2); - }); - return import_react32.default.useEffect(() => () => { - unregisterFocusable.current?.(); - }, []), { - ref: import_react32.default.useMemo(() => composeRefs(ref, inputRef), [ref, inputRef]), - onChangeText: handleChangeText - }; -} -__name(useFocusable, "useFocusable"); - // node_modules/@tamagui/label/dist/esm/Label.mjs -var import_web15 = require("@tamagui/core"); -var React40 = __toESM(require("react"), 1); -var import_jsx_runtime28 = require("react/jsx-runtime"); +var import_web18 = require("@tamagui/core"); +var React33 = __toESM(require("react"), 1); +var import_jsx_runtime26 = require("react/jsx-runtime"); var NAME = "Label"; var [LabelProvider, useLabelContextImpl] = createContext7(NAME, { id: void 0, @@ -26633,9 +26092,9 @@ var [LabelProvider, useLabelContextImpl] = createContext7(NAME, { current: null } }); -var LabelFrame = (0, import_web15.styled)(SizableText2, { +var LabelFrame = (0, import_web18.styled)(SizableText2, { name: "Label", - tag: "label", + render: "label", variants: { unstyled: { false: { @@ -26665,13 +26124,13 @@ var LabelFrame = (0, import_web15.styled)(SizableText2, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var LabelComponent = React40.forwardRef((props, forwardedRef) => { +var Label = LabelFrame.styleable(function(props, forwardedRef) { const { htmlFor, id: idProp, ...labelProps - } = props, controlRef = React40.useRef(null), ref = React40.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), backupId = React40.useId(), id = idProp ?? backupId; - return isWeb && React40.useEffect(() => { + } = props, controlRef = React33.useRef(null), ref = React33.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), backupId = React33.useId(), id = idProp ?? backupId; + return isWeb && React33.useEffect(() => { if (htmlFor) { const element = document.getElementById(htmlFor); if (ref.current && element) { @@ -26683,10 +26142,10 @@ var LabelComponent = React40.forwardRef((props, forwardedRef) => { }; } } - }, [id, htmlFor]), /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(LabelProvider, { + }, [id, htmlFor]), /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(LabelProvider, { id, controlRef, - children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(LabelFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(LabelFrame, { id, htmlFor, ...labelProps, @@ -26704,33 +26163,31 @@ var LabelComponent = React40.forwardRef((props, forwardedRef) => { }) }); }); -LabelComponent.displayName = NAME; -var Label = LabelFrame.extractable((0, import_web15.themeable)(LabelComponent)); var useLabelContext = /* @__PURE__ */ __name((element) => { - const context2 = useLabelContextImpl("LabelConsumer"), { + const context4 = useLabelContextImpl("LabelConsumer"), { controlRef - } = context2; - return React40.useEffect(() => { + } = context4; + return React33.useEffect(() => { element && (controlRef.current = element); - }, [element, controlRef]), context2.id; + }, [element, controlRef]), context4.id; }, "useLabelContext"); // node_modules/@tamagui/checkbox-headless/dist/esm/useCheckbox.mjs -var import_react33 = __toESM(require("react"), 1); +var import_react25 = __toESM(require("react"), 1); // node_modules/@tamagui/use-previous/dist/esm/index.mjs -var React41 = __toESM(require("react"), 1); +var React34 = __toESM(require("react"), 1); function usePrevious(value) { - const ref = React41.useRef({ + const ref = React34.useRef({ value, previous: value }); - return React41.useMemo(() => (ref.current.value !== value && (ref.current.previous = ref.current.value, ref.current.value = value), ref.current.previous), [value]); + return React34.useMemo(() => (ref.current.value !== value && (ref.current.previous = ref.current.value, ref.current.value = value), ref.current.previous), [value]); } __name(usePrevious, "usePrevious"); // node_modules/@tamagui/checkbox-headless/dist/esm/BubbleInput.mjs -var React42 = __toESM(require("react"), 1); +var React35 = __toESM(require("react"), 1); // node_modules/@tamagui/checkbox-headless/dist/esm/utils.mjs function isIndeterminate(checked) { @@ -26743,7 +26200,7 @@ function getState4(checked) { __name(getState4, "getState"); // node_modules/@tamagui/checkbox-headless/dist/esm/BubbleInput.mjs -var import_jsx_runtime29 = require("react/jsx-runtime"); +var import_jsx_runtime27 = require("react/jsx-runtime"); var BubbleInput = /* @__PURE__ */ __name((props) => { const { checked, @@ -26751,8 +26208,8 @@ var BubbleInput = /* @__PURE__ */ __name((props) => { control, isHidden: isHidden2, ...inputProps - } = props, ref = React42.useRef(null), prevChecked = usePrevious(checked); - return React42.useEffect(() => { + } = props, ref = React35.useRef(null), prevChecked = usePrevious(checked); + return React35.useEffect(() => { const input = ref.current, inputProto = window.HTMLInputElement.prototype, setChecked = Object.getOwnPropertyDescriptor(inputProto, "checked").set; if (prevChecked !== checked && setChecked) { const event = new Event("click", { @@ -26760,7 +26217,7 @@ var BubbleInput = /* @__PURE__ */ __name((props) => { }); input.indeterminate = isIndeterminate(checked), setChecked.call(input, isIndeterminate(checked) ? false : checked), input.dispatchEvent(event); } - }, [prevChecked, checked, bubbles]), /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("input", { + }, [prevChecked, checked, bubbles]), /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("input", { type: "checkbox", defaultChecked: isIndeterminate(checked) ? false : checked, ...inputProps, @@ -26784,7 +26241,7 @@ var BubbleInput = /* @__PURE__ */ __name((props) => { }, "BubbleInput"); // node_modules/@tamagui/checkbox-headless/dist/esm/useCheckbox.mjs -var import_jsx_runtime30 = require("react/jsx-runtime"); +var import_jsx_runtime28 = require("react/jsx-runtime"); function useCheckbox(props, [checked, setChecked], ref) { const { labelledBy: ariaLabelledby, @@ -26794,13 +26251,13 @@ function useCheckbox(props, [checked, setChecked], ref) { value = "on", onCheckedChange, ...checkboxProps - } = props, [button, setButton] = import_react33.default.useState(null), composedRefs = useComposedRefs(ref, setButton), hasConsumerStoppedPropagationRef = import_react33.default.useRef(false), isFormControl = isWeb ? button ? !!button.closest("form") : true : false, labelId = useLabelContext(button), labelledBy = ariaLabelledby || labelId, parentKeyDown = props.onKeyDown, handleKeyDown = (0, import_react33.useMemo)(() => composeEventHandlers(parentKeyDown, (event) => { + } = props, [button, setButton] = import_react25.default.useState(null), composedRefs = useComposedRefs(ref, setButton), hasConsumerStoppedPropagationRef = import_react25.default.useRef(false), isFormControl = isWeb ? button ? !!button.closest("form") : true : false, labelId = useLabelContext(button), labelledBy = ariaLabelledby || labelId, parentKeyDown = props.onKeyDown, handleKeyDown = (0, import_react25.useMemo)(() => composeEventHandlers(parentKeyDown, (event) => { event.key === "Enter" && event.preventDefault(); - }), [parentKeyDown]), handlePress = (0, import_react33.useMemo)(() => composeEventHandlers(props.onPress, (event) => { + }), [parentKeyDown]), handlePress = (0, import_react25.useMemo)(() => composeEventHandlers(props.onPress, (event) => { setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked), isFormControl && "isPropagationStopped" in event && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation()); }), [isFormControl]); return { - bubbleInput: isWeb && isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(BubbleInput, { + bubbleInput: isWeb && isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(BubbleInput, { isHidden: true, control: button, bubbles: !hasConsumerStoppedPropagationRef.current, @@ -26831,9 +26288,10 @@ function useCheckbox(props, [checked, setChecked], ref) { __name(useCheckbox, "useCheckbox"); // node_modules/@tamagui/checkbox/dist/esm/createCheckbox.mjs -var import_core21 = require("@tamagui/core"); -var import_jsx_runtime31 = require("react/jsx-runtime"); -var CheckboxContext = import_react34.default.createContext({ +var import_core16 = require("@tamagui/core"); +var import_react26 = __toESM(require("react"), 1); +var import_jsx_runtime29 = require("react/jsx-runtime"); +var CheckboxContext = import_react26.default.createContext({ checked: false, disabled: false }); @@ -26842,12 +26300,11 @@ var ensureContext = /* @__PURE__ */ __name((x) => { }, "ensureContext"); function createCheckbox(createProps) { const { - disableActiveTheme, - Frame: Frame2 = CheckboxFrame, + Frame: Frame3 = CheckboxFrame, Indicator = CheckboxIndicatorFrame } = createProps; - ensureContext(Frame2), ensureContext(Indicator); - const FrameComponent = Frame2.styleable(function(_props, forwardedRef) { + ensureContext(Frame3), ensureContext(Indicator); + const FrameComponent = Frame3.styleable(function(_props, forwardedRef) { const { scaleSize = 0.45, sizeAdjust = 0, @@ -26857,10 +26314,12 @@ function createCheckbox(createProps) { onCheckedChange, native, unstyled = false, + activeStyle, + activeTheme, ...props - } = _props, propsActive = (0, import_core21.useProps)(props), styledContext = import_react34.default.useContext(CheckboxStyledContext); + } = _props, propsActive = (0, import_core16.useProps)(props), styledContext = import_react26.default.useContext(CheckboxStyledContext.context); let adjustedSize = 0, size4 = 0; - unstyled || (adjustedSize = (0, import_core21.getVariableValue)(getSize(propsActive.size ?? styledContext?.size ?? "$true", { + unstyled || (adjustedSize = (0, import_core16.getVariableValue)(getSize(propsActive.size ?? styledContext?.size ?? "$true", { shift: sizeAdjust })), size4 = scaleSize ? Math.round(adjustedSize * scaleSize) : adjustedSize); const [checked = false, setChecked] = useControllableState({ @@ -26877,7 +26336,7 @@ function createCheckbox(createProps) { [checked, setChecked], forwardedRef ); - if ((0, import_core21.shouldRenderNativePlatform)(native) === "web") return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("input", { + if ((0, import_core16.shouldRenderNativePlatform)(native) === "web") return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("input", { type: "checkbox", defaultChecked: isIndeterminate(checked) ? false : checked, tabIndex: -1, @@ -26887,64 +26346,76 @@ function createCheckbox(createProps) { appearance: "auto", accentColor: "var(--color6)", ...checkboxProps.style - // TODO: any } }); - const memoizedContext = (0, import_react34.useMemo)(() => ({ + const memoizedContext = (0, import_react26.useMemo)(() => ({ checked, disabled: checkboxProps.disabled - }), [checked, checkboxProps.disabled]); - return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CheckboxContext.Provider, { + }), [checked, checkboxProps.disabled]), isActive = !!checked, disabled = checkboxProps.disabled; + return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CheckboxContext.Provider, { value: memoizedContext, - children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(CheckboxStyledContext.Provider, { + children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(CheckboxStyledContext.Provider, { size: propsActive.size ?? styledContext?.size ?? "$true", scaleIcon: scaleIcon ?? styledContext?.scaleIcon ?? 1, - children: [/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Frame2, { - ...!unstyled && { - width: size4, - height: size4 - }, - tag: "button", + unstyled, + active: isActive, + disabled, + children: [/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Frame3, { + render: "button", ref: checkboxRef, unstyled, - ...unstyled === false && { - size: size4, - theme: checked ? "active" : null + theme: activeTheme ?? null, + ...import_core16.isWeb && { + type: "button" + }, + ...!unstyled && { + width: size4, + height: size4, + size: size4 }, checked, - disabled: checkboxProps.disabled, + disabled, ...checkboxProps, - style: checkboxProps.style, + ...props, + ...isActive && { + ...!unstyled && !activeStyle && { + backgroundColor: "$backgroundActive" + }, + ...activeStyle + }, children: propsActive.children }), bubbleInput] }) }); }), IndicatorComponent = Indicator.styleable((props, forwardedRef) => { const { - // __scopeCheckbox, children: childrenProp, forceMount, disablePassStyles, unstyled = false, + activeStyle, ...indicatorProps - } = props, styledContext = import_react34.default.useContext(CheckboxStyledContext); + } = props, styledContext = CheckboxStyledContext.useStyledContext(), { + active + } = styledContext; let children = childrenProp; if (!unstyled) { - const iconSize = (typeof styledContext.size == "number" ? styledContext.size * 0.65 : getFontSize(styledContext.size)) * styledContext.scaleIcon, theme = (0, import_core21.useTheme)(), getThemedIcon = useGetThemedIcon({ + const iconSize = (typeof styledContext.size == "number" ? styledContext.size * 0.65 : getFontSize(styledContext.size)) * styledContext.scaleIcon, theme = (0, import_core16.useTheme)(), getThemedIcon = useGetThemedIcon({ size: iconSize, color: theme.color }); - children = import_react34.default.Children.toArray(childrenProp).map((child) => disablePassStyles || !import_react34.default.isValidElement(child) ? child : getThemedIcon(child)); + children = import_react26.default.Children.toArray(childrenProp).map((child) => disablePassStyles || !import_react26.default.isValidElement(child) ? child : getThemedIcon(child)); } - const context2 = import_react34.default.useContext(CheckboxContext); - return forceMount || isIndeterminate(context2.checked) || context2.checked === true ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Indicator, { + const context4 = import_react26.default.useContext(CheckboxContext); + return forceMount || isIndeterminate(context4.checked) || context4.checked === true ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Indicator, { pointerEvents: "none", ...indicatorProps, + ...active && activeStyle, ref: forwardedRef, children }) : null; }); - return (0, import_core21.withStaticProperties)(FrameComponent, { + return (0, import_core16.withStaticProperties)(FrameComponent, { Indicator: IndicatorComponent }); } @@ -26957,44 +26428,54 @@ var Checkbox = createCheckbox({ }); // node_modules/@tamagui/form/dist/esm/Form.mjs -var import_core22 = require("@tamagui/core"); -var import_jsx_runtime32 = require("react/jsx-runtime"); +var import_core17 = require("@tamagui/core"); +var import_jsx_runtime30 = require("react/jsx-runtime"); var FORM_NAME = "Form"; -var FormFrame = (0, import_core22.styled)(import_core22.Stack, { +var FormFrame = (0, import_core17.styled)(import_core17.View, { name: FORM_NAME, - tag: "form" + render: "form" }); -var [createFormContext] = createContextScope(FORM_NAME); -var [FormProvider, useFormContext] = createFormContext(FORM_NAME); -var TRIGGER_NAME3 = "FormTrigger"; -var FormTriggerFrame = (0, import_core22.styled)(import_core22.View, { - name: TRIGGER_NAME3 +var FormContext = (0, import_core17.createStyledContext)({ + onSubmit: void 0 +}); +var { + useStyledContext: useFormContext, + Provider: FormProvider +} = FormContext; +var FormTriggerFrame = (0, import_core17.styled)(import_core17.View, { + name: "FormTrigger" }); var FormTrigger = FormTriggerFrame.styleable((props, forwardedRef) => { const { - __scopeForm, + scope, children, onPress, ...triggerProps - } = props, context2 = useFormContext(TRIGGER_NAME3, __scopeForm); - return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(FormTriggerFrame, { - tag: "button", + } = props, context4 = useFormContext(scope); + return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(FormTriggerFrame, { + render: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("button", { + type: "submit" + }), ...triggerProps, ref: forwardedRef, - onPress: composeEventHandlers(onPress, context2.onSubmit), + onPress: composeEventHandlers(onPress, context4.onSubmit), children }); }); -var FormComponent = FormFrame.extractable(function({ +var FormComponent = FormFrame.styleable(function({ + scope, onSubmit, ...props -}) { - return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(FormProvider, { - scope: props.__scopeForm, +}, ref) { + return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(FormProvider, { + scope, onSubmit, - children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(FormFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(FormFrame, { + ref, ...props, - onSubmit: /* @__PURE__ */ __name((e) => e.preventDefault(), "onSubmit") + onSubmit: /* @__PURE__ */ __name((e) => { + e.preventDefault(), onSubmit?.(); + }, "onSubmit") }) }); }); @@ -27003,18 +26484,17 @@ var Form2 = withStaticProperties(FormComponent, { }); // node_modules/@tamagui/group/dist/esm/Group.mjs -var import_core23 = require("@tamagui/core"); -var import_react35 = __toESM(require("react"), 1); -var import_react_native_web6 = __toESM(require_cjs(), 1); +var import_core18 = require("@tamagui/core"); +var import_react27 = __toESM(require("react"), 1); // node_modules/@tamagui/group/dist/esm/useIndexedChildren.mjs -var React45 = __toESM(require("react"), 1); -var import_jsx_runtime33 = require("react/jsx-runtime"); -var MaxIndexContext = React45.createContext([]); -var IndexContext = React45.createContext(null); +var React38 = __toESM(require("react"), 1); +var import_jsx_runtime31 = require("react/jsx-runtime"); +var MaxIndexContext = React38.createContext([]); +var IndexContext = React38.createContext(null); function useIndex() { - const maxIndexPath = React45.useContext(MaxIndexContext), indexPathString = React45.useContext(IndexContext); - return React45.useMemo(() => { + const maxIndexPath = React38.useContext(MaxIndexContext), indexPathString = React38.useContext(IndexContext); + return React38.useMemo(() => { if (indexPathString === null) return null; const indexPath = parseIndexPath(indexPathString), maxIndex = maxIndexPath[maxIndexPath.length - 1], index5 = indexPath[indexPath.length - 1]; return { @@ -27032,10 +26512,10 @@ function useIndex() { } __name(useIndex, "useIndex"); function useIndexedChildren(children) { - const parentMaxIndexPath = React45.useContext(MaxIndexContext), indexPathString = React45.useContext(IndexContext), childrenCount = React45.Children.count(children), maxIndexPath = React45.useMemo(() => parentMaxIndexPath.concat(childrenCount - 1), [childrenCount]); - return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(MaxIndexContext.Provider, { + const parentMaxIndexPath = React38.useContext(MaxIndexContext), indexPathString = React38.useContext(IndexContext), childrenCount = React38.Children.count(children), maxIndexPath = React38.useMemo(() => parentMaxIndexPath.concat(childrenCount - 1), [childrenCount]); + return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MaxIndexContext.Provider, { value: maxIndexPath, - children: React45.Children.map(children, (child, index5) => React45.isValidElement(child) ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(IndexContext.Provider, { + children: React38.Children.map(children, (child, index5) => React38.isValidElement(child) ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(IndexContext.Provider, { value: indexPathString ? `${indexPathString}.${index5.toString()}` : index5.toString(), children: child }, child.key) : child) @@ -27048,11 +26528,11 @@ function parseIndexPath(indexPathString) { __name(parseIndexPath, "parseIndexPath"); // node_modules/@tamagui/group/dist/esm/Group.mjs -var import_jsx_runtime34 = require("react/jsx-runtime"); +var import_jsx_runtime32 = require("react/jsx-runtime"); var GROUP_NAME = "Group"; var [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME); var [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME); -var GroupFrame = (0, import_core23.styled)(ThemeableStack, { +var GroupFrame = (0, import_core18.styled)(YStack, { name: "GroupFrame", variants: { unstyled: { @@ -27072,60 +26552,22 @@ var GroupFrame = (0, import_core23.styled)(ThemeableStack, { }); function createGroup(verticalDefault) { return withStaticProperties(GroupFrame.styleable((props, ref) => { - const activeProps = (0, import_core23.useProps)(props), { + const { __scopeGroup, children: childrenProp, - space, - size: size4 = "$true", - spaceDirection, - separator, - scrollable, - axis = verticalDefault ? "vertical" : "horizontal", - orientation = axis, - disabled: disabledProp, - disablePassBorderRadius: disablePassBorderRadiusProp, - borderRadius, - forceUseItem, + orientation = verticalDefault ? "vertical" : "horizontal", + disabled, ...restProps - } = activeProps, vertical = orientation === "vertical", [itemChildrenCount, setItemChildrenCount] = useControllableState({ - defaultProp: forceUseItem ? 1 : 0 - }), isUsingItems = itemChildrenCount > 0, radius = borderRadius ?? (size4 ? (0, import_core23.getVariableValue)((0, import_core23.getTokens)().radius[size4]) - 1 : void 0), disablePassBorderRadius = disablePassBorderRadiusProp ?? !(radius !== void 0), childrenArray = import_react35.default.Children.toArray(childrenProp), children = isUsingItems ? import_react35.default.Children.toArray(childrenProp).filter(import_react35.default.isValidElement) : childrenArray.map((child, i) => { - if (!import_react35.default.isValidElement(child) || child.type === import_react35.default.Fragment) return child; - const disabled = child.props.disabled ?? disabledProp, isFirst = i === 0, isLast = i === childrenArray.length - 1, radiusStyles = disablePassBorderRadius === true ? null : getBorderRadius({ - isFirst, - isLast, - radius, - vertical, - disable: disablePassBorderRadius - }), props2 = { - disabled, - ...radiusStyles - }; - return cloneElementWithPropOrder(child, props2); - }), indexedChildren = useIndexedChildren((0, import_core23.spacedChildren)({ - direction: spaceDirection, - separator, - space, - children - })), onItemMount = import_react35.default.useCallback(() => setItemChildrenCount((prev) => prev + 1), []), onItemUnmount = import_react35.default.useCallback(() => setItemChildrenCount((prev) => prev - 1), []); - return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(GroupProvider, { - disablePassBorderRadius, - vertical: orientation === "vertical", - radius, - disabled: disabledProp, - onItemMount, - onItemUnmount, + } = props, vertical = orientation === "vertical", indexedChildren = useIndexedChildren(import_react27.default.Children.toArray(childrenProp)); + return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(GroupProvider, { + vertical, + disabled, scope: __scopeGroup, - children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(GroupFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(GroupFrame, { ref, - size: size4, - flexDirection: orientation === "horizontal" ? "row" : "column", - borderRadius, + flexDirection: vertical ? "column" : "row", ...restProps, - children: wrapScroll({ - ...activeProps, - orientation - }, indexedChildren) + children: indexedChildren }) }); }), { @@ -27133,139 +26575,124 @@ function createGroup(verticalDefault) { }); } __name(createGroup, "createGroup"); -var GroupItem = import_react35.default.forwardRef((props, _ref) => { +function GroupItem(props) { const { __scopeGroup, children, forcePlacement - } = props, groupItemProps = useGroupItem({ - disabled: import_react35.default.isValidElement(children) ? children.props.disabled : false - }, forcePlacement, __scopeGroup); - return !import_react35.default.isValidElement(children) || children.type === import_react35.default.Fragment ? children : import_react35.default.cloneElement(children, groupItemProps); -}); -var useGroupItem = /* @__PURE__ */ __name((childrenProps, forcePlacement, __scopeGroup) => { - const treeIndex = useIndex(), context2 = useGroupContext("GroupItem", __scopeGroup); - if (import_react35.default.useEffect(() => (context2.onItemMount(), () => { - context2.onItemUnmount(); - }), []), !treeIndex) throw Error(" should only be used within a "); - const isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0, isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex; - let propsToPass = { - disabled: childrenProps.disabled ?? context2.disabled + } = props, context4 = useGroupContext("GroupItem", __scopeGroup), treeIndex = useIndex(); + if (!treeIndex) throw Error(" should only be used within a "); + if (!import_react27.default.isValidElement(children)) return children; + const isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0, isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex, childProps = { + ...getZeroedRadius(isFirst, isLast, context4.vertical) + }; + return context4.disabled != null && (childProps.disabled = children.props.disabled ?? context4.disabled), import_react27.default.cloneElement(children, childProps); +} +__name(GroupItem, "GroupItem"); +var useGroupItem = /* @__PURE__ */ __name((childrenProps, forcePlacement, __scopeGroup) => { + const treeIndex = useIndex(), context4 = useGroupContext("GroupItem", __scopeGroup); + if (!treeIndex) throw Error("useGroupItem should only be used within a "); + const isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0, isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex, radiusStyles = getZeroedRadius(isFirst, isLast, context4.vertical); + return { + disabled: childrenProps.disabled ?? context4.disabled, + ...radiusStyles }; - if (context2.disablePassBorderRadius !== true) { - const borderRadius = getBorderRadius({ - radius: context2.radius, - isFirst, - isLast, - vertical: context2.vertical, - disable: context2.disablePassBorderRadius - }); - return { - ...propsToPass, - ...borderRadius - }; - } - return propsToPass; }, "useGroupItem"); var Group = createGroup(true); var YGroup = Group; var XGroup = createGroup(false); -var wrapScroll = /* @__PURE__ */ __name(({ - scrollable, - orientation, - showScrollIndicator = false -}, children) => scrollable ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_native_web6.ScrollView, { - ...orientation === "vertical" && { - showsVerticalScrollIndicator: showScrollIndicator - }, - ...orientation === "horizontal" && { - horizontal: true, - showsHorizontalScrollIndicator: showScrollIndicator - }, - children -}) : children, "wrapScroll"); -var getBorderRadius = /* @__PURE__ */ __name(({ - isFirst, - isLast, - radius, - vertical, - disable -}) => ({ - borderTopLeftRadius: isFirst && disable !== "top" && disable !== "start" ? radius : 0, - borderTopRightRadius: disable !== "top" && disable !== "end" && (vertical && isFirst || !vertical && isLast) ? radius : 0, - borderBottomLeftRadius: disable !== "bottom" && disable !== "start" && (vertical && isLast || !vertical && isFirst) ? radius : 0, - borderBottomRightRadius: isLast && disable !== "bottom" && disable !== "end" ? radius : 0 -}), "getBorderRadius"); -var cloneElementWithPropOrder = /* @__PURE__ */ __name((child, props) => import_react35.default.cloneElement({ - ...child, - props: null -}, { - ...child.props, - ...props -}), "cloneElementWithPropOrder"); +function getZeroedRadius(isFirst, isLast, vertical) { + return vertical ? { + ...isFirst ? null : { + borderTopLeftRadius: 0, + borderTopRightRadius: 0 + }, + ...isLast ? null : { + borderBottomLeftRadius: 0, + borderBottomRightRadius: 0 + } + } : { + ...isFirst ? null : { + borderTopLeftRadius: 0, + borderBottomLeftRadius: 0 + }, + ...isLast ? null : { + borderTopRightRadius: 0, + borderBottomRightRadius: 0 + } + }; +} +__name(getZeroedRadius, "getZeroedRadius"); // node_modules/@tamagui/react-native-media-driver/dist/esm/createMedia.mjs -var import_web16 = require("@tamagui/core"); +var import_web19 = require("@tamagui/core"); // node_modules/@tamagui/react-native-media-driver/dist/esm/matchMedia.mjs var matchMedia = globalThis.matchMedia; // node_modules/@tamagui/react-native-media-driver/dist/esm/createMedia.mjs function createMedia(media) { - return (0, import_web16.setupMatchMedia)(matchMedia), media; + return (0, import_web19.setupMatchMedia)(matchMedia), media; } __name(createMedia, "createMedia"); // node_modules/@tamagui/elements/dist/esm/index.mjs -var import_core24 = require("@tamagui/core"); -var Section = (0, import_core24.styled)(import_core24.View, { +var import_core19 = require("@tamagui/core"); +var Section = (0, import_core19.styled)(import_core19.View, { name: "Section", - tag: "section", + render: "section", flexDirection: "column", - accessibilityRole: "summary" + role: "region" }); -var Article = (0, import_core24.styled)(import_core24.View, { +var Article = (0, import_core19.styled)(import_core19.View, { name: "Article", - tag: "article", + render: "article", flexDirection: "column" }); -var Main = (0, import_core24.styled)(import_core24.View, { +var Main = (0, import_core19.styled)(import_core19.View, { name: "Main", - tag: "main", + render: "main", flexDirection: "column" }); -var Header = (0, import_core24.styled)(import_core24.View, { +var Header = (0, import_core19.styled)(import_core19.View, { name: "Header", - tag: "header", - accessibilityRole: "header", + render: "header", + role: "banner", flexDirection: "column" }); -var Aside = (0, import_core24.styled)(import_core24.View, { +var Aside = (0, import_core19.styled)(import_core19.View, { name: "Aside", - tag: "aside", + render: "aside", flexDirection: "column" // accessibilityRole: 'complementary', }); -var Footer = (0, import_core24.styled)(import_core24.View, { +var Footer = (0, import_core19.styled)(import_core19.View, { name: "Footer", - tag: "footer", + render: "footer", flexDirection: "column" // accessibilityRole: 'contentinfo', }); -var Nav = (0, import_core24.styled)(import_core24.View, { +var Nav = (0, import_core19.styled)(import_core19.View, { name: "Nav", - tag: "nav", + render: "nav", flexDirection: "column" // accessibilityRole: 'navigation', }); // node_modules/@tamagui/list-item/dist/esm/ListItem.mjs -var import_web17 = require("@tamagui/core"); -var import_jsx_runtime35 = require("react/jsx-runtime"); +var import_web20 = require("@tamagui/core"); +var import_jsx_runtime33 = require("react/jsx-runtime"); var NAME2 = "ListItem"; -var ListItemFrame = (0, import_web17.styled)(ThemeableStack, { +var context2 = (0, import_web20.createStyledContext)({ + size: void 0, + variant: void 0, + color: void 0 +}); +var ListItemFrame = (0, import_web20.styled)(import_web20.View, { + context: context2, name: NAME2, - tag: "li", + render: "li", + role: "listitem", variants: { unstyled: { false: { @@ -27273,13 +26700,36 @@ var ListItemFrame = (0, import_web17.styled)(ThemeableStack, { alignItems: "center", justifyContent: "space-between", flexWrap: "nowrap", - width: "100%", borderColor: "$borderColor", + width: "100%", maxWidth: "100%", overflow: "hidden", flexDirection: "row", backgroundColor: "$background", - cursor: "default" + cursor: "default", + hoverStyle: { + backgroundColor: "$backgroundHover", + borderColor: "$borderColorHover" + }, + pressStyle: { + backgroundColor: "$backgroundPress", + borderColor: "$borderColorPress" + } + } + }, + variant: { + outlined: process.env.TAMAGUI_HEADLESS === "1" ? {} : { + backgroundColor: "transparent", + borderWidth: 1, + borderColor: "$borderColor", + hoverStyle: { + backgroundColor: "transparent", + borderColor: "$borderColorHover" + }, + pressStyle: { + backgroundColor: "transparent", + borderColor: "$borderColorPress" + } } }, size: { @@ -27303,7 +26753,6 @@ var ListItemFrame = (0, import_web17.styled)(ThemeableStack, { disabled: { true: { opacity: 0.5, - // TODO breaking types pointerEvents: "none" } } @@ -27312,7 +26761,8 @@ var ListItemFrame = (0, import_web17.styled)(ThemeableStack, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var ListItemText = (0, import_web17.styled)(SizableText2, { +var ListItemText = (0, import_web20.styled)(SizableText2, { + context: context2, name: "ListItemText", variants: { unstyled: { @@ -27321,7 +26771,7 @@ var ListItemText = (0, import_web17.styled)(SizableText2, { size: "$true", flexGrow: 1, flexShrink: 1, - ellipse: true, + ellipsis: true, cursor: "inherit" } } @@ -27330,8 +26780,9 @@ var ListItemText = (0, import_web17.styled)(SizableText2, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var ListItemSubtitle = (0, import_web17.styled)(ListItemText, { +var ListItemSubtitle = (0, import_web20.styled)(ListItemText, { name: "ListItemSubtitle", + context: context2, variants: { unstyled: { false: { @@ -27354,106 +26805,87 @@ var ListItemSubtitle = (0, import_web17.styled)(ListItemText, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var ListItemTitle = (0, import_web17.styled)(ListItemText, { - name: "ListItemTitle" +var ListItemTitle = (0, import_web20.styled)(ListItemText, { + name: "ListItemTitle", + context: context2, + variants: { + unstyled: { + false: {} + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } }); -var useListItem = /* @__PURE__ */ __name((propsIn, { - Text: Text6 = ListItemText, - Subtitle = ListItemSubtitle, - Title = ListItemTitle -} = { - Text: ListItemText, - Subtitle: ListItemSubtitle, - Title: ListItemTitle -}) => { - const props = (0, import_web17.useProps)(propsIn, { - resolveValues: "none" - }), { +var ListItemIcon = /* @__PURE__ */ __name((props) => { + const { + children, + size: size4, + scaleIcon = 1 + } = props, styledContext = context2.useStyledContext(); + if (!styledContext) throw new Error("ListItem.Icon must be used within a ListItem"); + const sizeToken = size4 ?? styledContext.size ?? "$true", iconSize = getFontSize(sizeToken) * scaleIcon; + return getIcon(children, { + size: iconSize, + color: styledContext.color + }); +}, "ListItemIcon"); +var ListItemComponent = ListItemFrame.styleable(function(propsIn, ref) { + const { children, icon, iconAfter, - noTextWrap, - theme: themeName, - space, - spaceFlex, scaleIcon = 1, - scaleSpace = 1, unstyled = false, subTitle, title, - // text props - color, - fontWeight, - fontSize, - fontFamily, - letterSpacing, - textAlign, - ellipse, + iconSize, ...rest - } = props, textProps = { - color, - fontWeight, - fontSize, - fontFamily, - letterSpacing, - textAlign, - ellipse, + } = propsIn, size4 = propsIn.size || "$true", styledContext = context2.useStyledContext(), iconSizeNumber = getFontSize(iconSize || size4) * scaleIcon, [themedIcon, themedIconAfter] = [icon, iconAfter].map((icon2, i) => { + if (!icon2) return null; + const isBefore = i === 0; + return getIcon(icon2, { + size: iconSizeNumber, + color: styledContext?.color, + [isBefore ? "marginRight" : "marginLeft"]: `${iconSizeNumber * 0.4}%` + }); + }), wrappedChildren = wrapChildrenInText(ListItemText, { children - }, size4 = props.size || "$true", iconSize = getFontSize(size4) * scaleIcon, getThemedIcon = useGetThemedIcon({ - size: iconSize, - color - }), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), sizeToken = (0, import_web17.getTokens)().space[props.space] ?? iconSize, spaceSize = (0, import_web17.getVariableValue)(sizeToken) * scaleSpace, contents = wrapChildrenInText(Text6, textProps); - return { - props: { - ...rest, - children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { - children: [themedIcon ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { - children: [themedIcon, /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_web17.Spacer, { - size: spaceSize - })] - }) : null, title || subTitle ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(YStack, { - flex: 1, - children: [noTextWrap === "all" ? title : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Title, { - size: size4, - children: title - }), subTitle ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { - children: typeof subTitle == "string" && noTextWrap !== "all" ? ( - // TODO can use theme but we need to standardize to alt themes - // or standardize on subtle colors in themes - /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Subtitle, { - unstyled, - size: size4, - children: subTitle - }) - ) : subTitle - }) : null, contents] - }) : contents, themedIconAfter ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { - children: [/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_web17.Spacer, { - size: spaceSize - }), themedIconAfter] - }) : null] - }) - } - }; -}, "useListItem"); -var ListItemComponent = ListItemFrame.styleable(function(props, ref) { - const { - props: listItemProps - } = useListItem(props); - return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ListItemFrame, { + }, propsIn.unstyled !== true ? { + unstyled: process.env.TAMAGUI_HEADLESS === "1", + fontSize: propsIn.size + } : void 0); + return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(ListItemFrame, { ref, - ...listItemProps + ...rest, + children: [themedIcon, title || subTitle ? /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(YStack, { + flex: 1, + children: [title ? typeof title == "string" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ListItemTitle, { + unstyled, + size: size4, + children: title + }) : title : null, subTitle ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { + children: typeof subTitle == "string" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ListItemSubtitle, { + unstyled, + size: size4, + children: subTitle + }) : subTitle + }) : null, wrappedChildren] + }) : wrappedChildren, themedIconAfter] }); }); var ListItem2 = withStaticProperties(ListItemComponent, { + Apply: context2.Provider, + Frame: ListItemFrame, Text: ListItemText, Subtitle: ListItemSubtitle, + Icon: ListItemIcon, Title: ListItemTitle }); // node_modules/@tamagui/animate/dist/esm/Animate.mjs -var import_react36 = require("react"); -var import_jsx_runtime36 = require("react/jsx-runtime"); +var import_react28 = require("react"); +var import_jsx_runtime34 = require("react/jsx-runtime"); function Animate({ children, lazyMount, @@ -27462,14 +26894,14 @@ function Animate({ passThrough, ...props }) { - const [lazyMounted, setLazyMounted] = (0, import_react36.useState)(lazyMount ? false : present); - (0, import_react36.useEffect)(() => { - passThrough || lazyMount && present && (0, import_react36.startTransition)(() => { + const [lazyMounted, setLazyMounted] = (0, import_react28.useState)(lazyMount ? false : present); + (0, import_react28.useEffect)(() => { + passThrough || lazyMount && present && (0, import_react28.startTransition)(() => { setLazyMounted(present); }); }, [lazyMount, present]); const mounted = present ? lazyMount ? lazyMounted : present : false; - return type === "presence" ? props.keepChildrenMounted ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PresenceChild, { + return type === "presence" ? props.keepChildrenMounted ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PresenceChild, { isPresent: true, ...!passThrough && { initial: props.initial ? void 0 : false, @@ -27484,18 +26916,18 @@ function Animate({ custom: props.custom }, children - }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(AnimatePresence, { + }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AnimatePresence, { passThrough, ...props, children: mounted || passThrough ? children : null - }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { + }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children }); } __name(Animate, "Animate"); // node_modules/@tamagui/popover/dist/esm/Popover.mjs -var import_core27 = require("@tamagui/core"); +var import_core22 = require("@tamagui/core"); // node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs var min = Math.min; @@ -27702,6 +27134,63 @@ function computeCoordsFromPlacement(_ref, placement, rtl) { return coords; } __name(computeCoordsFromPlacement, "computeCoordsFromPlacement"); +async function detectOverflow(state2, options) { + var _await$platform$isEle; + if (options === void 0) { + options = {}; + } + const { + x, + y, + platform: platform2, + rects, + elements, + strategy + } = state2; + const { + boundary = "clippingAncestors", + rootBoundary = "viewport", + elementContext = "floating", + altBoundary = false, + padding = 0 + } = evaluate(options, state2); + const paddingObject = getPaddingObject(padding); + const altContext = elementContext === "floating" ? "reference" : "floating"; + const element = elements[altBoundary ? altContext : elementContext]; + const clippingClientRect = rectToClientRect(await platform2.getClippingRect({ + element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)), + boundary, + rootBoundary, + strategy + })); + const rect = elementContext === "floating" ? { + x, + y, + width: rects.floating.width, + height: rects.floating.height + } : rects.reference; + const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating)); + const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || { + x: 1, + y: 1 + } : { + x: 1, + y: 1 + }; + const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({ + elements, + rect, + offsetParent, + strategy + }) : rect); + return { + top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, + bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, + left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, + right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x + }; +} +__name(detectOverflow, "detectOverflow"); var computePosition = /* @__PURE__ */ __name(async (reference, floating, config) => { const { placement = "bottom", @@ -27724,6 +27213,7 @@ var computePosition = /* @__PURE__ */ __name(async (reference, floating, config) let middlewareData = {}; let resetCount = 0; for (let i = 0; i < validMiddleware.length; i++) { + var _platform$detectOverf; const { name, fn @@ -27741,7 +27231,10 @@ var computePosition = /* @__PURE__ */ __name(async (reference, floating, config) strategy, middlewareData, rects, - platform: platform2, + platform: { + ...platform2, + detectOverflow: (_platform$detectOverf = platform2.detectOverflow) != null ? _platform$detectOverf : detectOverflow + }, elements: { reference, floating @@ -27785,67 +27278,10 @@ var computePosition = /* @__PURE__ */ __name(async (reference, floating, config) middlewareData }; }, "computePosition"); -async function detectOverflow(state, options) { - var _await$platform$isEle; - if (options === void 0) { - options = {}; - } - const { - x, - y, - platform: platform2, - rects, - elements, - strategy - } = state; - const { - boundary = "clippingAncestors", - rootBoundary = "viewport", - elementContext = "floating", - altBoundary = false, - padding = 0 - } = evaluate(options, state); - const paddingObject = getPaddingObject(padding); - const altContext = elementContext === "floating" ? "reference" : "floating"; - const element = elements[altBoundary ? altContext : elementContext]; - const clippingClientRect = rectToClientRect(await platform2.getClippingRect({ - element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)), - boundary, - rootBoundary, - strategy - })); - const rect = elementContext === "floating" ? { - x, - y, - width: rects.floating.width, - height: rects.floating.height - } : rects.reference; - const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating)); - const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || { - x: 1, - y: 1 - } : { - x: 1, - y: 1 - }; - const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({ - elements, - rect, - offsetParent, - strategy - }) : rect); - return { - top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, - bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, - left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, - right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x - }; -} -__name(detectOverflow, "detectOverflow"); var arrow = /* @__PURE__ */ __name((options) => ({ name: "arrow", options, - async fn(state) { + async fn(state2) { const { x, y, @@ -27854,11 +27290,11 @@ var arrow = /* @__PURE__ */ __name((options) => ({ platform: platform2, elements, middlewareData - } = state; + } = state2; const { element, padding = 0 - } = evaluate(options, state) || {}; + } = evaluate(options, state2) || {}; if (element == null) { return {}; } @@ -27911,7 +27347,7 @@ var flip = /* @__PURE__ */ __name(function(options) { return { name: "flip", options, - async fn(state) { + async fn(state2) { var _middlewareData$arrow, _middlewareData$flip; const { placement, @@ -27920,7 +27356,7 @@ var flip = /* @__PURE__ */ __name(function(options) { initialPlacement, platform: platform2, elements - } = state; + } = state2; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true, @@ -27929,7 +27365,7 @@ var flip = /* @__PURE__ */ __name(function(options) { fallbackAxisSideDirection = "none", flipAlignment = true, ...detectOverflowOptions - } = evaluate(options, state); + } = evaluate(options, state2); if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } @@ -27943,7 +27379,7 @@ var flip = /* @__PURE__ */ __name(function(options) { fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl)); } const placements2 = [initialPlacement, ...fallbackPlacements]; - const overflow = await detectOverflow(state, detectOverflowOptions); + const overflow = await platform2.detectOverflow(state2, detectOverflowOptions); const overflows = []; let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || []; if (checkMainAxis) { @@ -28014,19 +27450,19 @@ var flip = /* @__PURE__ */ __name(function(options) { }; }, "flip"); var originSides = /* @__PURE__ */ new Set(["left", "top"]); -async function convertValueToCoords(state, options) { +async function convertValueToCoords(state2, options) { const { placement, platform: platform2, elements - } = state; + } = state2; const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)); const side = getSide(placement); const alignment = getAlignment(placement); const isVertical = getSideAxis(placement) === "y"; const mainAxisMulti = originSides.has(side) ? -1 : 1; const crossAxisMulti = rtl && isVertical ? -1 : 1; - const rawValue = evaluate(options, state); + const rawValue = evaluate(options, state2); let { mainAxis, crossAxis, @@ -28059,15 +27495,15 @@ var offset = /* @__PURE__ */ __name(function(options) { return { name: "offset", options, - async fn(state) { + async fn(state2) { var _middlewareData$offse, _middlewareData$arrow; const { x, y, placement, middlewareData - } = state; - const diffCoords = await convertValueToCoords(state, options); + } = state2; + const diffCoords = await convertValueToCoords(state2, options); if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } @@ -28089,12 +27525,13 @@ var shift = /* @__PURE__ */ __name(function(options) { return { name: "shift", options, - async fn(state) { + async fn(state2) { const { x, y, - placement - } = state; + placement, + platform: platform2 + } = state2; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, @@ -28111,12 +27548,12 @@ var shift = /* @__PURE__ */ __name(function(options) { }, "fn") }, ...detectOverflowOptions - } = evaluate(options, state); + } = evaluate(options, state2); const coords = { x, y }; - const overflow = await detectOverflow(state, detectOverflowOptions); + const overflow = await platform2.detectOverflow(state2, detectOverflowOptions); const crossAxis = getSideAxis(getSide(placement)); const mainAxis = getOppositeAxis(crossAxis); let mainAxisCoord = coords[mainAxis]; @@ -28136,7 +27573,7 @@ var shift = /* @__PURE__ */ __name(function(options) { crossAxisCoord = clamp2(min2, crossAxisCoord, max2); } const limitedCoords = limiter.fn({ - ...state, + ...state2, [mainAxis]: mainAxisCoord, [crossAxis]: crossAxisCoord }); @@ -28161,20 +27598,20 @@ var size = /* @__PURE__ */ __name(function(options) { return { name: "size", options, - async fn(state) { + async fn(state2) { var _state$middlewareData, _state$middlewareData2; const { placement, rects, platform: platform2, elements - } = state; + } = state2; const { apply = /* @__PURE__ */ __name(() => { }, "apply"), ...detectOverflowOptions - } = evaluate(options, state); - const overflow = await detectOverflow(state, detectOverflowOptions); + } = evaluate(options, state2); + const overflow = await platform2.detectOverflow(state2, detectOverflowOptions); const side = getSide(placement); const alignment = getAlignment(placement); const isYAxis = getSideAxis(placement) === "y"; @@ -28195,13 +27632,13 @@ var size = /* @__PURE__ */ __name(function(options) { const maximumClippingWidth = width - overflow.left - overflow.right; const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight); const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth); - const noShift = !state.middlewareData.shift; + const noShift = !state2.middlewareData.shift; let availableHeight = overflowAvailableHeight; let availableWidth = overflowAvailableWidth; - if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) { + if ((_state$middlewareData = state2.middlewareData.shift) != null && _state$middlewareData.enabled.x) { availableWidth = maximumClippingWidth; } - if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) { + if ((_state$middlewareData2 = state2.middlewareData.shift) != null && _state$middlewareData2.enabled.y) { availableHeight = maximumClippingHeight; } if (noShift && !alignment) { @@ -28216,7 +27653,7 @@ var size = /* @__PURE__ */ __name(function(options) { } } await apply({ - ...state, + ...state2, availableWidth, availableHeight }); @@ -29026,7 +28463,6 @@ function autoUpdate(reference, floating, update, options) { }; } __name(autoUpdate, "autoUpdate"); -var detectOverflow2 = detectOverflow; var offset2 = offset; var shift2 = shift; var flip2 = flip; @@ -29049,13 +28485,13 @@ var computePosition2 = /* @__PURE__ */ __name((reference, floating, options) => }, "computePosition"); // node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs -var React47 = __toESM(require("react"), 1); -var import_react37 = require("react"); +var React40 = __toESM(require("react"), 1); +var import_react29 = require("react"); var ReactDOM2 = __toESM(require("react-dom"), 1); -var isClient3 = typeof document !== "undefined"; +var isClient2 = typeof document !== "undefined"; var noop = /* @__PURE__ */ __name(function noop2() { }, "noop"); -var index = isClient3 ? import_react37.useLayoutEffect : noop; +var index = isClient2 ? import_react29.useLayoutEffect : noop; function deepEqual(a, b) { if (a === b) { return true; @@ -29118,7 +28554,7 @@ function roundByDPR(element, value) { } __name(roundByDPR, "roundByDPR"); function useLatestRef(value) { - const ref = React47.useRef(value); + const ref = React40.useRef(value); index(() => { ref.current = value; }); @@ -29142,7 +28578,7 @@ function useFloating(options) { whileElementsMounted, open } = options; - const [data, setData] = React47.useState({ + const [data, setData] = React40.useState({ x: 0, y: 0, strategy, @@ -29150,19 +28586,19 @@ function useFloating(options) { middlewareData: {}, isPositioned: false }); - const [latestMiddleware, setLatestMiddleware] = React47.useState(middleware); + const [latestMiddleware, setLatestMiddleware] = React40.useState(middleware); if (!deepEqual(latestMiddleware, middleware)) { setLatestMiddleware(middleware); } - const [_reference, _setReference] = React47.useState(null); - const [_floating, _setFloating] = React47.useState(null); - const setReference = React47.useCallback((node) => { + const [_reference, _setReference] = React40.useState(null); + const [_floating, _setFloating] = React40.useState(null); + const setReference = React40.useCallback((node) => { if (node !== referenceRef.current) { referenceRef.current = node; _setReference(node); } }, []); - const setFloating = React47.useCallback((node) => { + const setFloating = React40.useCallback((node) => { if (node !== floatingRef.current) { floatingRef.current = node; _setFloating(node); @@ -29170,14 +28606,14 @@ function useFloating(options) { }, []); const referenceEl = externalReference || _reference; const floatingEl = externalFloating || _floating; - const referenceRef = React47.useRef(null); - const floatingRef = React47.useRef(null); - const dataRef = React47.useRef(data); + const referenceRef = React40.useRef(null); + const floatingRef = React40.useRef(null); + const dataRef = React40.useRef(data); const hasWhileElementsMounted = whileElementsMounted != null; const whileElementsMountedRef = useLatestRef(whileElementsMounted); const platformRef = useLatestRef(platform2); const openRef = useLatestRef(open); - const update = React47.useCallback(() => { + const update = React40.useCallback(() => { if (!referenceRef.current || !floatingRef.current) { return; } @@ -29215,7 +28651,7 @@ function useFloating(options) { })); } }, [open]); - const isMountedRef = React47.useRef(false); + const isMountedRef = React40.useRef(false); index(() => { isMountedRef.current = true; return () => { @@ -29232,17 +28668,17 @@ function useFloating(options) { update(); } }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]); - const refs = React47.useMemo(() => ({ + const refs = React40.useMemo(() => ({ reference: referenceRef, floating: floatingRef, setReference, setFloating }), [setReference, setFloating]); - const elements = React47.useMemo(() => ({ + const elements = React40.useMemo(() => ({ reference: referenceEl, floating: floatingEl }), [referenceEl, floatingEl]); - const floatingStyles = React47.useMemo(() => { + const floatingStyles = React40.useMemo(() => { const initialStyles = { position: strategy, left: 0, @@ -29268,7 +28704,7 @@ function useFloating(options) { top: y }; }, [strategy, transform, elements.floating, data.x, data.y]); - return React47.useMemo(() => ({ + return React40.useMemo(() => ({ ...data, update, refs, @@ -29285,17 +28721,17 @@ var arrow$1 = /* @__PURE__ */ __name((options) => { return { name: "arrow", options, - fn(state) { + fn(state2) { const { element, padding - } = typeof options === "function" ? options(state) : options; + } = typeof options === "function" ? options(state2) : options; if (element && isRef(element)) { if (element.current != null) { return arrow2({ element: element.current, padding - }).fn(state); + }).fn(state2); } return {}; } @@ -29303,7 +28739,7 @@ var arrow$1 = /* @__PURE__ */ __name((options) => { return arrow2({ element, padding - }).fn(state); + }).fn(state2); } return {}; } @@ -29331,9 +28767,9 @@ var arrow3 = /* @__PURE__ */ __name((options, deps) => ({ }), "arrow"); // node_modules/@tamagui/floating/dist/esm/useFloating.mjs -var import_react38 = __toESM(require("react"), 1); -var FloatingOverrideContext = import_react38.default.createContext(null); -var useFloating2 = /* @__PURE__ */ __name((props) => (import_react38.default.useContext(FloatingOverrideContext) || useFloating)?.({ +var import_react30 = __toESM(require("react"), 1); +var FloatingOverrideContext = import_react30.default.createContext(null); +var useFloating2 = /* @__PURE__ */ __name((props) => (import_react30.default.useContext(FloatingOverrideContext) || useFloating)?.({ ...props, middleware: [ // @ts-ignore @@ -29354,20 +28790,20 @@ var useFloating2 = /* @__PURE__ */ __name((props) => (import_react38.default.use }), "useFloating"); // node_modules/@tamagui/popper/dist/esm/Popper.mjs -var import_core26 = require("@tamagui/core"); -var React49 = __toESM(require("react"), 1); -var import_jsx_runtime37 = require("react/jsx-runtime"); -var PopperContextFast = (0, import_core26.createStyledContext)( +var import_core21 = require("@tamagui/core"); +var React42 = __toESM(require("react"), 1); +var import_jsx_runtime35 = require("react/jsx-runtime"); +var PopperContextFast = (0, import_core21.createStyledContext)( // since we always provide this we can avoid setting here {}, "Popper__" ); -var PopperPositionContext = import_core26.createStyledContext; +var PopperPositionContext = import_core21.createStyledContext; var { useStyledContext: usePopperContext, Provider: PopperProviderFast } = PopperContextFast; -var PopperContextSlow = (0, import_core26.createStyledContext)( +var PopperContextSlow = (0, import_core21.createStyledContext)( // since we always provide this we can avoid setting here {}, "PopperSlow__" @@ -29379,33 +28815,33 @@ var { var PopperProvider = /* @__PURE__ */ __name(({ scope, children, - ...context2 + ...context4 }) => { - const slowContext = getContextSlow(context2); - return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperProviderFast, { + const slowContext = getContextSlow(context4); + return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopperProviderFast, { scope, - ...context2, - children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperProviderSlow, { + ...context4, + children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopperProviderSlow, { scope, ...slowContext, children }) }); }, "PopperProvider"); -function getContextSlow(context2) { +function getContextSlow(context4) { return { - refs: context2.refs, - size: context2.size, - arrowRef: context2.arrowRef, - arrowStyle: context2.arrowStyle, - onArrowSize: context2.onArrowSize, - hasFloating: context2.hasFloating, - strategy: context2.strategy, - update: context2.update, - context: context2.context, - getFloatingProps: context2.getFloatingProps, - getReferenceProps: context2.getReferenceProps, - open: context2.open + refs: context4.refs, + size: context4.size, + arrowRef: context4.arrowRef, + arrowStyle: context4.arrowStyle, + onArrowSize: context4.onArrowSize, + hasFloating: context4.hasFloating, + strategy: context4.strategy, + update: context4.update, + context: context4.context, + getFloatingProps: context4.getFloatingProps, + getReferenceProps: context4.getReferenceProps, + open: context4.open }; } __name(getContextSlow, "getContextSlow"); @@ -29415,6 +28851,33 @@ function setupPopper(options) { Object.assign(setupOptions, options); } __name(setupPopper, "setupPopper"); +function getSideAndAlignFromPlacement(placement) { + const [side, align = "center"] = placement.split("-"); + return [side, align]; +} +__name(getSideAndAlignFromPlacement, "getSideAndAlignFromPlacement"); +var transformOriginMiddleware = /* @__PURE__ */ __name((options) => ({ + name: "transformOrigin", + options, + fn(data) { + const { + placement, + rects, + middlewareData + } = data, isArrowHidden = middlewareData.arrow?.centerOffset !== 0, arrowWidth = isArrowHidden ? 0 : options.arrowWidth, arrowHeight = isArrowHidden ? 0 : options.arrowHeight, [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement), noArrowAlign = { + start: "0%", + center: "50%", + end: "100%" + }[placedAlign], arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2, arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2; + let x = "", y = ""; + return placedSide === "bottom" ? (x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`, y = `${-arrowHeight}px`) : placedSide === "top" ? (x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`, y = `${rects.floating.height + arrowHeight}px`) : placedSide === "right" ? (x = `${-arrowHeight}px`, y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`) : placedSide === "left" && (x = `${rects.floating.width + arrowHeight}px`, y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`), { + data: { + x, + y + } + }; + } +}), "transformOriginMiddleware"); function Popper(props) { const { children, @@ -29429,7 +28892,7 @@ function Popper(props) { passThrough, open, scope - } = props, [arrowEl, setArrow] = React49.useState(null), [arrowSize, setArrowSize] = React49.useState(0), offsetOptions = offset4 ?? arrowSize, floatingStyle = React49.useRef({}), isOpen = passThrough ? false : open || true; + } = props, [arrowEl, setArrow] = React42.useState(null), [arrowSize, setArrowSize] = React42.useState(0), offsetOptions = offset4 ?? arrowSize, floatingStyle = React42.useRef({}), isOpen = passThrough ? false : open || true; let floating = useFloating2({ open: isOpen, strategy, @@ -29459,9 +28922,25 @@ function Popper(props) { floatingChild && floatingChild instanceof HTMLElement && Object.assign(floatingChild.style, floatingStyle.current); }, ...typeof resize == "object" && resize - }) : null].filter(Boolean) + }) : null, size3({ + apply({ + elements, + rects, + availableWidth, + availableHeight + }) { + const { + width: anchorWidth, + height: anchorHeight + } = rects.reference, contentStyle = elements.floating.style; + contentStyle.setProperty("--tamagui-popper-available-width", `${availableWidth}px`), contentStyle.setProperty("--tamagui-popper-available-height", `${availableHeight}px`), contentStyle.setProperty("--tamagui-popper-anchor-width", `${anchorWidth}px`), contentStyle.setProperty("--tamagui-popper-anchor-height", `${anchorHeight}px`); + } + }), transformOriginMiddleware({ + arrowHeight: arrowSize, + arrowWidth: arrowSize + })].filter(Boolean) }); - floating = React49.useMemo(() => { + floating = React42.useMemo(() => { const og = floating.getFloatingProps; return resize && og && (floating.getFloatingProps = (props2) => og({ ...props2, @@ -29473,18 +28952,19 @@ function Popper(props) { }, [floating, resize ? JSON.stringify(resize) : null]); const { middlewareData - } = floating, popperContext = React49.useMemo(() => ({ + } = floating, popperContext = React42.useMemo(() => ({ size: size4, arrowRef: setArrow, arrowStyle: middlewareData.arrow, onArrowSize: setArrowSize, hasFloating: middlewareData.checkFloating?.hasFloating, + transformOrigin: middlewareData.transformOrigin, open: !!open, ...floating - }), [open, size4, floating.x, floating.y, floating.placement, JSON.stringify(middlewareData.arrow || null), floating.isPositioned]); - return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core26.LayoutMeasurementController, { + }), [open, size4, floating.x, floating.y, floating.placement, JSON.stringify(middlewareData.arrow || null), JSON.stringify(middlewareData.transformOrigin || null), floating.isPositioned]); + return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_core21.LayoutMeasurementController, { disable: !isOpen, - children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperProvider, { + children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopperProvider, { scope, ...popperContext, children @@ -29492,27 +28972,34 @@ function Popper(props) { }); } __name(Popper, "Popper"); -var PopperAnchor = YStack.extractable(React49.forwardRef(function(props, forwardedRef) { +var PopperAnchor = YStack.styleable(function(props, forwardedRef) { const { virtualRef, scope, - ...anchorProps - } = props, context2 = usePopperContextSlow(scope), { + ...rest + } = props, context4 = usePopperContextSlow(scope), { getReferenceProps, refs, update - } = context2, ref = React49.useRef(null); - React49.useEffect(() => { + } = context4, ref = React42.useRef(null); + React42.useEffect(() => { virtualRef && refs.setReference(virtualRef.current); }, [virtualRef]); - const stackProps = anchorProps, refProps = getReferenceProps ? getReferenceProps(stackProps) : null, shouldHandleInHover = isWeb && scope, composedRefs = useComposedRefs( + const refProps = getReferenceProps?.({ + ...rest, + ref + }) || null, safeSetReference = React42.useCallback((node) => { + startTransition(() => { + refs.setReference(node); + }); + }, [refs.setReference]), shouldHandleInHover = isWeb && scope, composedRefs = useComposedRefs( forwardedRef, ref, // web handles this onMouseEnter below so it can support multiple targets + hovering - shouldHandleInHover ? void 0 : refs.setReference + shouldHandleInHover ? void 0 : safeSetReference ); - return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core26.View, { - ...stackProps, + return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_core21.View, { + ...rest, ...refProps, ref: composedRefs, ...shouldHandleInHover && { @@ -29520,23 +29007,25 @@ var PopperAnchor = YStack.extractable(React49.forwardRef(function(props, forward // basically we wait for mouseEnter to ever set a reference and remove it on leave // otherwise floating ui gets confused by having >1 reference onMouseEnter: /* @__PURE__ */ __name((e) => { - ref.current instanceof HTMLElement && (refs.setReference(ref.current), refProps.onPointerEnter?.(e), update()); + if (ref.current instanceof HTMLElement) { + if (refs.setReference(ref.current), !refProps) return; + refProps.onPointerEnter?.(e), update(); + } }, "onMouseEnter"), onMouseLeave: /* @__PURE__ */ __name((e) => { refProps?.onMouseLeave?.(e); }, "onMouseLeave") } }); -})); -var PopperContentFrame = (0, import_core26.styled)(ThemeableStack, { +}); +var PopperContentFrame = (0, import_core21.styled)(YStack, { name: "PopperContent", variants: { unstyled: { false: { size: "$true", backgroundColor: "$background", - alignItems: "center", - radiused: true + alignItems: "center" } }, size: { @@ -29552,14 +29041,15 @@ var PopperContentFrame = (0, import_core26.styled)(ThemeableStack, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var PopperContent = React49.forwardRef(function(props, forwardedRef) { +var PopperContent = React42.forwardRef(function(props, forwardedRef) { const { scope, + animatePosition, enableAnimationForPositionChange, children, passThrough, ...rest - } = props, context2 = usePopperContext(scope), { + } = props, animatePos = animatePosition ?? enableAnimationForPositionChange, context4 = usePopperContext(scope), { strategy, placement, refs, @@ -29567,28 +29057,35 @@ var PopperContent = React49.forwardRef(function(props, forwardedRef) { y, getFloatingProps, size: size4, - isPositioned - } = context2, contentRefs = useComposedRefs(refs.setFloating, forwardedRef), [needsMeasure, setNeedsMeasure] = React49.useState(enableAnimationForPositionChange); + isPositioned, + transformOrigin + } = context4, safeSetFloating = React42.useCallback((node) => { + startTransition(() => { + refs.setFloating(node); + }); + }, [refs.setFloating]), contentRefs = useComposedRefs(safeSetFloating, forwardedRef), [needsMeasure, setNeedsMeasure] = React42.useState(animatePos); useIsomorphicLayoutEffect(() => { needsMeasure && x && y && setNeedsMeasure(false); - }, [needsMeasure, enableAnimationForPositionChange, x, y]); + }, [needsMeasure, animatePos, x, y]); const hide4 = x === 0 && y === 0, disableAnimationProp = ( // if they want to animate also when re-positioning allow it - enableAnimationForPositionChange === "even-when-repositioning" ? needsMeasure : !isPositioned || needsMeasure - ), [disableAnimation, setDisableAnimation] = React49.useState(disableAnimationProp); - React49.useEffect(() => { + animatePos === "even-when-repositioning" ? needsMeasure : !isPositioned || needsMeasure + ), [disableAnimation, setDisableAnimation] = React42.useState(disableAnimationProp); + React42.useEffect(() => { setDisableAnimation(disableAnimationProp); }, [disableAnimationProp]); const frameProps = { ref: contentRefs, - x: x || 0, - y: y || 0, + ...hide4 ? {} : { + x: x || 0, + y: y || 0 + }, top: 0, left: 0, position: strategy, opacity: 1, - ...enableAnimationForPositionChange && { - animation: rest.animation, + ...animatePos && { + transition: rest.transition, animateOnly: disableAnimation ? [] : rest.animateOnly, // apply animation but disable it on initial render to avoid animating from 0 to the first position animatePresence: false @@ -29600,26 +29097,34 @@ var PopperContent = React49.forwardRef(function(props, forwardedRef) { }, { style, ...floatingProps - } = getFloatingProps ? getFloatingProps(frameProps) : frameProps; - return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core26.View, { + } = getFloatingProps ? getFloatingProps(frameProps) : frameProps, transformOriginStyle = isWeb && transformOrigin ? { + transformOrigin: `${transformOrigin.x} ${transformOrigin.y}` + } : void 0; + return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_core21.View, { passThrough, ref: contentRefs, contain: "layout style", ...passThrough ? null : floatingProps, - children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperContentFrame, { + ...!passThrough && animatePos && { + // marker for animation driver to know this is a popper element + // that needs special handling for position animation interruption + "data-popper-animate-position": "true" + }, + children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopperContentFrame, { passThrough, ...!passThrough && { "data-placement": placement, "data-strategy": strategy, size: size4, ...style, + ...transformOriginStyle, ...rest }, children }, "popper-content-frame") }); }); -var PopperArrowFrame = (0, import_core26.styled)(YStack, { +var PopperArrowFrame = (0, import_core21.styled)(YStack, { name: "PopperArrow", variants: { unstyled: { @@ -29634,7 +29139,7 @@ var PopperArrowFrame = (0, import_core26.styled)(YStack, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var PopperArrowOuterFrame = (0, import_core26.styled)(YStack, { +var PopperArrowOuterFrame = (0, import_core21.styled)(YStack, { name: "PopperArrowOuter", variants: { unstyled: { @@ -29658,21 +29163,23 @@ var opposites = { bottom: "top", left: "right" }; -var PopperArrow = React49.forwardRef(function(propsIn, forwardedRef) { +var PopperArrow = React42.forwardRef(function(propsIn, forwardedRef) { const { scope, + animatePosition, + transition, ...rest - } = propsIn, props = (0, import_core26.useProps)(rest), { + } = propsIn, props = (0, import_core21.useProps)(rest), { offset: offset4, size: sizeProp, borderWidth = 0, ...arrowProps - } = props, context2 = usePopperContext(scope), sizeVal = typeof sizeProp == "number" ? sizeProp : (0, import_core26.getVariableValue)(getSpace(sizeProp ?? context2.size, { + } = props, context4 = usePopperContext(scope), sizeVal = typeof sizeProp == "number" ? sizeProp : (0, import_core21.getVariableValue)(getSpace(sizeProp ?? context4.size, { shift: -2, bounds: [2] })), size4 = Math.max(0, +sizeVal), { placement - } = context2, refs = useComposedRefs(context2.arrowRef, forwardedRef), x = context2.arrowStyle?.x || 0, y = context2.arrowStyle?.y || 0, primaryPlacement = placement ? placement.split("-")[0] : "top", arrowStyle = { + } = context4, refs = useComposedRefs(context4.arrowRef, forwardedRef), x = context4.arrowStyle?.x || 0, y = context4.arrowStyle?.y || 0, primaryPlacement = placement ? placement.split("-")[0] : "top", arrowStyle = { x, y, width: size4, @@ -29682,13 +29189,18 @@ var PopperArrow = React49.forwardRef(function(propsIn, forwardedRef) { arrowStyle[isVertical ? "width" : "height"] = size4 * 2; const oppSide = opposites[primaryPlacement]; oppSide && (arrowStyle[oppSide] = -size4, innerArrowStyle[oppSide] = size4 / 2), (oppSide === "top" || oppSide === "bottom") && (arrowStyle.left = 0), (oppSide === "left" || oppSide === "right") && (arrowStyle.top = 0), useIsomorphicLayoutEffect(() => { - context2.onArrowSize?.(size4); - }, [size4, context2.onArrowSize]); + context4.onArrowSize?.(size4); + }, [size4, context4.onArrowSize]); } - return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperArrowOuterFrame, { + return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopperArrowOuterFrame, { ref: refs, ...arrowStyle, - children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperArrowFrame, { + ...animatePosition && { + transition, + animateOnly: ["transform"], + animatePresence: false + }, + children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopperArrowFrame, { width: size4, height: size4, ...arrowProps, @@ -29714,18 +29226,35 @@ var PopperArrow = React49.forwardRef(function(propsIn, forwardedRef) { }); }); +// node_modules/@tamagui/scroll-view/dist/esm/ScrollView.mjs +var import_web21 = require("@tamagui/core"); +var import_react_native_web = __toESM(require_cjs(), 1); +var ScrollView = (0, import_web21.styled)(import_react_native_web.ScrollView, { + name: "ScrollView", + scrollEnabled: true, + variants: { + fullscreen: { + true: fullscreenStyle + } + } +}, { + accept: { + contentContainerStyle: "style" + } +}); + // node_modules/@tamagui/popover/dist/esm/Popover.mjs -var React53 = __toESM(require("react"), 1); +var React46 = __toESM(require("react"), 1); // node_modules/@tamagui/popover/dist/esm/useFloatingContext.mjs -var import_react40 = __toESM(require("react"), 1); +var import_react32 = __toESM(require("react"), 1); // node_modules/@tamagui/popover/node_modules/@floating-ui/react/dist/floating-ui.react.mjs -var React51 = __toESM(require("react"), 1); +var React44 = __toESM(require("react"), 1); // node_modules/@tamagui/popover/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs -var React50 = __toESM(require("react"), 1); -var import_react39 = require("react"); +var React43 = __toESM(require("react"), 1); +var import_react31 = require("react"); function getPlatform() { const uaData = navigator.userAgentData; if (uaData != null && uaData.platform) { @@ -29860,15 +29389,15 @@ function isMouseLikePointerType(pointerType, strict) { return values.includes(pointerType); } __name(isMouseLikePointerType, "isMouseLikePointerType"); -var isClient4 = typeof document !== "undefined"; +var isClient3 = typeof document !== "undefined"; var noop3 = /* @__PURE__ */ __name(function noop4() { }, "noop"); -var index2 = isClient4 ? import_react39.useLayoutEffect : noop3; +var index2 = isClient3 ? import_react31.useLayoutEffect : noop3; var SafeReact = { - ...React50 + ...React43 }; function useLatestRef2(value) { - const ref = React50.useRef(value); + const ref = React43.useRef(value); index2(() => { ref.current = value; }); @@ -29878,7 +29407,7 @@ __name(useLatestRef2, "useLatestRef"); var useInsertionEffect = SafeReact.useInsertionEffect; var useSafeInsertionEffect = useInsertionEffect || ((fn) => fn()); function useEffectEvent(callback) { - const ref = React50.useRef(() => { + const ref = React43.useRef(() => { if (process.env.NODE_ENV !== "production") { throw new Error("Cannot call an event handler while rendering."); } @@ -29886,7 +29415,7 @@ function useEffectEvent(callback) { useSafeInsertionEffect(() => { ref.current = callback; }); - return React50.useCallback(function() { + return React43.useCallback(function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } @@ -29896,7 +29425,7 @@ function useEffectEvent(callback) { __name(useEffectEvent, "useEffectEvent"); // node_modules/@tamagui/popover/node_modules/@floating-ui/react/dist/floating-ui.react.mjs -var import_jsx_runtime38 = require("react/jsx-runtime"); +var import_jsx_runtime36 = require("react/jsx-runtime"); var ReactDOM3 = __toESM(require("react-dom"), 1); var FOCUSABLE_ATTRIBUTE2 = "data-floating-ui-focusable"; var ACTIVE_KEY = "active"; @@ -29909,7 +29438,7 @@ var horizontalKeys = [ARROW_LEFT, ARROW_RIGHT]; var verticalKeys = [ARROW_UP, ARROW_DOWN]; var allKeys = [...horizontalKeys, ...verticalKeys]; var SafeReact2 = { - ...React51 + ...React44 }; var serverHandoffComplete = false; var count = 0; @@ -29919,13 +29448,13 @@ var genId = /* @__PURE__ */ __name(() => ( "floating-ui-" + Math.random().toString(36).slice(2, 6) + count++ ), "genId"); function useFloatingId() { - const [id, setId] = React51.useState(() => serverHandoffComplete ? genId() : void 0); + const [id, setId] = React44.useState(() => serverHandoffComplete ? genId() : void 0); index2(() => { if (id == null) { setId(genId()); } }, []); - React51.useEffect(() => { + React44.useEffect(() => { serverHandoffComplete = true; }, []); return id; @@ -29970,13 +29499,13 @@ function createEventEmitter() { }; } __name(createEventEmitter, "createEventEmitter"); -var FloatingNodeContext = /* @__PURE__ */ React51.createContext(null); -var FloatingTreeContext = /* @__PURE__ */ React51.createContext(null); +var FloatingNodeContext = /* @__PURE__ */ React44.createContext(null); +var FloatingTreeContext = /* @__PURE__ */ React44.createContext(null); var useFloatingParentNodeId = /* @__PURE__ */ __name(() => { var _React$useContext; - return ((_React$useContext = React51.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null; + return ((_React$useContext = React44.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null; }, "useFloatingParentNodeId"); -var useFloatingTree = /* @__PURE__ */ __name(() => React51.useContext(FloatingTreeContext), "useFloatingTree"); +var useFloatingTree = /* @__PURE__ */ __name(() => React44.useContext(FloatingTreeContext), "useFloatingTree"); function createAttribute(name) { return "data-floating-ui-" + name; } @@ -30013,7 +29542,7 @@ function getRestMs(value) { return value; } __name(getRestMs, "getRestMs"); -function useHover(context2, props) { +function useHover(context4, props) { if (props === void 0) { props = {}; } @@ -30023,7 +29552,7 @@ function useHover(context2, props) { dataRef, events, elements - } = context2; + } = context4; const { enabled = true, delay = 0, @@ -30038,21 +29567,21 @@ function useHover(context2, props) { const delayRef = useLatestRef2(delay); const openRef = useLatestRef2(open); const restMsRef = useLatestRef2(restMs); - const pointerTypeRef = React51.useRef(); - const timeoutRef = React51.useRef(-1); - const handlerRef = React51.useRef(); - const restTimeoutRef = React51.useRef(-1); - const blockMouseMoveRef = React51.useRef(true); - const performedPointerEventsMutationRef = React51.useRef(false); - const unbindMouseMoveRef = React51.useRef(() => { + const pointerTypeRef = React44.useRef(); + const timeoutRef = React44.useRef(-1); + const handlerRef = React44.useRef(); + const restTimeoutRef = React44.useRef(-1); + const blockMouseMoveRef = React44.useRef(true); + const performedPointerEventsMutationRef = React44.useRef(false); + const unbindMouseMoveRef = React44.useRef(() => { }); - const restTimeoutPendingRef = React51.useRef(false); + const restTimeoutPendingRef = React44.useRef(false); const isHoverOpen = useEffectEvent(() => { var _dataRef$current$open; const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type; return (type == null ? void 0 : type.includes("mouse")) && type !== "mousedown"; }); - React51.useEffect(() => { + React44.useEffect(() => { if (!enabled) return; function onOpenChange2(_ref) { let { @@ -30071,7 +29600,7 @@ function useHover(context2, props) { events.off("openchange", onOpenChange2); }; }, [enabled, events]); - React51.useEffect(() => { + React44.useEffect(() => { if (!enabled) return; if (!handleCloseRef.current) return; if (!open) return; @@ -30087,7 +29616,7 @@ function useHover(context2, props) { html.removeEventListener("mouseleave", onLeave); }; }, [elements.floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]); - const closeWithDelay = React51.useCallback(function(event, runElseBranch, reason) { + const closeWithDelay = React44.useCallback(function(event, runElseBranch, reason) { if (runElseBranch === void 0) { runElseBranch = true; } @@ -30118,7 +29647,7 @@ function useHover(context2, props) { const isClickLikeOpenEvent = useEffectEvent(() => { return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false; }); - React51.useEffect(() => { + React44.useEffect(() => { if (!enabled) return; function onReferenceMouseEnter(event) { clearTimeoutIfSet(timeoutRef); @@ -30239,7 +29768,7 @@ function useHover(context2, props) { } }; } - }, [elements, enabled, context2, mouseOnly, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent, restMsRef]); + }, [elements, enabled, context4, mouseOnly, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent, restMsRef]); index2(() => { var _handleCloseRef$curre; if (!enabled) return; @@ -30274,7 +29803,7 @@ function useHover(context2, props) { clearPointerEvents(); } }, [open, cleanupMouseMoveHandler, clearPointerEvents]); - React51.useEffect(() => { + React44.useEffect(() => { return () => { cleanupMouseMoveHandler(); clearTimeoutIfSet(timeoutRef); @@ -30282,7 +29811,7 @@ function useHover(context2, props) { clearPointerEvents(); }; }, [enabled, elements.domReference, cleanupMouseMoveHandler, clearPointerEvents]); - const reference = React51.useMemo(() => { + const reference = React44.useMemo(() => { function setPointerRef(event) { pointerTypeRef.current = event.pointerType; } @@ -30319,7 +29848,7 @@ function useHover(context2, props) { } }; }, [mouseOnly, onOpenChange, open, openRef, restMsRef]); - return React51.useMemo(() => enabled ? { + return React44.useMemo(() => enabled ? { reference } : {}, [enabled, reference]); } @@ -30368,7 +29897,7 @@ var normalizeProp = /* @__PURE__ */ __name((normalizable) => { outsidePress: typeof normalizable === "boolean" ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true }; }, "normalizeProp"); -function useDismiss(context2, props) { +function useDismiss(context4, props) { if (props === void 0) { props = {}; } @@ -30377,7 +29906,7 @@ function useDismiss(context2, props) { onOpenChange, elements, dataRef - } = context2; + } = context4; const { enabled = true, escapeKey = true, @@ -30392,7 +29921,7 @@ function useDismiss(context2, props) { const tree = useFloatingTree(); const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === "function" ? unstable_outsidePress : () => false); const outsidePress = typeof unstable_outsidePress === "function" ? outsidePressFn : unstable_outsidePress; - const endedOrStartedInsideRef = React51.useRef(false); + const endedOrStartedInsideRef = React44.useRef(false); const { escapeKey: escapeKeyBubbles, outsidePress: outsidePressBubbles @@ -30401,7 +29930,7 @@ function useDismiss(context2, props) { escapeKey: escapeKeyCapture, outsidePress: outsidePressCapture } = normalizeProp(capture); - const isComposingRef = React51.useRef(false); + const isComposingRef = React44.useRef(false); const closeOnEscapeKeyDown = useEffectEvent((event) => { var _dataRef$current$floa; if (!open || !enabled || !escapeKey || event.key !== "Escape") { @@ -30519,7 +30048,7 @@ function useDismiss(context2, props) { }, "callback"); (_getTarget4 = getTarget(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback); }); - React51.useEffect(() => { + React44.useEffect(() => { if (!open || !enabled) { return; } @@ -30587,10 +30116,10 @@ function useDismiss(context2, props) { window.clearTimeout(compositionTimeout); }; }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]); - React51.useEffect(() => { + React44.useEffect(() => { dataRef.current.insideReactTree = false; }, [dataRef, outsidePress, outsidePressEvent]); - const reference = React51.useMemo(() => ({ + const reference = React44.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, ...referencePress && { [bubbleHandlerKeys[referencePressEvent]]: (event) => { @@ -30603,7 +30132,7 @@ function useDismiss(context2, props) { } } }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]); - const floating = React51.useMemo(() => ({ + const floating = React44.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, onMouseDown() { endedOrStartedInsideRef.current = true; @@ -30615,7 +30144,7 @@ function useDismiss(context2, props) { dataRef.current.insideReactTree = true; } }), [closeOnEscapeKeyDown, outsidePressEvent, dataRef]); - return React51.useMemo(() => enabled ? { + return React44.useMemo(() => enabled ? { reference, floating } : {}, [enabled, reference, floating]); @@ -30628,8 +30157,8 @@ function useFloatingRootContext(options) { elements: elementsProp } = options; const floatingId = useId9(); - const dataRef = React51.useRef({}); - const [events] = React51.useState(() => createEventEmitter()); + const dataRef = React44.useRef({}); + const [events] = React44.useState(() => createEventEmitter()); const nested = useFloatingParentNodeId() != null; if (process.env.NODE_ENV !== "production") { const optionDomReference = elementsProp.reference; @@ -30637,7 +30166,7 @@ function useFloatingRootContext(options) { error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `refs.setPositionReference()`", "instead."); } } - const [positionReference, setPositionReference] = React51.useState(elementsProp.reference); + const [positionReference, setPositionReference] = React44.useState(elementsProp.reference); const onOpenChange = useEffectEvent((open2, event, reason) => { dataRef.current.openEvent = open2 ? event : void 0; events.emit("openchange", { @@ -30648,15 +30177,15 @@ function useFloatingRootContext(options) { }); onOpenChangeProp == null || onOpenChangeProp(open2, event, reason); }); - const refs = React51.useMemo(() => ({ + const refs = React44.useMemo(() => ({ setPositionReference }), []); - const elements = React51.useMemo(() => ({ + const elements = React44.useMemo(() => ({ reference: positionReference || elementsProp.reference || null, floating: elementsProp.floating || null, domReference: elementsProp.reference }), [positionReference, elementsProp.reference, elementsProp.floating]); - return React51.useMemo(() => ({ + return React44.useMemo(() => ({ dataRef, open, onOpenChange, @@ -30684,11 +30213,11 @@ function useFloating3(options) { }); const rootContext = options.rootContext || internalRootContext; const computedElements = rootContext.elements; - const [_domReference, setDomReference] = React51.useState(null); - const [positionReference, _setPositionReference] = React51.useState(null); + const [_domReference, setDomReference] = React44.useState(null); + const [positionReference, _setPositionReference] = React44.useState(null); const optionDomReference = computedElements == null ? void 0 : computedElements.domReference; const domReference = optionDomReference || _domReference; - const domReferenceRef = React51.useRef(null); + const domReferenceRef = React44.useRef(null); const tree = useFloatingTree(); index2(() => { if (domReference) { @@ -30704,7 +30233,7 @@ function useFloating3(options) { } } }); - const setPositionReference = React51.useCallback((node) => { + const setPositionReference = React44.useCallback((node) => { const computedPositionReference = isElement(node) ? { getBoundingClientRect: /* @__PURE__ */ __name(() => node.getBoundingClientRect(), "getBoundingClientRect"), getClientRects: /* @__PURE__ */ __name(() => node.getClientRects(), "getClientRects"), @@ -30713,7 +30242,7 @@ function useFloating3(options) { _setPositionReference(computedPositionReference); position.refs.setReference(computedPositionReference); }, [position.refs]); - const setReference = React51.useCallback((node) => { + const setReference = React44.useCallback((node) => { if (isElement(node) || node === null) { domReferenceRef.current = node; setDomReference(node); @@ -30725,17 +30254,17 @@ function useFloating3(options) { position.refs.setReference(node); } }, [position.refs]); - const refs = React51.useMemo(() => ({ + const refs = React44.useMemo(() => ({ ...position.refs, setReference, setPositionReference, domReference: domReferenceRef }), [position.refs, setReference, setPositionReference]); - const elements = React51.useMemo(() => ({ + const elements = React44.useMemo(() => ({ ...position.elements, domReference }), [position.elements, domReference]); - const context2 = React51.useMemo(() => ({ + const context4 = React44.useMemo(() => ({ ...position, ...rootContext, refs, @@ -30743,25 +30272,25 @@ function useFloating3(options) { nodeId }), [position, refs, elements, nodeId, rootContext]); index2(() => { - rootContext.dataRef.current.floatingContext = context2; + rootContext.dataRef.current.floatingContext = context4; const node = tree == null ? void 0 : tree.nodesRef.current.find((node2) => node2.id === nodeId); if (node) { - node.context = context2; + node.context = context4; } }); - return React51.useMemo(() => ({ + return React44.useMemo(() => ({ ...position, - context: context2, + context: context4, refs, elements - }), [position, refs, elements, context2]); + }), [position, refs, elements, context4]); } __name(useFloating3, "useFloating"); function isMacSafari() { return isMac() && isSafari(); } __name(isMacSafari, "isMacSafari"); -function useFocus(context2, props) { +function useFocus(context4, props) { if (props === void 0) { props = {}; } @@ -30771,15 +30300,15 @@ function useFocus(context2, props) { events, dataRef, elements - } = context2; + } = context4; const { enabled = true, visibleOnly = true } = props; - const blockFocusRef = React51.useRef(false); - const timeoutRef = React51.useRef(-1); - const keyboardModalityRef = React51.useRef(true); - React51.useEffect(() => { + const blockFocusRef = React44.useRef(false); + const timeoutRef = React44.useRef(-1); + const keyboardModalityRef = React44.useRef(true); + React44.useEffect(() => { if (!enabled) return; const win = getWindow(elements.domReference); function onBlur() { @@ -30809,7 +30338,7 @@ function useFocus(context2, props) { } }; }, [elements.domReference, open, enabled]); - React51.useEffect(() => { + React44.useEffect(() => { if (!enabled) return; function onOpenChange2(_ref) { let { @@ -30825,12 +30354,12 @@ function useFocus(context2, props) { events.off("openchange", onOpenChange2); }; }, [events, enabled]); - React51.useEffect(() => { + React44.useEffect(() => { return () => { clearTimeoutIfSet(timeoutRef); }; }, []); - const reference = React51.useMemo(() => ({ + const reference = React44.useMemo(() => ({ onMouseLeave() { blockFocusRef.current = false; }, @@ -30864,7 +30393,7 @@ function useFocus(context2, props) { }); } }), [dataRef, elements.domReference, onOpenChange, visibleOnly]); - return React51.useMemo(() => enabled ? { + return React44.useMemo(() => enabled ? { reference } : {}, [enabled, reference]); } @@ -30933,22 +30462,22 @@ function useInteractions(propsList) { const referenceDeps = propsList.map((key) => key == null ? void 0 : key.reference); const floatingDeps = propsList.map((key) => key == null ? void 0 : key.floating); const itemDeps = propsList.map((key) => key == null ? void 0 : key.item); - const getReferenceProps = React51.useCallback( + const getReferenceProps = React44.useCallback( (userProps) => mergeProps(userProps, propsList, "reference"), - + // eslint-disable-next-line react-hooks/exhaustive-deps referenceDeps ); - const getFloatingProps = React51.useCallback( + const getFloatingProps = React44.useCallback( (userProps) => mergeProps(userProps, propsList, "floating"), - + // eslint-disable-next-line react-hooks/exhaustive-deps floatingDeps ); - const getItemProps = React51.useCallback( + const getItemProps = React44.useCallback( (userProps) => mergeProps(userProps, propsList, "item"), - + // eslint-disable-next-line react-hooks/exhaustive-deps itemDeps ); - return React51.useMemo(() => ({ + return React44.useMemo(() => ({ getReferenceProps, getFloatingProps, getItemProps @@ -30956,7 +30485,7 @@ function useInteractions(propsList) { } __name(useInteractions, "useInteractions"); var componentRoleToAriaRoleMap = /* @__PURE__ */ new Map([["select", "listbox"], ["combobox", "listbox"], ["label", false]]); -function useRole(context2, props) { +function useRole(context4, props) { var _elements$domReferenc, _componentRoleToAriaR; if (props === void 0) { props = {}; @@ -30965,21 +30494,21 @@ function useRole(context2, props) { open, elements, floatingId: defaultFloatingId - } = context2; + } = context4; const { enabled = true, role = "dialog" } = props; const defaultReferenceId = useId9(); const referenceId = ((_elements$domReferenc = elements.domReference) == null ? void 0 : _elements$domReferenc.id) || defaultReferenceId; - const floatingId = React51.useMemo(() => { + const floatingId = React44.useMemo(() => { var _getFloatingFocusElem; return ((_getFloatingFocusElem = getFloatingFocusElement(elements.floating)) == null ? void 0 : _getFloatingFocusElem.id) || defaultFloatingId; }, [elements.floating, defaultFloatingId]); const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role; const parentId = useFloatingParentNodeId(); const isNested = parentId != null; - const reference = React51.useMemo(() => { + const reference = React44.useMemo(() => { if (ariaRole === "tooltip" || role === "label") { return { ["aria-" + (role === "label" ? "labelledby" : "describedby")]: open ? floatingId : void 0 @@ -31006,7 +30535,7 @@ function useRole(context2, props) { } }; }, [ariaRole, floatingId, isNested, open, referenceId, role]); - const floating = React51.useMemo(() => { + const floating = React44.useMemo(() => { const floatingProps = { id: floatingId, ...ariaRole && { @@ -31023,7 +30552,7 @@ function useRole(context2, props) { } }; }, [ariaRole, floatingId, referenceId, role]); - const item = React51.useCallback((_ref) => { + const item = React44.useCallback((_ref) => { let { active, selected @@ -31044,7 +30573,7 @@ function useRole(context2, props) { } return {}; }, [floatingId, role]); - return React51.useMemo(() => enabled ? { + return React44.useMemo(() => enabled ? { reference, floating, item @@ -31258,7 +30787,7 @@ var useFloatingContext = /* @__PURE__ */ __name(({ disable, disableFocus, hoverable -}) => import_react40.default.useCallback((props) => { +}) => import_react32.default.useCallback((props) => { const floating = useFloating3({ ...props, open, @@ -31296,41 +30825,41 @@ var useFloatingContext = /* @__PURE__ */ __name(({ }, [open, setOpen, disable, disableFocus, hoverable]), "useFloatingContext"); // node_modules/@tamagui/popover/dist/esm/Popover.mjs -var import_jsx_runtime39 = require("react/jsx-runtime"); -var needsRepropagation2 = isAndroid || isIos && !USE_NATIVE_PORTAL; -var PopoverContext = (0, import_core27.createStyledContext)( +var import_jsx_runtime37 = require("react/jsx-runtime"); +var needsRepropagation2 = needsPortalRepropagation(); +var PopoverContext = (0, import_core22.createStyledContext)( // since we always provide this we can avoid setting here {}, "Popover__" ); var usePopoverContext = PopoverContext.useStyledContext; -var PopoverAnchor = React53.forwardRef(function(props, forwardedRef) { +var PopoverAnchor = React46.forwardRef(function(props, forwardedRef) { const { scope, ...rest - } = props, context2 = usePopoverContext(scope), { + } = props, context4 = usePopoverContext(scope), { onCustomAnchorAdd, onCustomAnchorRemove - } = context2 || {}; - return React53.useEffect(() => (onCustomAnchorAdd(), () => onCustomAnchorRemove()), [onCustomAnchorAdd, onCustomAnchorRemove]), /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopperAnchor, { + } = context4 || {}; + return React46.useEffect(() => (onCustomAnchorAdd(), () => onCustomAnchorRemove()), [onCustomAnchorAdd, onCustomAnchorRemove]), /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperAnchor, { scope, ...rest, ref: forwardedRef }); }); -var PopoverTrigger = React53.forwardRef(function(props, forwardedRef) { +var PopoverTrigger = React46.forwardRef(function(props, forwardedRef) { const { scope, ...rest - } = props, context2 = usePopoverContext(scope), anchorTo = context2.anchorTo, composedTriggerRef = useComposedRefs(forwardedRef, context2.triggerRef); + } = props, context4 = usePopoverContext(scope), anchorTo = context4.anchorTo, composedTriggerRef = useComposedRefs(forwardedRef, context4.triggerRef); if (!props.children) return null; - const trigger = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_core27.View, { - "aria-expanded": context2.open, - "data-state": getState5(context2.open), + const trigger = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core22.View, { + "aria-expanded": context4.open, + "data-state": getState5(context4.open), ...rest, ref: composedTriggerRef, - onPress: composeEventHandlers(props.onPress, context2.onOpenToggle) - }), virtualRef = React53.useMemo(() => anchorTo ? { + onPress: composeEventHandlers(props.onPress, context4.onOpenToggle) + }), virtualRef = React46.useMemo(() => anchorTo ? { current: { getBoundingClientRect: /* @__PURE__ */ __name(() => isWeb ? DOMRect.fromRect(anchorTo) : anchorTo, "getBoundingClientRect"), ...!isWeb && { @@ -31338,8 +30867,8 @@ var PopoverTrigger = React53.forwardRef(function(props, forwardedRef) { measureInWindow: /* @__PURE__ */ __name((c) => c(anchorTo?.x, anchorTo?.y, anchorTo?.width, anchorTo?.height), "measureInWindow") } } - } : null, [context2.anchorTo, anchorTo?.x, anchorTo?.y, anchorTo?.x, anchorTo?.height, anchorTo?.width]); - return context2.hasCustomAnchor ? trigger : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopperAnchor, { + } : null, [context4.anchorTo, anchorTo?.x, anchorTo?.y, anchorTo?.height, anchorTo?.width]); + return context4.hasCustomAnchor ? trigger : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperAnchor, { ...virtualRef && { virtualRef }, @@ -31348,35 +30877,37 @@ var PopoverTrigger = React53.forwardRef(function(props, forwardedRef) { children: trigger }); }); -var PopoverContentFrame = (0, import_core27.styled)(PopperContentFrame, { +var PopoverContentFrame = (0, import_core22.styled)(PopperContentFrame, { name: "Popover" }); -var PopoverContent = PopoverContentFrame.extractable(React53.forwardRef(function(props, forwardedRef) { +var PopoverContent = PopoverContentFrame.styleable(function(props, forwardedRef) { const { trapFocus, enableRemoveScroll = false, zIndex, scope, ...contentImplProps - } = props, context2 = usePopoverContext(scope), contentRef = React53.useRef(null), composedRefs = useComposedRefs(forwardedRef, contentRef), isRightClickOutsideRef = React53.useRef(false), [isFullyHidden, setIsFullyHidden] = React53.useState(!context2.open); - return context2.open && isFullyHidden && setIsFullyHidden(false), !context2.keepChildrenMounted && isFullyHidden ? null : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopoverPortal, { - passThrough: context2.breakpointActive, - context: context2, + } = props, context4 = usePopoverContext(scope), contentRef = React46.useRef(null), composedRefs = useComposedRefs(forwardedRef, contentRef), isRightClickOutsideRef = React46.useRef(false), [isFullyHidden, setIsFullyHidden] = React46.useState(!context4.open); + return React46.useEffect(() => { + context4.open && isFullyHidden && setIsFullyHidden(false); + }, [context4.open, isFullyHidden]), !context4.keepChildrenMounted && isFullyHidden && !context4.open ? null : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopoverPortal, { + passThrough: context4.breakpointActive, + context: context4, zIndex, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_core27.Stack, { - passThrough: context2.breakpointActive, - pointerEvents: context2.open ? contentImplProps.pointerEvents ?? "auto" : "none", - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopoverContentImpl, { + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core22.View, { + passThrough: context4.breakpointActive, + pointerEvents: context4.open ? contentImplProps.pointerEvents ?? "auto" : "none", + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopoverContentImpl, { ...contentImplProps, - context: context2, + context: context4, enableRemoveScroll, ref: composedRefs, setIsFullyHidden, scope, - trapFocus: trapFocus ?? context2.open, + trapFocus: trapFocus ?? context4.open, disableOutsidePointerEvents: true, onCloseAutoFocus: props.onCloseAutoFocus === false ? void 0 : composeEventHandlers(props.onCloseAutoFocus, (event) => { - event.defaultPrevented || (event.preventDefault(), isRightClickOutsideRef.current || context2.triggerRef.current?.focus()); + event.defaultPrevented || (event.preventDefault(), isRightClickOutsideRef.current || context4.triggerRef.current?.focus()); }), onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => { const originalEvent = event.detail.originalEvent, ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true, isRightClick = originalEvent.button === 2 || ctrlLeftClick; @@ -31390,27 +30921,27 @@ var PopoverContent = PopoverContentFrame.extractable(React53.forwardRef(function }) }) }); -})); +}); var useParentContexts = /* @__PURE__ */ __name((scope) => { - const context2 = usePopoverContext(scope), popperContext = usePopperContext(scope), adaptContext = useAdaptContext(context2.adaptScope); + const context4 = usePopoverContext(scope), popperContext = usePopperContext(scope), adaptContext = useAdaptContext(context4.adaptScope); return { popperContext, adaptContext, - context: context2 + context: context4 }; }, "useParentContexts"); function RepropagateParentContexts({ adaptContext, children, - context: context2, + context: context4, popperContext }) { - return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopperProvider, { - scope: context2.popoverScope, + return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperProvider, { + scope: context4.popoverScope, ...popperContext, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopoverContext.Provider, { - ...context2, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ProvideAdaptContext, { + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopoverContext.Provider, { + ...context4, + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ProvideAdaptContext, { ...adaptContext, children }) @@ -31420,52 +30951,52 @@ function RepropagateParentContexts({ __name(RepropagateParentContexts, "RepropagateParentContexts"); var PortalAdaptSafe = /* @__PURE__ */ __name(({ children, - context: context2 + context: context4 }) => { if (needsRepropagation2) { - const parentContexts = useParentContexts(context2.popoverScope); - return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(AdaptPortalContents, { - scope: context2.adaptScope, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RepropagateParentContexts, { + const parentContexts = useParentContexts(context4.popoverScope); + return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AdaptPortalContents, { + scope: context4.adaptScope, + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RepropagateParentContexts, { ...parentContexts, children }) }); } - return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(AdaptPortalContents, { - scope: context2.adaptScope, + return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AdaptPortalContents, { + scope: context4.adaptScope, children }); }, "PortalAdaptSafe"); function PopoverPortal({ - context: context2, + context: context4, zIndex, passThrough, children, onPress }) { - const themeName = (0, import_core27.useThemeName)(); + const themeName = (0, import_core22.useThemeName)(); let content = children; if (needsRepropagation2) { - const parentContexts = useParentContexts(context2.popoverScope); - content = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RepropagateParentContexts, { + const parentContexts = useParentContexts(context4.popoverScope); + content = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RepropagateParentContexts, { ...parentContexts, children: content }); } - return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Portal, { + return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Portal, { passThrough, stackZIndex: true, zIndex, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_core27.Theme, { + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_core22.Theme, { passThrough, contain: true, forceClassName: true, name: themeName, - children: [!!context2.open && !context2.breakpointActive && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(YStack, { + children: [!!context4.open && !context4.breakpointActive && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(YStack, { fullscreen: true, - onPress: composeEventHandlers(onPress, context2.onOpenToggle) - }), /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(StackZIndexContext, { + onPress: composeEventHandlers(onPress, context4.onOpenToggle) + }), /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(StackZIndexContext, { zIndex: resolveViewZIndex(zIndex), children: content })] @@ -31473,7 +31004,7 @@ function PopoverPortal({ }); } __name(PopoverPortal, "PopoverPortal"); -var PopoverContentImpl = React53.forwardRef(function(props, forwardedRef) { +var PopoverContentImpl = React46.forwardRef(function(props, forwardedRef) { const { trapFocus, scope, @@ -31490,102 +31021,102 @@ var PopoverContentImpl = React53.forwardRef(function(props, forwardedRef) { freezeContentsWhenHidden, setIsFullyHidden, lazyMount, - context: context2, + context: context4, ...contentProps } = props, { open, keepChildrenMounted - } = context2, handleExitComplete = React53.useCallback(() => { + } = context4, handleExitComplete = React46.useCallback(() => { setIsFullyHidden?.(true); }, [setIsFullyHidden]); - let contents = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ResetPresence, { - disable: context2.breakpointActive, + let contents = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ResetPresence, { + disable: context4.breakpointActive, children }); - return context2.breakpointActive || (contents = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RemoveScroll, { - enabled: context2.breakpointActive ? false : enableRemoveScroll ? open : false, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(FocusScope, { + return context4.breakpointActive || (contents = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RemoveScroll, { + enabled: context4.breakpointActive ? false : enableRemoveScroll ? open : false, + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(FocusScope, { loop: trapFocus !== false, - enabled: context2.breakpointActive || disableFocusScope ? false : open, - trapped: context2.breakpointActive ? false : trapFocus, + enabled: context4.breakpointActive || disableFocusScope ? false : open, + trapped: context4.breakpointActive ? false : trapFocus, onMountAutoFocus: onOpenAutoFocus, onUnmountAutoFocus: onCloseAutoFocus === false ? void 0 : onCloseAutoFocus, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { style: dspContentsStyle, children: contents }) }) - })), /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Animate, { + })), /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Animate, { type: "presence", present: !!open, keepChildrenMounted: !!keepChildrenMounted, onExitComplete: handleExitComplete, lazyMount, - passThrough: context2.breakpointActive, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopperContent, { + passThrough: context4.breakpointActive, + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperContent, { scope, "data-state": getState5(open), - id: context2.contentId, + id: context4.contentId, ref: forwardedRef, - passThrough: context2.breakpointActive, + passThrough: context4.breakpointActive, ...contentProps, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PortalAdaptSafe, { - context: context2, + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PortalAdaptSafe, { + context: context4, children: contents }) - }, context2.contentId) + }, context4.contentId) }); }); var dspContentsStyle = { display: "contents" }; -var PopoverClose = React53.forwardRef(function(props, forwardedRef) { +var PopoverClose = React46.forwardRef(function(props, forwardedRef) { const { scope, ...rest - } = props, context2 = usePopoverContext(scope); - return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(YStack, { + } = props, context4 = usePopoverContext(scope); + return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(YStack, { ...rest, ref: forwardedRef, componentName: "PopoverClose", - onPress: composeEventHandlers(props.onPress, () => context2?.onOpenChange?.(false, "press")) + onPress: composeEventHandlers(props.onPress, () => context4?.onOpenChange?.(false, "press")) }); }); var PopoverArrow = PopperArrowFrame.styleable(function(props, forwardedRef) { const { scope, ...rest - } = props, context2 = usePopoverContext(scope); - return useAdaptIsActive(context2.adaptScope) ? null : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopperArrow, { + } = props, context4 = usePopoverContext(scope); + return useAdaptIsActive(context4.adaptScope) ? null : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopperArrow, { scope, componentName: "PopoverArrow", ...rest, ref: forwardedRef }); }); -var PopoverScrollView = React53.forwardRef(({ +var PopoverScrollView = React46.forwardRef(({ scope, ...props }, ref) => { - const context2 = usePopoverContext(scope); - return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ScrollView, { + const context4 = usePopoverContext(scope); + return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ScrollView, { ref, - pointerEvents: context2.breakpointActive ? "none" : void 0, - scrollEnabled: !context2.breakpointActive, - passThrough: context2.breakpointActive, + pointerEvents: context4.breakpointActive ? "none" : void 0, + scrollEnabled: !context4.breakpointActive, + passThrough: context4.breakpointActive, ...props }); }); var DEFAULT_SCOPE = ""; -var Popover = withStaticProperties(React53.forwardRef(function({ +var Popover = withStaticProperties(React46.forwardRef(function({ scope = DEFAULT_SCOPE, ...props }, ref) { - const id = React53.useId(), adaptScope = `PopoverAdapt${scope}`; - return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(AdaptParent, { + const id = React46.useId(), adaptScope = `PopoverAdapt${scope}`; + return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AdaptParent, { scope: adaptScope, portal: true, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopoverInner, { + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopoverInner, { adaptScope, ref, id, @@ -31601,10 +31132,9 @@ var Popover = withStaticProperties(React53.forwardRef(function({ Close: PopoverClose, Adapt, ScrollView: PopoverScrollView, - Sheet: Sheet.Controlled, FocusScope: FocusScopeControllerComponent }); -var PopoverInner = React53.forwardRef(function(props, forwardedRef) { +var PopoverInner = React46.forwardRef(function(props, forwardedRef) { const { children, open: openProp, @@ -31617,7 +31147,7 @@ var PopoverInner = React53.forwardRef(function(props, forwardedRef) { id, adaptScope, ...restProps - } = props, triggerRef = React53.useRef(null), [hasCustomAnchor, setHasCustomAnchor] = React53.useState(false), viaRef = React53.useRef(void 0), [keepChildrenMounted] = useControllableState({ + } = props, triggerRef = React46.useRef(null), [hasCustomAnchor, setHasCustomAnchor] = React46.useState(false), viaRef = React46.useRef(void 0), [keepChildrenMounted] = useControllableState({ prop: keepChildrenMountedProp, defaultProp: false, transition: keepChildrenMountedProp === "lazy" @@ -31627,7 +31157,7 @@ var PopoverInner = React53.forwardRef(function(props, forwardedRef) { onChange: /* @__PURE__ */ __name((val) => { onOpenChange?.(val, viaRef.current); }, "onChange") - }), handleOpenChange = (0, import_core27.useEvent)((val, via) => { + }), handleOpenChange = (0, import_core22.useEvent)((val, via) => { viaRef.current = via, setOpen(val); }), isAdapted = useAdaptIsActive(adaptScope), floatingContext = useFloatingContext({ open, @@ -31635,8 +31165,8 @@ var PopoverInner = React53.forwardRef(function(props, forwardedRef) { disable: isAdapted, hoverable, disableFocus - }), [anchorTo, setAnchorToRaw] = React53.useState(), setAnchorTo = (0, import_core27.useCreateShallowSetState)(setAnchorToRaw); - React53.useImperativeHandle(forwardedRef, () => ({ + }), [anchorTo, setAnchorToRaw] = React46.useState(), setAnchorTo = (0, import_core22.useCreateShallowSetState)(setAnchorToRaw); + React46.useImperativeHandle(forwardedRef, () => ({ anchorTo: setAnchorTo, toggle: /* @__PURE__ */ __name(() => setOpen((prev) => !prev), "toggle"), open: /* @__PURE__ */ __name(() => setOpen(true), "open"), @@ -31647,28 +31177,28 @@ var PopoverInner = React53.forwardRef(function(props, forwardedRef) { popoverScope: scope, adaptScope, id, - contentId: React53.useId(), + contentId: React46.useId(), triggerRef, open, breakpointActive: isAdapted, onOpenChange: handleOpenChange, - onOpenToggle: (0, import_core27.useEvent)(() => { + onOpenToggle: (0, import_core22.useEvent)(() => { open && isAdapted || setOpen(!open); }), hasCustomAnchor, anchorTo, - onCustomAnchorAdd: React53.useCallback(() => setHasCustomAnchor(true), []), - onCustomAnchorRemove: React53.useCallback(() => setHasCustomAnchor(false), []), + onCustomAnchorAdd: React46.useCallback(() => setHasCustomAnchor(true), []), + onCustomAnchorRemove: React46.useCallback(() => setHasCustomAnchor(false), []), keepChildrenMounted - }, memoizedChildren = React53.useMemo(() => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopoverContext.Provider, { + }, memoizedChildren = React46.useMemo(() => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopoverContext.Provider, { scope, ...popoverContext, - children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PopoverSheetController, { + children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(PopoverSheetController, { context: popoverContext, onOpenChange: setOpen, children }) - }), [scope, setOpen, children, ...Object.values(popoverContext)]), contents = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Popper, { + }), [scope, setOpen, children, ...Object.values(popoverContext)]), contents = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Popper, { open, passThrough: isAdapted, scope, @@ -31676,8 +31206,8 @@ var PopoverInner = React53.forwardRef(function(props, forwardedRef) { ...restProps, children: memoizedChildren }); - return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { - children: isWeb ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(FloatingOverrideContext.Provider, { + return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { + children: isWeb ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(FloatingOverrideContext.Provider, { value: floatingContext, children: contents }) : contents @@ -31688,40 +31218,40 @@ function getState5(open) { } __name(getState5, "getState"); var PopoverSheetController = /* @__PURE__ */ __name(({ - context: context2, + context: context4, ...props }) => { - const showSheet = useShowPopoverSheet(context2), breakpointActive = context2.breakpointActive, getShowSheet = (0, import_core27.useGet)(showSheet); - return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SheetController, { + const showSheet = useShowPopoverSheet(context4), breakpointActive = context4.breakpointActive, getShowSheet = (0, import_core22.useGet)(showSheet); + return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(SheetController, { onOpenChange: /* @__PURE__ */ __name((val) => { getShowSheet() && props.onOpenChange?.(val); }, "onOpenChange"), - open: context2.open, + open: context4.open, hidden: !breakpointActive, children: props.children }); }, "PopoverSheetController"); -var useShowPopoverSheet = /* @__PURE__ */ __name((context2) => { - const isAdapted = useAdaptIsActive(context2.adaptScope); - return context2.open === false ? false : isAdapted; +var useShowPopoverSheet = /* @__PURE__ */ __name((context4) => { + const isAdapted = useAdaptIsActive(context4.adaptScope); + return context4.open === false ? false : isAdapted; }, "useShowPopoverSheet"); // node_modules/@tamagui/progress/dist/esm/Progress.mjs -var import_core28 = require("@tamagui/core"); -var React54 = __toESM(require("react"), 1); -var import_jsx_runtime40 = require("react/jsx-runtime"); +var import_core23 = require("@tamagui/core"); +var import_react34 = require("react"); +var import_jsx_runtime38 = require("react/jsx-runtime"); var PROGRESS_NAME = "Progress"; var [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME); var [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME); var INDICATOR_NAME2 = "ProgressIndicator"; -var ProgressIndicatorFrame = (0, import_core28.styled)(ThemeableStack, { +var ProgressIndicatorFrame = (0, import_core23.styled)(YStack, { name: INDICATOR_NAME2, variants: { unstyled: { false: { height: "100%", width: "100%", - backgrounded: true + backgroundColor: "$background" } } }, @@ -31732,22 +31262,31 @@ var ProgressIndicatorFrame = (0, import_core28.styled)(ThemeableStack, { var ProgressIndicator = ProgressIndicatorFrame.styleable(function(props, forwardedRef) { const { __scopeProgress, - animation, + transition, ...indicatorProps - } = props, context2 = useProgressContext(INDICATOR_NAME2, __scopeProgress), pct = context2.max - (context2.value ?? 0), x = -(context2.width === 0 ? 300 : context2.width) * (pct / 100); - return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ProgressIndicatorFrame, { - "data-state": getProgressState(context2.value, context2.max), - "data-value": context2.value ?? void 0, - "data-max": context2.max, + } = props, context4 = useProgressContext(INDICATOR_NAME2, __scopeProgress), progressRatio = (context4.value ?? 0) / context4.max; + let x; + if (import_core23.isWeb) x = `${-100 + progressRatio * 50}%`; + else { + const baseWidth = context4.width || 0; + x = Math.ceil(-baseWidth * (2 - progressRatio)); + } + return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ProgressIndicatorFrame, { + "data-state": getProgressState(context4.value, context4.max), + "data-value": context4.value ?? void 0, + "data-max": context4.max, x, - width: context2.width, + width: "200%", ...!props.unstyled && { animateOnly: ["transform"], - opacity: context2.width === 0 ? 0 : 1 + // on native, hide until we have width measurement + ...!import_core23.isWeb && context4.width === 0 && { + opacity: 0 + } }, ...indicatorProps, ref: forwardedRef, - animation: context2.width ? animation : null + transition: !import_core23.isWeb && !context4.width ? null : transition }); }); function defaultGetValueLabel(value, max2) { @@ -31771,22 +31310,22 @@ function isValidValueNumber(value, max2) { } __name(isValidValueNumber, "isValidValueNumber"); var DEFAULT_MAX = 100; -var ProgressFrame = (0, import_core28.styled)(ThemeableStack, { +var ProgressFrame = (0, import_core23.styled)(YStack, { name: "Progress", variants: { unstyled: { false: { borderRadius: 1e5, overflow: "hidden", - backgrounded: true + backgroundColor: "$background" } }, size: { "...size": /* @__PURE__ */ __name((val) => { - const size4 = Math.round((0, import_core28.getVariableValue)(getSize(val)) * 0.25); + const size4 = Math.round((0, import_core23.getVariableValue)(getSize(val)) * 0.25); return { height: size4, - minWidth: (0, import_core28.getVariableValue)(size4) * 20, + minWidth: (0, import_core23.getVariableValue)(size4) * 20, width: "100%" }; }, "...size") @@ -31805,13 +31344,13 @@ var Progress = withStaticProperties(ProgressFrame.styleable(function(props, forw getValueLabel = defaultGetValueLabel, size: size4 = "$true", ...progressProps - } = props, max2 = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX, value = isValidValueNumber(valueProp, max2) ? valueProp : null, valueLabel = isNumber(value) ? getValueLabel(value, max2) : void 0, [width, setWidth] = React54.useState(0); - return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ProgressProvider, { + } = props, max2 = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX, value = isValidValueNumber(valueProp, max2) ? Math.round(valueProp) : null, valueLabel = isNumber(value) ? getValueLabel(value, max2) : void 0, [width, setWidth] = (0, import_react34.useState)(0); + return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ProgressProvider, { scope: __scopeProgress, value, max: max2, width, - children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ProgressFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ProgressFrame, { "aria-valuemax": max2, "aria-valuemin": 0, "aria-valuenow": isNumber(value) ? value : void 0, @@ -31824,9 +31363,12 @@ var Progress = withStaticProperties(ProgressFrame.styleable(function(props, forw size: size4 }, ...progressProps, - onLayout: /* @__PURE__ */ __name((e) => { - setWidth(e.nativeEvent.layout.width), progressProps.onLayout?.(e); - }, "onLayout"), + ...!import_core23.isWeb && { + onLayout: /* @__PURE__ */ __name((e) => { + const newWidth = Math.round(e.nativeEvent.layout.width); + newWidth !== width && setWidth(newWidth), progressProps.onLayout?.(e); + }, "onLayout") + }, ref: forwardedRef }) }); @@ -31835,11 +31377,11 @@ var Progress = withStaticProperties(ProgressFrame.styleable(function(props, forw }); // node_modules/@tamagui/radio-group/dist/esm/RadioGroup.mjs -var import_core29 = require("@tamagui/core"); +var import_core24 = require("@tamagui/core"); var RADIO_GROUP_ITEM_NAME = "RadioGroupItem"; -var RadioGroupItemFrame = (0, import_core29.styled)(ThemeableStack, { +var RadioGroupItemFrame = (0, import_core24.styled)(YStack, { name: RADIO_GROUP_ITEM_NAME, - tag: "button", + render: "button", variants: { unstyled: { false: { @@ -31892,7 +31434,7 @@ var RadioGroupItemFrame = (0, import_core29.styled)(ThemeableStack, { "...size": /* @__PURE__ */ __name((value, { props }) => { - const size4 = Math.floor((0, import_core29.getVariableValue)(getSize(value)) * (props.scaleSize ?? 0.5)); + const size4 = Math.floor((0, import_core24.getVariableValue)(getSize(value)) * (props.scaleSize ?? 0.5)); return { width: size4, height: size4 @@ -31905,7 +31447,7 @@ var RadioGroupItemFrame = (0, import_core29.styled)(ThemeableStack, { } }); var RADIO_GROUP_INDICATOR_NAME = "RadioGroupIndicator"; -var RadioGroupIndicatorFrame = (0, import_core29.styled)(ThemeableStack, { +var RadioGroupIndicatorFrame = (0, import_core24.styled)(YStack, { name: RADIO_GROUP_INDICATOR_NAME, variants: { unstyled: { @@ -31923,7 +31465,7 @@ var RadioGroupIndicatorFrame = (0, import_core29.styled)(ThemeableStack, { } }); var RADIO_GROUP_NAME = "RadioGroup"; -var RadioGroupFrame = (0, import_core29.styled)(ThemeableStack, { +var RadioGroupFrame = (0, import_core24.styled)(YStack, { name: RADIO_GROUP_NAME, variants: { orientation: { @@ -31940,15 +31482,14 @@ var RadioGroupFrame = (0, import_core29.styled)(ThemeableStack, { }); // node_modules/@tamagui/radio-group/dist/esm/createRadioGroup.mjs -var import_react44 = __toESM(require("react"), 1); -var import_core31 = require("@tamagui/core"); +var import_core26 = require("@tamagui/core"); // node_modules/@tamagui/radio-headless/dist/esm/useRadioGroup.mjs -var import_react43 = require("react"); +var import_react36 = require("react"); // node_modules/@tamagui/radio-headless/dist/esm/BubbleInput.mjs -var import_react42 = __toESM(require("react"), 1); -var import_jsx_runtime41 = require("react/jsx-runtime"); +var import_react35 = __toESM(require("react"), 1); +var import_jsx_runtime39 = require("react/jsx-runtime"); var BubbleInput2 = /* @__PURE__ */ __name((props) => { const { checked, @@ -31957,8 +31498,8 @@ var BubbleInput2 = /* @__PURE__ */ __name((props) => { isHidden: isHidden2, accentColor, ...inputProps - } = props, ref = import_react42.default.useRef(null), prevChecked = usePrevious(checked); - return import_react42.default.useEffect(() => { + } = props, ref = import_react35.default.useRef(null), prevChecked = usePrevious(checked); + return import_react35.default.useEffect(() => { const input = ref.current, inputProto = window.HTMLInputElement.prototype, setChecked = Object.getOwnPropertyDescriptor(inputProto, "checked").set; if (prevChecked !== checked && setChecked) { const event = new Event("click", { @@ -31966,7 +31507,7 @@ var BubbleInput2 = /* @__PURE__ */ __name((props) => { }); setChecked.call(input, checked), input.dispatchEvent(event); } - }, [prevChecked, checked, bubbles]), /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("input", { + }, [prevChecked, checked, bubbles]), /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("input", { type: "radio", defaultChecked: checked, ...inputProps, @@ -31996,7 +31537,7 @@ function getState6(checked) { __name(getState6, "getState"); // node_modules/@tamagui/radio-headless/dist/esm/useRadioGroup.mjs -var import_jsx_runtime42 = require("react/jsx-runtime"); +var import_jsx_runtime40 = require("react/jsx-runtime"); function useRadioGroup(params) { const { value: valueProp, @@ -32056,8 +31597,8 @@ var useRadioGroupItem = /* @__PURE__ */ __name((params) => { name, native, accentColor - } = (0, import_react43.useContext)(radioGroupContext), [button, setButton] = (0, import_react43.useState)(null), hasConsumerStoppedPropagationRef = (0, import_react43.useRef)(false), ref = (0, import_react43.useRef)(null), composedRefs = useComposedRefs(refProp, (node) => setButton(node), ref), isArrowKeyPressedRef = (0, import_react43.useRef)(false), isFormControl = isWeb ? button ? !!button.closest("form") : true : false, checked = groupValue === value, labelId = useLabelContext(button), labelledBy = ariaLabelledby || labelId; - (0, import_react43.useEffect)(() => { + } = (0, import_react36.useContext)(radioGroupContext), [button, setButton] = (0, import_react36.useState)(null), hasConsumerStoppedPropagationRef = (0, import_react36.useRef)(false), ref = (0, import_react36.useRef)(null), composedRefs = useComposedRefs(refProp, (node) => setButton(node), ref), isArrowKeyPressedRef = (0, import_react36.useRef)(false), isFormControl = isWeb ? button ? !!button.closest("form") : true : false, checked = groupValue === value, labelId = useLabelContext(button), labelledBy = ariaLabelledby || labelId; + (0, import_react36.useEffect)(() => { if (isWeb) { const handleKeyDown = /* @__PURE__ */ __name((event) => { ARROW_KEYS.includes(event.key) && (isArrowKeyPressedRef.current = true); @@ -32076,7 +31617,7 @@ var useRadioGroupItem = /* @__PURE__ */ __name((params) => { }, checked, isFormControl, - bubbleInput: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(BubbleInput2, { + bubbleInput: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(BubbleInput2, { isHidden: !native, control: button, bubbles: !hasConsumerStoppedPropagationRef.current, @@ -32110,7 +31651,7 @@ var useRadioGroupItem = /* @__PURE__ */ __name((params) => { }), ...isWeb && { onKeyDown: composeEventHandlers(onKeyDown, (event) => { - event.key === "Enter" && event.preventDefault(); + (event.key === "Enter" || event.key === " ") && (checked || onChange?.(value)); }), onFocus: composeEventHandlers(onFocus, () => { isArrowKeyPressedRef.current && ref.current?.click(); @@ -32118,7 +31659,7 @@ var useRadioGroupItem = /* @__PURE__ */ __name((params) => { } }, rovingFocusGroupAttrs: { - asChild: "expect-style", + asChild: "except-style", focusable: !isDisabled, active: checked } @@ -32131,7 +31672,7 @@ function useRadioGroupItemIndicator(params) { ...rest } = params, { checked - } = (0, import_react43.useContext)(radioGroupItemContext); + } = (0, import_react36.useContext)(radioGroupItemContext); return { checked, "data-state": getState6(checked), @@ -32142,15 +31683,15 @@ function useRadioGroupItemIndicator(params) { __name(useRadioGroupItemIndicator, "useRadioGroupItemIndicator"); // node_modules/@tamagui/roving-focus/dist/esm/RovingFocusGroup.mjs -var import_core30 = require("@tamagui/core"); -var React56 = __toESM(require("react"), 1); -var import_jsx_runtime43 = require("react/jsx-runtime"); +var import_core25 = require("@tamagui/core"); +var React48 = __toESM(require("react"), 1); +var import_jsx_runtime41 = require("react/jsx-runtime"); var ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus"; var EVENT_OPTIONS2 = { bubbles: false, cancelable: true }; -var RovingFocusGroupImpl = React56.forwardRef((props, forwardedRef) => { +var RovingFocusGroupImpl = React48.forwardRef((props, forwardedRef) => { const { __scopeRovingFocusGroup, orientation, @@ -32160,33 +31701,29 @@ var RovingFocusGroupImpl = React56.forwardRef((props, forwardedRef) => { defaultCurrentTabStopId, onCurrentTabStopIdChange, onEntryFocus, + asChild, ...groupProps - } = props, ref = React56.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), direction = useDirection(dir), [currentTabStopId = null, setCurrentTabStopId] = useControllableState({ + } = props, ref = React48.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), direction = useDirection(dir), [currentTabStopId = null, setCurrentTabStopId] = useControllableState({ prop: currentTabStopIdProp, defaultProp: defaultCurrentTabStopId ?? null, onChange: onCurrentTabStopIdChange - }), [isTabbingBackOut, setIsTabbingBackOut] = React56.useState(false), handleEntryFocus = (0, import_core30.useEvent)(onEntryFocus), getItems = useCollection2(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT), isClickFocusRef = React56.useRef(false), [focusableItemsCount, setFocusableItemsCount] = React56.useState(0); - return React56.useEffect(() => { - const node = ref.current; - if (node) return node.addEventListener(ENTRY_FOCUS, handleEntryFocus), () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus); - }, [handleEntryFocus]), /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RovingFocusProvider, { + }), [isTabbingBackOut, setIsTabbingBackOut] = React48.useState(false), handleEntryFocus = (0, import_core25.useEvent)(onEntryFocus), getItems = useCollection2(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT), isClickFocusRef = React48.useRef(false), [focusableItemsCount, setFocusableItemsCount] = React48.useState(0), Comp = asChild ? import_core25.Slot : import_core25.View; + return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(RovingFocusProvider, { scope: __scopeRovingFocusGroup, orientation, dir: direction, loop, currentTabStopId, - onItemFocus: React56.useCallback((tabStopId) => setCurrentTabStopId(tabStopId), [setCurrentTabStopId]), - onItemShiftTab: React56.useCallback(() => setIsTabbingBackOut(true), []), - onFocusableItemAdd: React56.useCallback(() => setFocusableItemsCount((prevCount) => prevCount + 1), []), - onFocusableItemRemove: React56.useCallback(() => setFocusableItemsCount((prevCount) => prevCount - 1), []), - children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core30.Stack, { + onItemFocus: React48.useCallback((tabStopId) => setCurrentTabStopId(tabStopId), [setCurrentTabStopId]), + onItemShiftTab: React48.useCallback(() => setIsTabbingBackOut(true), []), + onFocusableItemAdd: React48.useCallback(() => setFocusableItemsCount((prevCount) => prevCount + 1), []), + onFocusableItemRemove: React48.useCallback(() => setFocusableItemsCount((prevCount) => prevCount - 1), []), + children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Comp, { tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0, "data-orientation": orientation, ...groupProps, ref: composedRefs, - style: [{ - outline: "none" - }, props.style], + outlineStyle: "none", onMouseDown: composeEventHandlers(props.onMouseDown, () => { isClickFocusRef.current = true; }), @@ -32194,9 +31731,11 @@ var RovingFocusGroupImpl = React56.forwardRef((props, forwardedRef) => { const isKeyboardFocus = !isClickFocusRef.current; if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) { const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS2); - if (event.currentTarget.dispatchEvent(entryFocusEvent), !entryFocusEvent.defaultPrevented) { + if (handleEntryFocus(entryFocusEvent), !entryFocusEvent.defaultPrevented) { const items = getItems().filter((item) => item.focusable), activeItem = items.find((item) => item.active), currentItem = items.find((item) => item.id === currentTabStopId), candidateNodes = [activeItem, currentItem, ...items].filter(Boolean).map((item) => item.ref.current); - focusFirst2(candidateNodes); + focusFirst2(candidateNodes, { + focusVisible: false + }); } } isClickFocusRef.current = false; @@ -32206,41 +31745,41 @@ var RovingFocusGroupImpl = React56.forwardRef((props, forwardedRef) => { }); }); var ITEM_NAME2 = "RovingFocusGroupItem"; -var RovingFocusGroupItem = React56.forwardRef((props, forwardedRef) => { +var RovingFocusGroupItem = React48.forwardRef((props, forwardedRef) => { const { __scopeRovingFocusGroup, focusable: focusable2 = true, active = false, tabStopId, ...itemProps - } = props, autoId = React56.useId(), id = tabStopId || autoId, context2 = useRovingFocusContext(__scopeRovingFocusGroup), isCurrentTabStop = context2.currentTabStopId === id, getItems = useCollection2(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT), { + } = props, autoId = React48.useId(), id = tabStopId || autoId, context4 = useRovingFocusContext(__scopeRovingFocusGroup), isCurrentTabStop = context4.currentTabStopId === id, getItems = useCollection2(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT), { onFocusableItemAdd, onFocusableItemRemove - } = context2; - return React56.useEffect(() => { + } = context4; + return React48.useEffect(() => { if (focusable2) return onFocusableItemAdd(), () => onFocusableItemRemove(); - }, [focusable2, onFocusableItemAdd, onFocusableItemRemove]), /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Collection2.ItemSlot, { + }, [focusable2, onFocusableItemAdd, onFocusableItemRemove]), /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Collection2.ItemSlot, { scope: __scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT, id, focusable: focusable2, active, - children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core30.Stack, { - tabIndex: isCurrentTabStop ? 0 : -1, - "data-orientation": context2.orientation, + children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core25.View, { + tabIndex: focusable2 ? 0 : -1, + "data-orientation": context4.orientation, ...itemProps, ref: forwardedRef, onMouseDown: composeEventHandlers(props.onMouseDown, (event) => { - focusable2 ? context2.onItemFocus(id) : event.preventDefault(); + focusable2 ? context4.onItemFocus(id) : event.preventDefault(); }), - onFocus: composeEventHandlers(props.onFocus, () => context2.onItemFocus(id)), + onFocus: composeEventHandlers(props.onFocus, () => context4.onItemFocus(id)), ...isWeb && { onKeyDown: composeEventHandlers(props.onKeyDown, (event) => { if (event.key === "Tab" && event.shiftKey) { - context2.onItemShiftTab(); + context4.onItemShiftTab(); return; } if (event.target !== event.currentTarget) return; - const focusIntent = getFocusIntent(event, context2.orientation, context2.dir); + const focusIntent = getFocusIntent(event, context4.orientation, context4.dir); if (focusIntent !== void 0) { event.preventDefault(); let candidateNodes = getItems().filter((item) => item.focusable).map((item) => item.ref.current); @@ -32248,9 +31787,11 @@ var RovingFocusGroupItem = React56.forwardRef((props, forwardedRef) => { else if (focusIntent === "prev" || focusIntent === "next") { focusIntent === "prev" && candidateNodes.reverse(); const currentIndex = candidateNodes.indexOf(event.currentTarget); - candidateNodes = context2.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1); + candidateNodes = context4.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1); } - setTimeout(() => focusFirst2(candidateNodes)); + setTimeout(() => focusFirst2(candidateNodes, { + focusVisible: true + })); } }) } @@ -32263,13 +31804,13 @@ var [Collection2, useCollection2] = createCollection(GROUP_NAME2); var { Provider: RovingFocusProvider, useStyledContext: useRovingFocusContext -} = (0, import_core30.createStyledContext)(); +} = (0, import_core25.createStyledContext)(); var ROVING_FOCUS_GROUP_CONTEXT = "RovingFocusGroupContext"; -var RovingFocusGroup = withStaticProperties(React56.forwardRef((props, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Collection2.Provider, { +var RovingFocusGroup = withStaticProperties(React48.forwardRef((props, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Collection2.Provider, { scope: props.__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT, - children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Collection2.Slot, { + children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Collection2.Slot, { scope: props.__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT, - children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RovingFocusGroupImpl, { + children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) @@ -32297,9 +31838,11 @@ function getFocusIntent(event, orientation, dir) { if (!(orientation === "vertical" && ["ArrowLeft", "ArrowRight"].includes(key)) && !(orientation === "horizontal" && ["ArrowUp", "ArrowDown"].includes(key))) return MAP_KEY_TO_FOCUS_INTENT[key]; } __name(getFocusIntent, "getFocusIntent"); -function focusFirst2(candidates) { +function focusFirst2(candidates, options) { const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement; - for (const candidate of candidates) if (candidate === PREVIOUSLY_FOCUSED_ELEMENT || (candidate.focus(), document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT)) return; + for (const candidate of candidates) if (candidate === PREVIOUSLY_FOCUSED_ELEMENT || (candidate.focus({ + focusVisible: options?.focusVisible + }), document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT)) return; } __name(focusFirst2, "focusFirst"); function wrapArray(array, startIndex) { @@ -32308,24 +31851,25 @@ function wrapArray(array, startIndex) { __name(wrapArray, "wrapArray"); // node_modules/@tamagui/radio-group/dist/esm/createRadioGroup.mjs -var import_jsx_runtime44 = require("react/jsx-runtime"); +var import_react37 = __toESM(require("react"), 1); +var import_jsx_runtime42 = require("react/jsx-runtime"); var ensureContext2 = /* @__PURE__ */ __name((x) => { x.context || (x.context = RadioGroupContext); }, "ensureContext"); -var RadioGroupContext = import_react44.default.createContext({}); -var RadioGroupItemContext = import_react44.default.createContext({ +var RadioGroupContext = import_react37.default.createContext({}); +var RadioGroupItemContext = import_react37.default.createContext({ checked: false, disabled: false }); function createRadioGroup(createProps) { const { disableActiveTheme, - Frame: Frame2 = RadioGroupFrame, + Frame: Frame3 = RadioGroupFrame, Indicator = RadioGroupIndicatorFrame, Item = RadioGroupItemFrame } = createProps; - ensureContext2(Frame2), ensureContext2(Indicator), ensureContext2(Item); - const RadioGroupImp = Frame2.styleable((props, ref) => { + ensureContext2(Frame3), ensureContext2(Indicator), ensureContext2(Item); + const RadioGroupImp = Frame3.styleable((props, ref) => { const { value, defaultValue: defaultValue2, @@ -32352,11 +31896,11 @@ function createRadioGroup(createProps) { native, accentColor }); - return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupContext.Provider, { + return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadioGroupContext.Provider, { value: providerValue, - children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RovingFocusGroup, { + children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RovingFocusGroup, { ...rovingFocusGroupAttrs, - children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadioGroupFrame, { ...frameAttrs, ref, ...rest @@ -32368,7 +31912,6 @@ function createRadioGroup(createProps) { value, labelledBy, onPress, - //@ts-expect-error onKeyDown, disabled, id, @@ -32389,12 +31932,12 @@ function createRadioGroup(createProps) { onPress, onKeyDown }); - return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupItemContext.Provider, { + return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadioGroupItemContext.Provider, { value: providerValue, - children: import_core31.isWeb && native ? bubbleInput : /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { - children: [/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RovingFocusGroup.Item, { + children: import_core26.isWeb && native ? bubbleInput : /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { + children: [/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RovingFocusGroup.Item, { ...rovingFocusGroupAttrs, - children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupItemFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadioGroupItemFrame, { ...frameAttrs, ref, ...rest @@ -32416,14 +31959,14 @@ function createRadioGroup(createProps) { radioGroupItemContext: RadioGroupItemContext, disabled }); - return forceMount || checked ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Indicator, { + return forceMount || checked ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Indicator, { ...useIndicatorRest, ref: forwardedRef, ...indicatorProps }) : null; }); RadioIndicator.displayName = "RadioIndicator"; - const RadioGroup2 = (0, import_core31.withStaticProperties)(RadioGroupImp, { + const RadioGroup2 = (0, import_core26.withStaticProperties)(RadioGroupImp, { Item: RadioGroupItemImp, Indicator: RadioIndicator }); @@ -32432,8 +31975,8 @@ function createRadioGroup(createProps) { __name(createRadioGroup, "createRadioGroup"); // node_modules/@tamagui/radio-group/dist/esm/RadioGroupStyledContext.mjs -var import_core32 = require("@tamagui/core"); -var RadioGroupStyledContext = (0, import_core32.createStyledContext)({ +var import_core27 = require("@tamagui/core"); +var RadioGroupStyledContext = (0, import_core27.createStyledContext)({ size: "$true", scaleIcon: 1 }, "RadioGroup"); @@ -32446,21 +31989,25 @@ var RadioGroup = createRadioGroup({ }); // node_modules/@tamagui/select/dist/esm/Select.mjs -var import_core41 = require("@tamagui/core"); +var import_core35 = require("@tamagui/core"); // node_modules/@tamagui/separator/dist/esm/Separator.mjs -var import_core33 = require("@tamagui/core"); -var Separator = (0, import_core33.styled)(import_core33.Stack, { +var import_core28 = require("@tamagui/core"); +var Separator = (0, import_core28.styled)(import_core28.View, { name: "Separator", - borderColor: "$borderColor", - flexShrink: 0, - borderWidth: 0, - flex: 1, - height: 0, - maxHeight: 0, - borderBottomWidth: 1, - y: -0.5, variants: { + unstyled: { + false: { + borderColor: "$backgroundFocus", + flexShrink: 0, + borderWidth: 0, + flex: 1, + height: 0, + maxHeight: 0, + borderBottomWidth: 1, + y: -0.5 + } + }, vertical: { true: { y: 0, @@ -32476,84 +32023,47 @@ var Separator = (0, import_core33.styled)(import_core33.Stack, { borderRightWidth: 1 } } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -// node_modules/@tamagui/use-debounce/dist/esm/index.mjs -var React58 = __toESM(require("react"), 1); -function debounce(func, wait, leading) { - let timeout, isCancelled = false; - function debounced() { - isCancelled = false; - const args = arguments; - leading && !timeout && func.apply(this, args), clearTimeout(timeout), timeout = setTimeout(() => { - timeout = null, leading || isCancelled || func.apply(this, args), isCancelled = false; - }, wait); - } - __name(debounced, "debounced"); - return debounced.cancel = () => { - isCancelled = true; - }, debounced; -} -__name(debounce, "debounce"); -var defaultOpts = { - leading: false -}; -function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) { - const dbEffect = React58.useRef(null); - return React58.useEffect(() => () => { - dbEffect.current?.cancel(); - }, []), React58.useMemo(() => (dbEffect.current = debounce(fn, wait, options.leading), dbEffect.current), [options.leading, ...mountArgs]); -} -__name(useDebounce, "useDebounce"); -function useDebounceValue(val, amt = 0) { - const [state, setState] = React58.useState(val); - return React58.useEffect(() => { - const tm = setTimeout(() => { - setState((prev) => prev === val ? prev : val); - }, amt); - return () => { - clearTimeout(tm); - }; - }, [val]), state; -} -__name(useDebounceValue, "useDebounceValue"); - // node_modules/@tamagui/select/dist/esm/Select.mjs -var React67 = __toESM(require("react"), 1); +var React58 = __toESM(require("react"), 1); // node_modules/@tamagui/select/dist/esm/context.mjs -var import_core34 = require("@tamagui/core"); -var import_jsx_runtime45 = require("react/jsx-runtime"); +var import_core29 = require("@tamagui/core"); +var import_jsx_runtime43 = require("react/jsx-runtime"); var { Provider: SelectProvider, useStyledContext: useSelectContext -} = (0, import_core34.createStyledContext)(null, "Select"); +} = (0, import_core29.createStyledContext)(null, "Select"); var { Provider: SelectItemParentProvider, useStyledContext: useSelectItemParentContext -} = (0, import_core34.createStyledContext)(null, "SelectItem"); +} = (0, import_core29.createStyledContext)(null, "SelectItem"); var ForwardSelectContext = /* @__PURE__ */ __name(({ - context: context2, + context: context4, itemContext, children -}) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SelectProvider, { +}) => getPortal().state.type === "teleport" ? children : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectProvider, { isInSheet: true, - scope: context2.scopeName, - ...context2, - children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SelectItemParentProvider, { - scope: context2.scopeName, + scope: context4.scopeName, + ...context4, + children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectItemParentProvider, { + scope: context4.scopeName, ...itemContext, children }) }), "ForwardSelectContext"); // node_modules/@tamagui/select/node_modules/@floating-ui/react/dist/floating-ui.react.mjs -var React60 = __toESM(require("react"), 1); +var React51 = __toESM(require("react"), 1); // node_modules/@tamagui/select/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs -var React59 = __toESM(require("react"), 1); -var import_react45 = require("react"); +var React50 = __toESM(require("react"), 1); +var import_react38 = require("react"); var import_tabbable = __toESM(require_dist(), 1); function getPlatform2() { const uaData = navigator.userAgentData; @@ -32743,15 +32253,15 @@ function isMouseLikePointerType2(pointerType, strict) { return values.includes(pointerType); } __name(isMouseLikePointerType2, "isMouseLikePointerType"); -var isClient5 = typeof document !== "undefined"; +var isClient4 = typeof document !== "undefined"; var noop5 = /* @__PURE__ */ __name(function noop6() { }, "noop"); -var index3 = isClient5 ? import_react45.useLayoutEffect : noop5; +var index3 = isClient4 ? import_react38.useLayoutEffect : noop5; var SafeReact3 = { - ...React59 + ...React50 }; function useLatestRef3(value) { - const ref = React59.useRef(value); + const ref = React50.useRef(value); index3(() => { ref.current = value; }); @@ -32761,7 +32271,7 @@ __name(useLatestRef3, "useLatestRef"); var useInsertionEffect2 = SafeReact3.useInsertionEffect; var useSafeInsertionEffect2 = useInsertionEffect2 || ((fn) => fn()); function useEffectEvent2(callback) { - const ref = React59.useRef(() => { + const ref = React50.useRef(() => { if (process.env.NODE_ENV !== "production") { throw new Error("Cannot call an event handler while rendering."); } @@ -32769,7 +32279,7 @@ function useEffectEvent2(callback) { useSafeInsertionEffect2(() => { ref.current = callback; }); - return React59.useCallback(function() { + return React50.useCallback(function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } @@ -33070,7 +32580,7 @@ function enableFocusInside2(container) { __name(enableFocusInside2, "enableFocusInside"); // node_modules/@tamagui/select/node_modules/@floating-ui/react/dist/floating-ui.react.mjs -var import_jsx_runtime46 = require("react/jsx-runtime"); +var import_jsx_runtime44 = require("react/jsx-runtime"); var import_tabbable2 = __toESM(require_dist(), 1); var ReactDOM4 = __toESM(require("react-dom"), 1); var FOCUSABLE_ATTRIBUTE4 = "data-floating-ui-focusable"; @@ -33084,7 +32594,7 @@ var horizontalKeys2 = [ARROW_LEFT3, ARROW_RIGHT3]; var verticalKeys2 = [ARROW_UP3, ARROW_DOWN3]; var allKeys2 = [...horizontalKeys2, ...verticalKeys2]; var SafeReact4 = { - ...React60 + ...React51 }; var serverHandoffComplete2 = false; var count2 = 0; @@ -33094,13 +32604,13 @@ var genId2 = /* @__PURE__ */ __name(() => ( "floating-ui-" + Math.random().toString(36).slice(2, 6) + count2++ ), "genId"); function useFloatingId2() { - const [id, setId] = React60.useState(() => serverHandoffComplete2 ? genId2() : void 0); + const [id, setId] = React51.useState(() => serverHandoffComplete2 ? genId2() : void 0); index3(() => { if (id == null) { setId(genId2()); } }, []); - React60.useEffect(() => { + React51.useEffect(() => { serverHandoffComplete2 = true; }, []); return id; @@ -33158,13 +32668,13 @@ function createEventEmitter2() { }; } __name(createEventEmitter2, "createEventEmitter"); -var FloatingNodeContext2 = /* @__PURE__ */ React60.createContext(null); -var FloatingTreeContext2 = /* @__PURE__ */ React60.createContext(null); +var FloatingNodeContext2 = /* @__PURE__ */ React51.createContext(null); +var FloatingTreeContext2 = /* @__PURE__ */ React51.createContext(null); var useFloatingParentNodeId2 = /* @__PURE__ */ __name(() => { var _React$useContext; - return ((_React$useContext = React60.useContext(FloatingNodeContext2)) == null ? void 0 : _React$useContext.id) || null; + return ((_React$useContext = React51.useContext(FloatingNodeContext2)) == null ? void 0 : _React$useContext.id) || null; }, "useFloatingParentNodeId"); -var useFloatingTree2 = /* @__PURE__ */ __name(() => React60.useContext(FloatingTreeContext2), "useFloatingTree"); +var useFloatingTree2 = /* @__PURE__ */ __name(() => React51.useContext(FloatingTreeContext2), "useFloatingTree"); function createAttribute2(name) { return "data-floating-ui-" + name; } @@ -33333,8 +32843,8 @@ var HIDDEN_STYLES = { top: 0, left: 0 }; -var FocusGuard = /* @__PURE__ */ React60.forwardRef(/* @__PURE__ */ __name(function FocusGuard2(props, ref) { - const [role, setRole] = React60.useState(); +var FocusGuard = /* @__PURE__ */ React51.forwardRef(/* @__PURE__ */ __name(function FocusGuard2(props, ref) { + const [role, setRole] = React51.useState(); index3(() => { if (isSafari2()) { setRole("button"); @@ -33349,12 +32859,18 @@ var FocusGuard = /* @__PURE__ */ React60.forwardRef(/* @__PURE__ */ __name(funct [createAttribute2("focus-guard")]: "", style: HIDDEN_STYLES }; - return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { + return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { ...props, ...restProps }); }, "FocusGuard")); -var PortalContext = /* @__PURE__ */ React60.createContext(null); +var HIDDEN_OWNER_STYLES = { + clipPath: "inset(50%)", + position: "fixed", + top: 0, + left: 0 +}; +var PortalContext = /* @__PURE__ */ React51.createContext(null); var attr = /* @__PURE__ */ createAttribute2("portal"); function useFloatingPortalNode(props) { if (props === void 0) { @@ -33366,8 +32882,8 @@ function useFloatingPortalNode(props) { } = props; const uniqueId = useId12(); const portalContext = usePortalContext(); - const [portalNode, setPortalNode] = React60.useState(null); - const portalNodeRef = React60.useRef(null); + const [portalNode, setPortalNode] = React51.useState(null); + const portalNodeRef = React51.useRef(null); index3(() => { return () => { portalNode == null || portalNode.remove(); @@ -33423,11 +32939,11 @@ function FloatingPortal(props) { id, root }); - const [focusManagerState, setFocusManagerState] = React60.useState(null); - const beforeOutsideRef = React60.useRef(null); - const afterOutsideRef = React60.useRef(null); - const beforeInsideRef = React60.useRef(null); - const afterInsideRef = React60.useRef(null); + const [focusManagerState, setFocusManagerState] = React51.useState(null); + const beforeOutsideRef = React51.useRef(null); + const afterOutsideRef = React51.useRef(null); + const beforeInsideRef = React51.useRef(null); + const afterInsideRef = React51.useRef(null); const modal = focusManagerState == null ? void 0 : focusManagerState.modal; const open = focusManagerState == null ? void 0 : focusManagerState.open; const shouldRenderGuards = ( @@ -33437,7 +32953,7 @@ function FloatingPortal(props) { !focusManagerState.modal && // Don't render if unmount is transitioning. focusManagerState.open && preserveTabOrder && !!(root || portalNode) ); - React60.useEffect(() => { + React51.useEffect(() => { if (!portalNode || !preserveTabOrder || modal) { return; } @@ -33456,13 +32972,13 @@ function FloatingPortal(props) { portalNode.removeEventListener("focusout", onFocus, true); }; }, [portalNode, preserveTabOrder, modal]); - React60.useEffect(() => { + React51.useEffect(() => { if (!portalNode) return; if (open) return; enableFocusInside2(portalNode); }, [open, portalNode]); - return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(PortalContext.Provider, { - value: React60.useMemo(() => ({ + return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(PortalContext.Provider, { + value: React51.useMemo(() => ({ preserveTabOrder, beforeOutsideRef, afterOutsideRef, @@ -33471,7 +32987,7 @@ function FloatingPortal(props) { portalNode, setFocusManagerState }), [preserveTabOrder, portalNode]), - children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(FocusGuard, { + children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(FocusGuard, { "data-type": "outside", ref: beforeOutsideRef, onFocus: /* @__PURE__ */ __name((event) => { @@ -33484,10 +33000,10 @@ function FloatingPortal(props) { prevTabbable == null || prevTabbable.focus(); } }, "onFocus") - }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { + }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { "aria-owns": portalNode.id, - style: HIDDEN_STYLES - }), portalNode && /* @__PURE__ */ ReactDOM4.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(FocusGuard, { + style: HIDDEN_OWNER_STYLES + }), portalNode && /* @__PURE__ */ ReactDOM4.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(FocusGuard, { "data-type": "outside", ref: afterOutsideRef, onFocus: /* @__PURE__ */ __name((event) => { @@ -33505,9 +33021,9 @@ function FloatingPortal(props) { }); } __name(FloatingPortal, "FloatingPortal"); -var usePortalContext = /* @__PURE__ */ __name(() => React60.useContext(PortalContext), "usePortalContext"); +var usePortalContext = /* @__PURE__ */ __name(() => React51.useContext(PortalContext), "usePortalContext"); function useLiteMergeRefs(refs) { - return React60.useMemo(() => { + return React51.useMemo(() => { return (value) => { refs.forEach((ref) => { if (ref) { @@ -33569,8 +33085,8 @@ function handleTabIndex(floatingFocusElement, orderRef) { } } __name(handleTabIndex, "handleTabIndex"); -var VisuallyHiddenDismiss = /* @__PURE__ */ React60.forwardRef(/* @__PURE__ */ __name(function VisuallyHiddenDismiss2(props, ref) { - return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("button", { +var VisuallyHiddenDismiss = /* @__PURE__ */ React51.forwardRef(/* @__PURE__ */ __name(function VisuallyHiddenDismiss2(props, ref) { + return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { ...props, type: "button", ref, @@ -33580,7 +33096,7 @@ var VisuallyHiddenDismiss = /* @__PURE__ */ React60.forwardRef(/* @__PURE__ */ _ }, "VisuallyHiddenDismiss")); function FloatingFocusManager(props) { const { - context: context2, + context: context4, children, disabled = false, order = ["content"], @@ -33603,7 +33119,7 @@ function FloatingFocusManager(props) { domReference, floating } - } = context2; + } = context4; const getNodeId = useEffectEvent2(() => { var _dataRef$current$floa; return (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId; @@ -33619,12 +33135,12 @@ function FloatingFocusManager(props) { const returnFocusRef = useLatestRef3(returnFocus); const tree = useFloatingTree2(); const portalContext = usePortalContext(); - const startDismissButtonRef = React60.useRef(null); - const endDismissButtonRef = React60.useRef(null); - const preventReturnFocusRef = React60.useRef(false); - const isPointerDownRef = React60.useRef(false); - const tabbableIndexRef = React60.useRef(-1); - const blurTimeoutRef = React60.useRef(-1); + const startDismissButtonRef = React51.useRef(null); + const endDismissButtonRef = React51.useRef(null); + const preventReturnFocusRef = React51.useRef(false); + const isPointerDownRef = React51.useRef(false); + const tabbableIndexRef = React51.useRef(-1); + const blurTimeoutRef = React51.useRef(-1); const isInsidePortal = portalContext != null; const floatingFocusElement = getFloatingFocusElement2(floating); const getTabbableContent = useEffectEvent2(function(container) { @@ -33645,7 +33161,7 @@ function FloatingFocusManager(props) { return content; }).filter(Boolean).flat(); }); - React60.useEffect(() => { + React51.useEffect(() => { if (disabled) return; if (!modal) return; function onKeyDown(event) { @@ -33676,7 +33192,7 @@ function FloatingFocusManager(props) { doc.removeEventListener("keydown", onKeyDown); }; }, [disabled, domReference, floatingFocusElement, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]); - React60.useEffect(() => { + React51.useEffect(() => { if (disabled) return; if (!floating) return; function handleFocusIn(event) { @@ -33693,7 +33209,7 @@ function FloatingFocusManager(props) { floating.removeEventListener("focusin", handleFocusIn); }; }, [disabled, floating, getTabbableContent]); - React60.useEffect(() => { + React51.useEffect(() => { if (disabled) return; if (!closeOnFocusOut) return; function handlePointerDown() { @@ -33768,11 +33284,11 @@ function FloatingFocusManager(props) { }; } }, [disabled, domReference, floating, floatingFocusElement, modal, tree, portalContext, onOpenChange, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, orderRef, dataRef]); - const beforeGuardRef = React60.useRef(null); - const afterGuardRef = React60.useRef(null); + const beforeGuardRef = React51.useRef(null); + const afterGuardRef = React51.useRef(null); const mergedBeforeGuardRef = useLiteMergeRefs([beforeGuardRef, portalContext == null ? void 0 : portalContext.beforeInsideRef]); const mergedAfterGuardRef = useLiteMergeRefs([afterGuardRef, portalContext == null ? void 0 : portalContext.afterInsideRef]); - React60.useEffect(() => { + React51.useEffect(() => { var _portalContext$portal, _ancestors$find; if (disabled) return; if (!floating) return; @@ -33866,7 +33382,7 @@ function FloatingFocusManager(props) { queueMicrotask(() => { const tabbableReturnElement = getFirstTabbableElement(returnElement); if ( - + // eslint-disable-next-line react-hooks/exhaustive-deps returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && // If the focus moved somewhere else after mount, avoid returning focus // since it likely entered a different element which should be // respected: https://github.com/floating-ui/floating-ui/issues/2607 @@ -33880,7 +33396,7 @@ function FloatingFocusManager(props) { }); }; }, [disabled, floating, floatingFocusElement, returnFocusRef, dataRef, events, tree, isInsidePortal, domReference, getNodeId]); - React60.useEffect(() => { + React51.useEffect(() => { queueMicrotask(() => { preventReturnFocusRef.current = false; }); @@ -33911,7 +33427,7 @@ function FloatingFocusManager(props) { if (disabled || !visuallyHiddenDismiss || !modal) { return null; } - return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(VisuallyHiddenDismiss, { + return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(VisuallyHiddenDismiss, { ref: location === "start" ? startDismissButtonRef : endDismissButtonRef, onClick: /* @__PURE__ */ __name((event) => onOpenChange(false, event.nativeEvent), "onClick"), children: typeof visuallyHiddenDismiss === "string" ? visuallyHiddenDismiss : "Dismiss" @@ -33919,8 +33435,8 @@ function FloatingFocusManager(props) { } __name(renderDismissButton, "renderDismissButton"); const shouldRenderGuards = !disabled && guards && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal); - return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { - children: [shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(FocusGuard, { + return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { + children: [shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(FocusGuard, { "data-type": "inside", ref: mergedBeforeGuardRef, onFocus: /* @__PURE__ */ __name((event) => { @@ -33938,7 +33454,7 @@ function FloatingFocusManager(props) { } } }, "onFocus") - }), !isUntrappedTypeableCombobox && renderDismissButton("start"), children, renderDismissButton("end"), shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(FocusGuard, { + }), !isUntrappedTypeableCombobox && renderDismissButton("start"), children, renderDismissButton("end"), shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(FocusGuard, { "data-type": "inside", ref: mergedAfterGuardRef, onFocus: /* @__PURE__ */ __name((event) => { @@ -34009,7 +33525,7 @@ function enableScrollLock() { __name(enableScrollLock, "enableScrollLock"); var cleanup = /* @__PURE__ */ __name(() => { }, "cleanup"); -var FloatingOverlay = /* @__PURE__ */ React60.forwardRef(/* @__PURE__ */ __name(function FloatingOverlay2(props, ref) { +var FloatingOverlay = /* @__PURE__ */ React51.forwardRef(/* @__PURE__ */ __name(function FloatingOverlay2(props, ref) { const { lockScroll = false, ...rest @@ -34027,7 +33543,7 @@ var FloatingOverlay = /* @__PURE__ */ React60.forwardRef(/* @__PURE__ */ __name( } }; }, [lockScroll]); - return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { + return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { ref, ...rest, style: { @@ -34053,7 +33569,7 @@ function isSpaceIgnored(element) { return isTypeableElement2(element); } __name(isSpaceIgnored, "isSpaceIgnored"); -function useClick(context2, props) { +function useClick(context4, props) { if (props === void 0) { props = {}; } @@ -34064,7 +33580,7 @@ function useClick(context2, props) { elements: { domReference } - } = context2; + } = context4; const { enabled = true, event: eventOption = "click", @@ -34073,9 +33589,9 @@ function useClick(context2, props) { keyboardHandlers = true, stickIfOpen = true } = props; - const pointerTypeRef = React60.useRef(); - const didKeyDownRef = React60.useRef(false); - const reference = React60.useMemo(() => ({ + const pointerTypeRef = React51.useRef(); + const didKeyDownRef = React51.useRef(false); + const reference = React51.useMemo(() => ({ onPointerDown(event) { pointerTypeRef.current = event.pointerType; }, @@ -34138,7 +33654,7 @@ function useClick(context2, props) { } } }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, stickIfOpen, toggle]); - return React60.useMemo(() => enabled ? { + return React51.useMemo(() => enabled ? { reference } : {}, [enabled, reference]); } @@ -34160,7 +33676,7 @@ var normalizeProp2 = /* @__PURE__ */ __name((normalizable) => { outsidePress: typeof normalizable === "boolean" ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true }; }, "normalizeProp"); -function useDismiss2(context2, props) { +function useDismiss2(context4, props) { if (props === void 0) { props = {}; } @@ -34169,7 +33685,7 @@ function useDismiss2(context2, props) { onOpenChange, elements, dataRef - } = context2; + } = context4; const { enabled = true, escapeKey = true, @@ -34184,7 +33700,7 @@ function useDismiss2(context2, props) { const tree = useFloatingTree2(); const outsidePressFn = useEffectEvent2(typeof unstable_outsidePress === "function" ? unstable_outsidePress : () => false); const outsidePress = typeof unstable_outsidePress === "function" ? outsidePressFn : unstable_outsidePress; - const endedOrStartedInsideRef = React60.useRef(false); + const endedOrStartedInsideRef = React51.useRef(false); const { escapeKey: escapeKeyBubbles, outsidePress: outsidePressBubbles @@ -34193,7 +33709,7 @@ function useDismiss2(context2, props) { escapeKey: escapeKeyCapture, outsidePress: outsidePressCapture } = normalizeProp2(capture); - const isComposingRef = React60.useRef(false); + const isComposingRef = React51.useRef(false); const closeOnEscapeKeyDown = useEffectEvent2((event) => { var _dataRef$current$floa; if (!open || !enabled || !escapeKey || event.key !== "Escape") { @@ -34311,7 +33827,7 @@ function useDismiss2(context2, props) { }, "callback"); (_getTarget4 = getTarget3(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback); }); - React60.useEffect(() => { + React51.useEffect(() => { if (!open || !enabled) { return; } @@ -34379,10 +33895,10 @@ function useDismiss2(context2, props) { window.clearTimeout(compositionTimeout); }; }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]); - React60.useEffect(() => { + React51.useEffect(() => { dataRef.current.insideReactTree = false; }, [dataRef, outsidePress, outsidePressEvent]); - const reference = React60.useMemo(() => ({ + const reference = React51.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, ...referencePress && { [bubbleHandlerKeys2[referencePressEvent]]: (event) => { @@ -34395,7 +33911,7 @@ function useDismiss2(context2, props) { } } }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]); - const floating = React60.useMemo(() => ({ + const floating = React51.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, onMouseDown() { endedOrStartedInsideRef.current = true; @@ -34407,7 +33923,7 @@ function useDismiss2(context2, props) { dataRef.current.insideReactTree = true; } }), [closeOnEscapeKeyDown, outsidePressEvent, dataRef]); - return React60.useMemo(() => enabled ? { + return React51.useMemo(() => enabled ? { reference, floating } : {}, [enabled, reference, floating]); @@ -34420,8 +33936,8 @@ function useFloatingRootContext2(options) { elements: elementsProp } = options; const floatingId = useId12(); - const dataRef = React60.useRef({}); - const [events] = React60.useState(() => createEventEmitter2()); + const dataRef = React51.useRef({}); + const [events] = React51.useState(() => createEventEmitter2()); const nested = useFloatingParentNodeId2() != null; if (process.env.NODE_ENV !== "production") { const optionDomReference = elementsProp.reference; @@ -34429,7 +33945,7 @@ function useFloatingRootContext2(options) { error2("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `refs.setPositionReference()`", "instead."); } } - const [positionReference, setPositionReference] = React60.useState(elementsProp.reference); + const [positionReference, setPositionReference] = React51.useState(elementsProp.reference); const onOpenChange = useEffectEvent2((open2, event, reason) => { dataRef.current.openEvent = open2 ? event : void 0; events.emit("openchange", { @@ -34440,15 +33956,15 @@ function useFloatingRootContext2(options) { }); onOpenChangeProp == null || onOpenChangeProp(open2, event, reason); }); - const refs = React60.useMemo(() => ({ + const refs = React51.useMemo(() => ({ setPositionReference }), []); - const elements = React60.useMemo(() => ({ + const elements = React51.useMemo(() => ({ reference: positionReference || elementsProp.reference || null, floating: elementsProp.floating || null, domReference: elementsProp.reference }), [positionReference, elementsProp.reference, elementsProp.floating]); - return React60.useMemo(() => ({ + return React51.useMemo(() => ({ dataRef, open, onOpenChange, @@ -34476,11 +33992,11 @@ function useFloating4(options) { }); const rootContext = options.rootContext || internalRootContext; const computedElements = rootContext.elements; - const [_domReference, setDomReference] = React60.useState(null); - const [positionReference, _setPositionReference] = React60.useState(null); + const [_domReference, setDomReference] = React51.useState(null); + const [positionReference, _setPositionReference] = React51.useState(null); const optionDomReference = computedElements == null ? void 0 : computedElements.domReference; const domReference = optionDomReference || _domReference; - const domReferenceRef = React60.useRef(null); + const domReferenceRef = React51.useRef(null); const tree = useFloatingTree2(); index3(() => { if (domReference) { @@ -34496,7 +34012,7 @@ function useFloating4(options) { } } }); - const setPositionReference = React60.useCallback((node) => { + const setPositionReference = React51.useCallback((node) => { const computedPositionReference = isElement(node) ? { getBoundingClientRect: /* @__PURE__ */ __name(() => node.getBoundingClientRect(), "getBoundingClientRect"), getClientRects: /* @__PURE__ */ __name(() => node.getClientRects(), "getClientRects"), @@ -34505,7 +34021,7 @@ function useFloating4(options) { _setPositionReference(computedPositionReference); position.refs.setReference(computedPositionReference); }, [position.refs]); - const setReference = React60.useCallback((node) => { + const setReference = React51.useCallback((node) => { if (isElement(node) || node === null) { domReferenceRef.current = node; setDomReference(node); @@ -34517,17 +34033,17 @@ function useFloating4(options) { position.refs.setReference(node); } }, [position.refs]); - const refs = React60.useMemo(() => ({ + const refs = React51.useMemo(() => ({ ...position.refs, setReference, setPositionReference, domReference: domReferenceRef }), [position.refs, setReference, setPositionReference]); - const elements = React60.useMemo(() => ({ + const elements = React51.useMemo(() => ({ ...position.elements, domReference }), [position.elements, domReference]); - const context2 = React60.useMemo(() => ({ + const context4 = React51.useMemo(() => ({ ...position, ...rootContext, refs, @@ -34535,18 +34051,18 @@ function useFloating4(options) { nodeId }), [position, refs, elements, nodeId, rootContext]); index3(() => { - rootContext.dataRef.current.floatingContext = context2; + rootContext.dataRef.current.floatingContext = context4; const node = tree == null ? void 0 : tree.nodesRef.current.find((node2) => node2.id === nodeId); if (node) { - node.context = context2; + node.context = context4; } }); - return React60.useMemo(() => ({ + return React51.useMemo(() => ({ ...position, - context: context2, + context: context4, refs, elements - }), [position, refs, elements, context2]); + }), [position, refs, elements, context4]); } __name(useFloating4, "useFloating"); function mergeProps2(userProps, propsList, elementKey) { @@ -34613,22 +34129,22 @@ function useInteractions2(propsList) { const referenceDeps = propsList.map((key) => key == null ? void 0 : key.reference); const floatingDeps = propsList.map((key) => key == null ? void 0 : key.floating); const itemDeps = propsList.map((key) => key == null ? void 0 : key.item); - const getReferenceProps = React60.useCallback( + const getReferenceProps = React51.useCallback( (userProps) => mergeProps2(userProps, propsList, "reference"), - + // eslint-disable-next-line react-hooks/exhaustive-deps referenceDeps ); - const getFloatingProps = React60.useCallback( + const getFloatingProps = React51.useCallback( (userProps) => mergeProps2(userProps, propsList, "floating"), - + // eslint-disable-next-line react-hooks/exhaustive-deps floatingDeps ); - const getItemProps = React60.useCallback( + const getItemProps = React51.useCallback( (userProps) => mergeProps2(userProps, propsList, "item"), - + // eslint-disable-next-line react-hooks/exhaustive-deps itemDeps ); - return React60.useMemo(() => ({ + return React51.useMemo(() => ({ getReferenceProps, getFloatingProps, getItemProps @@ -34674,13 +34190,13 @@ function isCrossOrientationCloseKey(key, orientation, rtl, cols) { return doSwitch(orientation, vertical, horizontal); } __name(isCrossOrientationCloseKey, "isCrossOrientationCloseKey"); -function useListNavigation(context2, props) { +function useListNavigation(context4, props) { const { open, onOpenChange, elements, floatingId - } = context2; + } = context4; const { listRef, activeIndex, @@ -34723,27 +34239,27 @@ function useListNavigation(context2, props) { const parentId = useFloatingParentNodeId2(); const tree = useFloatingTree2(); index3(() => { - context2.dataRef.current.orientation = orientation; - }, [context2, orientation]); + context4.dataRef.current.orientation = orientation; + }, [context4, orientation]); const onNavigate = useEffectEvent2(() => { unstable_onNavigate(indexRef.current === -1 ? null : indexRef.current); }); const typeableComboboxReference = isTypeableCombobox2(elements.domReference); - const focusItemOnOpenRef = React60.useRef(focusItemOnOpen); - const indexRef = React60.useRef(selectedIndex != null ? selectedIndex : -1); - const keyRef = React60.useRef(null); - const isPointerModalityRef = React60.useRef(true); - const previousOnNavigateRef = React60.useRef(onNavigate); - const previousMountedRef = React60.useRef(!!elements.floating); - const previousOpenRef = React60.useRef(open); - const forceSyncFocusRef = React60.useRef(false); - const forceScrollIntoViewRef = React60.useRef(false); + const focusItemOnOpenRef = React51.useRef(focusItemOnOpen); + const indexRef = React51.useRef(selectedIndex != null ? selectedIndex : -1); + const keyRef = React51.useRef(null); + const isPointerModalityRef = React51.useRef(true); + const previousOnNavigateRef = React51.useRef(onNavigate); + const previousMountedRef = React51.useRef(!!elements.floating); + const previousOpenRef = React51.useRef(open); + const forceSyncFocusRef = React51.useRef(false); + const forceScrollIntoViewRef = React51.useRef(false); const disabledIndicesRef = useLatestRef3(disabledIndices); const latestOpenRef = useLatestRef3(open); const scrollItemIntoViewRef = useLatestRef3(scrollItemIntoView); const selectedIndexRef = useLatestRef3(selectedIndex); - const [activeId, setActiveId] = React60.useState(); - const [virtualId, setVirtualId] = React60.useState(); + const [activeId, setActiveId] = React51.useState(); + const [virtualId, setVirtualId] = React51.useState(); const focusItem = useEffectEvent2(() => { function runFocus(item2) { if (virtual) { @@ -34879,7 +34395,7 @@ function useListNavigation(context2, props) { } }, [open, focusItemOnOpen]); const hasActiveIndex = activeIndex != null; - const item = React60.useMemo(() => { + const item = React51.useMemo(() => { function syncCurrentTarget(currentTarget) { if (!latestOpenRef.current) return; const index5 = listRef.current.indexOf(currentTarget); @@ -34939,7 +34455,7 @@ function useListNavigation(context2, props) { }; return props2; }, [latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, virtual]); - const getParentOrientation = React60.useCallback(() => { + const getParentOrientation = React51.useCallback(() => { var _tree$nodesRef$curren; return parentOrientation != null ? parentOrientation : tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find((node) => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.dataRef) == null ? void 0 : _tree$nodesRef$curren.current.orientation; }, [parentId, tree, parentOrientation]); @@ -35064,12 +34580,12 @@ function useListNavigation(context2, props) { onNavigate(); } }); - const ariaActiveDescendantProp = React60.useMemo(() => { + const ariaActiveDescendantProp = React51.useMemo(() => { return virtual && open && hasActiveIndex && { "aria-activedescendant": virtualId || activeId }; }, [virtual, open, hasActiveIndex, virtualId, activeId]); - const floating = React60.useMemo(() => { + const floating = React51.useMemo(() => { return { "aria-orientation": orientation === "both" ? void 0 : orientation, ...!typeableComboboxReference ? ariaActiveDescendantProp : {}, @@ -35079,7 +34595,7 @@ function useListNavigation(context2, props) { } }; }, [ariaActiveDescendantProp, commonOnKeyDown, orientation, typeableComboboxReference]); - const reference = React60.useMemo(() => { + const reference = React51.useMemo(() => { function checkVirtualMouse(event) { if (focusItemOnOpen === "auto" && isVirtualClick2(event.nativeEvent)) { focusItemOnOpenRef.current = true; @@ -35180,7 +34696,7 @@ function useListNavigation(context2, props) { onClick: checkVirtualMouse }; }, [activeId, ariaActiveDescendantProp, cols, commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, onOpenChange, open, openOnArrowKeyDown, orientation, getParentOrientation, rtl, selectedIndex, tree, virtual, virtualItemRef]); - return React60.useMemo(() => enabled ? { + return React51.useMemo(() => enabled ? { reference, floating, item @@ -35188,7 +34704,7 @@ function useListNavigation(context2, props) { } __name(useListNavigation, "useListNavigation"); var componentRoleToAriaRoleMap2 = /* @__PURE__ */ new Map([["select", "listbox"], ["combobox", "listbox"], ["label", false]]); -function useRole2(context2, props) { +function useRole2(context4, props) { var _elements$domReferenc, _componentRoleToAriaR; if (props === void 0) { props = {}; @@ -35197,21 +34713,21 @@ function useRole2(context2, props) { open, elements, floatingId: defaultFloatingId - } = context2; + } = context4; const { enabled = true, role = "dialog" } = props; const defaultReferenceId = useId12(); const referenceId = ((_elements$domReferenc = elements.domReference) == null ? void 0 : _elements$domReferenc.id) || defaultReferenceId; - const floatingId = React60.useMemo(() => { + const floatingId = React51.useMemo(() => { var _getFloatingFocusElem; return ((_getFloatingFocusElem = getFloatingFocusElement2(elements.floating)) == null ? void 0 : _getFloatingFocusElem.id) || defaultFloatingId; }, [elements.floating, defaultFloatingId]); const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap2.get(role)) != null ? _componentRoleToAriaR : role; const parentId = useFloatingParentNodeId2(); const isNested = parentId != null; - const reference = React60.useMemo(() => { + const reference = React51.useMemo(() => { if (ariaRole === "tooltip" || role === "label") { return { ["aria-" + (role === "label" ? "labelledby" : "describedby")]: open ? floatingId : void 0 @@ -35238,7 +34754,7 @@ function useRole2(context2, props) { } }; }, [ariaRole, floatingId, isNested, open, referenceId, role]); - const floating = React60.useMemo(() => { + const floating = React51.useMemo(() => { const floatingProps = { id: floatingId, ...ariaRole && { @@ -35255,7 +34771,7 @@ function useRole2(context2, props) { } }; }, [ariaRole, floatingId, referenceId, role]); - const item = React60.useCallback((_ref) => { + const item = React51.useCallback((_ref) => { let { active, selected @@ -35276,19 +34792,19 @@ function useRole2(context2, props) { } return {}; }, [floatingId, role]); - return React60.useMemo(() => enabled ? { + return React51.useMemo(() => enabled ? { reference, floating, item } : {}, [enabled, reference, floating, item]); } __name(useRole2, "useRole"); -function useTypeahead(context2, props) { +function useTypeahead(context4, props) { var _ref; const { open, dataRef - } = context2; + } = context4; const { listRef, activeIndex, @@ -35300,10 +34816,10 @@ function useTypeahead(context2, props) { ignoreKeys = [], selectedIndex = null } = props; - const timeoutIdRef = React60.useRef(-1); - const stringRef = React60.useRef(""); - const prevIndexRef = React60.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1); - const matchIndexRef = React60.useRef(null); + const timeoutIdRef = React51.useRef(-1); + const stringRef = React51.useRef(""); + const prevIndexRef = React51.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1); + const matchIndexRef = React51.useRef(null); const onMatch = useEffectEvent2(unstable_onMatch); const onTypingChange = useEffectEvent2(unstable_onTypingChange); const findMatchRef = useLatestRef3(findMatch); @@ -35382,10 +34898,10 @@ function useTypeahead(context2, props) { setTypingChange(false); } }); - const reference = React60.useMemo(() => ({ + const reference = React51.useMemo(() => ({ onKeyDown }), [onKeyDown]); - const floating = React60.useMemo(() => { + const floating = React51.useMemo(() => { return { onKeyDown, onKeyUp(event) { @@ -35395,19 +34911,19 @@ function useTypeahead(context2, props) { } }; }, [onKeyDown, setTypingChange]); - return React60.useMemo(() => enabled ? { + return React51.useMemo(() => enabled ? { reference, floating } : {}, [enabled, reference, floating]); } __name(useTypeahead, "useTypeahead"); -function getArgsWithCustomFloatingHeight(state, height) { +function getArgsWithCustomFloatingHeight(state2, height) { return { - ...state, + ...state2, rects: { - ...state.rects, + ...state2.rects, floating: { - ...state.rects.floating, + ...state2.rects.floating, height } } @@ -35417,7 +34933,7 @@ __name(getArgsWithCustomFloatingHeight, "getArgsWithCustomFloatingHeight"); var inner = /* @__PURE__ */ __name((props) => ({ name: "inner", options: props, - async fn(state) { + async fn(state2) { const { listRef, overflowRef, @@ -35428,13 +34944,14 @@ var inner = /* @__PURE__ */ __name((props) => ({ referenceOverflowThreshold = 0, scrollRef, ...detectOverflowOptions - } = evaluate(props, state); + } = evaluate(props, state2); const { rects, + platform: platform2, elements: { floating } - } = state; + } = state2; const item = listRef.current[index5]; const scrollEl = (scrollRef == null ? void 0 : scrollRef.current) || floating; const clientTop = floating.clientTop || scrollEl.clientTop; @@ -35442,7 +34959,7 @@ var inner = /* @__PURE__ */ __name((props) => ({ const scrollElIsBordered = scrollEl.clientTop !== 0; const floatingIsScrollEl = floating === scrollEl; if (process.env.NODE_ENV !== "production") { - if (!state.placement.startsWith("bottom")) { + if (!state2.placement.startsWith("bottom")) { warn('`placement` side must be "bottom" when using the `inner`', "middleware."); } } @@ -35450,11 +34967,11 @@ var inner = /* @__PURE__ */ __name((props) => ({ return {}; } const nextArgs = { - ...state, - ...await offset3(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state) + ...state2, + ...await offset3(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state2) }; - const overflow = await detectOverflow2(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions); - const refOverflow = await detectOverflow2(nextArgs, { + const overflow = await platform2.detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions); + const refOverflow = await platform2.detectOverflow(nextArgs, { ...detectOverflowOptions, elementContext: "reference" }); @@ -35470,7 +34987,7 @@ var inner = /* @__PURE__ */ __name((props) => ({ ReactDOM4.flushSync(() => onFallbackChange(shouldFallback)); } if (overflowRef) { - overflowRef.current = await detectOverflow2(getArgsWithCustomFloatingHeight({ + overflowRef.current = await platform2.detectOverflow(getArgsWithCustomFloatingHeight({ ...nextArgs, y: nextY }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions); @@ -35480,11 +34997,11 @@ var inner = /* @__PURE__ */ __name((props) => ({ }; } }), "inner"); -function useInnerOffset(context2, props) { +function useInnerOffset(context4, props) { const { open, elements - } = context2; + } = context4; const { enabled = true, overflowRef, @@ -35492,10 +35009,10 @@ function useInnerOffset(context2, props) { onChange: unstable_onChange } = props; const onChange = useEffectEvent2(unstable_onChange); - const controlledScrollingRef = React60.useRef(false); - const prevScrollTopRef = React60.useRef(null); - const initialOverflowRef = React60.useRef(null); - React60.useEffect(() => { + const controlledScrollingRef = React51.useRef(false); + const prevScrollTopRef = React51.useRef(null); + const initialOverflowRef = React51.useRef(null); + React51.useEffect(() => { if (!enabled) return; function onWheel(e) { if (e.ctrlKey || !el || overflowRef.current == null) { @@ -35538,7 +35055,7 @@ function useInnerOffset(context2, props) { }; } }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]); - const floating = React60.useMemo(() => ({ + const floating = React51.useMemo(() => ({ onKeyDown() { controlledScrollingRef.current = true; }, @@ -35564,60 +35081,68 @@ function useInnerOffset(context2, props) { }); } }), [elements.floating, onChange, overflowRef, scrollRef]); - return React60.useMemo(() => enabled ? { + return React51.useMemo(() => enabled ? { floating } : {}, [enabled, floating]); } __name(useInnerOffset, "useInnerOffset"); // node_modules/@tamagui/select/dist/esm/SelectContent.mjs -var import_core35 = require("@tamagui/core"); -var import_react47 = __toESM(require("react"), 1); +var import_core30 = require("@tamagui/core"); +var import_react40 = __toESM(require("react"), 1); // node_modules/@tamagui/select/dist/esm/useSelectBreakpointActive.mjs -var useShowSelectSheet = /* @__PURE__ */ __name((context2) => { - const breakpointActive = useAdaptIsActive(context2.adaptScope); - return context2.open === false ? false : breakpointActive; +var useShowSelectSheet = /* @__PURE__ */ __name((context4) => { + const breakpointActive = useAdaptIsActive(context4.adaptScope); + return context4.open === false ? false : breakpointActive; }, "useShowSelectSheet"); // node_modules/@tamagui/select/dist/esm/SelectContent.mjs -var import_jsx_runtime47 = require("react/jsx-runtime"); +var import_jsx_runtime45 = require("react/jsx-runtime"); var SelectContent = /* @__PURE__ */ __name(({ children, scope, zIndex = 1e3, ...focusScopeProps }) => { - const context2 = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), themeName = (0, import_core35.useThemeName)(), showSheet = useShowSelectSheet(context2), contents = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_core35.Theme, { + const context4 = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), themeName = (0, import_core30.useThemeName)(), showSheet = useShowSelectSheet(context4), contents = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core30.Theme, { forceClassName: true, name: themeName, children - }), touch = (0, import_core35.useIsTouchDevice)(), overlayStyle = import_react47.default.useMemo(() => ({ + }), touch = (0, import_core30.useIsTouchDevice)(), overlayStyle = import_react40.default.useMemo(() => ({ zIndex, - pointerEvents: context2.open ? "auto" : "none" - }), [context2.open]); - return itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { + pointerEvents: context4.open ? "auto" : "none" + }), [context4.open]); + return itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children - }) : showSheet ? context2.open ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { + }) : showSheet ? context4.open ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: contents - }) : null : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(FloatingPortal, { - children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(FloatingOverlay, { + }) : null : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FloatingPortal, { + children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FloatingOverlay, { style: overlayStyle, - lockScroll: !context2.disablePreventBodyScroll && !!context2.open && !touch, - children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(FocusScope, { - loop: true, - enabled: !!context2.open, - trapped: true, + lockScroll: !context4.disablePreventBodyScroll && !!context4.open && !touch, + children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FocusScope, { ...focusScopeProps, - children: contents + loop: true, + enabled: !!context4.open, + trapped: true, + onMountAutoFocus: /* @__PURE__ */ __name((e) => { + e.preventDefault(); + }, "onMountAutoFocus"), + children: import_core30.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { + style: { + display: "contents" + }, + children: contents + }) : contents }) }) }); }, "SelectContent"); // node_modules/@tamagui/select/dist/esm/SelectImpl.mjs -var import_core36 = require("@tamagui/core"); -var React62 = __toESM(require("react"), 1); +var import_core31 = require("@tamagui/core"); +var React53 = __toESM(require("react"), 1); var import_react_dom6 = require("react-dom"); // node_modules/@tamagui/select/dist/esm/constants.mjs @@ -35625,32 +35150,31 @@ var SCROLL_ARROW_THRESHOLD = 8; var VIEWPORT_NAME = "SelectViewport"; // node_modules/@tamagui/select/dist/esm/SelectImpl.mjs -var import_jsx_runtime48 = require("react/jsx-runtime"); +var import_jsx_runtime46 = require("react/jsx-runtime"); var SelectInlineImpl = /* @__PURE__ */ __name((props) => { const { scope, children, open = false, - listContentRef + listContentRef, + setActiveIndexFast } = props, selectContext = useSelectContext(scope), selectItemParentContext = useSelectItemParentContext(scope), { setActiveIndex, selectedIndex, - activeIndex + activeIndexRef } = selectContext, { setOpen, setSelectedIndex - } = selectItemParentContext, [scrollTop, setScrollTop] = React62.useState(0), touch = (0, import_core36.useIsTouchDevice)(), listItemsRef = React62.useRef([]), overflowRef = React62.useRef(null), upArrowRef = React62.useRef(null), downArrowRef = React62.useRef(null), allowSelectRef = React62.useRef(false), allowMouseUpRef = React62.useRef(true), selectTimeoutRef = React62.useRef(null), state = React62.useRef({ + } = selectItemParentContext, [scrollTop, setScrollTop] = React53.useState(0), touch = (0, import_core31.useIsTouchDevice)(), listItemsRef = React53.useRef([]), overflowRef = React53.useRef(null), upArrowRef = React53.useRef(null), downArrowRef = React53.useRef(null), allowSelectRef = React53.useRef(false), allowMouseUpRef = React53.useRef(true), selectTimeoutRef = React53.useRef(null), state2 = React53.useRef({ isMouseOutside: false, isTyping: false - }), [controlledScrolling, setControlledScrolling] = React62.useState(false), [fallback, setFallback] = React62.useState(false), [innerOffset, setInnerOffset] = React62.useState(0), [blockSelection, setBlockSelection] = React62.useState(false), floatingStyle = React62.useRef({}); - useIsomorphicLayoutEffect(() => { - queueMicrotask(() => { - open || (setScrollTop(0), setFallback(false), setActiveIndex(null), setControlledScrolling(false)); - }); - }, [open, setActiveIndex]), isWeb && isClient && useIsomorphicLayoutEffect(() => { + }), [controlledScrolling, setControlledScrolling] = React53.useState(false), [fallback, setFallback] = React53.useState(false), [innerOffset, setInnerOffset] = React53.useState(0), [blockSelection, setBlockSelection] = React53.useState(false), floatingStyle = React53.useRef({}); + React53.useEffect(() => { + open ? setActiveIndexFast(selectedIndex ?? 0) : (setScrollTop(0), setFallback(false), setActiveIndexFast(null), setControlledScrolling(false)); + }, [open, selectedIndex, setActiveIndexFast]), useIsomorphicLayoutEffect(() => { if (!open) return; const mouseUp = /* @__PURE__ */ __name((e) => { - state.current.isMouseOutside && setOpen(false); + state2.current.isMouseOutside && setOpen(false); }, "mouseUp"); return document.addEventListener("mouseup", mouseUp), () => { document.removeEventListener("mouseup", mouseUp); @@ -35660,7 +35184,7 @@ var SelectInlineImpl = /* @__PURE__ */ __name((props) => { x, y, strategy, - context: context2, + context: context4, refs, update } = useFloating4({ @@ -35694,44 +35218,49 @@ var SelectInlineImpl = /* @__PURE__ */ __name((props) => { crossAxis: -5 })] }), floatingRef = refs.floating, showUpArrow = open && scrollTop > SCROLL_ARROW_THRESHOLD, showDownArrow = open && floatingRef.current && scrollTop < floatingRef.current.scrollHeight - floatingRef.current.clientHeight - SCROLL_ARROW_THRESHOLD, isScrollable = showDownArrow || showUpArrow; - useIsomorphicLayoutEffect(() => (window.addEventListener("resize", update), open && update(), () => window.removeEventListener("resize", update)), [update, open]); - const onMatch = (0, import_core36.useEvent)((index5) => (open ? setActiveIndex : setSelectedIndex)(index5)), interactionsProps = [useClick(context2, { + useIsomorphicLayoutEffect(() => { + if (!(typeof window > "u")) return window.addEventListener("resize", update), open && update(), () => window.removeEventListener("resize", update); + }, [update, open]); + const onMatch = (0, import_core31.useEvent)((index5) => (open ? setActiveIndex : setSelectedIndex)(index5)), interactionsProps = [useClick(context4, { event: "mousedown", keyboardHandlers: false - }), useDismiss2(context2, { + }), useDismiss2(context4, { outsidePress: false - }), useRole2(context2, { + }), useRole2(context4, { role: "listbox" - }), useInnerOffset(context2, { + }), useInnerOffset(context4, { enabled: !fallback && isScrollable, onChange: setInnerOffset, overflowRef, scrollRef: refs.floating - }), useListNavigation(context2, { + }), useListNavigation(context4, { listRef: listItemsRef, - activeIndex: activeIndex || 0, + activeIndex: selectContext.activeIndex ?? 0, selectedIndex, - onNavigate: setActiveIndex, + // wrap onNavigate to prevent floating-ui from resetting activeIndex to null on focus loss + onNavigate: /* @__PURE__ */ __name((index5) => { + index5 !== null && setActiveIndex(index5); + }, "onNavigate"), scrollItemIntoView: false - }), useTypeahead(context2, { + }), useTypeahead(context4, { listRef: listContentRef, onMatch, selectedIndex, - activeIndex, + activeIndex: selectContext.activeIndex, onTypingChange: /* @__PURE__ */ __name((e) => { - state.current.isTyping = e; + state2.current.isTyping = e; }, "onTypingChange") })], interactions = useInteractions2( // unfortunately these memos will just always break due to floating-ui context always changing :/ - React62.useMemo(() => interactionsProps, interactionsProps) - ), interactionsContext = React62.useMemo(() => ({ + React53.useMemo(() => interactionsProps, interactionsProps) + ), interactionsContext = React53.useMemo(() => ({ ...interactions, getReferenceProps() { return interactions.getReferenceProps({ ref: refs.reference, className: "SelectTrigger", onKeyDown(event) { - (event.key === "Enter" || event.code === "Space" || event.key === " " && !state.current.isTyping) && (event.preventDefault(), setOpen(true)); + (event.key === "Enter" || event.code === "Space" || event.key === " " && !state2.current.isTyping) && (event.preventDefault(), setOpen(true)); } }); }, @@ -35750,13 +35279,13 @@ var SelectInlineImpl = /* @__PURE__ */ __name((props) => { ...props2?.style }, onPointerEnter() { - setControlledScrolling(false), state.current.isMouseOutside = false; + setControlledScrolling(false), state2.current.isMouseOutside = false; }, onPointerLeave() { - state.current.isMouseOutside = true; + state2.current.isMouseOutside = true; }, onPointerMove() { - state.current.isMouseOutside = false, setControlledScrolling(false); + state2.current.isMouseOutside = false, setControlledScrolling(false); }, onKeyDown() { setControlledScrolling(true); @@ -35773,14 +35302,14 @@ var SelectInlineImpl = /* @__PURE__ */ __name((props) => { } }), [refs.reference.current, x, y, refs.floating.current, interactions]); return useIsomorphicLayoutEffect(() => { - if (open) return selectTimeoutRef.current = setTimeout(() => { - allowSelectRef.current = true; + if (open) return allowMouseUpRef.current = false, selectTimeoutRef.current = setTimeout(() => { + allowSelectRef.current = true, allowMouseUpRef.current = true; }, 300), () => { clearTimeout(selectTimeoutRef.current); }; allowSelectRef.current = false, allowMouseUpRef.current = true, setInnerOffset(0), setFallback(false), setBlockSelection(false); }, [open]), useIsomorphicLayoutEffect(() => { - !open && state.current.isMouseOutside && (state.current.isMouseOutside = false); + !open && state2.current.isMouseOutside && (state2.current.isMouseOutside = false); }, [open]), useIsomorphicLayoutEffect(() => { function onPointerDown(e) { const target = e.target; @@ -35790,24 +35319,27 @@ var SelectInlineImpl = /* @__PURE__ */ __name((props) => { if (open) return document.addEventListener("pointerdown", onPointerDown), () => { document.removeEventListener("pointerdown", onPointerDown); }; - }, [open, refs, setOpen]), React62.useEffect(() => { - open && controlledScrolling && activeIndex != null && listItemsRef.current[activeIndex]?.scrollIntoView({ - block: "nearest" - }), setScrollTop(refs.floating.current?.scrollTop ?? 0); - }, [open, refs, controlledScrolling, activeIndex]), React62.useEffect(() => { + }, [open, refs, setOpen]), React53.useEffect(() => { + if (!open) return; + const scrollActiveIntoView = /* @__PURE__ */ __name((index5) => { + controlledScrolling && index5 != null && listItemsRef.current[index5]?.scrollIntoView({ + block: "nearest" + }), setScrollTop(refs.floating.current?.scrollTop ?? 0); + }, "scrollActiveIntoView"); + return scrollActiveIntoView(activeIndexRef.current), selectItemParentContext.activeIndexSubscribe(scrollActiveIntoView); + }, [open, refs, controlledScrolling, selectItemParentContext.activeIndexSubscribe]), React53.useEffect(() => { open && fallback && selectedIndex != null && listItemsRef.current[selectedIndex]?.scrollIntoView({ block: "nearest" }); }, [open, fallback, selectedIndex]), useIsomorphicLayoutEffect(() => { refs.floating.current && fallback && (refs.floating.current.style.maxHeight = ""); - }, [refs, fallback]), /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectProvider, { + }, [refs, fallback]), /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(SelectProvider, { scope, ...selectContext, setScrollTop, setInnerOffset, fallback, - floatingContext: context2, - activeIndex, + floatingContext: context4, canScrollDown: !!showDownArrow, canScrollUp: !!showUpArrow, controlledScrolling, @@ -35815,12 +35347,12 @@ var SelectInlineImpl = /* @__PURE__ */ __name((props) => { upArrowRef, downArrowRef, update, - children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectItemParentProvider, { + children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(SelectItemParentProvider, { scope, ...selectItemParentContext, allowMouseUpRef, allowSelectRef, - dataRef: context2.dataRef, + dataRef: context4.dataRef, interactions: interactionsContext, listRef: listItemsRef, selectTimeoutRef, @@ -35830,15 +35362,15 @@ var SelectInlineImpl = /* @__PURE__ */ __name((props) => { }, "SelectInlineImpl"); // node_modules/@tamagui/select/dist/esm/SelectItem.mjs -var import_core37 = require("@tamagui/core"); -var React63 = __toESM(require("react"), 1); -var import_jsx_runtime49 = require("react/jsx-runtime"); +var import_core32 = require("@tamagui/core"); +var React54 = __toESM(require("react"), 1); +var import_jsx_runtime47 = require("react/jsx-runtime"); var ITEM_NAME3 = "SelectItem"; var { Provider: SelectItemContextProvider, useStyledContext: useSelectItemContext -} = (0, import_core37.createStyledContext)(null, ITEM_NAME3); -var SelectItem = ListItemFrame.styleable(function(props, forwardedRef) { +} = (0, import_core32.createStyledContext)(null, ITEM_NAME3); +var SelectItem = ListItem2.Frame.styleable(function(props, forwardedRef) { const { scope, value, @@ -35846,14 +35378,7 @@ var SelectItem = ListItemFrame.styleable(function(props, forwardedRef) { textValue: textValueProp, index: index5, ...restProps - } = props, { - props: listItemProps - } = useListItem({ - ...!props.unstyled && { - ellipse: true - }, - ...restProps - }), context2 = useSelectItemParentContext(scope), { + } = props, context4 = useSelectItemParentContext(scope), { setSelectedIndex, listRef, setOpen, @@ -35869,16 +35394,19 @@ var SelectItem = ListItemFrame.styleable(function(props, forwardedRef) { shouldRenderWebNative, size: size4, onActiveChange, - initialValue: initialValue2 - } = context2, [isSelected, setSelected] = React63.useState(initialValue2 === value); - React63.useEffect(() => activeIndexSubscribe((i) => { - index5 === i && (onActiveChange(value, index5), listRef?.current[index5]?.focus()); - }), [index5]), React63.useEffect(() => valueSubscribe((val) => { + initialValue: initialValue2, + setActiveIndexFast + } = context4, [isSelected, setSelected] = React54.useState(initialValue2 === value); + useIsomorphicLayoutEffect(() => { + initialValue2 === value && setSelectedIndex(index5); + }, []), React54.useEffect(() => activeIndexSubscribe((i) => { + index5 === i && (onActiveChange(value, index5), isWeb && listRef?.current[index5]?.focus()); + }), [index5]), React54.useEffect(() => valueSubscribe((val) => { setSelected(val === value); }), [value]); - const textId = React63.useId(), refCallback = React63.useCallback((node) => { + const textId = React54.useId(), refCallback = React54.useCallback((node) => { isWeb && node instanceof HTMLElement && listRef && (listRef.current[index5] = node); - }, []), composedRefs = useComposedRefs(forwardedRef, refCallback); + }, [index5, listRef]), composedRefs = useComposedRefs(forwardedRef, refCallback); useIsomorphicLayoutEffect(() => { setValueAtIndex(index5, value); }, [index5, setValueAtIndex, value]); @@ -35886,7 +35414,7 @@ var SelectItem = ListItemFrame.styleable(function(props, forwardedRef) { setSelectedIndex(index5), onChange(value), setOpen(false); } __name(handleSelect, "handleSelect"); - const selectItemProps = React63.useMemo(() => interactions ? interactions.getItemProps({ + const selectItemProps = React54.useMemo(() => interactions ? interactions.getItemProps({ onTouchMove() { allowSelectRef.current = true, allowMouseUpRef.current = false; }, @@ -35894,31 +35422,43 @@ var SelectItem = ListItemFrame.styleable(function(props, forwardedRef) { allowSelectRef.current = false, allowMouseUpRef.current = true; }, onKeyDown(event) { - event.key === "Enter" || event.key === " " && !dataRef?.current.typing ? (event.preventDefault(), handleSelect()) : allowSelectRef.current = true; + if (event.key === "Enter" || event.key === " " && !dataRef?.current.typing) event.preventDefault(), handleSelect(); + else if (event.key === "ArrowDown" || event.key === "ArrowUp") { + event.preventDefault(), event.stopPropagation(); + const itemCount = listRef?.current.length ?? 0; + if (itemCount === 0) return; + let nextIndex; + event.key === "ArrowDown" ? nextIndex = index5 + 1 >= itemCount ? 0 : index5 + 1 : nextIndex = index5 - 1 < 0 ? itemCount - 1 : index5 - 1, setActiveIndexFast?.(nextIndex); + } else allowSelectRef.current = true; }, onClick() { allowSelectRef.current && handleSelect(); }, onMouseUp() { - allowMouseUpRef.current && (allowSelectRef.current && handleSelect(), clearTimeout(selectTimeoutRef.current), selectTimeoutRef.current = setTimeout(() => { + if (!allowMouseUpRef.current) { + allowMouseUpRef.current = true, allowSelectRef.current = true; + return; + } + allowSelectRef.current && handleSelect(), clearTimeout(selectTimeoutRef.current), selectTimeoutRef.current = setTimeout(() => { allowSelectRef.current = true; - })); + }); } }) : { onPress: handleSelect - }, [handleSelect]); - return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SelectItemContextProvider, { + }, [handleSelect, index5, listRef, setActiveIndexFast]); + return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SelectItemContextProvider, { scope, value, textId: textId || "", isSelected, - children: shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("option", { + children: shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("option", { value, children: props.children - }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ListItemFrame, { - tag: "div", + }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ListItem2.Frame, { + render: "div", componentName: ITEM_NAME3, ref: composedRefs, + role: "option", "aria-labelledby": textId, "aria-selected": isSelected, "data-state": isSelected ? "active" : "inactive", @@ -35926,20 +35466,26 @@ var SelectItem = ListItemFrame.styleable(function(props, forwardedRef) { "data-disabled": disabled ? "" : void 0, tabIndex: disabled ? void 0 : -1, ...!props.unstyled && { - backgrounded: true, - pressTheme: true, - hoverTheme: true, - focusTheme: true, cursor: "default", size: size4, outlineOffset: -0.5, + zIndex: 100, + hoverStyle: { + backgroundColor: "$backgroundHover" + }, + pressStyle: { + backgroundColor: "$backgroundPress" + }, + focusStyle: { + backgroundColor: "$backgroundFocus" + }, focusVisibleStyle: { outlineColor: "$outlineColor", outlineWidth: 1, outlineStyle: "solid" } }, - ...listItemProps, + ...restProps, ...selectItemProps }) }); @@ -35948,18 +35494,18 @@ var SelectItem = ListItemFrame.styleable(function(props, forwardedRef) { }); // node_modules/@tamagui/select/dist/esm/SelectItemText.mjs -var import_core38 = require("@tamagui/core"); -var React64 = __toESM(require("react"), 1); -var import_jsx_runtime50 = require("react/jsx-runtime"); +var import_core33 = require("@tamagui/core"); +var React55 = __toESM(require("react"), 1); +var import_jsx_runtime48 = require("react/jsx-runtime"); var ITEM_TEXT_NAME = "SelectItemText"; -var SelectItemTextFrame = (0, import_core38.styled)(SizableText2, { +var SelectItemTextFrame = (0, import_core33.styled)(SizableText2, { name: ITEM_TEXT_NAME, variants: { unstyled: { false: { userSelect: "none", color: "$color", - ellipse: true + ellipsis: true } } }, @@ -35972,30 +35518,30 @@ var SelectItemText = SelectItemTextFrame.styleable(function(props, forwardedRef) scope, className, ...itemTextProps - } = props, context2 = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), ref = React64.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), itemContext = useSelectItemContext(scope), contents = React64.useRef(null); - return contents.current = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SelectItemTextFrame, { + } = props, itemParentContext = useSelectItemParentContext(scope), ref = React55.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), itemContext = useSelectItemContext(scope), contents = React55.useRef(null); + return contents.current = /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectItemTextFrame, { className, size: itemParentContext.size, id: itemContext.textId, ...itemTextProps, ref: composedRefs - }), (0, import_core38.useIsomorphicLayoutEffect)(() => { - itemParentContext.initialValue === itemContext.value && !context2.selectedIndex && context2.setSelectedItem(contents.current); - }, []), (0, import_core38.useIsomorphicLayoutEffect)(() => itemParentContext.valueSubscribe((val) => { - val === itemContext.value && context2.setSelectedItem(contents.current); - }), [itemContext.value]), itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_jsx_runtime50.Fragment, { + }), (0, import_core33.useIsomorphicLayoutEffect)(() => { + itemParentContext.initialValue === itemContext.value && itemParentContext.setSelectedItem(contents.current); + }, []), (0, import_core33.useIsomorphicLayoutEffect)(() => itemParentContext.valueSubscribe((val) => { + val === itemContext.value && itemParentContext.setSelectedItem(contents.current); + }), [itemContext.value]), itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: props.children - }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_jsx_runtime50.Fragment, { + }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, { children: contents.current }); }); // node_modules/@tamagui/select/dist/esm/SelectScrollButton.mjs -var React65 = __toESM(require("react"), 1); +var React56 = __toESM(require("react"), 1); var import_react_dom7 = require("react-dom"); -var import_jsx_runtime51 = require("react/jsx-runtime"); +var import_jsx_runtime49 = require("react/jsx-runtime"); var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton"; -var SelectScrollUpButton = React65.forwardRef((props, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SelectScrollButtonImpl, { +var SelectScrollUpButton = React56.forwardRef((props, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SelectScrollButtonImpl, { componentName: SCROLL_UP_BUTTON_NAME, ...props, dir: "up", @@ -36003,14 +35549,14 @@ var SelectScrollUpButton = React65.forwardRef((props, forwardedRef) => /* @__PUR })); SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME; var SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton"; -var SelectScrollDownButton = React65.forwardRef((props, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SelectScrollButtonImpl, { +var SelectScrollDownButton = React56.forwardRef((props, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SelectScrollButtonImpl, { componentName: SCROLL_DOWN_BUTTON_NAME, ...props, dir: "down", ref: forwardedRef })); SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME; -var SelectScrollButtonImpl = React65.memo(React65.forwardRef((props, forwardedRef) => { +var SelectScrollButtonImpl = React56.memo(React56.forwardRef((props, forwardedRef) => { const { scope, dir, @@ -36022,8 +35568,8 @@ var SelectScrollButtonImpl = React65.memo(React65.forwardRef((props, forwardedRe fallback, setScrollTop, setInnerOffset, - ...context2 - } = useSelectContext(scope), floatingRef = context2.floatingContext?.refs.floating, statusRef = React65.useRef("idle"), isVisible = context2[dir === "down" ? "canScrollDown" : "canScrollUp"], frameRef = React65.useRef(null), { + ...context4 + } = useSelectContext(scope), floatingRef = context4.floatingContext?.refs.floating, statusRef = React56.useRef("idle"), isVisible = context4[dir === "down" ? "canScrollDown" : "canScrollUp"], frameRef = React56.useRef(null), { x, y, refs, @@ -36047,7 +35593,7 @@ var SelectScrollButtonImpl = React65.memo(React65.forwardRef((props, forwardedRe const floating = floatingRef; floating && (fallback ? floating.current && (floating.current.scrollTop -= amount, (0, import_react_dom7.flushSync)(() => setScrollTop(floating.current?.scrollTop ?? 0))) : (0, import_react_dom7.flushSync)(() => setInnerOffset((value) => value - amount))); }, "onScroll"); - return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(YStack, { + return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(YStack, { ref: composedRef, componentName, "aria-hidden": true, @@ -36079,30 +35625,24 @@ var SelectScrollButtonImpl = React65.memo(React65.forwardRef((props, forwardedRe })); // node_modules/@tamagui/select/dist/esm/SelectTrigger.mjs -var import_core39 = require("@tamagui/core"); -var React66 = __toESM(require("react"), 1); -var import_jsx_runtime52 = require("react/jsx-runtime"); -var TRIGGER_NAME4 = "SelectTrigger"; -var isPointerCoarse = import_core39.isWeb && import_core39.isClient ? window.matchMedia("(pointer:coarse)").matches : true; -var SelectTrigger = React66.forwardRef(function(props, forwardedRef) { +var React57 = __toESM(require("react"), 1); +var import_jsx_runtime50 = require("react/jsx-runtime"); +var TRIGGER_NAME3 = "SelectTrigger"; +var isPointerCoarse = typeof window < "u" ? window.matchMedia("(pointer:coarse)").matches : true; +var SelectTrigger = React57.forwardRef(function(props, forwardedRef) { const { scope, disabled = false, unstyled = false, ...triggerProps - } = props, context2 = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), composedRefs = useComposedRefs(forwardedRef, context2.floatingContext?.refs.setReference); - return itemParentContext.shouldRenderWebNative ? null : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ListItem2, { - componentName: TRIGGER_NAME4, + } = props, context4 = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), composedRefs = useComposedRefs(forwardedRef, context4.floatingContext?.refs.setReference); + return itemParentContext.shouldRenderWebNative ? null : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ListItem2, { + componentName: TRIGGER_NAME3, unstyled, - tag: "button", + render: "button", type: "button", id: itemParentContext.id, ...!unstyled && { - backgrounded: true, - radiused: true, - hoverTheme: true, - pressTheme: true, - focusable: true, focusVisibleStyle: { outlineStyle: "solid", outlineWidth: 2, @@ -36111,9 +35651,11 @@ var SelectTrigger = React66.forwardRef(function(props, forwardedRef) { borderWidth: 1, size: itemParentContext.size }, - "aria-expanded": context2.open, + role: "combobox", + "aria-haspopup": "listbox", + "aria-expanded": context4.open, "aria-autocomplete": "none", - dir: context2.dir, + dir: context4.dir, disabled, "data-disabled": disabled ? "" : void 0, ...triggerProps, @@ -36122,25 +35664,25 @@ var SelectTrigger = React66.forwardRef(function(props, forwardedRef) { ...itemParentContext.interactions.getReferenceProps(), ...isPointerCoarse ? { onPress() { - itemParentContext.setOpen(!context2.open); + itemParentContext.setOpen(!context4.open); } } : { onMouseDown() { - context2.floatingContext?.update(), itemParentContext.setOpen(!context2.open); + context4.floatingContext?.update(), itemParentContext.setOpen(!context4.open); } } } : { onPress() { - itemParentContext.setOpen(!context2.open); + itemParentContext.setOpen(!context4.open); } } }); }); // node_modules/@tamagui/select/dist/esm/SelectViewport.mjs -var import_core40 = require("@tamagui/core"); -var import_jsx_runtime53 = require("react/jsx-runtime"); -var SelectViewportFrame = (0, import_core40.styled)(ThemeableStack, { +var import_core34 = require("@tamagui/core"); +var import_jsx_runtime51 = require("react/jsx-runtime"); +var SelectViewportFrame = (0, import_core34.styled)(YStack, { name: VIEWPORT_NAME, variants: { unstyled: { @@ -36165,31 +35707,32 @@ var SelectViewportFrame = (0, import_core40.styled)(ThemeableStack, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var needsRepropagation3 = isAndroid || isIos && !USE_NATIVE_PORTAL; +var needsRepropagation3 = needsPortalRepropagation(); var SelectViewport = SelectViewportFrame.styleable(function(props, forwardedRef) { const { scope, children, disableScroll, ...viewportProps - } = props, context2 = useSelectContext(scope), itemContext = useSelectItemParentContext(scope), isAdapted = useAdaptIsActive(context2.adaptScope), composedRefs = useComposedRefs( + } = props, context4 = useSelectContext(scope), itemContext = useSelectItemParentContext(scope), isAdapted = useAdaptIsActive(context4.adaptScope), composedRefs = useComposedRefs( // @ts-ignore TODO react 19 type needs fix forwardedRef, - context2.floatingContext?.refs.setFloating + context4.floatingContext?.refs.setFloating ); if (useIsomorphicLayoutEffect(() => { - context2.update && context2.update(); - }, [isAdapted]), itemContext.shouldRenderWebNative) return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_jsx_runtime53.Fragment, { + context4.update && context4.update(); + }, [isAdapted]), itemContext.shouldRenderWebNative) return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(YStack, { + position: "relative", children }); if (isAdapted || !isWeb) { let content = children; - return needsRepropagation3 && (content = /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ForwardSelectContext, { + return needsRepropagation3 && (content = /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ForwardSelectContext, { itemContext, - context: context2, + context: context4, children: content - })), /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AdaptPortalContents, { - scope: context2.adaptScope, + })), /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(AdaptPortalContents, { + scope: context4.adaptScope, children: content }); } @@ -36200,16 +35743,17 @@ var SelectViewport = SelectViewportFrame.styleable(function(props, forwardedRef) className, ...floatingProps } = itemContext.interactions.getFloatingProps(); - return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { - children: [!disableScroll && !props.unstyled && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("style", { + return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { + children: [!disableScroll && !props.unstyled && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("style", { dangerouslySetInnerHTML: { __html: selectViewportCSS } - }), /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AnimatePresence, { - children: context2.open ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(FloatingFocusManager, { - context: context2.floatingContext, + }), /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(AnimatePresence, { + children: context4.open ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(FloatingFocusManager, { + context: context4.floatingContext, modal: false, - children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectViewportFrame, { + initialFocus: -1, + children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SelectViewportFrame, { size: itemContext.size, role: "presentation", ...viewportProps, @@ -36222,7 +35766,7 @@ var SelectViewport = SelectViewportFrame.styleable(function(props, forwardedRef) children }, "select-viewport") }) : null - }), !context2.open && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { + }), !context4.open && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { style: { display: "none" }, @@ -36243,9 +35787,9 @@ var selectViewportCSS = ` `; // node_modules/@tamagui/select/dist/esm/Select.mjs -var import_jsx_runtime54 = require("react/jsx-runtime"); +var import_jsx_runtime52 = require("react/jsx-runtime"); var VALUE_NAME = "SelectValue"; -var SelectValueFrame = (0, import_core41.styled)(SizableText2, { +var SelectValueFrame = (0, import_core35.styled)(SizableText2, { name: VALUE_NAME, userSelect: "none" }); @@ -36255,11 +35799,15 @@ var SelectValue = SelectValueFrame.styleable(function({ placeholder, ...props }, forwardedRef) { - const context2 = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), composedRefs = useComposedRefs(forwardedRef, context2.onValueNodeChange), children = childrenProp ?? context2.selectedItem, selectValueChildren = context2.value == null || context2.value === "" ? placeholder ?? children : children; - return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectValueFrame, { + const context4 = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), composedRefs = useComposedRefs( + // @ts-ignore TODO react 19 type needs fix + forwardedRef, + context4.onValueNodeChange + ), isEmptyValue = context4.value == null || context4.value === "", renderedValue = context4.renderValue?.(context4.value), children = childrenProp ?? renderedValue ?? itemParentContext.selectedItem ?? context4.value, selectValueChildren = isEmptyValue ? placeholder ?? children : children; + return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectValueFrame, { ...!props.unstyled && { size: itemParentContext.size, - ellipse: true, + ellipsis: true, // we don't want events from the portalled `SelectValue` children to bubble // through the item they came from pointerEvents: "none" @@ -36270,7 +35818,7 @@ var SelectValue = SelectValueFrame.styleable(function({ }); }); function unwrapSelectItem(selectValueChildren) { - return React67.Children.map(selectValueChildren, (child) => { + return React58.Children.map(selectValueChildren, (child) => { if (child) { if (child.type?.staticConfig?.componentName === ITEM_TEXT_NAME) return child.props.children; if (child.props?.children) return unwrapSelectItem(child.props.children); @@ -36279,59 +35827,101 @@ function unwrapSelectItem(selectValueChildren) { }); } __name(unwrapSelectItem, "unwrapSelectItem"); -var SelectIcon = (0, import_core41.styled)(XStack, { +var SelectIcon = (0, import_core35.styled)(XStack, { name: "SelectIcon", // @ts-ignore "aria-hidden": true, - children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Paragraph, { + children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Paragraph, { children: "\u25BC" }) }); -var SelectItemIndicatorFrame = (0, import_core41.styled)(XStack, { +var SelectItemIndicatorFrame = (0, import_core35.styled)(XStack, { name: "SelectItemIndicator" }); -var SelectItemIndicator = React67.forwardRef(function(props, forwardedRef) { +var SelectItemIndicator = React58.forwardRef(function(props, forwardedRef) { const { scope, ...itemIndicatorProps - } = props, context2 = useSelectItemParentContext(scope), itemContext = useSelectItemContext(scope); - return context2.shouldRenderWebNative ? null : itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectItemIndicatorFrame, { + } = props, context4 = useSelectItemParentContext(scope), itemContext = useSelectItemContext(scope); + return context4.shouldRenderWebNative ? null : itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectItemIndicatorFrame, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null; }); +var SelectIndicatorFrame = (0, import_core35.styled)(YStack, { + name: "SelectIndicator", + variants: { + unstyled: { + false: { + position: "absolute", + top: 0, + left: 0, + pointerEvents: "none", + zIndex: 10, + backgroundColor: "$background", + borderRadius: 0 + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var SelectIndicator = SelectIndicatorFrame.styleable(function({ + scope, + ...props +}, forwardedRef) { + const itemContext = useSelectItemParentContext(scope), context4 = useSelectContext(scope), [layout, setLayout] = React58.useState(null), rafRef = React58.useRef(0); + return React58.useLayoutEffect(() => { + const update = /* @__PURE__ */ __name((index5) => { + typeof index5 == "number" && (cancelAnimationFrame(rafRef.current), rafRef.current = requestAnimationFrame(() => { + const node = itemContext.listRef?.current?.[index5]; + node && setLayout({ + width: Math.round(node.offsetWidth), + height: Math.round(node.offsetHeight), + x: Math.round(node.offsetLeft), + y: Math.round(node.offsetTop) + }); + })); + }, "update"); + return context4.open && context4.activeIndexRef.current !== null && update(context4.activeIndexRef.current), itemContext.activeIndexSubscribe(update); + }, [context4.open, itemContext.listRef]), layout ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectIndicatorFrame, { + ref: forwardedRef, + ...props, + width: layout.width, + height: layout.height, + x: layout.x, + y: layout.y + }) : null; +}); var GROUP_NAME3 = "SelectGroup"; var { Provider: SelectGroupContextProvider, useStyledContext: useSelectGroupContext -} = (0, import_core41.createStyledContext)({ +} = (0, import_core35.createStyledContext)({ id: "" }, "SelectGroup"); -var SelectGroupFrame = (0, import_core41.styled)(YStack, { +var SelectGroupFrame = (0, import_core35.styled)(YStack, { name: GROUP_NAME3, width: "100%" }); -var NativeSelectTextFrame = (0, import_core41.styled)(SizableText2, { - tag: "select", +var NativeSelectTextFrame = (0, import_core35.styled)(SizableText2, { + render: "select", backgroundColor: "$background", borderColor: "$borderColor", hoverStyle: { backgroundColor: "$backgroundHover" } }); -var NativeSelectFrame = (0, import_core41.styled)(ThemeableStack, { +var NativeSelectFrame = (0, import_core35.styled)(YStack, { name: "NativeSelect", - bordered: true, - userSelect: "none", - outlineWidth: 0, - paddingRight: 10, variants: { size: { "...size": /* @__PURE__ */ __name((val, extras) => { const { tokens - } = extras, paddingHorizontal = (0, import_core41.getVariableValue)(tokens.space[val]); + } = extras, paddingHorizontal = (0, import_core35.getVariableValue)(tokens.space[val]); return { borderRadius: tokens.radius[val] ?? val, minHeight: tokens.size[val], @@ -36342,22 +35932,32 @@ var NativeSelectFrame = (0, import_core41.styled)(ThemeableStack, { }) }; }, "...size") + }, + unstyled: { + false: { + borderWidth: 1, + borderColor: "$borderColor", + userSelect: "none", + outlineWidth: 0, + paddingRight: 10 + } } }, defaultVariants: { - size: "$2" + size: "$2", + unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var SelectGroup = React67.forwardRef((props, forwardedRef) => { +var SelectGroup = React58.forwardRef((props, forwardedRef) => { const { scope, ...groupProps - } = props, groupId = React67.useId(), context2 = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), size4 = itemParentContext.size ?? "$true", nativeSelectRef = React67.useRef(null), content = itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(NativeSelectFrame, { + } = props, groupId = React58.useId(), context4 = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), size4 = itemParentContext.size ?? "$true", nativeSelectRef = React58.useRef(null), content = itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NativeSelectFrame, { asChild: true, size: size4, - value: context2.value, + value: context4.value, id: itemParentContext.id, - children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(NativeSelectTextFrame, { + children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NativeSelectTextFrame, { onChange: /* @__PURE__ */ __name((event) => { itemParentContext.onChange(event.currentTarget.value); }, "onChange"), @@ -36370,13 +35970,13 @@ var SelectGroup = React67.forwardRef((props, forwardedRef) => { }, children: props.children }) - }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectGroupFrame, { + }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectGroupFrame, { role: "group", "aria-labelledby": groupId, ...groupProps, ref: forwardedRef }); - return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectGroupContextProvider, { + return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectGroupContextProvider, { scope, id: groupId || "", children: content @@ -36384,45 +35984,68 @@ var SelectGroup = React67.forwardRef((props, forwardedRef) => { }); SelectGroup.displayName = GROUP_NAME3; var LABEL_NAME = "SelectLabel"; -var SelectLabel = React67.forwardRef((props, forwardedRef) => { +var SelectLabelFrame = (0, import_core35.styled)(SizableText2, { + name: LABEL_NAME, + variants: { + unstyled: { + false: { + size: "$true", + ellipsis: true, + maxWidth: "100%", + cursor: "default" + } + }, + size: { + "...size": /* @__PURE__ */ __name((val, { + tokens + }) => ({ + paddingHorizontal: tokens.space[val], + paddingVertical: getSpace(tokens.space[val], { + shift: -4 + }) + }), "...size") + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var SelectLabel = SelectLabelFrame.styleable((props, forwardedRef) => { const { scope, ...labelProps - } = props, context2 = useSelectItemParentContext(scope), groupContext = useSelectGroupContext(scope); - return context2.shouldRenderWebNative ? null : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ListItem2, { - tag: "div", - componentName: LABEL_NAME, - fontWeight: "800", + } = props, context4 = useSelectItemParentContext(scope), groupContext = useSelectGroupContext(scope); + return context4.shouldRenderWebNative ? null : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectLabelFrame, { + render: "div", id: groupContext.id, - size: context2.size, + size: context4.size, ...labelProps, ref: forwardedRef }); }); -SelectLabel.displayName = LABEL_NAME; -var SelectSeparator = (0, import_core41.styled)(Separator, { +var SelectSeparator = (0, import_core35.styled)(Separator, { name: "SelectSeparator" }); var SelectSheetController = /* @__PURE__ */ __name((props) => { - const context2 = useSelectContext(props.scope), showSheet = useShowSelectSheet(context2), isAdapted = useAdaptIsActive(context2.adaptScope), getShowSheet = (0, import_core41.useGet)(showSheet); - return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SheetController, { + const context4 = useSelectContext(props.scope), showSheet = useShowSelectSheet(context4), isAdapted = useAdaptIsActive(context4.adaptScope), getShowSheet = (0, import_core35.useGet)(showSheet); + return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SheetController, { onOpenChange: /* @__PURE__ */ __name((val) => { getShowSheet() && props.onOpenChange(val); }, "onOpenChange"), - open: context2.open, + open: context4.open, hidden: !isAdapted, children: props.children }); }, "SelectSheetController"); -var SelectSheetImpl = /* @__PURE__ */ __name((props) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_jsx_runtime54.Fragment, { +var SelectSheetImpl = /* @__PURE__ */ __name((props) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_jsx_runtime52.Fragment, { children: props.children }), "SelectSheetImpl"); var Select = withStaticProperties(function(props) { const adaptScope = `AdaptSelect${props.scope || ""}`; - return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(AdaptParent, { + return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(AdaptParent, { scope: adaptScope, portal: true, - children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectInner, { + children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectInner, { scope: props.scope, adaptScope, ...props @@ -36442,16 +36065,14 @@ var Select = withStaticProperties(function(props) { Trigger: SelectTrigger, Value: SelectValue, Viewport: SelectViewport, - Sheet: Sheet.Controlled, + Indicator: SelectIndicator, FocusScope: FocusScopeControllerComponent }); function useEmitter() { - const listeners = React67.useRef(null); - listeners.current || (listeners.current = /* @__PURE__ */ new Set()); - const emit = /* @__PURE__ */ __name((value) => { - listeners.current.forEach((l) => l(value)); - }, "emit"), subscribe3 = React67.useCallback((listener) => (listeners.current.add(listener), () => { - listeners.current.delete(listener); + const listenersRef = React58.useRef(/* @__PURE__ */ new Set()), emit = React58.useCallback((value) => { + listenersRef.current.forEach((l) => l(value)); + }, []), subscribe3 = React58.useCallback((listener) => (listenersRef.current.add(listener), () => { + listenersRef.current.delete(listener); }), []); return [emit, subscribe3]; } @@ -36472,8 +36093,9 @@ function SelectInner(props) { size: sizeProp = "$true", onActiveChange, dir, - id - } = props, SelectImpl = useAdaptIsActive(adaptScope) || !isWeb ? SelectSheetImpl : SelectInlineImpl, forceUpdate = React67.useReducer(() => ({}), {})[1], [selectedItem, setSelectedItem] = React67.useState(null), [open, setOpen] = useControllableState({ + id, + renderValue + } = props, SelectImpl = useAdaptIsActive(adaptScope) || !isWeb ? SelectSheetImpl : SelectInlineImpl, forceUpdate = React58.useReducer(() => ({}), {})[1], [selectedItem, setSelectedItem] = React58.useState(null), [open, setOpen] = useControllableState({ prop: openProp, defaultProp: defaultOpen || false, onChange: onOpenChange @@ -36483,40 +36105,45 @@ function SelectInner(props) { onChange: onValueChange, transition: true }); - React67.useEffect(() => { + React58.useEffect(() => { open && emitValue(value); - }, [open]), React67.useEffect(() => { + }, [open]), React58.useEffect(() => { emitValue(value); }, [value]); - const [activeIndex, setActiveIndex] = React67.useState(0), [emitValue, valueSubscribe] = useEmitter(), [emitActiveIndex, activeIndexSubscribe] = useEmitter(), selectedIndexRef = React67.useRef(null), activeIndexRef = React67.useRef(null), listContentRef = React67.useRef([]), [selectedIndex, setSelectedIndex] = React67.useState(0), [valueNode, setValueNode] = React67.useState(null); + const activeIndexRef = React58.useRef(null), [activeIndex, setActiveIndexState] = React58.useState(null), [emitValue, valueSubscribe] = useEmitter(), [emitActiveIndex, activeIndexSubscribe] = useEmitter(), selectedIndexRef = React58.useRef(null), listContentRef = React58.useRef([]), [selectedIndex, setSelectedIndex] = React58.useState(0), [valueNode, setValueNode] = React58.useState(null); useIsomorphicLayoutEffect(() => { - selectedIndexRef.current = selectedIndex, activeIndexRef.current = activeIndex; + selectedIndexRef.current = selectedIndex; }); - const shouldRenderWebNative = isWeb && (native === true || native === "web" || Array.isArray(native) && native.includes("web")), setActiveIndexDebounced = useDebounce((index5) => { - setActiveIndex((prev) => prev !== index5 ? (typeof index5 == "number" && emitActiveIndex(index5), index5) : prev); - }, 1, {}, []); - return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectItemParentProvider, { + const shouldRenderWebNative = isWeb && (native === true || native === "web" || Array.isArray(native) && native.includes("web")), setActiveIndexFast = React58.useCallback((index5) => { + activeIndexRef.current !== index5 && (activeIndexRef.current = index5, typeof index5 == "number" && emitActiveIndex(index5)); + }, [emitActiveIndex]), setActiveIndex = React58.useCallback((index5) => { + setActiveIndexFast(index5), setActiveIndexState(index5); + }, [setActiveIndexFast]); + return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectItemParentProvider, { scopeName: scope, scope, adaptScope, - initialValue: React67.useMemo(() => value, [open]), + initialValue: React58.useMemo(() => value, [open]), size: sizeProp, activeIndexSubscribe, valueSubscribe, setOpen, id, - onChange: React67.useCallback((val) => { + onChange: React58.useCallback((val) => { setValue(val), emitValue(val); }, []), - onActiveChange: (0, import_core41.useEvent)((value2, index5) => { + onActiveChange: (0, import_core35.useEvent)((value2, index5) => { onActiveChange?.(value2, index5); }), setSelectedIndex, - setValueAtIndex: React67.useCallback((index5, value2) => { + setValueAtIndex: React58.useCallback((index5, value2) => { listContentRef.current[index5] = value2; }, []), shouldRenderWebNative, - children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectProvider, { + setActiveIndexFast, + selectedItem, + setSelectedItem, + children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectProvider, { scope, scopeName: scope, adaptScope, @@ -36524,24 +36151,25 @@ function SelectInner(props) { dir, blockSelection: false, fallback: false, - selectedItem, - setSelectedItem, forceUpdate, valueNode, onValueNodeChange: setValueNode, activeIndex, + activeIndexRef, selectedIndex, - setActiveIndex: setActiveIndexDebounced, + setActiveIndex, value, open, native, - children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectSheetController, { + renderValue, + children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectSheetController, { onOpenChange: setOpen, scope, - children: shouldRenderWebNative ? children : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectImpl, { + children: shouldRenderWebNative ? children : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SelectImpl, { activeIndexRef, listContentRef, selectedIndexRef, + setActiveIndexFast, ...props, open, value, @@ -36553,14 +36181,1230 @@ function SelectInner(props) { } __name(SelectInner, "SelectInner"); +// node_modules/@tamagui/sheet/dist/esm/Sheet.mjs +var import_core40 = require("@tamagui/core"); + +// node_modules/@tamagui/sheet/dist/esm/constants.mjs +var SHEET_NAME = "Sheet"; +var SHEET_HANDLE_NAME = "SheetHandle"; +var SHEET_OVERLAY_NAME = "SheetOverlay"; + +// node_modules/@tamagui/sheet/dist/esm/createSheet.mjs +var import_core39 = require("@tamagui/core"); + +// node_modules/@tamagui/use-did-finish-ssr/dist/esm/index.mjs +var React59 = __toESM(require("react"), 1); + +// node_modules/@tamagui/use-did-finish-ssr/dist/esm/ClientOnly.mjs +var import_react44 = require("react"); +var import_jsx_runtime53 = require("react/jsx-runtime"); +var ClientOnlyContext = (0, import_react44.createContext)(false); + +// node_modules/@tamagui/use-did-finish-ssr/dist/esm/index.mjs +function useDidFinishSSR() { + return React59.useContext(ClientOnlyContext) ? true : React59.useSyncExternalStore(subscribe, () => true, () => false); +} +__name(useDidFinishSSR, "useDidFinishSSR"); +var subscribe = /* @__PURE__ */ __name(() => () => { +}, "subscribe"); + +// node_modules/@tamagui/sheet/dist/esm/createSheet.mjs +var import_react52 = require("react"); +var import_react_native_web4 = __toESM(require_cjs(), 1); + +// node_modules/@tamagui/sheet/dist/esm/SheetContext.mjs +var [createSheetContext, createSheetScope] = createContextScope(SHEET_NAME); +var [SheetProvider, useSheetContext] = createSheetContext(SHEET_NAME, {}); + +// node_modules/@tamagui/sheet/dist/esm/SheetImplementationCustom.mjs +var import_core37 = require("@tamagui/core"); +var import_react50 = __toESM(require("react"), 1); +var import_react_native_web3 = __toESM(require_cjs(), 1); + +// node_modules/@tamagui/sheet/dist/esm/contexts.mjs +var import_react45 = __toESM(require("react"), 1); +var ParentSheetContext = import_react45.default.createContext({ + zIndex: 1e5 +}); +var SheetInsideSheetContext = import_react45.default.createContext(null); + +// node_modules/@tamagui/sheet/dist/esm/GestureDetectorWrapper.mjs +var import_react_native_web2 = __toESM(require_cjs(), 1); + +// node_modules/@tamagui/sheet/dist/esm/gestureState.mjs +function isGestureHandlerEnabled() { + return getGestureHandler().isEnabled; +} +__name(isGestureHandlerEnabled, "isGestureHandlerEnabled"); +function getGestureHandlerState() { + return getGestureHandler().state; +} +__name(getGestureHandlerState, "getGestureHandlerState"); + +// node_modules/@tamagui/sheet/dist/esm/GestureDetectorWrapper.mjs +var import_jsx_runtime54 = require("react/jsx-runtime"); +function GestureDetectorWrapper({ + gesture, + children, + style +}) { + const { + GestureDetector + } = getGestureHandlerState(); + return isGestureHandlerEnabled() && GestureDetector && gesture ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(GestureDetector, { + gesture, + children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_native_web2.View, { + style, + collapsable: false, + children + }) + }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_native_web2.View, { + style, + children + }); +} +__name(GestureDetectorWrapper, "GestureDetectorWrapper"); + +// node_modules/@tamagui/sheet/dist/esm/GestureSheetContext.mjs +var import_react46 = require("react"); +var import_jsx_runtime55 = require("react/jsx-runtime"); +var GestureSheetContext = (0, import_react46.createContext)(null); +function useGestureSheetContext() { + return (0, import_react46.useContext)(GestureSheetContext); +} +__name(useGestureSheetContext, "useGestureSheetContext"); +function GestureSheetProvider({ + children, + isDragging, + blockPan, + setBlockPan, + panGesture, + panGestureRef +}) { + const value = { + panGesture, + panGestureRef, + isDragging, + blockPan, + setBlockPan + }; + return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(GestureSheetContext.Provider, { + value, + children + }); +} +__name(GestureSheetProvider, "GestureSheetProvider"); + +// node_modules/@tamagui/sheet/dist/esm/helpers.mjs +function resisted(y, minY, maxOverflow = 25) { + if (y >= minY) return y; + const pastBoundary = minY - y, resistedDistance = Math.sqrt(pastBoundary) * 2; + return minY - resistedDistance; +} +__name(resisted, "resisted"); + +// node_modules/@tamagui/sheet/dist/esm/useGestureHandlerPan.mjs +var import_react47 = require("react"); +var AT_TOP_THRESHOLD = 5; +function useGestureHandlerPan(config) { + const { + positions, + frameSize, + setPosition, + animateTo, + stopSpring, + scrollBridge, + setIsDragging, + getCurrentPosition, + resisted: resisted2, + disableDrag, + isShowingInnerSheet, + setAnimatedPosition, + scrollGestureRef + } = config, gestureHandlerEnabled = isGestureHandlerEnabled(), panGestureRef = (0, import_react47.useRef)(null), gestureStateRef = (0, import_react47.useRef)({ + startY: 0, + // track last translation when pan was active (for position calculation after handoff) + lastPanTranslationY: 0, + // accumulated position offset from all pan movements + accumulatedOffset: 0, + // track previous translation for direction detection (like actions-sheet) + prevTranslationY: 0, + // track if scroll was engaged (scrollY > 0) at some point + scrollEngaged: false, + // positions frozen at gesture start — keyboard may dismiss during drag (input blur), + // causing positions to revert. Frozen positions ensure stable snap calculation. + frozenPositions: [], + frozenMinY: 0, + // whether pan gesture actually started (vs just a tap in onBegin) + panStarted: false + }), onStart = (0, import_react47.useCallback)(() => { + stopSpring(); + }, [stopSpring]), onEnd = (0, import_react47.useCallback)((closestPoint, animationOverride) => { + setIsDragging(false), scrollBridge.setParentDragging(false), scrollBridge.setScrollEnabled?.(true), setPosition(closestPoint), animateTo(closestPoint, animationOverride); + }, [setIsDragging, scrollBridge, setPosition, animateTo]); + return { + panGesture: (0, import_react47.useMemo)(() => { + if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) return null; + const { + Gesture + } = getGestureHandlerState(); + if (!Gesture) return null; + const minY = positions[0], gs = gestureStateRef.current, gesture = Gesture.Pan().withRef(panGestureRef).failOffsetX([-20, 20]).shouldCancelWhenOutside(false).onBegin(() => { + gs.panStarted = false, config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = true); + const pos = getCurrentPosition(), atTop = pos <= minY + AT_TOP_THRESHOLD, currentScrollY = scrollBridge.y; + gs.startY = pos, gs.lastPanTranslationY = 0, gs.accumulatedOffset = 0, gs.prevTranslationY = 0, gs.scrollEngaged = currentScrollY > 0, gs.frozenPositions = [...positions], gs.frozenMinY = minY, atTop || scrollBridge.setScrollEnabled?.(false, 0); + }).onStart(() => { + gs.panStarted = true, setIsDragging(true), scrollBridge.initialPosition = gs.startY, onStart(); + }).onChange((event) => { + const { + translationY + } = event, isSwipingDown = gs.prevTranslationY < translationY, deltaY = translationY - gs.prevTranslationY; + gs.prevTranslationY = translationY; + const scrollY = scrollBridge.y; + scrollY > 0 && (gs.scrollEngaged = true); + const isCurrentlyAtTop = gs.startY + gs.accumulatedOffset <= minY + AT_TOP_THRESHOLD, nodeIsScrolling = scrollY > 0; + let panHandles = false; + const hasScrollableContent = scrollBridge.hasScrollableContent !== false; + if (isCurrentlyAtTop ? isSwipingDown ? nodeIsScrolling && hasScrollableContent ? panHandles = false : (gs.scrollEngaged, panHandles = true) : hasScrollableContent ? panHandles = false : panHandles = true : isSwipingDown ? panHandles = !nodeIsScrolling || !hasScrollableContent : panHandles = true, panHandles) { + const lockTo = isCurrentlyAtTop ? void 0 : 0; + scrollBridge.setScrollEnabled?.(false, lockTo), gs.accumulatedOffset += deltaY; + const newPosition = resisted2(gs.startY + gs.accumulatedOffset, minY); + scrollBridge.paneY = newPosition, setAnimatedPosition(newPosition), scrollBridge.setParentDragging(newPosition > minY); + } else scrollBridge.setScrollEnabled?.(true); + }).onEnd((event) => { + const { + velocityY + } = event, currentPos = gs.startY + gs.accumulatedOffset; + scrollBridge.scrollLockY = void 0; + const snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions, snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY; + if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) { + onEnd(0); + return; + } + const velocity = velocityY / 1e3, projectedEnd = currentPos + frameSize * velocity * 0.2; + let closestPoint = 0, minDist = Number.POSITIVE_INFINITY; + for (let i = 0; i < snapPositions.length; i++) { + const pos = snapPositions[i], dist = Math.abs(projectedEnd - pos); + dist < minDist && (minDist = dist, closestPoint = i); + } + onEnd(closestPoint); + }).onFinalize(() => { + scrollBridge.scrollLockY = void 0, gs.panStarted ? setIsDragging(false) : config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = false); + }).runOnJS(true); + return scrollGestureRef?.current ? gesture.simultaneousWithExternalGesture(scrollGestureRef.current) : gesture; + }, [gestureHandlerEnabled, disableDrag, isShowingInnerSheet, frameSize, positions, scrollBridge, getCurrentPosition, resisted2, onStart, onEnd, setIsDragging, setAnimatedPosition]), + panGestureRef, + gestureHandlerEnabled + }; +} +__name(useGestureHandlerPan, "useGestureHandlerPan"); + +// node_modules/@tamagui/sheet/dist/esm/useKeyboardControllerSheet.mjs +var import_react48 = require("react"); +var noop7 = /* @__PURE__ */ __name(() => { +}, "noop"); +function useKeyboardControllerSheet(_options) { + const pauseKeyboardHandler = (0, import_react48.useRef)(false); + return { + keyboardControllerEnabled: false, + keyboardHeight: 0, + isKeyboardVisible: false, + dismissKeyboard: noop7, + pauseKeyboardHandler, + flushPendingHide: noop7 + }; +} +__name(useKeyboardControllerSheet, "useKeyboardControllerSheet"); + +// node_modules/@tamagui/sheet/dist/esm/useSheetOpenState.mjs +var useSheetOpenState = /* @__PURE__ */ __name((props) => { + const { + isHidden: isHidden2, + controller + } = useSheetController(), onOpenChangeInternal = /* @__PURE__ */ __name((val) => { + controller?.onOpenChange?.(val), props.onOpenChange?.(val); + }, "onOpenChangeInternal"), propVal = props.preferAdaptParentOpenState ? controller?.open ?? props.open : props.open ?? controller?.open, [open, setOpen] = useControllableState({ + prop: propVal, + defaultProp: props.defaultOpen ?? false, + onChange: onOpenChangeInternal, + strategy: "most-recent-wins" + }); + return { + open, + setOpen, + isHidden: isHidden2, + controller + }; +}, "useSheetOpenState"); + +// node_modules/@tamagui/sheet/dist/esm/useSheetProviderProps.mjs +var import_react49 = __toESM(require("react"), 1); +var import_core36 = require("@tamagui/core"); +function useSheetProviderProps(props, state2, options = {}) { + const handleRef = import_react49.default.useRef(null), contentRef = import_react49.default.useRef(null), [frameSize, setFrameSize] = import_react49.default.useState(0), [maxContentSize, setMaxContentSize] = import_react49.default.useState(0), snapPointsMode = props.snapPointsMode ?? "percent", snapPointsProp = props.snapPoints ?? (snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"]), hasFit = snapPointsProp[0] === "fit", snapPoints = import_react49.default.useMemo(() => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]), [position_, setPositionImmediate] = useControllableState({ + prop: props.position, + defaultProp: props.defaultPosition || (state2.open ? 0 : -1), + onChange: props.onPositionChange, + strategy: "most-recent-wins" + }), position = state2.open === false ? -1 : position_, { + open + } = state2, setPosition = import_react49.default.useCallback((next) => { + props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state2.setOpen(false) : setPositionImmediate(next); + }, [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state2.setOpen]); + process.env.NODE_ENV === "development" && (snapPointsMode === "mixed" && snapPoints.some((p) => { + if (typeof p == "string") { + if (p === "fit") return false; + if (p.endsWith("%")) { + const n = Number(p.slice(0, -1)); + return n < 0 || n > 100; + } + return true; + } + return typeof p != "number" || p < 0; + }) && console.warn('\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed'), snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0 && console.warn('\u26A0\uFE0F Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed'), snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit") && console.warn("\u26A0\uFE0F Invalid snapPoint given, there are no snap points when snapPointsMode is fit"), snapPointsMode === "constant" && snapPoints.some((p) => typeof p != "number" || p < 0) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant"), snapPointsMode === "percent" && snapPoints.some((p) => typeof p != "number" || p < 0 || p > 100) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent")), open && props.dismissOnSnapToBottom && position === snapPoints.length - 1 && setPositionImmediate(0); + const shouldSetPositionOpen = open && position < 0; + import_react49.default.useEffect(() => { + shouldSetPositionOpen && setPosition(0); + }, [setPosition, shouldSetPositionOpen]); + const { + animationDriver + } = (0, import_core36.useConfiguration)(); + if (!animationDriver) throw new Error(process.env.NODE_ENV === "production" ? "\u274C 008" : "Must set animations in tamagui.config.ts"); + const scrollBridge = useConstant(() => { + const parentDragListeners = /* @__PURE__ */ new Set(), bridge = { + hasScrollableContent: false, + enabled: false, + y: 0, + paneY: 0, + paneMinY: 0, + scrollStartY: -1, + drag: /* @__PURE__ */ __name(() => { + }, "drag"), + release: /* @__PURE__ */ __name(() => { + }, "release"), + scrollLock: false, + isParentDragging: false, + onParentDragging: /* @__PURE__ */ __name((cb) => (parentDragListeners.add(cb), () => { + parentDragListeners.delete(cb); + }), "onParentDragging"), + setParentDragging: /* @__PURE__ */ __name((val) => { + val !== bridge.isParentDragging && (bridge.isParentDragging = val, parentDragListeners.forEach((cb) => cb(val))); + }, "setParentDragging") + }; + return bridge; + }); + let disableRemoveScroll; + props.disableRemoveScroll !== void 0 ? disableRemoveScroll = props.disableRemoveScroll || !open || !props.modal : props.forceRemoveScrollEnabled !== void 0 ? (process.env.NODE_ENV === "development" && console.warn("[Sheet] forceRemoveScrollEnabled is deprecated. Use disableRemoveScroll instead."), disableRemoveScroll = !props.forceRemoveScrollEnabled) : disableRemoveScroll = !open || !props.modal; + const maxSnapPoint = snapPoints[0]; + return { + screenSize: snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint == "number" ? maxSnapPoint : 100) / 100) : maxContentSize, + maxSnapPoint, + disableRemoveScroll, + scrollBridge, + modal: !!props.modal, + open: state2.open, + setOpen: state2.setOpen, + hidden: !!state2.isHidden, + contentRef, + handleRef, + frameSize, + setFrameSize, + dismissOnOverlayPress: props.dismissOnOverlayPress ?? true, + dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false, + onOverlayComponent: options.onOverlayComponent, + scope: props.__scopeSheet, + hasFit, + position, + snapPoints, + snapPointsMode, + setMaxContentSize, + setPosition, + setPositionImmediate, + onlyShowFrame: false + }; +} +__name(useSheetProviderProps, "useSheetProviderProps"); + +// node_modules/@tamagui/sheet/dist/esm/SheetImplementationCustom.mjs +var import_jsx_runtime56 = require("react/jsx-runtime"); +var hiddenSize = 10000.1; +var _cachedSafeAreaTop; +function getSafeAreaTopInset() { + if (_cachedSafeAreaTop !== void 0) return _cachedSafeAreaTop; + const sa = getSafeArea(); + if (sa.isEnabled) return _cachedSafeAreaTop = sa.getInsets().top, _cachedSafeAreaTop; + try { + _cachedSafeAreaTop = require("react-native-safe-area-context").initialWindowMetrics?.insets?.top ?? 0; + } catch { + _cachedSafeAreaTop = 0; + } + return _cachedSafeAreaTop ?? 0; +} +__name(getSafeAreaTopInset, "getSafeAreaTopInset"); +var sheetHiddenStyleSheet = null; +var relativeDimensionTo = isWeb ? "window" : "screen"; +var SheetImplementationCustom = import_react50.default.forwardRef(function(props, forwardedRef) { + const parentSheet = import_react50.default.useContext(ParentSheetContext), { + transition, + transitionConfig: transitionConfigProp, + modal = false, + zIndex = parentSheet.zIndex + 1, + moveOnKeyboardChange = false, + unmountChildrenWhenHidden = false, + portalProps, + containerComponent: ContainerComponent = import_react50.default.Fragment + } = props, state2 = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = import_react50.default.useState(null), providerProps = useSheetProviderProps(props, state2, { + onOverlayComponent: setOverlayComponent + }), { + frameSize, + setFrameSize, + snapPoints, + snapPointsMode, + hasFit, + position, + setPosition, + scrollBridge, + screenSize, + setMaxContentSize, + maxSnapPoint + } = providerProps, { + open, + controller, + isHidden: isHidden2 + } = state2, sheetRef = import_react50.default.useRef(void 0), ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef), { + animationDriver + } = (0, import_core37.useConfiguration)(); + if (!animationDriver) throw new Error("Sheet requires an animation driver to be set"); + const transitionConfig = (() => { + if (transitionConfigProp) return transitionConfigProp; + const [animationProp, animationPropConfig] = transition ? Array.isArray(transition) ? transition : [transition] : []; + return animationProp && animationDriver.animations?.[animationProp] ? { + ...animationDriver.animations[animationProp], + ...animationPropConfig + } : null; + })(), [isShowingInnerSheet, setIsShowingInnerSheet] = import_react50.default.useState(false), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet && needsPortalRepropagation(), sheetInsideSheet = import_react50.default.useContext(SheetInsideSheetContext), onInnerSheet = import_react50.default.useCallback((hasChild) => { + setIsShowingInnerSheet(hasChild); + }, []), stableFrameSize = import_react50.default.useRef(frameSize); + import_react50.default.useEffect(() => { + open && frameSize && (stableFrameSize.current = frameSize); + }, [open, frameSize]); + const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize, positions = import_react50.default.useMemo(() => snapPoints.map((point) => getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize)), [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]), { + keyboardHeight, + isKeyboardVisible, + dismissKeyboard, + pauseKeyboardHandler, + flushPendingHide + } = useKeyboardControllerSheet({ + enabled: !isWeb && !!moveOnKeyboardChange + }), [isDragging, setIsDragging_] = import_react50.default.useState(false), isDraggingRef = import_react50.default.useRef(false), setIsDragging = import_react50.default.useCallback((val) => { + isDraggingRef.current = val, pauseKeyboardHandler.current = val, setIsDragging_(val), val || flushPendingHide(); + }, [pauseKeyboardHandler, flushPendingHide]), activePositionsRef = import_react50.default.useRef(positions), activePositions = import_react50.default.useMemo(() => { + if (isDragging || isDraggingRef.current) return activePositionsRef.current; + let result; + if (!isKeyboardVisible || keyboardHeight <= 0) result = positions; + else { + const safeAreaTop = isWeb ? 0 : getSafeAreaTopInset(); + result = positions.map((p) => screenSize && p >= screenSize ? p : Math.max(safeAreaTop, p - keyboardHeight)); + } + return activePositionsRef.current = result, result; + }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]), { + useAnimatedNumber, + useAnimatedNumberStyle, + useAnimatedNumberReaction + } = animationDriver, AnimatedView = animationDriver.View ?? import_core37.View; + useIsomorphicLayoutEffect(() => { + if (sheetInsideSheet && open) return sheetInsideSheet(true), () => { + sheetInsideSheet(false); + }; + }, [sheetInsideSheet, open]); + const nextParentContext = import_react50.default.useMemo(() => ({ + zIndex + }), [zIndex]), startPosition = (0, import_core37.useDidFinishSSR)() && screenSize ? screenSize : hiddenSize, animatedNumber = useAnimatedNumber(startPosition), at = import_react50.default.useRef(startPosition), hasntMeasured = at.current === hiddenSize, [disableAnimation, setDisableAnimation] = (0, import_react50.useState)(hasntMeasured), hasScrollView = import_react50.default.useRef(false); + useAnimatedNumberReaction({ + value: animatedNumber, + hostRef: sheetRef + }, import_react50.default.useCallback((value) => { + at.current = value, scrollBridge.paneY = value; + const minY = activePositions[0], wasAtTop = scrollBridge.isAtTop, nowAtTop = value <= minY + 5; + wasAtTop !== nowAtTop && (scrollBridge.isAtTop = nowAtTop, nowAtTop ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(true)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(false))); + }, [animationDriver, activePositions])); + function stopSpring() { + animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0); + } + __name(stopSpring, "stopSpring"); + const animateTo = (0, import_core37.useEvent)((position2, animationOverride) => { + if (frameSize === 0) return; + let toValue = isHidden2 || position2 === -1 ? screenSize : activePositions[position2]; + at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, animationOverride || { + type: "spring", + ...transitionConfig + })); + }); + useIsomorphicLayoutEffect(() => { + if (hasntMeasured && screenSize && frameSize) { + at.current = screenSize, animatedNumber.setValue(screenSize, { + type: "timing", + duration: 0 + }, () => { + setTimeout(() => { + setDisableAnimation(false); + }, 10); + }); + return; + } + if (!disableAnimation && !(!frameSize || !screenSize || isHidden2 || hasntMeasured && !open) && (animateTo(position), position === -1 && (scrollBridge.scrollLock = false, scrollBridge.scrollStartY = -1), open && position >= 0)) { + const isTopPosition = position === 0; + scrollBridge.isAtTop = isTopPosition, isTopPosition ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(true)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(false)); + } + }, [hasntMeasured, disableAnimation, isHidden2, frameSize, screenSize, open, position]); + const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = (0, import_core37.useThemeName)(), [blockPan, setBlockPan] = import_react50.default.useState(false), panResponder = import_react50.default.useMemo(() => { + if (disableDrag || !frameSize || isShowingInnerSheet) return; + const minY = positions[0]; + scrollBridge.paneMinY = minY; + let startY = at.current; + function setPanning(val) { + setIsDragging(val), sheetHiddenStyleSheet || (sheetHiddenStyleSheet = document.createElement("style"), typeof document.head < "u" && document.head.appendChild(sheetHiddenStyleSheet)), val ? sheetHiddenStyleSheet.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : sheetHiddenStyleSheet.innerText = ""; + } + __name(setPanning, "setPanning"); + const release = /* @__PURE__ */ __name(({ + vy, + dragAt + }) => { + if (scrollBridge.setParentDragging(false), scrollBridge.scrollLock) return; + isExternalDrag = false, previouslyScrolling = false, setPanning(false); + const end = dragAt + startY + frameSize * vy * 0.2; + let closestPoint = 0, dist = Number.POSITIVE_INFINITY; + for (let i = 0; i < positions.length; i++) { + const position2 = positions[i], curDist = end > position2 ? end - position2 : position2 - end; + curDist < dist && (dist = curDist, closestPoint = i); + } + setPosition(closestPoint), animateTo(closestPoint); + }, "release"), finish = /* @__PURE__ */ __name((_e, state22) => { + release({ + vy: state22.vy, + dragAt: state22.dy + }); + }, "finish"); + let previouslyScrolling = false; + const onMoveShouldSet = /* @__PURE__ */ __name((e, { + dy + }) => { + function getShouldSet() { + if (e.target === providerProps.handleRef.current) return true; + if (scrollBridge.hasScrollableContent === true) { + if (scrollBridge.scrollLock) return false; + const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY; + if (isScrolled) return previouslyScrolling = true, false; + if (isNearTop && hasScrollView.current && isDraggingUp) return false; + } + return Math.abs(dy) > 10; + } + __name(getShouldSet, "getShouldSet"); + const granted = getShouldSet(); + return granted && scrollBridge.setParentDragging(true), granted; + }, "onMoveShouldSet"), grant = /* @__PURE__ */ __name(() => { + setPanning(true), stopSpring(), startY = at.current; + }, "grant"); + let isExternalDrag = false; + return scrollBridge.drag = (dy) => { + isExternalDrag || (isExternalDrag = true, grant()); + const to = dy + startY; + animatedNumber.setValue(resisted(to, minY), { + type: "direct" + }); + }, scrollBridge.release = release, import_react_native_web3.PanResponder.create({ + onMoveShouldSetPanResponder: onMoveShouldSet, + onPanResponderGrant: grant, + onPanResponderMove: /* @__PURE__ */ __name((_e, { + dy + }) => { + const toFull = dy + startY, to = resisted(toFull, minY); + to <= minY ? scrollBridge.setParentDragging(false) : scrollBridge.setParentDragging(true), animatedNumber.setValue(to, { + type: "direct" + }); + }, "onPanResponderMove"), + onPanResponderEnd: finish, + onPanResponderTerminate: finish, + onPanResponderRelease: finish + }); + }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]); + import_react50.default.useEffect(() => { + isDragging || isHidden2 || !open || disableAnimation || !frameSize || !screenSize || animateTo(position, { + type: "timing", + duration: 250 + }); + }, [isKeyboardVisible, keyboardHeight]); + const wasDragging = import_react50.default.useRef(false); + import_react50.default.useEffect(() => { + if (isDragging) { + wasDragging.current = true; + return; + } + wasDragging.current && (wasDragging.current = false, !(!frameSize || !screenSize || isHidden2 || !open) && animateTo(position)); + }, [isDragging]), import_react50.default.useEffect(() => { + !open && isKeyboardVisible && dismissKeyboard(); + }, [open]); + const { + panGesture, + panGestureRef, + gestureHandlerEnabled + } = useGestureHandlerPan({ + positions: activePositions, + frameSize, + setPosition, + animateTo, + stopSpring, + scrollBridge, + setIsDragging, + getCurrentPosition: /* @__PURE__ */ __name(() => at.current, "getCurrentPosition"), + resisted, + disableDrag, + isShowingInnerSheet, + setAnimatedPosition: /* @__PURE__ */ __name((val) => { + at.current = val, animatedNumber.setValue(val, { + type: "direct" + }); + }, "setAnimatedPosition"), + pauseKeyboardHandler + }), handleAnimationViewLayout = import_react50.default.useCallback((e) => { + if (!open && stableFrameSize.current !== 0) return; + const layoutHeight = e.nativeEvent?.layout.height, next = modal ? Math.min(layoutHeight, import_react_native_web3.Dimensions.get(relativeDimensionTo).height) : layoutHeight; + next && setFrameSize(next); + }, [open, modal]), handleMaxContentViewLayout = import_react50.default.useCallback((e) => { + const next = Math.min(e.nativeEvent?.layout.height, import_react_native_web3.Dimensions.get(relativeDimensionTo).height); + next && setMaxContentSize(next); + }, []), animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => { + "worklet"; + return { + transform: [{ + translateY: frameSize === 0 ? hiddenSize : val + }] + }; + }), [opacity, setOpacity] = import_react50.default.useState(open ? 1 : 0); + open && opacity === 0 && setOpacity(1), import_react50.default.useEffect(() => { + if (!open) { + const tm = setTimeout(() => { + setOpacity(0); + }, 400); + return () => { + clearTimeout(tm); + }; + } + }, [open]); + const forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? ( + // Use dvh for modal (viewport-relative), % for inline (container-relative) + `${maxSnapPoint}${isWeb && modal ? "dvh" : "%"}` + ) : maxSnapPoint, setHasScrollView = import_react50.default.useCallback((val) => { + hasScrollView.current = val; + }, []); + let contents = /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_core37.LayoutMeasurementController, { + disable: !open, + children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ParentSheetContext.Provider, { + value: nextParentContext, + children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SheetProvider, { + ...providerProps, + setHasScrollView, + children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(GestureSheetProvider, { + isDragging, + blockPan, + setBlockPan, + panGesture, + panGestureRef, + children: [/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AnimatePresence, { + custom: { + open + }, + children: shouldHideParentSheet || !open ? null : overlayComponent + }), snapPointsMode !== "percent" && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_native_web3.View, { + style: { + opacity: 0, + position: "absolute", + top: 0, + left: 0, + right: 0, + bottom: 0, + pointerEvents: "none" + }, + onLayout: handleMaxContentViewLayout + }), /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AnimatedView, { + ref, + onLayout: handleAnimationViewLayout, + transition: isDragging || disableAnimation ? null : transition, + disableClassName: true, + style: [{ + position: "absolute", + zIndex, + width: "100%", + height: forcedContentHeight, + minHeight: forcedContentHeight, + opacity: shouldHideParentSheet ? 0 : opacity, + ...(shouldHideParentSheet || !open) && { + pointerEvents: "none" + } + }, animatedStyle], + children: gestureHandlerEnabled && panGesture ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(GestureDetectorWrapper, { + gesture: panGesture, + style: { + flex: 1 + }, + children: props.children + }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_native_web3.View, { + ...panResponder?.panHandlers, + style: { + flex: 1, + width: "100%", + height: "100%" + }, + children: props.children + }) + })] + }) + }) + }) + }); + const shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : true; + if (modal) { + const modalContents = /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Portal, { + stackZIndex: zIndex, + ...portalProps, + children: shouldMountChildren && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ContainerComponent, { + children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_core37.Theme, { + contain: true, + forceClassName: true, + name: themeName, + children: contents + }) + }) + }); + return isWeb ? modalContents : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SheetInsideSheetContext.Provider, { + value: onInnerSheet, + children: modalContents + }); + } + return contents; +}); +function getYPositions(mode, point, screenSize, frameSize) { + if (!screenSize || !frameSize) return 0; + if (mode === "mixed") { + if (typeof point == "number") return screenSize - Math.min(screenSize, Math.max(0, point)); + if (point === "fit") return screenSize - Math.min(screenSize, frameSize); + if (point.endsWith("%")) { + const pct2 = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100; + return Number.isNaN(pct2) ? (console.warn("Invalid snapPoint percentage string"), 0) : Math.round(screenSize - pct2 * screenSize); + } + return console.warn("Invalid snapPoint unknown value"), 0; + } + if (mode === "fit") return point === 0 ? screenSize : screenSize - Math.min(screenSize, frameSize); + if (mode === "constant" && typeof point == "number") return screenSize - Math.min(screenSize, Math.max(0, point)); + const pct = Math.min(100, Math.max(0, Number(point))) / 100; + return Number.isNaN(pct) ? (console.warn("Invalid snapPoint percentage"), 0) : Math.round(screenSize - pct * screenSize); +} +__name(getYPositions, "getYPositions"); + +// node_modules/@tamagui/sheet/dist/esm/SheetScrollView.mjs +var import_core38 = require("@tamagui/core"); +var import_react51 = __toESM(require("react"), 1); +var import_jsx_runtime57 = require("react/jsx-runtime"); +var SHEET_SCROLL_VIEW_NAME = "SheetScrollView"; +var SheetScrollView = import_react51.default.forwardRef(({ + __scopeSheet, + children, + onScroll, + scrollEnabled: scrollEnabledProp, + ...props +}, ref) => { + const context4 = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet), gestureContext = useGestureSheetContext(), { + scrollBridge, + setHasScrollView + } = context4, [scrollEnabled, setScrollEnabled_] = useControllableState({ + prop: scrollEnabledProp, + defaultProp: true + }), scrollRef = import_react51.default.useRef(null), panGestureRef = gestureContext?.panGestureRef, { + ScrollView: RNGHScrollView + } = getGestureHandlerState(), useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef, currentScrollOffset = (0, import_react51.useRef)(0), lockedScrollY = (0, import_react51.useRef)(0), setScrollEnabled = /* @__PURE__ */ __name((next, lockTo) => { + if (next) lockedScrollY.current = currentScrollOffset.current, scrollBridge.scrollLockY = void 0; + else { + const lockY = lockTo ?? currentScrollOffset.current; + lockedScrollY.current = lockY, scrollBridge.scrollLockY = lockY, scrollRef.current?.scrollTo?.({ + x: 0, + y: lockY, + animated: false + }); + } + }, "setScrollEnabled"), forceScrollTo = /* @__PURE__ */ __name((y) => { + scrollRef.current?.scrollTo?.({ + x: 0, + y, + animated: false + }); + }, "forceScrollTo"), state2 = import_react51.default.useRef({ + lastPageY: 0, + dragAt: 0, + dys: [], + // store a few recent dys to get velocity on release + isScrolling: false, + isDraggingScrollArea: false + }); + (0, import_react51.useEffect)(() => (setHasScrollView(true), isGestureHandlerEnabled() && (scrollBridge.setScrollEnabled = setScrollEnabled, scrollBridge.forceScrollTo = forceScrollTo), () => { + setHasScrollView(false), scrollBridge.setScrollEnabled && (scrollBridge.setScrollEnabled = void 0), scrollBridge.forceScrollTo && (scrollBridge.forceScrollTo = void 0); + }), []); + const release = /* @__PURE__ */ __name(() => { + if (!state2.current.isDraggingScrollArea) return; + state2.current.isDraggingScrollArea = false, scrollBridge.scrollStartY = -1, scrollBridge.scrollLock = false, state2.current.isScrolling = false, setScrollEnabled(true); + let vy = 0; + if (state2.current.dys.length) { + const recentDys = state2.current.dys.slice(-10); + vy = (recentDys.length ? recentDys.reduce((a, b) => a + b, 0) : 0) / recentDys.length * 0.04; + } + state2.current.dys = [], scrollBridge.release({ + dragAt: state2.current.dragAt, + vy + }); + }, "release"), scrollable = scrollEnabled; + (0, import_react51.useEffect)(() => { + if (!scrollRef.current) return; + const controller = new AbortController(), node = scrollRef.current?.getScrollableNode(); + if (!node) return; + node.addEventListener("touchmove", (e) => { + scrollBridge.isParentDragging && node.scrollTo({ + top: scrollBridge.y, + behavior: "instant" + }); + }, { + signal: controller.signal, + passive: false + }); + const disposeBridgeListen = scrollBridge.onParentDragging((val) => { + }); + return () => { + disposeBridgeListen(), controller.abort(); + }; + }, [scrollRef]); + const [hasScrollableContent, setHasScrollableContent] = (0, import_react51.useState)(true), parentHeight = (0, import_react51.useRef)(0), contentHeight = (0, import_react51.useRef)(0), setIsScrollable = /* @__PURE__ */ __name(() => { + if (parentHeight.current && contentHeight.current) { + const isScrollable = contentHeight.current > parentHeight.current; + setHasScrollableContent(isScrollable); + } + }, "setIsScrollable"); + return (0, import_react51.useEffect)(() => { + scrollBridge.hasScrollableContent = hasScrollableContent; + }, [hasScrollableContent]), useRNGHScrollView && RNGHScrollView && panGestureRef ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(RNGHScrollView, { + ref: composeRefs(scrollRef, ref), + style: { + flex: 1 + }, + scrollEventThrottle: 1, + scrollEnabled: scrollable, + simultaneousHandlers: [panGestureRef], + onLayout: /* @__PURE__ */ __name((e) => { + parentHeight.current = Math.ceil(e.nativeEvent.layout.height), setIsScrollable(); + }, "onLayout"), + onScroll: /* @__PURE__ */ __name((e) => { + const { + y + } = e.nativeEvent.contentOffset; + if (currentScrollOffset.current = y, scrollBridge.scrollLockY !== void 0) { + y !== scrollBridge.scrollLockY && scrollRef.current?.scrollTo?.({ + x: 0, + y: scrollBridge.scrollLockY, + animated: false + }), scrollBridge.y = scrollBridge.scrollLockY; + const lockedEvent = { + ...e, + nativeEvent: { + ...e.nativeEvent, + contentOffset: { + ...e.nativeEvent.contentOffset, + y: scrollBridge.scrollLockY + } + } + }; + onScroll?.(lockedEvent); + return; + } + scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e); + }, "onScroll"), + contentContainerStyle: { + minHeight: "100%" + }, + bounces: false, + keyboardShouldPersistTaps: "always", + keyboardDismissMode: "none", + ...props, + children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_core38.View, { + onLayout: /* @__PURE__ */ __name((e) => { + const height = Math.floor(e.nativeEvent.layout.height); + height !== contentHeight.current && (contentHeight.current = height, setIsScrollable()); + }, "onLayout"), + children + }) + }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ScrollView, { + onLayout: /* @__PURE__ */ __name((e) => { + parentHeight.current = Math.ceil(e.nativeEvent.layout.height), setIsScrollable(); + }, "onLayout"), + ref: composeRefs(scrollRef, ref), + flex: 1, + scrollEventThrottle: 1, + onResponderRelease: release, + className: "_ovs-contain", + scrollEnabled: scrollable, + onScroll: /* @__PURE__ */ __name((e) => { + const { + y + } = e.nativeEvent.contentOffset; + scrollBridge.y = y, import_core38.isWeb && (scrollBridge.scrollLock = y > 0), y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e); + }, "onScroll"), + onStartShouldSetResponder: /* @__PURE__ */ __name(() => (scrollBridge.scrollStartY = -1, state2.current.isDraggingScrollArea = true, false), "onStartShouldSetResponder"), + onMoveShouldSetResponder: /* @__PURE__ */ __name((e) => { + if (!scrollable) return false; + const { + pageY + } = e.nativeEvent; + return state2.current.lastPageY === 0 ? (state2.current.lastPageY = pageY, false) : Math.abs(pageY - state2.current.lastPageY) > 10; + }, "onMoveShouldSetResponder"), + contentContainerStyle: { + minHeight: "100%" + }, + onResponderMove: /* @__PURE__ */ __name((e) => { + if (import_core38.isWeb) { + const { + pageY + } = e.nativeEvent; + state2.current.isScrolling || scrollBridge.scrollStartY === -1 && (scrollBridge.scrollStartY = pageY, state2.current.lastPageY = pageY); + const dragAt = pageY - scrollBridge.scrollStartY, dy = pageY - state2.current.lastPageY; + state2.current.lastPageY = pageY; + const isDraggingUp = dy < 0, isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY; + if (hasScrollableContent && (dy === 0 || isDraggingUp) && isPaneAtTop && !state2.current.isScrolling) { + state2.current.isScrolling = true, scrollBridge.scrollLock = true, setScrollEnabled(true); + return; + } + if (!(!state2.current.isScrolling && dy > 0 && scrollBridge.y === 0) && scrollBridge.y >= 0) return; + setScrollEnabled(false), scrollBridge.drag(dragAt), state2.current.dragAt = dragAt, state2.current.dys.push(dy), state2.current.dys.length > 100 && (state2.current.dys = state2.current.dys.slice(-10)); + } + }, "onResponderMove"), + ...props, + children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_core38.View, { + onLayout: /* @__PURE__ */ __name((e) => { + const height = Math.floor(e.nativeEvent.layout.height); + height !== contentHeight.current && (contentHeight.current = height, setIsScrollable()); + }, "onLayout"), + children + }) + }); +}); + +// node_modules/@tamagui/sheet/dist/esm/useSheetOffscreenSize.mjs +var useSheetOffscreenSize = /* @__PURE__ */ __name(({ + snapPoints, + position, + screenSize, + frameSize, + snapPointsMode +}) => { + if (snapPointsMode === "fit") return 0; + if (snapPointsMode === "constant") { + const maxSize2 = Number(snapPoints[0]), currentSize2 = Number(snapPoints[position] ?? 0); + return maxSize2 - currentSize2; + } + if (snapPointsMode === "percent") { + const maxPercentOpened = Number(snapPoints[0]) / 100, percentOpened = Number(snapPoints[position] ?? 0) / 100; + return (maxPercentOpened - percentOpened) * screenSize; + } + const maxSnapPoint = snapPoints[0]; + if (maxSnapPoint === "fit") return 0; + const maxSize = typeof maxSnapPoint == "string" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint, currentSnapPoint = snapPoints[position] ?? 0, currentSize = typeof currentSnapPoint == "string" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint, offscreenSize = maxSize - currentSize; + return Number.isNaN(offscreenSize) ? 0 : offscreenSize; +}, "useSheetOffscreenSize"); + +// node_modules/@tamagui/sheet/dist/esm/createSheet.mjs +var import_jsx_runtime58 = require("react/jsx-runtime"); +function createSheet({ + Handle: Handle2, + Frame: Frame3, + Overlay: Overlay2 +}) { + const SheetHandle = Handle2.styleable(({ + __scopeSheet, + ...props + }, forwardedRef) => { + const context4 = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet), composedRef = useComposedRefs(context4.handleRef, forwardedRef), wasDraggingRef = (0, import_react52.useRef)(false); + return (0, import_react52.useEffect)(() => { + if (context4.scrollBridge) return context4.scrollBridge.onParentDragging((isDragging) => { + isDragging && (wasDraggingRef.current = true); + }); + }, [context4.scrollBridge]), context4.onlyShowFrame ? null : ( + // @ts-ignore + /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Handle2, { + ref: composedRef, + onPressIn: /* @__PURE__ */ __name(() => { + wasDraggingRef.current = false; + }, "onPressIn"), + onPress: /* @__PURE__ */ __name(() => { + if (wasDraggingRef.current) { + wasDraggingRef.current = false; + return; + } + const max2 = context4.snapPoints.length + (context4.dismissOnSnapToBottom ? -1 : 0), nextPos = (context4.position + 1) % max2; + context4.setPosition(nextPos); + }, "onPress"), + open: context4.open, + ...props + }) + ); + }), SheetOverlay = Overlay2.styleable((propsIn, ref) => { + const { + __scopeSheet, + ...props + } = propsIn, context4 = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = (0, import_react52.useMemo)(() => ( + // @ts-ignore + /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Overlay2, { + ...props, + onPress: composeEventHandlers(props.onPress, context4.dismissOnOverlayPress ? () => { + context4.setOpen(false); + } : void 0) + }) + ), [props.onPress, props.opacity, context4.dismissOnOverlayPress]); + return useIsomorphicLayoutEffect(() => { + context4.onOverlayComponent?.(element); + }, [element]), context4.onlyShowFrame, null; + }), SheetFrame = Frame3.styleable(({ + __scopeSheet, + adjustPaddingForOffscreenContent, + disableHideBottomOverflow, + children, + ...props + }, forwardedRef) => { + const context4 = useSheetContext(SHEET_NAME, __scopeSheet), { + hasFit, + disableRemoveScroll, + frameSize, + contentRef, + open + } = context4, composedContentRef = useComposedRefs(forwardedRef, contentRef), offscreenSize = useSheetOffscreenSize(context4), stableFrameSize = (0, import_react52.useRef)(frameSize); + (0, import_react52.useEffect)(() => { + open && frameSize && (stableFrameSize.current = frameSize); + }, [open, frameSize]); + const sheetContents = (0, import_react52.useMemo)(() => { + const shouldUseFixedHeight = hasFit && !open && stableFrameSize.current; + return ( + // @ts-expect-error + /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Frame3, { + ref: composedContentRef, + flex: hasFit && open ? 0 : 1, + flexBasis: hasFit ? "auto" : void 0, + height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize, + pointerEvents: open ? "auto" : "none", + "data-state": open ? "open" : "closed", + ...props, + children: [/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(StackZIndexContext, { + zIndex: resolveViewZIndex(props.zIndex), + children + }), adjustPaddingForOffscreenContent && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_core39.View, { + "data-sheet-offscreen-pad": true, + height: offscreenSize, + width: "100%" + })] + }) + ); + }, [open, props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]); + return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { + children: [/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(RemoveScroll, { + enabled: !disableRemoveScroll && context4.open, + children: sheetContents + }), !disableHideBottomOverflow && // @ts-ignore + /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Frame3, { + ...props, + componentName: "SheetCover", + children: null, + testID: void 0, + id: void 0, + position: "absolute", + bottom: "-100%", + zIndex: -1, + height: context4.frameSize, + left: 0, + right: 0, + borderWidth: 0, + borderRadius: 0, + shadowOpacity: 0 + })] + }); + }), Sheet2 = (0, import_react52.forwardRef)(function(props, ref) { + const hydrated = useDidFinishSSR(), { + isShowingNonSheet + } = useSheetController(); + let SheetImplementation = SheetImplementationCustom; + return props.native && import_react_native_web4.Platform.OS, isShowingNonSheet || !hydrated ? null : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(SheetImplementation, { + ref, + ...props + }); + }), components = { + Frame: SheetFrame, + Overlay: SheetOverlay, + Handle: SheetHandle, + ScrollView: SheetScrollView + }, Controlled = withStaticProperties(Sheet2, components); + return withStaticProperties(Sheet2, { + ...components, + Controlled + }); +} +__name(createSheet, "createSheet"); + +// node_modules/@tamagui/sheet/dist/esm/Sheet.mjs +var Handle = (0, import_core40.styled)(XStack, { + name: SHEET_HANDLE_NAME, + variants: { + open: { + true: { + opacity: 1, + pointerEvents: "auto" + }, + false: { + opacity: 0, + pointerEvents: "none" + } + }, + unstyled: { + false: { + height: 10, + borderRadius: 100, + backgroundColor: "$background", + zIndex: 10, + marginHorizontal: "35%", + marginBottom: "$2", + opacity: 0.5, + hoverStyle: { + opacity: 0.7 + } + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var Overlay = (0, import_core40.styled)(YStack, { + name: SHEET_OVERLAY_NAME, + variants: { + open: { + true: { + pointerEvents: "auto" + }, + false: { + pointerEvents: "none" + } + }, + unstyled: { + false: { + fullscreen: true, + position: "absolute", + backgroundColor: "$background", + zIndex: 99999, + pointerEvents: "auto" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var Frame2 = (0, import_core40.styled)(YStack, { + name: SHEET_NAME, + variants: { + unstyled: { + false: { + flex: 1, + backgroundColor: "$background", + borderTopLeftRadius: "$true", + borderTopRightRadius: "$true", + width: "100%", + maxHeight: "100%", + overflow: "hidden" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var Sheet = createSheet({ + Frame: Frame2, + Handle, + Overlay +}); + +// node_modules/@tamagui/sheet/dist/esm/useSheet.mjs +var useSheet = /* @__PURE__ */ __name(() => useSheetContext("", void 0), "useSheet"); + +// node_modules/@tamagui/sheet/dist/esm/nativeSheet.mjs +var import_react53 = require("react"); +var import_react_native_web5 = __toESM(require_cjs(), 1); +var import_jsx_runtime59 = require("react/jsx-runtime"); +var nativeSheets = { + ios: null +}; +function getNativeSheet(platform2) { + return nativeSheets[platform2]; +} +__name(getNativeSheet, "getNativeSheet"); +function setupNativeSheet(platform2, RNIOSModal) { + const { + ModalSheetView, + ModalSheetViewMainContent + } = RNIOSModal; + platform2 === "ios" && (nativeSheets[platform2] = (props) => { + const state2 = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state2), { + open, + setOpen + } = state2, ref = (0, import_react53.useRef)(void 0); + (0, import_react53.useEffect)(() => { + open ? ref.current?.presentModal() : ref.current?.dismissModal(); + }, [open]); + function setOpenInternal(next) { + props.onOpenChange?.(open), setOpen(next); + } + __name(setOpenInternal, "setOpenInternal"); + return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_jsx_runtime59.Fragment, { + children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(SheetProvider, { + setHasScrollView: emptyFn, + ...providerProps, + onlyShowFrame: true, + children: [/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ModalSheetView, { + ref, + onModalDidDismiss: /* @__PURE__ */ __name(() => setOpenInternal(false), "onModalDidDismiss"), + children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ModalSheetViewMainContent, { + children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_native_web5.View, { + style: { + flex: 1 + }, + children: props.children + }) + }) + }), /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(YStack, { + position: "absolute", + opacity: 0, + pointerEvents: "none", + width: 0, + height: 0, + children: props.children + })] + }) + }); + }); +} +__name(setupNativeSheet, "setupNativeSheet"); +var emptyFn = /* @__PURE__ */ __name(() => { +}, "emptyFn"); + // node_modules/@tamagui/slider/dist/esm/Slider.mjs -var import_core44 = require("@tamagui/core"); -var React69 = __toESM(require("react"), 1); +var import_core43 = require("@tamagui/core"); +var React65 = __toESM(require("react"), 1); // node_modules/@tamagui/slider/dist/esm/constants.mjs -var import_core42 = require("@tamagui/core"); +var import_core41 = require("@tamagui/core"); var SLIDER_NAME = "Slider"; -var SliderContext = (0, import_core42.createStyledContext)({ +var SliderContext = (0, import_core41.createStyledContext)({ size: "$true", min: 0, max: 100, @@ -36573,7 +37417,7 @@ var { var { Provider: SliderOrientationProvider, useStyledContext: useSliderOrientationContext -} = (0, import_core42.createStyledContext)({ +} = (0, import_core41.createStyledContext)({ startEdge: "left", endEdge: "right", sizeProp: "width", @@ -36610,7 +37454,7 @@ function getClosestValueIndex(values, nextValue) { __name(getClosestValueIndex, "getClosestValueIndex"); function getThumbInBoundsOffset(width, left, direction) { const quarterWidth = width / 4, offset4 = linearScale([0, 50], [0, quarterWidth]); - return (quarterWidth - offset4(left) * direction) * direction; + return (quarterWidth - offset4(left)) * direction; } __name(getThumbInBoundsOffset, "getThumbInBoundsOffset"); function getStepsBetweenValues(values) { @@ -36644,10 +37488,11 @@ function roundValue(value, decimalCount) { __name(roundValue, "roundValue"); // node_modules/@tamagui/slider/dist/esm/SliderImpl.mjs -var import_core43 = require("@tamagui/core"); -var React68 = __toESM(require("react"), 1); -var import_jsx_runtime55 = require("react/jsx-runtime"); -var SliderFrame = (0, import_core43.styled)(YStack, { +var import_core42 = require("@tamagui/core"); +var React64 = __toESM(require("react"), 1); +var import_react_native_web6 = __toESM(require_cjs(), 1); +var import_jsx_runtime60 = require("react/jsx-runtime"); +var SliderFrame = (0, import_core42.styled)(YStack, { position: "relative", variants: { orientation: { @@ -36656,7 +37501,7 @@ var SliderFrame = (0, import_core43.styled)(YStack, { }, size: /* @__PURE__ */ __name((val, extras) => { if (!val) return; - const orientation = extras.props.orientation, size4 = Math.round((0, import_core43.getVariableValue)(getSize(val)) / 6); + const orientation = extras.props.orientation, size4 = Math.round((0, import_core42.getVariableValue)(getSize(val)) / 6); return orientation === "horizontal" ? { height: size4, borderRadius: size4, @@ -36669,7 +37514,7 @@ var SliderFrame = (0, import_core43.styled)(YStack, { }, "size") } }); -var SliderImpl = React68.forwardRef((props, forwardedRef) => { +var SliderImpl = React64.forwardRef((props, forwardedRef) => { const { __scopeSlider, onSlideStart, @@ -36678,48 +37523,58 @@ var SliderImpl = React68.forwardRef((props, forwardedRef) => { onHomeKeyDown, onEndKeyDown, onStepKeyDown, + children, ...sliderProps - } = props, context2 = useSliderContext(__scopeSlider); - return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(SliderFrame, { - size: "$4", - ...sliderProps, - "data-orientation": sliderProps.orientation, - ref: forwardedRef, - ...isWeb && { - onKeyDown: /* @__PURE__ */ __name((event) => { - event.key === "Home" ? (onHomeKeyDown(event), event.preventDefault()) : event.key === "End" ? (onEndKeyDown(event), event.preventDefault()) : PAGE_KEYS.concat(ARROW_KEYS2).includes(event.key) && (onStepKeyDown(event), event.preventDefault()); - }, "onKeyDown") - }, - onMoveShouldSetResponderCapture: /* @__PURE__ */ __name(() => true, "onMoveShouldSetResponderCapture"), - onScrollShouldSetResponder: /* @__PURE__ */ __name(() => true, "onScrollShouldSetResponder"), - onScrollShouldSetResponderCapture: /* @__PURE__ */ __name(() => true, "onScrollShouldSetResponderCapture"), - onMoveShouldSetResponder: /* @__PURE__ */ __name(() => true, "onMoveShouldSetResponder"), - onStartShouldSetResponder: /* @__PURE__ */ __name(() => true, "onStartShouldSetResponder"), - onResponderTerminationRequest: /* @__PURE__ */ __name(() => false, "onResponderTerminationRequest"), - onResponderGrant: composeEventHandlers(props.onResponderGrant, (event) => { - const target = event.target, thumbIndex = context2.thumbs.get(target), isStartingOnThumb = thumbIndex !== void 0; - isWeb && target instanceof HTMLElement && context2.thumbs.has(target) && target.focus(), !isWeb && isStartingOnThumb && (context2.valueIndexToChangeRef.current = thumbIndex), onSlideStart(event, isStartingOnThumb ? "thumb" : "track"); - }), - onResponderMove: composeEventHandlers(props.onResponderMove, (event) => { - event.stopPropagation(), onSlideMove(event); - }), - onResponderRelease: composeEventHandlers(props.onResponderRelease, (event) => { - onSlideEnd(event); + } = props, context4 = useSliderContext(__scopeSlider), handleResponderGrant = React64.useCallback((event) => { + props.onResponderGrant?.(event); + const target = event.target, thumbIndex = context4.thumbs.get(target), isStartingOnThumb = thumbIndex !== void 0; + isWeb && target instanceof HTMLElement && context4.thumbs.has(target) && target.focus(), !isWeb && isStartingOnThumb && (context4.valueIndexToChangeRef.current = thumbIndex), onSlideStart(event, isStartingOnThumb ? "thumb" : "track"); + }, [context4, onSlideStart, props.onResponderGrant]), handleResponderMove = React64.useCallback((event) => { + props.onResponderMove?.(event), event.stopPropagation(), onSlideMove(event); + }, [onSlideMove, props.onResponderMove]), handleResponderRelease = React64.useCallback((event) => { + props.onResponderRelease?.(event), onSlideEnd(event); + }, [onSlideEnd, props.onResponderRelease]); + return ( + // wrap with plain RN View for responder events - tamagui views no longer handle responder events on web + /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(SliderFrame, { + size: "$4", + ref: forwardedRef, + ...sliderProps, + "data-orientation": sliderProps.orientation, + ...isWeb && { + onKeyDown: /* @__PURE__ */ __name((event) => { + event.key === "Home" ? (onHomeKeyDown(event), event.preventDefault()) : event.key === "End" ? (onEndKeyDown(event), event.preventDefault()) : PAGE_KEYS.concat(ARROW_KEYS2).includes(event.key) && (onStepKeyDown(event), event.preventDefault()); + }, "onKeyDown") + }, + children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_native_web6.View, { + onMoveShouldSetResponderCapture: /* @__PURE__ */ __name(() => true, "onMoveShouldSetResponderCapture"), + onMoveShouldSetResponder: /* @__PURE__ */ __name(() => true, "onMoveShouldSetResponder"), + onStartShouldSetResponder: /* @__PURE__ */ __name(() => true, "onStartShouldSetResponder"), + onResponderTerminationRequest: /* @__PURE__ */ __name(() => false, "onResponderTerminationRequest"), + onResponderGrant: handleResponderGrant, + onResponderMove: handleResponderMove, + onResponderRelease: handleResponderRelease, + style: { + inset: 0, + position: "absolute" + }, + children + }) }) - }); + ); }); // node_modules/@tamagui/slider/dist/esm/Slider.mjs -var import_jsx_runtime56 = require("react/jsx-runtime"); +var import_jsx_runtime61 = require("react/jsx-runtime"); var activeSliderMeasureListeners = /* @__PURE__ */ new Set(); -isWeb && isClient && (process.env.TAMAGUI_DISABLE_SLIDER_INTERVAL || setInterval?.( +process.env.TAMAGUI_DISABLE_SLIDER_INTERVAL || setInterval?.( () => { activeSliderMeasureListeners.forEach((cb) => cb()); }, // really doesn't need to be super often 1e3 -)); -var SliderHorizontal = React69.forwardRef((props, forwardedRef) => { +); +var SliderHorizontal = React65.forwardRef((props, forwardedRef) => { const { min: min2, max: max2, @@ -36729,12 +37584,12 @@ var SliderHorizontal = React69.forwardRef((props, forwardedRef) => { onStepKeyDown, onSlideEnd, ...sliderProps - } = props, direction = useDirection(dir), isDirectionLTR = direction === "ltr", sliderRef = React69.useRef(null), [state, setState_] = React69.useState(() => ({ + } = props, direction = useDirection(dir), isDirectionLTR = direction === "ltr", sliderRef = React65.useRef(null), [state2, setState_] = React65.useState(() => ({ size: 0, offset: 0 - })), setState = (0, import_core44.useCreateShallowSetState)(setState_); + })), setState = (0, import_core43.useCreateShallowSetState)(setState_); function getValueFromPointer(pointerPosition) { - const input = [0, state.size]; + const input = [0, state2.size]; return linearScale(input, isDirectionLTR ? [min2, max2] : [max2, min2])(pointerPosition); } __name(getValueFromPointer, "getValueFromPointer"); @@ -36746,33 +37601,14 @@ var SliderHorizontal = React69.forwardRef((props, forwardedRef) => { }); }); }, "measure"); - return isClient && (useOnDebouncedWindowResize(measure), React69.useEffect(() => { - const node = sliderRef.current; - if (!node) return; - let measureTm; - const debouncedMeasure = /* @__PURE__ */ __name(() => { - clearTimeout(measureTm), measureTm = setTimeout(() => { - measure(); - }, 200); - }, "debouncedMeasure"), io = new IntersectionObserver((entries) => { - debouncedMeasure(), entries?.[0].isIntersecting ? activeSliderMeasureListeners.add(debouncedMeasure) : activeSliderMeasureListeners.delete(debouncedMeasure); - }, { - root: null, - // Use the viewport as the container. - rootMargin: "0px", - threshold: [0, 0.5, 1] - }); - return io.observe(node), () => { - activeSliderMeasureListeners.delete(debouncedMeasure), io.disconnect(); - }; - }, [])), /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SliderOrientationProvider, { + return useSliderMeasure(sliderRef, measure), /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderOrientationProvider, { scope: props.__scopeSlider, startEdge: isDirectionLTR ? "left" : "right", endEdge: isDirectionLTR ? "right" : "left", direction: isDirectionLTR ? 1 : -1, sizeProp: "width", - size: state.size, - children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SliderImpl, { + size: state2.size, + children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderImpl, { ref: composeRefs(forwardedRef, sliderRef), dir: direction, ...sliderProps, @@ -36783,11 +37619,11 @@ var SliderHorizontal = React69.forwardRef((props, forwardedRef) => { value && onSlideStart?.(value, target, event); }, "onSlideStart"), onSlideMove: /* @__PURE__ */ __name((event) => { - const value = getValueFromPointer(event.nativeEvent.pageX - state.offset); + const value = getValueFromPointer(event.nativeEvent.pageX - state2.offset); value && onSlideMove?.(value, event); }, "onSlideMove"), onSlideEnd: /* @__PURE__ */ __name((event) => { - const value = getValueFromPointer(event.nativeEvent.pageX - state.offset); + const value = getValueFromPointer(event.nativeEvent.pageX - state2.offset); value && onSlideEnd?.(event, value); }, "onSlideEnd"), onStepKeyDown: /* @__PURE__ */ __name((event) => { @@ -36801,7 +37637,7 @@ var SliderHorizontal = React69.forwardRef((props, forwardedRef) => { }); }); function useOnDebouncedWindowResize(callback, amt = 200) { - React69.useEffect(() => { + React65.useEffect(() => { let last; const onResize = /* @__PURE__ */ __name(() => { clearTimeout(last), last = setTimeout(callback, amt); @@ -36812,7 +37648,29 @@ function useOnDebouncedWindowResize(callback, amt = 200) { }, []); } __name(useOnDebouncedWindowResize, "useOnDebouncedWindowResize"); -var SliderVertical = React69.forwardRef((props, forwardedRef) => { +function useSliderMeasure(sliderRef, measure) { + useOnDebouncedWindowResize(measure), React65.useEffect(() => { + const node = sliderRef.current; + if (!node) return; + let measureTm; + const debouncedMeasure = /* @__PURE__ */ __name(() => { + clearTimeout(measureTm), measureTm = setTimeout(() => { + measure(); + }, 200); + }, "debouncedMeasure"), io = new IntersectionObserver((entries) => { + debouncedMeasure(), entries?.[0].isIntersecting ? activeSliderMeasureListeners.add(debouncedMeasure) : activeSliderMeasureListeners.delete(debouncedMeasure); + }, { + root: null, + rootMargin: "0px", + threshold: [0, 0.5, 1] + }); + return io.observe(node), () => { + activeSliderMeasureListeners.delete(debouncedMeasure), io.disconnect(); + }; + }, []); +} +__name(useSliderMeasure, "useSliderMeasure"); +var SliderVertical = React65.forwardRef((props, forwardedRef) => { const { min: min2, max: max2, @@ -36821,12 +37679,15 @@ var SliderVertical = React69.forwardRef((props, forwardedRef) => { onStepKeyDown, onSlideEnd, ...sliderProps - } = props, [state, setState_] = React69.useState(() => ({ + } = props, [state2, setState_] = React65.useState(() => ({ size: 0, offset: 0 - })), setState = (0, import_core44.useCreateShallowSetState)(setState_), sliderRef = React69.useRef(null); + })), setState = (0, import_core43.useCreateShallowSetState)(setState_), sliderRef = React65.useRef(null), configuration = (0, import_core43.useConfiguration)(), insets = isIos && configuration.insets ? configuration.insets : { + top: 0, + bottom: 0 + }; function getValueFromPointer(pointerPosition) { - const input = [0, state.size]; + const input = [0, state2.size]; return linearScale(input, [max2, min2])(pointerPosition); } __name(getValueFromPointer, "getValueFromPointer"); @@ -36834,18 +37695,18 @@ var SliderVertical = React69.forwardRef((props, forwardedRef) => { sliderRef.current?.measure((_x, _y, _width, height, _pageX, pageY) => { setState({ size: height, - offset: pageY + offset: pageY + (isIos ? insets.top : 0) }); }); }, "measure"); - return isClient && useOnDebouncedWindowResize(measure), /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SliderOrientationProvider, { + return useSliderMeasure(sliderRef, measure), /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderOrientationProvider, { scope: props.__scopeSlider, startEdge: "bottom", endEdge: "top", sizeProp: "height", - size: state.size, + size: state2.size, direction: 1, - children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SliderImpl, { + children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderImpl, { ref: composeRefs(forwardedRef, sliderRef), ...sliderProps, orientation: "vertical", @@ -36855,11 +37716,11 @@ var SliderVertical = React69.forwardRef((props, forwardedRef) => { value && onSlideStart?.(value, target, event); }, "onSlideStart"), onSlideMove: /* @__PURE__ */ __name((event) => { - const value = getValueFromPointer(event.nativeEvent.pageY - state.offset); + const value = getValueFromPointer(event.nativeEvent.pageY - state2.offset); value && onSlideMove?.(value, event); }, "onSlideMove"), onSlideEnd: /* @__PURE__ */ __name((event) => { - const value = getValueFromPointer(event.nativeEvent.pageY - state.offset); + const value = getValueFromPointer(event.nativeEvent.pageY - state2.offset); onSlideEnd?.(event, value); }, "onSlideEnd"), onStepKeyDown: /* @__PURE__ */ __name((event) => { @@ -36872,9 +37733,8 @@ var SliderVertical = React69.forwardRef((props, forwardedRef) => { }) }); }); -var TRACK_NAME = "SliderTrack"; -var SliderTrackFrame = (0, import_core44.styled)(SliderFrame, { - name: "SliderTrack", +var SliderTrackFrame = (0, import_core43.styled)(SliderFrame, { + name: "Slider", variants: { unstyled: { false: { @@ -36891,38 +37751,46 @@ var SliderTrackFrame = (0, import_core44.styled)(SliderFrame, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var SliderTrack = React69.forwardRef((props, forwardedRef) => { +var SliderTrack = React65.forwardRef(function(props, forwardedRef) { const { __scopeSlider, ...trackProps - } = props, context2 = useSliderContext(__scopeSlider); - return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SliderTrackFrame, { - "data-disabled": context2.disabled ? "" : void 0, - "data-orientation": context2.orientation, - orientation: context2.orientation, - size: context2.size, + } = props, context4 = useSliderContext(__scopeSlider); + return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderTrackFrame, { + "data-disabled": context4.disabled ? "" : void 0, + "data-orientation": context4.orientation, + orientation: context4.orientation, + size: context4.size, ...trackProps, ref: forwardedRef }); }); -SliderTrack.displayName = TRACK_NAME; -var RANGE_NAME = "SliderTrackActive"; -var SliderTrackActiveFrame = (0, import_core44.styled)(SliderFrame, { - name: "SliderTrackActive", - backgroundColor: "$background", +var SliderActiveFrame = (0, import_core43.styled)(SliderFrame, { + name: "SliderActive", position: "absolute", - pointerEvents: "box-none" + pointerEvents: "box-none", + variants: { + unstyled: { + false: { + backgroundColor: "$background", + borderRadius: 1e5 + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } }); -var SliderTrackActive = React69.forwardRef((props, forwardedRef) => { +var SliderActive = React65.forwardRef(function(props, forwardedRef) { const { __scopeSlider, ...rangeProps - } = props, context2 = useSliderContext(__scopeSlider), orientation = useSliderOrientationContext(__scopeSlider), ref = React69.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), valuesCount = context2.values.length, percentages = context2.values.map((value) => convertValueToPercentage(value, context2.min, context2.max)), offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0, offsetEnd = 100 - Math.max(...percentages); - return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SliderTrackActiveFrame, { - orientation: context2.orientation, - "data-orientation": context2.orientation, - "data-disabled": context2.disabled ? "" : void 0, - size: context2.size, + } = props, context4 = useSliderContext(__scopeSlider), orientation = useSliderOrientationContext(__scopeSlider), ref = React65.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), valuesCount = context4.values.length, percentages = context4.values.map((value) => convertValueToPercentage(value, context4.min, context4.max)), offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0, offsetEnd = 100 - Math.max(...percentages); + return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderActiveFrame, { + orientation: context4.orientation, + "data-orientation": context4.orientation, + "data-disabled": context4.disabled ? "" : void 0, + size: context4.size, animateOnly: ["left", "top", "right", "bottom"], ...rangeProps, ref: composedRefs, @@ -36936,9 +37804,8 @@ var SliderTrackActive = React69.forwardRef((props, forwardedRef) => { } }); }); -SliderTrackActive.displayName = RANGE_NAME; var getThumbSize = /* @__PURE__ */ __name((val) => { - const tokens = (0, import_core44.getTokens)(), size4 = typeof val == "number" ? val : getSize(tokens.size[val], { + const tokens = (0, import_core43.getTokens)(), size4 = typeof val == "number" ? val : getSize(tokens.size[val], { shift: -1 }); return { @@ -36948,21 +37815,32 @@ var getThumbSize = /* @__PURE__ */ __name((val) => { minHeight: size4 }; }, "getThumbSize"); -var SliderThumbFrame = (0, import_core44.styled)(ThemeableStack, { +var SliderThumbFrame = (0, import_core43.styled)(ThemeableStack, { name: "SliderThumb", variants: { size: { - "...size": getThumbSize + "...size": getThumbSize, + ":number": getThumbSize }, unstyled: { false: { position: "absolute", - bordered: 2, borderWidth: 2, - backgrounded: true, - pressTheme: isWeb, - focusTheme: isWeb, - hoverTheme: isWeb + borderColor: "$borderColor", + backgroundColor: "$background", + pressStyle: { + backgroundColor: "$backgroundPress", + borderColor: "$borderColorPress" + }, + hoverStyle: { + backgroundColor: "$backgroundHover", + borderColor: "$borderColorHover" + }, + focusVisibleStyle: { + outlineStyle: "solid", + outlineWidth: 2, + outlineColor: "$outlineColor" + } } } }, @@ -36973,18 +37851,18 @@ var SliderThumbFrame = (0, import_core44.styled)(ThemeableStack, { var SliderThumb = SliderThumbFrame.styleable(function(props, forwardedRef) { const { __scopeSlider, - index: index5, + index: index5 = 0, circular: circular2, size: sizeProp, ...thumbProps - } = props, context2 = useSliderContext(__scopeSlider), orientation = useSliderOrientationContext(__scopeSlider), [thumb, setThumb] = React69.useState(null), composedRefs = useComposedRefs(forwardedRef, setThumb), value = context2.values[index5], percent = value === void 0 ? 0 : convertValueToPercentage(value, context2.min, context2.max), label = getLabel(index5, context2.values.length), sizeIn = sizeProp ?? context2.size ?? "$true", [size4, setSize] = React69.useState(() => (0, import_core44.getVariableValue)(getThumbSize(sizeIn).width)), thumbInBoundsOffset = size4 ? getThumbInBoundsOffset(size4, percent, orientation.direction) : 0; - React69.useEffect(() => { - if (thumb) return context2.thumbs.set(thumb, index5), () => { - context2.thumbs.delete(thumb); + } = props, context4 = useSliderContext(__scopeSlider), orientation = useSliderOrientationContext(__scopeSlider), [thumb, setThumb] = React65.useState(null), composedRefs = useComposedRefs(forwardedRef, setThumb), value = context4.values[index5], percent = value === void 0 ? 0 : convertValueToPercentage(value, context4.min, context4.max), label = getLabel(index5, context4.values.length), sizeIn = sizeProp ?? context4.size ?? "$true", [size4, setSize] = React65.useState(() => (0, import_core43.getVariableValue)(getThumbSize(sizeIn).width)), thumbInBoundsOffset = size4 ? getThumbInBoundsOffset(size4, percent, orientation.direction) : 0; + React65.useEffect(() => { + if (thumb) return context4.thumbs.set(thumb, index5), () => { + context4.thumbs.delete(thumb); }; - }, [thumb, context2.thumbs, index5]); - const positionalStyles = context2.orientation === "horizontal" ? { - x: thumbInBoundsOffset - size4 / 2, + }, [thumb, context4.thumbs, index5]); + const positionalStyles = context4.orientation === "horizontal" ? { + x: (thumbInBoundsOffset - size4 / 2) * orientation.direction, y: -size4 / 2, top: "50%", ...size4 === 0 && { @@ -37000,17 +37878,17 @@ var SliderThumb = SliderThumbFrame.styleable(function(props, forwardedRef) { right: "auto" } }; - return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SliderThumbFrame, { + return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderThumbFrame, { ref: composedRefs, role: "slider", "aria-label": props["aria-label"] || label, - "aria-valuemin": context2.min, + "aria-valuemin": context4.min, "aria-valuenow": value, - "aria-valuemax": context2.max, - "aria-orientation": context2.orientation, - "data-orientation": context2.orientation, - "data-disabled": context2.disabled ? "" : void 0, - tabIndex: context2.disabled ? void 0 : 0, + "aria-valuemax": context4.max, + "aria-orientation": context4.orientation, + "data-orientation": context4.orientation, + "data-disabled": context4.disabled ? "" : void 0, + tabIndex: context4.disabled ? void 0 : 0, animateOnly: ["transform", "left", "top", "right", "bottom"], ...positionalStyles, [orientation.startEdge]: `${percent}%`, @@ -37021,7 +37899,7 @@ var SliderThumb = SliderThumbFrame.styleable(function(props, forwardedRef) { setSize(e.nativeEvent.layout[orientation.sizeProp]); }, "onLayout"), onFocus: composeEventHandlers(props.onFocus, () => { - context2.valueIndexToChangeRef.current = index5; + context4.valueIndexToChangeRef.current = index5; }) }); }, { @@ -37029,7 +37907,7 @@ var SliderThumb = SliderThumbFrame.styleable(function(props, forwardedRef) { memo: true } }); -var SliderComponent = React69.forwardRef((props, forwardedRef) => { +var SliderComponent = React65.forwardRef((props, forwardedRef) => { const { name, min: min2 = 0, @@ -37047,7 +37925,7 @@ var SliderComponent = React69.forwardRef((props, forwardedRef) => { onSlideMove, onSlideStart, ...sliderProps - } = props, sliderRef = React69.useRef(null), composedRefs = useComposedRefs(sliderRef, forwardedRef), thumbRefs = React69.useRef(/* @__PURE__ */ new Map()), valueIndexToChangeRef = React69.useRef(0), isHorizontal = orientation === "horizontal", [values = [], setValues] = useControllableState({ + } = props, sliderRef = React65.useRef(null), composedRefs = useComposedRefs(sliderRef, forwardedRef), thumbRefs = React65.useRef(/* @__PURE__ */ new Map()), valueIndexToChangeRef = React65.useRef(0), isHorizontal = orientation === "horizontal", [values = [], setValues] = useControllableState({ prop: value, defaultProp: defaultValue2, transition: true, @@ -37055,7 +37933,7 @@ var SliderComponent = React69.forwardRef((props, forwardedRef) => { updateThumbFocus(valueIndexToChangeRef.current), onValueChange(value2); }, "onChange") }); - isWeb && React69.useEffect(() => { + isWeb && React65.useEffect(() => { const node = sliderRef.current; if (!node) return; const preventDefault = /* @__PURE__ */ __name((e) => { @@ -37087,7 +37965,7 @@ var SliderComponent = React69.forwardRef((props, forwardedRef) => { } __name(updateValues, "updateValues"); const SliderOriented = isHorizontal ? SliderHorizontal : SliderVertical; - return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SliderProvider, { + return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderProvider, { scope: props.__scopeSlider, disabled, min: min2, @@ -37097,7 +37975,7 @@ var SliderComponent = React69.forwardRef((props, forwardedRef) => { values, orientation, size: sizeProp, - children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(SliderOriented, { + children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(SliderOriented, { "aria-disabled": disabled, "data-disabled": disabled ? "" : void 0, ...sliderProps, @@ -37129,20 +38007,20 @@ var SliderComponent = React69.forwardRef((props, forwardedRef) => { }); var Slider = withStaticProperties(SliderComponent, { Track: SliderTrack, - TrackActive: SliderTrackActive, + TrackActive: SliderActive, Thumb: SliderThumb }); Slider.displayName = SLIDER_NAME; var Track = SliderTrack; -var Range = SliderTrackActive; +var Range = SliderActive; var Thumb = SliderThumb; // node_modules/@tamagui/switch/dist/esm/createSwitch.mjs -var import_core47 = require("@tamagui/core"); +var import_core46 = require("@tamagui/core"); // node_modules/@tamagui/switch-headless/dist/esm/useSwitch.mjs -var React70 = __toESM(require("react"), 1); -var import_jsx_runtime57 = require("react/jsx-runtime"); +var React66 = __toESM(require("react"), 1); +var import_jsx_runtime62 = require("react/jsx-runtime"); function getState7(checked) { return checked ? "checked" : "unchecked"; } @@ -37153,8 +38031,8 @@ var BubbleInput3 = /* @__PURE__ */ __name((props) => { checked, bubbles = true, ...inputProps - } = props, ref = React70.useRef(null), prevChecked = usePrevious(checked); - return React70.useEffect(() => { + } = props, ref = React66.useRef(null), prevChecked = usePrevious(checked); + return React66.useEffect(() => { const input = ref.current, inputProto = window.HTMLInputElement.prototype, setChecked = Object.getOwnPropertyDescriptor(inputProto, "checked").set; if (prevChecked !== checked && setChecked) { const event = new Event("click", { @@ -37163,7 +38041,7 @@ var BubbleInput3 = /* @__PURE__ */ __name((props) => { setChecked.call(input, checked), input.dispatchEvent(event); } }, [prevChecked, checked, bubbles]), // @ts-ignore - /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("input", { + /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("input", { type: "checkbox", "aria-hidden": true, defaultChecked: checked, @@ -37186,7 +38064,7 @@ function useSwitch(props, [checked, setChecked], ref) { name, value, required - } = props, hasConsumerStoppedPropagationRef = React70.useRef(false), [button, setButton] = React70.useState(null), composedRefs = useComposedRefs(ref, setButton), isFormControl = isWeb ? button ? !!button.closest("form") : true : false, labelId = useLabelContext(button), ariaLabelledBy = props["aria-labelledby"] || props.labeledBy || labelId; + } = props, hasConsumerStoppedPropagationRef = React66.useRef(false), [button, setButton] = React66.useState(null), composedRefs = useComposedRefs(ref, setButton), isFormControl = isWeb ? button ? !!button.closest("form") : true : false, labelId = useLabelContext(button), ariaLabelledBy = props["aria-labelledby"] || props.labeledBy || labelId; return { switchProps: { role: "switch", @@ -37206,7 +38084,7 @@ function useSwitch(props, [checked, setChecked], ref) { /** * insert as a sibling of your switch (should not be inside the switch) */ - bubbleInput: isWeb && isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(BubbleInput3, { + bubbleInput: isWeb && isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(BubbleInput3, { control: button, bubbles: !hasConsumerStoppedPropagationRef.current, name, @@ -37224,31 +38102,30 @@ function useSwitch(props, [checked, setChecked], ref) { __name(useSwitch, "useSwitch"); // node_modules/@tamagui/switch/dist/esm/createSwitch.mjs -var React71 = __toESM(require("react"), 1); -var import_react_native_web7 = __toESM(require_cjs(), 1); +var React67 = __toESM(require("react"), 1); // node_modules/@tamagui/switch/dist/esm/StyledContext.mjs -var import_core45 = require("@tamagui/core"); -var SwitchStyledContext = (0, import_core45.createStyledContext)({ +var import_core44 = require("@tamagui/core"); +var SwitchStyledContext = (0, import_core44.createStyledContext)({ + active: false, + disabled: false, + frameWidth: void 0, size: void 0, unstyled: process.env.TAMAGUI_HEADLESS === "1" }); // node_modules/@tamagui/switch/dist/esm/Switch.mjs -var import_core46 = require("@tamagui/core"); -var SwitchThumb = (0, import_core46.styled)(ThemeableStack, { +var import_core45 = require("@tamagui/core"); +var SwitchThumb = (0, import_core45.styled)(YStack, { name: "SwitchThumb", variants: { unstyled: { false: { size: "$true", - backgroundColor: "$background", + backgroundColor: "$color", borderRadius: 1e3 } }, - checked: { - true: {} - }, size: { "...size": /* @__PURE__ */ __name((val) => { const size4 = getSwitchHeight(val); @@ -37262,20 +38139,22 @@ var SwitchThumb = (0, import_core46.styled)(ThemeableStack, { defaultVariants: { unstyled: process.env.TAMAGUI_HEADLESS === "1" } +}, { + accept: { + activeStyle: "style" + } }); -var getSwitchHeight = /* @__PURE__ */ __name((val) => Math.round((0, import_core46.getVariableValue)(getSize(val)) * 0.65), "getSwitchHeight"); +var getSwitchHeight = /* @__PURE__ */ __name((val) => Math.round((0, import_core45.getVariableValue)(getSize(val)) * 0.65), "getSwitchHeight"); var getSwitchWidth = /* @__PURE__ */ __name((val) => getSwitchHeight(val) * 2, "getSwitchWidth"); -var SwitchFrame = (0, import_core46.styled)(YStack, { +var SwitchFrame = (0, import_core45.styled)(YStack, { name: "Switch", - tag: "button", + render: "button", tabIndex: 0, variants: { unstyled: { false: { borderRadius: 1e3, backgroundColor: "$background", - borderWidth: 2, - borderColor: "$background", focusVisibleStyle: { outlineColor: "$outlineColor", outlineStyle: "solid", @@ -37283,12 +38162,12 @@ var SwitchFrame = (0, import_core46.styled)(YStack, { } } }, - checked: { - true: {} - }, size: { - "...size": /* @__PURE__ */ __name((val) => { - const height = getSwitchHeight(val) + 4, width = getSwitchWidth(val) + 4; + "...size": /* @__PURE__ */ __name((val, { + props + }) => { + if (props.unstyled) return; + const height = getSwitchHeight(val), width = getSwitchWidth(val); return { height, minHeight: height, @@ -37300,137 +38179,137 @@ var SwitchFrame = (0, import_core46.styled)(YStack, { defaultVariants: { unstyled: process.env.TAMAGUI_HEADLESS === "1" } +}, { + accept: { + activeStyle: "style" + } }); +// node_modules/@tamagui/switch/dist/esm/useSwitchNative.mjs +function useSwitchNative(_props) { + return null; +} +__name(useSwitchNative, "useSwitchNative"); + // node_modules/@tamagui/switch/dist/esm/createSwitch.mjs -var import_jsx_runtime58 = require("react/jsx-runtime"); -var SwitchContext = React71.createContext({ - checked: false, - disabled: false, - frameWidth: 0 -}); +var import_jsx_runtime63 = require("react/jsx-runtime"); function createSwitch(createProps) { const { - disableActiveTheme, - Frame: Frame2 = SwitchFrame, + Frame: Frame3 = SwitchFrame, Thumb: Thumb2 = SwitchThumb } = createProps; - process.env.NODE_ENV === "development" && (Frame2 !== SwitchFrame && Frame2.staticConfig.context && Frame2.staticConfig.context !== SwitchStyledContext || Thumb2 !== SwitchThumb && Thumb2.staticConfig.context && Thumb2.staticConfig.context !== SwitchStyledContext) && console.warn("Warning: createSwitch() needs to control context to pass checked state from Frame to Thumb, any custom context passed will be overridden."), Frame2.staticConfig.context = SwitchStyledContext, Thumb2.staticConfig.context = SwitchStyledContext; + process.env.NODE_ENV === "development" && (Frame3 !== SwitchFrame && Frame3.staticConfig.context && Frame3.staticConfig.context !== SwitchStyledContext || Thumb2 !== SwitchThumb && Thumb2.staticConfig.context && Thumb2.staticConfig.context !== SwitchStyledContext) && console.warn("Warning: createSwitch() needs to control context to pass checked state from Frame to Thumb, any custom context passed will be overridden."), Frame3.staticConfig.context = SwitchStyledContext, Thumb2.staticConfig.context = SwitchStyledContext; const SwitchThumbComponent = Thumb2.styleable(function(props, forwardedRef) { const { size: sizeProp, unstyled: unstyledProp, - nativeID, + activeStyle, ...thumbProps - } = props, context2 = React71.useContext(SwitchContext), { - checked, - disabled, - frameWidth - } = context2, styledContext = SwitchStyledContext.useStyledContext(), { + } = props, styledContext = SwitchStyledContext.useStyledContext(), { unstyled: unstyledContext, - size: sizeContext - } = styledContext, unstyled = process.env.TAMAGUI_HEADLESS === "1" ? true : unstyledProp ?? unstyledContext ?? false, size4 = sizeProp ?? sizeContext ?? "$true", initialChecked = React71.useRef(checked).current, initialWidth = (0, import_core47.getVariableValue)(props.width, "size"), [thumbWidth, setThumbWidth] = React71.useState(typeof initialWidth == "number" ? initialWidth : 0), distance = frameWidth - thumbWidth, x = initialChecked ? checked ? 0 : -distance : checked ? distance : 0; - return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Thumb2, { + size: sizeContext, + active, + disabled, + frameWidth = 0 + } = styledContext, unstyled = process.env.TAMAGUI_HEADLESS === "1" ? true : unstyledProp ?? unstyledContext ?? false, size4 = sizeProp ?? sizeContext ?? "$true", initialChecked = React67.useRef(active).current, initialWidth = (0, import_core46.getVariableValue)(props.width || size4, "size"), [thumbWidth, setThumbWidth] = React67.useState(typeof initialWidth == "number" ? initialWidth : 0), distance = frameWidth - thumbWidth, x = initialChecked ? active ? 0 : -distance : active ? distance : 0; + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Thumb2, { ref: forwardedRef, unstyled, ...unstyled === false && { - size: size4, - ...!disableActiveTheme && !unstyled && { - theme: checked ? "active" : null - } + size: size4 }, alignSelf: initialChecked ? "flex-end" : "flex-start", x, - onLayout: (0, import_core47.composeEventHandlers)(props.onLayout, (e) => { + onLayout: (0, import_core46.composeEventHandlers)(props.onLayout, (e) => { const next = e.nativeEvent.layout.width; - next !== thumbWidth && setThumbWidth(next); + setThumbWidth(next); }), - checked, disabled, - ...thumbProps + ...thumbProps, + ...active && activeStyle }); - }), SwitchComponent = Frame2.styleable(function(_props, forwardedRef) { + }), SwitchComponent = Frame3.styleable(function(_props, forwardedRef) { const { native, nativeProps, checked: checkedProp, defaultChecked, onCheckedChange, + activeStyle, + unstyled: unstyledProp, + activeTheme: activeThemeProp, ...props } = _props, [checked, setChecked] = useControllableState({ prop: checkedProp, defaultProp: defaultChecked || false, onChange: onCheckedChange, transition: true - }), styledContext = React71.useContext(SwitchStyledContext.context); - let estimatedInitialWidth = 0; - const estWidth = (0, import_core47.getVariableValue)((0, import_core47.getShorthandValue)(props, "width"), "size"); - if (estWidth) { - const estPad = (0, import_core47.getShorthandValue)(props, "paddingHorizontal") ?? (0, import_core47.getShorthandValue)(props, "padding") ?? 0, estLeftPad = (0, import_core47.getShorthandValue)(props, "paddingLeft") ?? estPad ?? 0, estRightPad = (0, import_core47.getShorthandValue)(props, "paddingRight") ?? estPad ?? 0; - estimatedInitialWidth = estWidth - (estLeftPad ? (0, import_core47.getVariableValue)(estLeftPad, "size") : 0) - (estRightPad ? (0, import_core47.getVariableValue)(estRightPad, "size") : 0); - } - const [frameWidth, setFrameInnerWidth] = React71.useState(estimatedInitialWidth), { + }), styledContext = React67.useContext(SwitchStyledContext.context), [frameWidth, setFrameInnerWidth] = React67.useState(0), { switchProps, bubbleInput, switchRef } = useSwitch( - // @ts-ignore props, [checked, setChecked], // @ts-ignore TODO tamagui react 19 type error forwardedRef - ), renderNative = (0, import_core47.shouldRenderNativePlatform)(native); - if (renderNative === "android" || renderNative === "ios") return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_native_web7.Switch, { - value: checked, - onValueChange: setChecked, - ...nativeProps - }); - const disabled = props.disabled, value = React71.useMemo(() => ({ + ), nativeSwitch = useSwitchNative({ + id: props.id, + disabled: props.disabled, + native, + nativeProps, checked, - disabled, - frameWidth - }), [checked, disabled, frameWidth]), handleLayout = /* @__PURE__ */ __name((e) => { + setChecked + }); + if (nativeSwitch) return nativeSwitch; + const disabled = props.disabled, handleLayout = /* @__PURE__ */ __name((e) => { const next = e.nativeEvent.layout.width; next !== frameWidth && setFrameInnerWidth(next); - }, "handleLayout"), unstyled = styledContext.unstyled ?? props.unstyled ?? false; - return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(SwitchContext.Provider, { - value, - children: [/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Frame2, { - ref: switchRef, - tag: "button", - ...import_core47.isWeb && { - type: "button" - }, - ...!unstyled && { - size: styledContext.size ?? props.size ?? "$true" - }, + }, "handleLayout"), unstyled = styledContext.unstyled ?? unstyledProp ?? false; + return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { + children: [/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(SwitchStyledContext.Provider, { + size: styledContext.size ?? props.size ?? "$true", unstyled, - ...props, - ...switchProps, - ...!disableActiveTheme && !props.unstyled && { - theme: checked ? "active" : null - }, - checked, + active: checked, disabled, - children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_native_web7.View, { - style: measureContainerStyle, - onLayout: handleLayout, - children: frameWidth ? props.children : null + frameWidth, + children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Frame3, { + ref: switchRef, + render: "button", + theme: activeThemeProp ?? null, + ...import_core46.isWeb && { + type: "button" + }, + ...!unstyled && { + size: styledContext.size ?? props.size ?? "$true" + }, + unstyled, + ...props, + ...switchProps, + disabled, + ...checked && { + ...!unstyled && !activeStyle && { + backgroundColor: "$backgroundActive" + }, + ...activeStyle + }, + children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_core46.View, { + alignSelf: "stretch", + flex: 1, + onLayout: handleLayout, + children: props.children + }) }) }), bubbleInput] }); }, { disableTheme: true }); - return (0, import_core47.withStaticProperties)(SwitchComponent, { + return (0, import_core46.withStaticProperties)(SwitchComponent, { Thumb: SwitchThumbComponent }); } __name(createSwitch, "createSwitch"); -var measureContainerStyle = { - alignSelf: "stretch", - flex: 1 -}; // node_modules/@tamagui/switch/dist/esm/index.mjs var Switch = createSwitch({ @@ -37438,20 +38317,33 @@ var Switch = createSwitch({ Thumb: SwitchThumb }); +// node_modules/@tamagui/sizable-context/dist/esm/index.mjs +var import_core47 = require("@tamagui/core"); +var SizableContext = (0, import_core47.createStyledContext)({ + size: void 0 +}); + // node_modules/@tamagui/tabs/dist/esm/createTabs.mjs -var import_web18 = require("@tamagui/core"); -var React72 = __toESM(require("react"), 1); +var import_web22 = require("@tamagui/core"); +var React68 = __toESM(require("react"), 1); + +// node_modules/@tamagui/tabs/dist/esm/StyledContext.mjs +var import_core48 = require("@tamagui/core"); +var { + Provider: TabsProvider, + useStyledContext: useTabsContext +} = (0, import_core48.createStyledContext)(); // node_modules/@tamagui/tabs/dist/esm/Tabs.mjs -var import_core48 = require("@tamagui/core"); +var import_core49 = require("@tamagui/core"); var TABS_NAME = "Tabs"; -var DefaultTabsFrame = (0, import_core48.styled)(SizableStack, { +var DefaultTabsFrame = (0, import_core49.styled)(SizableStack, { name: TABS_NAME }); -var TRIGGER_NAME5 = "TabsTrigger"; -var DefaultTabsTabFrame = (0, import_core48.styled)(ThemeableStack, { - name: TRIGGER_NAME5, - tag: "button", +var TRIGGER_NAME4 = "TabsTrigger"; +var DefaultTabsTabFrame = (0, import_core49.styled)(import_core49.View, { + name: TRIGGER_NAME4, + role: "tab", variants: { size: { "...size": getButtonSized @@ -37474,11 +38366,11 @@ var DefaultTabsTabFrame = (0, import_core48.styled)(ThemeableStack, { pressStyle: { backgroundColor: "$backgroundPress" }, - hoverStyle: { - backgroundColor: "$backgroundHover" - }, - focusStyle: { - backgroundColor: "$backgroundFocus" + focusVisibleStyle: { + outlineColor: "$outlineColor", + outlineWidth: 2, + outlineStyle: "solid", + zIndex: 10 } } } @@ -37486,136 +38378,134 @@ var DefaultTabsTabFrame = (0, import_core48.styled)(ThemeableStack, { defaultVariants: { unstyled: process.env.TAMAGUI_HEADLESS === "1" } +}, { + accept: { + activeStyle: "style" + } }); var CONTENT_NAME4 = "TabsContent"; -var DefaultTabsContentFrame = (0, import_core48.styled)(ThemeableStack, { +var DefaultTabsContentFrame = (0, import_core49.styled)(ThemeableStack, { name: CONTENT_NAME4 }); -// node_modules/@tamagui/tabs/dist/esm/StyledContext.mjs -var import_core49 = require("@tamagui/core"); -var { - Provider: TabsProvider, - useStyledContext: useTabsContext -} = (0, import_core49.createStyledContext)(); - // node_modules/@tamagui/tabs/dist/esm/createTabs.mjs -var import_jsx_runtime59 = require("react/jsx-runtime"); +var import_jsx_runtime64 = require("react/jsx-runtime"); function createTabs(createProps) { const { ContentFrame = DefaultTabsContentFrame, TabFrame = DefaultTabsTabFrame, TabsFrame = DefaultTabsFrame - } = createProps, TABS_CONTEXT = "TabsContext", TAB_LIST_NAME = "TabsList", TabsList = React72.forwardRef((props, forwardedRef) => { + } = createProps, TABS_CONTEXT = "TabsContext", TAB_LIST_NAME = "TabsList", TabsList = React68.forwardRef((props, forwardedRef) => { const { __scopeTabs, loop = true, children, ...listProps - } = props, context2 = useTabsContext(__scopeTabs); - return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(RovingFocusGroup, { + } = props, context4 = useTabsContext(__scopeTabs); + return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(RovingFocusGroup, { __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT, - orientation: context2.orientation, - dir: context2.dir, + orientation: context4.orientation, + dir: context4.dir, loop, asChild: true, - children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Group, { + children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Group, { role: "tablist", componentName: TAB_LIST_NAME, - "aria-orientation": context2.orientation, + "aria-orientation": context4.orientation, ref: forwardedRef, - orientation: context2.orientation, + orientation: context4.orientation, ...listProps, children }) }); }); TabsList.displayName = TAB_LIST_NAME; - const TRIGGER_NAME6 = "TabsTrigger", TabsTrigger = TabFrame.styleable((props, forwardedRef) => { + const TRIGGER_NAME5 = "TabsTrigger", TabsTrigger = TabFrame.styleable((props, forwardedRef) => { const { __scopeTabs, value, disabled = false, onInteraction, - disableActiveTheme, + activeStyle, + activeTheme, + unstyled = false, ...triggerProps - } = props, context2 = useTabsContext(__scopeTabs), triggerId = makeTriggerId(context2.baseId, value), contentId = makeContentId(context2.baseId, value), isSelected = value === context2.value, [layout, setLayout] = React72.useState(null), triggerRef = React72.useRef(null), groupItemProps = useGroupItem({ + } = props, context4 = useTabsContext(__scopeTabs), triggerId = makeTriggerId(context4.baseId, value), contentId = makeContentId(context4.baseId, value), isSelected = value === context4.value, [layout, setLayout] = React68.useState(null), triggerRef = React68.useRef(null), groupItemProps = useGroupItem({ disabled: !!disabled }); - return React72.useEffect(() => (context2.registerTrigger(), () => context2.unregisterTrigger()), []), React72.useEffect(() => { + return React68.useEffect(() => (context4.registerTrigger(), () => context4.unregisterTrigger()), []), React68.useEffect(() => { if (!triggerRef.current || !isWeb) return; + const el = triggerRef.current; function getTriggerSize() { - triggerRef.current && setLayout({ - width: triggerRef.current.offsetWidth, - height: triggerRef.current.offsetHeight, - x: triggerRef.current.offsetLeft, - y: triggerRef.current.offsetTop + el && setLayout({ + width: el.offsetWidth, + height: el.offsetHeight, + x: el.offsetLeft, + y: el.offsetTop }); } __name(getTriggerSize, "getTriggerSize"); getTriggerSize(); const observer = new ResizeObserver(getTriggerSize); - return observer.observe(triggerRef.current), () => { - triggerRef.current && observer.unobserve(triggerRef.current); + return observer.observe(el), () => { + observer.unobserve(el); }; - }, [context2.triggersCount]), React72.useEffect(() => { + }, [context4.triggersCount]), React68.useEffect(() => { isSelected && layout && onInteraction?.("select", layout); - }, [isSelected, value, layout]), /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_web18.Theme, { - name: isSelected && !disableActiveTheme ? "active" : null, - children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(RovingFocusGroup.Item, { - __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT, - asChild: true, - focusable: !disabled, - active: isSelected, - children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(TabFrame, { - onLayout: /* @__PURE__ */ __name((event) => { - isWeb || setLayout(event.nativeEvent.layout); - }, "onLayout"), - onHoverIn: composeEventHandlers(props.onHoverIn, () => { - layout && onInteraction?.("hover", layout); - }), - onHoverOut: composeEventHandlers(props.onHoverOut, () => { - onInteraction?.("hover", null); - }), - role: "tab", - "aria-selected": isSelected, - "aria-controls": contentId, - "data-state": isSelected ? "active" : "inactive", - "data-disabled": disabled ? "" : void 0, - disabled, - id: triggerId, - ...!props.unstyled && { - size: context2.size + }, [isSelected, value, layout]), /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(RovingFocusGroup.Item, { + __scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT, + asChild: true, + focusable: !disabled, + active: isSelected, + children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(TabFrame, { + onMouseEnter: composeEventHandlers(props.onMouseEnter, () => { + layout && onInteraction?.("hover", layout); + }), + onMouseLeave: composeEventHandlers(props.onMouseLeave, () => { + onInteraction?.("hover", null); + }), + role: "tab", + "aria-selected": isSelected, + "aria-controls": contentId, + "data-state": isSelected ? "active" : "inactive", + "data-disabled": disabled ? "" : void 0, + id: triggerId, + theme: activeTheme ?? null, + unstyled, + ...!unstyled && { + size: context4.size + }, + ...isSelected && { + ...!unstyled && !activeStyle && { + backgroundColor: "$backgroundActive" }, - ...isSelected && { - forceStyle: "focus" - }, - ...groupItemProps, - ...triggerProps, - ref: composeRefs(forwardedRef, triggerRef), - onPress: composeEventHandlers(props.onPress ?? void 0, (event) => { - const webChecks = !isWeb || event.button === 0 && event.ctrlKey === false; - !disabled && !isSelected && webChecks ? context2.onChange(value) : event.preventDefault(); + ...activeStyle + }, + ...groupItemProps, + disabled: disabled ?? groupItemProps.disabled, + ...triggerProps, + ref: composeRefs(forwardedRef, triggerRef), + onPress: composeEventHandlers(props.onPress ?? void 0, (event) => { + const webChecks = !isWeb || event.button === 0 && event.ctrlKey === false; + !disabled && !isSelected && webChecks && context4.onChange(value); + }), + ...isWeb && { + onKeyDown: composeEventHandlers(props.onKeyDown, (event) => { + [" ", "Enter"].includes(event.key) && (context4.onChange(value), event.preventDefault()); }), - ...isWeb && { - type: "button", - onKeyDown: composeEventHandlers(props.onKeyDown, (event) => { - [" ", "Enter"].includes(event.key) && (context2.onChange(value), event.preventDefault()); - }), - onFocus: composeEventHandlers(props.onFocus, (event) => { - layout && onInteraction?.("focus", layout); - const isAutomaticActivation = context2.activationMode !== "manual"; - !isSelected && !disabled && isAutomaticActivation && context2.onChange(value); - }), - onBlur: composeEventHandlers(props.onFocus, () => { - onInteraction?.("focus", null); - }) - } - }) + onFocus: composeEventHandlers(props.onFocus, (event) => { + layout && onInteraction?.("focus", layout); + const isAutomaticActivation = context4.activationMode !== "manual"; + !isSelected && !disabled && isAutomaticActivation && context4.onChange(value); + }), + onBlur: composeEventHandlers(props.onBlur, () => { + onInteraction?.("focus", null); + }) + } }) }); }); - TabsTrigger.displayName = TRIGGER_NAME6; + TabsTrigger.displayName = TRIGGER_NAME5; const TabsContent = ContentFrame.styleable(function(props, forwardedRef) { const { __scopeTabs, @@ -37623,10 +38513,10 @@ function createTabs(createProps) { forceMount, children, ...contentProps - } = props, context2 = useTabsContext(__scopeTabs), isSelected = value === context2.value, show = forceMount || isSelected, triggerId = makeTriggerId(context2.baseId, value), contentId = makeContentId(context2.baseId, value); - return show ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ContentFrame, { + } = props, context4 = useTabsContext(__scopeTabs), isSelected = value === context4.value, show = forceMount || isSelected, triggerId = makeTriggerId(context4.baseId, value), contentId = makeContentId(context4.baseId, value); + return show ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ContentFrame, { "data-state": isSelected ? "active" : "inactive", - "data-orientation": context2.orientation, + "data-orientation": context4.orientation, role: "tabpanel", "aria-labelledby": triggerId, hidden: !show, @@ -37644,31 +38534,34 @@ function createTabs(createProps) { defaultValue: defaultValue2, orientation = "horizontal", dir, - activationMode = "automatic", + activationMode = "manual", size: size4 = "$true", ...tabsProps } = props, direction = useDirection(dir), [value, setValue] = useControllableState({ prop: valueProp, onChange: onValueChange, defaultProp: defaultValue2 ?? "" - }), [triggersCount, setTriggersCount] = React72.useState(0), registerTrigger = (0, import_web18.useEvent)(() => setTriggersCount((v) => v + 1)), unregisterTrigger = (0, import_web18.useEvent)(() => setTriggersCount((v) => v - 1)); - return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(TabsProvider, { - scope: __scopeTabs, - baseId: React72.useId(), - value, - onChange: setValue, - orientation, - dir: direction, - activationMode, + }), [triggersCount, setTriggersCount] = React68.useState(0), registerTrigger = (0, import_web22.useEvent)(() => setTriggersCount((v) => v + 1)), unregisterTrigger = (0, import_web22.useEvent)(() => setTriggersCount((v) => v - 1)); + return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SizableContext.Provider, { size: size4, - registerTrigger, - triggersCount, - unregisterTrigger, - children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(TabsFrame, { - direction, - "data-orientation": orientation, - ...tabsProps, - ref: forwardedRef + children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(TabsProvider, { + scope: __scopeTabs, + baseId: React68.useId(), + value, + onChange: setValue, + orientation, + dir: direction, + activationMode, + size: size4, + registerTrigger, + triggersCount, + unregisterTrigger, + children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(TabsFrame, { + direction, + "data-orientation": orientation, + ...tabsProps, + ref: forwardedRef + }) }) }); }); @@ -37700,7 +38593,7 @@ var Tabs = createTabs({ }); // node_modules/@tamagui/theme/dist/esm/_mutateTheme.mjs -var import_web19 = require("@tamagui/core"); +var import_web23 = require("@tamagui/core"); function mutateThemes({ themes, batch, @@ -37742,7 +38635,7 @@ function _mutateTheme(props) { process.env.NODE_ENV === "development" && console.warn("Theme mutation is not supported on server side"); return; } - const config = (0, import_web19.getConfig)(), { + const config = (0, import_web23.getConfig)(), { name: themeName, theme: themeIn, insertCSS, @@ -37757,8 +38650,8 @@ function _mutateTheme(props) { ...mutationType === "update" ? config.themes[themeName] ?? {} : {}, ...themeIn }; - for (const key in theme) (0, import_web19.ensureThemeVariable)(theme, key); - const themeProxied = (0, import_web19.proxyThemeToParents)(themeName, theme), response = { + for (const key in theme) (0, import_web23.ensureThemeVariable)(theme, key); + const themeProxied = (0, import_web23.proxyThemeToParents)(themeName, theme), response = { themeRaw: theme, theme: themeProxied, cssRules: [] @@ -37769,19 +38662,19 @@ function _mutateTheme(props) { } __name(_mutateTheme, "_mutateTheme"); function updateThemeConfig(themeName, theme) { - const config = (0, import_web19.getConfig)(); - config.themes[themeName] = theme, (0, import_web19.updateConfig)("themes", config.themes); + const config = (0, import_web23.getConfig)(); + config.themes[themeName] = theme, (0, import_web23.updateConfig)("themes", config.themes); } __name(updateThemeConfig, "updateThemeConfig"); function updateThemeStates() { - (0, import_web19.forceUpdateThemes)(); + (0, import_web23.forceUpdateThemes)(); } __name(updateThemeStates, "updateThemeStates"); function insertThemeCSS(themes, batch = false) { - const config = (0, import_web19.getConfig)(); + const config = (0, import_web23.getConfig)(); let cssRules = []; for (const themeName in themes) { - const theme = themes[themeName], rules = (0, import_web19.getThemeCSSRules)({ + const theme = themes[themeName], rules = (0, import_web23.getThemeCSSRules)({ config, themeName, names: [themeName], @@ -37791,7 +38684,7 @@ function insertThemeCSS(themes, batch = false) { cssRules = [...cssRules, ...rules], batch || updateStyle(`t_theme_style_${themeName}`, rules); } if (batch) { - const id = typeof batch == "string" ? batch : (0, import_web19.simpleHash)(Object.keys(themes).join("")); + const id = typeof batch == "string" ? batch : (0, import_web23.simpleHash)(Object.keys(themes).join("")); updateStyle(`t_theme_style_${id}`, cssRules); } return cssRules; @@ -37843,160 +38736,163 @@ function replaceTheme({ __name(replaceTheme, "replaceTheme"); // node_modules/@tamagui/toggle-group/dist/esm/ToggleGroup.mjs -var import_web21 = require("@tamagui/core"); -var import_react51 = __toESM(require("react"), 1); +var import_web26 = require("@tamagui/core"); +var import_react54 = __toESM(require("react"), 1); // node_modules/@tamagui/toggle-group/dist/esm/Toggle.mjs -var import_web20 = require("@tamagui/core"); -var React73 = __toESM(require("react"), 1); -var import_jsx_runtime60 = require("react/jsx-runtime"); -var context = (0, import_web20.createStyledContext)({ - color: "" +var import_web25 = require("@tamagui/core"); +var React69 = __toESM(require("react"), 1); + +// node_modules/@tamagui/toggle-group/dist/esm/context.mjs +var import_web24 = require("@tamagui/core"); +var context3 = (0, import_web24.createStyledContext)({ + color: "", + active: false }); +var useToggleGroupItem = /* @__PURE__ */ __name(() => context3.useStyledContext(), "useToggleGroupItem"); + +// node_modules/@tamagui/toggle-group/dist/esm/Toggle.mjs +var import_jsx_runtime65 = require("react/jsx-runtime"); var NAME3 = "Toggle"; -var ToggleFrame = (0, import_web20.styled)(ThemeableStack, { +var ToggleFrame = (0, import_web25.styled)(import_web25.View, { name: NAME3, - tag: "button", - context, + render: "button", + context: context3, variants: { unstyled: { false: { - pressTheme: true, - backgroundColor: "$background", + size: "$true", alignItems: "center", justifyContent: "center", display: "flex", + backgroundColor: "$background", borderColor: "$borderColor", borderWidth: 1, margin: -1, hoverStyle: { - backgroundColor: "$backgroundHover" + backgroundColor: "$backgroundHover", + borderColor: "$borderColorHover" }, pressStyle: { - backgroundColor: "$backgroundPress" - }, - focusStyle: { - borderColor: "$borderColorFocus" + backgroundColor: "$backgroundPress", + borderColor: "$borderColorPress" }, focusVisibleStyle: { outlineColor: "$outlineColor", outlineWidth: 2, - outlineStyle: "solid" + outlineStyle: "solid", + zIndex: 10 } } }, - color: { - "...color": /* @__PURE__ */ __name(() => ({}), "...color") + size: { + "...size": /* @__PURE__ */ __name((val, { + tokens + }) => { + if (val) return { + width: tokens.size[val], + height: tokens.size[val] + }; + }, "...size"), + ":number": /* @__PURE__ */ __name((val) => ({ + width: val, + height: val + }), ":number") }, - active: { + defaultActiveStyle: { true: { - zIndex: 1, + backgroundColor: "$backgroundActive", hoverStyle: { - backgroundColor: "$background" + backgroundColor: "$backgroundActive" }, focusStyle: { - borderColor: "$borderColor", - backgroundColor: "$background" + backgroundColor: "$backgroundActive", + borderColor: "$borderColorActive" } } - }, - orientation: { - horizontal: { - flexDirection: "row", - spaceDirection: "horizontal" - }, - vertical: { - flexDirection: "column", - spaceDirection: "vertical" - } } }, defaultVariants: { unstyled: process.env.TAMAGUI_HEADLESS === "1" } +}, { + accept: { + activeStyle: "style" + } }); -var Toggle = React73.forwardRef(function(props, forwardedRef) { +var Toggle = React69.forwardRef(function(props, forwardedRef) { const { - pressed: pressedProp, - defaultPressed = false, - onPressedChange, + active: activeProp, + activeStyle, + defaultActive = false, + onActiveChange, + activeTheme, + unstyled = false, ...buttonProps - } = props, [pressed = false, setPressed] = useControllableState({ - prop: pressedProp, - onChange: onPressedChange, - defaultProp: defaultPressed + } = props, [active = false, setActive] = useControllableState({ + prop: activeProp, + onChange: onActiveChange, + defaultProp: defaultActive }); - return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ToggleFrame, { - ...!props.unstyled && { - theme: pressed ? "active" : null, - themeShallow: true - }, - active: props.unstyled ? void 0 : pressed, - "aria-pressed": pressed, - "data-state": pressed ? "on" : "off", + return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ToggleFrame, { + theme: activeTheme ?? null, + "aria-pressed": active, + "data-state": active ? "on" : "off", "data-disabled": props.disabled ? "" : void 0, + unstyled, + ...active && !activeStyle && !unstyled && { + defaultActiveStyle: true + }, + ...active && activeStyle && { + ...activeStyle, + hoverStyle: activeStyle, + focusStyle: activeStyle + }, ...buttonProps, ref: forwardedRef, onPress: composeEventHandlers(props.onPress ?? void 0, () => { - props.disabled || setPressed(!pressed); + props.disabled || setActive((prev) => !prev); }) }); }); // node_modules/@tamagui/toggle-group/dist/esm/ToggleGroup.mjs -var import_jsx_runtime61 = require("react/jsx-runtime"); +var import_jsx_runtime66 = require("react/jsx-runtime"); var TOGGLE_GROUP_NAME = "ToggleGroup"; var TOGGLE_GROUP_ITEM_NAME = "ToggleGroupItem"; var TOGGLE_GROUP_CONTEXT = "ToggleGroup"; var { - Provider: ToggleGroupItemProvider, - useStyledContext: useToggleGroupItemContext -} = (0, import_web21.createStyledContext)(); + Provider: ToggleGroupItemProvider +} = (0, import_web26.createStyledContext)(); var { Provider: ToggleGroupContext, useStyledContext: useToggleGroupContext -} = (0, import_web21.createStyledContext)(); -var ToggleGroupItem = ToggleFrame.extractable(import_react51.default.forwardRef((props, forwardedRef) => { - const [_, { - color - }] = (0, import_web21.usePropsAndStyle)(props), { - disablePassStyles, - ...rest - } = props, valueContext = useToggleGroupValueContext(props.__scopeToggleGroup), context2 = useToggleGroupContext(props.__scopeToggleGroup), pressed = valueContext?.value.includes(props.value), disabled = context2.disabled || props.disabled || false, groupItemProps = useGroupItem({ - disabled - }), size4 = props.size ?? context2.size, sizeProps = props.unstyled ? {} : { - width: void 0, - height: void 0, - padding: (0, import_web21.getVariableValue)(size4) * 0.6 - }, iconSize = (typeof size4 == "number" ? size4 * 0.7 : getFontSize(size4)) * 1.2, theme = (0, import_web21.useTheme)(), getThemedIcon = useGetThemedIcon({ - size: iconSize, - color: color ?? theme.color - }), children = import_react51.default.Children.toArray(props.children).map((child) => props.disablePassStyles || !import_react51.default.isValidElement(child) ? child : getThemedIcon(child)), commonProps = { - pressed, - disabled, - ...sizeProps, - ...rest, - children - }, inner2 = /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupItemImpl, { - ...commonProps, +} = (0, import_web26.createStyledContext)({}); +var ToggleGroupItem = ToggleFrame.styleable((props, forwardedRef) => { + const valueContext = useToggleGroupValueContext(props.__scopeToggleGroup), context4 = useToggleGroupContext(props.__scopeToggleGroup), toggleContext = context3.useStyledContext(props.__scopeToggleGroup), active = valueContext?.value.includes(props.value), color = props.color || toggleContext.color, disabled = context4.disabled || props.disabled || false, inner2 = /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupItemImpl, { ref: forwardedRef, tabIndex: disabled ? -1 : 0, - disabled, - ...groupItemProps + ...props, + active, + disabled }); - return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupItemProvider, { + return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupItemProvider, { scope: props.__scopeToggleGroup, - children: context2.rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(RovingFocusGroup.Item, { - asChild: "except-style", - __scopeRovingFocusGroup: props.__scopeToggleGroup || TOGGLE_GROUP_CONTEXT, - focusable: !disabled, - active: pressed, - children: inner2 - }) : inner2 + children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(context3.Provider, { + color, + active, + children: context4.rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(RovingFocusGroup.Item, { + asChild: "except-style", + __scopeRovingFocusGroup: props.__scopeToggleGroup || TOGGLE_GROUP_CONTEXT, + focusable: !disabled, + active, + children: inner2 + }) : inner2 + }) }); -})); +}); ToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME; -var ToggleGroupItemImpl = import_react51.default.forwardRef((props, forwardedRef) => { +var ToggleGroupItemImpl = import_react54.default.forwardRef((props, forwardedRef) => { const { __scopeToggleGroup, value, @@ -38004,32 +38900,30 @@ var ToggleGroupItemImpl = import_react51.default.forwardRef((props, forwardedRef } = props, valueContext = useToggleGroupValueContext(__scopeToggleGroup), singleProps = { "aria-pressed": void 0 }, typeProps = valueContext.type === "single" ? singleProps : void 0; - return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Toggle, { + return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Toggle, { ...typeProps, ...itemProps, ref: forwardedRef, - onPressedChange: /* @__PURE__ */ __name((pressed) => { + onActiveChange: /* @__PURE__ */ __name((pressed) => { pressed ? valueContext.onItemActivate(value) : valueContext.onItemDeactivate(value); - }, "onPressedChange") + }, "onActiveChange") }); }); -var ToggleGroup = withStaticProperties(import_react51.default.forwardRef((props, forwardedRef) => { +var ToggleGroup = withStaticProperties(import_react54.default.forwardRef((props, forwardedRef) => { const { type, ...toggleGroupProps } = props; - if (isWeb || import_react51.default.useEffect(() => { + if (isWeb || import_react54.default.useEffect(() => { if (props.id) return registerFocusable(props.id, { - // TODO: would be nice to focus on the first child later - could be done with reforest - // for now leaving it empty focus: /* @__PURE__ */ __name(() => { }, "focus") }); - }, [props.id]), type === "single") return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupImplSingle, { + }, [props.id]), type === "single") return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupImplSingle, { ...toggleGroupProps, ref: forwardedRef }); - if (type === "multiple") return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupImplMultiple, { + if (type === "multiple") return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupImplMultiple, { ...toggleGroupProps, ref: forwardedRef }); @@ -38041,84 +38935,67 @@ ToggleGroup.displayName = TOGGLE_GROUP_NAME; var { Provider: ToggleGroupValueProvider, useStyledContext: useToggleGroupValueContext -} = (0, import_web21.createStyledContext)(); -var ToggleGroupImplSingle = import_react51.default.forwardRef((props, forwardedRef) => { +} = (0, import_web26.createStyledContext)(); +var ToggleGroupImplSingle = import_react54.default.forwardRef((props, forwardedRef) => { const { value: valueProp, defaultValue: defaultValue2, onValueChange = /* @__PURE__ */ __name(() => { }, "onValueChange"), disableDeactivation = false, + children, ...toggleGroupSingleProps } = props, [value, setValue] = useControllableState({ prop: valueProp, defaultProp: defaultValue2, onChange: onValueChange }); - return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupValueProvider, { + return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupValueProvider, { scope: props.__scopeToggleGroup, type: "single", value: value ? [value] : [], defaultValue: value, onItemActivate: setValue, - onItemDeactivate: import_react51.default.useCallback(() => disableDeactivation ? null : setValue(""), [setValue, disableDeactivation]), - children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupImpl, { + onItemDeactivate: import_react54.default.useCallback(() => disableDeactivation ? null : setValue(""), [setValue, disableDeactivation]), + children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupImpl, { ...toggleGroupSingleProps, - ref: forwardedRef + ref: forwardedRef, + children }) }); }); -var ToggleGroupImplMultiple = import_react51.default.forwardRef((props, forwardedRef) => { +var ToggleGroupImplMultiple = import_react54.default.forwardRef((props, forwardedRef) => { const { value: valueProp, defaultValue: defaultValue2, onValueChange = /* @__PURE__ */ __name(() => { }, "onValueChange"), disableDeactivation, + children, ...toggleGroupMultipleProps } = props, [value = [], setValue] = useControllableState({ prop: valueProp, defaultProp: defaultValue2, onChange: onValueChange - }), handleButtonActivate = import_react51.default.useCallback((itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]), [setValue]), handleButtonDeactivate = import_react51.default.useCallback((itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)), [setValue]); - return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupValueProvider, { + }), handleButtonActivate = import_react54.default.useCallback((itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]), [setValue]), handleButtonDeactivate = import_react54.default.useCallback((itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)), [setValue]); + return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupValueProvider, { scope: props.__scopeToggleGroup, type: "multiple", value, defaultValue: value, onItemActivate: handleButtonActivate, onItemDeactivate: handleButtonDeactivate, - children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupImpl, { + children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupImpl, { ...toggleGroupMultipleProps, - ref: forwardedRef + ref: forwardedRef, + children }) }); }); -ToggleGroup.displayName = TOGGLE_GROUP_NAME; -var ToggleGroupImplElementFrame = (0, import_web21.styled)(Group, { - name: TOGGLE_GROUP_NAME, - variants: { - unstyled: { - false: { - backgroundColor: "$background" - } - }, - orientation: { - vertical: { - flexDirection: "column", - spaceDirection: "vertical" - }, - horizontal: { - flexDirection: "row", - spaceDirection: "horizontal" - } - } - }, - defaultVariants: { - unstyled: process.env.TAMAGUI_HEADLESS === "1" - } +var ToggleGroupFrame = (0, import_web26.styled)(import_web26.View, { + name: TOGGLE_GROUP_NAME }); -var ToggleGroupImpl = ToggleGroupImplElementFrame.extractable(import_react51.default.forwardRef((props, forwardedRef) => { +var ToggleGroupImpl = ToggleGroupFrame.styleable((props, forwardedRef) => { const { __scopeToggleGroup, disabled = false, @@ -38126,54 +39003,38 @@ var ToggleGroupImpl = ToggleGroupImplElementFrame.extractable(import_react51.def dir, rovingFocus = true, loop = true, - unstyled = false, - size: sizeProp = "$true", - sizeAdjust = 0, + color, ...toggleGroupProps - } = props, direction = useDirection(dir), commonProps = { + } = props, direction = useDirection(dir), content = /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupFrame, { role: "group", - dir: direction, + ref: forwardedRef, + "data-disabled": disabled ? "" : void 0, ...toggleGroupProps - }, adjustedSize = (0, import_web21.getVariableValue)(getSize(sizeProp, { - shift: sizeAdjust - })), size4 = Math.round(adjustedSize * 0.45); - return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupContext, { + }); + return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToggleGroupContext, { scope: __scopeToggleGroup, rovingFocus, disabled, - size: size4, - children: rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(RovingFocusGroup, { - asChild: "except-style", - __scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT, - orientation, - dir: direction, - loop, - children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupImplElementFrame, { - "aria-orientation": orientation, + children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(context3.Provider, { + color, + children: rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(RovingFocusGroup, { + asChild: "except-style", + __scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT, orientation, - axis: orientation, - ref: forwardedRef, - "data-disabled": disabled ? "" : void 0, - unstyled, - ...commonProps - }) - }) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ToggleGroupImplElementFrame, { - "aria-orientation": orientation, - ref: forwardedRef, - orientation, - "data-disabled": disabled ? "" : void 0, - unstyled, - ...commonProps + dir: direction, + loop, + children: content + }) : content }) }); -})); +}); // node_modules/@tamagui/tooltip/node_modules/@floating-ui/react/dist/floating-ui.react.mjs -var React76 = __toESM(require("react"), 1); +var React72 = __toESM(require("react"), 1); // node_modules/@tamagui/tooltip/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs -var React75 = __toESM(require("react"), 1); -var import_react52 = require("react"); +var React71 = __toESM(require("react"), 1); +var import_react55 = require("react"); function getPlatform3() { const uaData = navigator.userAgentData; if (uaData != null && uaData.platform) { @@ -38308,15 +39169,15 @@ function isMouseLikePointerType3(pointerType, strict) { return values.includes(pointerType); } __name(isMouseLikePointerType3, "isMouseLikePointerType"); -var isClient7 = typeof document !== "undefined"; -var noop7 = /* @__PURE__ */ __name(function noop8() { +var isClient5 = typeof document !== "undefined"; +var noop8 = /* @__PURE__ */ __name(function noop9() { }, "noop"); -var index4 = isClient7 ? import_react52.useLayoutEffect : noop7; +var index4 = isClient5 ? import_react55.useLayoutEffect : noop8; var SafeReact5 = { - ...React75 + ...React71 }; function useLatestRef4(value) { - const ref = React75.useRef(value); + const ref = React71.useRef(value); index4(() => { ref.current = value; }); @@ -38326,7 +39187,7 @@ __name(useLatestRef4, "useLatestRef"); var useInsertionEffect3 = SafeReact5.useInsertionEffect; var useSafeInsertionEffect3 = useInsertionEffect3 || ((fn) => fn()); function useEffectEvent3(callback) { - const ref = React75.useRef(() => { + const ref = React71.useRef(() => { if (process.env.NODE_ENV !== "production") { throw new Error("Cannot call an event handler while rendering."); } @@ -38334,7 +39195,7 @@ function useEffectEvent3(callback) { useSafeInsertionEffect3(() => { ref.current = callback; }); - return React75.useCallback(function() { + return React71.useCallback(function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } @@ -38344,7 +39205,7 @@ function useEffectEvent3(callback) { __name(useEffectEvent3, "useEffectEvent"); // node_modules/@tamagui/tooltip/node_modules/@floating-ui/react/dist/floating-ui.react.mjs -var import_jsx_runtime62 = require("react/jsx-runtime"); +var import_jsx_runtime67 = require("react/jsx-runtime"); var ReactDOM5 = __toESM(require("react-dom"), 1); var FOCUSABLE_ATTRIBUTE6 = "data-floating-ui-focusable"; var ACTIVE_KEY3 = "active"; @@ -38357,7 +39218,7 @@ var horizontalKeys3 = [ARROW_LEFT4, ARROW_RIGHT4]; var verticalKeys3 = [ARROW_UP4, ARROW_DOWN4]; var allKeys3 = [...horizontalKeys3, ...verticalKeys3]; var SafeReact6 = { - ...React76 + ...React72 }; var serverHandoffComplete3 = false; var count3 = 0; @@ -38367,13 +39228,13 @@ var genId3 = /* @__PURE__ */ __name(() => ( "floating-ui-" + Math.random().toString(36).slice(2, 6) + count3++ ), "genId"); function useFloatingId3() { - const [id, setId] = React76.useState(() => serverHandoffComplete3 ? genId3() : void 0); + const [id, setId] = React72.useState(() => serverHandoffComplete3 ? genId3() : void 0); index4(() => { if (id == null) { setId(genId3()); } }, []); - React76.useEffect(() => { + React72.useEffect(() => { serverHandoffComplete3 = true; }, []); return id; @@ -38418,13 +39279,13 @@ function createEventEmitter3() { }; } __name(createEventEmitter3, "createEventEmitter"); -var FloatingNodeContext3 = /* @__PURE__ */ React76.createContext(null); -var FloatingTreeContext3 = /* @__PURE__ */ React76.createContext(null); +var FloatingNodeContext3 = /* @__PURE__ */ React72.createContext(null); +var FloatingTreeContext3 = /* @__PURE__ */ React72.createContext(null); var useFloatingParentNodeId3 = /* @__PURE__ */ __name(() => { var _React$useContext; - return ((_React$useContext = React76.useContext(FloatingNodeContext3)) == null ? void 0 : _React$useContext.id) || null; + return ((_React$useContext = React72.useContext(FloatingNodeContext3)) == null ? void 0 : _React$useContext.id) || null; }, "useFloatingParentNodeId"); -var useFloatingTree3 = /* @__PURE__ */ __name(() => React76.useContext(FloatingTreeContext3), "useFloatingTree"); +var useFloatingTree3 = /* @__PURE__ */ __name(() => React72.useContext(FloatingTreeContext3), "useFloatingTree"); function createAttribute3(name) { return "data-floating-ui-" + name; } @@ -38461,7 +39322,7 @@ function getRestMs2(value) { return value; } __name(getRestMs2, "getRestMs"); -function useHover2(context2, props) { +function useHover2(context4, props) { if (props === void 0) { props = {}; } @@ -38471,7 +39332,7 @@ function useHover2(context2, props) { dataRef, events, elements - } = context2; + } = context4; const { enabled = true, delay = 0, @@ -38486,21 +39347,21 @@ function useHover2(context2, props) { const delayRef = useLatestRef4(delay); const openRef = useLatestRef4(open); const restMsRef = useLatestRef4(restMs); - const pointerTypeRef = React76.useRef(); - const timeoutRef = React76.useRef(-1); - const handlerRef = React76.useRef(); - const restTimeoutRef = React76.useRef(-1); - const blockMouseMoveRef = React76.useRef(true); - const performedPointerEventsMutationRef = React76.useRef(false); - const unbindMouseMoveRef = React76.useRef(() => { + const pointerTypeRef = React72.useRef(); + const timeoutRef = React72.useRef(-1); + const handlerRef = React72.useRef(); + const restTimeoutRef = React72.useRef(-1); + const blockMouseMoveRef = React72.useRef(true); + const performedPointerEventsMutationRef = React72.useRef(false); + const unbindMouseMoveRef = React72.useRef(() => { }); - const restTimeoutPendingRef = React76.useRef(false); + const restTimeoutPendingRef = React72.useRef(false); const isHoverOpen = useEffectEvent3(() => { var _dataRef$current$open; const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type; return (type == null ? void 0 : type.includes("mouse")) && type !== "mousedown"; }); - React76.useEffect(() => { + React72.useEffect(() => { if (!enabled) return; function onOpenChange2(_ref) { let { @@ -38519,7 +39380,7 @@ function useHover2(context2, props) { events.off("openchange", onOpenChange2); }; }, [enabled, events]); - React76.useEffect(() => { + React72.useEffect(() => { if (!enabled) return; if (!handleCloseRef.current) return; if (!open) return; @@ -38535,7 +39396,7 @@ function useHover2(context2, props) { html.removeEventListener("mouseleave", onLeave); }; }, [elements.floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]); - const closeWithDelay = React76.useCallback(function(event, runElseBranch, reason) { + const closeWithDelay = React72.useCallback(function(event, runElseBranch, reason) { if (runElseBranch === void 0) { runElseBranch = true; } @@ -38566,7 +39427,7 @@ function useHover2(context2, props) { const isClickLikeOpenEvent = useEffectEvent3(() => { return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false; }); - React76.useEffect(() => { + React72.useEffect(() => { if (!enabled) return; function onReferenceMouseEnter(event) { clearTimeoutIfSet3(timeoutRef); @@ -38687,7 +39548,7 @@ function useHover2(context2, props) { } }; } - }, [elements, enabled, context2, mouseOnly, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent, restMsRef]); + }, [elements, enabled, context4, mouseOnly, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent, restMsRef]); index4(() => { var _handleCloseRef$curre; if (!enabled) return; @@ -38722,7 +39583,7 @@ function useHover2(context2, props) { clearPointerEvents(); } }, [open, cleanupMouseMoveHandler, clearPointerEvents]); - React76.useEffect(() => { + React72.useEffect(() => { return () => { cleanupMouseMoveHandler(); clearTimeoutIfSet3(timeoutRef); @@ -38730,7 +39591,7 @@ function useHover2(context2, props) { clearPointerEvents(); }; }, [enabled, elements.domReference, cleanupMouseMoveHandler, clearPointerEvents]); - const reference = React76.useMemo(() => { + const reference = React72.useMemo(() => { function setPointerRef(event) { pointerTypeRef.current = event.pointerType; } @@ -38767,14 +39628,14 @@ function useHover2(context2, props) { } }; }, [mouseOnly, onOpenChange, open, openRef, restMsRef]); - return React76.useMemo(() => enabled ? { + return React72.useMemo(() => enabled ? { reference } : {}, [enabled, reference]); } __name(useHover2, "useHover"); var NOOP = /* @__PURE__ */ __name(() => { }, "NOOP"); -var FloatingDelayGroupContext = /* @__PURE__ */ React76.createContext({ +var FloatingDelayGroupContext = /* @__PURE__ */ React72.createContext({ delay: 0, initialDelay: 0, timeoutMs: 0, @@ -38783,14 +39644,14 @@ var FloatingDelayGroupContext = /* @__PURE__ */ React76.createContext({ setState: NOOP, isInstantPhase: false }); -var useDelayGroupContext = /* @__PURE__ */ __name(() => React76.useContext(FloatingDelayGroupContext), "useDelayGroupContext"); +var useDelayGroupContext = /* @__PURE__ */ __name(() => React72.useContext(FloatingDelayGroupContext), "useDelayGroupContext"); function FloatingDelayGroup(props) { const { children, delay, timeoutMs = 0 } = props; - const [state, setState] = React76.useReducer((prev, next) => ({ + const [state2, setState] = React72.useReducer((prev, next) => ({ ...prev, ...next }), { @@ -38800,41 +39661,41 @@ function FloatingDelayGroup(props) { currentId: null, isInstantPhase: false }); - const initialCurrentIdRef = React76.useRef(null); - const setCurrentId = React76.useCallback((currentId) => { + const initialCurrentIdRef = React72.useRef(null); + const setCurrentId = React72.useCallback((currentId) => { setState({ currentId }); }, []); index4(() => { - if (state.currentId) { + if (state2.currentId) { if (initialCurrentIdRef.current === null) { - initialCurrentIdRef.current = state.currentId; - } else if (!state.isInstantPhase) { + initialCurrentIdRef.current = state2.currentId; + } else if (!state2.isInstantPhase) { setState({ isInstantPhase: true }); } } else { - if (state.isInstantPhase) { + if (state2.isInstantPhase) { setState({ isInstantPhase: false }); } initialCurrentIdRef.current = null; } - }, [state.currentId, state.isInstantPhase]); - return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(FloatingDelayGroupContext.Provider, { - value: React76.useMemo(() => ({ - ...state, + }, [state2.currentId, state2.isInstantPhase]); + return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(FloatingDelayGroupContext.Provider, { + value: React72.useMemo(() => ({ + ...state2, setState, setCurrentId - }), [state, setCurrentId]), + }), [state2, setCurrentId]), children }); } __name(FloatingDelayGroup, "FloatingDelayGroup"); -function useDelayGroup(context2, options) { +function useDelayGroup(context4, options) { if (options === void 0) { options = {}; } @@ -38842,7 +39703,7 @@ function useDelayGroup(context2, options) { open, onOpenChange, floatingId - } = context2; + } = context4; const { id: optionId, enabled = true @@ -38915,7 +39776,7 @@ var normalizeProp3 = /* @__PURE__ */ __name((normalizable) => { outsidePress: typeof normalizable === "boolean" ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true }; }, "normalizeProp"); -function useDismiss3(context2, props) { +function useDismiss3(context4, props) { if (props === void 0) { props = {}; } @@ -38924,7 +39785,7 @@ function useDismiss3(context2, props) { onOpenChange, elements, dataRef - } = context2; + } = context4; const { enabled = true, escapeKey = true, @@ -38939,7 +39800,7 @@ function useDismiss3(context2, props) { const tree = useFloatingTree3(); const outsidePressFn = useEffectEvent3(typeof unstable_outsidePress === "function" ? unstable_outsidePress : () => false); const outsidePress = typeof unstable_outsidePress === "function" ? outsidePressFn : unstable_outsidePress; - const endedOrStartedInsideRef = React76.useRef(false); + const endedOrStartedInsideRef = React72.useRef(false); const { escapeKey: escapeKeyBubbles, outsidePress: outsidePressBubbles @@ -38948,7 +39809,7 @@ function useDismiss3(context2, props) { escapeKey: escapeKeyCapture, outsidePress: outsidePressCapture } = normalizeProp3(capture); - const isComposingRef = React76.useRef(false); + const isComposingRef = React72.useRef(false); const closeOnEscapeKeyDown = useEffectEvent3((event) => { var _dataRef$current$floa; if (!open || !enabled || !escapeKey || event.key !== "Escape") { @@ -39066,7 +39927,7 @@ function useDismiss3(context2, props) { }, "callback"); (_getTarget4 = getTarget4(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback); }); - React76.useEffect(() => { + React72.useEffect(() => { if (!open || !enabled) { return; } @@ -39134,10 +39995,10 @@ function useDismiss3(context2, props) { window.clearTimeout(compositionTimeout); }; }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]); - React76.useEffect(() => { + React72.useEffect(() => { dataRef.current.insideReactTree = false; }, [dataRef, outsidePress, outsidePressEvent]); - const reference = React76.useMemo(() => ({ + const reference = React72.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, ...referencePress && { [bubbleHandlerKeys3[referencePressEvent]]: (event) => { @@ -39150,7 +40011,7 @@ function useDismiss3(context2, props) { } } }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]); - const floating = React76.useMemo(() => ({ + const floating = React72.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, onMouseDown() { endedOrStartedInsideRef.current = true; @@ -39162,7 +40023,7 @@ function useDismiss3(context2, props) { dataRef.current.insideReactTree = true; } }), [closeOnEscapeKeyDown, outsidePressEvent, dataRef]); - return React76.useMemo(() => enabled ? { + return React72.useMemo(() => enabled ? { reference, floating } : {}, [enabled, reference, floating]); @@ -39175,8 +40036,8 @@ function useFloatingRootContext3(options) { elements: elementsProp } = options; const floatingId = useId16(); - const dataRef = React76.useRef({}); - const [events] = React76.useState(() => createEventEmitter3()); + const dataRef = React72.useRef({}); + const [events] = React72.useState(() => createEventEmitter3()); const nested = useFloatingParentNodeId3() != null; if (process.env.NODE_ENV !== "production") { const optionDomReference = elementsProp.reference; @@ -39184,7 +40045,7 @@ function useFloatingRootContext3(options) { error3("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `refs.setPositionReference()`", "instead."); } } - const [positionReference, setPositionReference] = React76.useState(elementsProp.reference); + const [positionReference, setPositionReference] = React72.useState(elementsProp.reference); const onOpenChange = useEffectEvent3((open2, event, reason) => { dataRef.current.openEvent = open2 ? event : void 0; events.emit("openchange", { @@ -39195,15 +40056,15 @@ function useFloatingRootContext3(options) { }); onOpenChangeProp == null || onOpenChangeProp(open2, event, reason); }); - const refs = React76.useMemo(() => ({ + const refs = React72.useMemo(() => ({ setPositionReference }), []); - const elements = React76.useMemo(() => ({ + const elements = React72.useMemo(() => ({ reference: positionReference || elementsProp.reference || null, floating: elementsProp.floating || null, domReference: elementsProp.reference }), [positionReference, elementsProp.reference, elementsProp.floating]); - return React76.useMemo(() => ({ + return React72.useMemo(() => ({ dataRef, open, onOpenChange, @@ -39231,11 +40092,11 @@ function useFloating5(options) { }); const rootContext = options.rootContext || internalRootContext; const computedElements = rootContext.elements; - const [_domReference, setDomReference] = React76.useState(null); - const [positionReference, _setPositionReference] = React76.useState(null); + const [_domReference, setDomReference] = React72.useState(null); + const [positionReference, _setPositionReference] = React72.useState(null); const optionDomReference = computedElements == null ? void 0 : computedElements.domReference; const domReference = optionDomReference || _domReference; - const domReferenceRef = React76.useRef(null); + const domReferenceRef = React72.useRef(null); const tree = useFloatingTree3(); index4(() => { if (domReference) { @@ -39251,7 +40112,7 @@ function useFloating5(options) { } } }); - const setPositionReference = React76.useCallback((node) => { + const setPositionReference = React72.useCallback((node) => { const computedPositionReference = isElement(node) ? { getBoundingClientRect: /* @__PURE__ */ __name(() => node.getBoundingClientRect(), "getBoundingClientRect"), getClientRects: /* @__PURE__ */ __name(() => node.getClientRects(), "getClientRects"), @@ -39260,7 +40121,7 @@ function useFloating5(options) { _setPositionReference(computedPositionReference); position.refs.setReference(computedPositionReference); }, [position.refs]); - const setReference = React76.useCallback((node) => { + const setReference = React72.useCallback((node) => { if (isElement(node) || node === null) { domReferenceRef.current = node; setDomReference(node); @@ -39272,17 +40133,17 @@ function useFloating5(options) { position.refs.setReference(node); } }, [position.refs]); - const refs = React76.useMemo(() => ({ + const refs = React72.useMemo(() => ({ ...position.refs, setReference, setPositionReference, domReference: domReferenceRef }), [position.refs, setReference, setPositionReference]); - const elements = React76.useMemo(() => ({ + const elements = React72.useMemo(() => ({ ...position.elements, domReference }), [position.elements, domReference]); - const context2 = React76.useMemo(() => ({ + const context4 = React72.useMemo(() => ({ ...position, ...rootContext, refs, @@ -39290,25 +40151,25 @@ function useFloating5(options) { nodeId }), [position, refs, elements, nodeId, rootContext]); index4(() => { - rootContext.dataRef.current.floatingContext = context2; + rootContext.dataRef.current.floatingContext = context4; const node = tree == null ? void 0 : tree.nodesRef.current.find((node2) => node2.id === nodeId); if (node) { - node.context = context2; + node.context = context4; } }); - return React76.useMemo(() => ({ + return React72.useMemo(() => ({ ...position, - context: context2, + context: context4, refs, elements - }), [position, refs, elements, context2]); + }), [position, refs, elements, context4]); } __name(useFloating5, "useFloating"); function isMacSafari2() { return isMac3() && isSafari3(); } __name(isMacSafari2, "isMacSafari"); -function useFocus2(context2, props) { +function useFocus2(context4, props) { if (props === void 0) { props = {}; } @@ -39318,15 +40179,15 @@ function useFocus2(context2, props) { events, dataRef, elements - } = context2; + } = context4; const { enabled = true, visibleOnly = true } = props; - const blockFocusRef = React76.useRef(false); - const timeoutRef = React76.useRef(-1); - const keyboardModalityRef = React76.useRef(true); - React76.useEffect(() => { + const blockFocusRef = React72.useRef(false); + const timeoutRef = React72.useRef(-1); + const keyboardModalityRef = React72.useRef(true); + React72.useEffect(() => { if (!enabled) return; const win = getWindow(elements.domReference); function onBlur() { @@ -39356,7 +40217,7 @@ function useFocus2(context2, props) { } }; }, [elements.domReference, open, enabled]); - React76.useEffect(() => { + React72.useEffect(() => { if (!enabled) return; function onOpenChange2(_ref) { let { @@ -39372,12 +40233,12 @@ function useFocus2(context2, props) { events.off("openchange", onOpenChange2); }; }, [events, enabled]); - React76.useEffect(() => { + React72.useEffect(() => { return () => { clearTimeoutIfSet3(timeoutRef); }; }, []); - const reference = React76.useMemo(() => ({ + const reference = React72.useMemo(() => ({ onMouseLeave() { blockFocusRef.current = false; }, @@ -39411,7 +40272,7 @@ function useFocus2(context2, props) { }); } }), [dataRef, elements.domReference, onOpenChange, visibleOnly]); - return React76.useMemo(() => enabled ? { + return React72.useMemo(() => enabled ? { reference } : {}, [enabled, reference]); } @@ -39480,22 +40341,22 @@ function useInteractions3(propsList) { const referenceDeps = propsList.map((key) => key == null ? void 0 : key.reference); const floatingDeps = propsList.map((key) => key == null ? void 0 : key.floating); const itemDeps = propsList.map((key) => key == null ? void 0 : key.item); - const getReferenceProps = React76.useCallback( + const getReferenceProps = React72.useCallback( (userProps) => mergeProps3(userProps, propsList, "reference"), - + // eslint-disable-next-line react-hooks/exhaustive-deps referenceDeps ); - const getFloatingProps = React76.useCallback( + const getFloatingProps = React72.useCallback( (userProps) => mergeProps3(userProps, propsList, "floating"), - + // eslint-disable-next-line react-hooks/exhaustive-deps floatingDeps ); - const getItemProps = React76.useCallback( + const getItemProps = React72.useCallback( (userProps) => mergeProps3(userProps, propsList, "item"), - + // eslint-disable-next-line react-hooks/exhaustive-deps itemDeps ); - return React76.useMemo(() => ({ + return React72.useMemo(() => ({ getReferenceProps, getFloatingProps, getItemProps @@ -39503,7 +40364,7 @@ function useInteractions3(propsList) { } __name(useInteractions3, "useInteractions"); var componentRoleToAriaRoleMap3 = /* @__PURE__ */ new Map([["select", "listbox"], ["combobox", "listbox"], ["label", false]]); -function useRole3(context2, props) { +function useRole3(context4, props) { var _elements$domReferenc, _componentRoleToAriaR; if (props === void 0) { props = {}; @@ -39512,21 +40373,21 @@ function useRole3(context2, props) { open, elements, floatingId: defaultFloatingId - } = context2; + } = context4; const { enabled = true, role = "dialog" } = props; const defaultReferenceId = useId16(); const referenceId = ((_elements$domReferenc = elements.domReference) == null ? void 0 : _elements$domReferenc.id) || defaultReferenceId; - const floatingId = React76.useMemo(() => { + const floatingId = React72.useMemo(() => { var _getFloatingFocusElem; return ((_getFloatingFocusElem = getFloatingFocusElement3(elements.floating)) == null ? void 0 : _getFloatingFocusElem.id) || defaultFloatingId; }, [elements.floating, defaultFloatingId]); const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap3.get(role)) != null ? _componentRoleToAriaR : role; const parentId = useFloatingParentNodeId3(); const isNested = parentId != null; - const reference = React76.useMemo(() => { + const reference = React72.useMemo(() => { if (ariaRole === "tooltip" || role === "label") { return { ["aria-" + (role === "label" ? "labelledby" : "describedby")]: open ? floatingId : void 0 @@ -39553,7 +40414,7 @@ function useRole3(context2, props) { } }; }, [ariaRole, floatingId, isNested, open, referenceId, role]); - const floating = React76.useMemo(() => { + const floating = React72.useMemo(() => { const floatingProps = { id: floatingId, ...ariaRole && { @@ -39570,7 +40431,7 @@ function useRole3(context2, props) { } }; }, [ariaRole, floatingId, referenceId, role]); - const item = React76.useCallback((_ref) => { + const item = React72.useCallback((_ref) => { let { active, selected @@ -39591,7 +40452,7 @@ function useRole3(context2, props) { } return {}; }, [floatingId, role]); - return React76.useMemo(() => enabled ? { + return React72.useMemo(() => enabled ? { reference, floating, item @@ -39601,14 +40462,13 @@ __name(useRole3, "useRole"); // node_modules/@tamagui/tooltip/dist/esm/Tooltip.mjs var import_core50 = require("@tamagui/core"); -var React77 = __toESM(require("react"), 1); -var import_jsx_runtime63 = require("react/jsx-runtime"); +var React73 = __toESM(require("react"), 1); +var import_jsx_runtime68 = require("react/jsx-runtime"); var TOOLTIP_SCOPE = ""; -var TooltipContent = PopperContentFrame.extractable(React77.forwardRef((props, ref) => { - const preventAnimation = React77.useContext(PreventTooltipAnimationContext); - return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(PopoverContent, { +var TooltipContent = PopperContentFrame.styleable((props, ref) => { + const preventAnimation = React73.useContext(PreventTooltipAnimationContext); + return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(PopoverContent, { scope: props.scope || TOOLTIP_SCOPE, - componentName: "Tooltip", disableFocusScope: true, ...!props.unstyled && { pointerEvents: "none" @@ -39616,27 +40476,31 @@ var TooltipContent = PopperContentFrame.extractable(React77.forwardRef((props, r ref, ...props, ...preventAnimation && { - animation: null + transition: null } }); -})); -var TooltipArrow = React77.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(PopoverArrow, { +}, { + staticConfig: { + componentName: "Tooltip" + } +}); +var TooltipArrow = React73.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(PopoverArrow, { scope: props.scope || TOOLTIP_SCOPE, componentName: "Tooltip", ref, ...props })); -var PreventTooltipAnimationContext = React77.createContext(false); +var PreventTooltipAnimationContext = React73.createContext(false); var TooltipGroup = /* @__PURE__ */ __name(({ children, delay, preventAnimation = false, timeoutMs -}) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(PreventTooltipAnimationContext.Provider, { +}) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(PreventTooltipAnimationContext.Provider, { value: preventAnimation, - children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(FloatingDelayGroup, { + children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(FloatingDelayGroup, { timeoutMs, - delay: React77.useMemo(() => delay, [JSON.stringify(delay)]), + delay: React73.useMemo(() => delay, [JSON.stringify(delay)]), children }) }), "TooltipGroup"); @@ -39644,28 +40508,28 @@ var setOpens = /* @__PURE__ */ new Set(); var closeOpenTooltips = /* @__PURE__ */ __name(() => { setOpens.forEach((x) => x(false)); }, "closeOpenTooltips"); -var TooltipComponent = React77.forwardRef(function(props, ref) { +var TooltipComponent = React73.forwardRef(function(props, ref) { const { children, - delay: delayProp = 400, - restMs = typeof delayProp > "u" ? 0 : typeof delayProp == "number" ? delayProp : 0, + delay: delayProp, + restMs: restMsProp, onOpenChange: onOpenChangeProp, focus: focus2, open: openProp, disableAutoCloseOnScroll, scope = TOOLTIP_SCOPE, ...restProps - } = props, triggerRef = React77.useRef(null), [hasCustomAnchor, setHasCustomAnchor] = React77.useState(false), { + } = props, triggerRef = React73.useRef(null), [hasCustomAnchor, setHasCustomAnchor] = React73.useState(false), { delay: delayGroup, setCurrentId - } = useDelayGroupContext(), delay = delayProp ?? delayGroup ?? 0, [open, setOpen] = useControllableState({ + } = useDelayGroupContext(), delay = delayProp !== void 0 ? delayProp : delayGroup ?? 400, restMs = restMsProp ?? (typeof delay == "number" ? delay : 0), [open, setOpen] = useControllableState({ prop: openProp, defaultProp: false, onChange: onOpenChangeProp }), id = props.groupId, onOpenChange = (0, import_core50.useEvent)((open2) => { open2 && setCurrentId(id), setOpen(open2); }); - React77.useEffect(() => { + React73.useEffect(() => { if (!open || disableAutoCloseOnScroll || typeof document > "u") return; const closeIt = /* @__PURE__ */ __name(() => { setOpen(false); @@ -39680,10 +40544,11 @@ var TooltipComponent = React77.forwardRef(function(props, ref) { open, onOpenChange }), { - delay: delayContext + delay: delayContext, + currentId } = useDelayGroup(floating.context, { id - }), delayOut = delay ?? delayContext, { + }), delayOut = currentId != null && typeof delayContext == "object" ? delayContext : delay, { getReferenceProps, getFloatingProps } = useInteractions3([useHover2(floating.context, { @@ -39698,22 +40563,22 @@ var TooltipComponent = React77.forwardRef(function(props, ref) { getReferenceProps, getFloatingProps }; - }, "useFloatingFn"), useFloatingContext2 = React77.useCallback(useFloatingFn, [id, delay, open, restMs, focus2 ? JSON.stringify(focus2) : 0]), onCustomAnchorAdd = React77.useCallback(() => setHasCustomAnchor(true), []), onCustomAnchorRemove = React77.useCallback(() => setHasCustomAnchor(false), []), contentId = React77.useId(), smallerSize = props.unstyled ? null : getSize("$true", { + }, "useFloatingFn"), useFloatingContext2 = React73.useCallback(useFloatingFn, [id, delay, open, restMs, focus2 ? JSON.stringify(focus2) : 0]), onCustomAnchorAdd = React73.useCallback(() => setHasCustomAnchor(true), []), onCustomAnchorRemove = React73.useCallback(() => setHasCustomAnchor(false), []), contentId = React73.useId(), smallerSize = props.unstyled ? null : getSize("$true", { shift: -2, bounds: [0] }); return ( // TODO: FloatingOverrideContext might also need to be scoped - /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(FloatingOverrideContext.Provider, { + /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(FloatingOverrideContext.Provider, { value: useFloatingContext2, - children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Popper, { + children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Popper, { scope, size: smallerSize?.key, allowFlip: true, stayInFrame: true, open, ...restProps, - children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(PopoverContext.Provider, { + children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(PopoverContext.Provider, { popoverScope: scope, scope, contentId, @@ -39730,23 +40595,23 @@ var TooltipComponent = React77.forwardRef(function(props, ref) { }) ); }); -var TooltipTrigger = React77.forwardRef(function(props, ref) { +var TooltipTrigger = React73.forwardRef(function(props, ref) { const { scope, ...rest } = props; - return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(PopoverTrigger, { + return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(PopoverTrigger, { ...rest, scope: scope || TOOLTIP_SCOPE, ref }); }); -var TooltipAnchor = React77.forwardRef(function(props, ref) { +var TooltipAnchor = React73.forwardRef(function(props, ref) { const { scope, ...rest } = props; - return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(PopoverAnchor, { + return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(PopoverAnchor, { ...rest, scope: scope || TOOLTIP_SCOPE, ref @@ -39762,17 +40627,17 @@ var voidFn = /* @__PURE__ */ __name(() => { }, "voidFn"); // node_modules/@tamagui/tooltip/dist/esm/TooltipSimple.mjs -var React78 = __toESM(require("react"), 1); -var import_jsx_runtime64 = require("react/jsx-runtime"); -var TooltipSimple = React78.forwardRef(({ +var React74 = __toESM(require("react"), 1); +var import_jsx_runtime69 = require("react/jsx-runtime"); +var TooltipSimple = React74.forwardRef(({ label, children, contentProps, disabled, ...tooltipProps }, ref) => { - const child = React78.Children.only(children); - return label ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Tooltip2, { + const child = React74.Children.only(children); + return label ? /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(Tooltip2, { disableRTL: true, offset: 15, restMs: 40, @@ -39781,15 +40646,15 @@ var TooltipSimple = React78.forwardRef(({ ...disabled ? { open: false } : null, - children: [/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Tooltip2.Trigger, { + children: [/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Tooltip2.Trigger, { ...typeof label == "string" && { "aria-label": label }, asChild: "except-style", - children: ref && React78.isValidElement(child) ? React78.cloneElement(child, { + children: ref && React74.isValidElement(child) ? React74.cloneElement(child, { ref }) : child - }), /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Tooltip2.Content, { + }), /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(Tooltip2.Content, { zIndex: 1e9, enterStyle: { y: -4, @@ -39809,13 +40674,13 @@ var TooltipSimple = React78.forwardRef(({ shift: -4 }), animateOnly: ["transform", "opacity"], - animation: ["quicker", { + transition: ["quicker", { opacity: { overshootClamping: true } }], ...contentProps, - children: [/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Tooltip2.Arrow, {}), /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Paragraph, { + children: [/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Tooltip2.Arrow, {}), /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Paragraph, { size: "$3", children: label })] @@ -39823,8 +40688,86 @@ var TooltipSimple = React78.forwardRef(({ }) : children; }); +// node_modules/@tamagui/use-debounce/dist/esm/index.mjs +var React75 = __toESM(require("react"), 1); +function debounce(func2, wait, leading) { + let timeout, isCancelled = false; + function debounced() { + isCancelled = false; + const args = arguments; + leading && !timeout && func2.apply(this, args), clearTimeout(timeout), timeout = setTimeout(() => { + timeout = null, leading || isCancelled || func2.apply(this, args), isCancelled = false; + }, wait); + } + __name(debounced, "debounced"); + return debounced.cancel = () => { + isCancelled = true; + }, debounced; +} +__name(debounce, "debounce"); +var defaultOpts = { + leading: false +}; +function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) { + const dbEffect = React75.useRef(null); + return React75.useEffect(() => () => { + dbEffect.current?.cancel(); + }, []), React75.useMemo(() => (dbEffect.current = debounce(fn, wait, options.leading), dbEffect.current), [options.leading, ...mountArgs]); +} +__name(useDebounce, "useDebounce"); +function useDebounceValue(val, amt = 0) { + const [state2, setState] = React75.useState(val); + return React75.useEffect(() => { + const tm = setTimeout(() => { + setState((prev) => prev === val ? prev : val); + }, amt); + return () => { + clearTimeout(tm); + }; + }, [val]), state2; +} +__name(useDebounceValue, "useDebounceValue"); + +// node_modules/@tamagui/element/dist/esm/useWebRef.mjs +var React76 = __toESM(require("react"), 1); +function useWebRef(forwardedRef) { + const ref = React76.useRef(null), composedRef = useComposedRefs(ref, forwardedRef); + return { + ref, + composedRef + }; +} +__name(useWebRef, "useWebRef"); + +// node_modules/@tamagui/element/dist/esm/useNativeRef.mjs +var React77 = __toESM(require("react"), 1); +function useNativeRef(forwardedRef) { + const ref = React77.useRef(null), composedRef = useComposedRefs(ref, forwardedRef); + return { + ref, + composedRef + }; +} +__name(useNativeRef, "useNativeRef"); +function useNativeInputRef(forwardedRef) { + const ref = React77.useRef(null), composedRef = useComposedRefs(ref, forwardedRef); + return { + ref, + composedRef + }; +} +__name(useNativeInputRef, "useNativeInputRef"); + +// node_modules/@tamagui/element/dist/esm/getWebElement.mjs +function getWebElement(element) { + if (!element) throw new Error("Element is null or undefined"); + if (!(element instanceof HTMLElement)) throw new Error("Element is not an HTMLElement"); + return element; +} +__name(getWebElement, "getWebElement"); + // node_modules/@tamagui/use-window-dimensions/dist/esm/index.mjs -var import_react54 = __toESM(require("react"), 1); +var import_react57 = __toESM(require("react"), 1); // node_modules/@tamagui/use-window-dimensions/dist/esm/initialValue.mjs var initialValue = { @@ -39842,7 +40785,6 @@ __name(configureInitialWindowDimensions, "configureInitialWindowDimensions"); var lastSize = initialValue; var docEl = null; function getWindowSize() { - if (!isClient) return initialValue; docEl ||= window.document.documentElement; const nextSize = { fontScale: 1, @@ -39876,13 +40818,13 @@ __name(subscribe2, "subscribe"); function useWindowDimensions({ serverValue = initialValue } = {}) { - return import_react54.default.useSyncExternalStore(subscribe2, getWindowSize, () => isWeb ? serverValue : getWindowSize()); + return import_react57.default.useSyncExternalStore(subscribe2, getWindowSize, () => isWeb ? serverValue : getWindowSize()); } __name(useWindowDimensions, "useWindowDimensions"); // node_modules/@tamagui/visually-hidden/dist/esm/VisuallyHidden.mjs -var import_web22 = require("@tamagui/core"); -var VisuallyHidden = (0, import_web22.styled)(import_web22.Text, { +var import_web27 = require("@tamagui/core"); +var VisuallyHidden = (0, import_web27.styled)(import_web27.Text, { position: "absolute", width: 1, height: 1, @@ -39960,15 +40902,15 @@ Expected a subset of: ${expected.join(", ")} // node_modules/tamagui/dist/esm/views/TamaguiProvider.mjs var import_core52 = require("@tamagui/core"); -var import_jsx_runtime65 = require("react/jsx-runtime"); +var import_jsx_runtime70 = require("react/jsx-runtime"); var TamaguiProvider = /* @__PURE__ */ __name(({ children, ...props -}) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_core52.TamaguiProvider, { +}) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_core52.TamaguiProvider, { ...props, - children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ZIndexStackContext.Provider, { + children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ZIndexStackContext.Provider, { value: 1, - children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(PortalProvider, { + children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(PortalProvider, { shouldAddRootHost: true, children }) @@ -39977,25 +40919,27 @@ var TamaguiProvider = /* @__PURE__ */ __name(({ // node_modules/tamagui/dist/esm/views/Anchor.mjs var import_core53 = require("@tamagui/core"); -var import_react_native_web8 = __toESM(require_cjs(), 1); -var import_jsx_runtime66 = require("react/jsx-runtime"); +var import_react_native_web7 = __toESM(require_cjs(), 1); +var import_jsx_runtime71 = require("react/jsx-runtime"); var AnchorFrame = (0, import_core53.styled)(SizableText2, { name: "Anchor", - tag: "a", - accessibilityRole: "link" + render: "a", + role: "link" }); var Anchor = AnchorFrame.styleable(({ href, target, + rel, ...props -}, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(AnchorFrame, { +}, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(AnchorFrame, { ...props, ...isWeb ? { href, - target + target, + rel } : { onPress: /* @__PURE__ */ __name((event) => { - props.onPress?.(event), href !== void 0 && import_react_native_web8.Linking.openURL(href); + props.onPress?.(event), href !== void 0 && import_react_native_web7.Linking.openURL(href); }, "onPress") }, ref @@ -40018,7 +40962,7 @@ EnsureFlexed.isVisuallyHidden = true; var import_core55 = require("@tamagui/core"); var Fieldset = (0, import_core55.styled)(YStack, { name: "Fieldset", - tag: "fieldset", + render: "fieldset", // remove browser default styling borderWidth: 0, variants: { @@ -40031,53 +40975,20 @@ var Fieldset = (0, import_core55.styled)(YStack, { } }); -// node_modules/tamagui/dist/esm/views/Input.mjs -var import_react55 = __toESM(require("react"), 1); -var import_core57 = require("@tamagui/core"); -var import_react_native_web9 = __toESM(require_cjs(), 1); +// node_modules/@tamagui/input/dist/esm/Input.mjs +var import_core58 = require("@tamagui/core"); +var import_react58 = __toESM(require("react"), 1); -// node_modules/tamagui/dist/esm/helpers/inputHelpers.mjs +// node_modules/@tamagui/input/dist/esm/shared.mjs var import_core56 = require("@tamagui/core"); -var inputSizeVariant = /* @__PURE__ */ __name((val = "$true", extras) => { - if (extras.props.multiline || extras.props.numberOfLines > 1) return textAreaSizeVariant(val, extras); - const buttonStyles = getButtonSized(val, extras), paddingHorizontal = getSpace(val, { - shift: -1, - bounds: [2] - }), fontStyle = getFontSized(val, extras); - return !import_core56.isWeb && fontStyle && delete fontStyle.lineHeight, { - ...fontStyle, - ...buttonStyles, - paddingHorizontal - }; -}, "inputSizeVariant"); -var textAreaSizeVariant = /* @__PURE__ */ __name((val = "$true", extras) => { - const { - props - } = extras, buttonStyles = getButtonSized(val, extras), fontStyle = getFontSized(val, extras), lines = props.rows ?? props.numberOfLines, height = typeof lines == "number" ? lines * (0, import_core56.getVariableValue)(fontStyle.lineHeight) : "auto", paddingVertical = getSpace(val, { - shift: -2, - bounds: [2] - }), paddingHorizontal = getSpace(val, { - shift: -1, - bounds: [2] - }); - return { - ...buttonStyles, - ...fontStyle, - paddingVertical, - paddingHorizontal, - height - }; -}, "textAreaSizeVariant"); - -// node_modules/tamagui/dist/esm/views/Input.mjs -var import_jsx_runtime67 = require("react/jsx-runtime"); +var import_core57 = require("@tamagui/core"); var defaultStyles = { size: "$true", fontFamily: "$body", borderWidth: 1, outlineWidth: 0, color: "$color", - ...isWeb ? { + ...import_core57.isWeb ? { tabIndex: 0 } : { focusable: true @@ -40098,8 +41009,42 @@ var defaultStyles = { outlineStyle: "solid" } }; -var InputFrame = (0, import_core57.styled)(import_react_native_web9.TextInput, { - name: "Input", +var inputSizeVariant = /* @__PURE__ */ __name((val = "$true", extras) => { + if (extras.props.tag === "textarea" || extras.props.rows > 1 || extras.props.multiline || extras.props.numberOfLines > 1) return textAreaSizeVariant(val, extras); + const buttonStyles = getButtonSized(val, extras), paddingHorizontal = getSpace(val, { + shift: -1, + bounds: [2] + }), fontStyle = getFontSized(val, extras); + return !import_core57.isWeb && fontStyle && delete fontStyle.lineHeight, { + ...fontStyle, + ...buttonStyles, + paddingHorizontal + }; +}, "inputSizeVariant"); +var textAreaSizeVariant = /* @__PURE__ */ __name((val = "$true", extras) => { + const { + props + } = extras, buttonStyles = getButtonSized(val, extras), fontStyle = getFontSized(val, extras), lines = props.rows ?? props.numberOfLines, height = typeof lines == "number" ? lines * (0, import_core57.getVariableValue)(fontStyle.lineHeight) : "auto"; + !import_core57.isWeb && fontStyle && delete fontStyle.lineHeight; + const paddingVertical = getSpace(val, { + shift: -2, + bounds: [2] + }), paddingHorizontal = getSpace(val, { + shift: -1, + bounds: [2] + }); + return { + ...buttonStyles, + ...fontStyle, + paddingVertical, + paddingHorizontal, + height + }; +}, "textAreaSizeVariant"); +var INPUT_NAME = "Input"; +var styledBody = [{ + name: INPUT_NAME, + render: "input", variants: { unstyled: { false: defaultStyles @@ -40119,71 +41064,147 @@ var InputFrame = (0, import_core57.styled)(import_react_native_web9.TextInput, { accept: { placeholderTextColor: "color", selectionColor: "color" - } -}); -var Input = InputFrame.styleable((propsIn, forwardedRef) => { - const ref = import_react55.default.useRef(null), composedRefs = (0, import_core57.useComposedRefs)(forwardedRef, ref), props = useInputProps(propsIn, composedRefs); - return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(InputFrame, { - ...props - }); -}); -function useInputProps(props, ref) { - const theme = (0, import_core57.useTheme)(), focusableProps = useFocusable({ - props, - ref, - isInput: true - }), placeholderTextColor = import_react55.default.useMemo(() => { - const placeholderColorProp = props.placeholderTextColor; - return theme[placeholderColorProp]?.get() ?? placeholderColorProp ?? theme.placeholderColor?.get(); - }, [props.placeholderTextColor, theme]); - return import_react55.default.useMemo(() => ({ - ref: focusableProps.ref, - readOnly: props.disabled, - ...props, - placeholderTextColor, - onChangeText: focusableProps.onChangeText - }), [focusableProps.ref, focusableProps.onChangeText, props.disabled, props, placeholderTextColor]); -} -__name(useInputProps, "useInputProps"); + }, + validStyles: import_core56.Text.staticConfig.validStyles +}]; -// node_modules/tamagui/dist/esm/views/Spinner.mjs -var import_core58 = require("@tamagui/core"); -var React81 = __toESM(require("react"), 1); -var import_react_native_web10 = __toESM(require_cjs(), 1); -var import_jsx_runtime68 = require("react/jsx-runtime"); -var Spinner = YStack.extractable((0, import_core58.themeable)(React81.forwardRef((props, ref) => { +// node_modules/@tamagui/input/dist/esm/Input.mjs +var import_jsx_runtime72 = require("react/jsx-runtime"); +var StyledInput = (0, import_core58.styled)(import_core58.View, styledBody[0], styledBody[1]); +var Input = StyledInput.styleable((props, _forwardedRef) => { const { - size: size4, - color: colorProp, - ...stackProps - } = props, theme = (0, import_core58.useTheme)(); - let color = colorProp; - return color && color[0] === "$" && (color = (0, import_core58.variableToString)(theme[color])), /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(YStack, { + disabled, + id, + onChangeText, + onSubmitEditing, + onSelectionChange, + selection, + placeholderTextColor, + selectionColor, + rows, + // Native-only props (ignored on web) + keyboardAppearance, + returnKeyType, + submitBehavior, + blurOnSubmit, + caretHidden, + contextMenuHidden, + selectTextOnFocus, + secureTextEntry, + maxFontSizeMultiplier, + allowFontScaling, + multiline, + keyboardType, + autoCapitalize, + autoCorrect, + autoFocusNative, + textContentType, + onEndEditing, + onContentSizeChange, + onScroll, + onKeyPress, + // iOS-only props (ignored on web) + clearButtonMode, + clearTextOnFocus, + enablesReturnKeyAutomatically, + dataDetectorTypes, + scrollEnabled, + passwordRules, + rejectResponderTermination, + spellCheck, + lineBreakStrategyIOS, + lineBreakModeIOS, + smartInsertDelete, + inputAccessoryViewID, + inputAccessoryViewButtonLabel, + disableKeyboardShortcuts, + // Android-only props (ignored on web) + cursorColor, + selectionHandleColor, + underlineColorAndroid, + importantForAutofill, + disableFullscreenUI, + inlineImageLeft, + inlineImagePadding, + returnKeyLabel, + textBreakStrategy, + textAlignVertical, + verticalAlign, + showSoftInputOnFocus, + numberOfLines, + ...rest + } = props, { ref, - ...stackProps, - children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_native_web10.ActivityIndicator, { - size: size4, - color - }) + composedRef + } = useWebRef(_forwardedRef), theme = (0, import_core58.useTheme)(); + import_react58.default.useEffect(() => { + if (!onSelectionChange) return; + const node = ref.current; + if (!node) return; + const handleSelectionChange = /* @__PURE__ */ __name(() => { + onSelectionChange({ + nativeEvent: { + selection: { + start: node.selectionStart ?? 0, + end: node.selectionEnd ?? 0 + } + } + }); + }, "handleSelectionChange"); + return node.addEventListener("select", handleSelectionChange), () => node.removeEventListener("select", handleSelectionChange); + }, [onSelectionChange]), import_react58.default.useEffect(() => { + selection && ref.current && ref.current.setSelectionRange(selection.start, selection.end ?? selection.start); + }, [selection?.start, selection?.end]), import_react58.default.useEffect(() => { + if (!(!id || disabled)) return registerFocusable(id, { + focusAndSelect: /* @__PURE__ */ __name(() => ref.current?.focus(), "focusAndSelect"), + focus: /* @__PURE__ */ __name(() => ref.current?.focus(), "focus") + }); + }, [id, disabled]); + const handleKeyDown = /* @__PURE__ */ __name((e) => { + e.key === "Enter" && onSubmitEditing && onSubmitEditing({ + nativeEvent: { + text: e.target.value + } + }), rest.onKeyDown?.(e); + }, "handleKeyDown"), handleChange = /* @__PURE__ */ __name((e) => { + onChangeText?.(e.target.value), rest.onChange?.(e); + }, "handleChange"), finalProps = { + ...rest, + disabled, + id, + rows, + onKeyDown: onSubmitEditing ? handleKeyDown : rest.onKeyDown, + onChange: onChangeText ? handleChange : rest.onChange, + style: { + ...rest.style, + ...placeholderTextColor && { + "--placeholderColor": theme[placeholderTextColor]?.variable || placeholderTextColor + }, + ...selectionColor && { + "--selectionColor": theme[selectionColor]?.variable || selectionColor + } + } + }; + return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(StyledInput, { + ref: composedRef, + ...finalProps }); -}), { - componentName: "Spinner" -})); +}); -// node_modules/tamagui/dist/esm/views/TextArea.mjs -var import_core59 = require("@tamagui/core"); -var import_react56 = __toESM(require("react"), 1); -var import_jsx_runtime69 = require("react/jsx-runtime"); -var TextAreaFrame = (0, import_core59.styled)(InputFrame, { +// node_modules/@tamagui/input/dist/esm/TextArea.mjs +var import_web28 = require("@tamagui/core"); +var TextArea = (0, import_web28.styled)(Input, { name: "TextArea", - multiline: true, + render: "textarea", // this attribute fixes firefox newline issue + // @ts-ignore whiteSpace: "pre-wrap", variants: { unstyled: { false: { height: "auto", - ...defaultStyles + ...defaultStyles, + rows: 3 } }, size: { @@ -40194,20 +41215,31 @@ var TextAreaFrame = (0, import_core59.styled)(InputFrame, { unstyled: process.env.TAMAGUI_HEADLESS === "1" } }); -var TextArea = TextAreaFrame.styleable((propsIn, forwardedRef) => { - const ref = import_react56.default.useRef(null), composedRefs = (0, import_core59.useComposedRefs)(forwardedRef, ref), props = useInputProps(propsIn, composedRefs), linesProp = { - // web uses rows now, but native not caught up :/ - [isWeb ? "rows" : "numberOfLines"]: propsIn.unstyled ? void 0 : 4 - }; - return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TextAreaFrame, { - ...linesProp, - ...props + +// node_modules/tamagui/dist/esm/views/Spinner.mjs +var import_core59 = require("@tamagui/core"); +var import_react_native_web8 = __toESM(require_cjs(), 1); +var import_jsx_runtime73 = require("react/jsx-runtime"); +var Spinner = YStack.styleable((props, ref) => { + const { + size: size4, + color: colorProp, + ...stackProps + } = props, theme = (0, import_core59.useTheme)(); + let color = colorProp; + return color && color[0] === "$" && (color = (0, import_core59.variableToString)(theme[color])), /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(YStack, { + ref, + ...stackProps, + children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_react_native_web8.ActivityIndicator, { + size: size4, + color + }) }); }); // node_modules/tamagui/dist/esm/views/Text.mjs var import_core60 = require("@tamagui/core"); -var Text5 = (0, import_core60.styled)(import_core60.Text, { +var Text8 = (0, import_core60.styled)(import_core60.Text, { variants: { unstyled: { false: { @@ -40236,6 +41268,7 @@ var import_core61 = require("@tamagui/core"); AlertDialogCancel, AlertDialogContent, AlertDialogDescription, + AlertDialogDestructive, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, @@ -40251,10 +41284,7 @@ var import_core61 = require("@tamagui/core"); AvatarImage, Button, ButtonContext, - ButtonFrame, - ButtonIcon, ButtonNestingContext, - ButtonText, Card, CardBackground, CardFooter, @@ -40282,11 +41312,13 @@ var import_core61 = require("@tamagui/core"); DialogTitle, DialogTrigger, DialogWarningProvider, + Em, EnsureFlexed, Fieldset, FontLanguage, Footer, Form, + FormContext, FormFrame, FormProvider, FormTrigger, @@ -40305,17 +41337,11 @@ var import_core61 = require("@tamagui/core"); Header, Heading, INITIAL_STATE, - IS_FABRIC, Image, Input, - InputFrame, Label, LabelFrame, ListItem, - ListItemFrame, - ListItemSubtitle, - ListItemText, - ListItemTitle, Main, Nav, Overlay, @@ -40370,32 +41396,30 @@ var import_core61 = require("@tamagui/core"); Sheet, SheetController, SheetControllerContext, - SheetHandleFrame, SheetInsideSheetContext, - SheetOverlayFrame, SheetScrollView, SizableStack, SizableText, Slider, + SliderActive, + SliderActiveFrame, SliderContext, SliderFrame, SliderThumb, SliderThumbFrame, SliderTrack, - SliderTrackActive, - SliderTrackActiveFrame, SliderTrackFrame, Spacer, + Span, Spinner, Square, - Stack, + Strong, StyleObjectIdentifier, StyleObjectProperty, StyleObjectPseudo, StyleObjectRules, StyleObjectValue, Switch, - SwitchContext, SwitchFrame, SwitchStyledContext, SwitchThumb, @@ -40404,7 +41428,6 @@ var import_core61 = require("@tamagui/core"); TamaguiProvider, Text, TextArea, - TextAreaFrame, Theme, ThemeableStack, Thumb, @@ -40413,7 +41436,6 @@ var import_core61 = require("@tamagui/core"); TooltipGroup, TooltipSimple, Track, - USE_NATIVE_PORTAL, Unspaced, View, VisuallyHidden, @@ -40435,6 +41457,8 @@ var import_core61 = require("@tamagui/core"); createContext, createContextScope, createFont, + createGroupScope, + createImage, createMedia, createProgressScope, createRadioGroup, @@ -40445,20 +41469,21 @@ var import_core61 = require("@tamagui/core"); createSwitch, createTabs, createTamagui, - createTheme, createTokens, createVariable, debounce, - defaultStyles, fullscreenStyle, getCSSStylesAtomic, getConfig, + getElevation, getFontSize, getFontSizeToken, getFontSizeVariable, + getIcon, getMedia, getNativeSheet, getShapeSize, + getSizedElevation, getThemes, getToken, getTokenValue, @@ -40466,7 +41491,10 @@ var import_core61 = require("@tamagui/core"); getVariable, getVariableName, getVariableValue, + getWebElement, + inputSizeVariant, insertFont, + isBrowser, isChrome, isClient, isPresent, @@ -40474,7 +41502,9 @@ var import_core61 = require("@tamagui/core"); isServerSide, isTamaguiComponent, isTamaguiElement, + isTeleportEnabled, isTouchable, + isUnspaced, isVariable, isWeb, isWebTouchable, @@ -40483,6 +41513,7 @@ var import_core61 = require("@tamagui/core"); mediaQueryConfig, mediaState, mutateThemes, + needsPortalRepropagation, portalListeners, prevent, replaceTheme, @@ -40493,7 +41524,6 @@ var import_core61 = require("@tamagui/core"); setupDev, setupNativeSheet, setupPopper, - setupReactNative, shouldRenderNativePlatform, simpleHash, spacedChildren, @@ -40504,13 +41534,13 @@ var import_core61 = require("@tamagui/core"); stylePropsUnitless, stylePropsView, styled, + textAreaSizeVariant, themeable, themeableVariants, tokenCategories, updateTheme, useAdaptContext, useAdaptIsActive, - useButton, useComposedRefs, useConfiguration, useControllableState, @@ -40526,13 +41556,13 @@ var import_core61 = require("@tamagui/core"); useGet, useGetThemedIcon, useGroupItem, - useInputProps, useIsPresent, useIsTouchDevice, useIsomorphicLayoutEffect, useLabelContext, - useListItem, useMedia, + useNativeInputRef, + useNativeRef, usePopoverContext, usePopperContext, usePopperContextSlow, @@ -40547,13 +41577,18 @@ var import_core61 = require("@tamagui/core"); useSheetOffscreenSize, useSheetOpenState, useStyle, + useSwitchNative, useTabsContext, useTheme, useThemeName, + useToggleGroupItem, + useWebRef, useWindowDimensions, validPseudoKeys, validStyles, variableToString, + webOnlyStylePropsText, + webOnlyStylePropsView, withStaticProperties, wrapChildrenInText }); @@ -40561,7 +41596,7 @@ var import_core61 = require("@tamagui/core"); tabbable/dist/index.js: (*! - * tabbable 6.3.0 + * tabbable 6.4.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE *) */ diff --git a/.tamagui/tamagui.config.cjs b/.tamagui/tamagui.config.cjs index 83905be..c0a5994 100644 --- a/.tamagui/tamagui.config.cjs +++ b/.tamagui/tamagui.config.cjs @@ -34,43 +34,528 @@ __export(tamagui_config_exports, { }); module.exports = __toCommonJS(tamagui_config_exports); -// node_modules/@tamagui/shorthands/dist/esm/v4.mjs -var shorthands = { - // text - text: "textAlign", - // view - b: "bottom", - bg: "backgroundColor", - content: "alignContent", - grow: "flexGrow", - items: "alignItems", - justify: "justifyContent", - l: "left", - m: "margin", - maxH: "maxHeight", - maxW: "maxWidth", - mb: "marginBottom", - minH: "minHeight", - minW: "minWidth", - ml: "marginLeft", - mr: "marginRight", - mt: "marginTop", - mx: "marginHorizontal", - my: "marginVertical", - p: "padding", - pb: "paddingBottom", - pl: "paddingLeft", - pr: "paddingRight", - pt: "paddingTop", - px: "paddingHorizontal", - py: "paddingVertical", - r: "right", - rounded: "borderRadius", - select: "userSelect", - self: "alignSelf", - shrink: "flexShrink", - t: "top", - z: "zIndex" +// node_modules/@tamagui/themes/dist/esm/generated-v5.mjs +function t(a) { + let res = {}; + for (const [ki, vi] of a) res[ks[ki]] = colors[vi]; + return res; +} +__name(t, "t"); +var colors = ["hsla(0, 0%, 10%, 1)", "hsla(0, 0%, 67%, 1)", "hsla(0, 0%, 100%, 0)", "hsla(0, 0%, 97%, 0.2)", "hsla(0, 0%, 97%, 0.4)", "hsla(0, 0%, 97%, 0.6)", "hsla(0, 0%, 97%, 0.8)", "hsla(0, 0%, 100%, 1)", "hsla(0, 0%, 97%, 1)", "hsla(0, 0%, 93%, 1)", "hsla(0, 0%, 87%, 1)", "hsla(0, 0%, 80%, 1)", "hsla(0, 0%, 70%, 1)", "hsla(0, 0%, 59%, 1)", "hsla(0, 0%, 45%, 1)", "hsla(0, 0%, 30%, 1)", "hsla(0, 0%, 20%, 1)", "hsla(0, 0%, 14%, 1)", "hsla(0, 0%, 2%, 1)", "hsla(0, 0%, 2%, 0)", "hsla(0, 0%, 2%, 0.2)", "hsla(0, 0%, 2%, 0.4)", "hsla(0, 0%, 2%, 0.6)", "hsla(0, 0%, 2%, 0.8)", "#090909", "#151515", "#191919", "#232323", "#333", "#444", "#666", "#777", "#858585", "#aaa", "#ccc", "#ffffff", "#fff", "#f8f8f8", "hsl(0, 0%, 93%)", "hsl(0, 0%, 87%)", "hsl(0, 0%, 80%)", "hsl(0, 0%, 70%)", "hsl(0, 0%, 59%)", "hsl(0, 0%, 45%)", "hsl(0, 0%, 30%)", "hsl(0, 0%, 20%)", "hsl(0, 0%, 14%)", "hsl(0, 0%, 2%)", "rgba(255,255,255,1)", "rgba(255,255,255,0)", "rgba(255,255,255,0.2)", "rgba(255,255,255,0.4)", "rgba(255,255,255,0.6)", "rgba(255,255,255,0.8)", "rgba(0,0,0,1)", "rgba(0,0,0,0)", "rgba(0,0,0,0.2)", "rgba(0,0,0,0.4)", "rgba(0,0,0,0.6)", "rgba(0,0,0,0.8)", "rgba(0,0,0,0.05)", "rgba(0,0,0,0.1)", "rgba(0,0,0,0.15)", "rgba(0,0,0,0.3)", "rgba(0,0,0,0.55)", "rgba(0,0,0,0.7)", "rgba(0,0,0,0.85)", "rgba(255,255,255,0.05)", "rgba(255,255,255,0.1)", "rgba(255,255,255,0.15)", "rgba(255,255,255,0.3)", "rgba(255,255,255,0.55)", "rgba(255,255,255,0.7)", "rgba(255,255,255,0.85)", "#fcfcfc", "#f9f9f9", "#f0f0f0", "#e8e8e8", "#e0e0e0", "#d9d9d9", "#cecece", "#bbbbbb", "#8d8d8d", "#838383", "#646464", "#202020", "#fbfdff", "#f4faff", "#e6f4fe", "#d5efff", "#c2e5ff", "#acd8fc", "#8ec8f6", "#5eb1ef", "#0090ff", "#0588f0", "#0d74ce", "#113264", "#fffcfc", "#fff7f7", "#feebec", "#ffdbdc", "#ffcdce", "#fdbdbe", "#f4a9aa", "#eb8e90", "#e5484d", "#dc3e42", "#ce2c31", "#641723", "#fdfdf9", "#fefce9", "#fffab8", "#fff394", "#ffe770", "#f3d768", "#e4c767", "#d5ae39", "#ffe629", "#ffdc00", "#9e6c00", "#473b1f", "#fbfefc", "#f4fbf6", "#e6f6eb", "#d6f1df", "#c4e8d1", "#adddc0", "#8eceaa", "#5bb98b", "#30a46c", "#2b9a66", "#218358", "#193b2d", "#fefcfb", "#fff7ed", "#ffefd6", "#ffdfb5", "#ffd19a", "#ffc182", "#f5ae73", "#ec9455", "#f76b15", "#ef5f00", "#cc4e00", "#582d1d", "#fffcfe", "#fef7fb", "#fee9f5", "#fbdcef", "#f6cee7", "#efbfdd", "#e7acd0", "#dd93c2", "#d6409f", "#cf3897", "#c2298a", "#651249", "#fefcfe", "#fbf7fe", "#f7edfe", "#f2e2fc", "#ead5f9", "#e0c4f4", "#d1afec", "#be93e4", "#8e4ec6", "#8347b9", "#8145b5", "#402060", "#fafefd", "#f3fbf9", "#e0f8f3", "#ccf3ea", "#b8eae0", "#a1ded2", "#83cdc1", "#53b9ab", "#12a594", "#0d9b8a", "#008573", "#0d3d38", "hsl(0, 0%, 68%)", "hsl(0, 0%, 65%)", "hsl(0, 0%, 62%)", "hsl(0, 0%, 56%)", "hsl(0, 0%, 53%)", "hsl(0, 0%, 50%)", "hsl(0, 0%, 47%)", "hsl(0, 0%, 44%)", "hsl(0, 0%, 41%)", "hsl(0, 0%, 38%)", "hsl(0, 0%, 32%)", "hsla(0, 0%, 4%, 1)", "hsla(0, 0%, 8%, 1)", "hsla(0, 0%, 27%, 1)", "hsla(0, 0%, 40%, 1)", "hsla(0, 0%, 47%, 1)", "hsla(0, 0%, 52%, 1)", "hsla(0, 0%, 2%, 0.1)", "hsla(0, 0%, 2%, 0.075)", "hsla(0, 0%, 2%, 0.05)", "hsla(0, 0%, 2%, 0.025)", "hsla(0, 0%, 2%, 0.02)", "hsla(0, 0%, 2%, 0.01)", "hsla(0, 0%, 97%, 0.1)", "hsla(0, 0%, 97%, 0.075)", "hsla(0, 0%, 97%, 0.05)", "hsla(0, 0%, 97%, 0.025)", "hsla(0, 0%, 97%, 0.02)", "hsla(0, 0%, 97%, 0.01)", "hsla(0, 0%, 70%, 0.6)", "hsla(0, 0%, 4%, 0)", "hsla(0, 0%, 8%, 0.2)", "hsla(0, 0%, 8%, 0.4)", "hsla(0, 0%, 8%, 0.6)", "hsla(0, 0%, 8%, 0.8)", "hsla(0, 0%, 100%, 0.2)", "hsla(0, 0%, 100%, 0.4)", "hsla(0, 0%, 100%, 0.6)", "hsla(0, 0%, 100%, 0.8)", "rgba(0,0,0,0.45)", "rgba(0,0,0,0.65)", "rgba(0,0,0,0.95)", "rgba(255,255,255,0.45)", "rgba(255,255,255,0.65)", "rgba(255,255,255,0.95)", "#111111", "#222222", "#2a2a2a", "#313131", "#3a3a3a", "#484848", "#606060", "#6e6e6e", "#7b7b7b", "#b4b4b4", "#eeeeee", "#0d1520", "#111927", "#0d2847", "#003362", "#004074", "#104d87", "#205d9e", "#2870bd", "#3b9eff", "#70b8ff", "#c2e6ff", "#191111", "#201314", "#3b1219", "#500f1c", "#611623", "#72232d", "#8c333a", "#b54548", "#ec5d5e", "#ff9592", "#ffd1d9", "#14120b", "#1b180f", "#2d2305", "#362b00", "#433500", "#524202", "#665417", "#836a21", "#ffff57", "#f5e147", "#f6eeb4", "#0e1512", "#121b17", "#132d21", "#113b29", "#174933", "#20573e", "#28684a", "#2f7c57", "#33b074", "#3dd68c", "#b1f1cb", "#17120e", "#1e160f", "#331e0b", "#462100", "#562800", "#66350c", "#7e451d", "#a35829", "#ff801f", "#ffa057", "#ffe0c2", "#191117", "#21121d", "#37172f", "#4b143d", "#591c47", "#692955", "#833869", "#a84885", "#de51a8", "#ff8dcc", "#fdd1ea", "#18111b", "#1e1523", "#301c3b", "#3d224e", "#48295c", "#54346b", "#664282", "#8457aa", "#9a5cd0", "#d19dff", "#ecd9fa", "#0d1514", "#111c1b", "#0d2d2a", "#023b37", "#084843", "#145750", "#1c6961", "#207e73", "#0eb39e", "#0bd8b6", "#adf0dd", "hsla(0, 0%, 100%, 0.1)", "hsla(0, 0%, 100%, 0.075)", "hsla(0, 0%, 100%, 0.05)", "hsla(0, 0%, 100%, 0.025)", "hsla(0, 0%, 100%, 0.02)", "hsla(0, 0%, 100%, 0.01)", "hsla(0, 0%, 8%, 0.1)", "hsla(0, 0%, 8%, 0.075)", "hsla(0, 0%, 8%, 0.05)", "hsla(0, 0%, 8%, 0.025)", "hsla(0, 0%, 8%, 0.02)", "hsla(0, 0%, 8%, 0.01)", "hsla(0, 0%, 27%, 0.6)", "hsla(0, 0%, 4%, 0.2)", "hsla(0, 0%, 4%, 0.4)", "hsla(0, 0%, 4%, 0.6)", "hsla(0, 0%, 4%, 0.8)", "hsla(0, 0%, 99%, 0)", "hsla(0, 0%, 98%, 0.2)", "hsla(0, 0%, 98%, 0.4)", "hsla(0, 0%, 98%, 0.6)", "hsla(0, 0%, 98%, 0.8)", "hsla(0, 0%, 99%, 1)", "hsla(0, 0%, 98%, 1)", "hsla(0, 0%, 94%, 1)", "hsla(0, 0%, 91%, 1)", "hsla(0, 0%, 88%, 1)", "hsla(0, 0%, 85%, 1)", "hsla(0, 0%, 81%, 1)", "hsla(0, 0%, 73%, 1)", "hsla(0, 0%, 55%, 1)", "hsla(0, 0%, 51%, 1)", "hsla(0, 0%, 39%, 1)", "hsla(0, 0%, 13%, 1)", "hsla(0, 0%, 13%, 0)", "hsla(0, 0%, 13%, 0.2)", "hsla(0, 0%, 13%, 0.4)", "hsla(0, 0%, 13%, 0.6)", "hsla(0, 0%, 13%, 0.8)", "hsla(0, 0%, 13%, 0.1)", "hsla(0, 0%, 13%, 0.075)", "hsla(0, 0%, 13%, 0.05)", "hsla(0, 0%, 13%, 0.025)", "hsla(0, 0%, 13%, 0.02)", "hsla(0, 0%, 13%, 0.01)", "hsla(0, 0%, 98%, 0.1)", "hsla(0, 0%, 98%, 0.075)", "hsla(0, 0%, 98%, 0.05)", "hsla(0, 0%, 98%, 0.025)", "hsla(0, 0%, 98%, 0.02)", "hsla(0, 0%, 98%, 0.01)", "hsla(0, 0%, 85%, 0.6)", "hsla(216, 100%, 99%, 0)", "hsla(207, 100%, 98%, 0.2)", "hsla(207, 100%, 98%, 0.4)", "hsla(207, 100%, 98%, 0.6)", "hsla(207, 100%, 98%, 0.8)", "hsla(210, 100%, 99%, 1)", "hsla(207, 100%, 98%, 1)", "hsla(205, 92%, 95%, 1)", "hsla(203, 100%, 92%, 1)", "hsla(206, 100%, 88%, 1)", "hsla(207, 93%, 83%, 1)", "hsla(207, 85%, 76%, 1)", "hsla(206, 82%, 65%, 1)", "hsla(206, 100%, 50%, 1)", "hsla(207, 96%, 48%, 1)", "hsla(208, 88%, 43%, 1)", "hsla(216, 71%, 23%, 1)", "hsla(216, 71%, 23%, 0)", "hsla(216, 71%, 23%, 0.2)", "hsla(216, 71%, 23%, 0.4)", "hsla(216, 71%, 23%, 0.6)", "hsla(216, 71%, 23%, 0.8)", "hsla(216, 71%, 23%, 0.1)", "hsla(216, 71%, 23%, 0.075)", "hsla(216, 71%, 23%, 0.05)", "hsla(216, 71%, 23%, 0.025)", "hsla(216, 71%, 23%, 0.02)", "hsla(216, 71%, 23%, 0.01)", "hsla(207, 100%, 98%, 0.1)", "hsla(207, 100%, 98%, 0.075)", "hsla(207, 100%, 98%, 0.05)", "hsla(207, 100%, 98%, 0.025)", "hsla(207, 100%, 98%, 0.02)", "hsla(207, 100%, 98%, 0.01)", "hsla(207, 93%, 83%, 0.6)", "hsla(0, 100%, 99%, 0)", "hsla(0, 100%, 98%, 0.2)", "hsla(0, 100%, 98%, 0.4)", "hsla(0, 100%, 98%, 0.6)", "hsla(0, 100%, 98%, 0.8)", "hsla(0, 100%, 99%, 1)", "hsla(0, 100%, 98%, 1)", "hsla(357, 90%, 96%, 1)", "hsla(358, 100%, 93%, 1)", "hsla(359, 100%, 90%, 1)", "hsla(359, 94%, 87%, 1)", "hsla(359, 77%, 81%, 1)", "hsla(359, 70%, 74%, 1)", "hsla(358, 75%, 59%, 1)", "hsla(358, 69%, 55%, 1)", "hsla(358, 65%, 49%, 1)", "hsla(351, 63%, 24%, 1)", "hsla(351, 63%, 24%, 0)", "hsla(351, 63%, 24%, 0.2)", "hsla(351, 63%, 24%, 0.4)", "hsla(351, 63%, 24%, 0.6)", "hsla(351, 63%, 24%, 0.8)", "hsla(351, 63%, 24%, 0.1)", "hsla(351, 63%, 24%, 0.075)", "hsla(351, 63%, 24%, 0.05)", "hsla(351, 63%, 24%, 0.025)", "hsla(351, 63%, 24%, 0.02)", "hsla(351, 63%, 24%, 0.01)", "hsla(0, 100%, 98%, 0.1)", "hsla(0, 100%, 98%, 0.075)", "hsla(0, 100%, 98%, 0.05)", "hsla(0, 100%, 98%, 0.025)", "hsla(0, 100%, 98%, 0.02)", "hsla(0, 100%, 98%, 0.01)", "hsla(359, 94%, 87%, 0.6)", "hsla(60, 45%, 98%, 0)", "hsla(54, 91%, 95%, 0.2)", "hsla(54, 91%, 95%, 0.4)", "hsla(54, 91%, 95%, 0.6)", "hsla(54, 91%, 95%, 0.8)", "hsla(60, 50%, 98%, 1)", "hsla(54, 91%, 95%, 1)", "hsla(56, 100%, 86%, 1)", "hsla(53, 100%, 79%, 1)", "hsla(50, 100%, 72%, 1)", "hsla(48, 85%, 68%, 1)", "hsla(46, 70%, 65%, 1)", "hsla(45, 65%, 53%, 1)", "hsla(53, 100%, 58%, 1)", "hsla(52, 100%, 50%, 1)", "hsla(41, 100%, 31%, 1)", "hsla(42, 39%, 20%, 1)", "hsla(42, 39%, 20%, 0)", "hsla(42, 39%, 20%, 0.2)", "hsla(42, 39%, 20%, 0.4)", "hsla(42, 39%, 20%, 0.6)", "hsla(42, 39%, 20%, 0.8)", "hsla(42, 39%, 20%, 0.1)", "hsla(42, 39%, 20%, 0.075)", "hsla(42, 39%, 20%, 0.05)", "hsla(42, 39%, 20%, 0.025)", "hsla(42, 39%, 20%, 0.02)", "hsla(42, 39%, 20%, 0.01)", "hsla(54, 91%, 95%, 0.1)", "hsla(54, 91%, 95%, 0.075)", "hsla(54, 91%, 95%, 0.05)", "hsla(54, 91%, 95%, 0.025)", "hsla(54, 91%, 95%, 0.02)", "hsla(54, 91%, 95%, 0.01)", "hsla(48, 85%, 68%, 0.6)", "hsla(140, 60%, 99%, 0)", "hsla(137, 47%, 97%, 0.2)", "hsla(137, 47%, 97%, 0.4)", "hsla(137, 47%, 97%, 0.6)", "hsla(137, 47%, 97%, 0.8)", "hsla(140, 60%, 99%, 1)", "hsla(137, 47%, 97%, 1)", "hsla(139, 47%, 93%, 1)", "hsla(140, 49%, 89%, 1)", "hsla(142, 44%, 84%, 1)", "hsla(144, 41%, 77%, 1)", "hsla(146, 40%, 68%, 1)", "hsla(151, 40%, 54%, 1)", "hsla(151, 55%, 42%, 1)", "hsla(152, 56%, 39%, 1)", "hsla(154, 60%, 32%, 1)", "hsla(155, 40%, 16%, 1)", "hsla(156, 41%, 16%, 0)", "hsla(156, 41%, 16%, 0.2)", "hsla(156, 41%, 16%, 0.4)", "hsla(156, 41%, 16%, 0.6)", "hsla(156, 41%, 16%, 0.8)", "hsla(156, 41%, 16%, 0.1)", "hsla(156, 41%, 16%, 0.075)", "hsla(156, 41%, 16%, 0.05)", "hsla(156, 41%, 16%, 0.025)", "hsla(156, 41%, 16%, 0.02)", "hsla(156, 41%, 16%, 0.01)", "hsla(137, 47%, 97%, 0.1)", "hsla(137, 47%, 97%, 0.075)", "hsla(137, 47%, 97%, 0.05)", "hsla(137, 47%, 97%, 0.025)", "hsla(137, 47%, 97%, 0.02)", "hsla(137, 47%, 97%, 0.01)", "hsla(144, 41%, 77%, 0.6)", "hsla(20, 60%, 99%, 0)", "hsla(33, 100%, 96%, 0.2)", "hsla(33, 100%, 96%, 0.4)", "hsla(33, 100%, 96%, 0.6)", "hsla(33, 100%, 96%, 0.8)", "hsla(20, 60%, 99%, 1)", "hsla(33, 100%, 96%, 1)", "hsla(37, 100%, 92%, 1)", "hsla(34, 100%, 85%, 1)", "hsla(33, 100%, 80%, 1)", "hsla(30, 100%, 75%, 1)", "hsla(27, 87%, 71%, 1)", "hsla(25, 80%, 63%, 1)", "hsla(23, 93%, 53%, 1)", "hsla(24, 100%, 47%, 1)", "hsla(23, 100%, 40%, 1)", "hsla(16, 50%, 23%, 1)", "hsla(16, 50%, 23%, 0)", "hsla(16, 50%, 23%, 0.2)", "hsla(16, 50%, 23%, 0.4)", "hsla(16, 50%, 23%, 0.6)", "hsla(16, 50%, 23%, 0.8)", "hsla(16, 50%, 23%, 0.1)", "hsla(16, 50%, 23%, 0.075)", "hsla(16, 50%, 23%, 0.05)", "hsla(16, 50%, 23%, 0.025)", "hsla(16, 50%, 23%, 0.02)", "hsla(16, 50%, 23%, 0.01)", "hsla(33, 100%, 96%, 0.1)", "hsla(33, 100%, 96%, 0.075)", "hsla(33, 100%, 96%, 0.05)", "hsla(33, 100%, 96%, 0.025)", "hsla(33, 100%, 96%, 0.02)", "hsla(33, 100%, 96%, 0.01)", "hsla(30, 100%, 75%, 0.6)", "hsla(324, 100%, 99%, 0)", "hsla(326, 78%, 98%, 0.2)", "hsla(326, 78%, 98%, 0.4)", "hsla(326, 78%, 98%, 0.6)", "hsla(326, 78%, 98%, 0.8)", "hsla(320, 100%, 99%, 1)", "hsla(326, 78%, 98%, 1)", "hsla(326, 91%, 95%, 1)", "hsla(323, 79%, 92%, 1)", "hsla(323, 69%, 89%, 1)", "hsla(323, 60%, 84%, 1)", "hsla(323, 55%, 79%, 1)", "hsla(322, 52%, 72%, 1)", "hsla(322, 65%, 55%, 1)", "hsla(322, 61%, 52%, 1)", "hsla(322, 65%, 46%, 1)", "hsla(320, 70%, 23%, 1)", "hsla(320, 69%, 23%, 0)", "hsla(320, 69%, 23%, 0.2)", "hsla(320, 69%, 23%, 0.4)", "hsla(320, 69%, 23%, 0.6)", "hsla(320, 69%, 23%, 0.8)", "hsla(320, 69%, 23%, 0.1)", "hsla(320, 69%, 23%, 0.075)", "hsla(320, 69%, 23%, 0.05)", "hsla(320, 69%, 23%, 0.025)", "hsla(320, 69%, 23%, 0.02)", "hsla(320, 69%, 23%, 0.01)", "hsla(326, 78%, 98%, 0.1)", "hsla(326, 78%, 98%, 0.075)", "hsla(326, 78%, 98%, 0.05)", "hsla(326, 78%, 98%, 0.025)", "hsla(326, 78%, 98%, 0.02)", "hsla(326, 78%, 98%, 0.01)", "hsla(323, 60%, 84%, 0.6)", "hsla(300, 60%, 99%, 0)", "hsla(274, 78%, 98%, 0.2)", "hsla(274, 78%, 98%, 0.4)", "hsla(274, 78%, 98%, 0.6)", "hsla(274, 78%, 98%, 0.8)", "hsla(300, 50%, 99%, 1)", "hsla(274, 78%, 98%, 1)", "hsla(275, 89%, 96%, 1)", "hsla(277, 81%, 94%, 1)", "hsla(275, 75%, 91%, 1)", "hsla(275, 69%, 86%, 1)", "hsla(273, 62%, 81%, 1)", "hsla(272, 60%, 74%, 1)", "hsla(272, 51%, 54%, 1)", "hsla(272, 45%, 50%, 1)", "hsla(272, 45%, 49%, 1)", "hsla(270, 50%, 25%, 1)", "hsla(270, 50%, 25%, 0)", "hsla(270, 50%, 25%, 0.2)", "hsla(270, 50%, 25%, 0.4)", "hsla(270, 50%, 25%, 0.6)", "hsla(270, 50%, 25%, 0.8)", "hsla(270, 50%, 25%, 0.1)", "hsla(270, 50%, 25%, 0.075)", "hsla(270, 50%, 25%, 0.05)", "hsla(270, 50%, 25%, 0.025)", "hsla(270, 50%, 25%, 0.02)", "hsla(270, 50%, 25%, 0.01)", "hsla(274, 78%, 98%, 0.1)", "hsla(274, 78%, 98%, 0.075)", "hsla(274, 78%, 98%, 0.05)", "hsla(274, 78%, 98%, 0.025)", "hsla(274, 78%, 98%, 0.02)", "hsla(274, 78%, 98%, 0.01)", "hsla(275, 69%, 86%, 0.6)", "hsla(160, 60%, 99%, 0)", "hsla(165, 50%, 97%, 0.2)", "hsla(165, 50%, 97%, 0.4)", "hsla(165, 50%, 97%, 0.6)", "hsla(165, 50%, 97%, 0.8)", "hsla(165, 67%, 99%, 1)", "hsla(165, 50%, 97%, 1)", "hsla(167, 63%, 93%, 1)", "hsla(166, 62%, 88%, 1)", "hsla(168, 54%, 82%, 1)", "hsla(168, 48%, 75%, 1)", "hsla(170, 43%, 66%, 1)", "hsla(172, 42%, 53%, 1)", "hsla(173, 80%, 36%, 1)", "hsla(173, 85%, 33%, 1)", "hsla(172, 100%, 26%, 1)", "hsla(174, 65%, 15%, 1)", "hsla(174, 66%, 15%, 0)", "hsla(174, 66%, 15%, 0.2)", "hsla(174, 66%, 15%, 0.4)", "hsla(174, 66%, 15%, 0.6)", "hsla(174, 66%, 15%, 0.8)", "hsla(174, 66%, 15%, 0.1)", "hsla(174, 66%, 15%, 0.075)", "hsla(174, 66%, 15%, 0.05)", "hsla(174, 66%, 15%, 0.025)", "hsla(174, 66%, 15%, 0.02)", "hsla(174, 66%, 15%, 0.01)", "hsla(165, 50%, 97%, 0.1)", "hsla(165, 50%, 97%, 0.075)", "hsla(165, 50%, 97%, 0.05)", "hsla(165, 50%, 97%, 0.025)", "hsla(165, 50%, 97%, 0.02)", "hsla(165, 50%, 97%, 0.01)", "hsla(168, 48%, 75%, 0.6)", "hsla(0, 0%, 68%, 0)", "hsla(0, 0%, 65%, 0.2)", "hsla(0, 0%, 65%, 0.4)", "hsla(0, 0%, 65%, 0.6)", "hsla(0, 0%, 65%, 0.8)", "hsla(0, 0%, 68%, 1)", "hsla(0, 0%, 65%, 1)", "hsla(0, 0%, 62%, 1)", "hsla(0, 0%, 56%, 1)", "hsla(0, 0%, 53%, 1)", "hsla(0, 0%, 50%, 1)", "hsla(0, 0%, 44%, 1)", "hsla(0, 0%, 41%, 1)", "hsla(0, 0%, 38%, 1)", "hsla(0, 0%, 32%, 1)", "hsla(0, 0%, 32%, 0)", "hsla(0, 0%, 32%, 0.2)", "hsla(0, 0%, 32%, 0.4)", "hsla(0, 0%, 32%, 0.6)", "hsla(0, 0%, 32%, 0.8)", "hsla(0, 0%, 32%, 0.1)", "hsla(0, 0%, 32%, 0.075)", "hsla(0, 0%, 32%, 0.05)", "hsla(0, 0%, 32%, 0.025)", "hsla(0, 0%, 32%, 0.02)", "hsla(0, 0%, 32%, 0.01)", "hsla(0, 0%, 65%, 0.1)", "hsla(0, 0%, 65%, 0.075)", "hsla(0, 0%, 65%, 0.05)", "hsla(0, 0%, 65%, 0.025)", "hsla(0, 0%, 65%, 0.02)", "hsla(0, 0%, 65%, 0.01)", "hsla(0, 0%, 53%, 0.6)", "hsla(0, 0%, 7%, 0)", "hsla(0, 0%, 10%, 0.2)", "hsla(0, 0%, 10%, 0.4)", "hsla(0, 0%, 10%, 0.6)", "hsla(0, 0%, 10%, 0.8)", "hsla(0, 0%, 7%, 1)", "hsla(0, 0%, 16%, 1)", "hsla(0, 0%, 19%, 1)", "hsla(0, 0%, 23%, 1)", "hsla(0, 0%, 28%, 1)", "hsla(0, 0%, 43%, 1)", "hsla(0, 0%, 48%, 1)", "hsla(0, 0%, 71%, 1)", "hsla(0, 0%, 93%, 0)", "hsla(0, 0%, 93%, 0.2)", "hsla(0, 0%, 93%, 0.4)", "hsla(0, 0%, 93%, 0.6)", "hsla(0, 0%, 93%, 0.8)", "hsla(0, 0%, 93%, 0.1)", "hsla(0, 0%, 93%, 0.075)", "hsla(0, 0%, 93%, 0.05)", "hsla(0, 0%, 93%, 0.025)", "hsla(0, 0%, 93%, 0.02)", "hsla(0, 0%, 93%, 0.01)", "hsla(0, 0%, 10%, 0.1)", "hsla(0, 0%, 10%, 0.075)", "hsla(0, 0%, 10%, 0.05)", "hsla(0, 0%, 10%, 0.025)", "hsla(0, 0%, 10%, 0.02)", "hsla(0, 0%, 10%, 0.01)", "hsla(0, 0%, 23%, 0.6)", "hsla(216, 43%, 9%, 0)", "hsla(218, 39%, 11%, 0.2)", "hsla(218, 39%, 11%, 0.4)", "hsla(218, 39%, 11%, 0.6)", "hsla(218, 39%, 11%, 0.8)", "hsla(215, 42%, 9%, 1)", "hsla(218, 39%, 11%, 1)", "hsla(212, 69%, 16%, 1)", "hsla(209, 100%, 19%, 1)", "hsla(207, 100%, 23%, 1)", "hsla(209, 79%, 30%, 1)", "hsla(211, 66%, 37%, 1)", "hsla(211, 65%, 45%, 1)", "hsla(210, 100%, 62%, 1)", "hsla(210, 100%, 72%, 1)", "hsla(205, 100%, 88%, 1)", "hsla(205, 100%, 88%, 0)", "hsla(205, 100%, 88%, 0.2)", "hsla(205, 100%, 88%, 0.4)", "hsla(205, 100%, 88%, 0.6)", "hsla(205, 100%, 88%, 0.8)", "hsla(205, 100%, 88%, 0.1)", "hsla(205, 100%, 88%, 0.075)", "hsla(205, 100%, 88%, 0.05)", "hsla(205, 100%, 88%, 0.025)", "hsla(205, 100%, 88%, 0.02)", "hsla(205, 100%, 88%, 0.01)", "hsla(218, 39%, 11%, 0.1)", "hsla(218, 39%, 11%, 0.075)", "hsla(218, 39%, 11%, 0.05)", "hsla(218, 39%, 11%, 0.025)", "hsla(218, 39%, 11%, 0.02)", "hsla(218, 39%, 11%, 0.01)", "hsla(209, 79%, 30%, 0.6)", "hsla(0, 17%, 8%, 0)", "hsla(355, 25%, 10%, 0.2)", "hsla(355, 25%, 10%, 0.4)", "hsla(355, 25%, 10%, 0.6)", "hsla(355, 25%, 10%, 0.8)", "hsla(0, 19%, 8%, 1)", "hsla(355, 25%, 10%, 1)", "hsla(350, 53%, 15%, 1)", "hsla(348, 68%, 19%, 1)", "hsla(350, 63%, 23%, 1)", "hsla(352, 53%, 29%, 1)", "hsla(355, 47%, 37%, 1)", "hsla(358, 45%, 49%, 1)", "hsla(360, 79%, 65%, 1)", "hsla(2, 100%, 79%, 1)", "hsla(350, 100%, 91%, 1)", "hsla(350, 100%, 91%, 0)", "hsla(350, 100%, 91%, 0.2)", "hsla(350, 100%, 91%, 0.4)", "hsla(350, 100%, 91%, 0.6)", "hsla(350, 100%, 91%, 0.8)", "hsla(350, 100%, 91%, 0.1)", "hsla(350, 100%, 91%, 0.075)", "hsla(350, 100%, 91%, 0.05)", "hsla(350, 100%, 91%, 0.025)", "hsla(350, 100%, 91%, 0.02)", "hsla(350, 100%, 91%, 0.01)", "hsla(355, 25%, 10%, 0.1)", "hsla(355, 25%, 10%, 0.075)", "hsla(355, 25%, 10%, 0.05)", "hsla(355, 25%, 10%, 0.025)", "hsla(355, 25%, 10%, 0.02)", "hsla(355, 25%, 10%, 0.01)", "hsla(352, 53%, 29%, 0.6)", "hsla(47, 29%, 6%, 0)", "hsla(45, 29%, 8%, 0.2)", "hsla(45, 29%, 8%, 0.4)", "hsla(45, 29%, 8%, 0.6)", "hsla(45, 29%, 8%, 0.8)", "hsla(47, 29%, 6%, 1)", "hsla(45, 29%, 8%, 1)", "hsla(45, 80%, 10%, 1)", "hsla(48, 100%, 11%, 1)", "hsla(47, 100%, 13%, 1)", "hsla(48, 95%, 16%, 1)", "hsla(46, 63%, 25%, 1)", "hsla(45, 60%, 32%, 1)", "hsla(60, 100%, 67%, 1)", "hsla(53, 90%, 62%, 1)", "hsla(53, 79%, 84%, 1)", "hsla(53, 78%, 84%, 0)", "hsla(53, 78%, 84%, 0.2)", "hsla(53, 78%, 84%, 0.4)", "hsla(53, 78%, 84%, 0.6)", "hsla(53, 78%, 84%, 0.8)", "hsla(53, 78%, 84%, 0.1)", "hsla(53, 78%, 84%, 0.075)", "hsla(53, 78%, 84%, 0.05)", "hsla(53, 78%, 84%, 0.025)", "hsla(53, 78%, 84%, 0.02)", "hsla(53, 78%, 84%, 0.01)", "hsla(45, 29%, 8%, 0.1)", "hsla(45, 29%, 8%, 0.075)", "hsla(45, 29%, 8%, 0.05)", "hsla(45, 29%, 8%, 0.025)", "hsla(45, 29%, 8%, 0.02)", "hsla(45, 29%, 8%, 0.01)", "hsla(48, 95%, 16%, 0.6)", "hsla(154, 20%, 7%, 0)", "hsla(153, 20%, 9%, 0.2)", "hsla(153, 20%, 9%, 0.4)", "hsla(153, 20%, 9%, 0.6)", "hsla(153, 20%, 9%, 0.8)", "hsla(154, 20%, 7%, 1)", "hsla(153, 20%, 9%, 1)", "hsla(152, 41%, 13%, 1)", "hsla(154, 55%, 15%, 1)", "hsla(154, 52%, 19%, 1)", "hsla(153, 46%, 23%, 1)", "hsla(152, 44%, 28%, 1)", "hsla(151, 45%, 34%, 1)", "hsla(151, 55%, 45%, 1)", "hsla(151, 65%, 54%, 1)", "hsla(144, 70%, 82%, 1)", "hsla(144, 70%, 82%, 0)", "hsla(144, 70%, 82%, 0.2)", "hsla(144, 70%, 82%, 0.4)", "hsla(144, 70%, 82%, 0.6)", "hsla(144, 70%, 82%, 0.8)", "hsla(144, 70%, 82%, 0.1)", "hsla(144, 70%, 82%, 0.075)", "hsla(144, 70%, 82%, 0.05)", "hsla(144, 70%, 82%, 0.025)", "hsla(144, 70%, 82%, 0.02)", "hsla(144, 70%, 82%, 0.01)", "hsla(153, 20%, 9%, 0.1)", "hsla(153, 20%, 9%, 0.075)", "hsla(153, 20%, 9%, 0.05)", "hsla(153, 20%, 9%, 0.025)", "hsla(153, 20%, 9%, 0.02)", "hsla(153, 20%, 9%, 0.01)", "hsla(153, 46%, 23%, 0.6)", "hsla(23, 22%, 7%, 0)", "hsla(28, 33%, 9%, 0.2)", "hsla(28, 33%, 9%, 0.4)", "hsla(28, 33%, 9%, 0.6)", "hsla(28, 33%, 9%, 0.8)", "hsla(27, 24%, 7%, 1)", "hsla(28, 33%, 9%, 1)", "hsla(29, 65%, 12%, 1)", "hsla(28, 100%, 14%, 1)", "hsla(28, 100%, 17%, 1)", "hsla(27, 79%, 22%, 1)", "hsla(25, 63%, 30%, 1)", "hsla(23, 60%, 40%, 1)", "hsla(26, 100%, 56%, 1)", "hsla(26, 100%, 67%, 1)", "hsla(30, 100%, 88%, 1)", "hsla(30, 100%, 88%, 0)", "hsla(30, 100%, 88%, 0.2)", "hsla(30, 100%, 88%, 0.4)", "hsla(30, 100%, 88%, 0.6)", "hsla(30, 100%, 88%, 0.8)", "hsla(30, 100%, 88%, 0.1)", "hsla(30, 100%, 88%, 0.075)", "hsla(30, 100%, 88%, 0.05)", "hsla(30, 100%, 88%, 0.025)", "hsla(30, 100%, 88%, 0.02)", "hsla(30, 100%, 88%, 0.01)", "hsla(28, 33%, 9%, 0.1)", "hsla(28, 33%, 9%, 0.075)", "hsla(28, 33%, 9%, 0.05)", "hsla(28, 33%, 9%, 0.025)", "hsla(28, 33%, 9%, 0.02)", "hsla(28, 33%, 9%, 0.01)", "hsla(27, 79%, 22%, 0.6)", "hsla(317, 17%, 8%, 0)", "hsla(316, 29%, 10%, 0.2)", "hsla(316, 29%, 10%, 0.4)", "hsla(316, 29%, 10%, 0.6)", "hsla(316, 29%, 10%, 0.8)", "hsla(315, 19%, 8%, 1)", "hsla(316, 29%, 10%, 1)", "hsla(315, 41%, 15%, 1)", "hsla(315, 58%, 19%, 1)", "hsla(318, 52%, 23%, 1)", "hsla(319, 44%, 29%, 1)", "hsla(321, 40%, 37%, 1)", "hsla(322, 40%, 47%, 1)", "hsla(323, 68%, 59%, 1)", "hsla(327, 100%, 78%, 1)", "hsla(326, 92%, 91%, 1)", "hsla(326, 91%, 91%, 0)", "hsla(326, 91%, 91%, 0.2)", "hsla(326, 91%, 91%, 0.4)", "hsla(326, 91%, 91%, 0.6)", "hsla(326, 91%, 91%, 0.8)", "hsla(326, 91%, 91%, 0.1)", "hsla(326, 91%, 91%, 0.075)", "hsla(326, 91%, 91%, 0.05)", "hsla(326, 91%, 91%, 0.025)", "hsla(326, 91%, 91%, 0.02)", "hsla(326, 91%, 91%, 0.01)", "hsla(316, 29%, 10%, 0.1)", "hsla(316, 29%, 10%, 0.075)", "hsla(316, 29%, 10%, 0.05)", "hsla(316, 29%, 10%, 0.025)", "hsla(316, 29%, 10%, 0.02)", "hsla(316, 29%, 10%, 0.01)", "hsla(319, 44%, 29%, 0.6)", "hsla(282, 22%, 9%, 0)", "hsla(279, 25%, 11%, 0.2)", "hsla(279, 25%, 11%, 0.4)", "hsla(279, 25%, 11%, 0.6)", "hsla(279, 25%, 11%, 0.8)", "hsla(282, 23%, 9%, 1)", "hsla(279, 25%, 11%, 1)", "hsla(279, 36%, 17%, 1)", "hsla(277, 39%, 22%, 1)", "hsla(276, 38%, 26%, 1)", "hsla(275, 35%, 31%, 1)", "hsla(274, 33%, 38%, 1)", "hsla(273, 33%, 50%, 1)", "hsla(272, 55%, 59%, 1)", "hsla(272, 100%, 81%, 1)", "hsla(275, 77%, 92%, 1)", "hsla(275, 76%, 92%, 0)", "hsla(275, 76%, 92%, 0.2)", "hsla(275, 76%, 92%, 0.4)", "hsla(275, 76%, 92%, 0.6)", "hsla(275, 76%, 92%, 0.8)", "hsla(275, 76%, 92%, 0.1)", "hsla(275, 76%, 92%, 0.075)", "hsla(275, 76%, 92%, 0.05)", "hsla(275, 76%, 92%, 0.025)", "hsla(275, 76%, 92%, 0.02)", "hsla(275, 76%, 92%, 0.01)", "hsla(279, 25%, 11%, 0.1)", "hsla(279, 25%, 11%, 0.075)", "hsla(279, 25%, 11%, 0.05)", "hsla(279, 25%, 11%, 0.025)", "hsla(279, 25%, 11%, 0.02)", "hsla(279, 25%, 11%, 0.01)", "hsla(275, 35%, 31%, 0.6)", "hsla(173, 22%, 7%, 0)", "hsla(175, 24%, 9%, 0.2)", "hsla(175, 24%, 9%, 0.4)", "hsla(175, 24%, 9%, 0.6)", "hsla(175, 24%, 9%, 0.8)", "hsla(173, 24%, 7%, 1)", "hsla(175, 24%, 9%, 1)", "hsla(174, 55%, 11%, 1)", "hsla(176, 93%, 12%, 1)", "hsla(175, 80%, 16%, 1)", "hsla(174, 63%, 21%, 1)", "hsla(174, 58%, 26%, 1)", "hsla(173, 59%, 31%, 1)", "hsla(172, 85%, 38%, 1)", "hsla(170, 90%, 45%, 1)", "hsla(163, 69%, 81%, 1)", "hsla(163, 69%, 81%, 0)", "hsla(163, 69%, 81%, 0.2)", "hsla(163, 69%, 81%, 0.4)", "hsla(163, 69%, 81%, 0.6)", "hsla(163, 69%, 81%, 0.8)", "hsla(163, 69%, 81%, 0.1)", "hsla(163, 69%, 81%, 0.075)", "hsla(163, 69%, 81%, 0.05)", "hsla(163, 69%, 81%, 0.025)", "hsla(163, 69%, 81%, 0.02)", "hsla(163, 69%, 81%, 0.01)", "hsla(175, 24%, 9%, 0.1)", "hsla(175, 24%, 9%, 0.075)", "hsla(175, 24%, 9%, 0.05)", "hsla(175, 24%, 9%, 0.025)", "hsla(175, 24%, 9%, 0.02)", "hsla(175, 24%, 9%, 0.01)", "hsla(174, 63%, 21%, 0.6)", "hsla(0, 0%, 99%, 0.2)", "hsla(0, 0%, 99%, 0.4)", "hsla(0, 0%, 99%, 0.6)", "hsla(0, 0%, 99%, 0.8)", "hsla(216, 100%, 99%, 0.2)", "hsla(216, 100%, 99%, 0.4)", "hsla(216, 100%, 99%, 0.6)", "hsla(216, 100%, 99%, 0.8)", "hsla(0, 100%, 99%, 0.2)", "hsla(0, 100%, 99%, 0.4)", "hsla(0, 100%, 99%, 0.6)", "hsla(0, 100%, 99%, 0.8)", "hsla(60, 45%, 98%, 0.2)", "hsla(60, 45%, 98%, 0.4)", "hsla(60, 45%, 98%, 0.6)", "hsla(60, 45%, 98%, 0.8)", "hsla(140, 60%, 99%, 0.2)", "hsla(140, 60%, 99%, 0.4)", "hsla(140, 60%, 99%, 0.6)", "hsla(140, 60%, 99%, 0.8)", "hsla(20, 60%, 99%, 0.2)", "hsla(20, 60%, 99%, 0.4)", "hsla(20, 60%, 99%, 0.6)", "hsla(20, 60%, 99%, 0.8)", "hsla(324, 100%, 99%, 0.2)", "hsla(324, 100%, 99%, 0.4)", "hsla(324, 100%, 99%, 0.6)", "hsla(324, 100%, 99%, 0.8)", "hsla(300, 60%, 99%, 0.2)", "hsla(300, 60%, 99%, 0.4)", "hsla(300, 60%, 99%, 0.6)", "hsla(300, 60%, 99%, 0.8)", "hsla(160, 60%, 99%, 0.2)", "hsla(160, 60%, 99%, 0.4)", "hsla(160, 60%, 99%, 0.6)", "hsla(160, 60%, 99%, 0.8)", "hsla(0, 0%, 68%, 0.2)", "hsla(0, 0%, 68%, 0.4)", "hsla(0, 0%, 68%, 0.6)", "hsla(0, 0%, 68%, 0.8)", "hsla(0, 0%, 7%, 0.2)", "hsla(0, 0%, 7%, 0.4)", "hsla(0, 0%, 7%, 0.6)", "hsla(0, 0%, 7%, 0.8)", "hsla(216, 43%, 9%, 0.2)", "hsla(216, 43%, 9%, 0.4)", "hsla(216, 43%, 9%, 0.6)", "hsla(216, 43%, 9%, 0.8)", "hsla(0, 17%, 8%, 0.2)", "hsla(0, 17%, 8%, 0.4)", "hsla(0, 17%, 8%, 0.6)", "hsla(0, 17%, 8%, 0.8)", "hsla(47, 29%, 6%, 0.2)", "hsla(47, 29%, 6%, 0.4)", "hsla(47, 29%, 6%, 0.6)", "hsla(47, 29%, 6%, 0.8)", "hsla(154, 20%, 7%, 0.2)", "hsla(154, 20%, 7%, 0.4)", "hsla(154, 20%, 7%, 0.6)", "hsla(154, 20%, 7%, 0.8)", "hsla(23, 22%, 7%, 0.2)", "hsla(23, 22%, 7%, 0.4)", "hsla(23, 22%, 7%, 0.6)", "hsla(23, 22%, 7%, 0.8)", "hsla(317, 17%, 8%, 0.2)", "hsla(317, 17%, 8%, 0.4)", "hsla(317, 17%, 8%, 0.6)", "hsla(317, 17%, 8%, 0.8)", "hsla(282, 22%, 9%, 0.2)", "hsla(282, 22%, 9%, 0.4)", "hsla(282, 22%, 9%, 0.6)", "hsla(282, 22%, 9%, 0.8)", "hsla(173, 22%, 7%, 0.2)", "hsla(173, 22%, 7%, 0.4)", "hsla(173, 22%, 7%, 0.6)", "hsla(173, 22%, 7%, 0.8)"]; +var ks = ["accentBackground", "accentColor", "background0", "background02", "background04", "background06", "background08", "color1", "color2", "color3", "color4", "color5", "color6", "color7", "color8", "color9", "color10", "color11", "color12", "color0", "color02", "color04", "color06", "color08", "color", "colorHover", "colorPress", "colorFocus", "background", "backgroundHover", "backgroundPress", "backgroundFocus", "backgroundActive", "borderColor", "borderColorHover", "borderColorFocus", "borderColorPress", "placeholderColor", "colorTransparent", "black1", "black2", "black3", "black4", "black5", "black6", "black7", "black8", "black9", "black10", "black11", "black12", "white1", "white2", "white3", "white4", "white5", "white6", "white7", "white8", "white9", "white10", "white11", "white12", "white", "white0", "white02", "white04", "white06", "white08", "black", "black0", "black02", "black04", "black06", "black08", "shadow1", "shadow2", "shadow3", "shadow4", "shadow5", "shadow6", "shadow7", "shadow8", "highlight1", "highlight2", "highlight3", "highlight4", "highlight5", "highlight6", "highlight7", "highlight8", "shadowColor", "gray1", "gray2", "gray3", "gray4", "gray5", "gray6", "gray7", "gray8", "gray9", "gray10", "gray11", "gray12", "blue1", "blue2", "blue3", "blue4", "blue5", "blue6", "blue7", "blue8", "blue9", "blue10", "blue11", "blue12", "red1", "red2", "red3", "red4", "red5", "red6", "red7", "red8", "red9", "red10", "red11", "red12", "yellow1", "yellow2", "yellow3", "yellow4", "yellow5", "yellow6", "yellow7", "yellow8", "yellow9", "yellow10", "yellow11", "yellow12", "green1", "green2", "green3", "green4", "green5", "green6", "green7", "green8", "green9", "green10", "green11", "green12", "orange1", "orange2", "orange3", "orange4", "orange5", "orange6", "orange7", "orange8", "orange9", "orange10", "orange11", "orange12", "pink1", "pink2", "pink3", "pink4", "pink5", "pink6", "pink7", "pink8", "pink9", "pink10", "pink11", "pink12", "purple1", "purple2", "purple3", "purple4", "purple5", "purple6", "purple7", "purple8", "purple9", "purple10", "purple11", "purple12", "teal1", "teal2", "teal3", "teal4", "teal5", "teal6", "teal7", "teal8", "teal9", "teal10", "teal11", "teal12", "neutral1", "neutral2", "neutral3", "neutral4", "neutral5", "neutral6", "neutral7", "neutral8", "neutral9", "neutral10", "neutral11", "neutral12", "accent1", "accent2", "accent3", "accent4", "accent5", "accent6", "accent7", "accent8", "accent9", "accent10", "accent11", "accent12", "color01", "color0075", "color005", "color0025", "color002", "color001", "background01", "background0075", "background005", "background0025", "background002", "background001", "outlineColor"]; +var n1 = t([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 18], [25, 18], [26, 18], [27, 23], [28, 8], [29, 7], [30, 9], [31, 9], [32, 8], [33, 10], [34, 9], [35, 10], [36, 11], [37, 15], [38, 19], [39, 24], [40, 25], [41, 26], [42, 27], [43, 28], [44, 29], [45, 30], [46, 31], [47, 32], [48, 33], [49, 34], [50, 35], [51, 36], [52, 37], [53, 38], [54, 39], [55, 40], [56, 41], [57, 42], [58, 43], [59, 44], [60, 45], [61, 46], [62, 47], [63, 48], [64, 49], [65, 50], [66, 51], [67, 52], [68, 53], [69, 54], [70, 55], [71, 56], [72, 57], [73, 58], [74, 59], [75, 60], [76, 61], [77, 62], [78, 63], [79, 57], [80, 64], [81, 65], [82, 66], [83, 67], [84, 68], [85, 69], [86, 70], [87, 51], [88, 71], [89, 72], [90, 73], [91, 62], [92, 74], [93, 75], [94, 76], [95, 77], [96, 78], [97, 79], [98, 80], [99, 81], [100, 82], [101, 83], [102, 84], [103, 85], [104, 86], [105, 87], [106, 88], [107, 89], [108, 90], [109, 91], [110, 92], [111, 93], [112, 94], [113, 95], [114, 96], [115, 97], [116, 98], [117, 99], [118, 100], [119, 101], [120, 102], [121, 103], [122, 104], [123, 105], [124, 106], [125, 107], [126, 108], [127, 109], [128, 110], [129, 111], [130, 112], [131, 113], [132, 114], [133, 115], [134, 116], [135, 117], [136, 118], [137, 119], [138, 120], [139, 121], [140, 122], [141, 123], [142, 124], [143, 125], [144, 126], [145, 127], [146, 128], [147, 129], [148, 130], [149, 131], [150, 132], [151, 133], [152, 134], [153, 135], [154, 136], [155, 137], [156, 138], [157, 139], [158, 140], [159, 141], [160, 142], [161, 143], [162, 144], [163, 145], [164, 146], [165, 147], [166, 148], [167, 149], [168, 150], [169, 151], [170, 152], [171, 153], [172, 154], [173, 155], [174, 156], [175, 157], [176, 158], [177, 159], [178, 160], [179, 161], [180, 162], [181, 163], [182, 164], [183, 165], [184, 166], [185, 167], [186, 168], [187, 169], [188, 170], [189, 171], [190, 172], [191, 173], [192, 174], [193, 175], [194, 176], [195, 177], [196, 178], [197, 179], [198, 180], [199, 181], [200, 182], [201, 183], [202, 184], [203, 42], [204, 185], [205, 186], [206, 187], [207, 188], [208, 189], [209, 190], [210, 191], [211, 192], [212, 193], [213, 194], [214, 0], [215, 17], [216, 16], [217, 195], [218, 196], [219, 197], [220, 198], [221, 1], [222, 11], [223, 7], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [236, 211]]); +var n2 = t([[0, 16], [1, 9], [2, 212], [3, 213], [4, 214], [5, 215], [6, 216], [7, 193], [8, 194], [9, 0], [10, 17], [11, 16], [12, 195], [13, 196], [14, 197], [15, 198], [16, 1], [17, 11], [18, 7], [19, 2], [20, 217], [21, 218], [22, 219], [23, 220], [24, 7], [25, 220], [26, 7], [27, 11], [28, 194], [29, 0], [30, 193], [31, 0], [32, 194], [33, 17], [34, 16], [35, 17], [36, 0], [37, 198], [38, 2], [39, 24], [40, 25], [41, 26], [42, 27], [43, 28], [44, 29], [45, 30], [46, 31], [47, 32], [48, 33], [49, 34], [50, 35], [51, 36], [52, 37], [53, 38], [54, 39], [55, 40], [56, 41], [57, 42], [58, 43], [59, 44], [60, 45], [61, 46], [62, 47], [63, 48], [64, 49], [65, 50], [66, 51], [67, 52], [68, 53], [69, 54], [70, 55], [71, 56], [72, 57], [73, 58], [74, 59], [75, 61], [76, 56], [77, 63], [78, 221], [79, 222], [80, 66], [81, 223], [82, 54], [83, 68], [84, 50], [85, 70], [86, 224], [87, 225], [88, 73], [89, 226], [90, 48], [91, 63], [92, 227], [93, 26], [94, 228], [95, 229], [96, 230], [97, 231], [98, 232], [99, 233], [100, 234], [101, 235], [102, 236], [103, 237], [104, 238], [105, 239], [106, 240], [107, 241], [108, 242], [109, 243], [110, 244], [111, 245], [112, 94], [113, 246], [114, 247], [115, 248], [116, 249], [117, 250], [118, 251], [119, 252], [120, 253], [121, 254], [122, 255], [123, 256], [124, 106], [125, 257], [126, 258], [127, 259], [128, 260], [129, 261], [130, 262], [131, 263], [132, 264], [133, 265], [134, 266], [135, 267], [136, 118], [137, 268], [138, 269], [139, 270], [140, 271], [141, 272], [142, 273], [143, 274], [144, 275], [145, 276], [146, 277], [147, 278], [148, 130], [149, 279], [150, 280], [151, 281], [152, 282], [153, 283], [154, 284], [155, 285], [156, 286], [157, 287], [158, 288], [159, 289], [160, 142], [161, 290], [162, 291], [163, 292], [164, 293], [165, 294], [166, 295], [167, 296], [168, 297], [169, 298], [170, 299], [171, 300], [172, 154], [173, 301], [174, 302], [175, 303], [176, 304], [177, 305], [178, 306], [179, 307], [180, 308], [181, 309], [182, 310], [183, 311], [184, 166], [185, 312], [186, 313], [187, 314], [188, 315], [189, 316], [190, 317], [191, 318], [192, 319], [193, 320], [194, 321], [195, 322], [196, 178], [197, 323], [198, 324], [199, 325], [200, 182], [201, 183], [202, 184], [203, 42], [204, 185], [205, 186], [206, 187], [207, 188], [208, 189], [209, 190], [210, 191], [211, 192], [212, 7], [213, 8], [214, 9], [215, 10], [216, 11], [217, 12], [218, 13], [219, 14], [220, 15], [221, 16], [222, 17], [223, 18], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [236, 338]]); +var n3 = t([[0, 1], [1, 0], [2, 19], [3, 3], [4, 4], [5, 5], [6, 6], [7, 18], [8, 17], [9, 16], [10, 15], [11, 14], [12, 13], [13, 12], [14, 11], [15, 10], [16, 9], [17, 8], [18, 7], [19, 2], [20, 217], [21, 218], [22, 219], [23, 220], [24, 7], [25, 7], [26, 7], [27, 220], [28, 17], [29, 18], [30, 16], [31, 16], [32, 17], [33, 15], [34, 16], [35, 15], [36, 14], [37, 10], [38, 2], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [236, 211]]); +var n4 = t([[0, 9], [1, 16], [2, 2], [3, 213], [4, 214], [5, 215], [6, 216], [7, 7], [8, 11], [9, 1], [10, 198], [11, 197], [12, 196], [13, 195], [14, 16], [15, 17], [16, 0], [17, 194], [18, 193], [19, 212], [20, 339], [21, 340], [22, 341], [23, 342], [24, 193], [25, 342], [26, 193], [27, 194], [28, 11], [29, 1], [30, 7], [31, 1], [32, 11], [33, 198], [34, 197], [35, 198], [36, 1], [37, 17], [38, 212], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [236, 338]]); +var n5 = t([[0, 0], [1, 1], [2, 212], [3, 213], [4, 214], [5, 215], [6, 216], [7, 193], [8, 194], [9, 0], [10, 17], [11, 16], [12, 195], [13, 196], [14, 197], [15, 198], [16, 1], [17, 11], [18, 7], [19, 2], [20, 217], [21, 218], [22, 219], [23, 220], [24, 7], [25, 7], [26, 7], [27, 220], [28, 194], [29, 193], [30, 0], [31, 0], [32, 194], [33, 17], [34, 0], [35, 17], [36, 16], [37, 198], [38, 2], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [236, 338]]); +var n6 = t([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 18], [25, 18], [26, 18], [27, 23], [28, 8], [29, 7], [30, 9], [31, 9], [32, 8], [33, 10], [34, 9], [35, 10], [36, 11], [37, 15], [38, 19], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [236, 211]]); +var n7 = t([[0, 0], [1, 1], [2, 343], [3, 344], [4, 345], [5, 346], [6, 347], [7, 348], [8, 349], [9, 350], [10, 351], [11, 352], [12, 353], [13, 354], [14, 355], [15, 356], [16, 357], [17, 358], [18, 359], [19, 360], [20, 361], [21, 362], [22, 363], [23, 364], [24, 359], [25, 359], [26, 359], [27, 364], [28, 349], [29, 348], [30, 350], [31, 350], [32, 349], [33, 351], [34, 350], [35, 351], [36, 352], [37, 356], [38, 360], [224, 365], [225, 366], [226, 367], [227, 368], [228, 369], [229, 370], [230, 371], [231, 372], [232, 373], [233, 374], [234, 375], [235, 376], [236, 377]]); +var n8 = t([[0, 0], [1, 1], [2, 378], [3, 379], [4, 380], [5, 381], [6, 382], [7, 383], [8, 384], [9, 385], [10, 386], [11, 387], [12, 388], [13, 389], [14, 390], [15, 391], [16, 392], [17, 393], [18, 394], [19, 395], [20, 396], [21, 397], [22, 398], [23, 399], [24, 394], [25, 394], [26, 394], [27, 399], [28, 384], [29, 383], [30, 385], [31, 385], [32, 384], [33, 386], [34, 385], [35, 386], [36, 387], [37, 391], [38, 395], [224, 400], [225, 401], [226, 402], [227, 403], [228, 404], [229, 405], [230, 406], [231, 407], [232, 408], [233, 409], [234, 410], [235, 411], [236, 412]]); +var n9 = t([[0, 0], [1, 1], [2, 413], [3, 414], [4, 415], [5, 416], [6, 417], [7, 418], [8, 419], [9, 420], [10, 421], [11, 422], [12, 423], [13, 424], [14, 425], [15, 426], [16, 427], [17, 428], [18, 429], [19, 430], [20, 431], [21, 432], [22, 433], [23, 434], [24, 429], [25, 429], [26, 429], [27, 434], [28, 419], [29, 418], [30, 420], [31, 420], [32, 419], [33, 421], [34, 420], [35, 421], [36, 422], [37, 426], [38, 430], [224, 435], [225, 436], [226, 437], [227, 438], [228, 439], [229, 440], [230, 441], [231, 442], [232, 443], [233, 444], [234, 445], [235, 446], [236, 447]]); +var n10 = t([[0, 0], [1, 1], [2, 448], [3, 449], [4, 450], [5, 451], [6, 452], [7, 453], [8, 454], [9, 455], [10, 456], [11, 457], [12, 458], [13, 459], [14, 460], [15, 461], [16, 462], [17, 463], [18, 464], [19, 465], [20, 466], [21, 467], [22, 468], [23, 469], [24, 464], [25, 464], [26, 464], [27, 469], [28, 454], [29, 453], [30, 455], [31, 455], [32, 454], [33, 456], [34, 455], [35, 456], [36, 457], [37, 461], [38, 465], [224, 470], [225, 471], [226, 472], [227, 473], [228, 474], [229, 475], [230, 476], [231, 477], [232, 478], [233, 479], [234, 480], [235, 481], [236, 482]]); +var n11 = t([[0, 0], [1, 1], [2, 483], [3, 484], [4, 485], [5, 486], [6, 487], [7, 488], [8, 489], [9, 490], [10, 491], [11, 492], [12, 493], [13, 494], [14, 495], [15, 496], [16, 497], [17, 498], [18, 499], [19, 500], [20, 501], [21, 502], [22, 503], [23, 504], [24, 499], [25, 499], [26, 499], [27, 504], [28, 489], [29, 488], [30, 490], [31, 490], [32, 489], [33, 491], [34, 490], [35, 491], [36, 492], [37, 496], [38, 500], [224, 505], [225, 506], [226, 507], [227, 508], [228, 509], [229, 510], [230, 511], [231, 512], [232, 513], [233, 514], [234, 515], [235, 516], [236, 517]]); +var n12 = t([[0, 0], [1, 1], [2, 518], [3, 519], [4, 520], [5, 521], [6, 522], [7, 523], [8, 524], [9, 525], [10, 526], [11, 527], [12, 528], [13, 529], [14, 530], [15, 531], [16, 532], [17, 533], [18, 534], [19, 535], [20, 536], [21, 537], [22, 538], [23, 539], [24, 534], [25, 534], [26, 534], [27, 539], [28, 524], [29, 523], [30, 525], [31, 525], [32, 524], [33, 526], [34, 525], [35, 526], [36, 527], [37, 531], [38, 535], [224, 540], [225, 541], [226, 542], [227, 543], [228, 544], [229, 545], [230, 546], [231, 547], [232, 548], [233, 549], [234, 550], [235, 551], [236, 552]]); +var n13 = t([[0, 0], [1, 1], [2, 553], [3, 554], [4, 555], [5, 556], [6, 557], [7, 558], [8, 559], [9, 560], [10, 561], [11, 562], [12, 563], [13, 564], [14, 565], [15, 566], [16, 567], [17, 568], [18, 569], [19, 570], [20, 571], [21, 572], [22, 573], [23, 574], [24, 569], [25, 569], [26, 569], [27, 574], [28, 559], [29, 558], [30, 560], [31, 560], [32, 559], [33, 561], [34, 560], [35, 561], [36, 562], [37, 566], [38, 570], [224, 575], [225, 576], [226, 577], [227, 578], [228, 579], [229, 580], [230, 581], [231, 582], [232, 583], [233, 584], [234, 585], [235, 586], [236, 587]]); +var n14 = t([[0, 0], [1, 1], [2, 588], [3, 589], [4, 590], [5, 591], [6, 592], [7, 593], [8, 594], [9, 595], [10, 596], [11, 597], [12, 598], [13, 599], [14, 600], [15, 601], [16, 602], [17, 603], [18, 604], [19, 605], [20, 606], [21, 607], [22, 608], [23, 609], [24, 604], [25, 604], [26, 604], [27, 609], [28, 594], [29, 593], [30, 595], [31, 595], [32, 594], [33, 596], [34, 595], [35, 596], [36, 597], [37, 601], [38, 605], [224, 610], [225, 611], [226, 612], [227, 613], [228, 614], [229, 615], [230, 616], [231, 617], [232, 618], [233, 619], [234, 620], [235, 621], [236, 622]]); +var n15 = t([[0, 0], [1, 1], [2, 623], [3, 624], [4, 625], [5, 626], [6, 627], [7, 628], [8, 629], [9, 630], [10, 631], [11, 632], [12, 633], [13, 634], [14, 635], [15, 636], [16, 637], [17, 638], [18, 639], [19, 640], [20, 641], [21, 642], [22, 643], [23, 644], [24, 639], [25, 639], [26, 639], [27, 644], [28, 629], [29, 628], [30, 630], [31, 630], [32, 629], [33, 631], [34, 630], [35, 631], [36, 632], [37, 636], [38, 640], [224, 645], [225, 646], [226, 647], [227, 648], [228, 649], [229, 650], [230, 651], [231, 652], [232, 653], [233, 654], [234, 655], [235, 656], [236, 657]]); +var n16 = t([[0, 0], [1, 1], [2, 658], [3, 659], [4, 660], [5, 661], [6, 662], [7, 663], [8, 664], [9, 665], [10, 13], [11, 666], [12, 667], [13, 668], [14, 197], [15, 669], [16, 670], [17, 671], [18, 672], [19, 673], [20, 674], [21, 675], [22, 676], [23, 677], [24, 672], [25, 672], [26, 672], [27, 677], [28, 664], [29, 663], [30, 665], [31, 665], [32, 664], [33, 13], [34, 665], [35, 13], [36, 666], [37, 669], [38, 673], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [236, 690]]); +var n17 = t([[0, 16], [1, 9], [2, 212], [3, 213], [4, 214], [5, 215], [6, 216], [7, 193], [8, 194], [9, 0], [10, 17], [11, 16], [12, 195], [13, 196], [14, 197], [15, 198], [16, 1], [17, 11], [18, 7], [19, 2], [20, 217], [21, 218], [22, 219], [23, 220], [24, 7], [25, 220], [26, 7], [27, 11], [28, 194], [29, 0], [30, 193], [31, 0], [32, 194], [33, 17], [34, 16], [35, 17], [36, 0], [37, 198], [38, 2], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [236, 338]]); +var n18 = t([[0, 16], [1, 9], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 18], [25, 23], [26, 18], [27, 17], [28, 8], [29, 9], [30, 7], [31, 9], [32, 8], [33, 10], [34, 11], [35, 10], [36, 9], [37, 15], [38, 19], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [236, 211]]); +var n19 = t([[0, 16], [1, 9], [2, 691], [3, 692], [4, 693], [5, 694], [6, 695], [7, 696], [8, 0], [9, 359], [10, 697], [11, 698], [12, 699], [13, 700], [14, 671], [15, 701], [16, 702], [17, 703], [18, 9], [19, 704], [20, 705], [21, 706], [22, 707], [23, 708], [24, 9], [25, 708], [26, 9], [27, 703], [28, 0], [29, 359], [30, 696], [31, 359], [32, 0], [33, 697], [34, 698], [35, 697], [36, 359], [37, 701], [38, 704], [224, 709], [225, 710], [226, 711], [227, 712], [228, 713], [229, 714], [230, 715], [231, 716], [232, 717], [233, 718], [234, 719], [235, 720], [236, 721]]); +var n20 = t([[0, 16], [1, 9], [2, 722], [3, 723], [4, 724], [5, 725], [6, 726], [7, 727], [8, 728], [9, 729], [10, 730], [11, 731], [12, 732], [13, 733], [14, 734], [15, 391], [16, 735], [17, 736], [18, 737], [19, 738], [20, 739], [21, 740], [22, 741], [23, 742], [24, 737], [25, 742], [26, 737], [27, 736], [28, 728], [29, 729], [30, 727], [31, 729], [32, 728], [33, 730], [34, 731], [35, 730], [36, 729], [37, 391], [38, 738], [224, 743], [225, 744], [226, 745], [227, 746], [228, 747], [229, 748], [230, 749], [231, 750], [232, 751], [233, 752], [234, 753], [235, 754], [236, 755]]); +var n21 = t([[0, 16], [1, 9], [2, 756], [3, 757], [4, 758], [5, 759], [6, 760], [7, 761], [8, 762], [9, 763], [10, 764], [11, 765], [12, 766], [13, 767], [14, 768], [15, 426], [16, 769], [17, 770], [18, 771], [19, 772], [20, 773], [21, 774], [22, 775], [23, 776], [24, 771], [25, 776], [26, 771], [27, 770], [28, 762], [29, 763], [30, 761], [31, 763], [32, 762], [33, 764], [34, 765], [35, 764], [36, 763], [37, 426], [38, 772], [224, 777], [225, 778], [226, 779], [227, 780], [228, 781], [229, 782], [230, 783], [231, 784], [232, 785], [233, 786], [234, 787], [235, 788], [236, 789]]); +var n22 = t([[0, 16], [1, 9], [2, 790], [3, 791], [4, 792], [5, 793], [6, 794], [7, 795], [8, 796], [9, 797], [10, 798], [11, 799], [12, 800], [13, 801], [14, 802], [15, 461], [16, 803], [17, 804], [18, 805], [19, 806], [20, 807], [21, 808], [22, 809], [23, 810], [24, 805], [25, 810], [26, 805], [27, 804], [28, 796], [29, 797], [30, 795], [31, 797], [32, 796], [33, 798], [34, 799], [35, 798], [36, 797], [37, 461], [38, 806], [224, 811], [225, 812], [226, 813], [227, 814], [228, 815], [229, 816], [230, 817], [231, 818], [232, 819], [233, 820], [234, 821], [235, 822], [236, 823]]); +var n23 = t([[0, 16], [1, 9], [2, 824], [3, 825], [4, 826], [5, 827], [6, 828], [7, 829], [8, 830], [9, 831], [10, 832], [11, 833], [12, 834], [13, 835], [14, 836], [15, 496], [16, 837], [17, 838], [18, 839], [19, 840], [20, 841], [21, 842], [22, 843], [23, 844], [24, 839], [25, 844], [26, 839], [27, 838], [28, 830], [29, 831], [30, 829], [31, 831], [32, 830], [33, 832], [34, 833], [35, 832], [36, 831], [37, 496], [38, 840], [224, 845], [225, 846], [226, 847], [227, 848], [228, 849], [229, 850], [230, 851], [231, 852], [232, 853], [233, 854], [234, 855], [235, 856], [236, 857]]); +var n24 = t([[0, 16], [1, 9], [2, 858], [3, 859], [4, 860], [5, 861], [6, 862], [7, 863], [8, 864], [9, 865], [10, 866], [11, 867], [12, 868], [13, 869], [14, 870], [15, 531], [16, 871], [17, 872], [18, 873], [19, 874], [20, 875], [21, 876], [22, 877], [23, 878], [24, 873], [25, 878], [26, 873], [27, 872], [28, 864], [29, 865], [30, 863], [31, 865], [32, 864], [33, 866], [34, 867], [35, 866], [36, 865], [37, 531], [38, 874], [224, 879], [225, 880], [226, 881], [227, 882], [228, 883], [229, 884], [230, 885], [231, 886], [232, 887], [233, 888], [234, 889], [235, 890], [236, 891]]); +var n25 = t([[0, 16], [1, 9], [2, 892], [3, 893], [4, 894], [5, 895], [6, 896], [7, 897], [8, 898], [9, 899], [10, 900], [11, 901], [12, 902], [13, 903], [14, 904], [15, 566], [16, 905], [17, 906], [18, 907], [19, 908], [20, 909], [21, 910], [22, 911], [23, 912], [24, 907], [25, 912], [26, 907], [27, 906], [28, 898], [29, 899], [30, 897], [31, 899], [32, 898], [33, 900], [34, 901], [35, 900], [36, 899], [37, 566], [38, 908], [224, 913], [225, 914], [226, 915], [227, 916], [228, 917], [229, 918], [230, 919], [231, 920], [232, 921], [233, 922], [234, 923], [235, 924], [236, 925]]); +var n26 = t([[0, 16], [1, 9], [2, 926], [3, 927], [4, 928], [5, 929], [6, 930], [7, 931], [8, 932], [9, 933], [10, 934], [11, 935], [12, 936], [13, 937], [14, 938], [15, 601], [16, 939], [17, 940], [18, 941], [19, 942], [20, 943], [21, 944], [22, 945], [23, 946], [24, 941], [25, 946], [26, 941], [27, 940], [28, 932], [29, 933], [30, 931], [31, 933], [32, 932], [33, 934], [34, 935], [35, 934], [36, 933], [37, 601], [38, 942], [224, 947], [225, 948], [226, 949], [227, 950], [228, 951], [229, 952], [230, 953], [231, 954], [232, 955], [233, 956], [234, 957], [235, 958], [236, 959]]); +var n27 = t([[0, 16], [1, 9], [2, 960], [3, 961], [4, 962], [5, 963], [6, 964], [7, 965], [8, 966], [9, 967], [10, 968], [11, 969], [12, 970], [13, 971], [14, 972], [15, 636], [16, 973], [17, 974], [18, 975], [19, 976], [20, 977], [21, 978], [22, 979], [23, 980], [24, 975], [25, 980], [26, 975], [27, 974], [28, 966], [29, 967], [30, 965], [31, 967], [32, 966], [33, 968], [34, 969], [35, 968], [36, 967], [37, 636], [38, 976], [224, 981], [225, 982], [226, 983], [227, 984], [228, 985], [229, 986], [230, 987], [231, 988], [232, 989], [233, 990], [234, 991], [235, 992], [236, 993]]); +var n28 = t([[0, 16], [1, 9], [2, 658], [3, 659], [4, 660], [5, 661], [6, 662], [7, 663], [8, 664], [9, 665], [10, 13], [11, 666], [12, 667], [13, 668], [14, 197], [15, 669], [16, 670], [17, 671], [18, 672], [19, 673], [20, 674], [21, 675], [22, 676], [23, 677], [24, 672], [25, 677], [26, 672], [27, 671], [28, 664], [29, 665], [30, 663], [31, 665], [32, 664], [33, 13], [34, 666], [35, 13], [36, 665], [37, 669], [38, 673], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [236, 690]]); +var n29 = t([[24, 17], [25, 17], [26, 17], [27, 18], [28, 9], [29, 8], [30, 10], [31, 11], [32, 9], [33, 11], [34, 10], [35, 11], [36, 12], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [3, 3], [4, 4], [5, 5], [6, 6], [236, 211]]); +var n30 = t([[24, 17], [25, 17], [26, 17], [27, 18], [28, 10], [29, 9], [30, 11], [31, 13], [32, 10], [33, 12], [34, 11], [35, 12], [36, 13], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [3, 3], [4, 4], [5, 5], [6, 6], [236, 211]]); +var n31 = t([[24, 11], [25, 7], [26, 11], [27, 1], [28, 0], [29, 17], [30, 194], [31, 16], [32, 0], [33, 16], [34, 195], [35, 16], [36, 17], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [3, 213], [4, 214], [5, 215], [6, 216], [236, 338]]); +var n32 = t([[24, 11], [25, 7], [26, 11], [27, 1], [28, 17], [29, 16], [30, 0], [31, 196], [32, 17], [33, 195], [34, 196], [35, 195], [36, 16], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [3, 213], [4, 214], [5, 215], [6, 216], [236, 338]]); +var n33 = t([[0, 1], [1, 0], [2, 2], [3, 213], [4, 214], [5, 215], [6, 216], [7, 7], [8, 11], [9, 1], [10, 198], [11, 197], [12, 196], [13, 195], [14, 16], [15, 17], [16, 0], [17, 194], [18, 193], [19, 212], [20, 339], [21, 340], [22, 341], [23, 342], [24, 193], [25, 193], [26, 193], [27, 342], [28, 11], [29, 7], [30, 1], [31, 1], [32, 11], [33, 198], [34, 1], [35, 198], [36, 197], [37, 17], [38, 212], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [236, 338]]); +var n34 = t([[24, 11], [25, 11], [26, 11], [27, 7], [28, 0], [29, 194], [30, 17], [31, 16], [32, 0], [33, 16], [34, 17], [35, 16], [36, 195], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [3, 213], [4, 214], [5, 215], [6, 216], [236, 338]]); +var n35 = t([[24, 11], [25, 11], [26, 11], [27, 7], [28, 17], [29, 0], [30, 16], [31, 196], [32, 17], [33, 195], [34, 16], [35, 195], [36, 196], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [3, 213], [4, 214], [5, 215], [6, 216], [236, 338]]); +var n36 = t([[0, 1], [1, 0], [2, 360], [3, 344], [4, 345], [5, 346], [6, 347], [7, 359], [8, 358], [9, 357], [10, 356], [11, 355], [12, 354], [13, 353], [14, 352], [15, 351], [16, 350], [17, 349], [18, 348], [19, 343], [20, 994], [21, 995], [22, 996], [23, 997], [24, 348], [25, 348], [26, 348], [27, 997], [28, 358], [29, 359], [30, 357], [31, 357], [32, 358], [33, 356], [34, 357], [35, 356], [36, 355], [37, 351], [38, 343], [224, 365], [225, 366], [226, 367], [227, 368], [228, 369], [229, 370], [230, 371], [231, 372], [232, 373], [233, 374], [234, 375], [235, 376], [236, 377]]); +var n37 = t([[24, 358], [25, 358], [26, 358], [27, 359], [28, 350], [29, 349], [30, 351], [31, 352], [32, 350], [33, 352], [34, 351], [35, 352], [36, 353], [224, 365], [225, 366], [226, 367], [227, 368], [228, 369], [229, 370], [230, 371], [231, 372], [232, 373], [233, 374], [234, 375], [235, 376], [3, 344], [4, 345], [5, 346], [6, 347], [236, 377]]); +var n38 = t([[24, 358], [25, 358], [26, 358], [27, 359], [28, 351], [29, 350], [30, 352], [31, 354], [32, 351], [33, 353], [34, 352], [35, 353], [36, 354], [224, 365], [225, 366], [226, 367], [227, 368], [228, 369], [229, 370], [230, 371], [231, 372], [232, 373], [233, 374], [234, 375], [235, 376], [3, 344], [4, 345], [5, 346], [6, 347], [236, 377]]); +var n39 = t([[0, 1], [1, 0], [2, 395], [3, 379], [4, 380], [5, 381], [6, 382], [7, 394], [8, 393], [9, 392], [10, 391], [11, 390], [12, 389], [13, 388], [14, 387], [15, 386], [16, 385], [17, 384], [18, 383], [19, 378], [20, 998], [21, 999], [22, 1e3], [23, 1001], [24, 383], [25, 383], [26, 383], [27, 1001], [28, 393], [29, 394], [30, 392], [31, 392], [32, 393], [33, 391], [34, 392], [35, 391], [36, 390], [37, 386], [38, 378], [224, 400], [225, 401], [226, 402], [227, 403], [228, 404], [229, 405], [230, 406], [231, 407], [232, 408], [233, 409], [234, 410], [235, 411], [236, 412]]); +var n40 = t([[24, 393], [25, 393], [26, 393], [27, 394], [28, 385], [29, 384], [30, 386], [31, 387], [32, 385], [33, 387], [34, 386], [35, 387], [36, 388], [224, 400], [225, 401], [226, 402], [227, 403], [228, 404], [229, 405], [230, 406], [231, 407], [232, 408], [233, 409], [234, 410], [235, 411], [3, 379], [4, 380], [5, 381], [6, 382], [236, 412]]); +var n41 = t([[24, 393], [25, 393], [26, 393], [27, 394], [28, 386], [29, 385], [30, 387], [31, 389], [32, 386], [33, 388], [34, 387], [35, 388], [36, 389], [224, 400], [225, 401], [226, 402], [227, 403], [228, 404], [229, 405], [230, 406], [231, 407], [232, 408], [233, 409], [234, 410], [235, 411], [3, 379], [4, 380], [5, 381], [6, 382], [236, 412]]); +var n42 = t([[0, 1], [1, 0], [2, 430], [3, 414], [4, 415], [5, 416], [6, 417], [7, 429], [8, 428], [9, 427], [10, 426], [11, 425], [12, 424], [13, 423], [14, 422], [15, 421], [16, 420], [17, 419], [18, 418], [19, 413], [20, 1002], [21, 1003], [22, 1004], [23, 1005], [24, 418], [25, 418], [26, 418], [27, 1005], [28, 428], [29, 429], [30, 427], [31, 427], [32, 428], [33, 426], [34, 427], [35, 426], [36, 425], [37, 421], [38, 413], [224, 435], [225, 436], [226, 437], [227, 438], [228, 439], [229, 440], [230, 441], [231, 442], [232, 443], [233, 444], [234, 445], [235, 446], [236, 447]]); +var n43 = t([[24, 428], [25, 428], [26, 428], [27, 429], [28, 420], [29, 419], [30, 421], [31, 422], [32, 420], [33, 422], [34, 421], [35, 422], [36, 423], [224, 435], [225, 436], [226, 437], [227, 438], [228, 439], [229, 440], [230, 441], [231, 442], [232, 443], [233, 444], [234, 445], [235, 446], [3, 414], [4, 415], [5, 416], [6, 417], [236, 447]]); +var n44 = t([[24, 428], [25, 428], [26, 428], [27, 429], [28, 421], [29, 420], [30, 422], [31, 424], [32, 421], [33, 423], [34, 422], [35, 423], [36, 424], [224, 435], [225, 436], [226, 437], [227, 438], [228, 439], [229, 440], [230, 441], [231, 442], [232, 443], [233, 444], [234, 445], [235, 446], [3, 414], [4, 415], [5, 416], [6, 417], [236, 447]]); +var n45 = t([[0, 1], [1, 0], [2, 465], [3, 449], [4, 450], [5, 451], [6, 452], [7, 464], [8, 463], [9, 462], [10, 461], [11, 460], [12, 459], [13, 458], [14, 457], [15, 456], [16, 455], [17, 454], [18, 453], [19, 448], [20, 1006], [21, 1007], [22, 1008], [23, 1009], [24, 453], [25, 453], [26, 453], [27, 1009], [28, 463], [29, 464], [30, 462], [31, 462], [32, 463], [33, 461], [34, 462], [35, 461], [36, 460], [37, 456], [38, 448], [224, 470], [225, 471], [226, 472], [227, 473], [228, 474], [229, 475], [230, 476], [231, 477], [232, 478], [233, 479], [234, 480], [235, 481], [236, 482]]); +var n46 = t([[24, 463], [25, 463], [26, 463], [27, 464], [28, 455], [29, 454], [30, 456], [31, 457], [32, 455], [33, 457], [34, 456], [35, 457], [36, 458], [224, 470], [225, 471], [226, 472], [227, 473], [228, 474], [229, 475], [230, 476], [231, 477], [232, 478], [233, 479], [234, 480], [235, 481], [3, 449], [4, 450], [5, 451], [6, 452], [236, 482]]); +var n47 = t([[24, 463], [25, 463], [26, 463], [27, 464], [28, 456], [29, 455], [30, 457], [31, 459], [32, 456], [33, 458], [34, 457], [35, 458], [36, 459], [224, 470], [225, 471], [226, 472], [227, 473], [228, 474], [229, 475], [230, 476], [231, 477], [232, 478], [233, 479], [234, 480], [235, 481], [3, 449], [4, 450], [5, 451], [6, 452], [236, 482]]); +var n48 = t([[0, 1], [1, 0], [2, 500], [3, 484], [4, 485], [5, 486], [6, 487], [7, 499], [8, 498], [9, 497], [10, 496], [11, 495], [12, 494], [13, 493], [14, 492], [15, 491], [16, 490], [17, 489], [18, 488], [19, 483], [20, 1010], [21, 1011], [22, 1012], [23, 1013], [24, 488], [25, 488], [26, 488], [27, 1013], [28, 498], [29, 499], [30, 497], [31, 497], [32, 498], [33, 496], [34, 497], [35, 496], [36, 495], [37, 491], [38, 483], [224, 505], [225, 506], [226, 507], [227, 508], [228, 509], [229, 510], [230, 511], [231, 512], [232, 513], [233, 514], [234, 515], [235, 516], [236, 517]]); +var n49 = t([[24, 498], [25, 498], [26, 498], [27, 499], [28, 490], [29, 489], [30, 491], [31, 492], [32, 490], [33, 492], [34, 491], [35, 492], [36, 493], [224, 505], [225, 506], [226, 507], [227, 508], [228, 509], [229, 510], [230, 511], [231, 512], [232, 513], [233, 514], [234, 515], [235, 516], [3, 484], [4, 485], [5, 486], [6, 487], [236, 517]]); +var n50 = t([[24, 498], [25, 498], [26, 498], [27, 499], [28, 491], [29, 490], [30, 492], [31, 494], [32, 491], [33, 493], [34, 492], [35, 493], [36, 494], [224, 505], [225, 506], [226, 507], [227, 508], [228, 509], [229, 510], [230, 511], [231, 512], [232, 513], [233, 514], [234, 515], [235, 516], [3, 484], [4, 485], [5, 486], [6, 487], [236, 517]]); +var n51 = t([[0, 1], [1, 0], [2, 535], [3, 519], [4, 520], [5, 521], [6, 522], [7, 534], [8, 533], [9, 532], [10, 531], [11, 530], [12, 529], [13, 528], [14, 527], [15, 526], [16, 525], [17, 524], [18, 523], [19, 518], [20, 1014], [21, 1015], [22, 1016], [23, 1017], [24, 523], [25, 523], [26, 523], [27, 1017], [28, 533], [29, 534], [30, 532], [31, 532], [32, 533], [33, 531], [34, 532], [35, 531], [36, 530], [37, 526], [38, 518], [224, 540], [225, 541], [226, 542], [227, 543], [228, 544], [229, 545], [230, 546], [231, 547], [232, 548], [233, 549], [234, 550], [235, 551], [236, 552]]); +var n52 = t([[24, 533], [25, 533], [26, 533], [27, 534], [28, 525], [29, 524], [30, 526], [31, 527], [32, 525], [33, 527], [34, 526], [35, 527], [36, 528], [224, 540], [225, 541], [226, 542], [227, 543], [228, 544], [229, 545], [230, 546], [231, 547], [232, 548], [233, 549], [234, 550], [235, 551], [3, 519], [4, 520], [5, 521], [6, 522], [236, 552]]); +var n53 = t([[24, 533], [25, 533], [26, 533], [27, 534], [28, 526], [29, 525], [30, 527], [31, 529], [32, 526], [33, 528], [34, 527], [35, 528], [36, 529], [224, 540], [225, 541], [226, 542], [227, 543], [228, 544], [229, 545], [230, 546], [231, 547], [232, 548], [233, 549], [234, 550], [235, 551], [3, 519], [4, 520], [5, 521], [6, 522], [236, 552]]); +var n54 = t([[0, 1], [1, 0], [2, 570], [3, 554], [4, 555], [5, 556], [6, 557], [7, 569], [8, 568], [9, 567], [10, 566], [11, 565], [12, 564], [13, 563], [14, 562], [15, 561], [16, 560], [17, 559], [18, 558], [19, 553], [20, 1018], [21, 1019], [22, 1020], [23, 1021], [24, 558], [25, 558], [26, 558], [27, 1021], [28, 568], [29, 569], [30, 567], [31, 567], [32, 568], [33, 566], [34, 567], [35, 566], [36, 565], [37, 561], [38, 553], [224, 575], [225, 576], [226, 577], [227, 578], [228, 579], [229, 580], [230, 581], [231, 582], [232, 583], [233, 584], [234, 585], [235, 586], [236, 587]]); +var n55 = t([[24, 568], [25, 568], [26, 568], [27, 569], [28, 560], [29, 559], [30, 561], [31, 562], [32, 560], [33, 562], [34, 561], [35, 562], [36, 563], [224, 575], [225, 576], [226, 577], [227, 578], [228, 579], [229, 580], [230, 581], [231, 582], [232, 583], [233, 584], [234, 585], [235, 586], [3, 554], [4, 555], [5, 556], [6, 557], [236, 587]]); +var n56 = t([[24, 568], [25, 568], [26, 568], [27, 569], [28, 561], [29, 560], [30, 562], [31, 564], [32, 561], [33, 563], [34, 562], [35, 563], [36, 564], [224, 575], [225, 576], [226, 577], [227, 578], [228, 579], [229, 580], [230, 581], [231, 582], [232, 583], [233, 584], [234, 585], [235, 586], [3, 554], [4, 555], [5, 556], [6, 557], [236, 587]]); +var n57 = t([[0, 1], [1, 0], [2, 605], [3, 589], [4, 590], [5, 591], [6, 592], [7, 604], [8, 603], [9, 602], [10, 601], [11, 600], [12, 599], [13, 598], [14, 597], [15, 596], [16, 595], [17, 594], [18, 593], [19, 588], [20, 1022], [21, 1023], [22, 1024], [23, 1025], [24, 593], [25, 593], [26, 593], [27, 1025], [28, 603], [29, 604], [30, 602], [31, 602], [32, 603], [33, 601], [34, 602], [35, 601], [36, 600], [37, 596], [38, 588], [224, 610], [225, 611], [226, 612], [227, 613], [228, 614], [229, 615], [230, 616], [231, 617], [232, 618], [233, 619], [234, 620], [235, 621], [236, 622]]); +var n58 = t([[24, 603], [25, 603], [26, 603], [27, 604], [28, 595], [29, 594], [30, 596], [31, 597], [32, 595], [33, 597], [34, 596], [35, 597], [36, 598], [224, 610], [225, 611], [226, 612], [227, 613], [228, 614], [229, 615], [230, 616], [231, 617], [232, 618], [233, 619], [234, 620], [235, 621], [3, 589], [4, 590], [5, 591], [6, 592], [236, 622]]); +var n59 = t([[24, 603], [25, 603], [26, 603], [27, 604], [28, 596], [29, 595], [30, 597], [31, 599], [32, 596], [33, 598], [34, 597], [35, 598], [36, 599], [224, 610], [225, 611], [226, 612], [227, 613], [228, 614], [229, 615], [230, 616], [231, 617], [232, 618], [233, 619], [234, 620], [235, 621], [3, 589], [4, 590], [5, 591], [6, 592], [236, 622]]); +var n60 = t([[0, 1], [1, 0], [2, 640], [3, 624], [4, 625], [5, 626], [6, 627], [7, 639], [8, 638], [9, 637], [10, 636], [11, 635], [12, 634], [13, 633], [14, 632], [15, 631], [16, 630], [17, 629], [18, 628], [19, 623], [20, 1026], [21, 1027], [22, 1028], [23, 1029], [24, 628], [25, 628], [26, 628], [27, 1029], [28, 638], [29, 639], [30, 637], [31, 637], [32, 638], [33, 636], [34, 637], [35, 636], [36, 635], [37, 631], [38, 623], [224, 645], [225, 646], [226, 647], [227, 648], [228, 649], [229, 650], [230, 651], [231, 652], [232, 653], [233, 654], [234, 655], [235, 656], [236, 657]]); +var n61 = t([[24, 638], [25, 638], [26, 638], [27, 639], [28, 630], [29, 629], [30, 631], [31, 632], [32, 630], [33, 632], [34, 631], [35, 632], [36, 633], [224, 645], [225, 646], [226, 647], [227, 648], [228, 649], [229, 650], [230, 651], [231, 652], [232, 653], [233, 654], [234, 655], [235, 656], [3, 624], [4, 625], [5, 626], [6, 627], [236, 657]]); +var n62 = t([[24, 638], [25, 638], [26, 638], [27, 639], [28, 631], [29, 630], [30, 632], [31, 634], [32, 631], [33, 633], [34, 632], [35, 633], [36, 634], [224, 645], [225, 646], [226, 647], [227, 648], [228, 649], [229, 650], [230, 651], [231, 652], [232, 653], [233, 654], [234, 655], [235, 656], [3, 624], [4, 625], [5, 626], [6, 627], [236, 657]]); +var n63 = t([[0, 1], [1, 0], [2, 673], [3, 659], [4, 660], [5, 661], [6, 662], [7, 672], [8, 671], [9, 670], [10, 669], [11, 197], [12, 668], [13, 667], [14, 666], [15, 13], [16, 665], [17, 664], [18, 663], [19, 658], [20, 1030], [21, 1031], [22, 1032], [23, 1033], [24, 663], [25, 663], [26, 663], [27, 1033], [28, 671], [29, 672], [30, 670], [31, 670], [32, 671], [33, 669], [34, 670], [35, 669], [36, 197], [37, 13], [38, 658], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [236, 690]]); +var n64 = t([[24, 671], [25, 671], [26, 671], [27, 672], [28, 665], [29, 664], [30, 13], [31, 666], [32, 665], [33, 666], [34, 13], [35, 666], [36, 667], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [3, 659], [4, 660], [5, 661], [6, 662], [236, 690]]); +var n65 = t([[24, 671], [25, 671], [26, 671], [27, 672], [28, 13], [29, 665], [30, 666], [31, 668], [32, 13], [33, 667], [34, 666], [35, 667], [36, 668], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [3, 659], [4, 660], [5, 661], [6, 662], [236, 690]]); +var n66 = t([[0, 9], [1, 16], [2, 19], [3, 3], [4, 4], [5, 5], [6, 6], [7, 18], [8, 17], [9, 16], [10, 15], [11, 14], [12, 13], [13, 12], [14, 11], [15, 10], [16, 9], [17, 8], [18, 7], [19, 2], [20, 217], [21, 218], [22, 219], [23, 220], [24, 7], [25, 220], [26, 7], [27, 8], [28, 17], [29, 16], [30, 18], [31, 16], [32, 17], [33, 15], [34, 14], [35, 15], [36, 16], [37, 10], [38, 2], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [236, 211]]); +var n67 = t([[24, 17], [25, 18], [26, 17], [27, 16], [28, 9], [29, 10], [30, 8], [31, 11], [32, 9], [33, 11], [34, 12], [35, 11], [36, 10], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [3, 3], [4, 4], [5, 5], [6, 6], [236, 211]]); +var n68 = t([[24, 17], [25, 18], [26, 17], [27, 16], [28, 10], [29, 11], [30, 9], [31, 13], [32, 10], [33, 12], [34, 13], [35, 12], [36, 11], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [3, 3], [4, 4], [5, 5], [6, 6], [236, 211]]); +var n69 = t([[0, 9], [1, 16], [2, 704], [3, 692], [4, 693], [5, 694], [6, 695], [7, 9], [8, 703], [9, 702], [10, 701], [11, 671], [12, 700], [13, 699], [14, 698], [15, 697], [16, 359], [17, 0], [18, 696], [19, 691], [20, 1034], [21, 1035], [22, 1036], [23, 1037], [24, 696], [25, 1037], [26, 696], [27, 0], [28, 703], [29, 702], [30, 9], [31, 702], [32, 703], [33, 701], [34, 671], [35, 701], [36, 702], [37, 697], [38, 691], [224, 709], [225, 710], [226, 711], [227, 712], [228, 713], [229, 714], [230, 715], [231, 716], [232, 717], [233, 718], [234, 719], [235, 720], [236, 721]]); +var n70 = t([[24, 703], [25, 9], [26, 703], [27, 702], [28, 359], [29, 697], [30, 0], [31, 698], [32, 359], [33, 698], [34, 699], [35, 698], [36, 697], [224, 709], [225, 710], [226, 711], [227, 712], [228, 713], [229, 714], [230, 715], [231, 716], [232, 717], [233, 718], [234, 719], [235, 720], [3, 692], [4, 693], [5, 694], [6, 695], [236, 721]]); +var n71 = t([[24, 703], [25, 9], [26, 703], [27, 702], [28, 697], [29, 698], [30, 359], [31, 700], [32, 697], [33, 699], [34, 700], [35, 699], [36, 698], [224, 709], [225, 710], [226, 711], [227, 712], [228, 713], [229, 714], [230, 715], [231, 716], [232, 717], [233, 718], [234, 719], [235, 720], [3, 692], [4, 693], [5, 694], [6, 695], [236, 721]]); +var n72 = t([[0, 9], [1, 16], [2, 738], [3, 723], [4, 724], [5, 725], [6, 726], [7, 737], [8, 736], [9, 735], [10, 391], [11, 734], [12, 733], [13, 732], [14, 731], [15, 730], [16, 729], [17, 728], [18, 727], [19, 722], [20, 1038], [21, 1039], [22, 1040], [23, 1041], [24, 727], [25, 1041], [26, 727], [27, 728], [28, 736], [29, 735], [30, 737], [31, 735], [32, 736], [33, 391], [34, 734], [35, 391], [36, 735], [37, 730], [38, 722], [224, 743], [225, 744], [226, 745], [227, 746], [228, 747], [229, 748], [230, 749], [231, 750], [232, 751], [233, 752], [234, 753], [235, 754], [236, 755]]); +var n73 = t([[24, 736], [25, 737], [26, 736], [27, 735], [28, 729], [29, 730], [30, 728], [31, 731], [32, 729], [33, 731], [34, 732], [35, 731], [36, 730], [224, 743], [225, 744], [226, 745], [227, 746], [228, 747], [229, 748], [230, 749], [231, 750], [232, 751], [233, 752], [234, 753], [235, 754], [3, 723], [4, 724], [5, 725], [6, 726], [236, 755]]); +var n74 = t([[24, 736], [25, 737], [26, 736], [27, 735], [28, 730], [29, 731], [30, 729], [31, 733], [32, 730], [33, 732], [34, 733], [35, 732], [36, 731], [224, 743], [225, 744], [226, 745], [227, 746], [228, 747], [229, 748], [230, 749], [231, 750], [232, 751], [233, 752], [234, 753], [235, 754], [3, 723], [4, 724], [5, 725], [6, 726], [236, 755]]); +var n75 = t([[0, 9], [1, 16], [2, 772], [3, 757], [4, 758], [5, 759], [6, 760], [7, 771], [8, 770], [9, 769], [10, 426], [11, 768], [12, 767], [13, 766], [14, 765], [15, 764], [16, 763], [17, 762], [18, 761], [19, 756], [20, 1042], [21, 1043], [22, 1044], [23, 1045], [24, 761], [25, 1045], [26, 761], [27, 762], [28, 770], [29, 769], [30, 771], [31, 769], [32, 770], [33, 426], [34, 768], [35, 426], [36, 769], [37, 764], [38, 756], [224, 777], [225, 778], [226, 779], [227, 780], [228, 781], [229, 782], [230, 783], [231, 784], [232, 785], [233, 786], [234, 787], [235, 788], [236, 789]]); +var n76 = t([[24, 770], [25, 771], [26, 770], [27, 769], [28, 763], [29, 764], [30, 762], [31, 765], [32, 763], [33, 765], [34, 766], [35, 765], [36, 764], [224, 777], [225, 778], [226, 779], [227, 780], [228, 781], [229, 782], [230, 783], [231, 784], [232, 785], [233, 786], [234, 787], [235, 788], [3, 757], [4, 758], [5, 759], [6, 760], [236, 789]]); +var n77 = t([[24, 770], [25, 771], [26, 770], [27, 769], [28, 764], [29, 765], [30, 763], [31, 767], [32, 764], [33, 766], [34, 767], [35, 766], [36, 765], [224, 777], [225, 778], [226, 779], [227, 780], [228, 781], [229, 782], [230, 783], [231, 784], [232, 785], [233, 786], [234, 787], [235, 788], [3, 757], [4, 758], [5, 759], [6, 760], [236, 789]]); +var n78 = t([[0, 9], [1, 16], [2, 806], [3, 791], [4, 792], [5, 793], [6, 794], [7, 805], [8, 804], [9, 803], [10, 461], [11, 802], [12, 801], [13, 800], [14, 799], [15, 798], [16, 797], [17, 796], [18, 795], [19, 790], [20, 1046], [21, 1047], [22, 1048], [23, 1049], [24, 795], [25, 1049], [26, 795], [27, 796], [28, 804], [29, 803], [30, 805], [31, 803], [32, 804], [33, 461], [34, 802], [35, 461], [36, 803], [37, 798], [38, 790], [224, 811], [225, 812], [226, 813], [227, 814], [228, 815], [229, 816], [230, 817], [231, 818], [232, 819], [233, 820], [234, 821], [235, 822], [236, 823]]); +var n79 = t([[24, 804], [25, 805], [26, 804], [27, 803], [28, 797], [29, 798], [30, 796], [31, 799], [32, 797], [33, 799], [34, 800], [35, 799], [36, 798], [224, 811], [225, 812], [226, 813], [227, 814], [228, 815], [229, 816], [230, 817], [231, 818], [232, 819], [233, 820], [234, 821], [235, 822], [3, 791], [4, 792], [5, 793], [6, 794], [236, 823]]); +var n80 = t([[24, 804], [25, 805], [26, 804], [27, 803], [28, 798], [29, 799], [30, 797], [31, 801], [32, 798], [33, 800], [34, 801], [35, 800], [36, 799], [224, 811], [225, 812], [226, 813], [227, 814], [228, 815], [229, 816], [230, 817], [231, 818], [232, 819], [233, 820], [234, 821], [235, 822], [3, 791], [4, 792], [5, 793], [6, 794], [236, 823]]); +var n81 = t([[0, 9], [1, 16], [2, 840], [3, 825], [4, 826], [5, 827], [6, 828], [7, 839], [8, 838], [9, 837], [10, 496], [11, 836], [12, 835], [13, 834], [14, 833], [15, 832], [16, 831], [17, 830], [18, 829], [19, 824], [20, 1050], [21, 1051], [22, 1052], [23, 1053], [24, 829], [25, 1053], [26, 829], [27, 830], [28, 838], [29, 837], [30, 839], [31, 837], [32, 838], [33, 496], [34, 836], [35, 496], [36, 837], [37, 832], [38, 824], [224, 845], [225, 846], [226, 847], [227, 848], [228, 849], [229, 850], [230, 851], [231, 852], [232, 853], [233, 854], [234, 855], [235, 856], [236, 857]]); +var n82 = t([[24, 838], [25, 839], [26, 838], [27, 837], [28, 831], [29, 832], [30, 830], [31, 833], [32, 831], [33, 833], [34, 834], [35, 833], [36, 832], [224, 845], [225, 846], [226, 847], [227, 848], [228, 849], [229, 850], [230, 851], [231, 852], [232, 853], [233, 854], [234, 855], [235, 856], [3, 825], [4, 826], [5, 827], [6, 828], [236, 857]]); +var n83 = t([[24, 838], [25, 839], [26, 838], [27, 837], [28, 832], [29, 833], [30, 831], [31, 835], [32, 832], [33, 834], [34, 835], [35, 834], [36, 833], [224, 845], [225, 846], [226, 847], [227, 848], [228, 849], [229, 850], [230, 851], [231, 852], [232, 853], [233, 854], [234, 855], [235, 856], [3, 825], [4, 826], [5, 827], [6, 828], [236, 857]]); +var n84 = t([[0, 9], [1, 16], [2, 874], [3, 859], [4, 860], [5, 861], [6, 862], [7, 873], [8, 872], [9, 871], [10, 531], [11, 870], [12, 869], [13, 868], [14, 867], [15, 866], [16, 865], [17, 864], [18, 863], [19, 858], [20, 1054], [21, 1055], [22, 1056], [23, 1057], [24, 863], [25, 1057], [26, 863], [27, 864], [28, 872], [29, 871], [30, 873], [31, 871], [32, 872], [33, 531], [34, 870], [35, 531], [36, 871], [37, 866], [38, 858], [224, 879], [225, 880], [226, 881], [227, 882], [228, 883], [229, 884], [230, 885], [231, 886], [232, 887], [233, 888], [234, 889], [235, 890], [236, 891]]); +var n85 = t([[24, 872], [25, 873], [26, 872], [27, 871], [28, 865], [29, 866], [30, 864], [31, 867], [32, 865], [33, 867], [34, 868], [35, 867], [36, 866], [224, 879], [225, 880], [226, 881], [227, 882], [228, 883], [229, 884], [230, 885], [231, 886], [232, 887], [233, 888], [234, 889], [235, 890], [3, 859], [4, 860], [5, 861], [6, 862], [236, 891]]); +var n86 = t([[24, 872], [25, 873], [26, 872], [27, 871], [28, 866], [29, 867], [30, 865], [31, 869], [32, 866], [33, 868], [34, 869], [35, 868], [36, 867], [224, 879], [225, 880], [226, 881], [227, 882], [228, 883], [229, 884], [230, 885], [231, 886], [232, 887], [233, 888], [234, 889], [235, 890], [3, 859], [4, 860], [5, 861], [6, 862], [236, 891]]); +var n87 = t([[0, 9], [1, 16], [2, 908], [3, 893], [4, 894], [5, 895], [6, 896], [7, 907], [8, 906], [9, 905], [10, 566], [11, 904], [12, 903], [13, 902], [14, 901], [15, 900], [16, 899], [17, 898], [18, 897], [19, 892], [20, 1058], [21, 1059], [22, 1060], [23, 1061], [24, 897], [25, 1061], [26, 897], [27, 898], [28, 906], [29, 905], [30, 907], [31, 905], [32, 906], [33, 566], [34, 904], [35, 566], [36, 905], [37, 900], [38, 892], [224, 913], [225, 914], [226, 915], [227, 916], [228, 917], [229, 918], [230, 919], [231, 920], [232, 921], [233, 922], [234, 923], [235, 924], [236, 925]]); +var n88 = t([[24, 906], [25, 907], [26, 906], [27, 905], [28, 899], [29, 900], [30, 898], [31, 901], [32, 899], [33, 901], [34, 902], [35, 901], [36, 900], [224, 913], [225, 914], [226, 915], [227, 916], [228, 917], [229, 918], [230, 919], [231, 920], [232, 921], [233, 922], [234, 923], [235, 924], [3, 893], [4, 894], [5, 895], [6, 896], [236, 925]]); +var n89 = t([[24, 906], [25, 907], [26, 906], [27, 905], [28, 900], [29, 901], [30, 899], [31, 903], [32, 900], [33, 902], [34, 903], [35, 902], [36, 901], [224, 913], [225, 914], [226, 915], [227, 916], [228, 917], [229, 918], [230, 919], [231, 920], [232, 921], [233, 922], [234, 923], [235, 924], [3, 893], [4, 894], [5, 895], [6, 896], [236, 925]]); +var n90 = t([[0, 9], [1, 16], [2, 942], [3, 927], [4, 928], [5, 929], [6, 930], [7, 941], [8, 940], [9, 939], [10, 601], [11, 938], [12, 937], [13, 936], [14, 935], [15, 934], [16, 933], [17, 932], [18, 931], [19, 926], [20, 1062], [21, 1063], [22, 1064], [23, 1065], [24, 931], [25, 1065], [26, 931], [27, 932], [28, 940], [29, 939], [30, 941], [31, 939], [32, 940], [33, 601], [34, 938], [35, 601], [36, 939], [37, 934], [38, 926], [224, 947], [225, 948], [226, 949], [227, 950], [228, 951], [229, 952], [230, 953], [231, 954], [232, 955], [233, 956], [234, 957], [235, 958], [236, 959]]); +var n91 = t([[24, 940], [25, 941], [26, 940], [27, 939], [28, 933], [29, 934], [30, 932], [31, 935], [32, 933], [33, 935], [34, 936], [35, 935], [36, 934], [224, 947], [225, 948], [226, 949], [227, 950], [228, 951], [229, 952], [230, 953], [231, 954], [232, 955], [233, 956], [234, 957], [235, 958], [3, 927], [4, 928], [5, 929], [6, 930], [236, 959]]); +var n92 = t([[24, 940], [25, 941], [26, 940], [27, 939], [28, 934], [29, 935], [30, 933], [31, 937], [32, 934], [33, 936], [34, 937], [35, 936], [36, 935], [224, 947], [225, 948], [226, 949], [227, 950], [228, 951], [229, 952], [230, 953], [231, 954], [232, 955], [233, 956], [234, 957], [235, 958], [3, 927], [4, 928], [5, 929], [6, 930], [236, 959]]); +var n93 = t([[0, 9], [1, 16], [2, 976], [3, 961], [4, 962], [5, 963], [6, 964], [7, 975], [8, 974], [9, 973], [10, 636], [11, 972], [12, 971], [13, 970], [14, 969], [15, 968], [16, 967], [17, 966], [18, 965], [19, 960], [20, 1066], [21, 1067], [22, 1068], [23, 1069], [24, 965], [25, 1069], [26, 965], [27, 966], [28, 974], [29, 973], [30, 975], [31, 973], [32, 974], [33, 636], [34, 972], [35, 636], [36, 973], [37, 968], [38, 960], [224, 981], [225, 982], [226, 983], [227, 984], [228, 985], [229, 986], [230, 987], [231, 988], [232, 989], [233, 990], [234, 991], [235, 992], [236, 993]]); +var n94 = t([[24, 974], [25, 975], [26, 974], [27, 973], [28, 967], [29, 968], [30, 966], [31, 969], [32, 967], [33, 969], [34, 970], [35, 969], [36, 968], [224, 981], [225, 982], [226, 983], [227, 984], [228, 985], [229, 986], [230, 987], [231, 988], [232, 989], [233, 990], [234, 991], [235, 992], [3, 961], [4, 962], [5, 963], [6, 964], [236, 993]]); +var n95 = t([[24, 974], [25, 975], [26, 974], [27, 973], [28, 968], [29, 969], [30, 967], [31, 971], [32, 968], [33, 970], [34, 971], [35, 970], [36, 969], [224, 981], [225, 982], [226, 983], [227, 984], [228, 985], [229, 986], [230, 987], [231, 988], [232, 989], [233, 990], [234, 991], [235, 992], [3, 961], [4, 962], [5, 963], [6, 964], [236, 993]]); +var n96 = t([[0, 9], [1, 16], [2, 673], [3, 659], [4, 660], [5, 661], [6, 662], [7, 672], [8, 671], [9, 670], [10, 669], [11, 197], [12, 668], [13, 667], [14, 666], [15, 13], [16, 665], [17, 664], [18, 663], [19, 658], [20, 1030], [21, 1031], [22, 1032], [23, 1033], [24, 663], [25, 1033], [26, 663], [27, 664], [28, 671], [29, 670], [30, 672], [31, 670], [32, 671], [33, 669], [34, 197], [35, 669], [36, 670], [37, 13], [38, 658], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [236, 690]]); +var n97 = t([[24, 671], [25, 672], [26, 671], [27, 670], [28, 665], [29, 13], [30, 664], [31, 666], [32, 665], [33, 666], [34, 667], [35, 666], [36, 13], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [3, 659], [4, 660], [5, 661], [6, 662], [236, 690]]); +var n98 = t([[24, 671], [25, 672], [26, 671], [27, 670], [28, 13], [29, 666], [30, 665], [31, 668], [32, 13], [33, 667], [34, 668], [35, 667], [36, 666], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [3, 659], [4, 660], [5, 661], [6, 662], [236, 690]]); +var n99 = t([[24, 17], [25, 17], [26, 17], [27, 18], [28, 12], [29, 11], [30, 13], [31, 17], [32, 12], [33, 14], [34, 13], [35, 14], [36, 15], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [3, 3], [4, 4], [5, 5], [6, 6], [236, 211]]); +var n100 = t([[24, 11], [25, 7], [26, 11], [27, 1], [28, 195], [29, 196], [30, 16], [31, 11], [32, 195], [33, 197], [34, 198], [35, 197], [36, 196], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [3, 213], [4, 214], [5, 215], [6, 216], [236, 338]]); +var n101 = t([[24, 11], [25, 11], [26, 11], [27, 7], [28, 195], [29, 16], [30, 196], [31, 11], [32, 195], [33, 197], [34, 196], [35, 197], [36, 198], [224, 326], [225, 327], [226, 328], [227, 329], [228, 330], [229, 331], [230, 332], [231, 333], [232, 334], [233, 335], [234, 336], [235, 337], [3, 213], [4, 214], [5, 215], [6, 216], [236, 338]]); +var n102 = t([[24, 358], [25, 358], [26, 358], [27, 359], [28, 353], [29, 352], [30, 354], [31, 358], [32, 353], [33, 355], [34, 354], [35, 355], [36, 356], [224, 365], [225, 366], [226, 367], [227, 368], [228, 369], [229, 370], [230, 371], [231, 372], [232, 373], [233, 374], [234, 375], [235, 376], [3, 344], [4, 345], [5, 346], [6, 347], [236, 377]]); +var n103 = t([[24, 393], [25, 393], [26, 393], [27, 394], [28, 388], [29, 387], [30, 389], [31, 393], [32, 388], [33, 390], [34, 389], [35, 390], [36, 391], [224, 400], [225, 401], [226, 402], [227, 403], [228, 404], [229, 405], [230, 406], [231, 407], [232, 408], [233, 409], [234, 410], [235, 411], [3, 379], [4, 380], [5, 381], [6, 382], [236, 412]]); +var n104 = t([[24, 428], [25, 428], [26, 428], [27, 429], [28, 423], [29, 422], [30, 424], [31, 428], [32, 423], [33, 425], [34, 424], [35, 425], [36, 426], [224, 435], [225, 436], [226, 437], [227, 438], [228, 439], [229, 440], [230, 441], [231, 442], [232, 443], [233, 444], [234, 445], [235, 446], [3, 414], [4, 415], [5, 416], [6, 417], [236, 447]]); +var n105 = t([[24, 463], [25, 463], [26, 463], [27, 464], [28, 458], [29, 457], [30, 459], [31, 463], [32, 458], [33, 460], [34, 459], [35, 460], [36, 461], [224, 470], [225, 471], [226, 472], [227, 473], [228, 474], [229, 475], [230, 476], [231, 477], [232, 478], [233, 479], [234, 480], [235, 481], [3, 449], [4, 450], [5, 451], [6, 452], [236, 482]]); +var n106 = t([[24, 498], [25, 498], [26, 498], [27, 499], [28, 493], [29, 492], [30, 494], [31, 498], [32, 493], [33, 495], [34, 494], [35, 495], [36, 496], [224, 505], [225, 506], [226, 507], [227, 508], [228, 509], [229, 510], [230, 511], [231, 512], [232, 513], [233, 514], [234, 515], [235, 516], [3, 484], [4, 485], [5, 486], [6, 487], [236, 517]]); +var n107 = t([[24, 533], [25, 533], [26, 533], [27, 534], [28, 528], [29, 527], [30, 529], [31, 533], [32, 528], [33, 530], [34, 529], [35, 530], [36, 531], [224, 540], [225, 541], [226, 542], [227, 543], [228, 544], [229, 545], [230, 546], [231, 547], [232, 548], [233, 549], [234, 550], [235, 551], [3, 519], [4, 520], [5, 521], [6, 522], [236, 552]]); +var n108 = t([[24, 568], [25, 568], [26, 568], [27, 569], [28, 563], [29, 562], [30, 564], [31, 568], [32, 563], [33, 565], [34, 564], [35, 565], [36, 566], [224, 575], [225, 576], [226, 577], [227, 578], [228, 579], [229, 580], [230, 581], [231, 582], [232, 583], [233, 584], [234, 585], [235, 586], [3, 554], [4, 555], [5, 556], [6, 557], [236, 587]]); +var n109 = t([[24, 603], [25, 603], [26, 603], [27, 604], [28, 598], [29, 597], [30, 599], [31, 603], [32, 598], [33, 600], [34, 599], [35, 600], [36, 601], [224, 610], [225, 611], [226, 612], [227, 613], [228, 614], [229, 615], [230, 616], [231, 617], [232, 618], [233, 619], [234, 620], [235, 621], [3, 589], [4, 590], [5, 591], [6, 592], [236, 622]]); +var n110 = t([[24, 638], [25, 638], [26, 638], [27, 639], [28, 633], [29, 632], [30, 634], [31, 638], [32, 633], [33, 635], [34, 634], [35, 635], [36, 636], [224, 645], [225, 646], [226, 647], [227, 648], [228, 649], [229, 650], [230, 651], [231, 652], [232, 653], [233, 654], [234, 655], [235, 656], [3, 624], [4, 625], [5, 626], [6, 627], [236, 657]]); +var n111 = t([[24, 671], [25, 671], [26, 671], [27, 672], [28, 667], [29, 666], [30, 668], [31, 671], [32, 667], [33, 197], [34, 668], [35, 197], [36, 669], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [3, 659], [4, 660], [5, 661], [6, 662], [236, 690]]); +var n112 = t([[24, 17], [25, 18], [26, 17], [27, 16], [28, 12], [29, 13], [30, 11], [31, 17], [32, 12], [33, 14], [34, 15], [35, 14], [36, 13], [224, 199], [225, 200], [226, 201], [227, 202], [228, 203], [229, 204], [230, 205], [231, 206], [232, 207], [233, 208], [234, 209], [235, 210], [3, 3], [4, 4], [5, 5], [6, 6], [236, 211]]); +var n113 = t([[24, 703], [25, 9], [26, 703], [27, 702], [28, 699], [29, 700], [30, 698], [31, 703], [32, 699], [33, 671], [34, 701], [35, 671], [36, 700], [224, 709], [225, 710], [226, 711], [227, 712], [228, 713], [229, 714], [230, 715], [231, 716], [232, 717], [233, 718], [234, 719], [235, 720], [3, 692], [4, 693], [5, 694], [6, 695], [236, 721]]); +var n114 = t([[24, 736], [25, 737], [26, 736], [27, 735], [28, 732], [29, 733], [30, 731], [31, 736], [32, 732], [33, 734], [34, 391], [35, 734], [36, 733], [224, 743], [225, 744], [226, 745], [227, 746], [228, 747], [229, 748], [230, 749], [231, 750], [232, 751], [233, 752], [234, 753], [235, 754], [3, 723], [4, 724], [5, 725], [6, 726], [236, 755]]); +var n115 = t([[24, 770], [25, 771], [26, 770], [27, 769], [28, 766], [29, 767], [30, 765], [31, 770], [32, 766], [33, 768], [34, 426], [35, 768], [36, 767], [224, 777], [225, 778], [226, 779], [227, 780], [228, 781], [229, 782], [230, 783], [231, 784], [232, 785], [233, 786], [234, 787], [235, 788], [3, 757], [4, 758], [5, 759], [6, 760], [236, 789]]); +var n116 = t([[24, 804], [25, 805], [26, 804], [27, 803], [28, 800], [29, 801], [30, 799], [31, 804], [32, 800], [33, 802], [34, 461], [35, 802], [36, 801], [224, 811], [225, 812], [226, 813], [227, 814], [228, 815], [229, 816], [230, 817], [231, 818], [232, 819], [233, 820], [234, 821], [235, 822], [3, 791], [4, 792], [5, 793], [6, 794], [236, 823]]); +var n117 = t([[24, 838], [25, 839], [26, 838], [27, 837], [28, 834], [29, 835], [30, 833], [31, 838], [32, 834], [33, 836], [34, 496], [35, 836], [36, 835], [224, 845], [225, 846], [226, 847], [227, 848], [228, 849], [229, 850], [230, 851], [231, 852], [232, 853], [233, 854], [234, 855], [235, 856], [3, 825], [4, 826], [5, 827], [6, 828], [236, 857]]); +var n118 = t([[24, 872], [25, 873], [26, 872], [27, 871], [28, 868], [29, 869], [30, 867], [31, 872], [32, 868], [33, 870], [34, 531], [35, 870], [36, 869], [224, 879], [225, 880], [226, 881], [227, 882], [228, 883], [229, 884], [230, 885], [231, 886], [232, 887], [233, 888], [234, 889], [235, 890], [3, 859], [4, 860], [5, 861], [6, 862], [236, 891]]); +var n119 = t([[24, 906], [25, 907], [26, 906], [27, 905], [28, 902], [29, 903], [30, 901], [31, 906], [32, 902], [33, 904], [34, 566], [35, 904], [36, 903], [224, 913], [225, 914], [226, 915], [227, 916], [228, 917], [229, 918], [230, 919], [231, 920], [232, 921], [233, 922], [234, 923], [235, 924], [3, 893], [4, 894], [5, 895], [6, 896], [236, 925]]); +var n120 = t([[24, 940], [25, 941], [26, 940], [27, 939], [28, 936], [29, 937], [30, 935], [31, 940], [32, 936], [33, 938], [34, 601], [35, 938], [36, 937], [224, 947], [225, 948], [226, 949], [227, 950], [228, 951], [229, 952], [230, 953], [231, 954], [232, 955], [233, 956], [234, 957], [235, 958], [3, 927], [4, 928], [5, 929], [6, 930], [236, 959]]); +var n121 = t([[24, 974], [25, 975], [26, 974], [27, 973], [28, 970], [29, 971], [30, 969], [31, 974], [32, 970], [33, 972], [34, 636], [35, 972], [36, 971], [224, 981], [225, 982], [226, 983], [227, 984], [228, 985], [229, 986], [230, 987], [231, 988], [232, 989], [233, 990], [234, 991], [235, 992], [3, 961], [4, 962], [5, 963], [6, 964], [236, 993]]); +var n122 = t([[24, 671], [25, 672], [26, 671], [27, 670], [28, 667], [29, 668], [30, 666], [31, 671], [32, 667], [33, 197], [34, 669], [35, 197], [36, 668], [224, 678], [225, 679], [226, 680], [227, 681], [228, 682], [229, 683], [230, 684], [231, 685], [232, 686], [233, 687], [234, 688], [235, 689], [3, 659], [4, 660], [5, 661], [6, 662], [236, 690]]); +var themes = { + light: n1, + dark: n2, + light_accent: n3, + light_white_accent: n3, + dark_accent: n4, + dark_black_accent: n4, + light_black: n5, + light_white: n6, + light_gray: n7, + light_blue: n8, + light_red: n9, + light_yellow: n10, + light_green: n11, + light_orange: n12, + light_pink: n13, + light_purple: n14, + light_teal: n15, + light_neutral: n16, + dark_black: n17, + dark_white: n18, + dark_gray: n19, + dark_blue: n20, + dark_red: n21, + dark_yellow: n22, + dark_green: n23, + dark_orange: n24, + dark_pink: n25, + dark_purple: n26, + dark_teal: n27, + dark_neutral: n28, + light_surface1: n29, + light_white_surface1: n29, + light_Input: n29, + light_Progress: n29, + light_Slider: n29, + light_Switch: n29, + light_TextArea: n29, + light_white_Input: n29, + light_white_Progress: n29, + light_white_Slider: n29, + light_white_Switch: n29, + light_white_TextArea: n29, + light_surface2: n30, + light_white_surface2: n30, + light_SliderThumb: n30, + light_white_SliderThumb: n30, + dark_surface1: n31, + dark_black_surface1: n31, + dark_Input: n31, + dark_Progress: n31, + dark_Slider: n31, + dark_Switch: n31, + dark_TextArea: n31, + dark_black_Input: n31, + dark_black_Progress: n31, + dark_black_Slider: n31, + dark_black_Switch: n31, + dark_black_TextArea: n31, + dark_surface2: n32, + dark_black_surface2: n32, + dark_SliderThumb: n32, + dark_black_SliderThumb: n32, + light_black_accent: n33, + light_black_surface1: n34, + light_black_Input: n34, + light_black_Progress: n34, + light_black_Slider: n34, + light_black_Switch: n34, + light_black_TextArea: n34, + light_black_surface2: n35, + light_black_SliderThumb: n35, + light_gray_accent: n36, + light_gray_surface1: n37, + light_gray_Input: n37, + light_gray_Progress: n37, + light_gray_Slider: n37, + light_gray_Switch: n37, + light_gray_TextArea: n37, + light_gray_surface2: n38, + light_gray_SliderThumb: n38, + light_blue_accent: n39, + light_blue_surface1: n40, + light_blue_Input: n40, + light_blue_Progress: n40, + light_blue_Slider: n40, + light_blue_Switch: n40, + light_blue_TextArea: n40, + light_blue_surface2: n41, + light_blue_SliderThumb: n41, + light_red_accent: n42, + light_red_surface1: n43, + light_red_Input: n43, + light_red_Progress: n43, + light_red_Slider: n43, + light_red_Switch: n43, + light_red_TextArea: n43, + light_red_surface2: n44, + light_red_SliderThumb: n44, + light_yellow_accent: n45, + light_yellow_surface1: n46, + light_yellow_Input: n46, + light_yellow_Progress: n46, + light_yellow_Slider: n46, + light_yellow_Switch: n46, + light_yellow_TextArea: n46, + light_yellow_surface2: n47, + light_yellow_SliderThumb: n47, + light_green_accent: n48, + light_green_surface1: n49, + light_green_Input: n49, + light_green_Progress: n49, + light_green_Slider: n49, + light_green_Switch: n49, + light_green_TextArea: n49, + light_green_surface2: n50, + light_green_SliderThumb: n50, + light_orange_accent: n51, + light_orange_surface1: n52, + light_orange_Input: n52, + light_orange_Progress: n52, + light_orange_Slider: n52, + light_orange_Switch: n52, + light_orange_TextArea: n52, + light_orange_surface2: n53, + light_orange_SliderThumb: n53, + light_pink_accent: n54, + light_pink_surface1: n55, + light_pink_Input: n55, + light_pink_Progress: n55, + light_pink_Slider: n55, + light_pink_Switch: n55, + light_pink_TextArea: n55, + light_pink_surface2: n56, + light_pink_SliderThumb: n56, + light_purple_accent: n57, + light_purple_surface1: n58, + light_purple_Input: n58, + light_purple_Progress: n58, + light_purple_Slider: n58, + light_purple_Switch: n58, + light_purple_TextArea: n58, + light_purple_surface2: n59, + light_purple_SliderThumb: n59, + light_teal_accent: n60, + light_teal_surface1: n61, + light_teal_Input: n61, + light_teal_Progress: n61, + light_teal_Slider: n61, + light_teal_Switch: n61, + light_teal_TextArea: n61, + light_teal_surface2: n62, + light_teal_SliderThumb: n62, + light_neutral_accent: n63, + light_neutral_surface1: n64, + light_neutral_Input: n64, + light_neutral_Progress: n64, + light_neutral_Slider: n64, + light_neutral_Switch: n64, + light_neutral_TextArea: n64, + light_neutral_surface2: n65, + light_neutral_SliderThumb: n65, + dark_white_accent: n66, + dark_white_surface1: n67, + dark_white_Input: n67, + dark_white_Progress: n67, + dark_white_Slider: n67, + dark_white_Switch: n67, + dark_white_TextArea: n67, + dark_white_surface2: n68, + dark_white_SliderThumb: n68, + dark_gray_accent: n69, + dark_gray_surface1: n70, + dark_gray_Input: n70, + dark_gray_Progress: n70, + dark_gray_Slider: n70, + dark_gray_Switch: n70, + dark_gray_TextArea: n70, + dark_gray_surface2: n71, + dark_gray_SliderThumb: n71, + dark_blue_accent: n72, + dark_blue_surface1: n73, + dark_blue_Input: n73, + dark_blue_Progress: n73, + dark_blue_Slider: n73, + dark_blue_Switch: n73, + dark_blue_TextArea: n73, + dark_blue_surface2: n74, + dark_blue_SliderThumb: n74, + dark_red_accent: n75, + dark_red_surface1: n76, + dark_red_Input: n76, + dark_red_Progress: n76, + dark_red_Slider: n76, + dark_red_Switch: n76, + dark_red_TextArea: n76, + dark_red_surface2: n77, + dark_red_SliderThumb: n77, + dark_yellow_accent: n78, + dark_yellow_surface1: n79, + dark_yellow_Input: n79, + dark_yellow_Progress: n79, + dark_yellow_Slider: n79, + dark_yellow_Switch: n79, + dark_yellow_TextArea: n79, + dark_yellow_surface2: n80, + dark_yellow_SliderThumb: n80, + dark_green_accent: n81, + dark_green_surface1: n82, + dark_green_Input: n82, + dark_green_Progress: n82, + dark_green_Slider: n82, + dark_green_Switch: n82, + dark_green_TextArea: n82, + dark_green_surface2: n83, + dark_green_SliderThumb: n83, + dark_orange_accent: n84, + dark_orange_surface1: n85, + dark_orange_Input: n85, + dark_orange_Progress: n85, + dark_orange_Slider: n85, + dark_orange_Switch: n85, + dark_orange_TextArea: n85, + dark_orange_surface2: n86, + dark_orange_SliderThumb: n86, + dark_pink_accent: n87, + dark_pink_surface1: n88, + dark_pink_Input: n88, + dark_pink_Progress: n88, + dark_pink_Slider: n88, + dark_pink_Switch: n88, + dark_pink_TextArea: n88, + dark_pink_surface2: n89, + dark_pink_SliderThumb: n89, + dark_purple_accent: n90, + dark_purple_surface1: n91, + dark_purple_Input: n91, + dark_purple_Progress: n91, + dark_purple_Slider: n91, + dark_purple_Switch: n91, + dark_purple_TextArea: n91, + dark_purple_surface2: n92, + dark_purple_SliderThumb: n92, + dark_teal_accent: n93, + dark_teal_surface1: n94, + dark_teal_Input: n94, + dark_teal_Progress: n94, + dark_teal_Slider: n94, + dark_teal_Switch: n94, + dark_teal_TextArea: n94, + dark_teal_surface2: n95, + dark_teal_SliderThumb: n95, + dark_neutral_accent: n96, + dark_neutral_surface1: n97, + dark_neutral_Input: n97, + dark_neutral_Progress: n97, + dark_neutral_Slider: n97, + dark_neutral_Switch: n97, + dark_neutral_TextArea: n97, + dark_neutral_surface2: n98, + dark_neutral_SliderThumb: n98, + light_Button: n99, + light_ProgressIndicator: n99, + light_SliderActive: n99, + light_Tooltip: n99, + light_SwitchThumb: n99, + light_white_Button: n99, + light_white_ProgressIndicator: n99, + light_white_SliderActive: n99, + light_white_Tooltip: n99, + light_white_SwitchThumb: n99, + dark_Button: n100, + dark_ProgressIndicator: n100, + dark_SliderActive: n100, + dark_Tooltip: n100, + dark_SwitchThumb: n100, + dark_black_Button: n100, + dark_black_ProgressIndicator: n100, + dark_black_SliderActive: n100, + dark_black_Tooltip: n100, + dark_black_SwitchThumb: n100, + light_black_Button: n101, + light_black_ProgressIndicator: n101, + light_black_SliderActive: n101, + light_black_Tooltip: n101, + light_black_SwitchThumb: n101, + light_gray_Button: n102, + light_gray_ProgressIndicator: n102, + light_gray_SliderActive: n102, + light_gray_Tooltip: n102, + light_gray_SwitchThumb: n102, + light_blue_Button: n103, + light_blue_ProgressIndicator: n103, + light_blue_SliderActive: n103, + light_blue_Tooltip: n103, + light_blue_SwitchThumb: n103, + light_red_Button: n104, + light_red_ProgressIndicator: n104, + light_red_SliderActive: n104, + light_red_Tooltip: n104, + light_red_SwitchThumb: n104, + light_yellow_Button: n105, + light_yellow_ProgressIndicator: n105, + light_yellow_SliderActive: n105, + light_yellow_Tooltip: n105, + light_yellow_SwitchThumb: n105, + light_green_Button: n106, + light_green_ProgressIndicator: n106, + light_green_SliderActive: n106, + light_green_Tooltip: n106, + light_green_SwitchThumb: n106, + light_orange_Button: n107, + light_orange_ProgressIndicator: n107, + light_orange_SliderActive: n107, + light_orange_Tooltip: n107, + light_orange_SwitchThumb: n107, + light_pink_Button: n108, + light_pink_ProgressIndicator: n108, + light_pink_SliderActive: n108, + light_pink_Tooltip: n108, + light_pink_SwitchThumb: n108, + light_purple_Button: n109, + light_purple_ProgressIndicator: n109, + light_purple_SliderActive: n109, + light_purple_Tooltip: n109, + light_purple_SwitchThumb: n109, + light_teal_Button: n110, + light_teal_ProgressIndicator: n110, + light_teal_SliderActive: n110, + light_teal_Tooltip: n110, + light_teal_SwitchThumb: n110, + light_neutral_Button: n111, + light_neutral_ProgressIndicator: n111, + light_neutral_SliderActive: n111, + light_neutral_Tooltip: n111, + light_neutral_SwitchThumb: n111, + dark_white_Button: n112, + dark_white_ProgressIndicator: n112, + dark_white_SliderActive: n112, + dark_white_Tooltip: n112, + dark_white_SwitchThumb: n112, + dark_gray_Button: n113, + dark_gray_ProgressIndicator: n113, + dark_gray_SliderActive: n113, + dark_gray_Tooltip: n113, + dark_gray_SwitchThumb: n113, + dark_blue_Button: n114, + dark_blue_ProgressIndicator: n114, + dark_blue_SliderActive: n114, + dark_blue_Tooltip: n114, + dark_blue_SwitchThumb: n114, + dark_red_Button: n115, + dark_red_ProgressIndicator: n115, + dark_red_SliderActive: n115, + dark_red_Tooltip: n115, + dark_red_SwitchThumb: n115, + dark_yellow_Button: n116, + dark_yellow_ProgressIndicator: n116, + dark_yellow_SliderActive: n116, + dark_yellow_Tooltip: n116, + dark_yellow_SwitchThumb: n116, + dark_green_Button: n117, + dark_green_ProgressIndicator: n117, + dark_green_SliderActive: n117, + dark_green_Tooltip: n117, + dark_green_SwitchThumb: n117, + dark_orange_Button: n118, + dark_orange_ProgressIndicator: n118, + dark_orange_SliderActive: n118, + dark_orange_Tooltip: n118, + dark_orange_SwitchThumb: n118, + dark_pink_Button: n119, + dark_pink_ProgressIndicator: n119, + dark_pink_SliderActive: n119, + dark_pink_Tooltip: n119, + dark_pink_SwitchThumb: n119, + dark_purple_Button: n120, + dark_purple_ProgressIndicator: n120, + dark_purple_SliderActive: n120, + dark_purple_Tooltip: n120, + dark_purple_SwitchThumb: n120, + dark_teal_Button: n121, + dark_teal_ProgressIndicator: n121, + dark_teal_SliderActive: n121, + dark_teal_Tooltip: n121, + dark_teal_SwitchThumb: n121, + dark_neutral_Button: n122, + dark_neutral_ProgressIndicator: n122, + dark_neutral_SliderActive: n122, + dark_neutral_Tooltip: n122, + dark_neutral_SwitchThumb: n122 }; // node_modules/@tamagui/themes/dist/esm/utils.mjs @@ -79,7 +564,7 @@ function sizeToSpace(v) { } __name(sizeToSpace, "sizeToSpace"); -// node_modules/@tamagui/themes/dist/esm/v4-tokens.mjs +// node_modules/@tamagui/themes/dist/esm/v5-tokens.mjs var size = { $0: 0, "$0.25": 2, @@ -148,553 +633,103 @@ var tokens = { size }; -// node_modules/@tamagui/themes/dist/esm/generated-v4.mjs -function t(a) { - let res = {}; - for (const [ki, vi] of a) res[ks[ki]] = colors[vi]; - return res; -} -__name(t, "t"); -var colors = ["hsla(0, 0%, 10%, 1)", "hsla(0, 0%, 38%, 1)", "hsla(0, 0%, 100%, 0)", "hsla(0, 0%, 100%, 0.2)", "hsla(0, 0%, 100%, 0.4)", "hsla(0, 0%, 100%, 0.6)", "hsla(0, 0%, 100%, 0.8)", "hsla(0, 0%, 100%, 1)", "hsla(0, 0%, 95%, 1)", "hsla(0, 0%, 93%, 1)", "hsla(0, 0%, 91%, 1)", "hsla(0, 0%, 88%, 1)", "hsla(0, 0%, 85%, 1)", "hsla(0, 0%, 82%, 1)", "hsla(0, 0%, 76%, 1)", "hsla(0, 0%, 56%, 1)", "hsla(0, 0%, 50%, 1)", "hsla(0, 0%, 42%, 1)", "hsla(0, 0%, 9%, 1)", "hsla(0, 0%, 9%, 0)", "hsla(0, 0%, 9%, 0.2)", "hsla(0, 0%, 9%, 0.4)", "hsla(0, 0%, 9%, 0.6)", "hsla(0, 0%, 9%, 0.8)", "hsl(206, 100%, 99.2%)", "hsl(210, 100%, 98.0%)", "hsl(209, 100%, 96.5%)", "hsl(210, 98.8%, 94.0%)", "hsl(209, 95.0%, 90.1%)", "hsl(209, 81.2%, 84.5%)", "hsl(208, 77.5%, 76.9%)", "hsl(206, 81.9%, 65.3%)", "hsl(206, 100%, 50.0%)", "hsl(208, 100%, 47.3%)", "hsl(211, 100%, 43.2%)", "hsl(211, 100%, 15.0%)", "hsl(136, 50.0%, 98.9%)", "hsl(138, 62.5%, 96.9%)", "hsl(139, 55.2%, 94.5%)", "hsl(140, 48.7%, 91.0%)", "hsl(141, 43.7%, 86.0%)", "hsl(143, 40.3%, 79.0%)", "hsl(146, 38.5%, 69.0%)", "hsl(151, 40.2%, 54.1%)", "hsl(151, 55.0%, 41.5%)", "hsl(152, 57.5%, 37.6%)", "hsl(153, 67.0%, 28.5%)", "hsl(155, 40.0%, 14.0%)", "hsl(359, 100%, 99.4%)", "hsl(359, 100%, 98.6%)", "hsl(360, 100%, 96.8%)", "hsl(360, 97.9%, 94.8%)", "hsl(360, 90.2%, 91.9%)", "hsl(360, 81.7%, 87.8%)", "hsl(359, 74.2%, 81.7%)", "hsl(359, 69.5%, 74.3%)", "hsl(358, 75.0%, 59.0%)", "hsl(358, 69.4%, 55.2%)", "hsl(358, 65.0%, 48.7%)", "hsl(354, 50.0%, 14.6%)", "hsl(60, 54.0%, 98.5%)", "hsl(52, 100%, 95.5%)", "hsl(55, 100%, 90.9%)", "hsl(54, 100%, 86.6%)", "hsl(52, 97.9%, 82.0%)", "hsl(50, 89.4%, 76.1%)", "hsl(47, 80.4%, 68.0%)", "hsl(48, 100%, 46.1%)", "hsl(53, 92.0%, 50.0%)", "hsl(50, 100%, 48.5%)", "hsl(42, 100%, 29.0%)", "hsl(40, 55.0%, 13.5%)", "rgba(0,0,0,0.04)", "rgba(0,0,0,0.08)", "rgba(0,0,0,0.16)", "rgba(0,0,0,0.24)", "rgba(0,0,0,0.32)", "rgba(0,0,0,0.4)", "#050505", "#151515", "#191919", "#232323", "#282828", "#323232", "#424242", "#494949", "#545454", "#626262", "#a5a5a5", "#fff", "#f2f2f2", "hsl(0, 0%, 93%)", "hsl(0, 0%, 91%)", "hsl(0, 0%, 88%)", "hsl(0, 0%, 85%)", "hsl(0, 0%, 82%)", "hsl(0, 0%, 76%)", "hsl(0, 0%, 56%)", "hsl(0, 0%, 50%)", "hsl(0, 0%, 42%)", "hsl(0, 0%, 9%)", "hsla(0, 0%, 2%, 1)", "hsla(0, 0%, 8%, 1)", "hsla(0, 0%, 14%, 1)", "hsla(0, 0%, 16%, 1)", "hsla(0, 0%, 20%, 1)", "hsla(0, 0%, 26%, 1)", "hsla(0, 0%, 29%, 1)", "hsla(0, 0%, 33%, 1)", "hsla(0, 0%, 65%, 1)", "hsla(0, 0%, 2%, 0)", "hsla(0, 0%, 2%, 0.2)", "hsla(0, 0%, 2%, 0.4)", "hsla(0, 0%, 2%, 0.6)", "hsla(0, 0%, 2%, 0.8)", "hsl(212, 35.0%, 9.2%)", "hsl(216, 50.0%, 11.8%)", "hsl(214, 59.4%, 15.3%)", "hsl(214, 65.8%, 17.9%)", "hsl(213, 71.2%, 20.2%)", "hsl(212, 77.4%, 23.1%)", "hsl(211, 85.1%, 27.4%)", "hsl(211, 89.7%, 34.1%)", "hsl(209, 100%, 60.6%)", "hsl(210, 100%, 66.1%)", "hsl(206, 98.0%, 95.8%)", "hsl(146, 30.0%, 7.4%)", "hsl(155, 44.2%, 8.4%)", "hsl(155, 46.7%, 10.9%)", "hsl(154, 48.4%, 12.9%)", "hsl(154, 49.7%, 14.9%)", "hsl(154, 50.9%, 17.6%)", "hsl(153, 51.8%, 21.8%)", "hsl(151, 51.7%, 28.4%)", "hsl(151, 49.3%, 46.5%)", "hsl(151, 50.0%, 53.2%)", "hsl(137, 72.0%, 94.0%)", "hsl(353, 23.0%, 9.8%)", "hsl(357, 34.4%, 12.0%)", "hsl(356, 43.4%, 16.4%)", "hsl(356, 47.6%, 19.2%)", "hsl(356, 51.1%, 21.9%)", "hsl(356, 55.2%, 25.9%)", "hsl(357, 60.2%, 31.8%)", "hsl(358, 65.0%, 40.4%)", "hsl(358, 85.3%, 64.0%)", "hsl(358, 100%, 69.5%)", "hsl(351, 89.0%, 96.0%)", "hsl(45, 100%, 5.5%)", "hsl(46, 100%, 6.7%)", "hsl(45, 100%, 8.7%)", "hsl(45, 100%, 10.4%)", "hsl(47, 100%, 12.1%)", "hsl(49, 100%, 14.3%)", "hsl(49, 90.3%, 18.4%)", "hsl(50, 100%, 22.0%)", "hsl(54, 100%, 68.0%)", "hsl(48, 100%, 47.0%)", "hsl(53, 100%, 91.0%)", "rgba(0,0,0,0.2)", "rgba(0,0,0,0.3)", "rgba(0,0,0,0.5)", "rgba(0,0,0,0.6)", "rgba(0,0,0,0.7)", "hsla(216, 100%, 99%, 0)", "hsla(216, 100%, 99%, 0.2)", "hsla(216, 100%, 99%, 0.4)", "hsla(216, 100%, 99%, 0.6)", "hsla(216, 100%, 99%, 0.8)", "hsla(210, 100%, 99%, 1)", "hsla(210, 100%, 98%, 1)", "hsla(210, 100%, 96%, 1)", "hsla(210, 100%, 94%, 1)", "hsla(209, 96%, 90%, 1)", "hsla(209, 82%, 85%, 1)", "hsla(208, 78%, 77%, 1)", "hsla(206, 82%, 65%, 1)", "hsla(206, 100%, 50%, 1)", "hsla(208, 100%, 47%, 1)", "hsla(211, 100%, 43%, 1)", "hsla(211, 100%, 15%, 1)", "hsla(211, 100%, 15%, 0)", "hsla(211, 100%, 15%, 0.2)", "hsla(211, 100%, 15%, 0.4)", "hsla(211, 100%, 15%, 0.6)", "hsla(211, 100%, 15%, 0.8)", "hsla(0, 100%, 99%, 0)", "hsla(0, 100%, 99%, 0.2)", "hsla(0, 100%, 99%, 0.4)", "hsla(0, 100%, 99%, 0.6)", "hsla(0, 100%, 99%, 0.8)", "hsla(0, 100%, 99%, 1)", "hsla(0, 100%, 97%, 1)", "hsla(0, 100%, 95%, 1)", "hsla(0, 90%, 92%, 1)", "hsla(0, 81%, 88%, 1)", "hsla(359, 74%, 82%, 1)", "hsla(359, 69%, 74%, 1)", "hsla(358, 75%, 59%, 1)", "hsla(358, 69%, 55%, 1)", "hsla(358, 65%, 49%, 1)", "hsla(355, 49%, 15%, 1)", "hsla(355, 48%, 15%, 0)", "hsla(355, 48%, 15%, 0.2)", "hsla(355, 48%, 15%, 0.4)", "hsla(355, 48%, 15%, 0.6)", "hsla(355, 48%, 15%, 0.8)", "hsla(60, 45%, 98%, 0)", "hsla(60, 45%, 98%, 0.2)", "hsla(60, 45%, 98%, 0.4)", "hsla(60, 45%, 98%, 0.6)", "hsla(60, 45%, 98%, 0.8)", "hsla(60, 50%, 98%, 1)", "hsla(52, 100%, 95%, 1)", "hsla(55, 100%, 91%, 1)", "hsla(54, 100%, 87%, 1)", "hsla(52, 98%, 82%, 1)", "hsla(50, 90%, 76%, 1)", "hsla(47, 80%, 68%, 1)", "hsla(48, 100%, 46%, 1)", "hsla(53, 92%, 50%, 1)", "hsla(50, 100%, 48%, 1)", "hsla(42, 100%, 29%, 1)", "hsla(41, 56%, 13%, 1)", "hsla(41, 55%, 13%, 0)", "hsla(41, 55%, 13%, 0.2)", "hsla(41, 55%, 13%, 0.4)", "hsla(41, 55%, 13%, 0.6)", "hsla(41, 55%, 13%, 0.8)", "hsla(140, 60%, 99%, 0)", "hsla(140, 60%, 99%, 0.2)", "hsla(140, 60%, 99%, 0.4)", "hsla(140, 60%, 99%, 0.6)", "hsla(140, 60%, 99%, 0.8)", "hsla(140, 60%, 99%, 1)", "hsla(138, 63%, 97%, 1)", "hsla(139, 57%, 95%, 1)", "hsla(139, 48%, 91%, 1)", "hsla(141, 44%, 86%, 1)", "hsla(142, 40%, 79%, 1)", "hsla(146, 38%, 69%, 1)", "hsla(151, 40%, 54%, 1)", "hsla(151, 55%, 42%, 1)", "hsla(152, 57%, 38%, 1)", "hsla(153, 67%, 28%, 1)", "hsla(155, 41%, 14%, 1)", "hsla(155, 41%, 14%, 0)", "hsla(155, 41%, 14%, 0.2)", "hsla(155, 41%, 14%, 0.4)", "hsla(155, 41%, 14%, 0.6)", "hsla(155, 41%, 14%, 0.8)", "hsla(214, 35%, 9%, 0)", "hsla(214, 35%, 9%, 0.2)", "hsla(214, 35%, 9%, 0.4)", "hsla(214, 35%, 9%, 0.6)", "hsla(214, 35%, 9%, 0.8)", "hsla(212, 36%, 9%, 1)", "hsla(216, 50%, 12%, 1)", "hsla(214, 59%, 15%, 1)", "hsla(214, 65%, 18%, 1)", "hsla(213, 71%, 20%, 1)", "hsla(212, 78%, 23%, 1)", "hsla(211, 86%, 27%, 1)", "hsla(211, 90%, 34%, 1)", "hsla(209, 100%, 61%, 1)", "hsla(210, 100%, 66%, 1)", "hsla(206, 100%, 96%, 1)", "hsla(207, 100%, 96%, 0)", "hsla(207, 100%, 96%, 0.2)", "hsla(207, 100%, 96%, 0.4)", "hsla(207, 100%, 96%, 0.6)", "hsla(207, 100%, 96%, 0.8)", "hsla(351, 25%, 10%, 0)", "hsla(351, 25%, 10%, 0.2)", "hsla(351, 25%, 10%, 0.4)", "hsla(351, 25%, 10%, 0.6)", "hsla(351, 25%, 10%, 0.8)", "hsla(350, 24%, 10%, 1)", "hsla(357, 34%, 12%, 1)", "hsla(357, 43%, 16%, 1)", "hsla(356, 47%, 19%, 1)", "hsla(356, 51%, 22%, 1)", "hsla(357, 55%, 26%, 1)", "hsla(357, 60%, 32%, 1)", "hsla(358, 65%, 40%, 1)", "hsla(358, 86%, 64%, 1)", "hsla(358, 100%, 69%, 1)", "hsla(353, 90%, 96%, 1)", "hsla(353, 90%, 96%, 0)", "hsla(353, 90%, 96%, 0.2)", "hsla(353, 90%, 96%, 0.4)", "hsla(353, 90%, 96%, 0.6)", "hsla(353, 90%, 96%, 0.8)", "hsla(46, 100%, 5%, 0)", "hsla(46, 100%, 5%, 0.2)", "hsla(46, 100%, 5%, 0.4)", "hsla(46, 100%, 5%, 0.6)", "hsla(46, 100%, 5%, 0.8)", "hsla(45, 100%, 5%, 1)", "hsla(46, 100%, 7%, 1)", "hsla(45, 100%, 9%, 1)", "hsla(45, 100%, 10%, 1)", "hsla(46, 100%, 12%, 1)", "hsla(49, 100%, 14%, 1)", "hsla(49, 89%, 18%, 1)", "hsla(50, 100%, 22%, 1)", "hsla(54, 100%, 68%, 1)", "hsla(48, 100%, 47%, 1)", "hsla(53, 100%, 91%, 1)", "hsla(53, 100%, 91%, 0)", "hsla(53, 100%, 91%, 0.2)", "hsla(53, 100%, 91%, 0.4)", "hsla(53, 100%, 91%, 0.6)", "hsla(53, 100%, 91%, 0.8)", "hsla(145, 33%, 7%, 0)", "hsla(145, 33%, 7%, 0.2)", "hsla(145, 33%, 7%, 0.4)", "hsla(145, 33%, 7%, 0.6)", "hsla(145, 33%, 7%, 0.8)", "hsla(145, 32%, 7%, 1)", "hsla(155, 44%, 8%, 1)", "hsla(155, 46%, 11%, 1)", "hsla(154, 48%, 13%, 1)", "hsla(155, 50%, 15%, 1)", "hsla(154, 51%, 18%, 1)", "hsla(153, 51%, 22%, 1)", "hsla(151, 52%, 28%, 1)", "hsla(151, 49%, 46%, 1)", "hsla(151, 50%, 53%, 1)", "hsla(136, 73%, 94%, 1)", "hsla(134, 73%, 94%, 0)", "hsla(134, 73%, 94%, 0.2)", "hsla(134, 73%, 94%, 0.4)", "hsla(134, 73%, 94%, 0.6)", "hsla(134, 73%, 94%, 0.8)"]; -var ks = ["accentBackground", "accentColor", "background0", "background02", "background04", "background06", "background08", "color1", "color2", "color3", "color4", "color5", "color6", "color7", "color8", "color9", "color10", "color11", "color12", "color0", "color02", "color04", "color06", "color08", "background", "backgroundHover", "backgroundPress", "backgroundFocus", "borderColor", "borderColorHover", "borderColorPress", "borderColorFocus", "color", "colorHover", "colorPress", "colorFocus", "placeholderColor", "outlineColor", "colorTransparent", "blue1", "blue2", "blue3", "blue4", "blue5", "blue6", "blue7", "blue8", "blue9", "blue10", "blue11", "blue12", "green1", "green2", "green3", "green4", "green5", "green6", "green7", "green8", "green9", "green10", "green11", "green12", "red1", "red2", "red3", "red4", "red5", "red6", "red7", "red8", "red9", "red10", "red11", "red12", "yellow1", "yellow2", "yellow3", "yellow4", "yellow5", "yellow6", "yellow7", "yellow8", "yellow9", "yellow10", "yellow11", "yellow12", "shadow1", "shadow2", "shadow3", "shadow4", "shadow5", "shadow6", "black1", "black2", "black3", "black4", "black5", "black6", "black7", "black8", "black9", "black10", "black11", "black12", "white1", "white2", "white3", "white4", "white5", "white6", "white7", "white8", "white9", "white10", "white11", "white12", "shadowColor", "accent1", "accent2", "accent3", "accent4", "accent5", "accent6", "accent7", "accent8", "accent9", "accent10", "accent11", "accent12"]; -var n1 = t([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 7], [25, 6], [26, 8], [27, 8], [28, 10], [29, 9], [30, 11], [31, 10], [32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [38, 19], [39, 24], [40, 25], [41, 26], [42, 27], [43, 28], [44, 29], [45, 30], [46, 31], [47, 32], [48, 33], [49, 34], [50, 35], [51, 36], [52, 37], [53, 38], [54, 39], [55, 40], [56, 41], [57, 42], [58, 43], [59, 44], [60, 45], [61, 46], [62, 47], [63, 48], [64, 49], [65, 50], [66, 51], [67, 52], [68, 53], [69, 54], [70, 55], [71, 56], [72, 57], [73, 58], [74, 59], [75, 60], [76, 61], [77, 62], [78, 63], [79, 64], [80, 65], [81, 66], [82, 67], [83, 68], [84, 69], [85, 70], [86, 71], [87, 72], [88, 73], [89, 74], [90, 75], [91, 76], [92, 77], [93, 78], [94, 79], [95, 80], [96, 81], [97, 82], [98, 83], [99, 84], [100, 85], [101, 86], [102, 87], [103, 88], [104, 89], [105, 89], [106, 90], [107, 91], [108, 92], [109, 93], [110, 94], [111, 95], [112, 96], [113, 97], [114, 98], [115, 99], [116, 100], [117, 72], [118, 101], [119, 102], [120, 0], [121, 103], [122, 104], [123, 105], [124, 106], [125, 107], [126, 108], [127, 1], [128, 109], [129, 7]]); -var n2 = t([[0, 16], [1, 9], [2, 110], [3, 111], [4, 112], [5, 113], [6, 114], [7, 101], [8, 102], [9, 0], [10, 103], [11, 104], [12, 105], [13, 106], [14, 107], [15, 108], [16, 1], [17, 109], [18, 7], [19, 2], [20, 3], [21, 4], [22, 5], [23, 6], [24, 101], [25, 102], [26, 114], [27, 114], [28, 103], [29, 104], [30, 0], [31, 103], [32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [38, 2], [39, 115], [40, 116], [41, 117], [42, 118], [43, 119], [44, 120], [45, 121], [46, 122], [47, 32], [48, 123], [49, 124], [50, 125], [51, 126], [52, 127], [53, 128], [54, 129], [55, 130], [56, 131], [57, 132], [58, 133], [59, 44], [60, 134], [61, 135], [62, 136], [63, 137], [64, 138], [65, 139], [66, 140], [67, 141], [68, 142], [69, 143], [70, 144], [71, 56], [72, 145], [73, 146], [74, 147], [75, 148], [76, 149], [77, 150], [78, 151], [79, 152], [80, 153], [81, 154], [82, 155], [83, 68], [84, 156], [85, 157], [86, 158], [87, 159], [88, 160], [89, 77], [90, 161], [91, 162], [92, 163], [93, 78], [94, 79], [95, 80], [96, 81], [97, 82], [98, 83], [99, 84], [100, 85], [101, 86], [102, 87], [103, 88], [104, 89], [105, 89], [106, 90], [107, 91], [108, 92], [109, 93], [110, 94], [111, 95], [112, 96], [113, 97], [114, 98], [115, 99], [116, 100], [117, 159], [118, 7], [119, 8], [120, 9], [121, 10], [122, 11], [123, 12], [124, 13], [125, 14], [126, 15], [127, 16], [128, 17], [129, 18]]); -var n3 = t([[0, 9], [1, 16], [2, 110], [3, 111], [4, 112], [5, 113], [6, 114], [7, 101], [8, 102], [9, 0], [10, 103], [11, 104], [12, 105], [13, 106], [14, 107], [15, 108], [16, 1], [17, 109], [18, 7], [19, 2], [20, 3], [21, 4], [22, 5], [23, 6], [24, 101], [25, 114], [26, 102], [27, 102], [28, 103], [29, 0], [30, 104], [31, 103], [32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [38, 2]]); -var n4 = t([[0, 1], [1, 0], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 7], [25, 8], [26, 6], [27, 6], [28, 10], [29, 11], [30, 9], [31, 10], [32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [38, 19]]); -var n5 = t([[0, 0], [1, 1], [2, 110], [3, 111], [4, 112], [5, 113], [6, 114], [7, 101], [8, 102], [9, 0], [10, 103], [11, 104], [12, 105], [13, 106], [14, 107], [15, 108], [16, 1], [17, 109], [18, 7], [19, 2], [20, 3], [21, 4], [22, 5], [23, 6], [24, 101], [25, 114], [26, 102], [27, 102], [28, 103], [29, 0], [30, 104], [31, 103], [32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [38, 2]]); -var n6 = t([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 7], [25, 6], [26, 8], [27, 8], [28, 10], [29, 9], [30, 11], [31, 10], [32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [38, 19]]); -var n7 = t([[0, 0], [1, 1], [2, 164], [3, 165], [4, 166], [5, 167], [6, 168], [7, 169], [8, 170], [9, 171], [10, 172], [11, 173], [12, 174], [13, 175], [14, 176], [15, 177], [16, 178], [17, 179], [18, 180], [19, 181], [20, 182], [21, 183], [22, 184], [23, 185], [24, 169], [25, 168], [26, 170], [27, 170], [28, 172], [29, 171], [30, 173], [31, 172], [32, 180], [33, 179], [34, 180], [35, 179], [36, 177], [37, 182], [38, 181]]); -var n8 = t([[0, 0], [1, 1], [2, 186], [3, 187], [4, 188], [5, 189], [6, 190], [7, 191], [8, 191], [9, 192], [10, 193], [11, 194], [12, 195], [13, 196], [14, 197], [15, 198], [16, 199], [17, 200], [18, 201], [19, 202], [20, 203], [21, 204], [22, 205], [23, 206], [24, 191], [25, 190], [26, 191], [27, 191], [28, 193], [29, 192], [30, 194], [31, 193], [32, 201], [33, 200], [34, 201], [35, 200], [36, 198], [37, 203], [38, 202]]); -var n9 = t([[0, 0], [1, 1], [2, 207], [3, 208], [4, 209], [5, 210], [6, 211], [7, 212], [8, 213], [9, 214], [10, 215], [11, 216], [12, 217], [13, 218], [14, 219], [15, 220], [16, 221], [17, 222], [18, 223], [19, 224], [20, 225], [21, 226], [22, 227], [23, 228], [24, 212], [25, 211], [26, 213], [27, 213], [28, 215], [29, 214], [30, 216], [31, 215], [32, 223], [33, 222], [34, 223], [35, 222], [36, 220], [37, 225], [38, 224]]); -var n10 = t([[0, 0], [1, 1], [2, 229], [3, 230], [4, 231], [5, 232], [6, 233], [7, 234], [8, 235], [9, 236], [10, 237], [11, 238], [12, 239], [13, 240], [14, 241], [15, 242], [16, 243], [17, 244], [18, 245], [19, 246], [20, 247], [21, 248], [22, 249], [23, 250], [24, 234], [25, 233], [26, 235], [27, 235], [28, 237], [29, 236], [30, 238], [31, 237], [32, 245], [33, 244], [34, 245], [35, 244], [36, 242], [37, 247], [38, 246]]); -var n11 = t([[0, 16], [1, 9], [2, 110], [3, 111], [4, 112], [5, 113], [6, 114], [7, 101], [8, 102], [9, 0], [10, 103], [11, 104], [12, 105], [13, 106], [14, 107], [15, 108], [16, 1], [17, 109], [18, 7], [19, 2], [20, 3], [21, 4], [22, 5], [23, 6], [24, 101], [25, 102], [26, 114], [27, 114], [28, 103], [29, 104], [30, 0], [31, 103], [32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [38, 2]]); -var n12 = t([[0, 16], [1, 9], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 7], [25, 8], [26, 6], [27, 6], [28, 10], [29, 11], [30, 9], [31, 10], [32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [38, 19]]); -var n13 = t([[0, 16], [1, 9], [2, 251], [3, 252], [4, 253], [5, 254], [6, 255], [7, 256], [8, 257], [9, 258], [10, 259], [11, 260], [12, 261], [13, 262], [14, 263], [15, 177], [16, 264], [17, 265], [18, 266], [19, 267], [20, 268], [21, 269], [22, 270], [23, 271], [24, 256], [25, 257], [26, 255], [27, 255], [28, 259], [29, 260], [30, 258], [31, 259], [32, 266], [33, 265], [34, 266], [35, 265], [36, 177], [37, 268], [38, 267]]); -var n14 = t([[0, 16], [1, 9], [2, 272], [3, 273], [4, 274], [5, 275], [6, 276], [7, 277], [8, 278], [9, 279], [10, 280], [11, 281], [12, 282], [13, 283], [14, 284], [15, 198], [16, 285], [17, 286], [18, 287], [19, 288], [20, 289], [21, 290], [22, 291], [23, 292], [24, 277], [25, 278], [26, 276], [27, 276], [28, 280], [29, 281], [30, 279], [31, 280], [32, 287], [33, 286], [34, 287], [35, 286], [36, 198], [37, 289], [38, 288]]); -var n15 = t([[0, 16], [1, 9], [2, 293], [3, 294], [4, 295], [5, 296], [6, 297], [7, 298], [8, 299], [9, 300], [10, 301], [11, 302], [12, 303], [13, 304], [14, 305], [15, 220], [16, 306], [17, 307], [18, 308], [19, 309], [20, 310], [21, 311], [22, 312], [23, 313], [24, 298], [25, 299], [26, 297], [27, 297], [28, 301], [29, 302], [30, 300], [31, 301], [32, 308], [33, 307], [34, 308], [35, 307], [36, 220], [37, 310], [38, 309]]); -var n16 = t([[0, 16], [1, 9], [2, 314], [3, 315], [4, 316], [5, 317], [6, 318], [7, 319], [8, 320], [9, 321], [10, 322], [11, 323], [12, 324], [13, 325], [14, 326], [15, 242], [16, 327], [17, 328], [18, 329], [19, 330], [20, 331], [21, 332], [22, 333], [23, 334], [24, 319], [25, 320], [26, 318], [27, 318], [28, 322], [29, 323], [30, 321], [31, 322], [32, 329], [33, 328], [34, 329], [35, 328], [36, 242], [37, 331], [38, 330]]); -var n17 = t([[32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [24, 8], [25, 7], [26, 9], [27, 9], [28, 11], [29, 10], [31, 11], [30, 12]]); -var n18 = t([[32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [24, 10], [25, 9], [26, 11], [27, 11], [28, 13], [29, 12], [31, 13], [30, 14]]); -var n19 = t([[32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [24, 9], [25, 8], [26, 10], [27, 10], [28, 12], [29, 11], [31, 12], [30, 13]]); -var n20 = t([[0, 1], [1, 0], [2, 19], [3, 20], [4, 21], [5, 22], [6, 23], [7, 18], [8, 17], [9, 16], [10, 15], [11, 14], [12, 13], [13, 12], [14, 11], [15, 10], [16, 9], [17, 8], [18, 7], [19, 2], [20, 3], [21, 4], [22, 5], [23, 6], [24, 18], [25, 23], [26, 17], [27, 17], [28, 15], [29, 16], [30, 14], [31, 15], [32, 7], [33, 8], [34, 7], [35, 8], [36, 10], [37, 3], [38, 2]]); -var n21 = t([[32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [24, 102], [25, 0], [26, 101], [27, 101], [28, 104], [29, 105], [31, 104], [30, 103]]); -var n22 = t([[32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [24, 103], [25, 104], [26, 0], [27, 0], [28, 106], [29, 107], [31, 106], [30, 105]]); -var n23 = t([[32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [24, 0], [25, 103], [26, 102], [27, 102], [28, 105], [29, 106], [31, 105], [30, 104]]); -var n24 = t([[0, 9], [1, 16], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 109], [9, 1], [10, 108], [11, 107], [12, 106], [13, 105], [14, 104], [15, 103], [16, 0], [17, 102], [18, 101], [19, 110], [20, 111], [21, 112], [22, 113], [23, 114], [24, 7], [25, 109], [26, 6], [27, 6], [28, 108], [29, 107], [30, 1], [31, 108], [32, 101], [33, 102], [34, 101], [35, 102], [36, 103], [37, 111], [38, 110]]); -var n25 = t([[32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [24, 102], [25, 101], [26, 0], [27, 0], [28, 104], [29, 103], [31, 104], [30, 105]]); -var n26 = t([[32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [24, 103], [25, 0], [26, 104], [27, 104], [28, 106], [29, 105], [31, 106], [30, 107]]); -var n27 = t([[32, 7], [33, 109], [34, 7], [35, 109], [36, 108], [37, 3], [24, 0], [25, 102], [26, 103], [27, 103], [28, 105], [29, 104], [31, 105], [30, 106]]); -var n28 = t([[0, 16], [1, 9], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 109], [9, 1], [10, 108], [11, 107], [12, 106], [13, 105], [14, 104], [15, 103], [16, 0], [17, 102], [18, 101], [19, 110], [20, 111], [21, 112], [22, 113], [23, 114], [24, 7], [25, 6], [26, 109], [27, 109], [28, 108], [29, 1], [30, 107], [31, 108], [32, 101], [33, 102], [34, 101], [35, 102], [36, 103], [37, 111], [38, 110]]); -var n29 = t([[32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [24, 8], [25, 9], [26, 7], [27, 7], [28, 11], [29, 12], [31, 11], [30, 10]]); -var n30 = t([[32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [24, 10], [25, 11], [26, 9], [27, 9], [28, 13], [29, 14], [31, 13], [30, 12]]); -var n31 = t([[32, 18], [33, 17], [34, 18], [35, 17], [36, 15], [37, 20], [24, 9], [25, 10], [26, 8], [27, 8], [28, 12], [29, 13], [31, 12], [30, 11]]); -var n32 = t([[0, 0], [1, 1], [2, 19], [3, 20], [4, 21], [5, 22], [6, 23], [7, 18], [8, 17], [9, 16], [10, 15], [11, 14], [12, 13], [13, 12], [14, 11], [15, 10], [16, 9], [17, 8], [18, 7], [19, 2], [20, 3], [21, 4], [22, 5], [23, 6], [24, 18], [25, 17], [26, 23], [27, 23], [28, 15], [29, 14], [30, 16], [31, 15], [32, 7], [33, 8], [34, 7], [35, 8], [36, 10], [37, 3], [38, 2]]); -var n33 = t([[0, 1], [1, 0], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 109], [9, 1], [10, 108], [11, 107], [12, 106], [13, 105], [14, 104], [15, 103], [16, 0], [17, 102], [18, 101], [19, 110], [20, 111], [21, 112], [22, 113], [23, 114], [24, 7], [25, 6], [26, 109], [27, 109], [28, 108], [29, 1], [30, 107], [31, 108], [32, 101], [33, 102], [34, 101], [35, 102], [36, 103], [37, 111], [38, 110]]); -var n34 = t([[32, 180], [33, 179], [34, 180], [35, 179], [36, 177], [37, 182], [24, 170], [25, 169], [26, 171], [27, 171], [28, 173], [29, 172], [31, 173], [30, 174]]); -var n35 = t([[32, 180], [33, 179], [34, 180], [35, 179], [36, 177], [37, 182], [24, 172], [25, 171], [26, 173], [27, 173], [28, 175], [29, 174], [31, 175], [30, 176]]); -var n36 = t([[32, 180], [33, 179], [34, 180], [35, 179], [36, 177], [37, 182], [24, 171], [25, 170], [26, 172], [27, 172], [28, 174], [29, 173], [31, 174], [30, 175]]); -var n37 = t([[0, 1], [1, 0], [2, 181], [3, 182], [4, 183], [5, 184], [6, 185], [7, 180], [8, 179], [9, 178], [10, 177], [11, 176], [12, 175], [13, 174], [14, 173], [15, 172], [16, 171], [17, 170], [18, 169], [19, 164], [20, 165], [21, 166], [22, 167], [23, 168], [24, 180], [25, 185], [26, 179], [27, 179], [28, 177], [29, 178], [30, 176], [31, 177], [32, 169], [33, 170], [34, 169], [35, 170], [36, 172], [37, 165], [38, 164]]); -var n38 = t([[32, 201], [33, 200], [34, 201], [35, 200], [36, 198], [37, 203], [24, 191], [25, 191], [26, 192], [27, 192], [28, 194], [29, 193], [31, 194], [30, 195]]); -var n39 = t([[32, 201], [33, 200], [34, 201], [35, 200], [36, 198], [37, 203], [24, 193], [25, 192], [26, 194], [27, 194], [28, 196], [29, 195], [31, 196], [30, 197]]); -var n40 = t([[32, 201], [33, 200], [34, 201], [35, 200], [36, 198], [37, 203], [24, 192], [25, 191], [26, 193], [27, 193], [28, 195], [29, 194], [31, 195], [30, 196]]); -var n41 = t([[0, 1], [1, 0], [2, 202], [3, 203], [4, 204], [5, 205], [6, 206], [7, 201], [8, 200], [9, 199], [10, 198], [11, 197], [12, 196], [13, 195], [14, 194], [15, 193], [16, 192], [17, 191], [18, 191], [19, 186], [20, 187], [21, 188], [22, 189], [23, 190], [24, 201], [25, 206], [26, 200], [27, 200], [28, 198], [29, 199], [30, 197], [31, 198], [32, 191], [33, 191], [34, 191], [35, 191], [36, 193], [37, 187], [38, 186]]); -var n42 = t([[32, 223], [33, 222], [34, 223], [35, 222], [36, 220], [37, 225], [24, 213], [25, 212], [26, 214], [27, 214], [28, 216], [29, 215], [31, 216], [30, 217]]); -var n43 = t([[32, 223], [33, 222], [34, 223], [35, 222], [36, 220], [37, 225], [24, 215], [25, 214], [26, 216], [27, 216], [28, 218], [29, 217], [31, 218], [30, 219]]); -var n44 = t([[32, 223], [33, 222], [34, 223], [35, 222], [36, 220], [37, 225], [24, 214], [25, 213], [26, 215], [27, 215], [28, 217], [29, 216], [31, 217], [30, 218]]); -var n45 = t([[0, 1], [1, 0], [2, 224], [3, 225], [4, 226], [5, 227], [6, 228], [7, 223], [8, 222], [9, 221], [10, 220], [11, 219], [12, 218], [13, 217], [14, 216], [15, 215], [16, 214], [17, 213], [18, 212], [19, 207], [20, 208], [21, 209], [22, 210], [23, 211], [24, 223], [25, 228], [26, 222], [27, 222], [28, 220], [29, 221], [30, 219], [31, 220], [32, 212], [33, 213], [34, 212], [35, 213], [36, 215], [37, 208], [38, 207]]); -var n46 = t([[32, 245], [33, 244], [34, 245], [35, 244], [36, 242], [37, 247], [24, 235], [25, 234], [26, 236], [27, 236], [28, 238], [29, 237], [31, 238], [30, 239]]); -var n47 = t([[32, 245], [33, 244], [34, 245], [35, 244], [36, 242], [37, 247], [24, 237], [25, 236], [26, 238], [27, 238], [28, 240], [29, 239], [31, 240], [30, 241]]); -var n48 = t([[32, 245], [33, 244], [34, 245], [35, 244], [36, 242], [37, 247], [24, 236], [25, 235], [26, 237], [27, 237], [28, 239], [29, 238], [31, 239], [30, 240]]); -var n49 = t([[0, 1], [1, 0], [2, 246], [3, 247], [4, 248], [5, 249], [6, 250], [7, 245], [8, 244], [9, 243], [10, 242], [11, 241], [12, 240], [13, 239], [14, 238], [15, 237], [16, 236], [17, 235], [18, 234], [19, 229], [20, 230], [21, 231], [22, 232], [23, 233], [24, 245], [25, 250], [26, 244], [27, 244], [28, 242], [29, 243], [30, 241], [31, 242], [32, 234], [33, 235], [34, 234], [35, 235], [36, 237], [37, 230], [38, 229]]); -var n50 = t([[0, 9], [1, 16], [2, 19], [3, 20], [4, 21], [5, 22], [6, 23], [7, 18], [8, 17], [9, 16], [10, 15], [11, 14], [12, 13], [13, 12], [14, 11], [15, 10], [16, 9], [17, 8], [18, 7], [19, 2], [20, 3], [21, 4], [22, 5], [23, 6], [24, 18], [25, 17], [26, 23], [27, 23], [28, 15], [29, 14], [30, 16], [31, 15], [32, 7], [33, 8], [34, 7], [35, 8], [36, 10], [37, 3], [38, 2]]); -var n51 = t([[32, 266], [33, 265], [34, 266], [35, 265], [36, 177], [37, 268], [24, 257], [25, 258], [26, 256], [27, 256], [28, 260], [29, 261], [31, 260], [30, 259]]); -var n52 = t([[32, 266], [33, 265], [34, 266], [35, 265], [36, 177], [37, 268], [24, 259], [25, 260], [26, 258], [27, 258], [28, 262], [29, 263], [31, 262], [30, 261]]); -var n53 = t([[32, 266], [33, 265], [34, 266], [35, 265], [36, 177], [37, 268], [24, 258], [25, 259], [26, 257], [27, 257], [28, 261], [29, 262], [31, 261], [30, 260]]); -var n54 = t([[0, 9], [1, 16], [2, 267], [3, 268], [4, 269], [5, 270], [6, 271], [7, 266], [8, 265], [9, 264], [10, 177], [11, 263], [12, 262], [13, 261], [14, 260], [15, 259], [16, 258], [17, 257], [18, 256], [19, 251], [20, 252], [21, 253], [22, 254], [23, 255], [24, 266], [25, 265], [26, 271], [27, 271], [28, 177], [29, 263], [30, 264], [31, 177], [32, 256], [33, 257], [34, 256], [35, 257], [36, 259], [37, 252], [38, 251]]); -var n55 = t([[32, 287], [33, 286], [34, 287], [35, 286], [36, 198], [37, 289], [24, 278], [25, 279], [26, 277], [27, 277], [28, 281], [29, 282], [31, 281], [30, 280]]); -var n56 = t([[32, 287], [33, 286], [34, 287], [35, 286], [36, 198], [37, 289], [24, 280], [25, 281], [26, 279], [27, 279], [28, 283], [29, 284], [31, 283], [30, 282]]); -var n57 = t([[32, 287], [33, 286], [34, 287], [35, 286], [36, 198], [37, 289], [24, 279], [25, 280], [26, 278], [27, 278], [28, 282], [29, 283], [31, 282], [30, 281]]); -var n58 = t([[0, 9], [1, 16], [2, 288], [3, 289], [4, 290], [5, 291], [6, 292], [7, 287], [8, 286], [9, 285], [10, 198], [11, 284], [12, 283], [13, 282], [14, 281], [15, 280], [16, 279], [17, 278], [18, 277], [19, 272], [20, 273], [21, 274], [22, 275], [23, 276], [24, 287], [25, 286], [26, 292], [27, 292], [28, 198], [29, 284], [30, 285], [31, 198], [32, 277], [33, 278], [34, 277], [35, 278], [36, 280], [37, 273], [38, 272]]); -var n59 = t([[32, 308], [33, 307], [34, 308], [35, 307], [36, 220], [37, 310], [24, 299], [25, 300], [26, 298], [27, 298], [28, 302], [29, 303], [31, 302], [30, 301]]); -var n60 = t([[32, 308], [33, 307], [34, 308], [35, 307], [36, 220], [37, 310], [24, 301], [25, 302], [26, 300], [27, 300], [28, 304], [29, 305], [31, 304], [30, 303]]); -var n61 = t([[32, 308], [33, 307], [34, 308], [35, 307], [36, 220], [37, 310], [24, 300], [25, 301], [26, 299], [27, 299], [28, 303], [29, 304], [31, 303], [30, 302]]); -var n62 = t([[0, 9], [1, 16], [2, 309], [3, 310], [4, 311], [5, 312], [6, 313], [7, 308], [8, 307], [9, 306], [10, 220], [11, 305], [12, 304], [13, 303], [14, 302], [15, 301], [16, 300], [17, 299], [18, 298], [19, 293], [20, 294], [21, 295], [22, 296], [23, 297], [24, 308], [25, 307], [26, 313], [27, 313], [28, 220], [29, 305], [30, 306], [31, 220], [32, 298], [33, 299], [34, 298], [35, 299], [36, 301], [37, 294], [38, 293]]); -var n63 = t([[32, 329], [33, 328], [34, 329], [35, 328], [36, 242], [37, 331], [24, 320], [25, 321], [26, 319], [27, 319], [28, 323], [29, 324], [31, 323], [30, 322]]); -var n64 = t([[32, 329], [33, 328], [34, 329], [35, 328], [36, 242], [37, 331], [24, 322], [25, 323], [26, 321], [27, 321], [28, 325], [29, 326], [31, 325], [30, 324]]); -var n65 = t([[32, 329], [33, 328], [34, 329], [35, 328], [36, 242], [37, 331], [24, 321], [25, 322], [26, 320], [27, 320], [28, 324], [29, 325], [31, 324], [30, 323]]); -var n66 = t([[0, 9], [1, 16], [2, 330], [3, 331], [4, 332], [5, 333], [6, 334], [7, 329], [8, 328], [9, 327], [10, 242], [11, 326], [12, 325], [13, 324], [14, 323], [15, 322], [16, 321], [17, 320], [18, 319], [19, 314], [20, 315], [21, 316], [22, 317], [23, 318], [24, 329], [25, 328], [26, 334], [27, 334], [28, 242], [29, 326], [30, 327], [31, 242], [32, 319], [33, 320], [34, 319], [35, 320], [36, 322], [37, 315], [38, 314]]); -var themes = { - light: n1, - dark: n2, - light_accent: n3, - dark_accent: n4, - light_black: n5, - light_white: n6, - light_blue: n7, - light_red: n8, - light_yellow: n9, - light_green: n10, - dark_black: n11, - dark_white: n12, - dark_blue: n13, - dark_red: n14, - dark_yellow: n15, - dark_green: n16, - light_ListItem: n17, - light_SelectTrigger: n17, - light_Card: n17, - light_Progress: n17, - light_TooltipArrow: n17, - light_SliderTrack: n17, - light_Input: n17, - light_TextArea: n17, - light_white_ListItem: n17, - light_white_SelectTrigger: n17, - light_white_Card: n17, - light_white_Progress: n17, - light_white_TooltipArrow: n17, - light_white_SliderTrack: n17, - light_white_Input: n17, - light_white_TextArea: n17, - light_Button: n18, - light_SliderTrackActive: n18, - light_white_Button: n18, - light_white_SliderTrackActive: n18, - light_Checkbox: n19, - light_Switch: n19, - light_TooltipContent: n19, - light_RadioGroupItem: n19, - light_white_Checkbox: n19, - light_white_Switch: n19, - light_white_TooltipContent: n19, - light_white_RadioGroupItem: n19, - light_SwitchThumb: n20, - light_SliderThumb: n20, - light_Tooltip: n20, - light_ProgressIndicator: n20, - light_white_SwitchThumb: n20, - light_white_SliderThumb: n20, - light_white_Tooltip: n20, - light_white_ProgressIndicator: n20, - dark_ListItem: n21, - dark_SelectTrigger: n21, - dark_Card: n21, - dark_Progress: n21, - dark_TooltipArrow: n21, - dark_SliderTrack: n21, - dark_Input: n21, - dark_TextArea: n21, - dark_black_ListItem: n21, - dark_black_SelectTrigger: n21, - dark_black_Card: n21, - dark_black_Progress: n21, - dark_black_TooltipArrow: n21, - dark_black_SliderTrack: n21, - dark_black_Input: n21, - dark_black_TextArea: n21, - dark_Button: n22, - dark_SliderTrackActive: n22, - dark_black_Button: n22, - dark_black_SliderTrackActive: n22, - dark_Checkbox: n23, - dark_Switch: n23, - dark_TooltipContent: n23, - dark_RadioGroupItem: n23, - dark_black_Checkbox: n23, - dark_black_Switch: n23, - dark_black_TooltipContent: n23, - dark_black_RadioGroupItem: n23, - dark_SwitchThumb: n24, - dark_SliderThumb: n24, - dark_Tooltip: n24, - dark_ProgressIndicator: n24, - dark_black_SwitchThumb: n24, - dark_black_SliderThumb: n24, - dark_black_Tooltip: n24, - dark_black_ProgressIndicator: n24, - light_accent_ListItem: n25, - light_accent_SelectTrigger: n25, - light_accent_Card: n25, - light_accent_Progress: n25, - light_accent_TooltipArrow: n25, - light_accent_SliderTrack: n25, - light_accent_Input: n25, - light_accent_TextArea: n25, - light_black_ListItem: n25, - light_black_SelectTrigger: n25, - light_black_Card: n25, - light_black_Progress: n25, - light_black_TooltipArrow: n25, - light_black_SliderTrack: n25, - light_black_Input: n25, - light_black_TextArea: n25, - light_accent_Button: n26, - light_accent_SliderTrackActive: n26, - light_black_Button: n26, - light_black_SliderTrackActive: n26, - light_accent_Checkbox: n27, - light_accent_Switch: n27, - light_accent_TooltipContent: n27, - light_accent_RadioGroupItem: n27, - light_black_Checkbox: n27, - light_black_Switch: n27, - light_black_TooltipContent: n27, - light_black_RadioGroupItem: n27, - light_accent_SwitchThumb: n28, - light_accent_SliderThumb: n28, - light_accent_Tooltip: n28, - light_accent_ProgressIndicator: n28, - dark_accent_ListItem: n29, - dark_accent_SelectTrigger: n29, - dark_accent_Card: n29, - dark_accent_Progress: n29, - dark_accent_TooltipArrow: n29, - dark_accent_SliderTrack: n29, - dark_accent_Input: n29, - dark_accent_TextArea: n29, - dark_white_ListItem: n29, - dark_white_SelectTrigger: n29, - dark_white_Card: n29, - dark_white_Progress: n29, - dark_white_TooltipArrow: n29, - dark_white_SliderTrack: n29, - dark_white_Input: n29, - dark_white_TextArea: n29, - dark_accent_Button: n30, - dark_accent_SliderTrackActive: n30, - dark_white_Button: n30, - dark_white_SliderTrackActive: n30, - dark_accent_Checkbox: n31, - dark_accent_Switch: n31, - dark_accent_TooltipContent: n31, - dark_accent_RadioGroupItem: n31, - dark_white_Checkbox: n31, - dark_white_Switch: n31, - dark_white_TooltipContent: n31, - dark_white_RadioGroupItem: n31, - dark_accent_SwitchThumb: n32, - dark_accent_SliderThumb: n32, - dark_accent_Tooltip: n32, - dark_accent_ProgressIndicator: n32, - light_black_SwitchThumb: n33, - light_black_SliderThumb: n33, - light_black_Tooltip: n33, - light_black_ProgressIndicator: n33, - light_blue_ListItem: n34, - light_blue_SelectTrigger: n34, - light_blue_Card: n34, - light_blue_Progress: n34, - light_blue_TooltipArrow: n34, - light_blue_SliderTrack: n34, - light_blue_Input: n34, - light_blue_TextArea: n34, - light_blue_Button: n35, - light_blue_SliderTrackActive: n35, - light_blue_Checkbox: n36, - light_blue_Switch: n36, - light_blue_TooltipContent: n36, - light_blue_RadioGroupItem: n36, - light_blue_SwitchThumb: n37, - light_blue_SliderThumb: n37, - light_blue_Tooltip: n37, - light_blue_ProgressIndicator: n37, - light_red_ListItem: n38, - light_red_SelectTrigger: n38, - light_red_Card: n38, - light_red_Progress: n38, - light_red_TooltipArrow: n38, - light_red_SliderTrack: n38, - light_red_Input: n38, - light_red_TextArea: n38, - light_red_Button: n39, - light_red_SliderTrackActive: n39, - light_red_Checkbox: n40, - light_red_Switch: n40, - light_red_TooltipContent: n40, - light_red_RadioGroupItem: n40, - light_red_SwitchThumb: n41, - light_red_SliderThumb: n41, - light_red_Tooltip: n41, - light_red_ProgressIndicator: n41, - light_yellow_ListItem: n42, - light_yellow_SelectTrigger: n42, - light_yellow_Card: n42, - light_yellow_Progress: n42, - light_yellow_TooltipArrow: n42, - light_yellow_SliderTrack: n42, - light_yellow_Input: n42, - light_yellow_TextArea: n42, - light_yellow_Button: n43, - light_yellow_SliderTrackActive: n43, - light_yellow_Checkbox: n44, - light_yellow_Switch: n44, - light_yellow_TooltipContent: n44, - light_yellow_RadioGroupItem: n44, - light_yellow_SwitchThumb: n45, - light_yellow_SliderThumb: n45, - light_yellow_Tooltip: n45, - light_yellow_ProgressIndicator: n45, - light_green_ListItem: n46, - light_green_SelectTrigger: n46, - light_green_Card: n46, - light_green_Progress: n46, - light_green_TooltipArrow: n46, - light_green_SliderTrack: n46, - light_green_Input: n46, - light_green_TextArea: n46, - light_green_Button: n47, - light_green_SliderTrackActive: n47, - light_green_Checkbox: n48, - light_green_Switch: n48, - light_green_TooltipContent: n48, - light_green_RadioGroupItem: n48, - light_green_SwitchThumb: n49, - light_green_SliderThumb: n49, - light_green_Tooltip: n49, - light_green_ProgressIndicator: n49, - dark_white_SwitchThumb: n50, - dark_white_SliderThumb: n50, - dark_white_Tooltip: n50, - dark_white_ProgressIndicator: n50, - dark_blue_ListItem: n51, - dark_blue_SelectTrigger: n51, - dark_blue_Card: n51, - dark_blue_Progress: n51, - dark_blue_TooltipArrow: n51, - dark_blue_SliderTrack: n51, - dark_blue_Input: n51, - dark_blue_TextArea: n51, - dark_blue_Button: n52, - dark_blue_SliderTrackActive: n52, - dark_blue_Checkbox: n53, - dark_blue_Switch: n53, - dark_blue_TooltipContent: n53, - dark_blue_RadioGroupItem: n53, - dark_blue_SwitchThumb: n54, - dark_blue_SliderThumb: n54, - dark_blue_Tooltip: n54, - dark_blue_ProgressIndicator: n54, - dark_red_ListItem: n55, - dark_red_SelectTrigger: n55, - dark_red_Card: n55, - dark_red_Progress: n55, - dark_red_TooltipArrow: n55, - dark_red_SliderTrack: n55, - dark_red_Input: n55, - dark_red_TextArea: n55, - dark_red_Button: n56, - dark_red_SliderTrackActive: n56, - dark_red_Checkbox: n57, - dark_red_Switch: n57, - dark_red_TooltipContent: n57, - dark_red_RadioGroupItem: n57, - dark_red_SwitchThumb: n58, - dark_red_SliderThumb: n58, - dark_red_Tooltip: n58, - dark_red_ProgressIndicator: n58, - dark_yellow_ListItem: n59, - dark_yellow_SelectTrigger: n59, - dark_yellow_Card: n59, - dark_yellow_Progress: n59, - dark_yellow_TooltipArrow: n59, - dark_yellow_SliderTrack: n59, - dark_yellow_Input: n59, - dark_yellow_TextArea: n59, - dark_yellow_Button: n60, - dark_yellow_SliderTrackActive: n60, - dark_yellow_Checkbox: n61, - dark_yellow_Switch: n61, - dark_yellow_TooltipContent: n61, - dark_yellow_RadioGroupItem: n61, - dark_yellow_SwitchThumb: n62, - dark_yellow_SliderThumb: n62, - dark_yellow_Tooltip: n62, - dark_yellow_ProgressIndicator: n62, - dark_green_ListItem: n63, - dark_green_SelectTrigger: n63, - dark_green_Card: n63, - dark_green_Progress: n63, - dark_green_TooltipArrow: n63, - dark_green_SliderTrack: n63, - dark_green_Input: n63, - dark_green_TextArea: n63, - dark_green_Button: n64, - dark_green_SliderTrackActive: n64, - dark_green_Checkbox: n65, - dark_green_Switch: n65, - dark_green_TooltipContent: n65, - dark_green_RadioGroupItem: n65, - dark_green_SwitchThumb: n66, - dark_green_SliderThumb: n66, - dark_green_Tooltip: n66, - dark_green_ProgressIndicator: n66 +// node_modules/@tamagui/shorthands/dist/esm/v4.mjs +var shorthands = { + // text + text: "textAlign", + // view + b: "bottom", + bg: "backgroundColor", + content: "alignContent", + grow: "flexGrow", + items: "alignItems", + justify: "justifyContent", + l: "left", + m: "margin", + maxH: "maxHeight", + maxW: "maxWidth", + mb: "marginBottom", + minH: "minHeight", + minW: "minWidth", + ml: "marginLeft", + mr: "marginRight", + mt: "marginTop", + mx: "marginHorizontal", + my: "marginVertical", + p: "padding", + pb: "paddingBottom", + pl: "paddingLeft", + pr: "paddingRight", + pt: "paddingTop", + px: "paddingHorizontal", + py: "paddingVertical", + r: "right", + rounded: "borderRadius", + select: "userSelect", + self: "alignSelf", + shrink: "flexShrink", + t: "top", + z: "zIndex" }; -// node_modules/@tamagui/constants/dist/esm/constants.mjs -var import_react = __toESM(require("react"), 1); -var IS_REACT_19 = typeof import_react.default.use < "u"; -var isWeb = true; -var isWindowDefined = typeof window < "u"; -var isServer = isWeb && !isWindowDefined; -var isClient = isWeb && isWindowDefined; -var useIsomorphicLayoutEffect = isServer ? import_react.useEffect : import_react.useLayoutEffect; -var isChrome = typeof navigator < "u" && /Chrome/.test(navigator.userAgent || ""); -var isWebTouchable = isClient && ("ontouchstart" in window || navigator.maxTouchPoints > 0); -var isIos = process.env.TEST_NATIVE_PLATFORM === "ios"; - -// node_modules/@tamagui/use-presence/dist/esm/PresenceContext.mjs -var React2 = __toESM(require("react"), 1); -var import_jsx_runtime = require("react/jsx-runtime"); -var PresenceContext = React2.createContext(null); -var ResetPresence = /* @__PURE__ */ __name((props) => { - const parent = React2.useContext(PresenceContext); - return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PresenceContext.Provider, { - value: props.disable ? parent : null, - children: props.children - }); -}, "ResetPresence"); - -// node_modules/@tamagui/use-presence/dist/esm/usePresence.mjs -var React3 = __toESM(require("react"), 1); -function usePresence() { - const context = React3.useContext(PresenceContext); - if (!context) return [true, null, context]; - const { - id, - isPresent: isPresent2, - onExitComplete, - register - } = context; - return React3.useEffect(() => register(id), []), !isPresent2 && onExitComplete ? [false, () => onExitComplete?.(id), context] : [true, void 0, context]; -} -__name(usePresence, "usePresence"); - -// node_modules/@tamagui/animations-css/dist/esm/createAnimations.mjs -var import_web = require("@tamagui/core"); -var import_react2 = __toESM(require("react"), 1); -function extractDuration(animation) { - const msMatch = animation.match(/(\d+(?:\.\d+)?)\s*ms/); - if (msMatch) return Number.parseInt(msMatch[1], 10); - const sMatch = animation.match(/(\d+(?:\.\d+)?)\s*s/); - return sMatch ? Math.round(Number.parseFloat(sMatch[1]) * 1e3) : 300; -} -__name(extractDuration, "extractDuration"); -function createAnimations(animations) { - const reactionListeners = /* @__PURE__ */ new WeakMap(); - return { - animations, - usePresence, - ResetPresence, - supportsCSS: true, - classNameAnimation: true, - useAnimatedNumber(initial) { - const [val, setVal] = import_react2.default.useState(initial), [onFinish, setOnFinish] = (0, import_react2.useState)(); - return useIsomorphicLayoutEffect(() => { - onFinish && (onFinish?.(), setOnFinish(void 0)); - }, [onFinish]), { - getInstance() { - return setVal; - }, - getValue() { - return val; - }, - setValue(next, config2, onFinish2) { - setVal(next), setOnFinish(onFinish2); - }, - stop() { - } - }; - }, - useAnimatedNumberReaction({ - value - }, onValue) { - import_react2.default.useEffect(() => { - const instance = value.getInstance(); - let queue = reactionListeners.get(instance); - if (!queue) { - const next = /* @__PURE__ */ new Set(); - reactionListeners.set(instance, next), queue = next; - } - return queue.add(onValue), () => { - queue?.delete(onValue); - }; - }, []); - }, - useAnimatedNumberStyle(val, getStyle) { - return getStyle(val.getValue()); - }, - useAnimations: /* @__PURE__ */ __name(({ - props, - presence, - style, - componentState, - stateRef - }) => { - const isEntering = !!componentState.unmounted, isExiting = presence?.[0] === false, sendExitComplete = presence?.[1], [animationKey, animationConfig] = Array.isArray(props.animation) ? props.animation : [props.animation], animation = animations[animationKey], keys = props.animateOnly ?? ["all"]; - return useIsomorphicLayoutEffect(() => { - const host = stateRef.current.host; - if (!sendExitComplete || !isExiting || !host) return; - const node = host, fallbackTimeout = animation ? extractDuration(animation) : 200, timeoutId = setTimeout(() => { - sendExitComplete?.(); - }, fallbackTimeout), onFinishAnimation = /* @__PURE__ */ __name(() => { - clearTimeout(timeoutId), sendExitComplete?.(); - }, "onFinishAnimation"); - return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), () => { - clearTimeout(timeoutId), node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation); - }; - }, [sendExitComplete, isExiting]), animation && (Array.isArray(style.transform) && (style.transform = (0, import_web.transformsToString)(style.transform)), style.transition = keys.map((key) => { - const override = animations[animationConfig?.[key]] ?? animation; - return `${key} ${override}`; - }).join(", ")), process.env.NODE_ENV === "development" && props.debug === "verbose" && console.info("CSS animation", { - props, - animations, - animation, - animationKey, - style, - isEntering, - isExiting - }), animation ? { - style, - className: isEntering ? "t_unmounted" : "" - } : null; - }, "useAnimations") - }; -} -__name(createAnimations, "createAnimations"); - -// node_modules/@tamagui/config/dist/esm/animationsCSS.mjs -var smoothBezier = "cubic-bezier(0.215, 0.610, 0.355, 1.000)"; -var animationsCSS = createAnimations({ - "75ms": "ease-in 75ms", - "100ms": "ease-in 100ms", - "200ms": "ease-in 200ms", - bouncy: "ease-in 200ms", - superBouncy: "ease-in 500ms", - lazy: "ease-in 1000ms", - medium: "ease-in 300ms", - slow: "ease-in 500ms", - quick: `${smoothBezier} 400ms`, - quicker: `${smoothBezier} 300ms`, - quickest: `${smoothBezier} 200ms`, - tooltip: "ease-in 400ms" -}); - -// node_modules/@tamagui/config/dist/esm/v4-fonts.mjs +// node_modules/@tamagui/config/dist/esm/v5-fonts.mjs var import_core = require("@tamagui/core"); +var isWeb = true; +var isNative = false; +var webSizes = { + 1: 12, + 2: 13, + 3: 14, + 4: 15, + true: 15, + 5: 16, + 6: 18, + 7: 22, + 8: 26, + 9: 30, + 10: 40, + 11: 46, + 12: 52, + 13: 60, + 14: 70, + 15: 85, + 16: 100 +}; +var nativeSizes = { + 1: 11, + 2: 12, + 3: 15, + 4: 17, + true: 17, + 5: 20, + 6: 22, + 7: 24, + 8: 28, + 9: 32, + 10: 40, + 11: 46, + 12: 52, + 13: 60, + 14: 70, + 15: 85, + 16: 100 +}; +var defaultSizes = isNative ? nativeSizes : webSizes; +var defaultLineHeight = /* @__PURE__ */ __name((size3) => Math.round(isNative ? size3 * 1.25 : size3 * 1.05 + 8), "defaultLineHeight"); var createSystemFont = /* @__PURE__ */ __name(({ font = {}, - sizeLineHeight = /* @__PURE__ */ __name((size3) => size3 + 10, "sizeLineHeight"), - sizeSize = /* @__PURE__ */ __name((size3) => size3 * 1, "sizeSize") + sizeLineHeight = defaultLineHeight, + sizeSize = /* @__PURE__ */ __name((size3) => Math.round(size3), "sizeSize") } = {}) => { const size3 = Object.fromEntries(Object.entries({ ...defaultSizes, ...font.size }).map(([k, v]) => [k, sizeSize(+v)])); return (0, import_core.createFont)({ - family: import_core.isWeb ? '-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif' : "System", + family: isWeb ? '-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif' : "System", lineHeight: Object.fromEntries(Object.entries(size3).map(([k, v]) => [k, sizeLineHeight((0, import_core.getVariableValue)(v))])), weight: { - 4: "300" + 1: "400" }, letterSpacing: { 4: 0 @@ -703,98 +738,136 @@ var createSystemFont = /* @__PURE__ */ __name(({ size: size3 }); }, "createSystemFont"); -var defaultSizes = { - 1: 11, - 2: 12, - 3: 13, - 4: 14, - true: 14, - 5: 16, - 6: 18, - 7: 20, - 8: 23, - 9: 30, - 10: 46, - 11: 55, - 12: 62, - 13: 72, - 14: 92, - 15: 114, - 16: 134 -}; +var headingLineHeight = /* @__PURE__ */ __name((size3) => Math.round(isNative ? size3 * 1.2 : size3 * 1.12 + 5), "headingLineHeight"); var fonts = { body: createSystemFont(), heading: createSystemFont({ - sizeSize: /* @__PURE__ */ __name((n) => n * 1.4, "sizeSize") + font: { + weight: { + 0: "600", + 6: "700", + 9: "800" + } + }, + sizeLineHeight: headingLineHeight }) }; -// node_modules/@tamagui/config/dist/esm/v4-media.mjs +// node_modules/@tamagui/config/dist/esm/v5-media.mjs var breakpoints = { - "2xl": 1536, - xl: 1280, - lg: 1024, - md: 768, - sm: 640, + xxxs: 260, + xxs: 340, xs: 460, - "2xs": 340 + sm: 640, + md: 768, + lg: 1024, + xl: 1280, + xxl: 1536 }; var media = { - maxXs: { - maxWidth: breakpoints.xs + pointerTouch: { + pointer: "coarse" }, - max2xs: { - maxWidth: breakpoints["2xs"] + // Height-based queries (min-height, mobile-first) + "height-xxxs": { + minHeight: breakpoints.xxxs }, - maxSm: { - maxWidth: breakpoints.sm + "height-xxs": { + minHeight: breakpoints.xxs }, - maxMd: { - maxWidth: breakpoints.md + "height-xs": { + minHeight: breakpoints.xs }, - maxLg: { - maxWidth: breakpoints.lg + "height-sm": { + minHeight: breakpoints.sm }, - maxXl: { + "height-md": { + minHeight: breakpoints.md + }, + "height-lg": { + minHeight: breakpoints.lg + }, + // Max-width queries (desktop-first, ordered large-to-small so smaller wins) + "max-xxl": { + maxWidth: breakpoints.xxl + }, + "max-xl": { maxWidth: breakpoints.xl }, - max2Xl: { - maxWidth: breakpoints["2xl"] + "max-lg": { + maxWidth: breakpoints.lg }, - // for site - "2xl": { - minWidth: breakpoints["2xl"] + "max-md": { + maxWidth: breakpoints.md }, - xl: { - minWidth: breakpoints.xl + "max-sm": { + maxWidth: breakpoints.sm }, - lg: { - minWidth: breakpoints.lg + "max-xs": { + maxWidth: breakpoints.xs }, - md: { - minWidth: breakpoints.md + "max-xxs": { + maxWidth: breakpoints.xxs }, - sm: { - minWidth: breakpoints.sm + "max-xxxs": { + maxWidth: breakpoints.xxxs + }, + // Min-width queries (mobile-first) + xxxs: { + minWidth: breakpoints.xxxs + }, + xxs: { + minWidth: breakpoints.xxs }, xs: { minWidth: breakpoints.xs }, - "2xs": { - minWidth: breakpoints["2xs"] + sm: { + minWidth: breakpoints.sm + }, + md: { + minWidth: breakpoints.md + }, + lg: { + minWidth: breakpoints.lg + }, + xl: { + minWidth: breakpoints.xl + }, + xxl: { + minWidth: breakpoints.xxl } }; var mediaQueryDefaultActive = { - "2xl": false, - xl: false, - lg: false, - md: false, - sm: false, + pointerTouch: false, + // Height queries + "height-xxxs": true, + "height-xxs": true, + "height-xs": true, + "height-sm": false, + "height-md": false, + "height-lg": false, + // Max queries (ordered large-to-small to match media object) + "max-xxl": true, + "max-xl": true, + "max-lg": true, + "max-md": true, + "max-sm": true, + "max-xs": true, + "max-xxs": false, + "max-xxxs": false, + // Min queries + xxxs: true, + xxs: true, xs: true, - "2xs": true + sm: false, + md: false, + lg: false, + xl: false, + xxl: false }; -// node_modules/@tamagui/config/dist/esm/v4.mjs +// node_modules/@tamagui/config/dist/esm/v5-base.mjs var selectionStyles = /* @__PURE__ */ __name((theme) => theme.color5 ? { backgroundColor: theme.color5, color: theme.color11 @@ -805,14 +878,11 @@ var settings = { fastSchemeChange: true, shouldAddPrefersColorThemes: true, allowedStyleValues: "somewhat-strict-web", - themeClassNameOnRoot: true, + addThemeClassName: "html", onlyAllowShorthands: true, - // allow two inverses (tooltips, etc) - // TODO on inverse theme changes - maxDarkLightNesting: 2 + styleCompat: "react-native" }; var defaultConfig = { - animations: animationsCSS, media, shorthands, themes, @@ -924,18 +994,18 @@ function t2(a) { __name(t2, "t"); var colors2 = ["#fff", "#f8f8f8", "hsl(0, 0%, 96.3%)", "hsl(0, 0%, 94.1%)", "hsl(0, 0%, 92.0%)", "hsl(0, 0%, 90.0%)", "hsl(0, 0%, 88.5%)", "hsl(0, 0%, 81.0%)", "hsl(0, 0%, 56.1%)", "hsl(0, 0%, 50.3%)", "hsl(0, 0%, 42.5%)", "hsl(0, 0%, 9.0%)", "rgba(255,255,255,0)", "rgba(10,10,10,0)", "hsl(206, 100%, 99.2%)", "hsl(210, 100%, 98.0%)", "hsl(209, 100%, 96.5%)", "hsl(210, 98.8%, 94.0%)", "hsl(209, 95.0%, 90.1%)", "hsl(209, 81.2%, 84.5%)", "hsl(208, 77.5%, 76.9%)", "hsl(206, 81.9%, 65.3%)", "hsl(206, 100%, 50.0%)", "hsl(208, 100%, 47.3%)", "hsl(211, 100%, 43.2%)", "hsl(211, 100%, 15.0%)", "hsl(0, 0%, 99.0%)", "hsl(0, 0%, 97.3%)", "hsl(0, 0%, 95.1%)", "hsl(0, 0%, 93.0%)", "hsl(0, 0%, 90.9%)", "hsl(0, 0%, 88.7%)", "hsl(0, 0%, 85.8%)", "hsl(0, 0%, 78.0%)", "hsl(0, 0%, 52.3%)", "hsl(0, 0%, 43.5%)", "hsl(136, 50.0%, 98.9%)", "hsl(138, 62.5%, 96.9%)", "hsl(139, 55.2%, 94.5%)", "hsl(140, 48.7%, 91.0%)", "hsl(141, 43.7%, 86.0%)", "hsl(143, 40.3%, 79.0%)", "hsl(146, 38.5%, 69.0%)", "hsl(151, 40.2%, 54.1%)", "hsl(151, 55.0%, 41.5%)", "hsl(152, 57.5%, 37.6%)", "hsl(153, 67.0%, 28.5%)", "hsl(155, 40.0%, 14.0%)", "hsl(24, 70.0%, 99.0%)", "hsl(24, 83.3%, 97.6%)", "hsl(24, 100%, 95.3%)", "hsl(25, 100%, 92.2%)", "hsl(25, 100%, 88.2%)", "hsl(25, 100%, 82.8%)", "hsl(24, 100%, 75.3%)", "hsl(24, 94.5%, 64.3%)", "hsl(24, 94.0%, 50.0%)", "hsl(24, 100%, 46.5%)", "hsl(24, 100%, 37.0%)", "hsl(15, 60.0%, 17.0%)", "hsl(322, 100%, 99.4%)", "hsl(323, 100%, 98.4%)", "hsl(323, 86.3%, 96.5%)", "hsl(323, 78.7%, 94.2%)", "hsl(323, 72.2%, 91.1%)", "hsl(323, 66.3%, 86.6%)", "hsl(323, 62.0%, 80.1%)", "hsl(323, 60.3%, 72.4%)", "hsl(322, 65.0%, 54.5%)", "hsl(322, 63.9%, 50.7%)", "hsl(322, 75.0%, 46.0%)", "hsl(320, 70.0%, 13.5%)", "hsl(280, 65.0%, 99.4%)", "hsl(276, 100%, 99.0%)", "hsl(276, 83.1%, 97.0%)", "hsl(275, 76.4%, 94.7%)", "hsl(275, 70.8%, 91.8%)", "hsl(274, 65.4%, 87.8%)", "hsl(273, 61.0%, 81.7%)", "hsl(272, 60.0%, 73.5%)", "hsl(272, 51.0%, 54.0%)", "hsl(272, 46.8%, 50.3%)", "hsl(272, 50.0%, 45.8%)", "hsl(272, 66.0%, 16.0%)", "hsl(359, 100%, 99.4%)", "hsl(359, 100%, 98.6%)", "hsl(360, 100%, 96.8%)", "hsl(360, 97.9%, 94.8%)", "hsl(360, 90.2%, 91.9%)", "hsl(360, 81.7%, 87.8%)", "hsl(359, 74.2%, 81.7%)", "hsl(359, 69.5%, 74.3%)", "hsl(358, 75.0%, 59.0%)", "hsl(358, 69.4%, 55.2%)", "hsl(358, 65.0%, 48.7%)", "hsl(354, 50.0%, 14.6%)", "hsl(60, 54.0%, 98.5%)", "hsl(52, 100%, 95.5%)", "hsl(55, 100%, 90.9%)", "hsl(54, 100%, 86.6%)", "hsl(52, 97.9%, 82.0%)", "hsl(50, 89.4%, 76.1%)", "hsl(47, 80.4%, 68.0%)", "hsl(48, 100%, 46.1%)", "hsl(53, 92.0%, 50.0%)", "hsl(50, 100%, 48.5%)", "hsl(42, 100%, 29.0%)", "hsl(40, 55.0%, 13.5%)", "rgba(0,0,0,0.085)", "rgba(0,0,0,0.04)", "#050505", "#151515", "#191919", "#232323", "#282828", "#323232", "#424242", "#494949", "#545454", "#626262", "#a5a5a5", "hsl(212, 35.0%, 9.2%)", "hsl(216, 50.0%, 11.8%)", "hsl(214, 59.4%, 15.3%)", "hsl(214, 65.8%, 17.9%)", "hsl(213, 71.2%, 20.2%)", "hsl(212, 77.4%, 23.1%)", "hsl(211, 85.1%, 27.4%)", "hsl(211, 89.7%, 34.1%)", "hsl(209, 100%, 60.6%)", "hsl(210, 100%, 66.1%)", "hsl(206, 98.0%, 95.8%)", "hsl(0, 0%, 8.5%)", "hsl(0, 0%, 11.0%)", "hsl(0, 0%, 13.6%)", "hsl(0, 0%, 15.8%)", "hsl(0, 0%, 17.9%)", "hsl(0, 0%, 20.5%)", "hsl(0, 0%, 24.3%)", "hsl(0, 0%, 31.2%)", "hsl(0, 0%, 43.9%)", "hsl(0, 0%, 49.4%)", "hsl(0, 0%, 62.8%)", "hsl(146, 30.0%, 7.4%)", "hsl(155, 44.2%, 8.4%)", "hsl(155, 46.7%, 10.9%)", "hsl(154, 48.4%, 12.9%)", "hsl(154, 49.7%, 14.9%)", "hsl(154, 50.9%, 17.6%)", "hsl(153, 51.8%, 21.8%)", "hsl(151, 51.7%, 28.4%)", "hsl(151, 49.3%, 46.5%)", "hsl(151, 50.0%, 53.2%)", "hsl(137, 72.0%, 94.0%)", "hsl(30, 70.0%, 7.2%)", "hsl(28, 100%, 8.4%)", "hsl(26, 91.1%, 11.6%)", "hsl(25, 88.3%, 14.1%)", "hsl(24, 87.6%, 16.6%)", "hsl(24, 88.6%, 19.8%)", "hsl(24, 92.4%, 24.0%)", "hsl(25, 100%, 29.0%)", "hsl(24, 100%, 58.5%)", "hsl(24, 100%, 62.2%)", "hsl(24, 97.0%, 93.2%)", "hsl(318, 25.0%, 9.6%)", "hsl(319, 32.2%, 11.6%)", "hsl(319, 41.0%, 16.0%)", "hsl(320, 45.4%, 18.7%)", "hsl(320, 49.0%, 21.1%)", "hsl(321, 53.6%, 24.4%)", "hsl(321, 61.1%, 29.7%)", "hsl(322, 74.9%, 37.5%)", "hsl(323, 72.8%, 59.2%)", "hsl(325, 90.0%, 66.4%)", "hsl(322, 90.0%, 95.8%)", "hsl(284, 20.0%, 9.6%)", "hsl(283, 30.0%, 11.8%)", "hsl(281, 37.5%, 16.5%)", "hsl(280, 41.2%, 20.0%)", "hsl(279, 43.8%, 23.3%)", "hsl(277, 46.4%, 27.5%)", "hsl(275, 49.3%, 34.6%)", "hsl(272, 52.1%, 45.9%)", "hsl(273, 57.3%, 59.1%)", "hsl(275, 80.0%, 71.0%)", "hsl(279, 75.0%, 95.7%)", "hsl(353, 23.0%, 9.8%)", "hsl(357, 34.4%, 12.0%)", "hsl(356, 43.4%, 16.4%)", "hsl(356, 47.6%, 19.2%)", "hsl(356, 51.1%, 21.9%)", "hsl(356, 55.2%, 25.9%)", "hsl(357, 60.2%, 31.8%)", "hsl(358, 65.0%, 40.4%)", "hsl(358, 85.3%, 64.0%)", "hsl(358, 100%, 69.5%)", "hsl(351, 89.0%, 96.0%)", "hsl(45, 100%, 5.5%)", "hsl(46, 100%, 6.7%)", "hsl(45, 100%, 8.7%)", "hsl(45, 100%, 10.4%)", "hsl(47, 100%, 12.1%)", "hsl(49, 100%, 14.3%)", "hsl(49, 90.3%, 18.4%)", "hsl(50, 100%, 22.0%)", "hsl(54, 100%, 68.0%)", "hsl(48, 100%, 47.0%)", "hsl(53, 100%, 91.0%)", "rgba(0,0,0,0.3)", "rgba(0,0,0,0.2)", "hsla(24, 70.0%, 99.0%, 0)", "hsla(15, 60.0%, 17.0%, 0)", "hsla(60, 54.0%, 98.5%, 0)", "hsla(40, 55.0%, 13.5%, 0)", "hsla(136, 50.0%, 98.9%, 0)", "hsla(155, 40.0%, 14.0%, 0)", "hsla(206, 100%, 99.2%, 0)", "hsla(211, 100%, 15.0%, 0)", "hsla(280, 65.0%, 99.4%, 0)", "hsla(272, 66.0%, 16.0%, 0)", "hsla(322, 100%, 99.4%, 0)", "hsla(320, 70.0%, 13.5%, 0)", "hsla(359, 100%, 99.4%, 0)", "hsla(354, 50.0%, 14.6%, 0)", "hsla(30, 70.0%, 7.2%, 0)", "hsla(24, 97.0%, 93.2%, 0)", "hsla(45, 100%, 5.5%, 0)", "hsla(53, 100%, 91.0%, 0)", "hsla(146, 30.0%, 7.4%, 0)", "hsla(137, 72.0%, 94.0%, 0)", "hsla(212, 35.0%, 9.2%, 0)", "hsla(206, 98.0%, 95.8%, 0)", "hsla(284, 20.0%, 9.6%, 0)", "hsla(279, 75.0%, 95.7%, 0)", "hsla(318, 25.0%, 9.6%, 0)", "hsla(322, 90.0%, 95.8%, 0)", "hsla(353, 23.0%, 9.8%, 0)", "hsla(351, 89.0%, 96.0%, 0)", "rgba(0,0,0,0.5)", "rgba(0,0,0,0.9)", "transparent"]; var ks2 = ["color1", "color2", "color3", "color4", "color5", "color6", "color7", "color8", "color9", "color10", "color11", "color12", "background", "backgroundHover", "backgroundPress", "backgroundFocus", "backgroundStrong", "backgroundTransparent", "color", "colorHover", "colorPress", "colorFocus", "colorTransparent", "borderColor", "borderColorHover", "borderColorFocus", "borderColorPress", "placeholderColor", "blue1", "blue2", "blue3", "blue4", "blue5", "blue6", "blue7", "blue8", "blue9", "blue10", "blue11", "blue12", "gray1", "gray2", "gray3", "gray4", "gray5", "gray6", "gray7", "gray8", "gray9", "gray10", "gray11", "gray12", "green1", "green2", "green3", "green4", "green5", "green6", "green7", "green8", "green9", "green10", "green11", "green12", "orange1", "orange2", "orange3", "orange4", "orange5", "orange6", "orange7", "orange8", "orange9", "orange10", "orange11", "orange12", "pink1", "pink2", "pink3", "pink4", "pink5", "pink6", "pink7", "pink8", "pink9", "pink10", "pink11", "pink12", "purple1", "purple2", "purple3", "purple4", "purple5", "purple6", "purple7", "purple8", "purple9", "purple10", "purple11", "purple12", "red1", "red2", "red3", "red4", "red5", "red6", "red7", "red8", "red9", "red10", "red11", "red12", "yellow1", "yellow2", "yellow3", "yellow4", "yellow5", "yellow6", "yellow7", "yellow8", "yellow9", "yellow10", "yellow11", "yellow12", "shadowColor", "shadowColorHover", "shadowColorPress", "shadowColorFocus"]; -var n110 = t2([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 1], [13, 2], [14, 3], [15, 4], [16, 0], [17, 12], [18, 11], [19, 10], [20, 11], [21, 10], [22, 13], [23, 4], [24, 5], [25, 3], [26, 4], [27, 8], [28, 14], [29, 15], [30, 16], [31, 17], [32, 18], [33, 19], [34, 20], [35, 21], [36, 22], [37, 23], [38, 24], [39, 25], [40, 26], [41, 27], [42, 28], [43, 29], [44, 30], [45, 31], [46, 32], [47, 33], [48, 8], [49, 34], [50, 35], [51, 11], [52, 36], [53, 37], [54, 38], [55, 39], [56, 40], [57, 41], [58, 42], [59, 43], [60, 44], [61, 45], [62, 46], [63, 47], [64, 48], [65, 49], [66, 50], [67, 51], [68, 52], [69, 53], [70, 54], [71, 55], [72, 56], [73, 57], [74, 58], [75, 59], [76, 60], [77, 61], [78, 62], [79, 63], [80, 64], [81, 65], [82, 66], [83, 67], [84, 68], [85, 69], [86, 70], [87, 71], [88, 72], [89, 73], [90, 74], [91, 75], [92, 76], [93, 77], [94, 78], [95, 79], [96, 80], [97, 81], [98, 82], [99, 83], [100, 84], [101, 85], [102, 86], [103, 87], [104, 88], [105, 89], [106, 90], [107, 91], [108, 92], [109, 93], [110, 94], [111, 95], [112, 96], [113, 97], [114, 98], [115, 99], [116, 100], [117, 101], [118, 102], [119, 103], [120, 104], [121, 105], [122, 106], [123, 107], [124, 108], [125, 108], [126, 109], [127, 109]]); +var n123 = t2([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 1], [13, 2], [14, 3], [15, 4], [16, 0], [17, 12], [18, 11], [19, 10], [20, 11], [21, 10], [22, 13], [23, 4], [24, 5], [25, 3], [26, 4], [27, 8], [28, 14], [29, 15], [30, 16], [31, 17], [32, 18], [33, 19], [34, 20], [35, 21], [36, 22], [37, 23], [38, 24], [39, 25], [40, 26], [41, 27], [42, 28], [43, 29], [44, 30], [45, 31], [46, 32], [47, 33], [48, 8], [49, 34], [50, 35], [51, 11], [52, 36], [53, 37], [54, 38], [55, 39], [56, 40], [57, 41], [58, 42], [59, 43], [60, 44], [61, 45], [62, 46], [63, 47], [64, 48], [65, 49], [66, 50], [67, 51], [68, 52], [69, 53], [70, 54], [71, 55], [72, 56], [73, 57], [74, 58], [75, 59], [76, 60], [77, 61], [78, 62], [79, 63], [80, 64], [81, 65], [82, 66], [83, 67], [84, 68], [85, 69], [86, 70], [87, 71], [88, 72], [89, 73], [90, 74], [91, 75], [92, 76], [93, 77], [94, 78], [95, 79], [96, 80], [97, 81], [98, 82], [99, 83], [100, 84], [101, 85], [102, 86], [103, 87], [104, 88], [105, 89], [106, 90], [107, 91], [108, 92], [109, 93], [110, 94], [111, 95], [112, 96], [113, 97], [114, 98], [115, 99], [116, 100], [117, 101], [118, 102], [119, 103], [120, 104], [121, 105], [122, 106], [123, 107], [124, 108], [125, 108], [126, 109], [127, 109]]); var n210 = t2([[0, 110], [1, 111], [2, 112], [3, 113], [4, 114], [5, 115], [6, 116], [7, 117], [8, 118], [9, 119], [10, 120], [11, 0], [12, 111], [13, 112], [14, 113], [15, 114], [16, 110], [17, 13], [18, 0], [19, 120], [20, 0], [21, 120], [22, 12], [23, 114], [24, 115], [25, 113], [26, 114], [27, 118], [28, 121], [29, 122], [30, 123], [31, 124], [32, 125], [33, 126], [34, 127], [35, 128], [36, 22], [37, 129], [38, 130], [39, 131], [40, 132], [41, 133], [42, 134], [43, 135], [44, 136], [45, 137], [46, 138], [47, 139], [48, 140], [49, 141], [50, 142], [51, 29], [52, 143], [53, 144], [54, 145], [55, 146], [56, 147], [57, 148], [58, 149], [59, 150], [60, 44], [61, 151], [62, 152], [63, 153], [64, 154], [65, 155], [66, 156], [67, 157], [68, 158], [69, 159], [70, 160], [71, 161], [72, 56], [73, 162], [74, 163], [75, 164], [76, 165], [77, 166], [78, 167], [79, 168], [80, 169], [81, 170], [82, 171], [83, 172], [84, 68], [85, 173], [86, 174], [87, 175], [88, 176], [89, 177], [90, 178], [91, 179], [92, 180], [93, 181], [94, 182], [95, 183], [96, 80], [97, 184], [98, 185], [99, 186], [100, 187], [101, 188], [102, 189], [103, 190], [104, 191], [105, 192], [106, 193], [107, 194], [108, 92], [109, 195], [110, 196], [111, 197], [112, 198], [113, 199], [114, 200], [115, 201], [116, 202], [117, 203], [118, 204], [119, 205], [120, 104], [121, 206], [122, 207], [123, 208], [124, 209], [125, 209], [126, 210], [127, 210]]); var n310 = t2([[0, 48], [1, 49], [2, 50], [3, 51], [4, 52], [5, 53], [6, 55], [7, 56], [8, 57], [9, 58], [10, 59], [11, 11], [12, 49], [13, 50], [14, 51], [15, 52], [16, 48], [17, 211], [18, 11], [19, 59], [20, 11], [21, 59], [22, 212], [23, 51], [24, 52], [25, 51], [26, 51], [27, 57]]); var n410 = t2([[0, 96], [1, 97], [2, 98], [3, 99], [4, 100], [5, 101], [6, 103], [7, 104], [8, 105], [9, 106], [10, 107], [11, 11], [12, 97], [13, 98], [14, 99], [15, 100], [16, 96], [17, 213], [18, 11], [19, 107], [20, 11], [21, 107], [22, 214], [23, 99], [24, 100], [25, 99], [26, 99], [27, 105]]); var n510 = t2([[0, 36], [1, 37], [2, 38], [3, 39], [4, 40], [5, 41], [6, 43], [7, 44], [8, 45], [9, 46], [10, 47], [11, 11], [12, 37], [13, 38], [14, 39], [15, 40], [16, 36], [17, 215], [18, 11], [19, 47], [20, 11], [21, 47], [22, 216], [23, 39], [24, 40], [25, 39], [26, 39], [27, 45]]); -var n67 = t2([[0, 14], [1, 15], [2, 16], [3, 17], [4, 18], [5, 19], [6, 21], [7, 22], [8, 23], [9, 24], [10, 25], [11, 11], [12, 15], [13, 16], [14, 17], [15, 18], [16, 14], [17, 217], [18, 11], [19, 25], [20, 11], [21, 25], [22, 218], [23, 17], [24, 18], [25, 17], [26, 17], [27, 23]]); -var n72 = t2([[0, 72], [1, 73], [2, 74], [3, 75], [4, 76], [5, 77], [6, 79], [7, 80], [8, 81], [9, 82], [10, 83], [11, 11], [12, 73], [13, 74], [14, 75], [15, 76], [16, 72], [17, 219], [18, 11], [19, 83], [20, 11], [21, 83], [22, 220], [23, 75], [24, 76], [25, 75], [26, 75], [27, 81]]); -var n82 = t2([[0, 60], [1, 61], [2, 62], [3, 63], [4, 64], [5, 65], [6, 67], [7, 68], [8, 69], [9, 70], [10, 71], [11, 11], [12, 61], [13, 62], [14, 63], [15, 64], [16, 60], [17, 221], [18, 11], [19, 71], [20, 11], [21, 71], [22, 222], [23, 63], [24, 64], [25, 63], [26, 63], [27, 69]]); -var n92 = t2([[0, 84], [1, 85], [2, 86], [3, 87], [4, 88], [5, 89], [6, 91], [7, 92], [8, 93], [9, 94], [10, 95], [11, 11], [12, 85], [13, 86], [14, 87], [15, 88], [16, 84], [17, 223], [18, 11], [19, 95], [20, 11], [21, 95], [22, 224], [23, 87], [24, 88], [25, 87], [26, 87], [27, 93]]); -var n102 = t2([[0, 154], [1, 155], [2, 156], [3, 157], [4, 158], [5, 159], [6, 161], [7, 56], [8, 162], [9, 163], [10, 164], [11, 0], [12, 155], [13, 156], [14, 157], [15, 158], [16, 154], [17, 225], [18, 0], [19, 164], [20, 0], [21, 164], [22, 226], [23, 158], [24, 159], [25, 157], [26, 158], [27, 162]]); -var n112 = t2([[0, 198], [1, 199], [2, 200], [3, 201], [4, 202], [5, 203], [6, 205], [7, 104], [8, 206], [9, 207], [10, 208], [11, 0], [12, 199], [13, 200], [14, 201], [15, 202], [16, 198], [17, 227], [18, 0], [19, 208], [20, 0], [21, 208], [22, 228], [23, 202], [24, 203], [25, 201], [26, 202], [27, 206]]); -var n122 = t2([[0, 143], [1, 144], [2, 145], [3, 146], [4, 147], [5, 148], [6, 150], [7, 44], [8, 151], [9, 152], [10, 153], [11, 0], [12, 144], [13, 145], [14, 146], [15, 147], [16, 143], [17, 229], [18, 0], [19, 153], [20, 0], [21, 153], [22, 230], [23, 147], [24, 148], [25, 146], [26, 147], [27, 151]]); +var n610 = t2([[0, 14], [1, 15], [2, 16], [3, 17], [4, 18], [5, 19], [6, 21], [7, 22], [8, 23], [9, 24], [10, 25], [11, 11], [12, 15], [13, 16], [14, 17], [15, 18], [16, 14], [17, 217], [18, 11], [19, 25], [20, 11], [21, 25], [22, 218], [23, 17], [24, 18], [25, 17], [26, 17], [27, 23]]); +var n710 = t2([[0, 72], [1, 73], [2, 74], [3, 75], [4, 76], [5, 77], [6, 79], [7, 80], [8, 81], [9, 82], [10, 83], [11, 11], [12, 73], [13, 74], [14, 75], [15, 76], [16, 72], [17, 219], [18, 11], [19, 83], [20, 11], [21, 83], [22, 220], [23, 75], [24, 76], [25, 75], [26, 75], [27, 81]]); +var n810 = t2([[0, 60], [1, 61], [2, 62], [3, 63], [4, 64], [5, 65], [6, 67], [7, 68], [8, 69], [9, 70], [10, 71], [11, 11], [12, 61], [13, 62], [14, 63], [15, 64], [16, 60], [17, 221], [18, 11], [19, 71], [20, 11], [21, 71], [22, 222], [23, 63], [24, 64], [25, 63], [26, 63], [27, 69]]); +var n910 = t2([[0, 84], [1, 85], [2, 86], [3, 87], [4, 88], [5, 89], [6, 91], [7, 92], [8, 93], [9, 94], [10, 95], [11, 11], [12, 85], [13, 86], [14, 87], [15, 88], [16, 84], [17, 223], [18, 11], [19, 95], [20, 11], [21, 95], [22, 224], [23, 87], [24, 88], [25, 87], [26, 87], [27, 93]]); +var n1010 = t2([[0, 154], [1, 155], [2, 156], [3, 157], [4, 158], [5, 159], [6, 161], [7, 56], [8, 162], [9, 163], [10, 164], [11, 0], [12, 155], [13, 156], [14, 157], [15, 158], [16, 154], [17, 225], [18, 0], [19, 164], [20, 0], [21, 164], [22, 226], [23, 158], [24, 159], [25, 157], [26, 158], [27, 162]]); +var n1110 = t2([[0, 198], [1, 199], [2, 200], [3, 201], [4, 202], [5, 203], [6, 205], [7, 104], [8, 206], [9, 207], [10, 208], [11, 0], [12, 199], [13, 200], [14, 201], [15, 202], [16, 198], [17, 227], [18, 0], [19, 208], [20, 0], [21, 208], [22, 228], [23, 202], [24, 203], [25, 201], [26, 202], [27, 206]]); +var n124 = t2([[0, 143], [1, 144], [2, 145], [3, 146], [4, 147], [5, 148], [6, 150], [7, 44], [8, 151], [9, 152], [10, 153], [11, 0], [12, 144], [13, 145], [14, 146], [15, 147], [16, 143], [17, 229], [18, 0], [19, 153], [20, 0], [21, 153], [22, 230], [23, 147], [24, 148], [25, 146], [26, 147], [27, 151]]); var n132 = t2([[0, 121], [1, 122], [2, 123], [3, 124], [4, 125], [5, 126], [6, 128], [7, 22], [8, 129], [9, 130], [10, 131], [11, 0], [12, 122], [13, 123], [14, 124], [15, 125], [16, 121], [17, 231], [18, 0], [19, 131], [20, 0], [21, 131], [22, 232], [23, 125], [24, 126], [25, 124], [26, 125], [27, 129]]); var n142 = t2([[0, 176], [1, 177], [2, 178], [3, 179], [4, 180], [5, 181], [6, 183], [7, 80], [8, 184], [9, 185], [10, 186], [11, 0], [12, 177], [13, 178], [14, 179], [15, 180], [16, 176], [17, 233], [18, 0], [19, 186], [20, 0], [21, 186], [22, 234], [23, 180], [24, 181], [25, 179], [26, 180], [27, 184]]); var n152 = t2([[0, 165], [1, 166], [2, 167], [3, 168], [4, 169], [5, 170], [6, 172], [7, 68], [8, 173], [9, 174], [10, 175], [11, 0], [12, 166], [13, 167], [14, 168], [15, 169], [16, 165], [17, 235], [18, 0], [19, 175], [20, 0], [21, 175], [22, 236], [23, 169], [24, 170], [25, 168], [26, 169], [27, 173]]); @@ -991,63 +1061,63 @@ var n642 = t2([[0, 188], [1, 189], [2, 190], [3, 191], [4, 192], [5, 194], [6, 9 var n652 = t2([[0, 189], [1, 190], [2, 191], [3, 192], [4, 194], [5, 92], [6, 195], [7, 196], [8, 197], [9, 0], [10, 0], [11, 0], [12, 190], [13, 191], [14, 192], [15, 194], [16, 189], [17, 188], [18, 196], [19, 195], [20, 196], [21, 195], [22, 197], [23, 194], [24, 92], [25, 192], [26, 194], [27, 194]]); var n662 = t2([[0, 190], [1, 191], [2, 192], [3, 194], [4, 92], [5, 195], [6, 196], [7, 197], [8, 0], [9, 238], [10, 238], [11, 238], [12, 191], [13, 192], [14, 194], [15, 92], [16, 190], [17, 189], [19, 92], [20, 195], [21, 92], [22, 196], [23, 92], [24, 195], [25, 194], [26, 92], [27, 192]]); var n672 = t2([[12, 0], [13, 1], [14, 2], [15, 3], [16, 0], [17, 0], [18, 11], [19, 10], [20, 11], [21, 10], [22, 11], [23, 3], [24, 4], [25, 2], [26, 3], [27, 9]]); -var n68 = t2([[12, 2], [13, 3], [14, 4], [15, 5], [16, 1], [17, 0], [18, 11], [19, 10], [20, 11], [21, 10], [22, 11], [23, 5], [24, 6], [25, 4], [26, 5], [27, 7]]); -var n69 = t2([[12, 3], [13, 4], [14, 5], [15, 6], [16, 2], [17, 1], [18, 11], [19, 10], [20, 11], [21, 10], [22, 10], [23, 241], [24, 241], [25, 5], [26, 6], [27, 6]]); -var n70 = t2([[12, 1], [13, 2], [14, 3], [15, 4], [16, 0], [17, 12], [18, 11], [19, 10], [20, 11], [21, 10], [22, 13], [23, 6], [24, 7], [25, 5], [26, 6], [27, 8]]); -var n71 = t2([[12, 3], [13, 4], [14, 5], [15, 6], [16, 2], [17, 1], [18, 11], [19, 10], [20, 11], [21, 10], [22, 10], [23, 6], [24, 7], [25, 5], [26, 6], [27, 6]]); +var n682 = t2([[12, 2], [13, 3], [14, 4], [15, 5], [16, 1], [17, 0], [18, 11], [19, 10], [20, 11], [21, 10], [22, 11], [23, 5], [24, 6], [25, 4], [26, 5], [27, 7]]); +var n692 = t2([[12, 3], [13, 4], [14, 5], [15, 6], [16, 2], [17, 1], [18, 11], [19, 10], [20, 11], [21, 10], [22, 10], [23, 241], [24, 241], [25, 5], [26, 6], [27, 6]]); +var n702 = t2([[12, 1], [13, 2], [14, 3], [15, 4], [16, 0], [17, 12], [18, 11], [19, 10], [20, 11], [21, 10], [22, 13], [23, 6], [24, 7], [25, 5], [26, 6], [27, 8]]); +var n712 = t2([[12, 3], [13, 4], [14, 5], [15, 6], [16, 2], [17, 1], [18, 11], [19, 10], [20, 11], [21, 10], [22, 10], [23, 6], [24, 7], [25, 5], [26, 6], [27, 6]]); var n722 = t2([[12, 11], [13, 11], [14, 10], [15, 9], [16, 11], [17, 11], [18, 0], [19, 1], [20, 0], [21, 1], [22, 0], [23, 9], [24, 8], [25, 10], [26, 9], [27, 1]]); -var n73 = t2([[12, 8], [13, 7], [14, 6], [15, 5], [16, 9], [17, 10], [18, 0], [19, 1], [20, 0], [21, 1], [22, 1], [23, 5], [24, 4], [25, 6], [26, 5], [27, 5]]); -var n74 = t2([[12, 10], [13, 9], [14, 8], [15, 7], [16, 11], [17, 13], [18, 0], [19, 1], [20, 0], [21, 1], [22, 12], [23, 7], [24, 6], [25, 8], [26, 7], [27, 3]]); -var n75 = t2([[12, 111], [13, 112], [14, 113], [15, 114], [16, 110], [17, 13], [18, 0], [19, 120], [20, 0], [21, 120], [22, 12], [23, 114], [24, 115], [25, 113], [26, 114], [27, 118]]); -var n76 = t2([[12, 112], [13, 113], [14, 114], [15, 115], [16, 111], [17, 110], [18, 0], [19, 120], [20, 0], [21, 120], [22, 0], [23, 115], [24, 116], [25, 114], [26, 115], [27, 117]]); -var n77 = t2([[12, 113], [13, 114], [14, 115], [15, 116], [16, 112], [17, 111], [18, 0], [19, 120], [20, 0], [21, 120], [22, 120], [23, 241], [24, 241], [25, 115], [26, 116], [27, 116]]); -var n78 = t2([[12, 111], [13, 112], [14, 113], [15, 114], [16, 110], [17, 13], [18, 0], [19, 120], [20, 0], [21, 120], [22, 12], [23, 116], [24, 117], [25, 115], [26, 116], [27, 118]]); -var n79 = t2([[12, 113], [13, 114], [14, 115], [15, 116], [16, 112], [17, 111], [18, 0], [19, 120], [20, 0], [21, 120], [22, 120], [23, 116], [24, 117], [25, 115], [26, 116], [27, 116]]); -var n80 = t2([[12, 0], [13, 0], [14, 120], [15, 119], [16, 0], [17, 0], [18, 110], [19, 111], [20, 110], [21, 111], [22, 110], [23, 119], [24, 118], [25, 120], [26, 119], [27, 111]]); -var n81 = t2([[12, 118], [13, 117], [14, 116], [15, 115], [16, 119], [17, 120], [18, 110], [19, 111], [20, 110], [21, 111], [22, 111], [23, 115], [24, 114], [25, 116], [26, 115], [27, 115]]); +var n732 = t2([[12, 8], [13, 7], [14, 6], [15, 5], [16, 9], [17, 10], [18, 0], [19, 1], [20, 0], [21, 1], [22, 1], [23, 5], [24, 4], [25, 6], [26, 5], [27, 5]]); +var n742 = t2([[12, 10], [13, 9], [14, 8], [15, 7], [16, 11], [17, 13], [18, 0], [19, 1], [20, 0], [21, 1], [22, 12], [23, 7], [24, 6], [25, 8], [26, 7], [27, 3]]); +var n752 = t2([[12, 111], [13, 112], [14, 113], [15, 114], [16, 110], [17, 13], [18, 0], [19, 120], [20, 0], [21, 120], [22, 12], [23, 114], [24, 115], [25, 113], [26, 114], [27, 118]]); +var n762 = t2([[12, 112], [13, 113], [14, 114], [15, 115], [16, 111], [17, 110], [18, 0], [19, 120], [20, 0], [21, 120], [22, 0], [23, 115], [24, 116], [25, 114], [26, 115], [27, 117]]); +var n772 = t2([[12, 113], [13, 114], [14, 115], [15, 116], [16, 112], [17, 111], [18, 0], [19, 120], [20, 0], [21, 120], [22, 120], [23, 241], [24, 241], [25, 115], [26, 116], [27, 116]]); +var n782 = t2([[12, 111], [13, 112], [14, 113], [15, 114], [16, 110], [17, 13], [18, 0], [19, 120], [20, 0], [21, 120], [22, 12], [23, 116], [24, 117], [25, 115], [26, 116], [27, 118]]); +var n792 = t2([[12, 113], [13, 114], [14, 115], [15, 116], [16, 112], [17, 111], [18, 0], [19, 120], [20, 0], [21, 120], [22, 120], [23, 116], [24, 117], [25, 115], [26, 116], [27, 116]]); +var n802 = t2([[12, 0], [13, 0], [14, 120], [15, 119], [16, 0], [17, 0], [18, 110], [19, 111], [20, 110], [21, 111], [22, 110], [23, 119], [24, 118], [25, 120], [26, 119], [27, 111]]); +var n812 = t2([[12, 118], [13, 117], [14, 116], [15, 115], [16, 119], [17, 120], [18, 110], [19, 111], [20, 110], [21, 111], [22, 111], [23, 115], [24, 114], [25, 116], [26, 115], [27, 115]]); var n822 = t2([[12, 120], [13, 119], [14, 118], [15, 117], [16, 0], [17, 12], [18, 110], [19, 111], [20, 110], [21, 111], [22, 13], [23, 117], [24, 116], [25, 118], [26, 117], [27, 113]]); -var n83 = t2([[12, 48], [13, 49], [14, 50], [15, 51], [16, 48], [17, 48], [18, 11], [19, 59], [20, 11], [21, 59], [22, 11], [23, 50], [24, 51], [25, 50], [26, 50], [27, 58]]); -var n84 = t2([[12, 50], [13, 51], [14, 52], [15, 53], [16, 49], [17, 48], [18, 11], [19, 59], [20, 11], [21, 59], [22, 11], [23, 52], [24, 53], [25, 52], [26, 52], [27, 56]]); -var n85 = t2([[12, 51], [13, 52], [14, 53], [15, 55], [16, 50], [17, 49], [18, 11], [19, 59], [20, 11], [21, 59], [22, 59], [23, 241], [24, 241], [25, 53], [26, 53], [27, 55]]); -var n86 = t2([[12, 49], [13, 50], [14, 51], [15, 52], [16, 48], [17, 211], [18, 11], [19, 59], [20, 11], [21, 59], [22, 212], [23, 53], [24, 55], [25, 53], [26, 53], [27, 57]]); -var n87 = t2([[12, 51], [13, 52], [14, 53], [15, 55], [16, 50], [17, 49], [18, 11], [19, 59], [20, 11], [21, 59], [22, 59], [23, 53], [24, 55], [25, 53], [26, 53], [27, 55]]); -var n88 = t2([[12, 11], [13, 11], [14, 59], [15, 58], [16, 11], [17, 11], [18, 48], [19, 49], [20, 48], [21, 49], [22, 48], [23, 59], [24, 58], [25, 59], [26, 59], [27, 49]]); -var n89 = t2([[12, 57], [13, 56], [14, 55], [15, 53], [16, 58], [17, 59], [18, 48], [19, 49], [20, 48], [21, 49], [22, 49], [23, 55], [24, 53], [25, 55], [26, 55], [27, 53]]); -var n90 = t2([[12, 59], [13, 58], [14, 57], [15, 56], [16, 11], [17, 212], [18, 48], [19, 49], [20, 48], [21, 49], [22, 211], [23, 57], [24, 56], [25, 57], [26, 57], [27, 51]]); -var n91 = t2([[12, 96], [13, 97], [14, 98], [15, 99], [16, 96], [17, 96], [18, 11], [19, 107], [20, 11], [21, 107], [22, 11], [23, 98], [24, 99], [25, 98], [26, 98], [27, 106]]); +var n832 = t2([[12, 48], [13, 49], [14, 50], [15, 51], [16, 48], [17, 48], [18, 11], [19, 59], [20, 11], [21, 59], [22, 11], [23, 50], [24, 51], [25, 50], [26, 50], [27, 58]]); +var n842 = t2([[12, 50], [13, 51], [14, 52], [15, 53], [16, 49], [17, 48], [18, 11], [19, 59], [20, 11], [21, 59], [22, 11], [23, 52], [24, 53], [25, 52], [26, 52], [27, 56]]); +var n852 = t2([[12, 51], [13, 52], [14, 53], [15, 55], [16, 50], [17, 49], [18, 11], [19, 59], [20, 11], [21, 59], [22, 59], [23, 241], [24, 241], [25, 53], [26, 53], [27, 55]]); +var n862 = t2([[12, 49], [13, 50], [14, 51], [15, 52], [16, 48], [17, 211], [18, 11], [19, 59], [20, 11], [21, 59], [22, 212], [23, 53], [24, 55], [25, 53], [26, 53], [27, 57]]); +var n872 = t2([[12, 51], [13, 52], [14, 53], [15, 55], [16, 50], [17, 49], [18, 11], [19, 59], [20, 11], [21, 59], [22, 59], [23, 53], [24, 55], [25, 53], [26, 53], [27, 55]]); +var n882 = t2([[12, 11], [13, 11], [14, 59], [15, 58], [16, 11], [17, 11], [18, 48], [19, 49], [20, 48], [21, 49], [22, 48], [23, 59], [24, 58], [25, 59], [26, 59], [27, 49]]); +var n892 = t2([[12, 57], [13, 56], [14, 55], [15, 53], [16, 58], [17, 59], [18, 48], [19, 49], [20, 48], [21, 49], [22, 49], [23, 55], [24, 53], [25, 55], [26, 55], [27, 53]]); +var n902 = t2([[12, 59], [13, 58], [14, 57], [15, 56], [16, 11], [17, 212], [18, 48], [19, 49], [20, 48], [21, 49], [22, 211], [23, 57], [24, 56], [25, 57], [26, 57], [27, 51]]); +var n912 = t2([[12, 96], [13, 97], [14, 98], [15, 99], [16, 96], [17, 96], [18, 11], [19, 107], [20, 11], [21, 107], [22, 11], [23, 98], [24, 99], [25, 98], [26, 98], [27, 106]]); var n922 = t2([[12, 98], [13, 99], [14, 100], [15, 101], [16, 97], [17, 96], [18, 11], [19, 107], [20, 11], [21, 107], [22, 11], [23, 100], [24, 101], [25, 100], [26, 100], [27, 104]]); -var n93 = t2([[12, 99], [13, 100], [14, 101], [15, 103], [16, 98], [17, 97], [18, 11], [19, 107], [20, 11], [21, 107], [22, 107], [23, 241], [24, 241], [25, 101], [26, 101], [27, 103]]); -var n94 = t2([[12, 97], [13, 98], [14, 99], [15, 100], [16, 96], [17, 213], [18, 11], [19, 107], [20, 11], [21, 107], [22, 214], [23, 101], [24, 103], [25, 101], [26, 101], [27, 105]]); -var n95 = t2([[12, 99], [13, 100], [14, 101], [15, 103], [16, 98], [17, 97], [18, 11], [19, 107], [20, 11], [21, 107], [22, 107], [23, 101], [24, 103], [25, 101], [26, 101], [27, 103]]); -var n96 = t2([[12, 11], [13, 11], [14, 107], [15, 106], [16, 11], [17, 11], [18, 96], [19, 97], [20, 96], [21, 97], [22, 96], [23, 107], [24, 106], [25, 107], [26, 107], [27, 97]]); -var n97 = t2([[12, 105], [13, 104], [14, 103], [15, 101], [16, 106], [17, 107], [18, 96], [19, 97], [20, 96], [21, 97], [22, 97], [23, 103], [24, 101], [25, 103], [26, 103], [27, 101]]); -var n98 = t2([[12, 107], [13, 106], [14, 105], [15, 104], [16, 11], [17, 214], [18, 96], [19, 97], [20, 96], [21, 97], [22, 213], [23, 105], [24, 104], [25, 105], [26, 105], [27, 99]]); -var n99 = t2([[12, 36], [13, 37], [14, 38], [15, 39], [16, 36], [17, 36], [18, 11], [19, 47], [20, 11], [21, 47], [22, 11], [23, 38], [24, 39], [25, 38], [26, 38], [27, 46]]); -var n100 = t2([[12, 38], [13, 39], [14, 40], [15, 41], [16, 37], [17, 36], [18, 11], [19, 47], [20, 11], [21, 47], [22, 11], [23, 40], [24, 41], [25, 40], [26, 40], [27, 44]]); -var n101 = t2([[12, 39], [13, 40], [14, 41], [15, 43], [16, 38], [17, 37], [18, 11], [19, 47], [20, 11], [21, 47], [22, 47], [23, 241], [24, 241], [25, 41], [26, 41], [27, 43]]); +var n932 = t2([[12, 99], [13, 100], [14, 101], [15, 103], [16, 98], [17, 97], [18, 11], [19, 107], [20, 11], [21, 107], [22, 107], [23, 241], [24, 241], [25, 101], [26, 101], [27, 103]]); +var n942 = t2([[12, 97], [13, 98], [14, 99], [15, 100], [16, 96], [17, 213], [18, 11], [19, 107], [20, 11], [21, 107], [22, 214], [23, 101], [24, 103], [25, 101], [26, 101], [27, 105]]); +var n952 = t2([[12, 99], [13, 100], [14, 101], [15, 103], [16, 98], [17, 97], [18, 11], [19, 107], [20, 11], [21, 107], [22, 107], [23, 101], [24, 103], [25, 101], [26, 101], [27, 103]]); +var n962 = t2([[12, 11], [13, 11], [14, 107], [15, 106], [16, 11], [17, 11], [18, 96], [19, 97], [20, 96], [21, 97], [22, 96], [23, 107], [24, 106], [25, 107], [26, 107], [27, 97]]); +var n972 = t2([[12, 105], [13, 104], [14, 103], [15, 101], [16, 106], [17, 107], [18, 96], [19, 97], [20, 96], [21, 97], [22, 97], [23, 103], [24, 101], [25, 103], [26, 103], [27, 101]]); +var n982 = t2([[12, 107], [13, 106], [14, 105], [15, 104], [16, 11], [17, 214], [18, 96], [19, 97], [20, 96], [21, 97], [22, 213], [23, 105], [24, 104], [25, 105], [26, 105], [27, 99]]); +var n992 = t2([[12, 36], [13, 37], [14, 38], [15, 39], [16, 36], [17, 36], [18, 11], [19, 47], [20, 11], [21, 47], [22, 11], [23, 38], [24, 39], [25, 38], [26, 38], [27, 46]]); +var n1002 = t2([[12, 38], [13, 39], [14, 40], [15, 41], [16, 37], [17, 36], [18, 11], [19, 47], [20, 11], [21, 47], [22, 11], [23, 40], [24, 41], [25, 40], [26, 40], [27, 44]]); +var n1012 = t2([[12, 39], [13, 40], [14, 41], [15, 43], [16, 38], [17, 37], [18, 11], [19, 47], [20, 11], [21, 47], [22, 47], [23, 241], [24, 241], [25, 41], [26, 41], [27, 43]]); var n1022 = t2([[12, 37], [13, 38], [14, 39], [15, 40], [16, 36], [17, 215], [18, 11], [19, 47], [20, 11], [21, 47], [22, 216], [23, 41], [24, 43], [25, 41], [26, 41], [27, 45]]); -var n103 = t2([[12, 39], [13, 40], [14, 41], [15, 43], [16, 38], [17, 37], [18, 11], [19, 47], [20, 11], [21, 47], [22, 47], [23, 41], [24, 43], [25, 41], [26, 41], [27, 43]]); -var n104 = t2([[12, 11], [13, 11], [14, 47], [15, 46], [16, 11], [17, 11], [18, 36], [19, 37], [20, 36], [21, 37], [22, 36], [23, 47], [24, 46], [25, 47], [26, 47], [27, 37]]); -var n105 = t2([[12, 45], [13, 44], [14, 43], [15, 41], [16, 46], [17, 47], [18, 36], [19, 37], [20, 36], [21, 37], [22, 37], [23, 43], [24, 41], [25, 43], [26, 43], [27, 41]]); -var n106 = t2([[12, 47], [13, 46], [14, 45], [15, 44], [16, 11], [17, 216], [18, 36], [19, 37], [20, 36], [21, 37], [22, 215], [23, 45], [24, 44], [25, 45], [26, 45], [27, 39]]); -var n107 = t2([[12, 14], [13, 15], [14, 16], [15, 17], [16, 14], [17, 14], [18, 11], [19, 25], [20, 11], [21, 25], [22, 11], [23, 16], [24, 17], [25, 16], [26, 16], [27, 24]]); -var n108 = t2([[12, 16], [13, 17], [14, 18], [15, 19], [16, 15], [17, 14], [18, 11], [19, 25], [20, 11], [21, 25], [22, 11], [23, 18], [24, 19], [25, 18], [26, 18], [27, 22]]); -var n109 = t2([[12, 17], [13, 18], [14, 19], [15, 21], [16, 16], [17, 15], [18, 11], [19, 25], [20, 11], [21, 25], [22, 25], [23, 241], [24, 241], [25, 19], [26, 19], [27, 21]]); +var n1032 = t2([[12, 39], [13, 40], [14, 41], [15, 43], [16, 38], [17, 37], [18, 11], [19, 47], [20, 11], [21, 47], [22, 47], [23, 41], [24, 43], [25, 41], [26, 41], [27, 43]]); +var n1042 = t2([[12, 11], [13, 11], [14, 47], [15, 46], [16, 11], [17, 11], [18, 36], [19, 37], [20, 36], [21, 37], [22, 36], [23, 47], [24, 46], [25, 47], [26, 47], [27, 37]]); +var n1052 = t2([[12, 45], [13, 44], [14, 43], [15, 41], [16, 46], [17, 47], [18, 36], [19, 37], [20, 36], [21, 37], [22, 37], [23, 43], [24, 41], [25, 43], [26, 43], [27, 41]]); +var n1062 = t2([[12, 47], [13, 46], [14, 45], [15, 44], [16, 11], [17, 216], [18, 36], [19, 37], [20, 36], [21, 37], [22, 215], [23, 45], [24, 44], [25, 45], [26, 45], [27, 39]]); +var n1072 = t2([[12, 14], [13, 15], [14, 16], [15, 17], [16, 14], [17, 14], [18, 11], [19, 25], [20, 11], [21, 25], [22, 11], [23, 16], [24, 17], [25, 16], [26, 16], [27, 24]]); +var n1082 = t2([[12, 16], [13, 17], [14, 18], [15, 19], [16, 15], [17, 14], [18, 11], [19, 25], [20, 11], [21, 25], [22, 11], [23, 18], [24, 19], [25, 18], [26, 18], [27, 22]]); +var n1092 = t2([[12, 17], [13, 18], [14, 19], [15, 21], [16, 16], [17, 15], [18, 11], [19, 25], [20, 11], [21, 25], [22, 25], [23, 241], [24, 241], [25, 19], [26, 19], [27, 21]]); var n1102 = t2([[12, 15], [13, 16], [14, 17], [15, 18], [16, 14], [17, 217], [18, 11], [19, 25], [20, 11], [21, 25], [22, 218], [23, 19], [24, 21], [25, 19], [26, 19], [27, 23]]); -var n111 = t2([[12, 17], [13, 18], [14, 19], [15, 21], [16, 16], [17, 15], [18, 11], [19, 25], [20, 11], [21, 25], [22, 25], [23, 19], [24, 21], [25, 19], [26, 19], [27, 21]]); +var n1112 = t2([[12, 17], [13, 18], [14, 19], [15, 21], [16, 16], [17, 15], [18, 11], [19, 25], [20, 11], [21, 25], [22, 25], [23, 19], [24, 21], [25, 19], [26, 19], [27, 21]]); var n1122 = t2([[12, 11], [13, 11], [14, 25], [15, 24], [16, 11], [17, 11], [18, 14], [19, 15], [20, 14], [21, 15], [22, 14], [23, 25], [24, 24], [25, 25], [26, 25], [27, 15]]); -var n113 = t2([[12, 23], [13, 22], [14, 21], [15, 19], [16, 24], [17, 25], [18, 14], [19, 15], [20, 14], [21, 15], [22, 15], [23, 21], [24, 19], [25, 21], [26, 21], [27, 19]]); -var n114 = t2([[12, 25], [13, 24], [14, 23], [15, 22], [16, 11], [17, 218], [18, 14], [19, 15], [20, 14], [21, 15], [22, 217], [23, 23], [24, 22], [25, 23], [26, 23], [27, 17]]); -var n115 = t2([[12, 72], [13, 73], [14, 74], [15, 75], [16, 72], [17, 72], [18, 11], [19, 83], [20, 11], [21, 83], [22, 11], [23, 74], [24, 75], [25, 74], [26, 74], [27, 82]]); -var n116 = t2([[12, 74], [13, 75], [14, 76], [15, 77], [16, 73], [17, 72], [18, 11], [19, 83], [20, 11], [21, 83], [22, 11], [23, 76], [24, 77], [25, 76], [26, 76], [27, 80]]); -var n117 = t2([[12, 75], [13, 76], [14, 77], [15, 79], [16, 74], [17, 73], [18, 11], [19, 83], [20, 11], [21, 83], [22, 83], [23, 241], [24, 241], [25, 77], [26, 77], [27, 79]]); -var n118 = t2([[12, 73], [13, 74], [14, 75], [15, 76], [16, 72], [17, 219], [18, 11], [19, 83], [20, 11], [21, 83], [22, 220], [23, 77], [24, 79], [25, 77], [26, 77], [27, 81]]); -var n119 = t2([[12, 75], [13, 76], [14, 77], [15, 79], [16, 74], [17, 73], [18, 11], [19, 83], [20, 11], [21, 83], [22, 83], [23, 77], [24, 79], [25, 77], [26, 77], [27, 79]]); -var n120 = t2([[12, 11], [13, 11], [14, 83], [15, 82], [16, 11], [17, 11], [18, 72], [19, 73], [20, 72], [21, 73], [22, 72], [23, 83], [24, 82], [25, 83], [26, 83], [27, 73]]); -var n121 = t2([[12, 81], [13, 80], [14, 79], [15, 77], [16, 82], [17, 83], [18, 72], [19, 73], [20, 72], [21, 73], [22, 73], [23, 79], [24, 77], [25, 79], [26, 79], [27, 77]]); +var n1132 = t2([[12, 23], [13, 22], [14, 21], [15, 19], [16, 24], [17, 25], [18, 14], [19, 15], [20, 14], [21, 15], [22, 15], [23, 21], [24, 19], [25, 21], [26, 21], [27, 19]]); +var n1142 = t2([[12, 25], [13, 24], [14, 23], [15, 22], [16, 11], [17, 218], [18, 14], [19, 15], [20, 14], [21, 15], [22, 217], [23, 23], [24, 22], [25, 23], [26, 23], [27, 17]]); +var n1152 = t2([[12, 72], [13, 73], [14, 74], [15, 75], [16, 72], [17, 72], [18, 11], [19, 83], [20, 11], [21, 83], [22, 11], [23, 74], [24, 75], [25, 74], [26, 74], [27, 82]]); +var n1162 = t2([[12, 74], [13, 75], [14, 76], [15, 77], [16, 73], [17, 72], [18, 11], [19, 83], [20, 11], [21, 83], [22, 11], [23, 76], [24, 77], [25, 76], [26, 76], [27, 80]]); +var n1172 = t2([[12, 75], [13, 76], [14, 77], [15, 79], [16, 74], [17, 73], [18, 11], [19, 83], [20, 11], [21, 83], [22, 83], [23, 241], [24, 241], [25, 77], [26, 77], [27, 79]]); +var n1182 = t2([[12, 73], [13, 74], [14, 75], [15, 76], [16, 72], [17, 219], [18, 11], [19, 83], [20, 11], [21, 83], [22, 220], [23, 77], [24, 79], [25, 77], [26, 77], [27, 81]]); +var n1192 = t2([[12, 75], [13, 76], [14, 77], [15, 79], [16, 74], [17, 73], [18, 11], [19, 83], [20, 11], [21, 83], [22, 83], [23, 77], [24, 79], [25, 77], [26, 77], [27, 79]]); +var n1202 = t2([[12, 11], [13, 11], [14, 83], [15, 82], [16, 11], [17, 11], [18, 72], [19, 73], [20, 72], [21, 73], [22, 72], [23, 83], [24, 82], [25, 83], [26, 83], [27, 73]]); +var n1212 = t2([[12, 81], [13, 80], [14, 79], [15, 77], [16, 82], [17, 83], [18, 72], [19, 73], [20, 72], [21, 73], [22, 73], [23, 79], [24, 77], [25, 79], [26, 79], [27, 77]]); var n1222 = t2([[12, 83], [13, 82], [14, 81], [15, 80], [16, 11], [17, 220], [18, 72], [19, 73], [20, 72], [21, 73], [22, 219], [23, 81], [24, 80], [25, 81], [26, 81], [27, 75]]); -var n123 = t2([[12, 60], [13, 61], [14, 62], [15, 63], [16, 60], [17, 60], [18, 11], [19, 71], [20, 11], [21, 71], [22, 11], [23, 62], [24, 63], [25, 62], [26, 62], [27, 70]]); -var n124 = t2([[12, 62], [13, 63], [14, 64], [15, 65], [16, 61], [17, 60], [18, 11], [19, 71], [20, 11], [21, 71], [22, 11], [23, 64], [24, 65], [25, 64], [26, 64], [27, 68]]); +var n1232 = t2([[12, 60], [13, 61], [14, 62], [15, 63], [16, 60], [17, 60], [18, 11], [19, 71], [20, 11], [21, 71], [22, 11], [23, 62], [24, 63], [25, 62], [26, 62], [27, 70]]); +var n1242 = t2([[12, 62], [13, 63], [14, 64], [15, 65], [16, 61], [17, 60], [18, 11], [19, 71], [20, 11], [21, 71], [22, 11], [23, 64], [24, 65], [25, 64], [26, 64], [27, 68]]); var n125 = t2([[12, 63], [13, 64], [14, 65], [15, 67], [16, 62], [17, 61], [18, 11], [19, 71], [20, 11], [21, 71], [22, 71], [23, 241], [24, 241], [25, 65], [26, 65], [27, 67]]); var n126 = t2([[12, 61], [13, 62], [14, 63], [15, 64], [16, 60], [17, 221], [18, 11], [19, 71], [20, 11], [21, 71], [22, 222], [23, 65], [24, 67], [25, 65], [26, 65], [27, 69]]); var n127 = t2([[12, 63], [13, 64], [14, 65], [15, 67], [16, 62], [17, 61], [18, 11], [19, 71], [20, 11], [21, 71], [22, 71], [23, 65], [24, 67], [25, 65], [26, 65], [27, 67]]); @@ -1503,18 +1573,18 @@ var n576 = t2([[12, 196], [13, 195], [14, 92], [15, 194], [16, 197], [17, 0], [1 var n577 = t2([[12, 192], [13, 191], [14, 190], [15, 189], [16, 194], [17, 92], [19, 191], [20, 190], [21, 191], [22, 191], [23, 189], [24, 188], [25, 190], [26, 189], [27, 195]]); var n578 = t2([[12, 92], [13, 194], [14, 192], [15, 191], [16, 195], [17, 196], [19, 191], [20, 190], [21, 191], [22, 189], [23, 191], [24, 190], [25, 192], [26, 191], [27, 194]]); var themes2 = { - light: n110, + light: n123, dark: n210, light_orange: n310, light_yellow: n410, light_green: n510, - light_blue: n67, - light_purple: n72, - light_pink: n82, - light_red: n92, - dark_orange: n102, - dark_yellow: n112, - dark_green: n122, + light_blue: n610, + light_purple: n710, + light_pink: n810, + light_red: n910, + dark_orange: n1010, + dark_yellow: n1110, + dark_green: n124, dark_blue: n132, dark_purple: n142, dark_pink: n152, @@ -1760,136 +1830,136 @@ var themes2 = { dark_red_alt2: n652, dark_red_active: n662, light_ListItem: n672, - light_Card: n68, - light_DrawerFrame: n68, - light_Progress: n68, - light_TooltipArrow: n68, - light_Button: n69, - light_Checkbox: n70, - light_RadioGroupItem: n70, - light_Input: n70, - light_TextArea: n70, - light_Switch: n71, - light_TooltipContent: n71, - light_SliderTrack: n71, + light_Card: n682, + light_DrawerFrame: n682, + light_Progress: n682, + light_TooltipArrow: n682, + light_Button: n692, + light_Checkbox: n702, + light_RadioGroupItem: n702, + light_Input: n702, + light_TextArea: n702, + light_Switch: n712, + light_TooltipContent: n712, + light_SliderTrack: n712, light_SwitchThumb: n722, - light_SliderTrackActive: n73, - light_SliderThumb: n74, - light_Tooltip: n74, - light_ProgressIndicator: n74, - dark_ListItem: n75, - dark_Card: n76, - dark_DrawerFrame: n76, - dark_Progress: n76, - dark_TooltipArrow: n76, - dark_Button: n77, - dark_Checkbox: n78, - dark_RadioGroupItem: n78, - dark_Input: n78, - dark_TextArea: n78, - dark_Switch: n79, - dark_TooltipContent: n79, - dark_SliderTrack: n79, - dark_SwitchThumb: n80, - dark_SliderTrackActive: n81, + light_SliderTrackActive: n732, + light_SliderThumb: n742, + light_Tooltip: n742, + light_ProgressIndicator: n742, + dark_ListItem: n752, + dark_Card: n762, + dark_DrawerFrame: n762, + dark_Progress: n762, + dark_TooltipArrow: n762, + dark_Button: n772, + dark_Checkbox: n782, + dark_RadioGroupItem: n782, + dark_Input: n782, + dark_TextArea: n782, + dark_Switch: n792, + dark_TooltipContent: n792, + dark_SliderTrack: n792, + dark_SwitchThumb: n802, + dark_SliderTrackActive: n812, dark_SliderThumb: n822, dark_Tooltip: n822, dark_ProgressIndicator: n822, - light_orange_ListItem: n83, - light_orange_Card: n84, - light_orange_DrawerFrame: n84, - light_orange_Progress: n84, - light_orange_TooltipArrow: n84, - light_orange_Button: n85, - light_orange_Checkbox: n86, - light_orange_RadioGroupItem: n86, - light_orange_Input: n86, - light_orange_TextArea: n86, - light_orange_Switch: n87, - light_orange_TooltipContent: n87, - light_orange_SliderTrack: n87, - light_orange_SwitchThumb: n88, - light_orange_SliderTrackActive: n89, - light_orange_SliderThumb: n90, - light_orange_Tooltip: n90, - light_orange_ProgressIndicator: n90, - light_yellow_ListItem: n91, + light_orange_ListItem: n832, + light_orange_Card: n842, + light_orange_DrawerFrame: n842, + light_orange_Progress: n842, + light_orange_TooltipArrow: n842, + light_orange_Button: n852, + light_orange_Checkbox: n862, + light_orange_RadioGroupItem: n862, + light_orange_Input: n862, + light_orange_TextArea: n862, + light_orange_Switch: n872, + light_orange_TooltipContent: n872, + light_orange_SliderTrack: n872, + light_orange_SwitchThumb: n882, + light_orange_SliderTrackActive: n892, + light_orange_SliderThumb: n902, + light_orange_Tooltip: n902, + light_orange_ProgressIndicator: n902, + light_yellow_ListItem: n912, light_yellow_Card: n922, light_yellow_DrawerFrame: n922, light_yellow_Progress: n922, light_yellow_TooltipArrow: n922, - light_yellow_Button: n93, - light_yellow_Checkbox: n94, - light_yellow_RadioGroupItem: n94, - light_yellow_Input: n94, - light_yellow_TextArea: n94, - light_yellow_Switch: n95, - light_yellow_TooltipContent: n95, - light_yellow_SliderTrack: n95, - light_yellow_SwitchThumb: n96, - light_yellow_SliderTrackActive: n97, - light_yellow_SliderThumb: n98, - light_yellow_Tooltip: n98, - light_yellow_ProgressIndicator: n98, - light_green_ListItem: n99, - light_green_Card: n100, - light_green_DrawerFrame: n100, - light_green_Progress: n100, - light_green_TooltipArrow: n100, - light_green_Button: n101, + light_yellow_Button: n932, + light_yellow_Checkbox: n942, + light_yellow_RadioGroupItem: n942, + light_yellow_Input: n942, + light_yellow_TextArea: n942, + light_yellow_Switch: n952, + light_yellow_TooltipContent: n952, + light_yellow_SliderTrack: n952, + light_yellow_SwitchThumb: n962, + light_yellow_SliderTrackActive: n972, + light_yellow_SliderThumb: n982, + light_yellow_Tooltip: n982, + light_yellow_ProgressIndicator: n982, + light_green_ListItem: n992, + light_green_Card: n1002, + light_green_DrawerFrame: n1002, + light_green_Progress: n1002, + light_green_TooltipArrow: n1002, + light_green_Button: n1012, light_green_Checkbox: n1022, light_green_RadioGroupItem: n1022, light_green_Input: n1022, light_green_TextArea: n1022, - light_green_Switch: n103, - light_green_TooltipContent: n103, - light_green_SliderTrack: n103, - light_green_SwitchThumb: n104, - light_green_SliderTrackActive: n105, - light_green_SliderThumb: n106, - light_green_Tooltip: n106, - light_green_ProgressIndicator: n106, - light_blue_ListItem: n107, - light_blue_Card: n108, - light_blue_DrawerFrame: n108, - light_blue_Progress: n108, - light_blue_TooltipArrow: n108, - light_blue_Button: n109, + light_green_Switch: n1032, + light_green_TooltipContent: n1032, + light_green_SliderTrack: n1032, + light_green_SwitchThumb: n1042, + light_green_SliderTrackActive: n1052, + light_green_SliderThumb: n1062, + light_green_Tooltip: n1062, + light_green_ProgressIndicator: n1062, + light_blue_ListItem: n1072, + light_blue_Card: n1082, + light_blue_DrawerFrame: n1082, + light_blue_Progress: n1082, + light_blue_TooltipArrow: n1082, + light_blue_Button: n1092, light_blue_Checkbox: n1102, light_blue_RadioGroupItem: n1102, light_blue_Input: n1102, light_blue_TextArea: n1102, - light_blue_Switch: n111, - light_blue_TooltipContent: n111, - light_blue_SliderTrack: n111, + light_blue_Switch: n1112, + light_blue_TooltipContent: n1112, + light_blue_SliderTrack: n1112, light_blue_SwitchThumb: n1122, - light_blue_SliderTrackActive: n113, - light_blue_SliderThumb: n114, - light_blue_Tooltip: n114, - light_blue_ProgressIndicator: n114, - light_purple_ListItem: n115, - light_purple_Card: n116, - light_purple_DrawerFrame: n116, - light_purple_Progress: n116, - light_purple_TooltipArrow: n116, - light_purple_Button: n117, - light_purple_Checkbox: n118, - light_purple_RadioGroupItem: n118, - light_purple_Input: n118, - light_purple_TextArea: n118, - light_purple_Switch: n119, - light_purple_TooltipContent: n119, - light_purple_SliderTrack: n119, - light_purple_SwitchThumb: n120, - light_purple_SliderTrackActive: n121, + light_blue_SliderTrackActive: n1132, + light_blue_SliderThumb: n1142, + light_blue_Tooltip: n1142, + light_blue_ProgressIndicator: n1142, + light_purple_ListItem: n1152, + light_purple_Card: n1162, + light_purple_DrawerFrame: n1162, + light_purple_Progress: n1162, + light_purple_TooltipArrow: n1162, + light_purple_Button: n1172, + light_purple_Checkbox: n1182, + light_purple_RadioGroupItem: n1182, + light_purple_Input: n1182, + light_purple_TextArea: n1182, + light_purple_Switch: n1192, + light_purple_TooltipContent: n1192, + light_purple_SliderTrack: n1192, + light_purple_SwitchThumb: n1202, + light_purple_SliderTrackActive: n1212, light_purple_SliderThumb: n1222, light_purple_Tooltip: n1222, light_purple_ProgressIndicator: n1222, - light_pink_ListItem: n123, - light_pink_Card: n124, - light_pink_DrawerFrame: n124, - light_pink_Progress: n124, - light_pink_TooltipArrow: n124, + light_pink_ListItem: n1232, + light_pink_Card: n1242, + light_pink_DrawerFrame: n1242, + light_pink_Progress: n1242, + light_pink_TooltipArrow: n1242, light_pink_Button: n125, light_pink_Checkbox: n126, light_pink_RadioGroupItem: n126, @@ -2913,7 +2983,7 @@ var themes2 = { dark_red_active_ProgressIndicator: n578 }; -// node_modules/@tamagui/colors/dist/esm/dark/blue.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/dark/blue.mjs var blue = { blue1: "hsl(212, 35.0%, 9.2%)", blue2: "hsl(216, 50.0%, 11.8%)", @@ -2929,7 +2999,7 @@ var blue = { blue12: "hsl(206, 98.0%, 95.8%)" }; -// node_modules/@tamagui/colors/dist/esm/dark/gray.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/dark/gray.mjs var gray = { gray1: "hsl(0, 0%, 8.5%)", gray2: "hsl(0, 0%, 11.0%)", @@ -2945,7 +3015,7 @@ var gray = { gray12: "hsl(0, 0%, 93.0%)" }; -// node_modules/@tamagui/colors/dist/esm/dark/green.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/dark/green.mjs var green = { green1: "hsl(146, 30.0%, 7.4%)", green2: "hsl(155, 44.2%, 8.4%)", @@ -2961,7 +3031,7 @@ var green = { green12: "hsl(137, 72.0%, 94.0%)" }; -// node_modules/@tamagui/colors/dist/esm/dark/orange.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/dark/orange.mjs var orange = { orange1: "hsl(30, 70.0%, 7.2%)", orange2: "hsl(28, 100%, 8.4%)", @@ -2977,7 +3047,7 @@ var orange = { orange12: "hsl(24, 97.0%, 93.2%)" }; -// node_modules/@tamagui/colors/dist/esm/dark/pink.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/dark/pink.mjs var pink = { pink1: "hsl(318, 25.0%, 9.6%)", pink2: "hsl(319, 32.2%, 11.6%)", @@ -2993,7 +3063,7 @@ var pink = { pink12: "hsl(322, 90.0%, 95.8%)" }; -// node_modules/@tamagui/colors/dist/esm/dark/purple.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/dark/purple.mjs var purple = { purple1: "hsl(284, 20.0%, 9.6%)", purple2: "hsl(283, 30.0%, 11.8%)", @@ -3009,7 +3079,7 @@ var purple = { purple12: "hsl(279, 75.0%, 95.7%)" }; -// node_modules/@tamagui/colors/dist/esm/dark/red.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/dark/red.mjs var red = { red1: "hsl(353, 23.0%, 9.8%)", red2: "hsl(357, 34.4%, 12.0%)", @@ -3025,7 +3095,7 @@ var red = { red12: "hsl(351, 89.0%, 96.0%)" }; -// node_modules/@tamagui/colors/dist/esm/dark/yellow.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/dark/yellow.mjs var yellow = { yellow1: "hsl(45, 100%, 5.5%)", yellow2: "hsl(46, 100%, 6.7%)", @@ -3041,7 +3111,7 @@ var yellow = { yellow12: "hsl(53, 100%, 91.0%)" }; -// node_modules/@tamagui/colors/dist/esm/light/blue.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/light/blue.mjs var blue2 = { blue1: "hsl(206, 100%, 99.2%)", blue2: "hsl(210, 100%, 98.0%)", @@ -3057,7 +3127,7 @@ var blue2 = { blue12: "hsl(211, 100%, 15.0%)" }; -// node_modules/@tamagui/colors/dist/esm/light/gray.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/light/gray.mjs var gray2 = { gray1: "hsl(0, 0%, 99.0%)", gray2: "hsl(0, 0%, 97.3%)", @@ -3073,7 +3143,7 @@ var gray2 = { gray12: "hsl(0, 0%, 9.0%)" }; -// node_modules/@tamagui/colors/dist/esm/light/green.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/light/green.mjs var green2 = { green1: "hsl(136, 50.0%, 98.9%)", green2: "hsl(138, 62.5%, 96.9%)", @@ -3089,7 +3159,7 @@ var green2 = { green12: "hsl(155, 40.0%, 14.0%)" }; -// node_modules/@tamagui/colors/dist/esm/light/orange.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/light/orange.mjs var orange2 = { orange1: "hsl(24, 70.0%, 99.0%)", orange2: "hsl(24, 83.3%, 97.6%)", @@ -3105,7 +3175,7 @@ var orange2 = { orange12: "hsl(15, 60.0%, 17.0%)" }; -// node_modules/@tamagui/colors/dist/esm/light/pink.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/light/pink.mjs var pink2 = { pink1: "hsl(322, 100%, 99.4%)", pink2: "hsl(323, 100%, 98.4%)", @@ -3121,7 +3191,7 @@ var pink2 = { pink12: "hsl(320, 70.0%, 13.5%)" }; -// node_modules/@tamagui/colors/dist/esm/light/purple.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/light/purple.mjs var purple2 = { purple1: "hsl(280, 65.0%, 99.4%)", purple2: "hsl(276, 100%, 99.0%)", @@ -3137,7 +3207,7 @@ var purple2 = { purple12: "hsl(272, 66.0%, 16.0%)" }; -// node_modules/@tamagui/colors/dist/esm/light/red.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/light/red.mjs var red2 = { red1: "hsl(359, 100%, 99.4%)", red2: "hsl(359, 100%, 98.6%)", @@ -3153,7 +3223,7 @@ var red2 = { red12: "hsl(354, 50.0%, 14.6%)" }; -// node_modules/@tamagui/colors/dist/esm/light/yellow.mjs +// node_modules/@tamagui/colors/dist/esm/legacy/light/yellow.mjs var yellow2 = { yellow1: "hsl(60, 54.0%, 98.5%)", yellow2: "hsl(52, 100%, 95.5%)", @@ -3170,7 +3240,7 @@ var yellow2 = { }; // node_modules/@tamagui/themes/dist/esm/tokens.mjs -var import_web2 = require("@tamagui/core"); +var import_web = require("@tamagui/core"); var size2 = { $0: 0, "$0.25": 2, @@ -3286,7 +3356,7 @@ var radius2 = { 11: 42, 12: 50 }; -var tokens2 = (0, import_web2.createTokens)({ +var tokens2 = (0, import_web.createTokens)({ color, radius: radius2, zIndex: zIndex2, @@ -3294,6 +3364,212 @@ var tokens2 = (0, import_web2.createTokens)({ size: size2 }); +// node_modules/@tamagui/animation-helpers/dist/esm/normalizeTransition.mjs +function normalizeTransition(transition) { + if (!transition) return { + default: null, + enter: null, + exit: null, + delay: void 0, + properties: {} + }; + if (typeof transition == "string") return { + default: transition, + enter: null, + exit: null, + delay: void 0, + properties: {} + }; + if (Array.isArray(transition)) { + const [defaultAnimation, config2] = transition, properties = {}; + let delay, enter = null, exit = null; + if (config2 && typeof config2 == "object") for (const [key, value] of Object.entries(config2)) key === "delay" && typeof value == "number" ? delay = value : key === "enter" && typeof value == "string" ? enter = value : key === "exit" && typeof value == "string" ? exit = value : value !== void 0 && (properties[key] = value); + return { + default: defaultAnimation, + enter, + exit, + delay, + properties + }; + } + if (typeof transition == "object") { + const properties = {}; + let defaultAnimation = null, enter = null, exit = null, delay; + for (const [key, value] of Object.entries(transition)) key === "default" && typeof value == "string" ? defaultAnimation = value : key === "enter" && typeof value == "string" ? enter = value : key === "exit" && typeof value == "string" ? exit = value : key === "delay" && typeof value == "number" ? delay = value : value !== void 0 && (properties[key] = value); + return { + default: defaultAnimation, + enter, + exit, + delay, + properties + }; + } + return { + default: null, + enter: null, + exit: null, + delay: void 0, + properties: {} + }; +} +__name(normalizeTransition, "normalizeTransition"); +function hasAnimation(normalized) { + return normalized.default !== null || normalized.enter !== null || normalized.exit !== null || Object.keys(normalized.properties).length > 0; +} +__name(hasAnimation, "hasAnimation"); +function getAnimatedProperties(normalized) { + return Object.keys(normalized.properties); +} +__name(getAnimatedProperties, "getAnimatedProperties"); +function getEffectiveAnimation(normalized, state) { + return state === "enter" && normalized.enter ? normalized.enter : state === "exit" && normalized.exit ? normalized.exit : normalized.default; +} +__name(getEffectiveAnimation, "getEffectiveAnimation"); + +// node_modules/@tamagui/constants/dist/esm/constants.mjs +var import_react = require("react"); +var isWeb2 = true; +var isBrowser = typeof window < "u"; +var isServer = isWeb2 && !isBrowser; +var isClient = isWeb2 && isBrowser; +var useIsomorphicLayoutEffect = isServer ? import_react.useEffect : import_react.useLayoutEffect; +var isChrome = typeof navigator < "u" && /Chrome/.test(navigator.userAgent || ""); +var isWebTouchable = isClient && ("ontouchstart" in window || navigator.maxTouchPoints > 0); +var isIos = process.env.TEST_NATIVE_PLATFORM === "ios"; + +// node_modules/@tamagui/use-presence/dist/esm/PresenceContext.mjs +var React = __toESM(require("react"), 1); +var import_jsx_runtime = require("react/jsx-runtime"); +var PresenceContext = React.createContext(null); +var ResetPresence = /* @__PURE__ */ __name((props) => { + const parent = React.useContext(PresenceContext); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PresenceContext.Provider, { + value: props.disable ? parent : null, + children: props.children + }); +}, "ResetPresence"); + +// node_modules/@tamagui/use-presence/dist/esm/usePresence.mjs +var React2 = __toESM(require("react"), 1); +function usePresence() { + const context = React2.useContext(PresenceContext); + if (!context) return [true, null, context]; + const { + id, + isPresent: isPresent2, + onExitComplete, + register + } = context; + return React2.useEffect(() => register(id), []), !isPresent2 && onExitComplete ? [false, () => onExitComplete?.(id), context] : [true, void 0, context]; +} +__name(usePresence, "usePresence"); + +// node_modules/@tamagui/animations-css/dist/esm/createAnimations.mjs +var import_web2 = require("@tamagui/core"); +var import_react2 = __toESM(require("react"), 1); +function extractDuration(animation) { + const msMatch = animation.match(/(\d+(?:\.\d+)?)\s*ms/); + if (msMatch) return Number.parseInt(msMatch[1], 10); + const sMatch = animation.match(/(\d+(?:\.\d+)?)\s*s/); + return sMatch ? Math.round(Number.parseFloat(sMatch[1]) * 1e3) : 300; +} +__name(extractDuration, "extractDuration"); +function createAnimations(animations) { + const reactionListeners = /* @__PURE__ */ new WeakMap(); + return { + animations, + usePresence, + ResetPresence, + supportsCSS: true, + inputStyle: "css", + outputStyle: "css", + classNameAnimation: true, + useAnimatedNumber(initial) { + const [val, setVal] = import_react2.default.useState(initial), [onFinish, setOnFinish] = (0, import_react2.useState)(); + return useIsomorphicLayoutEffect(() => { + onFinish && (onFinish?.(), setOnFinish(void 0)); + }, [onFinish]), { + getInstance() { + return setVal; + }, + getValue() { + return val; + }, + setValue(next, config2, onFinish2) { + setVal(next), setOnFinish(onFinish2); + const listeners = reactionListeners.get(setVal); + listeners && listeners.forEach((listener) => listener(next)); + }, + stop() { + } + }; + }, + useAnimatedNumberReaction({ + value + }, onValue) { + import_react2.default.useEffect(() => { + const instance = value.getInstance(); + let queue = reactionListeners.get(instance); + if (!queue) { + const next = /* @__PURE__ */ new Set(); + reactionListeners.set(instance, next), queue = next; + } + return queue.add(onValue), () => { + queue?.delete(onValue); + }; + }, []); + }, + useAnimatedNumberStyle(val, getStyle) { + return getStyle(val.getValue()); + }, + useAnimations: /* @__PURE__ */ __name(({ + props, + presence, + style, + componentState, + stateRef + }) => { + const isEntering = !!componentState.unmounted, isExiting = presence?.[0] === false, sendExitComplete = presence?.[1], wasEnteringRef = import_react2.default.useRef(isEntering), justFinishedEntering = wasEnteringRef.current && !isEntering; + import_react2.default.useEffect(() => { + wasEnteringRef.current = isEntering; + }); + const normalized = normalizeTransition(props.transition), effectiveAnimationKey = getEffectiveAnimation(normalized, isExiting ? "exit" : isEntering || justFinishedEntering ? "enter" : "default"), defaultAnimation = effectiveAnimationKey ? animations[effectiveAnimationKey] : null, animatedProperties = getAnimatedProperties(normalized), hasDefault = normalized.default !== null || normalized.enter !== null || normalized.exit !== null, hasPerPropertyConfigs = animatedProperties.length > 0; + let keys; + if (props.animateOnly ? keys = props.animateOnly : hasPerPropertyConfigs && !hasDefault ? keys = animatedProperties : hasPerPropertyConfigs && hasDefault ? keys = ["all", ...animatedProperties] : keys = ["all"], useIsomorphicLayoutEffect(() => { + const host = stateRef.current.host; + if (!sendExitComplete || !isExiting || !host) return; + const node = host, animationDuration = defaultAnimation ? extractDuration(defaultAnimation) : 200, delay = normalized.delay ?? 0, fallbackTimeout = animationDuration + delay, timeoutId = setTimeout(() => { + sendExitComplete?.(); + }, fallbackTimeout), onFinishAnimation = /* @__PURE__ */ __name(() => { + clearTimeout(timeoutId), sendExitComplete?.(); + }, "onFinishAnimation"); + return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), () => { + clearTimeout(timeoutId), node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation); + }; + }, [sendExitComplete, isExiting]), !hasAnimation(normalized)) return null; + Array.isArray(style.transform) && (style.transform = (0, import_web2.transformsToString)(style.transform)); + const delayStr = normalized.delay ? ` ${normalized.delay}ms` : ""; + return style.transition = keys.map((key) => { + const propAnimation = normalized.properties[key]; + let animationValue = null; + return typeof propAnimation == "string" ? animationValue = animations[propAnimation] : propAnimation && typeof propAnimation == "object" && propAnimation.type ? animationValue = animations[propAnimation.type] : defaultAnimation && (animationValue = defaultAnimation), animationValue ? `${key} ${animationValue}${delayStr}` : null; + }).filter(Boolean).join(", "), process.env.NODE_ENV === "development" && props.debug === "verbose" && console.info("CSS animation", { + props, + animations, + normalized, + defaultAnimation, + style, + isEntering, + isExiting + }), { + style, + className: isEntering ? "t_unmounted" : "" + }; + }, "useAnimations") + }; +} +__name(createAnimations, "createAnimations"); + // tamagui.config.ts var tokens3 = { ...tokens2, @@ -3327,63 +3603,121 @@ var tokens3 = { } // ... }; +var lightTheme = { + ...themes2.light, + primary: tokens3.color.primary, + accent: tokens3.color.accent, + background: "#FFF8F5", + // Brand Cream + backgroundHover: "#E2E8F0", + backgroundPress: "#CBD5E1", + backgroundStrong: tokens3.color.surface, + backgroundTransparent: "rgba(241, 245, 249, 0)", + color: tokens3.color.text, + colorHover: "#1E293B", + colorPress: "#1E293B", + colorFocus: "#1E293B", + borderColor: tokens3.color.border, + borderColorHover: "#CBD5E1", + borderColorPress: "#94A3B8", + shadowColor: "rgba(15, 23, 42, 0.08)", + shadowColorPress: "rgba(15, 23, 42, 0.12)", + shadowColorFocus: "rgba(15, 23, 42, 0.12)", + surface: tokens3.color.surface, + muted: tokens3.color.muted, + blue3: tokens3.color.accentSoft, + blue6: "#6366F1", + // Indigo 500 + blue10: tokens3.color.primary, + blue11: "#4338CA" + // Indigo 700 +}; +var guestLightTheme = { + ...themes2.light, + primary: "var(--guest-primary, #FF5A5F)", + accent: "var(--guest-secondary, #F43F5E)", + background: "var(--guest-background, #FFF8F5)", + backgroundHover: "#F1E7E2", + backgroundPress: "#EBDCD6", + backgroundStrong: "var(--guest-surface, #FFFFFF)", + backgroundTransparent: "rgba(255, 248, 245, 0)", + color: "var(--foreground, #0F172A)", + colorHover: "var(--foreground, #0F172A)", + colorPress: "var(--foreground, #0F172A)", + colorFocus: "var(--foreground, #0F172A)", + borderColor: "var(--border, #E2E8F0)", + borderColorHover: "#CBD5E1", + borderColorPress: "#94A3B8", + shadowColor: "rgba(15, 23, 42, 0.08)", + shadowColorPress: "rgba(15, 23, 42, 0.12)", + shadowColorFocus: "rgba(15, 23, 42, 0.12)", + surface: "var(--guest-surface, #FFFFFF)", + muted: "var(--muted, #F8FAFC)", + blue3: "var(--guest-secondary, #F43F5E)", + blue6: "var(--guest-secondary, #F43F5E)", + blue10: "var(--guest-primary, #FF5A5F)", + blue11: "#4338CA" +}; +var darkTheme = { + ...themes2.dark, + primary: tokens3.color.primary, + accent: tokens3.color.accent, + background: "#171219", + backgroundHover: "#101A36", + backgroundPress: "#132142", + backgroundStrong: "#101A36", + backgroundTransparent: "rgba(11, 19, 43, 0)", + color: "#F8FAFF", + colorHover: "#FFFFFF", + colorPress: "#F2F6FF", + colorFocus: "#FFFFFF", + borderColor: "#1F2A4A", + borderColorHover: "#29345A", + borderColorPress: "#313D67", + shadowColor: "rgba(0, 0, 0, 0.55)", + shadowColorPress: "rgba(0, 0, 0, 0.65)", + shadowColorFocus: "rgba(0, 0, 0, 0.6)", + surface: "#0F1B36", + muted: "#121F3D", + blue3: "#1B2550", + blue6: "#3D5AFE", + blue10: "#FF5C5C", + blue11: "#FF8A8A" +}; +var guestNightTheme = { + ...themes2.dark, + primary: "var(--guest-primary, #FF4FD8)", + accent: "var(--guest-secondary, #4FD1FF)", + accentSoft: "rgba(79, 209, 255, 0.18)", + background: "var(--guest-background, #0A0F1F)", + backgroundHover: "#10172A", + backgroundPress: "#0D1324", + backgroundStrong: "var(--guest-surface, #121A32)", + backgroundTransparent: "rgba(10, 15, 31, 0)", + color: "#F8FAFF", + colorHover: "#FFFFFF", + colorPress: "#E8EEFF", + colorFocus: "#FFFFFF", + borderColor: "rgba(255, 255, 255, 0.08)", + borderColorHover: "rgba(255, 255, 255, 0.16)", + borderColorPress: "rgba(255, 255, 255, 0.22)", + shadowColor: "rgba(2, 6, 23, 0.7)", + shadowColorPress: "rgba(2, 6, 23, 0.8)", + shadowColorFocus: "rgba(2, 6, 23, 0.8)", + surface: "var(--guest-surface, #131B33)", + muted: "#0F152B", + blue3: "rgba(79, 209, 255, 0.15)", + blue6: "var(--guest-secondary, #4FD1FF)", + blue10: "var(--guest-primary, #FF4FD8)", + blue11: "#F9A8D4" +}; var themes3 = { ...themes2, - light: { - ...themes2.light, - primary: tokens3.color.primary, - accent: tokens3.color.accent, - background: "#FFF8F5", - // Brand Cream - backgroundHover: "#E2E8F0", - backgroundPress: "#CBD5E1", - backgroundStrong: tokens3.color.surface, - backgroundTransparent: "rgba(241, 245, 249, 0)", - color: tokens3.color.text, - colorHover: "#1E293B", - colorPress: "#1E293B", - colorFocus: "#1E293B", - borderColor: tokens3.color.border, - borderColorHover: "#CBD5E1", - borderColorPress: "#94A3B8", - shadowColor: "rgba(15, 23, 42, 0.08)", - shadowColorPress: "rgba(15, 23, 42, 0.12)", - shadowColorFocus: "rgba(15, 23, 42, 0.12)", - surface: tokens3.color.surface, - muted: tokens3.color.muted, - blue3: tokens3.color.accentSoft, - blue6: "#6366F1", - // Indigo 500 - blue10: tokens3.color.primary, - blue11: "#4338CA" - // Indigo 700 - }, - dark: { - ...themes2.dark, - primary: tokens3.color.primary, - accent: tokens3.color.accent, - background: "#171219", - backgroundHover: "#101A36", - backgroundPress: "#132142", - backgroundStrong: "#101A36", - backgroundTransparent: "rgba(11, 19, 43, 0)", - color: "#F8FAFF", - colorHover: "#FFFFFF", - colorPress: "#F2F6FF", - colorFocus: "#FFFFFF", - borderColor: "#1F2A4A", - borderColorHover: "#29345A", - borderColorPress: "#313D67", - shadowColor: "rgba(0, 0, 0, 0.55)", - shadowColorPress: "rgba(0, 0, 0, 0.65)", - shadowColorFocus: "rgba(0, 0, 0, 0.6)", - surface: "#0F1B36", - muted: "#121F3D", - blue3: "#1B2550", - blue6: "#3D5AFE", - blue10: "#FF5C5C", - blue11: "#FF8A8A" - } + light: lightTheme, + dark: darkTheme, + guestLight: { ...guestLightTheme }, + guestDark: { ...darkTheme }, + guestNight: { ...guestNightTheme } }; var sharedWeights = { 4: "400", @@ -3397,17 +3731,17 @@ var fonts2 = { ...defaultConfig.fonts, body: { ...defaultConfig.fonts.body, - family: "Manrope", + family: "var(--guest-body-font, Manrope)", weight: sharedWeights }, heading: { ...defaultConfig.fonts.heading, - family: "Fraunces", + family: "var(--guest-heading-font, Fraunces)", weight: sharedWeights }, display: { ...defaultConfig.fonts.heading, - family: "Fraunces", + family: "var(--guest-heading-font, Fraunces)", weight: sharedWeights } }; diff --git a/.tamagui/tamagui.config.json b/.tamagui/tamagui.config.json index eeae2b3..5db8d95 100644 --- a/.tamagui/tamagui.config.json +++ b/.tamagui/tamagui.config.json @@ -3,265 +3,12 @@ { "moduleName": "@tamagui/core", "nameToInfo": { - "Stack": { - "staticConfig": { - "acceptsClassName": true, - "defaultProps": { - "display": "flex", - "alignItems": "stretch", - "flexDirection": "column", - "flexBasis": "auto", - "boxSizing": "border-box", - "position": "relative", - "minHeight": 0, - "minWidth": 0, - "flexShrink": 0 - }, - "validStyles": { - "backfaceVisibility": true, - "borderBottomEndRadius": true, - "borderBottomStartRadius": true, - "borderBottomWidth": true, - "borderLeftWidth": true, - "borderRightWidth": true, - "borderBlockWidth": true, - "borderBlockEndWidth": true, - "borderBlockStartWidth": true, - "borderInlineWidth": true, - "borderInlineEndWidth": true, - "borderInlineStartWidth": true, - "borderStyle": true, - "borderBlockStyle": true, - "borderBlockEndStyle": true, - "borderBlockStartStyle": true, - "borderInlineStyle": true, - "borderInlineEndStyle": true, - "borderInlineStartStyle": true, - "borderTopEndRadius": true, - "borderTopStartRadius": true, - "borderTopWidth": true, - "borderWidth": true, - "transform": true, - "transformOrigin": true, - "alignContent": true, - "alignItems": true, - "alignSelf": true, - "borderEndWidth": true, - "borderStartWidth": true, - "bottom": true, - "display": true, - "end": true, - "flexBasis": true, - "flexDirection": true, - "flexWrap": true, - "gap": true, - "columnGap": true, - "rowGap": true, - "justifyContent": true, - "left": true, - "margin": true, - "marginBlock": true, - "marginBlockEnd": true, - "marginBlockStart": true, - "marginInline": true, - "marginInlineStart": true, - "marginInlineEnd": true, - "marginBottom": true, - "marginEnd": true, - "marginHorizontal": true, - "marginLeft": true, - "marginRight": true, - "marginStart": true, - "marginTop": true, - "marginVertical": true, - "overflow": true, - "padding": true, - "paddingBottom": true, - "paddingInline": true, - "paddingBlock": true, - "paddingBlockStart": true, - "paddingInlineEnd": true, - "paddingInlineStart": true, - "paddingEnd": true, - "paddingHorizontal": true, - "paddingLeft": true, - "paddingRight": true, - "paddingStart": true, - "paddingTop": true, - "paddingVertical": true, - "position": true, - "right": true, - "start": true, - "top": true, - "inset": true, - "insetBlock": true, - "insetBlockEnd": true, - "insetBlockStart": true, - "insetInline": true, - "insetInlineEnd": true, - "insetInlineStart": true, - "direction": true, - "shadowOffset": true, - "shadowRadius": true, - "backgroundColor": true, - "borderColor": true, - "borderBlockStartColor": true, - "borderBlockEndColor": true, - "borderBlockColor": true, - "borderBottomColor": true, - "borderInlineColor": true, - "borderInlineStartColor": true, - "borderInlineEndColor": true, - "borderTopColor": true, - "borderLeftColor": true, - "borderRightColor": true, - "borderEndColor": true, - "borderStartColor": true, - "shadowColor": true, - "color": true, - "textDecorationColor": true, - "textShadowColor": true, - "outlineColor": true, - "caretColor": true, - "borderRadius": true, - "borderTopLeftRadius": true, - "borderTopRightRadius": true, - "borderBottomLeftRadius": true, - "borderBottomRightRadius": true, - "borderStartStartRadius": true, - "borderStartEndRadius": true, - "borderEndStartRadius": true, - "borderEndEndRadius": true, - "width": true, - "height": true, - "minWidth": true, - "minHeight": true, - "maxWidth": true, - "maxHeight": true, - "blockSize": true, - "minBlockSize": true, - "maxBlockSize": true, - "inlineSize": true, - "minInlineSize": true, - "maxInlineSize": true, - "x": true, - "y": true, - "scale": true, - "perspective": true, - "scaleX": true, - "scaleY": true, - "skewX": true, - "skewY": true, - "matrix": true, - "rotate": true, - "rotateY": true, - "rotateX": true, - "rotateZ": true, - "WebkitLineClamp": true, - "animationIterationCount": true, - "aspectRatio": true, - "borderImageOutset": true, - "borderImageSlice": true, - "borderImageWidth": true, - "columnCount": true, - "flex": true, - "flexGrow": true, - "flexOrder": true, - "flexPositive": true, - "flexShrink": true, - "flexNegative": true, - "fontWeight": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowGap": true, - "gridRowStart": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnGap": true, - "gridColumnStart": true, - "gridTemplateColumns": true, - "gridTemplateAreas": true, - "lineClamp": true, - "opacity": true, - "order": true, - "orphans": true, - "tabSize": true, - "widows": true, - "zIndex": true, - "zoom": true, - "scaleZ": true, - "shadowOpacity": true, - "boxShadow": true, - "filter": true, - "boxSizing": true, - "mixBlendMode": true, - "outlineSpread": true, - "outlineStyle": true, - "outlineWidth": true, - "transition": true, - "textWrap": true, - "backdropFilter": true, - "WebkitBackdropFilter": true, - "background": true, - "backgroundAttachment": true, - "backgroundBlendMode": true, - "backgroundClip": true, - "backgroundImage": true, - "backgroundOrigin": true, - "backgroundPosition": true, - "backgroundRepeat": true, - "backgroundSize": true, - "borderBottomStyle": true, - "borderImage": true, - "borderLeftStyle": true, - "borderRightStyle": true, - "borderTopStyle": true, - "clipPath": true, - "contain": true, - "containerType": true, - "content": true, - "cursor": true, - "float": true, - "mask": true, - "maskBorder": true, - "maskBorderMode": true, - "maskBorderOutset": true, - "maskBorderRepeat": true, - "maskBorderSlice": true, - "maskBorderSource": true, - "maskBorderWidth": true, - "maskClip": true, - "maskComposite": true, - "maskImage": true, - "maskMode": true, - "maskOrigin": true, - "maskPosition": true, - "maskRepeat": true, - "maskSize": true, - "maskType": true, - "objectFit": true, - "objectPosition": true, - "outlineOffset": true, - "overflowBlock": true, - "overflowInline": true, - "overflowX": true, - "overflowY": true, - "pointerEvents": true, - "scrollbarWidth": true, - "textEmphasis": true, - "touchAction": true, - "transformStyle": true, - "userSelect": true, - "willChange": true - } - } - }, "Text": { "staticConfig": { + "componentName": "Text", "acceptsClassName": true, "isText": true, "defaultProps": { - "fontFamily": "unset", "display": "inline", "boxSizing": "border-box", "wordWrap": "break-word", @@ -279,24 +26,6 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, "ellipsis": { "true": { "maxWidth": "100%", @@ -308,6 +37,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -481,10 +212,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -492,10 +227,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -509,7 +247,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -530,7 +267,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -552,9 +288,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -573,13 +309,14 @@ "flexDirection": "column", "flexBasis": "auto", "boxSizing": "border-box", - "position": "relative", "minHeight": 0, "minWidth": 0, "flexShrink": 0 }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -753,10 +490,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -764,10 +505,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -781,7 +525,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -802,7 +545,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -816,307 +558,29 @@ "willChange": true } } - }, - "Spacer": { - "staticConfig": { - "acceptsClassName": true, - "memo": true, - "componentName": "Spacer", - "validStyles": { - "backfaceVisibility": true, - "borderBottomEndRadius": true, - "borderBottomStartRadius": true, - "borderBottomWidth": true, - "borderLeftWidth": true, - "borderRightWidth": true, - "borderBlockWidth": true, - "borderBlockEndWidth": true, - "borderBlockStartWidth": true, - "borderInlineWidth": true, - "borderInlineEndWidth": true, - "borderInlineStartWidth": true, - "borderStyle": true, - "borderBlockStyle": true, - "borderBlockEndStyle": true, - "borderBlockStartStyle": true, - "borderInlineStyle": true, - "borderInlineEndStyle": true, - "borderInlineStartStyle": true, - "borderTopEndRadius": true, - "borderTopStartRadius": true, - "borderTopWidth": true, - "borderWidth": true, - "transform": true, - "transformOrigin": true, - "alignContent": true, - "alignItems": true, - "alignSelf": true, - "borderEndWidth": true, - "borderStartWidth": true, - "bottom": true, - "display": true, - "end": true, - "flexBasis": true, - "flexDirection": true, - "flexWrap": true, - "gap": true, - "columnGap": true, - "rowGap": true, - "justifyContent": true, - "left": true, - "margin": true, - "marginBlock": true, - "marginBlockEnd": true, - "marginBlockStart": true, - "marginInline": true, - "marginInlineStart": true, - "marginInlineEnd": true, - "marginBottom": true, - "marginEnd": true, - "marginHorizontal": true, - "marginLeft": true, - "marginRight": true, - "marginStart": true, - "marginTop": true, - "marginVertical": true, - "overflow": true, - "padding": true, - "paddingBottom": true, - "paddingInline": true, - "paddingBlock": true, - "paddingBlockStart": true, - "paddingInlineEnd": true, - "paddingInlineStart": true, - "paddingEnd": true, - "paddingHorizontal": true, - "paddingLeft": true, - "paddingRight": true, - "paddingStart": true, - "paddingTop": true, - "paddingVertical": true, - "position": true, - "right": true, - "start": true, - "top": true, - "inset": true, - "insetBlock": true, - "insetBlockEnd": true, - "insetBlockStart": true, - "insetInline": true, - "insetInlineEnd": true, - "insetInlineStart": true, - "direction": true, - "shadowOffset": true, - "shadowRadius": true, - "backgroundColor": true, - "borderColor": true, - "borderBlockStartColor": true, - "borderBlockEndColor": true, - "borderBlockColor": true, - "borderBottomColor": true, - "borderInlineColor": true, - "borderInlineStartColor": true, - "borderInlineEndColor": true, - "borderTopColor": true, - "borderLeftColor": true, - "borderRightColor": true, - "borderEndColor": true, - "borderStartColor": true, - "shadowColor": true, - "color": true, - "textDecorationColor": true, - "textShadowColor": true, - "outlineColor": true, - "caretColor": true, - "borderRadius": true, - "borderTopLeftRadius": true, - "borderTopRightRadius": true, - "borderBottomLeftRadius": true, - "borderBottomRightRadius": true, - "borderStartStartRadius": true, - "borderStartEndRadius": true, - "borderEndStartRadius": true, - "borderEndEndRadius": true, - "width": true, - "height": true, - "minWidth": true, - "minHeight": true, - "maxWidth": true, - "maxHeight": true, - "blockSize": true, - "minBlockSize": true, - "maxBlockSize": true, - "inlineSize": true, - "minInlineSize": true, - "maxInlineSize": true, - "x": true, - "y": true, - "scale": true, - "perspective": true, - "scaleX": true, - "scaleY": true, - "skewX": true, - "skewY": true, - "matrix": true, - "rotate": true, - "rotateY": true, - "rotateX": true, - "rotateZ": true, - "WebkitLineClamp": true, - "animationIterationCount": true, - "aspectRatio": true, - "borderImageOutset": true, - "borderImageSlice": true, - "borderImageWidth": true, - "columnCount": true, - "flex": true, - "flexGrow": true, - "flexOrder": true, - "flexPositive": true, - "flexShrink": true, - "flexNegative": true, - "fontWeight": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowGap": true, - "gridRowStart": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnGap": true, - "gridColumnStart": true, - "gridTemplateColumns": true, - "gridTemplateAreas": true, - "lineClamp": true, - "opacity": true, - "order": true, - "orphans": true, - "tabSize": true, - "widows": true, - "zIndex": true, - "zoom": true, - "scaleZ": true, - "shadowOpacity": true, - "boxShadow": true, - "filter": true, - "boxSizing": true, - "mixBlendMode": true, - "outlineSpread": true, - "outlineStyle": true, - "outlineWidth": true, - "transition": true, - "textWrap": true, - "backdropFilter": true, - "WebkitBackdropFilter": true, - "background": true, - "backgroundAttachment": true, - "backgroundBlendMode": true, - "backgroundClip": true, - "backgroundImage": true, - "backgroundOrigin": true, - "backgroundPosition": true, - "backgroundRepeat": true, - "backgroundSize": true, - "borderBottomStyle": true, - "borderImage": true, - "borderLeftStyle": true, - "borderRightStyle": true, - "borderTopStyle": true, - "clipPath": true, - "contain": true, - "containerType": true, - "content": true, - "cursor": true, - "float": true, - "mask": true, - "maskBorder": true, - "maskBorderMode": true, - "maskBorderOutset": true, - "maskBorderRepeat": true, - "maskBorderSlice": true, - "maskBorderSource": true, - "maskBorderWidth": true, - "maskClip": true, - "maskComposite": true, - "maskImage": true, - "maskMode": true, - "maskOrigin": true, - "maskPosition": true, - "maskRepeat": true, - "maskSize": true, - "maskType": true, - "objectFit": true, - "objectPosition": true, - "outlineOffset": true, - "overflowBlock": true, - "overflowInline": true, - "overflowX": true, - "overflowY": true, - "pointerEvents": true, - "scrollbarWidth": true, - "textEmphasis": true, - "touchAction": true, - "transformStyle": true, - "userSelect": true, - "willChange": true - }, - "defaultProps": { - "display": "flex", - "alignItems": "stretch", - "flexDirection": "column", - "flexBasis": "auto", - "boxSizing": "border-box", - "position": "relative", - "minHeight": 0, - "minWidth": 0, - "flexShrink": 0, - "tag": "span", - "size": true, - "pointerEvents": "none" - }, - "variants": { - "size": { - "...": "Function" - }, - "flex": { - "true": { - "flexGrow": 1 - } - }, - "direction": { - "horizontal": { - "height": 0, - "minHeight": 0 - }, - "vertical": { - "width": 0, - "minWidth": 0 - }, - "both": {} - } - } - } } } }, { - "moduleName": "@tamagui/stacks", + "moduleName": "tamagui", "nameToInfo": { - "SizableStack": { + "AlertDialogAction": { "staticConfig": { "acceptsClassName": true, "defaultProps": { "display": "flex", "alignItems": "stretch", + "flexDirection": "column", "flexBasis": "auto", "boxSizing": "border-box", - "position": "relative", "minHeight": 0, "minWidth": 0, - "flexShrink": 0, - "flexDirection": "row" + "flexShrink": 0 }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -1290,10 +754,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -1301,10 +769,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -1318,7 +789,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -1339,7 +809,1067 @@ "maskType": true, "objectFit": true, "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "AlertDialogAction", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "AlertDialogCancel": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "AlertDialogCancel", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "AlertDialogDescription": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "AlertDialogDescription", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "AlertDialogDestructive": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "AlertDialogDestructive", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "AlertDialogOverlay": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -1356,72 +1886,1149 @@ "fullscreen": { "true": { "position": "absolute", - "top": 0, - "left": 0, - "right": 0, - "bottom": 0 + "inset": 0 } }, "elevation": { "...size": "Function", ":number": "Function" }, - "inset": "Function", - "unstyled": { + "open": { "true": { - "hoverTheme": false, - "pressTheme": false, - "focusTheme": false, - "elevate": false, - "bordered": false + "pointerEvents": "auto" + }, + "false": { + "pointerEvents": "none" } }, - "hoverTheme": { - "true": { - "hoverStyle": { - "backgroundColor": "$backgroundHover", - "borderColor": "$borderColorHover" - } - }, - "false": {} - }, - "pressTheme": { - "true": { - "cursor": "pointer", - "pressStyle": { - "backgroundColor": "$backgroundPress", - "borderColor": "$borderColorPress" - } - }, - "false": {} - }, - "focusTheme": { - "true": { - "focusStyle": { - "backgroundColor": "$backgroundFocus", - "borderColor": "$borderColorFocus" - } - }, - "false": {} - }, - "circular": { - "true": "Function" - }, - "elevate": { - "true": "Function" - }, - "bordered": "Function", - "size": { - "...size": "Function" + "unstyled": { + "false": { + "fullscreen": true, + "position": "absolute", + "backgroundColor": "$background", + "zIndex": 99999, + "pointerEvents": "auto" + } } }, - "componentName": "SizableStack", + "componentName": "AlertDialogOverlay", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "AlertDialogTitle": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "AlertDialogTitle", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "AlertDialogTrigger": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "AlertDialogTrigger", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "Anchor": { + "staticConfig": { + "componentName": "Anchor", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "whiteSpace": "pre-wrap", + "margin": 0, + "fontFamily": "$body", + "unstyled": false, + "render": "a", + "role": "link" + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + }, + "unstyled": { + "false": { + "size": "$true", + "color": "$color" + } + }, + "size": "Function", + "fontFamily": { + "...": "Function" + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "isReactNative": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "Article": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "article", + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Article", "isReactNative": false, "isText": false, "isStyledHOC": false } }, - "ThemeableStack": { + "Aside": { "staticConfig": { "acceptsClassName": true, "defaultProps": { @@ -1429,14 +3036,16 @@ "alignItems": "stretch", "flexBasis": "auto", "boxSizing": "border-box", - "position": "relative", "minHeight": 0, "minWidth": 0, "flexShrink": 0, + "render": "aside", "flexDirection": "column" }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -1610,10 +3219,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -1621,10 +3234,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -1638,7 +3254,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -1659,7 +3274,272 @@ "maskType": true, "objectFit": true, "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Aside", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "AvatarFallback": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "position": "absolute", + "fullscreen": true, + "zIndex": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -1676,63 +3556,580 @@ "fullscreen": { "true": { "position": "absolute", - "top": 0, - "left": 0, - "right": 0, - "bottom": 0 + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + } + }, + "componentName": "AvatarFallback", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "AvatarFallbackFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "position": "absolute", + "fullscreen": true, + "zIndex": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + } + }, + "componentName": "AvatarFallback", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "AvatarFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "alignItems": "center", + "justifyContent": "center", + "position": "relative", + "overflow": "hidden" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 } }, "elevation": { "...size": "Function", ":number": "Function" }, - "inset": "Function", - "backgrounded": { - "true": { - "backgroundColor": "$background" - } - }, - "radiused": { - "true": "Function" - }, - "hoverTheme": { - "true": { - "hoverStyle": { - "backgroundColor": "$backgroundHover", - "borderColor": "$borderColorHover" - } - }, - "false": {} - }, - "pressTheme": { - "true": { - "cursor": "pointer", - "pressStyle": { - "backgroundColor": "$backgroundPress", - "borderColor": "$borderColorPress" - } - }, - "false": {} - }, - "focusTheme": { - "true": { - "focusStyle": { - "backgroundColor": "$backgroundFocus", - "borderColor": "$borderColorFocus" - } - }, - "false": {} - }, "circular": { "true": "Function" }, - "padded": { - "true": "Function" - }, "elevate": { "true": "Function" }, - "bordered": "Function", + "bordered": { + "true": "Function" + }, "transparent": { "true": { "backgroundColor": "transparent" @@ -1776,29 +4173,40 @@ } } } + }, + "size": { + "...size": "Function", + ":number": "Function" } }, + "componentName": "Avatar", "isReactNative": false, "isText": false, - "isStyledHOC": false + "isStyledHOC": false, + "memo": true } }, - "XStack": { + "Button": { "staticConfig": { "acceptsClassName": true, "defaultProps": { "display": "flex", "alignItems": "stretch", + "flexDirection": "column", "flexBasis": "auto", "boxSizing": "border-box", - "position": "relative", "minHeight": 0, "minWidth": 0, "flexShrink": 0, - "flexDirection": "row" + "role": "button", + "render": "Component", + "tabIndex": 0, + "unstyled": false }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -1972,10 +4380,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -1983,10 +4395,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -2000,7 +4415,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -2021,7 +4435,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -2035,299 +4448,117 @@ "willChange": true }, "variants": { - "fullscreen": { - "true": { - "position": "absolute", - "top": 0, - "left": 0, - "right": 0, - "bottom": 0 + "unstyled": { + "false": { + "size": "$true", + "justifyContent": "center", + "alignItems": "center", + "flexWrap": "nowrap", + "flexDirection": "row", + "cursor": "pointer", + "backgroundColor": "$background", + "borderWidth": 1, + "borderColor": "transparent", + "hoverStyle": { + "backgroundColor": "$backgroundHover", + "borderColor": "$borderColorHover" + }, + "pressStyle": { + "backgroundColor": "$backgroundPress", + "borderColor": "$borderColorHover" + }, + "focusVisibleStyle": { + "outlineColor": "$outlineColor", + "outlineStyle": "solid", + "outlineWidth": 2 + } } }, + "variant": { + "outlined": { + "backgroundColor": "transparent", + "borderWidth": 1, + "borderColor": "$borderColor", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "$borderColorHover" + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "$borderColorPress" + } + } + }, + "circular": { + "true": "Function" + }, + "chromeless": { + "true": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "all": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "focusStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + } + } + }, + "size": { + "...size": "Function", + ":number": "Function" + }, "elevation": { "...size": "Function", ":number": "Function" }, - "inset": "Function" - }, - "isReactNative": false, - "isText": false, - "isStyledHOC": false - } - }, - "YStack": { - "staticConfig": { - "acceptsClassName": true, - "defaultProps": { - "display": "flex", - "alignItems": "stretch", - "flexBasis": "auto", - "boxSizing": "border-box", - "position": "relative", - "minHeight": 0, - "minWidth": 0, - "flexShrink": 0, - "flexDirection": "column" - }, - "validStyles": { - "backfaceVisibility": true, - "borderBottomEndRadius": true, - "borderBottomStartRadius": true, - "borderBottomWidth": true, - "borderLeftWidth": true, - "borderRightWidth": true, - "borderBlockWidth": true, - "borderBlockEndWidth": true, - "borderBlockStartWidth": true, - "borderInlineWidth": true, - "borderInlineEndWidth": true, - "borderInlineStartWidth": true, - "borderStyle": true, - "borderBlockStyle": true, - "borderBlockEndStyle": true, - "borderBlockStartStyle": true, - "borderInlineStyle": true, - "borderInlineEndStyle": true, - "borderInlineStartStyle": true, - "borderTopEndRadius": true, - "borderTopStartRadius": true, - "borderTopWidth": true, - "borderWidth": true, - "transform": true, - "transformOrigin": true, - "alignContent": true, - "alignItems": true, - "alignSelf": true, - "borderEndWidth": true, - "borderStartWidth": true, - "bottom": true, - "display": true, - "end": true, - "flexBasis": true, - "flexDirection": true, - "flexWrap": true, - "gap": true, - "columnGap": true, - "rowGap": true, - "justifyContent": true, - "left": true, - "margin": true, - "marginBlock": true, - "marginBlockEnd": true, - "marginBlockStart": true, - "marginInline": true, - "marginInlineStart": true, - "marginInlineEnd": true, - "marginBottom": true, - "marginEnd": true, - "marginHorizontal": true, - "marginLeft": true, - "marginRight": true, - "marginStart": true, - "marginTop": true, - "marginVertical": true, - "overflow": true, - "padding": true, - "paddingBottom": true, - "paddingInline": true, - "paddingBlock": true, - "paddingBlockStart": true, - "paddingInlineEnd": true, - "paddingInlineStart": true, - "paddingEnd": true, - "paddingHorizontal": true, - "paddingLeft": true, - "paddingRight": true, - "paddingStart": true, - "paddingTop": true, - "paddingVertical": true, - "position": true, - "right": true, - "start": true, - "top": true, - "inset": true, - "insetBlock": true, - "insetBlockEnd": true, - "insetBlockStart": true, - "insetInline": true, - "insetInlineEnd": true, - "insetInlineStart": true, - "direction": true, - "shadowOffset": true, - "shadowRadius": true, - "backgroundColor": true, - "borderColor": true, - "borderBlockStartColor": true, - "borderBlockEndColor": true, - "borderBlockColor": true, - "borderBottomColor": true, - "borderInlineColor": true, - "borderInlineStartColor": true, - "borderInlineEndColor": true, - "borderTopColor": true, - "borderLeftColor": true, - "borderRightColor": true, - "borderEndColor": true, - "borderStartColor": true, - "shadowColor": true, - "color": true, - "textDecorationColor": true, - "textShadowColor": true, - "outlineColor": true, - "caretColor": true, - "borderRadius": true, - "borderTopLeftRadius": true, - "borderTopRightRadius": true, - "borderBottomLeftRadius": true, - "borderBottomRightRadius": true, - "borderStartStartRadius": true, - "borderStartEndRadius": true, - "borderEndStartRadius": true, - "borderEndEndRadius": true, - "width": true, - "height": true, - "minWidth": true, - "minHeight": true, - "maxWidth": true, - "maxHeight": true, - "blockSize": true, - "minBlockSize": true, - "maxBlockSize": true, - "inlineSize": true, - "minInlineSize": true, - "maxInlineSize": true, - "x": true, - "y": true, - "scale": true, - "perspective": true, - "scaleX": true, - "scaleY": true, - "skewX": true, - "skewY": true, - "matrix": true, - "rotate": true, - "rotateY": true, - "rotateX": true, - "rotateZ": true, - "WebkitLineClamp": true, - "animationIterationCount": true, - "aspectRatio": true, - "borderImageOutset": true, - "borderImageSlice": true, - "borderImageWidth": true, - "columnCount": true, - "flex": true, - "flexGrow": true, - "flexOrder": true, - "flexPositive": true, - "flexShrink": true, - "flexNegative": true, - "fontWeight": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowGap": true, - "gridRowStart": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnGap": true, - "gridColumnStart": true, - "gridTemplateColumns": true, - "gridTemplateAreas": true, - "lineClamp": true, - "opacity": true, - "order": true, - "orphans": true, - "tabSize": true, - "widows": true, - "zIndex": true, - "zoom": true, - "scaleZ": true, - "shadowOpacity": true, - "boxShadow": true, - "filter": true, - "boxSizing": true, - "mixBlendMode": true, - "outlineSpread": true, - "outlineStyle": true, - "outlineWidth": true, - "transition": true, - "textWrap": true, - "backdropFilter": true, - "WebkitBackdropFilter": true, - "background": true, - "backgroundAttachment": true, - "backgroundBlendMode": true, - "backgroundClip": true, - "backgroundImage": true, - "backgroundOrigin": true, - "backgroundPosition": true, - "backgroundRepeat": true, - "backgroundSize": true, - "borderBottomStyle": true, - "borderImage": true, - "borderLeftStyle": true, - "borderRightStyle": true, - "borderTopStyle": true, - "clipPath": true, - "contain": true, - "containerType": true, - "content": true, - "cursor": true, - "float": true, - "mask": true, - "maskBorder": true, - "maskBorderMode": true, - "maskBorderOutset": true, - "maskBorderRepeat": true, - "maskBorderSlice": true, - "maskBorderSource": true, - "maskBorderWidth": true, - "maskClip": true, - "maskComposite": true, - "maskImage": true, - "maskMode": true, - "maskOrigin": true, - "maskPosition": true, - "maskRepeat": true, - "maskSize": true, - "maskType": true, - "objectFit": true, - "objectPosition": true, - "outlineOffset": true, - "overflowBlock": true, - "overflowInline": true, - "overflowX": true, - "overflowY": true, - "pointerEvents": true, - "scrollbarWidth": true, - "textEmphasis": true, - "touchAction": true, - "transformStyle": true, - "userSelect": true, - "willChange": true - }, - "variants": { - "fullscreen": { + "disabled": { "true": { - "position": "absolute", - "top": 0, - "left": 0, - "right": 0, - "bottom": 0 + "pointerEvents": "none", + "aria-disabled": true } - }, - "elevation": { - "...size": "Function", - ":number": "Function" - }, - "inset": "Function" + } }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Button", "isReactNative": false, "isText": false, - "isStyledHOC": false + "context": "Component", + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true } }, - "ZStack": { + "Card": { "staticConfig": { "acceptsClassName": true, "defaultProps": { @@ -2339,10 +4570,12 @@ "minWidth": 0, "flexShrink": 0, "flexDirection": "column", - "position": "relative" + "unstyled": false }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -2516,10 +4749,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -2527,10 +4764,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -2544,7 +4784,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -2565,7 +4804,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -2582,47 +4820,3117 @@ "fullscreen": { "true": { "position": "absolute", - "top": 0, - "left": 0, - "right": 0, - "bottom": 0 + "inset": 0 } }, "elevation": { "...size": "Function", ":number": "Function" }, - "inset": "Function" + "unstyled": { + "false": { + "size": "$true", + "backgroundColor": "$background", + "position": "relative" + } + }, + "size": { + "...size": "Function" + } }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Card", + "isReactNative": false, + "isText": false, + "context": "Component", + "isStyledHOC": false, + "neverFlatten": true + } + }, + "CardBackground": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "zIndex": 0, + "fullscreen": true, + "overflow": "hidden", + "pointerEvents": "none", + "padding": 0 + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "CardBackground", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "CardFooter": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "zIndex": 5, + "backgroundColor": "transparent", + "marginBottom": 0, + "flexDirection": "row", + "marginTop": "auto" + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "CardFooter", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true + } + }, + "CardFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true", + "backgroundColor": "$background", + "position": "relative" + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Card", + "isReactNative": false, + "isText": false, + "context": "Component", + "isStyledHOC": false, + "neverFlatten": true + } + }, + "CardHeader": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "zIndex": 10, + "backgroundColor": "transparent", + "marginBottom": "auto" + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "CardHeader", + "isReactNative": false, + "isText": false, + "context": "Component", + "isStyledHOC": false, + "neverFlatten": true + } + }, + "Checkbox": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "render": "button", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true", + "backgroundColor": "$background", + "alignItems": "center", + "justifyContent": "center", + "borderWidth": 1, + "borderColor": "$borderColor", + "hoverStyle": { + "borderColor": "$borderColorHover" + }, + "pressStyle": { + "backgroundColor": "$backgroundPress", + "borderColor": "$borderColorPress" + }, + "focusStyle": { + "borderColor": "$borderColorFocus" + }, + "focusVisibleStyle": { + "outlineStyle": "solid", + "outlineWidth": 2, + "outlineColor": "$outlineColor" + } + } + }, + "disabled": { + "true": { + "pointerEvents": "none", + "userSelect": "none", + "cursor": "not-allowed", + "hoverStyle": { + "borderColor": "$borderColor", + "backgroundColor": "$background" + }, + "pressStyle": { + "borderColor": "$borderColor", + "backgroundColor": "$background" + }, + "focusStyle": { + "outlineWidth": 0 + } + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Checkbox", + "isReactNative": false, + "isText": false, + "context": "Component", + "isStyledHOC": false, + "accept": { + "activeStyle": "style" + }, + "neverFlatten": true, + "isHOC": true + } + }, + "CheckboxFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "render": "button", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true", + "backgroundColor": "$background", + "alignItems": "center", + "justifyContent": "center", + "borderWidth": 1, + "borderColor": "$borderColor", + "hoverStyle": { + "borderColor": "$borderColorHover" + }, + "pressStyle": { + "backgroundColor": "$backgroundPress", + "borderColor": "$borderColorPress" + }, + "focusStyle": { + "borderColor": "$borderColorFocus" + }, + "focusVisibleStyle": { + "outlineStyle": "solid", + "outlineWidth": 2, + "outlineColor": "$outlineColor" + } + } + }, + "disabled": { + "true": { + "pointerEvents": "none", + "userSelect": "none", + "cursor": "not-allowed", + "hoverStyle": { + "borderColor": "$borderColor", + "backgroundColor": "$background" + }, + "pressStyle": { + "borderColor": "$borderColor", + "backgroundColor": "$background" + }, + "focusStyle": { + "outlineWidth": 0 + } + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Checkbox", + "isReactNative": false, + "isText": false, + "context": "Component", + "isStyledHOC": false, + "accept": { + "activeStyle": "style" + }, + "neverFlatten": true + } + }, + "CheckboxIndicatorFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": {} + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "CheckboxIndicator", + "isReactNative": false, + "isText": false, + "context": "Component", + "isStyledHOC": false, + "accept": { + "activeStyle": "style" + }, + "neverFlatten": true + } + }, + "Circle": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "alignItems": "center", + "justifyContent": "center", + "borderRadius": 100000000 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "circular": { + "true": "Function" + }, + "elevate": { + "true": "Function" + }, + "bordered": { + "true": "Function" + }, + "transparent": { + "true": { + "backgroundColor": "transparent" + } + }, + "chromeless": { + "true": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "all": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "focusStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + } + } + }, + "size": { + "...size": "Function", + ":number": "Function" + } + }, + "componentName": "Circle", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "memo": true + } + }, + "DialogClose": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "button" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "DialogClose", "isReactNative": false, "isText": false, "isStyledHOC": false, "neverFlatten": true, - "isZStack": true + "isHOC": true } - } - } - }, - { - "moduleName": "@tamagui/text", - "nameToInfo": { - "H1": { + }, + "DialogContent": { "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "size": "$true", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "circular": { + "true": "Function" + }, + "elevate": { + "true": "Function" + }, + "bordered": { + "true": "Function" + }, + "transparent": { + "true": { + "backgroundColor": "transparent" + } + }, + "chromeless": { + "true": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "all": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "focusStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + } + } + }, + "size": { + "...size": "Function" + }, + "unstyled": { + "false": { + "position": "relative", + "backgroundColor": "$background", + "borderWidth": 1, + "borderColor": "$borderColor", + "padding": "$true", + "borderRadius": "$true", + "elevate": true, + "zIndex": 100000, + "pointerEvents": "auto" + } + } + }, + "defaultVariants": { + "size": "$true", + "unstyled": false + }, + "componentName": "DialogContent", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "DialogDescription": { + "staticConfig": { + "componentName": "DialogDescription", "acceptsClassName": true, "isText": true, "defaultProps": { "display": "inline", "boxSizing": "border-box", "wordWrap": "break-word", + "margin": 0, + "fontFamily": "$body", + "unstyled": false, + "render": "p", "userSelect": "auto", "color": "$color", - "whiteSpace": "normal", - "accessibilityRole": "header", - "fontFamily": "$heading", - "size": "$8", - "margin": 0, - "tag": "h1", - "unstyled": false + "size": "$true", + "whiteSpace": "normal" }, "inlineWhenUnflattened": {}, "variants": { @@ -2635,24 +7943,6 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, "ellipsis": { "true": { "maxWidth": "100%", @@ -2663,7 +7953,7 @@ }, "unstyled": { "false": { - "size": "$10", + "size": "$true", "color": "$color" } }, @@ -2674,6 +7964,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -2847,10 +8139,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -2858,10 +8154,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -2875,7 +8174,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -2896,7 +8194,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -2918,9 +8215,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -2928,16 +8225,908 @@ "textDecorationDistance": true, "WebkitBoxOrient": true }, + "isReactNative": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "DialogOverlay": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "open": { + "true": { + "pointerEvents": "auto" + }, + "false": { + "pointerEvents": "none" + } + }, + "unstyled": { + "false": { + "fullscreen": true, + "position": "absolute", + "backgroundColor": "$background", + "zIndex": 99999, + "pointerEvents": "auto" + } + } + }, "defaultVariants": { "unstyled": false }, - "componentName": "H1", + "componentName": "DialogOverlay", "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "DialogOverlayFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "open": { + "true": { + "pointerEvents": "auto" + }, + "false": { + "pointerEvents": "none" + } + }, + "unstyled": { + "false": { + "fullscreen": true, + "position": "absolute", + "backgroundColor": "$background", + "zIndex": 99999, + "pointerEvents": "auto" + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "DialogOverlay", + "isReactNative": false, + "isText": false, "isStyledHOC": false } }, - "H2": { + "DialogPortalFrame": { "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "pointerEvents": "none", + "render": "dialog", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "alignItems": "center", + "justifyContent": "center", + "fullscreen": true, + "$platform-web": { + "borderWidth": 0, + "backgroundColor": "transparent", + "color": "inherit", + "maxInlineSize": "none", + "margin": 0, + "width": "auto", + "height": "auto", + "maxHeight": "100vh", + "position": "fixed", + "zIndex": 1 + } + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "DialogTitle": { + "staticConfig": { + "componentName": "DialogTitle", "acceptsClassName": true, "isText": true, "defaultProps": { @@ -2947,11 +9136,11 @@ "userSelect": "auto", "color": "$color", "whiteSpace": "normal", - "accessibilityRole": "header", + "role": "heading", "fontFamily": "$heading", "size": "$8", "margin": 0, - "tag": "h2", + "render": "h2", "unstyled": false }, "inlineWhenUnflattened": {}, @@ -2965,24 +9154,6 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, "ellipsis": { "true": { "maxWidth": "100%", @@ -3004,6 +9175,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -3177,10 +9350,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -3188,10 +9365,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -3205,7 +9385,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -3226,7 +9405,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -3248,9 +9426,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -3258,16 +9436,3091 @@ "textDecorationDistance": true, "WebkitBoxOrient": true }, - "defaultVariants": { - "unstyled": false + "isReactNative": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "DialogTrigger": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "DialogTrigger", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "Em": { + "staticConfig": { + "componentName": "Text", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "whiteSpace": "pre-wrap", + "margin": 0, + "render": "em", + "fontStyle": "italic" + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true }, - "componentName": "H2", "isReactNative": false, "isStyledHOC": false } }, - "H3": { + "EnsureFlexed": { "staticConfig": { + "componentName": "Text", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "boxSizing": "border-box", + "wordWrap": "break-word", + "whiteSpace": "pre-wrap", + "margin": 0, + "opacity": 0, + "lineHeight": 0, + "height": 0, + "display": "flex", + "fontSize": 200, + "children": "wwwwwwwwwwwwwwwwwww", + "pointerEvents": "none" + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "isReactNative": false, + "isStyledHOC": false, + "neverFlatten": true + } + }, + "Fieldset": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "render": "fieldset", + "borderWidth": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "horizontal": { + "true": { + "flexDirection": "row", + "alignItems": "center" + } + } + }, + "componentName": "Fieldset", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Footer": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "footer", + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Footer", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Form": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "form" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Form", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "FormFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "form" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Form", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "FormTrigger": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "FormTrigger", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "Frame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "flex": 1, + "backgroundColor": "$background", + "borderTopLeftRadius": "$true", + "borderTopRightRadius": "$true", + "width": "100%", + "maxHeight": "100%", + "overflow": "hidden" + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Sheet", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Group": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true" + } + }, + "size": "Function" + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "GroupFrame", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "GroupFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true" + } + }, + "size": "Function" + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "GroupFrame", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "H1": { + "staticConfig": { + "componentName": "H1", "acceptsClassName": true, "isText": true, "defaultProps": { @@ -3277,11 +12530,11 @@ "userSelect": "auto", "color": "$color", "whiteSpace": "normal", - "accessibilityRole": "header", + "role": "heading", "fontFamily": "$heading", "size": "$8", "margin": 0, - "tag": "h3", + "render": "h1", "unstyled": false }, "inlineWhenUnflattened": {}, @@ -3295,17 +12548,7 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { + "ellipsis": { "true": { "maxWidth": "100%", "overflow": "hidden", @@ -3313,6 +12556,636 @@ "whiteSpace": "nowrap" } }, + "unstyled": { + "false": { + "size": "$10", + "color": "$color" + } + }, + "size": "Function", + "fontFamily": { + "...": "Function" + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "defaultVariants": { + "unstyled": false + }, + "isReactNative": false, + "isStyledHOC": false + } + }, + "H2": { + "staticConfig": { + "componentName": "H2", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "userSelect": "auto", + "color": "$color", + "whiteSpace": "normal", + "role": "heading", + "fontFamily": "$heading", + "size": "$8", + "margin": 0, + "render": "h2", + "unstyled": false + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + }, + "unstyled": { + "false": { + "size": "$9", + "color": "$color" + } + }, + "size": "Function", + "fontFamily": { + "...": "Function" + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "defaultVariants": { + "unstyled": false + }, + "isReactNative": false, + "isStyledHOC": false + } + }, + "H3": { + "staticConfig": { + "componentName": "H3", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "userSelect": "auto", + "color": "$color", + "whiteSpace": "normal", + "role": "heading", + "fontFamily": "$heading", + "size": "$8", + "margin": 0, + "render": "h3", + "unstyled": false + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, "ellipsis": { "true": { "maxWidth": "100%", @@ -3334,6 +13207,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -3507,10 +13382,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -3518,10 +13397,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -3535,7 +13417,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -3556,7 +13437,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -3578,9 +13458,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -3591,13 +13471,13 @@ "defaultVariants": { "unstyled": false }, - "componentName": "H3", "isReactNative": false, "isStyledHOC": false } }, "H4": { "staticConfig": { + "componentName": "H4", "acceptsClassName": true, "isText": true, "defaultProps": { @@ -3607,11 +13487,11 @@ "userSelect": "auto", "color": "$color", "whiteSpace": "normal", - "accessibilityRole": "header", + "role": "heading", "fontFamily": "$heading", "size": "$8", "margin": 0, - "tag": "h4", + "render": "h4", "unstyled": false }, "inlineWhenUnflattened": {}, @@ -3625,24 +13505,6 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, "ellipsis": { "true": { "maxWidth": "100%", @@ -3664,6 +13526,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -3837,10 +13701,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -3848,10 +13716,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -3865,7 +13736,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -3886,7 +13756,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -3908,9 +13777,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -3921,13 +13790,13 @@ "defaultVariants": { "unstyled": false }, - "componentName": "H4", "isReactNative": false, "isStyledHOC": false } }, "H5": { "staticConfig": { + "componentName": "H5", "acceptsClassName": true, "isText": true, "defaultProps": { @@ -3937,11 +13806,11 @@ "userSelect": "auto", "color": "$color", "whiteSpace": "normal", - "accessibilityRole": "header", + "role": "heading", "fontFamily": "$heading", "size": "$8", "margin": 0, - "tag": "h5", + "render": "h5", "unstyled": false }, "inlineWhenUnflattened": {}, @@ -3955,24 +13824,6 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, "ellipsis": { "true": { "maxWidth": "100%", @@ -3994,6 +13845,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -4167,10 +14020,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -4178,10 +14035,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -4195,7 +14055,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -4216,7 +14075,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -4238,9 +14096,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -4251,13 +14109,13 @@ "defaultVariants": { "unstyled": false }, - "componentName": "H5", "isReactNative": false, "isStyledHOC": false } }, "H6": { "staticConfig": { + "componentName": "H6", "acceptsClassName": true, "isText": true, "defaultProps": { @@ -4267,11 +14125,11 @@ "userSelect": "auto", "color": "$color", "whiteSpace": "normal", - "accessibilityRole": "header", + "role": "heading", "fontFamily": "$heading", "size": "$8", "margin": 0, - "tag": "h6", + "render": "h6", "unstyled": false }, "inlineWhenUnflattened": {}, @@ -4285,24 +14143,6 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, "ellipsis": { "true": { "maxWidth": "100%", @@ -4324,6 +14164,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -4497,10 +14339,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -4508,10 +14354,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -4525,7 +14374,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -4546,7 +14394,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -4568,9 +14415,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -4581,13 +14428,581 @@ "defaultVariants": { "unstyled": false }, - "componentName": "H6", "isReactNative": false, "isStyledHOC": false } }, + "Handle": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "row", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "open": { + "true": { + "opacity": 1, + "pointerEvents": "auto" + }, + "false": { + "opacity": 0, + "pointerEvents": "none" + } + }, + "unstyled": { + "false": { + "height": 10, + "borderRadius": 100, + "backgroundColor": "$background", + "zIndex": 10, + "marginHorizontal": "35%", + "marginBottom": "$2", + "opacity": 0.5, + "hoverStyle": { + "opacity": 0.7 + } + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "SheetHandle", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Header": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "header", + "role": "banner", + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Header", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, "Heading": { "staticConfig": { + "componentName": "Heading", "acceptsClassName": true, "isText": true, "defaultProps": { @@ -4598,8 +15013,8 @@ "userSelect": "auto", "color": "$color", "whiteSpace": "normal", - "tag": "span", - "accessibilityRole": "header", + "render": "span", + "role": "heading", "fontFamily": "$heading", "size": "$8", "margin": 0 @@ -4615,24 +15030,6 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, "ellipsis": { "true": { "maxWidth": "100%", @@ -4654,6 +15051,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -4827,10 +15226,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -4838,10 +15241,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -4855,7 +15261,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -4876,7 +15281,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -4898,9 +15302,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -4908,13 +15312,2410 @@ "textDecorationDistance": true, "WebkitBoxOrient": true }, - "componentName": "Heading", "isReactNative": false, "isStyledHOC": false } }, + "Image": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "img" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Image", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "memo": true, + "neverFlatten": true, + "isHOC": true + } + }, + "Input": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "input", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "isInput": true, + "accept": { + "placeholderTextColor": "color", + "selectionColor": "color" + }, + "variants": { + "unstyled": { + "false": { + "size": "$true", + "fontFamily": "$body", + "borderWidth": 1, + "outlineWidth": 0, + "color": "$color", + "tabIndex": 0, + "borderColor": "$borderColor", + "backgroundColor": "$background", + "minWidth": 0, + "hoverStyle": { + "borderColor": "$borderColorHover" + }, + "focusStyle": { + "borderColor": "$borderColorFocus" + }, + "focusVisibleStyle": { + "outlineColor": "$outlineColor", + "outlineWidth": 2, + "outlineStyle": "solid" + } + } + }, + "size": { + "...size": "Function" + }, + "disabled": { + "true": {} + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Input", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "Label": { + "staticConfig": { + "componentName": "Label", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "whiteSpace": "pre-wrap", + "margin": 0, + "fontFamily": "$body", + "render": "label", + "unstyled": false + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + }, + "unstyled": { + "false": { + "size": "$true", + "color": "$color", + "backgroundColor": "transparent", + "display": "flex", + "alignItems": "center", + "userSelect": "none", + "cursor": "default", + "pressStyle": { + "color": "$colorPress" + } + } + }, + "size": { + "...size": "Function" + }, + "fontFamily": { + "...": "Function" + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "defaultVariants": { + "unstyled": false + }, + "isReactNative": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "LabelFrame": { + "staticConfig": { + "componentName": "Label", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "whiteSpace": "pre-wrap", + "margin": 0, + "fontFamily": "$body", + "render": "label", + "unstyled": false + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + }, + "unstyled": { + "false": { + "size": "$true", + "color": "$color", + "backgroundColor": "transparent", + "display": "flex", + "alignItems": "center", + "userSelect": "none", + "cursor": "default", + "pressStyle": { + "color": "$colorPress" + } + } + }, + "size": { + "...size": "Function" + }, + "fontFamily": { + "...": "Function" + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "defaultVariants": { + "unstyled": false + }, + "isReactNative": false, + "isStyledHOC": false + } + }, + "ListItem": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "li", + "role": "listitem", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "unstyled": { + "false": { + "size": "$true", + "alignItems": "center", + "justifyContent": "space-between", + "flexWrap": "nowrap", + "borderColor": "$borderColor", + "width": "100%", + "maxWidth": "100%", + "overflow": "hidden", + "flexDirection": "row", + "backgroundColor": "$background", + "cursor": "default", + "hoverStyle": { + "backgroundColor": "$backgroundHover", + "borderColor": "$borderColorHover" + }, + "pressStyle": { + "backgroundColor": "$backgroundPress", + "borderColor": "$borderColorPress" + } + } + }, + "variant": { + "outlined": { + "backgroundColor": "transparent", + "borderWidth": 1, + "borderColor": "$borderColor", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "$borderColorHover" + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "$borderColorPress" + } + } + }, + "size": { + "...size": "Function" + }, + "active": { + "true": { + "hoverStyle": { + "backgroundColor": "$background" + } + } + }, + "disabled": { + "true": { + "opacity": 0.5, + "pointerEvents": "none" + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "ListItem", + "isReactNative": false, + "isText": false, + "context": "Component", + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "Main": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "main", + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Main", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Nav": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "nav", + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Nav", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Overlay": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "open": { + "true": { + "pointerEvents": "auto" + }, + "false": { + "pointerEvents": "none" + } + }, + "unstyled": { + "false": { + "fullscreen": true, + "position": "absolute", + "backgroundColor": "$background", + "zIndex": 99999, + "pointerEvents": "auto" + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "SheetOverlay", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, "Paragraph": { "staticConfig": { + "componentName": "Paragraph", "acceptsClassName": true, "isText": true, "defaultProps": { @@ -4924,7 +17725,7 @@ "margin": 0, "fontFamily": "$body", "unstyled": false, - "tag": "p", + "render": "p", "userSelect": "auto", "color": "$color", "size": "$true", @@ -4941,24 +17742,6 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, "ellipsis": { "true": { "maxWidth": "100%", @@ -4980,6 +17763,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -5153,10 +17938,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -5164,10 +17953,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -5181,7 +17973,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -5202,7 +17993,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -5224,9 +18014,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -5234,342 +18024,11 @@ "textDecorationDistance": true, "WebkitBoxOrient": true }, - "componentName": "Paragraph", "isReactNative": false, "isStyledHOC": false } }, - "SizableText": { - "staticConfig": { - "acceptsClassName": true, - "isText": true, - "defaultProps": { - "display": "inline", - "boxSizing": "border-box", - "wordWrap": "break-word", - "whiteSpace": "pre-wrap", - "margin": 0, - "fontFamily": "$body", - "unstyled": false - }, - "inlineWhenUnflattened": {}, - "variants": { - "numberOfLines": { - "1": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - }, - ":number": "Function" - }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, - "ellipsis": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, - "unstyled": { - "false": { - "size": "$true", - "color": "$color" - } - }, - "size": "Function", - "fontFamily": { - "...": "Function" - } - }, - "validStyles": { - "backfaceVisibility": true, - "borderBottomEndRadius": true, - "borderBottomStartRadius": true, - "borderBottomWidth": true, - "borderLeftWidth": true, - "borderRightWidth": true, - "borderBlockWidth": true, - "borderBlockEndWidth": true, - "borderBlockStartWidth": true, - "borderInlineWidth": true, - "borderInlineEndWidth": true, - "borderInlineStartWidth": true, - "borderStyle": true, - "borderBlockStyle": true, - "borderBlockEndStyle": true, - "borderBlockStartStyle": true, - "borderInlineStyle": true, - "borderInlineEndStyle": true, - "borderInlineStartStyle": true, - "borderTopEndRadius": true, - "borderTopStartRadius": true, - "borderTopWidth": true, - "borderWidth": true, - "transform": true, - "transformOrigin": true, - "alignContent": true, - "alignItems": true, - "alignSelf": true, - "borderEndWidth": true, - "borderStartWidth": true, - "bottom": true, - "display": true, - "end": true, - "flexBasis": true, - "flexDirection": true, - "flexWrap": true, - "gap": true, - "columnGap": true, - "rowGap": true, - "justifyContent": true, - "left": true, - "margin": true, - "marginBlock": true, - "marginBlockEnd": true, - "marginBlockStart": true, - "marginInline": true, - "marginInlineStart": true, - "marginInlineEnd": true, - "marginBottom": true, - "marginEnd": true, - "marginHorizontal": true, - "marginLeft": true, - "marginRight": true, - "marginStart": true, - "marginTop": true, - "marginVertical": true, - "overflow": true, - "padding": true, - "paddingBottom": true, - "paddingInline": true, - "paddingBlock": true, - "paddingBlockStart": true, - "paddingInlineEnd": true, - "paddingInlineStart": true, - "paddingEnd": true, - "paddingHorizontal": true, - "paddingLeft": true, - "paddingRight": true, - "paddingStart": true, - "paddingTop": true, - "paddingVertical": true, - "position": true, - "right": true, - "start": true, - "top": true, - "inset": true, - "insetBlock": true, - "insetBlockEnd": true, - "insetBlockStart": true, - "insetInline": true, - "insetInlineEnd": true, - "insetInlineStart": true, - "direction": true, - "shadowOffset": true, - "shadowRadius": true, - "backgroundColor": true, - "borderColor": true, - "borderBlockStartColor": true, - "borderBlockEndColor": true, - "borderBlockColor": true, - "borderBottomColor": true, - "borderInlineColor": true, - "borderInlineStartColor": true, - "borderInlineEndColor": true, - "borderTopColor": true, - "borderLeftColor": true, - "borderRightColor": true, - "borderEndColor": true, - "borderStartColor": true, - "shadowColor": true, - "color": true, - "textDecorationColor": true, - "textShadowColor": true, - "outlineColor": true, - "caretColor": true, - "borderRadius": true, - "borderTopLeftRadius": true, - "borderTopRightRadius": true, - "borderBottomLeftRadius": true, - "borderBottomRightRadius": true, - "borderStartStartRadius": true, - "borderStartEndRadius": true, - "borderEndStartRadius": true, - "borderEndEndRadius": true, - "width": true, - "height": true, - "minWidth": true, - "minHeight": true, - "maxWidth": true, - "maxHeight": true, - "blockSize": true, - "minBlockSize": true, - "maxBlockSize": true, - "inlineSize": true, - "minInlineSize": true, - "maxInlineSize": true, - "x": true, - "y": true, - "scale": true, - "perspective": true, - "scaleX": true, - "scaleY": true, - "skewX": true, - "skewY": true, - "matrix": true, - "rotate": true, - "rotateY": true, - "rotateX": true, - "rotateZ": true, - "WebkitLineClamp": true, - "animationIterationCount": true, - "aspectRatio": true, - "borderImageOutset": true, - "borderImageSlice": true, - "borderImageWidth": true, - "columnCount": true, - "flex": true, - "flexGrow": true, - "flexOrder": true, - "flexPositive": true, - "flexShrink": true, - "flexNegative": true, - "fontWeight": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowGap": true, - "gridRowStart": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnGap": true, - "gridColumnStart": true, - "gridTemplateColumns": true, - "gridTemplateAreas": true, - "lineClamp": true, - "opacity": true, - "order": true, - "orphans": true, - "tabSize": true, - "widows": true, - "zIndex": true, - "zoom": true, - "scaleZ": true, - "shadowOpacity": true, - "boxShadow": true, - "filter": true, - "boxSizing": true, - "mixBlendMode": true, - "outlineSpread": true, - "outlineStyle": true, - "outlineWidth": true, - "transition": true, - "textWrap": true, - "backdropFilter": true, - "WebkitBackdropFilter": true, - "background": true, - "backgroundAttachment": true, - "backgroundBlendMode": true, - "backgroundClip": true, - "backgroundImage": true, - "backgroundOrigin": true, - "backgroundPosition": true, - "backgroundRepeat": true, - "backgroundSize": true, - "borderBottomStyle": true, - "borderImage": true, - "borderLeftStyle": true, - "borderRightStyle": true, - "borderTopStyle": true, - "clipPath": true, - "contain": true, - "containerType": true, - "content": true, - "cursor": true, - "float": true, - "mask": true, - "maskBorder": true, - "maskBorderMode": true, - "maskBorderOutset": true, - "maskBorderRepeat": true, - "maskBorderSlice": true, - "maskBorderSource": true, - "maskBorderWidth": true, - "maskClip": true, - "maskComposite": true, - "maskImage": true, - "maskMode": true, - "maskOrigin": true, - "maskPosition": true, - "maskRepeat": true, - "maskSize": true, - "maskType": true, - "objectFit": true, - "objectPosition": true, - "outlineOffset": true, - "overflowBlock": true, - "overflowInline": true, - "overflowX": true, - "overflowY": true, - "pointerEvents": true, - "scrollbarWidth": true, - "textEmphasis": true, - "touchAction": true, - "transformStyle": true, - "userSelect": true, - "willChange": true, - "fontFamily": true, - "fontSize": true, - "fontStyle": true, - "fontVariant": true, - "letterSpacing": true, - "lineHeight": true, - "textTransform": true, - "textAlign": true, - "textDecorationLine": true, - "textDecorationStyle": true, - "textShadowOffset": true, - "textShadowRadius": true, - "selectable": true, - "verticalAlign": true, - "whiteSpace": true, - "wordWrap": true, - "textOverflow": true, - "textDecorationDistance": true, - "WebkitBoxOrient": true - }, - "defaultVariants": { - "unstyled": false - }, - "componentName": "SizableText", - "isReactNative": false, - "isStyledHOC": false - } - } - } - }, - { - "moduleName": "@tamagui/button", - "nameToInfo": { - "Button": { + "PopoverArrow": { "staticConfig": { "acceptsClassName": true, "defaultProps": { @@ -5577,19 +18036,16 @@ "alignItems": "stretch", "flexBasis": "auto", "boxSizing": "border-box", - "position": "relative", "minHeight": 0, "minWidth": 0, "flexShrink": 0, "flexDirection": "column", - "tag": "button", - "role": "button", - "focusable": true, - "disableClassName": true, "unstyled": false }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -5763,10 +18219,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -5774,10 +18234,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -5791,7 +18254,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -5812,7 +18274,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -5829,169 +18290,33 @@ "fullscreen": { "true": { "position": "absolute", - "top": 0, - "left": 0, - "right": 0, - "bottom": 0 + "inset": 0 } }, "elevation": { "...size": "Function", ":number": "Function" }, - "inset": "Function", - "backgrounded": { - "true": { - "backgroundColor": "$background" - } - }, - "radiused": { - "true": "Function" - }, - "hoverTheme": { - "true": { - "hoverStyle": { - "backgroundColor": "$backgroundHover", - "borderColor": "$borderColorHover" - } - }, - "false": {} - }, - "pressTheme": { - "true": { - "cursor": "pointer", - "pressStyle": { - "backgroundColor": "$backgroundPress", - "borderColor": "$borderColorPress" - } - }, - "false": {} - }, - "focusTheme": { - "true": { - "focusStyle": { - "backgroundColor": "$backgroundFocus", - "borderColor": "$borderColorFocus" - } - }, - "false": {} - }, - "circular": { - "true": "Function" - }, - "padded": { - "true": "Function" - }, - "elevate": { - "true": "Function" - }, - "bordered": "Function", - "transparent": { - "true": { - "backgroundColor": "transparent" - } - }, - "chromeless": { - "true": { - "backgroundColor": "transparent", - "borderColor": "transparent", - "shadowColor": "transparent", - "hoverStyle": { - "borderColor": "transparent" - } - }, - "all": { - "backgroundColor": "transparent", - "borderColor": "transparent", - "shadowColor": "transparent", - "hoverStyle": { - "backgroundColor": "transparent", - "borderColor": "transparent", - "shadowColor": "transparent", - "hoverStyle": { - "borderColor": "transparent" - } - }, - "pressStyle": { - "backgroundColor": "transparent", - "borderColor": "transparent", - "shadowColor": "transparent", - "hoverStyle": { - "borderColor": "transparent" - } - }, - "focusStyle": { - "backgroundColor": "transparent", - "borderColor": "transparent", - "shadowColor": "transparent", - "hoverStyle": { - "borderColor": "transparent" - } - } - } - }, "unstyled": { "false": { - "size": "$true", - "justifyContent": "center", - "alignItems": "center", - "flexWrap": "nowrap", - "flexDirection": "row", - "cursor": "pointer", - "hoverTheme": true, - "pressTheme": true, - "backgrounded": true, - "borderWidth": 1, - "borderColor": "transparent", - "focusVisibleStyle": { - "outlineColor": "$outlineColor", - "outlineStyle": "solid", - "outlineWidth": 2 - } - } - }, - "variant": { - "outlined": { - "backgroundColor": "transparent", - "borderWidth": 2, "borderColor": "$borderColor", - "hoverStyle": { - "backgroundColor": "transparent", - "borderColor": "$borderColorHover" - }, - "pressStyle": { - "backgroundColor": "transparent", - "borderColor": "$borderColorPress" - }, - "focusVisibleStyle": { - "backgroundColor": "transparent", - "borderColor": "$borderColorFocus" - } - } - }, - "size": { - "...size": "Function", - ":number": "Function" - }, - "disabled": { - "true": { - "pointerEvents": "none" + "backgroundColor": "$background", + "position": "relative" } } }, "defaultVariants": { "unstyled": false }, - "componentName": "Button", + "componentName": "PopperArrow", "isReactNative": false, "isText": false, - "context": "Component", "isStyledHOC": false, "neverFlatten": true, "isHOC": true } }, - "ButtonFrame": { + "PopoverContent": { "staticConfig": { "acceptsClassName": true, "defaultProps": { @@ -5999,19 +18324,16 @@ "alignItems": "stretch", "flexBasis": "auto", "boxSizing": "border-box", - "position": "relative", "minHeight": 0, "minWidth": 0, "flexShrink": 0, "flexDirection": "column", - "tag": "button", - "role": "button", - "focusable": true, - "disableClassName": true, "unstyled": false }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -6185,10 +18507,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -6196,10 +18522,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -6213,7 +18542,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -6234,7 +18562,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -6251,63 +18578,4929 @@ "fullscreen": { "true": { "position": "absolute", - "top": 0, - "left": 0, - "right": 0, - "bottom": 0 + "inset": 0 } }, "elevation": { "...size": "Function", ":number": "Function" }, - "inset": "Function", - "backgrounded": { + "unstyled": { + "false": { + "size": "$true", + "backgroundColor": "$background", + "alignItems": "center" + } + }, + "size": { + "...size": "Function" + } + }, + "componentName": "Popover", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "PopperAnchor": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + } + }, + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "PopperArrowFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "borderColor": "$borderColor", + "backgroundColor": "$background", + "position": "relative" + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "PopperArrow", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "PopperContentFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true", + "backgroundColor": "$background", + "alignItems": "center" + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "PopperContent", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Progress": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "borderRadius": 100000, + "overflow": "hidden", "backgroundColor": "$background" } }, - "radiused": { - "true": "Function" - }, - "hoverTheme": { + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Progress", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "ProgressFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "borderRadius": 100000, + "overflow": "hidden", + "backgroundColor": "$background" + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Progress", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "ProgressIndicator": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "height": "100%", + "width": "100%", + "backgroundColor": "$background" + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "ProgressIndicator", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "ProgressIndicatorFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "height": "100%", + "width": "100%", + "backgroundColor": "$background" + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "ProgressIndicator", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "RadioGroup": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "orientation": { + "horizontal": { + "flexDirection": "row", + "spaceDirection": "horizontal" + }, + "vertical": { + "flexDirection": "column", + "spaceDirection": "vertical" + } + } + }, + "componentName": "RadioGroup", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "RadioGroupFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "orientation": { + "horizontal": { + "flexDirection": "row", + "spaceDirection": "horizontal" + }, + "vertical": { + "flexDirection": "column", + "spaceDirection": "vertical" + } + } + }, + "componentName": "RadioGroup", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "RadioGroupIndicatorFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "width": "33%", + "height": "33%", + "borderRadius": 1000, + "backgroundColor": "$color", + "pressTheme": true + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "RadioGroupIndicator", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "RadioGroupItemFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "render": "button", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true", + "borderRadius": 1000, + "backgroundColor": "$background", + "alignItems": "center", + "justifyContent": "center", + "borderWidth": 1, + "borderColor": "$borderColor", + "padding": 0, "hoverStyle": { - "backgroundColor": "$backgroundHover", - "borderColor": "$borderColorHover" - } - }, - "false": {} - }, - "pressTheme": { - "true": { - "cursor": "pointer", - "pressStyle": { - "backgroundColor": "$backgroundPress", - "borderColor": "$borderColorPress" - } - }, - "false": {} - }, - "focusTheme": { - "true": { + "borderColor": "$borderColorHover", + "backgroundColor": "$backgroundHover" + }, "focusStyle": { - "backgroundColor": "$backgroundFocus", - "borderColor": "$borderColorFocus" + "borderColor": "$borderColorHover", + "backgroundColor": "$backgroundHover" + }, + "focusVisibleStyle": { + "outlineStyle": "solid", + "outlineWidth": 2, + "outlineColor": "$outlineColor" + }, + "pressStyle": { + "borderColor": "$borderColorFocus", + "backgroundColor": "$backgroundFocus" } - }, - "false": {} + } + }, + "disabled": { + "true": { + "pointerEvents": "none", + "userSelect": "none", + "cursor": "not-allowed", + "hoverStyle": { + "borderColor": "$borderColor", + "backgroundColor": "$background" + }, + "pressStyle": { + "borderColor": "$borderColor", + "backgroundColor": "$background" + }, + "focusVisibleStyle": { + "outlineWidth": 0 + } + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "RadioGroupItem", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "ScrollView": { + "staticConfig": { + "accept": { + "contentContainerStyle": "style" + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + } + }, + "defaultProps": { + "scrollEnabled": true + }, + "componentName": "ScrollView", + "isReactNative": true, + "isText": false, + "acceptsClassName": true, + "isStyledHOC": false + } + }, + "Section": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "render": "section", + "flexDirection": "column", + "role": "region" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "componentName": "Section", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "SelectGroupFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "width": "100%" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + } + }, + "componentName": "SelectGroup", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "SelectIcon": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "row", + "aria-hidden": true, + "children": "Component" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + } + }, + "componentName": "SelectIcon", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true + } + }, + "SelectSeparator": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "unstyled": { + "false": { + "borderColor": "$backgroundFocus", + "flexShrink": 0, + "borderWidth": 0, + "flex": 1, + "height": 0, + "maxHeight": 0, + "borderBottomWidth": 1, + "y": -0.5 + } + }, + "vertical": { + "true": { + "y": 0, + "x": -0.5, + "height": "initial", + "maxHeight": "initial", + "width": 0, + "maxWidth": 0, + "borderBottomWidth": 0, + "borderRightWidth": 1 + } + } + }, + "componentName": "SelectSeparator", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Separator": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "unstyled": { + "false": { + "borderColor": "$backgroundFocus", + "flexShrink": 0, + "borderWidth": 0, + "flex": 1, + "height": 0, + "maxHeight": 0, + "borderBottomWidth": 1, + "y": -0.5 + } + }, + "vertical": { + "true": { + "y": 0, + "x": -0.5, + "height": "initial", + "maxHeight": "initial", + "width": 0, + "maxWidth": 0, + "borderBottomWidth": 0, + "borderRightWidth": 1 + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Separator", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "SizableStack": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" }, "circular": { "true": "Function" }, - "padded": { - "true": "Function" - }, "elevate": { "true": "Function" }, - "bordered": "Function", + "bordered": { + "true": "Function" + }, "transparent": { "true": { "backgroundColor": "transparent" @@ -6353,67 +23546,24 @@ } }, "unstyled": { - "false": { - "size": "$true", - "justifyContent": "center", - "alignItems": "center", - "flexWrap": "nowrap", - "flexDirection": "row", - "cursor": "pointer", - "hoverTheme": true, - "pressTheme": true, - "backgrounded": true, - "borderWidth": 1, - "borderColor": "transparent", - "focusVisibleStyle": { - "outlineColor": "$outlineColor", - "outlineStyle": "solid", - "outlineWidth": 2 - } - } - }, - "variant": { - "outlined": { - "backgroundColor": "transparent", - "borderWidth": 2, - "borderColor": "$borderColor", - "hoverStyle": { - "backgroundColor": "transparent", - "borderColor": "$borderColorHover" - }, - "pressStyle": { - "backgroundColor": "transparent", - "borderColor": "$borderColorPress" - }, - "focusVisibleStyle": { - "backgroundColor": "transparent", - "borderColor": "$borderColorFocus" - } + "true": { + "elevate": false, + "bordered": false } }, "size": { - "...size": "Function", - ":number": "Function" - }, - "disabled": { - "true": { - "pointerEvents": "none" - } + "...size": "Function" } }, - "defaultVariants": { - "unstyled": false - }, - "componentName": "Button", + "componentName": "SizableStack", "isReactNative": false, "isText": false, - "context": "Component", - "isStyledHOC": false, - "neverFlatten": true + "isStyledHOC": false } }, - "ButtonText": { + "SizableText": { "staticConfig": { + "componentName": "SizableText", "acceptsClassName": true, "isText": true, "defaultProps": { @@ -6436,24 +23586,6 @@ }, ":number": "Function" }, - "selectable": { - "true": { - "userSelect": "text", - "cursor": "text" - }, - "false": { - "userSelect": "none", - "cursor": "default" - } - }, - "ellipse": { - "true": { - "maxWidth": "100%", - "overflow": "hidden", - "textOverflow": "ellipsis", - "whiteSpace": "nowrap" - } - }, "ellipsis": { "true": { "maxWidth": "100%", @@ -6465,12 +23597,7 @@ "unstyled": { "false": { "size": "$true", - "color": "$color", - "userSelect": "none", - "cursor": "pointer", - "flexGrow": 0, - "flexShrink": 1, - "ellipse": true + "color": "$color" } }, "size": "Function", @@ -6480,6 +23607,8 @@ }, "validStyles": { "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, "borderBottomEndRadius": true, "borderBottomStartRadius": true, "borderBottomWidth": true, @@ -6653,10 +23782,14 @@ "scaleZ": true, "shadowOpacity": true, "boxShadow": true, + "border": true, "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, "boxSizing": true, "mixBlendMode": true, - "outlineSpread": true, + "isolation": true, + "outlineOffset": true, "outlineStyle": true, "outlineWidth": true, "transition": true, @@ -6664,10 +23797,13 @@ "backdropFilter": true, "WebkitBackdropFilter": true, "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, "backgroundAttachment": true, "backgroundBlendMode": true, "backgroundClip": true, - "backgroundImage": true, "backgroundOrigin": true, "backgroundPosition": true, "backgroundRepeat": true, @@ -6681,7 +23817,6 @@ "contain": true, "containerType": true, "content": true, - "cursor": true, "float": true, "mask": true, "maskBorder": true, @@ -6702,7 +23837,6 @@ "maskType": true, "objectFit": true, "objectPosition": true, - "outlineOffset": true, "overflowBlock": true, "overflowInline": true, "overflowX": true, @@ -6724,9 +23858,9 @@ "textAlign": true, "textDecorationLine": true, "textDecorationStyle": true, + "textShadow": true, "textShadowOffset": true, "textShadowRadius": true, - "selectable": true, "verticalAlign": true, "whiteSpace": true, "wordWrap": true, @@ -6737,11 +23871,7618 @@ "defaultVariants": { "unstyled": false }, - "componentName": "Button", "isReactNative": false, + "isStyledHOC": false + } + }, + "SliderActiveFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "position": "absolute", + "pointerEvents": "box-none", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "orientation": { + "horizontal": {}, + "vertical": {} + }, + "size": "Function", + "unstyled": { + "false": { + "backgroundColor": "$background", + "borderRadius": 100000 + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "SliderActive", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "SliderFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "position": "relative" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "orientation": { + "horizontal": {}, + "vertical": {} + }, + "size": "Function" + }, + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "SliderThumb": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "circular": { + "true": "Function" + }, + "elevate": { + "true": "Function" + }, + "bordered": { + "true": "Function" + }, + "transparent": { + "true": { + "backgroundColor": "transparent" + } + }, + "chromeless": { + "true": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "all": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "focusStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + } + } + }, + "size": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "position": "absolute", + "borderWidth": 2, + "borderColor": "$borderColor", + "backgroundColor": "$background", + "pressStyle": { + "backgroundColor": "$backgroundPress", + "borderColor": "$borderColorPress" + }, + "hoverStyle": { + "backgroundColor": "$backgroundHover", + "borderColor": "$borderColorHover" + }, + "focusVisibleStyle": { + "outlineStyle": "solid", + "outlineWidth": 2, + "outlineColor": "$outlineColor" + } + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "SliderThumb", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "memo": true, + "neverFlatten": true, + "isHOC": true + } + }, + "SliderThumbFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "circular": { + "true": "Function" + }, + "elevate": { + "true": "Function" + }, + "bordered": { + "true": "Function" + }, + "transparent": { + "true": { + "backgroundColor": "transparent" + } + }, + "chromeless": { + "true": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "all": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "focusStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + } + } + }, + "size": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "position": "absolute", + "borderWidth": 2, + "borderColor": "$borderColor", + "backgroundColor": "$background", + "pressStyle": { + "backgroundColor": "$backgroundPress", + "borderColor": "$borderColorPress" + }, + "hoverStyle": { + "backgroundColor": "$backgroundHover", + "borderColor": "$borderColorHover" + }, + "focusVisibleStyle": { + "outlineStyle": "solid", + "outlineWidth": 2, + "outlineColor": "$outlineColor" + } + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "SliderThumb", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "SliderTrackFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "position": "relative", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "orientation": { + "horizontal": {}, + "vertical": {} + }, + "size": "Function", + "unstyled": { + "false": { + "height": "100%", + "width": "100%", + "backgroundColor": "$background", + "position": "relative", + "borderRadius": 100000, + "overflow": "hidden" + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Slider", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Spacer": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "pointerEvents": "none", + "render": "span", + "size": true + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "size": { + "...size": "Function", + "...": "Function" + }, + "direction": { + "horizontal": { + "height": 0, + "minHeight": 0 + }, + "vertical": { + "width": 0, + "minWidth": 0 + }, + "both": {} + } + }, + "defaultVariants": { + "size": true + }, + "componentName": "Spacer", + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Span": { + "staticConfig": { + "componentName": "Text", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "whiteSpace": "pre-wrap", + "margin": 0, + "render": "span" + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "isReactNative": false, + "isStyledHOC": false + } + }, + "Spinner": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + } + }, + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "Square": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "alignItems": "center", + "justifyContent": "center" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "circular": { + "true": "Function" + }, + "elevate": { + "true": "Function" + }, + "bordered": { + "true": "Function" + }, + "transparent": { + "true": { + "backgroundColor": "transparent" + } + }, + "chromeless": { + "true": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "all": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "focusStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + } + } + }, + "size": { + "...size": "Function", + ":number": "Function" + } + }, + "componentName": "Square", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "memo": true + } + }, + "Strong": { + "staticConfig": { + "componentName": "Text", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "whiteSpace": "pre-wrap", + "margin": 0, + "render": "strong", + "fontWeight": "bold" + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "isReactNative": false, + "isStyledHOC": false + } + }, + "Switch": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "render": "button", + "tabIndex": 0, + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "borderRadius": 1000, + "backgroundColor": "$background", + "focusVisibleStyle": { + "outlineColor": "$outlineColor", + "outlineStyle": "solid", + "outlineWidth": 2 + } + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Switch", + "isReactNative": false, + "isText": false, "context": "Component", "isStyledHOC": false, - "neverFlatten": true + "accept": { + "activeStyle": "style" + }, + "neverFlatten": true, + "isHOC": true + } + }, + "SwitchFrame": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "render": "button", + "tabIndex": 0, + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "borderRadius": 1000, + "backgroundColor": "$background", + "focusVisibleStyle": { + "outlineColor": "$outlineColor", + "outlineStyle": "solid", + "outlineWidth": 2 + } + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "Switch", + "isReactNative": false, + "isText": false, + "context": "Component", + "isStyledHOC": false, + "accept": { + "activeStyle": "style" + } + } + }, + "SwitchThumb": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true", + "backgroundColor": "$color", + "borderRadius": 1000 + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "SwitchThumb", + "isReactNative": false, + "isText": false, + "context": "Component", + "isStyledHOC": false, + "accept": { + "activeStyle": "style" + } + } + }, + "Tabs": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "circular": { + "true": "Function" + }, + "elevate": { + "true": "Function" + }, + "bordered": { + "true": "Function" + }, + "transparent": { + "true": { + "backgroundColor": "transparent" + } + }, + "chromeless": { + "true": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "all": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "focusStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + } + } + }, + "unstyled": { + "true": { + "elevate": false, + "bordered": false + } + }, + "size": { + "...size": "Function" + } + }, + "componentName": "Tabs", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "Text": { + "staticConfig": { + "componentName": "Text", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "whiteSpace": "pre-wrap", + "margin": 0, + "unstyled": false + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + }, + "unstyled": { + "false": { + "color": "$color" + } + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "defaultVariants": { + "unstyled": false + }, + "isReactNative": false, + "isStyledHOC": false + } + }, + "TextArea": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "render": "textarea", + "whiteSpace": "pre-wrap", + "unstyled": false, + "componentName": "TextArea" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "isInput": true, + "accept": { + "placeholderTextColor": "color", + "selectionColor": "color" + }, + "variants": { + "unstyled": { + "false": { + "height": "auto", + "size": "$true", + "fontFamily": "$body", + "borderWidth": 1, + "outlineWidth": 0, + "color": "$color", + "tabIndex": 0, + "borderColor": "$borderColor", + "backgroundColor": "$background", + "minWidth": 0, + "hoverStyle": { + "borderColor": "$borderColorHover" + }, + "focusStyle": { + "borderColor": "$borderColorFocus" + }, + "focusVisibleStyle": { + "outlineColor": "$outlineColor", + "outlineWidth": 2, + "outlineStyle": "solid" + }, + "rows": 3 + } + }, + "size": { + "...size": "Function" + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "TextArea", + "isReactNative": false, + "isText": false, + "isStyledHOC": true, + "neverFlatten": true, + "isHOC": true + } + }, + "ThemeableStack": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "circular": { + "true": "Function" + }, + "elevate": { + "true": "Function" + }, + "bordered": { + "true": "Function" + }, + "transparent": { + "true": { + "backgroundColor": "transparent" + } + }, + "chromeless": { + "true": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "all": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "focusStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + } + } + } + }, + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "Thumb": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "circular": { + "true": "Function" + }, + "elevate": { + "true": "Function" + }, + "bordered": { + "true": "Function" + }, + "transparent": { + "true": { + "backgroundColor": "transparent" + } + }, + "chromeless": { + "true": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "all": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "pressStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + }, + "focusStyle": { + "backgroundColor": "transparent", + "borderColor": "transparent", + "shadowColor": "transparent", + "hoverStyle": { + "borderColor": "transparent" + } + } + } + }, + "size": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "position": "absolute", + "borderWidth": 2, + "borderColor": "$borderColor", + "backgroundColor": "$background", + "pressStyle": { + "backgroundColor": "$backgroundPress", + "borderColor": "$borderColorPress" + }, + "hoverStyle": { + "backgroundColor": "$backgroundHover", + "borderColor": "$borderColorHover" + }, + "focusVisibleStyle": { + "outlineStyle": "solid", + "outlineWidth": 2, + "outlineColor": "$outlineColor" + } + } + } + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "SliderThumb", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "memo": true, + "neverFlatten": true, + "isHOC": true + } + }, + "View": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexDirection": "column", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0 + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + } + } + }, + "VisuallyHidden": { + "staticConfig": { + "componentName": "Text", + "acceptsClassName": true, + "isText": true, + "defaultProps": { + "display": "inline", + "boxSizing": "border-box", + "wordWrap": "break-word", + "whiteSpace": "pre-wrap", + "position": "absolute", + "width": 1, + "height": 1, + "margin": -1, + "zIndex": -10000, + "overflow": "hidden", + "opacity": 1e-8, + "pointerEvents": "none" + }, + "inlineWhenUnflattened": {}, + "variants": { + "numberOfLines": { + "1": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + }, + ":number": "Function" + }, + "ellipsis": { + "true": { + "maxWidth": "100%", + "overflow": "hidden", + "textOverflow": "ellipsis", + "whiteSpace": "nowrap" + } + }, + "preserveDimensions": { + "true": { + "position": "relative", + "width": "auto", + "height": "auto" + } + }, + "visible": { + "true": { + "position": "relative", + "width": "auto", + "height": "auto", + "margin": 0, + "zIndex": 1, + "overflow": "visible", + "opacity": 1, + "pointerEvents": "auto" + } + } + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true, + "fontFamily": true, + "fontSize": true, + "fontStyle": true, + "fontVariant": true, + "letterSpacing": true, + "lineHeight": true, + "textTransform": true, + "textAlign": true, + "textDecorationLine": true, + "textDecorationStyle": true, + "textShadow": true, + "textShadowOffset": true, + "textShadowRadius": true, + "verticalAlign": true, + "whiteSpace": true, + "wordWrap": true, + "textOverflow": true, + "textDecorationDistance": true, + "WebkitBoxOrient": true + }, + "isReactNative": false, + "isStyledHOC": false + } + }, + "XGroup": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true" + } + }, + "size": "Function" + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "GroupFrame", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "XStack": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "row" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + } + }, + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "YGroup": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "unstyled": false + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + }, + "unstyled": { + "false": { + "size": "$true" + } + }, + "size": "Function" + }, + "defaultVariants": { + "unstyled": false + }, + "componentName": "GroupFrame", + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isHOC": true + } + }, + "YStack": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + } + }, + "isReactNative": false, + "isText": false, + "isStyledHOC": false + } + }, + "ZStack": { + "staticConfig": { + "acceptsClassName": true, + "defaultProps": { + "display": "flex", + "alignItems": "stretch", + "flexBasis": "auto", + "boxSizing": "border-box", + "minHeight": 0, + "minWidth": 0, + "flexShrink": 0, + "flexDirection": "column", + "position": "relative" + }, + "validStyles": { + "backfaceVisibility": true, + "borderCurve": true, + "cursor": true, + "borderBottomEndRadius": true, + "borderBottomStartRadius": true, + "borderBottomWidth": true, + "borderLeftWidth": true, + "borderRightWidth": true, + "borderBlockWidth": true, + "borderBlockEndWidth": true, + "borderBlockStartWidth": true, + "borderInlineWidth": true, + "borderInlineEndWidth": true, + "borderInlineStartWidth": true, + "borderStyle": true, + "borderBlockStyle": true, + "borderBlockEndStyle": true, + "borderBlockStartStyle": true, + "borderInlineStyle": true, + "borderInlineEndStyle": true, + "borderInlineStartStyle": true, + "borderTopEndRadius": true, + "borderTopStartRadius": true, + "borderTopWidth": true, + "borderWidth": true, + "transform": true, + "transformOrigin": true, + "alignContent": true, + "alignItems": true, + "alignSelf": true, + "borderEndWidth": true, + "borderStartWidth": true, + "bottom": true, + "display": true, + "end": true, + "flexBasis": true, + "flexDirection": true, + "flexWrap": true, + "gap": true, + "columnGap": true, + "rowGap": true, + "justifyContent": true, + "left": true, + "margin": true, + "marginBlock": true, + "marginBlockEnd": true, + "marginBlockStart": true, + "marginInline": true, + "marginInlineStart": true, + "marginInlineEnd": true, + "marginBottom": true, + "marginEnd": true, + "marginHorizontal": true, + "marginLeft": true, + "marginRight": true, + "marginStart": true, + "marginTop": true, + "marginVertical": true, + "overflow": true, + "padding": true, + "paddingBottom": true, + "paddingInline": true, + "paddingBlock": true, + "paddingBlockStart": true, + "paddingInlineEnd": true, + "paddingInlineStart": true, + "paddingEnd": true, + "paddingHorizontal": true, + "paddingLeft": true, + "paddingRight": true, + "paddingStart": true, + "paddingTop": true, + "paddingVertical": true, + "position": true, + "right": true, + "start": true, + "top": true, + "inset": true, + "insetBlock": true, + "insetBlockEnd": true, + "insetBlockStart": true, + "insetInline": true, + "insetInlineEnd": true, + "insetInlineStart": true, + "direction": true, + "shadowOffset": true, + "shadowRadius": true, + "backgroundColor": true, + "borderColor": true, + "borderBlockStartColor": true, + "borderBlockEndColor": true, + "borderBlockColor": true, + "borderBottomColor": true, + "borderInlineColor": true, + "borderInlineStartColor": true, + "borderInlineEndColor": true, + "borderTopColor": true, + "borderLeftColor": true, + "borderRightColor": true, + "borderEndColor": true, + "borderStartColor": true, + "shadowColor": true, + "color": true, + "textDecorationColor": true, + "textShadowColor": true, + "outlineColor": true, + "caretColor": true, + "borderRadius": true, + "borderTopLeftRadius": true, + "borderTopRightRadius": true, + "borderBottomLeftRadius": true, + "borderBottomRightRadius": true, + "borderStartStartRadius": true, + "borderStartEndRadius": true, + "borderEndStartRadius": true, + "borderEndEndRadius": true, + "width": true, + "height": true, + "minWidth": true, + "minHeight": true, + "maxWidth": true, + "maxHeight": true, + "blockSize": true, + "minBlockSize": true, + "maxBlockSize": true, + "inlineSize": true, + "minInlineSize": true, + "maxInlineSize": true, + "x": true, + "y": true, + "scale": true, + "perspective": true, + "scaleX": true, + "scaleY": true, + "skewX": true, + "skewY": true, + "matrix": true, + "rotate": true, + "rotateY": true, + "rotateX": true, + "rotateZ": true, + "WebkitLineClamp": true, + "animationIterationCount": true, + "aspectRatio": true, + "borderImageOutset": true, + "borderImageSlice": true, + "borderImageWidth": true, + "columnCount": true, + "flex": true, + "flexGrow": true, + "flexOrder": true, + "flexPositive": true, + "flexShrink": true, + "flexNegative": true, + "fontWeight": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowGap": true, + "gridRowStart": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnGap": true, + "gridColumnStart": true, + "gridTemplateColumns": true, + "gridTemplateAreas": true, + "lineClamp": true, + "opacity": true, + "order": true, + "orphans": true, + "tabSize": true, + "widows": true, + "zIndex": true, + "zoom": true, + "scaleZ": true, + "shadowOpacity": true, + "boxShadow": true, + "border": true, + "filter": true, + "backgroundImage": true, + "experimental_backgroundImage": true, + "boxSizing": true, + "mixBlendMode": true, + "isolation": true, + "outlineOffset": true, + "outlineStyle": true, + "outlineWidth": true, + "transition": true, + "textWrap": true, + "backdropFilter": true, + "WebkitBackdropFilter": true, + "background": true, + "borderTop": true, + "borderRight": true, + "borderBottom": true, + "borderLeft": true, + "backgroundAttachment": true, + "backgroundBlendMode": true, + "backgroundClip": true, + "backgroundOrigin": true, + "backgroundPosition": true, + "backgroundRepeat": true, + "backgroundSize": true, + "borderBottomStyle": true, + "borderImage": true, + "borderLeftStyle": true, + "borderRightStyle": true, + "borderTopStyle": true, + "clipPath": true, + "contain": true, + "containerType": true, + "content": true, + "float": true, + "mask": true, + "maskBorder": true, + "maskBorderMode": true, + "maskBorderOutset": true, + "maskBorderRepeat": true, + "maskBorderSlice": true, + "maskBorderSource": true, + "maskBorderWidth": true, + "maskClip": true, + "maskComposite": true, + "maskImage": true, + "maskMode": true, + "maskOrigin": true, + "maskPosition": true, + "maskRepeat": true, + "maskSize": true, + "maskType": true, + "objectFit": true, + "objectPosition": true, + "overflowBlock": true, + "overflowInline": true, + "overflowX": true, + "overflowY": true, + "pointerEvents": true, + "scrollbarWidth": true, + "textEmphasis": true, + "touchAction": true, + "transformStyle": true, + "userSelect": true, + "willChange": true + }, + "variants": { + "fullscreen": { + "true": { + "position": "absolute", + "inset": 0 + } + }, + "elevation": { + "...size": "Function", + ":number": "Function" + } + }, + "isReactNative": false, + "isText": false, + "isStyledHOC": false, + "neverFlatten": true, + "isZStack": true } } } @@ -6751,24 +31492,24 @@ "tamaguiConfig": { "fonts": { "body": { - "family": "Manrope", + "family": "var(--guest-body-font, Manrope)", "lineHeight": { "1": 21, "2": 22, "3": 23, "4": 24, - "5": 26, - "6": 28, - "7": 30, - "8": 33, + "5": 25, + "6": 27, + "7": 31, + "8": 35, "9": 40, - "10": 56, - "11": 65, - "12": 72, - "13": 82, - "14": 102, - "15": 124, - "16": 144, + "10": 50, + "11": 56, + "12": 63, + "13": 71, + "14": 82, + "15": 97, + "16": 113, "true": 24 }, "weight": { @@ -6799,45 +31540,45 @@ "true": 0 }, "size": { - "1": 11, - "2": 12, - "3": 13, - "4": 14, + "1": 12, + "2": 13, + "3": 14, + "4": 15, "5": 16, "6": 18, - "7": 20, - "8": 23, + "7": 22, + "8": 26, "9": 30, - "10": 46, - "11": 55, - "12": 62, - "13": 72, - "14": 92, - "15": 114, - "16": 134, - "true": 14 + "10": 40, + "11": 46, + "12": 52, + "13": 60, + "14": 70, + "15": 85, + "16": 100, + "true": 15 } }, "heading": { - "family": "Fraunces", + "family": "var(--guest-heading-font, Fraunces)", "lineHeight": { - "1": 25.4, - "2": 26.799999999999997, - "3": 28.2, - "4": 29.599999999999998, - "5": 32.4, - "6": 35.2, - "7": 38, - "8": 42.199999999999996, - "9": 52, - "10": 74.39999999999999, - "11": 87, - "12": 96.8, - "13": 110.8, - "14": 138.79999999999998, - "15": 169.6, - "16": 197.6, - "true": 29.599999999999998 + "1": 18, + "2": 20, + "3": 21, + "4": 22, + "5": 23, + "6": 25, + "7": 30, + "8": 34, + "9": 39, + "10": 50, + "11": 57, + "12": 63, + "13": 72, + "14": 83, + "15": 100, + "16": 117, + "true": 22 }, "weight": { "4": "400", @@ -6867,45 +31608,45 @@ "true": 0 }, "size": { - "1": 15.399999999999999, - "2": 16.799999999999997, - "3": 18.2, - "4": 19.599999999999998, - "5": 22.4, - "6": 25.2, - "7": 28, - "8": 32.199999999999996, - "9": 42, - "10": 64.39999999999999, - "11": 77, - "12": 86.8, - "13": 100.8, - "14": 128.79999999999998, - "15": 159.6, - "16": 187.6, - "true": 19.599999999999998 + "1": 12, + "2": 13, + "3": 14, + "4": 15, + "5": 16, + "6": 18, + "7": 22, + "8": 26, + "9": 30, + "10": 40, + "11": 46, + "12": 52, + "13": 60, + "14": 70, + "15": 85, + "16": 100, + "true": 15 } }, "display": { - "family": "Fraunces", + "family": "var(--guest-heading-font, Fraunces)", "lineHeight": { - "1": 25.4, - "2": 26.799999999999997, - "3": 28.2, - "4": 29.599999999999998, - "5": 32.4, - "6": 35.2, - "7": 38, - "8": 42.199999999999996, - "9": 52, - "10": 74.39999999999999, - "11": 87, - "12": 96.8, - "13": 110.8, - "14": 138.79999999999998, - "15": 169.6, - "16": 197.6, - "true": 29.599999999999998 + "1": 18, + "2": 20, + "3": 21, + "4": 22, + "5": 23, + "6": 25, + "7": 30, + "8": 34, + "9": 39, + "10": 50, + "11": 57, + "12": 63, + "13": 72, + "14": 83, + "15": 100, + "16": 117, + "true": 22 }, "weight": { "4": "400", @@ -6935,23 +31676,23 @@ "true": 0 }, "size": { - "1": 15.399999999999999, - "2": 16.799999999999997, - "3": 18.2, - "4": 19.599999999999998, - "5": 22.4, - "6": 25.2, - "7": 28, - "8": 32.199999999999996, - "9": 42, - "10": 64.39999999999999, - "11": 77, - "12": 86.8, - "13": 100.8, - "14": 128.79999999999998, - "15": 159.6, - "16": 187.6, - "true": 19.599999999999998 + "1": 12, + "2": 13, + "3": 14, + "4": 15, + "5": 16, + "6": 18, + "7": 22, + "8": 26, + "9": 30, + "10": 40, + "11": 46, + "12": 52, + "13": 60, + "14": 70, + "15": 85, + "16": 100, + "true": 15 } } }, @@ -6966,6 +31707,8 @@ "usePresence": "Function", "ResetPresence": "Function", "supportsCSS": true, + "inputStyle": "css", + "outputStyle": "css", "classNameAnimation": true, "useAnimatedNumber": "Function", "useAnimatedNumberReaction": "Function", @@ -6973,47 +31716,74 @@ "useAnimations": "Function" }, "media": { - "maxXs": { - "maxWidth": 460 + "pointerTouch": { + "pointer": "coarse" }, - "max2xs": { - "maxWidth": 340 + "height-xxxs": { + "minHeight": 260 }, - "maxSm": { - "maxWidth": 640 + "height-xxs": { + "minHeight": 340 }, - "maxMd": { - "maxWidth": 768 + "height-xs": { + "minHeight": 460 }, - "maxLg": { - "maxWidth": 1024 + "height-sm": { + "minHeight": 640 }, - "maxXl": { - "maxWidth": 1280 + "height-md": { + "minHeight": 768 }, - "max2Xl": { + "height-lg": { + "minHeight": 1024 + }, + "max-xxl": { "maxWidth": 1536 }, - "2xl": { - "minWidth": 1536 + "max-xl": { + "maxWidth": 1280 }, - "xl": { - "minWidth": 1280 - }, - "lg": { - "minWidth": 1024 - }, - "md": { + "max-lg": { "maxWidth": 1024 }, - "sm": { - "maxWidth": 840 + "max-md": { + "maxWidth": 768 + }, + "max-sm": { + "maxWidth": 640 + }, + "max-xs": { + "maxWidth": 460 + }, + "max-xxs": { + "maxWidth": 340 + }, + "max-xxxs": { + "maxWidth": 260 + }, + "xxxs": { + "minWidth": 260 + }, + "xxs": { + "minWidth": 340 }, "xs": { "maxWidth": 660 }, - "2xs": { - "minWidth": 340 + "sm": { + "maxWidth": 840 + }, + "md": { + "maxWidth": 1024 + }, + "lg": { + "minWidth": 1024 + }, + "xl": { + "minWidth": 1280 + }, + "xxl": { + "minWidth": 1536 } }, "themes": { @@ -241449,6 +266219,1005 @@ "shadowColorFocus": "rgba(0, 0, 0, 0.6)", "id": "dark_yellow_alt2_SwitchThumb" }, + "guestDark": { + "blue1Light": "hsl(206, 100%, 99.2%)", + "blue2Light": "hsl(210, 100%, 98.0%)", + "blue3Light": "hsl(209, 100%, 96.5%)", + "blue4Light": "hsl(210, 98.8%, 94.0%)", + "blue5Light": "hsl(209, 95.0%, 90.1%)", + "blue6Light": "hsl(209, 81.2%, 84.5%)", + "blue7Light": "hsl(208, 77.5%, 76.9%)", + "blue8Light": "hsl(206, 81.9%, 65.3%)", + "blue9Light": "hsl(206, 100%, 50.0%)", + "blue10Light": "hsl(208, 100%, 47.3%)", + "blue11Light": "hsl(211, 100%, 43.2%)", + "blue12Light": "hsl(211, 100%, 15.0%)", + "gray1Light": "hsl(0, 0%, 99.0%)", + "gray2Light": "hsl(0, 0%, 97.3%)", + "gray3Light": "hsl(0, 0%, 95.1%)", + "gray4Light": "hsl(0, 0%, 93.0%)", + "gray5Light": "hsl(0, 0%, 90.9%)", + "gray6Light": "hsl(0, 0%, 88.7%)", + "gray7Light": "hsl(0, 0%, 85.8%)", + "gray8Light": "hsl(0, 0%, 78.0%)", + "gray9Light": "hsl(0, 0%, 56.1%)", + "gray10Light": "hsl(0, 0%, 52.3%)", + "gray11Light": "hsl(0, 0%, 43.5%)", + "gray12Light": "hsl(0, 0%, 9.0%)", + "green1Light": "hsl(136, 50.0%, 98.9%)", + "green2Light": "hsl(138, 62.5%, 96.9%)", + "green3Light": "hsl(139, 55.2%, 94.5%)", + "green4Light": "hsl(140, 48.7%, 91.0%)", + "green5Light": "hsl(141, 43.7%, 86.0%)", + "green6Light": "hsl(143, 40.3%, 79.0%)", + "green7Light": "hsl(146, 38.5%, 69.0%)", + "green8Light": "hsl(151, 40.2%, 54.1%)", + "green9Light": "hsl(151, 55.0%, 41.5%)", + "green10Light": "hsl(152, 57.5%, 37.6%)", + "green11Light": "hsl(153, 67.0%, 28.5%)", + "green12Light": "hsl(155, 40.0%, 14.0%)", + "orange1Light": "hsl(24, 70.0%, 99.0%)", + "orange2Light": "hsl(24, 83.3%, 97.6%)", + "orange3Light": "hsl(24, 100%, 95.3%)", + "orange4Light": "hsl(25, 100%, 92.2%)", + "orange5Light": "hsl(25, 100%, 88.2%)", + "orange6Light": "hsl(25, 100%, 82.8%)", + "orange7Light": "hsl(24, 100%, 75.3%)", + "orange8Light": "hsl(24, 94.5%, 64.3%)", + "orange9Light": "hsl(24, 94.0%, 50.0%)", + "orange10Light": "hsl(24, 100%, 46.5%)", + "orange11Light": "hsl(24, 100%, 37.0%)", + "orange12Light": "hsl(15, 60.0%, 17.0%)", + "pink1Light": "hsl(322, 100%, 99.4%)", + "pink2Light": "hsl(323, 100%, 98.4%)", + "pink3Light": "hsl(323, 86.3%, 96.5%)", + "pink4Light": "hsl(323, 78.7%, 94.2%)", + "pink5Light": "hsl(323, 72.2%, 91.1%)", + "pink6Light": "hsl(323, 66.3%, 86.6%)", + "pink7Light": "hsl(323, 62.0%, 80.1%)", + "pink8Light": "hsl(323, 60.3%, 72.4%)", + "pink9Light": "hsl(322, 65.0%, 54.5%)", + "pink10Light": "hsl(322, 63.9%, 50.7%)", + "pink11Light": "hsl(322, 75.0%, 46.0%)", + "pink12Light": "hsl(320, 70.0%, 13.5%)", + "purple1Light": "hsl(280, 65.0%, 99.4%)", + "purple2Light": "hsl(276, 100%, 99.0%)", + "purple3Light": "hsl(276, 83.1%, 97.0%)", + "purple4Light": "hsl(275, 76.4%, 94.7%)", + "purple5Light": "hsl(275, 70.8%, 91.8%)", + "purple6Light": "hsl(274, 65.4%, 87.8%)", + "purple7Light": "hsl(273, 61.0%, 81.7%)", + "purple8Light": "hsl(272, 60.0%, 73.5%)", + "purple9Light": "hsl(272, 51.0%, 54.0%)", + "purple10Light": "hsl(272, 46.8%, 50.3%)", + "purple11Light": "hsl(272, 50.0%, 45.8%)", + "purple12Light": "hsl(272, 66.0%, 16.0%)", + "red1Light": "hsl(359, 100%, 99.4%)", + "red2Light": "hsl(359, 100%, 98.6%)", + "red3Light": "hsl(360, 100%, 96.8%)", + "red4Light": "hsl(360, 97.9%, 94.8%)", + "red5Light": "hsl(360, 90.2%, 91.9%)", + "red6Light": "hsl(360, 81.7%, 87.8%)", + "red7Light": "hsl(359, 74.2%, 81.7%)", + "red8Light": "hsl(359, 69.5%, 74.3%)", + "red9Light": "hsl(358, 75.0%, 59.0%)", + "red10Light": "hsl(358, 69.4%, 55.2%)", + "red11Light": "hsl(358, 65.0%, 48.7%)", + "red12Light": "hsl(354, 50.0%, 14.6%)", + "yellow1Light": "hsl(60, 54.0%, 98.5%)", + "yellow2Light": "hsl(52, 100%, 95.5%)", + "yellow3Light": "hsl(55, 100%, 90.9%)", + "yellow4Light": "hsl(54, 100%, 86.6%)", + "yellow5Light": "hsl(52, 97.9%, 82.0%)", + "yellow6Light": "hsl(50, 89.4%, 76.1%)", + "yellow7Light": "hsl(47, 80.4%, 68.0%)", + "yellow8Light": "hsl(48, 100%, 46.1%)", + "yellow9Light": "hsl(53, 92.0%, 50.0%)", + "yellow10Light": "hsl(50, 100%, 48.5%)", + "yellow11Light": "hsl(42, 100%, 29.0%)", + "yellow12Light": "hsl(40, 55.0%, 13.5%)", + "blue1Dark": "hsl(212, 35.0%, 9.2%)", + "blue2Dark": "hsl(216, 50.0%, 11.8%)", + "blue3Dark": "hsl(214, 59.4%, 15.3%)", + "blue4Dark": "hsl(214, 65.8%, 17.9%)", + "blue5Dark": "hsl(213, 71.2%, 20.2%)", + "blue6Dark": "hsl(212, 77.4%, 23.1%)", + "blue7Dark": "hsl(211, 85.1%, 27.4%)", + "blue8Dark": "hsl(211, 89.7%, 34.1%)", + "blue9Dark": "hsl(206, 100%, 50.0%)", + "blue10Dark": "hsl(209, 100%, 60.6%)", + "blue11Dark": "hsl(210, 100%, 66.1%)", + "blue12Dark": "hsl(206, 98.0%, 95.8%)", + "gray1Dark": "hsl(0, 0%, 8.5%)", + "gray2Dark": "hsl(0, 0%, 11.0%)", + "gray3Dark": "hsl(0, 0%, 13.6%)", + "gray4Dark": "hsl(0, 0%, 15.8%)", + "gray5Dark": "hsl(0, 0%, 17.9%)", + "gray6Dark": "hsl(0, 0%, 20.5%)", + "gray7Dark": "hsl(0, 0%, 24.3%)", + "gray8Dark": "hsl(0, 0%, 31.2%)", + "gray9Dark": "hsl(0, 0%, 43.9%)", + "gray10Dark": "hsl(0, 0%, 49.4%)", + "gray11Dark": "hsl(0, 0%, 62.8%)", + "gray12Dark": "hsl(0, 0%, 93.0%)", + "green1Dark": "hsl(146, 30.0%, 7.4%)", + "green2Dark": "hsl(155, 44.2%, 8.4%)", + "green3Dark": "hsl(155, 46.7%, 10.9%)", + "green4Dark": "hsl(154, 48.4%, 12.9%)", + "green5Dark": "hsl(154, 49.7%, 14.9%)", + "green6Dark": "hsl(154, 50.9%, 17.6%)", + "green7Dark": "hsl(153, 51.8%, 21.8%)", + "green8Dark": "hsl(151, 51.7%, 28.4%)", + "green9Dark": "hsl(151, 55.0%, 41.5%)", + "green10Dark": "hsl(151, 49.3%, 46.5%)", + "green11Dark": "hsl(151, 50.0%, 53.2%)", + "green12Dark": "hsl(137, 72.0%, 94.0%)", + "orange1Dark": "hsl(30, 70.0%, 7.2%)", + "orange2Dark": "hsl(28, 100%, 8.4%)", + "orange3Dark": "hsl(26, 91.1%, 11.6%)", + "orange4Dark": "hsl(25, 88.3%, 14.1%)", + "orange5Dark": "hsl(24, 87.6%, 16.6%)", + "orange6Dark": "hsl(24, 88.6%, 19.8%)", + "orange7Dark": "hsl(24, 92.4%, 24.0%)", + "orange8Dark": "hsl(25, 100%, 29.0%)", + "orange9Dark": "hsl(24, 94.0%, 50.0%)", + "orange10Dark": "hsl(24, 100%, 58.5%)", + "orange11Dark": "hsl(24, 100%, 62.2%)", + "orange12Dark": "hsl(24, 97.0%, 93.2%)", + "pink1Dark": "hsl(318, 25.0%, 9.6%)", + "pink2Dark": "hsl(319, 32.2%, 11.6%)", + "pink3Dark": "hsl(319, 41.0%, 16.0%)", + "pink4Dark": "hsl(320, 45.4%, 18.7%)", + "pink5Dark": "hsl(320, 49.0%, 21.1%)", + "pink6Dark": "hsl(321, 53.6%, 24.4%)", + "pink7Dark": "hsl(321, 61.1%, 29.7%)", + "pink8Dark": "hsl(322, 74.9%, 37.5%)", + "pink9Dark": "hsl(322, 65.0%, 54.5%)", + "pink10Dark": "hsl(323, 72.8%, 59.2%)", + "pink11Dark": "hsl(325, 90.0%, 66.4%)", + "pink12Dark": "hsl(322, 90.0%, 95.8%)", + "purple1Dark": "hsl(284, 20.0%, 9.6%)", + "purple2Dark": "hsl(283, 30.0%, 11.8%)", + "purple3Dark": "hsl(281, 37.5%, 16.5%)", + "purple4Dark": "hsl(280, 41.2%, 20.0%)", + "purple5Dark": "hsl(279, 43.8%, 23.3%)", + "purple6Dark": "hsl(277, 46.4%, 27.5%)", + "purple7Dark": "hsl(275, 49.3%, 34.6%)", + "purple8Dark": "hsl(272, 52.1%, 45.9%)", + "purple9Dark": "hsl(272, 51.0%, 54.0%)", + "purple10Dark": "hsl(273, 57.3%, 59.1%)", + "purple11Dark": "hsl(275, 80.0%, 71.0%)", + "purple12Dark": "hsl(279, 75.0%, 95.7%)", + "red1Dark": "hsl(353, 23.0%, 9.8%)", + "red2Dark": "hsl(357, 34.4%, 12.0%)", + "red3Dark": "hsl(356, 43.4%, 16.4%)", + "red4Dark": "hsl(356, 47.6%, 19.2%)", + "red5Dark": "hsl(356, 51.1%, 21.9%)", + "red6Dark": "hsl(356, 55.2%, 25.9%)", + "red7Dark": "hsl(357, 60.2%, 31.8%)", + "red8Dark": "hsl(358, 65.0%, 40.4%)", + "red9Dark": "hsl(358, 75.0%, 59.0%)", + "red10Dark": "hsl(358, 85.3%, 64.0%)", + "red11Dark": "hsl(358, 100%, 69.5%)", + "red12Dark": "hsl(351, 89.0%, 96.0%)", + "yellow1Dark": "hsl(45, 100%, 5.5%)", + "yellow2Dark": "hsl(46, 100%, 6.7%)", + "yellow3Dark": "hsl(45, 100%, 8.7%)", + "yellow4Dark": "hsl(45, 100%, 10.4%)", + "yellow5Dark": "hsl(47, 100%, 12.1%)", + "yellow6Dark": "hsl(49, 100%, 14.3%)", + "yellow7Dark": "hsl(49, 90.3%, 18.4%)", + "yellow8Dark": "hsl(50, 100%, 22.0%)", + "yellow9Dark": "hsl(53, 92.0%, 50.0%)", + "yellow10Dark": "hsl(54, 100%, 68.0%)", + "yellow11Dark": "hsl(48, 100%, 47.0%)", + "yellow12Dark": "hsl(53, 100%, 91.0%)", + "primary": "#FF5A5F", + "accent": "#F43F5E", + "accentSoft": "#E0E7FF", + "success": "#10B981", + "warning": "#F59E0B", + "danger": "#EF4444", + "surface": "#0F1B36", + "muted": "#121F3D", + "border": "#E2E8F0", + "text": "#0F172A", + "color1": "#050505", + "color2": "#151515", + "color3": "#191919", + "color4": "#232323", + "color5": "#282828", + "color6": "#323232", + "color7": "#424242", + "color8": "#494949", + "color9": "#545454", + "color10": "#626262", + "color11": "#a5a5a5", + "color12": "#fff", + "background": "#171219", + "backgroundHover": "#101A36", + "backgroundPress": "#132142", + "backgroundFocus": "#282828", + "backgroundStrong": "#101A36", + "backgroundTransparent": "rgba(11, 19, 43, 0)", + "color": "#F8FAFF", + "colorHover": "#FFFFFF", + "colorPress": "#F2F6FF", + "colorFocus": "#FFFFFF", + "colorTransparent": "rgba(255,255,255,0)", + "borderColor": "#1F2A4A", + "borderColorHover": "#29345A", + "borderColorFocus": "#232323", + "borderColorPress": "#313D67", + "placeholderColor": "#545454", + "blue1": "hsl(212, 35.0%, 9.2%)", + "blue2": "hsl(216, 50.0%, 11.8%)", + "blue3": "#1B2550", + "blue4": "hsl(214, 65.8%, 17.9%)", + "blue5": "hsl(213, 71.2%, 20.2%)", + "blue6": "#3D5AFE", + "blue7": "hsl(211, 85.1%, 27.4%)", + "blue8": "hsl(211, 89.7%, 34.1%)", + "blue9": "hsl(206, 100%, 50.0%)", + "blue10": "#FF5C5C", + "blue11": "#FF8A8A", + "blue12": "hsl(206, 98.0%, 95.8%)", + "gray1": "hsl(0, 0%, 8.5%)", + "gray2": "hsl(0, 0%, 11.0%)", + "gray3": "hsl(0, 0%, 13.6%)", + "gray4": "hsl(0, 0%, 15.8%)", + "gray5": "hsl(0, 0%, 17.9%)", + "gray6": "hsl(0, 0%, 20.5%)", + "gray7": "hsl(0, 0%, 24.3%)", + "gray8": "hsl(0, 0%, 31.2%)", + "gray9": "hsl(0, 0%, 43.9%)", + "gray10": "hsl(0, 0%, 49.4%)", + "gray11": "hsl(0, 0%, 62.8%)", + "gray12": "hsl(0, 0%, 93.0%)", + "green1": "hsl(146, 30.0%, 7.4%)", + "green2": "hsl(155, 44.2%, 8.4%)", + "green3": "hsl(155, 46.7%, 10.9%)", + "green4": "hsl(154, 48.4%, 12.9%)", + "green5": "hsl(154, 49.7%, 14.9%)", + "green6": "hsl(154, 50.9%, 17.6%)", + "green7": "hsl(153, 51.8%, 21.8%)", + "green8": "hsl(151, 51.7%, 28.4%)", + "green9": "hsl(151, 55.0%, 41.5%)", + "green10": "hsl(151, 49.3%, 46.5%)", + "green11": "hsl(151, 50.0%, 53.2%)", + "green12": "hsl(137, 72.0%, 94.0%)", + "orange1": "hsl(30, 70.0%, 7.2%)", + "orange2": "hsl(28, 100%, 8.4%)", + "orange3": "hsl(26, 91.1%, 11.6%)", + "orange4": "hsl(25, 88.3%, 14.1%)", + "orange5": "hsl(24, 87.6%, 16.6%)", + "orange6": "hsl(24, 88.6%, 19.8%)", + "orange7": "hsl(24, 92.4%, 24.0%)", + "orange8": "hsl(25, 100%, 29.0%)", + "orange9": "hsl(24, 94.0%, 50.0%)", + "orange10": "hsl(24, 100%, 58.5%)", + "orange11": "hsl(24, 100%, 62.2%)", + "orange12": "hsl(24, 97.0%, 93.2%)", + "pink1": "hsl(318, 25.0%, 9.6%)", + "pink2": "hsl(319, 32.2%, 11.6%)", + "pink3": "hsl(319, 41.0%, 16.0%)", + "pink4": "hsl(320, 45.4%, 18.7%)", + "pink5": "hsl(320, 49.0%, 21.1%)", + "pink6": "hsl(321, 53.6%, 24.4%)", + "pink7": "hsl(321, 61.1%, 29.7%)", + "pink8": "hsl(322, 74.9%, 37.5%)", + "pink9": "hsl(322, 65.0%, 54.5%)", + "pink10": "hsl(323, 72.8%, 59.2%)", + "pink11": "hsl(325, 90.0%, 66.4%)", + "pink12": "hsl(322, 90.0%, 95.8%)", + "purple1": "hsl(284, 20.0%, 9.6%)", + "purple2": "hsl(283, 30.0%, 11.8%)", + "purple3": "hsl(281, 37.5%, 16.5%)", + "purple4": "hsl(280, 41.2%, 20.0%)", + "purple5": "hsl(279, 43.8%, 23.3%)", + "purple6": "hsl(277, 46.4%, 27.5%)", + "purple7": "hsl(275, 49.3%, 34.6%)", + "purple8": "hsl(272, 52.1%, 45.9%)", + "purple9": "hsl(272, 51.0%, 54.0%)", + "purple10": "hsl(273, 57.3%, 59.1%)", + "purple11": "hsl(275, 80.0%, 71.0%)", + "purple12": "hsl(279, 75.0%, 95.7%)", + "red1": "hsl(353, 23.0%, 9.8%)", + "red2": "hsl(357, 34.4%, 12.0%)", + "red3": "hsl(356, 43.4%, 16.4%)", + "red4": "hsl(356, 47.6%, 19.2%)", + "red5": "hsl(356, 51.1%, 21.9%)", + "red6": "hsl(356, 55.2%, 25.9%)", + "red7": "hsl(357, 60.2%, 31.8%)", + "red8": "hsl(358, 65.0%, 40.4%)", + "red9": "hsl(358, 75.0%, 59.0%)", + "red10": "hsl(358, 85.3%, 64.0%)", + "red11": "hsl(358, 100%, 69.5%)", + "red12": "hsl(351, 89.0%, 96.0%)", + "yellow1": "hsl(45, 100%, 5.5%)", + "yellow2": "hsl(46, 100%, 6.7%)", + "yellow3": "hsl(45, 100%, 8.7%)", + "yellow4": "hsl(45, 100%, 10.4%)", + "yellow5": "hsl(47, 100%, 12.1%)", + "yellow6": "hsl(49, 100%, 14.3%)", + "yellow7": "hsl(49, 90.3%, 18.4%)", + "yellow8": "hsl(50, 100%, 22.0%)", + "yellow9": "hsl(53, 92.0%, 50.0%)", + "yellow10": "hsl(54, 100%, 68.0%)", + "yellow11": "hsl(48, 100%, 47.0%)", + "yellow12": "hsl(53, 100%, 91.0%)", + "shadowColor": "rgba(0, 0, 0, 0.55)", + "shadowColorHover": "rgba(0,0,0,0.3)", + "shadowColorPress": "rgba(0, 0, 0, 0.65)", + "shadowColorFocus": "rgba(0, 0, 0, 0.6)", + "id": "guestDark" + }, + "guestLight": { + "blue1Light": "hsl(206, 100%, 99.2%)", + "blue2Light": "hsl(210, 100%, 98.0%)", + "blue3Light": "hsl(209, 100%, 96.5%)", + "blue4Light": "hsl(210, 98.8%, 94.0%)", + "blue5Light": "hsl(209, 95.0%, 90.1%)", + "blue6Light": "hsl(209, 81.2%, 84.5%)", + "blue7Light": "hsl(208, 77.5%, 76.9%)", + "blue8Light": "hsl(206, 81.9%, 65.3%)", + "blue9Light": "hsl(206, 100%, 50.0%)", + "blue10Light": "hsl(208, 100%, 47.3%)", + "blue11Light": "hsl(211, 100%, 43.2%)", + "blue12Light": "hsl(211, 100%, 15.0%)", + "gray1Light": "hsl(0, 0%, 99.0%)", + "gray2Light": "hsl(0, 0%, 97.3%)", + "gray3Light": "hsl(0, 0%, 95.1%)", + "gray4Light": "hsl(0, 0%, 93.0%)", + "gray5Light": "hsl(0, 0%, 90.9%)", + "gray6Light": "hsl(0, 0%, 88.7%)", + "gray7Light": "hsl(0, 0%, 85.8%)", + "gray8Light": "hsl(0, 0%, 78.0%)", + "gray9Light": "hsl(0, 0%, 56.1%)", + "gray10Light": "hsl(0, 0%, 52.3%)", + "gray11Light": "hsl(0, 0%, 43.5%)", + "gray12Light": "hsl(0, 0%, 9.0%)", + "green1Light": "hsl(136, 50.0%, 98.9%)", + "green2Light": "hsl(138, 62.5%, 96.9%)", + "green3Light": "hsl(139, 55.2%, 94.5%)", + "green4Light": "hsl(140, 48.7%, 91.0%)", + "green5Light": "hsl(141, 43.7%, 86.0%)", + "green6Light": "hsl(143, 40.3%, 79.0%)", + "green7Light": "hsl(146, 38.5%, 69.0%)", + "green8Light": "hsl(151, 40.2%, 54.1%)", + "green9Light": "hsl(151, 55.0%, 41.5%)", + "green10Light": "hsl(152, 57.5%, 37.6%)", + "green11Light": "hsl(153, 67.0%, 28.5%)", + "green12Light": "hsl(155, 40.0%, 14.0%)", + "orange1Light": "hsl(24, 70.0%, 99.0%)", + "orange2Light": "hsl(24, 83.3%, 97.6%)", + "orange3Light": "hsl(24, 100%, 95.3%)", + "orange4Light": "hsl(25, 100%, 92.2%)", + "orange5Light": "hsl(25, 100%, 88.2%)", + "orange6Light": "hsl(25, 100%, 82.8%)", + "orange7Light": "hsl(24, 100%, 75.3%)", + "orange8Light": "hsl(24, 94.5%, 64.3%)", + "orange9Light": "hsl(24, 94.0%, 50.0%)", + "orange10Light": "hsl(24, 100%, 46.5%)", + "orange11Light": "hsl(24, 100%, 37.0%)", + "orange12Light": "hsl(15, 60.0%, 17.0%)", + "pink1Light": "hsl(322, 100%, 99.4%)", + "pink2Light": "hsl(323, 100%, 98.4%)", + "pink3Light": "hsl(323, 86.3%, 96.5%)", + "pink4Light": "hsl(323, 78.7%, 94.2%)", + "pink5Light": "hsl(323, 72.2%, 91.1%)", + "pink6Light": "hsl(323, 66.3%, 86.6%)", + "pink7Light": "hsl(323, 62.0%, 80.1%)", + "pink8Light": "hsl(323, 60.3%, 72.4%)", + "pink9Light": "hsl(322, 65.0%, 54.5%)", + "pink10Light": "hsl(322, 63.9%, 50.7%)", + "pink11Light": "hsl(322, 75.0%, 46.0%)", + "pink12Light": "hsl(320, 70.0%, 13.5%)", + "purple1Light": "hsl(280, 65.0%, 99.4%)", + "purple2Light": "hsl(276, 100%, 99.0%)", + "purple3Light": "hsl(276, 83.1%, 97.0%)", + "purple4Light": "hsl(275, 76.4%, 94.7%)", + "purple5Light": "hsl(275, 70.8%, 91.8%)", + "purple6Light": "hsl(274, 65.4%, 87.8%)", + "purple7Light": "hsl(273, 61.0%, 81.7%)", + "purple8Light": "hsl(272, 60.0%, 73.5%)", + "purple9Light": "hsl(272, 51.0%, 54.0%)", + "purple10Light": "hsl(272, 46.8%, 50.3%)", + "purple11Light": "hsl(272, 50.0%, 45.8%)", + "purple12Light": "hsl(272, 66.0%, 16.0%)", + "red1Light": "hsl(359, 100%, 99.4%)", + "red2Light": "hsl(359, 100%, 98.6%)", + "red3Light": "hsl(360, 100%, 96.8%)", + "red4Light": "hsl(360, 97.9%, 94.8%)", + "red5Light": "hsl(360, 90.2%, 91.9%)", + "red6Light": "hsl(360, 81.7%, 87.8%)", + "red7Light": "hsl(359, 74.2%, 81.7%)", + "red8Light": "hsl(359, 69.5%, 74.3%)", + "red9Light": "hsl(358, 75.0%, 59.0%)", + "red10Light": "hsl(358, 69.4%, 55.2%)", + "red11Light": "hsl(358, 65.0%, 48.7%)", + "red12Light": "hsl(354, 50.0%, 14.6%)", + "yellow1Light": "hsl(60, 54.0%, 98.5%)", + "yellow2Light": "hsl(52, 100%, 95.5%)", + "yellow3Light": "hsl(55, 100%, 90.9%)", + "yellow4Light": "hsl(54, 100%, 86.6%)", + "yellow5Light": "hsl(52, 97.9%, 82.0%)", + "yellow6Light": "hsl(50, 89.4%, 76.1%)", + "yellow7Light": "hsl(47, 80.4%, 68.0%)", + "yellow8Light": "hsl(48, 100%, 46.1%)", + "yellow9Light": "hsl(53, 92.0%, 50.0%)", + "yellow10Light": "hsl(50, 100%, 48.5%)", + "yellow11Light": "hsl(42, 100%, 29.0%)", + "yellow12Light": "hsl(40, 55.0%, 13.5%)", + "blue1Dark": "hsl(212, 35.0%, 9.2%)", + "blue2Dark": "hsl(216, 50.0%, 11.8%)", + "blue3Dark": "hsl(214, 59.4%, 15.3%)", + "blue4Dark": "hsl(214, 65.8%, 17.9%)", + "blue5Dark": "hsl(213, 71.2%, 20.2%)", + "blue6Dark": "hsl(212, 77.4%, 23.1%)", + "blue7Dark": "hsl(211, 85.1%, 27.4%)", + "blue8Dark": "hsl(211, 89.7%, 34.1%)", + "blue9Dark": "hsl(206, 100%, 50.0%)", + "blue10Dark": "hsl(209, 100%, 60.6%)", + "blue11Dark": "hsl(210, 100%, 66.1%)", + "blue12Dark": "hsl(206, 98.0%, 95.8%)", + "gray1Dark": "hsl(0, 0%, 8.5%)", + "gray2Dark": "hsl(0, 0%, 11.0%)", + "gray3Dark": "hsl(0, 0%, 13.6%)", + "gray4Dark": "hsl(0, 0%, 15.8%)", + "gray5Dark": "hsl(0, 0%, 17.9%)", + "gray6Dark": "hsl(0, 0%, 20.5%)", + "gray7Dark": "hsl(0, 0%, 24.3%)", + "gray8Dark": "hsl(0, 0%, 31.2%)", + "gray9Dark": "hsl(0, 0%, 43.9%)", + "gray10Dark": "hsl(0, 0%, 49.4%)", + "gray11Dark": "hsl(0, 0%, 62.8%)", + "gray12Dark": "hsl(0, 0%, 93.0%)", + "green1Dark": "hsl(146, 30.0%, 7.4%)", + "green2Dark": "hsl(155, 44.2%, 8.4%)", + "green3Dark": "hsl(155, 46.7%, 10.9%)", + "green4Dark": "hsl(154, 48.4%, 12.9%)", + "green5Dark": "hsl(154, 49.7%, 14.9%)", + "green6Dark": "hsl(154, 50.9%, 17.6%)", + "green7Dark": "hsl(153, 51.8%, 21.8%)", + "green8Dark": "hsl(151, 51.7%, 28.4%)", + "green9Dark": "hsl(151, 55.0%, 41.5%)", + "green10Dark": "hsl(151, 49.3%, 46.5%)", + "green11Dark": "hsl(151, 50.0%, 53.2%)", + "green12Dark": "hsl(137, 72.0%, 94.0%)", + "orange1Dark": "hsl(30, 70.0%, 7.2%)", + "orange2Dark": "hsl(28, 100%, 8.4%)", + "orange3Dark": "hsl(26, 91.1%, 11.6%)", + "orange4Dark": "hsl(25, 88.3%, 14.1%)", + "orange5Dark": "hsl(24, 87.6%, 16.6%)", + "orange6Dark": "hsl(24, 88.6%, 19.8%)", + "orange7Dark": "hsl(24, 92.4%, 24.0%)", + "orange8Dark": "hsl(25, 100%, 29.0%)", + "orange9Dark": "hsl(24, 94.0%, 50.0%)", + "orange10Dark": "hsl(24, 100%, 58.5%)", + "orange11Dark": "hsl(24, 100%, 62.2%)", + "orange12Dark": "hsl(24, 97.0%, 93.2%)", + "pink1Dark": "hsl(318, 25.0%, 9.6%)", + "pink2Dark": "hsl(319, 32.2%, 11.6%)", + "pink3Dark": "hsl(319, 41.0%, 16.0%)", + "pink4Dark": "hsl(320, 45.4%, 18.7%)", + "pink5Dark": "hsl(320, 49.0%, 21.1%)", + "pink6Dark": "hsl(321, 53.6%, 24.4%)", + "pink7Dark": "hsl(321, 61.1%, 29.7%)", + "pink8Dark": "hsl(322, 74.9%, 37.5%)", + "pink9Dark": "hsl(322, 65.0%, 54.5%)", + "pink10Dark": "hsl(323, 72.8%, 59.2%)", + "pink11Dark": "hsl(325, 90.0%, 66.4%)", + "pink12Dark": "hsl(322, 90.0%, 95.8%)", + "purple1Dark": "hsl(284, 20.0%, 9.6%)", + "purple2Dark": "hsl(283, 30.0%, 11.8%)", + "purple3Dark": "hsl(281, 37.5%, 16.5%)", + "purple4Dark": "hsl(280, 41.2%, 20.0%)", + "purple5Dark": "hsl(279, 43.8%, 23.3%)", + "purple6Dark": "hsl(277, 46.4%, 27.5%)", + "purple7Dark": "hsl(275, 49.3%, 34.6%)", + "purple8Dark": "hsl(272, 52.1%, 45.9%)", + "purple9Dark": "hsl(272, 51.0%, 54.0%)", + "purple10Dark": "hsl(273, 57.3%, 59.1%)", + "purple11Dark": "hsl(275, 80.0%, 71.0%)", + "purple12Dark": "hsl(279, 75.0%, 95.7%)", + "red1Dark": "hsl(353, 23.0%, 9.8%)", + "red2Dark": "hsl(357, 34.4%, 12.0%)", + "red3Dark": "hsl(356, 43.4%, 16.4%)", + "red4Dark": "hsl(356, 47.6%, 19.2%)", + "red5Dark": "hsl(356, 51.1%, 21.9%)", + "red6Dark": "hsl(356, 55.2%, 25.9%)", + "red7Dark": "hsl(357, 60.2%, 31.8%)", + "red8Dark": "hsl(358, 65.0%, 40.4%)", + "red9Dark": "hsl(358, 75.0%, 59.0%)", + "red10Dark": "hsl(358, 85.3%, 64.0%)", + "red11Dark": "hsl(358, 100%, 69.5%)", + "red12Dark": "hsl(351, 89.0%, 96.0%)", + "yellow1Dark": "hsl(45, 100%, 5.5%)", + "yellow2Dark": "hsl(46, 100%, 6.7%)", + "yellow3Dark": "hsl(45, 100%, 8.7%)", + "yellow4Dark": "hsl(45, 100%, 10.4%)", + "yellow5Dark": "hsl(47, 100%, 12.1%)", + "yellow6Dark": "hsl(49, 100%, 14.3%)", + "yellow7Dark": "hsl(49, 90.3%, 18.4%)", + "yellow8Dark": "hsl(50, 100%, 22.0%)", + "yellow9Dark": "hsl(53, 92.0%, 50.0%)", + "yellow10Dark": "hsl(54, 100%, 68.0%)", + "yellow11Dark": "hsl(48, 100%, 47.0%)", + "yellow12Dark": "hsl(53, 100%, 91.0%)", + "primary": "var(--guest-primary, #FF5A5F)", + "accent": "var(--guest-secondary, #F43F5E)", + "accentSoft": "#E0E7FF", + "success": "#10B981", + "warning": "#F59E0B", + "danger": "#EF4444", + "surface": "var(--guest-surface, #FFFFFF)", + "muted": "var(--muted, #F8FAFC)", + "border": "#E2E8F0", + "text": "#0F172A", + "color1": "#fff", + "color2": "#f8f8f8", + "color3": "hsl(0, 0%, 96.3%)", + "color4": "hsl(0, 0%, 94.1%)", + "color5": "hsl(0, 0%, 92.0%)", + "color6": "hsl(0, 0%, 90.0%)", + "color7": "hsl(0, 0%, 88.5%)", + "color8": "hsl(0, 0%, 81.0%)", + "color9": "hsl(0, 0%, 56.1%)", + "color10": "hsl(0, 0%, 50.3%)", + "color11": "hsl(0, 0%, 42.5%)", + "color12": "hsl(0, 0%, 9.0%)", + "background": "var(--guest-background, #FFF8F5)", + "backgroundHover": "#F1E7E2", + "backgroundPress": "#EBDCD6", + "backgroundFocus": "hsl(0, 0%, 92.0%)", + "backgroundStrong": "var(--guest-surface, #FFFFFF)", + "backgroundTransparent": "rgba(255, 248, 245, 0)", + "color": "var(--foreground, #0F172A)", + "colorHover": "var(--foreground, #0F172A)", + "colorPress": "var(--foreground, #0F172A)", + "colorFocus": "var(--foreground, #0F172A)", + "colorTransparent": "rgba(10,10,10,0)", + "borderColor": "var(--border, #E2E8F0)", + "borderColorHover": "#CBD5E1", + "borderColorFocus": "hsl(0, 0%, 94.1%)", + "borderColorPress": "#94A3B8", + "placeholderColor": "hsl(0, 0%, 56.1%)", + "blue1": "hsl(206, 100%, 99.2%)", + "blue2": "hsl(210, 100%, 98.0%)", + "blue3": "var(--guest-secondary, #F43F5E)", + "blue4": "hsl(210, 98.8%, 94.0%)", + "blue5": "hsl(209, 95.0%, 90.1%)", + "blue6": "var(--guest-secondary, #F43F5E)", + "blue7": "hsl(208, 77.5%, 76.9%)", + "blue8": "hsl(206, 81.9%, 65.3%)", + "blue9": "hsl(206, 100%, 50.0%)", + "blue10": "var(--guest-primary, #FF5A5F)", + "blue11": "#4338CA", + "blue12": "hsl(211, 100%, 15.0%)", + "gray1": "hsl(0, 0%, 99.0%)", + "gray2": "hsl(0, 0%, 97.3%)", + "gray3": "hsl(0, 0%, 95.1%)", + "gray4": "hsl(0, 0%, 93.0%)", + "gray5": "hsl(0, 0%, 90.9%)", + "gray6": "hsl(0, 0%, 88.7%)", + "gray7": "hsl(0, 0%, 85.8%)", + "gray8": "hsl(0, 0%, 78.0%)", + "gray9": "hsl(0, 0%, 56.1%)", + "gray10": "hsl(0, 0%, 52.3%)", + "gray11": "hsl(0, 0%, 43.5%)", + "gray12": "hsl(0, 0%, 9.0%)", + "green1": "hsl(136, 50.0%, 98.9%)", + "green2": "hsl(138, 62.5%, 96.9%)", + "green3": "hsl(139, 55.2%, 94.5%)", + "green4": "hsl(140, 48.7%, 91.0%)", + "green5": "hsl(141, 43.7%, 86.0%)", + "green6": "hsl(143, 40.3%, 79.0%)", + "green7": "hsl(146, 38.5%, 69.0%)", + "green8": "hsl(151, 40.2%, 54.1%)", + "green9": "hsl(151, 55.0%, 41.5%)", + "green10": "hsl(152, 57.5%, 37.6%)", + "green11": "hsl(153, 67.0%, 28.5%)", + "green12": "hsl(155, 40.0%, 14.0%)", + "orange1": "hsl(24, 70.0%, 99.0%)", + "orange2": "hsl(24, 83.3%, 97.6%)", + "orange3": "hsl(24, 100%, 95.3%)", + "orange4": "hsl(25, 100%, 92.2%)", + "orange5": "hsl(25, 100%, 88.2%)", + "orange6": "hsl(25, 100%, 82.8%)", + "orange7": "hsl(24, 100%, 75.3%)", + "orange8": "hsl(24, 94.5%, 64.3%)", + "orange9": "hsl(24, 94.0%, 50.0%)", + "orange10": "hsl(24, 100%, 46.5%)", + "orange11": "hsl(24, 100%, 37.0%)", + "orange12": "hsl(15, 60.0%, 17.0%)", + "pink1": "hsl(322, 100%, 99.4%)", + "pink2": "hsl(323, 100%, 98.4%)", + "pink3": "hsl(323, 86.3%, 96.5%)", + "pink4": "hsl(323, 78.7%, 94.2%)", + "pink5": "hsl(323, 72.2%, 91.1%)", + "pink6": "hsl(323, 66.3%, 86.6%)", + "pink7": "hsl(323, 62.0%, 80.1%)", + "pink8": "hsl(323, 60.3%, 72.4%)", + "pink9": "hsl(322, 65.0%, 54.5%)", + "pink10": "hsl(322, 63.9%, 50.7%)", + "pink11": "hsl(322, 75.0%, 46.0%)", + "pink12": "hsl(320, 70.0%, 13.5%)", + "purple1": "hsl(280, 65.0%, 99.4%)", + "purple2": "hsl(276, 100%, 99.0%)", + "purple3": "hsl(276, 83.1%, 97.0%)", + "purple4": "hsl(275, 76.4%, 94.7%)", + "purple5": "hsl(275, 70.8%, 91.8%)", + "purple6": "hsl(274, 65.4%, 87.8%)", + "purple7": "hsl(273, 61.0%, 81.7%)", + "purple8": "hsl(272, 60.0%, 73.5%)", + "purple9": "hsl(272, 51.0%, 54.0%)", + "purple10": "hsl(272, 46.8%, 50.3%)", + "purple11": "hsl(272, 50.0%, 45.8%)", + "purple12": "hsl(272, 66.0%, 16.0%)", + "red1": "hsl(359, 100%, 99.4%)", + "red2": "hsl(359, 100%, 98.6%)", + "red3": "hsl(360, 100%, 96.8%)", + "red4": "hsl(360, 97.9%, 94.8%)", + "red5": "hsl(360, 90.2%, 91.9%)", + "red6": "hsl(360, 81.7%, 87.8%)", + "red7": "hsl(359, 74.2%, 81.7%)", + "red8": "hsl(359, 69.5%, 74.3%)", + "red9": "hsl(358, 75.0%, 59.0%)", + "red10": "hsl(358, 69.4%, 55.2%)", + "red11": "hsl(358, 65.0%, 48.7%)", + "red12": "hsl(354, 50.0%, 14.6%)", + "yellow1": "hsl(60, 54.0%, 98.5%)", + "yellow2": "hsl(52, 100%, 95.5%)", + "yellow3": "hsl(55, 100%, 90.9%)", + "yellow4": "hsl(54, 100%, 86.6%)", + "yellow5": "hsl(52, 97.9%, 82.0%)", + "yellow6": "hsl(50, 89.4%, 76.1%)", + "yellow7": "hsl(47, 80.4%, 68.0%)", + "yellow8": "hsl(48, 100%, 46.1%)", + "yellow9": "hsl(53, 92.0%, 50.0%)", + "yellow10": "hsl(50, 100%, 48.5%)", + "yellow11": "hsl(42, 100%, 29.0%)", + "yellow12": "hsl(40, 55.0%, 13.5%)", + "shadowColor": "rgba(15, 23, 42, 0.08)", + "shadowColorHover": "rgba(0,0,0,0.085)", + "shadowColorPress": "rgba(15, 23, 42, 0.12)", + "shadowColorFocus": "rgba(15, 23, 42, 0.12)", + "id": "guestLight" + }, + "guestNight": { + "blue1Light": "hsl(206, 100%, 99.2%)", + "blue2Light": "hsl(210, 100%, 98.0%)", + "blue3Light": "hsl(209, 100%, 96.5%)", + "blue4Light": "hsl(210, 98.8%, 94.0%)", + "blue5Light": "hsl(209, 95.0%, 90.1%)", + "blue6Light": "hsl(209, 81.2%, 84.5%)", + "blue7Light": "hsl(208, 77.5%, 76.9%)", + "blue8Light": "hsl(206, 81.9%, 65.3%)", + "blue9Light": "hsl(206, 100%, 50.0%)", + "blue10Light": "hsl(208, 100%, 47.3%)", + "blue11Light": "hsl(211, 100%, 43.2%)", + "blue12Light": "hsl(211, 100%, 15.0%)", + "gray1Light": "hsl(0, 0%, 99.0%)", + "gray2Light": "hsl(0, 0%, 97.3%)", + "gray3Light": "hsl(0, 0%, 95.1%)", + "gray4Light": "hsl(0, 0%, 93.0%)", + "gray5Light": "hsl(0, 0%, 90.9%)", + "gray6Light": "hsl(0, 0%, 88.7%)", + "gray7Light": "hsl(0, 0%, 85.8%)", + "gray8Light": "hsl(0, 0%, 78.0%)", + "gray9Light": "hsl(0, 0%, 56.1%)", + "gray10Light": "hsl(0, 0%, 52.3%)", + "gray11Light": "hsl(0, 0%, 43.5%)", + "gray12Light": "hsl(0, 0%, 9.0%)", + "green1Light": "hsl(136, 50.0%, 98.9%)", + "green2Light": "hsl(138, 62.5%, 96.9%)", + "green3Light": "hsl(139, 55.2%, 94.5%)", + "green4Light": "hsl(140, 48.7%, 91.0%)", + "green5Light": "hsl(141, 43.7%, 86.0%)", + "green6Light": "hsl(143, 40.3%, 79.0%)", + "green7Light": "hsl(146, 38.5%, 69.0%)", + "green8Light": "hsl(151, 40.2%, 54.1%)", + "green9Light": "hsl(151, 55.0%, 41.5%)", + "green10Light": "hsl(152, 57.5%, 37.6%)", + "green11Light": "hsl(153, 67.0%, 28.5%)", + "green12Light": "hsl(155, 40.0%, 14.0%)", + "orange1Light": "hsl(24, 70.0%, 99.0%)", + "orange2Light": "hsl(24, 83.3%, 97.6%)", + "orange3Light": "hsl(24, 100%, 95.3%)", + "orange4Light": "hsl(25, 100%, 92.2%)", + "orange5Light": "hsl(25, 100%, 88.2%)", + "orange6Light": "hsl(25, 100%, 82.8%)", + "orange7Light": "hsl(24, 100%, 75.3%)", + "orange8Light": "hsl(24, 94.5%, 64.3%)", + "orange9Light": "hsl(24, 94.0%, 50.0%)", + "orange10Light": "hsl(24, 100%, 46.5%)", + "orange11Light": "hsl(24, 100%, 37.0%)", + "orange12Light": "hsl(15, 60.0%, 17.0%)", + "pink1Light": "hsl(322, 100%, 99.4%)", + "pink2Light": "hsl(323, 100%, 98.4%)", + "pink3Light": "hsl(323, 86.3%, 96.5%)", + "pink4Light": "hsl(323, 78.7%, 94.2%)", + "pink5Light": "hsl(323, 72.2%, 91.1%)", + "pink6Light": "hsl(323, 66.3%, 86.6%)", + "pink7Light": "hsl(323, 62.0%, 80.1%)", + "pink8Light": "hsl(323, 60.3%, 72.4%)", + "pink9Light": "hsl(322, 65.0%, 54.5%)", + "pink10Light": "hsl(322, 63.9%, 50.7%)", + "pink11Light": "hsl(322, 75.0%, 46.0%)", + "pink12Light": "hsl(320, 70.0%, 13.5%)", + "purple1Light": "hsl(280, 65.0%, 99.4%)", + "purple2Light": "hsl(276, 100%, 99.0%)", + "purple3Light": "hsl(276, 83.1%, 97.0%)", + "purple4Light": "hsl(275, 76.4%, 94.7%)", + "purple5Light": "hsl(275, 70.8%, 91.8%)", + "purple6Light": "hsl(274, 65.4%, 87.8%)", + "purple7Light": "hsl(273, 61.0%, 81.7%)", + "purple8Light": "hsl(272, 60.0%, 73.5%)", + "purple9Light": "hsl(272, 51.0%, 54.0%)", + "purple10Light": "hsl(272, 46.8%, 50.3%)", + "purple11Light": "hsl(272, 50.0%, 45.8%)", + "purple12Light": "hsl(272, 66.0%, 16.0%)", + "red1Light": "hsl(359, 100%, 99.4%)", + "red2Light": "hsl(359, 100%, 98.6%)", + "red3Light": "hsl(360, 100%, 96.8%)", + "red4Light": "hsl(360, 97.9%, 94.8%)", + "red5Light": "hsl(360, 90.2%, 91.9%)", + "red6Light": "hsl(360, 81.7%, 87.8%)", + "red7Light": "hsl(359, 74.2%, 81.7%)", + "red8Light": "hsl(359, 69.5%, 74.3%)", + "red9Light": "hsl(358, 75.0%, 59.0%)", + "red10Light": "hsl(358, 69.4%, 55.2%)", + "red11Light": "hsl(358, 65.0%, 48.7%)", + "red12Light": "hsl(354, 50.0%, 14.6%)", + "yellow1Light": "hsl(60, 54.0%, 98.5%)", + "yellow2Light": "hsl(52, 100%, 95.5%)", + "yellow3Light": "hsl(55, 100%, 90.9%)", + "yellow4Light": "hsl(54, 100%, 86.6%)", + "yellow5Light": "hsl(52, 97.9%, 82.0%)", + "yellow6Light": "hsl(50, 89.4%, 76.1%)", + "yellow7Light": "hsl(47, 80.4%, 68.0%)", + "yellow8Light": "hsl(48, 100%, 46.1%)", + "yellow9Light": "hsl(53, 92.0%, 50.0%)", + "yellow10Light": "hsl(50, 100%, 48.5%)", + "yellow11Light": "hsl(42, 100%, 29.0%)", + "yellow12Light": "hsl(40, 55.0%, 13.5%)", + "blue1Dark": "hsl(212, 35.0%, 9.2%)", + "blue2Dark": "hsl(216, 50.0%, 11.8%)", + "blue3Dark": "hsl(214, 59.4%, 15.3%)", + "blue4Dark": "hsl(214, 65.8%, 17.9%)", + "blue5Dark": "hsl(213, 71.2%, 20.2%)", + "blue6Dark": "hsl(212, 77.4%, 23.1%)", + "blue7Dark": "hsl(211, 85.1%, 27.4%)", + "blue8Dark": "hsl(211, 89.7%, 34.1%)", + "blue9Dark": "hsl(206, 100%, 50.0%)", + "blue10Dark": "hsl(209, 100%, 60.6%)", + "blue11Dark": "hsl(210, 100%, 66.1%)", + "blue12Dark": "hsl(206, 98.0%, 95.8%)", + "gray1Dark": "hsl(0, 0%, 8.5%)", + "gray2Dark": "hsl(0, 0%, 11.0%)", + "gray3Dark": "hsl(0, 0%, 13.6%)", + "gray4Dark": "hsl(0, 0%, 15.8%)", + "gray5Dark": "hsl(0, 0%, 17.9%)", + "gray6Dark": "hsl(0, 0%, 20.5%)", + "gray7Dark": "hsl(0, 0%, 24.3%)", + "gray8Dark": "hsl(0, 0%, 31.2%)", + "gray9Dark": "hsl(0, 0%, 43.9%)", + "gray10Dark": "hsl(0, 0%, 49.4%)", + "gray11Dark": "hsl(0, 0%, 62.8%)", + "gray12Dark": "hsl(0, 0%, 93.0%)", + "green1Dark": "hsl(146, 30.0%, 7.4%)", + "green2Dark": "hsl(155, 44.2%, 8.4%)", + "green3Dark": "hsl(155, 46.7%, 10.9%)", + "green4Dark": "hsl(154, 48.4%, 12.9%)", + "green5Dark": "hsl(154, 49.7%, 14.9%)", + "green6Dark": "hsl(154, 50.9%, 17.6%)", + "green7Dark": "hsl(153, 51.8%, 21.8%)", + "green8Dark": "hsl(151, 51.7%, 28.4%)", + "green9Dark": "hsl(151, 55.0%, 41.5%)", + "green10Dark": "hsl(151, 49.3%, 46.5%)", + "green11Dark": "hsl(151, 50.0%, 53.2%)", + "green12Dark": "hsl(137, 72.0%, 94.0%)", + "orange1Dark": "hsl(30, 70.0%, 7.2%)", + "orange2Dark": "hsl(28, 100%, 8.4%)", + "orange3Dark": "hsl(26, 91.1%, 11.6%)", + "orange4Dark": "hsl(25, 88.3%, 14.1%)", + "orange5Dark": "hsl(24, 87.6%, 16.6%)", + "orange6Dark": "hsl(24, 88.6%, 19.8%)", + "orange7Dark": "hsl(24, 92.4%, 24.0%)", + "orange8Dark": "hsl(25, 100%, 29.0%)", + "orange9Dark": "hsl(24, 94.0%, 50.0%)", + "orange10Dark": "hsl(24, 100%, 58.5%)", + "orange11Dark": "hsl(24, 100%, 62.2%)", + "orange12Dark": "hsl(24, 97.0%, 93.2%)", + "pink1Dark": "hsl(318, 25.0%, 9.6%)", + "pink2Dark": "hsl(319, 32.2%, 11.6%)", + "pink3Dark": "hsl(319, 41.0%, 16.0%)", + "pink4Dark": "hsl(320, 45.4%, 18.7%)", + "pink5Dark": "hsl(320, 49.0%, 21.1%)", + "pink6Dark": "hsl(321, 53.6%, 24.4%)", + "pink7Dark": "hsl(321, 61.1%, 29.7%)", + "pink8Dark": "hsl(322, 74.9%, 37.5%)", + "pink9Dark": "hsl(322, 65.0%, 54.5%)", + "pink10Dark": "hsl(323, 72.8%, 59.2%)", + "pink11Dark": "hsl(325, 90.0%, 66.4%)", + "pink12Dark": "hsl(322, 90.0%, 95.8%)", + "purple1Dark": "hsl(284, 20.0%, 9.6%)", + "purple2Dark": "hsl(283, 30.0%, 11.8%)", + "purple3Dark": "hsl(281, 37.5%, 16.5%)", + "purple4Dark": "hsl(280, 41.2%, 20.0%)", + "purple5Dark": "hsl(279, 43.8%, 23.3%)", + "purple6Dark": "hsl(277, 46.4%, 27.5%)", + "purple7Dark": "hsl(275, 49.3%, 34.6%)", + "purple8Dark": "hsl(272, 52.1%, 45.9%)", + "purple9Dark": "hsl(272, 51.0%, 54.0%)", + "purple10Dark": "hsl(273, 57.3%, 59.1%)", + "purple11Dark": "hsl(275, 80.0%, 71.0%)", + "purple12Dark": "hsl(279, 75.0%, 95.7%)", + "red1Dark": "hsl(353, 23.0%, 9.8%)", + "red2Dark": "hsl(357, 34.4%, 12.0%)", + "red3Dark": "hsl(356, 43.4%, 16.4%)", + "red4Dark": "hsl(356, 47.6%, 19.2%)", + "red5Dark": "hsl(356, 51.1%, 21.9%)", + "red6Dark": "hsl(356, 55.2%, 25.9%)", + "red7Dark": "hsl(357, 60.2%, 31.8%)", + "red8Dark": "hsl(358, 65.0%, 40.4%)", + "red9Dark": "hsl(358, 75.0%, 59.0%)", + "red10Dark": "hsl(358, 85.3%, 64.0%)", + "red11Dark": "hsl(358, 100%, 69.5%)", + "red12Dark": "hsl(351, 89.0%, 96.0%)", + "yellow1Dark": "hsl(45, 100%, 5.5%)", + "yellow2Dark": "hsl(46, 100%, 6.7%)", + "yellow3Dark": "hsl(45, 100%, 8.7%)", + "yellow4Dark": "hsl(45, 100%, 10.4%)", + "yellow5Dark": "hsl(47, 100%, 12.1%)", + "yellow6Dark": "hsl(49, 100%, 14.3%)", + "yellow7Dark": "hsl(49, 90.3%, 18.4%)", + "yellow8Dark": "hsl(50, 100%, 22.0%)", + "yellow9Dark": "hsl(53, 92.0%, 50.0%)", + "yellow10Dark": "hsl(54, 100%, 68.0%)", + "yellow11Dark": "hsl(48, 100%, 47.0%)", + "yellow12Dark": "hsl(53, 100%, 91.0%)", + "primary": "var(--guest-primary, #FF4FD8)", + "accent": "var(--guest-secondary, #4FD1FF)", + "accentSoft": "rgba(79, 209, 255, 0.18)", + "success": "#10B981", + "warning": "#F59E0B", + "danger": "#EF4444", + "surface": "var(--guest-surface, #131B33)", + "muted": "#0F152B", + "border": "#E2E8F0", + "text": "#0F172A", + "color1": "#050505", + "color2": "#151515", + "color3": "#191919", + "color4": "#232323", + "color5": "#282828", + "color6": "#323232", + "color7": "#424242", + "color8": "#494949", + "color9": "#545454", + "color10": "#626262", + "color11": "#a5a5a5", + "color12": "#fff", + "background": "var(--guest-background, #0A0F1F)", + "backgroundHover": "#10172A", + "backgroundPress": "#0D1324", + "backgroundFocus": "#282828", + "backgroundStrong": "var(--guest-surface, #121A32)", + "backgroundTransparent": "rgba(10, 15, 31, 0)", + "color": "#F8FAFF", + "colorHover": "#FFFFFF", + "colorPress": "#E8EEFF", + "colorFocus": "#FFFFFF", + "colorTransparent": "rgba(255,255,255,0)", + "borderColor": "rgba(255, 255, 255, 0.08)", + "borderColorHover": "rgba(255, 255, 255, 0.16)", + "borderColorFocus": "#232323", + "borderColorPress": "rgba(255, 255, 255, 0.22)", + "placeholderColor": "#545454", + "blue1": "hsl(212, 35.0%, 9.2%)", + "blue2": "hsl(216, 50.0%, 11.8%)", + "blue3": "rgba(79, 209, 255, 0.15)", + "blue4": "hsl(214, 65.8%, 17.9%)", + "blue5": "hsl(213, 71.2%, 20.2%)", + "blue6": "var(--guest-secondary, #4FD1FF)", + "blue7": "hsl(211, 85.1%, 27.4%)", + "blue8": "hsl(211, 89.7%, 34.1%)", + "blue9": "hsl(206, 100%, 50.0%)", + "blue10": "var(--guest-primary, #FF4FD8)", + "blue11": "#F9A8D4", + "blue12": "hsl(206, 98.0%, 95.8%)", + "gray1": "hsl(0, 0%, 8.5%)", + "gray2": "hsl(0, 0%, 11.0%)", + "gray3": "hsl(0, 0%, 13.6%)", + "gray4": "hsl(0, 0%, 15.8%)", + "gray5": "hsl(0, 0%, 17.9%)", + "gray6": "hsl(0, 0%, 20.5%)", + "gray7": "hsl(0, 0%, 24.3%)", + "gray8": "hsl(0, 0%, 31.2%)", + "gray9": "hsl(0, 0%, 43.9%)", + "gray10": "hsl(0, 0%, 49.4%)", + "gray11": "hsl(0, 0%, 62.8%)", + "gray12": "hsl(0, 0%, 93.0%)", + "green1": "hsl(146, 30.0%, 7.4%)", + "green2": "hsl(155, 44.2%, 8.4%)", + "green3": "hsl(155, 46.7%, 10.9%)", + "green4": "hsl(154, 48.4%, 12.9%)", + "green5": "hsl(154, 49.7%, 14.9%)", + "green6": "hsl(154, 50.9%, 17.6%)", + "green7": "hsl(153, 51.8%, 21.8%)", + "green8": "hsl(151, 51.7%, 28.4%)", + "green9": "hsl(151, 55.0%, 41.5%)", + "green10": "hsl(151, 49.3%, 46.5%)", + "green11": "hsl(151, 50.0%, 53.2%)", + "green12": "hsl(137, 72.0%, 94.0%)", + "orange1": "hsl(30, 70.0%, 7.2%)", + "orange2": "hsl(28, 100%, 8.4%)", + "orange3": "hsl(26, 91.1%, 11.6%)", + "orange4": "hsl(25, 88.3%, 14.1%)", + "orange5": "hsl(24, 87.6%, 16.6%)", + "orange6": "hsl(24, 88.6%, 19.8%)", + "orange7": "hsl(24, 92.4%, 24.0%)", + "orange8": "hsl(25, 100%, 29.0%)", + "orange9": "hsl(24, 94.0%, 50.0%)", + "orange10": "hsl(24, 100%, 58.5%)", + "orange11": "hsl(24, 100%, 62.2%)", + "orange12": "hsl(24, 97.0%, 93.2%)", + "pink1": "hsl(318, 25.0%, 9.6%)", + "pink2": "hsl(319, 32.2%, 11.6%)", + "pink3": "hsl(319, 41.0%, 16.0%)", + "pink4": "hsl(320, 45.4%, 18.7%)", + "pink5": "hsl(320, 49.0%, 21.1%)", + "pink6": "hsl(321, 53.6%, 24.4%)", + "pink7": "hsl(321, 61.1%, 29.7%)", + "pink8": "hsl(322, 74.9%, 37.5%)", + "pink9": "hsl(322, 65.0%, 54.5%)", + "pink10": "hsl(323, 72.8%, 59.2%)", + "pink11": "hsl(325, 90.0%, 66.4%)", + "pink12": "hsl(322, 90.0%, 95.8%)", + "purple1": "hsl(284, 20.0%, 9.6%)", + "purple2": "hsl(283, 30.0%, 11.8%)", + "purple3": "hsl(281, 37.5%, 16.5%)", + "purple4": "hsl(280, 41.2%, 20.0%)", + "purple5": "hsl(279, 43.8%, 23.3%)", + "purple6": "hsl(277, 46.4%, 27.5%)", + "purple7": "hsl(275, 49.3%, 34.6%)", + "purple8": "hsl(272, 52.1%, 45.9%)", + "purple9": "hsl(272, 51.0%, 54.0%)", + "purple10": "hsl(273, 57.3%, 59.1%)", + "purple11": "hsl(275, 80.0%, 71.0%)", + "purple12": "hsl(279, 75.0%, 95.7%)", + "red1": "hsl(353, 23.0%, 9.8%)", + "red2": "hsl(357, 34.4%, 12.0%)", + "red3": "hsl(356, 43.4%, 16.4%)", + "red4": "hsl(356, 47.6%, 19.2%)", + "red5": "hsl(356, 51.1%, 21.9%)", + "red6": "hsl(356, 55.2%, 25.9%)", + "red7": "hsl(357, 60.2%, 31.8%)", + "red8": "hsl(358, 65.0%, 40.4%)", + "red9": "hsl(358, 75.0%, 59.0%)", + "red10": "hsl(358, 85.3%, 64.0%)", + "red11": "hsl(358, 100%, 69.5%)", + "red12": "hsl(351, 89.0%, 96.0%)", + "yellow1": "hsl(45, 100%, 5.5%)", + "yellow2": "hsl(46, 100%, 6.7%)", + "yellow3": "hsl(45, 100%, 8.7%)", + "yellow4": "hsl(45, 100%, 10.4%)", + "yellow5": "hsl(47, 100%, 12.1%)", + "yellow6": "hsl(49, 100%, 14.3%)", + "yellow7": "hsl(49, 90.3%, 18.4%)", + "yellow8": "hsl(50, 100%, 22.0%)", + "yellow9": "hsl(53, 92.0%, 50.0%)", + "yellow10": "hsl(54, 100%, 68.0%)", + "yellow11": "hsl(48, 100%, 47.0%)", + "yellow12": "hsl(53, 100%, 91.0%)", + "shadowColor": "rgba(2, 6, 23, 0.7)", + "shadowColorHover": "rgba(0,0,0,0.3)", + "shadowColorPress": "rgba(2, 6, 23, 0.8)", + "shadowColorFocus": "rgba(2, 6, 23, 0.8)", + "id": "guestNight" + }, "light": { "blue1Light": "hsl(206, 100%, 99.2%)", "blue2Light": "hsl(210, 100%, 98.0%)", @@ -477975,65 +503744,90 @@ }, "selectionStyles": "Function", "settings": { - "defaultFont": "body", - "onlyAllowShorthands": true, - "mediaQueryDefaultActive": { - "2xl": false, - "xl": false, - "lg": false, - "md": false, - "sm": false, - "xs": true, - "2xs": true - }, - "themeClassNameOnRoot": true, "webContainerType": "inline-size", + "mediaQueryDefaultActive": { + "pointerTouch": false, + "height-xxxs": true, + "height-xxs": true, + "height-xs": true, + "height-sm": false, + "height-md": false, + "height-lg": false, + "max-xxl": true, + "max-xl": true, + "max-lg": true, + "max-md": true, + "max-sm": true, + "max-xs": true, + "max-xxs": false, + "max-xxxs": false, + "xxxs": true, + "xxs": true, + "xs": true, + "sm": false, + "md": false, + "lg": false, + "xl": false, + "xxl": false + }, + "defaultFont": "body", "fastSchemeChange": true, "shouldAddPrefersColorThemes": true, "allowedStyleValues": "somewhat-strict-web", - "maxDarkLightNesting": 2 + "addThemeClassName": "html", + "onlyAllowShorthands": true, + "styleCompat": "react-native" }, "defaultFont": "body", - "unset": { - "fontFamily": "$body" + "defaultProps": { + "View": { + "position": "static" + }, + "Text": { + "fontFamily": "$body" + } }, "inverseShorthands": { - "flexDirection": "fd", - "flexBasis": "fb", "borderBottomLeftRadius": "bblr", "borderBottomRightRadius": "bbrr", - "flexWrap": "fw", - "color": "col", - "fontFamily": "ff", - "fontStyle": "fost", - "transform": "tr", - "textTransform": "tt", - "textDecorationLine": "td", - "verticalAlign": "va", - "whiteSpace": "ws", - "wordBreak": "wb", - "wordWrap": "ww", + "borderBottomStyle": "bbs", + "borderLeftStyle": "bls", "borderRightColor": "brc", + "borderRightStyle": "brs", "borderRightWidth": "brw", "borderStyle": "bs", "borderTopColor": "btc", "borderTopLeftRadius": "btlr", "borderTopRightRadius": "btrr", + "borderTopStyle": "bts", "borderTopWidth": "btw", "borderWidth": "bw", - "opacity": "o", - "cursor": "cur", - "pointerEvents": "pe", - "overflow": "ov", - "position": "pos", - "display": "dsp", - "flexShrink": "fs", - "letterSpacing": "ls", - "lineHeight": "lh", "boxSizing": "bxs", "boxShadow": "bxsh", + "color": "col", + "cursor": "cur", + "display": "dsp", + "flexBasis": "fb", + "flexDirection": "fd", + "fontFamily": "ff", + "flexShrink": "fs", + "fontStyle": "fost", + "flexWrap": "fwr", + "lineHeight": "lh", + "letterSpacing": "ls", + "opacity": "o", + "overflow": "ov", "overflowX": "ox", "overflowY": "oy", + "pointerEvents": "pe", + "position": "pos", + "textDecorationLine": "td", + "transform": "tr", + "textTransform": "tt", + "verticalAlign": "va", + "wordBreak": "wb", + "whiteSpace": "ws", + "wordWrap": "ww", "userSelect": "ussel", "fontSize": "fos", "fontWeight": "fow", @@ -478079,11 +503873,7 @@ "shadowOpacity": "shop", "top": "t", "width": "w", - "zIndex": "zi", - "borderLeftStyle": "bls", - "borderRightStyle": "brs", - "borderTopStyle": "bts", - "borderBottomStyle": "bbs" + "zIndex": "zi" }, "parsed": true, "getNewCSS": "Function", diff --git a/package-lock.json b/package-lock.json index 0e5ff85..5143fbc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,7 @@ "requires": true, "packages": { "": { + "name": "fotospiel-app", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/utilities": "^3.2.2", @@ -32,17 +33,18 @@ "@sentry/vite-plugin": "^4.6.2", "@stripe/stripe-js": "^8.6.1", "@tailwindcss/vite": "^4.1.18", - "@tamagui/button": "~1.144.2", - "@tamagui/config": "~1.144.2", - "@tamagui/font": "~1.144.2", - "@tamagui/group": "~1.144.2", - "@tamagui/list-item": "~1.144.2", - "@tamagui/radio-group": "~1.144.2", - "@tamagui/stacks": "~1.144.2", - "@tamagui/switch": "~1.144.2", - "@tamagui/text": "~1.144.2", - "@tamagui/themes": "~1.144.2", - "@tamagui/vite-plugin": "~1.144.2", + "@tamagui/animations-react-native": "^2.0.0-rc.0", + "@tamagui/button": "~2.0.0-rc.0", + "@tamagui/config": "~2.0.0-rc.0", + "@tamagui/font": "~2.0.0-rc.0", + "@tamagui/group": "~2.0.0-rc.0", + "@tamagui/list-item": "~2.0.0-rc.0", + "@tamagui/radio-group": "~2.0.0-rc.0", + "@tamagui/stacks": "~2.0.0-rc.0", + "@tamagui/switch": "~2.0.0-rc.0", + "@tamagui/text": "~2.0.0-rc.0", + "@tamagui/themes": "~2.0.0-rc.0", + "@tamagui/vite-plugin": "~2.0.0-rc.0", "@tanstack/react-query": "^5.90.19", "@types/react": "^19.2.8", "@types/react-dom": "^19.2.3", @@ -75,7 +77,7 @@ "tailwind-merge": "^3.4.0", "tailwindcss": "^4.0.0", "tailwindcss-animate": "^1.0.7", - "tamagui": "^1.144.2", + "tamagui": "^2.0.0-rc.0", "typescript": "^5.9.3", "vite": "^7.3.1" }, @@ -83,7 +85,7 @@ "@eslint/js": "^9.19.0", "@laravel/vite-plugin-wayfinder": "^0.1.7", "@playwright/test": "^1.57.0", - "@tamagui/cli": "^1.144.2", + "@tamagui/cli": "^2.0.0-rc.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.1", "@testing-library/user-event": "^14.6.1", @@ -2452,23 +2454,6 @@ "@noble/ciphers": "^1.0.0" } }, - "node_modules/@emotion/is-prop-valid": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", - "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", - "license": "MIT", - "optional": true, - "dependencies": { - "@emotion/memoize": "0.7.4" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", - "license": "MIT", - "optional": true - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", @@ -3043,21 +3028,21 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", - "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", + "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", "license": "MIT", "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", - "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", + "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.3", + "@floating-ui/core": "^1.7.4", "@floating-ui/utils": "^0.2.10" } }, @@ -3077,12 +3062,12 @@ } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz", - "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.7.tgz", + "integrity": "sha512-0tLRojf/1Go2JgEVm+3Frg9A3IW8bJgKgdO0BN5RkF//ufuz2joZM63Npau2ff3J6lUVYgDSNzNkR+aH3IVfjg==", "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.7.4" + "@floating-ui/dom": "^1.7.5" }, "peerDependencies": { "react": ">=16.8.0", @@ -4109,70 +4094,6 @@ "node": ">= 0.6" } }, - "node_modules/@motionone/animation": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.18.0.tgz", - "integrity": "sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==", - "license": "MIT", - "dependencies": { - "@motionone/easing": "^10.18.0", - "@motionone/types": "^10.17.1", - "@motionone/utils": "^10.18.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/dom": { - "version": "10.12.0", - "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.12.0.tgz", - "integrity": "sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==", - "license": "MIT", - "dependencies": { - "@motionone/animation": "^10.12.0", - "@motionone/generators": "^10.12.0", - "@motionone/types": "^10.12.0", - "@motionone/utils": "^10.12.0", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/easing": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.18.0.tgz", - "integrity": "sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==", - "license": "MIT", - "dependencies": { - "@motionone/utils": "^10.18.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/generators": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.18.0.tgz", - "integrity": "sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==", - "license": "MIT", - "dependencies": { - "@motionone/types": "^10.17.1", - "@motionone/utils": "^10.18.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@motionone/types": { - "version": "10.17.1", - "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.1.tgz", - "integrity": "sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==", - "license": "MIT" - }, - "node_modules/@motionone/utils": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.18.0.tgz", - "integrity": "sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==", - "license": "MIT", - "dependencies": { - "@motionone/types": "^10.17.1", - "hey-listen": "^1.0.8", - "tslib": "^2.3.1" - } - }, "node_modules/@mswjs/interceptors": { "version": "0.40.0", "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.40.0.tgz", @@ -7459,63 +7380,63 @@ } }, "node_modules/@tamagui/accordion": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/accordion/-/accordion-1.144.2.tgz", - "integrity": "sha512-tMQmYL4FlJtfBUKGE2UvJzdgDAfl/kzTc0owUiP0NveTm2WVZzvKFta969EtifJG2II1nPR+Oc5oHyLBRAR3aQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/accordion/-/accordion-2.0.0-rc.0.tgz", + "integrity": "sha512-SWmIDryJgDz5dfwd2EALh3yGSeHkB+vx5mNJZFsFWuBhfu27s9Pizglph0hN8y1Sb1nFpskUUxFifQNOkNwcNw==", "dependencies": { - "@tamagui/collapsible": "1.144.2", - "@tamagui/collection": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/polyfill-dev": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/text": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-direction": "1.144.2" + "@tamagui/collapsible": "2.0.0-rc.0", + "@tamagui/collection": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/polyfill-dev": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-direction": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/adapt": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/adapt/-/adapt-1.144.2.tgz", - "integrity": "sha512-fUxYphZGSQ4jILRWUCz9ylHxoH61jQvsYL2jqTb3FvFd61gvnRznInoMW4rXvyP0hDqCv0rMDQ4wHysSSCV1tQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/adapt/-/adapt-2.0.0-rc.0.tgz", + "integrity": "sha512-pcwXP+YmZR9pz8zUFPn6uuq3P/2UVvcpUp8jUrX/sh5Vyg9ECVfPSE+W5Xu/IgSMb/1hnAAcU0E3jk9IBXfOFA==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/portal": "1.144.2", - "@tamagui/z-index-stack": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/portal": "2.0.0-rc.0", + "@tamagui/z-index-stack": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/alert-dialog": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/alert-dialog/-/alert-dialog-1.144.2.tgz", - "integrity": "sha512-GxQ5Rv8J0s7NYfUpk++F6krt6Ef/iTiSawtfldORnDwwxrIQ9hYcGNUPVnQYhIUHbw6qnEYW+e9Go33Sih1gsg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/alert-dialog/-/alert-dialog-2.0.0-rc.0.tgz", + "integrity": "sha512-2glPXdjUWNjWNp3L+stXS9WpEYyRtKQIyR+GyILv3Cg6wuvR7IW2mXBDpgQqwQoQ2jUtz815RE3c+g9mJ8CkJg==", "dependencies": { - "@tamagui/animate-presence": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/dialog": "1.144.2", - "@tamagui/dismissable": "1.144.2", - "@tamagui/focus-scope": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/polyfill-dev": "1.144.2", - "@tamagui/popper": "1.144.2", - "@tamagui/portal": "1.144.2", - "@tamagui/remove-scroll": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/text": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2" + "@tamagui/animate-presence": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/dialog": "2.0.0-rc.0", + "@tamagui/dismissable": "2.0.0-rc.0", + "@tamagui/focus-scope": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/polyfill-dev": "2.0.0-rc.0", + "@tamagui/popper": "2.0.0-rc.0", + "@tamagui/portal": "2.0.0-rc.0", + "@tamagui/remove-scroll": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -7523,44 +7444,51 @@ } }, "node_modules/@tamagui/animate": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/animate/-/animate-1.144.2.tgz", - "integrity": "sha512-a4PYtw8Nh5X7ht24Z8bCAQTOcs/KN9//rDtFlEsH4hL5tA8VaPsbim6Ix+5phAE9kUkvv4uZS27JoEu2+4wHEw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/animate/-/animate-2.0.0-rc.0.tgz", + "integrity": "sha512-/cRIMfUgjjwcdMhSY34WN8s40gy6nJLoWBIHmCiv3XRAdpdeJs3jxQXSk2YRp1hQbzM7ENZFu4UC4+y/XejEYw==", "license": "MIT", "dependencies": { - "@tamagui/animate-presence": "1.144.2" + "@tamagui/animate-presence": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/animate-presence": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/animate-presence/-/animate-presence-1.144.2.tgz", - "integrity": "sha512-wvXrJul9jVXr9Qz72gATOv7b8VFZ9RqIB79O0Spi4dVqRXyMO19pSIRhMvxxxjpIlkClXdvXYGIsKqiq9EXptw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/animate-presence/-/animate-presence-2.0.0-rc.0.tgz", + "integrity": "sha512-rTLYHXfESWbIG4ywC7okQIuVLDUcVEVUar4QBesC/t8X0+40gb6JajAHDur49Z+JYDOtQHtzMG4JfJlNXkDPjw==", "license": "MIT", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/use-constant": "1.144.2", - "@tamagui/use-force-update": "1.144.2", - "@tamagui/use-presence": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/use-constant": "2.0.0-rc.0", + "@tamagui/use-force-update": "2.0.0-rc.0", + "@tamagui/use-presence": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, + "node_modules/@tamagui/animation-helpers": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/animation-helpers/-/animation-helpers-2.0.0-rc.0.tgz", + "integrity": "sha512-oNmghu2UvwUPiaB8ZmrrOjhZL8IkievUOHN8W4NdJmYSoj3mSOQFl4DjIsMP2MTudthZFuVJs2eeTpH2R9pVAQ==", + "license": "MIT" + }, "node_modules/@tamagui/animations-css": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/animations-css/-/animations-css-1.144.2.tgz", - "integrity": "sha512-LQHEByTufaQ40scoXLJngsRi9ardKzI8yMwC5nnOuRvg84vl9w/roVEzSHWYebMAnwshVmBC4nTf2zQLuLNGPw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/animations-css/-/animations-css-2.0.0-rc.0.tgz", + "integrity": "sha512-539iFimInYL0sSqNc46O4NYrHWX5neRyQxslw+hb+mQ3ZTdFDQ4exD92sngoMrscMNIzAjne6RW6i+F5QwZRXg==", "license": "MIT", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/cubic-bezier-animator": "1.144.2", - "@tamagui/use-presence": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/animation-helpers": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/cubic-bezier-animator": "2.0.0-rc.0", + "@tamagui/use-presence": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -7568,47 +7496,78 @@ } }, "node_modules/@tamagui/animations-moti": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/animations-moti/-/animations-moti-1.144.2.tgz", - "integrity": "sha512-fM+ms2rrOIaNzPJAhY+C6tCk9SSDkIOFqPA+G+gZEI/qObG8nAwxWKjLXLcG0yfctnMz+cRW6UIYNBDokMfX8A==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/animations-moti/-/animations-moti-2.0.0-rc.0.tgz", + "integrity": "sha512-WrmhGKLZ9ISp35O+iC+4zGuP7VPGN2dEsJbxHSKatzie+iQL+NAOHThTqSJBI62tHh89ww/6b94Gj+yLpnqHKA==", "license": "MIT", "dependencies": { - "@tamagui/core": "1.144.2", - "@tamagui/use-presence": "1.144.2", - "moti": "^0.30.0" + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/use-presence": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", "react-native": "*" } }, + "node_modules/@tamagui/animations-motion": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/animations-motion/-/animations-motion-2.0.0-rc.0.tgz", + "integrity": "sha512-BNWPo4rgLSzZFW57uCUG9Cxfp3NX4H1kyvTxb8Qn6Uj+WTJkvDxe1lsQYwpwpgVAxTJqQxxaRFBbQZUUKb6T0g==", + "license": "MIT", + "dependencies": { + "@tamagui/animation-helpers": "2.0.0-rc.0", + "@tamagui/use-presence": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0", + "motion": "^12.29.0" + }, + "peerDependencies": { + "react": "*" + } + }, "node_modules/@tamagui/animations-react-native": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/animations-react-native/-/animations-react-native-1.144.2.tgz", - "integrity": "sha512-/nNH7/3B2FjXlD8I2GOfL/P0ztLP/85W202hl0jG6/Ky2+Xy2ia5h5AtpXDr+Cg4noyuMsNgJvldsqZqI31LQg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/animations-react-native/-/animations-react-native-2.0.0-rc.0.tgz", + "integrity": "sha512-9orHqHXtGdJs5CWL+sxbSS6uy3xbFDdlCp2w3FjLoaUIBJNxG7HLCoko1hKU/ajwses1E+qMPGuqJBTkj9qx1Q==", "license": "MIT", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/use-presence": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/animation-helpers": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/use-presence": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", "react-native": "*" } }, - "node_modules/@tamagui/avatar": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/avatar/-/avatar-1.144.2.tgz", - "integrity": "sha512-LvzShsYcJBqfvUMAQKATWSOq2WDbHF+DIxm6U7E7plt1bH71rk/PXTuXOP0yK0TRKf2wVyFYbwIDGY4c9qjBaA==", + "node_modules/@tamagui/animations-reanimated": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/animations-reanimated/-/animations-reanimated-2.0.0-rc.0.tgz", + "integrity": "sha512-fQRdBeJjXPRCnOtIYm1jfeM0It1k5J0++zVLczdbtQ8YFtOz3uNZfCPcRWflZHsZ8RYSFd89m4HLyBIaRdgA0A==", + "license": "MIT", "dependencies": { - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/image": "1.144.2", - "@tamagui/shapes": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/text": "1.144.2" + "@tamagui/animation-helpers": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/use-presence": "2.0.0-rc.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-reanimated": ">=3.0.0" + } + }, + "node_modules/@tamagui/avatar": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/avatar/-/avatar-2.0.0-rc.0.tgz", + "integrity": "sha512-YsIf0Jk6EipCZsMdOUqntVi1NYa1FKH44SZtApkOzO/+2elb2yElhAXRPmrpuNcBaPjd6//dicpK6p0v39tpMw==", + "dependencies": { + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/image": "2.0.0-rc.0", + "@tamagui/shapes": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -7616,33 +7575,34 @@ } }, "node_modules/@tamagui/button": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/button/-/button-1.144.2.tgz", - "integrity": "sha512-QLzbXgd+fjjn6J5Zfy17GPwuajSn0NL2pPctyx8XlHiEqu6uIxMdUJLywSqzP+l4cgmIG41ZR4mtlqRwcRTnoA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/button/-/button-2.0.0-rc.0.tgz", + "integrity": "sha512-AWJE41SV18aIk9GvSRnqNL1anQW6VB/3u03GzsG67OIWpQhKhZfNQkh6iq5NnurJxVT0XlB1V/f8nuM2DV4BwQ==", "dependencies": { - "@tamagui/config-default": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/font-size": "1.144.2", - "@tamagui/get-button-sized": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/helpers-tamagui": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/text": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/config-default": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/font-size": "2.0.0-rc.0", + "@tamagui/get-button-sized": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/helpers-tamagui": "2.0.0-rc.0", + "@tamagui/spacer": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/card": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/card/-/card-1.144.2.tgz", - "integrity": "sha512-vXSNQZ4y91gVTZHQ57LrbX6MEqrMh7PyhTXR7OyF0KVWloxTF9nvnd9p5gFUnGCpx1Nw36CMA50gAdKl/mZ5hg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/card/-/card-2.0.0-rc.0.tgz", + "integrity": "sha512-1oeIp9vxd31ciEGNTAesXAU35sDkrAfaFD6JBHEuAi2KwkG9l8oX24bbbkaUng9K+IYp0PSk8USmxcIBBQqQbg==", "dependencies": { - "@tamagui/create-context": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -7650,43 +7610,43 @@ } }, "node_modules/@tamagui/checkbox": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/checkbox/-/checkbox-1.144.2.tgz", - "integrity": "sha512-C/Vc8yWKBPBqWXiNbTVAAqepHnqjgTubgg6DNYrX3i8npIQNeGjZQf7SLMYYwfg+dASUcJr/7Ft90Ur3QJ6OXQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/checkbox/-/checkbox-2.0.0-rc.0.tgz", + "integrity": "sha512-3LiGZLhwiL2ZxCSUutcNt8UivLGdaIUwPY/tVaxDHrA7LvjXZGg6hhWf+rnV1Fztt5lck9adut2H3ySmGxGPPw==", "dependencies": { - "@tamagui/checkbox-headless": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/font-size": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/helpers-tamagui": "1.144.2", - "@tamagui/label": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-previous": "1.144.2" + "@tamagui/checkbox-headless": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/font-size": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/helpers-tamagui": "2.0.0-rc.0", + "@tamagui/label": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-previous": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/checkbox-headless": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/checkbox-headless/-/checkbox-headless-1.144.2.tgz", - "integrity": "sha512-vZuWe4t+zd7w0ouXu/k8Uirk6ayYgqrKwcSRJTeBbvRqulu436BTrU/APFRAeGeIpiB+mCXwlXNT20iaPktwjQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/checkbox-headless/-/checkbox-headless-2.0.0-rc.0.tgz", + "integrity": "sha512-OBVlHN1/l8fBGeiK1HYcgezX4aqfuth5MlYVXclukQDE1wvwXD3/CftbUNCdXM4Z+56GZibuC+ixbet4FcCQAQ==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/label": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-previous": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/label": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-previous": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -7694,16 +7654,16 @@ } }, "node_modules/@tamagui/cli": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/cli/-/cli-1.144.2.tgz", - "integrity": "sha512-ovcdZjxot8YGS876s3uAMUWzzBdj6YeQSV1PAC8zCPNQpxKZKF44NkJ6ofByrjZxrKwQbZmPq2G1m5fb1EIBag==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/cli/-/cli-2.0.0-rc.0.tgz", + "integrity": "sha512-h1ZiOJCkqeLkrsu71fXaxeRE98GPFe3reMV3MseUg3e7QXp2XAgeJ8OyeAiBQJRUjrwovEHUEGChDxGM5pD7Yg==", "dev": true, "dependencies": { - "@tamagui/create-theme": "1.144.2", - "@tamagui/generate-themes": "1.144.2", - "@tamagui/static": "1.144.2", - "@tamagui/types": "1.144.2", - "@tamagui/vite-plugin": "1.144.2", + "@tamagui/create-theme": "2.0.0-rc.0", + "@tamagui/generate-themes": "2.0.0-rc.0", + "@tamagui/static": "2.0.0-rc.0", + "@tamagui/types": "2.0.0-rc.0", + "@tamagui/vite-plugin": "2.0.0-rc.0", "arg": "^5.0.2", "chalk": "^4.1.2", "change-case": "^4.1.2", @@ -7727,9 +7687,9 @@ } }, "node_modules/@tamagui/cli-color": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/cli-color/-/cli-color-1.144.2.tgz", - "integrity": "sha512-EvaZMb9OxHnMGSSz+cXWUV2ockHpEI46BjuRvVhbIqyuy/+6wNr0A5RH5tkSU3h5byF77eh2fQtfv+fTemYg9w==" + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/cli-color/-/cli-color-2.0.0-rc.0.tgz", + "integrity": "sha512-+geeOwLJxWk1eOHimM8UMdUeNJYdpCgXjxESHcoqFgUdFbzGnn6ieMfE0fCMJ1zqCU6gHLHhls2IJoY2wEYBdQ==" }, "node_modules/@tamagui/cli/node_modules/marked": { "version": "14.1.4", @@ -7745,107 +7705,108 @@ } }, "node_modules/@tamagui/collapsible": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/collapsible/-/collapsible-1.144.2.tgz", - "integrity": "sha512-tO/uWzhLcepSlDmlQowwvIvLzM74h36XZSKf6n0yAVh01xqVHy6If1Xi1XOnHE6Sw4WF6QwDal/elvApCaYy4A==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/collapsible/-/collapsible-2.0.0-rc.0.tgz", + "integrity": "sha512-3xIa01LFXw0O7u6Blx/aPCKSydrlLk8fVwmmxHnnESpCH6AV4PYOB2dZq59hFAX+GwHP8oe9ehNcQ0PvOgI8nw==", "dependencies": { - "@tamagui/animate-presence": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/polyfill-dev": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/animate-presence": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/polyfill-dev": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/collection": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/collection/-/collection-1.144.2.tgz", - "integrity": "sha512-U2Agdtb9y58zLNjtZ38Yuw6vBTCo3uHXDF36lVE7qvqEa4l5Lv8LUH9tAxG6Jx14X9GyzeBrorbboauY0MWVCA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/collection/-/collection-2.0.0-rc.0.tgz", + "integrity": "sha512-240ij937bO/iiOE2ROW3PO+LIlnZzrSTOVRBn66a1pG5iAdSU9TG6vz3CsdUv++4OO/QRg1g4z/TpTgPFUFzsQ==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/polyfill-dev": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/polyfill-dev": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/colors": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/colors/-/colors-1.144.2.tgz", - "integrity": "sha512-Zg/XHQsvwwM9Jp8Yq6jCNM+gacYIKS2zfwYjvwYysSEfJM0TCEUzHOyMvymxkCh4haObY7G6YB2Vnzgk8EPqdw==" + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/colors/-/colors-2.0.0-rc.0.tgz", + "integrity": "sha512-R+O6FNNg6tQihdTXZJINAxrKI8DUjhskXHvapbmdKFHbV2iGhpg6fIh+T9dTrGI6fKMQUJwAWTWqkbXjOv0HrA==" }, "node_modules/@tamagui/compose-refs": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-1.144.2.tgz", - "integrity": "sha512-v6KkIaT6LjmCh1qAM+EBRgmADbxHO5DEJfSfTWXEakmWR7QZL2EbeatdYHn5Kc8POwFLPL8S2CqnUPJDxIw5Zw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/compose-refs/-/compose-refs-2.0.0-rc.0.tgz", + "integrity": "sha512-o3QqX/54XGafAF6ldPfdw4pUXJUVwbEu/OnZxwGis7c4rL+rsnZant3FD1NOZ5TZO0s5w8hA/o7qxrcaYIN9ag==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/config": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/config/-/config-1.144.2.tgz", - "integrity": "sha512-WiwSyqWF8OLb6aNtWIBaGd7EtO3aRKo/vX0CRoy064RPP/xW12HIYm+wlWHwgAnn2DBlp+LU4Z2glI3Fiv2nYA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/config/-/config-2.0.0-rc.0.tgz", + "integrity": "sha512-LHgn0n3h/w0iBmqpkmUvegXqFyJbYAOxkXzKPCI0JrodpyWNny9HFB2DfKGB/Vem0e9rCNll0UHyZ5BMYtHBQw==", "dependencies": { - "@tamagui/animations-css": "1.144.2", - "@tamagui/animations-moti": "1.144.2", - "@tamagui/animations-react-native": "1.144.2", - "@tamagui/colors": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/font-inter": "1.144.2", - "@tamagui/font-silkscreen": "1.144.2", - "@tamagui/react-native-media-driver": "1.144.2", - "@tamagui/shorthands": "1.144.2", - "@tamagui/theme-builder": "1.144.2", - "@tamagui/themes": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/animations-css": "2.0.0-rc.0", + "@tamagui/animations-moti": "2.0.0-rc.0", + "@tamagui/animations-motion": "2.0.0-rc.0", + "@tamagui/animations-react-native": "2.0.0-rc.0", + "@tamagui/animations-reanimated": "2.0.0-rc.0", + "@tamagui/colors": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/font-inter": "2.0.0-rc.0", + "@tamagui/font-silkscreen": "2.0.0-rc.0", + "@tamagui/react-native-media-driver": "2.0.0-rc.0", + "@tamagui/shorthands": "2.0.0-rc.0", + "@tamagui/theme-builder": "2.0.0-rc.0", + "@tamagui/themes": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" } }, "node_modules/@tamagui/config-default": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/config-default/-/config-default-1.144.2.tgz", - "integrity": "sha512-O/MKhxTo/vuHFcCKDNmMV9UC1IlW10Xwr6RngW1jbSz/nYNIyybLdgi9xTUqxRS12jLB8PV2SydA0jp5VSi3AQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/config-default/-/config-default-2.0.0-rc.0.tgz", + "integrity": "sha512-/UdXyJcbvZOLDiLvM2mCZ4rfblVuZwQgoOEP4X5EqW1MWjmKlghHNADV1g7EM2b1a4zZDDAd+IdYFJzHcsX/4w==", "dependencies": { - "@tamagui/animations-css": "1.144.2", - "@tamagui/animations-react-native": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/shorthands": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/animations-css": "2.0.0-rc.0", + "@tamagui/animations-react-native": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/shorthands": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" } }, "node_modules/@tamagui/constants": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-1.144.2.tgz", - "integrity": "sha512-mJUN9Ne+ZtiQgcStITfZlAUDUxjjHGs6yjNcxni7FXmGbA4E6DDP5ZD9ZsqolYHdNjwT6Y6MdXSpfBveEaVXhw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/constants/-/constants-2.0.0-rc.0.tgz", + "integrity": "sha512-vugi5QLdmsx5lcfEavmi2oiZKQZoTS8jOPqQp57deziW+EBZVTFC/hqUonlEIBVmu0Ka75c2wR/ykfy5+L5JXg==", "peerDependencies": { "react": "*", "react-native": "*" } }, "node_modules/@tamagui/core": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/core/-/core-1.144.2.tgz", - "integrity": "sha512-KyqFZU5hNwvFyZ1SGtnuuhuD+g9l1sFMTAWbji4XYmz9RtgJxVNd2lhfv4numsCtxhuVudZ24eeqarSqdjbB9w==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/core/-/core-2.0.0-rc.0.tgz", + "integrity": "sha512-BLlCQ9l5mbUwx5rVs2C6PCmjZOqSE6wRPgdyKn2FglzkS7BWN2R/lVBbc5IEMilasO2TfL+ho7rIZlRl5F0CGA==", "license": "MIT", "dependencies": { - "@tamagui/helpers": "1.144.2", - "@tamagui/react-native-media-driver": "1.144.2", - "@tamagui/react-native-use-pressable": "1.144.2", - "@tamagui/react-native-use-responder-events": "1.144.2", - "@tamagui/use-element-layout": "1.144.2", - "@tamagui/use-event": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/react-native-media-driver": "2.0.0-rc.0", + "@tamagui/react-native-use-pressable": "2.0.0-rc.0", + "@tamagui/use-element-layout": "2.0.0-rc.0", + "@tamagui/use-event": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -7853,49 +7814,49 @@ } }, "node_modules/@tamagui/create-context": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/create-context/-/create-context-1.144.2.tgz", - "integrity": "sha512-SHI06nBrBQ37L9y12EwhE/ePf3pdSEocwNQNu1bVLwsvktCKc/NtxXgU6xnjvSoHcCR80PaUW2ridAlrXLVobw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/create-context/-/create-context-2.0.0-rc.0.tgz", + "integrity": "sha512-zoSfc2tHj7qI4Cc9LXKNU9h+QTaKThDPyKilMDKchuASzTbLfDxFv4OnCuQAHkKcFHEMMGmh/6Ujtt1b5GABYQ==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/create-theme": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/create-theme/-/create-theme-1.144.2.tgz", - "integrity": "sha512-YzUFeg7PdLWBRzMS19O5WkbFfcKHDuvOk/PvEnqADipyhsJKtUfz0QPBF4wU2SyGE+Eg+yRr144CASfkaJbRYg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/create-theme/-/create-theme-2.0.0-rc.0.tgz", + "integrity": "sha512-z9Nh5qVOPgSpNYdMXKm9GSr1L80kgavPVw6HqleCr7IN6SoOGSYGcqjIVduO5mQVPVDfmq7ElI/4B1lH+LEJTQ==", "dependencies": { - "@tamagui/web": "1.144.2" + "@tamagui/web": "2.0.0-rc.0" } }, "node_modules/@tamagui/cubic-bezier-animator": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/cubic-bezier-animator/-/cubic-bezier-animator-1.144.2.tgz", - "integrity": "sha512-4dv2G091WMTLZ35e/yi9JYq67nLM4K7PHVu6Rw/6EIqO9ZJKLLMMK77+UpmMY/gitidm/pwCG2hb+2JQLSzxyQ==" + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/cubic-bezier-animator/-/cubic-bezier-animator-2.0.0-rc.0.tgz", + "integrity": "sha512-5UPntx/NFhZcPZrd86vo7xuEAqz2P7gYrUg6oYVktK05oXjipZJ0qkLyB2dY51xkk22brsc4CTHec4+wC718pg==" }, "node_modules/@tamagui/dialog": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/dialog/-/dialog-1.144.2.tgz", - "integrity": "sha512-4Zy0CNlqMYM9vAAximKfe2DpjQXPiJke6tlv8U3Ifv2zLySSv0k9PiymCLGWVdGsqWsb2od8//xniDEnJ1FAwA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/dialog/-/dialog-2.0.0-rc.0.tgz", + "integrity": "sha512-amFNT4VQGAbe27o1jk+vbzliLroDwr4kZlwyejKjwZeiR4KfCV5BHUf6RNQxoUouAYJHvaiy85zuyJ5zGGV9Nw==", "dependencies": { - "@tamagui/adapt": "1.144.2", - "@tamagui/animate-presence": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/dismissable": "1.144.2", - "@tamagui/focus-scope": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/polyfill-dev": "1.144.2", - "@tamagui/popper": "1.144.2", - "@tamagui/portal": "1.144.2", - "@tamagui/remove-scroll": "1.144.2", - "@tamagui/sheet": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/text": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/z-index-stack": "1.144.2" + "@tamagui/adapt": "2.0.0-rc.0", + "@tamagui/animate-presence": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/dismissable": "2.0.0-rc.0", + "@tamagui/focus-scope": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/polyfill-dev": "2.0.0-rc.0", + "@tamagui/popper": "2.0.0-rc.0", + "@tamagui/portal": "2.0.0-rc.0", + "@tamagui/remove-scroll": "2.0.0-rc.0", + "@tamagui/sheet": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/z-index-stack": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -7903,41 +7864,53 @@ } }, "node_modules/@tamagui/dismissable": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/dismissable/-/dismissable-1.144.2.tgz", - "integrity": "sha512-WTLKAOrUcAou00ikATm0AWLZoCKMPG+bRpbw/Qwl4gOIE5+021DRoQI4dM12bMfO078JeGPf8Ce2qwOeVWsaCg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/dismissable/-/dismissable-2.0.0-rc.0.tgz", + "integrity": "sha512-XuK/jbWSoUAUxOaSOkXzaCiEPN5tZ0VyxTUwEHyqgSjrT4IhmZhSxfsrXbWDqnHfxtcekgahjcQAqMzw1cV/5w==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/use-escape-keydown": "1.144.2", - "@tamagui/use-event": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/use-escape-keydown": "2.0.0-rc.0", + "@tamagui/use-event": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", "react-dom": "*" } }, - "node_modules/@tamagui/elements": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/elements/-/elements-1.144.2.tgz", - "integrity": "sha512-123RHR2sUZDKBMY1eC1PZXWMplt+04h2h+pp0grvcjGnPK8LShlNrmFe7a74MbGnxosKr9py8bltu/mhF6gIIA==", + "node_modules/@tamagui/element": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/element/-/element-2.0.0-rc.0.tgz", + "integrity": "sha512-YejhfxMifU9VZD+dBIrN7zwouU2QPe/yuuj7Wz3B2hwoxkiObskWI4eA3WCElfb78Jaz2r7sVsXQgKS3md86CA==", "dependencies": { - "@tamagui/core": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@tamagui/elements": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/elements/-/elements-2.0.0-rc.0.tgz", + "integrity": "sha512-p9AikJNogkunDfvGDHWHoSIcRDjgJKe74vqaltt+K+VTqGvB2pLiPayXvom9zjx8YItP1SU0h4vhA5I21+BChw==", + "dependencies": { + "@tamagui/core": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/fake-react-native": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/fake-react-native/-/fake-react-native-1.144.2.tgz", - "integrity": "sha512-67YJGxoXeGlg94QoH2u7JKW0/ImQ/JtKDT6ZUyB/xBluVsfImKcmwDs6rTb29emJ5W3AaT/b48ynhTP7AhHsfw==" + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/fake-react-native/-/fake-react-native-2.0.0-rc.0.tgz", + "integrity": "sha512-n3ZYnmHI97ESRXgVeM8mVg1flXcVQiwWNDbu+V+8BMvo1GTy5d1PTkDVgTL0jSw0bh6VcFNqUrdvFLE4JDXyVA==" }, "node_modules/@tamagui/floating": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/floating/-/floating-1.144.2.tgz", - "integrity": "sha512-YKAdukD/R0DSnfVo9aZtDHcXfgBaFsgEntiFwEnuLw48D7BXJ6MCSC3mi+rtJ/FEC6npYPRjIEIbM2aDHO/n9w==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/floating/-/floating-2.0.0-rc.0.tgz", + "integrity": "sha512-BhqmsSHMsxQX1IRVra7muU8oHh6CjBNjpRm79I1+NAfhJGlLQX+MDLInRhaE9i5cyKRBy5IMpTtQpPbKfHquNw==", "dependencies": { "@floating-ui/react-dom": "^2.1.6", "@floating-ui/react-native": "^0.10.7" @@ -7948,147 +7921,143 @@ } }, "node_modules/@tamagui/focus-scope": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/focus-scope/-/focus-scope-1.144.2.tgz", - "integrity": "sha512-c1NMxWybh9z+jbHtd9vqC7t5XEZqVz3CP5xutsUa8O6I0gyEOM7UxXDuKAkO1+H60wH2IDiTfVIbM6pG0MXi3Q==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/focus-scope/-/focus-scope-2.0.0-rc.0.tgz", + "integrity": "sha512-A47hk1ICqQ+lkbba8785UHSAtSERZtFiDKGsCUxxdiezOClENwikoxlgJDSDjxJnRUZtjmL2J9bOJNcDOxYrAA==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/start-transition": "1.144.2", - "@tamagui/use-async": "1.144.2", - "@tamagui/use-event": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/start-transition": "2.0.0-rc.0", + "@tamagui/use-async": "2.0.0-rc.0", + "@tamagui/use-event": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/focusable": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/focusable/-/focusable-1.144.2.tgz", - "integrity": "sha512-OjZN1BsAs2lrLpZYcRpjRHBLewy1dnw/XiuBbjyN5GzwVJndBy+KQxztDswlkjN93JpQp4A3Wh1w1djm9oPPaw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/focusable/-/focusable-2.0.0-rc.0.tgz", + "integrity": "sha512-cEtx+cZxJH85xmh35UwpTxjGqvuY5LGEzXcclG3bDFg5gvbi9avtmP1r3Ot76piUdQtaSRs1a4gUnepO2gYJhw==", "license": "MIT", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/font": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/font/-/font-1.144.2.tgz", - "integrity": "sha512-4MRqlmsmE2r06snUnIFsDZV3LonJeWzxuuR5CH6DBNQIXNb5gmpygTJymZOQbhNrYDdq3IqMFyPHE/dZxX6CFA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/font/-/font-2.0.0-rc.0.tgz", + "integrity": "sha512-zDmAhXD9Nfscf0IT2WdJNR2QbocX4w6mklQ7zJAN5i7JJJN5XqZowzKpwjkE36KCq9H2IaJtHoKDygfQHAy/6g==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/font-inter": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/font-inter/-/font-inter-1.144.2.tgz", - "integrity": "sha512-e1Vc+CU42zDQqo5Nyr4g/3/ynRUIlRGmQdkzpeJqLFY6YMEb9LIG/y/t8Uoc/o8GPhlx4IMH2jamR+Cq99q7Bw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/font-inter/-/font-inter-2.0.0-rc.0.tgz", + "integrity": "sha512-44G4hIfLjSYKBasW65kclelKoEvsu+3ddRkVSwHhmHEb/6rvVZ2NypTFi2y0Nq4YBpiBZM1j/Jm3G12daQ151Q==", "dependencies": { - "@tamagui/core": "1.144.2" + "@tamagui/core": "2.0.0-rc.0" } }, "node_modules/@tamagui/font-silkscreen": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/font-silkscreen/-/font-silkscreen-1.144.2.tgz", - "integrity": "sha512-FwbamabciC6rejKigWzW+zFw3t5+vwGvwRgNN7/m/HAnH2Ef1IqH6iPbVdtsR8YJvLKW2ZnUOGRqcLWYrU+TMg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/font-silkscreen/-/font-silkscreen-2.0.0-rc.0.tgz", + "integrity": "sha512-/gaw33JPMCNXeYPMKHwbTe1Iq/3WZTOpiEQTAlmQeK4esAgrySPMd8a6WHq26P2KFe8mIa4sQDBNU43nqjwvEg==", "dependencies": { - "@tamagui/core": "1.144.2" + "@tamagui/core": "2.0.0-rc.0" } }, "node_modules/@tamagui/font-size": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/font-size/-/font-size-1.144.2.tgz", - "integrity": "sha512-Cg/sPuHwZXxnnX6sl0tGSPwTDVdaTDkoCPIhAC3aCyXL1TSPbzpqXExhvFWhrXQoF9+ZdHdSvmYh8dMVGoEioA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/font-size/-/font-size-2.0.0-rc.0.tgz", + "integrity": "sha512-BHOqt9SeXAjugOMcByQsE/aWQCKQla7bpkuOXdU0+RsW10e7/0MJqVlisX+pYsnHtevuxiHK2SAHCdjfB4hDJQ==", "dependencies": { - "@tamagui/core": "1.144.2" + "@tamagui/core": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/form": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/form/-/form-1.144.2.tgz", - "integrity": "sha512-i/uAPOBK1Uj+lU1+KKCyqaL2QlnN7xAkOmcVnqvbFK6mEDp0ZmEPtCwYFbFIJORljzC9n5feizjtdLAHIFMukQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/form/-/form-2.0.0-rc.0.tgz", + "integrity": "sha512-tkmp70JmYcs85uW/en16x/Vs/kQiGnp7S6F77tHw8fdAKlEpaMXVxxOI7Q7qeBDNNHRu5WDYNLVTaOrvFsFWzg==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/get-button-sized": "1.144.2", - "@tamagui/get-font-sized": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/text": "1.144.2" + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/generate-themes": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/generate-themes/-/generate-themes-1.144.2.tgz", - "integrity": "sha512-2qjqx64g0ji7pliPQxaKyiaEiRBcMREkPHDa4ELD8KVG6un0FmHCSqQAKLPSmoXYvZdbpaJCWQpPN60k2j/8lA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/generate-themes/-/generate-themes-2.0.0-rc.0.tgz", + "integrity": "sha512-OYWkXJzuZxpo/W2A1YDQmr/k1WZbbPTxghZucHR5/9IPF3qxIAd53g8gCG3jS/zmRQ3ZKrvoFB9CZcWYWHOF+Q==", "dependencies": { - "@tamagui/create-theme": "1.144.2", - "@tamagui/theme-builder": "1.144.2", - "@tamagui/types": "1.144.2", + "@tamagui/create-theme": "2.0.0-rc.0", + "@tamagui/theme-builder": "2.0.0-rc.0", + "@tamagui/types": "2.0.0-rc.0", "esbuild-register": "^3.6.0", "fs-extra": "^11.2.0" } }, "node_modules/@tamagui/get-button-sized": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/get-button-sized/-/get-button-sized-1.144.2.tgz", - "integrity": "sha512-QhXBnf7xZbiuwcWQPGSrwxZOOqJ/XCGV3rmMHlhOisAHWZtoIpkOhxWc98L5ZyKQDXMTuxwjyI3dXce/ZenQ9A==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/get-button-sized/-/get-button-sized-2.0.0-rc.0.tgz", + "integrity": "sha512-ePkdG2UjlNPA2dxYU+Q6YjiGh9tmlablv4BknICwkFHf9WL19CAPv2Z462duzrxDRXv748aazb1aiGxV5/vHag==", "dependencies": { - "@tamagui/get-token": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/get-font-sized": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/get-font-sized/-/get-font-sized-1.144.2.tgz", - "integrity": "sha512-sEi6AhYcBsreT5u8Ni0O/HowHJkrgAIQiDFNHtUF2BswmT0qFH5gb7G3Stgd8EAFCBZQgqa6cvsLmk/9RhhRvw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/get-font-sized/-/get-font-sized-2.0.0-rc.0.tgz", + "integrity": "sha512-p9rzW4cXHtgkcbEXTtNBITcVfA3vtAKldAZj3LqCcHedbLwD3GPeyrFDEXD/ZhS/BrAvvYCYCYetPehTJJKVfw==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/get-token": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/get-token/-/get-token-1.144.2.tgz", - "integrity": "sha512-oO2CePZd0vRubbzDyH1Zs0kd1eCDBVomtXLfb7fGz6DhnUZhDqu+SsaA9fuQQ27qHlqutBQRj+jzchL/Sbikgw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/get-token/-/get-token-2.0.0-rc.0.tgz", + "integrity": "sha512-IRrUIuSbIKyeJcwvO5Qa2iBgmsq1T0uGKbQxUjhNIsn5SiuUoFVLN5MoKg+/aYwEjl7S5C95DPBNyrTKQPs0HA==", "dependencies": { - "@tamagui/web": "1.144.2" + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/group": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/group/-/group-1.144.2.tgz", - "integrity": "sha512-B8b36G9gacTaxHMrUA3TESmOdi2g5HsRvT9ieZKqWSeAZ751yHMzAtcFUV90M6AmLJn1rT5NpZMbjambiVYXKQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/group/-/group-2.0.0-rc.0.tgz", + "integrity": "sha512-O/HxrDDmrYcUwuYoftnGLJ6ql3LHgvl8s+IUEiOBuFpeh3xyyJY2FEEahcGIQT24XpYp1GsGJrIrsRocM5nd4A==", "dependencies": { - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2" + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/spacer": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8096,32 +8065,32 @@ } }, "node_modules/@tamagui/helpers": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-1.144.2.tgz", - "integrity": "sha512-dAB3MEStLSoq157QK7hQlC8TLKlep0G3LTjUC2yglwCLONkA5/hS3S07w9EPTnzg7O4BdfPnEQmi7DpaeKrZ3g==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers/-/helpers-2.0.0-rc.0.tgz", + "integrity": "sha512-yYWQ7gAKgBecrcvUcGt0+V5i7aWtuXwZPnR3SkKAqeOU/q2YQ6WEdPDiNQu6rXf/L1CQObUfK5EU75zvhclpJQ==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/simple-hash": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/simple-hash": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/helpers-node": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/helpers-node/-/helpers-node-1.144.2.tgz", - "integrity": "sha512-Yu5CN8ItfWfj+QQwE9Gfd/krIVWt4SazNxSRaIN1lu0XD1WufjS/wX5BhHEBpU55i7kcxgtO4CqldT9yOrsQqQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers-node/-/helpers-node-2.0.0-rc.0.tgz", + "integrity": "sha512-tW1GRfch8bE+8zgDkI/pQ6Kt2fhR/hoocnlYgYPALQ73e35x8e+DVsH6kOFhRU4d0ZDjWJBH7+dbz+LN+oT5xg==", "dependencies": { - "@tamagui/types": "1.144.2" + "@tamagui/types": "2.0.0-rc.0" } }, "node_modules/@tamagui/helpers-tamagui": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/helpers-tamagui/-/helpers-tamagui-1.144.2.tgz", - "integrity": "sha512-fW4mqotp9iXfwvnGkUuQS5LZCpYi2+99o66gjxbq9pidSj1+jiQRsNVjzp/5vQD4haI8pT8IFram1LK6sMaOgQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/helpers-tamagui/-/helpers-tamagui-2.0.0-rc.0.tgz", + "integrity": "sha512-jNsvE867FZfZ3C3Rbkruw2XQ3dr0yR2ddAtty+7s/iu37McaWQV8JOYaZI31k4aIOcBTwdiMtH6pcVloHIcmuw==", "dependencies": { - "@tamagui/helpers": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8129,12 +8098,36 @@ } }, "node_modules/@tamagui/image": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/image/-/image-1.144.2.tgz", - "integrity": "sha512-58tQ08tqZ377pFMyDv87cdTKmAvQUSOaasvon/B3n074upHwI0GHbaA/tORVa7ZlLlriHvWz0yeE8scd7t/0pw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/image/-/image-2.0.0-rc.0.tgz", + "integrity": "sha512-x9UY6pHFL5rBjchdg1B+vZpw7WrmwKeEnz5i/cakGEyE0gRK1b9psSsUjcYP57vy8oSrueOxRU9V2KK4R+6zUQ==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@tamagui/input": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/input/-/input-2.0.0-rc.0.tgz", + "integrity": "sha512-uHBlOLpxZRJiRfVnzix28M9BMH6QBrxkJOCmAmObsU+ZFdlPSRWYOfMTwW14LpLoRrnrSLF5W03G4JDkOLoIWA==", + "dependencies": { + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/element": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/font-size": "2.0.0-rc.0", + "@tamagui/get-button-sized": "2.0.0-rc.0", + "@tamagui/get-font-sized": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/helpers-tamagui": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8142,26 +8135,26 @@ } }, "node_modules/@tamagui/is-equal-shallow": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/is-equal-shallow/-/is-equal-shallow-1.144.2.tgz", - "integrity": "sha512-EPvN5UH2gp+rJzrjt2baKVNHq4Kl1u/l02qKhZbwjKAAo0CRM6OqPLs1Z3kiqq0ZmcMyinoLrHc3gAkXl60rgA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/is-equal-shallow/-/is-equal-shallow-2.0.0-rc.0.tgz", + "integrity": "sha512-hiWJl4uYcZADqqIwTAV/cKA05eTw74IwHDJG30+elLnrnWEi2tQG6arDPfos7iYYd8mCj29Viath1oCrL4isJw==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/label": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/label/-/label-1.144.2.tgz", - "integrity": "sha512-WLIEHNmGLcV1LdPhmlDOX8eRu5XjlDe2S4cDaxbS63YTlyyjhODsX6tMSAZPCOB/F8HGgCBLFSyU4AB9hGhLDw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/label/-/label-2.0.0-rc.0.tgz", + "integrity": "sha512-AEDmVHEktdBGpTr5ScSHaP6HFzXlbC6E8EtcYz40JOdLgAyznZtu/Mi5TErLd+8m+vh0sQmxq0nRyoAmjUApHQ==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/get-button-sized": "1.144.2", - "@tamagui/get-font-sized": "1.144.2", - "@tamagui/text": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/get-button-sized": "2.0.0-rc.0", + "@tamagui/get-font-sized": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8169,12 +8162,13 @@ } }, "node_modules/@tamagui/linear-gradient": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/linear-gradient/-/linear-gradient-1.144.2.tgz", - "integrity": "sha512-1mab7nwpW93XYJ5ReKlUcoTymdVC0auC0qmDL/3tJ+bCTCPeVmfFTVv2XnyzQugatEmXZtT9vkQHymevYN06/w==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/linear-gradient/-/linear-gradient-2.0.0-rc.0.tgz", + "integrity": "sha512-MVxyVKdBFY4SW5ApjLrk8avHThQ59TV5BU0gOUsHqgtOybU7JZ0qC5zBIVJ/L9x/qIHX1rWXY8nn1MLfuejLLg==", "dependencies": { - "@tamagui/core": "1.144.2", - "@tamagui/stacks": "1.144.2" + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/native": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8182,61 +8176,92 @@ } }, "node_modules/@tamagui/list-item": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/list-item/-/list-item-1.144.2.tgz", - "integrity": "sha512-FVSK9jX8sFRB3EA1/8NEw4w0eeSyM9oipxW2yelLqWdv4nTEbDAkHsrPC1qvGUeAtHnH/O5Rc9waou2IWzrLCA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/list-item/-/list-item-2.0.0-rc.0.tgz", + "integrity": "sha512-DOZZCxXcMKCChbl66CeBwfX+TLM/pthahaBAdbq8O+l+KyTvlV+XpsSdDX8pqSwLlEGqKJ4yy7OPrMhr+iCK1g==", "dependencies": { - "@tamagui/font-size": "1.144.2", - "@tamagui/get-font-sized": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/helpers-tamagui": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/text": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/font-size": "2.0.0-rc.0", + "@tamagui/get-font-sized": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/helpers-tamagui": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, + "node_modules/@tamagui/native": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/native/-/native-2.0.0-rc.0.tgz", + "integrity": "sha512-ShIQEUB2QII/QMz/cgJE4FviQBB3eA1CaF9J0fD09BREEqBIT7zwCLGMl9k3m8quYy8pslxDsIzbKg1iOwEXiQ==", + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-gesture-handler": ">=2.0.0", + "react-native-keyboard-controller": ">=1.0.0", + "react-native-safe-area-context": ">=4.0.0", + "react-native-teleport": ">=0.5.0", + "react-native-worklets-core": ">=1.0.0" + }, + "peerDependenciesMeta": { + "react-native-gesture-handler": { + "optional": true + }, + "react-native-keyboard-controller": { + "optional": true + }, + "react-native-safe-area-context": { + "optional": true + }, + "react-native-teleport": { + "optional": true + }, + "react-native-worklets-core": { + "optional": true + } + } + }, "node_modules/@tamagui/normalize-css-color": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-1.144.2.tgz", - "integrity": "sha512-CMKTMFoxzvvAOuKd4ZnwavOGxN6z5J1vnnwbvbvaJkSvHvgQSyw2JprK3dYLClyUOEkkTqtwI4zW7ztMOdNyZw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/normalize-css-color/-/normalize-css-color-2.0.0-rc.0.tgz", + "integrity": "sha512-uXoejbCJgGeNUSRQTsDzq7Q7Xuj76AHaOrCmbSSvXHeXlqScFfrHiyHgOQ6xAnXHpNWP2r/hniUPR+ysQzXSVA==", "dependencies": { "@react-native/normalize-color": "^2.1.0" } }, "node_modules/@tamagui/polyfill-dev": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/polyfill-dev/-/polyfill-dev-1.144.2.tgz", - "integrity": "sha512-FObey6h8jsQdSarSsayGopF2Dh5Lu4/qhlFPViD44gU+fJr6dGgWe5W5EdH8eaH3pfv6QuUF93bzmxktn7F39A==" + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/polyfill-dev/-/polyfill-dev-2.0.0-rc.0.tgz", + "integrity": "sha512-4EEY6zWtM+/5x6yguXCsLyd5pMIHi8ezpjLaDhUlAWsCgF3v6DY7tgc9nTsFebCk4FOr/SeO2LYmd9ffk5t5Gw==" }, "node_modules/@tamagui/popover": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/popover/-/popover-1.144.2.tgz", - "integrity": "sha512-HO2YP+m+zFJ04dcmuTxeAVlJS9q/Nu2h2RZXq0myyANfMa5AndnK9JDclEfnBiy3/Rr1iyi7mAI4+uXGfcGS0Q==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/popover/-/popover-2.0.0-rc.0.tgz", + "integrity": "sha512-CCOvlM+Cn6uKS/rIw4gso4gz9DhGYW8G9baGRwQ8WSlhXoLS6NQYR3JXxJdwdBKUOoTd4e5zKqPcnZ9w89LDVA==", "dependencies": { "@floating-ui/react": "^0.27.16", - "@tamagui/adapt": "1.144.2", - "@tamagui/animate": "1.144.2", - "@tamagui/animate-presence": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/dismissable": "1.144.2", - "@tamagui/floating": "1.144.2", - "@tamagui/focus-scope": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/polyfill-dev": "1.144.2", - "@tamagui/popper": "1.144.2", - "@tamagui/portal": "1.144.2", - "@tamagui/remove-scroll": "1.144.2", - "@tamagui/scroll-view": "1.144.2", - "@tamagui/sheet": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/z-index-stack": "1.144.2", + "@tamagui/adapt": "2.0.0-rc.0", + "@tamagui/animate": "2.0.0-rc.0", + "@tamagui/animate-presence": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/dismissable": "2.0.0-rc.0", + "@tamagui/floating": "2.0.0-rc.0", + "@tamagui/focus-scope": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/polyfill-dev": "2.0.0-rc.0", + "@tamagui/popper": "2.0.0-rc.0", + "@tamagui/portal": "2.0.0-rc.0", + "@tamagui/remove-scroll": "2.0.0-rc.0", + "@tamagui/scroll-view": "2.0.0-rc.0", + "@tamagui/sheet": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/z-index-stack": "2.0.0-rc.0", "react-freeze": "^1.0.3" }, "peerDependencies": { @@ -8245,12 +8270,12 @@ } }, "node_modules/@tamagui/popover/node_modules/@floating-ui/react": { - "version": "0.27.16", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.16.tgz", - "integrity": "sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g==", + "version": "0.27.17", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.17.tgz", + "integrity": "sha512-LGVZKHwmWGg6MRHjLLgsfyaX2y2aCNgnD1zT/E6B+/h+vxg+nIJUqHPAlTzsHDyqdgEpJ1Np5kxWuFEErXzoGg==", "license": "MIT", "dependencies": { - "@floating-ui/react-dom": "^2.1.6", + "@floating-ui/react-dom": "^2.1.7", "@floating-ui/utils": "^0.2.10", "tabbable": "^6.0.0" }, @@ -8260,18 +8285,18 @@ } }, "node_modules/@tamagui/popper": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/popper/-/popper-1.144.2.tgz", - "integrity": "sha512-x+9T/bxZ1NOt7ZM99+aeBlr5JcLGzSLHBsQj+d+AKL6WS/Sa3MVWRHMyGvjK4yyRAjPSAT7N3cGExncMaBwHUQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/popper/-/popper-2.0.0-rc.0.tgz", + "integrity": "sha512-U+83htdE/2TSxlbLAD/CYOp7mnpGKLEAeaXM2AyAidDRQSi12w4kxtNhVWWJIqkPc3on9Zq+WCAT4d7syNHmew==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/floating": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/start-transition": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/floating": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/start-transition": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8279,16 +8304,17 @@ } }, "node_modules/@tamagui/portal": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/portal/-/portal-1.144.2.tgz", - "integrity": "sha512-J1PEYB0z7tKzIG/yzNZibT0JA6AZ6AKotpFPy+5sUlDcFqtsVKMz+uNwaqQDJOVMGz7EMvR++xZvbF/UoKvd8g==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/portal/-/portal-2.0.0-rc.0.tgz", + "integrity": "sha512-hnovd9+6BDUsrHSja6Gc4oDaETl+WdDffArY7K4DcjJZ3QBKKZOQ/58uVmZZNpB9s7GK7ebRWVh50OHvfKFrUg==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/start-transition": "1.144.2", - "@tamagui/use-event": "1.144.2", - "@tamagui/web": "1.144.2", - "@tamagui/z-index-stack": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/native": "2.0.0-rc.0", + "@tamagui/start-transition": "2.0.0-rc.0", + "@tamagui/use-event": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0", + "@tamagui/z-index-stack": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8297,16 +8323,16 @@ } }, "node_modules/@tamagui/progress": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/progress/-/progress-1.144.2.tgz", - "integrity": "sha512-oEnygSIKIicSPnTABnlW9XPhismEJaBVCgNtw7cap260N1K7cHZ6WwNOgsNsRkDaW7gIY5xh+58aLs/8UODq7A==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/progress/-/progress-2.0.0-rc.0.tgz", + "integrity": "sha512-owb4q9IK9W9g1QYWpLk4w0sEJY8dcjU1w27RMVzSth3Z2scQZ+fF5Wpl0lUcuu3rk4AFeRGwZOZw+o+iZd8ZVg==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/stacks": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8314,47 +8340,47 @@ } }, "node_modules/@tamagui/proxy-worm": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/proxy-worm/-/proxy-worm-1.144.2.tgz", - "integrity": "sha512-Zc4kD3l0nJh8KAlmQdyDcw5e29O4u52c2BglkofsE5dsjYh3nrOC0EAI/BMlF7eW9RX+7rYmnt8DeVrUDxA93g==" + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/proxy-worm/-/proxy-worm-2.0.0-rc.0.tgz", + "integrity": "sha512-Yoa0gxq0EjhcyVYoBe4kiO8sMWGWu1bjsyNehjnqt48v44NVSrdDK6Ms9rEG9GyiN+eg6CPhmGrKmxPjahWOcg==" }, "node_modules/@tamagui/radio-group": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/radio-group/-/radio-group-1.144.2.tgz", - "integrity": "sha512-qyO4O6aX5lgIKdVi0pzhaspzFRyF+SmOZqtb9sibXp6Un0ps4OEBhEx9Jtg4nRFAcSjd+90S/a3+Hb5CAxB1cQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/radio-group/-/radio-group-2.0.0-rc.0.tgz", + "integrity": "sha512-208MTV5cuiOj6zFQs3wXibFLHosT/nRLuqUbqexQhcezPAQHq6X4jaCabS1OoCHZ923H0yvH6yDOZa+sjJy7Og==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/label": "1.144.2", - "@tamagui/radio-headless": "1.144.2", - "@tamagui/roving-focus": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-previous": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/label": "2.0.0-rc.0", + "@tamagui/radio-headless": "2.0.0-rc.0", + "@tamagui/roving-focus": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-previous": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/radio-headless": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/radio-headless/-/radio-headless-1.144.2.tgz", - "integrity": "sha512-AZ92y/O87ejYQ3xFKA73APNgUtLCVYiJ4jJgbjGrqt84uTrlAjWeiUa2HGYC0ncvKzOilHwgTkEgMDWetlO85w==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/radio-headless/-/radio-headless-2.0.0-rc.0.tgz", + "integrity": "sha512-HMuYT6oXUIkq0qBCZZaCELZkk7srHcIITj4rxi662vFNuTsVOVjnMyCRsmhpO8DHAiHDEs3xG4TSSgsnOrTDmg==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/label": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-previous": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/label": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-previous": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8362,21 +8388,21 @@ } }, "node_modules/@tamagui/react-native-media-driver": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/react-native-media-driver/-/react-native-media-driver-1.144.2.tgz", - "integrity": "sha512-TlVlUZKRK9vSLcDIdNBIsiA9u0JPb8eljXoZdl0Xw9DYFqrZUaaykJlVZ7e3q7TMUzHAJSp17R7UBhKadTFcJQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/react-native-media-driver/-/react-native-media-driver-2.0.0-rc.0.tgz", + "integrity": "sha512-hs3gL0GFlA7lvf2bkvl6H8Pp5CjK4stOzddWGY0yuQMy2XyTv09oE7gmIUmQNjIdV2MU02SorsxAtDoxRQQ5Zw==", "license": "MIT", "dependencies": { - "@tamagui/web": "1.144.2" + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react-native": "*" } }, "node_modules/@tamagui/react-native-svg": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/react-native-svg/-/react-native-svg-1.144.2.tgz", - "integrity": "sha512-4RKwXxmSh4TKWxeiPtgXrb6YK0epV2fFnONrThw7R5N9K+iC68+SKN3LgE0bHZoF/RFMvOr41/iIwJLv3EoDXw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/react-native-svg/-/react-native-svg-2.0.0-rc.0.tgz", + "integrity": "sha512-Bw7QSsSDyTtukJmu/OxbycGSYRWJxprRp79aZqgTdFGduQpAq+uGgdmJdPvJoWqAdkcz/HRDmTDeYCWYhKG3eA==", "peerDependencies": { "react-native-svg": "*" }, @@ -8387,33 +8413,33 @@ } }, "node_modules/@tamagui/react-native-use-pressable": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/react-native-use-pressable/-/react-native-use-pressable-1.144.2.tgz", - "integrity": "sha512-+9a13EkNZiVNV/MzgKXLMGhgVSbKE8pn67la0jF6Em3FUlgQ3QkeNVANtRZkF35Ip1EkUXIYcIKZeZYaTErr+Q==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/react-native-use-pressable/-/react-native-use-pressable-2.0.0-rc.0.tgz", + "integrity": "sha512-3TlvO+nqZ9HgEwyJSRKzFV37VB6EgMECPPYE6U8rgI5MHJtoLbWKTBugayi81Mn70n4skrZC5PC64Y4ZsQlsRw==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/react-native-use-responder-events": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/react-native-use-responder-events/-/react-native-use-responder-events-1.144.2.tgz", - "integrity": "sha512-VRGwB6QuiZUno4wkCaU6TGFKBkch3p3lTlbrEHAEGtx4mpnHU05MpsSdRDfz65PLGw6OXbv12NgLG3nusovL4A==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/react-native-use-responder-events/-/react-native-use-responder-events-2.0.0-rc.0.tgz", + "integrity": "sha512-rFxs5+DKvHjA2YyeBCOOJteQsxMf+AylgxTuo3TtO+5/LEIm1PtSUbNakqkhNNu/nUEOZWNwUUMzqWUyvsW9oQ==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/react-native-web-internals": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/react-native-web-internals/-/react-native-web-internals-1.144.2.tgz", - "integrity": "sha512-TZct5tjUBdxoombNUQemogmMO1N7oJf+JAj7g0gJjITYpAtspUkSIrNL5XH85NHZkJuHn7Ui3/ePvn0mzRdkjg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/react-native-web-internals/-/react-native-web-internals-2.0.0-rc.0.tgz", + "integrity": "sha512-9KIazkTsYItK4bGaCdUMgsNSIQbgrvLIH2/7whKvykJthHe47aK47u2etK0XnJybgTR2/Ts+mKUIstRHBZp/tQ==", "license": "MIT", "dependencies": { - "@tamagui/normalize-css-color": "1.144.2", - "@tamagui/react-native-use-pressable": "1.144.2", - "@tamagui/react-native-use-responder-events": "1.144.2", - "@tamagui/simple-hash": "1.144.2", - "@tamagui/use-element-layout": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/normalize-css-color": "2.0.0-rc.0", + "@tamagui/react-native-use-pressable": "2.0.0-rc.0", + "@tamagui/react-native-use-responder-events": "2.0.0-rc.0", + "@tamagui/simple-hash": "2.0.0-rc.0", + "@tamagui/use-element-layout": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8421,16 +8447,16 @@ } }, "node_modules/@tamagui/react-native-web-lite": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/react-native-web-lite/-/react-native-web-lite-1.144.2.tgz", - "integrity": "sha512-uW2/InFaN29zXjqBFPFTNpVy9XbS6L5A6hpzgAHl4mpFXcc+K0u8mzvVIYmNBYYv8Ytr756kzXMHbGY0srhJXw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/react-native-web-lite/-/react-native-web-lite-2.0.0-rc.0.tgz", + "integrity": "sha512-mbcylmjQJ3c8l03JBCOgGSVToR0IjQrYFpd++AU7tRMXICNmphcn1KP1Tv9OY8WvTUy/NkkTyxy4HxJDlzo4tw==", "license": "MIT", "dependencies": { - "@tamagui/normalize-css-color": "1.144.2", - "@tamagui/react-native-use-pressable": "1.144.2", - "@tamagui/react-native-use-responder-events": "1.144.2", - "@tamagui/react-native-web-internals": "1.144.2", - "@tamagui/web": "1.144.2", + "@tamagui/normalize-css-color": "2.0.0-rc.0", + "@tamagui/react-native-use-pressable": "2.0.0-rc.0", + "@tamagui/react-native-use-responder-events": "2.0.0-rc.0", + "@tamagui/react-native-web-internals": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0", "invariant": "^2.2.4", "memoize-one": "^6.0.0" }, @@ -8440,39 +8466,39 @@ } }, "node_modules/@tamagui/remove-scroll": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/remove-scroll/-/remove-scroll-1.144.2.tgz", - "integrity": "sha512-5iAx6uwkMcrq62fsfKTPcd09PSbq8UTYmC7Mdq+U3+S9ESLKfbeuW/z1dft42TdkJLHOZKymdLBrGBC3izFvPg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/remove-scroll/-/remove-scroll-2.0.0-rc.0.tgz", + "integrity": "sha512-dpBhnoXmCUYFrtxtU7XkujLJZkPAu+nbREP9i8+T8jp7Hr8uOxxjIS6tZC3TUDAtvBNDrCxB2H9Ous8nuoGQ8A==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/roving-focus": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/roving-focus/-/roving-focus-1.144.2.tgz", - "integrity": "sha512-8K6ugP/8PnDqmO09KhYwf5ESa3OZaxgiBGrWk04c86Ijyve67nh6pzGWtHgI2/xZOdCV4G+ICmxsWh1UjUVMFg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/roving-focus/-/roving-focus-2.0.0-rc.0.tgz", + "integrity": "sha512-mmc3ljLjjWo8GCijpzPbAeG8TXbk6qPNh+6xqFVwXeotmmuflKljFPtzvm5sPbsOKW5LRRdow2dY8+9l9rwUCQ==", "dependencies": { - "@tamagui/collection": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-direction": "1.144.2", - "@tamagui/use-event": "1.144.2" + "@tamagui/collection": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-direction": "2.0.0-rc.0", + "@tamagui/use-event": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/scroll-view": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/scroll-view/-/scroll-view-1.144.2.tgz", - "integrity": "sha512-mARqPiKndMLpClP6g5gOhAvUW4cirizlfHfbGhu5LkSsFDZs5oFkduxUff5l9UDmBN5OQe24IUzPA/mlfQubUA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/scroll-view/-/scroll-view-2.0.0-rc.0.tgz", + "integrity": "sha512-vk6DMueoDWsgGpPYPd/8RO69xaer7ckxWB+JW4iOUtjhn8aJKFNY1lr4J/nS437aYJzKL18bFraHIvpJbTffRA==", "dependencies": { - "@tamagui/stacks": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8480,35 +8506,36 @@ } }, "node_modules/@tamagui/select": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/select/-/select-1.144.2.tgz", - "integrity": "sha512-aqdjlcJTAzk4uxEBlKj5RIkrRmu41T8HBj3g0wmYH5VsPM8q3DLrqepQf9F1bhpjCzrUIZ/K7+seVdy2FUc1Pg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/select/-/select-2.0.0-rc.0.tgz", + "integrity": "sha512-Z9PK7FRP02sClv/vEA+7trqJaRrNh4D70TC8nGTnXIgAO0Vr3TFWxVuJxJZNN08IVrnYYCk8B0zUSkg4RhzOiw==", "dependencies": { "@floating-ui/react": "^0.27.16", "@floating-ui/react-dom": "^2.1.6", "@floating-ui/react-native": "^0.10.7", - "@tamagui/adapt": "1.144.2", - "@tamagui/animate-presence": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/dismissable": "1.144.2", - "@tamagui/focus-scope": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/list-item": "1.144.2", - "@tamagui/portal": "1.144.2", - "@tamagui/remove-scroll": "1.144.2", - "@tamagui/separator": "1.144.2", - "@tamagui/sheet": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/text": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-debounce": "1.144.2", - "@tamagui/use-event": "1.144.2", - "@tamagui/use-previous": "1.144.2" + "@tamagui/adapt": "2.0.0-rc.0", + "@tamagui/animate-presence": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/dismissable": "2.0.0-rc.0", + "@tamagui/focus-scope": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/list-item": "2.0.0-rc.0", + "@tamagui/native": "2.0.0-rc.0", + "@tamagui/portal": "2.0.0-rc.0", + "@tamagui/remove-scroll": "2.0.0-rc.0", + "@tamagui/separator": "2.0.0-rc.0", + "@tamagui/sheet": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-debounce": "2.0.0-rc.0", + "@tamagui/use-event": "2.0.0-rc.0", + "@tamagui/use-previous": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8517,12 +8544,12 @@ } }, "node_modules/@tamagui/select/node_modules/@floating-ui/react": { - "version": "0.27.16", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.16.tgz", - "integrity": "sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g==", + "version": "0.27.17", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.17.tgz", + "integrity": "sha512-LGVZKHwmWGg6MRHjLLgsfyaX2y2aCNgnD1zT/E6B+/h+vxg+nIJUqHPAlTzsHDyqdgEpJ1Np5kxWuFEErXzoGg==", "license": "MIT", "dependencies": { - "@floating-ui/react-dom": "^2.1.6", + "@floating-ui/react-dom": "^2.1.7", "@floating-ui/utils": "^0.2.10", "tabbable": "^6.0.0" }, @@ -8532,86 +8559,117 @@ } }, "node_modules/@tamagui/separator": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/separator/-/separator-1.144.2.tgz", - "integrity": "sha512-IQYNPLOooRCnWK/TuCdgB5aBnBbvSEzZwGoUlzZYpWsrBv93P+eJLPxA6KhHy4brKRR5kq5MJl9hoBQ4p405Cw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/separator/-/separator-2.0.0-rc.0.tgz", + "integrity": "sha512-O4GGAmhf4bRCyf/eKRPHysjHJspjg/y+HNnixlxelVvWHNd+WaNLtSa20X5hLMDhAhiimmmzjQvHp4IXH8foJw==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/shapes": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/shapes/-/shapes-1.144.2.tgz", - "integrity": "sha512-wN9IErhQndRcnqrbgc39KhXcvnnE9u0YV8XdGrogmr8MxrMY1aF5jM4cB+nX7mq+2R+QuvqFL3c0r6QgrdcTlg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/shapes/-/shapes-2.0.0-rc.0.tgz", + "integrity": "sha512-4HHVEVTInCeQiPYAK2NsF3I1wzHRuFvbPbVhqOXZ0/4fCe6m3LVz7RtpHEIJqjBc6pneFusuG0JRP0apZ1zQBQ==", "dependencies": { - "@tamagui/stacks": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/sheet": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/sheet/-/sheet-1.144.2.tgz", - "integrity": "sha512-R/bctkgjUF7j5TbzLNJP8zhcs0XcBpp7/CHAdBYNMWynhdtxC1poGux1ccx+nEbCkl6f6zgBCAganGd1B8/nKw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/sheet/-/sheet-2.0.0-rc.0.tgz", + "integrity": "sha512-DFROafVdxT/YGMmeVFlPeY5XmeBaSzjvVPVH2OuxbWw/7FRIE3/FFtxxq2qfS+FXzOW19bd+fB6fKqn0C78axw==", "license": "MIT", "dependencies": { - "@tamagui/adapt": "1.144.2", - "@tamagui/animate-presence": "1.144.2", - "@tamagui/animations-react-native": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/portal": "1.144.2", - "@tamagui/remove-scroll": "1.144.2", - "@tamagui/scroll-view": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-constant": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-did-finish-ssr": "1.144.2", - "@tamagui/use-keyboard-visible": "1.144.2", - "@tamagui/z-index-stack": "1.144.2" + "@tamagui/adapt": "2.0.0-rc.0", + "@tamagui/animate-presence": "2.0.0-rc.0", + "@tamagui/animations-react-native": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/native": "2.0.0-rc.0", + "@tamagui/portal": "2.0.0-rc.0", + "@tamagui/remove-scroll": "2.0.0-rc.0", + "@tamagui/scroll-view": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-constant": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-did-finish-ssr": "2.0.0-rc.0", + "@tamagui/use-keyboard-visible": "2.0.0-rc.0", + "@tamagui/z-index-stack": "2.0.0-rc.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-gesture-handler": ">=2.0.0" + }, + "peerDependenciesMeta": { + "react-native-gesture-handler": { + "optional": true + } + } + }, + "node_modules/@tamagui/shorthands": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/shorthands/-/shorthands-2.0.0-rc.0.tgz", + "integrity": "sha512-dTRV7b6lZDJWLQzfdsqYcTKu2UYQGRmtQvY5ZvRe+b0SVqCSX+uBhkq6e0uzyr3xzFChp88bY0IXUNaS3+oHOA==", + "dependencies": { + "@tamagui/web": "2.0.0-rc.0" + } + }, + "node_modules/@tamagui/simple-hash": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-2.0.0-rc.0.tgz", + "integrity": "sha512-0JzMSM6aTqbNzu5NVhVIFdhFEe1byR/ORyZc6n8EbTygje252RHtbgS59cNF6JNvVu1V4qicedmOHIVjE+UIyg==" + }, + "node_modules/@tamagui/sizable-context": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/sizable-context/-/sizable-context-2.0.0-rc.0.tgz", + "integrity": "sha512-nPLdQ2kH3OV7ENhJOOL1ZQCTtwl6kSPCjwdbX9Vu/uqWD6dTRBuxDEzrKAzaN+OZFqNM2Jd+mt1TKhEHgimKsA==", + "license": "MIT", + "dependencies": { + "@tamagui/core": "2.0.0-rc.0" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@tamagui/slider": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/slider/-/slider-2.0.0-rc.0.tgz", + "integrity": "sha512-UtrhM62Rr8fy03ZpVs3+xY6mLFvCew1X1V7v16fEvhQ030tJSpNxpfI2uNk+JhEeZiSoBsy5+0+ts+18WXdeBA==", + "dependencies": { + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-debounce": "2.0.0-rc.0", + "@tamagui/use-direction": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", "react-native": "*" } }, - "node_modules/@tamagui/shorthands": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/shorthands/-/shorthands-1.144.2.tgz", - "integrity": "sha512-Pd+vnY5yCDs3vuqSTinysqpPobIY9t4zOsO5bkFrSlYH5vLCa+Vp+INgZdnyDVr6wc5Ged5xXJ8VZAkytLMuZA==", + "node_modules/@tamagui/spacer": { + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/spacer/-/spacer-2.0.0-rc.0.tgz", + "integrity": "sha512-VuHFn8NPeWCwaYkMssLQ/Fdep6UmqktYcchGs3ciTSTY0KCURY9PIihT/y3uxoTQlMsi8u8kbUWwEuzwFrCgyA==", "dependencies": { - "@tamagui/web": "1.144.2" - } - }, - "node_modules/@tamagui/simple-hash": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/simple-hash/-/simple-hash-1.144.2.tgz", - "integrity": "sha512-jmh2hr4y4rnhT8KGsiIwMoq7G7QmFsJLd11ri0nCsvAS5IBOxmBHbRhtneQJx4a2xcn01TtSMPbn+WN7Cp42sQ==" - }, - "node_modules/@tamagui/slider": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/slider/-/slider-1.144.2.tgz", - "integrity": "sha512-HhBoqWfXGH6bc6T957R05DoN5+yFIDXOEzDrb7YUWQiETq2wFto1lZqkD4JLmb2jaI5ryuLQxdspsCt2ahXGFA==", - "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-debounce": "1.144.2", - "@tamagui/use-direction": "1.144.2" + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8619,30 +8677,31 @@ } }, "node_modules/@tamagui/stacks": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/stacks/-/stacks-1.144.2.tgz", - "integrity": "sha512-QrqzC1YQO8QAt6/01nVhaupiB2JgcqLJL/IdFf0r+vIMSU4J+BS3GSdrqSYc6Ot3efAXkrZfVw0nsFyzOoLpng==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/stacks/-/stacks-2.0.0-rc.0.tgz", + "integrity": "sha512-FgYfYEscWFmZzu2E/A8qqjnsydOd3/bbQxjNXUJa1hhjezHlBP5FCvmLiLqWHcz+7UQUsZ6ErRz87KkRI72hNQ==", "dependencies": { - "@tamagui/core": "1.144.2", - "@tamagui/get-button-sized": "1.144.2" + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/get-button-sized": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/start-transition": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/start-transition/-/start-transition-1.144.2.tgz", - "integrity": "sha512-lbXLZVf+wlItPcVpTjsjzSciqWYu0c0XimIRjCi5Kc9Nj9y+V5xmdzBjNII1m6nzpncYAtd4phgmAw3pC0IF3g==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/start-transition/-/start-transition-2.0.0-rc.0.tgz", + "integrity": "sha512-jQGQ/5kKbrwFUUc7F0mtYZjecvRjMBwksHLBmuRxi1YWoi9DHGp9vIY3ChLTCOAe15OY+UB7/2X1xgk0Ssbt+A==", "license": "MIT", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/static": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/static/-/static-1.144.2.tgz", - "integrity": "sha512-I0b8FkH4a1DzmYOWmHLFWTAO86zvNVoyNDPgsstFRu1WNO8TW1VGIy0oSjB6Z0djbnyJtn9AvlND0k8NdrhRkg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/static/-/static-2.0.0-rc.0.tgz", + "integrity": "sha512-V6JQJ695AyzWq0/XWCxN7BSX3fhPw0t1swPu8dFKcksYpwh0T6fVazKP+/ztyG8Ynh1pGOHR+tnL/M3PVS/9TA==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.2", @@ -8654,21 +8713,21 @@ "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.4", "@babel/types": "^7.25.4", - "@tamagui/cli-color": "1.144.2", - "@tamagui/config-default": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/fake-react-native": "1.144.2", - "@tamagui/generate-themes": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/helpers-node": "1.144.2", - "@tamagui/proxy-worm": "1.144.2", - "@tamagui/react-native-web-internals": "1.144.2", - "@tamagui/react-native-web-lite": "1.144.2", - "@tamagui/shorthands": "1.144.2", - "@tamagui/types": "1.144.2", - "@tamagui/web": "1.144.2", + "@tamagui/cli-color": "2.0.0-rc.0", + "@tamagui/config-default": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/fake-react-native": "2.0.0-rc.0", + "@tamagui/generate-themes": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/helpers-node": "2.0.0-rc.0", + "@tamagui/proxy-worm": "2.0.0-rc.0", + "@tamagui/react-native-web-internals": "2.0.0-rc.0", + "@tamagui/react-native-web-lite": "2.0.0-rc.0", + "@tamagui/shorthands": "2.0.0-rc.0", + "@tamagui/types": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0", "babel-literal-to-ast": "^2.1.0", - "browserslist": "^4.22.2", + "browserslist": "^4.28.1", "check-dependency-version-consistency": "^4.1.0", "esbuild": "^0.25.11", "esbuild-register": "^3.6.0", @@ -8686,32 +8745,32 @@ } }, "node_modules/@tamagui/static-worker": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/static-worker/-/static-worker-1.144.2.tgz", - "integrity": "sha512-OiFjvVOgsaSGl7FlmJBXRm0MLw/SL9yfhGv5yxv79YL0CwPeqFakLMzDomHkH2pXXJVT9131X+MQ+g4qbpUlkQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/static-worker/-/static-worker-2.0.0-rc.0.tgz", + "integrity": "sha512-zvc4ixHEnlzAEOQbplFqjVpljYnwwt4I4piHPaXuOATnUsgHS3LkcxeR8r+4Kjg5r82zHoCyZFBkVBqmsmnqdg==", "license": "MIT", "dependencies": { - "@tamagui/static": "1.144.2", - "@tamagui/types": "1.144.2", + "@tamagui/static": "2.0.0-rc.0", + "@tamagui/types": "2.0.0-rc.0", "piscina": "^4.7.0" } }, "node_modules/@tamagui/switch": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/switch/-/switch-1.144.2.tgz", - "integrity": "sha512-cM3w8urQKh6QGHkZaANuLgKJVD6PiJ3V0VKzA7CA4JW6ylgrvHcCfzTnPchNfuVj0hriTzF9odaX8F2RNnGbow==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/switch/-/switch-2.0.0-rc.0.tgz", + "integrity": "sha512-vhzk52o7yjsrt08YVEooV6ec/QCxfAcZGyCDDGUyflxeILAwrRBJm2lxYz2SdrUhidC1fHBeQcoB/1PPdrue4g==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/label": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/switch-headless": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-previous": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/label": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/switch-headless": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-previous": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8719,15 +8778,15 @@ } }, "node_modules/@tamagui/switch-headless": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/switch-headless/-/switch-headless-1.144.2.tgz", - "integrity": "sha512-K5YC4W1Eerrs4aaJvK97gZs/E9oJDwo3U5hLeN/24r8kZ3aO7WiGUcx6NkWQn5rpUU2I82WYpQue/34TLWBqMA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/switch-headless/-/switch-headless-2.0.0-rc.0.tgz", + "integrity": "sha512-eiNSEPV3WvJEfjtY7hNZcq9evTRXmgB6r75vN0kwng1AONtgANmhjSYaq7A3oKmnYyBv9yaxcoSjegkRuNik5w==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/label": "1.144.2", - "@tamagui/use-previous": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/label": "2.0.0-rc.0", + "@tamagui/use-previous": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8735,22 +8794,24 @@ } }, "node_modules/@tamagui/tabs": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/tabs/-/tabs-1.144.2.tgz", - "integrity": "sha512-0V9Tl1cDV476Af6eOldRSXwA8AiX2Ofz9mkXuZjPbV6Ihc/XcKHncN9w5JuDLryTXu7J6ISb3k4o5EF1+ls/CQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/tabs/-/tabs-2.0.0-rc.0.tgz", + "integrity": "sha512-V0H2cXgmvf+JCnZlfQPt0n2Re3vzCUpcXhNfYipteJV/wBMrK3IahyDQR2dkPCxjFzOQ+GxYXYbDiNiSbFCnfA==", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/get-button-sized": "1.144.2", - "@tamagui/group": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/roving-focus": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-direction": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/element": "2.0.0-rc.0", + "@tamagui/get-button-sized": "2.0.0-rc.0", + "@tamagui/group": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/roving-focus": "2.0.0-rc.0", + "@tamagui/sizable-context": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-direction": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8758,99 +8819,99 @@ } }, "node_modules/@tamagui/text": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/text/-/text-1.144.2.tgz", - "integrity": "sha512-px9O5iltR9xMkv6DwNI4R+QNksFi0+2y6LKxGL2F0gz9ofo+RPSh+9tzMOkPk0aerxCjfURFFA2gBewk/pQ/tg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/text/-/text-2.0.0-rc.0.tgz", + "integrity": "sha512-ewwVIje1G6Rx+IIFTeVwpSN6VhE3oANLyQWt1ylFS6SCcjmjyg5osBjA5W61pUED8zIPGSPYIJTqByzyfsh93w==", "dependencies": { - "@tamagui/get-font-sized": "1.144.2", - "@tamagui/helpers-tamagui": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/get-font-sized": "2.0.0-rc.0", + "@tamagui/helpers-tamagui": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/theme": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/theme/-/theme-1.144.2.tgz", - "integrity": "sha512-sREceLAAtEvqvmPFaVkb/l7By34wV6wQzXpBXiZCwNIS2oRifDsdAFk1Cztj9Y4xvVKv3kFQ4R2hhzRE+UFvHw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/theme/-/theme-2.0.0-rc.0.tgz", + "integrity": "sha512-0txygMEtjYD2DkZemt+itf9KlfLwHdZkVYSFmHnPDgwNp9eacG+RClMCHcthUr6OE3vY9Up+n287T33TI3Vq7g==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/start-transition": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/start-transition": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/theme-builder": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/theme-builder/-/theme-builder-1.144.2.tgz", - "integrity": "sha512-Zhvyt+Qr78fPurfcDUUuroHywk3ZovMz/G0xAJyUnHcDza7ekorKEAK7jAdCZQ68SHWTQR+6ItoEBRlL61akhw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/theme-builder/-/theme-builder-2.0.0-rc.0.tgz", + "integrity": "sha512-XcuH375GpbzxePPzay/WgMnWmlxmMdGPlZfPyHDrDI3HHMVxUJoaNyGFzyYxCGEaXo+IjgfRzWd9aX/wd1zheg==", "dependencies": { - "@tamagui/create-theme": "1.144.2", - "@tamagui/web": "1.144.2", + "@tamagui/create-theme": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0", "color2k": "^2.0.2" } }, "node_modules/@tamagui/themes": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/themes/-/themes-1.144.2.tgz", - "integrity": "sha512-zqbNbj6ltD/mbIoEz//sekC2hRH4+IS0EciXEUJBzx5J0QjaUfZu6cTQT6zuB15SNSeC1Wab3BhH9xvluVC8lQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/themes/-/themes-2.0.0-rc.0.tgz", + "integrity": "sha512-+zkQHWwESgjPf6+3eKLSWPGFV6qt1JTfmHO0GGDVSc8/TRPmGEBOho2UPBIqO49iqWIMWLNfO27tykZ9PSyIgw==", "dependencies": { - "@tamagui/colors": "1.144.2", - "@tamagui/create-theme": "1.144.2", - "@tamagui/theme-builder": "1.144.2", - "@tamagui/web": "1.144.2", + "@tamagui/colors": "2.0.0-rc.0", + "@tamagui/create-theme": "2.0.0-rc.0", + "@tamagui/theme-builder": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0", "color2k": "^2.0.2" } }, "node_modules/@tamagui/timer": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-1.144.2.tgz", - "integrity": "sha512-cpMjC6v3+zHfficl2jEOe3p/S3taqTPq7eedZaq+//kdS4WyrWXA8KR3cjMTzSVMwu9fiy6KZRrM4l/0yrbYnA==" + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/timer/-/timer-2.0.0-rc.0.tgz", + "integrity": "sha512-JEdHKjWUT7X7EbLMmlG866Zb6G0tzI3AK0iHtozKpCK4FOsI+RcjdnKSLJxLz9Mq0YpO6vl3c4FFr6Q5kVxd6w==" }, "node_modules/@tamagui/toggle-group": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/toggle-group/-/toggle-group-1.144.2.tgz", - "integrity": "sha512-d1t4kdNy0ZDeEtvmY3H06LOf3DUWtlFqMjF5lJ1BE8VQs61GmW7jHk/FPBXS3tgDjmyeY2I0ab8KN97rcMrJqQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/toggle-group/-/toggle-group-2.0.0-rc.0.tgz", + "integrity": "sha512-FD9SOUJZbUd0j0soeokUglhWAyNJ2c+AcT0rFTvOZSdKDWTab3bvBpOWvFqM90GHJXwsL6Y5y1SR47lEtavmWA==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/font-size": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/group": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/helpers-tamagui": "1.144.2", - "@tamagui/roving-focus": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-direction": "1.144.2", - "@tamagui/web": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/font-size": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/helpers-tamagui": "2.0.0-rc.0", + "@tamagui/roving-focus": "2.0.0-rc.0", + "@tamagui/sizable-context": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-direction": "2.0.0-rc.0", + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/tooltip": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/tooltip/-/tooltip-1.144.2.tgz", - "integrity": "sha512-/smqhKUbe4egeXrh7b+XiP9on8oyvaU8DzFlCxaIUGsExo0xcU7EZQrTfR0u2178LyHWuXC//fcDqVo6Ni53qg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/tooltip/-/tooltip-2.0.0-rc.0.tgz", + "integrity": "sha512-gdIyRY+ZziPUKwtQS16XTTidEXIf3CMcGtVBwSvijVFDjAn0Aq4+dAAid5qb57j3qZZuQgopCx36JfmiIXMjpQ==", "dependencies": { "@floating-ui/react": "^0.27.16", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/floating": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/polyfill-dev": "1.144.2", - "@tamagui/popover": "1.144.2", - "@tamagui/popper": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/text": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/floating": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/polyfill-dev": "2.0.0-rc.0", + "@tamagui/popover": "2.0.0-rc.0", + "@tamagui/popper": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -8858,12 +8919,12 @@ } }, "node_modules/@tamagui/tooltip/node_modules/@floating-ui/react": { - "version": "0.27.16", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.16.tgz", - "integrity": "sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g==", + "version": "0.27.17", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.17.tgz", + "integrity": "sha512-LGVZKHwmWGg6MRHjLLgsfyaX2y2aCNgnD1zT/E6B+/h+vxg+nIJUqHPAlTzsHDyqdgEpJ1Np5kxWuFEErXzoGg==", "license": "MIT", "dependencies": { - "@floating-ui/react-dom": "^2.1.6", + "@floating-ui/react-dom": "^2.1.7", "@floating-ui/utils": "^0.2.10", "tabbable": "^6.0.0" }, @@ -8873,146 +8934,146 @@ } }, "node_modules/@tamagui/types": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-1.144.2.tgz", - "integrity": "sha512-PwJGJnPn6IEUWQXDpDM9sv4Q3VyhZcRNp/VqknH74lsXcftfMf6X9gwvjc5ZGHorHupts2I1TcTV29rrUh95YA==" + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/types/-/types-2.0.0-rc.0.tgz", + "integrity": "sha512-PXJ6AbUCH/tBE+nBRImwylYD7z2pbb6AIQG3NVlfXum4cX76CxjSqkErZmMYEO6UWpQHK/lqLSbnJtBLeLQt+w==" }, "node_modules/@tamagui/use-async": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-async/-/use-async-1.144.2.tgz", - "integrity": "sha512-65Q4xjcaUeWW63boTn/8gGSX2h9nBX0hUXGp4PASRrAI57IekPy4myo4ps7xKTxZUs8UqriVCyuTzjvhIyO96g==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-async/-/use-async-2.0.0-rc.0.tgz", + "integrity": "sha512-YeH7bzb1g0elbjTEDubU1D6lN3I9zke1TViry4Z+t2onxVIqYNCERiIjxlEbb0Y2sNwBB0boVv3KHpj8lf4s9w==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-callback-ref": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-callback-ref/-/use-callback-ref-1.144.2.tgz", - "integrity": "sha512-MM1BQBP//V6Sa1Ul+cRmnVyRjU7IBJStM1cZ8TfimhAQ0gZM4d4uiNFoQcgOU+gsrHZfNRH2m2crAUCIyzPIBg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-callback-ref/-/use-callback-ref-2.0.0-rc.0.tgz", + "integrity": "sha512-STWDtdMuHN8XyUSYIH9Heolb9zSYseXWb6lk2X3Z4lbc71BWK8JB47xuDRIaNzlvls1GsfbG6g26NHMVERfhCA==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-constant": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-constant/-/use-constant-1.144.2.tgz", - "integrity": "sha512-BdtGdhB5xVs5MgFiybvzjAY3tvsK4v8i2hRn97bwaeX6FGCyLt/R4P9GxeD4GvgQRyk0VFsB8Z+Tq/ehbB/2Hg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-constant/-/use-constant-2.0.0-rc.0.tgz", + "integrity": "sha512-DCS3WOIDI001ZsIesgU1DDnS/qQE4XK+p7C/rEWoNMfEWgx3M66k0EXPLyI2X04ZVH+0UZa1bRjXeeEcdBGTnw==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-controllable-state": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-controllable-state/-/use-controllable-state-1.144.2.tgz", - "integrity": "sha512-G9WZJ3DqRzSTa7QZhjdwueYKK6AauATeOSZ5FpF/lupDuMArhyR72nhX8VnBvKiKa7jM5CbtAdiwbV3Sw5v98A==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-controllable-state/-/use-controllable-state-2.0.0-rc.0.tgz", + "integrity": "sha512-9mT2bGgZHrmDV6lR71TuZl6X46k3LxkYcCkT2c095abcUnBYIE891qdtZV01+FicvpRsx22ylP+bE4kRiejUmA==", "dependencies": { - "@tamagui/start-transition": "1.144.2", - "@tamagui/use-event": "1.144.2" + "@tamagui/start-transition": "2.0.0-rc.0", + "@tamagui/use-event": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-debounce": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-debounce/-/use-debounce-1.144.2.tgz", - "integrity": "sha512-SNyke6fiZQuugFYY2CifnhNgnesBP5QVaALrenDVsbpPrdAclHY3C4nT0NogfGZBNdkNNrgO9jHnEVQNdgE6mA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-debounce/-/use-debounce-2.0.0-rc.0.tgz", + "integrity": "sha512-wYGlR2eY4nIOEalfqNRHquLyGykMB8gTkOAE5Kpo3RE2GYk9ozOeB4dAii9oanHCQwjB37CFtsFaytvnpRnY4Q==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-did-finish-ssr": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-1.144.2.tgz", - "integrity": "sha512-h3IYWlgepV9YTvG3EkUR0YYYQxGIWJQE53b0eAoFEE6r9XUiTG6LdHlnso398ONSgCVbH2B49vuqUH5lYruVOQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-did-finish-ssr/-/use-did-finish-ssr-2.0.0-rc.0.tgz", + "integrity": "sha512-Z4WqXRE4guN5fnPkORRPXvuxkwkrlE+7vs5TzAoK2TcCb1JMmfWari7/Q3NAGM7tBdC6D0Xfu5y1eVr8hkeX5g==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-direction": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-direction/-/use-direction-1.144.2.tgz", - "integrity": "sha512-Az5XCMmia1J6djLv0qXl5P39wU71X7/i+u4w4E5oMR5Mj40nzW4OEIp5TbYwqSnSbuUs9ka49Y6CvpoIxWdbHg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-direction/-/use-direction-2.0.0-rc.0.tgz", + "integrity": "sha512-QeurGP2LTBeYB6dzh4oiEtFoz3gpNrA6GKwq4kg9I9VtvZ+jj+OUlpP0JNbGmq9dcmCFefSL2vlkPYZqkDB8WA==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-element-layout": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-element-layout/-/use-element-layout-1.144.2.tgz", - "integrity": "sha512-01mgzPk8PISYcWDtP1hU8Dt6MxxEAVi07SaUsvZZ+VyHUlYPhfB9JLA6jbWmG4fAXucGrq/ql2lJ/ssBWpgYaQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-element-layout/-/use-element-layout-2.0.0-rc.0.tgz", + "integrity": "sha512-NKDnHAvaAGvcJsa8jwDy9ys0AIijqZ5lfKmcC4bGYGNHbZqZon3PI9vtJgx7mDMy/e/DG0YmfK7yihcqvWjVug==", "dependencies": { - "@tamagui/constants": "1.144.2", - "@tamagui/is-equal-shallow": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/is-equal-shallow": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-escape-keydown": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-escape-keydown/-/use-escape-keydown-1.144.2.tgz", - "integrity": "sha512-xPWUNvTj74r8TrLRvK8hrqxX4+BCp6kJb12yQgYGNzSOTpfB4dzlhU2yXTAWwnzY7tEsB0LSkpgChIH0K/A23g==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-escape-keydown/-/use-escape-keydown-2.0.0-rc.0.tgz", + "integrity": "sha512-j736/j/qvivLtQlZTYUvmjbkJBC7xLNdatZfO2NabtvqsXkGB8HY/3HXNmLsfei+Wv3WpOVuQ+7PJwD8ZFGM0Q==", "dependencies": { - "@tamagui/use-callback-ref": "1.144.2" + "@tamagui/use-callback-ref": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-event": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-event/-/use-event-1.144.2.tgz", - "integrity": "sha512-7V+Uya9zwdyV7kpkdFbAGKjKcbhRZ5bG5sHULy9Tz+YMOCGJ4YYNq6uEVIr9aWoGL2lQHpWrmeX38TZlyVikAQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-event/-/use-event-2.0.0-rc.0.tgz", + "integrity": "sha512-Fq9l88WZ3FaVogDfqcCvTSDBm4ePFoXS4WeNIM+gVzsxsd9IcEpSaWep15m92BGzA5ywRadc8/A002X1NrjlWw==", "dependencies": { - "@tamagui/constants": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-force-update": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-1.144.2.tgz", - "integrity": "sha512-C6G4i2p1BQyUXKiThzWhuFP/HtRCfLfWuNtRyrhv9a8RBQOJNkQXoIvCDXkxstpBhczXF2Cly05JQTQb6ckmfQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-force-update/-/use-force-update-2.0.0-rc.0.tgz", + "integrity": "sha512-Y424qmiJDw0jFnDcG4scRdY5EEvTjll9vJ4qXPwSUSlTCN4eQKCswbmNoof4LDurkLfmeHz0+kZ/5Qn9PBJEdg==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-keyboard-visible": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-keyboard-visible/-/use-keyboard-visible-1.144.2.tgz", - "integrity": "sha512-0u5WBVcuBWz4fcSWpV9kSuVRIagOy3ZWddD5+aTKrVFBKIGnBf8fNu1GkNA6oDX7cih23k9cvPjPoWdfxtWXqA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-keyboard-visible/-/use-keyboard-visible-2.0.0-rc.0.tgz", + "integrity": "sha512-akhiAhM3Gdsyyf8rKUAbblCXSv/NbFhUyMmEIN4GsCrpMo0abbqu+tz6qdZsToppydYWL7e2kbs+e9bwyx3y7w==", "peerDependencies": { "react": "*", "react-native": "*" } }, "node_modules/@tamagui/use-presence": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-presence/-/use-presence-1.144.2.tgz", - "integrity": "sha512-zT5+0PUo4bVBrSFRjCvPBmfNuyY4pZxVtSCA22kDYktf5oVe5yM/ggxv4bF0eTRTl+U5IaZkKpCgV5EiNZkiXw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-presence/-/use-presence-2.0.0-rc.0.tgz", + "integrity": "sha512-OzdilhYjnIjwnz7EcStqYaf+yVkdv9o9bt4En9FKhtmtmB5Fl/dlCfVIYipV1YZxI7Oj5OOdyNMa3ZxkBlUJqw==", "dependencies": { - "@tamagui/web": "1.144.2" + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-previous": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-previous/-/use-previous-1.144.2.tgz", - "integrity": "sha512-K4/2Y2GC4LyHyVu+9W+jAIlcW7vrJ90ZitbPpri3tTFZzI8fcGN6OzUXzrCv8XrvUJuczD14Ww9Sd3RuiiISfA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-previous/-/use-previous-2.0.0-rc.0.tgz", + "integrity": "sha512-YhKKZ/T/E2WpCCKvU8N+0zJHS8pN6sZ1TpSop4AJlaXNn9xelwPJzm/QJjOY/l+t/q+Rn+RzwPeBRY7LGbOkTw==", "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/use-window-dimensions": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/use-window-dimensions/-/use-window-dimensions-1.144.2.tgz", - "integrity": "sha512-03vB3VmZI8dA+eptuo8dOWgkNmBK9NqxCZnbzeRzfimie8bZHs18gCipPWAH5wiVonwXBWl09RFtppiqJi23Qw==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/use-window-dimensions/-/use-window-dimensions-2.0.0-rc.0.tgz", + "integrity": "sha512-GnWkSRQloV0uMUnG6mrBwggYf6CroTZLxVuDYzoBLRidQUN2ETGMxDHeY6pqBodqfJMs5UOK2u2+7wGVIZvmlw==", "dependencies": { - "@tamagui/constants": "1.144.2" + "@tamagui/constants": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -9020,28 +9081,28 @@ } }, "node_modules/@tamagui/visually-hidden": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/visually-hidden/-/visually-hidden-1.144.2.tgz", - "integrity": "sha512-6AzY95untt6o6OYAwc0U/Hzmx/QlStEdMWu/iyfsyUlSodkZeAMN5nzcW0uNXQOIqR/ujAbQDbZ3/14wwHflSQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/visually-hidden/-/visually-hidden-2.0.0-rc.0.tgz", + "integrity": "sha512-yYPHPvE3Pr46vejaqQiZeMzsEd3noRWCku6frDdolHMJRM5sMc8k9LKfSPUGNDLqnjHshilO5xtXL/jVRyJl6w==", "dependencies": { - "@tamagui/web": "1.144.2" + "@tamagui/web": "2.0.0-rc.0" }, "peerDependencies": { "react": "*" } }, "node_modules/@tamagui/vite-plugin": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/vite-plugin/-/vite-plugin-1.144.2.tgz", - "integrity": "sha512-zUod5a3BIGgLyhEwLKaVRidsbBmS4TGbc0fP1h48UQospr5AQaDDEm411mIFZnpeieUJ2R/SoWHlZxgNEkSSxA==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/vite-plugin/-/vite-plugin-2.0.0-rc.0.tgz", + "integrity": "sha512-sxAiQuXJMqWlHp5sR2t7TqLO9F35L2Sxn8rcEt+vdawFEQDwcPcvkcVrH62QC+fqXANLKfY15nQVq5NGvYZiSg==", "license": "MIT", "dependencies": { - "@tamagui/fake-react-native": "1.144.2", - "@tamagui/proxy-worm": "1.144.2", - "@tamagui/react-native-svg": "1.144.2", - "@tamagui/react-native-web-lite": "1.144.2", - "@tamagui/static-worker": "1.144.2", - "@tamagui/types": "1.144.2", + "@tamagui/fake-react-native": "2.0.0-rc.0", + "@tamagui/proxy-worm": "2.0.0-rc.0", + "@tamagui/react-native-svg": "2.0.0-rc.0", + "@tamagui/react-native-web-lite": "2.0.0-rc.0", + "@tamagui/static-worker": "2.0.0-rc.0", + "@tamagui/types": "2.0.0-rc.0", "esm-resolve": "^1.0.8", "fs-extra": "^11.2.0", "outdent": "^0.8.0", @@ -9052,21 +9113,22 @@ } }, "node_modules/@tamagui/web": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-1.144.2.tgz", - "integrity": "sha512-DcBVlYyfJ418BrPHTBcW/0jZsiU9/fjxMYgSoKK8g1XR2UK3uCxM7RrawlIP5enldiWMM190clUNUvmFxB/nqQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/web/-/web-2.0.0-rc.0.tgz", + "integrity": "sha512-jNtGeZR83IuavnD4bZ5tJ8oYgbIT8siNZIblkqJqcI6TqFOpTkDmQPjkvKbtma7c2JUMbrHXEysako1TadQVvg==", "license": "MIT", "dependencies": { - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/helpers": "1.144.2", - "@tamagui/is-equal-shallow": "1.144.2", - "@tamagui/normalize-css-color": "1.144.2", - "@tamagui/timer": "1.144.2", - "@tamagui/types": "1.144.2", - "@tamagui/use-did-finish-ssr": "1.144.2", - "@tamagui/use-event": "1.144.2", - "@tamagui/use-force-update": "1.144.2" + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/helpers": "2.0.0-rc.0", + "@tamagui/is-equal-shallow": "2.0.0-rc.0", + "@tamagui/native": "2.0.0-rc.0", + "@tamagui/normalize-css-color": "2.0.0-rc.0", + "@tamagui/timer": "2.0.0-rc.0", + "@tamagui/types": "2.0.0-rc.0", + "@tamagui/use-did-finish-ssr": "2.0.0-rc.0", + "@tamagui/use-event": "2.0.0-rc.0", + "@tamagui/use-force-update": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", @@ -9075,9 +9137,9 @@ } }, "node_modules/@tamagui/z-index-stack": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/@tamagui/z-index-stack/-/z-index-stack-1.144.2.tgz", - "integrity": "sha512-BL/dyxEIQz2B53+cZA72PZS8QwbyHaUxwd/dYaLLAu5KnTXq+u1D1sXKAli/T0IfesYzfL6N55bcTIwn7jWknQ==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@tamagui/z-index-stack/-/z-index-stack-2.0.0-rc.0.tgz", + "integrity": "sha512-Ah0r8vekq0mWc6zbnI1HyUKWYiHVLEyjaac7BNzTU6E3SDy+4ber+la6We2JVWF7ZqFaarlFhmnwKvLNrw+KrA==", "peerDependencies": { "react": "*" } @@ -13866,13 +13928,13 @@ } }, "node_modules/framer-motion": { - "version": "12.26.2", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.26.2.tgz", - "integrity": "sha512-lflOQEdjquUi9sCg5Y1LrsZDlsjrHw7m0T9Yedvnk7Bnhqfkc89/Uha10J3CFhkL+TCZVCRw9eUGyM/lyYhXQA==", + "version": "12.29.2", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.29.2.tgz", + "integrity": "sha512-lSNRzBJk4wuIy0emYQ/nfZ7eWhqud2umPKw2QAQki6uKhZPKm2hRQHeQoHTG9MIvfobb+A/LbEWPJU794ZUKrg==", "license": "MIT", "dependencies": { - "motion-dom": "^12.26.2", - "motion-utils": "^12.24.10", + "motion-dom": "^12.29.2", + "motion-utils": "^12.29.2", "tslib": "^2.4.0" }, "peerDependencies": { @@ -13892,15 +13954,6 @@ } } }, - "node_modules/framesync": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz", - "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -14648,16 +14701,10 @@ "hermes-estree": "0.32.0" } }, - "node_modules/hey-listen": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", - "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==", - "license": "MIT" - }, "node_modules/hono": { - "version": "4.11.4", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.4.tgz", - "integrity": "sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==", + "version": "4.11.7", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.7.tgz", + "integrity": "sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==", "dev": true, "license": "MIT", "peer": true, @@ -16647,16 +16694,16 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "dev": true, "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.22", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.22.tgz", - "integrity": "sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", "license": "MIT" }, "node_modules/lodash.debounce": { @@ -17451,52 +17498,45 @@ "node": ">=10" } }, - "node_modules/moti": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/moti/-/moti-0.30.0.tgz", - "integrity": "sha512-YN78mcefo8kvJaL+TZNyusq6YA2aMFvBPl8WiLPy4eb4wqgOFggJOjP9bUr2YO8PrAt0uusmRG8K4RPL4OhCsA==", + "node_modules/motion": { + "version": "12.29.2", + "resolved": "https://registry.npmjs.org/motion/-/motion-12.29.2.tgz", + "integrity": "sha512-jMpHdAzEDF1QQ055cB+1lOBLdJ6ialVWl6QQzpJI2OvmHequ7zFVHM2mx0HNAy+Tu4omUlApfC+4vnkX0geEOg==", "license": "MIT", "dependencies": { - "framer-motion": "^6.5.1" + "framer-motion": "^12.29.2", + "tslib": "^2.4.0" }, "peerDependencies": { - "react-native-reanimated": "*" - } - }, - "node_modules/moti/node_modules/framer-motion": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.5.1.tgz", - "integrity": "sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==", - "license": "MIT", - "dependencies": { - "@motionone/dom": "10.12.0", - "framesync": "6.0.1", - "hey-listen": "^1.0.8", - "popmotion": "11.0.3", - "style-value-types": "5.0.0", - "tslib": "^2.1.0" + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" }, - "optionalDependencies": { - "@emotion/is-prop-valid": "^0.8.2" - }, - "peerDependencies": { - "react": ">=16.8 || ^17.0.0 || ^18.0.0", - "react-dom": ">=16.8 || ^17.0.0 || ^18.0.0" + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, "node_modules/motion-dom": { - "version": "12.26.2", - "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.26.2.tgz", - "integrity": "sha512-KLMT1BroY8oKNeliA3JMNJ+nbCIsTKg6hJpDb4jtRAJ7nCKnnpg/LTq/NGqG90Limitz3kdAnAVXecdFVGlWTw==", + "version": "12.29.2", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.29.2.tgz", + "integrity": "sha512-/k+NuycVV8pykxyiTCoFzIVLA95Nb1BFIVvfSu9L50/6K6qNeAYtkxXILy/LRutt7AzaYDc2myj0wkCVVYAPPA==", "license": "MIT", "dependencies": { - "motion-utils": "^12.24.10" + "motion-utils": "^12.29.2" } }, "node_modules/motion-utils": { - "version": "12.24.10", - "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.24.10.tgz", - "integrity": "sha512-x5TFgkCIP4pPsRLpKoI86jv/q8t8FQOiM/0E8QKBzfMozWHfkKap2gA1hOki+B5g3IsBNpxbUnfOum1+dgvYww==", + "version": "12.29.2", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.29.2.tgz", + "integrity": "sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A==", "license": "MIT" }, "node_modules/ms": { @@ -18591,18 +18631,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/popmotion": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz", - "integrity": "sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==", - "license": "MIT", - "dependencies": { - "framesync": "6.0.1", - "hey-listen": "^1.0.8", - "style-value-types": "5.0.0", - "tslib": "^2.1.0" - } - }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -21153,16 +21181,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/style-value-types": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz", - "integrity": "sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==", - "license": "MIT", - "dependencies": { - "hey-listen": "^1.0.8", - "tslib": "^2.1.0" - } - }, "node_modules/styleq": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/styleq/-/styleq-0.1.3.tgz", @@ -21349,63 +21367,66 @@ } }, "node_modules/tamagui": { - "version": "1.144.2", - "resolved": "https://registry.npmjs.org/tamagui/-/tamagui-1.144.2.tgz", - "integrity": "sha512-E1niK9g7/J0k+LJkOnXeIAqX8ZwjYoAJRyPgv/16q8BrZMrOz9VVv09kjBTMz20oqN3bnnkM0Vj8/nLOhrOLWg==", + "version": "2.0.0-rc.0", + "resolved": "https://registry.npmjs.org/tamagui/-/tamagui-2.0.0-rc.0.tgz", + "integrity": "sha512-LOI6WV4k2CW9bIBAkMu4gNT9eESrMmRFhxySO/EeJBYSeMQST2Vp3gJh0O+thrRuaDSUVmHBRMy/IkrV6yT7ug==", "dependencies": { - "@tamagui/accordion": "1.144.2", - "@tamagui/adapt": "1.144.2", - "@tamagui/alert-dialog": "1.144.2", - "@tamagui/animate-presence": "1.144.2", - "@tamagui/avatar": "1.144.2", - "@tamagui/button": "1.144.2", - "@tamagui/card": "1.144.2", - "@tamagui/checkbox": "1.144.2", - "@tamagui/compose-refs": "1.144.2", - "@tamagui/constants": "1.144.2", - "@tamagui/core": "1.144.2", - "@tamagui/create-context": "1.144.2", - "@tamagui/dialog": "1.144.2", - "@tamagui/elements": "1.144.2", - "@tamagui/fake-react-native": "1.144.2", - "@tamagui/focusable": "1.144.2", - "@tamagui/font-size": "1.144.2", - "@tamagui/form": "1.144.2", - "@tamagui/get-button-sized": "1.144.2", - "@tamagui/get-font-sized": "1.144.2", - "@tamagui/get-token": "1.144.2", - "@tamagui/group": "1.144.2", - "@tamagui/helpers-tamagui": "1.144.2", - "@tamagui/image": "1.144.2", - "@tamagui/label": "1.144.2", - "@tamagui/linear-gradient": "1.144.2", - "@tamagui/list-item": "1.144.2", - "@tamagui/polyfill-dev": "1.144.2", - "@tamagui/popover": "1.144.2", - "@tamagui/popper": "1.144.2", - "@tamagui/portal": "1.144.2", - "@tamagui/progress": "1.144.2", - "@tamagui/radio-group": "1.144.2", - "@tamagui/react-native-media-driver": "1.144.2", - "@tamagui/scroll-view": "1.144.2", - "@tamagui/select": "1.144.2", - "@tamagui/separator": "1.144.2", - "@tamagui/shapes": "1.144.2", - "@tamagui/sheet": "1.144.2", - "@tamagui/slider": "1.144.2", - "@tamagui/stacks": "1.144.2", - "@tamagui/switch": "1.144.2", - "@tamagui/tabs": "1.144.2", - "@tamagui/text": "1.144.2", - "@tamagui/theme": "1.144.2", - "@tamagui/toggle-group": "1.144.2", - "@tamagui/tooltip": "1.144.2", - "@tamagui/use-controllable-state": "1.144.2", - "@tamagui/use-debounce": "1.144.2", - "@tamagui/use-force-update": "1.144.2", - "@tamagui/use-window-dimensions": "1.144.2", - "@tamagui/visually-hidden": "1.144.2", - "@tamagui/z-index-stack": "1.144.2" + "@tamagui/accordion": "2.0.0-rc.0", + "@tamagui/adapt": "2.0.0-rc.0", + "@tamagui/alert-dialog": "2.0.0-rc.0", + "@tamagui/animate-presence": "2.0.0-rc.0", + "@tamagui/avatar": "2.0.0-rc.0", + "@tamagui/button": "2.0.0-rc.0", + "@tamagui/card": "2.0.0-rc.0", + "@tamagui/checkbox": "2.0.0-rc.0", + "@tamagui/compose-refs": "2.0.0-rc.0", + "@tamagui/constants": "2.0.0-rc.0", + "@tamagui/core": "2.0.0-rc.0", + "@tamagui/create-context": "2.0.0-rc.0", + "@tamagui/dialog": "2.0.0-rc.0", + "@tamagui/element": "2.0.0-rc.0", + "@tamagui/elements": "2.0.0-rc.0", + "@tamagui/fake-react-native": "2.0.0-rc.0", + "@tamagui/focusable": "2.0.0-rc.0", + "@tamagui/font-size": "2.0.0-rc.0", + "@tamagui/form": "2.0.0-rc.0", + "@tamagui/get-button-sized": "2.0.0-rc.0", + "@tamagui/get-font-sized": "2.0.0-rc.0", + "@tamagui/get-token": "2.0.0-rc.0", + "@tamagui/group": "2.0.0-rc.0", + "@tamagui/helpers-tamagui": "2.0.0-rc.0", + "@tamagui/image": "2.0.0-rc.0", + "@tamagui/input": "2.0.0-rc.0", + "@tamagui/label": "2.0.0-rc.0", + "@tamagui/linear-gradient": "2.0.0-rc.0", + "@tamagui/list-item": "2.0.0-rc.0", + "@tamagui/polyfill-dev": "2.0.0-rc.0", + "@tamagui/popover": "2.0.0-rc.0", + "@tamagui/popper": "2.0.0-rc.0", + "@tamagui/portal": "2.0.0-rc.0", + "@tamagui/progress": "2.0.0-rc.0", + "@tamagui/radio-group": "2.0.0-rc.0", + "@tamagui/react-native-media-driver": "2.0.0-rc.0", + "@tamagui/scroll-view": "2.0.0-rc.0", + "@tamagui/select": "2.0.0-rc.0", + "@tamagui/separator": "2.0.0-rc.0", + "@tamagui/shapes": "2.0.0-rc.0", + "@tamagui/sheet": "2.0.0-rc.0", + "@tamagui/slider": "2.0.0-rc.0", + "@tamagui/spacer": "2.0.0-rc.0", + "@tamagui/stacks": "2.0.0-rc.0", + "@tamagui/switch": "2.0.0-rc.0", + "@tamagui/tabs": "2.0.0-rc.0", + "@tamagui/text": "2.0.0-rc.0", + "@tamagui/theme": "2.0.0-rc.0", + "@tamagui/toggle-group": "2.0.0-rc.0", + "@tamagui/tooltip": "2.0.0-rc.0", + "@tamagui/use-controllable-state": "2.0.0-rc.0", + "@tamagui/use-debounce": "2.0.0-rc.0", + "@tamagui/use-force-update": "2.0.0-rc.0", + "@tamagui/use-window-dimensions": "2.0.0-rc.0", + "@tamagui/visually-hidden": "2.0.0-rc.0", + "@tamagui/z-index-stack": "2.0.0-rc.0" }, "peerDependencies": { "react": "*", diff --git a/package.json b/package.json index 26d3b25..fc95373 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@eslint/js": "^9.19.0", "@laravel/vite-plugin-wayfinder": "^0.1.7", "@playwright/test": "^1.57.0", - "@tamagui/cli": "^1.144.2", + "@tamagui/cli": "^2.0.0-rc.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.1", "@testing-library/user-event": "^14.6.1", @@ -71,17 +71,18 @@ "@sentry/vite-plugin": "^4.6.2", "@stripe/stripe-js": "^8.6.1", "@tailwindcss/vite": "^4.1.18", - "@tamagui/button": "~1.144.2", - "@tamagui/config": "~1.144.2", - "@tamagui/font": "~1.144.2", - "@tamagui/group": "~1.144.2", - "@tamagui/list-item": "~1.144.2", - "@tamagui/radio-group": "~1.144.2", - "@tamagui/stacks": "~1.144.2", - "@tamagui/switch": "~1.144.2", - "@tamagui/text": "~1.144.2", - "@tamagui/themes": "~1.144.2", - "@tamagui/vite-plugin": "~1.144.2", + "@tamagui/animations-react-native": "^2.0.0-rc.0", + "@tamagui/button": "~2.0.0-rc.0", + "@tamagui/config": "~2.0.0-rc.0", + "@tamagui/font": "~2.0.0-rc.0", + "@tamagui/group": "~2.0.0-rc.0", + "@tamagui/list-item": "~2.0.0-rc.0", + "@tamagui/radio-group": "~2.0.0-rc.0", + "@tamagui/stacks": "~2.0.0-rc.0", + "@tamagui/switch": "~2.0.0-rc.0", + "@tamagui/text": "~2.0.0-rc.0", + "@tamagui/themes": "~2.0.0-rc.0", + "@tamagui/vite-plugin": "~2.0.0-rc.0", "@tanstack/react-query": "^5.90.19", "@types/react": "^19.2.8", "@types/react-dom": "^19.2.3", @@ -114,7 +115,7 @@ "tailwind-merge": "^3.4.0", "tailwindcss": "^4.0.0", "tailwindcss-animate": "^1.0.7", - "tamagui": "^1.144.2", + "tamagui": "^2.0.0-rc.0", "typescript": "^5.9.3", "vite": "^7.3.1" }, diff --git a/resources/css/app.css b/resources/css/app.css index 9d5b04f..b6070e3 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -4,6 +4,54 @@ @import '../../public/fonts/google/fonts.css'; +@keyframes guestNightAmbientDrift { + 0% { + background-position: 0% 0%, 100% 0%, 0% 0%; + } + 50% { + background-position: 12% 8%, 88% 12%, 0% 0%; + } + 100% { + background-position: 0% 0%, 100% 0%, 0% 0%; + } +} + +@keyframes guestNightShimmer { + 0% { + transform: translateX(-180px); + opacity: 0.25; + } + 45% { + transform: translateX(180px); + opacity: 0.75; + } + 100% { + transform: translateX(180px); + opacity: 0.25; + } +} + +@keyframes guestCompassFlyIn { + 0% { + opacity: 0; + transform: translate(120px, 260px) scale(0.35) rotate(-90deg); + } + 60% { + opacity: 1; + transform: translate(0px, 0px) scale(1.05) rotate(8deg); + } + 100% { + opacity: 1; + transform: translate(0px, 0px) scale(1) rotate(0deg); + } +} + +.guest-compass-flyin { + animation: guestCompassFlyIn 650ms cubic-bezier(0.2, 0.8, 0.2, 1) both; + transform-origin: center; + will-change: transform, opacity; +} + @source '../views'; @source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php'; diff --git a/resources/js/admin/DevTenantSwitcher.tsx b/resources/js/admin/DevTenantSwitcher.tsx index 8e75ad9..b857706 100644 --- a/resources/js/admin/DevTenantSwitcher.tsx +++ b/resources/js/admin/DevTenantSwitcher.tsx @@ -93,7 +93,7 @@ export function DevTenantSwitcher({ bottomOffset = 16, variant = 'floating' }: D borderColor="rgba(234,179,8,0.5)" backgroundColor="rgba(255,255,255,0.95)" padding="$3" - space="$2" + gap="$2" borderRadius="$4" shadowColor="#f59e0b" shadowOpacity={0.25} @@ -102,7 +102,7 @@ export function DevTenantSwitcher({ bottomOffset = 16, variant = 'floating' }: D maxWidth={320} > - + Demo tenants @@ -119,7 +119,7 @@ export function DevTenantSwitcher({ bottomOffset = 16, variant = 'floating' }: D aria-label="Switcher minimieren" /> - + {DEV_TENANT_KEYS.map(({ key, label }) => ( + ), +})); + +vi.mock('lucide-react', () => ({ + Home: () => home, + Image: () => image, + Share2: () => share, +})); + +import BottomDock from '../components/BottomDock'; + +describe('BottomDock', () => { + it('renders navigation labels', () => { + render(); + + expect(screen.getByText('Home')).toBeInTheDocument(); + expect(screen.getByText('Gallery')).toBeInTheDocument(); + expect(screen.getByText('Share')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/EventLayout.test.tsx b/resources/js/guest-v2/__tests__/EventLayout.test.tsx new file mode 100644 index 0000000..fd6cc75 --- /dev/null +++ b/resources/js/guest-v2/__tests__/EventLayout.test.tsx @@ -0,0 +1,53 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; + +let identityState = { hydrated: true, name: '' }; + +vi.mock('react-router-dom', () => ({ + useParams: () => ({ token: 'demo-token' }), + Navigate: ({ to }: { to: string }) =>
navigate:{to}
, + Outlet: () =>
outlet
, +})); + +vi.mock('../context/EventDataContext', () => ({ + EventDataProvider: ({ children }: { children: React.ReactNode }) => <>{children}, + useEventData: () => ({ event: null }), +})); + +vi.mock('@/guest/context/EventBrandingContext', () => ({ + EventBrandingProvider: ({ children }: { children: React.ReactNode }) => <>{children}, +})); + +vi.mock('@/guest/i18n/LocaleContext', () => ({ + LocaleProvider: ({ children }: { children: React.ReactNode }) => <>{children}, + DEFAULT_LOCALE: 'de', + isLocaleCode: () => true, +})); + +vi.mock('@/guest/context/NotificationCenterContext', () => ({ + NotificationCenterProvider: ({ children }: { children: React.ReactNode }) => <>{children}, +})); + +vi.mock('../context/GuestIdentityContext', () => ({ + GuestIdentityProvider: ({ children }: { children: React.ReactNode }) => <>{children}, + useOptionalGuestIdentity: () => identityState, +})); + +import EventLayout from '../layouts/EventLayout'; + +describe('EventLayout profile gate', () => { + it('redirects to setup when profile is missing', () => { + identityState = { hydrated: true, name: '' }; + render(); + + expect(screen.getByText('navigate:/setup/demo-token')).toBeInTheDocument(); + }); + + it('renders outlet when profile exists', () => { + identityState = { hydrated: true, name: 'Ava' }; + render(); + + expect(screen.getByText('outlet')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/HelpCenterScreen.test.tsx b/resources/js/guest-v2/__tests__/HelpCenterScreen.test.tsx new file mode 100644 index 0000000..ff956c9 --- /dev/null +++ b/resources/js/guest-v2/__tests__/HelpCenterScreen.test.tsx @@ -0,0 +1,73 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ children, ...rest }: { children: React.ReactNode }) => ( + + ), +})); + +vi.mock('@tamagui/input', () => ({ + Input: ({ value }: { value?: string }) => , +})); + +vi.mock('../components/AppShell', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../components/StandaloneShell', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../components/SurfaceCard', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@/guest/components/PullToRefresh', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ t: (_key: string, fallback?: string) => fallback ?? _key, locale: 'de' }), +})); + +vi.mock('@/guest/i18n/LocaleContext', () => ({ + useLocale: () => ({ locale: 'de' }), +})); + +vi.mock('@/guest/services/helpApi', () => ({ + getHelpArticles: () => Promise.resolve({ + servedFromCache: false, + articles: [{ slug: 'intro', title: 'Intro', summary: 'Summary', updated_at: null }], + }), +})); + +vi.mock('@/hooks/use-appearance', () => ({ + useAppearance: () => ({ resolved: 'light' }), +})); + +vi.mock('react-router-dom', () => ({ + useParams: () => ({}), + Link: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +import HelpCenterScreen from '../screens/HelpCenterScreen'; + +describe('HelpCenterScreen', () => { + it('renders help center title', async () => { + render(); + expect(await screen.findByText('help.center.title')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/HomeScreen.test.tsx b/resources/js/guest-v2/__tests__/HomeScreen.test.tsx new file mode 100644 index 0000000..60c2967 --- /dev/null +++ b/resources/js/guest-v2/__tests__/HomeScreen.test.tsx @@ -0,0 +1,75 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { EventDataProvider } from '../context/EventDataContext'; + +vi.mock('react-router-dom', () => ({ + useNavigate: () => vi.fn(), +})); + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ children, ...rest }: { children: React.ReactNode }) => ( + + ), +})); + +vi.mock('lucide-react', () => ({ + Camera: () => camera, + Sparkles: () => sparkles, + Image: () => image, + Star: () => star, + Trophy: () => trophy, +})); + +vi.mock('../components/AppShell', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../services/uploadApi', () => ({ + useUploadQueue: () => ({ items: [], loading: false, refresh: vi.fn() }), +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ t: (key: string, fallback?: string) => fallback ?? key, locale: 'de' }), +})); + +vi.mock('@/hooks/use-appearance', () => ({ + useAppearance: () => ({ resolved: 'light' }), +})); + +import HomeScreen from '../screens/HomeScreen'; + +describe('HomeScreen', () => { + it('shows prompt quest content when tasks are enabled', () => { + render( + + + + ); + + expect(screen.getByText('Prompt quest')).toBeInTheDocument(); + expect(screen.getByText('Start prompt')).toBeInTheDocument(); + }); + + it('shows capture-ready content when tasks are disabled', () => { + render( + + + + ); + + expect(screen.getByText('Capture ready')).toBeInTheDocument(); + expect(screen.getByText('Upload / Take photo')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/LandingScreen.test.tsx b/resources/js/guest-v2/__tests__/LandingScreen.test.tsx new file mode 100644 index 0000000..0859c3a --- /dev/null +++ b/resources/js/guest-v2/__tests__/LandingScreen.test.tsx @@ -0,0 +1,61 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { LocaleProvider } from '@/guest/i18n/LocaleContext'; + +vi.mock('react-router-dom', () => ({ + useNavigate: () => vi.fn(), +})); + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ children, ...rest }: { children: React.ReactNode }) => ( + + ), +})); + +vi.mock('@tamagui/input', () => ({ + Input: ({ ...rest }: { [key: string]: unknown }) => , +})); + +vi.mock('@tamagui/card', () => ({ + Card: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('html5-qrcode', () => ({ + Html5Qrcode: vi.fn().mockImplementation(() => ({ + start: vi.fn(), + stop: vi.fn(), + })), +})); + +vi.mock('lucide-react', () => ({ + QrCode: () => qr, + ArrowRight: () => arrow, +})); + +import LandingScreen from '../screens/LandingScreen'; + +describe('LandingScreen', () => { + it('renders join panel copy', () => { + render( + + + + ); + + expect(screen.getByRole('button', { name: 'Event beitreten' })).toBeInTheDocument(); + expect(screen.getAllByText('Event beitreten').length).toBeGreaterThan(1); + expect(screen.getByPlaceholderText('Event-Code eingeben')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/NotFoundScreen.test.tsx b/resources/js/guest-v2/__tests__/NotFoundScreen.test.tsx new file mode 100644 index 0000000..870f1cf --- /dev/null +++ b/resources/js/guest-v2/__tests__/NotFoundScreen.test.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ + t: (_key: string, fallback?: string) => fallback ?? _key, + }), +})); + +import NotFoundScreen from '../screens/NotFoundScreen'; + +describe('NotFoundScreen', () => { + it('renders fallback copy', () => { + render(); + + expect(screen.getByText('Seite nicht gefunden')).toBeInTheDocument(); + expect(screen.getByText('Die Seite konnte nicht gefunden werden.')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/PhotoLightboxScreen.test.tsx b/resources/js/guest-v2/__tests__/PhotoLightboxScreen.test.tsx new file mode 100644 index 0000000..0d2f058 --- /dev/null +++ b/resources/js/guest-v2/__tests__/PhotoLightboxScreen.test.tsx @@ -0,0 +1,70 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; + +vi.mock('react-router-dom', () => ({ + useParams: () => ({ photoId: '123' }), + useNavigate: () => vi.fn(), +})); + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ children, ...rest }: { children: React.ReactNode }) => ( + + ), +})); + +vi.mock('../components/AppShell', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../components/SurfaceCard', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../context/EventDataContext', () => ({ + useEventData: () => ({ token: 'token' }), +})); + +vi.mock('../services/photosApi', () => ({ + fetchGallery: vi.fn().mockResolvedValue({ data: [], next_cursor: null, latest_photo_at: null }), + fetchPhoto: vi.fn().mockResolvedValue({ id: 123, file_path: 'storage/demo.jpg', likes_count: 5 }), + likePhoto: vi.fn().mockResolvedValue(6), + createPhotoShareLink: vi.fn().mockResolvedValue({ url: 'http://example.com' }), +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ + t: (key: string, arg2?: Record | string, arg3?: string) => + typeof arg2 === 'string' || arg2 === undefined ? (arg2 ?? arg3 ?? key) : (arg3 ?? key), + }), +})); + +vi.mock('@/guest/i18n/LocaleContext', () => ({ + useLocale: () => ({ locale: 'de' }), +})); + +vi.mock('@/hooks/use-appearance', () => ({ + useAppearance: () => ({ resolved: 'light' }), +})); + +import PhotoLightboxScreen from '../screens/PhotoLightboxScreen'; + +describe('PhotoLightboxScreen', () => { + it('renders lightbox layout', async () => { + render(); + + expect(await screen.findByText('Gallery')).toBeInTheDocument(); + expect(await screen.findByText('Like')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/ScreensCopy.test.tsx b/resources/js/guest-v2/__tests__/ScreensCopy.test.tsx new file mode 100644 index 0000000..06f6da5 --- /dev/null +++ b/resources/js/guest-v2/__tests__/ScreensCopy.test.tsx @@ -0,0 +1,155 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { EventDataProvider } from '../context/EventDataContext'; + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ children, ...rest }: { children: React.ReactNode }) => ( + + ), +})); + +vi.mock('@tamagui/sheet', () => { + const Sheet = ({ children }: { children: React.ReactNode }) =>
{children}
; + Sheet.Overlay = ({ children }: { children?: React.ReactNode }) =>
{children}
; + Sheet.Frame = ({ children }: { children?: React.ReactNode }) =>
{children}
; + Sheet.Handle = ({ children }: { children?: React.ReactNode }) =>
{children}
; + return { Sheet }; +}); + +vi.mock('react-router-dom', () => ({ + useNavigate: () => vi.fn(), + useSearchParams: () => [new URLSearchParams()], +})); + +vi.mock('lucide-react', () => ({ + Image: () => image, + Filter: () => filter, + Camera: () => camera, + Grid2x2: () => grid, + Zap: () => zap, + UploadCloud: () => upload, + ListVideo: () => list, + RefreshCcw: () => refresh, + FlipHorizontal: () => flip, + X: () => close, + Sparkles: () => sparkles, + Trophy: () => trophy, + Play: () => play, + Share2: () => share, + QrCode: () => qr, + Link: () => link, + Users: () => users, +})); + +vi.mock('../components/AppShell', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../context/EventDataContext', () => ({ + EventDataProvider: ({ children }: { children: React.ReactNode }) => <>{children}, + useEventData: () => ({ token: 'demo', tasksEnabled: true, event: null }), +})); + +vi.mock('../services/uploadApi', () => ({ + useUploadQueue: () => ({ items: [], loading: false, add: vi.fn() }), + uploadPhoto: vi.fn(), +})); + +vi.mock('@/guest/services/pendingUploadsApi', () => ({ + fetchPendingUploadsSummary: vi.fn().mockResolvedValue({ items: [], totalCount: 0 }), +})); + +vi.mock('../services/photosApi', () => ({ + fetchGallery: vi.fn().mockResolvedValue({ data: [], next_cursor: null, latest_photo_at: null, notModified: false }), +})); + +vi.mock('../hooks/usePollGalleryDelta', () => ({ + usePollGalleryDelta: () => ({ data: { photos: [], latestPhotoAt: null, nextCursor: null }, loading: false, error: null }), +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ + t: (key: string, arg2?: Record | string, arg3?: string) => + typeof arg2 === 'string' || arg2 === undefined ? (arg2 ?? arg3 ?? key) : (arg3 ?? key), + locale: 'de', + }), +})); + +vi.mock('@/guest/i18n/LocaleContext', () => ({ + useLocale: () => ({ locale: 'de', availableLocales: [], setLocale: vi.fn() }), +})); + +vi.mock('@/hooks/use-appearance', () => ({ + useAppearance: () => ({ resolved: 'light' }), +})); + +vi.mock('../services/tasksApi', () => ({ + fetchTasks: vi.fn().mockResolvedValue([]), +})); + +vi.mock('../services/emotionsApi', () => ({ + fetchEmotions: vi.fn().mockResolvedValue([]), +})); + +vi.mock('@/guest/hooks/useGuestTaskProgress', () => ({ + useGuestTaskProgress: () => ({ completedCount: 0 }), +})); + +import GalleryScreen from '../screens/GalleryScreen'; +import UploadScreen from '../screens/UploadScreen'; +import TasksScreen from '../screens/TasksScreen'; +import ShareScreen from '../screens/ShareScreen'; + +describe('Guest v2 screens copy', () => { + it('renders gallery header', () => { + render( + + + + ); + + expect(screen.getByText('Gallery')).toBeInTheDocument(); + }); + + it('renders upload preview prompt', () => { + render( + + + + ); + + expect(screen.getByText('Camera')).toBeInTheDocument(); + }); + + it('renders tasks quest when enabled', () => { + render( + + + + ); + + expect(screen.getByText('Prompt quest')).toBeInTheDocument(); + }); + + it('renders share hub header', () => { + render( + + + + ); + + expect(screen.getByText('Invite guests')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/SettingsContent.test.tsx b/resources/js/guest-v2/__tests__/SettingsContent.test.tsx new file mode 100644 index 0000000..325f677 --- /dev/null +++ b/resources/js/guest-v2/__tests__/SettingsContent.test.tsx @@ -0,0 +1,124 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { fireEvent, render, screen } from '@testing-library/react'; + +const updateAppearance = vi.fn(); + +vi.mock('@/hooks/use-appearance', () => ({ + useAppearance: () => ({ appearance: 'dark', updateAppearance }), +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ t: (_key: string, fallback?: string) => fallback ?? _key }), +})); + +vi.mock('@/guest/i18n/LocaleContext', () => ({ + useLocale: () => ({ locale: 'de', availableLocales: [], setLocale: vi.fn() }), +})); + +vi.mock('../context/EventDataContext', () => ({ + useEventData: () => ({ token: 'demo-token' }), +})); + +vi.mock('../context/GuestIdentityContext', () => ({ + useOptionalGuestIdentity: () => ({ hydrated: false, name: '', setName: vi.fn(), clearName: vi.fn() }), +})); + +vi.mock('@/guest/hooks/useHapticsPreference', () => ({ + useHapticsPreference: () => ({ enabled: false, setEnabled: vi.fn(), supported: true }), +})); + +vi.mock('@/contexts/consent', () => ({ + useConsent: () => ({ preferences: { analytics: false }, savePreferences: vi.fn() }), +})); + +vi.mock('react-router-dom', () => ({ + Link: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ + children, + onPress, + ...rest + }: { + children: React.ReactNode; + onPress?: () => void; + }) => ( + + ), +})); + +vi.mock('@tamagui/input', () => ({ + Input: ({ + value, + onChange, + onChangeText, + ...rest + }: React.InputHTMLAttributes & { onChangeText?: (next: string) => void }) => ( + { + onChange?.(event); + onChangeText?.(event.target.value); + }} + readOnly={!onChange && !onChangeText} + {...rest} + /> + ), +})); + +vi.mock('@tamagui/card', () => ({ + Card: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/switch', () => ({ + Switch: Object.assign( + ({ + checked, + onCheckedChange, + 'aria-label': ariaLabel, + children, + }: { + checked?: boolean; + onCheckedChange?: (next: boolean) => void; + 'aria-label'?: string; + children?: React.ReactNode; + }) => ( + + ), + { Thumb: ({ children }: { children?: React.ReactNode }) => {children} }, + ), +})); + +import SettingsContent from '../components/SettingsContent'; + +describe('SettingsContent', () => { + it('toggles appearance mode', () => { + render(); + + const toggle = screen.getByLabelText('Dark mode'); + fireEvent.click(toggle); + + expect(updateAppearance).toHaveBeenCalledWith('light'); + }); +}); diff --git a/resources/js/guest-v2/__tests__/SettingsSheet.test.tsx b/resources/js/guest-v2/__tests__/SettingsSheet.test.tsx new file mode 100644 index 0000000..5745706 --- /dev/null +++ b/resources/js/guest-v2/__tests__/SettingsSheet.test.tsx @@ -0,0 +1,58 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ t: (_key: string, fallback?: string) => fallback ?? _key }), +})); + +vi.mock('@/hooks/use-appearance', () => ({ + useAppearance: () => ({ resolved: 'dark' }), +})); + +vi.mock('@/guest/i18n/LocaleContext', () => ({ + useLocale: () => ({ locale: 'de' }), +})); + +vi.mock('@/guest/components/legal-markdown', () => ({ + LegalMarkdown: () =>
Legal markdown
, +})); + +vi.mock('@tamagui/scroll-view', () => ({ + ScrollView: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ children, ...rest }: { children: React.ReactNode }) => ( + + ), +})); + +vi.mock('lucide-react', () => ({ + X: () => x, +})); + +vi.mock('../components/SettingsContent', () => ({ + default: () =>
Settings content
, +})); + +import SettingsSheet from '../components/SettingsSheet'; + +describe('SettingsSheet', () => { + it('renders settings content inside the sheet', () => { + render(); + + expect(screen.getByText('Settings content')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/SlideshowScreen.test.tsx b/resources/js/guest-v2/__tests__/SlideshowScreen.test.tsx new file mode 100644 index 0000000..eb9160c --- /dev/null +++ b/resources/js/guest-v2/__tests__/SlideshowScreen.test.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { EventDataProvider } from '../context/EventDataContext'; + +vi.mock('framer-motion', () => ({ + AnimatePresence: ({ children }: { children: React.ReactNode }) =>
{children}
, + motion: { div: ({ children }: { children: React.ReactNode }) =>
{children}
}, +})); + +vi.mock('../services/photosApi', () => ({ + fetchGallery: () => Promise.resolve({ data: [] }), +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ t: (_key: string, fallback?: string) => fallback ?? _key, locale: 'de' }), +})); + +import SlideshowScreen from '../screens/SlideshowScreen'; + +describe('SlideshowScreen', () => { + it('shows empty state when no photos', async () => { + render( + + + + ); + + expect(await screen.findByText('Noch keine Fotos')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/TaskDetailScreen.test.tsx b/resources/js/guest-v2/__tests__/TaskDetailScreen.test.tsx new file mode 100644 index 0000000..79a9b5a --- /dev/null +++ b/resources/js/guest-v2/__tests__/TaskDetailScreen.test.tsx @@ -0,0 +1,60 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { EventDataProvider } from '../context/EventDataContext'; + +vi.mock('react-router-dom', () => ({ + useParams: () => ({ taskId: '12' }), + useNavigate: () => vi.fn(), +})); + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ children, ...rest }: { children: React.ReactNode }) => ( + + ), +})); + +vi.mock('../components/AppShell', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../components/SurfaceCard', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../services/tasksApi', () => ({ + fetchTasks: () => Promise.resolve([{ id: 12, title: 'Capture the dancefloor', description: 'Find the happiest crew.' }]), +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ t: (_key: string, fallback?: string) => fallback ?? _key, locale: 'de' }), +})); + +vi.mock('@/hooks/use-appearance', () => ({ + useAppearance: () => ({ resolved: 'light' }), +})); + +import TaskDetailScreen from '../screens/TaskDetailScreen'; + +describe('TaskDetailScreen', () => { + it('renders task title', async () => { + render( + + + + ); + + expect(await screen.findByText('Capture the dancefloor')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/UploadQueueScreen.test.tsx b/resources/js/guest-v2/__tests__/UploadQueueScreen.test.tsx new file mode 100644 index 0000000..bfc5351 --- /dev/null +++ b/resources/js/guest-v2/__tests__/UploadQueueScreen.test.tsx @@ -0,0 +1,72 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ children, ...rest }: { children: React.ReactNode }) => ( + + ), +})); + +vi.mock('../components/AppShell', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../components/SurfaceCard', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../services/uploadApi', () => ({ + useUploadQueue: () => ({ + items: [], + loading: false, + retryAll: vi.fn(), + clearFinished: vi.fn(), + refresh: vi.fn(), + }), +})); + +vi.mock('../context/EventDataContext', () => ({ + useEventData: () => ({ token: 'token' }), +})); + +vi.mock('@/guest/services/pendingUploadsApi', () => ({ + fetchPendingUploadsSummary: vi.fn().mockResolvedValue({ items: [], totalCount: 0 }), +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ + t: (key: string, arg2?: Record | string, arg3?: string) => + typeof arg2 === 'string' || arg2 === undefined ? (arg2 ?? arg3 ?? key) : (arg3 ?? key), + locale: 'de', + }), +})); + +vi.mock('@/guest/i18n/LocaleContext', () => ({ + useLocale: () => ({ locale: 'de' }), +})); + +vi.mock('@/hooks/use-appearance', () => ({ + useAppearance: () => ({ resolved: 'light' }), +})); + +import UploadQueueScreen from '../screens/UploadQueueScreen'; + +describe('UploadQueueScreen', () => { + it('renders empty queue state', () => { + render(); + + expect(screen.getByText('Uploads')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/UploadScreen.test.tsx b/resources/js/guest-v2/__tests__/UploadScreen.test.tsx new file mode 100644 index 0000000..097503d --- /dev/null +++ b/resources/js/guest-v2/__tests__/UploadScreen.test.tsx @@ -0,0 +1,87 @@ +import React from 'react'; +import { describe, expect, it, vi } from 'vitest'; +import { render, screen } from '@testing-library/react'; +import { EventDataProvider } from '../context/EventDataContext'; + +vi.mock('react-router-dom', () => ({ + useNavigate: () => vi.fn(), + useSearchParams: () => [new URLSearchParams('taskId=12')], +})); + +vi.mock('@tamagui/stacks', () => ({ + YStack: ({ children }: { children: React.ReactNode }) =>
{children}
, + XStack: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('@tamagui/text', () => ({ + SizableText: ({ children }: { children: React.ReactNode }) => {children}, +})); + +vi.mock('@tamagui/button', () => ({ + Button: ({ children, ...rest }: { children: React.ReactNode }) => ( + + ), +})); + +vi.mock('../components/AppShell', () => ({ + default: ({ children }: { children: React.ReactNode }) =>
{children}
, +})); + +vi.mock('../services/uploadApi', () => ({ + uploadPhoto: vi.fn(), + useUploadQueue: () => ({ items: [], add: vi.fn() }), +})); + +vi.mock('../services/tasksApi', () => ({ + fetchTasks: vi.fn().mockResolvedValue([{ id: 12, title: 'Capture the dancefloor', description: 'Find the happiest crew.' }]), +})); + +vi.mock('@/guest/services/pendingUploadsApi', () => ({ + fetchPendingUploadsSummary: vi.fn().mockResolvedValue({ items: [], totalCount: 0 }), +})); + +vi.mock('../context/GuestIdentityContext', () => ({ + useOptionalGuestIdentity: () => ({ name: 'Alex' }), +})); + +vi.mock('@/guest/hooks/useGuestTaskProgress', () => ({ + useGuestTaskProgress: () => ({ markCompleted: vi.fn() }), +})); + +vi.mock('@/guest/i18n/useTranslation', () => ({ + useTranslation: () => ({ + t: (_key: string, arg2?: Record | string, arg3?: string) => + typeof arg2 === 'string' || arg2 === undefined ? (arg2 ?? arg3 ?? _key) : (arg3 ?? _key), + locale: 'en', + }), +})); + +vi.mock('@/hooks/use-appearance', () => ({ + useAppearance: () => ({ resolved: 'light' }), +})); + +import UploadScreen from '../screens/UploadScreen'; + +describe('UploadScreen', () => { + it('renders queue entry point', () => { + render( + + + + ); + + expect(screen.getByText('Queue')).toBeInTheDocument(); + }); + + it('renders task summary when taskId is present', async () => { + render( + + + + ); + + expect(await screen.findByText('Capture the dancefloor')).toBeInTheDocument(); + }); +}); diff --git a/resources/js/guest-v2/__tests__/brandingTheme.test.ts b/resources/js/guest-v2/__tests__/brandingTheme.test.ts new file mode 100644 index 0000000..d5b4018 --- /dev/null +++ b/resources/js/guest-v2/__tests__/brandingTheme.test.ts @@ -0,0 +1,74 @@ +import { describe, expect, it, beforeEach, afterEach } from 'vitest'; +import { resolveGuestThemeName } from '../lib/brandingTheme'; +import type { EventBranding } from '@/guest/types/event-branding'; + +const baseBranding: EventBranding = { + primaryColor: '#FF5A5F', + secondaryColor: '#F43F5E', + backgroundColor: '#ffffff', + fontFamily: 'Inter', + logoUrl: null, + palette: { + primary: '#FF5A5F', + secondary: '#F43F5E', + background: '#ffffff', + surface: '#ffffff', + }, + typography: { + heading: 'Inter', + body: 'Inter', + sizePreset: 'm', + }, + mode: 'auto', +}; + +const originalMatchMedia = window.matchMedia; + +function mockMatchMedia(matches: boolean) { + window.matchMedia = ((query: string) => ({ + matches, + media: query, + onchange: null, + addEventListener: () => {}, + removeEventListener: () => {}, + addListener: () => {}, + removeListener: () => {}, + dispatchEvent: () => false, + })) as typeof window.matchMedia; +} + +describe('resolveGuestThemeName', () => { + beforeEach(() => { + mockMatchMedia(false); + }); + + afterEach(() => { + window.matchMedia = originalMatchMedia; + }); + + it('uses branding mode overrides', () => { + expect(resolveGuestThemeName({ ...baseBranding, mode: 'dark' }, 'light')).toBe('guestNight'); + expect(resolveGuestThemeName({ ...baseBranding, mode: 'light' }, 'dark')).toBe('guestLight'); + }); + + it('respects explicit appearance when mode is auto', () => { + expect(resolveGuestThemeName({ ...baseBranding, mode: 'auto' }, 'dark')).toBe('guestNight'); + expect(resolveGuestThemeName({ ...baseBranding, mode: 'auto' }, 'light')).toBe('guestLight'); + }); + + it('falls back to background luminance when appearance is system', () => { + const darkBackground = { ...baseBranding, backgroundColor: '#0a0f1f' }; + expect(resolveGuestThemeName(darkBackground, 'system')).toBe('guestNight'); + + const lightBackground = { ...baseBranding, backgroundColor: '#fdf9f4' }; + expect(resolveGuestThemeName(lightBackground, 'system')).toBe('guestLight'); + }); + + it('uses system preference when background is neutral', () => { + const neutralBackground = { ...baseBranding, backgroundColor: '#b0b0b0' }; + mockMatchMedia(true); + expect(resolveGuestThemeName(neutralBackground, 'system')).toBe('guestNight'); + mockMatchMedia(false); + expect(resolveGuestThemeName(neutralBackground, 'system')).toBe('guestLight'); + }); +}); diff --git a/resources/js/guest-v2/__tests__/eventBranding.test.ts b/resources/js/guest-v2/__tests__/eventBranding.test.ts new file mode 100644 index 0000000..6288d40 --- /dev/null +++ b/resources/js/guest-v2/__tests__/eventBranding.test.ts @@ -0,0 +1,31 @@ +import { describe, expect, it } from 'vitest'; +import { mapEventBranding } from '../lib/eventBranding'; + +describe('mapEventBranding', () => { + it('maps palette, typography, and buttons from payload', () => { + const result = mapEventBranding({ + primary_color: '#112233', + secondary_color: '#445566', + background_color: '#000000', + font_family: 'Event Body', + heading_font: 'Event Heading', + button_radius: 16, + button_primary_color: '#abcdef', + palette: { + surface: '#111111', + }, + typography: { + size: 'l', + }, + }); + + expect(result?.primaryColor).toBe('#112233'); + expect(result?.secondaryColor).toBe('#445566'); + expect(result?.palette?.surface).toBe('#111111'); + expect(result?.typography?.heading).toBe('Event Heading'); + expect(result?.typography?.body).toBe('Event Body'); + expect(result?.typography?.sizePreset).toBe('l'); + expect(result?.buttons?.radius).toBe(16); + expect(result?.buttons?.primary).toBe('#abcdef'); + }); +}); diff --git a/resources/js/guest-v2/__tests__/statsApi.test.ts b/resources/js/guest-v2/__tests__/statsApi.test.ts new file mode 100644 index 0000000..3bc266d --- /dev/null +++ b/resources/js/guest-v2/__tests__/statsApi.test.ts @@ -0,0 +1,33 @@ +import { describe, expect, it, vi, beforeEach, afterEach } from 'vitest'; +import { fetchEventStats, clearStatsCache } from '../services/statsApi'; + +const fetchMock = vi.fn(); + +global.fetch = fetchMock as unknown as typeof fetch; + +describe('fetchEventStats', () => { + beforeEach(() => { + fetchMock.mockReset(); + clearStatsCache(); + }); + + afterEach(() => { + clearStatsCache(); + }); + + it('returns cached stats on 304', async () => { + fetchMock.mockResolvedValueOnce( + new Response(JSON.stringify({ online_guests: 4, tasks_solved: 1, latest_photo_at: '2024-01-01T00:00:00Z' }), { + status: 200, + headers: { ETag: '"demo"' }, + }) + ); + + const first = await fetchEventStats('demo'); + expect(first.onlineGuests).toBe(4); + + fetchMock.mockResolvedValueOnce(new Response(null, { status: 304, headers: { ETag: '"demo"' } })); + const second = await fetchEventStats('demo'); + expect(second).toEqual(first); + }); +}); diff --git a/resources/js/guest-v2/components/AmbientBackground.tsx b/resources/js/guest-v2/components/AmbientBackground.tsx new file mode 100644 index 0000000..8da7587 --- /dev/null +++ b/resources/js/guest-v2/components/AmbientBackground.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { YStack } from '@tamagui/stacks'; +import { useAppearance } from '@/hooks/use-appearance'; + +type AmbientBackgroundProps = { + children: React.ReactNode; +}; + +export default function AmbientBackground({ children }: AmbientBackgroundProps) { + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + + return ( + + {children} + + ); +} diff --git a/resources/js/guest-v2/components/AppShell.tsx b/resources/js/guest-v2/components/AppShell.tsx new file mode 100644 index 0000000..6a5544c --- /dev/null +++ b/resources/js/guest-v2/components/AppShell.tsx @@ -0,0 +1,236 @@ +import React from 'react'; +import { YStack } from '@tamagui/stacks'; +import { Trophy, UploadCloud, Sparkles, Cast, Share2, Compass, Image, Camera, Settings, Home } from 'lucide-react'; +import { useLocation, useNavigate } from 'react-router-dom'; +import TopBar from './TopBar'; +import BottomDock from './BottomDock'; +import FloatingActionButton from './FloatingActionButton'; +import FabActionSheet from './FabActionSheet'; +import CompassHub, { type CompassAction } from './CompassHub'; +import AmbientBackground from './AmbientBackground'; +import NotificationSheet from './NotificationSheet'; +import SettingsSheet from './SettingsSheet'; +import GuestAnalyticsNudge from './GuestAnalyticsNudge'; +import { useEventData } from '../context/EventDataContext'; +import { buildEventPath } from '../lib/routes'; +import { useOptionalNotificationCenter } from '@/guest/context/NotificationCenterContext'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useAppearance } from '@/hooks/use-appearance'; + +type AppShellProps = { + children: React.ReactNode; +}; + +export default function AppShell({ children }: AppShellProps) { + const [sheetOpen, setSheetOpen] = React.useState(false); + const [compassOpen, setCompassOpen] = React.useState(false); + const [notificationsOpen, setNotificationsOpen] = React.useState(false); + const [settingsOpen, setSettingsOpen] = React.useState(false); + const { tasksEnabled, event, token } = useEventData(); + const notificationCenter = useOptionalNotificationCenter(); + const navigate = useNavigate(); + const location = useLocation(); + const { t } = useTranslation(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const actionIconColor = isDark ? '#F8FAFF' : '#0F172A'; + const matomoEnabled = typeof window !== 'undefined' && Boolean((window as any).__MATOMO_GUEST__?.enabled); + const showFab = !/\/photo\/\d+/.test(location.pathname); + + const goTo = (path: string) => () => { + setSheetOpen(false); + setCompassOpen(false); + setNotificationsOpen(false); + setSettingsOpen(false); + navigate(buildEventPath(token, path)); + }; + + const openSheet = () => { + setCompassOpen(false); + setNotificationsOpen(false); + setSettingsOpen(false); + setSheetOpen(true); + }; + + const openCompass = () => { + setSheetOpen(false); + setNotificationsOpen(false); + setSettingsOpen(false); + setCompassOpen(true); + }; + + const actions = [ + { + key: 'upload', + label: t('appShell.actions.upload.label', 'Upload / Take photo'), + description: t('appShell.actions.upload.description', 'Add a moment from your device or camera.'), + icon: , + onPress: goTo('/upload'), + }, + { + key: 'compass', + label: t('appShell.actions.compass.label', 'Compass hub'), + description: t('appShell.actions.compass.description', 'Quick jump to key areas.'), + icon: , + onPress: () => { + setSheetOpen(false); + openCompass(); + }, + }, + tasksEnabled + ? { + key: 'task', + label: t('appShell.actions.task.label', 'Start a task'), + description: t('appShell.actions.task.description', 'Pick a challenge and capture it now.'), + icon: , + onPress: goTo('/tasks'), + } + : null, + { + key: 'live', + label: t('appShell.actions.live.label', 'Live show'), + description: t('appShell.actions.live.description', 'See the real-time highlight stream.'), + icon: , + onPress: () => { + setSheetOpen(false); + setCompassOpen(false); + setNotificationsOpen(false); + setSettingsOpen(false); + if (token) { + navigate(`/show/${encodeURIComponent(token)}`); + } + }, + }, + { + key: 'slideshow', + label: t('appShell.actions.slideshow.label', 'Slideshow'), + description: t('appShell.actions.slideshow.description', 'Lean back and watch the gallery roll.'), + icon: , + onPress: goTo('/slideshow'), + }, + { + key: 'share', + label: t('appShell.actions.share.label', 'Share invite'), + description: t('appShell.actions.share.description', 'Send the event link or QR code.'), + icon: , + onPress: goTo('/share'), + }, + tasksEnabled + ? { + key: 'achievements', + label: t('appShell.actions.achievements.label', 'Achievements'), + description: t('appShell.actions.achievements.description', 'Track your photo streaks.'), + icon: , + onPress: goTo('/achievements'), + } + : null, + ].filter(Boolean) as Array<{ + key: string; + label: string; + description: string; + icon: React.ReactNode; + onPress?: () => void; + }>; + + const compassQuadrants: [CompassAction, CompassAction, CompassAction, CompassAction] = [ + { + key: 'home', + label: t('navigation.home', 'Home'), + icon: , + onPress: goTo('/'), + }, + { + key: 'gallery', + label: t('navigation.gallery', 'Gallery'), + icon: , + onPress: goTo('/gallery'), + }, + tasksEnabled + ? { + key: 'tasks', + label: t('navigation.tasks', 'Tasks'), + icon: , + onPress: goTo('/tasks'), + } + : { + key: 'settings', + label: t('settings.title', 'Settings'), + icon: , + onPress: goTo('/settings'), + }, + { + key: 'share', + label: t('navigation.share', 'Share'), + icon: , + onPress: goTo('/share'), + }, + ]; + + return ( + + + + { + setNotificationsOpen(false); + setSheetOpen(false); + setCompassOpen(false); + setSettingsOpen(true); + }} + onNotificationsPress={() => { + setSettingsOpen(false); + setSheetOpen(false); + setCompassOpen(false); + setNotificationsOpen(true); + }} + notificationCount={notificationCenter?.unreadCount ?? 0} + /> + + + {children} + + {showFab ? : null} + + setSheetOpen(next)} + title={t('appShell.fab.title', 'Create a moment')} + actions={actions} + /> + , + onPress: goTo('/upload'), + }} + quadrants={compassQuadrants} + /> + + + + + + ); +} diff --git a/resources/js/guest-v2/components/BottomDock.tsx b/resources/js/guest-v2/components/BottomDock.tsx new file mode 100644 index 0000000..191d44c --- /dev/null +++ b/resources/js/guest-v2/components/BottomDock.tsx @@ -0,0 +1,75 @@ +import React from 'react'; +import { useLocation, useNavigate } from 'react-router-dom'; +import { XStack, YStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Home, Image, Share2 } from 'lucide-react'; +import { useEventData } from '../context/EventDataContext'; +import { buildEventPath } from '../lib/routes'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useAppearance } from '@/hooks/use-appearance'; + +export default function BottomDock() { + const location = useLocation(); + const navigate = useNavigate(); + const { token } = useEventData(); + const { t } = useTranslation(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + + const dockItems = [ + { key: 'home', label: t('navigation.home', 'Home'), path: '/', icon: Home }, + { key: 'gallery', label: t('navigation.gallery', 'Gallery'), path: '/gallery', icon: Image }, + { key: 'share', label: t('navigation.share', 'Share'), path: '/share', icon: Share2 }, + ]; + const activeIconColor = isDark ? '#F8FAFF' : '#0F172A'; + const inactiveIconColor = isDark ? '#94A3B8' : '#64748B'; + + return ( + + {dockItems.map((item) => { + const targetPath = buildEventPath(token, item.path); + const active = location.pathname === targetPath || (item.path !== '/' && location.pathname.startsWith(targetPath)); + const Icon = item.icon; + return ( + + ); + })} + + ); +} diff --git a/resources/js/guest-v2/components/CompassHub.tsx b/resources/js/guest-v2/components/CompassHub.tsx new file mode 100644 index 0000000..47f3954 --- /dev/null +++ b/resources/js/guest-v2/components/CompassHub.tsx @@ -0,0 +1,150 @@ +import React from 'react'; +import { Sheet } from '@tamagui/sheet'; +import { YStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { useAppearance } from '@/hooks/use-appearance'; + +export type CompassAction = { + key: string; + label: string; + icon?: React.ReactNode; + onPress?: () => void; +}; + +type CompassHubProps = { + open: boolean; + onOpenChange: (open: boolean) => void; + quadrants: [CompassAction, CompassAction, CompassAction, CompassAction]; + centerAction: CompassAction; + title?: string; +}; + +const quadrantPositions: Array<{ + top?: number; + right?: number; + bottom?: number; + left?: number; +}> = [ + { top: 0, left: 0 }, + { top: 0, right: 0 }, + { bottom: 0, left: 0 }, + { bottom: 0, right: 0 }, +]; + +export default function CompassHub({ + open, + onOpenChange, + quadrants, + centerAction, + title = 'Quick jump', +}: CompassHubProps) { + const close = () => onOpenChange(false); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + + if (!open) { + return null; + } + + return ( + + + + + + + {title} + + + {quadrants.map((action, index) => ( + + ))} + + + + + Tap outside to close + + + + + ); +} diff --git a/resources/js/guest-v2/components/FabActionSheet.tsx b/resources/js/guest-v2/components/FabActionSheet.tsx new file mode 100644 index 0000000..3a92446 --- /dev/null +++ b/resources/js/guest-v2/components/FabActionSheet.tsx @@ -0,0 +1,105 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Sheet } from '@tamagui/sheet'; +import { useAppearance } from '@/hooks/use-appearance'; + +export type FabAction = { + key: string; + label: string; + description?: string; + icon?: React.ReactNode; + onPress?: () => void; +}; + +type FabActionSheetProps = { + open: boolean; + onOpenChange: (open: boolean) => void; + title: string; + actions: FabAction[]; +}; + +export default function FabActionSheet({ open, onOpenChange, title, actions }: FabActionSheetProps) { + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + + if (!open) { + return null; + } + + return ( + + + + + + + {title} + + + {actions.map((action) => ( + + ))} + + + + + ); +} diff --git a/resources/js/guest-v2/components/FloatingActionButton.tsx b/resources/js/guest-v2/components/FloatingActionButton.tsx new file mode 100644 index 0000000..69e1d60 --- /dev/null +++ b/resources/js/guest-v2/components/FloatingActionButton.tsx @@ -0,0 +1,55 @@ +import React from 'react'; +import { Button } from '@tamagui/button'; +import { Plus } from 'lucide-react'; +import { useAppearance } from '@/hooks/use-appearance'; + +type FloatingActionButtonProps = { + onPress: () => void; + onLongPress?: () => void; +}; + +export default function FloatingActionButton({ onPress, onLongPress }: FloatingActionButtonProps) { + const longPressTriggered = React.useRef(false); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + + return ( + + ); +} diff --git a/resources/js/guest-v2/components/GuestAnalyticsNudge.tsx b/resources/js/guest-v2/components/GuestAnalyticsNudge.tsx new file mode 100644 index 0000000..9b6c28f --- /dev/null +++ b/resources/js/guest-v2/components/GuestAnalyticsNudge.tsx @@ -0,0 +1,267 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { useConsent } from '@/contexts/consent'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { isUploadPath, shouldShowAnalyticsNudge } from '@/guest/lib/analyticsConsent'; +import { useAppearance } from '@/hooks/use-appearance'; + +const PROMPT_STORAGE_KEY = 'fotospiel.guest.analyticsPrompt'; +const SNOOZE_MS = 60 * 60 * 1000; +const ACTIVE_IDLE_LIMIT_MS = 20_000; + +type PromptStorage = { + snoozedUntil?: number | null; +}; + +function readSnoozedUntil(): number | null { + if (typeof window === 'undefined') { + return null; + } + + try { + const raw = window.localStorage.getItem(PROMPT_STORAGE_KEY); + if (!raw) { + return null; + } + const parsed = JSON.parse(raw) as PromptStorage; + return typeof parsed.snoozedUntil === 'number' ? parsed.snoozedUntil : null; + } catch { + return null; + } +} + +function writeSnoozedUntil(value: number | null) { + if (typeof window === 'undefined') { + return; + } + + try { + const payload: PromptStorage = { snoozedUntil: value }; + window.localStorage.setItem(PROMPT_STORAGE_KEY, JSON.stringify(payload)); + } catch { + // ignore storage failures + } +} + +function randomInt(min: number, max: number): number { + const low = Math.ceil(min); + const high = Math.floor(max); + return Math.floor(Math.random() * (high - low + 1)) + low; +} + +export default function GuestAnalyticsNudge({ + enabled, + pathname, +}: { + enabled: boolean; + pathname: string; +}) { + const { t } = useTranslation(); + const { decisionMade, preferences, savePreferences } = useConsent(); + const analyticsConsent = Boolean(preferences?.analytics); + const [thresholdSeconds] = React.useState(() => randomInt(60, 120)); + const [thresholdRoutes] = React.useState(() => randomInt(2, 3)); + const [activeSeconds, setActiveSeconds] = React.useState(0); + const [routeCount, setRouteCount] = React.useState(0); + const [isOpen, setIsOpen] = React.useState(false); + const [snoozedUntil, setSnoozedUntil] = React.useState(() => readSnoozedUntil()); + const lastPathRef = React.useRef(pathname); + const lastActivityAtRef = React.useRef(Date.now()); + const visibleRef = React.useRef(typeof document === 'undefined' ? true : document.visibilityState === 'visible'); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + + const isUpload = isUploadPath(pathname); + + React.useEffect(() => { + const previousPath = lastPathRef.current; + const currentPath = pathname; + lastPathRef.current = currentPath; + + if (previousPath === currentPath) { + return; + } + + if (isUploadPath(previousPath) || isUploadPath(currentPath)) { + return; + } + + setRouteCount((count) => count + 1); + }, [pathname]); + + React.useEffect(() => { + if (typeof window === 'undefined') { + return undefined; + } + + const handleActivity = () => { + lastActivityAtRef.current = Date.now(); + }; + + const events: Array = [ + 'pointerdown', + 'pointermove', + 'keydown', + 'scroll', + 'touchstart', + ]; + + events.forEach((event) => window.addEventListener(event, handleActivity, { passive: true })); + + return () => { + events.forEach((event) => window.removeEventListener(event, handleActivity)); + }; + }, []); + + React.useEffect(() => { + if (typeof document === 'undefined') { + return undefined; + } + + const handleVisibility = () => { + visibleRef.current = document.visibilityState === 'visible'; + }; + + document.addEventListener('visibilitychange', handleVisibility); + + return () => document.removeEventListener('visibilitychange', handleVisibility); + }, []); + + React.useEffect(() => { + if (typeof window === 'undefined') { + return undefined; + } + + const interval = window.setInterval(() => { + const now = Date.now(); + + if (!visibleRef.current) { + return; + } + + if (isUploadPath(lastPathRef.current)) { + return; + } + + if (now - lastActivityAtRef.current > ACTIVE_IDLE_LIMIT_MS) { + return; + } + + setActiveSeconds((seconds) => seconds + 1); + }, 1000); + + return () => window.clearInterval(interval); + }, []); + + React.useEffect(() => { + if (!enabled || analyticsConsent || decisionMade) { + setIsOpen(false); + return; + } + + const shouldOpen = shouldShowAnalyticsNudge({ + decisionMade, + analyticsConsent, + snoozedUntil, + now: Date.now(), + activeSeconds, + routeCount, + thresholdSeconds, + thresholdRoutes, + isUpload, + }); + + if (shouldOpen) { + setIsOpen(true); + } + }, [ + enabled, + analyticsConsent, + decisionMade, + snoozedUntil, + activeSeconds, + routeCount, + thresholdSeconds, + thresholdRoutes, + isUpload, + ]); + + React.useEffect(() => { + if (isUpload) { + setIsOpen(false); + } + }, [isUpload]); + + if (!enabled || decisionMade || analyticsConsent || !isOpen || isUpload) { + return null; + } + + const handleSnooze = () => { + const until = Date.now() + SNOOZE_MS; + setSnoozedUntil(until); + writeSnoozedUntil(until); + setIsOpen(false); + }; + + const handleAllow = () => { + savePreferences({ analytics: true }); + writeSnoozedUntil(null); + setIsOpen(false); + }; + + return ( + + + + + + {t('consent.analytics.title')} + + + {t('consent.analytics.body')} + + + + + + + + + + ); +} diff --git a/resources/js/guest-v2/components/NotificationSheet.tsx b/resources/js/guest-v2/components/NotificationSheet.tsx new file mode 100644 index 0000000..188df03 --- /dev/null +++ b/resources/js/guest-v2/components/NotificationSheet.tsx @@ -0,0 +1,200 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { ScrollView } from '@tamagui/scroll-view'; +import { X } from 'lucide-react'; +import { useOptionalNotificationCenter } from '@/guest/context/NotificationCenterContext'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useAppearance } from '@/hooks/use-appearance'; + +type NotificationSheetProps = { + open: boolean; + onOpenChange: (open: boolean) => void; +}; + +export default function NotificationSheet({ open, onOpenChange }: NotificationSheetProps) { + const { t } = useTranslation(); + const center = useOptionalNotificationCenter(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const mutedButton = isDark ? 'rgba(248, 250, 255, 0.08)' : 'rgba(15, 23, 42, 0.06)'; + const mutedButtonBorder = isDark ? 'rgba(248, 250, 255, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + + const notifications = center?.notifications ?? []; + const unreadCount = center?.unreadCount ?? 0; + const uploadCount = (center?.queueCount ?? 0) + (center?.pendingCount ?? 0); + + return ( + <> + onOpenChange(false)} + onClick={() => onOpenChange(false)} + onMouseDown={() => onOpenChange(false)} + onTouchStart={() => onOpenChange(false)} + /> + + + + + + {t('header.notifications.title', 'Updates')} + + + {unreadCount > 0 + ? t('header.notifications.unread', { count: unreadCount }, '{count} neu') + : t('header.notifications.allRead', 'Alles gelesen')} + + + + + + + + {center ? ( + + + + + ) : null} + + {center?.loading ? ( + + {t('common.actions.loading', 'Loading...')} + + ) : notifications.length === 0 ? ( + + + {t('header.notifications.emptyUnread', 'Du bist auf dem neuesten Stand!')} + + + {t('header.notifications.emptyStatus', 'Keine Upload-Hinweise oder Wartungen aktiv.')} + + + ) : ( + + {notifications.map((item) => ( + + + {item.title} + + {item.body ? ( + + {item.body} + + ) : null} + + + + + + ))} + + )} + + + + + ); +} + +function InfoBadge({ label, value }: { label: string; value: number }) { + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + + return ( + + + {label} + + + {value} + + + ); +} diff --git a/resources/js/guest-v2/components/PhotoFrameTile.tsx b/resources/js/guest-v2/components/PhotoFrameTile.tsx new file mode 100644 index 0000000..732ecb2 --- /dev/null +++ b/resources/js/guest-v2/components/PhotoFrameTile.tsx @@ -0,0 +1,71 @@ +import React from 'react'; +import { YStack } from '@tamagui/stacks'; +import { useAppearance } from '@/hooks/use-appearance'; + +type PhotoFrameTileProps = { + height: number; + borderRadius?: number | string; + children?: React.ReactNode; + shimmer?: boolean; + shimmerDelayMs?: number; +}; + +export default function PhotoFrameTile({ + height, + borderRadius = '$tile', + children, + shimmer = false, + shimmerDelayMs = 0, +}: PhotoFrameTileProps) { + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + + return ( + + + {shimmer ? ( + + ) : null} + + {children} + + + + ); +} diff --git a/resources/js/guest-v2/components/SettingsContent.tsx b/resources/js/guest-v2/components/SettingsContent.tsx new file mode 100644 index 0000000..44d5d51 --- /dev/null +++ b/resources/js/guest-v2/components/SettingsContent.tsx @@ -0,0 +1,362 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Input } from '@tamagui/input'; +import { Card } from '@tamagui/card'; +import { Switch } from '@tamagui/switch'; +import { Check, Moon, RotateCcw, Sun, Languages, FileText, LifeBuoy } from 'lucide-react'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { useOptionalGuestIdentity } from '../context/GuestIdentityContext'; +import { useHapticsPreference } from '@/guest/hooks/useHapticsPreference'; +import { triggerHaptic } from '@/guest/lib/haptics'; +import { useConsent } from '@/contexts/consent'; +import { useAppearance } from '@/hooks/use-appearance'; +import { useEventData } from '../context/EventDataContext'; +import { buildEventPath } from '../lib/routes'; + +const legalLinks = [ + { slug: 'impressum', labelKey: 'settings.legal.section.impressum', fallback: 'Impressum' }, + { slug: 'datenschutz', labelKey: 'settings.legal.section.privacy', fallback: 'Datenschutz' }, + { slug: 'agb', labelKey: 'settings.legal.section.terms', fallback: 'AGB' }, +] as const; + +type SettingsContentProps = { + onNavigate?: () => void; + showHeader?: boolean; + onOpenLegal?: (slug: (typeof legalLinks)[number]['slug'], labelKey: (typeof legalLinks)[number]['labelKey']) => void; +}; + +export default function SettingsContent({ onNavigate, showHeader = true, onOpenLegal }: SettingsContentProps) { + const { t } = useTranslation(); + const locale = useLocale(); + const identity = useOptionalGuestIdentity(); + const { enabled: hapticsEnabled, setEnabled: setHapticsEnabled, supported: hapticsSupported } = useHapticsPreference(); + const { preferences, savePreferences } = useConsent(); + const matomoEnabled = typeof window !== 'undefined' && Boolean((window as any).__MATOMO_GUEST__?.enabled); + const { appearance, updateAppearance } = useAppearance(); + const { token } = useEventData(); + const isDark = appearance === 'dark'; + const cardBackground = isDark ? 'rgba(15, 23, 42, 0.65)' : 'rgba(255, 255, 255, 0.82)'; + const cardBorder = isDark ? 'rgba(148, 163, 184, 0.18)' : 'rgba(15, 23, 42, 0.12)'; + const primaryText = isDark ? '#F8FAFF' : '#0F172A'; + const mutedText = isDark ? 'rgba(226, 232, 240, 0.7)' : 'rgba(15, 23, 42, 0.6)'; + const mutedButton = isDark ? 'rgba(248, 250, 255, 0.08)' : 'rgba(15, 23, 42, 0.06)'; + const mutedButtonBorder = isDark ? 'rgba(248, 250, 255, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + const [nameDraft, setNameDraft] = React.useState(identity?.name ?? ''); + const [status, setStatus] = React.useState<'idle' | 'saved'>('idle'); + const helpPath = token ? buildEventPath(token, '/help') : '/help'; + const supportsInlineLegal = Boolean(onOpenLegal); + + React.useEffect(() => { + if (identity?.hydrated) { + setNameDraft(identity.name ?? ''); + setStatus('idle'); + } + }, [identity?.hydrated, identity?.name]); + + const canSaveName = Boolean( + identity?.hydrated && nameDraft.trim() && nameDraft.trim() !== (identity?.name ?? '') + ); + + const handleSaveName = React.useCallback(() => { + if (!identity || !canSaveName) { + return; + } + identity.setName(nameDraft); + setStatus('saved'); + window.setTimeout(() => setStatus('idle'), 2000); + }, [identity, nameDraft, canSaveName]); + + const handleResetName = React.useCallback(() => { + if (!identity) { + return; + } + identity.clearName(); + setNameDraft(''); + setStatus('idle'); + }, [identity]); + + return ( + + {showHeader ? ( + + + {t('settings.title', 'Settings')} + + {t('settings.subtitle', 'Make this app yours.')} + + ) : null} + + + + + + + {locale.availableLocales.map((option) => ( + + ))} + + + + + + + + + + {t('settings.name.title', 'Your name')} + + + + + + + {status === 'saved' ? ( + + {t('settings.name.saved', 'Saved')} + + ) : null} + + + + + + + {t('settings.haptics.label', 'Haptic feedback')} + + { + setHapticsEnabled(checked); + if (checked) { + triggerHaptic('selection'); + } + }} + aria-label="haptics-toggle" + backgroundColor={hapticsEnabled ? '$primary' : mutedButton} + borderColor={mutedButtonBorder} + borderWidth={1} + > + + + + {!hapticsSupported ? ( + + {t('settings.haptics.unsupported', 'Haptics are not available on this device.')} + + ) : null} + + + {matomoEnabled ? ( + + + + {t('settings.analytics.label', 'Share anonymous analytics')} + + savePreferences({ analytics: checked })} + backgroundColor={preferences?.analytics ? '$primary' : mutedButton} + borderColor={mutedButtonBorder} + borderWidth={1} + > + + + + + {t('settings.analytics.note', 'You can change this anytime.')} + + + ) : null} + + + + + {t('settings.legal.title', 'Legal')} + + + {legalLinks.map((page) => { + const label = t(page.labelKey, page.fallback); + if (supportsInlineLegal) { + return ( + + ); + } + + return ( + + ); + })} + + + + + + + + {t('settings.cache.title', 'Offline cache')} + + + + {t('settings.cache.note', 'This only affects this browser. Pending uploads may be lost.')} + + + + + + + + {t('settings.help.title', 'Help Center')} + + + + + + ); +} + +function ClearCacheButton() { + const { t } = useTranslation(); + const [busy, setBusy] = React.useState(false); + const [done, setDone] = React.useState(false); + const { appearance } = useAppearance(); + const isDark = appearance === 'dark'; + const mutedButton = isDark ? 'rgba(248, 250, 255, 0.08)' : 'rgba(15, 23, 42, 0.06)'; + const mutedButtonBorder = isDark ? 'rgba(248, 250, 255, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + const mutedText = isDark ? 'rgba(226, 232, 240, 0.7)' : 'rgba(15, 23, 42, 0.6)'; + + const clearAll = React.useCallback(async () => { + setBusy(true); + setDone(false); + try { + if ('caches' in window) { + const keys = await caches.keys(); + await Promise.all(keys.map((key) => caches.delete(key))); + } + if ('indexedDB' in window) { + const databases = ['guest-upload-queue', 'upload-queue']; + await Promise.all( + databases.map( + (name) => + new Promise((resolve) => { + const request = indexedDB.deleteDatabase(name); + request.onsuccess = () => resolve(null); + request.onerror = () => resolve(null); + }) + ) + ); + } + setDone(true); + } finally { + setBusy(false); + window.setTimeout(() => setDone(false), 2500); + } + }, []); + + return ( + + + {done ? ( + + {t('settings.cache.cleared', 'Cache cleared.')} + + ) : null} + + ); +} diff --git a/resources/js/guest-v2/components/SettingsSheet.tsx b/resources/js/guest-v2/components/SettingsSheet.tsx new file mode 100644 index 0000000..5d6dc52 --- /dev/null +++ b/resources/js/guest-v2/components/SettingsSheet.tsx @@ -0,0 +1,268 @@ +import React from 'react'; +import { ScrollView } from '@tamagui/scroll-view'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { ArrowLeft, X } from 'lucide-react'; +import SettingsContent from './SettingsContent'; +import { useAppearance } from '@/hooks/use-appearance'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { LegalMarkdown } from '@/guest/components/legal-markdown'; +import type { LocaleCode } from '@/guest/i18n/messages'; + +const legalLinks = [ + { slug: 'impressum', labelKey: 'settings.legal.section.impressum', fallback: 'Impressum' }, + { slug: 'datenschutz', labelKey: 'settings.legal.section.privacy', fallback: 'Datenschutz' }, + { slug: 'agb', labelKey: 'settings.legal.section.terms', fallback: 'AGB' }, +] as const; + +type ViewState = + | { mode: 'home' } + | { mode: 'legal'; slug: (typeof legalLinks)[number]['slug']; labelKey: (typeof legalLinks)[number]['labelKey'] }; + +type LegalDocumentState = + | { phase: 'idle'; title: string; markdown: string; html: string } + | { phase: 'loading'; title: string; markdown: string; html: string } + | { phase: 'ready'; title: string; markdown: string; html: string } + | { phase: 'error'; title: string; markdown: string; html: string }; + +type SettingsSheetProps = { + open: boolean; + onOpenChange: (open: boolean) => void; +}; + +export default function SettingsSheet({ open, onOpenChange }: SettingsSheetProps) { + const { t } = useTranslation(); + const { locale } = useLocale(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const [view, setView] = React.useState({ mode: 'home' }); + const isLegal = view.mode === 'legal'; + const legalDocument = useLegalDocument(isLegal ? view.slug : null, locale); + + const handleBack = React.useCallback(() => setView({ mode: 'home' }), []); + const handleOpenLegal = React.useCallback( + (slug: (typeof legalLinks)[number]['slug'], labelKey: (typeof legalLinks)[number]['labelKey']) => { + setView({ mode: 'legal', slug, labelKey }); + }, + [] + ); + + React.useEffect(() => { + if (!open) { + setView({ mode: 'home' }); + } + }, [open]); + + return ( + <> + onOpenChange(false)} + onClick={() => onOpenChange(false)} + onMouseDown={() => onOpenChange(false)} + onTouchStart={() => onOpenChange(false)} + /> + + + {isLegal ? ( + + + + + {legalDocument.phase === 'ready' && legalDocument.title + ? legalDocument.title + : t(view.labelKey, 'Legal')} + + + {legalDocument.phase === 'loading' + ? t('common.actions.loading', 'Loading...') + : t('settings.legal.description', 'Legal notice')} + + + + ) : ( + + {t('settings.title', 'Settings')} + + )} + + + + + {isLegal ? ( + + ) : ( + onOpenChange(false)} + showHeader={false} + onOpenLegal={handleOpenLegal} + /> + )} + + + + + ); +} + +function LegalView({ document, fallbackTitle }: { document: LegalDocumentState; fallbackTitle: string }) { + const { t } = useTranslation(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const mutedText = isDark ? 'rgba(226, 232, 240, 0.7)' : 'rgba(15, 23, 42, 0.6)'; + + if (document.phase === 'error') { + return ( + + + {t('settings.legal.error', 'Etwas ist schiefgelaufen.')} + + + {t('settings.legal.loading', 'Lade...')} + + + ); + } + + if (document.phase === 'loading' || document.phase === 'idle') { + return ( + + {t('settings.legal.loading', 'Lade...')} + + ); + } + + return ( + + + {document.title || fallbackTitle} + + + + + + ); +} + +function useLegalDocument(slug: string | null, locale: LocaleCode): LegalDocumentState { + const [state, setState] = React.useState({ + phase: 'idle', + title: '', + markdown: '', + html: '', + }); + + React.useEffect(() => { + if (!slug) { + setState({ phase: 'idle', title: '', markdown: '', html: '' }); + return; + } + + const controller = new AbortController(); + setState((prev) => ({ ...prev, phase: 'loading' })); + + fetch(`/api/v1/legal/${encodeURIComponent(slug)}?lang=${encodeURIComponent(locale)}`, { + headers: { Accept: 'application/json' }, + signal: controller.signal, + }) + .then(async (res) => { + if (!res.ok) { + throw new Error('Failed to load legal page'); + } + return res.json(); + }) + .then((data) => { + setState({ + phase: 'ready', + title: data?.title ?? '', + markdown: data?.body_markdown ?? '', + html: data?.body_html ?? '', + }); + }) + .catch((error) => { + if (error?.name === 'AbortError') return; + console.error('Failed to load legal page', error); + setState((prev) => ({ ...prev, phase: 'error' })); + }); + + return () => controller.abort(); + }, [slug, locale]); + + return state; +} diff --git a/resources/js/guest-v2/components/StandaloneShell.tsx b/resources/js/guest-v2/components/StandaloneShell.tsx new file mode 100644 index 0000000..9888676 --- /dev/null +++ b/resources/js/guest-v2/components/StandaloneShell.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { YStack } from '@tamagui/stacks'; +import AmbientBackground from './AmbientBackground'; + +type StandaloneShellProps = { + children: React.ReactNode; + compact?: boolean; +}; + +export default function StandaloneShell({ children, compact = false }: StandaloneShellProps) { + return ( + + + {children} + + + ); +} diff --git a/resources/js/guest-v2/components/SurfaceCard.tsx b/resources/js/guest-v2/components/SurfaceCard.tsx new file mode 100644 index 0000000..a52835e --- /dev/null +++ b/resources/js/guest-v2/components/SurfaceCard.tsx @@ -0,0 +1,35 @@ +import React from 'react'; +import { YStack } from '@tamagui/stacks'; +import type { YStackProps } from '@tamagui/stacks'; +import { useAppearance } from '@/hooks/use-appearance'; + +type SurfaceCardProps = YStackProps & { + glow?: boolean; +}; + +export default function SurfaceCard({ children, glow = false, ...props }: SurfaceCardProps) { + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const borderColor = isDark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(15, 23, 42, 0.12)'; + const boxShadow = isDark + ? glow + ? '0 22px 40px rgba(6, 10, 22, 0.55)' + : '0 16px 30px rgba(2, 6, 23, 0.35)' + : glow + ? '0 22px 38px rgba(15, 23, 42, 0.16)' + : '0 14px 24px rgba(15, 23, 42, 0.12)'; + + return ( + + {children} + + ); +} diff --git a/resources/js/guest-v2/components/TopBar.tsx b/resources/js/guest-v2/components/TopBar.tsx new file mode 100644 index 0000000..d25b1eb --- /dev/null +++ b/resources/js/guest-v2/components/TopBar.tsx @@ -0,0 +1,97 @@ +import React from 'react'; +import { XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Bell, Settings } from 'lucide-react'; +import { useAppearance } from '@/hooks/use-appearance'; + +type TopBarProps = { + eventName: string; + onProfilePress?: () => void; + onNotificationsPress?: () => void; + notificationCount?: number; +}; + +export default function TopBar({ + eventName, + onProfilePress, + onNotificationsPress, + notificationCount = 0, +}: TopBarProps) { + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + + return ( + + + {eventName} + + + + + + + ); +} diff --git a/resources/js/guest-v2/context/EventDataContext.tsx b/resources/js/guest-v2/context/EventDataContext.tsx new file mode 100644 index 0000000..3ee36bb --- /dev/null +++ b/resources/js/guest-v2/context/EventDataContext.tsx @@ -0,0 +1,103 @@ +import React from 'react'; +import { fetchEvent, type EventData, FetchEventError } from '../services/eventApi'; +import { isTaskModeEnabled } from '@/guest/lib/engagement'; + +type EventDataStatus = 'idle' | 'loading' | 'ready' | 'error'; + +type EventDataContextValue = { + event: EventData | null; + status: EventDataStatus; + error: string | null; + token: string | null; + tasksEnabled: boolean; +}; + +const EventDataContext = React.createContext({ + event: null, + status: 'idle', + error: null, + token: null, + tasksEnabled: true, +}); + +type EventDataProviderProps = { + token?: string | null; + tasksEnabledFallback?: boolean; + children: React.ReactNode; +}; + +export function EventDataProvider({ + token, + tasksEnabledFallback = true, + children, +}: EventDataProviderProps) { + const [event, setEvent] = React.useState(null); + const [status, setStatus] = React.useState(token ? 'loading' : 'idle'); + const [error, setError] = React.useState(null); + + React.useEffect(() => { + if (!token) { + setEvent(null); + setStatus('idle'); + setError(null); + return; + } + + let cancelled = false; + + const loadEvent = async () => { + setStatus('loading'); + setError(null); + + try { + const eventData = await fetchEvent(token); + if (cancelled) { + return; + } + setEvent(eventData); + setStatus('ready'); + } catch (err) { + if (cancelled) { + return; + } + + setEvent(null); + setStatus('error'); + + if (err instanceof FetchEventError) { + setError(err.message); + } else if (err instanceof Error) { + setError(err.message || 'Event could not be loaded.'); + } else { + setError('Event could not be loaded.'); + } + } + }; + + loadEvent(); + + return () => { + cancelled = true; + }; + }, [token]); + + const tasksEnabled = event ? isTaskModeEnabled(event) : tasksEnabledFallback; + + return ( + + {children} + + ); +} + +export function useEventData() { + return React.useContext(EventDataContext); +} diff --git a/resources/js/guest-v2/context/GuestIdentityContext.tsx b/resources/js/guest-v2/context/GuestIdentityContext.tsx new file mode 100644 index 0000000..0edc4ce --- /dev/null +++ b/resources/js/guest-v2/context/GuestIdentityContext.tsx @@ -0,0 +1,111 @@ +import React from 'react'; + +type GuestIdentityContextValue = { + eventKey: string; + slug: string; + name: string; + hydrated: boolean; + setName: (nextName: string) => void; + clearName: () => void; + reload: () => void; +}; + +const GuestIdentityContext = React.createContext(undefined); + +function storageKey(eventKey: string) { + return `guestName_${eventKey}`; +} + +export function readGuestName(eventKey: string) { + if (!eventKey || typeof window === 'undefined') { + return ''; + } + + try { + return window.localStorage.getItem(storageKey(eventKey)) ?? ''; + } catch (error) { + console.warn('Failed to read guest name', error); + return ''; + } +} + +export function GuestIdentityProvider({ eventKey, children }: { eventKey: string; children: React.ReactNode }) { + const [name, setNameState] = React.useState(''); + const [hydrated, setHydrated] = React.useState(false); + + const loadFromStorage = React.useCallback(() => { + if (!eventKey) { + setHydrated(true); + setNameState(''); + return; + } + + try { + const stored = window.localStorage.getItem(storageKey(eventKey)); + setNameState(stored ?? ''); + } catch (error) { + console.warn('Failed to read guest name from storage', error); + setNameState(''); + } finally { + setHydrated(true); + } + }, [eventKey]); + + React.useEffect(() => { + setHydrated(false); + loadFromStorage(); + }, [loadFromStorage]); + + const persistName = React.useCallback( + (nextName: string) => { + const trimmed = nextName.trim(); + setNameState(trimmed); + try { + if (trimmed) { + window.localStorage.setItem(storageKey(eventKey), trimmed); + } else { + window.localStorage.removeItem(storageKey(eventKey)); + } + } catch (error) { + console.warn('Failed to persist guest name', error); + } + }, + [eventKey] + ); + + const clearName = React.useCallback(() => { + setNameState(''); + try { + window.localStorage.removeItem(storageKey(eventKey)); + } catch (error) { + console.warn('Failed to clear guest name', error); + } + }, [eventKey]); + + const value = React.useMemo( + () => ({ + eventKey, + slug: eventKey, + name, + hydrated, + setName: persistName, + clearName, + reload: loadFromStorage, + }), + [eventKey, name, hydrated, persistName, clearName, loadFromStorage] + ); + + return {children}; +} + +export function useGuestIdentity() { + const ctx = React.useContext(GuestIdentityContext); + if (!ctx) { + throw new Error('useGuestIdentity must be used within a GuestIdentityProvider'); + } + return ctx; +} + +export function useOptionalGuestIdentity() { + return React.useContext(GuestIdentityContext); +} diff --git a/resources/js/guest-v2/hooks/usePollGalleryDelta.ts b/resources/js/guest-v2/hooks/usePollGalleryDelta.ts new file mode 100644 index 0000000..7c43f66 --- /dev/null +++ b/resources/js/guest-v2/hooks/usePollGalleryDelta.ts @@ -0,0 +1,82 @@ +import React from 'react'; +import { fetchGallery } from '../services/photosApi'; + +export type GalleryDelta = { + photos: Record[]; + latestPhotoAt: string | null; + nextCursor: string | null; +}; + +const emptyDelta: GalleryDelta = { + photos: [], + latestPhotoAt: null, + nextCursor: null, +}; + +export function usePollGalleryDelta( + eventToken: string | null, + options: { intervalMs?: number; locale?: string } = {} +) { + const intervalMs = options.intervalMs ?? 30000; + const [data, setData] = React.useState(emptyDelta); + const [loading, setLoading] = React.useState(Boolean(eventToken)); + const [error, setError] = React.useState(null); + const latestRef = React.useRef(null); + + React.useEffect(() => { + if (!eventToken) { + setData(emptyDelta); + setLoading(false); + setError(null); + latestRef.current = null; + return; + } + + let active = true; + let timer: number | null = null; + + const poll = async () => { + if (document.visibilityState === 'hidden') { + timer = window.setTimeout(poll, intervalMs); + return; + } + + try { + setLoading(true); + const response = await fetchGallery(eventToken, { + since: latestRef.current ?? undefined, + locale: options.locale, + }); + if (!active) return; + const photos = Array.isArray(response.data) ? response.data : []; + const latestPhotoAt = response.latest_photo_at ?? latestRef.current ?? null; + latestRef.current = latestPhotoAt; + setData({ + photos, + latestPhotoAt, + nextCursor: response.next_cursor ?? null, + }); + setError(null); + } catch (err) { + if (!active) return; + setError(err instanceof Error ? err.message : 'Failed to load gallery updates'); + } finally { + if (active) { + setLoading(false); + timer = window.setTimeout(poll, intervalMs); + } + } + }; + + poll(); + + return () => { + active = false; + if (timer) { + window.clearTimeout(timer); + } + }; + }, [eventToken, intervalMs, options.locale]); + + return { data, loading, error } as const; +} diff --git a/resources/js/guest-v2/hooks/usePollStats.ts b/resources/js/guest-v2/hooks/usePollStats.ts new file mode 100644 index 0000000..efacd79 --- /dev/null +++ b/resources/js/guest-v2/hooks/usePollStats.ts @@ -0,0 +1,57 @@ +import React from 'react'; +import { fetchEventStats } from '../services/statsApi'; +import type { EventStats } from '../services/eventApi'; + +const defaultStats: EventStats = { onlineGuests: 0, tasksSolved: 0, latestPhotoAt: null }; + +export function usePollStats(eventToken: string | null, intervalMs = 10000) { + const [stats, setStats] = React.useState(defaultStats); + const [loading, setLoading] = React.useState(Boolean(eventToken)); + const [error, setError] = React.useState(null); + + React.useEffect(() => { + if (!eventToken) { + setStats(defaultStats); + setLoading(false); + setError(null); + return; + } + + let active = true; + let timer: number | null = null; + + const poll = async () => { + if (document.visibilityState === 'hidden') { + timer = window.setTimeout(poll, intervalMs); + return; + } + + try { + setLoading(true); + const next = await fetchEventStats(eventToken); + if (!active) return; + setStats(next); + setError(null); + } catch (err) { + if (!active) return; + setError(err instanceof Error ? err.message : 'Failed to load stats'); + } finally { + if (active) { + setLoading(false); + timer = window.setTimeout(poll, intervalMs); + } + } + }; + + poll(); + + return () => { + active = false; + if (timer) { + window.clearTimeout(timer); + } + }; + }, [eventToken, intervalMs]); + + return { stats, loading, error } as const; +} diff --git a/resources/js/guest-v2/layouts/EventLayout.tsx b/resources/js/guest-v2/layouts/EventLayout.tsx new file mode 100644 index 0000000..92a181e --- /dev/null +++ b/resources/js/guest-v2/layouts/EventLayout.tsx @@ -0,0 +1,74 @@ +import React from 'react'; +import { Navigate, Outlet, useParams } from 'react-router-dom'; +import { LocaleProvider } from '@/guest/i18n/LocaleContext'; +import { DEFAULT_LOCALE, isLocaleCode } from '@/guest/i18n/messages'; +import { NotificationCenterProvider } from '@/guest/context/NotificationCenterContext'; +import { EventBrandingProvider } from '@/guest/context/EventBrandingContext'; +import { EventDataProvider, useEventData } from '../context/EventDataContext'; +import { GuestIdentityProvider, useOptionalGuestIdentity } from '../context/GuestIdentityContext'; +import { mapEventBranding } from '../lib/eventBranding'; +import { BrandingTheme } from '../lib/brandingTheme'; + +type EventLayoutProps = { + tasksEnabledFallback?: boolean; + requireProfile?: boolean; +}; + +export default function EventLayout({ tasksEnabledFallback = true, requireProfile = false }: EventLayoutProps) { + const { token } = useParams<{ token: string }>(); + + return ( + + + + + + ); +} + +function EventProviders({ + token, + children, + requireProfile, +}: { + token?: string; + children: React.ReactNode; + requireProfile: boolean; +}) { + const { event } = useEventData(); + const eventLocale = event && isLocaleCode(event.default_locale) ? event.default_locale : DEFAULT_LOCALE; + const localeStorageKey = event + ? `guestLocale_event_${event.id ?? token ?? 'global'}` + : `guestLocale_event_${token ?? 'global'}`; + const branding = mapEventBranding( + event?.branding ?? (event as unknown as { settings?: { branding?: any } })?.settings?.branding ?? null + ); + + const content = ( + + + + + {requireProfile ? {children} : children} + + + + + ); + + if (!token) { + return content; + } + + return {content}; +} + +function ProfileGate({ token, children }: { token?: string; children: React.ReactNode }) { + const identity = useOptionalGuestIdentity(); + + if (token && identity?.hydrated && !identity.name) { + return ; + } + + return <>{children}; +} diff --git a/resources/js/guest-v2/layouts/GuestLocaleLayout.tsx b/resources/js/guest-v2/layouts/GuestLocaleLayout.tsx new file mode 100644 index 0000000..1151840 --- /dev/null +++ b/resources/js/guest-v2/layouts/GuestLocaleLayout.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import { Outlet } from 'react-router-dom'; +import { LocaleProvider } from '@/guest/i18n/LocaleContext'; +import { DEFAULT_LOCALE } from '@/guest/i18n/messages'; + +export default function GuestLocaleLayout() { + return ( + + + + ); +} diff --git a/resources/js/guest-v2/lib/brandingTheme.ts b/resources/js/guest-v2/lib/brandingTheme.ts new file mode 100644 index 0000000..ea81b57 --- /dev/null +++ b/resources/js/guest-v2/lib/brandingTheme.ts @@ -0,0 +1 @@ +export * from './brandingTheme.tsx'; diff --git a/resources/js/guest-v2/lib/brandingTheme.tsx b/resources/js/guest-v2/lib/brandingTheme.tsx new file mode 100644 index 0000000..d371477 --- /dev/null +++ b/resources/js/guest-v2/lib/brandingTheme.tsx @@ -0,0 +1,66 @@ +import { Theme } from '@tamagui/core'; +import React from 'react'; +import type { Appearance } from '@/hooks/use-appearance'; +import { useAppearance } from '@/hooks/use-appearance'; +import { useEventBranding } from '@/guest/context/EventBrandingContext'; +import { relativeLuminance } from '@/guest/lib/color'; +import type { EventBranding } from '@/guest/types/event-branding'; + +const LIGHT_LUMINANCE_THRESHOLD = 0.65; +const DARK_LUMINANCE_THRESHOLD = 0.35; + +type ThemeVariant = 'light' | 'dark'; + +function resolveThemeVariant( + mode: EventBranding['mode'], + backgroundColor: string, + appearanceOverride: 'light' | 'dark' | null +): ThemeVariant { + const prefersDark = + typeof window !== 'undefined' && typeof window.matchMedia === 'function' + ? window.matchMedia('(prefers-color-scheme: dark)').matches + : false; + const backgroundLuminance = relativeLuminance(backgroundColor); + const backgroundPrefers = + backgroundLuminance >= LIGHT_LUMINANCE_THRESHOLD + ? 'light' + : backgroundLuminance <= DARK_LUMINANCE_THRESHOLD + ? 'dark' + : null; + + if (mode === 'dark') { + return 'dark'; + } + + if (mode === 'light') { + return 'light'; + } + + if (appearanceOverride) { + return appearanceOverride; + } + + if (backgroundPrefers) { + return backgroundPrefers; + } + + return prefersDark ? 'dark' : 'light'; +} + +export function resolveGuestThemeName( + branding: EventBranding, + appearance: Appearance +): 'guestLight' | 'guestNight' { + const appearanceOverride = appearance === 'light' || appearance === 'dark' ? appearance : null; + const background = branding.backgroundColor || branding.palette?.background || '#ffffff'; + const variant = resolveThemeVariant(branding.mode ?? 'auto', background, appearanceOverride); + return variant === 'dark' ? 'guestNight' : 'guestLight'; +} + +export function BrandingTheme({ children }: { children: React.ReactNode }) { + const { branding } = useEventBranding(); + const { appearance } = useAppearance(); + const themeName = resolveGuestThemeName(branding, appearance); + + return {children}; +} diff --git a/resources/js/guest-v2/lib/device.ts b/resources/js/guest-v2/lib/device.ts new file mode 100644 index 0000000..08392f4 --- /dev/null +++ b/resources/js/guest-v2/lib/device.ts @@ -0,0 +1,18 @@ +export function getDeviceId(): string { + const KEY = 'device-id'; + let id = localStorage.getItem(KEY); + if (!id) { + id = genId(); + localStorage.setItem(KEY, id); + } + return id; +} + +function genId() { + // Simple UUID v4-ish generator + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { + const r = (crypto.getRandomValues(new Uint8Array(1))[0] & 0xf) >> 0; + const v = c === 'x' ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); +} diff --git a/resources/js/guest-v2/lib/eventBranding.ts b/resources/js/guest-v2/lib/eventBranding.ts new file mode 100644 index 0000000..5f71cd5 --- /dev/null +++ b/resources/js/guest-v2/lib/eventBranding.ts @@ -0,0 +1,74 @@ +import type { EventBranding } from '@/guest/types/event-branding'; +import type { EventBrandingPayload } from '@/guest/services/eventApi'; + +export function mapEventBranding(raw?: EventBrandingPayload | null): EventBranding | null { + if (!raw) { + return null; + } + + const palette = raw.palette ?? {}; + const typography = raw.typography ?? {}; + const buttons = raw.buttons ?? {}; + const logo = raw.logo ?? {}; + const primary = palette.primary ?? raw.primary_color ?? ''; + const secondary = palette.secondary ?? raw.secondary_color ?? ''; + const background = palette.background ?? raw.background_color ?? ''; + const surface = palette.surface ?? raw.surface_color ?? background; + const headingFont = typography.heading ?? raw.heading_font ?? raw.font_family ?? null; + const bodyFont = typography.body ?? raw.body_font ?? raw.font_family ?? null; + const sizePreset = + (typography.size as 's' | 'm' | 'l' | undefined) + ?? (raw.font_size as 's' | 'm' | 'l' | undefined) + ?? 'm'; + const logoMode = logo.mode ?? raw.logo_mode ?? (logo.value || raw.logo_url ? 'upload' : 'emoticon'); + const logoValue = logo.value ?? raw.logo_value ?? raw.logo_url ?? raw.icon ?? null; + const logoPosition = logo.position ?? raw.logo_position ?? 'left'; + const logoSize = (logo.size as 's' | 'm' | 'l' | undefined) ?? (raw.logo_size as 's' | 'm' | 'l' | undefined) ?? 'm'; + const buttonStyle = + (buttons.style as 'filled' | 'outline' | undefined) + ?? (raw.button_style as 'filled' | 'outline' | undefined) + ?? 'filled'; + const buttonRadius = + typeof buttons.radius === 'number' + ? buttons.radius + : typeof raw.button_radius === 'number' + ? raw.button_radius + : 12; + const buttonPrimary = buttons.primary ?? raw.button_primary_color ?? primary ?? ''; + const buttonSecondary = buttons.secondary ?? raw.button_secondary_color ?? secondary ?? ''; + const linkColor = buttons.link_color ?? raw.link_color ?? secondary ?? ''; + + return { + primaryColor: primary ?? '', + secondaryColor: secondary ?? '', + backgroundColor: background ?? '', + fontFamily: bodyFont, + logoUrl: logoMode === 'upload' ? (logoValue ?? null) : null, + palette: { + primary: primary ?? '', + secondary: secondary ?? '', + background: background ?? '', + surface: surface ?? background ?? '', + }, + typography: { + heading: headingFont, + body: bodyFont, + sizePreset, + }, + logo: { + mode: logoMode, + value: logoValue, + position: logoPosition, + size: logoSize, + }, + buttons: { + style: buttonStyle, + radius: buttonRadius, + primary: buttonPrimary, + secondary: buttonSecondary, + linkColor, + }, + mode: (raw.mode as 'light' | 'dark' | 'auto' | undefined) ?? 'auto', + useDefaultBranding: raw.use_default_branding ?? undefined, + }; +} diff --git a/resources/js/guest-v2/lib/routes.ts b/resources/js/guest-v2/lib/routes.ts new file mode 100644 index 0000000..f7271e2 --- /dev/null +++ b/resources/js/guest-v2/lib/routes.ts @@ -0,0 +1,13 @@ +export function buildEventPath(token: string | null, path: string): string { + const normalized = path.startsWith('/') ? path : `/${path}`; + + if (!token) { + return normalized; + } + + if (normalized === '/') { + return `/e/${encodeURIComponent(token)}`; + } + + return `/e/${encodeURIComponent(token)}${normalized}`; +} diff --git a/resources/js/guest-v2/lib/usePulseAnimation.ts b/resources/js/guest-v2/lib/usePulseAnimation.ts new file mode 100644 index 0000000..ac05f0d --- /dev/null +++ b/resources/js/guest-v2/lib/usePulseAnimation.ts @@ -0,0 +1,39 @@ +import React from 'react'; + +type UsePulseAnimationOptions = { + intervalMs?: number; + delayMs?: number; +}; + +export function usePulseAnimation({ intervalMs = 2400, delayMs = 0 }: UsePulseAnimationOptions = {}) { + const [active, setActive] = React.useState(false); + + React.useEffect(() => { + let interval: ReturnType | undefined; + let timeout: ReturnType | undefined; + + const start = () => { + setActive((prev) => !prev); + interval = setInterval(() => { + setActive((prev) => !prev); + }, intervalMs); + }; + + if (delayMs > 0) { + timeout = setTimeout(start, delayMs); + } else { + start(); + } + + return () => { + if (interval) { + clearInterval(interval); + } + if (timeout) { + clearTimeout(timeout); + } + }; + }, [delayMs, intervalMs]); + + return active; +} diff --git a/resources/js/guest-v2/lib/useStaggeredReveal.ts b/resources/js/guest-v2/lib/useStaggeredReveal.ts new file mode 100644 index 0000000..2bc0f30 --- /dev/null +++ b/resources/js/guest-v2/lib/useStaggeredReveal.ts @@ -0,0 +1,29 @@ +import React from 'react'; + +type UseStaggeredRevealOptions = { + steps: number; + intervalMs?: number; + delayMs?: number; +}; + +export function useStaggeredReveal({ steps, intervalMs = 140, delayMs = 80 }: UseStaggeredRevealOptions) { + const [stage, setStage] = React.useState(0); + + React.useEffect(() => { + const timers: Array> = []; + + for (let index = 1; index <= steps; index += 1) { + timers.push( + setTimeout(() => { + setStage(index); + }, delayMs + intervalMs * (index - 1)) + ); + } + + return () => { + timers.forEach((timer) => clearTimeout(timer)); + }; + }, [delayMs, intervalMs, steps]); + + return stage; +} diff --git a/resources/js/guest-v2/main.tsx b/resources/js/guest-v2/main.tsx new file mode 100644 index 0000000..b67b950 --- /dev/null +++ b/resources/js/guest-v2/main.tsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { createRoot } from 'react-dom/client'; +import '@tamagui/core/reset.css'; +import '../../css/app.css'; +import { initializeTheme } from '@/hooks/use-appearance'; +import App from './App'; + +const rootElement = document.getElementById('root'); + +if (!rootElement) { + throw new Error('Guest v2 root element not found.'); +} + +initializeTheme(); + +if (typeof window !== 'undefined' && !window.localStorage.getItem('theme')) { + window.localStorage.setItem('theme', 'light'); + initializeTheme(); +} + +createRoot(rootElement).render( + + + +); diff --git a/resources/js/guest-v2/router.tsx b/resources/js/guest-v2/router.tsx new file mode 100644 index 0000000..45643af --- /dev/null +++ b/resources/js/guest-v2/router.tsx @@ -0,0 +1,106 @@ +import React from 'react'; +import { createBrowserRouter } from 'react-router-dom'; +import HomeScreen from './screens/HomeScreen'; +import GalleryScreen from './screens/GalleryScreen'; +import PhotoLightboxScreen from './screens/PhotoLightboxScreen'; +import TasksScreen from './screens/TasksScreen'; +import TaskDetailScreen from './screens/TaskDetailScreen'; +import SettingsScreen from './screens/SettingsScreen'; +import UploadScreen from './screens/UploadScreen'; +import UploadQueueScreen from './screens/UploadQueueScreen'; +import ShareScreen from './screens/ShareScreen'; +import AchievementsScreen from './screens/AchievementsScreen'; +import NotFoundScreen from './screens/NotFoundScreen'; +import LandingScreen from './screens/LandingScreen'; +import ProfileSetupScreen from './screens/ProfileSetupScreen'; +import LegalScreen from './screens/LegalScreen'; +import HelpCenterScreen from './screens/HelpCenterScreen'; +import HelpArticleScreen from './screens/HelpArticleScreen'; +import PublicGalleryScreen from './screens/PublicGalleryScreen'; +import SharedPhotoScreen from './screens/SharedPhotoScreen'; +import LiveShowScreen from './screens/LiveShowScreen'; +import SlideshowScreen from './screens/SlideshowScreen'; +import EventLayout from './layouts/EventLayout'; +import GuestLocaleLayout from './layouts/GuestLocaleLayout'; +import MockupsIndexScreen from './screens/mockups/MockupsIndexScreen'; +import MockupsHomeIndexScreen from './screens/mockups/MockupsHomeIndexScreen'; +import Mockup01CaptureOrbit from './screens/mockups/Mockup01CaptureOrbit'; +import Mockup02GalleryMosaic from './screens/mockups/Mockup02GalleryMosaic'; +import Mockup03PromptQuest from './screens/mockups/Mockup03PromptQuest'; +import Mockup04TimelineStream from './screens/mockups/Mockup04TimelineStream'; +import Mockup05CompassHub from './screens/mockups/Mockup05CompassHub'; +import Mockup06SplitCapture from './screens/mockups/Mockup06SplitCapture'; +import Mockup07SwipeDeck from './screens/mockups/Mockup07SwipeDeck'; +import Mockup08Daybook from './screens/mockups/Mockup08Daybook'; +import Mockup09ChecklistFlow from './screens/mockups/Mockup09ChecklistFlow'; +import Mockup10SpotlightReel from './screens/mockups/Mockup10SpotlightReel'; +import MockupHome01PulseHero from './screens/mockups/MockupHome01PulseHero'; +import MockupHome02StoryRings from './screens/mockups/MockupHome02StoryRings'; +import MockupHome03LiveStream from './screens/mockups/MockupHome03LiveStream'; +import MockupHome04TaskSprint from './screens/mockups/MockupHome04TaskSprint'; +import MockupHome05GalleryFirst from './screens/mockups/MockupHome05GalleryFirst'; +import MockupHome06CalmFocus from './screens/mockups/MockupHome06CalmFocus'; +import MockupHome07MomentStack from './screens/mockups/MockupHome07MomentStack'; +import MockupHome08CountdownStage from './screens/mockups/MockupHome08CountdownStage'; +import MockupHome09ShareHub from './screens/mockups/MockupHome09ShareHub'; +import MockupHome10Moodboard from './screens/mockups/MockupHome10Moodboard'; + +const screenChildren = [ + { index: true, element: }, + { path: 'gallery', element: }, + { path: 'photo/:photoId', element: }, + { path: 'tasks', element: }, + { path: 'tasks/:taskId', element: }, + { path: 'upload', element: }, + { path: 'queue', element: }, + { path: 'share', element: }, + { path: 'achievements', element: }, + { path: 'settings', element: }, + { path: 'help', element: }, + { path: 'help/:slug', element: }, + { path: 'slideshow', element: }, +]; + +export const router = createBrowserRouter( + [ + { + element: , + children: [ + { path: '/event', element: }, + { path: '/event-v2', element: }, + { path: '/legal/:page', element: }, + { path: '/help', element: }, + { path: '/help/:slug', element: }, + { path: '/g/:token', element: }, + { path: '/share/:slug', element: }, + ], + }, + { path: '/setup/:token', element: , children: [{ index: true, element: }] }, + { path: '/e/:token', element: , children: screenChildren }, + { path: '/show/:token', element: , children: [{ index: true, element: }] }, + { path: '/mockups', element: }, + { path: '/mockups/1', element: }, + { path: '/mockups/2', element: }, + { path: '/mockups/3', element: }, + { path: '/mockups/4', element: }, + { path: '/mockups/5', element: }, + { path: '/mockups/6', element: }, + { path: '/mockups/7', element: }, + { path: '/mockups/8', element: }, + { path: '/mockups/9', element: }, + { path: '/mockups/10', element: }, + { path: '/mockups/home', element: }, + { path: '/mockups/home/1', element: }, + { path: '/mockups/home/2', element: }, + { path: '/mockups/home/3', element: }, + { path: '/mockups/home/4', element: }, + { path: '/mockups/home/5', element: }, + { path: '/mockups/home/6', element: }, + { path: '/mockups/home/7', element: }, + { path: '/mockups/home/8', element: }, + { path: '/mockups/home/9', element: }, + { path: '/mockups/home/10', element: }, + { path: '*', element: }, + ], + {} +); diff --git a/resources/js/guest-v2/screens/AchievementsScreen.tsx b/resources/js/guest-v2/screens/AchievementsScreen.tsx new file mode 100644 index 0000000..dba56a4 --- /dev/null +++ b/resources/js/guest-v2/screens/AchievementsScreen.tsx @@ -0,0 +1,174 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Trophy, Star } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import { useEventData } from '../context/EventDataContext'; +import { useOptionalGuestIdentity } from '../context/GuestIdentityContext'; +import { fetchAchievements, type AchievementsPayload } from '../services/achievementsApi'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { useAppearance } from '@/hooks/use-appearance'; + +export default function AchievementsScreen() { + const { token } = useEventData(); + const identity = useOptionalGuestIdentity(); + const { t } = useTranslation(); + const { locale } = useLocale(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const cardBorder = isDark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(15, 23, 42, 0.12)'; + const cardShadow = isDark ? '0 18px 40px rgba(2, 6, 23, 0.4)' : '0 16px 30px rgba(15, 23, 42, 0.12)'; + const [payload, setPayload] = React.useState(null); + const [loading, setLoading] = React.useState(false); + const [error, setError] = React.useState(null); + + React.useEffect(() => { + if (!token) { + setPayload(null); + return; + } + + let active = true; + setLoading(true); + setError(null); + + fetchAchievements(token, { guestName: identity?.name ?? undefined, locale }) + .then((data) => { + if (!active) return; + setPayload(data); + }) + .catch((err) => { + console.error('Failed to load achievements', err); + if (active) { + setError(t('achievements.error', 'Achievements could not be loaded.')); + } + }) + .finally(() => { + if (active) { + setLoading(false); + } + }); + + return () => { + active = false; + }; + }, [token, identity?.name, locale, t]); + + const topPhoto = payload?.highlights?.topPhoto ?? null; + const totalPhotos = payload?.summary?.totalPhotos ?? 0; + const totalTasks = payload?.summary?.tasksSolved ?? 0; + const totalLikes = payload?.summary?.likesTotal ?? 0; + + return ( + + + + + + + {t('achievements.page.title', 'Achievements')} + + + + {loading + ? t('common.actions.loading', 'Loading...') + : t('achievements.page.subtitle', 'Track your milestones and highlight streaks.')} + + + + {error ? ( + + + {error ?? t('achievements.page.loadError', 'Achievements could not be loaded.')} + + + ) : null} + + + + + + {topPhoto + ? t('achievements.highlights.topTitle', 'Top photo') + : t('achievements.summary.topContributor', 'Top contributor')} + + + + {topPhoto + ? t('achievements.highlights.likesAmount', { count: topPhoto.likes }, '{count} Likes') + : t('achievements.summary.placeholder', 'Keep sharing to unlock highlights.')} + + + + + {[1, 2].map((card) => ( + + + {card === 1 ? totalTasks : totalPhotos} + + + {card === 1 + ? t('achievements.summary.tasksCompleted', 'Tasks completed') + : t('achievements.summary.photosShared', 'Photos shared')} + + + ))} + + + + + {totalLikes} + + + {t('achievements.summary.likesCollected', 'Likes collected')} + + + + + ); +} diff --git a/resources/js/guest-v2/screens/GalleryScreen.tsx b/resources/js/guest-v2/screens/GalleryScreen.tsx new file mode 100644 index 0000000..3d967ab --- /dev/null +++ b/resources/js/guest-v2/screens/GalleryScreen.tsx @@ -0,0 +1,347 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Image as ImageIcon, Filter } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import PhotoFrameTile from '../components/PhotoFrameTile'; +import { useEventData } from '../context/EventDataContext'; +import { fetchGallery } from '../services/photosApi'; +import { usePollGalleryDelta } from '../hooks/usePollGalleryDelta'; +import { useAppearance } from '@/hooks/use-appearance'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { useNavigate } from 'react-router-dom'; +import { buildEventPath } from '../lib/routes'; + +type GalleryFilter = 'latest' | 'popular' | 'mine' | 'photobooth'; + +type GalleryTile = { + id: number; + imageUrl: string; + likes: number; + createdAt?: string | null; + ingestSource?: string | null; + sessionId?: string | null; +}; + +function normalizeImageUrl(src?: string | null) { + if (!src) { + return ''; + } + + if (/^https?:/i.test(src)) { + return src; + } + + let cleanPath = src.replace(/^\/+/g, '').replace(/\/+/g, '/'); + if (!cleanPath.startsWith('storage/')) { + cleanPath = `storage/${cleanPath}`; + } + + return `/${cleanPath}`.replace(/\/+/g, '/'); +} + +export default function GalleryScreen() { + const { token } = useEventData(); + const { t } = useTranslation(); + const { locale } = useLocale(); + const navigate = useNavigate(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const cardBorder = isDark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(15, 23, 42, 0.12)'; + const cardShadow = isDark ? '0 18px 40px rgba(2, 6, 23, 0.4)' : '0 16px 30px rgba(15, 23, 42, 0.12)'; + const mutedButton = isDark ? 'rgba(255, 255, 255, 0.08)' : 'rgba(15, 23, 42, 0.06)'; + const mutedButtonBorder = isDark ? 'rgba(255, 255, 255, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + const [photos, setPhotos] = React.useState([]); + const [loading, setLoading] = React.useState(false); + const { data: delta } = usePollGalleryDelta(token ?? null, { locale }); + const [filter, setFilter] = React.useState('latest'); + + React.useEffect(() => { + if (!token) { + setPhotos([]); + return; + } + + let active = true; + setLoading(true); + + fetchGallery(token, { limit: 18, locale }) + .then((response) => { + if (!active) return; + const list = Array.isArray(response.data) ? response.data : []; + const mapped = list + .map((photo) => { + const record = photo as Record; + const id = Number(record.id ?? 0); + const likesCount = typeof record.likes_count === 'number' ? record.likes_count : 0; + const imageUrl = normalizeImageUrl( + (record.thumbnail_url as string | null | undefined) + ?? (record.thumbnail_path as string | null | undefined) + ?? (record.file_path as string | null | undefined) + ?? (record.full_url as string | null | undefined) + ?? (record.url as string | null | undefined) + ?? (record.image_url as string | null | undefined) + ); + return { + id, + imageUrl, + likes: likesCount, + createdAt: typeof record.created_at === 'string' ? record.created_at : null, + ingestSource: typeof record.ingest_source === 'string' ? record.ingest_source : null, + sessionId: typeof record.session_id === 'string' ? record.session_id : null, + }; + }) + .filter((item) => item.id && item.imageUrl); + setPhotos(mapped); + }) + .catch((error) => { + console.error('Failed to load gallery', error); + if (active) { + setPhotos([]); + } + }) + .finally(() => { + if (active) { + setLoading(false); + } + }); + + return () => { + active = false; + }; + }, [token, locale]); + + const myPhotoIds = React.useMemo(() => { + try { + const raw = localStorage.getItem('my-photo-ids'); + return new Set(raw ? JSON.parse(raw) : []); + } catch { + return new Set(); + } + }, [token]); + + const filteredPhotos = React.useMemo(() => { + let list = photos.slice(); + if (filter === 'popular') { + list.sort((a, b) => (b.likes ?? 0) - (a.likes ?? 0)); + } else if (filter === 'mine') { + list = list.filter((photo) => myPhotoIds.has(photo.id)); + } else if (filter === 'photobooth') { + list = list.filter((photo) => photo.ingestSource === 'photobooth'); + list.sort((a, b) => new Date(b.createdAt ?? 0).getTime() - new Date(a.createdAt ?? 0).getTime()); + } else { + list.sort((a, b) => new Date(b.createdAt ?? 0).getTime() - new Date(a.createdAt ?? 0).getTime()); + } + return list; + }, [filter, myPhotoIds, photos]); + + const displayPhotos = filteredPhotos; + const leftColumn = displayPhotos.filter((_, index) => index % 2 === 0); + const rightColumn = displayPhotos.filter((_, index) => index % 2 === 1); + + React.useEffect(() => { + if (filter === 'photobooth' && !photos.some((photo) => photo.ingestSource === 'photobooth')) { + setFilter('latest'); + } + }, [filter, photos]); + const newUploads = React.useMemo(() => { + if (delta.photos.length === 0) { + return 0; + } + const existing = new Set(photos.map((item) => item.id)); + return delta.photos.reduce((count, photo) => { + const id = Number((photo as Record).id ?? 0); + if (id && !existing.has(id)) { + return count + 1; + } + return count; + }, 0); + }, [delta.photos, photos]); + const openLightbox = React.useCallback( + (photoId: number) => { + if (!token) return; + navigate(buildEventPath(token, `/photo/${photoId}`)); + }, + [navigate, token] + ); + + React.useEffect(() => { + if (delta.photos.length === 0) { + return; + } + setPhotos((prev) => { + const existing = new Set(prev.map((item) => item.id)); + const mapped = delta.photos + .map((photo) => { + const record = photo as Record; + const id = Number(record.id ?? 0); + const likesCount = typeof record.likes_count === 'number' ? record.likes_count : 0; + const imageUrl = normalizeImageUrl( + (record.thumbnail_url as string | null | undefined) + ?? (record.thumbnail_path as string | null | undefined) + ?? (record.file_path as string | null | undefined) + ?? (record.full_url as string | null | undefined) + ?? (record.url as string | null | undefined) + ?? (record.image_url as string | null | undefined) + ); + if (!id || !imageUrl || existing.has(id)) { + return null; + } + return { + id, + imageUrl, + likes: likesCount, + createdAt: typeof record.created_at === 'string' ? record.created_at : null, + ingestSource: typeof record.ingest_source === 'string' ? record.ingest_source : null, + sessionId: typeof record.session_id === 'string' ? record.session_id : null, + } satisfies GalleryTile; + }) + .filter(Boolean) as GalleryTile[]; + if (mapped.length === 0) { + return prev; + } + return [...mapped, ...prev]; + }); + }, [delta.photos]); + + + return ( + + + + + + + + {t('galleryPage.title', 'Gallery')} + + + + + + {( + [ + { value: 'latest', label: t('galleryPage.filters.latest', 'Newest') }, + { value: 'popular', label: t('galleryPage.filters.popular', 'Popular') }, + { value: 'mine', label: t('galleryPage.filters.mine', 'My photos') }, + photos.some((photo) => photo.ingestSource === 'photobooth') + ? { value: 'photobooth', label: t('galleryPage.filters.photobooth', 'Photo booth') } + : null, + ].filter(Boolean) as Array<{ value: GalleryFilter; label: string }> + ).map((chip) => ( + + ))} + + + + + + {(loading || leftColumn.length === 0 ? Array.from({ length: 5 }, (_, index) => index) : leftColumn).map( + (tile, index) => { + if (typeof tile === 'number') { + return ; + } + return ( + + ); + } + )} + + + {(loading || rightColumn.length === 0 ? Array.from({ length: 5 }, (_, index) => index) : rightColumn).map( + (tile, index) => { + if (typeof tile === 'number') { + return ; + } + return ( + + ); + } + )} + + + + + + {t('galleryPage.feed.title', 'Live feed')} + + + {newUploads > 0 + ? t('galleryPage.feed.newUploads', { count: newUploads }, '{count} new uploads just landed.') + : t('galleryPage.feed.description', 'Updated every few seconds.')} + + + + + ); +} diff --git a/resources/js/guest-v2/screens/HelpArticleScreen.tsx b/resources/js/guest-v2/screens/HelpArticleScreen.tsx new file mode 100644 index 0000000..1ae428c --- /dev/null +++ b/resources/js/guest-v2/screens/HelpArticleScreen.tsx @@ -0,0 +1,170 @@ +import React from 'react'; +import { Link, useParams } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { ArrowLeft, Loader2 } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import StandaloneShell from '../components/StandaloneShell'; +import SurfaceCard from '../components/SurfaceCard'; +import PullToRefresh from '@/guest/components/PullToRefresh'; +import { getHelpArticle, type HelpArticleDetail } from '@/guest/services/helpApi'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useAppearance } from '@/hooks/use-appearance'; + +export default function HelpArticleScreen() { + const params = useParams<{ token?: string; slug: string }>(); + const slug = params.slug; + const { locale } = useLocale(); + const { t } = useTranslation(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const mutedText = isDark ? 'rgba(248, 250, 252, 0.7)' : 'rgba(15, 23, 42, 0.65)'; + const [article, setArticle] = React.useState(null); + const [state, setState] = React.useState<'loading' | 'ready' | 'error'>('loading'); + const basePath = params.token ? `/e/${encodeURIComponent(params.token)}/help` : '/help'; + + const loadArticle = React.useCallback(async () => { + if (!slug) { + setState('error'); + return; + } + setState('loading'); + try { + const result = await getHelpArticle(slug, locale); + setArticle(result.article); + setState('ready'); + } catch (error) { + console.error('[HelpArticle] Failed to load article', error); + setState('error'); + } + }, [slug, locale]); + + React.useEffect(() => { + loadArticle(); + }, [loadArticle]); + + const title = state === 'loading' + ? t('help.article.loadingTitle') + : (article?.title ?? t('help.article.unavailable')); + + const wrapper = ( + + + + + + + + + {title} + + {article?.updated_at ? ( + + {t('help.article.updated', { date: formatDate(article.updated_at, locale) })} + + ) : null} + + + {state === 'loading' ? ( + + + + + {t('help.article.loadingDescription')} + + + + ) : null} + + {state === 'error' ? ( + + + {t('help.article.unavailable')} + + + + ) : null} + + {state === 'ready' && article ? ( + + + +
+ + {article.related && article.related.length > 0 ? ( + + + {t('help.article.relatedTitle')} + + + {article.related.map((rel) => ( + + ))} + + + ) : null} + + + ) : null} + + + ); + + if (params.token) { + return {wrapper}; + } + + return {wrapper}; +} + +function formatDate(value: string, locale: string): string { + try { + return new Date(value).toLocaleDateString(locale, { + day: '2-digit', + month: 'short', + year: 'numeric', + }); + } catch { + return value; + } +} diff --git a/resources/js/guest-v2/screens/HelpCenterScreen.tsx b/resources/js/guest-v2/screens/HelpCenterScreen.tsx new file mode 100644 index 0000000..08c6bd7 --- /dev/null +++ b/resources/js/guest-v2/screens/HelpCenterScreen.tsx @@ -0,0 +1,174 @@ +import React from 'react'; +import { Link, useParams } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Input } from '@tamagui/input'; +import { Loader2, RefreshCcw, Search } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import StandaloneShell from '../components/StandaloneShell'; +import SurfaceCard from '../components/SurfaceCard'; +import PullToRefresh from '@/guest/components/PullToRefresh'; +import { getHelpArticles, type HelpArticleSummary } from '@/guest/services/helpApi'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useAppearance } from '@/hooks/use-appearance'; + +export default function HelpCenterScreen() { + const params = useParams<{ token?: string }>(); + const { locale } = useLocale(); + const { t } = useTranslation(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const mutedText = isDark ? 'rgba(248, 250, 252, 0.7)' : 'rgba(15, 23, 42, 0.65)'; + const [articles, setArticles] = React.useState([]); + const [query, setQuery] = React.useState(''); + const [state, setState] = React.useState<'idle' | 'loading' | 'ready' | 'error'>('loading'); + const [servedFromCache, setServedFromCache] = React.useState(false); + const [isOnline, setIsOnline] = React.useState(() => (typeof navigator !== 'undefined' ? navigator.onLine : true)); + const basePath = params.token ? `/e/${encodeURIComponent(params.token)}/help` : '/help'; + + const loadArticles = React.useCallback(async (forceRefresh = false) => { + setState('loading'); + try { + const result = await getHelpArticles(locale, { forceRefresh }); + setArticles(result.articles); + setServedFromCache(result.servedFromCache); + setState('ready'); + } catch (error) { + console.error('[HelpCenter] Failed to load articles', error); + setState('error'); + } + }, [locale]); + + React.useEffect(() => { + loadArticles(); + }, [loadArticles]); + + React.useEffect(() => { + if (typeof window === 'undefined') return; + const handleOnline = () => setIsOnline(true); + const handleOffline = () => setIsOnline(false); + window.addEventListener('online', handleOnline); + window.addEventListener('offline', handleOffline); + return () => { + window.removeEventListener('online', handleOnline); + window.removeEventListener('offline', handleOffline); + }; + }, []); + + const showOfflineBadge = servedFromCache && !isOnline; + const filteredArticles = React.useMemo(() => { + if (!query.trim()) return articles; + const needle = query.trim().toLowerCase(); + return articles.filter((article) => `${article.title} ${article.summary}`.toLowerCase().includes(needle)); + }, [articles, query]); + + const wrapper = ( + loadArticles(true)} + pullLabel={t('common.pullToRefresh')} + releaseLabel={t('common.releaseToRefresh')} + refreshingLabel={t('common.refreshing')} + > + + + + {t('help.center.title')} + + + {t('help.center.subtitle')} + + + + + + + setQuery(event.currentTarget.value)} + aria-label={t('help.center.searchPlaceholder')} + /> + + + {showOfflineBadge ? ( + + + {t('help.center.offlineDescription')} + + + ) : null} + + + + + {t('help.center.listTitle')} + + {state === 'loading' ? ( + + + + + {t('common.actions.loading')} + + + + ) : null} + {state === 'error' ? ( + + + {t('help.center.error')} + + + + ) : null} + {state === 'ready' && filteredArticles.length === 0 ? ( + + + {t('help.center.empty')} + + + ) : null} + {state === 'ready' && filteredArticles.length > 0 ? ( + + {filteredArticles.map((article) => ( + + + + + {article.title} + + + {article.summary} + + + + + ))} + + ) : null} + + + + ); + + if (params.token) { + return {wrapper}; + } + + return {wrapper}; +} diff --git a/resources/js/guest-v2/screens/HomeScreen.tsx b/resources/js/guest-v2/screens/HomeScreen.tsx new file mode 100644 index 0000000..59f08d2 --- /dev/null +++ b/resources/js/guest-v2/screens/HomeScreen.tsx @@ -0,0 +1,415 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import { XStack, YStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Camera, Sparkles, Image as ImageIcon, Trophy, Star } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import PhotoFrameTile from '../components/PhotoFrameTile'; +import { useEventData } from '../context/EventDataContext'; +import { buildEventPath } from '../lib/routes'; +import { useStaggeredReveal } from '../lib/useStaggeredReveal'; +import { usePollStats } from '../hooks/usePollStats'; +import { fetchGallery } from '../services/photosApi'; +import { useUploadQueue } from '../services/uploadApi'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useAppearance } from '@/hooks/use-appearance'; + +type ActionRingProps = { + label: string; + icon: React.ReactNode; + onPress: () => void; +}; + +type GalleryPreview = { + id: number; + imageUrl: string; +}; + +function ActionRing({ + label, + icon, + onPress, + isDark, +}: ActionRingProps & { isDark: boolean }) { + return ( + + ); +} + +function QuickStats({ + reveal, + stats, + queueCount, + isDark, +}: { + reveal: number; + stats: { onlineGuests: number; tasksSolved: number }; + queueCount: number; + isDark: boolean; +}) { + const { t } = useTranslation(); + const cardBorder = isDark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(15, 23, 42, 0.12)'; + const cardShadow = isDark ? '0 16px 30px rgba(2, 6, 23, 0.35)' : '0 14px 24px rgba(15, 23, 42, 0.12)'; + return ( + = 3 ? 1 : 0} + y={reveal >= 3 ? 0 : 12} + > + + + {stats.onlineGuests} + + + {t('home.stats.online', 'Guests online')} + + + + + {queueCount} + + + {t('homeV2.stats.uploadsQueued', 'Uploads queued')} + + + + ); +} + +function normalizeImageUrl(src?: string | null) { + if (!src) { + return ''; + } + + if (/^https?:/i.test(src)) { + return src; + } + + let cleanPath = src.replace(/^\/+/g, '').replace(/\/+/g, '/'); + if (!cleanPath.startsWith('storage/')) { + cleanPath = `storage/${cleanPath}`; + } + + return `/${cleanPath}`.replace(/\/+/g, '/'); +} + +export default function HomeScreen() { + const { tasksEnabled, token } = useEventData(); + const navigate = useNavigate(); + const revealStage = useStaggeredReveal({ steps: 4, intervalMs: 140, delayMs: 120 }); + const { stats } = usePollStats(token ?? null); + const { items } = useUploadQueue(); + const [preview, setPreview] = React.useState([]); + const [previewLoading, setPreviewLoading] = React.useState(false); + const { t } = useTranslation(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const cardBorder = isDark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(15, 23, 42, 0.12)'; + const mutedButton = isDark ? 'rgba(255, 255, 255, 0.08)' : 'rgba(15, 23, 42, 0.06)'; + const mutedButtonBorder = isDark ? 'rgba(255, 255, 255, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + const cardShadow = isDark ? '0 18px 40px rgba(2, 6, 23, 0.4)' : '0 16px 32px rgba(15, 23, 42, 0.12)'; + + const goTo = (path: string) => () => navigate(buildEventPath(token, path)); + + const rings = [ + tasksEnabled + ? { + label: t('home.actions.items.tasks.label', 'Draw a task card'), + icon: , + path: '/tasks', + } + : { + label: t('home.actions.items.upload.label', 'Upload photo'), + icon: , + path: '/upload', + }, + { + label: t('homeV2.rings.newUploads', 'New uploads'), + icon: , + path: '/gallery', + }, + { + label: t('homeV2.rings.topMoments', 'Top moments'), + icon: , + path: '/gallery', + }, + { + label: t('navigation.achievements', 'Achievements'), + icon: , + path: '/achievements', + }, + ]; + + React.useEffect(() => { + if (!token) { + setPreview([]); + return; + } + + let active = true; + setPreviewLoading(true); + + fetchGallery(token, { limit: 3 }) + .then((response) => { + if (!active) return; + const photos = Array.isArray(response.data) ? response.data : []; + const mapped = photos + .map((photo) => { + const record = photo as Record; + const id = Number(record.id ?? 0); + const imageUrl = normalizeImageUrl( + (record.thumbnail_url as string | null | undefined) + ?? (record.thumbnail_path as string | null | undefined) + ?? (record.file_path as string | null | undefined) + ?? (record.full_url as string | null | undefined) + ?? (record.url as string | null | undefined) + ?? (record.image_url as string | null | undefined) + ); + return { id, imageUrl }; + }) + .filter((item) => item.id && item.imageUrl); + setPreview(mapped); + }) + .catch((error) => { + console.error('Failed to load gallery preview', error); + if (active) { + setPreview([]); + } + }) + .finally(() => { + if (active) { + setPreviewLoading(false); + } + }); + + return () => { + active = false; + }; + }, [token]); + + const queueCount = items.filter((item) => item.status !== 'done').length; + + return ( + + + = 1 ? 1 : 0} + y={revealStage >= 1 ? 0 : 12} + > + + {rings.map((ring) => ( + + + + ))} + + + + {tasksEnabled ? ( + = 2 ? 0 : 16} + style={{ + backgroundImage: isDark + ? 'linear-gradient(135deg, rgba(255, 79, 216, 0.25), rgba(79, 209, 255, 0.12))' + : 'linear-gradient(135deg, color-mix(in oklab, var(--guest-primary, #FF5A5F) 18%, white), color-mix(in oklab, var(--guest-secondary, #F43F5E) 10%, white))', + boxShadow: cardShadow, + }} + > + + + + {t('homeV2.promptQuest.label', 'Prompt quest')} + + + + {t('homeV2.promptQuest.title', 'Capture the happiest laugh')} + + + {t('homeV2.promptQuest.subtitle', 'Earn points and keep the gallery lively.')} + + + + + + + ) : ( + = 2 ? 0 : 16} + style={{ + backgroundImage: isDark + ? 'linear-gradient(135deg, rgba(79, 209, 255, 0.18), rgba(255, 79, 216, 0.12))' + : 'linear-gradient(135deg, color-mix(in oklab, var(--guest-secondary, #F43F5E) 10%, white), color-mix(in oklab, var(--guest-primary, #FF5A5F) 10%, white))', + boxShadow: cardShadow, + }} + > + + + + {t('homeV2.captureReady.label', 'Capture ready')} + + + + {t('homeV2.captureReady.title', 'Add a photo to the shared gallery')} + + + {t('homeV2.captureReady.subtitle', 'Quick add from your camera or device.')} + + + + )} + + + + = 4 ? 1 : 0} + y={revealStage >= 4 ? 0 : 16} + style={{ + boxShadow: cardShadow, + }} + > + + + {t('homeV2.galleryPreview.title', 'Gallery preview')} + + + + + {(previewLoading || preview.length === 0 ? [1, 2, 3, 4] : preview).map((tile, index) => { + if (typeof tile === 'number') { + return ( + + + + ); + } + return ( + + + + + + ); + })} + + + + + ); +} diff --git a/resources/js/guest-v2/screens/LandingScreen.tsx b/resources/js/guest-v2/screens/LandingScreen.tsx new file mode 100644 index 0000000..d017fc9 --- /dev/null +++ b/resources/js/guest-v2/screens/LandingScreen.tsx @@ -0,0 +1,237 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Input } from '@tamagui/input'; +import { Card } from '@tamagui/card'; +import { Html5Qrcode } from 'html5-qrcode'; +import { QrCode, ArrowRight } from 'lucide-react'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { fetchEvent } from '../services/eventApi'; +import { readGuestName } from '../context/GuestIdentityContext'; +import { useAppearance } from '@/hooks/use-appearance'; + +const qrConfig = { fps: 10, qrbox: { width: 240, height: 240 } } as const; + +type LandingErrorKey = 'eventClosed' | 'network' | 'camera'; + +export default function LandingScreen() { + const navigate = useNavigate(); + const { t } = useTranslation(); + const [eventCode, setEventCode] = React.useState(''); + const [loading, setLoading] = React.useState(false); + const [errorKey, setErrorKey] = React.useState(null); + const [isScanning, setIsScanning] = React.useState(false); + const scannerRef = React.useRef(null); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const cardBackground = isDark ? 'rgba(15, 23, 42, 0.7)' : 'rgba(255, 255, 255, 0.9)'; + const cardBorder = isDark ? 'rgba(148, 163, 184, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + const primaryText = isDark ? '#F8FAFF' : '#0F172A'; + const mutedText = isDark ? 'rgba(226, 232, 240, 0.78)' : 'rgba(15, 23, 42, 0.6)'; + const mutedButton = isDark ? 'rgba(248, 250, 255, 0.1)' : 'rgba(15, 23, 42, 0.06)'; + const mutedButtonBorder = isDark ? 'rgba(248, 250, 255, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + + const errorMessage = errorKey ? t(`landing.errors.${errorKey}`) : null; + + const extractEventKey = React.useCallback((raw: string): string => { + const trimmed = raw.trim(); + if (!trimmed) { + return ''; + } + + try { + const url = new URL(trimmed); + const inviteParam = url.searchParams.get('invite') ?? url.searchParams.get('token'); + if (inviteParam) { + return inviteParam; + } + const segments = url.pathname.split('/').filter(Boolean); + const eventIndex = segments.findIndex((segment) => segment === 'e'); + if (eventIndex >= 0 && segments.length > eventIndex + 1) { + return decodeURIComponent(segments[eventIndex + 1]); + } + if (segments.length > 0) { + return decodeURIComponent(segments[segments.length - 1]); + } + } catch { + // Not a URL, treat as raw code. + } + + return trimmed; + }, []); + + const join = React.useCallback( + async (input?: string) => { + const provided = input ?? eventCode; + const normalized = extractEventKey(provided); + if (!normalized) return; + + setLoading(true); + setErrorKey(null); + + try { + const event = await fetchEvent(normalized); + const targetKey = event.join_token ?? normalized; + if (!targetKey) { + setErrorKey('eventClosed'); + return; + } + + const storedName = readGuestName(targetKey); + if (!storedName) { + navigate(`/setup/${encodeURIComponent(targetKey)}`); + } else { + navigate(`/e/${encodeURIComponent(targetKey)}`); + } + } catch (error) { + console.error('Join request failed', error); + setErrorKey('network'); + } finally { + setLoading(false); + } + }, + [eventCode, extractEventKey, navigate] + ); + + const onScanSuccess = React.useCallback( + async (decodedText: string) => { + const value = decodedText.trim(); + if (!value) return; + await join(value); + if (scannerRef.current) { + try { + await scannerRef.current.stop(); + } catch (error) { + console.warn('Scanner stop failed', error); + } + } + setIsScanning(false); + }, + [join] + ); + + const startScanner = React.useCallback(async () => { + if (scannerRef.current) { + try { + await scannerRef.current.start({ facingMode: 'environment' }, qrConfig, onScanSuccess, () => undefined); + setIsScanning(true); + } catch (error) { + console.error('Scanner start failed', error); + setErrorKey('camera'); + } + return; + } + + try { + const scanner = new Html5Qrcode('qr-reader'); + scannerRef.current = scanner; + await scanner.start({ facingMode: 'environment' }, qrConfig, onScanSuccess, () => undefined); + setIsScanning(true); + } catch (error) { + console.error('Scanner init failed', error); + setErrorKey('camera'); + } + }, [onScanSuccess]); + + const stopScanner = React.useCallback(async () => { + if (!scannerRef.current) { + setIsScanning(false); + return; + } + + try { + await scannerRef.current.stop(); + } catch (error) { + console.warn('Scanner stop failed', error); + } finally { + setIsScanning(false); + } + }, []); + + React.useEffect(() => () => { + if (scannerRef.current) { + scannerRef.current.stop().catch(() => undefined); + } + }, []); + + return ( + + + + + {t('landing.pageTitle')} + + + {t('landing.subheadline')} + + + + {errorMessage ? ( + + {errorMessage} + + ) : null} + + + + + + + {t('landing.join.title')} + + + + {t('landing.join.description')} + + + + + + + + + {t('landing.scan.manualDivider')} + + + + + + + + + + + ); +} diff --git a/resources/js/guest-v2/screens/LegalScreen.tsx b/resources/js/guest-v2/screens/LegalScreen.tsx new file mode 100644 index 0000000..cb50f0f --- /dev/null +++ b/resources/js/guest-v2/screens/LegalScreen.tsx @@ -0,0 +1,83 @@ +import React from 'react'; +import { useParams } from 'react-router-dom'; +import { YStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Card } from '@tamagui/card'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { LegalMarkdown } from '@/guest/components/legal-markdown'; +import { useAppearance } from '@/hooks/use-appearance'; + +export default function LegalScreen() { + const { page } = useParams<{ page: string }>(); + const { t } = useTranslation(); + const { locale } = useLocale(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const primaryText = isDark ? '#F8FAFF' : '#0F172A'; + const mutedText = isDark ? 'rgba(226, 232, 240, 0.7)' : 'rgba(15, 23, 42, 0.6)'; + const cardBackground = isDark ? 'rgba(15, 23, 42, 0.75)' : 'rgba(255, 255, 255, 0.9)'; + const cardBorder = isDark ? 'rgba(148, 163, 184, 0.18)' : 'rgba(15, 23, 42, 0.12)'; + const [loading, setLoading] = React.useState(true); + const [title, setTitle] = React.useState(''); + const [body, setBody] = React.useState(''); + const [html, setHtml] = React.useState(''); + + React.useEffect(() => { + if (!page) { + return; + } + + const controller = new AbortController(); + + async function loadLegal() { + try { + setLoading(true); + const res = await fetch(`/api/v1/legal/${encodeURIComponent(page)}?lang=${encodeURIComponent(locale)}`, { + headers: { 'Cache-Control': 'no-store' }, + signal: controller.signal, + }); + if (!res.ok) { + throw new Error('failed'); + } + const data = await res.json(); + setTitle(data.title || ''); + setBody(data.body_markdown || ''); + setHtml(data.body_html || ''); + } catch (error) { + if (!controller.signal.aborted) { + console.error('Failed to load legal page', error); + setTitle(''); + setBody(''); + setHtml(''); + } + } finally { + if (!controller.signal.aborted) { + setLoading(false); + } + } + } + + loadLegal(); + return () => controller.abort(); + }, [page, locale]); + + const fallbackTitle = page ? `Rechtliches: ${page}` : t('settings.legal.fallbackTitle', 'Rechtliche Informationen'); + + return ( + + + + {title || fallbackTitle} + + + {loading ? ( + {t('settings.legal.loading', 'Lade...')} + ) : ( + + )} + + + + ); +} diff --git a/resources/js/guest-v2/screens/LiveShowScreen.tsx b/resources/js/guest-v2/screens/LiveShowScreen.tsx new file mode 100644 index 0000000..d142c48 --- /dev/null +++ b/resources/js/guest-v2/screens/LiveShowScreen.tsx @@ -0,0 +1,213 @@ +import React from 'react'; +import { useParams } from 'react-router-dom'; +import { Loader2, Maximize2, Minimize2, Pause, Play } from 'lucide-react'; +import { AnimatePresence, motion } from 'framer-motion'; +import { useLiveShowState } from '@/guest/hooks/useLiveShowState'; +import { useLiveShowPlayback } from '@/guest/hooks/useLiveShowPlayback'; +import LiveShowStage from '@/guest/components/LiveShowStage'; +import LiveShowBackdrop from '@/guest/components/LiveShowBackdrop'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { prefersReducedMotion } from '@/guest/lib/motion'; +import { resolveLiveShowEffect } from '@/guest/lib/liveShowEffects'; + +export default function LiveShowScreen() { + const { token } = useParams<{ token: string }>(); + const { t } = useTranslation(); + const { status, connection, error, event, photos, settings } = useLiveShowState(token ?? null); + const [paused, setPaused] = React.useState(false); + const { frame, layout, frameKey, nextFrame } = useLiveShowPlayback(photos, settings, { paused }); + const hasPhoto = frame.length > 0; + const stageTitle = event?.name ?? t('liveShowPlayer.title', 'Live Show'); + const reducedMotion = prefersReducedMotion(); + const effect = resolveLiveShowEffect(settings.effect_preset, settings.effect_intensity, reducedMotion); + const showStage = status === 'ready' && hasPhoto; + const showEmpty = status === 'ready' && !hasPhoto; + const [controlsVisible, setControlsVisible] = React.useState(true); + const [isFullscreen, setIsFullscreen] = React.useState(false); + const hideTimerRef = React.useRef(null); + const preloadRef = React.useRef>(new Set()); + const stageRef = React.useRef(null); + + React.useEffect(() => { + document.body.classList.add('guest-immersive'); + return () => { + document.body.classList.remove('guest-immersive'); + }; + }, []); + + React.useEffect(() => { + const handleFullscreen = () => setIsFullscreen(Boolean(document.fullscreenElement)); + document.addEventListener('fullscreenchange', handleFullscreen); + handleFullscreen(); + return () => document.removeEventListener('fullscreenchange', handleFullscreen); + }, []); + + const revealControls = React.useCallback(() => { + setControlsVisible(true); + if (hideTimerRef.current) { + window.clearTimeout(hideTimerRef.current); + } + hideTimerRef.current = window.setTimeout(() => { + setControlsVisible(false); + }, 3000); + }, []); + + React.useEffect(() => { + if (!showStage) { + setControlsVisible(true); + return; + } + revealControls(); + }, [revealControls, showStage, frameKey]); + + const togglePause = React.useCallback(() => { + setPaused((prev) => !prev); + }, []); + + const toggleFullscreen = React.useCallback(async () => { + const target = stageRef.current ?? document.documentElement; + try { + if (!document.fullscreenElement) { + await target.requestFullscreen?.(); + } else { + await document.exitFullscreen?.(); + } + } catch (err) { + console.warn('Fullscreen toggle failed', err); + } + }, []); + + React.useEffect(() => { + const handleKey = (event: KeyboardEvent) => { + if (event.target && (event.target as HTMLElement).closest('input, textarea, select, button')) { + return; + } + if (event.code === 'Space') { + event.preventDefault(); + togglePause(); + revealControls(); + } + if (event.key.toLowerCase() === 'f') { + event.preventDefault(); + toggleFullscreen(); + revealControls(); + } + if (event.key === 'Escape' && document.fullscreenElement) { + event.preventDefault(); + document.exitFullscreen?.(); + } + }; + + window.addEventListener('keydown', handleKey); + return () => window.removeEventListener('keydown', handleKey); + }, [revealControls, toggleFullscreen, togglePause]); + + React.useEffect(() => { + const candidates = [...frame, ...nextFrame].slice(0, 6); + candidates.forEach((photo) => { + const src = photo.full_url || photo.thumb_url; + if (!src || preloadRef.current.has(src)) { + return; + } + const img = new Image(); + img.src = src; + preloadRef.current.add(src); + }); + }, [frame, nextFrame]); + + return ( +
+ +
+ + {stageTitle} + + + {connection === 'sse' + ? t('liveShowPlayer.connection.live', 'Live') + : t('liveShowPlayer.connection.sync', 'Sync')} + +
+ + {status === 'loading' && ( +
+ +

{t('liveShowPlayer.loading', 'Live Show wird geladen...')}

+
+ )} + + {status === 'error' && ( +
+

+ {t('liveShowPlayer.error.title', 'Live Show nicht erreichbar')} +

+

+ {error ?? t('liveShowPlayer.error.description', 'Bitte überprüfe den Live-Link.')} +

+
+ )} + + {showEmpty && ( +
+

+ {t('liveShowPlayer.empty.title', 'Noch keine Live-Fotos')} +

+

+ {t('liveShowPlayer.empty.description', 'Warte auf die ersten Uploads...')} +

+
+ )} + + + {showStage && ( + + + + )} + + + {showStage && effect.flash && ( + + )} + + + {controlsVisible && ( + + + + + )} + +
+ ); +} diff --git a/resources/js/guest-v2/screens/NotFoundScreen.tsx b/resources/js/guest-v2/screens/NotFoundScreen.tsx new file mode 100644 index 0000000..4262e9e --- /dev/null +++ b/resources/js/guest-v2/screens/NotFoundScreen.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import { YStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { useTranslation } from '@/guest/i18n/useTranslation'; + +export default function NotFoundScreen() { + const { t } = useTranslation(); + + return ( + + + {t('notFound.title', 'Seite nicht gefunden')} + + + {t('notFound.description', 'Die Seite konnte nicht gefunden werden.')} + + + ); +} diff --git a/resources/js/guest-v2/screens/PhotoLightboxScreen.tsx b/resources/js/guest-v2/screens/PhotoLightboxScreen.tsx new file mode 100644 index 0000000..b3c113e --- /dev/null +++ b/resources/js/guest-v2/screens/PhotoLightboxScreen.tsx @@ -0,0 +1,589 @@ +import React from 'react'; +import { useNavigate, useParams } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { ArrowLeft, ChevronLeft, ChevronRight, Heart, Share2 } from 'lucide-react'; +import { useGesture } from '@use-gesture/react'; +import { animated, to, useSpring } from '@react-spring/web'; +import AppShell from '../components/AppShell'; +import SurfaceCard from '../components/SurfaceCard'; +import { useEventData } from '../context/EventDataContext'; +import { fetchGallery, fetchPhoto, likePhoto, createPhotoShareLink } from '../services/photosApi'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { useAppearance } from '@/hooks/use-appearance'; +import { buildEventPath } from '../lib/routes'; + +type LightboxPhoto = { + id: number; + imageUrl: string; + likes: number; + createdAt?: string | null; + ingestSource?: string | null; +}; + +function normalizeImageUrl(src?: string | null) { + if (!src) { + return ''; + } + + if (/^https?:/i.test(src)) { + return src; + } + + let cleanPath = src.replace(/^\/+/g, '').replace(/\/+/g, '/'); + if (!cleanPath.startsWith('storage/')) { + cleanPath = `storage/${cleanPath}`; + } + + return `/${cleanPath}`.replace(/\/+/g, '/'); +} + +function mapPhoto(photo: Record): LightboxPhoto | null { + const id = Number(photo.id ?? 0); + if (!id) return null; + const imageUrl = normalizeImageUrl( + (photo.full_url as string | null | undefined) + ?? (photo.file_path as string | null | undefined) + ?? (photo.thumbnail_url as string | null | undefined) + ?? (photo.thumbnail_path as string | null | undefined) + ?? (photo.url as string | null | undefined) + ?? (photo.image_url as string | null | undefined) + ); + if (!imageUrl) return null; + return { + id, + imageUrl, + likes: typeof photo.likes_count === 'number' ? photo.likes_count : 0, + createdAt: typeof photo.created_at === 'string' ? photo.created_at : null, + ingestSource: typeof photo.ingest_source === 'string' ? photo.ingest_source : null, + }; +} + +export default function PhotoLightboxScreen() { + const { token } = useEventData(); + const { photoId } = useParams<{ photoId: string }>(); + const navigate = useNavigate(); + const { t } = useTranslation(); + const { locale } = useLocale(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const cardBorder = isDark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(15, 23, 42, 0.12)'; + const mutedButton = isDark ? 'rgba(255, 255, 255, 0.08)' : 'rgba(15, 23, 42, 0.06)'; + const mutedButtonBorder = isDark ? 'rgba(255, 255, 255, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + const groupBackground = isDark ? 'rgba(255, 255, 255, 0.06)' : 'rgba(15, 23, 42, 0.04)'; + const [photos, setPhotos] = React.useState([]); + const [selectedIndex, setSelectedIndex] = React.useState(null); + const [cursor, setCursor] = React.useState(null); + const [loading, setLoading] = React.useState(false); + const [loadingMore, setLoadingMore] = React.useState(false); + const [error, setError] = React.useState(null); + const [likes, setLikes] = React.useState>({}); + const [shareStatus, setShareStatus] = React.useState<'idle' | 'loading' | 'copied' | 'failed'>('idle'); + const zoomContainerRef = React.useRef(null); + const zoomImageRef = React.useRef(null); + const baseSizeRef = React.useRef({ width: 0, height: 0 }); + const scaleRef = React.useRef(1); + const lastTapRef = React.useRef(0); + const [isZoomed, setIsZoomed] = React.useState(false); + + const [{ x, y, scale }, api] = useSpring(() => ({ + x: 0, + y: 0, + scale: 1, + config: { tension: 260, friction: 28 }, + })); + + const selected = selectedIndex !== null ? photos[selectedIndex] : null; + + const loadPage = React.useCallback( + async (nextCursor?: string | null, replace = false) => { + if (!token) return { items: [], nextCursor: null }; + const response = await fetchGallery(token, { cursor: nextCursor ?? undefined, limit: 28, locale }); + const mapped = (response.data ?? []) + .map((photo) => mapPhoto(photo as Record)) + .filter(Boolean) as LightboxPhoto[]; + setCursor(response.next_cursor ?? null); + setPhotos((prev) => (replace ? mapped : [...prev, ...mapped])); + setLikes((prev) => { + const next = { ...prev }; + for (const item of mapped) { + if (next[item.id] === undefined) { + next[item.id] = item.likes; + } + } + return next; + }); + return { items: mapped, nextCursor: response.next_cursor ?? null }; + }, + [locale, token] + ); + + React.useEffect(() => { + if (!token || !photoId) { + setError(t('lightbox.errors.notFound', 'Photo not found')); + return; + } + + let active = true; + const targetId = Number(photoId); + + const init = async () => { + setLoading(true); + setError(null); + try { + let foundIndex = -1; + let nextCursor: string | null = null; + let combined: LightboxPhoto[] = []; + + for (let page = 0; page < 5; page += 1) { + const response = await fetchGallery(token, { + cursor: nextCursor ?? undefined, + limit: 28, + locale, + }); + const mapped = (response.data ?? []) + .map((photo) => mapPhoto(photo as Record)) + .filter(Boolean) as LightboxPhoto[]; + combined = [...combined, ...mapped]; + nextCursor = response.next_cursor ?? null; + foundIndex = combined.findIndex((item) => item.id === targetId); + if (foundIndex >= 0 || !nextCursor) { + break; + } + } + + if (!active) return; + + if (combined.length > 0) { + setPhotos(combined); + setCursor(nextCursor); + setLikes((prev) => { + const next = { ...prev }; + for (const item of combined) { + if (next[item.id] === undefined) { + next[item.id] = item.likes; + } + } + return next; + }); + } + + if (foundIndex >= 0) { + setSelectedIndex(foundIndex); + return; + } + + const single = await fetchPhoto(targetId, locale); + if (!active) return; + const mappedSingle = single ? mapPhoto(single as Record) : null; + if (mappedSingle) { + setPhotos([mappedSingle]); + setSelectedIndex(0); + return; + } + + setError(t('lightbox.errors.notFound', 'Photo not found')); + } catch (err) { + if (!active) return; + console.error('Photo lightbox load failed', err); + setError(t('lightbox.errors.loadFailed', 'Failed to load photo')); + } finally { + if (active) setLoading(false); + } + }; + + init(); + + return () => { + active = false; + }; + }, [photoId, token, locale, t]); + + const updateBaseSize = React.useCallback(() => { + if (!zoomImageRef.current) { + return; + } + const rect = zoomImageRef.current.getBoundingClientRect(); + baseSizeRef.current = { width: rect.width, height: rect.height }; + }, []); + + React.useEffect(() => { + updateBaseSize(); + }, [selected?.id, updateBaseSize]); + + React.useEffect(() => { + window.addEventListener('resize', updateBaseSize); + return () => window.removeEventListener('resize', updateBaseSize); + }, [updateBaseSize]); + + const clamp = React.useCallback((value: number, min: number, max: number) => { + return Math.min(max, Math.max(min, value)); + }, []); + + const getBounds = React.useCallback( + (nextScale: number) => { + const container = zoomContainerRef.current?.getBoundingClientRect(); + const { width, height } = baseSizeRef.current; + if (!container || !width || !height) { + return { maxX: 0, maxY: 0 }; + } + const scaledWidth = width * nextScale; + const scaledHeight = height * nextScale; + const maxX = Math.max(0, (scaledWidth - container.width) / 2); + const maxY = Math.max(0, (scaledHeight - container.height) / 2); + return { maxX, maxY }; + }, + [] + ); + + const resetZoom = React.useCallback(() => { + scaleRef.current = 1; + setIsZoomed(false); + api.start({ x: 0, y: 0, scale: 1 }); + }, [api]); + + React.useEffect(() => { + resetZoom(); + }, [selected?.id, resetZoom]); + + const toggleZoom = React.useCallback(() => { + const nextScale = scaleRef.current > 1.01 ? 1 : 2; + scaleRef.current = nextScale; + setIsZoomed(nextScale > 1.01); + api.start({ x: 0, y: 0, scale: nextScale }); + }, [api]); + + const goPrev = React.useCallback(() => { + if (selectedIndex === null || selectedIndex <= 0) return; + setSelectedIndex(selectedIndex - 1); + }, [selectedIndex]); + + const goNext = React.useCallback(async () => { + if (selectedIndex === null) return; + if (selectedIndex < photos.length - 1) { + setSelectedIndex(selectedIndex + 1); + return; + } + if (!cursor || loadingMore) { + return; + } + setLoadingMore(true); + try { + const { items } = await loadPage(cursor); + if (items.length > 0) { + setSelectedIndex((prev) => (typeof prev === 'number' ? prev + 1 : prev)); + } + } finally { + setLoadingMore(false); + } + }, [cursor, loadPage, loadingMore, photos.length, selectedIndex]); + + const handleLike = React.useCallback(async () => { + if (!selected || !token) return; + setLikes((prev) => ({ ...prev, [selected.id]: (prev[selected.id] ?? selected.likes) + 1 })); + try { + const count = await likePhoto(selected.id); + setLikes((prev) => ({ ...prev, [selected.id]: count })); + } catch (error) { + console.error('Like failed', error); + } + }, [selected, token]); + + const handleShare = React.useCallback(async () => { + if (!selected || !token) return; + setShareStatus('loading'); + try { + const payload = await createPhotoShareLink(token, selected.id); + const url = payload?.url ?? ''; + if (!url) { + throw new Error('missing share url'); + } + const data: ShareData = { + title: t('share.defaultEvent', 'A special moment'), + text: t('share.shareText', 'Check out this moment on Fotospiel.'), + url, + }; + if (navigator.share && (!navigator.canShare || navigator.canShare(data))) { + await navigator.share(data); + setShareStatus('idle'); + return; + } + await navigator.clipboard?.writeText(url); + setShareStatus('copied'); + } catch (error) { + console.error('Share failed', error); + setShareStatus('failed'); + } finally { + window.setTimeout(() => setShareStatus('idle'), 2000); + } + }, [selected, t, token]); + + const bind = useGesture( + { + onDrag: ({ down, movement: [mx, my], offset: [ox, oy], last, event }) => { + if (event.cancelable) { + event.preventDefault(); + } + const zoomed = scaleRef.current > 1.01; + if (!zoomed) { + api.start({ x: down ? mx : 0, y: 0, immediate: down }); + if (last) { + api.start({ x: 0, y: 0, immediate: false }); + const threshold = 80; + if (Math.abs(mx) > threshold) { + if (mx > 0) { + goPrev(); + } else { + void goNext(); + } + } + } + return; + } + + const { maxX, maxY } = getBounds(scaleRef.current); + api.start({ + x: clamp(ox, -maxX, maxX), + y: clamp(oy, -maxY, maxY), + immediate: down, + }); + }, + onPinch: ({ offset: [nextScale], last, event }) => { + if (event.cancelable) { + event.preventDefault(); + } + const clampedScale = clamp(nextScale, 1, 3); + scaleRef.current = clampedScale; + setIsZoomed(clampedScale > 1.01); + const { maxX, maxY } = getBounds(clampedScale); + api.start({ + scale: clampedScale, + x: clamp(x.get(), -maxX, maxX), + y: clamp(y.get(), -maxY, maxY), + immediate: true, + }); + if (last && clampedScale <= 1.01) { + resetZoom(); + } + }, + }, + { + drag: { + from: () => [x.get(), y.get()], + filterTaps: true, + threshold: 4, + }, + pinch: { + scaleBounds: { min: 1, max: 3 }, + rubberband: true, + }, + eventOptions: { passive: false }, + } + ); + + const handlePointerUp = (event: React.PointerEvent) => { + if (event.pointerType !== 'touch') { + return; + } + const now = Date.now(); + if (now - lastTapRef.current < 280) { + lastTapRef.current = 0; + toggleZoom(); + return; + } + lastTapRef.current = now; + }; + + return ( + + + + + + + {t('galleryPage.title', 'Gallery')} + + + + + + + {loading ? ( + + {t('galleryPage.loading', 'Loading…')} + + ) : error ? ( + + {error} + + ) : selected ? ( + + +
+ `translate3d(${nx}px, ${ny}px, 0) scale(${ns})`), + width: '100%', + height: '100%', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + }} + > + {t('galleryPage.photo.alt', + +
+
+ + + {selectedIndex !== null ? `${selectedIndex + 1} / ${photos.length}` : ''} + + + + + + + + + {t('galleryPage.lightbox.likes', { count: likes[selected.id] ?? selected.likes }, '{count} likes')} + + + + + + +
+ ) : ( + + {t('lightbox.errors.notFound', 'Photo not found')} + + )} +
+
+
+ ); +} diff --git a/resources/js/guest-v2/screens/ProfileSetupScreen.tsx b/resources/js/guest-v2/screens/ProfileSetupScreen.tsx new file mode 100644 index 0000000..00415f7 --- /dev/null +++ b/resources/js/guest-v2/screens/ProfileSetupScreen.tsx @@ -0,0 +1,104 @@ +import React from 'react'; +import { useNavigate, useParams } from 'react-router-dom'; +import { YStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Input } from '@tamagui/input'; +import { Card } from '@tamagui/card'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useEventData } from '../context/EventDataContext'; +import { useGuestIdentity } from '../context/GuestIdentityContext'; +import { useAppearance } from '@/hooks/use-appearance'; + +export default function ProfileSetupScreen() { + const { token } = useParams<{ token: string }>(); + const navigate = useNavigate(); + const { t } = useTranslation(); + const { event, status } = useEventData(); + const identity = useGuestIdentity(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const primaryText = isDark ? '#F8FAFF' : '#0F172A'; + const mutedText = isDark ? 'rgba(226, 232, 240, 0.7)' : 'rgba(15, 23, 42, 0.6)'; + const cardBackground = isDark ? 'rgba(15, 23, 42, 0.75)' : 'rgba(255, 255, 255, 0.9)'; + const cardBorder = isDark ? 'rgba(148, 163, 184, 0.18)' : 'rgba(15, 23, 42, 0.12)'; + const [nameDraft, setNameDraft] = React.useState(identity.name ?? ''); + const [saving, setSaving] = React.useState(false); + + React.useEffect(() => { + if (identity.hydrated) { + setNameDraft(identity.name ?? ''); + } + }, [identity.hydrated, identity.name]); + + const handleSubmit = React.useCallback(() => { + if (!token) { + return; + } + const trimmed = nameDraft.trim(); + if (!trimmed) { + return; + } + setSaving(true); + identity.setName(trimmed); + navigate(`/e/${encodeURIComponent(token)}`); + }, [identity, nameDraft, navigate, token]); + + if (status === 'loading' || status === 'idle') { + return ( + + {t('profileSetup.loading')} + + ); + } + + if (!event) { + return ( + + {t('profileSetup.error.default')} + + + ); + } + + return ( + + + + + {event.name} + + + {t('profileSetup.card.description')} + + + + + + + {t('profileSetup.form.label')} + + + + + + + + ); +} diff --git a/resources/js/guest-v2/screens/PublicGalleryScreen.tsx b/resources/js/guest-v2/screens/PublicGalleryScreen.tsx new file mode 100644 index 0000000..d4fdbcd --- /dev/null +++ b/resources/js/guest-v2/screens/PublicGalleryScreen.tsx @@ -0,0 +1,306 @@ +import React from 'react'; +import { useParams } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Image as ImageIcon, Download, Share2 } from 'lucide-react'; +import { Sheet } from '@tamagui/sheet'; +import StandaloneShell from '../components/StandaloneShell'; +import SurfaceCard from '../components/SurfaceCard'; +import { fetchGalleryMeta, fetchGalleryPhotos, type GalleryMetaResponse, type GalleryPhotoResource } from '@/guest/services/galleryApi'; +import { createPhotoShareLink } from '@/guest/services/photosApi'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { EventBrandingProvider } from '@/guest/context/EventBrandingContext'; +import { mapEventBranding } from '../lib/eventBranding'; +import { BrandingTheme } from '../lib/brandingTheme'; +import { useAppearance } from '@/hooks/use-appearance'; + +type GalleryState = { + meta: GalleryMetaResponse | null; + photos: GalleryPhotoResource[]; + cursor: string | null; + loading: boolean; + loadingMore: boolean; + error: string | null; + expired: boolean; +}; + +const INITIAL_STATE: GalleryState = { + meta: null, + photos: [], + cursor: null, + loading: true, + loadingMore: false, + error: null, + expired: false, +}; + +const PAGE_SIZE = 30; + +export default function PublicGalleryScreen() { + const { token } = useParams<{ token: string }>(); + const { t, locale } = useTranslation(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const mutedText = isDark ? 'rgba(248, 250, 252, 0.7)' : 'rgba(15, 23, 42, 0.65)'; + const [state, setState] = React.useState(INITIAL_STATE); + const [selected, setSelected] = React.useState(null); + const [shareLoading, setShareLoading] = React.useState(false); + const sentinelRef = React.useRef(null); + + const branding = React.useMemo(() => { + if (!state.meta) return null; + const raw = state.meta.branding ?? null; + return mapEventBranding({ + primary_color: raw.primary_color, + secondary_color: raw.secondary_color, + background_color: raw.background_color, + surface_color: raw.surface_color ?? raw.background_color, + palette: raw.palette ?? undefined, + mode: raw.mode ?? 'auto', + } as any); + }, [state.meta]); + + const loadInitial = React.useCallback(async () => { + if (!token) return; + setState((prev) => ({ ...prev, loading: true, error: null, expired: false, photos: [], cursor: null })); + try { + const meta = await fetchGalleryMeta(token, locale); + const photoResponse = await fetchGalleryPhotos(token, null, PAGE_SIZE); + setState((prev) => ({ + ...prev, + meta, + photos: photoResponse.data, + cursor: photoResponse.next_cursor, + loading: false, + })); + } catch (error) { + const err = error as Error & { code?: string | number }; + if (err.code === 'gallery_expired' || err.code === 410) { + setState((prev) => ({ ...prev, loading: false, expired: true })); + } else { + setState((prev) => ({ ...prev, loading: false, error: err.message || t('galleryPublic.loadError') })); + } + } + }, [locale, t, token]); + + React.useEffect(() => { + loadInitial(); + }, [loadInitial]); + + const loadMore = React.useCallback(async () => { + if (!token || !state.cursor || state.loadingMore) return; + setState((prev) => ({ ...prev, loadingMore: true })); + try { + const response = await fetchGalleryPhotos(token, state.cursor, PAGE_SIZE); + setState((prev) => ({ + ...prev, + photos: [...prev.photos, ...response.data], + cursor: response.next_cursor, + loadingMore: false, + })); + } catch (error) { + const err = error as Error; + setState((prev) => ({ ...prev, loadingMore: false, error: err.message || t('galleryPublic.loadError') })); + } + }, [state.cursor, state.loadingMore, t, token]); + + React.useEffect(() => { + if (!state.cursor || !sentinelRef.current) return; + const observer = new IntersectionObserver((entries) => { + if (entries[0]?.isIntersecting) loadMore(); + }, { rootMargin: '400px', threshold: 0 }); + observer.observe(sentinelRef.current); + return () => observer.disconnect(); + }, [state.cursor, loadMore]); + + const content = ( + + + + + + {t('galleryPublic.title')} + + + + {state.meta?.event?.name ?? t('galleryPage.hero.eventFallback', 'Event')} + + + + {state.loading ? ( + + + {t('galleryPublic.loading')} + + + ) : state.expired ? ( + + + {t('galleryPublic.expiredTitle')} + + + {t('galleryPublic.expiredDescription')} + + + ) : state.error ? ( + + + {t('galleryPublic.loadError')} + + + {state.error} + + + ) : state.photos.length === 0 ? ( + + + {t('galleryPublic.emptyTitle')} + + + {t('galleryPublic.emptyDescription')} + + + ) : ( + + + + {state.photos.filter((_, index) => index % 2 === 0).map((photo, index) => ( + + ))} + + + {state.photos.filter((_, index) => index % 2 === 1).map((photo, index) => ( + + ))} + + + {state.loadingMore ? ( + + + {t('galleryPublic.loadingMore')} + + + ) : null} +
+ + )} + + { + if (!next) setSelected(null); + }} + snapPoints={[92]} + position={selected ? 0 : -1} + modal + > + + + + {selected ? ( + + + {selected.guest_name + + + + {selected.likes_count ? `${selected.likes_count} ❤` : ''} + + + {(state.meta?.event?.guest_downloads_enabled ?? true) && selected.download_url ? ( + + ) : null} + {(state.meta?.event?.guest_sharing_enabled ?? true) ? ( + + ) : null} + + + + ) : null} + + + + ); + + if (!branding) { + return content; + } + + return ( + + {content} + + ); +} diff --git a/resources/js/guest-v2/screens/SettingsScreen.tsx b/resources/js/guest-v2/screens/SettingsScreen.tsx new file mode 100644 index 0000000..5e5408c --- /dev/null +++ b/resources/js/guest-v2/screens/SettingsScreen.tsx @@ -0,0 +1,11 @@ +import React from 'react'; +import AppShell from '../components/AppShell'; +import SettingsContent from '../components/SettingsContent'; + +export default function SettingsScreen() { + return ( + + + + ); +} diff --git a/resources/js/guest-v2/screens/ShareScreen.tsx b/resources/js/guest-v2/screens/ShareScreen.tsx new file mode 100644 index 0000000..567fe86 --- /dev/null +++ b/resources/js/guest-v2/screens/ShareScreen.tsx @@ -0,0 +1,170 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Share2, QrCode, Link, Users } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import { useEventData } from '../context/EventDataContext'; +import { buildEventShareLink } from '../services/eventLink'; +import { useAppearance } from '@/hooks/use-appearance'; +import { useTranslation } from '@/guest/i18n/useTranslation'; + +export default function ShareScreen() { + const { event, token } = useEventData(); + const { t } = useTranslation(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const cardBorder = isDark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(15, 23, 42, 0.12)'; + const cardShadow = isDark ? '0 18px 40px rgba(2, 6, 23, 0.4)' : '0 16px 30px rgba(15, 23, 42, 0.12)'; + const [copyState, setCopyState] = React.useState<'idle' | 'copied' | 'failed'>('idle'); + const shareUrl = buildEventShareLink(event, token); + const qrUrl = shareUrl + ? `https://api.qrserver.com/v1/create-qr-code/?size=240x240&data=${encodeURIComponent(shareUrl)}` + : ''; + + const handleCopy = React.useCallback(async () => { + if (!shareUrl) { + return; + } + try { + await navigator.clipboard?.writeText(shareUrl); + setCopyState('copied'); + } catch (error) { + console.error('Copy failed', error); + setCopyState('failed'); + } finally { + window.setTimeout(() => setCopyState('idle'), 2000); + } + }, [shareUrl]); + + const handleShare = React.useCallback(async () => { + if (!shareUrl) return; + const title = event?.name ?? t('share.defaultEvent', 'Fotospiel'); + const data: ShareData = { title, text: title, url: shareUrl }; + if (navigator.share && (!navigator.canShare || navigator.canShare(data))) { + try { + await navigator.share(data); + } catch (error) { + // user dismissed + } + } else { + await handleCopy(); + } + }, [event?.name, handleCopy, shareUrl]); + + return ( + + + + + + + {t('share.invite.title', 'Invite guests')} + + + + {t('share.invite.description', 'Share the event link or show the QR code to join.')} + + + + + + {qrUrl ? ( + {t('share.invite.qrAlt', + ) : ( + + )} + + {t('share.invite.qrLabel', 'Show QR')} + + + + + + {copyState === 'copied' + ? t('share.copySuccess', 'Copied') + : copyState === 'failed' + ? t('share.copyError', 'Copy failed') + : t('share.invite.copyLabel', 'Copy link')} + + + + + + + + + + {t('share.invite.guestsTitle', 'Guests joined')} + + + + {event?.name + ? t('share.invite.guestsSubtitleEvent', 'Share {event} with your guests.', { event: event.name }) + : t('share.invite.guestsSubtitle', 'Share the event with your guests.')} + + + + + + ); +} diff --git a/resources/js/guest-v2/screens/SharedPhotoScreen.tsx b/resources/js/guest-v2/screens/SharedPhotoScreen.tsx new file mode 100644 index 0000000..bc83734 --- /dev/null +++ b/resources/js/guest-v2/screens/SharedPhotoScreen.tsx @@ -0,0 +1,183 @@ +import React from 'react'; +import { useParams } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { AlertCircle, Download } from 'lucide-react'; +import StandaloneShell from '../components/StandaloneShell'; +import SurfaceCard from '../components/SurfaceCard'; +import { fetchPhotoShare } from '@/guest/services/photosApi'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useAppearance } from '@/hooks/use-appearance'; + +interface ShareResponse { + slug: string; + expires_at?: string; + photo: { + id: number; + title?: string; + likes_count?: number; + emotion?: { name?: string; emoji?: string | null } | null; + created_at?: string | null; + image_urls: { full: string; thumbnail: string }; + }; + event?: { id: number; name?: string | null } | null; +} + +export default function SharedPhotoScreen() { + const { slug } = useParams<{ slug: string }>(); + const { t } = useTranslation(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const mutedText = isDark ? 'rgba(248, 250, 252, 0.7)' : 'rgba(15, 23, 42, 0.65)'; + const [state, setState] = React.useState<{ loading: boolean; error: string | null; data: ShareResponse | null }>({ + loading: true, + error: null, + data: null, + }); + + React.useEffect(() => { + let active = true; + if (!slug) return; + setState({ loading: true, error: null, data: null }); + + fetchPhotoShare(slug) + .then((data) => { + if (active) setState({ loading: false, error: null, data }); + }) + .catch(() => { + if (active) { + setState({ + loading: false, + error: t('share.expiredDescription', 'Dieser Link ist nicht mehr verfügbar.'), + data: null, + }); + } + }); + + return () => { + active = false; + }; + }, [slug]); + + if (state.loading) { + return ( + + + + {t('share.loading', 'Moment wird geladen …')} + + + + ); + } + + if (state.error || !state.data) { + return ( + + + + + + {t('share.expiredTitle', 'Link abgelaufen')} + + + + {state.error ?? t('share.expiredDescription', 'Dieses Foto ist nicht mehr verfügbar.')} + + + + ); + } + + const { data } = state; + const chips = buildChips(data, t); + + return ( + + + + {t('share.title', 'Geteiltes Foto')} + + + {data.event?.name ?? t('share.defaultEvent', 'Ein besonderer Moment')} + + {data.photo.title ? ( + + {data.photo.title} + + ) : null} + + + + + + + {chips.length > 0 ? ( + + {chips.map((chip) => ( + + + {chip.icon ? {chip.icon} : null} + + {chip.label} + + + {chip.value} + + + + ))} + + ) : null} + + + + ); +} + +function buildChips( + data: ShareResponse, + t: (key: string, fallback?: string) => string +): { id: string; label: string; value: string; icon?: string }[] { + const list: { id: string; label: string; value: string; icon?: string }[] = []; + if (data.photo.emotion?.name) { + list.push({ + id: 'emotion', + label: t('share.chips.emotion', 'Emotion'), + value: data.photo.emotion.name, + icon: data.photo.emotion.emoji ?? '★', + }); + } + if (data.photo.title) { + list.push({ id: 'task', label: t('share.chips.task', 'Aufgabe'), value: data.photo.title }); + } + if (data.photo.created_at) { + const date = formatDate(data.photo.created_at); + list.push({ id: 'date', label: t('share.chips.date', 'Aufgenommen'), value: date }); + } + return list; +} + +function formatDate(value: string): string { + const parsed = new Date(value); + if (Number.isNaN(parsed.getTime())) return ''; + return parsed.toLocaleDateString(undefined, { day: '2-digit', month: 'short', year: 'numeric' }); +} diff --git a/resources/js/guest-v2/screens/SlideshowScreen.tsx b/resources/js/guest-v2/screens/SlideshowScreen.tsx new file mode 100644 index 0000000..846967c --- /dev/null +++ b/resources/js/guest-v2/screens/SlideshowScreen.tsx @@ -0,0 +1,186 @@ +import React from 'react'; +import { AnimatePresence, motion } from 'framer-motion'; +import { ChevronLeft, ChevronRight, Pause, Play, Maximize2, Minimize2 } from 'lucide-react'; +import { useEventData } from '../context/EventDataContext'; +import { fetchGallery, type GalleryPhoto } from '../services/photosApi'; +import { useTranslation } from '@/guest/i18n/useTranslation'; + +function normalizeImageUrl(src?: string | null) { + if (!src) return ''; + if (/^https?:/i.test(src)) return src; + let cleanPath = src.replace(/^\/+/g, '').replace(/\/+/g, '/'); + if (!cleanPath.startsWith('storage/')) cleanPath = `storage/${cleanPath}`; + return `/${cleanPath}`.replace(/\/+/g, '/'); +} + +export default function SlideshowScreen() { + const { token, event } = useEventData(); + const { t } = useTranslation(); + const [photos, setPhotos] = React.useState([]); + const [index, setIndex] = React.useState(0); + const [paused, setPaused] = React.useState(false); + const [isFullscreen, setIsFullscreen] = React.useState(false); + const intervalRef = React.useRef(null); + + React.useEffect(() => { + document.body.classList.add('guest-immersive'); + return () => { + document.body.classList.remove('guest-immersive'); + }; + }, []); + + React.useEffect(() => { + if (!token) return; + let active = true; + fetchGallery(token, { limit: 50 }) + .then((response) => { + if (!active) return; + setPhotos(response.data ?? []); + setIndex(0); + }) + .catch(() => { + if (active) setPhotos([]); + }); + return () => { + active = false; + }; + }, [token]); + + React.useEffect(() => { + if (paused || photos.length <= 1) { + if (intervalRef.current) window.clearInterval(intervalRef.current); + return; + } + intervalRef.current = window.setInterval(() => { + setIndex((prev) => (prev + 1) % photos.length); + }, 5000); + return () => { + if (intervalRef.current) window.clearInterval(intervalRef.current); + }; + }, [paused, photos.length]); + + React.useEffect(() => { + const handleFullscreen = () => setIsFullscreen(Boolean(document.fullscreenElement)); + document.addEventListener('fullscreenchange', handleFullscreen); + handleFullscreen(); + return () => document.removeEventListener('fullscreenchange', handleFullscreen); + }, []); + + const current = photos[index] as Record | undefined; + const imageUrl = normalizeImageUrl( + (current?.full_url as string | undefined) + ?? (current?.thumbnail_url as string | undefined) + ?? (current?.thumbnail_path as string | undefined) + ?? (current?.file_path as string | undefined) + ?? (current?.url as string | undefined) + ?? (current?.image_url as string | undefined) + ); + + const toggleFullscreen = async () => { + try { + if (!document.fullscreenElement) { + await document.documentElement.requestFullscreen?.(); + } else { + await document.exitFullscreen?.(); + } + } catch (error) { + console.warn('Fullscreen toggle failed', error); + } + }; + + return ( +
+
+ + {event?.name ?? t('galleryPage.hero.eventFallback', 'Event')} + + + {t('galleryPage.title', 'Gallery')} + +
+ + {imageUrl ? ( + + ) : null} + + + + + + {photos.length === 0 ? ( +
+

{t('galleryPublic.emptyTitle', 'Noch keine Fotos')}

+

{t('galleryPublic.emptyDescription', 'Sobald Fotos freigegeben sind, erscheinen sie hier.')}

+
+ ) : null} + +
+ + + + +
+
+ ); +} diff --git a/resources/js/guest-v2/screens/TaskDetailScreen.tsx b/resources/js/guest-v2/screens/TaskDetailScreen.tsx new file mode 100644 index 0000000..03d0e76 --- /dev/null +++ b/resources/js/guest-v2/screens/TaskDetailScreen.tsx @@ -0,0 +1,237 @@ +import React from 'react'; +import { useNavigate, useParams } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Sparkles, ChevronLeft, Camera } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import SurfaceCard from '../components/SurfaceCard'; +import { fetchTasks, type TaskItem } from '../services/tasksApi'; +import { useEventData } from '../context/EventDataContext'; +import { buildEventPath } from '../lib/routes'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useAppearance } from '@/hooks/use-appearance'; + +function getTaskValue(task: TaskItem, key: string): string | undefined { + const value = task?.[key as keyof TaskItem]; + if (typeof value === 'string' && value.trim() !== '') return value; + if (value && typeof value === 'object') { + const obj = value as Record; + const candidate = Object.values(obj).find((item) => typeof item === 'string' && item.trim() !== ''); + if (typeof candidate === 'string') return candidate; + } + return undefined; +} + +function getTaskList(task: TaskItem, key: string): string[] { + const value = task?.[key as keyof TaskItem]; + if (Array.isArray(value)) { + return value.filter((item) => typeof item === 'string' && item.trim() !== '') as string[]; + } + if (typeof value === 'string' && value.trim() !== '') { + return [value]; + } + return []; +} + +export default function TaskDetailScreen() { + const { token } = useEventData(); + const { taskId } = useParams<{ taskId: string }>(); + const { t, locale } = useTranslation(); + const navigate = useNavigate(); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const mutedText = isDark ? 'rgba(248, 250, 252, 0.7)' : 'rgba(15, 23, 42, 0.65)'; + const [task, setTask] = React.useState(null); + const [loading, setLoading] = React.useState(true); + const [error, setError] = React.useState(null); + + React.useEffect(() => { + let active = true; + if (!token || !taskId) { + setLoading(false); + setTask(null); + return; + } + + setLoading(true); + setError(null); + + fetchTasks(token, { locale }) + .then((tasks) => { + if (!active) return; + const match = tasks.find((item) => { + const id = item?.id ?? item?.task_id ?? item?.slug; + return String(id) === String(taskId); + }) ?? null; + setTask(match); + setLoading(false); + }) + .catch((err) => { + if (!active) return; + setError(err instanceof Error ? err.message : t('tasks.error', 'Tasks could not be loaded.')); + setLoading(false); + }); + + return () => { + active = false; + }; + }, [locale, taskId, t, token]); + + const title = task ? (getTaskValue(task, 'title') ?? getTaskValue(task, 'name') ?? 'Task') : 'Task'; + const description = task ? (getTaskValue(task, 'description') ?? getTaskValue(task, 'prompt') ?? '') : ''; + const tips = task ? getTaskList(task, 'tips') : []; + const steps = task ? getTaskList(task, 'steps') : []; + const inspiration = task ? getTaskList(task, 'inspiration') : []; + const duration = task ? (task.duration ?? task.time_limit ?? null) : null; + const groupSize = task ? (task.group_size ?? task.groupSize ?? null) : null; + + return ( + + + + + + + + {t('tasks.page.title', 'Your next task')} + + + + + + {t('tasks.page.subtitle', 'Choose a mood or get surprised.')} + + + + {loading ? ( + + + {t('tasks.loading', 'Loading tasks...')} + + + ) : error ? ( + + + {t('tasks.page.emptyTitle', 'No matching task found')} + + + {error} + + + ) : task ? ( + <> + + + {title} + + {description ? ( + + {description} + + ) : null} + + {duration ? ( + + ) : null} + {groupSize ? ( + + ) : null} + + + + {steps.length > 0 ? ( + + + {t('tasks.page.checklist', 'Checklist')} + + + {steps.map((step, index) => ( + + + {index + 1}. + + {step} + + ))} + + + ) : null} + {tips.length > 0 ? ( + + + {t('tasks.page.tips', 'Tips')} + + + {tips.map((tip, index) => ( + + + • + + {tip} + + ))} + + + ) : null} + {inspiration.length > 0 ? ( + + + {t('tasks.page.inspirationTitleSecondary', 'Inspiration')} + + + {inspiration.map((item, index) => ( + + {item} + + ))} + + + ) : null} + + ) : ( + + + {t('tasks.page.emptyTitle', 'No matching task found')} + + + )} + + + ); +} diff --git a/resources/js/guest-v2/screens/TasksScreen.tsx b/resources/js/guest-v2/screens/TasksScreen.tsx new file mode 100644 index 0000000..4904755 --- /dev/null +++ b/resources/js/guest-v2/screens/TasksScreen.tsx @@ -0,0 +1,271 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Sparkles, Trophy, Play } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import { useEventData } from '../context/EventDataContext'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { fetchTasks } from '../services/tasksApi'; +import { fetchEmotions } from '../services/emotionsApi'; +import { useAppearance } from '@/hooks/use-appearance'; +import { useNavigate } from 'react-router-dom'; +import { useGuestTaskProgress } from '@/guest/hooks/useGuestTaskProgress'; + +type TaskItem = { + id: number; + title: string; + points?: number; + description?: string | null; + emotion?: string | null; +}; + +export default function TasksScreen() { + const { tasksEnabled, token } = useEventData(); + const { t } = useTranslation(); + const { locale } = useLocale(); + const navigate = useNavigate(); + const { completedCount } = useGuestTaskProgress(token ?? undefined); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const cardBorder = isDark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(15, 23, 42, 0.12)'; + const cardShadow = isDark ? '0 16px 32px rgba(2, 6, 23, 0.35)' : '0 14px 24px rgba(15, 23, 42, 0.12)'; + const mutedButton = isDark ? 'rgba(255, 255, 255, 0.08)' : 'rgba(15, 23, 42, 0.06)'; + const mutedButtonBorder = isDark ? 'rgba(255, 255, 255, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + const [tasks, setTasks] = React.useState([]); + const [highlight, setHighlight] = React.useState(null); + const [loading, setLoading] = React.useState(false); + const [error, setError] = React.useState(null); + const [emotions, setEmotions] = React.useState>({}); + const progressTotal = tasks.length || 1; + const progressPercent = Math.min(100, Math.round((completedCount / progressTotal) * 100)); + + React.useEffect(() => { + if (!token) { + setTasks([]); + setHighlight(null); + return; + } + + let active = true; + setLoading(true); + setError(null); + + Promise.all([ + fetchTasks(token, { locale, perPage: 12 }), + fetchEmotions(token, locale), + ]) + .then(([taskList, emotionList]) => { + if (!active) return; + + const emotionMap: Record = {}; + for (const emotion of emotionList) { + const record = emotion as Record; + const slug = typeof record.slug === 'string' ? record.slug : ''; + const title = typeof record.title === 'string' ? record.title : typeof record.name === 'string' ? record.name : ''; + if (slug) { + emotionMap[slug] = title || slug; + } + } + setEmotions(emotionMap); + + const mapped = taskList + .map((task) => { + const record = task as Record; + const id = Number(record.id ?? 0); + const title = typeof record.title === 'string' ? record.title : typeof record.name === 'string' ? record.name : ''; + if (!id || !title) return null; + return { + id, + title, + points: typeof record.points === 'number' ? record.points : undefined, + description: typeof record.description === 'string' ? record.description : null, + emotion: typeof record.emotion_slug === 'string' ? record.emotion_slug : null, + } satisfies TaskItem; + }) + .filter(Boolean) as TaskItem[]; + + setTasks(mapped); + setHighlight(mapped[0] ?? null); + }) + .catch((err) => { + console.error('Failed to load tasks', err); + if (active) { + setError(t('tasks.error', 'Tasks could not be loaded.')); + } + }) + .finally(() => { + if (active) { + setLoading(false); + } + }); + + return () => { + active = false; + }; + }, [token, locale, t]); + + if (!tasksEnabled) { + return ( + + + + + {t('tasks.disabled.title', 'Tasks are disabled')} + + + {t('tasks.disabled.subtitle', 'This event is set to photo-only mode.')} + + + + + ); + } + + return ( + + + + + + + Prompt quest + + + + {highlight?.title ?? t('tasks.loading', 'Loading tasks...')} + + + {highlight?.description ?? t('tasks.subtitle', 'Complete this quest to unlock new prompts.')} + + + + + {t('tasks.page.progressLabel', 'Quest progress')} + + + {highlight ? `${progressPercent}%` : '--'} + + + + + + + {t('tasks.page.progressValue', { count: completedCount, total: tasks.length }, '{count}/{total} tasks completed')} + + + + + + {error ? ( + + + {error} + + + ) : null} + + + {tasks.length === 0 && loading ? ( + + + {t('tasks.loading', 'Loading tasks...')} + + + ) : null} + {tasks.map((task) => ( + + + + + {task.title} + + {task.emotion ? ( + + {emotions[task.emotion] ?? task.emotion} + + ) : null} + + + + + +{task.points ?? 0} + + + + + + ))} + + + + ); +} diff --git a/resources/js/guest-v2/screens/UploadQueueScreen.tsx b/resources/js/guest-v2/screens/UploadQueueScreen.tsx new file mode 100644 index 0000000..51bd5b6 --- /dev/null +++ b/resources/js/guest-v2/screens/UploadQueueScreen.tsx @@ -0,0 +1,307 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { RefreshCcw, Trash2, UploadCloud } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import SurfaceCard from '../components/SurfaceCard'; +import { useUploadQueue } from '../services/uploadApi'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useAppearance } from '@/hooks/use-appearance'; +import { useLocale } from '@/guest/i18n/LocaleContext'; +import { useEventData } from '../context/EventDataContext'; +import { fetchPendingUploadsSummary, type PendingUpload } from '@/guest/services/pendingUploadsApi'; + +type ProgressMap = Record; + +export default function UploadQueueScreen() { + const { t } = useTranslation(); + const { locale } = useLocale(); + const { token } = useEventData(); + const { items, loading, retryAll, clearFinished, refresh } = useUploadQueue(); + const [progress, setProgress] = React.useState({}); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const mutedText = isDark ? 'rgba(248, 250, 252, 0.7)' : 'rgba(15, 23, 42, 0.65)'; + const [pending, setPending] = React.useState([]); + const [pendingLoading, setPendingLoading] = React.useState(false); + const [pendingError, setPendingError] = React.useState(null); + + const formatter = React.useMemo( + () => new Intl.DateTimeFormat(locale, { day: '2-digit', month: 'short', hour: '2-digit', minute: '2-digit' }), + [locale] + ); + + const formatTimestamp = React.useCallback( + (value?: string | null) => { + if (!value) { + return t('pendingUploads.card.justNow', 'Just now'); + } + const date = new Date(value); + if (Number.isNaN(date.getTime())) { + return t('pendingUploads.card.justNow', 'Just now'); + } + return formatter.format(date); + }, + [formatter, t] + ); + + const loadPendingUploads = React.useCallback(async () => { + if (!token) { + setPending([]); + return; + } + try { + setPendingLoading(true); + setPendingError(null); + const result = await fetchPendingUploadsSummary(token, 12); + setPending(result.items); + } catch (err) { + console.error('Pending uploads load failed', err); + setPendingError(t('pendingUploads.error', 'Failed to load uploads. Please try again.')); + } finally { + setPendingLoading(false); + } + }, [t, token]); + + React.useEffect(() => { + void loadPendingUploads(); + }, [loadPendingUploads]); + + React.useEffect(() => { + const handler = (event: Event) => { + const detail = (event as CustomEvent<{ id?: number; progress?: number }>).detail; + if (!detail?.id || typeof detail.progress !== 'number') return; + setProgress((prev) => ({ ...prev, [detail.id!]: detail.progress! })); + }; + + window.addEventListener('queue-progress', handler as EventListener); + return () => window.removeEventListener('queue-progress', handler as EventListener); + }, []); + + const activeCount = items.filter((item) => item.status !== 'done').length; + const failedCount = items.filter((item) => item.status === 'error').length; + + return ( + + + + + + + + {t('uploadQueue.title', 'Uploads')} + + + + {t('uploadQueue.description', 'Keep track of queued uploads and retries.')} + + + + + {t( + 'uploadQueue.summary', + { waiting: activeCount, failed: failedCount }, + '{waiting} waiting · {failed} failed' + )} + + + + + + + + + + + + + {loading ? ( + + + {t('common.actions.loading', 'Loading...')} + + + ) : items.length === 0 ? ( + + + {t('uploadQueue.emptyTitle', 'No queued uploads')} + + + {t('uploadQueue.emptyDescription', 'Once photos are queued, they will appear here.')} + + + ) : ( + items + .slice() + .sort((a, b) => (b.createdAt ?? 0) - (a.createdAt ?? 0)) + .map((item) => { + const pct = typeof item.id === 'number' ? progress[item.id] : undefined; + return ( + + + + + {item.fileName} + + + {item.status === 'done' + ? t('uploadQueue.status.uploaded', 'Uploaded') + : item.status === 'uploading' + ? t('uploadQueue.status.uploading', 'Uploading') + : item.status === 'error' + ? t('uploadQueue.status.failed', 'Failed') + : t('uploadQueue.status.waiting', 'Waiting')} + {item.retries + ? t('uploadQueue.status.retries', { count: item.retries }, ' · {count} retries') + : ''} + + + + + {pct !== undefined + ? t('uploadQueue.progress', { progress: pct }, '{progress}%') + : item.status === 'done' + ? t('uploadQueue.progress', { progress: 100 }, '{progress}%') + : ''} + + + + + + + + ); + }) + )} + + + + + + {t('pendingUploads.title', 'Pending uploads')} + + + {t('pendingUploads.subtitle', 'Your photos are waiting for approval.')} + + + + + + {pendingLoading ? ( + + + {t('pendingUploads.loading', 'Loading uploads...')} + + + ) : pendingError ? ( + + + {pendingError} + + + ) : pending.length === 0 ? ( + + + {t('pendingUploads.emptyTitle', 'No pending uploads')} + + + {t('pendingUploads.emptyBody', 'Once you upload a photo, it will appear here until it is approved.')} + + + ) : ( + pending.map((photo) => ( + + + + {photo.thumbnail_url ? ( + + ) : ( + + )} + + + + {t('pendingUploads.card.pending', 'Waiting for approval')} + + + {t('pendingUploads.card.uploadedAt', 'Uploaded {time}').replace('{time}', formatTimestamp(photo.created_at))} + + + + + )) + )} + + + + ); +} diff --git a/resources/js/guest-v2/screens/UploadScreen.tsx b/resources/js/guest-v2/screens/UploadScreen.tsx new file mode 100644 index 0000000..c59a625 --- /dev/null +++ b/resources/js/guest-v2/screens/UploadScreen.tsx @@ -0,0 +1,742 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Camera, FlipHorizontal, Image, ListVideo, RefreshCcw, Sparkles, UploadCloud, X } from 'lucide-react'; +import AppShell from '../components/AppShell'; +import { useEventData } from '../context/EventDataContext'; +import { useOptionalGuestIdentity } from '../context/GuestIdentityContext'; +import { uploadPhoto, useUploadQueue } from '../services/uploadApi'; +import { useAppearance } from '@/hooks/use-appearance'; +import { useNavigate, useSearchParams } from 'react-router-dom'; +import { useTranslation } from '@/guest/i18n/useTranslation'; +import { useGuestTaskProgress } from '@/guest/hooks/useGuestTaskProgress'; +import { fetchPendingUploadsSummary, type PendingUpload } from '@/guest/services/pendingUploadsApi'; +import { resolveUploadErrorDialog, type UploadErrorDialog } from '@/guest/lib/uploadErrorDialog'; +import { fetchTasks, type TaskItem } from '../services/tasksApi'; +import SurfaceCard from '../components/SurfaceCard'; + +function getTaskValue(task: TaskItem, key: string): string | undefined { + const value = task?.[key as keyof TaskItem]; + if (typeof value === 'string' && value.trim() !== '') return value; + if (value && typeof value === 'object') { + const obj = value as Record; + const candidate = Object.values(obj).find((item) => typeof item === 'string' && item.trim() !== ''); + if (typeof candidate === 'string') return candidate; + } + return undefined; +} + +export default function UploadScreen() { + const { token, event } = useEventData(); + const identity = useOptionalGuestIdentity(); + const { items, add } = useUploadQueue(); + const navigate = useNavigate(); + const [searchParams] = useSearchParams(); + const { t, locale } = useTranslation(); + const { markCompleted } = useGuestTaskProgress(token ?? undefined); + const inputRef = React.useRef(null); + const videoRef = React.useRef(null); + const streamRef = React.useRef(null); + const [uploading, setUploading] = React.useState<{ name: string; progress: number } | null>(null); + const [error, setError] = React.useState(null); + const [uploadDialog, setUploadDialog] = React.useState(null); + const [cameraState, setCameraState] = React.useState<'idle' | 'starting' | 'ready' | 'denied' | 'blocked' | 'unsupported' | 'error' | 'preview'>('idle'); + const [facingMode, setFacingMode] = React.useState<'user' | 'environment'>('environment'); + const [mirror, setMirror] = React.useState(true); + const [previewFile, setPreviewFile] = React.useState(null); + const [previewUrl, setPreviewUrl] = React.useState(null); + const { resolved } = useAppearance(); + const isDark = resolved === 'dark'; + const cardBorder = isDark ? 'rgba(255, 255, 255, 0.12)' : 'rgba(15, 23, 42, 0.12)'; + const cardShadow = isDark ? '0 18px 40px rgba(2, 6, 23, 0.4)' : '0 16px 30px rgba(15, 23, 42, 0.12)'; + const iconColor = isDark ? '#F8FAFF' : '#0F172A'; + const mutedButton = isDark ? 'rgba(255, 255, 255, 0.08)' : 'rgba(15, 23, 42, 0.06)'; + const mutedButtonBorder = isDark ? 'rgba(255, 255, 255, 0.2)' : 'rgba(15, 23, 42, 0.12)'; + const autoApprove = event?.guest_upload_visibility === 'immediate'; + const isExpanded = cameraState === 'ready' || cameraState === 'starting' || cameraState === 'preview'; + + const queueCount = items.filter((item) => item.status !== 'done').length; + const sendingCount = items.filter((item) => item.status === 'uploading').length; + const taskIdParam = searchParams.get('taskId'); + const parsedTaskId = taskIdParam ? Number(taskIdParam) : NaN; + const taskId = Number.isFinite(parsedTaskId) ? parsedTaskId : undefined; + const [task, setTask] = React.useState(null); + const [taskLoading, setTaskLoading] = React.useState(false); + const [taskError, setTaskError] = React.useState(null); + const [pendingItems, setPendingItems] = React.useState([]); + const [pendingCount, setPendingCount] = React.useState(0); + const [pendingLoading, setPendingLoading] = React.useState(false); + + const previewQueueItems = React.useMemo(() => items.filter((item) => item.status !== 'done').slice(0, 3), [items]); + const previewQueueUrls = React.useMemo(() => { + if (typeof URL === 'undefined' || typeof URL.createObjectURL !== 'function') { + return []; + } + + return previewQueueItems.map((item) => ({ + key: item.id ?? item.fileName, + url: URL.createObjectURL(item.blob), + })); + }, [previewQueueItems]); + + React.useEffect(() => { + return () => { + previewQueueUrls.forEach((item) => URL.revokeObjectURL(item.url)); + }; + }, [previewQueueUrls]); + + const loadPending = React.useCallback(async () => { + if (!token) { + setPendingItems([]); + setPendingCount(0); + return; + } + setPendingLoading(true); + try { + const result = await fetchPendingUploadsSummary(token, 3); + setPendingItems(result.items); + setPendingCount(result.totalCount); + } catch (err) { + console.error('Pending uploads load failed', err); + setPendingItems([]); + setPendingCount(0); + } finally { + setPendingLoading(false); + } + }, [token]); + + React.useEffect(() => { + void loadPending(); + }, [loadPending]); + + React.useEffect(() => { + let active = true; + + if (!token || !taskId) { + setTask(null); + setTaskLoading(false); + setTaskError(null); + return; + } + + setTaskLoading(true); + setTaskError(null); + + fetchTasks(token, { locale }) + .then((tasks) => { + if (!active) return; + const match = tasks.find((item) => { + const id = item?.id ?? item?.task_id ?? item?.slug; + return String(id) === String(taskId); + }) ?? null; + setTask(match); + setTaskLoading(false); + }) + .catch((err) => { + if (!active) return; + setTaskError(err instanceof Error ? err.message : t('tasks.error', 'Tasks could not be loaded.')); + setTask(null); + setTaskLoading(false); + }); + + return () => { + active = false; + }; + }, [locale, t, taskId, token]); + + const enqueueFile = React.useCallback( + async (file: File) => { + if (!token) return; + await add({ eventToken: token, fileName: file.name, blob: file, task_id: taskId ?? null }); + }, + [add, taskId, token] + ); + + const triggerConfetti = React.useCallback(async () => { + if (typeof window === 'undefined') return; + const prefersReducedMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)')?.matches; + if (prefersReducedMotion) return; + + try { + const { default: confetti } = await import('canvas-confetti'); + confetti({ + particleCount: 70, + spread: 65, + origin: { x: 0.5, y: 0.35 }, + ticks: 160, + scalar: 0.9, + }); + } catch (error) { + console.warn('Confetti could not start', error); + } + }, []); + + const uploadFiles = React.useCallback( + async (files: File[]) => { + if (!token || files.length === 0) return; + if (files.length === 0) { + setError(t('uploadV2.errors.invalidFile', 'Please choose a photo file.')); + return; + } + + setError(null); + setUploadDialog(null); + + for (const file of files) { + if (!navigator.onLine) { + await enqueueFile(file); + continue; + } + + try { + setUploading({ name: file.name, progress: 0 }); + await uploadPhoto(token, file, taskId, undefined, { + guestName: identity?.name ?? undefined, + onProgress: (percent) => { + setUploading((prev) => (prev ? { ...prev, progress: percent } : prev)); + }, + maxRetries: 1, + }); + if (taskId) { + markCompleted(taskId); + } + if (autoApprove) { + void triggerConfetti(); + } + void loadPending(); + } catch (err) { + const uploadErr = err as { code?: string; meta?: Record }; + console.error('Upload failed, enqueueing', err); + setUploadDialog(resolveUploadErrorDialog(uploadErr?.code, uploadErr?.meta, t)); + await enqueueFile(file); + } finally { + setUploading(null); + } + } + }, + [autoApprove, enqueueFile, identity?.name, loadPending, markCompleted, t, taskId, token, triggerConfetti] + ); + + const handleFiles = React.useCallback( + async (fileList: FileList | null) => { + if (!fileList) return; + const files = Array.from(fileList).filter((file) => file.type.startsWith('image/')); + await uploadFiles(files); + }, + [uploadFiles] + ); + + const handlePick = React.useCallback(() => { + inputRef.current?.click(); + }, []); + + const stopCamera = React.useCallback(() => { + if (streamRef.current) { + streamRef.current.getTracks().forEach((track) => track.stop()); + streamRef.current = null; + } + if (videoRef.current) { + videoRef.current.srcObject = null; + } + setCameraState('idle'); + }, []); + + const startCamera = React.useCallback( + async (modeOverride?: 'user' | 'environment') => { + if (!navigator.mediaDevices?.getUserMedia) { + setCameraState('unsupported'); + return; + } + + const mode = modeOverride ?? facingMode; + setCameraState('starting'); + try { + const stream = await navigator.mediaDevices.getUserMedia({ + video: { facingMode: mode }, + audio: false, + }); + streamRef.current = stream; + if (videoRef.current) { + videoRef.current.srcObject = stream; + await videoRef.current.play(); + } + setFacingMode(mode); + setCameraState('ready'); + } catch (err) { + const error = err as { name?: string }; + if (error?.name === 'NotAllowedError') { + setCameraState('denied'); + } else if (error?.name === 'SecurityError') { + setCameraState('blocked'); + } else if (error?.name === 'NotFoundError') { + setCameraState('error'); + } else { + setCameraState('error'); + } + } + }, + [facingMode] + ); + + const handleSwitchCamera = React.useCallback(async () => { + const nextMode = facingMode === 'user' ? 'environment' : 'user'; + stopCamera(); + await startCamera(nextMode); + }, [facingMode, startCamera, stopCamera]); + + const handleCapture = React.useCallback(async () => { + const video = videoRef.current; + if (!video) return; + if (cameraState !== 'ready') { + await startCamera(); + return; + } + + const width = video.videoWidth; + const height = video.videoHeight; + if (!width || !height) { + setError(t('upload.cameraError.explanation', 'Camera could not be started.')); + return; + } + + const canvas = document.createElement('canvas'); + canvas.width = width; + canvas.height = height; + const ctx = canvas.getContext('2d'); + if (!ctx) return; + + if (mirror && facingMode === 'user') { + ctx.translate(width, 0); + ctx.scale(-1, 1); + } + ctx.drawImage(video, 0, 0, width, height); + + const blob = await new Promise((resolve) => canvas.toBlob(resolve, 'image/jpeg', 0.92)); + if (!blob) { + setError(t('uploadV2.errors.invalidFile', 'Please choose a photo file.')); + return; + } + const file = new File([blob], `camera-${Date.now()}.jpg`, { type: blob.type }); + const url = URL.createObjectURL(file); + setPreviewFile(file); + setPreviewUrl(url); + stopCamera(); + setCameraState('preview'); + }, [cameraState, facingMode, mirror, startCamera, stopCamera, t]); + + const handleRetake = React.useCallback(async () => { + if (previewUrl) { + URL.revokeObjectURL(previewUrl); + } + setPreviewFile(null); + setPreviewUrl(null); + await startCamera(); + }, [previewUrl, startCamera]); + + const handleUseImage = React.useCallback(async () => { + if (!previewFile) return; + await uploadFiles([previewFile]); + if (previewUrl) { + URL.revokeObjectURL(previewUrl); + } + setPreviewFile(null); + setPreviewUrl(null); + setCameraState('idle'); + }, [previewFile, previewUrl, uploadFiles]); + + const handleAbortCamera = React.useCallback(() => { + if (previewUrl) { + URL.revokeObjectURL(previewUrl); + } + setPreviewFile(null); + setPreviewUrl(null); + stopCamera(); + }, [previewUrl, stopCamera]); + + React.useEffect(() => { + return () => stopCamera(); + }, [stopCamera]); + + if (!token) { + return ( + + + + {t('uploadV2.errors.eventMissing', 'Event not found')} + + + + ); + } + + return ( + + + {taskId ? ( + + + + + {t('tasks.page.title', 'Your next task')} + + + {taskLoading ? ( + + {t('tasks.loading', 'Loading tasks...')} + + ) : task ? ( + <> + + {getTaskValue(task, 'title') ?? getTaskValue(task, 'name') ?? t('tasks.page.title', 'Task')} + + {getTaskValue(task, 'description') ?? getTaskValue(task, 'prompt') ? ( + + {getTaskValue(task, 'description') ?? getTaskValue(task, 'prompt')} + + ) : null} + + ) : taskError ? ( + + {taskError} + + ) : null} + + ) : null} + + + {previewUrl ? ( + {t('upload.preview.imageAlt', + ) : ( + + + {cameraState === 'preview' ? ( + + + + + ) : ( + <> + + + + + + {t('upload.controls.switchCamera', 'Switch camera')} + + + {facingMode === 'user' ? ( + + ) : null} + + + )} + + + + + + {t('uploadQueue.title', 'Uploads')} + + + {t('uploadV2.queue.summary', { waiting: queueCount, sending: sendingCount }, '{waiting} waiting, {sending} sending')} + + {uploading ? ( + + {t( + 'uploadV2.queue.uploading', + { name: uploading.name, progress: uploading.progress }, + 'Uploading {name} · {progress}%' + )} + + ) : null} + {uploadDialog ? ( + + + {uploadDialog.title} + + + {uploadDialog.description} + + {uploadDialog.hint ? ( + + {uploadDialog.hint} + + ) : null} + + ) : null} + {error ? ( + + {error} + + ) : null} + + {previewQueueUrls.length > 0 ? ( + previewQueueUrls.map((item) => ( + + + + )) + ) : ( + + )} + + + + {t('pendingUploads.title', 'Pending uploads')} + + + {pendingLoading + ? t('pendingUploads.loading', 'Loading uploads...') + : t('pendingUploads.subtitle', 'Your photos are waiting for approval.')} + + {pendingItems.length > 0 ? ( + + {pendingItems.map((photo) => ( + + {photo.thumbnail_url ? ( + + ) : ( + + )} + + ))} + + ) : ( + + {t('pendingUploads.emptyTitle', 'No pending uploads')} + + )} + + + + + { + handleFiles(event.target.files); + if (event.target) { + event.target.value = ''; + } + }} + /> + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup01CaptureOrbit.tsx b/resources/js/guest-v2/screens/mockups/Mockup01CaptureOrbit.tsx new file mode 100644 index 0000000..ba6a0c4 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup01CaptureOrbit.tsx @@ -0,0 +1,99 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Camera, UploadCloud, Sparkles, Zap } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function Mockup01CaptureOrbit() { + return ( + + + + + + Event energy + + 87 moments today + + + + + Live + + + + + + + + + + Tap to capture + + + + + + {[ + { icon: , label: 'Upload' }, + { icon: , label: 'Prompt' }, + { icon: , label: 'Burst' }, + ].map((item) => ( + + {item.icon} + + {item.label} + + + ))} + + + + + + + + Upload queue + + 3 queued, 1 sending + + + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup02GalleryMosaic.tsx b/resources/js/guest-v2/screens/mockups/Mockup02GalleryMosaic.tsx new file mode 100644 index 0000000..babb2ff --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup02GalleryMosaic.tsx @@ -0,0 +1,76 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Filter, Image as ImageIcon } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupChip, MockupLabel, MockupTile } from './MockupPrimitives'; + +export default function Mockup02GalleryMosaic() { + return ( + + + + + + + Gallery + + + + + + {['All', 'Friends', 'Dancefloor', 'Candid'].map((chip) => ( + + + {chip} + + + ))} + + + + + + + Hero moment + + + + + + + + + + + + + + Live spotlight + + + + + + + + + + Newest uploads + + Refreshes every 10s + + + 22 new + + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup03PromptQuest.tsx b/resources/js/guest-v2/screens/mockups/Mockup03PromptQuest.tsx new file mode 100644 index 0000000..dec3f6a --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup03PromptQuest.tsx @@ -0,0 +1,74 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Sparkles, Trophy, Play } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function Mockup03PromptQuest() { + return ( + + + + + + Prompt of the hour + + + + Capture the boldest dance move + + Earn 120 points for completing this prompt. + + + + Quest progress + + + 65% + + + + + + + + + + + {[1, 2, 3].map((item) => ( + + + + + Task {item} + + Quick challenge to spark the moment. + + + + + +50 + + + + + + ))} + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup04TimelineStream.tsx b/resources/js/guest-v2/screens/mockups/Mockup04TimelineStream.tsx new file mode 100644 index 0000000..60876c7 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup04TimelineStream.tsx @@ -0,0 +1,70 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Clock, Image as ImageIcon } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +const timeline = [ + { time: '18:40', title: 'Sparkler exit', caption: '12 new uploads' }, + { time: '18:22', title: 'First dance', caption: '7 moments added' }, + { time: '18:10', title: 'Toast round', caption: '5 guest favorites' }, + { time: '17:55', title: 'Arrival glow', caption: '4 candid shots' }, +]; + +export default function Mockup04TimelineStream() { + return ( + + + + + + Live timeline + + + Moments grouped by when they happened. + + + + {timeline.map((item, index) => ( + + + + {item.time} + + + + + + + + {item.title} + + + {item.caption} + + {[1, 2, 3].map((tile) => ( + + ))} + + + + ))} + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup05CompassHub.tsx b/resources/js/guest-v2/screens/mockups/Mockup05CompassHub.tsx new file mode 100644 index 0000000..4f1c111 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup05CompassHub.tsx @@ -0,0 +1,81 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Compass, Image as ImageIcon, Sparkles, UploadCloud } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function Mockup05CompassHub() { + return ( + + + + + + + Gallery + + Browse moments + + + + + Upload + + Quick add + + + + + + + Tasks + + Earn points + + + + + Live show + + See highlights + + + + + + Capture + + + + + + + + + Event compass + + Tap any quadrant to jump. + + + 4 zones + + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup06SplitCapture.tsx b/resources/js/guest-v2/screens/mockups/Mockup06SplitCapture.tsx new file mode 100644 index 0000000..cdaa1c5 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup06SplitCapture.tsx @@ -0,0 +1,66 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Camera, Grid2x2, Zap, UploadCloud } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel, MockupTile } from './MockupPrimitives'; + +export default function Mockup06SplitCapture() { + return ( + + + + + + Live preview + + Tap anywhere to focus. + + + + {[ + { icon: , label: 'Grid' }, + { icon: , label: 'Flash' }, + { icon: , label: 'Upload' }, + ].map((tool) => ( + + {tool.icon} + + {tool.label} + + + ))} + + + + + + + Upload queue + + 2 waiting + + + {[1, 2, 3].map((tile) => ( + + ))} + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup07SwipeDeck.tsx b/resources/js/guest-v2/screens/mockups/Mockup07SwipeDeck.tsx new file mode 100644 index 0000000..1c9b597 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup07SwipeDeck.tsx @@ -0,0 +1,94 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Heart, X, Send } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function Mockup07SwipeDeck() { + return ( + + + + Review queue + + Swipe to approve or skip highlights. + + + + + + Guest capture 3 + + + + + Guest capture 2 + + + + + Guest capture 1 + + Tap for full view + + + + + + + + + + + + + + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup08Daybook.tsx b/resources/js/guest-v2/screens/mockups/Mockup08Daybook.tsx new file mode 100644 index 0000000..605255c --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup08Daybook.tsx @@ -0,0 +1,58 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Sun, CloudSun, MoonStar } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel, MockupTile } from './MockupPrimitives'; + +const sections = [ + { + key: 'morning', + title: 'Morning glow', + icon: , + }, + { + key: 'afternoon', + title: 'Afternoon energy', + icon: , + }, + { + key: 'night', + title: 'Night sparkle', + icon: , + }, +]; + +export default function Mockup08Daybook() { + return ( + + + + Today in moments + + Group memories by vibe, not just time. + + + + {sections.map((section) => ( + + + {section.icon} + + {section.title} + + + + {[1, 2, 3].map((tile) => ( + + ))} + + + ))} + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup09ChecklistFlow.tsx b/resources/js/guest-v2/screens/mockups/Mockup09ChecklistFlow.tsx new file mode 100644 index 0000000..63956d3 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup09ChecklistFlow.tsx @@ -0,0 +1,63 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { CheckCircle2, Circle, ListChecks } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel, MockupTile } from './MockupPrimitives'; + +const tasks = [ + { id: 1, label: 'Capture the first toast', done: true }, + { id: 2, label: 'Find the loudest laugh', done: false }, + { id: 3, label: 'Snap a detail shot', done: false }, + { id: 4, label: 'Find the dance duo', done: true }, +]; + +export default function Mockup09ChecklistFlow() { + return ( + + + + + + Today’s checklist + + + Complete tasks to unlock more prompts. + + + + + {tasks.map((task) => ( + + {task.done ? ( + + ) : ( + + )} + + {task.label} + + + ))} + + + + + + Progress gallery + + + {[1, 2, 3, 4].map((tile) => ( + + ))} + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/Mockup10SpotlightReel.tsx b/resources/js/guest-v2/screens/mockups/Mockup10SpotlightReel.tsx new file mode 100644 index 0000000..46607b0 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/Mockup10SpotlightReel.tsx @@ -0,0 +1,62 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Play, Star, Share2 } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel, MockupTile } from './MockupPrimitives'; + +export default function Mockup10SpotlightReel() { + return ( + + + + + + Spotlight reel + + Live highlights curated by guests. + + + + + + + {[1, 2, 3, 4, 5].map((tile) => ( + + ))} + + + + + Now showing + + + + + + + 4.8 rating + + + + + + + + {['Like', 'Save', 'Share'].map((action) => ( + + + {action} + + + ))} + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupFrame.tsx b/resources/js/guest-v2/screens/mockups/MockupFrame.tsx new file mode 100644 index 0000000..5476dd4 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupFrame.tsx @@ -0,0 +1,65 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import { XStack, YStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { ArrowLeft } from 'lucide-react'; + +type MockupFrameProps = { + title: string; + subtitle?: string; + hideHeader?: boolean; + backgroundStyle?: React.CSSProperties; + children: React.ReactNode; +}; + +export default function MockupFrame({ + title, + subtitle, + hideHeader, + backgroundStyle, + children, +}: MockupFrameProps) { + const navigate = useNavigate(); + + return ( + + {!hideHeader && ( + + + + + {title} + + {subtitle ? ( + + {subtitle} + + ) : null} + + + )} + {children} + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome01PulseHero.tsx b/resources/js/guest-v2/screens/mockups/MockupHome01PulseHero.tsx new file mode 100644 index 0000000..a5039bc --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome01PulseHero.tsx @@ -0,0 +1,70 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Camera, Zap, Users } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function MockupHome01PulseHero() { + return ( + + + + + + Sofia + Luca + + Reception in progress + + + + + Live + + + + + + + + + Capture the next moment + + Share it instantly with the room. + + + + + + + 128 + + Photos today + + + + + 54 guests + + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome02StoryRings.tsx b/resources/js/guest-v2/screens/mockups/MockupHome02StoryRings.tsx new file mode 100644 index 0000000..79a09c0 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome02StoryRings.tsx @@ -0,0 +1,75 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Camera, Sparkles, Image as ImageIcon, Users } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +const rings = [ + { label: 'Capture', icon: }, + { label: 'Prompts', icon: }, + { label: 'Gallery', icon: }, + { label: 'Guests', icon: }, +]; + +export default function MockupHome02StoryRings() { + return ( + + + + Morning glow + + Tap a ring to jump in. + + + + {rings.map((ring) => ( + + + {ring.icon} + + + {ring.label} + + + ))} + + + + + + Story highlights + + + {[1, 2, 3].map((chip) => ( + + ))} + + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome03LiveStream.tsx b/resources/js/guest-v2/screens/mockups/MockupHome03LiveStream.tsx new file mode 100644 index 0000000..f1805cc --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome03LiveStream.tsx @@ -0,0 +1,52 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Play, Share2, Cast } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel, MockupTile } from './MockupPrimitives'; + +export default function MockupHome03LiveStream() { + return ( + + + + + + + Live highlight stream + + + + 24 now + + + Tap to join the live wall. + + + + + + + + + Now playing + + + + + + + + {[1, 2, 3, 4].map((tile) => ( + + ))} + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome04TaskSprint.tsx b/resources/js/guest-v2/screens/mockups/MockupHome04TaskSprint.tsx new file mode 100644 index 0000000..5b9ca12 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome04TaskSprint.tsx @@ -0,0 +1,63 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Sparkles, Trophy } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function MockupHome04TaskSprint() { + return ( + + + + + + Sprint of the hour + + + + Capture three smiles in 5 minutes + + Earn double points for finishing early. + + + + Progress + + + 2/3 + + + + + + + + + + + + + Rewards + + + + + +180 + + + + Unlock more prompts after this sprint. + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome05GalleryFirst.tsx b/resources/js/guest-v2/screens/mockups/MockupHome05GalleryFirst.tsx new file mode 100644 index 0000000..4082cb7 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome05GalleryFirst.tsx @@ -0,0 +1,46 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Image as ImageIcon, Filter } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel, MockupTile } from './MockupPrimitives'; + +export default function MockupHome05GalleryFirst() { + return ( + + + + + + + Moments + + + + + Start browsing before you upload. + + + + {[1, 2, 3].map((tile) => ( + + ))} + + + {[4, 5, 6].map((tile) => ( + + ))} + + + + + Latest uploads + + Updated every 15 seconds. + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome06CalmFocus.tsx b/resources/js/guest-v2/screens/mockups/MockupHome06CalmFocus.tsx new file mode 100644 index 0000000..606ac43 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome06CalmFocus.tsx @@ -0,0 +1,56 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Camera, CheckCircle2 } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function MockupHome06CalmFocus() { + return ( + + + + Capture something quiet + + One great photo beats five ok ones. + + + + + + + Uploads today + + + + + 12 approved + + + + Everything is synced and safe. + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome07MomentStack.tsx b/resources/js/guest-v2/screens/mockups/MockupHome07MomentStack.tsx new file mode 100644 index 0000000..935367f --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome07MomentStack.tsx @@ -0,0 +1,65 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Camera, ArrowUpRight } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function MockupHome07MomentStack() { + return ( + + + + Moment stack + + Start at the top and keep capturing. + + + + + + Prompt: hands in the air + + + + + Prompt: candid laugh + + + + + + Prompt: dance floor + + + + Tap to start this capture. + + + + Open camera + + + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome08CountdownStage.tsx b/resources/js/guest-v2/screens/mockups/MockupHome08CountdownStage.tsx new file mode 100644 index 0000000..0bcfbf4 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome08CountdownStage.tsx @@ -0,0 +1,54 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Clock, Play } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function MockupHome08CountdownStage() { + return ( + + + + + + Next highlight in + + + + 04:32 + + Stay ready for the next big moment. + + + + + Live show stage + + Jump into the projected highlight wall. + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome09ShareHub.tsx b/resources/js/guest-v2/screens/mockups/MockupHome09ShareHub.tsx new file mode 100644 index 0000000..5e3418d --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome09ShareHub.tsx @@ -0,0 +1,63 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { Share2, QrCode, Link } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +export default function MockupHome09ShareHub() { + return ( + + + + + + Invite guests + + + Share the link or show the QR code. + + + + + + + Show QR + + Scan to join + + + + + Copy link + + Send in chat + + + + + + Welcome pack + + Tips for guests and upload etiquette. + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupHome10Moodboard.tsx b/resources/js/guest-v2/screens/mockups/MockupHome10Moodboard.tsx new file mode 100644 index 0000000..e3a92c1 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupHome10Moodboard.tsx @@ -0,0 +1,56 @@ +import React from 'react'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Palette, Sparkles } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel, MockupTile } from './MockupPrimitives'; + +const palettes = ['#FDE68A', '#F9A8D4', '#A5B4FC', '#6EE7B7', '#FCA5A5']; + +export default function MockupHome10Moodboard() { + return ( + + + + + + Moodboard + + + Pick a vibe for the next wave of shots. + + + + {palettes.map((color) => ( + + ))} + + + + + + + Prompt ideas + + + + {[1, 2, 3].map((tile) => ( + + ))} + + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupPrimitives.tsx b/resources/js/guest-v2/screens/mockups/MockupPrimitives.tsx new file mode 100644 index 0000000..d411958 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupPrimitives.tsx @@ -0,0 +1,65 @@ +import React from 'react'; +import { XStack, YStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; + +type StackProps = React.ComponentProps; + +type RowProps = React.ComponentProps; + +export function MockupCard({ children, ...props }: StackProps) { + return ( + + {children} + + ); +} + +export function MockupTile({ children, ...props }: StackProps) { + return ( + + {children} + + ); +} + +export function MockupChip({ children, ...props }: RowProps) { + return ( + + {children} + + ); +} + +export function MockupLabel({ children }: { children: React.ReactNode }) { + return ( + + {children} + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupsHomeIndexScreen.tsx b/resources/js/guest-v2/screens/mockups/MockupsHomeIndexScreen.tsx new file mode 100644 index 0000000..3cd15d3 --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupsHomeIndexScreen.tsx @@ -0,0 +1,68 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { ArrowRight, Home } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +const mockups = [ + { id: '1', title: 'Pulse Hero', description: 'Live stats + big capture call-to-action.' }, + { id: '2', title: 'Story Rings', description: 'Circular quick actions with story chips.' }, + { id: '3', title: 'Live Stream', description: 'Highlight reel + action strip.' }, + { id: '4', title: 'Task Sprint', description: 'Prompt ladder + progress meter.' }, + { id: '5', title: 'Gallery First', description: 'Grid preview + quick filters.' }, + { id: '6', title: 'Calm Focus', description: 'Minimal home with one primary action.' }, + { id: '7', title: 'Moment Stack', description: 'Stacked cards for rapid capture.' }, + { id: '8', title: 'Countdown Stage', description: 'Event timing + live show entry.' }, + { id: '9', title: 'Share Hub', description: 'Invite + QR + guest sharing tools.' }, + { id: '10', title: 'Moodboard', description: 'Palette + prompts to set the vibe.' }, +]; + +export default function MockupsHomeIndexScreen() { + const navigate = useNavigate(); + + return ( + + + + + + Start screen concepts + + + Pick one as the north star for v2. + + + + {mockups.map((mockup) => ( + + + + {mockup.title} + + + + {mockup.description} + + ))} + + + ); +} diff --git a/resources/js/guest-v2/screens/mockups/MockupsIndexScreen.tsx b/resources/js/guest-v2/screens/mockups/MockupsIndexScreen.tsx new file mode 100644 index 0000000..ad147eb --- /dev/null +++ b/resources/js/guest-v2/screens/mockups/MockupsIndexScreen.tsx @@ -0,0 +1,82 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import { YStack, XStack } from '@tamagui/stacks'; +import { SizableText as Text } from '@tamagui/text'; +import { Button } from '@tamagui/button'; +import { ArrowRight } from 'lucide-react'; +import MockupFrame from './MockupFrame'; +import { MockupCard, MockupLabel } from './MockupPrimitives'; + +const mockups = [ + { id: '1', title: 'Capture Orbit', description: 'Full-screen capture hub with orbiting actions.' }, + { id: '2', title: 'Gallery Mosaic', description: 'Image-first grid with filters and fast scan.' }, + { id: '3', title: 'Prompt Quest', description: 'Prompt hero with progress and task ladder.' }, + { id: '4', title: 'Timeline Stream', description: 'Chronological feed with time markers.' }, + { id: '5', title: 'Compass Hub', description: 'Quadrant navigation around a central action.' }, + { id: '6', title: 'Split Capture', description: 'Camera preview plus quick tools and queue.' }, + { id: '7', title: 'Swipe Deck', description: 'Stacked cards for rapid review.' }, + { id: '8', title: 'Daybook', description: 'Morning/afternoon/night memory sections.' }, + { id: '9', title: 'Checklist Flow', description: 'Tasks checklist paired with gallery progress.' }, + { id: '10', title: 'Spotlight Reel', description: 'Live highlight reel with action strip.' }, +]; + +export default function MockupsIndexScreen() { + const navigate = useNavigate(); + + return ( + + + + + + Home concepts + + Explore 10 start screen ideas. + + + + + + + {mockups.map((mockup) => ( + + + + {mockup.title} + + + + {mockup.description} + + ))} + + + ); +} diff --git a/resources/js/guest-v2/services/achievementsApi.ts b/resources/js/guest-v2/services/achievementsApi.ts new file mode 100644 index 0000000..f8b60f2 --- /dev/null +++ b/resources/js/guest-v2/services/achievementsApi.ts @@ -0,0 +1,6 @@ +export { + fetchAchievements, + type AchievementsPayload, + type AchievementBadge, + type LeaderboardEntry, +} from '@/guest/services/achievementApi'; diff --git a/resources/js/guest-v2/services/apiClient.ts b/resources/js/guest-v2/services/apiClient.ts new file mode 100644 index 0000000..70989b0 --- /dev/null +++ b/resources/js/guest-v2/services/apiClient.ts @@ -0,0 +1,95 @@ +export type ApiErrorPayload = { + error?: { + code?: string; + title?: string; + message?: string; + meta?: Record; + }; + code?: string; + message?: string; +}; + +export type ApiError = Error & { + status?: number; + code?: string; + meta?: Record; +}; + +export type FetchJsonResult = { + data: T | null; + etag: string | null; + notModified: boolean; + status: number; +}; + +type FetchJsonOptions = { + method?: string; + headers?: HeadersInit; + body?: BodyInit | null; + signal?: AbortSignal; + etag?: string | null; + noStore?: boolean; +}; + +export async function fetchJson(url: string, options: FetchJsonOptions = {}): Promise> { + const headers: Record = { + Accept: 'application/json', + }; + + if (options.noStore) { + headers['Cache-Control'] = 'no-store'; + } + + if (options.etag) { + headers['If-None-Match'] = options.etag; + } + + if (options.headers) { + Object.assign(headers, options.headers as Record); + } + + const response = await fetch(url, { + method: options.method ?? 'GET', + headers, + body: options.body ?? null, + signal: options.signal, + credentials: 'include', + }); + + if (response.status === 304) { + return { + data: null, + etag: response.headers.get('ETag') ?? options.etag ?? null, + notModified: true, + status: response.status, + }; + } + + if (!response.ok) { + const errorPayload = await safeParseError(response); + const error: ApiError = new Error(errorPayload?.error?.message ?? errorPayload?.message ?? `Request failed (${response.status})`); + error.status = response.status; + error.code = errorPayload?.error?.code ?? errorPayload?.code; + if (errorPayload?.error?.meta) { + error.meta = errorPayload.error.meta; + } + throw error; + } + + const data = (await response.json()) as T; + return { + data, + etag: response.headers.get('ETag'), + notModified: false, + status: response.status, + }; +} + +async function safeParseError(response: Response): Promise { + try { + const payload = (await response.clone().json()) as ApiErrorPayload; + return payload; + } catch (error) { + return null; + } +} diff --git a/resources/js/guest-v2/services/emotionsApi.ts b/resources/js/guest-v2/services/emotionsApi.ts new file mode 100644 index 0000000..5efe66a --- /dev/null +++ b/resources/js/guest-v2/services/emotionsApi.ts @@ -0,0 +1,24 @@ +import { fetchJson } from './apiClient'; +import { getDeviceId } from '../lib/device'; + +export type EmotionItem = Record; + +type EmotionResponse = { + data?: EmotionItem[]; +}; + +export async function fetchEmotions(eventToken: string, locale?: string) { + const params = new URLSearchParams(); + if (locale) params.set('locale', locale); + + const response = await fetchJson( + `/api/v1/events/${encodeURIComponent(eventToken)}/emotions${params.toString() ? `?${params.toString()}` : ''}`, + { + headers: { + 'X-Device-Id': getDeviceId(), + }, + } + ); + + return response.data?.data ?? []; +} diff --git a/resources/js/guest-v2/services/eventApi.ts b/resources/js/guest-v2/services/eventApi.ts new file mode 100644 index 0000000..2b4ed33 --- /dev/null +++ b/resources/js/guest-v2/services/eventApi.ts @@ -0,0 +1,8 @@ +export { + fetchEvent, + fetchStats, + type EventData, + type EventStats, + FetchEventError, + type FetchEventErrorCode, +} from '@/guest/services/eventApi'; diff --git a/resources/js/guest-v2/services/eventLink.ts b/resources/js/guest-v2/services/eventLink.ts new file mode 100644 index 0000000..f322bbd --- /dev/null +++ b/resources/js/guest-v2/services/eventLink.ts @@ -0,0 +1,16 @@ +import type { EventData } from './eventApi'; + +export function buildEventShareLink(event: EventData | null, token: string | null): string { + if (typeof window === 'undefined') { + return ''; + } + + const origin = window.location.origin; + const eventToken = token ?? event?.join_token ?? ''; + + if (!eventToken) { + return origin; + } + + return `${origin}/e/${encodeURIComponent(eventToken)}`; +} diff --git a/resources/js/guest-v2/services/galleryApi.ts b/resources/js/guest-v2/services/galleryApi.ts new file mode 100644 index 0000000..8ca7410 --- /dev/null +++ b/resources/js/guest-v2/services/galleryApi.ts @@ -0,0 +1,6 @@ +export { + fetchGalleryMeta, + fetchGalleryPhotos, + type GalleryMetaResponse, + type GalleryPhotoResource, +} from '@/guest/services/galleryApi'; diff --git a/resources/js/guest-v2/services/notificationsApi.ts b/resources/js/guest-v2/services/notificationsApi.ts new file mode 100644 index 0000000..5ced67c --- /dev/null +++ b/resources/js/guest-v2/services/notificationsApi.ts @@ -0,0 +1,6 @@ +export { + fetchGuestNotifications, + markGuestNotificationRead, + dismissGuestNotification, + type GuestNotificationItem, +} from '@/guest/services/notificationApi'; diff --git a/resources/js/guest-v2/services/photosApi.ts b/resources/js/guest-v2/services/photosApi.ts new file mode 100644 index 0000000..33bd336 --- /dev/null +++ b/resources/js/guest-v2/services/photosApi.ts @@ -0,0 +1,78 @@ +import { fetchJson } from './apiClient'; +import { getDeviceId } from '../lib/device'; +export { likePhoto, createPhotoShareLink, uploadPhoto } from '@/guest/services/photosApi'; + +export type GalleryPhoto = Record; + +type GalleryResponse = { + data?: GalleryPhoto[]; + next_cursor?: string | null; + latest_photo_at?: string | null; +}; + +const galleryCache = new Map(); + +export async function fetchGallery( + eventToken: string, + params: { cursor?: string; since?: string; limit?: number; locale?: string } = {} +) { + const search = new URLSearchParams(); + if (params.cursor) search.set('cursor', params.cursor); + if (params.since) search.set('since', params.since); + if (params.limit) search.set('limit', params.limit.toString()); + if (params.locale) search.set('locale', params.locale); + + const cacheKey = `${eventToken}:${search.toString()}`; + const cached = galleryCache.get(cacheKey); + + const response = await fetchJson( + `/api/v1/events/${encodeURIComponent(eventToken)}/photos${search.toString() ? `?${search.toString()}` : ''}`, + { + headers: { + 'X-Device-Id': getDeviceId(), + }, + etag: cached?.etag ?? null, + noStore: true, + } + ); + + if (response.notModified && cached) { + return { ...cached.data, notModified: true }; + } + + const payload = response.data ?? { data: [], next_cursor: null, latest_photo_at: null }; + const items = Array.isArray((payload as GalleryResponse).data) + ? (payload as GalleryResponse).data ?? [] + : Array.isArray((payload as { photos?: GalleryPhoto[] }).photos) + ? (payload as { photos?: GalleryPhoto[] }).photos ?? [] + : Array.isArray(payload) + ? (payload as GalleryPhoto[]) + : []; + + const data = { + data: items, + next_cursor: (payload as GalleryResponse).next_cursor ?? null, + latest_photo_at: (payload as GalleryResponse).latest_photo_at ?? null, + }; + + galleryCache.set(cacheKey, { etag: response.etag, data }); + + return { ...data, notModified: false }; +} + +export async function fetchPhoto(photoId: number, locale?: string) { + const search = locale ? `?locale=${encodeURIComponent(locale)}` : ''; + const response = await fetchJson(`/api/v1/photos/${photoId}${search}`, { + headers: { + 'X-Device-Id': getDeviceId(), + ...(locale ? { 'X-Locale': locale } : {}), + }, + noStore: true, + }); + + return response.data; +} + +export function clearGalleryCache() { + galleryCache.clear(); +} diff --git a/resources/js/guest-v2/services/pushApi.ts b/resources/js/guest-v2/services/pushApi.ts new file mode 100644 index 0000000..1809a4b --- /dev/null +++ b/resources/js/guest-v2/services/pushApi.ts @@ -0,0 +1 @@ +export { registerGuestPushSubscription, unregisterGuestPushSubscription } from '@/guest/services/pushApi'; diff --git a/resources/js/guest-v2/services/statsApi.ts b/resources/js/guest-v2/services/statsApi.ts new file mode 100644 index 0000000..e07c0f1 --- /dev/null +++ b/resources/js/guest-v2/services/statsApi.ts @@ -0,0 +1,40 @@ +import { getDeviceId } from '../lib/device'; +import { fetchJson } from './apiClient'; +import type { EventStats } from './eventApi'; + +const statsCache = new Map(); + +export async function fetchEventStats(eventToken: string): Promise { + const cached = statsCache.get(eventToken); + const response = await fetchJson<{ online_guests?: number; tasks_solved?: number; latest_photo_at?: string | null }>( + `/api/v1/events/${encodeURIComponent(eventToken)}/stats`, + { + headers: { + 'X-Device-Id': getDeviceId(), + }, + etag: cached?.etag ?? null, + noStore: true, + } + ); + + if (response.notModified && cached) { + return cached.data; + } + + const stats: EventStats = { + onlineGuests: response.data?.online_guests ?? 0, + tasksSolved: response.data?.tasks_solved ?? 0, + latestPhotoAt: response.data?.latest_photo_at ?? null, + }; + + statsCache.set(eventToken, { etag: response.etag, data: stats }); + return stats; +} + +export function clearStatsCache(eventToken?: string) { + if (eventToken) { + statsCache.delete(eventToken); + return; + } + statsCache.clear(); +} diff --git a/resources/js/guest-v2/services/tasksApi.ts b/resources/js/guest-v2/services/tasksApi.ts new file mode 100644 index 0000000..d2ed5e2 --- /dev/null +++ b/resources/js/guest-v2/services/tasksApi.ts @@ -0,0 +1,26 @@ +import { fetchJson } from './apiClient'; +import { getDeviceId } from '../lib/device'; + +export type TaskItem = Record; + +type TaskResponse = { + data?: TaskItem[]; +}; + +export async function fetchTasks(eventToken: string, options: { locale?: string; page?: number; perPage?: number } = {}) { + const params = new URLSearchParams(); + if (options.locale) params.set('locale', options.locale); + if (options.page) params.set('page', String(options.page)); + if (options.perPage) params.set('per_page', String(options.perPage)); + + const response = await fetchJson( + `/api/v1/events/${encodeURIComponent(eventToken)}/tasks${params.toString() ? `?${params.toString()}` : ''}`, + { + headers: { + 'X-Device-Id': getDeviceId(), + }, + } + ); + + return response.data?.data ?? []; +} diff --git a/resources/js/guest-v2/services/uploadApi.ts b/resources/js/guest-v2/services/uploadApi.ts new file mode 100644 index 0000000..494a05d --- /dev/null +++ b/resources/js/guest-v2/services/uploadApi.ts @@ -0,0 +1,3 @@ +export { uploadPhoto } from '@/guest/services/photosApi'; +export { enqueue } from '@/guest/queue/queue'; +export { useUploadQueue } from '@/guest/queue/hooks'; diff --git a/resources/js/guest/i18n/messages.ts b/resources/js/guest/i18n/messages.ts index a467cd2..81fe658 100644 --- a/resources/js/guest/i18n/messages.ts +++ b/resources/js/guest/i18n/messages.ts @@ -25,6 +25,7 @@ export const messages: Record = { offlineReady: 'Offline bereit.', actions: { close: 'Schließen', + back: 'Zurück', loading: 'Lädt...', }, }, @@ -41,6 +42,7 @@ export const messages: Record = { tasks: 'Aufgaben', achievements: 'Erfolge', gallery: 'Galerie', + share: 'Teilen', }, header: { loading: 'Lade Event...', @@ -57,6 +59,46 @@ export const messages: Record = { tabUploads: 'Uploads', tabAll: 'Alle Updates', emptyStatus: 'Keine Upload-Hinweise oder Wartungen aktiv.', + queueLabel: 'Upload-Warteschlange (offline)', + pendingLabel: 'Uploads in Prüfung', + }, + }, + appShell: { + fab: { + title: 'Moment erstellen', + }, + actions: { + upload: { + label: 'Foto hochladen / aufnehmen', + description: 'Füge einen Moment von deinem Gerät oder der Kamera hinzu.', + }, + compass: { + label: 'Kompass', + description: 'Schneller Zugriff auf wichtige Bereiche.', + }, + task: { + label: 'Aufgabe starten', + description: 'Wähle eine Mission und halte sie fest.', + }, + live: { + label: 'Live Show', + description: 'Sieh den Highlight-Stream in Echtzeit.', + }, + slideshow: { + label: 'Diashow', + description: 'Lehn dich zurück und schau dir die Galerie an.', + }, + share: { + label: 'Einladung teilen', + description: 'Teile den Event-Link oder QR-Code.', + }, + achievements: { + label: 'Erfolge', + description: 'Behalte deine Foto-Serien im Blick.', + }, + }, + compass: { + capture: 'Aufnehmen', }, }, liveShowPlayer: { @@ -252,6 +294,32 @@ export const messages: Record = { days: 'vor {count} Tagen', }, }, + homeV2: { + rings: { + newUploads: 'Neue Uploads', + topMoments: 'Top-Momente', + }, + promptQuest: { + label: 'Prompt-Quest', + title: 'Fang das herzlichste Lachen ein', + subtitle: 'Sammle Punkte und halte die Galerie lebendig.', + ctaStart: 'Prompt starten', + ctaBrowse: 'Aufgaben entdecken', + }, + captureReady: { + label: 'Bereit zum Aufnehmen', + title: 'Füge ein Foto zur gemeinsamen Galerie hinzu', + subtitle: 'Schneller Upload aus Kamera oder Galerie.', + cta: 'Foto hochladen', + }, + stats: { + uploadsQueued: 'Uploads in Warteschlange', + }, + galleryPreview: { + title: 'Galerie-Vorschau', + cta: 'Alle ansehen', + }, + }, achievements: { page: { title: 'Erfolge', @@ -312,6 +380,13 @@ export const messages: Record = { trendingDescription: 'Diese Stimmung taucht gerade besonders oft auf.', trendingCount: '{count} Fotos mit dieser Stimmung', }, + summary: { + topContributor: 'Top-Gast', + placeholder: 'Teile weiter, um Highlights freizuschalten.', + tasksCompleted: 'Aufgaben erledigt', + photosShared: 'Fotos geteilt', + likesCollected: 'Likes gesammelt', + }, }, tasks: { page: { @@ -329,6 +404,9 @@ export const messages: Record = { inspirationEmptyDescription: 'Sei die/der Erste und lade eins hoch', inspirationMore: 'Mehr', inspirationError: 'Fotos konnten nicht geladen werden', + checklist: 'Checkliste', + tips: 'Tipps', + inspirationTitleSecondary: 'Inspiration', suggestionsEyebrow: 'Mehr Inspiration', suggestionsTitle: 'Spring direkt zur nächsten Aufgabe', noTasksAlert: 'Für dieses Event sind derzeit keine Aufgaben hinterlegt.', @@ -345,6 +423,12 @@ export const messages: Record = { countOne: '{count} Aufgabe', countMany: '{count} Aufgaben', }, + progressLabel: 'Quest-Fortschritt', + progressValue: '{count}/{total} Aufgaben erledigt', + }, + disabled: { + title: 'Aufgaben sind deaktiviert', + subtitle: 'Dieses Event ist im Foto-Modus.', }, }, notFound: { @@ -402,6 +486,16 @@ export const messages: Record = { badge: { newPhotos: '{count} neue Fotos', }, + feed: { + title: 'Live-Feed', + description: 'Alle paar Sekunden aktualisiert.', + newUploads: '{count} neue Uploads sind da.', + }, + lightbox: { + prev: 'Zurück', + next: 'Weiter', + likes: '{count} Likes', + }, }, share: { title: 'Geteiltes Foto', @@ -419,10 +513,62 @@ export const messages: Record = { whatsapp: 'WhatsApp', imessage: 'Nachrichten', copyError: 'Link konnte nicht kopiert werden.', + invite: { + title: 'Gäste einladen', + description: 'Teile den Event-Link oder zeige den QR-Code.', + qrLabel: 'QR anzeigen', + qrAlt: 'Event-QR-Code', + copyLabel: 'Link kopieren', + guestsTitle: 'Gäste', + guestsSubtitle: 'Teile das Event mit deinen Gästen.', + guestsSubtitleEvent: 'Teile {event} mit deinen Gästen.', + send: 'Einladung senden', + }, + chips: { + emotion: 'Emotion', + task: 'Aufgabe', + date: 'Aufgenommen', + }, }, uploadQueue: { title: 'Uploads', - description: 'Warteschlange mit Fortschritt und erneuten Versuchen; Hintergrund-Sync umschalten.', + description: 'Warteschlange mit Fortschritt und erneuten Versuchen.', + summary: '{waiting} wartend · {failed} fehlgeschlagen', + emptyTitle: 'Keine Uploads in der Warteschlange', + emptyDescription: 'Sobald Fotos in der Warteschlange sind, erscheinen sie hier.', + progress: '{progress}%', + actions: { + retryAll: 'Alle erneut versuchen', + clearFinished: 'Erledigte löschen', + }, + status: { + uploaded: 'Hochgeladen', + uploading: 'Wird hochgeladen', + failed: 'Fehlgeschlagen', + waiting: 'Wartet', + retries: ' · {count} Versuche', + }, + }, + uploadV2: { + preview: { + title: 'Live-Vorschau', + subtitle: 'Tippe irgendwo, um zu fokussieren.', + cta: 'Jetzt aufnehmen', + }, + tools: { + grid: 'Raster', + flash: 'Blitz', + upload: 'Upload', + }, + queue: { + summary: '{waiting} wartend, {sending} sendend', + uploading: 'Upload {name} · {progress}%', + button: 'Warteschlange', + }, + errors: { + invalidFile: 'Bitte wähle eine Fotodatei aus.', + eventMissing: 'Event nicht gefunden.', + }, }, pendingUploads: { title: 'Uploads in Prüfung', @@ -781,6 +927,7 @@ export const messages: Record = { offlineReady: 'Offline ready.', actions: { close: 'Close', + back: 'Back', loading: 'Loading...', }, }, @@ -797,6 +944,7 @@ export const messages: Record = { tasks: 'Tasks', achievements: 'Achievements', gallery: 'Gallery', + share: 'Share', }, header: { loading: 'Loading event...', @@ -813,6 +961,46 @@ export const messages: Record = { tabUploads: 'Uploads', tabAll: 'All updates', emptyStatus: 'No upload status or maintenance active.', + queueLabel: 'Upload queue (offline)', + pendingLabel: 'Pending uploads', + }, + }, + appShell: { + fab: { + title: 'Create a moment', + }, + actions: { + upload: { + label: 'Upload / Take photo', + description: 'Add a moment from your device or camera.', + }, + compass: { + label: 'Compass hub', + description: 'Quick jump to key areas.', + }, + task: { + label: 'Start a task', + description: 'Pick a challenge and capture it now.', + }, + live: { + label: 'Live show', + description: 'See the real-time highlight stream.', + }, + slideshow: { + label: 'Slideshow', + description: 'Lean back and watch the gallery roll.', + }, + share: { + label: 'Share invite', + description: 'Send the event link or QR code.', + }, + achievements: { + label: 'Achievements', + description: 'Track your photo streaks.', + }, + }, + compass: { + capture: 'Capture', }, }, liveShowPlayer: { @@ -1008,6 +1196,32 @@ export const messages: Record = { days: '{count} days ago', }, }, + homeV2: { + rings: { + newUploads: 'New uploads', + topMoments: 'Top moments', + }, + promptQuest: { + label: 'Prompt quest', + title: 'Capture the happiest laugh', + subtitle: 'Earn points and keep the gallery lively.', + ctaStart: 'Start prompt', + ctaBrowse: 'Browse tasks', + }, + captureReady: { + label: 'Capture ready', + title: 'Add a photo to the shared gallery', + subtitle: 'Quick add from your camera or device.', + cta: 'Upload / Take photo', + }, + stats: { + uploadsQueued: 'Uploads queued', + }, + galleryPreview: { + title: 'Gallery preview', + cta: 'View all', + }, + }, achievements: { page: { title: 'Achievements', @@ -1068,6 +1282,13 @@ export const messages: Record = { trendingDescription: 'This mood appears most often right now.', trendingCount: '{count} photos in this mood', }, + summary: { + topContributor: 'Top guest', + placeholder: 'Keep sharing to unlock highlights.', + tasksCompleted: 'Tasks completed', + photosShared: 'Photos shared', + likesCollected: 'Likes collected', + }, }, tasks: { page: { @@ -1085,6 +1306,9 @@ export const messages: Record = { inspirationEmptyDescription: 'Be the first one to upload!', inspirationMore: 'More', inspirationError: 'Photos could not be loaded', + checklist: 'Checklist', + tips: 'Tips', + inspirationTitleSecondary: 'Inspiration', suggestionsEyebrow: 'More inspiration', suggestionsTitle: 'Jump straight to the next task', noTasksAlert: 'No tasks available for this event yet.', @@ -1101,6 +1325,12 @@ export const messages: Record = { countOne: '{count} task', countMany: '{count} tasks', }, + progressLabel: 'Quest progress', + progressValue: '{count}/{total} tasks completed', + }, + disabled: { + title: 'Tasks are disabled', + subtitle: 'This event is set to photo-only mode.', }, }, notFound: { @@ -1158,6 +1388,16 @@ export const messages: Record = { badge: { newPhotos: '{count} new photos', }, + feed: { + title: 'Live feed', + description: 'Updated every few seconds.', + newUploads: '{count} new uploads just landed.', + }, + lightbox: { + prev: 'Prev', + next: 'Next', + likes: '{count} likes', + }, }, share: { title: 'Shared photo', @@ -1172,10 +1412,62 @@ export const messages: Record = { expiredDescription: 'This link is no longer available.', shareText: 'Check out this moment on Fotospiel.', error: 'Share failed', + invite: { + title: 'Invite guests', + description: 'Share the event link or show the QR code to join.', + qrLabel: 'Show QR', + qrAlt: 'Event QR code', + copyLabel: 'Copy link', + guestsTitle: 'Guests', + guestsSubtitle: 'Share the event with your guests.', + guestsSubtitleEvent: 'Share {event} with your guests.', + send: 'Send invite', + }, + chips: { + emotion: 'Emotion', + task: 'Task', + date: 'Captured', + }, }, uploadQueue: { title: 'Uploads', - description: 'Queue with progress/retry and background sync toggle.', + description: 'Queue with progress and retries.', + summary: '{waiting} waiting · {failed} failed', + emptyTitle: 'No queued uploads', + emptyDescription: 'Once photos are queued, they will appear here.', + progress: '{progress}%', + actions: { + retryAll: 'Retry all', + clearFinished: 'Clear finished', + }, + status: { + uploaded: 'Uploaded', + uploading: 'Uploading', + failed: 'Failed', + waiting: 'Waiting', + retries: ' · {count} retries', + }, + }, + uploadV2: { + preview: { + title: 'Live preview', + subtitle: 'Tap anywhere to focus.', + cta: 'Capture now', + }, + tools: { + grid: 'Grid', + flash: 'Flash', + upload: 'Upload', + }, + queue: { + summary: '{waiting} waiting, {sending} sending', + uploading: 'Uploading {name} · {progress}%', + button: 'Queue', + }, + errors: { + invalidFile: 'Please choose a photo file.', + eventMissing: 'Event not found', + }, }, pendingUploads: { title: 'Pending uploads', diff --git a/resources/js/pages/marketing/checkout/__tests__/AuthStep.google.test.tsx b/resources/js/pages/marketing/checkout/__tests__/AuthStep.google.test.tsx index ea05b5d..afe2867 100644 --- a/resources/js/pages/marketing/checkout/__tests__/AuthStep.google.test.tsx +++ b/resources/js/pages/marketing/checkout/__tests__/AuthStep.google.test.tsx @@ -48,6 +48,37 @@ vi.mock('@/components/ui/collapsible', () => ({ CollapsibleTrigger: ({ children }: { children: React.ReactNode }) =>
{children}
, })); +vi.mock('@/components/ui/tabs', () => { + const TabsContext = React.createContext<{ value: string; setValue: (value: string) => void }>({ + value: '', + setValue: () => {}, + }); + + return { + Tabs: ({ value, onValueChange, children }: { value: string; onValueChange: (value: string) => void; children: React.ReactNode }) => ( + +
{children}
+
+ ), + TabsList: ({ children }: { children: React.ReactNode }) =>
{children}
, + TabsTrigger: ({ value, children }: { value: string; children: React.ReactNode }) => { + const { setValue } = React.useContext(TabsContext); + return ( + + ); + }, + TabsContent: ({ value, children }: { value: string; children: React.ReactNode }) => { + const { value: activeValue } = React.useContext(TabsContext); + if (activeValue !== value) { + return null; + } + return
{children}
; + }, + }; +}); + vi.mock('@/lib/utils', () => ({ cn: (...args: Array) => args.filter(Boolean).join(' '), })); @@ -81,12 +112,15 @@ describe('AuthStep OAuth controls', () => { it('hides the OAuth buttons when switching to login mode', () => { render(); - expect(screen.getByText('checkout.auth_step.continue_with_google')).toBeInTheDocument(); - expect(screen.getByText('checkout.auth_step.continue_with_facebook')).toBeInTheDocument(); + const googleButton = screen.getByText('checkout.auth_step.continue_with_google'); + const facebookButton = screen.getByText('checkout.auth_step.continue_with_facebook'); + + expect(googleButton).toBeInTheDocument(); + expect(facebookButton).toBeInTheDocument(); fireEvent.click(screen.getByText('checkout.auth_step.switch_to_login')); - expect(screen.queryByText('checkout.auth_step.continue_with_google')).not.toBeInTheDocument(); - expect(screen.queryByText('checkout.auth_step.continue_with_facebook')).not.toBeInTheDocument(); + expect(googleButton).not.toBeVisible(); + expect(facebookButton).not.toBeVisible(); }); }); diff --git a/resources/views/guest-v2.blade.php b/resources/views/guest-v2.blade.php new file mode 100644 index 0000000..722f506 --- /dev/null +++ b/resources/views/guest-v2.blade.php @@ -0,0 +1,45 @@ + + + + + + {{ config('app.name', 'Fotospiel') }} - Guest V2 + + + + + @viteReactRefresh + @vite(['resources/css/app.css', 'resources/js/guest-v2/main.tsx']) + @php + $guestRuntimeConfig = [ + 'push' => [ + 'enabled' => config('push.enabled', false), + 'vapidPublicKey' => config('push.vapid.public_key'), + ], + ]; + $matomoConfig = config('services.matomo'); + $matomoGuest = ($matomoConfig['enabled'] ?? false) && !empty($matomoConfig['url']) && !empty($matomoConfig['site_id_guest']) + ? [ + 'enabled' => true, + 'url' => rtrim($matomoConfig['url'], '/'), + 'siteId' => (string) $matomoConfig['site_id_guest'], + ] + : ['enabled' => false]; + @endphp + + + + + +
+ + diff --git a/routes/web.php b/routes/web.php index f7a7a23..16b262b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -345,16 +345,29 @@ Route::prefix('event-admin')->group(function () { ->where('view', '.*') ->name('tenant.admin.app'); }); -Route::view('/event', 'guest')->name('guest.pwa.landing'); -Route::view('/g/{token}', 'guest')->where('token', '.*')->name('guest.gallery'); -Route::view('/show/{token}', 'guest')->where('token', '.*')->name('guest.live-show'); -Route::view('/e/{token}/{path?}', 'guest') +Route::view('/event', 'guest-v2')->name('guest.pwa.landing'); +Route::view('/g/{token}', 'guest-v2')->where('token', '.*')->name('guest.gallery'); +Route::view('/show/{token}', 'guest-v2')->where('token', '.*')->name('guest.live-show'); +Route::view('/setup/{token}/{path?}', 'guest-v2') + ->where('token', '.*') + ->where('path', '.*') + ->name('guest.setup'); +Route::view('/e/{token}/{path?}', 'guest-v2') ->where('token', '.*') ->where('path', '.*') ->name('guest.event'); -Route::view('/share/{slug}', 'guest') +Route::view('/help/{path?}', 'guest-v2') + ->where('path', '.*') + ->name('guest.help'); +Route::view('/share/{slug}', 'guest-v2') ->where('slug', '[A-Za-z0-9]+') ->name('guest.share'); +Route::view('/event-v2/{path?}', 'guest-v2') + ->where('path', '.*') + ->name('guest.v2'); +Route::view('/guest-v3/{path?}', 'guest-v3') + ->where('path', '.*') + ->name('guest.v3'); Route::middleware('auth')->group(function () { Route::get('/tenant/events/{event}/photos/archive', EventPhotoArchiveController::class) ->name('tenant.events.photos.archive'); diff --git a/tamagui.config.ts b/tamagui.config.ts index fc1b95b..bd0f0ac 100644 --- a/tamagui.config.ts +++ b/tamagui.config.ts @@ -1,4 +1,4 @@ -import { defaultConfig } from '@tamagui/config/v4'; +import { defaultConfig } from '@tamagui/config/v5'; import { createTamagui } from '@tamagui/core'; import { shorthands } from '@tamagui/shorthands'; import { tokens as baseTokens, themes as baseThemes } from '@tamagui/themes'; @@ -28,60 +28,122 @@ const tokens = { // ... }; +const lightTheme = { + ...baseThemes.light, + primary: tokens.color.primary, + accent: tokens.color.accent, + background: '#FFF8F5', // Brand Cream + backgroundHover: '#E2E8F0', + backgroundPress: '#CBD5E1', + backgroundStrong: tokens.color.surface, + backgroundTransparent: 'rgba(241, 245, 249, 0)', + color: tokens.color.text, + colorHover: '#1E293B', + colorPress: '#1E293B', + colorFocus: '#1E293B', + borderColor: tokens.color.border, + borderColorHover: '#CBD5E1', + borderColorPress: '#94A3B8', + shadowColor: 'rgba(15, 23, 42, 0.08)', + shadowColorPress: 'rgba(15, 23, 42, 0.12)', + shadowColorFocus: 'rgba(15, 23, 42, 0.12)', + surface: tokens.color.surface, + muted: tokens.color.muted, + blue3: tokens.color.accentSoft, + blue6: '#6366F1', // Indigo 500 + blue10: tokens.color.primary, + blue11: '#4338CA', // Indigo 700 +}; + +const guestLightTheme = { + ...baseThemes.light, + primary: 'var(--guest-primary, #FF5A5F)', + accent: 'var(--guest-secondary, #F43F5E)', + background: 'var(--guest-background, #FFF8F5)', + backgroundHover: '#F1E7E2', + backgroundPress: '#EBDCD6', + backgroundStrong: 'var(--guest-surface, #FFFFFF)', + backgroundTransparent: 'rgba(255, 248, 245, 0)', + color: 'var(--foreground, #0F172A)', + colorHover: 'var(--foreground, #0F172A)', + colorPress: 'var(--foreground, #0F172A)', + colorFocus: 'var(--foreground, #0F172A)', + borderColor: 'var(--border, #E2E8F0)', + borderColorHover: '#CBD5E1', + borderColorPress: '#94A3B8', + shadowColor: 'rgba(15, 23, 42, 0.08)', + shadowColorPress: 'rgba(15, 23, 42, 0.12)', + shadowColorFocus: 'rgba(15, 23, 42, 0.12)', + surface: 'var(--guest-surface, #FFFFFF)', + muted: 'var(--muted, #F8FAFC)', + blue3: 'var(--guest-secondary, #F43F5E)', + blue6: 'var(--guest-secondary, #F43F5E)', + blue10: 'var(--guest-primary, #FF5A5F)', + blue11: '#4338CA', +}; + +const darkTheme = { + ...baseThemes.dark, + primary: tokens.color.primary, + accent: tokens.color.accent, + background: '#171219', + backgroundHover: '#101A36', + backgroundPress: '#132142', + backgroundStrong: '#101A36', + backgroundTransparent: 'rgba(11, 19, 43, 0)', + color: '#F8FAFF', + colorHover: '#FFFFFF', + colorPress: '#F2F6FF', + colorFocus: '#FFFFFF', + borderColor: '#1F2A4A', + borderColorHover: '#29345A', + borderColorPress: '#313D67', + shadowColor: 'rgba(0, 0, 0, 0.55)', + shadowColorPress: 'rgba(0, 0, 0, 0.65)', + shadowColorFocus: 'rgba(0, 0, 0, 0.6)', + surface: '#0F1B36', + muted: '#121F3D', + blue3: '#1B2550', + blue6: '#3D5AFE', + blue10: '#FF5C5C', + blue11: '#FF8A8A', +}; + +const guestNightTheme = { + ...baseThemes.dark, + primary: 'var(--guest-primary, #FF4FD8)', + accent: 'var(--guest-secondary, #4FD1FF)', + accentSoft: 'rgba(79, 209, 255, 0.18)', + background: 'var(--guest-background, #0A0F1F)', + backgroundHover: '#10172A', + backgroundPress: '#0D1324', + backgroundStrong: 'var(--guest-surface, #121A32)', + backgroundTransparent: 'rgba(10, 15, 31, 0)', + color: '#F8FAFF', + colorHover: '#FFFFFF', + colorPress: '#E8EEFF', + colorFocus: '#FFFFFF', + borderColor: 'rgba(255, 255, 255, 0.08)', + borderColorHover: 'rgba(255, 255, 255, 0.16)', + borderColorPress: 'rgba(255, 255, 255, 0.22)', + shadowColor: 'rgba(2, 6, 23, 0.7)', + shadowColorPress: 'rgba(2, 6, 23, 0.8)', + shadowColorFocus: 'rgba(2, 6, 23, 0.8)', + surface: 'var(--guest-surface, #131B33)', + muted: '#0F152B', + blue3: 'rgba(79, 209, 255, 0.15)', + blue6: 'var(--guest-secondary, #4FD1FF)', + blue10: 'var(--guest-primary, #FF4FD8)', + blue11: '#F9A8D4', +}; + const themes = { ...baseThemes, - light: { - ...baseThemes.light, - primary: tokens.color.primary, - accent: tokens.color.accent, - background: '#FFF8F5', // Brand Cream - backgroundHover: '#E2E8F0', - backgroundPress: '#CBD5E1', - backgroundStrong: tokens.color.surface, - backgroundTransparent: 'rgba(241, 245, 249, 0)', - color: tokens.color.text, - colorHover: '#1E293B', - colorPress: '#1E293B', - colorFocus: '#1E293B', - borderColor: tokens.color.border, - borderColorHover: '#CBD5E1', - borderColorPress: '#94A3B8', - shadowColor: 'rgba(15, 23, 42, 0.08)', - shadowColorPress: 'rgba(15, 23, 42, 0.12)', - shadowColorFocus: 'rgba(15, 23, 42, 0.12)', - surface: tokens.color.surface, - muted: tokens.color.muted, - blue3: tokens.color.accentSoft, - blue6: '#6366F1', // Indigo 500 - blue10: tokens.color.primary, - blue11: '#4338CA', // Indigo 700 - }, - dark: { - ...baseThemes.dark, - primary: tokens.color.primary, - accent: tokens.color.accent, - background: '#171219', - backgroundHover: '#101A36', - backgroundPress: '#132142', - backgroundStrong: '#101A36', - backgroundTransparent: 'rgba(11, 19, 43, 0)', - color: '#F8FAFF', - colorHover: '#FFFFFF', - colorPress: '#F2F6FF', - colorFocus: '#FFFFFF', - borderColor: '#1F2A4A', - borderColorHover: '#29345A', - borderColorPress: '#313D67', - shadowColor: 'rgba(0, 0, 0, 0.55)', - shadowColorPress: 'rgba(0, 0, 0, 0.65)', - shadowColorFocus: 'rgba(0, 0, 0, 0.6)', - surface: '#0F1B36', - muted: '#121F3D', - blue3: '#1B2550', - blue6: '#3D5AFE', - blue10: '#FF5C5C', - blue11: '#FF8A8A', - }, + light: lightTheme, + dark: darkTheme, + guestLight: { ...guestLightTheme }, + guestDark: { ...darkTheme }, + guestNight: { ...guestNightTheme }, }; const sharedWeights = { @@ -97,17 +159,17 @@ const fonts = { ...defaultConfig.fonts, body: { ...defaultConfig.fonts.body, - family: 'Manrope', + family: 'var(--guest-body-font, Manrope)', weight: sharedWeights, }, heading: { ...defaultConfig.fonts.heading, - family: 'Fraunces', + family: 'var(--guest-heading-font, Fraunces)', weight: sharedWeights, }, display: { ...defaultConfig.fonts.heading, - family: 'Fraunces', + family: 'var(--guest-heading-font, Fraunces)', weight: sharedWeights, }, }; diff --git a/tests/Feature/GuestV2PwaTest.php b/tests/Feature/GuestV2PwaTest.php new file mode 100644 index 0000000..8b04184 --- /dev/null +++ b/tests/Feature/GuestV2PwaTest.php @@ -0,0 +1,36 @@ +get('/event-v2') + ->assertOk() + ->assertViewIs('guest-v2'); + } + + public function test_event_v2_route_allows_nested_paths(): void + { + $this->get('/event-v2/demo/path') + ->assertOk() + ->assertViewIs('guest-v2'); + } + + public function test_event_v2_mockups_route_returns_guest_view(): void + { + $this->get('/event-v2/mockups/1') + ->assertOk() + ->assertViewIs('guest-v2'); + } + + public function test_event_v2_home_mockups_route_returns_guest_view(): void + { + $this->get('/event-v2/mockups/home/1') + ->assertOk() + ->assertViewIs('guest-v2'); + } +} diff --git a/tsconfig.json b/tsconfig.json index 28000cd..8bc23ef 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -127,7 +127,13 @@ "resources/js/lib/**/*.tsx", "resources/js/guest/**/*.ts", "resources/js/guest/**/*.tsx", - "resources/js/guest/**/*.d.ts" + "resources/js/guest/**/*.d.ts", + "resources/js/guest-v2/**/*.ts", + "resources/js/guest-v2/**/*.tsx", + "resources/js/guest-v2/**/*.d.ts", + "resources/js/guest-v3/**/*.ts", + "resources/js/guest-v3/**/*.tsx", + "resources/js/guest-v3/**/*.d.ts" ], "exclude": [ "resources/js/actions/**", diff --git a/vite.config.ts b/vite.config.ts index 17c9521..9da139e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -23,7 +23,14 @@ const sentryEnabled = Boolean( const plugins: PluginOption[] = [ laravel({ - input: ['resources/css/app.css','resources/js/app.js', 'resources/js/app.tsx', 'resources/js/guest/main.tsx', 'resources/js/admin/main.tsx'], + input: [ + 'resources/css/app.css', + 'resources/js/app.js', + 'resources/js/app.tsx', + 'resources/js/guest/main.tsx', + 'resources/js/guest-v2/main.tsx', + 'resources/js/admin/main.tsx', + ], ssr: 'resources/js/ssr.tsx', refresh: [ 'resources/views/**/*.blade.php', @@ -96,8 +103,8 @@ const plugins: PluginOption[] = [ }), tamaguiPlugin({ config: './tamagui.config.ts', - components: ['@tamagui/core', '@tamagui/stacks', '@tamagui/text', '@tamagui/button'], - optimize: false, + components: ['tamagui'], + optimize: true, disableExtraction: true, }), ]; @@ -182,6 +189,7 @@ export default defineConfig({ '@tamagui/stacks', '@tamagui/text', '@tamagui/button', + 'tamagui', ], }, define: {