@satinhq/kit 0.0.0-stage → 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +96 -0
- package/README.md +454 -2
- package/THIRD_PARTY_NOTICES.md +65 -0
- package/bin/satin.mjs +13 -0
- package/dist/acknowledgements/Acknowledgements.d.ts +4 -0
- package/dist/acknowledgements/Acknowledgements.js +42 -0
- package/dist/acknowledgements/bundledNotices.d.ts +4 -0
- package/dist/acknowledgements/bundledNotices.js +58 -0
- package/dist/acknowledgements/inventory.d.ts +17 -0
- package/dist/acknowledgements/inventory.js +10 -0
- package/dist/acknowledgements/inventory.json +39 -0
- package/dist/actions/ActionMenu.d.ts +30 -0
- package/dist/actions/ActionMenu.js +103 -0
- package/dist/actions/RowActions.d.ts +42 -0
- package/dist/actions/RowActions.js +820 -0
- package/dist/actions/contextMotion.d.ts +78 -0
- package/dist/actions/contextMotion.js +329 -0
- package/dist/actions/motion.d.ts +19 -0
- package/dist/actions/motion.js +74 -0
- package/dist/actions/nativeContextAppearance.json +86 -0
- package/dist/actions/nativeContextMotion.json +734 -0
- package/dist/actions/nativeMotion.json +388 -0
- package/dist/actions/preview.d.ts +27 -0
- package/dist/actions/preview.js +217 -0
- package/dist/actions/recognizers.d.ts +24 -0
- package/dist/actions/recognizers.js +87 -0
- package/dist/actions/rowScrub.d.ts +59 -0
- package/dist/actions/rowScrub.js +400 -0
- package/dist/actions/swipeSpring.d.ts +14 -0
- package/dist/actions/swipeSpring.js +35 -0
- package/dist/actions/types.d.ts +71 -0
- package/dist/actions/types.js +28 -0
- package/dist/app/InstallComponents.d.ts +16 -0
- package/dist/app/InstallComponents.js +104 -0
- package/dist/app/InstallationDiagnostics.d.ts +7 -0
- package/dist/app/InstallationDiagnostics.js +23 -0
- package/dist/app/OrientationGuard.d.ts +8 -0
- package/dist/app/OrientationGuard.js +9 -0
- package/dist/app/appearance.d.ts +18 -0
- package/dist/app/appearance.js +15 -0
- package/dist/app/appearanceStore.d.ts +30 -0
- package/dist/app/appearanceStore.js +228 -0
- package/dist/app/backgroundUpdate.d.ts +20 -0
- package/dist/app/backgroundUpdate.js +151 -0
- package/dist/app/buildInfo.d.ts +11 -0
- package/dist/app/buildInfo.js +12 -0
- package/dist/app/buildInfoBuild.d.ts +3 -0
- package/dist/app/buildInfoBuild.js +12 -0
- package/dist/app/checkCli.d.ts +1 -0
- package/dist/app/checkCli.js +73 -0
- package/dist/app/coldLaunchUpdate.d.ts +14 -0
- package/dist/app/coldLaunchUpdate.js +384 -0
- package/dist/app/definition.d.ts +85 -0
- package/dist/app/definition.js +347 -0
- package/dist/app/deployment.d.ts +28 -0
- package/dist/app/deployment.js +352 -0
- package/dist/app/deploymentBuild.d.ts +3 -0
- package/dist/app/deploymentBuild.js +55 -0
- package/dist/app/earlyWorker.d.ts +3 -0
- package/dist/app/earlyWorker.js +77 -0
- package/dist/app/head.d.ts +10 -0
- package/dist/app/head.js +120 -0
- package/dist/app/icons.d.ts +4 -0
- package/dist/app/icons.js +35 -0
- package/dist/app/install.d.ts +18 -0
- package/dist/app/install.js +82 -0
- package/dist/app/installCheck.d.ts +2 -0
- package/dist/app/installCheck.js +148 -0
- package/dist/app/installContext.d.ts +35 -0
- package/dist/app/installContext.js +45 -0
- package/dist/app/installCustom.d.ts +25 -0
- package/dist/app/installCustom.js +55 -0
- package/dist/app/installExperience.d.ts +22 -0
- package/dist/app/installExperience.js +389 -0
- package/dist/app/installExperienceDevice.d.ts +29 -0
- package/dist/app/installExperienceDevice.js +160 -0
- package/dist/app/installExperienceHome.d.ts +16 -0
- package/dist/app/installExperienceHome.js +304 -0
- package/dist/app/installExperienceRuntime.d.ts +37 -0
- package/dist/app/installExperienceRuntime.js +285 -0
- package/dist/app/installPolicy.d.ts +28 -0
- package/dist/app/installPolicy.js +90 -0
- package/dist/app/installQr.d.ts +10 -0
- package/dist/app/installQr.js +139 -0
- package/dist/app/installStrings.d.ts +52 -0
- package/dist/app/installStrings.js +75 -0
- package/dist/app/installTipPath.d.ts +12 -0
- package/dist/app/installTipPath.js +9 -0
- package/dist/app/installationFailure.d.ts +14 -0
- package/dist/app/installationFailure.js +38 -0
- package/dist/app/launch.d.ts +7 -0
- package/dist/app/launch.js +241 -0
- package/dist/app/launchReadiness.d.ts +9 -0
- package/dist/app/launchReadiness.js +72 -0
- package/dist/app/launchScreen.d.ts +16 -0
- package/dist/app/launchScreen.js +14 -0
- package/dist/app/launchScreenRuntime.d.ts +19 -0
- package/dist/app/launchScreenRuntime.js +313 -0
- package/dist/app/launchWatchdog.d.ts +1 -0
- package/dist/app/launchWatchdog.js +202 -0
- package/dist/app/manifests.d.ts +19 -0
- package/dist/app/manifests.js +20 -0
- package/dist/app/mdm.d.ts +3 -0
- package/dist/app/mdm.js +20 -0
- package/dist/app/mediaCheck.d.ts +9 -0
- package/dist/app/mediaCheck.js +122 -0
- package/dist/app/mediaTypes.d.ts +2 -0
- package/dist/app/mediaTypes.js +13 -0
- package/dist/app/platformPolicy.d.ts +3 -0
- package/dist/app/platformPolicy.js +10 -0
- package/dist/app/platformScripts.d.ts +6 -0
- package/dist/app/platformScripts.js +65 -0
- package/dist/app/releaseUpdates.d.ts +7 -0
- package/dist/app/releaseUpdates.js +53 -0
- package/dist/app/runtime.d.ts +9 -0
- package/dist/app/runtime.js +38 -0
- package/dist/app/startup.d.ts +30 -0
- package/dist/app/startup.js +24 -0
- package/dist/app/statusBand.d.ts +11 -0
- package/dist/app/statusBand.js +257 -0
- package/dist/app/viewport.d.ts +3 -0
- package/dist/app/viewport.js +42 -0
- package/dist/app/viewportValue.d.ts +5 -0
- package/dist/app/viewportValue.js +14 -0
- package/dist/app/vite.d.ts +27 -0
- package/dist/app/vite.js +440 -0
- package/dist/app/warmImage.d.ts +3 -0
- package/dist/app/warmImage.js +59 -0
- package/dist/content/content.d.ts +153 -0
- package/dist/content/content.js +315 -0
- package/dist/content/layout.d.ts +26 -0
- package/dist/content/layout.js +114 -0
- package/dist/content/scaledMetric.d.ts +3 -0
- package/dist/content/scaledMetric.js +68 -0
- package/dist/content/typography.d.ts +83 -0
- package/dist/content/typography.js +32 -0
- package/dist/controls/ActivityIndicatorSegments.d.ts +4 -0
- package/dist/controls/ActivityIndicatorSegments.js +5 -0
- package/dist/controls/ColorPicker.d.ts +20 -0
- package/dist/controls/ColorPicker.js +70 -0
- package/dist/controls/ControlRow.d.ts +5 -0
- package/dist/controls/ControlRow.js +10 -0
- package/dist/controls/DatePicker.d.ts +41 -0
- package/dist/controls/DatePicker.js +148 -0
- package/dist/controls/ProgressView.d.ts +17 -0
- package/dist/controls/ProgressView.js +24 -0
- package/dist/controls/civilDate.d.ts +49 -0
- package/dist/controls/civilDate.js +112 -0
- package/dist/data/database.d.ts +154 -0
- package/dist/data/database.js +710 -0
- package/dist/data/value-equal.d.ts +2 -0
- package/dist/data/value-equal.js +36 -0
- package/dist/data/write-store.d.ts +38 -0
- package/dist/data/write-store.js +192 -0
- package/dist/dev-menu/DevMenu.d.ts +1 -0
- package/dist/dev-menu/DevMenu.js +121 -0
- package/dist/dev-menu/actions.d.ts +12 -0
- package/dist/dev-menu/actions.js +99 -0
- package/dist/dev-menu/build.d.ts +5 -0
- package/dist/dev-menu/build.js +40 -0
- package/dist/dev-menu/gesture.d.ts +18 -0
- package/dist/dev-menu/gesture.js +109 -0
- package/dist/dev-menu/shake.d.ts +2 -0
- package/dist/dev-menu/shake.js +36 -0
- package/dist/dev-menu/types.d.ts +8 -0
- package/dist/dev-menu/types.js +1 -0
- package/dist/diagnostics.d.ts +3 -0
- package/dist/diagnostics.js +4 -0
- package/dist/docs/app-recipes.md +411 -0
- package/dist/docs/components/file-importer.md +54 -0
- package/dist/docs/components/paste-button.md +48 -0
- package/dist/docs/components/photos-picker.md +53 -0
- package/dist/docs/components/share-link.md +58 -0
- package/dist/docs/content.md +159 -0
- package/dist/docs/controls.md +151 -0
- package/dist/docs/data.md +332 -0
- package/dist/docs/limitations.md +40 -0
- package/dist/docs/messaging-scroll.md +234 -0
- package/dist/docs/networking.md +190 -0
- package/dist/docs/push.md +215 -0
- package/dist/docs/swiftui-reference.md +1895 -0
- package/dist/docs/symbols.md +293 -0
- package/dist/docs/tokens.md +60 -0
- package/dist/fidelity/devAssertions.d.ts +21 -0
- package/dist/fidelity/devAssertions.js +199 -0
- package/dist/focus/focusIntentMachine.d.ts +106 -0
- package/dist/focus/focusIntentMachine.js +359 -0
- package/dist/focus/navigationFocus.d.ts +42 -0
- package/dist/focus/navigationFocus.js +241 -0
- package/dist/focus/programmaticFocus.d.ts +15 -0
- package/dist/focus/programmaticFocus.js +152 -0
- package/dist/gestures/GestureView.d.ts +12 -0
- package/dist/gestures/GestureView.js +321 -0
- package/dist/gestures/arena.d.ts +138 -0
- package/dist/gestures/arena.js +417 -0
- package/dist/gestures/existingCompetitors.d.ts +79 -0
- package/dist/gestures/existingCompetitors.js +82 -0
- package/dist/gestures/gesture.d.ts +62 -0
- package/dist/gestures/gesture.js +107 -0
- package/dist/glass/ControlLens.d.ts +46 -0
- package/dist/glass/ControlLens.js +88 -0
- package/dist/glass/GlassBar.d.ts +9 -0
- package/dist/glass/GlassBar.js +22 -0
- package/dist/glass/GlassConfusionReview.d.ts +3 -0
- package/dist/glass/GlassConfusionReview.js +185 -0
- package/dist/glass/GlassEffect.d.ts +69 -0
- package/dist/glass/GlassEffect.js +550 -0
- package/dist/glass/GlassMaterialRoot.d.ts +7 -0
- package/dist/glass/GlassMaterialRoot.js +39 -0
- package/dist/glass/GlassPresentation.d.ts +28 -0
- package/dist/glass/GlassPresentation.js +1038 -0
- package/dist/glass/GlassProbeIcons.d.ts +8 -0
- package/dist/glass/GlassProbeIcons.js +12 -0
- package/dist/glass/GlassProbeOverlay.d.ts +52 -0
- package/dist/glass/GlassProbeOverlay.js +45 -0
- package/dist/glass/GlassTextField.d.ts +22 -0
- package/dist/glass/GlassTextField.js +12 -0
- package/dist/glass/MaterialEffectRoot.d.ts +9 -0
- package/dist/glass/MaterialEffectRoot.js +189 -0
- package/dist/glass/Menu.d.ts +3 -0
- package/dist/glass/Menu.js +35 -0
- package/dist/glass/MenuStack.d.ts +23 -0
- package/dist/glass/MenuStack.js +371 -0
- package/dist/glass/MenuSymbol.d.ts +7 -0
- package/dist/glass/MenuSymbol.js +16 -0
- package/dist/glass/MorphEllipsisArtwork.d.ts +2 -0
- package/dist/glass/MorphEllipsisArtwork.js +6 -0
- package/dist/glass/TabBar.d.ts +29 -0
- package/dist/glass/TabBar.js +169 -0
- package/dist/glass/capability.d.ts +25 -0
- package/dist/glass/capability.js +63 -0
- package/dist/glass/captureWindow.d.ts +60 -0
- package/dist/glass/captureWindow.js +119 -0
- package/dist/glass/confusionSession.d.ts +41 -0
- package/dist/glass/confusionSession.js +44 -0
- package/dist/glass/contactPhysics.d.ts +130 -0
- package/dist/glass/contactPhysics.js +214 -0
- package/dist/glass/context.d.ts +37 -0
- package/dist/glass/context.js +11 -0
- package/dist/glass/errorAlert.d.ts +6 -0
- package/dist/glass/errorAlert.js +57 -0
- package/dist/glass/errors.d.ts +22 -0
- package/dist/glass/errors.js +78 -0
- package/dist/glass/failurePolicy.d.ts +4 -0
- package/dist/glass/failurePolicy.js +20 -0
- package/dist/glass/fallback/material.d.ts +16 -0
- package/dist/glass/fallback/material.js +87 -0
- package/dist/glass/fallback/regions.d.ts +16 -0
- package/dist/glass/fallback/regions.js +249 -0
- package/dist/glass/fallback/runtime.d.ts +72 -0
- package/dist/glass/fallback/runtime.js +278 -0
- package/dist/glass/fallback/selection.d.ts +2 -0
- package/dist/glass/fallback/selection.js +9 -0
- package/dist/glass/fieldGeometry.d.ts +28 -0
- package/dist/glass/fieldGeometry.js +64 -0
- package/dist/glass/fieldMotion.d.ts +42 -0
- package/dist/glass/fieldMotion.js +47 -0
- package/dist/glass/glassContact.d.ts +76 -0
- package/dist/glass/glassContact.js +153 -0
- package/dist/glass/glassProbeSettings.d.ts +18 -0
- package/dist/glass/glassProbeSettings.js +133 -0
- package/dist/glass/lens/Scene.d.ts +108 -0
- package/dist/glass/lens/Scene.js +553 -0
- package/dist/glass/lens/backgrounds.json +103 -0
- package/dist/glass/lens/bitmapBackdrop.d.ts +14 -0
- package/dist/glass/lens/bitmapBackdrop.js +35 -0
- package/dist/glass/lens/controlLift.d.ts +94 -0
- package/dist/glass/lens/controlLift.js +78 -0
- package/dist/glass/lens/data.d.ts +19 -0
- package/dist/glass/lens/data.js +161 -0
- package/dist/glass/lens/drawableTop.d.ts +16 -0
- package/dist/glass/lens/drawableTop.js +15 -0
- package/dist/glass/lens/icons.d.ts +9 -0
- package/dist/glass/lens/icons.js +34 -0
- package/dist/glass/lens/interactiveContact.d.ts +33 -0
- package/dist/glass/lens/interactiveContact.js +158 -0
- package/dist/glass/lens/interactivePress.d.ts +95 -0
- package/dist/glass/lens/interactivePress.js +169 -0
- package/dist/glass/lens/ios27GlyphFit.json +126 -0
- package/dist/glass/lens/lensLightingSamples.json +1 -0
- package/dist/glass/lens/lensPress.d.ts +22 -0
- package/dist/glass/lens/lensPress.js +68 -0
- package/dist/glass/lens/lensPressSamples.json +1 -0
- package/dist/glass/lens/liquidMotion.d.ts +50 -0
- package/dist/glass/lens/liquidMotion.js +239 -0
- package/dist/glass/lens/materialGlassRecipes.json +776 -0
- package/dist/glass/lens/materialUniforms.d.ts +22 -0
- package/dist/glass/lens/materialUniforms.js +117 -0
- package/dist/glass/lens/menu-closing-close-fit.json +380 -0
- package/dist/glass/lens/menu-opening-native-fits.json +911 -0
- package/dist/glass/lens/menuContextFit.json +88 -0
- package/dist/glass/lens/menuContextOpacity.json +98 -0
- package/dist/glass/lens/menuContextPresentation.d.ts +15 -0
- package/dist/glass/lens/menuContextPresentation.js +65 -0
- package/dist/glass/lens/menuCornerFit.json +252 -0
- package/dist/glass/lens/menuCornerMotion.d.ts +9 -0
- package/dist/glass/lens/menuCornerMotion.js +5 -0
- package/dist/glass/lens/menuDropFit.json +64 -0
- package/dist/glass/lens/menuField.d.ts +178 -0
- package/dist/glass/lens/menuField.js +564 -0
- package/dist/glass/lens/menuGesturePresentation.d.ts +12 -0
- package/dist/glass/lens/menuGesturePresentation.js +42 -0
- package/dist/glass/lens/menuGlyphDropFit.json +38 -0
- package/dist/glass/lens/menuMorphFit.json +564 -0
- package/dist/glass/lens/menuMorphMotion.d.ts +70 -0
- package/dist/glass/lens/menuMorphMotion.js +219 -0
- package/dist/glass/lens/menuMorphPhoneFit.json +85 -0
- package/dist/glass/lens/menuMotion.d.ts +81 -0
- package/dist/glass/lens/menuMotion.js +323 -0
- package/dist/glass/lens/menuPlacement.d.ts +5 -0
- package/dist/glass/lens/menuPlacement.js +29 -0
- package/dist/glass/lens/menuSpring.d.ts +18 -0
- package/dist/glass/lens/menuSpring.js +29 -0
- package/dist/glass/lens/menuTouchLight.d.ts +13 -0
- package/dist/glass/lens/menuTouchLight.js +147 -0
- package/dist/glass/lens/mirrorConstants.d.ts +1 -0
- package/dist/glass/lens/mirrorConstants.js +2 -0
- package/dist/glass/lens/mirrorExtents.d.ts +52 -0
- package/dist/glass/lens/mirrorExtents.js +264 -0
- package/dist/glass/lens/mirrorInvalidation.d.ts +6 -0
- package/dist/glass/lens/mirrorInvalidation.js +10 -0
- package/dist/glass/lens/mirrorReuse.d.ts +20 -0
- package/dist/glass/lens/mirrorReuse.js +166 -0
- package/dist/glass/lens/motion.d.ts +62 -0
- package/dist/glass/lens/motion.js +93 -0
- package/dist/glass/lens/recordedMotion.d.ts +6 -0
- package/dist/glass/lens/recordedMotion.js +44 -0
- package/dist/glass/lens/referenceBackground.d.ts +9 -0
- package/dist/glass/lens/referenceBackground.js +151 -0
- package/dist/glass/lens/referenceProfiles.d.ts +21 -0
- package/dist/glass/lens/referenceProfiles.js +33 -0
- package/dist/glass/lens/referenceRegularTint.d.ts +12 -0
- package/dist/glass/lens/referenceRegularTint.js +41 -0
- package/dist/glass/lens/scopeSegments.d.ts +12 -0
- package/dist/glass/lens/scopeSegments.js +18 -0
- package/dist/glass/lens/scrollAnchoring.d.ts +15 -0
- package/dist/glass/lens/scrollAnchoring.js +17 -0
- package/dist/glass/lens/selectionParameters.json +94 -0
- package/dist/glass/lens/shapeParameters.json +198 -0
- package/dist/glass/lens/tab-motion-native-fits.json +778 -0
- package/dist/glass/lens/tabAccessoryMotion.d.ts +52 -0
- package/dist/glass/lens/tabAccessoryMotion.js +52 -0
- package/dist/glass/lens/tabChromaRimModel.d.ts +43 -0
- package/dist/glass/lens/tabChromaRimModel.js +93 -0
- package/dist/glass/lens/tabCollapseInkSamples.json +49 -0
- package/dist/glass/lens/tabCompactGesture.d.ts +15 -0
- package/dist/glass/lens/tabCompactGesture.js +50 -0
- package/dist/glass/lens/tabGeometryAttack.json +70 -0
- package/dist/glass/lens/tabGlyphColours.d.ts +17 -0
- package/dist/glass/lens/tabGlyphColours.js +37 -0
- package/dist/glass/lens/tabInterruptedDecaySamples.json +245 -0
- package/dist/glass/lens/tabInterruptedRestoreSamples.json +290 -0
- package/dist/glass/lens/tabMaterialModel.d.ts +10 -0
- package/dist/glass/lens/tabMaterialModel.js +108 -0
- package/dist/glass/lens/tabMinimizeInk.d.ts +15 -0
- package/dist/glass/lens/tabMinimizeInk.js +14 -0
- package/dist/glass/lens/tabMinimizeMotion.d.ts +36 -0
- package/dist/glass/lens/tabMinimizeMotion.js +107 -0
- package/dist/glass/lens/tabMinimizeSamples.json +411 -0
- package/dist/glass/lens/tabMotion.d.ts +91 -0
- package/dist/glass/lens/tabMotion.js +478 -0
- package/dist/glass/lens/tabMotionFit.d.ts +76 -0
- package/dist/glass/lens/tabMotionFit.js +61 -0
- package/dist/glass/lens/tabNativeSymbols.d.ts +1 -0
- package/dist/glass/lens/tabNativeSymbols.js +7 -0
- package/dist/glass/lens/tabPresentation.d.ts +21 -0
- package/dist/glass/lens/tabPresentation.js +20 -0
- package/dist/glass/lens/tabRelease.d.ts +5 -0
- package/dist/glass/lens/tabRelease.js +14 -0
- package/dist/glass/lens/tabRestoreMotion.d.ts +19 -0
- package/dist/glass/lens/tabRestoreMotion.js +65 -0
- package/dist/glass/lens/tabRestoreSamples.json +1272 -0
- package/dist/glass/lens/tabSearchMember.d.ts +38 -0
- package/dist/glass/lens/tabSearchMember.js +74 -0
- package/dist/glass/lens/tabSelectionMaterial.d.ts +20 -0
- package/dist/glass/lens/tabSelectionMaterial.js +23 -0
- package/dist/glass/lens/tabSelectionMeasurements.test-fixture.d.ts +9 -0
- package/dist/glass/lens/tabSelectionMeasurements.test-fixture.js +74 -0
- package/dist/glass/lens/tabSettingsSymbol.d.ts +1 -0
- package/dist/glass/lens/tabSettingsSymbol.js +2 -0
- package/dist/glass/lens/tabShapeResponse.d.ts +7 -0
- package/dist/glass/lens/tabShapeResponse.js +30 -0
- package/dist/glass/lens/theme.d.ts +18 -0
- package/dist/glass/lens/theme.js +40 -0
- package/dist/glass/lens/trace.d.ts +2 -0
- package/dist/glass/lens/trace.js +27 -0
- package/dist/glass/liquidContext.d.ts +31 -0
- package/dist/glass/liquidContext.js +2 -0
- package/dist/glass/menuPanelPlacement.d.ts +51 -0
- package/dist/glass/menuPanelPlacement.js +128 -0
- package/dist/glass/menuPresenter.d.ts +34 -0
- package/dist/glass/menuPresenter.js +983 -0
- package/dist/glass/menuSymbolMasks.d.ts +1 -0
- package/dist/glass/menuSymbolMasks.js +1 -0
- package/dist/glass/menuSymbolTokens.d.ts +22 -0
- package/dist/glass/menuSymbolTokens.js +12 -0
- package/dist/glass/menuTriggerGeometry.d.ts +99 -0
- package/dist/glass/menuTriggerGeometry.js +126 -0
- package/dist/glass/menuTriggerSnapshot.d.ts +77 -0
- package/dist/glass/menuTriggerSnapshot.js +69 -0
- package/dist/glass/menuTypes.d.ts +22 -0
- package/dist/glass/menuTypes.js +1 -0
- package/dist/glass/morphField.d.ts +18 -0
- package/dist/glass/morphField.js +139 -0
- package/dist/glass/presentationFrame.d.ts +43 -0
- package/dist/glass/presentationFrame.js +82 -0
- package/dist/glass/pressHighlight.d.ts +9 -0
- package/dist/glass/pressHighlight.js +158 -0
- package/dist/glass/regionRegistry.d.ts +93 -0
- package/dist/glass/regionRegistry.js +313 -0
- package/dist/glass/regions.d.ts +262 -0
- package/dist/glass/regions.js +147 -0
- package/dist/glass/regularMaterialContext.d.ts +45 -0
- package/dist/glass/regularMaterialContext.js +118 -0
- package/dist/glass/regularTriggerMaterial.d.ts +19 -0
- package/dist/glass/regularTriggerMaterial.js +111 -0
- package/dist/glass/regularTriggerRim.d.ts +163 -0
- package/dist/glass/regularTriggerRim.js +436 -0
- package/dist/glass/renderSpecs.d.ts +454 -0
- package/dist/glass/renderSpecs.js +231 -0
- package/dist/glass/rendererContract.d.ts +205 -0
- package/dist/glass/rendererContract.js +18 -0
- package/dist/glass/shapeTrack.d.ts +53 -0
- package/dist/glass/shapeTrack.js +74 -0
- package/dist/glass/shapeTrackRegistry.d.ts +40 -0
- package/dist/glass/shapeTrackRegistry.js +49 -0
- package/dist/glass/sourceDamage.d.ts +6 -0
- package/dist/glass/sourceDamage.js +8 -0
- package/dist/glass/submenuMotion.d.ts +205 -0
- package/dist/glass/submenuMotion.js +306 -0
- package/dist/glass/tabBarModel.d.ts +12 -0
- package/dist/glass/tabBarModel.js +32 -0
- package/dist/glass/testing.d.ts +14 -0
- package/dist/glass/testing.js +14 -0
- package/dist/glass/tokens.d.ts +79 -0
- package/dist/glass/tokens.js +86 -0
- package/dist/glass/toolbarMaterialContext.d.ts +28 -0
- package/dist/glass/toolbarMaterialContext.js +66 -0
- package/dist/glass/topLayer.d.ts +5 -0
- package/dist/glass/topLayer.js +10 -0
- package/dist/glass/unionOutline.d.ts +11 -0
- package/dist/glass/unionOutline.js +98 -0
- package/dist/glass/visibleDeadline.d.ts +21 -0
- package/dist/glass/visibleDeadline.js +61 -0
- package/dist/glass/webgpu/accessoryMorph.d.ts +99 -0
- package/dist/glass/webgpu/accessoryMorph.js +473 -0
- package/dist/glass/webgpu/accessoryTrack.d.ts +47 -0
- package/dist/glass/webgpu/accessoryTrack.js +59 -0
- package/dist/glass/webgpu/areaMips.d.ts +50 -0
- package/dist/glass/webgpu/areaMips.js +166 -0
- package/dist/glass/webgpu/backdrop.d.ts +86 -0
- package/dist/glass/webgpu/backdrop.js +243 -0
- package/dist/glass/webgpu/backdropLayers.d.ts +29 -0
- package/dist/glass/webgpu/backdropLayers.js +182 -0
- package/dist/glass/webgpu/backgroundLayers.d.ts +71 -0
- package/dist/glass/webgpu/backgroundLayers.js +385 -0
- package/dist/glass/webgpu/cadence.d.ts +18 -0
- package/dist/glass/webgpu/cadence.js +35 -0
- package/dist/glass/webgpu/canvasSubmission.d.ts +6 -0
- package/dist/glass/webgpu/canvasSubmission.js +22 -0
- package/dist/glass/webgpu/capture.d.ts +77 -0
- package/dist/glass/webgpu/capture.js +534 -0
- package/dist/glass/webgpu/captureBands.d.ts +39 -0
- package/dist/glass/webgpu/captureBands.js +53 -0
- package/dist/glass/webgpu/captureContext.d.ts +1 -0
- package/dist/glass/webgpu/captureContext.js +6 -0
- package/dist/glass/webgpu/captureDemand.d.ts +44 -0
- package/dist/glass/webgpu/captureDemand.js +81 -0
- package/dist/glass/webgpu/captureRelease.d.ts +18 -0
- package/dist/glass/webgpu/captureRelease.js +39 -0
- package/dist/glass/webgpu/client.d.ts +49 -0
- package/dist/glass/webgpu/client.js +336 -0
- package/dist/glass/webgpu/contextBackdrop.d.ts +6 -0
- package/dist/glass/webgpu/contextBackdrop.js +13 -0
- package/dist/glass/webgpu/contextComposite.d.ts +64 -0
- package/dist/glass/webgpu/contextComposite.js +66 -0
- package/dist/glass/webgpu/decodedImage.d.ts +1 -0
- package/dist/glass/webgpu/decodedImage.js +2 -0
- package/dist/glass/webgpu/deviceLimits.d.ts +5 -0
- package/dist/glass/webgpu/deviceLimits.js +8 -0
- package/dist/glass/webgpu/edgePass.d.ts +9 -0
- package/dist/glass/webgpu/edgePass.js +170 -0
- package/dist/glass/webgpu/entry.worker.d.ts +1 -0
- package/dist/glass/webgpu/entry.worker.js +28 -0
- package/dist/glass/webgpu/errorCode.d.ts +3 -0
- package/dist/glass/webgpu/errorCode.js +27 -0
- package/dist/glass/webgpu/errors.d.ts +8 -0
- package/dist/glass/webgpu/errors.js +55 -0
- package/dist/glass/webgpu/fieldInk.d.ts +9 -0
- package/dist/glass/webgpu/fieldInk.js +62 -0
- package/dist/glass/webgpu/foreground.d.ts +29 -0
- package/dist/glass/webgpu/foreground.js +313 -0
- package/dist/glass/webgpu/frameClock.d.ts +34 -0
- package/dist/glass/webgpu/frameClock.js +60 -0
- package/dist/glass/webgpu/frameGraph.d.ts +57 -0
- package/dist/glass/webgpu/frameGraph.js +287 -0
- package/dist/glass/webgpu/frameProbe.d.ts +58 -0
- package/dist/glass/webgpu/frameProbe.js +181 -0
- package/dist/glass/webgpu/interactionProfiles.d.ts +10 -0
- package/dist/glass/webgpu/interactionProfiles.js +25 -0
- package/dist/glass/webgpu/keptGlyphs.d.ts +68 -0
- package/dist/glass/webgpu/keptGlyphs.js +85 -0
- package/dist/glass/webgpu/keyboardBackdrop.d.ts +12 -0
- package/dist/glass/webgpu/keyboardBackdrop.js +51 -0
- package/dist/glass/webgpu/lagTrace.d.ts +31 -0
- package/dist/glass/webgpu/lagTrace.js +22 -0
- package/dist/glass/webgpu/layers.d.ts +100 -0
- package/dist/glass/webgpu/layers.js +301 -0
- package/dist/glass/webgpu/lensDebug.d.ts +4 -0
- package/dist/glass/webgpu/lensDebug.js +28 -0
- package/dist/glass/webgpu/lensDiffusion.d.ts +2 -0
- package/dist/glass/webgpu/lensDiffusion.js +20 -0
- package/dist/glass/webgpu/lensLightingFit.json +222 -0
- package/dist/glass/webgpu/menuLiftInput.d.ts +30 -0
- package/dist/glass/webgpu/menuLiftInput.js +39 -0
- package/dist/glass/webgpu/menuSurfaceGuard.d.ts +17 -0
- package/dist/glass/webgpu/menuSurfaceGuard.js +26 -0
- package/dist/glass/webgpu/minimize.d.ts +184 -0
- package/dist/glass/webgpu/minimize.js +470 -0
- package/dist/glass/webgpu/navigationAtlasCopy.d.ts +12 -0
- package/dist/glass/webgpu/navigationAtlasCopy.js +121 -0
- package/dist/glass/webgpu/navigationTracks.d.ts +3 -0
- package/dist/glass/webgpu/navigationTracks.js +84 -0
- package/dist/glass/webgpu/passes.d.ts +204 -0
- package/dist/glass/webgpu/passes.js +394 -0
- package/dist/glass/webgpu/pendingSurfaceInput.d.ts +29 -0
- package/dist/glass/webgpu/pendingSurfaceInput.js +51 -0
- package/dist/glass/webgpu/preparedSourcePixels.d.ts +21 -0
- package/dist/glass/webgpu/preparedSourcePixels.js +43 -0
- package/dist/glass/webgpu/presentationBackdrop.d.ts +3 -0
- package/dist/glass/webgpu/presentationBackdrop.js +33 -0
- package/dist/glass/webgpu/presentationDiffusion.d.ts +48 -0
- package/dist/glass/webgpu/presentationDiffusion.js +57 -0
- package/dist/glass/webgpu/presentationMaterial.d.ts +9 -0
- package/dist/glass/webgpu/presentationMaterial.js +156 -0
- package/dist/glass/webgpu/presenterViewport.d.ts +11 -0
- package/dist/glass/webgpu/presenterViewport.js +193 -0
- package/dist/glass/webgpu/production.d.ts +552 -0
- package/dist/glass/webgpu/production.js +1929 -0
- package/dist/glass/webgpu/productionInstalls.d.ts +53 -0
- package/dist/glass/webgpu/productionInstalls.js +225 -0
- package/dist/glass/webgpu/productionNavigation.d.ts +5 -0
- package/dist/glass/webgpu/productionNavigation.js +360 -0
- package/dist/glass/webgpu/productionPinnedTop.d.ts +80 -0
- package/dist/glass/webgpu/productionPinnedTop.js +77 -0
- package/dist/glass/webgpu/productionPinnedTopPrepare.d.ts +21 -0
- package/dist/glass/webgpu/productionPinnedTopPrepare.js +132 -0
- package/dist/glass/webgpu/productionPlanes.d.ts +135 -0
- package/dist/glass/webgpu/productionPlanes.js +412 -0
- package/dist/glass/webgpu/productionPrepare.d.ts +18 -0
- package/dist/glass/webgpu/productionPrepare.js +832 -0
- package/dist/glass/webgpu/productionTracks.d.ts +73 -0
- package/dist/glass/webgpu/productionTracks.js +22 -0
- package/dist/glass/webgpu/productionViewport.d.ts +20 -0
- package/dist/glass/webgpu/productionViewport.js +52 -0
- package/dist/glass/webgpu/profile.d.ts +37 -0
- package/dist/glass/webgpu/profile.js +101 -0
- package/dist/glass/webgpu/raster.d.ts +337 -0
- package/dist/glass/webgpu/raster.js +1360 -0
- package/dist/glass/webgpu/rasterMaterial.d.ts +19 -0
- package/dist/glass/webgpu/rasterMaterial.js +197 -0
- package/dist/glass/webgpu/rasterShaders.d.ts +7 -0
- package/dist/glass/webgpu/rasterShaders.js +105 -0
- package/dist/glass/webgpu/rasterUniforms.d.ts +304 -0
- package/dist/glass/webgpu/rasterUniforms.js +415 -0
- package/dist/glass/webgpu/regionBackdrop.d.ts +8 -0
- package/dist/glass/webgpu/regionBackdrop.js +12 -0
- package/dist/glass/webgpu/regionBridge.d.ts +145 -0
- package/dist/glass/webgpu/regionBridge.js +1691 -0
- package/dist/glass/webgpu/regionScene.d.ts +294 -0
- package/dist/glass/webgpu/regionScene.js +2144 -0
- package/dist/glass/webgpu/renderer.d.ts +8 -0
- package/dist/glass/webgpu/renderer.js +1478 -0
- package/dist/glass/webgpu/residentPlanes.d.ts +69 -0
- package/dist/glass/webgpu/residentPlanes.js +104 -0
- package/dist/glass/webgpu/restMaterial.d.ts +6 -0
- package/dist/glass/webgpu/restMaterial.js +65 -0
- package/dist/glass/webgpu/resumeOverlay.d.ts +44 -0
- package/dist/glass/webgpu/resumeOverlay.js +82 -0
- package/dist/glass/webgpu/sampleTrace.d.ts +11 -0
- package/dist/glass/webgpu/sampleTrace.js +50 -0
- package/dist/glass/webgpu/scrollEdgeBackdrop.d.ts +89 -0
- package/dist/glass/webgpu/scrollEdgeBackdrop.js +177 -0
- package/dist/glass/webgpu/scrollEdgePose.d.ts +4 -0
- package/dist/glass/webgpu/scrollEdgePose.js +49 -0
- package/dist/glass/webgpu/selectionThumb.d.ts +81 -0
- package/dist/glass/webgpu/selectionThumb.js +209 -0
- package/dist/glass/webgpu/shaders.d.ts +67 -0
- package/dist/glass/webgpu/shaders.js +595 -0
- package/dist/glass/webgpu/sharedLift.d.ts +7 -0
- package/dist/glass/webgpu/sharedLift.js +223 -0
- package/dist/glass/webgpu/sourcePixels.d.ts +42 -0
- package/dist/glass/webgpu/sourcePixels.js +140 -0
- package/dist/glass/webgpu/sourcePixels.worker.d.ts +1 -0
- package/dist/glass/webgpu/sourcePixels.worker.js +62 -0
- package/dist/glass/webgpu/tabGlyphInk.d.ts +14 -0
- package/dist/glass/webgpu/tabGlyphInk.js +72 -0
- package/dist/glass/webgpu/touchLight.d.ts +4 -0
- package/dist/glass/webgpu/touchLight.js +15 -0
- package/dist/glass/worker/client.d.ts +21 -0
- package/dist/glass/worker/client.js +152 -0
- package/dist/glass/worker/experiment.d.ts +13 -0
- package/dist/glass/worker/experiment.js +221 -0
- package/dist/glass/worker/fixture.d.ts +21 -0
- package/dist/glass/worker/fixture.js +152 -0
- package/dist/glass/worker/protocol.d.ts +439 -0
- package/dist/glass/worker/protocol.js +5 -0
- package/dist/graphicsProbe.d.ts +19 -0
- package/dist/graphicsProbe.js +111 -0
- package/dist/haptics/SensoryButton.d.ts +21 -0
- package/dist/haptics/SensoryButton.js +80 -0
- package/dist/image/ContentAdmission.d.ts +19 -0
- package/dist/image/ContentAdmission.js +70 -0
- package/dist/image/Image.d.ts +30 -0
- package/dist/image/Image.js +341 -0
- package/dist/image/asset.d.ts +9 -0
- package/dist/image/asset.js +1 -0
- package/dist/image/contentReadiness.d.ts +7 -0
- package/dist/image/contentReadiness.js +54 -0
- package/dist/image/imports.d.ts +4 -0
- package/dist/image/resource.d.ts +53 -0
- package/dist/image/resource.js +286 -0
- package/dist/image/vite.d.ts +3 -0
- package/dist/image/vite.js +63 -0
- package/dist/index.d.ts +87 -0
- package/dist/index.js +102 -0
- package/dist/install.d.ts +8 -0
- package/dist/install.js +8 -0
- package/dist/internal.d.ts +96 -0
- package/dist/internal.js +80 -0
- package/dist/keyboard/adapter.d.ts +82 -0
- package/dist/keyboard/adapter.js +727 -0
- package/dist/keyboard/avoidance.d.ts +24 -0
- package/dist/keyboard/avoidance.js +283 -0
- package/dist/keyboard/caretMirror.d.ts +13 -0
- package/dist/keyboard/caretMirror.js +122 -0
- package/dist/keyboard/expectedKeyboard.d.ts +10 -0
- package/dist/keyboard/expectedKeyboard.js +60 -0
- package/dist/keyboard/geometry.d.ts +10 -0
- package/dist/keyboard/geometry.js +21 -0
- package/dist/keyboard/modalTapFocus.d.ts +41 -0
- package/dist/keyboard/modalTapFocus.js +224 -0
- package/dist/keyboard/motion.d.ts +54 -0
- package/dist/keyboard/motion.js +80 -0
- package/dist/keyboard/translation.d.ts +12 -0
- package/dist/keyboard/translation.js +19 -0
- package/dist/layout/adaptiveTabsContext.d.ts +5 -0
- package/dist/layout/adaptiveTabsContext.js +2 -0
- package/dist/layout/deviceIdiom.d.ts +4 -0
- package/dist/layout/deviceIdiom.js +12 -0
- package/dist/layout/layoutClass.d.ts +44 -0
- package/dist/layout/layoutClass.js +102 -0
- package/dist/layout/navigationLayoutContext.d.ts +8 -0
- package/dist/layout/navigationLayoutContext.js +5 -0
- package/dist/list-form/ListForm.d.ts +158 -0
- package/dist/list-form/ListForm.js +427 -0
- package/dist/list-form/ListItem.d.ts +30 -0
- package/dist/list-form/ListItem.js +251 -0
- package/dist/list-form/RowLabel.d.ts +14 -0
- package/dist/list-form/RowLabel.js +11 -0
- package/dist/list-form/Slider.d.ts +18 -0
- package/dist/list-form/Slider.js +235 -0
- package/dist/list-form/StepperButton.d.ts +9 -0
- package/dist/list-form/StepperButton.js +60 -0
- package/dist/list-form/Toggle.d.ts +16 -0
- package/dist/list-form/Toggle.js +204 -0
- package/dist/list-form/editMotion.d.ts +15 -0
- package/dist/list-form/editMotion.js +25 -0
- package/dist/list-form/editing.d.ts +102 -0
- package/dist/list-form/editing.js +51 -0
- package/dist/list-form/listContext.d.ts +4 -0
- package/dist/list-form/listContext.js +5 -0
- package/dist/list-form/offsets.d.ts +26 -0
- package/dist/list-form/offsets.js +34 -0
- package/dist/list-form/reorder.d.ts +20 -0
- package/dist/list-form/reorder.js +193 -0
- package/dist/list-form/rowMotion.d.ts +11 -0
- package/dist/list-form/rowMotion.js +236 -0
- package/dist/list-form/rowMotionScope.d.ts +14 -0
- package/dist/list-form/rowMotionScope.js +61 -0
- package/dist/list-form/separatorInsets.d.ts +4 -0
- package/dist/list-form/separatorInsets.js +87 -0
- package/dist/list-form/sliderContact.d.ts +40 -0
- package/dist/list-form/sliderContact.js +98 -0
- package/dist/list-form/state.d.ts +5 -0
- package/dist/list-form/state.js +8 -0
- package/dist/list-form/toggleContact.d.ts +55 -0
- package/dist/list-form/toggleContact.js +164 -0
- package/dist/media/controller.d.ts +7 -0
- package/dist/media/controller.js +612 -0
- package/dist/media/react.d.ts +9 -0
- package/dist/media/react.js +38 -0
- package/dist/media/systemMedia.d.ts +6 -0
- package/dist/media/systemMedia.js +200 -0
- package/dist/media/types.d.ts +83 -0
- package/dist/media/types.js +1 -0
- package/dist/menu/menuContact.d.ts +20 -0
- package/dist/menu/menuContact.js +286 -0
- package/dist/menu/menuGesture.d.ts +84 -0
- package/dist/menu/menuGesture.js +502 -0
- package/dist/menu/menuInteraction.d.ts +17 -0
- package/dist/menu/menuInteraction.js +34 -0
- package/dist/menu/menuOutside.d.ts +9 -0
- package/dist/menu/menuOutside.js +58 -0
- package/dist/menu/menuPanelContact.d.ts +11 -0
- package/dist/menu/menuPanelContact.js +77 -0
- package/dist/menu/menuTriggerHold.d.ts +3 -0
- package/dist/menu/menuTriggerHold.js +52 -0
- package/dist/menu/sampledMotion.d.ts +37 -0
- package/dist/menu/sampledMotion.js +86 -0
- package/dist/modal/lifecycle.d.ts +10 -0
- package/dist/modal/lifecycle.js +189 -0
- package/dist/motion/TransitionView.d.ts +12 -0
- package/dist/motion/TransitionView.js +118 -0
- package/dist/motion/animate.d.ts +20 -0
- package/dist/motion/animate.js +79 -0
- package/dist/motion/animationValue.d.ts +25 -0
- package/dist/motion/animationValue.js +42 -0
- package/dist/motion/composerMotion.d.ts +3 -0
- package/dist/motion/composerMotion.js +15 -0
- package/dist/motion/layoutTransaction.d.ts +7 -0
- package/dist/motion/layoutTransaction.js +28 -0
- package/dist/motion/matchedGeometry.d.ts +55 -0
- package/dist/motion/matchedGeometry.js +412 -0
- package/dist/motion/springPath.d.ts +27 -0
- package/dist/motion/springPath.js +46 -0
- package/dist/motion/springTrack.d.ts +33 -0
- package/dist/motion/springTrack.js +69 -0
- package/dist/motion/transition.d.ts +48 -0
- package/dist/motion/transition.js +56 -0
- package/dist/motion/transitionImages.d.ts +7 -0
- package/dist/motion/transitionImages.js +49 -0
- package/dist/motionProbe.d.ts +227 -0
- package/dist/motionProbe.js +697 -0
- package/dist/motionProbeControls.d.ts +2 -0
- package/dist/motionProbeControls.js +118 -0
- package/dist/motionProbeDelivery.d.ts +15 -0
- package/dist/motionProbeDelivery.js +84 -0
- package/dist/navigation/DetailList.d.ts +9 -0
- package/dist/navigation/DetailList.js +7 -0
- package/dist/navigation/NavigationChrome.d.ts +18 -0
- package/dist/navigation/NavigationChrome.js +195 -0
- package/dist/navigation/NavigationSearchRow.d.ts +9 -0
- package/dist/navigation/NavigationSearchRow.js +101 -0
- package/dist/navigation/NavigationTitleSlots.d.ts +18 -0
- package/dist/navigation/NavigationTitleSlots.js +64 -0
- package/dist/navigation/NavigatorHost.d.ts +17 -0
- package/dist/navigation/NavigatorHost.js +534 -0
- package/dist/navigation/ScreenContainer.d.ts +31 -0
- package/dist/navigation/ScreenContainer.js +219 -0
- package/dist/navigation/ScrubSourceFrames.d.ts +18 -0
- package/dist/navigation/ScrubSourceFrames.js +67 -0
- package/dist/navigation/Sidebar.d.ts +16 -0
- package/dist/navigation/Sidebar.js +20 -0
- package/dist/navigation/SidebarSymbol.d.ts +4 -0
- package/dist/navigation/SidebarSymbol.js +6 -0
- package/dist/navigation/ToolbarGlass.d.ts +2 -0
- package/dist/navigation/ToolbarGlass.js +429 -0
- package/dist/navigation/TransitionEdge.d.ts +4 -0
- package/dist/navigation/TransitionEdge.js +33 -0
- package/dist/navigation/bottomToolbarGeometry.d.ts +6 -0
- package/dist/navigation/bottomToolbarGeometry.js +14 -0
- package/dist/navigation/chromeCurves.d.ts +48 -0
- package/dist/navigation/chromeCurves.js +255 -0
- package/dist/navigation/glassTransition.d.ts +32 -0
- package/dist/navigation/glassTransition.js +55 -0
- package/dist/navigation/horizontalDrag.d.ts +6 -0
- package/dist/navigation/horizontalDrag.js +15 -0
- package/dist/navigation/interactivePop.d.ts +45 -0
- package/dist/navigation/interactivePop.js +86 -0
- package/dist/navigation/interactivePopTypes.d.ts +85 -0
- package/dist/navigation/interactivePopTypes.js +36 -0
- package/dist/navigation/keyboard.d.ts +9 -0
- package/dist/navigation/keyboard.js +55 -0
- package/dist/navigation/motion.d.ts +19 -0
- package/dist/navigation/motion.js +645 -0
- package/dist/navigation/motionTokens.d.ts +43 -0
- package/dist/navigation/motionTokens.js +75 -0
- package/dist/navigation/nativeScrubExperiment.d.ts +5 -0
- package/dist/navigation/nativeScrubExperiment.js +153 -0
- package/dist/navigation/nativeScrubSource.d.ts +15 -0
- package/dist/navigation/nativeScrubSource.js +88 -0
- package/dist/navigation/navigationChromeModel.d.ts +8 -0
- package/dist/navigation/navigationChromeModel.js +30 -0
- package/dist/navigation/navigationContext.d.ts +22 -0
- package/dist/navigation/navigationContext.js +65 -0
- package/dist/navigation/navigationEdge.d.ts +4 -0
- package/dist/navigation/navigationEdge.js +101 -0
- package/dist/navigation/pointerPop.d.ts +32 -0
- package/dist/navigation/pointerPop.js +206 -0
- package/dist/navigation/probeLayers.d.ts +7 -0
- package/dist/navigation/probeLayers.js +8 -0
- package/dist/navigation/registry.d.ts +14 -0
- package/dist/navigation/registry.js +31 -0
- package/dist/navigation/releaseDecision.d.ts +21 -0
- package/dist/navigation/releaseDecision.js +94 -0
- package/dist/navigation/releaseTrajectory.d.ts +20 -0
- package/dist/navigation/releaseTrajectory.js +95 -0
- package/dist/navigation/releaseVelocity.d.ts +9 -0
- package/dist/navigation/releaseVelocity.js +38 -0
- package/dist/navigation/routeCodec.d.ts +33 -0
- package/dist/navigation/routeCodec.js +123 -0
- package/dist/navigation/scrollEdge.d.ts +18 -0
- package/dist/navigation/scrollEdge.js +66 -0
- package/dist/navigation/scrubFrameLoop.d.ts +44 -0
- package/dist/navigation/scrubFrameLoop.js +129 -0
- package/dist/navigation/sidebarSelection.d.ts +5 -0
- package/dist/navigation/sidebarSelection.js +8 -0
- package/dist/navigation/splitContext.d.ts +17 -0
- package/dist/navigation/splitContext.js +9 -0
- package/dist/navigation/splitState.d.ts +46 -0
- package/dist/navigation/splitState.js +130 -0
- package/dist/navigation/stack.d.ts +25 -0
- package/dist/navigation/stack.js +136 -0
- package/dist/navigation/store.d.ts +80 -0
- package/dist/navigation/store.js +464 -0
- package/dist/navigation/toolbarGlassMotion.d.ts +40 -0
- package/dist/navigation/toolbarGlassMotion.js +202 -0
- package/dist/navigation/toolbarMinimization.d.ts +9 -0
- package/dist/navigation/toolbarMinimization.js +76 -0
- package/dist/navigation/toolbarMotionOwner.d.ts +6 -0
- package/dist/navigation/toolbarMotionOwner.js +30 -0
- package/dist/navigation/touchArbitration.d.ts +34 -0
- package/dist/navigation/touchArbitration.js +550 -0
- package/dist/navigation/tracking.d.ts +7 -0
- package/dist/navigation/tracking.js +19 -0
- package/dist/navigation/transitionBindings.d.ts +31 -0
- package/dist/navigation/transitionBindings.js +106 -0
- package/dist/navigation/transitionChrome.d.ts +31 -0
- package/dist/navigation/transitionChrome.js +380 -0
- package/dist/navigation/transitionPose.d.ts +52 -0
- package/dist/navigation/transitionPose.js +295 -0
- package/dist/navigation/types.d.ts +133 -0
- package/dist/navigation/types.js +1 -0
- package/dist/navigation/zoomDrag.d.ts +3 -0
- package/dist/navigation/zoomDrag.js +125 -0
- package/dist/navigation/zoomGeometry.d.ts +48 -0
- package/dist/navigation/zoomGeometry.js +94 -0
- package/dist/navigation/zoomGlass.d.ts +27 -0
- package/dist/navigation/zoomGlass.js +64 -0
- package/dist/navigation/zoomMotion.d.ts +73 -0
- package/dist/navigation/zoomMotion.js +104 -0
- package/dist/navigation/zoomTransition.d.ts +82 -0
- package/dist/navigation/zoomTransition.js +975 -0
- package/dist/presentation/Presentation.d.ts +61 -0
- package/dist/presentation/Presentation.js +92 -0
- package/dist/presentation/PresentationSurface.d.ts +29 -0
- package/dist/presentation/PresentationSurface.js +586 -0
- package/dist/presentation/PresentedSheet.d.ts +2 -0
- package/dist/presentation/PresentedSheet.js +571 -0
- package/dist/presentation/activity.d.ts +3 -0
- package/dist/presentation/activity.js +24 -0
- package/dist/presentation/coldLaunch.d.ts +2 -0
- package/dist/presentation/coldLaunch.js +19 -0
- package/dist/presentation/dismiss.d.ts +26 -0
- package/dist/presentation/dismiss.js +30 -0
- package/dist/presentation/glassMotion.d.ts +39 -0
- package/dist/presentation/glassMotion.js +259 -0
- package/dist/presentation/glassReady.d.ts +11 -0
- package/dist/presentation/glassReady.js +246 -0
- package/dist/presentation/model.d.ts +108 -0
- package/dist/presentation/model.js +183 -0
- package/dist/presentation/motion.d.ts +56 -0
- package/dist/presentation/motion.js +263 -0
- package/dist/presentation/presentationMotion.d.ts +10 -0
- package/dist/presentation/presentationMotion.js +74 -0
- package/dist/presentation/presentationSource.d.ts +2 -0
- package/dist/presentation/presentationSource.js +28 -0
- package/dist/presentation/sheetChromeContext.d.ts +2 -0
- package/dist/presentation/sheetChromeContext.js +3 -0
- package/dist/presentation/sheetMaterialTransition.d.ts +14 -0
- package/dist/presentation/sheetMaterialTransition.js +33 -0
- package/dist/presentation/sheetReleaseMotion.d.ts +18 -0
- package/dist/presentation/sheetReleaseMotion.js +123 -0
- package/dist/presentation/useAlertKeyboardMotion.d.ts +8 -0
- package/dist/presentation/useAlertKeyboardMotion.js +104 -0
- package/dist/press/Pressable.d.ts +19 -0
- package/dist/press/Pressable.js +16 -0
- package/dist/press/activation.d.ts +20 -0
- package/dist/press/activation.js +28 -0
- package/dist/press/contactReceipt.d.ts +23 -0
- package/dist/press/contactReceipt.js +177 -0
- package/dist/press/gestureArbitration.d.ts +13 -0
- package/dist/press/gestureArbitration.js +38 -0
- package/dist/press/stateMachine.d.ts +29 -0
- package/dist/press/stateMachine.js +39 -0
- package/dist/press/tokens.d.ts +18 -0
- package/dist/press/tokens.js +19 -0
- package/dist/press/usePressInteraction.d.ts +30 -0
- package/dist/press/usePressInteraction.js +247 -0
- package/dist/public/Label.d.ts +16 -0
- package/dist/public/Label.js +40 -0
- package/dist/public/NativeFilePicker.d.ts +19 -0
- package/dist/public/NativeFilePicker.js +75 -0
- package/dist/public/Screen.d.ts +42 -0
- package/dist/public/Screen.js +87 -0
- package/dist/public/actions.d.ts +16 -0
- package/dist/public/actions.js +15 -0
- package/dist/public/buttonBorderShape.d.ts +7 -0
- package/dist/public/buttonBorderShape.js +9 -0
- package/dist/public/chrome.d.ts +3 -0
- package/dist/public/chrome.js +5 -0
- package/dist/public/colors.d.ts +29 -0
- package/dist/public/colors.js +28 -0
- package/dist/public/context.d.ts +19 -0
- package/dist/public/context.js +8 -0
- package/dist/public/controlStyle.d.ts +93 -0
- package/dist/public/controlStyle.js +52 -0
- package/dist/public/controls.d.ts +360 -0
- package/dist/public/controls.js +301 -0
- package/dist/public/definition.d.ts +65 -0
- package/dist/public/definition.js +58 -0
- package/dist/public/deviceActions.d.ts +23 -0
- package/dist/public/deviceActions.js +87 -0
- package/dist/public/environment.d.ts +77 -0
- package/dist/public/environment.js +171 -0
- package/dist/public/fieldContext.d.ts +2 -0
- package/dist/public/fieldContext.js +3 -0
- package/dist/public/filePickers.d.ts +25 -0
- package/dist/public/filePickers.js +11 -0
- package/dist/public/glass.d.ts +31 -0
- package/dist/public/glass.js +29 -0
- package/dist/public/glassValue.d.ts +19 -0
- package/dist/public/glassValue.js +32 -0
- package/dist/public/keyboard.d.ts +4 -0
- package/dist/public/keyboard.js +6 -0
- package/dist/public/navigationTransition.d.ts +48 -0
- package/dist/public/navigationTransition.js +49 -0
- package/dist/public/pickerNavigation.d.ts +7 -0
- package/dist/public/pickerNavigation.js +64 -0
- package/dist/public/presentation.d.ts +40 -0
- package/dist/public/presentation.js +21 -0
- package/dist/public/presentationContext.d.ts +2 -0
- package/dist/public/presentationContext.js +3 -0
- package/dist/public/routeRegistry.d.ts +3 -0
- package/dist/public/routeRegistry.js +10 -0
- package/dist/public/routes.d.ts +74 -0
- package/dist/public/routes.js +105 -0
- package/dist/public/runtime.d.ts +134 -0
- package/dist/public/runtime.js +292 -0
- package/dist/public/screenChrome.d.ts +91 -0
- package/dist/public/screenChrome.js +187 -0
- package/dist/public/scroll.d.ts +38 -0
- package/dist/public/scroll.js +7 -0
- package/dist/public/storage.d.ts +9 -0
- package/dist/public/storage.js +9 -0
- package/dist/public/structure.d.ts +65 -0
- package/dist/public/structure.js +40 -0
- package/dist/public/toolbar.d.ts +37 -0
- package/dist/public/toolbar.js +76 -0
- package/dist/push/PushPermissionExplainer.d.ts +14 -0
- package/dist/push/PushPermissionExplainer.js +30 -0
- package/dist/push/notifications.d.ts +54 -0
- package/dist/push/notifications.js +276 -0
- package/dist/push/routes.d.ts +20 -0
- package/dist/push/routes.js +63 -0
- package/dist/push/schema.d.ts +42 -0
- package/dist/push/schema.js +41 -0
- package/dist/push/urlProjection.d.ts +24 -0
- package/dist/push/urlProjection.js +207 -0
- package/dist/reachability/controller.d.ts +21 -0
- package/dist/reachability/controller.js +202 -0
- package/dist/reachability/model.d.ts +94 -0
- package/dist/reachability/model.js +131 -0
- package/dist/reachability/react.d.ts +29 -0
- package/dist/reachability/react.js +69 -0
- package/dist/restoration/navigation.d.ts +9 -0
- package/dist/restoration/navigation.js +55 -0
- package/dist/restoration/react.d.ts +6 -0
- package/dist/restoration/react.js +21 -0
- package/dist/restoration/routes.d.ts +22 -0
- package/dist/restoration/routes.js +166 -0
- package/dist/restoration/scene.d.ts +44 -0
- package/dist/restoration/scene.js +284 -0
- package/dist/root/SatinRoot.d.ts +25 -0
- package/dist/root/SatinRoot.js +512 -0
- package/dist/root/mountSatin.d.ts +12 -0
- package/dist/root/mountSatin.js +60 -0
- package/dist/root/runtimeContext.d.ts +26 -0
- package/dist/root/runtimeContext.js +30 -0
- package/dist/safe-area/Overlay.d.ts +9 -0
- package/dist/safe-area/Overlay.js +26 -0
- package/dist/safe-area/SafeAreaInset.d.ts +25 -0
- package/dist/safe-area/SafeAreaInset.js +138 -0
- package/dist/safe-area/bottomInsetGeometry.d.ts +12 -0
- package/dist/safe-area/bottomInsetGeometry.js +73 -0
- package/dist/safe-area/context.d.ts +15 -0
- package/dist/safe-area/context.js +8 -0
- package/dist/safe-area/displayCorners.d.ts +21 -0
- package/dist/safe-area/displayCorners.js +70 -0
- package/dist/safe-area/keyboardCarrier.d.ts +26 -0
- package/dist/safe-area/keyboardCarrier.js +394 -0
- package/dist/safe-area/keyboardCarrierGeometry.d.ts +37 -0
- package/dist/safe-area/keyboardCarrierGeometry.js +49 -0
- package/dist/safe-area/modifiers.d.ts +52 -0
- package/dist/safe-area/modifiers.js +86 -0
- package/dist/safe-area/useSafeAreaMetrics.d.ts +83 -0
- package/dist/safe-area/useSafeAreaMetrics.js +367 -0
- package/dist/safe-area/windowChrome.d.ts +7 -0
- package/dist/safe-area/windowChrome.js +14 -0
- package/dist/scroll/RefreshControl.d.ts +8 -0
- package/dist/scroll/RefreshControl.js +135 -0
- package/dist/scroll/ScrollSurface.d.ts +62 -0
- package/dist/scroll/ScrollSurface.js +278 -0
- package/dist/scroll/ScrollTarget.d.ts +6 -0
- package/dist/scroll/ScrollTarget.js +11 -0
- package/dist/scroll/edgePolicy.d.ts +21 -0
- package/dist/scroll/edgePolicy.js +17 -0
- package/dist/scroll/insertionMotion.d.ts +15 -0
- package/dist/scroll/insertionMotion.js +128 -0
- package/dist/scroll/nativeScroll.d.ts +14 -0
- package/dist/scroll/nativeScroll.js +71 -0
- package/dist/scroll/position.d.ts +31 -0
- package/dist/scroll/position.js +273 -0
- package/dist/scroll/pressOwnership.d.ts +4 -0
- package/dist/scroll/pressOwnership.js +65 -0
- package/dist/scroll/refreshMotion.d.ts +9 -0
- package/dist/scroll/refreshMotion.js +15 -0
- package/dist/scroll/refreshable.d.ts +6 -0
- package/dist/scroll/refreshable.js +50 -0
- package/dist/scroll/registry.d.ts +38 -0
- package/dist/scroll/registry.js +261 -0
- package/dist/scroll/screenGeometry.d.ts +8 -0
- package/dist/scroll/screenGeometry.js +50 -0
- package/dist/scroll/scrollIndicator.d.ts +7 -0
- package/dist/scroll/scrollIndicator.js +114 -0
- package/dist/scroll/scrollJump.d.ts +7 -0
- package/dist/scroll/scrollJump.js +16 -0
- package/dist/scroll/types.d.ts +12 -0
- package/dist/scroll/types.js +1 -0
- package/dist/search/SearchDrawer.d.ts +16 -0
- package/dist/search/SearchDrawer.js +421 -0
- package/dist/search/SearchScopesBar.d.ts +6 -0
- package/dist/search/SearchScopesBar.js +12 -0
- package/dist/search/SearchToolbarField.d.ts +8 -0
- package/dist/search/SearchToolbarField.js +115 -0
- package/dist/search/searchBackdrop.d.ts +12 -0
- package/dist/search/searchBackdrop.js +45 -0
- package/dist/search/searchChrome.d.ts +13 -0
- package/dist/search/searchChrome.js +31 -0
- package/dist/search/searchMotion.d.ts +30 -0
- package/dist/search/searchMotion.js +46 -0
- package/dist/search/searchPlacement.d.ts +11 -0
- package/dist/search/searchPlacement.js +15 -0
- package/dist/search/searchable.d.ts +46 -0
- package/dist/search/searchable.js +5 -0
- package/dist/search/useSearchPresentation.d.ts +15 -0
- package/dist/search/useSearchPresentation.js +61 -0
- package/dist/server.d.ts +7 -0
- package/dist/server.js +144 -0
- package/dist/settings/DisclosureIndicator.d.ts +4 -0
- package/dist/settings/DisclosureIndicator.js +6 -0
- package/dist/settings/tokens.d.ts +129 -0
- package/dist/settings/tokens.js +143 -0
- package/dist/shapes/corners.d.ts +14 -0
- package/dist/shapes/corners.js +80 -0
- package/dist/styles.css +9078 -0
- package/dist/styles.css.d.ts +3 -0
- package/dist/sw/activationState.d.ts +20 -0
- package/dist/sw/activationState.js +39 -0
- package/dist/sw/generator.d.ts +14 -0
- package/dist/sw/generator.js +26 -0
- package/dist/sw/manifest.d.ts +32 -0
- package/dist/sw/manifest.js +137 -0
- package/dist/sw/protocol.d.ts +7 -0
- package/dist/sw/protocol.js +7 -0
- package/dist/sw/pushRuntime.d.ts +2 -0
- package/dist/sw/pushRuntime.js +161 -0
- package/dist/sw/registerAppShell.d.ts +25 -0
- package/dist/sw/registerAppShell.js +259 -0
- package/dist/sw/renderServiceWorker.d.ts +10 -0
- package/dist/sw/renderServiceWorker.js +370 -0
- package/dist/sw/requestRouting.d.ts +13 -0
- package/dist/sw/requestRouting.js +26 -0
- package/dist/sw/updateCheck.d.ts +2 -0
- package/dist/sw/updateCheck.js +25 -0
- package/dist/sw/vite.d.ts +20 -0
- package/dist/sw/vite.js +71 -0
- package/dist/symbols/Symbol.d.ts +33 -0
- package/dist/symbols/Symbol.js +59 -0
- package/dist/symbols/catalogue.d.ts +4 -0
- package/dist/symbols/catalogue.js +4139 -0
- package/dist/symbols/exclusions.d.ts +2 -0
- package/dist/symbols/exclusions.js +4 -0
- package/dist/symbols/inheritedWeight.d.ts +3 -0
- package/dist/symbols/inheritedWeight.js +104 -0
- package/dist/symbols/metrics.d.ts +38 -0
- package/dist/symbols/metrics.js +53 -0
- package/dist/symbols/svg.d.ts +3 -0
- package/dist/symbols/svg.js +16 -0
- package/dist/symbols/types.d.ts +30 -0
- package/dist/symbols/types.js +1 -0
- package/dist/tabs/TabSection.d.ts +12 -0
- package/dist/tabs/TabSection.js +4 -0
- package/dist/tabs/TabSidebarSurface.d.ts +7 -0
- package/dist/tabs/TabSidebarSurface.js +29 -0
- package/dist/tabs/TabView.d.ts +28 -0
- package/dist/tabs/TabView.js +258 -0
- package/dist/tabs/accessoryContact.d.ts +2 -0
- package/dist/tabs/accessoryContact.js +42 -0
- package/dist/tabs/compactBar.d.ts +4 -0
- package/dist/tabs/compactBar.js +28 -0
- package/dist/tabs/context.d.ts +8 -0
- package/dist/tabs/context.js +6 -0
- package/dist/tabs/keyboard.d.ts +3 -0
- package/dist/tabs/keyboard.js +23 -0
- package/dist/tabs/model.d.ts +6 -0
- package/dist/tabs/model.js +16 -0
- package/dist/tabs/presentation.d.ts +7 -0
- package/dist/tabs/presentation.js +14 -0
- package/dist/tabs/sourceRevision.d.ts +3 -0
- package/dist/tabs/sourceRevision.js +36 -0
- package/dist/tabs/tabSidebarGlyph.d.ts +2 -0
- package/dist/tabs/tabSidebarGlyph.js +11 -0
- package/dist/tasks/useTask.d.ts +16 -0
- package/dist/tasks/useTask.js +67 -0
- package/dist/testing.d.ts +9 -0
- package/dist/testing.js +11 -0
- package/dist/text-input/TextEditor.d.ts +25 -0
- package/dist/text-input/TextEditor.js +74 -0
- package/dist/text-input/TextField.d.ts +32 -0
- package/dist/text-input/TextField.js +29 -0
- package/dist/text-input/editorGeometry.d.ts +2 -0
- package/dist/text-input/editorGeometry.js +6 -0
- package/dist/text-input/editorTextLayout.d.ts +2 -0
- package/dist/text-input/editorTextLayout.js +31 -0
- package/dist/text-input/focusChain.d.ts +27 -0
- package/dist/text-input/focusChain.js +62 -0
- package/dist/text-input/kinds.d.ts +8 -0
- package/dist/text-input/kinds.js +34 -0
- package/dist/text-input/measureEditor.d.ts +2 -0
- package/dist/text-input/measureEditor.js +50 -0
- package/dist/text-input/submit.d.ts +9 -0
- package/dist/text-input/submit.js +7 -0
- package/dist/unstable.d.ts +16 -0
- package/dist/unstable.js +16 -0
- package/dist/vite.d.ts +3 -0
- package/dist/vite.js +3 -0
- package/dist/web/WebView.d.ts +42 -0
- package/dist/web/WebView.js +115 -0
- package/dist/web/authentication.d.ts +75 -0
- package/dist/web/authentication.js +488 -0
- package/dist/web/openURL.d.ts +37 -0
- package/dist/web/openURL.js +89 -0
- package/dist/web/urlPolicy.d.ts +3 -0
- package/dist/web/urlPolicy.js +19 -0
- package/dist/web/useWebAuthentication.d.ts +3 -0
- package/dist/web/useWebAuthentication.js +6 -0
- package/dist/zoom/Zoomable.d.ts +10 -0
- package/dist/zoom/Zoomable.js +116 -0
- package/dist/zoom/geometry.d.ts +11 -0
- package/dist/zoom/geometry.js +16 -0
- package/package.json +115 -3
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
// Measured iOS 27 navigation bar chrome curves (what bar items do while a page moves) and the
|
|
2
|
+
// keyframe builders that turn them into Web Animations keyframes. Pure data and math: no DOM.
|
|
3
|
+
/** Incoming bar chrome, measured on the iOS 27.0 Simulator from the presentation layers of stock
|
|
4
|
+
* SwiftUI (every display frame,
|
|
5
|
+
* light and dark agree within 0.04): milliseconds since the page starts moving. A push brings the
|
|
6
|
+
* destination's glass items in faster than a pop brings the revealed screen's back: a push shows
|
|
7
|
+
* 0.56 at 100 ms (Reminders-style list → list, back circle and trailing "…" together), a pop 0.30
|
|
8
|
+
* at 100 ms (Chats thread → root, trailing compose Menu). */
|
|
9
|
+
const PUSH_INCOMING = [
|
|
10
|
+
[0, 0],
|
|
11
|
+
[17, 0.05],
|
|
12
|
+
[33, 0.13],
|
|
13
|
+
[50, 0.23],
|
|
14
|
+
[67, 0.34],
|
|
15
|
+
[83, 0.45],
|
|
16
|
+
[100, 0.56],
|
|
17
|
+
[117, 0.65],
|
|
18
|
+
[133, 0.74],
|
|
19
|
+
[150, 0.81],
|
|
20
|
+
[167, 0.86],
|
|
21
|
+
[183, 0.91],
|
|
22
|
+
[200, 0.95],
|
|
23
|
+
[217, 0.98],
|
|
24
|
+
[240, 1],
|
|
25
|
+
];
|
|
26
|
+
const POP_INCOMING = [
|
|
27
|
+
[0, 0],
|
|
28
|
+
[34, 0.03],
|
|
29
|
+
[50, 0.09],
|
|
30
|
+
[67, 0.19],
|
|
31
|
+
[84, 0.3],
|
|
32
|
+
[100, 0.43],
|
|
33
|
+
[117, 0.52],
|
|
34
|
+
[134, 0.63],
|
|
35
|
+
[150, 0.7],
|
|
36
|
+
[167, 0.79],
|
|
37
|
+
[184, 0.84],
|
|
38
|
+
[200, 0.9],
|
|
39
|
+
[217, 0.93],
|
|
40
|
+
[234, 0.97],
|
|
41
|
+
[250, 0.99],
|
|
42
|
+
[267, 1],
|
|
43
|
+
];
|
|
44
|
+
/* Leaving bar chrome, measured like the arriving curves (reference, presentation-layer measurements presentation layers,
|
|
45
|
+
* medians of four runs each, light and dark): a pop's leaving items (Reminders-style list → root:
|
|
46
|
+
* back circle and trailing "…" alike) hold until 33 ms, are 0.72 at 100 ms and gone at 283 ms. A
|
|
47
|
+
* push's leaving items (Chats root → thread, trailing compose) run the same curve 17 ms earlier
|
|
48
|
+
* (within 0.012 at every knot), as the push arrivals lead the pop arrivals. */
|
|
49
|
+
const POP_OUTGOING = [
|
|
50
|
+
[0, 1],
|
|
51
|
+
[33, 1],
|
|
52
|
+
[50, 0.99],
|
|
53
|
+
[67, 0.935],
|
|
54
|
+
[83, 0.83],
|
|
55
|
+
[100, 0.72],
|
|
56
|
+
[117, 0.63],
|
|
57
|
+
[133, 0.53],
|
|
58
|
+
[150, 0.42],
|
|
59
|
+
[167, 0.32],
|
|
60
|
+
[183, 0.24],
|
|
61
|
+
[200, 0.18],
|
|
62
|
+
[217, 0.13],
|
|
63
|
+
[233, 0.07],
|
|
64
|
+
[250, 0.04],
|
|
65
|
+
[267, 0.01],
|
|
66
|
+
[283, 0],
|
|
67
|
+
];
|
|
68
|
+
const PUSH_OUTGOING = [
|
|
69
|
+
[0, 1],
|
|
70
|
+
[17, 1],
|
|
71
|
+
[33, 0.99],
|
|
72
|
+
[50, 0.935],
|
|
73
|
+
[67, 0.83],
|
|
74
|
+
[83, 0.72],
|
|
75
|
+
[100, 0.63],
|
|
76
|
+
[117, 0.53],
|
|
77
|
+
[133, 0.42],
|
|
78
|
+
[150, 0.32],
|
|
79
|
+
[167, 0.24],
|
|
80
|
+
[183, 0.18],
|
|
81
|
+
[200, 0.13],
|
|
82
|
+
[217, 0.07],
|
|
83
|
+
[233, 0.04],
|
|
84
|
+
[250, 0.01],
|
|
85
|
+
[267, 0],
|
|
86
|
+
];
|
|
87
|
+
/** iOS 27 bar chrome curves: [milliseconds since the page starts moving, opacity] knots, linear
|
|
88
|
+
* between them. They run only when the page is sent to its end (tap push, back-button pop,
|
|
89
|
+
* completing release). A held back swipe keeps the outgoing items and back control fully shown and
|
|
90
|
+
* the incoming items hidden at every position, and a cancelled release changes nothing.
|
|
91
|
+
* Every curve also drives the item's scale and blur (chromeDissolve). Where a back control replaces
|
|
92
|
+
* a leading item, one glass circle stays put and only the symbols cross-fade (leadingGlassSwap). A
|
|
93
|
+
* screen's principal item is not faded: it is shown at once on push and moves with its page on
|
|
94
|
+
* pop (native). */
|
|
95
|
+
export const NAVIGATION_CHROME_CURVES = Object.freeze({
|
|
96
|
+
/** The back control when the destination has none (popping to a root). */
|
|
97
|
+
backLeave: POP_OUTGOING,
|
|
98
|
+
/** The back control arriving with a push from a root. */
|
|
99
|
+
backAppear: PUSH_INCOMING,
|
|
100
|
+
/** The outgoing entry's bar items in a push. */
|
|
101
|
+
pushToolbarLeave: PUSH_OUTGOING,
|
|
102
|
+
/** The outgoing entry's bar items in a pop. */
|
|
103
|
+
popToolbarLeave: POP_OUTGOING,
|
|
104
|
+
/** The destination's bar items in a push. */
|
|
105
|
+
pushToolbarAppear: PUSH_INCOMING,
|
|
106
|
+
/** The revealed entry's bar items in a pop. */
|
|
107
|
+
popToolbarAppear: POP_INCOMING,
|
|
108
|
+
});
|
|
109
|
+
/* Native bar items dissolve as one quantity (reference, presentation-layer measurements presentation layers and their
|
|
110
|
+
* CAFilters, 16 push/pop transitions): an arriving or leaving glass item at opacity a is scaled
|
|
111
|
+
* 1 + 0.2 (1 - a) about its centre (residual under 0.003) and blurred 10 (1 - a) pt, platter and
|
|
112
|
+
* symbol together (every sampled ratio 10.0). */
|
|
113
|
+
export const NAVIGATION_CHROME_DISSOLVE = Object.freeze({ scale: 0.2, blur: 10 });
|
|
114
|
+
/** The keyframe for a chrome item at `opacity`. A shown item carries no scale or filter, so a
|
|
115
|
+
* finished arrival leaves no stacking context or containing block behind its menus. */
|
|
116
|
+
export function chromeDissolve(opacity) {
|
|
117
|
+
const hidden = 1 - opacity;
|
|
118
|
+
if (hidden <= 0.001)
|
|
119
|
+
return { opacity, scale: 'none', filter: 'none' };
|
|
120
|
+
return {
|
|
121
|
+
opacity,
|
|
122
|
+
scale: String(Number((1 + NAVIGATION_CHROME_DISSOLVE.scale * hidden).toFixed(4))),
|
|
123
|
+
filter: `blur(${Number((NAVIGATION_CHROME_DISSOLVE.blur * hidden).toFixed(2))}px)`,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/* A leading glass swap (a back control replacing a leading glass item, or replaced by one),
|
|
127
|
+
* measured like the bar curves (reference, presentation-layer measurements presentation layers and CAFilters, Chats root
|
|
128
|
+
* <-> thread, 6 pushes and 6 pops, light and dark; push milliseconds since the page starts moving).
|
|
129
|
+
* The one circle at that spot swells to 1.22 wide and 1.20 tall at 150 ms and is back at 1 at
|
|
130
|
+
* 300 ms (native undershoots to 0.97 and settles at 567 ms; not modelled). Inside it the leaving symbol fades on `leave` and the
|
|
131
|
+
* arriving one fades in as its complement (within 0.01 from 100 ms). Each symbol is scaled
|
|
132
|
+
* 1 - 0.8 (1 - a) of the circle (residual 0.0005 over 277 samples) and blurred like any other bar
|
|
133
|
+
* item. A pop runs all of it 17 ms later (within 0.02 at every knot). */
|
|
134
|
+
export const NAVIGATION_LEADING_SWAP = Object.freeze({
|
|
135
|
+
leave: [
|
|
136
|
+
[0, 1],
|
|
137
|
+
[33, 1],
|
|
138
|
+
[50, 0.89],
|
|
139
|
+
[67, 0.79],
|
|
140
|
+
[83, 0.7],
|
|
141
|
+
[100, 0.57],
|
|
142
|
+
[117, 0.485],
|
|
143
|
+
[133, 0.386],
|
|
144
|
+
[150, 0.298],
|
|
145
|
+
[167, 0.223],
|
|
146
|
+
[183, 0.16],
|
|
147
|
+
[200, 0.109],
|
|
148
|
+
[217, 0.061],
|
|
149
|
+
[233, 0.032],
|
|
150
|
+
[250, 0.014],
|
|
151
|
+
[267, 0],
|
|
152
|
+
],
|
|
153
|
+
/* [milliseconds, scale] of the circle: the mean of native's width and height scale. Native's
|
|
154
|
+
* platter is up to 0.05 wider than tall on the way back; the glass circle stays round. Native
|
|
155
|
+
* then undershoots to 0.97 and settles at 567 ms; that tail outlived the page transition and
|
|
156
|
+
* doubled the swap's missed frames in Catalyst (reference perf), so the circle stops at 1 at 300 ms,
|
|
157
|
+
* where native crosses it. */
|
|
158
|
+
swell: [
|
|
159
|
+
[0, 1],
|
|
160
|
+
[33, 1],
|
|
161
|
+
[50, 1.037],
|
|
162
|
+
[67, 1.074],
|
|
163
|
+
[83, 1.113],
|
|
164
|
+
[100, 1.15],
|
|
165
|
+
[117, 1.181],
|
|
166
|
+
[133, 1.202],
|
|
167
|
+
[150, 1.21],
|
|
168
|
+
[167, 1.205],
|
|
169
|
+
[183, 1.188],
|
|
170
|
+
[200, 1.162],
|
|
171
|
+
[217, 1.133],
|
|
172
|
+
[233, 1.101],
|
|
173
|
+
[250, 1.071],
|
|
174
|
+
[267, 1.023],
|
|
175
|
+
[283, 1.019],
|
|
176
|
+
[300, 1],
|
|
177
|
+
],
|
|
178
|
+
symbolScale: 0.8,
|
|
179
|
+
popDelay: 17,
|
|
180
|
+
});
|
|
181
|
+
/** A leading glass swap's keyframes for `part`, one per swell knot. The back control's visual is
|
|
182
|
+
* the circle (it carries the back glass and the chevron); a symbol inside it takes the swell from
|
|
183
|
+
* it, the leading slot's symbol carries the swell itself (`swells`). `origin` is an interrupted
|
|
184
|
+
* symbol's opacity, which the curve then runs from. */
|
|
185
|
+
export function leadingSwapFrames(part, direction, swells = false, origin) {
|
|
186
|
+
const swap = NAVIGATION_LEADING_SWAP;
|
|
187
|
+
const delay = direction === 'pop' ? swap.popDelay : 0;
|
|
188
|
+
const duration = swap.swell.at(-1)[0] + delay;
|
|
189
|
+
const scale = (value) => Math.abs(value - 1) < 0.0005 ? 'none' : String(Number(value.toFixed(4)));
|
|
190
|
+
const knots = delay ? [[0, 1], ...swap.swell] : swap.swell;
|
|
191
|
+
const frames = knots.map(([time, swell], index) => {
|
|
192
|
+
const at = index === 0 ? 0 : time + delay;
|
|
193
|
+
const offset = at / duration;
|
|
194
|
+
if (part === 'circle')
|
|
195
|
+
return { offset, scale: scale(swell) };
|
|
196
|
+
const leaving = chromeCurveOpacity(swap.leave, at - delay);
|
|
197
|
+
const shown = part === 'leaving' ? leaving : 1 - leaving;
|
|
198
|
+
const initial = part === 'leaving' ? 1 : 0;
|
|
199
|
+
const endpoint = 1 - initial;
|
|
200
|
+
const opacity = origin === undefined
|
|
201
|
+
? shown
|
|
202
|
+
: endpoint + (origin - endpoint) * ((shown - endpoint) / (initial - endpoint));
|
|
203
|
+
const hidden = 1 - opacity;
|
|
204
|
+
const own = 1 - swap.symbolScale * hidden;
|
|
205
|
+
const keyframe = { offset, opacity };
|
|
206
|
+
if (swells)
|
|
207
|
+
keyframe.scale = scale(own * swell);
|
|
208
|
+
else
|
|
209
|
+
keyframe.scale = hidden <= 0.001 ? 'none' : String(Number(own.toFixed(4)));
|
|
210
|
+
keyframe.filter =
|
|
211
|
+
hidden <= 0.001
|
|
212
|
+
? 'none'
|
|
213
|
+
: `blur(${Number((NAVIGATION_CHROME_DISSOLVE.blur * hidden).toFixed(2))}px)`;
|
|
214
|
+
return keyframe;
|
|
215
|
+
});
|
|
216
|
+
return { frames, duration };
|
|
217
|
+
}
|
|
218
|
+
/* A root's presented search field (navigation bar drawer) and its close button, when a screen
|
|
219
|
+
* is pushed over it or popped off it (reference, presentation-layer measurements presentation layers, native reference search-push,
|
|
220
|
+
* 6 pushes and 6 pops, light and dark): native leaves the field where it is on screen (x within
|
|
221
|
+
* 0.1 pt) and only fades it, field and close button as one, with no scale or blur. A pop brings it
|
|
222
|
+
* back on this curve; a push fades it out as its complement (within 0.01 from 50 ms). */
|
|
223
|
+
export const NAVIGATION_SEARCH_FIELD_APPEAR = Object.freeze([
|
|
224
|
+
[0, 0],
|
|
225
|
+
[17, 0.3],
|
|
226
|
+
[33, 0.43],
|
|
227
|
+
[50, 0.55],
|
|
228
|
+
[67, 0.65],
|
|
229
|
+
[83, 0.73],
|
|
230
|
+
[100, 0.79],
|
|
231
|
+
[117, 0.84],
|
|
232
|
+
[133, 0.88],
|
|
233
|
+
[150, 0.91],
|
|
234
|
+
[167, 0.93],
|
|
235
|
+
[183, 0.95],
|
|
236
|
+
[200, 0.96],
|
|
237
|
+
[217, 0.97],
|
|
238
|
+
[233, 0.98],
|
|
239
|
+
[267, 0.99],
|
|
240
|
+
[317, 1],
|
|
241
|
+
]);
|
|
242
|
+
/** The curve's opacity at `milliseconds` (clamped to its first and last knots). */
|
|
243
|
+
export function chromeCurveOpacity(curve, milliseconds) {
|
|
244
|
+
const first = curve[0];
|
|
245
|
+
if (milliseconds <= first[0])
|
|
246
|
+
return first[1];
|
|
247
|
+
for (let index = 1; index < curve.length; index += 1) {
|
|
248
|
+
const [time, value] = curve[index];
|
|
249
|
+
const [previousTime, previousValue] = curve[index - 1];
|
|
250
|
+
if (milliseconds <= time)
|
|
251
|
+
return (previousValue +
|
|
252
|
+
((value - previousValue) * (milliseconds - previousTime)) / (time - previousTime));
|
|
253
|
+
}
|
|
254
|
+
return curve.at(-1)[1];
|
|
255
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { BoundNavigatorTransition, TransitionScreenElements } from './transitionBindings.js';
|
|
2
|
+
export type NavigationGlassRoute = TransitionScreenElements & {
|
|
3
|
+
key: string;
|
|
4
|
+
source: HTMLElement;
|
|
5
|
+
};
|
|
6
|
+
export type NavigationGlassState = {
|
|
7
|
+
active: boolean;
|
|
8
|
+
width: number;
|
|
9
|
+
routes: readonly NavigationGlassRoute[];
|
|
10
|
+
top: string;
|
|
11
|
+
zoom?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const navigationGlassState: (host: HTMLElement) => NavigationGlassState | undefined;
|
|
14
|
+
/** Use controller bindings for the real rear of popToRoot/replace. Arbitrary
|
|
15
|
+
* intermediate exiting routes must not cover that rear in the glass source. */
|
|
16
|
+
export declare function navigationGlassRoutes(keys: readonly string[], elements: ReadonlyMap<string, TransitionScreenElements>, bindings: readonly BoundNavigatorTransition[]): {
|
|
17
|
+
dim: HTMLElement;
|
|
18
|
+
motion: HTMLElement;
|
|
19
|
+
screen: HTMLElement;
|
|
20
|
+
key: string;
|
|
21
|
+
source: HTMLElement;
|
|
22
|
+
}[];
|
|
23
|
+
/** Commit-boundary ownership, never a React update for an animation frame. */
|
|
24
|
+
export declare function publishNavigationGlass(host: HTMLElement, state: NavigationGlassState): Promise<void>;
|
|
25
|
+
export declare function observeNavigationGlass(host: HTMLElement, listener: (state: NavigationGlassState) => void | Promise<void>): () => void;
|
|
26
|
+
/** Read compositor-owned transforms, including overlapping pop parents. No
|
|
27
|
+
* bounding-box/layout reads or independent spring clock in the frame loop. */
|
|
28
|
+
export declare function sampleNavigationGlass(state: NavigationGlassState): {
|
|
29
|
+
key: string;
|
|
30
|
+
x: number;
|
|
31
|
+
dim: number;
|
|
32
|
+
}[];
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const states = new WeakMap();
|
|
2
|
+
export const navigationGlassState = (host) => states.get(host);
|
|
3
|
+
const listeners = new WeakMap();
|
|
4
|
+
/** Use controller bindings for the real rear of popToRoot/replace. Arbitrary
|
|
5
|
+
* intermediate exiting routes must not cover that rear in the glass source. */
|
|
6
|
+
export function navigationGlassRoutes(keys, elements, bindings) {
|
|
7
|
+
const needed = new Set();
|
|
8
|
+
for (const { binding } of bindings) {
|
|
9
|
+
needed.add(binding.primary);
|
|
10
|
+
if (binding.secondary)
|
|
11
|
+
needed.add(binding.secondary);
|
|
12
|
+
}
|
|
13
|
+
return keys.flatMap((key, index) => {
|
|
14
|
+
const route = elements.get(key);
|
|
15
|
+
if (!route ||
|
|
16
|
+
!(needed.has(route.motion) ||
|
|
17
|
+
needed.has(route.screen) ||
|
|
18
|
+
(!bindings.length && index >= keys.length - 2)))
|
|
19
|
+
return [];
|
|
20
|
+
const source = route.screen.querySelector('[data-satin-scroll][data-satin-primary="true"]') ??
|
|
21
|
+
route.motion;
|
|
22
|
+
return [{ ...route, key, source }];
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/** Commit-boundary ownership, never a React update for an animation frame. */
|
|
26
|
+
export function publishNavigationGlass(host, state) {
|
|
27
|
+
states.set(host, state);
|
|
28
|
+
const ready = Promise.all([...(listeners.get(host) ?? [])].map(listener => listener(state))).then(() => { });
|
|
29
|
+
// Publication also occurs without an automatic push consumer. The runtime reports failures.
|
|
30
|
+
void ready.catch(() => { });
|
|
31
|
+
return ready;
|
|
32
|
+
}
|
|
33
|
+
export function observeNavigationGlass(host, listener) {
|
|
34
|
+
const set = listeners.get(host) ?? new Set();
|
|
35
|
+
listeners.set(host, set);
|
|
36
|
+
set.add(listener);
|
|
37
|
+
const state = states.get(host);
|
|
38
|
+
if (state)
|
|
39
|
+
void Promise.resolve(listener(state)).catch(() => { });
|
|
40
|
+
return () => {
|
|
41
|
+
set.delete(listener);
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** Read compositor-owned transforms, including overlapping pop parents. No
|
|
45
|
+
* bounding-box/layout reads or independent spring clock in the frame loop. */
|
|
46
|
+
export function sampleNavigationGlass(state) {
|
|
47
|
+
return state.routes.map(route => {
|
|
48
|
+
const outer = getComputedStyle(route.screen).transform;
|
|
49
|
+
const inner = getComputedStyle(route.motion).transform;
|
|
50
|
+
const x = (outer === 'none' ? 0 : new DOMMatrixReadOnly(outer).m41) +
|
|
51
|
+
(inner === 'none' ? 0 : new DOMMatrixReadOnly(inner).m41);
|
|
52
|
+
const dim = Number(getComputedStyle(route.dim).opacity);
|
|
53
|
+
return { key: route.key, x, dim: Number.isFinite(dim) ? dim : 0 };
|
|
54
|
+
});
|
|
55
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Row actions reserve interior contacts; the first 20 points of the navigation
|
|
2
|
+
* pane remain Back's edge-start region. This is an input policy, not a spring. */
|
|
3
|
+
export declare const ROW_BACK_EDGE_WIDTH = 20;
|
|
4
|
+
/** Controls declare their available drag directions before contact. Row actions
|
|
5
|
+
* additionally share their edge-start exception with both navigation input paths. */
|
|
6
|
+
export declare function horizontalDragBlocksBack(target: Element, clientX?: number): boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Row actions reserve interior contacts; the first 20 points of the navigation
|
|
2
|
+
* pane remain Back's edge-start region. This is an input policy, not a spring. */
|
|
3
|
+
export const ROW_BACK_EDGE_WIDTH = 20;
|
|
4
|
+
/** Controls declare their available drag directions before contact. Row actions
|
|
5
|
+
* additionally share their edge-start exception with both navigation input paths. */
|
|
6
|
+
export function horizontalDragBlocksBack(target, clientX) {
|
|
7
|
+
const owner = target.closest('[data-satin-horizontal-drag]');
|
|
8
|
+
if (clientX !== undefined && owner?.matches('[data-satin-row-swipe="true"]')) {
|
|
9
|
+
const pane = owner.closest('[data-satin-pane], [data-satin-navigator-host]');
|
|
10
|
+
const left = pane?.getBoundingClientRect().left;
|
|
11
|
+
return left === undefined || clientX < left || clientX >= left + ROW_BACK_EDGE_WIDTH;
|
|
12
|
+
}
|
|
13
|
+
const direction = owner?.getAttribute('data-satin-horizontal-drag');
|
|
14
|
+
return direction === 'both' || direction === 'right';
|
|
15
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type ReleaseVelocityTracker } from './releaseVelocity.js';
|
|
2
|
+
export type InteractivePopDirectionLock = 'claim-horizontal' | 'reject-leftward' | 'reject-vertical' | 'tracking';
|
|
3
|
+
export declare function resolveInteractivePopDirectionLock(deltaX: number, deltaY: number): InteractivePopDirectionLock;
|
|
4
|
+
export type InteractivePopGesture = Readonly<{
|
|
5
|
+
currentX: number;
|
|
6
|
+
currentY: number;
|
|
7
|
+
pointerId: number;
|
|
8
|
+
progress: number;
|
|
9
|
+
releaseVelocity: ReleaseVelocityTracker;
|
|
10
|
+
startX: number;
|
|
11
|
+
startY: number;
|
|
12
|
+
state: 'recognized' | 'tracking';
|
|
13
|
+
velocityPointsPerSecond: number;
|
|
14
|
+
width: number;
|
|
15
|
+
}>;
|
|
16
|
+
export type InteractivePopMove = Readonly<{
|
|
17
|
+
gesture?: InteractivePopGesture;
|
|
18
|
+
recognized: boolean;
|
|
19
|
+
resolution: 'foreign-pointer' | 'leftward-rejected' | 'recognized' | 'tracking' | 'vertical-rejected';
|
|
20
|
+
}>;
|
|
21
|
+
export declare function beginInteractivePopGesture(existing: InteractivePopGesture | undefined, input: Readonly<{
|
|
22
|
+
isPrimary: boolean;
|
|
23
|
+
pointerId: number;
|
|
24
|
+
time: number;
|
|
25
|
+
width: number;
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
}>): Readonly<{
|
|
29
|
+
currentX: number;
|
|
30
|
+
currentY: number;
|
|
31
|
+
pointerId: number;
|
|
32
|
+
progress: number;
|
|
33
|
+
releaseVelocity: ReleaseVelocityTracker;
|
|
34
|
+
startX: number;
|
|
35
|
+
startY: number;
|
|
36
|
+
state: 'recognized' | 'tracking';
|
|
37
|
+
velocityPointsPerSecond: number;
|
|
38
|
+
width: number;
|
|
39
|
+
}> | undefined;
|
|
40
|
+
export declare function moveInteractivePopGesture(gesture: InteractivePopGesture, input: Readonly<{
|
|
41
|
+
pointerId: number;
|
|
42
|
+
time: number;
|
|
43
|
+
x: number;
|
|
44
|
+
y: number;
|
|
45
|
+
}>): InteractivePopMove;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { NAVIGATION_DIRECTION_LOCK_PX, NAVIGATION_HORIZONTAL_INTENT_PX } from './motionTokens.js';
|
|
2
|
+
import { createReleaseVelocityTracker } from './releaseVelocity.js';
|
|
3
|
+
export function resolveInteractivePopDirectionLock(deltaX, deltaY) {
|
|
4
|
+
const absoluteX = Math.abs(deltaX);
|
|
5
|
+
const absoluteY = Math.abs(deltaY);
|
|
6
|
+
if (Math.max(absoluteX, absoluteY) < NAVIGATION_DIRECTION_LOCK_PX) {
|
|
7
|
+
return 'tracking';
|
|
8
|
+
}
|
|
9
|
+
if (deltaX > 0 && absoluteX > absoluteY)
|
|
10
|
+
return 'claim-horizontal';
|
|
11
|
+
if (absoluteY >= absoluteX)
|
|
12
|
+
return 'reject-vertical';
|
|
13
|
+
return 'reject-leftward';
|
|
14
|
+
}
|
|
15
|
+
function clampProgress(progress) {
|
|
16
|
+
return Math.min(1, Math.max(0, progress));
|
|
17
|
+
}
|
|
18
|
+
export function beginInteractivePopGesture(existing, input) {
|
|
19
|
+
if (existing || !input.isPrimary || input.width <= 0)
|
|
20
|
+
return existing;
|
|
21
|
+
const releaseVelocity = createReleaseVelocityTracker();
|
|
22
|
+
releaseVelocity.record(input.x, input.time);
|
|
23
|
+
return {
|
|
24
|
+
currentX: input.x,
|
|
25
|
+
currentY: input.y,
|
|
26
|
+
pointerId: input.pointerId,
|
|
27
|
+
progress: 0,
|
|
28
|
+
releaseVelocity,
|
|
29
|
+
startX: input.x,
|
|
30
|
+
startY: input.y,
|
|
31
|
+
state: 'tracking',
|
|
32
|
+
velocityPointsPerSecond: 0,
|
|
33
|
+
width: input.width,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export function moveInteractivePopGesture(gesture, input) {
|
|
37
|
+
if (gesture.pointerId !== input.pointerId) {
|
|
38
|
+
return { gesture, recognized: false, resolution: 'foreign-pointer' };
|
|
39
|
+
}
|
|
40
|
+
const velocityPointsPerSecond = gesture.releaseVelocity.record(input.x, input.time);
|
|
41
|
+
const deltaX = input.x - gesture.startX;
|
|
42
|
+
const deltaY = input.y - gesture.startY;
|
|
43
|
+
if (gesture.state === 'tracking' &&
|
|
44
|
+
Math.abs(deltaY) >= NAVIGATION_HORIZONTAL_INTENT_PX &&
|
|
45
|
+
Math.abs(deltaY) >= Math.abs(deltaX)) {
|
|
46
|
+
return {
|
|
47
|
+
gesture: undefined,
|
|
48
|
+
recognized: false,
|
|
49
|
+
resolution: 'vertical-rejected',
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (gesture.state === 'tracking' && deltaX <= -NAVIGATION_HORIZONTAL_INTENT_PX) {
|
|
53
|
+
return {
|
|
54
|
+
gesture: undefined,
|
|
55
|
+
recognized: false,
|
|
56
|
+
resolution: 'leftward-rejected',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const recognized = gesture.state === 'recognized' ||
|
|
60
|
+
(deltaX >= NAVIGATION_HORIZONTAL_INTENT_PX && deltaX > Math.abs(deltaY));
|
|
61
|
+
if (!recognized) {
|
|
62
|
+
return {
|
|
63
|
+
gesture: {
|
|
64
|
+
...gesture,
|
|
65
|
+
currentX: input.x,
|
|
66
|
+
currentY: input.y,
|
|
67
|
+
velocityPointsPerSecond,
|
|
68
|
+
},
|
|
69
|
+
recognized: false,
|
|
70
|
+
resolution: 'tracking',
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
const nextGesture = {
|
|
74
|
+
...gesture,
|
|
75
|
+
currentX: input.x,
|
|
76
|
+
currentY: input.y,
|
|
77
|
+
progress: clampProgress(deltaX / gesture.width),
|
|
78
|
+
state: 'recognized',
|
|
79
|
+
velocityPointsPerSecond,
|
|
80
|
+
};
|
|
81
|
+
return {
|
|
82
|
+
gesture: nextGesture,
|
|
83
|
+
recognized: gesture.state !== 'recognized',
|
|
84
|
+
resolution: 'recognized',
|
|
85
|
+
};
|
|
86
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { InteractivePopMove } from './interactivePop.js';
|
|
2
|
+
import type { createNavigationReleaseStatistics } from './releaseDecision.js';
|
|
3
|
+
import type { ReleaseVelocityTracker } from './releaseVelocity.js';
|
|
4
|
+
import type { ScrubFrameMetrics } from './scrubFrameLoop.js';
|
|
5
|
+
import type { TransitionController } from './types.js';
|
|
6
|
+
export type InteractivePopDiagnostic = Readonly<{
|
|
7
|
+
averageEventsPerFrame?: number;
|
|
8
|
+
claimDeltaX?: number;
|
|
9
|
+
claimDeltaY?: number;
|
|
10
|
+
deltaX: number;
|
|
11
|
+
deltaY: number;
|
|
12
|
+
eventsThisFrame?: number;
|
|
13
|
+
event: 'lostpointercapture' | 'pointercancel' | 'pointerdown' | 'pointermove' | 'pointerup' | 'scrubframe' | 'touchclaim' | 'touchcancel' | 'touchend' | 'touchmove' | 'touchreject';
|
|
14
|
+
pointerId: number;
|
|
15
|
+
progress: number;
|
|
16
|
+
input?: 'pointer' | 'touch';
|
|
17
|
+
inputCount?: number;
|
|
18
|
+
inputHz?: number;
|
|
19
|
+
rafCount?: number;
|
|
20
|
+
rafHz?: number;
|
|
21
|
+
reason?: InteractivePopMove['resolution'] | 'early-horizontal-claim' | 'early-leftward-release' | 'early-vertical-release' | 'no-pop-target' | 'release-cancel' | 'release-complete' | 'release-pending';
|
|
22
|
+
startX: number;
|
|
23
|
+
startY: number;
|
|
24
|
+
state: 'cancelled' | 'claimed' | 'completed' | 'ignored' | 'recognized' | 'tracking' | 'released';
|
|
25
|
+
velocityPointsPerSecond: number;
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
}>;
|
|
29
|
+
export type EarlyTouchArbitration = {
|
|
30
|
+
previousX: number;
|
|
31
|
+
recognitionOffset?: number;
|
|
32
|
+
minimumProgress?: number;
|
|
33
|
+
pendingPushKey?: string;
|
|
34
|
+
claimDeltaX?: number;
|
|
35
|
+
claimDeltaY?: number;
|
|
36
|
+
currentX: number;
|
|
37
|
+
currentY: number;
|
|
38
|
+
identifier: number;
|
|
39
|
+
/** The private scroll source could be bound to this contact at touch-down. */
|
|
40
|
+
nativeSource?: HTMLElement;
|
|
41
|
+
nativeSourceLive: boolean;
|
|
42
|
+
rowBlocksNativeSource: boolean;
|
|
43
|
+
progress: number;
|
|
44
|
+
/** Chosen at recognition. Installed pops scrub from the private source's
|
|
45
|
+
* ScrollTimeline; 'frame-loop' drives the pose from touch input instead,
|
|
46
|
+
* one write per display frame. */
|
|
47
|
+
scrubOwner?: 'frame-loop' | 'scroll-timeline';
|
|
48
|
+
/** The scroll-timeline scrub attached (it attaches one frame after recognition). */
|
|
49
|
+
scrubAttached?: boolean;
|
|
50
|
+
releaseStatistics: ReturnType<typeof createNavigationReleaseStatistics>;
|
|
51
|
+
releaseVelocity: ReleaseVelocityTracker;
|
|
52
|
+
startX: number;
|
|
53
|
+
startY: number;
|
|
54
|
+
state: 'claimed' | 'recognized' | 'rejected' | 'tracking';
|
|
55
|
+
velocityPointsPerSecond: number;
|
|
56
|
+
width: number;
|
|
57
|
+
};
|
|
58
|
+
export type NavigatorHostGeometry = Readonly<{
|
|
59
|
+
left: number;
|
|
60
|
+
top: number;
|
|
61
|
+
width: number;
|
|
62
|
+
}>;
|
|
63
|
+
export type ScrubDiagnosticState = {
|
|
64
|
+
claimDeltaX?: number;
|
|
65
|
+
claimDeltaY?: number;
|
|
66
|
+
currentX: number;
|
|
67
|
+
currentY: number;
|
|
68
|
+
input: 'pointer' | 'touch';
|
|
69
|
+
pointerId: number;
|
|
70
|
+
progress: number;
|
|
71
|
+
startX: number;
|
|
72
|
+
startY: number;
|
|
73
|
+
velocityPointsPerSecond: number;
|
|
74
|
+
};
|
|
75
|
+
/** Copies a contact's latest sample into the frame loop's diagnostic state, when that state was
|
|
76
|
+
* started by the same kind of input. */
|
|
77
|
+
export declare function updateScrubDiagnostic(state: ScrubDiagnosticState | undefined, input: ScrubDiagnosticState['input'], sample: Readonly<{
|
|
78
|
+
currentX: number;
|
|
79
|
+
currentY: number;
|
|
80
|
+
progress: number;
|
|
81
|
+
velocityPointsPerSecond: number;
|
|
82
|
+
}>): void;
|
|
83
|
+
/** The diagnostic a recognized scrub reports once per display frame. */
|
|
84
|
+
export declare function scrubFrameDiagnostic(state: ScrubDiagnosticState, metrics: ScrubFrameMetrics): InteractivePopDiagnostic;
|
|
85
|
+
export type InteractiveTransitionController = TransitionController & Required<Pick<TransitionController, 'cancelInteractive' | 'completeInteractive' | 'setProgress'>>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Copies a contact's latest sample into the frame loop's diagnostic state, when that state was
|
|
2
|
+
* started by the same kind of input. */
|
|
3
|
+
export function updateScrubDiagnostic(state, input, sample) {
|
|
4
|
+
if (state?.input !== input)
|
|
5
|
+
return;
|
|
6
|
+
state.currentX = sample.currentX;
|
|
7
|
+
state.currentY = sample.currentY;
|
|
8
|
+
state.progress = sample.progress;
|
|
9
|
+
state.velocityPointsPerSecond = sample.velocityPointsPerSecond;
|
|
10
|
+
}
|
|
11
|
+
/** The diagnostic a recognized scrub reports once per display frame. */
|
|
12
|
+
export function scrubFrameDiagnostic(state, metrics) {
|
|
13
|
+
return {
|
|
14
|
+
averageEventsPerFrame: metrics.averageEventsPerFrame,
|
|
15
|
+
claimDeltaX: state.claimDeltaX,
|
|
16
|
+
claimDeltaY: state.claimDeltaY,
|
|
17
|
+
deltaX: state.currentX - state.startX,
|
|
18
|
+
deltaY: state.currentY - state.startY,
|
|
19
|
+
event: 'scrubframe',
|
|
20
|
+
eventsThisFrame: metrics.eventsThisFrame,
|
|
21
|
+
input: state.input,
|
|
22
|
+
inputCount: metrics.inputCount,
|
|
23
|
+
inputHz: metrics.inputHz,
|
|
24
|
+
pointerId: state.pointerId,
|
|
25
|
+
progress: state.progress,
|
|
26
|
+
rafCount: metrics.frameCount,
|
|
27
|
+
rafHz: metrics.rafHz,
|
|
28
|
+
reason: 'recognized',
|
|
29
|
+
startX: state.startX,
|
|
30
|
+
startY: state.startY,
|
|
31
|
+
state: 'recognized',
|
|
32
|
+
velocityPointsPerSecond: state.velocityPointsPerSecond,
|
|
33
|
+
x: state.currentX,
|
|
34
|
+
y: state.currentY,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** One document listener arbitrates retained/nested navigators before popping. */
|
|
2
|
+
type Target = {
|
|
3
|
+
host: HTMLElement;
|
|
4
|
+
enabled: () => boolean;
|
|
5
|
+
canPop: () => boolean;
|
|
6
|
+
pop: () => void;
|
|
7
|
+
};
|
|
8
|
+
export declare function registerNavigationKeyboard(target: Target): () => void;
|
|
9
|
+
export {};
|