@satinhq/kit 0.0.0-stage → 0.1.0-beta.1
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 +29 -0
- package/dist/glass/GlassPresentation.js +1041 -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 +176 -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 +38 -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 +32 -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 +833 -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 +116 -3
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { armPointerClickSuppression } from '../press/activation.js';
|
|
2
|
+
import { cancelPointerPressForOwnedGesture } from '../press/gestureArbitration.js';
|
|
3
|
+
/** The accessory owns contacts that start on its chrome, including the gaps between controls. */
|
|
4
|
+
export function installAccessoryContactOwnership(element) {
|
|
5
|
+
const contacts = new Set();
|
|
6
|
+
const down = (event) => {
|
|
7
|
+
if (event.isPrimary && event.button === 0)
|
|
8
|
+
contacts.add(event.pointerId);
|
|
9
|
+
};
|
|
10
|
+
const finish = (event) => {
|
|
11
|
+
if (!contacts.delete(event.pointerId))
|
|
12
|
+
return;
|
|
13
|
+
const bounds = element.getBoundingClientRect();
|
|
14
|
+
const inside = element.isConnected &&
|
|
15
|
+
event.target instanceof Node &&
|
|
16
|
+
element.contains(event.target) &&
|
|
17
|
+
event.clientX >= bounds.left &&
|
|
18
|
+
event.clientX <= bounds.right &&
|
|
19
|
+
event.clientY >= bounds.top &&
|
|
20
|
+
event.clientY <= bounds.bottom;
|
|
21
|
+
if (event.type === 'pointercancel' || !inside) {
|
|
22
|
+
cancelPointerPressForOwnedGesture(event.pointerId);
|
|
23
|
+
// This receipt follows the contact if WebKit retargets its compatibility click
|
|
24
|
+
// to a row after the accessory moved, or the finger left its bounds.
|
|
25
|
+
armPointerClickSuppression(performance.now(), event.pointerId);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const document = element.ownerDocument;
|
|
29
|
+
element.addEventListener('pointerdown', down, true);
|
|
30
|
+
document.addEventListener('pointerup', finish, true);
|
|
31
|
+
document.addEventListener('pointercancel', finish, true);
|
|
32
|
+
return () => {
|
|
33
|
+
element.removeEventListener('pointerdown', down, true);
|
|
34
|
+
document.removeEventListener('pointerup', finish, true);
|
|
35
|
+
document.removeEventListener('pointercancel', finish, true);
|
|
36
|
+
for (const pointerId of contacts) {
|
|
37
|
+
cancelPointerPressForOwnedGesture(pointerId);
|
|
38
|
+
armPointerClickSuppression(performance.now(), pointerId);
|
|
39
|
+
}
|
|
40
|
+
contacts.clear();
|
|
41
|
+
};
|
|
42
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function registerCompactTabBar(chrome: Element, restore: () => void): () => void;
|
|
2
|
+
export declare function restoreCompactTabBar(chrome: Element | null): void;
|
|
3
|
+
/** Rendered glass chrome can live outside TabView. Its tab panels identify the owner. */
|
|
4
|
+
export declare function tabBottomChrome(dock: Element): HTMLElement | undefined;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** The rendered tab bar owns restoration; TabView owns selection and retained destinations. */
|
|
2
|
+
const restorers = new WeakMap();
|
|
3
|
+
export function registerCompactTabBar(chrome, restore) {
|
|
4
|
+
restorers.set(chrome, restore);
|
|
5
|
+
return () => {
|
|
6
|
+
if (restorers.get(chrome) === restore)
|
|
7
|
+
restorers.delete(chrome);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function restoreCompactTabBar(chrome) {
|
|
11
|
+
if (chrome)
|
|
12
|
+
restorers.get(chrome)?.();
|
|
13
|
+
}
|
|
14
|
+
/** Rendered glass chrome can live outside TabView. Its tab panels identify the owner. */
|
|
15
|
+
export function tabBottomChrome(dock) {
|
|
16
|
+
for (const tab of dock.querySelectorAll('[role="tab"][aria-controls]')) {
|
|
17
|
+
const panel = dock.ownerDocument.getElementById(tab.getAttribute('aria-controls'));
|
|
18
|
+
const owner = panel?.closest('[data-satin-tab-view]');
|
|
19
|
+
const chrome = owner?.querySelector('[data-satin-tab-bottom-chrome="phone"]');
|
|
20
|
+
if (chrome)
|
|
21
|
+
return chrome;
|
|
22
|
+
}
|
|
23
|
+
// Standalone internal specimens do not register panels. Never choose an arbitrary owner.
|
|
24
|
+
const candidates = dock
|
|
25
|
+
.closest('[data-satin-root]')
|
|
26
|
+
?.querySelectorAll('[data-satin-tab-bottom-chrome="phone"]');
|
|
27
|
+
return candidates?.length === 1 ? candidates[0] : undefined;
|
|
28
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Tab visibility pauses framework work without destroying app effects or DOM. */
|
|
2
|
+
export declare const TabActivityContext: import("react").Context<boolean>;
|
|
3
|
+
export declare const TabRegistrationContext: import("react").Context<((retap: () => void) => () => void) | null>;
|
|
4
|
+
/** Public app runtime persists the native tab-sidebar preference with the scene. */
|
|
5
|
+
export declare const TabSidebarContext: import("react").Context<{
|
|
6
|
+
expanded: boolean | undefined;
|
|
7
|
+
setExpanded: (expanded: boolean) => void;
|
|
8
|
+
} | null>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
/** Tab visibility pauses framework work without destroying app effects or DOM. */
|
|
3
|
+
export const TabActivityContext = createContext(true);
|
|
4
|
+
export const TabRegistrationContext = createContext(null);
|
|
5
|
+
/** Public app runtime persists the native tab-sidebar preference with the scene. */
|
|
6
|
+
export const TabSidebarContext = createContext(null);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Shared roving focus for the floating tab bar and its sidebar representation. */
|
|
2
|
+
export function handleTabKeyDown(event) {
|
|
3
|
+
const enabled = [
|
|
4
|
+
...event.currentTarget.querySelectorAll('[role="tab"]:not(:disabled)'),
|
|
5
|
+
].filter(button => !button.closest('[hidden], [inert]'));
|
|
6
|
+
const current = enabled.indexOf(event.target);
|
|
7
|
+
if (current < 0)
|
|
8
|
+
return;
|
|
9
|
+
const next = event.key === 'ArrowRight' || event.key === 'ArrowDown'
|
|
10
|
+
? (current + 1) % enabled.length
|
|
11
|
+
: event.key === 'ArrowLeft' || event.key === 'ArrowUp'
|
|
12
|
+
? (current + enabled.length - 1) % enabled.length
|
|
13
|
+
: event.key === 'Home'
|
|
14
|
+
? 0
|
|
15
|
+
: event.key === 'End'
|
|
16
|
+
? enabled.length - 1
|
|
17
|
+
: undefined;
|
|
18
|
+
if (next === undefined)
|
|
19
|
+
return;
|
|
20
|
+
event.preventDefault();
|
|
21
|
+
enabled[next].focus();
|
|
22
|
+
enabled[next].click();
|
|
23
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type TabIdentity<Id extends string = string> = Readonly<{
|
|
2
|
+
id: Id;
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
}>;
|
|
5
|
+
export declare function resolveTabSelection<Id extends string>(tabs: readonly TabIdentity<Id>[], requested?: Id): Id | undefined;
|
|
6
|
+
export declare function retainTabs<Id extends string>(visited: readonly Id[], tabs: readonly TabIdentity<Id>[], selection?: Id): readonly Id[];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function resolveTabSelection(tabs, requested) {
|
|
2
|
+
const ids = new Set();
|
|
3
|
+
for (const tab of tabs) {
|
|
4
|
+
if (!tab.id.trim() || ids.has(tab.id))
|
|
5
|
+
throw new Error('Tab ids must be non-empty and unique within TabView.');
|
|
6
|
+
ids.add(tab.id);
|
|
7
|
+
}
|
|
8
|
+
return (tabs.find(tab => tab.id === requested && !tab.disabled)?.id ??
|
|
9
|
+
tabs.find(tab => !tab.disabled)?.id);
|
|
10
|
+
}
|
|
11
|
+
export function retainTabs(visited, tabs, selection) {
|
|
12
|
+
const next = visited.filter(id => tabs.some(tab => tab.id === id));
|
|
13
|
+
if (selection !== undefined && !next.includes(selection))
|
|
14
|
+
next.push(selection);
|
|
15
|
+
return next.length === visited.length && next.every((id, i) => id === visited[i]) ? visited : next;
|
|
16
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TabBarItem } from '../glass/TabBar.js';
|
|
2
|
+
/** Search is a destination with a reserved position, independent of declaration order. */
|
|
3
|
+
export declare function orderedTabItems<T extends Pick<TabBarItem, 'role'>>(items: readonly T[], placement: 'top' | 'sidebar'): readonly T[];
|
|
4
|
+
/** Sizing and painted ink must use the same content, including the role's default symbol. */
|
|
5
|
+
export declare function TopTabLabel({ item }: {
|
|
6
|
+
item: Pick<TabBarItem, 'role' | 'label'>;
|
|
7
|
+
}): string | number | bigint | boolean | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | Iterable<import("react").ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SymbolImage } from '../symbols/Symbol.js';
|
|
3
|
+
/** Search is a destination with a reserved position, independent of declaration order. */
|
|
4
|
+
export function orderedTabItems(items, placement) {
|
|
5
|
+
const search = items.filter(item => item.role === 'search');
|
|
6
|
+
if (!search.length)
|
|
7
|
+
return items;
|
|
8
|
+
const destinations = items.filter(item => item.role !== 'search');
|
|
9
|
+
return placement === 'top' ? [...destinations, ...search] : [...search, ...destinations];
|
|
10
|
+
}
|
|
11
|
+
/** Sizing and painted ink must use the same content, including the role's default symbol. */
|
|
12
|
+
export function TopTabLabel({ item }) {
|
|
13
|
+
return item.role === 'search' ? _jsx(SymbolImage, { name: "magnifyingglass" }) : item.label;
|
|
14
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { changesMirrorSource } from '../glass/lens/mirrorInvalidation.js';
|
|
2
|
+
const revisions = new WeakMap();
|
|
3
|
+
const observers = new Set();
|
|
4
|
+
function invalidate(records) {
|
|
5
|
+
for (const record of records) {
|
|
6
|
+
if (!changesMirrorSource(record))
|
|
7
|
+
continue;
|
|
8
|
+
const element = record.target instanceof Element ? record.target : record.target.parentElement;
|
|
9
|
+
const panel = element?.closest('[data-satin-tab-panel]');
|
|
10
|
+
if (!panel)
|
|
11
|
+
continue;
|
|
12
|
+
// Visibility is a compositor policy, not a change to the prepared source.
|
|
13
|
+
if (element === panel &&
|
|
14
|
+
record.type === 'attributes' &&
|
|
15
|
+
['data-satin-tab-active', 'data-satin-tab-presented', 'aria-hidden', 'inert'].includes(record.attributeName ?? ''))
|
|
16
|
+
continue;
|
|
17
|
+
revisions.set(panel, (revisions.get(panel) ?? 0) + 1);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** One app-scene observer, shared with source discovery; no observer per hidden tab. */
|
|
21
|
+
export function observeTabSources(root) {
|
|
22
|
+
const observer = new MutationObserver(invalidate);
|
|
23
|
+
observer.observe(root, { attributes: true, childList: true, characterData: true, subtree: true });
|
|
24
|
+
observers.add(observer);
|
|
25
|
+
return () => {
|
|
26
|
+
observer.disconnect();
|
|
27
|
+
observers.delete(observer);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function tabSourceRevision(source) {
|
|
31
|
+
// A tab activation can occur in React's layout commit before observer delivery.
|
|
32
|
+
for (const observer of observers)
|
|
33
|
+
invalidate(observer.takeRecords());
|
|
34
|
+
const panel = source.closest('[data-satin-tab-panel]');
|
|
35
|
+
return panel ? (revisions.get(panel) ?? 0) : undefined;
|
|
36
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// The expanded outer sidebar returns to a top tab row, not an inner split pane.
|
|
2
|
+
// Its native control depicts a window with a short top inset (iPad reference).
|
|
3
|
+
export const tabSidebarCollapseGlyph = {
|
|
4
|
+
paths: [
|
|
5
|
+
{
|
|
6
|
+
d: 'M 7.7148 49.5742 L 48.2852 49.5742 C 53.1836 49.5742 55.6446 47.1367 55.6446 42.3086 L 55.6446 13.6914 C 55.6446 8.8633 53.1836 6.4258 48.2852 6.4258 L 7.7148 6.4258 C 2.8398 6.4258 .3554 8.8398 .3554 13.6914 L .3554 42.3086 C .3554 47.1602 2.8398 49.5742 7.7148 49.5742 Z M 7.7851 45.8008 C 5.4413 45.8008 4.1288 44.5586 4.1288 42.1211 L 4.1288 13.8789 C 4.1288 11.4414 5.4413 10.1992 7.7851 10.1992 L 48.2147 10.1992 C 50.5350 10.1992 51.8708 11.4414 51.8708 13.8789 L 51.8708 42.1211 C 51.8708 44.5586 50.5350 45.8008 48.2147 45.8008 Z',
|
|
7
|
+
},
|
|
8
|
+
{ d: 'M 18 13 H 38 A 1.8 1.8 0 0 1 38 16.6 H 18 A 1.8 1.8 0 0 1 18 13 Z' },
|
|
9
|
+
],
|
|
10
|
+
provenance: 'Framework7 Icons 5.0.5 (MIT): rectangle.svg; original top inset from reference native silhouette measurements',
|
|
11
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Publish synchronous state updates only while this invocation is current. */
|
|
2
|
+
export type TaskCommit = (update: () => void) => boolean;
|
|
3
|
+
/** The work `useTask` runs: pass `signal` to fetches and publish state through `commit`. */
|
|
4
|
+
export type TaskAction = (signal: AbortSignal, commit: TaskCommit) => void | Promise<void>;
|
|
5
|
+
/** `task(id:)`: a change of `id` cancels the current run and starts a new one. */
|
|
6
|
+
export type TaskOptions = Readonly<{
|
|
7
|
+
id?: unknown;
|
|
8
|
+
}>;
|
|
9
|
+
/** Cancels the current run and starts the task again; resolves when that run ends. */
|
|
10
|
+
export type TaskRunner = () => Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* A task tied to this view’s lifetime. Pass signal to fetch and publish results through
|
|
13
|
+
* commit. Cancellation is cooperative; arbitrary setters outside commit cannot
|
|
14
|
+
* be intercepted. The returned runner cancels and replaces the current run.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useTask(action: TaskAction, { id }?: TaskOptions): TaskRunner;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { useCallback, useContext, useLayoutEffect, useRef, useState } from 'react';
|
|
2
|
+
import { ScreenContext } from '../navigation/navigationContext.js';
|
|
3
|
+
import { TabActivityContext } from '../tabs/context.js';
|
|
4
|
+
/**
|
|
5
|
+
* A task tied to this view’s lifetime. Pass signal to fetch and publish results through
|
|
6
|
+
* commit. Cancellation is cooperative; arbitrary setters outside commit cannot
|
|
7
|
+
* be intercepted. The returned runner cancels and replaces the current run.
|
|
8
|
+
*/
|
|
9
|
+
export function useTask(action, { id } = {}) {
|
|
10
|
+
const screen = useContext(ScreenContext);
|
|
11
|
+
const tabActive = useContext(TabActivityContext);
|
|
12
|
+
const active = tabActive && !screen?.lifecycle.isCovered;
|
|
13
|
+
const actionRef = useRef(action);
|
|
14
|
+
const enabled = useRef(false);
|
|
15
|
+
const current = useRef(null);
|
|
16
|
+
const [failure, setFailure] = useState(null);
|
|
17
|
+
useLayoutEffect(() => {
|
|
18
|
+
actionRef.current = action;
|
|
19
|
+
});
|
|
20
|
+
const run = useCallback(async () => {
|
|
21
|
+
if (!enabled.current)
|
|
22
|
+
return;
|
|
23
|
+
const previous = current.current;
|
|
24
|
+
const controller = new AbortController();
|
|
25
|
+
current.current = controller;
|
|
26
|
+
previous?.abort();
|
|
27
|
+
if (current.current !== controller || controller.signal.aborted || !enabled.current)
|
|
28
|
+
return;
|
|
29
|
+
const commit = update => {
|
|
30
|
+
if (controller.signal.aborted || current.current !== controller)
|
|
31
|
+
return false;
|
|
32
|
+
update();
|
|
33
|
+
return true;
|
|
34
|
+
};
|
|
35
|
+
try {
|
|
36
|
+
await actionRef.current(controller.signal, commit);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
if (!controller.signal.aborted)
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}, []);
|
|
43
|
+
useLayoutEffect(() => {
|
|
44
|
+
enabled.current = active;
|
|
45
|
+
if (active) {
|
|
46
|
+
const pending = run();
|
|
47
|
+
const controller = current.current;
|
|
48
|
+
void pending.catch(error => {
|
|
49
|
+
if (current.current === controller && !controller.signal.aborted)
|
|
50
|
+
setFailure({ error, id, key: screen?.key, controller });
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return () => {
|
|
54
|
+
enabled.current = false;
|
|
55
|
+
current.current?.abort();
|
|
56
|
+
current.current = null;
|
|
57
|
+
};
|
|
58
|
+
}, [active, id, screen?.key, run]);
|
|
59
|
+
if (failure &&
|
|
60
|
+
active &&
|
|
61
|
+
Object.is(failure.id, id) &&
|
|
62
|
+
failure.key === screen?.key &&
|
|
63
|
+
failure.controller === current.current &&
|
|
64
|
+
!failure.controller.signal.aborted)
|
|
65
|
+
throw failure.error;
|
|
66
|
+
return run;
|
|
67
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** App-test assertion without exposing navigation engine objects. */
|
|
2
|
+
export declare function assertNavigation(container: ParentNode, screen: string): void;
|
|
3
|
+
/** Explicit diagnostic action. The token is requested at call time and never persisted. */
|
|
4
|
+
export declare function sendTestNotification(relay: {
|
|
5
|
+
url: string;
|
|
6
|
+
token: () => string | Promise<string>;
|
|
7
|
+
}): Promise<{
|
|
8
|
+
accepted: number;
|
|
9
|
+
}>;
|
package/dist/testing.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createPushRelayAdapter } from './push/notifications.js';
|
|
2
|
+
/** App-test assertion without exposing navigation engine objects. */
|
|
3
|
+
export function assertNavigation(container, screen) {
|
|
4
|
+
const active = container.querySelector('[data-satin-screen-container][data-satin-covered="false"]');
|
|
5
|
+
if (active?.getAttribute('data-satin-screen') !== screen)
|
|
6
|
+
throw new Error(`Expected active route ${screen}`);
|
|
7
|
+
}
|
|
8
|
+
/** Explicit diagnostic action. The token is requested at call time and never persisted. */
|
|
9
|
+
export function sendTestNotification(relay) {
|
|
10
|
+
return createPushRelayAdapter(relay).sendTest();
|
|
11
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type TextareaHTMLAttributes } from 'react';
|
|
2
|
+
export type TextEditorProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'value' | 'defaultValue' | 'onChange' | 'rows'> & {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange(value: string): void;
|
|
5
|
+
label?: string;
|
|
6
|
+
/** Bound content growth independently of the parent, for composers and compact editors. */
|
|
7
|
+
maxLines?: number;
|
|
8
|
+
minLines?: number;
|
|
9
|
+
variant?: 'standalone' | 'row' | 'plain';
|
|
10
|
+
labelVisibility?: 'visible' | 'hidden';
|
|
11
|
+
/** Internal semantic marker for the shared vertical TextField editor. */
|
|
12
|
+
field?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare const TextEditor: import("react").ForwardRefExoticComponent<Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "defaultValue" | "onChange" | "rows" | "value"> & {
|
|
15
|
+
value: string;
|
|
16
|
+
onChange(value: string): void;
|
|
17
|
+
label?: string;
|
|
18
|
+
/** Bound content growth independently of the parent, for composers and compact editors. */
|
|
19
|
+
maxLines?: number;
|
|
20
|
+
minLines?: number;
|
|
21
|
+
variant?: 'standalone' | 'row' | 'plain';
|
|
22
|
+
labelVisibility?: 'visible' | 'hidden';
|
|
23
|
+
/** Internal semantic marker for the shared vertical TextField editor. */
|
|
24
|
+
field?: boolean;
|
|
25
|
+
} & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useKeyboardMetrics } from '../keyboard/adapter.js';
|
|
3
|
+
import { focusFromFramework } from '../focus/programmaticFocus.js';
|
|
4
|
+
import { editorHeight } from './editorGeometry.js';
|
|
5
|
+
import { measureEditorContentHeight } from './measureEditor.js';
|
|
6
|
+
import { forwardRef, useId, useImperativeHandle, useLayoutEffect, useRef, } from 'react';
|
|
7
|
+
export const TextEditor = forwardRef(function TextEditor({ value, onChange, label, autoFocus, minLines = 3, maxLines, variant = 'standalone', labelVisibility = 'visible', field = false, id, ...props }, forwardedRef) {
|
|
8
|
+
const keyboard = useKeyboardMetrics();
|
|
9
|
+
const generatedId = useId();
|
|
10
|
+
const inputId = id ?? generatedId;
|
|
11
|
+
const ref = useRef(null);
|
|
12
|
+
useImperativeHandle(forwardedRef, () => ref.current, []);
|
|
13
|
+
useLayoutEffect(() => {
|
|
14
|
+
const element = ref.current;
|
|
15
|
+
if (!element)
|
|
16
|
+
return;
|
|
17
|
+
const surface = element.closest('[data-satin-scroll-axis="vertical"]');
|
|
18
|
+
function resize() {
|
|
19
|
+
if (!element)
|
|
20
|
+
return;
|
|
21
|
+
const css = getComputedStyle(element);
|
|
22
|
+
const lineHeight = parseFloat(css.lineHeight) || 22;
|
|
23
|
+
const padding = (parseFloat(css.paddingTop) || 0) + (parseFloat(css.paddingBottom) || 0);
|
|
24
|
+
// Only a scroll surface bounds growth. A content-sized parent is the editor's own height,
|
|
25
|
+
// so reading it as a limit would stop the editor from ever growing.
|
|
26
|
+
const containerHeight = surface?.clientHeight ?? Infinity;
|
|
27
|
+
const visibleHeight = keyboard.viewportHeight > 0
|
|
28
|
+
? keyboard.viewportHeight -
|
|
29
|
+
Math.max(0, (surface?.getBoundingClientRect().top ?? 0) - keyboard.offsetTop)
|
|
30
|
+
: containerHeight;
|
|
31
|
+
// WebKit owns the focused editor's caret and editing UI. Never collapse that control
|
|
32
|
+
// to measure it: use an isolated, non-focusable copy with the same text layout instead.
|
|
33
|
+
const available = maxLines === undefined
|
|
34
|
+
? Math.min(containerHeight, visibleHeight) - 24
|
|
35
|
+
: Math.min(Math.max(minLines, maxLines) * lineHeight + padding, keyboard.viewportHeight > 0 ? visibleHeight - 24 : Infinity);
|
|
36
|
+
const height = editorHeight(measureEditorContentHeight(element), minLines, lineHeight, padding, available);
|
|
37
|
+
if (element.style.height === `${height}px`)
|
|
38
|
+
return;
|
|
39
|
+
// The editable viewport must fit the newly wrapped line before WebKit reveals
|
|
40
|
+
// its caret. Interpolating this height creates an internally scrolling textarea
|
|
41
|
+
// on every frame and lets caret reveal fight the animation. The bottom-anchored
|
|
42
|
+
// transcript owns the resulting inset displacement instead.
|
|
43
|
+
element.style.height = `${height}px`;
|
|
44
|
+
}
|
|
45
|
+
resize();
|
|
46
|
+
// Wrapping changes with the editor's width, so a narrower layout must re-measure.
|
|
47
|
+
let width = element.getBoundingClientRect().width;
|
|
48
|
+
let viewport = surface?.clientHeight;
|
|
49
|
+
const observer = new ResizeObserver(() => {
|
|
50
|
+
const nextWidth = element.getBoundingClientRect().width;
|
|
51
|
+
const nextViewport = surface?.clientHeight;
|
|
52
|
+
// Animated height deliveries do not change wrapping. Do not create a measuring
|
|
53
|
+
// textarea or force layout again on every animation frame.
|
|
54
|
+
if (nextWidth === width && nextViewport === viewport)
|
|
55
|
+
return;
|
|
56
|
+
width = nextWidth;
|
|
57
|
+
viewport = nextViewport;
|
|
58
|
+
resize();
|
|
59
|
+
});
|
|
60
|
+
observer.observe(element);
|
|
61
|
+
if (surface)
|
|
62
|
+
observer.observe(surface);
|
|
63
|
+
element.addEventListener('input', resize);
|
|
64
|
+
return () => {
|
|
65
|
+
observer.disconnect();
|
|
66
|
+
element.removeEventListener('input', resize);
|
|
67
|
+
};
|
|
68
|
+
}, [value, minLines, maxLines, keyboard.viewportHeight, keyboard.offsetTop]);
|
|
69
|
+
useLayoutEffect(() => {
|
|
70
|
+
if (autoFocus && ref.current)
|
|
71
|
+
focusFromFramework(ref.current, { preventScroll: true });
|
|
72
|
+
}, [autoFocus]);
|
|
73
|
+
return (_jsxs("div", { className: "satin-text-editor", "data-satin-field-style": variant, "data-satin-label-visibility": labelVisibility, children: [label && _jsx("label", { htmlFor: inputId, children: label }), _jsx("textarea", { autoCapitalize: "sentences", autoCorrect: "on", spellCheck: true, ...props, id: inputId, ref: ref, "aria-label": props['aria-label'] ?? (label ? undefined : (props.placeholder ?? 'Text')), "data-satin-role": "text-input", "data-satin-text-editor": field ? undefined : 'true', "data-satin-text-field": field ? 'true' : undefined, "data-satin-field-axis": field ? 'vertical' : undefined, rows: Math.max(1, minLines), value: value, onChange: event => onChange(event.currentTarget.value) })] }));
|
|
74
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type InputHTMLAttributes } from 'react';
|
|
2
|
+
import { type SubmitLabel, type TextFieldKind } from './kinds.js';
|
|
3
|
+
export type TextFieldProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'onSubmit' | 'size'> & {
|
|
4
|
+
label: string;
|
|
5
|
+
value: string;
|
|
6
|
+
onChange(value: string): void;
|
|
7
|
+
kind?: TextFieldKind;
|
|
8
|
+
submitLabel?: SubmitLabel;
|
|
9
|
+
onSubmit?(): void;
|
|
10
|
+
/** Shared row contract: no List dependency, no wrapper Pressable. */
|
|
11
|
+
variant?: 'standalone' | 'row' | 'plain';
|
|
12
|
+
labelVisibility?: 'visible' | 'hidden';
|
|
13
|
+
labelPlacement?: 'leading' | 'above';
|
|
14
|
+
};
|
|
15
|
+
export declare const TextField: import("react").ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "defaultValue" | "onChange" | "onSubmit" | "size" | "value"> & {
|
|
16
|
+
label: string;
|
|
17
|
+
value: string;
|
|
18
|
+
onChange(value: string): void;
|
|
19
|
+
kind?: TextFieldKind;
|
|
20
|
+
submitLabel?: SubmitLabel;
|
|
21
|
+
onSubmit?(): void;
|
|
22
|
+
/** Shared row contract: no List dependency, no wrapper Pressable. */
|
|
23
|
+
variant?: 'standalone' | 'row' | 'plain';
|
|
24
|
+
labelVisibility?: 'visible' | 'hidden';
|
|
25
|
+
labelPlacement?: 'leading' | 'above';
|
|
26
|
+
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
27
|
+
export type SecureFieldProps = Omit<TextFieldProps, 'kind' | 'type'> & {
|
|
28
|
+
kind?: 'new-password' | 'current-password';
|
|
29
|
+
};
|
|
30
|
+
export declare const SecureField: import("react").ForwardRefExoticComponent<Omit<TextFieldProps, "kind" | "type"> & {
|
|
31
|
+
kind?: 'new-password' | 'current-password';
|
|
32
|
+
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { shouldSubmitField } from './submit.js';
|
|
3
|
+
import { forwardRef, useId, useRef, useImperativeHandle, useLayoutEffect, } from 'react';
|
|
4
|
+
import { focusFromFramework } from '../focus/programmaticFocus.js';
|
|
5
|
+
import { textFieldAttributes } from './kinds.js';
|
|
6
|
+
export const TextField = forwardRef(function TextField({ label, autoFocus, value, onChange, kind = 'text', submitLabel, onSubmit, variant = 'standalone', labelPlacement = 'leading', labelVisibility = 'visible', id, className, onKeyDown, style, ...props }, forwardedRef) {
|
|
7
|
+
const ref = useRef(null);
|
|
8
|
+
useImperativeHandle(forwardedRef, () => ref.current, []);
|
|
9
|
+
useLayoutEffect(() => {
|
|
10
|
+
if (autoFocus && ref.current)
|
|
11
|
+
focusFromFramework(ref.current, { preventScroll: true });
|
|
12
|
+
}, [autoFocus]);
|
|
13
|
+
const generatedId = useId();
|
|
14
|
+
const inputId = id ?? generatedId;
|
|
15
|
+
return (_jsxs("div", { className: "satin-text-field", "data-satin-field-style": variant, "data-satin-label-placement": labelPlacement, "data-satin-label-visibility": labelVisibility, children: [_jsx("label", { htmlFor: inputId, children: label }), _jsx("input", { ...textFieldAttributes(kind, submitLabel), ...props, ref: ref, id: inputId, className: className, style: style, "data-satin-role": "text-input", "data-satin-text-field": "true", placeholder: props.placeholder ??
|
|
16
|
+
(variant === 'row' && labelPlacement === 'leading' ? label : undefined), value: value, onChange: event => onChange(event.currentTarget.value), onKeyDown: event => {
|
|
17
|
+
onKeyDown?.(event);
|
|
18
|
+
if (!shouldSubmitField(event))
|
|
19
|
+
return;
|
|
20
|
+
event.preventDefault();
|
|
21
|
+
if (onSubmit)
|
|
22
|
+
onSubmit();
|
|
23
|
+
else if ((props.enterKeyHint ?? submitLabel ?? textFieldAttributes(kind).enterKeyHint) !== 'next')
|
|
24
|
+
event.currentTarget.blur();
|
|
25
|
+
} })] }));
|
|
26
|
+
});
|
|
27
|
+
export const SecureField = forwardRef(function SecureField({ kind = 'current-password', ...props }, ref) {
|
|
28
|
+
return _jsx(TextField, { ...props, kind: kind, type: "password", ref: ref });
|
|
29
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** A minimum line request never overrides the available editing viewport. */
|
|
2
|
+
export function editorHeight(contentHeight, minLines, lineHeight, padding, availableHeight) {
|
|
3
|
+
const limit = Math.max(lineHeight + padding, availableHeight);
|
|
4
|
+
const minimum = Math.min(limit, Math.max(1, minLines) * lineHeight + padding);
|
|
5
|
+
return Math.min(limit, Math.max(minimum, contentHeight));
|
|
6
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Everything that decides where a glyph of the editor's text is drawn. */
|
|
2
|
+
export const EDITOR_TEXT_LAYOUT_PROPERTIES = [
|
|
3
|
+
'font',
|
|
4
|
+
'font-kerning',
|
|
5
|
+
'font-feature-settings',
|
|
6
|
+
'font-variation-settings',
|
|
7
|
+
'font-variant-ligatures',
|
|
8
|
+
'font-variant-numeric',
|
|
9
|
+
'letter-spacing',
|
|
10
|
+
'word-spacing',
|
|
11
|
+
'line-height',
|
|
12
|
+
'text-align',
|
|
13
|
+
'text-indent',
|
|
14
|
+
'text-transform',
|
|
15
|
+
'text-rendering',
|
|
16
|
+
'tab-size',
|
|
17
|
+
'writing-mode',
|
|
18
|
+
'direction',
|
|
19
|
+
'unicode-bidi',
|
|
20
|
+
'overflow-wrap',
|
|
21
|
+
'word-break',
|
|
22
|
+
'hyphens',
|
|
23
|
+
'padding-top',
|
|
24
|
+
'padding-right',
|
|
25
|
+
'padding-bottom',
|
|
26
|
+
'padding-left',
|
|
27
|
+
'border-top-width',
|
|
28
|
+
'border-right-width',
|
|
29
|
+
'border-bottom-width',
|
|
30
|
+
'border-left-width',
|
|
31
|
+
];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** The focusable field capabilities accepted by a declared editing order. */
|
|
2
|
+
export type FocusChainField = Pick<HTMLInputElement, 'focus' | 'blur' | 'disabled' | 'readOnly' | 'isConnected' | 'closest'>;
|
|
3
|
+
/** Explicit order survives conditional rendering; disabled/unmounted fields are skipped. */
|
|
4
|
+
export declare function createFocusChain<Key extends string>(order: readonly Key[]): {
|
|
5
|
+
field(key: Key): {
|
|
6
|
+
ref: (element: FocusChainField | null) => void;
|
|
7
|
+
onSubmit: () => void;
|
|
8
|
+
};
|
|
9
|
+
focus(key: Key): void;
|
|
10
|
+
dismiss(): void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* `@FocusState` for a form: the return key moves to the next field in `order` and the
|
|
14
|
+
* last one dismisses the keyboard. Spread `field(key)` onto each field.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const focus = useFocusChain(['name', 'email'])
|
|
18
|
+
* <TextField label="Name" {...focus.field('name')} value={name} onChange={setName} />
|
|
19
|
+
*/
|
|
20
|
+
export declare function useFocusChain<Key extends string>(order: readonly Key[]): {
|
|
21
|
+
field(key: Key): {
|
|
22
|
+
ref: (element: FocusChainField | null) => void;
|
|
23
|
+
onSubmit: () => void;
|
|
24
|
+
};
|
|
25
|
+
focus(key: Key): void;
|
|
26
|
+
dismiss(): void;
|
|
27
|
+
};
|