@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,205 @@
|
|
|
1
|
+
import type { KeyboardTranslation } from '../keyboard/translation.js';
|
|
2
|
+
import type { GlassShapeTrack } from './shapeTrack.js';
|
|
3
|
+
import type { GlassMaterial, GlassRegion, GlassSceneSnapshot } from './regions.js';
|
|
4
|
+
import type { AccessoryViewportTrack } from './webgpu/accessoryTrack.js';
|
|
5
|
+
/** 12v owns execution. These messages never import the compatibility renderer. */
|
|
6
|
+
export type GlassCanvas = OffscreenCanvas | HTMLCanvasElement;
|
|
7
|
+
/** Canvas-local CSS points to the live backdrop plane coordinate space. */
|
|
8
|
+
export type GlassViewport = Readonly<{
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
scaleX: number;
|
|
12
|
+
scaleY: number;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const GLASS_RENDERER_PROTOCOL: 1;
|
|
15
|
+
export type GlassInteraction = Readonly<{
|
|
16
|
+
regionId: string;
|
|
17
|
+
phase: 'rest' | 'pressed' | 'dragging' | 'releasing';
|
|
18
|
+
/** performance.timeOrigin + performance.now(), shared by document and worker. */
|
|
19
|
+
epoch: number;
|
|
20
|
+
/** Region-local CSS pixels; input samples do not resize foreground glyphs. */
|
|
21
|
+
contact?: Readonly<{
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
}>;
|
|
25
|
+
}>;
|
|
26
|
+
export type GlassPresenter = Readonly<{
|
|
27
|
+
id: string;
|
|
28
|
+
role?: 'material' | 'lift';
|
|
29
|
+
layerId: string;
|
|
30
|
+
/** One canvas can cover a layer, a container union, or an isolated DOM stacking slot. */
|
|
31
|
+
regionIds: readonly string[];
|
|
32
|
+
origin: Readonly<{
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
}>;
|
|
36
|
+
/** Container layout origin. Common translation moves the field without changing its local shapes. */
|
|
37
|
+
fieldOrigin?: Readonly<{
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
}>;
|
|
41
|
+
width: number;
|
|
42
|
+
height: number;
|
|
43
|
+
resolution: number;
|
|
44
|
+
}>;
|
|
45
|
+
export type GlassMaterialResponse = Readonly<{
|
|
46
|
+
rest: GlassMaterial;
|
|
47
|
+
lift: Readonly<{
|
|
48
|
+
variant: 'clear';
|
|
49
|
+
/** Sample the transmitted source, never the frosted rest output. */
|
|
50
|
+
source: 'transmitted-backdrop';
|
|
51
|
+
blurSigma: 0;
|
|
52
|
+
tintAlpha: 0;
|
|
53
|
+
rimProfile: 'measured-reference-native';
|
|
54
|
+
refractForeground: true;
|
|
55
|
+
}>;
|
|
56
|
+
liftMix: number;
|
|
57
|
+
}>;
|
|
58
|
+
/** A zero mix MUST take the original reference rest path without changed arithmetic. */
|
|
59
|
+
export declare function glassMaterialResponse(material: GlassMaterial, liftMix: number): GlassMaterialResponse;
|
|
60
|
+
export type GlassSource = Readonly<{
|
|
61
|
+
id: string;
|
|
62
|
+
revision: number;
|
|
63
|
+
layerId: string;
|
|
64
|
+
regionId?: string;
|
|
65
|
+
role: 'transmitted-backdrop' | 'rest-underlay' | 'foreground';
|
|
66
|
+
origin: Readonly<{
|
|
67
|
+
x: number;
|
|
68
|
+
y: number;
|
|
69
|
+
}>;
|
|
70
|
+
width: number;
|
|
71
|
+
height: number;
|
|
72
|
+
resolution: number;
|
|
73
|
+
}>;
|
|
74
|
+
export type GlassRendererRequest = GlassRendererOperation | {
|
|
75
|
+
type: 'transaction';
|
|
76
|
+
requests: readonly GlassRendererOperation[];
|
|
77
|
+
};
|
|
78
|
+
export type GlassRendererOperation = {
|
|
79
|
+
type: 'initialize';
|
|
80
|
+
protocol: typeof GLASS_RENDERER_PROTOCOL;
|
|
81
|
+
appearance: 'light' | 'dark';
|
|
82
|
+
reducedMotion: boolean;
|
|
83
|
+
} | {
|
|
84
|
+
type: 'update-presenter';
|
|
85
|
+
presenter: GlassPresenter;
|
|
86
|
+
} | {
|
|
87
|
+
type: 'presenter-viewport';
|
|
88
|
+
id: string;
|
|
89
|
+
viewport: GlassViewport;
|
|
90
|
+
keyboard?: KeyboardTranslation;
|
|
91
|
+
}
|
|
92
|
+
/** A region's glass changes size inside its still frame (shapeTrack.ts). Sent as soon as the
|
|
93
|
+
* run starts, ahead of the next scene, so the glass moves from its first frame. */
|
|
94
|
+
| {
|
|
95
|
+
type: 'region-shape-track';
|
|
96
|
+
regionId: string;
|
|
97
|
+
track: GlassShapeTrack | undefined;
|
|
98
|
+
}
|
|
99
|
+
/** A new trajectory inside the same admitted presentation source envelope. */
|
|
100
|
+
| {
|
|
101
|
+
type: 'region-presentation-track';
|
|
102
|
+
regionId: string;
|
|
103
|
+
contentEpoch: number;
|
|
104
|
+
track: AccessoryViewportTrack;
|
|
105
|
+
} | {
|
|
106
|
+
type: 'attach-presenter';
|
|
107
|
+
presenter: GlassPresenter;
|
|
108
|
+
canvas: GlassCanvas;
|
|
109
|
+
} | {
|
|
110
|
+
type: 'detach-presenter';
|
|
111
|
+
id: string;
|
|
112
|
+
} | {
|
|
113
|
+
type: 'scene';
|
|
114
|
+
snapshot: GlassSceneSnapshot;
|
|
115
|
+
} | {
|
|
116
|
+
type: 'source';
|
|
117
|
+
source: GlassSource;
|
|
118
|
+
bitmap: ImageBitmap;
|
|
119
|
+
} | {
|
|
120
|
+
type: 'release-source';
|
|
121
|
+
id: string;
|
|
122
|
+
} | {
|
|
123
|
+
type: 'interaction';
|
|
124
|
+
interaction: GlassInteraction;
|
|
125
|
+
} | {
|
|
126
|
+
type: 'morph';
|
|
127
|
+
epoch: number;
|
|
128
|
+
namespace: string;
|
|
129
|
+
id: string;
|
|
130
|
+
from: GlassRegion;
|
|
131
|
+
to: GlassRegion;
|
|
132
|
+
} | {
|
|
133
|
+
type: 'appearance';
|
|
134
|
+
value: 'light' | 'dark';
|
|
135
|
+
reducedMotion: boolean;
|
|
136
|
+
} | {
|
|
137
|
+
type: 'visibility';
|
|
138
|
+
visible: boolean;
|
|
139
|
+
} | {
|
|
140
|
+
type: 'purge';
|
|
141
|
+
} | {
|
|
142
|
+
type: 'restore';
|
|
143
|
+
} | {
|
|
144
|
+
type: 'diagnostics';
|
|
145
|
+
} | {
|
|
146
|
+
type: 'dispose';
|
|
147
|
+
};
|
|
148
|
+
export type GlassRendererDiagnostics = Readonly<{
|
|
149
|
+
backend: 'webgpu';
|
|
150
|
+
devices: number;
|
|
151
|
+
contexts: number;
|
|
152
|
+
presenters: number;
|
|
153
|
+
regions: number;
|
|
154
|
+
scheduledFrames: number;
|
|
155
|
+
draws: number;
|
|
156
|
+
uploads: number;
|
|
157
|
+
copies: number;
|
|
158
|
+
allocatedBytes: number;
|
|
159
|
+
cpuMs: number;
|
|
160
|
+
gpuMs: number | null;
|
|
161
|
+
}>;
|
|
162
|
+
/** Worker failures must retain raw messages and device-loss reasons. */
|
|
163
|
+
export type GlassRendererReply = {
|
|
164
|
+
type: 'error';
|
|
165
|
+
error: import('./errors.js').GlassError;
|
|
166
|
+
} | {
|
|
167
|
+
type: 'diagnostics';
|
|
168
|
+
diagnostics: GlassRendererDiagnostics;
|
|
169
|
+
} | {
|
|
170
|
+
type: 'ready';
|
|
171
|
+
};
|
|
172
|
+
/** Submitted emerge geometry, in the region's border-box coordinates. */
|
|
173
|
+
export type GlassRegionEvent = {
|
|
174
|
+
type: 'accessory-ink';
|
|
175
|
+
regionId: string;
|
|
176
|
+
epoch: number;
|
|
177
|
+
} | {
|
|
178
|
+
type: 'presentation-gate';
|
|
179
|
+
allowed: boolean;
|
|
180
|
+
} | {
|
|
181
|
+
type: 'field-motion';
|
|
182
|
+
regionId: string;
|
|
183
|
+
start: number;
|
|
184
|
+
duration: number;
|
|
185
|
+
velocityX?: number;
|
|
186
|
+
velocityY?: number;
|
|
187
|
+
velocityScaleX?: number;
|
|
188
|
+
velocityScaleY?: number;
|
|
189
|
+
offsetX: number;
|
|
190
|
+
offsetY: number;
|
|
191
|
+
scaleX: number;
|
|
192
|
+
scaleY: number;
|
|
193
|
+
} | {
|
|
194
|
+
type: 'emerge-settled';
|
|
195
|
+
regionId: string;
|
|
196
|
+
generation?: number;
|
|
197
|
+
}
|
|
198
|
+
/** A menu's rows moved between its glass ink and its live DOM: the glass draws them settled
|
|
199
|
+
* (`open-settled`: show the DOM rows) or has taken them into the close (`close-started`). */
|
|
200
|
+
| {
|
|
201
|
+
type: 'emerge-ink';
|
|
202
|
+
regionId: string;
|
|
203
|
+
generation?: number;
|
|
204
|
+
phase: 'open-settled' | 'close-started';
|
|
205
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const GLASS_RENDERER_PROTOCOL = 1;
|
|
2
|
+
/** A zero mix MUST take the original reference rest path without changed arithmetic. */
|
|
3
|
+
export function glassMaterialResponse(material, liftMix) {
|
|
4
|
+
if (!Number.isFinite(liftMix) || liftMix < 0 || liftMix > 1)
|
|
5
|
+
throw new Error('Glass liftMix must be in 0...1.');
|
|
6
|
+
return {
|
|
7
|
+
rest: material,
|
|
8
|
+
lift: {
|
|
9
|
+
variant: 'clear',
|
|
10
|
+
source: 'transmitted-backdrop',
|
|
11
|
+
blurSigma: 0,
|
|
12
|
+
tintAlpha: 0,
|
|
13
|
+
rimProfile: 'measured-reference-native',
|
|
14
|
+
refractForeground: true,
|
|
15
|
+
},
|
|
16
|
+
liftMix: material.interactive ? liftMix : 0,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { SurfaceRenderSpec } from './renderSpecs.js';
|
|
2
|
+
/**
|
|
3
|
+
* Glass that changes size without moving its canvas.
|
|
4
|
+
*
|
|
5
|
+
* A region's canvas fills its element. When the element's layout grows or shrinks, the canvas box
|
|
6
|
+
* changes in that same frame, but the worker only draws the new size a frame or more later. Until
|
|
7
|
+
* then the compositor stretches the old picture into the new box, so the page under the glass
|
|
8
|
+
* seems to slide and smear while nothing behind it moves (owner, Oct 13: "it looks like content is
|
|
9
|
+
* moving underneath as the menu grows").
|
|
10
|
+
*
|
|
11
|
+
* Native Liquid Glass keeps the content behind it in place: only the edge moves. A shape track
|
|
12
|
+
* does the same. The element keeps one layout box for the whole run (the envelope of every frame
|
|
13
|
+
* the glass passes through), so its canvas never resizes or moves and samples the page where it
|
|
14
|
+
* really is. The worker draws the glass at the track's frame for each frame's presentation time,
|
|
15
|
+
* and the page clips the element's content to the same frame from the same samples: one time
|
|
16
|
+
* function for both, as in the accessory morph (`webgpu/accessoryTrack.ts`, `held`).
|
|
17
|
+
*/
|
|
18
|
+
export type GlassShapeTrack = Readonly<{
|
|
19
|
+
/** When the run starts, on the normalized clock (`performance.timeOrigin + performance.now()`,
|
|
20
|
+
* the same instant in the page and the worker). `Number.MAX_VALUE` holds the first frame. */
|
|
21
|
+
epoch: number;
|
|
22
|
+
/** Milliseconds from the first frame to the last. */
|
|
23
|
+
duration: number;
|
|
24
|
+
/** The glass's frame at evenly spaced instants across the run, relative to the region's
|
|
25
|
+
* laid-out box (the envelope). The last frame holds after the run. */
|
|
26
|
+
frames: readonly ShapeFrame[];
|
|
27
|
+
/** Optional corner radii at the same instants as frames. Absent for existing submenu tracks. */
|
|
28
|
+
radii?: readonly number[];
|
|
29
|
+
/** Optional independent bottom corners, sampled at the same instants as frames. */
|
|
30
|
+
bottomRadii?: readonly number[];
|
|
31
|
+
}>;
|
|
32
|
+
export type ShapeFrame = Readonly<{
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
width: number;
|
|
36
|
+
height: number;
|
|
37
|
+
}>;
|
|
38
|
+
/** The normalized clock shared by the page and the glass worker. */
|
|
39
|
+
export declare function shapeTrackClock(): number;
|
|
40
|
+
/** The glass frame at `at`, interpolated between the track's samples. */
|
|
41
|
+
export declare function shapeTrackFrame(track: GlassShapeTrack, at: number): ShapeFrame;
|
|
42
|
+
/** Corners and geometry use one clock. Existing tracks keep their shape's radius rule. */
|
|
43
|
+
export declare function shapeTrackRadius(track: GlassShapeTrack, at: number, fallback: number, edge?: 'top' | 'bottom'): number;
|
|
44
|
+
/** Whether the track still moves at `at` (a held first frame does not). */
|
|
45
|
+
export declare function shapeTrackRunning(track: GlassShapeTrack, at: number): boolean;
|
|
46
|
+
/** The smallest box that holds every frame of the track (relative to the same origin). */
|
|
47
|
+
export declare function shapeTrackEnvelope(frames: readonly ShapeFrame[]): ShapeFrame;
|
|
48
|
+
/**
|
|
49
|
+
* A region's render spec with its glass drawn at the track's frame for `at`. The spec's frame and
|
|
50
|
+
* sampling rectangle stay the envelope's, so its canvas and textures keep their size: only the
|
|
51
|
+
* shape inside them changes. Corners keep the region's radius, capped by the smaller frame.
|
|
52
|
+
*/
|
|
53
|
+
export declare function trackedShapeSpec(spec: SurfaceRenderSpec, track: GlassShapeTrack, at: number, cornerRadius: (width: number, height: number) => number): SurfaceRenderSpec;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/** The normalized clock shared by the page and the glass worker. */
|
|
2
|
+
export function shapeTrackClock() {
|
|
3
|
+
return performance.timeOrigin + performance.now();
|
|
4
|
+
}
|
|
5
|
+
/** The glass frame at `at`, interpolated between the track's samples. */
|
|
6
|
+
export function shapeTrackFrame(track, at) {
|
|
7
|
+
const frames = track.frames;
|
|
8
|
+
if (frames.length === 0)
|
|
9
|
+
throw Error('A glass shape track needs at least one frame');
|
|
10
|
+
const progress = track.duration > 0 ? Math.max(0, Math.min(1, (at - track.epoch) / track.duration)) : 1;
|
|
11
|
+
const position = progress * (frames.length - 1);
|
|
12
|
+
const index = Math.floor(position);
|
|
13
|
+
const from = frames[index];
|
|
14
|
+
const to = frames[Math.min(index + 1, frames.length - 1)];
|
|
15
|
+
const mix = position - index;
|
|
16
|
+
return {
|
|
17
|
+
x: from.x + (to.x - from.x) * mix,
|
|
18
|
+
y: from.y + (to.y - from.y) * mix,
|
|
19
|
+
width: from.width + (to.width - from.width) * mix,
|
|
20
|
+
height: from.height + (to.height - from.height) * mix,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** Corners and geometry use one clock. Existing tracks keep their shape's radius rule. */
|
|
24
|
+
export function shapeTrackRadius(track, at, fallback, edge = 'top') {
|
|
25
|
+
const radii = edge === 'bottom' ? track.bottomRadii : track.radii;
|
|
26
|
+
if (!radii?.length)
|
|
27
|
+
return fallback;
|
|
28
|
+
const progress = track.duration > 0 ? Math.max(0, Math.min(1, (at - track.epoch) / track.duration)) : 1;
|
|
29
|
+
const position = progress * (radii.length - 1);
|
|
30
|
+
const index = Math.floor(position);
|
|
31
|
+
const from = radii[index];
|
|
32
|
+
return from + (radii[Math.min(index + 1, radii.length - 1)] - from) * (position - index);
|
|
33
|
+
}
|
|
34
|
+
/** Whether the track still moves at `at` (a held first frame does not). */
|
|
35
|
+
export function shapeTrackRunning(track, at) {
|
|
36
|
+
return track.epoch !== Number.MAX_VALUE && at < track.epoch + track.duration;
|
|
37
|
+
}
|
|
38
|
+
/** The smallest box that holds every frame of the track (relative to the same origin). */
|
|
39
|
+
export function shapeTrackEnvelope(frames) {
|
|
40
|
+
const left = Math.min(...frames.map(frame => frame.x));
|
|
41
|
+
const top = Math.min(...frames.map(frame => frame.y));
|
|
42
|
+
const right = Math.max(...frames.map(frame => frame.x + frame.width));
|
|
43
|
+
const bottom = Math.max(...frames.map(frame => frame.y + frame.height));
|
|
44
|
+
return { x: left, y: top, width: right - left, height: bottom - top };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A region's render spec with its glass drawn at the track's frame for `at`. The spec's frame and
|
|
48
|
+
* sampling rectangle stay the envelope's, so its canvas and textures keep their size: only the
|
|
49
|
+
* shape inside them changes. Corners keep the region's radius, capped by the smaller frame.
|
|
50
|
+
*/
|
|
51
|
+
export function trackedShapeSpec(spec, track, at, cornerRadius) {
|
|
52
|
+
const frame = shapeTrackFrame(track, at);
|
|
53
|
+
const radius = Math.max(0, Math.min(frame.width / 2, frame.height / 2, shapeTrackRadius(track, at, cornerRadius(frame.width, frame.height))));
|
|
54
|
+
const first = spec.shape.first;
|
|
55
|
+
const bottomRadius = first.bottomRadius === undefined && !track.bottomRadii?.length
|
|
56
|
+
? undefined
|
|
57
|
+
: Math.max(0, Math.min(shapeTrackRadius(track, at, first.bottomRadius ?? radius, 'bottom'), frame.width / 2, frame.height / 2));
|
|
58
|
+
return {
|
|
59
|
+
...spec,
|
|
60
|
+
radius,
|
|
61
|
+
shape: {
|
|
62
|
+
...spec.shape,
|
|
63
|
+
first: {
|
|
64
|
+
...first,
|
|
65
|
+
centerX: frame.x + frame.width / 2,
|
|
66
|
+
centerY: frame.y + frame.height / 2,
|
|
67
|
+
halfWidth: frame.width / 2,
|
|
68
|
+
halfHeight: frame.height / 2,
|
|
69
|
+
radius,
|
|
70
|
+
...(bottomRadius === undefined ? {} : { bottomRadius }),
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type GlassShapeTrack } from './shapeTrack.js';
|
|
2
|
+
/** The shape track a glass element is running, if any (read by the region bridge). */
|
|
3
|
+
export declare function glassShapeTrack(element: Element): Readonly<{
|
|
4
|
+
epoch: number;
|
|
5
|
+
duration: number;
|
|
6
|
+
frames: readonly import("./shapeTrack.js").ShapeFrame[];
|
|
7
|
+
radii?: readonly number[];
|
|
8
|
+
bottomRadii?: readonly number[];
|
|
9
|
+
}> | undefined;
|
|
10
|
+
/** The visible aperture, not the canvas envelope, in viewport coordinates. Framework motion
|
|
11
|
+
* uses axis-aligned translation/scale. Layout dimensions undo that ancestor scale exactly once.
|
|
12
|
+
* Callers doing a multi-part handoff pass one timestamp for every sample. */
|
|
13
|
+
export declare function glassAperture(element: HTMLElement, at?: number): {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
radius: number;
|
|
19
|
+
};
|
|
20
|
+
/** The same aperture in a renderer's resting coordinate plane. */
|
|
21
|
+
export declare function glassApertureInFrame(element: HTMLElement, box: {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
}, at?: number): {
|
|
27
|
+
x: number;
|
|
28
|
+
y: number;
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
radius: number;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Run (or, with `undefined`, end) a shape track on a glass element. The caller keeps the
|
|
35
|
+
* element's layout at the track's envelope while it runs. The glass worker receives the track
|
|
36
|
+
* straight away, not with the next scene: a scene can wait behind captures for several frames.
|
|
37
|
+
*/
|
|
38
|
+
export declare function setGlassShapeTrack(element: Element, track: GlassShapeTrack | undefined): void;
|
|
39
|
+
/** Tells the glass regions that an element's shape track changed (the bridge sends it at once). */
|
|
40
|
+
export declare const GLASS_SHAPE_TRACK_EVENT = "satin-glass-shape-track";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { shapeTrackClock, shapeTrackFrame, shapeTrackRadius, } from './shapeTrack.js';
|
|
2
|
+
/** Page side of shape tracks (shapeTrack.ts): which glass element runs which track. The glass
|
|
3
|
+
* worker never imports this module; it receives tracks in requests and scene snapshots. */
|
|
4
|
+
const tracks = new WeakMap();
|
|
5
|
+
/** The shape track a glass element is running, if any (read by the region bridge). */
|
|
6
|
+
export function glassShapeTrack(element) {
|
|
7
|
+
return tracks.get(element);
|
|
8
|
+
}
|
|
9
|
+
/** The visible aperture, not the canvas envelope, in viewport coordinates. Framework motion
|
|
10
|
+
* uses axis-aligned translation/scale. Layout dimensions undo that ancestor scale exactly once.
|
|
11
|
+
* Callers doing a multi-part handoff pass one timestamp for every sample. */
|
|
12
|
+
export function glassAperture(element, at = shapeTrackClock()) {
|
|
13
|
+
return glassApertureInFrame(element, element.getBoundingClientRect(), at);
|
|
14
|
+
}
|
|
15
|
+
/** The same aperture in a renderer's resting coordinate plane. */
|
|
16
|
+
export function glassApertureInFrame(element, box, at = shapeTrackClock()) {
|
|
17
|
+
const style = getComputedStyle(element);
|
|
18
|
+
const radius = parseFloat(style.borderTopLeftRadius) || 0;
|
|
19
|
+
const track = tracks.get(element);
|
|
20
|
+
if (!track)
|
|
21
|
+
return { x: box.x, y: box.y, width: box.width, height: box.height, radius };
|
|
22
|
+
const width = parseFloat(style.width) || element.offsetWidth;
|
|
23
|
+
const height = parseFloat(style.height) || element.offsetHeight;
|
|
24
|
+
const scaleX = width > 0 ? box.width / width : 1;
|
|
25
|
+
const scaleY = height > 0 ? box.height / height : 1;
|
|
26
|
+
const frame = shapeTrackFrame(track, at);
|
|
27
|
+
return {
|
|
28
|
+
x: box.x + frame.x * scaleX,
|
|
29
|
+
y: box.y + frame.y * scaleY,
|
|
30
|
+
width: frame.width * scaleX,
|
|
31
|
+
height: frame.height * scaleY,
|
|
32
|
+
radius: Math.min(frame.width / 2, frame.height / 2, shapeTrackRadius(track, at, radius)) *
|
|
33
|
+
Math.min(scaleX, scaleY),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Run (or, with `undefined`, end) a shape track on a glass element. The caller keeps the
|
|
38
|
+
* element's layout at the track's envelope while it runs. The glass worker receives the track
|
|
39
|
+
* straight away, not with the next scene: a scene can wait behind captures for several frames.
|
|
40
|
+
*/
|
|
41
|
+
export function setGlassShapeTrack(element, track) {
|
|
42
|
+
if (track)
|
|
43
|
+
tracks.set(element, track);
|
|
44
|
+
else
|
|
45
|
+
tracks.delete(element);
|
|
46
|
+
window.dispatchEvent(new CustomEvent(GLASS_SHAPE_TRACK_EVENT, { detail: element }));
|
|
47
|
+
}
|
|
48
|
+
/** Tells the glass regions that an element's shape track changed (the bridge sends it at once). */
|
|
49
|
+
export const GLASS_SHAPE_TRACK_EVENT = 'satin-glass-shape-track';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Mutations inside framework chrome (controls, bars) never damage the glass source: their
|
|
2
|
+
* feedback is presentation (webgpu/production.ts). A control whose painted look changed, such as a
|
|
3
|
+
* Toggle track's colour, asks for that one recapture so glass sampling it does not keep the old
|
|
4
|
+
* paint. Dispatch after the change has finished painting, not per animation frame. */
|
|
5
|
+
export declare const GLASS_SOURCE_DAMAGE_EVENT = "satin-glass-source-damage";
|
|
6
|
+
export declare function requestGlassSourceDamage(element: Element): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Mutations inside framework chrome (controls, bars) never damage the glass source: their
|
|
2
|
+
* feedback is presentation (webgpu/production.ts). A control whose painted look changed, such as a
|
|
3
|
+
* Toggle track's colour, asks for that one recapture so glass sampling it does not keep the old
|
|
4
|
+
* paint. Dispatch after the change has finished painting, not per animation frame. */
|
|
5
|
+
export const GLASS_SOURCE_DAMAGE_EVENT = 'satin-glass-source-damage';
|
|
6
|
+
export function requestGlassSourceDamage(element) {
|
|
7
|
+
element.dispatchEvent(new Event(GLASS_SOURCE_DAMAGE_EVENT, { bubbles: true }));
|
|
8
|
+
}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { type SpringParameters } from '../motion/springTrack.js';
|
|
2
|
+
/**
|
|
3
|
+
* Nested menus, measured from stock SwiftUI on iOS 27.0 (submenus/SPEC.md).
|
|
4
|
+
*
|
|
5
|
+
* iPhone stacks each submenu over its parent: the parent shrinks to 0.97 about its top edge and
|
|
6
|
+
* its rows dim to half ink, and the child grows out of the row that opened it into a full-width
|
|
7
|
+
* platter whose title row sits 12 pt above where that row now is. iPad opens a cascade beside the
|
|
8
|
+
* parent instead: the child overlaps the parent's edge by 12 pt and its first row lines up with
|
|
9
|
+
* the row that opened it, while the parent stays as it was.
|
|
10
|
+
*
|
|
11
|
+
* Springs are fitted per track from a 60 Hz presentation-layer trace of the native Simulator
|
|
12
|
+
* (submenus-impl/fit-open-child.json and fit-back.json; RMS residuals under 0.2 pt / 0.004 ink).
|
|
13
|
+
* Forward and back are fitted separately: the child opens slightly underdamped (zeta 0.85) and
|
|
14
|
+
* collapses critically damped (zeta 1.0). The iPad cascade's motion is unmeasured; it uses the
|
|
15
|
+
* same child springs until an iPad trace exists.
|
|
16
|
+
*
|
|
17
|
+
* Only the glass changes size. The same trace shows the child's rows keeping their full size
|
|
18
|
+
* throughout: on the way back the glass shrinks around the title row while the rows drift 3.6 pt,
|
|
19
|
+
* so the title lands exactly on the row that opened it, and the title's chevron turns from down to
|
|
20
|
+
* forward on its own spring (measured Oct 13: the content and chevron fits).
|
|
21
|
+
*/
|
|
22
|
+
export declare const SUBMENU_GEOMETRY: {
|
|
23
|
+
/** Each ancestor level below the top submenu shrinks by this much more (0.97, 0.94, ...). */
|
|
24
|
+
parentScaleStep: number;
|
|
25
|
+
/** Ink of an ancestor's rows while a submenu covers it. */
|
|
26
|
+
parentInk: number;
|
|
27
|
+
/** The child's top sits this far above the (scaled) top of the row that opened it. */
|
|
28
|
+
phoneTitleLift: number;
|
|
29
|
+
/** The iPad child overlaps the parent's edge by this much. */
|
|
30
|
+
padEdgeOverlap: number;
|
|
31
|
+
/** The iPad child's first row starts this far above the row that opened it. */
|
|
32
|
+
padRowLift: number;
|
|
33
|
+
};
|
|
34
|
+
export declare const SUBMENU_SPRINGS: {
|
|
35
|
+
open: {
|
|
36
|
+
/** Width, height and x of the child's glass: one spring. */
|
|
37
|
+
frame: {
|
|
38
|
+
stiffness: number;
|
|
39
|
+
damping: number;
|
|
40
|
+
};
|
|
41
|
+
/** The glass's top settles faster than its size (overdamped). */
|
|
42
|
+
top: {
|
|
43
|
+
stiffness: number;
|
|
44
|
+
damping: number;
|
|
45
|
+
};
|
|
46
|
+
/** The child's rows keep their size and move only from the opening row to their place. */
|
|
47
|
+
content: {
|
|
48
|
+
stiffness: number;
|
|
49
|
+
damping: number;
|
|
50
|
+
};
|
|
51
|
+
/** The title's chevron turns from pointing forward to pointing down. */
|
|
52
|
+
chevron: {
|
|
53
|
+
stiffness: number;
|
|
54
|
+
damping: number;
|
|
55
|
+
};
|
|
56
|
+
parentScale: {
|
|
57
|
+
stiffness: number;
|
|
58
|
+
damping: number;
|
|
59
|
+
};
|
|
60
|
+
/** The parent's rows start dimming 50 ms after the child starts to grow. */
|
|
61
|
+
parentInk: {
|
|
62
|
+
stiffness: number;
|
|
63
|
+
damping: number;
|
|
64
|
+
delay: number;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
back: {
|
|
68
|
+
frame: {
|
|
69
|
+
stiffness: number;
|
|
70
|
+
damping: number;
|
|
71
|
+
};
|
|
72
|
+
top: {
|
|
73
|
+
stiffness: number;
|
|
74
|
+
damping: number;
|
|
75
|
+
};
|
|
76
|
+
parentScale: {
|
|
77
|
+
stiffness: number;
|
|
78
|
+
damping: number;
|
|
79
|
+
};
|
|
80
|
+
parentInk: {
|
|
81
|
+
stiffness: number;
|
|
82
|
+
damping: number;
|
|
83
|
+
};
|
|
84
|
+
/** The child's rows fade out as it collapses into its row. */
|
|
85
|
+
fade: {
|
|
86
|
+
stiffness: number;
|
|
87
|
+
damping: number;
|
|
88
|
+
};
|
|
89
|
+
/** The rows keep their size and move only until the title sits on the row that opened it. */
|
|
90
|
+
content: {
|
|
91
|
+
stiffness: number;
|
|
92
|
+
damping: number;
|
|
93
|
+
};
|
|
94
|
+
/** The title's chevron turns back from pointing down to pointing forward. */
|
|
95
|
+
chevron: {
|
|
96
|
+
stiffness: number;
|
|
97
|
+
damping: number;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
export type Frame = Readonly<{
|
|
102
|
+
x: number;
|
|
103
|
+
y: number;
|
|
104
|
+
width: number;
|
|
105
|
+
height: number;
|
|
106
|
+
}>;
|
|
107
|
+
/** Progress (0 to 1) of a measured spring `ms` after it starts. */
|
|
108
|
+
export declare function springProgress(parameters: SpringParameters, ms: number): number;
|
|
109
|
+
/** Compositor keyframes for one measured spring, from `from` to `to`. */
|
|
110
|
+
export declare function springKeyframes(parameters: SpringParameters, frame: (progress: number) => Keyframe): {
|
|
111
|
+
keyframes: Keyframe[];
|
|
112
|
+
duration: number;
|
|
113
|
+
};
|
|
114
|
+
/** Scale of a level that has `covering` submenu levels open above it. */
|
|
115
|
+
export declare function ancestorScale(covering: number): number;
|
|
116
|
+
/**
|
|
117
|
+
* Where a phone submenu settles, in the root platter's coordinates. `parent` is the parent
|
|
118
|
+
* platter's resting frame and `row` the opening row's resting frame; the parent then shrinks to
|
|
119
|
+
* `parentScale` about its top edge.
|
|
120
|
+
*/
|
|
121
|
+
export declare function phoneSubmenuFrame(parent: Frame, row: Frame, parentScale: number, child: {
|
|
122
|
+
width: number;
|
|
123
|
+
height: number;
|
|
124
|
+
}, bounds: Frame): Frame;
|
|
125
|
+
/**
|
|
126
|
+
* Where an iPad submenu settles: beside the parent, overlapping its trailing edge, with its first
|
|
127
|
+
* row level with the opening row. It flips to the leading side when the trailing side has no room.
|
|
128
|
+
*/
|
|
129
|
+
export declare function padSubmenuFrame(parent: Frame, row: Frame, child: {
|
|
130
|
+
width: number;
|
|
131
|
+
height: number;
|
|
132
|
+
firstRowOffset: number;
|
|
133
|
+
}, bounds: Frame): Frame;
|
|
134
|
+
/** Where the child's content sits, in the same coordinates as its frame. */
|
|
135
|
+
export type Point = Readonly<{
|
|
136
|
+
x: number;
|
|
137
|
+
y: number;
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* The child's glass frame from `from` to `to`, sampled from the measured springs until it settles:
|
|
141
|
+
* x, width and height share one spring and the top has its own.
|
|
142
|
+
*/
|
|
143
|
+
export declare function submenuGlassFrames(from: Frame, to: Frame, direction: 'open' | 'back'): {
|
|
144
|
+
frames: Readonly<{
|
|
145
|
+
x: number;
|
|
146
|
+
y: number;
|
|
147
|
+
width: number;
|
|
148
|
+
height: number;
|
|
149
|
+
}>[];
|
|
150
|
+
duration: number;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Where a phone child's content must sit for its title row to cover the row that opened it:
|
|
154
|
+
* `titleOffset` is the title row's position inside the content. The child grows out of that place
|
|
155
|
+
* and collapses back into it, so the title never jumps when the platter appears or leaves.
|
|
156
|
+
*/
|
|
157
|
+
export declare function titleOnRow(row: Frame, titleOffset: Point): Point;
|
|
158
|
+
/** The content's position `ms` into a transition from `from` to `to`. */
|
|
159
|
+
export declare function submenuContentAt(from: Point, to: Point, direction: 'open' | 'back', ms: number): Point;
|
|
160
|
+
/** Compositor keyframes that turn the title's chevron: forward is a quarter turn back from down. */
|
|
161
|
+
export declare function chevronKeyframes(direction: 'open' | 'back', fromDegrees?: number): {
|
|
162
|
+
keyframes: Keyframe[];
|
|
163
|
+
duration: number;
|
|
164
|
+
};
|
|
165
|
+
/** The parts of a platter a transition moves. */
|
|
166
|
+
export type SubmenuParts = Readonly<{
|
|
167
|
+
/** The positioned frame element; its layout box holds still for the whole transition. */
|
|
168
|
+
platter: HTMLElement;
|
|
169
|
+
/** The glass element inside it, which carries the shape track. */
|
|
170
|
+
glass: HTMLElement;
|
|
171
|
+
/** Clips the content to the glass's current frame. */
|
|
172
|
+
clip: HTMLElement;
|
|
173
|
+
/** The rows, at their full size. */
|
|
174
|
+
content: HTMLElement;
|
|
175
|
+
/** The glass's corner radius. */
|
|
176
|
+
cornerRadius: number;
|
|
177
|
+
}>;
|
|
178
|
+
/** Where a platter's glass is now (not its layout box, which may be larger while it moves). */
|
|
179
|
+
export declare function submenuVisibleFrame(platter: HTMLElement): Readonly<{
|
|
180
|
+
x: number;
|
|
181
|
+
y: number;
|
|
182
|
+
width: number;
|
|
183
|
+
height: number;
|
|
184
|
+
}> | undefined;
|
|
185
|
+
/**
|
|
186
|
+
* Move a child platter's glass from `from` to `to` on the measured springs, and its content from
|
|
187
|
+
* `contentFrom` to `contentTo` on its own spring.
|
|
188
|
+
*
|
|
189
|
+
* The platter's layout box holds the envelope of every frame of the run, so its glass canvas never
|
|
190
|
+
* resizes or moves: the backdrop stays where it is on screen and only the glass's edge moves
|
|
191
|
+
* (shapeTrack.ts). The glass is drawn from a shape track, and the content is clipped to the same
|
|
192
|
+
* frames, read from the same track. Returns a function that stops the motion where it is.
|
|
193
|
+
*/
|
|
194
|
+
export declare function animateSubmenuFrame(parts: SubmenuParts, from: Frame, to: Frame, contentFrom: Point, contentTo: Point, direction: 'open' | 'back', done?: () => void): () => void;
|
|
195
|
+
/**
|
|
196
|
+
* Lay a platter out for a run that has not started: its box is already the run's envelope and its
|
|
197
|
+
* glass holds the first frame, so the glass the platter first appears with is drawn in the canvas
|
|
198
|
+
* the whole run keeps.
|
|
199
|
+
*/
|
|
200
|
+
export declare function holdSubmenuFrame(parts: SubmenuParts, from: Frame, to: Frame, contentFrom: Point, direction: 'open' | 'back'): void;
|
|
201
|
+
/** Where a platter's content sits now, if a transition has placed it. */
|
|
202
|
+
export declare function submenuContentPlace(platter: HTMLElement): Readonly<{
|
|
203
|
+
x: number;
|
|
204
|
+
y: number;
|
|
205
|
+
}> | undefined;
|