@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,78 @@
|
|
|
1
|
+
/** Recognition on the touch clock: the menu commits and the lifted preview replaces the
|
|
2
|
+
* pressed row. Native iPad Notes, native opening measurements counter-valid device capture: the pressed
|
|
3
|
+
* row is last seen at contact +315 ms and the lifted preview first at +331 ms; the phone
|
|
4
|
+
* threshold sweep cancels at 300 ms and opens at 400 ms. */
|
|
5
|
+
export declare const CONTEXT_HOLD_MS = 320;
|
|
6
|
+
/** Zero of the fitted opening curves (dim, preview, glass) on the same touch clock. The r8
|
|
7
|
+
* capture crosses 10/50/95 % page dim at +415/482/565 ms; those curves cross them at
|
|
8
|
+
* 160/211/297 ms. Every curve is still flat at recognition, so nothing jumps. */
|
|
9
|
+
export declare const CONTEXT_CURVE_MS = 265;
|
|
10
|
+
export declare const CONTEXT_STILL_MS = 150;
|
|
11
|
+
/** The held preview's scale `ms` after contact (before recognition). */
|
|
12
|
+
export declare function contextHoldScale(ms: number): number;
|
|
13
|
+
/** The held lift runs on the touch clock (`recognitionEpoch` is the curve zero, CONTEXT_CURVE_MS
|
|
14
|
+
* after contact). Once recognized, the preview leaves the scale it is showing (`from`) and joins
|
|
15
|
+
* the fitted opening curve within the measured hand-off, so nothing pops. */
|
|
16
|
+
export declare function animateContextLift(element: HTMLElement, recognitionEpoch: number, preparing: boolean, from?: number, shadow?: HTMLElement | null): Animation | undefined;
|
|
17
|
+
/** Settled pose of lifted content: its native scale and the move that keeps it on screen. */
|
|
18
|
+
export type ContextLiftPose = Readonly<{
|
|
19
|
+
scale: number;
|
|
20
|
+
dx: number;
|
|
21
|
+
dy: number;
|
|
22
|
+
}>;
|
|
23
|
+
/** Native iPad lifted content (native iPad warm-light chat-tall, 3 counter-qualified trials,
|
|
24
|
+
* native motion curve fits). At recognition the content leaves its hold scale and settles into its
|
|
25
|
+
* pose on this ease-out: remaining (1 - phase) ** power over `duration` ms (x RMS 0.08 of a
|
|
26
|
+
* 12 pt move). On dismissal it returns onto its source faster than the dim fades (RMS 0.015). */
|
|
27
|
+
export declare const CONTEXT_CONTENT_SETTLE: {
|
|
28
|
+
delay: number;
|
|
29
|
+
duration: number;
|
|
30
|
+
power: number;
|
|
31
|
+
};
|
|
32
|
+
export declare const CONTEXT_CONTENT_RETURN: {
|
|
33
|
+
delay: number;
|
|
34
|
+
duration: number;
|
|
35
|
+
power: number;
|
|
36
|
+
};
|
|
37
|
+
type ContentEase = typeof CONTEXT_CONTENT_SETTLE;
|
|
38
|
+
/** Remaining fraction (1 -> 0) of a content settle or return `ms` after it starts. */
|
|
39
|
+
export declare function contextContentRemaining(fit: ContentEase, ms: number): number;
|
|
40
|
+
/** Recognized non-row content grows from the scale its hold shows (`from`) to its settled pose,
|
|
41
|
+
* on the recognition clock when given (settleTimeline); its shadow plate moves with it. */
|
|
42
|
+
export declare function animateContentLift(element: HTMLElement, pose: ContextLiftPose, from: number, shadow: HTMLElement | null, recognitionEpoch?: number): Animation | undefined;
|
|
43
|
+
/** A custom preview grows out of its source's box into its own (`from` maps the preview's box
|
|
44
|
+
* onto the source), while the source hides under it. Same settle as the content lift (native
|
|
45
|
+
* grid preview: about 90 % of the way at +100 ms), on the recognition clock when given.
|
|
46
|
+
*
|
|
47
|
+
* The preview leaves the scale the hold shows (`holdScale`). The source stays opaque, at that
|
|
48
|
+
* scale, until the preview over it is opaque: a cross-fade of two half-transparent copies
|
|
49
|
+
* darkens the artwork for a few frames (owner, nowplaying-art-menu-glitch). */
|
|
50
|
+
export declare function animateContextPreview(preview: HTMLElement, source: HTMLElement, from: Readonly<{
|
|
51
|
+
dx: number;
|
|
52
|
+
dy: number;
|
|
53
|
+
scaleX: number;
|
|
54
|
+
scaleY: number;
|
|
55
|
+
}>, { holdScale, recognitionEpoch }?: {
|
|
56
|
+
holdScale?: number;
|
|
57
|
+
recognitionEpoch?: number;
|
|
58
|
+
}): Animation[];
|
|
59
|
+
/** Native backdrop fade shares the recognition epoch with the opaque lift and glass. */
|
|
60
|
+
export declare function animateContextBackdrop(element: HTMLElement, recognitionEpoch: number): Animation | undefined;
|
|
61
|
+
/** Dismissal: the dim fades out on the native ease-out from whatever it is showing. A row's
|
|
62
|
+
* lift settles back on the same clock; lifted content returns on its own, faster fit. */
|
|
63
|
+
export declare function animateContextDismissal(backdrop: HTMLElement | null | undefined, preview: HTMLElement | null | undefined, recognitionEpoch: number, shadow?: HTMLElement | null): Animation[];
|
|
64
|
+
/** Dismissal of a custom preview: it returns into its source's box on the content return fit,
|
|
65
|
+
* the open played backwards. It stays opaque for the first two thirds of the way and fades over
|
|
66
|
+
* the last third, as it became opaque over the first third of its growth, so what moves back is
|
|
67
|
+
* the preview, not a translucent wash over a source already back in place. A fade from the
|
|
68
|
+
* first frame read as the tile snapping back with a grey platter fading around it (owner,
|
|
69
|
+
* Music Home tile, 2026-10-14). The source comes back under the fading preview and leads it
|
|
70
|
+
* (1 - preview^4), so their combined coverage stays near whole. Native's own preview fade on
|
|
71
|
+
* dismissal is UNMEASURED; the return geometry is the measured content return. */
|
|
72
|
+
export declare function animateContextPreviewDismissal(preview: HTMLElement, source: HTMLElement, to: Readonly<{
|
|
73
|
+
dx: number;
|
|
74
|
+
dy: number;
|
|
75
|
+
scaleX: number;
|
|
76
|
+
scaleY: number;
|
|
77
|
+
}>): Animation[];
|
|
78
|
+
export {};
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
import { animateElement } from '../motion/animate.js';
|
|
2
|
+
import appearanceFrames from './nativeContextAppearance.json';
|
|
3
|
+
import { keyed } from '../glass/lens/menuField.js';
|
|
4
|
+
import { CONTEXT_DISMISSAL_MS, contextDismissal } from '../glass/lens/menuContextPresentation.js';
|
|
5
|
+
import measured from './nativeContextMotion.json';
|
|
6
|
+
/** Recognition on the touch clock: the menu commits and the lifted preview replaces the
|
|
7
|
+
* pressed row. Native iPad Notes, native opening measurements counter-valid device capture: the pressed
|
|
8
|
+
* row is last seen at contact +315 ms and the lifted preview first at +331 ms; the phone
|
|
9
|
+
* threshold sweep cancels at 300 ms and opens at 400 ms. */
|
|
10
|
+
export const CONTEXT_HOLD_MS = 320;
|
|
11
|
+
/** Zero of the fitted opening curves (dim, preview, glass) on the same touch clock. The r8
|
|
12
|
+
* capture crosses 10/50/95 % page dim at +415/482/565 ms; those curves cross them at
|
|
13
|
+
* 160/211/297 ms. Every curve is still flat at recognition, so nothing jumps. */
|
|
14
|
+
export const CONTEXT_CURVE_MS = 265;
|
|
15
|
+
// The measured lift is stationary through this point. Let directional gestures
|
|
16
|
+
// resolve before mounting their otherwise unused context menu and glass scene.
|
|
17
|
+
export const CONTEXT_STILL_MS = 150;
|
|
18
|
+
const CONTEXT_ENTER_MS = measured.enter.duration;
|
|
19
|
+
/** r8 device capture: the preview rises from the held 1.007 to 1.020 in 50 ms after recognition. */
|
|
20
|
+
const CONTEXT_HANDOFF_MS = 50;
|
|
21
|
+
const growth = [
|
|
22
|
+
[0, 1],
|
|
23
|
+
[CONTEXT_STILL_MS, 1],
|
|
24
|
+
[250, 1.005],
|
|
25
|
+
[333, 1.01],
|
|
26
|
+
[400, 1.015],
|
|
27
|
+
[480, 1.02],
|
|
28
|
+
[570, 1.025],
|
|
29
|
+
[670, 1.03],
|
|
30
|
+
[750, 1.035],
|
|
31
|
+
];
|
|
32
|
+
const reducedMotion = () => window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
33
|
+
const currentAppearance = () => document.documentElement.dataset.satinAppearance === 'dark' ? 'dark' : 'light';
|
|
34
|
+
const lerp = (from, to, progress) => from + (to - from) * progress;
|
|
35
|
+
const at = (keys, ms) => {
|
|
36
|
+
if (ms <= keys[0][0])
|
|
37
|
+
return keys[0][1];
|
|
38
|
+
const next = keys.findIndex(([time]) => time >= ms);
|
|
39
|
+
if (next < 0)
|
|
40
|
+
return keys.at(-1)[1];
|
|
41
|
+
const [t0, v0] = keys[next - 1];
|
|
42
|
+
const [t1, v1] = keys[next];
|
|
43
|
+
return lerp(v0, v1, (ms - t0) / (t1 - t0));
|
|
44
|
+
};
|
|
45
|
+
/** The held preview's scale `ms` after contact (before recognition). */
|
|
46
|
+
export function contextHoldScale(ms) {
|
|
47
|
+
return at(growth, ms);
|
|
48
|
+
}
|
|
49
|
+
function openFrames(appearance) {
|
|
50
|
+
const frames = appearanceFrames[appearance];
|
|
51
|
+
const enter = measured.enter.keyframes.map(frame => [frame[0] * CONTEXT_ENTER_MS, frame[4]]);
|
|
52
|
+
const filter = (ms) => {
|
|
53
|
+
const parts = frames.map(([time, , value]) => {
|
|
54
|
+
const match = /contrast\(([\d.]+)\) brightness\(([\d.]+)\)/.exec(String(value));
|
|
55
|
+
return [Number(time), match ? Number(match[1]) : 1, match ? Number(match[2]) : 1];
|
|
56
|
+
});
|
|
57
|
+
const contrast = at(parts.map(([time, value]) => [time, value]), ms);
|
|
58
|
+
const brightness = at(parts.map(([time, , value]) => [time, value]), ms);
|
|
59
|
+
return `contrast(${contrast.toFixed(3)}) brightness(${brightness.toFixed(3)})`;
|
|
60
|
+
};
|
|
61
|
+
return {
|
|
62
|
+
times: frames.map(([time]) => Number(time)),
|
|
63
|
+
scale: (ms) => 1 + ((keyed(enter, ms) - 1) * 7) / 6,
|
|
64
|
+
filter,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** The held lift runs on the touch clock (`recognitionEpoch` is the curve zero, CONTEXT_CURVE_MS
|
|
68
|
+
* after contact). Once recognized, the preview leaves the scale it is showing (`from`) and joins
|
|
69
|
+
* the fitted opening curve within the measured hand-off, so nothing pops. */
|
|
70
|
+
export function animateContextLift(element, recognitionEpoch, preparing, from = 1, shadow = null) {
|
|
71
|
+
if (reducedMotion() || typeof element.animate !== 'function')
|
|
72
|
+
return;
|
|
73
|
+
const epoch = recognitionEpoch - performance.timeOrigin;
|
|
74
|
+
if (preparing) {
|
|
75
|
+
const duration = growth.at(-1)[0];
|
|
76
|
+
const animation = animateElement(element, growth.map(([time, scale]) => ({ offset: time / duration, transform: `scale(${scale})` })), { duration, easing: 'linear', fill: 'forwards' });
|
|
77
|
+
animation.startTime = epoch - CONTEXT_CURVE_MS;
|
|
78
|
+
return animation;
|
|
79
|
+
}
|
|
80
|
+
const curve = openFrames(currentAppearance());
|
|
81
|
+
const duration = curve.times.at(-1);
|
|
82
|
+
const since = Math.min(duration, Math.max(0, performance.now() - epoch));
|
|
83
|
+
const joined = Math.min(duration, since + CONTEXT_HANDOFF_MS);
|
|
84
|
+
const target = curve.scale(joined);
|
|
85
|
+
const scale = (ms) => ms <= since
|
|
86
|
+
? from
|
|
87
|
+
: ms >= joined
|
|
88
|
+
? curve.scale(ms)
|
|
89
|
+
: lerp(from, target, (ms - since) / (joined - since));
|
|
90
|
+
const times = [...new Set([0, ...curve.times, since, joined])].sort((a, b) => a - b);
|
|
91
|
+
// The tone curve is a row's pressed grey clearing to its lifted cell. Other content has
|
|
92
|
+
// no pressed cell, so it does not take this filter.
|
|
93
|
+
const row = element.dataset.satinContextLift !== 'content';
|
|
94
|
+
const frames = times.map(time => ({
|
|
95
|
+
offset: time / duration,
|
|
96
|
+
transform: `scale(${scale(time)})`,
|
|
97
|
+
...(row && { filter: curve.filter(time) }),
|
|
98
|
+
}));
|
|
99
|
+
const animation = animateElement(element, frames, {
|
|
100
|
+
duration,
|
|
101
|
+
easing: 'linear',
|
|
102
|
+
fill: 'forwards',
|
|
103
|
+
});
|
|
104
|
+
animation.startTime = epoch;
|
|
105
|
+
// The shadow plate scales with the card. These keyframes are transform only:
|
|
106
|
+
// the artwork box-shadow and the glyph drop-shadow are not rewritten.
|
|
107
|
+
if (!row && shadow && typeof shadow.animate === 'function') {
|
|
108
|
+
const shadowAnimation = animateElement(shadow, frames.map(({ offset, transform }) => ({ offset, transform })), { duration, easing: 'linear', fill: 'forwards' });
|
|
109
|
+
shadowAnimation.startTime = epoch;
|
|
110
|
+
}
|
|
111
|
+
return animation;
|
|
112
|
+
}
|
|
113
|
+
const CONTENT_LIFT_STEPS = 30;
|
|
114
|
+
/** Native iPad lifted content (native iPad warm-light chat-tall, 3 counter-qualified trials,
|
|
115
|
+
* native motion curve fits). At recognition the content leaves its hold scale and settles into its
|
|
116
|
+
* pose on this ease-out: remaining (1 - phase) ** power over `duration` ms (x RMS 0.08 of a
|
|
117
|
+
* 12 pt move). On dismissal it returns onto its source faster than the dim fades (RMS 0.015). */
|
|
118
|
+
export const CONTEXT_CONTENT_SETTLE = { delay: 0, duration: 176, power: 1.5 };
|
|
119
|
+
export const CONTEXT_CONTENT_RETURN = { delay: 8, duration: 176, power: 2.35 };
|
|
120
|
+
/** Remaining fraction (1 -> 0) of a content settle or return `ms` after it starts. */
|
|
121
|
+
export function contextContentRemaining(fit, ms) {
|
|
122
|
+
const phase = Math.min(1, Math.max(0, (ms - fit.delay) / fit.duration));
|
|
123
|
+
return (1 - phase) ** fit.power;
|
|
124
|
+
}
|
|
125
|
+
const contentLiftMs = CONTEXT_CONTENT_SETTLE.delay + CONTEXT_CONTENT_SETTLE.duration;
|
|
126
|
+
const contentReturnMs = CONTEXT_CONTENT_RETURN.delay + CONTEXT_CONTENT_RETURN.duration;
|
|
127
|
+
const settleProgress = (ms) => 1 - contextContentRemaining(CONTEXT_CONTENT_SETTLE, ms);
|
|
128
|
+
/** A content settle on the recognition clock, the clock the menu's glass emerges on. Nothing can
|
|
129
|
+
* draw before the page commits the lift (`since` ms after recognition), so the content holds its
|
|
130
|
+
* start until then and joins the fitted settle within the measured hand-off: one time function
|
|
131
|
+
* for the lift and the glass, with no jump to catch up. Without an epoch it starts now. */
|
|
132
|
+
function settleTimeline(recognitionEpoch) {
|
|
133
|
+
const since = recognitionEpoch === undefined
|
|
134
|
+
? 0
|
|
135
|
+
: Math.min(contentLiftMs, Math.max(0, performance.now() - recognitionEpoch));
|
|
136
|
+
const joined = since > 0 ? Math.min(contentLiftMs, since + CONTEXT_HANDOFF_MS) : 0;
|
|
137
|
+
const progress = (ms) => {
|
|
138
|
+
if (ms >= joined)
|
|
139
|
+
return settleProgress(ms);
|
|
140
|
+
if (ms <= since)
|
|
141
|
+
return 0;
|
|
142
|
+
return settleProgress(joined) * ((ms - since) / (joined - since));
|
|
143
|
+
};
|
|
144
|
+
const steps = Array.from({ length: CONTENT_LIFT_STEPS + 1 }, (_, index) => (index / CONTENT_LIFT_STEPS) * contentLiftMs);
|
|
145
|
+
const times = [...new Set([...steps, since, joined])].sort((a, b) => a - b);
|
|
146
|
+
const startTime = recognitionEpoch === undefined ? undefined : recognitionEpoch - performance.timeOrigin;
|
|
147
|
+
return { times, progress, startTime };
|
|
148
|
+
}
|
|
149
|
+
function liftTransform(pose, from, progress) {
|
|
150
|
+
const scale = from + (pose.scale - from) * progress;
|
|
151
|
+
return `translate(${pose.dx * progress}px, ${pose.dy * progress}px) scale(${scale})`;
|
|
152
|
+
}
|
|
153
|
+
/** Recognized non-row content grows from the scale its hold shows (`from`) to its settled pose,
|
|
154
|
+
* on the recognition clock when given (settleTimeline); its shadow plate moves with it. */
|
|
155
|
+
export function animateContentLift(element, pose, from, shadow, recognitionEpoch) {
|
|
156
|
+
if (reducedMotion() || typeof element.animate !== 'function') {
|
|
157
|
+
element.style.transform = liftTransform(pose, from, 1);
|
|
158
|
+
if (shadow)
|
|
159
|
+
shadow.style.transform = element.style.transform;
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const { times, progress, startTime } = settleTimeline(recognitionEpoch);
|
|
163
|
+
const frames = times.map(time => ({
|
|
164
|
+
offset: time / contentLiftMs,
|
|
165
|
+
transform: liftTransform(pose, from, progress(time)),
|
|
166
|
+
}));
|
|
167
|
+
const options = { duration: contentLiftMs, easing: 'linear', fill: 'forwards' };
|
|
168
|
+
const animations = [animateElement(element, frames, options)];
|
|
169
|
+
if (shadow && typeof shadow.animate === 'function')
|
|
170
|
+
animations.push(animateElement(shadow, frames, options));
|
|
171
|
+
if (startTime !== undefined)
|
|
172
|
+
for (const animation of animations)
|
|
173
|
+
animation.startTime = startTime;
|
|
174
|
+
return animations[0];
|
|
175
|
+
}
|
|
176
|
+
/** A custom preview grows out of its source's box into its own (`from` maps the preview's box
|
|
177
|
+
* onto the source), while the source hides under it. Same settle as the content lift (native
|
|
178
|
+
* grid preview: about 90 % of the way at +100 ms), on the recognition clock when given.
|
|
179
|
+
*
|
|
180
|
+
* The preview leaves the scale the hold shows (`holdScale`). The source stays opaque, at that
|
|
181
|
+
* scale, until the preview over it is opaque: a cross-fade of two half-transparent copies
|
|
182
|
+
* darkens the artwork for a few frames (owner, nowplaying-art-menu-glitch). */
|
|
183
|
+
export function animateContextPreview(preview, source, from, { holdScale = 1, recognitionEpoch } = {}) {
|
|
184
|
+
const startX = from.scaleX * holdScale, startY = from.scaleY * holdScale;
|
|
185
|
+
const transform = (progress) => `translate(${from.dx * (1 - progress)}px, ${from.dy * (1 - progress)}px) ` +
|
|
186
|
+
`scale(${startX + (1 - startX) * progress}, ${startY + (1 - startY) * progress})`;
|
|
187
|
+
if (reducedMotion() || typeof preview.animate !== 'function') {
|
|
188
|
+
source.style.opacity = '0';
|
|
189
|
+
return [];
|
|
190
|
+
}
|
|
191
|
+
const { times, progress, startTime } = settleTimeline(recognitionEpoch);
|
|
192
|
+
const options = { duration: contentLiftMs, easing: 'linear', fill: 'forwards' };
|
|
193
|
+
const frames = times.map(time => {
|
|
194
|
+
const value = progress(time);
|
|
195
|
+
return {
|
|
196
|
+
offset: time / contentLiftMs,
|
|
197
|
+
transform: transform(value),
|
|
198
|
+
opacity: Math.min(1, value * 3),
|
|
199
|
+
};
|
|
200
|
+
});
|
|
201
|
+
const sourceFrames = frames.map(({ offset, opacity }) => ({
|
|
202
|
+
offset,
|
|
203
|
+
transform: `scale(${holdScale})`,
|
|
204
|
+
opacity: opacity < 1 ? 1 : 0,
|
|
205
|
+
}));
|
|
206
|
+
const animations = [
|
|
207
|
+
animateElement(preview, frames, options),
|
|
208
|
+
animateElement(source, sourceFrames, options),
|
|
209
|
+
];
|
|
210
|
+
if (startTime !== undefined)
|
|
211
|
+
for (const animation of animations)
|
|
212
|
+
animation.startTime = startTime;
|
|
213
|
+
return animations;
|
|
214
|
+
}
|
|
215
|
+
/** Native backdrop fade shares the recognition epoch with the opaque lift and glass. */
|
|
216
|
+
export function animateContextBackdrop(element, recognitionEpoch) {
|
|
217
|
+
if (reducedMotion() || typeof element.animate !== 'function')
|
|
218
|
+
return;
|
|
219
|
+
const animation = animateElement(element, appearanceFrames[currentAppearance()].map(([time, opacity]) => ({
|
|
220
|
+
offset: Math.min(1, Number(time) / 450),
|
|
221
|
+
opacity: Number(opacity),
|
|
222
|
+
})), { duration: 450, fill: 'both' });
|
|
223
|
+
animation.startTime = recognitionEpoch - performance.timeOrigin;
|
|
224
|
+
return animation;
|
|
225
|
+
}
|
|
226
|
+
/** The open backdrop's opacity `ms` after the curve zero. */
|
|
227
|
+
function backdropOpacity(ms) {
|
|
228
|
+
return at(appearanceFrames[currentAppearance()].map(([time, opacity]) => [Number(time), Number(opacity)]), ms);
|
|
229
|
+
}
|
|
230
|
+
/** Dismissal: the dim fades out on the native ease-out from whatever it is showing. A row's
|
|
231
|
+
* lift settles back on the same clock; lifted content returns on its own, faster fit. */
|
|
232
|
+
export function animateContextDismissal(backdrop, preview, recognitionEpoch, shadow = null) {
|
|
233
|
+
if (reducedMotion())
|
|
234
|
+
return [];
|
|
235
|
+
const appearance = currentAppearance();
|
|
236
|
+
const total = CONTEXT_DISMISSAL_MS;
|
|
237
|
+
const opened = backdropOpacity(performance.now() - (recognitionEpoch - performance.timeOrigin));
|
|
238
|
+
const steps = Array.from({ length: 16 }, (_, index) => index / 15);
|
|
239
|
+
const remaining = (offset) => contextDismissal(appearance, offset * total);
|
|
240
|
+
const animations = [];
|
|
241
|
+
if (backdrop && typeof backdrop.animate === 'function') {
|
|
242
|
+
animations.push(animateElement(backdrop, steps.map(offset => ({ offset, opacity: opened * remaining(offset) })), { duration: total, fill: 'forwards' }));
|
|
243
|
+
}
|
|
244
|
+
if (preview && typeof preview.animate === 'function') {
|
|
245
|
+
const shown = getComputedStyle(preview);
|
|
246
|
+
// A computed transform reads matrix(a, 0, 0, d, tx, ty); `a` is the scale and lifted
|
|
247
|
+
// content may also have moved to stay on screen.
|
|
248
|
+
const matrix = /^matrix\(([^)]+)\)/.exec(shown.transform)?.[1]?.split(',').map(Number);
|
|
249
|
+
const scale = matrix?.[0] ?? 1;
|
|
250
|
+
const moveX = matrix?.[4] ?? 0;
|
|
251
|
+
const moveY = matrix?.[5] ?? 0;
|
|
252
|
+
for (const running of preview.getAnimations())
|
|
253
|
+
running.cancel();
|
|
254
|
+
const transformAt = (left) => {
|
|
255
|
+
const move = moveX || moveY ? `translate(${moveX * left}px, ${moveY * left}px) ` : '';
|
|
256
|
+
return `${move}scale(${1 + (scale - 1) * left})`;
|
|
257
|
+
};
|
|
258
|
+
if (shadow) {
|
|
259
|
+
// Content: the plate already holds the blurred shadow. Fade that layer's
|
|
260
|
+
// opacity and scale both with transform. Rebuilding drop-shadow keyframes
|
|
261
|
+
// would repaint the blur on the main thread for the whole dismissal.
|
|
262
|
+
for (const running of shadow.getAnimations())
|
|
263
|
+
running.cancel();
|
|
264
|
+
const returned = (offset) => contextContentRemaining(CONTEXT_CONTENT_RETURN, offset * contentReturnMs);
|
|
265
|
+
const options = { duration: contentReturnMs, fill: 'forwards' };
|
|
266
|
+
animations.push(animateElement(preview, steps.map(offset => ({ offset, transform: transformAt(returned(offset)) })), options));
|
|
267
|
+
if (typeof shadow.animate === 'function') {
|
|
268
|
+
animations.push(animateElement(shadow, steps.map(offset => ({
|
|
269
|
+
offset,
|
|
270
|
+
transform: transformAt(returned(offset)),
|
|
271
|
+
opacity: returned(offset),
|
|
272
|
+
})), options));
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
const { boxShadow, filter } = shown;
|
|
277
|
+
// Rows: the painted cell's box-shadow fades in place. Content never takes this path.
|
|
278
|
+
animations.push(animateElement(preview, steps.map(offset => ({
|
|
279
|
+
offset,
|
|
280
|
+
transform: transformAt(remaining(offset)),
|
|
281
|
+
boxShadow: fadeShadow(boxShadow, remaining(offset)),
|
|
282
|
+
filter: fadeShadow(filter, remaining(offset)),
|
|
283
|
+
})), { duration: total, fill: 'forwards' }));
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return animations;
|
|
287
|
+
}
|
|
288
|
+
/** Dismissal of a custom preview: it returns into its source's box on the content return fit,
|
|
289
|
+
* the open played backwards. It stays opaque for the first two thirds of the way and fades over
|
|
290
|
+
* the last third, as it became opaque over the first third of its growth, so what moves back is
|
|
291
|
+
* the preview, not a translucent wash over a source already back in place. A fade from the
|
|
292
|
+
* first frame read as the tile snapping back with a grey platter fading around it (owner,
|
|
293
|
+
* Music Home tile, 2026-10-14). The source comes back under the fading preview and leads it
|
|
294
|
+
* (1 - preview^4), so their combined coverage stays near whole. Native's own preview fade on
|
|
295
|
+
* dismissal is UNMEASURED; the return geometry is the measured content return. */
|
|
296
|
+
export function animateContextPreviewDismissal(preview, source, to) {
|
|
297
|
+
if (reducedMotion() || typeof preview.animate !== 'function')
|
|
298
|
+
return [];
|
|
299
|
+
const shownOpacity = Number(getComputedStyle(preview).opacity) || 1;
|
|
300
|
+
for (const running of [...preview.getAnimations(), ...source.getAnimations()])
|
|
301
|
+
running.cancel();
|
|
302
|
+
const steps = Array.from({ length: 31 }, (_, index) => index / 30);
|
|
303
|
+
const frames = steps.map(offset => {
|
|
304
|
+
const left = contextContentRemaining(CONTEXT_CONTENT_RETURN, offset * contentReturnMs);
|
|
305
|
+
return {
|
|
306
|
+
offset,
|
|
307
|
+
transform: `translate(${to.dx * (1 - left)}px, ${to.dy * (1 - left)}px) ` +
|
|
308
|
+
`scale(${1 + (to.scaleX - 1) * (1 - left)}, ${1 + (to.scaleY - 1) * (1 - left)})`,
|
|
309
|
+
opacity: shownOpacity * Math.min(1, left * 3),
|
|
310
|
+
};
|
|
311
|
+
});
|
|
312
|
+
const options = { duration: contentReturnMs, fill: 'forwards' };
|
|
313
|
+
return [
|
|
314
|
+
animateElement(preview, frames, options),
|
|
315
|
+
animateElement(source, frames.map(({ offset }, index) => ({
|
|
316
|
+
offset,
|
|
317
|
+
opacity: 1 - (frames[index].opacity / shownOpacity) ** 4,
|
|
318
|
+
})), options),
|
|
319
|
+
];
|
|
320
|
+
}
|
|
321
|
+
/** Scale every rgb/rgba alpha in a computed box-shadow or drop-shadow filter. */
|
|
322
|
+
function fadeShadow(shadow, amount) {
|
|
323
|
+
if (!shadow || shadow === 'none')
|
|
324
|
+
return 'none';
|
|
325
|
+
return shadow.replace(/rgba?\(([^)]+)\)/g, (_, channels) => {
|
|
326
|
+
const [red, green, blue, alpha = '1'] = channels.split(/[\s,/]+/).filter(Boolean);
|
|
327
|
+
return `rgba(${red}, ${green}, ${blue}, ${(Number(alpha) * amount).toFixed(3)})`;
|
|
328
|
+
});
|
|
329
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Counter-retimed physical iPad iOS 27 capture, swipe-motion/r3/native-a.
|
|
2
|
+
* 45 opening samples: 1.06pt RMS. 41 closing samples: 0.42pt RMS.
|
|
3
|
+
* These fits do not establish a velocity-only full-swipe threshold. */
|
|
4
|
+
export declare const swipeRelease: {
|
|
5
|
+
readonly stiffness: 121.34922937441745;
|
|
6
|
+
readonly damping: 20.028579580094434;
|
|
7
|
+
readonly duration: 766.667;
|
|
8
|
+
};
|
|
9
|
+
export declare const swipeClose: {
|
|
10
|
+
readonly stiffness: 111.42158149810808;
|
|
11
|
+
readonly damping: 21.893283929309167;
|
|
12
|
+
readonly duration: 750;
|
|
13
|
+
};
|
|
14
|
+
export { swipeReleasePosition } from './swipeSpring.js';
|
|
15
|
+
export declare function settleSwipe(element: HTMLElement, from: number, to: number, velocity: number, primary?: HTMLElement, openWidth?: number, fromRest?: boolean, width?: number, allowsFullSwipe?: boolean): Animation | undefined;
|
|
16
|
+
import nativeMotion from './nativeMotion.json';
|
|
17
|
+
/** PTS-sampled native envelopes. Geometry and image progress are kept distinct:
|
|
18
|
+
* backdrop samples only drive opacity, and row displacement only drives height. */
|
|
19
|
+
export declare function animateNative(element: HTMLElement, kind: keyof typeof nativeMotion, frames: (progress: number) => Keyframe): Animation | undefined;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { animateElement } from '../motion/animate.js';
|
|
2
|
+
import { swipeContentTrack, resizeRowCornerAnimation } from './rowScrub.js';
|
|
3
|
+
import { swipeActionTracks, presentedTakeover } from './rowScrub.js';
|
|
4
|
+
/** Counter-retimed physical iPad iOS 27 capture, swipe-motion/r3/native-a.
|
|
5
|
+
* 45 opening samples: 1.06pt RMS. 41 closing samples: 0.42pt RMS.
|
|
6
|
+
* These fits do not establish a velocity-only full-swipe threshold. */
|
|
7
|
+
export const swipeRelease = {
|
|
8
|
+
stiffness: 121.34922937441745,
|
|
9
|
+
damping: 20.028579580094434,
|
|
10
|
+
duration: 766.667,
|
|
11
|
+
};
|
|
12
|
+
export const swipeClose = {
|
|
13
|
+
stiffness: 111.42158149810808,
|
|
14
|
+
damping: 21.893283929309167,
|
|
15
|
+
duration: 750,
|
|
16
|
+
};
|
|
17
|
+
export { swipeReleasePosition } from './swipeSpring.js';
|
|
18
|
+
import { swipeReleasePosition } from './swipeSpring.js';
|
|
19
|
+
export function settleSwipe(element, from, to, velocity, primary, openWidth = 0, fromRest = false, width = 0, allowsFullSwipe = false) {
|
|
20
|
+
const caughtTakeover = primary ? presentedTakeover(primary, from) : 0;
|
|
21
|
+
const contentFrame = swipeContentTrack(element);
|
|
22
|
+
const tracks = primary
|
|
23
|
+
? swipeActionTracks(primary, primary.parentElement?.children.length ?? Math.round((openWidth - 10) / 70), width, allowsFullSwipe)
|
|
24
|
+
: [];
|
|
25
|
+
element.getAnimations().forEach(animation => animation.cancel());
|
|
26
|
+
Object.assign(element.style, contentFrame(to, to === 0 ? 0 : 1));
|
|
27
|
+
for (const track of tracks) {
|
|
28
|
+
track.element.getAnimations?.().forEach(animation => animation.cancel());
|
|
29
|
+
Object.assign(track.element.style, track.frame(to, to, 1));
|
|
30
|
+
}
|
|
31
|
+
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches ||
|
|
32
|
+
typeof element.animate !== 'function')
|
|
33
|
+
return;
|
|
34
|
+
const fit = to === 0 ? swipeClose : swipeRelease;
|
|
35
|
+
const positions = Array.from({ length: 43 }, (_, index) => index === 42
|
|
36
|
+
? to
|
|
37
|
+
: swipeReleasePosition(from, to, velocity, ((index / 42) * fit.duration) / 1000, fit));
|
|
38
|
+
const settleProgress = (index) => Math.max(0, Math.min(1, swipeReleasePosition(0, 1, 0, ((index / 42) * fit.duration) / 1000, fit)));
|
|
39
|
+
const timing = { duration: fit.duration, easing: 'linear' };
|
|
40
|
+
const contentFrames = () => positions.map((position, index) => ({
|
|
41
|
+
offset: index / 42,
|
|
42
|
+
...contentFrame(position, fromRest
|
|
43
|
+
? to === 0
|
|
44
|
+
? 1 - settleProgress(index)
|
|
45
|
+
: 1
|
|
46
|
+
: to === 0
|
|
47
|
+
? 0
|
|
48
|
+
: settleProgress(index)),
|
|
49
|
+
}));
|
|
50
|
+
const animation = animateElement(element, contentFrames(), timing);
|
|
51
|
+
resizeRowCornerAnimation(element, animation, contentFrames);
|
|
52
|
+
for (const track of tracks) {
|
|
53
|
+
animateElement(track.element, positions.map((position, index) => ({
|
|
54
|
+
offset: index / 42,
|
|
55
|
+
// A committed pill starts expanded. Treating it as a resting tray here
|
|
56
|
+
// discards that pose and flashes the secondary actions on release.
|
|
57
|
+
...track.frame(position, position, fromRest && caughtTakeover === 0 ? 1 : settleProgress(index), caughtTakeover),
|
|
58
|
+
})), timing);
|
|
59
|
+
}
|
|
60
|
+
return animation;
|
|
61
|
+
}
|
|
62
|
+
import nativeMotion from './nativeMotion.json';
|
|
63
|
+
/** PTS-sampled native envelopes. Geometry and image progress are kept distinct:
|
|
64
|
+
* backdrop samples only drive opacity, and row displacement only drives height. */
|
|
65
|
+
export function animateNative(element, kind, frames) {
|
|
66
|
+
const curve = nativeMotion[kind];
|
|
67
|
+
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches ||
|
|
68
|
+
typeof element.animate !== 'function')
|
|
69
|
+
return undefined;
|
|
70
|
+
return animateElement(element, curve.keyframes.map(([offset, progress]) => ({
|
|
71
|
+
offset,
|
|
72
|
+
...frames(Math.max(0, Math.min(1, progress))),
|
|
73
|
+
})), { duration: curve.duration, easing: 'linear', fill: 'forwards' });
|
|
74
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"light": [
|
|
3
|
+
[
|
|
4
|
+
0,
|
|
5
|
+
0,
|
|
6
|
+
"contrast(1.015) brightness(0.992)"
|
|
7
|
+
],
|
|
8
|
+
[
|
|
9
|
+
114.8,
|
|
10
|
+
0.006,
|
|
11
|
+
"contrast(1.015) brightness(0.992)"
|
|
12
|
+
],
|
|
13
|
+
[
|
|
14
|
+
158.2,
|
|
15
|
+
0.089,
|
|
16
|
+
"contrast(0.616) brightness(1.206)"
|
|
17
|
+
],
|
|
18
|
+
[
|
|
19
|
+
208.2,
|
|
20
|
+
0.474,
|
|
21
|
+
"contrast(0.622) brightness(1.186)"
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
256.5,
|
|
25
|
+
0.818,
|
|
26
|
+
"contrast(0.846) brightness(1.066)"
|
|
27
|
+
],
|
|
28
|
+
[
|
|
29
|
+
304.8,
|
|
30
|
+
0.981,
|
|
31
|
+
"contrast(0.976) brightness(1.008)"
|
|
32
|
+
],
|
|
33
|
+
[
|
|
34
|
+
356.5,
|
|
35
|
+
1,
|
|
36
|
+
"contrast(0.988) brightness(1.006)"
|
|
37
|
+
],
|
|
38
|
+
[
|
|
39
|
+
454.8,
|
|
40
|
+
1,
|
|
41
|
+
"none"
|
|
42
|
+
]
|
|
43
|
+
],
|
|
44
|
+
"dark": [
|
|
45
|
+
[
|
|
46
|
+
0,
|
|
47
|
+
0,
|
|
48
|
+
"contrast(1.168) brightness(0.927)"
|
|
49
|
+
],
|
|
50
|
+
[
|
|
51
|
+
107.7,
|
|
52
|
+
0.024,
|
|
53
|
+
"contrast(1.168) brightness(0.927)"
|
|
54
|
+
],
|
|
55
|
+
[
|
|
56
|
+
156.0,
|
|
57
|
+
0.024,
|
|
58
|
+
"contrast(1.004) brightness(1.009)"
|
|
59
|
+
],
|
|
60
|
+
[
|
|
61
|
+
196.0,
|
|
62
|
+
0.081,
|
|
63
|
+
"contrast(0.996) brightness(0.808)"
|
|
64
|
+
],
|
|
65
|
+
[
|
|
66
|
+
244.3,
|
|
67
|
+
0.463,
|
|
68
|
+
"contrast(0.981) brightness(0.687)"
|
|
69
|
+
],
|
|
70
|
+
[
|
|
71
|
+
294.3,
|
|
72
|
+
0.78,
|
|
73
|
+
"contrast(1.001) brightness(0.901)"
|
|
74
|
+
],
|
|
75
|
+
[
|
|
76
|
+
341.0,
|
|
77
|
+
0.943,
|
|
78
|
+
"contrast(0.998) brightness(0.973)"
|
|
79
|
+
],
|
|
80
|
+
[
|
|
81
|
+
457.7,
|
|
82
|
+
1,
|
|
83
|
+
"none"
|
|
84
|
+
]
|
|
85
|
+
]
|
|
86
|
+
}
|