@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.
Files changed (1154) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +96 -0
  3. package/README.md +454 -2
  4. package/THIRD_PARTY_NOTICES.md +65 -0
  5. package/bin/satin.mjs +13 -0
  6. package/dist/acknowledgements/Acknowledgements.d.ts +4 -0
  7. package/dist/acknowledgements/Acknowledgements.js +42 -0
  8. package/dist/acknowledgements/bundledNotices.d.ts +4 -0
  9. package/dist/acknowledgements/bundledNotices.js +58 -0
  10. package/dist/acknowledgements/inventory.d.ts +17 -0
  11. package/dist/acknowledgements/inventory.js +10 -0
  12. package/dist/acknowledgements/inventory.json +39 -0
  13. package/dist/actions/ActionMenu.d.ts +30 -0
  14. package/dist/actions/ActionMenu.js +103 -0
  15. package/dist/actions/RowActions.d.ts +42 -0
  16. package/dist/actions/RowActions.js +820 -0
  17. package/dist/actions/contextMotion.d.ts +78 -0
  18. package/dist/actions/contextMotion.js +329 -0
  19. package/dist/actions/motion.d.ts +19 -0
  20. package/dist/actions/motion.js +74 -0
  21. package/dist/actions/nativeContextAppearance.json +86 -0
  22. package/dist/actions/nativeContextMotion.json +734 -0
  23. package/dist/actions/nativeMotion.json +388 -0
  24. package/dist/actions/preview.d.ts +27 -0
  25. package/dist/actions/preview.js +217 -0
  26. package/dist/actions/recognizers.d.ts +24 -0
  27. package/dist/actions/recognizers.js +87 -0
  28. package/dist/actions/rowScrub.d.ts +59 -0
  29. package/dist/actions/rowScrub.js +400 -0
  30. package/dist/actions/swipeSpring.d.ts +14 -0
  31. package/dist/actions/swipeSpring.js +35 -0
  32. package/dist/actions/types.d.ts +71 -0
  33. package/dist/actions/types.js +28 -0
  34. package/dist/app/InstallComponents.d.ts +16 -0
  35. package/dist/app/InstallComponents.js +104 -0
  36. package/dist/app/InstallationDiagnostics.d.ts +7 -0
  37. package/dist/app/InstallationDiagnostics.js +23 -0
  38. package/dist/app/OrientationGuard.d.ts +8 -0
  39. package/dist/app/OrientationGuard.js +9 -0
  40. package/dist/app/appearance.d.ts +18 -0
  41. package/dist/app/appearance.js +15 -0
  42. package/dist/app/appearanceStore.d.ts +30 -0
  43. package/dist/app/appearanceStore.js +228 -0
  44. package/dist/app/backgroundUpdate.d.ts +20 -0
  45. package/dist/app/backgroundUpdate.js +151 -0
  46. package/dist/app/buildInfo.d.ts +11 -0
  47. package/dist/app/buildInfo.js +12 -0
  48. package/dist/app/buildInfoBuild.d.ts +3 -0
  49. package/dist/app/buildInfoBuild.js +12 -0
  50. package/dist/app/checkCli.d.ts +1 -0
  51. package/dist/app/checkCli.js +73 -0
  52. package/dist/app/coldLaunchUpdate.d.ts +14 -0
  53. package/dist/app/coldLaunchUpdate.js +384 -0
  54. package/dist/app/definition.d.ts +85 -0
  55. package/dist/app/definition.js +347 -0
  56. package/dist/app/deployment.d.ts +28 -0
  57. package/dist/app/deployment.js +352 -0
  58. package/dist/app/deploymentBuild.d.ts +3 -0
  59. package/dist/app/deploymentBuild.js +55 -0
  60. package/dist/app/earlyWorker.d.ts +3 -0
  61. package/dist/app/earlyWorker.js +77 -0
  62. package/dist/app/head.d.ts +10 -0
  63. package/dist/app/head.js +120 -0
  64. package/dist/app/icons.d.ts +4 -0
  65. package/dist/app/icons.js +35 -0
  66. package/dist/app/install.d.ts +18 -0
  67. package/dist/app/install.js +82 -0
  68. package/dist/app/installCheck.d.ts +2 -0
  69. package/dist/app/installCheck.js +148 -0
  70. package/dist/app/installContext.d.ts +35 -0
  71. package/dist/app/installContext.js +45 -0
  72. package/dist/app/installCustom.d.ts +25 -0
  73. package/dist/app/installCustom.js +55 -0
  74. package/dist/app/installExperience.d.ts +22 -0
  75. package/dist/app/installExperience.js +389 -0
  76. package/dist/app/installExperienceDevice.d.ts +29 -0
  77. package/dist/app/installExperienceDevice.js +160 -0
  78. package/dist/app/installExperienceHome.d.ts +16 -0
  79. package/dist/app/installExperienceHome.js +304 -0
  80. package/dist/app/installExperienceRuntime.d.ts +37 -0
  81. package/dist/app/installExperienceRuntime.js +285 -0
  82. package/dist/app/installPolicy.d.ts +28 -0
  83. package/dist/app/installPolicy.js +90 -0
  84. package/dist/app/installQr.d.ts +10 -0
  85. package/dist/app/installQr.js +139 -0
  86. package/dist/app/installStrings.d.ts +52 -0
  87. package/dist/app/installStrings.js +75 -0
  88. package/dist/app/installTipPath.d.ts +12 -0
  89. package/dist/app/installTipPath.js +9 -0
  90. package/dist/app/installationFailure.d.ts +14 -0
  91. package/dist/app/installationFailure.js +38 -0
  92. package/dist/app/launch.d.ts +7 -0
  93. package/dist/app/launch.js +241 -0
  94. package/dist/app/launchReadiness.d.ts +9 -0
  95. package/dist/app/launchReadiness.js +72 -0
  96. package/dist/app/launchScreen.d.ts +16 -0
  97. package/dist/app/launchScreen.js +14 -0
  98. package/dist/app/launchScreenRuntime.d.ts +19 -0
  99. package/dist/app/launchScreenRuntime.js +313 -0
  100. package/dist/app/launchWatchdog.d.ts +1 -0
  101. package/dist/app/launchWatchdog.js +202 -0
  102. package/dist/app/manifests.d.ts +19 -0
  103. package/dist/app/manifests.js +20 -0
  104. package/dist/app/mdm.d.ts +3 -0
  105. package/dist/app/mdm.js +20 -0
  106. package/dist/app/mediaCheck.d.ts +9 -0
  107. package/dist/app/mediaCheck.js +122 -0
  108. package/dist/app/mediaTypes.d.ts +2 -0
  109. package/dist/app/mediaTypes.js +13 -0
  110. package/dist/app/platformPolicy.d.ts +3 -0
  111. package/dist/app/platformPolicy.js +10 -0
  112. package/dist/app/platformScripts.d.ts +6 -0
  113. package/dist/app/platformScripts.js +65 -0
  114. package/dist/app/releaseUpdates.d.ts +7 -0
  115. package/dist/app/releaseUpdates.js +53 -0
  116. package/dist/app/runtime.d.ts +9 -0
  117. package/dist/app/runtime.js +38 -0
  118. package/dist/app/startup.d.ts +30 -0
  119. package/dist/app/startup.js +24 -0
  120. package/dist/app/statusBand.d.ts +11 -0
  121. package/dist/app/statusBand.js +257 -0
  122. package/dist/app/viewport.d.ts +3 -0
  123. package/dist/app/viewport.js +42 -0
  124. package/dist/app/viewportValue.d.ts +5 -0
  125. package/dist/app/viewportValue.js +14 -0
  126. package/dist/app/vite.d.ts +27 -0
  127. package/dist/app/vite.js +440 -0
  128. package/dist/app/warmImage.d.ts +3 -0
  129. package/dist/app/warmImage.js +59 -0
  130. package/dist/content/content.d.ts +153 -0
  131. package/dist/content/content.js +315 -0
  132. package/dist/content/layout.d.ts +26 -0
  133. package/dist/content/layout.js +114 -0
  134. package/dist/content/scaledMetric.d.ts +3 -0
  135. package/dist/content/scaledMetric.js +68 -0
  136. package/dist/content/typography.d.ts +83 -0
  137. package/dist/content/typography.js +32 -0
  138. package/dist/controls/ActivityIndicatorSegments.d.ts +4 -0
  139. package/dist/controls/ActivityIndicatorSegments.js +5 -0
  140. package/dist/controls/ColorPicker.d.ts +20 -0
  141. package/dist/controls/ColorPicker.js +70 -0
  142. package/dist/controls/ControlRow.d.ts +5 -0
  143. package/dist/controls/ControlRow.js +10 -0
  144. package/dist/controls/DatePicker.d.ts +41 -0
  145. package/dist/controls/DatePicker.js +148 -0
  146. package/dist/controls/ProgressView.d.ts +17 -0
  147. package/dist/controls/ProgressView.js +24 -0
  148. package/dist/controls/civilDate.d.ts +49 -0
  149. package/dist/controls/civilDate.js +112 -0
  150. package/dist/data/database.d.ts +154 -0
  151. package/dist/data/database.js +710 -0
  152. package/dist/data/value-equal.d.ts +2 -0
  153. package/dist/data/value-equal.js +36 -0
  154. package/dist/data/write-store.d.ts +38 -0
  155. package/dist/data/write-store.js +192 -0
  156. package/dist/dev-menu/DevMenu.d.ts +1 -0
  157. package/dist/dev-menu/DevMenu.js +121 -0
  158. package/dist/dev-menu/actions.d.ts +12 -0
  159. package/dist/dev-menu/actions.js +99 -0
  160. package/dist/dev-menu/build.d.ts +5 -0
  161. package/dist/dev-menu/build.js +40 -0
  162. package/dist/dev-menu/gesture.d.ts +18 -0
  163. package/dist/dev-menu/gesture.js +109 -0
  164. package/dist/dev-menu/shake.d.ts +2 -0
  165. package/dist/dev-menu/shake.js +36 -0
  166. package/dist/dev-menu/types.d.ts +8 -0
  167. package/dist/dev-menu/types.js +1 -0
  168. package/dist/diagnostics.d.ts +3 -0
  169. package/dist/diagnostics.js +4 -0
  170. package/dist/docs/app-recipes.md +411 -0
  171. package/dist/docs/components/file-importer.md +54 -0
  172. package/dist/docs/components/paste-button.md +48 -0
  173. package/dist/docs/components/photos-picker.md +53 -0
  174. package/dist/docs/components/share-link.md +58 -0
  175. package/dist/docs/content.md +159 -0
  176. package/dist/docs/controls.md +151 -0
  177. package/dist/docs/data.md +332 -0
  178. package/dist/docs/limitations.md +40 -0
  179. package/dist/docs/messaging-scroll.md +234 -0
  180. package/dist/docs/networking.md +190 -0
  181. package/dist/docs/push.md +215 -0
  182. package/dist/docs/swiftui-reference.md +1895 -0
  183. package/dist/docs/symbols.md +293 -0
  184. package/dist/docs/tokens.md +60 -0
  185. package/dist/fidelity/devAssertions.d.ts +21 -0
  186. package/dist/fidelity/devAssertions.js +199 -0
  187. package/dist/focus/focusIntentMachine.d.ts +106 -0
  188. package/dist/focus/focusIntentMachine.js +359 -0
  189. package/dist/focus/navigationFocus.d.ts +42 -0
  190. package/dist/focus/navigationFocus.js +241 -0
  191. package/dist/focus/programmaticFocus.d.ts +15 -0
  192. package/dist/focus/programmaticFocus.js +152 -0
  193. package/dist/gestures/GestureView.d.ts +12 -0
  194. package/dist/gestures/GestureView.js +321 -0
  195. package/dist/gestures/arena.d.ts +138 -0
  196. package/dist/gestures/arena.js +417 -0
  197. package/dist/gestures/existingCompetitors.d.ts +79 -0
  198. package/dist/gestures/existingCompetitors.js +82 -0
  199. package/dist/gestures/gesture.d.ts +62 -0
  200. package/dist/gestures/gesture.js +107 -0
  201. package/dist/glass/ControlLens.d.ts +46 -0
  202. package/dist/glass/ControlLens.js +88 -0
  203. package/dist/glass/GlassBar.d.ts +9 -0
  204. package/dist/glass/GlassBar.js +22 -0
  205. package/dist/glass/GlassConfusionReview.d.ts +3 -0
  206. package/dist/glass/GlassConfusionReview.js +185 -0
  207. package/dist/glass/GlassEffect.d.ts +69 -0
  208. package/dist/glass/GlassEffect.js +550 -0
  209. package/dist/glass/GlassMaterialRoot.d.ts +7 -0
  210. package/dist/glass/GlassMaterialRoot.js +39 -0
  211. package/dist/glass/GlassPresentation.d.ts +28 -0
  212. package/dist/glass/GlassPresentation.js +1038 -0
  213. package/dist/glass/GlassProbeIcons.d.ts +8 -0
  214. package/dist/glass/GlassProbeIcons.js +12 -0
  215. package/dist/glass/GlassProbeOverlay.d.ts +52 -0
  216. package/dist/glass/GlassProbeOverlay.js +45 -0
  217. package/dist/glass/GlassTextField.d.ts +22 -0
  218. package/dist/glass/GlassTextField.js +12 -0
  219. package/dist/glass/MaterialEffectRoot.d.ts +9 -0
  220. package/dist/glass/MaterialEffectRoot.js +189 -0
  221. package/dist/glass/Menu.d.ts +3 -0
  222. package/dist/glass/Menu.js +35 -0
  223. package/dist/glass/MenuStack.d.ts +23 -0
  224. package/dist/glass/MenuStack.js +371 -0
  225. package/dist/glass/MenuSymbol.d.ts +7 -0
  226. package/dist/glass/MenuSymbol.js +16 -0
  227. package/dist/glass/MorphEllipsisArtwork.d.ts +2 -0
  228. package/dist/glass/MorphEllipsisArtwork.js +6 -0
  229. package/dist/glass/TabBar.d.ts +29 -0
  230. package/dist/glass/TabBar.js +169 -0
  231. package/dist/glass/capability.d.ts +25 -0
  232. package/dist/glass/capability.js +63 -0
  233. package/dist/glass/captureWindow.d.ts +60 -0
  234. package/dist/glass/captureWindow.js +119 -0
  235. package/dist/glass/confusionSession.d.ts +41 -0
  236. package/dist/glass/confusionSession.js +44 -0
  237. package/dist/glass/contactPhysics.d.ts +130 -0
  238. package/dist/glass/contactPhysics.js +214 -0
  239. package/dist/glass/context.d.ts +37 -0
  240. package/dist/glass/context.js +11 -0
  241. package/dist/glass/errorAlert.d.ts +6 -0
  242. package/dist/glass/errorAlert.js +57 -0
  243. package/dist/glass/errors.d.ts +22 -0
  244. package/dist/glass/errors.js +78 -0
  245. package/dist/glass/failurePolicy.d.ts +4 -0
  246. package/dist/glass/failurePolicy.js +20 -0
  247. package/dist/glass/fallback/material.d.ts +16 -0
  248. package/dist/glass/fallback/material.js +87 -0
  249. package/dist/glass/fallback/regions.d.ts +16 -0
  250. package/dist/glass/fallback/regions.js +249 -0
  251. package/dist/glass/fallback/runtime.d.ts +72 -0
  252. package/dist/glass/fallback/runtime.js +278 -0
  253. package/dist/glass/fallback/selection.d.ts +2 -0
  254. package/dist/glass/fallback/selection.js +9 -0
  255. package/dist/glass/fieldGeometry.d.ts +28 -0
  256. package/dist/glass/fieldGeometry.js +64 -0
  257. package/dist/glass/fieldMotion.d.ts +42 -0
  258. package/dist/glass/fieldMotion.js +47 -0
  259. package/dist/glass/glassContact.d.ts +76 -0
  260. package/dist/glass/glassContact.js +153 -0
  261. package/dist/glass/glassProbeSettings.d.ts +18 -0
  262. package/dist/glass/glassProbeSettings.js +133 -0
  263. package/dist/glass/lens/Scene.d.ts +108 -0
  264. package/dist/glass/lens/Scene.js +553 -0
  265. package/dist/glass/lens/backgrounds.json +103 -0
  266. package/dist/glass/lens/bitmapBackdrop.d.ts +14 -0
  267. package/dist/glass/lens/bitmapBackdrop.js +35 -0
  268. package/dist/glass/lens/controlLift.d.ts +94 -0
  269. package/dist/glass/lens/controlLift.js +78 -0
  270. package/dist/glass/lens/data.d.ts +19 -0
  271. package/dist/glass/lens/data.js +161 -0
  272. package/dist/glass/lens/drawableTop.d.ts +16 -0
  273. package/dist/glass/lens/drawableTop.js +15 -0
  274. package/dist/glass/lens/icons.d.ts +9 -0
  275. package/dist/glass/lens/icons.js +34 -0
  276. package/dist/glass/lens/interactiveContact.d.ts +33 -0
  277. package/dist/glass/lens/interactiveContact.js +158 -0
  278. package/dist/glass/lens/interactivePress.d.ts +95 -0
  279. package/dist/glass/lens/interactivePress.js +169 -0
  280. package/dist/glass/lens/ios27GlyphFit.json +126 -0
  281. package/dist/glass/lens/lensLightingSamples.json +1 -0
  282. package/dist/glass/lens/lensPress.d.ts +22 -0
  283. package/dist/glass/lens/lensPress.js +68 -0
  284. package/dist/glass/lens/lensPressSamples.json +1 -0
  285. package/dist/glass/lens/liquidMotion.d.ts +50 -0
  286. package/dist/glass/lens/liquidMotion.js +239 -0
  287. package/dist/glass/lens/materialGlassRecipes.json +776 -0
  288. package/dist/glass/lens/materialUniforms.d.ts +22 -0
  289. package/dist/glass/lens/materialUniforms.js +117 -0
  290. package/dist/glass/lens/menu-closing-close-fit.json +380 -0
  291. package/dist/glass/lens/menu-opening-native-fits.json +911 -0
  292. package/dist/glass/lens/menuContextFit.json +88 -0
  293. package/dist/glass/lens/menuContextOpacity.json +98 -0
  294. package/dist/glass/lens/menuContextPresentation.d.ts +15 -0
  295. package/dist/glass/lens/menuContextPresentation.js +65 -0
  296. package/dist/glass/lens/menuCornerFit.json +252 -0
  297. package/dist/glass/lens/menuCornerMotion.d.ts +9 -0
  298. package/dist/glass/lens/menuCornerMotion.js +5 -0
  299. package/dist/glass/lens/menuDropFit.json +64 -0
  300. package/dist/glass/lens/menuField.d.ts +178 -0
  301. package/dist/glass/lens/menuField.js +564 -0
  302. package/dist/glass/lens/menuGesturePresentation.d.ts +12 -0
  303. package/dist/glass/lens/menuGesturePresentation.js +42 -0
  304. package/dist/glass/lens/menuGlyphDropFit.json +38 -0
  305. package/dist/glass/lens/menuMorphFit.json +564 -0
  306. package/dist/glass/lens/menuMorphMotion.d.ts +70 -0
  307. package/dist/glass/lens/menuMorphMotion.js +219 -0
  308. package/dist/glass/lens/menuMorphPhoneFit.json +85 -0
  309. package/dist/glass/lens/menuMotion.d.ts +81 -0
  310. package/dist/glass/lens/menuMotion.js +323 -0
  311. package/dist/glass/lens/menuPlacement.d.ts +5 -0
  312. package/dist/glass/lens/menuPlacement.js +29 -0
  313. package/dist/glass/lens/menuSpring.d.ts +18 -0
  314. package/dist/glass/lens/menuSpring.js +29 -0
  315. package/dist/glass/lens/menuTouchLight.d.ts +13 -0
  316. package/dist/glass/lens/menuTouchLight.js +147 -0
  317. package/dist/glass/lens/mirrorConstants.d.ts +1 -0
  318. package/dist/glass/lens/mirrorConstants.js +2 -0
  319. package/dist/glass/lens/mirrorExtents.d.ts +52 -0
  320. package/dist/glass/lens/mirrorExtents.js +264 -0
  321. package/dist/glass/lens/mirrorInvalidation.d.ts +6 -0
  322. package/dist/glass/lens/mirrorInvalidation.js +10 -0
  323. package/dist/glass/lens/mirrorReuse.d.ts +20 -0
  324. package/dist/glass/lens/mirrorReuse.js +166 -0
  325. package/dist/glass/lens/motion.d.ts +62 -0
  326. package/dist/glass/lens/motion.js +93 -0
  327. package/dist/glass/lens/recordedMotion.d.ts +6 -0
  328. package/dist/glass/lens/recordedMotion.js +44 -0
  329. package/dist/glass/lens/referenceBackground.d.ts +9 -0
  330. package/dist/glass/lens/referenceBackground.js +151 -0
  331. package/dist/glass/lens/referenceProfiles.d.ts +21 -0
  332. package/dist/glass/lens/referenceProfiles.js +33 -0
  333. package/dist/glass/lens/referenceRegularTint.d.ts +12 -0
  334. package/dist/glass/lens/referenceRegularTint.js +41 -0
  335. package/dist/glass/lens/scopeSegments.d.ts +12 -0
  336. package/dist/glass/lens/scopeSegments.js +18 -0
  337. package/dist/glass/lens/scrollAnchoring.d.ts +15 -0
  338. package/dist/glass/lens/scrollAnchoring.js +17 -0
  339. package/dist/glass/lens/selectionParameters.json +94 -0
  340. package/dist/glass/lens/shapeParameters.json +198 -0
  341. package/dist/glass/lens/tab-motion-native-fits.json +778 -0
  342. package/dist/glass/lens/tabAccessoryMotion.d.ts +52 -0
  343. package/dist/glass/lens/tabAccessoryMotion.js +52 -0
  344. package/dist/glass/lens/tabChromaRimModel.d.ts +43 -0
  345. package/dist/glass/lens/tabChromaRimModel.js +93 -0
  346. package/dist/glass/lens/tabCollapseInkSamples.json +49 -0
  347. package/dist/glass/lens/tabCompactGesture.d.ts +15 -0
  348. package/dist/glass/lens/tabCompactGesture.js +50 -0
  349. package/dist/glass/lens/tabGeometryAttack.json +70 -0
  350. package/dist/glass/lens/tabGlyphColours.d.ts +17 -0
  351. package/dist/glass/lens/tabGlyphColours.js +37 -0
  352. package/dist/glass/lens/tabInterruptedDecaySamples.json +245 -0
  353. package/dist/glass/lens/tabInterruptedRestoreSamples.json +290 -0
  354. package/dist/glass/lens/tabMaterialModel.d.ts +10 -0
  355. package/dist/glass/lens/tabMaterialModel.js +108 -0
  356. package/dist/glass/lens/tabMinimizeInk.d.ts +15 -0
  357. package/dist/glass/lens/tabMinimizeInk.js +14 -0
  358. package/dist/glass/lens/tabMinimizeMotion.d.ts +36 -0
  359. package/dist/glass/lens/tabMinimizeMotion.js +107 -0
  360. package/dist/glass/lens/tabMinimizeSamples.json +411 -0
  361. package/dist/glass/lens/tabMotion.d.ts +91 -0
  362. package/dist/glass/lens/tabMotion.js +478 -0
  363. package/dist/glass/lens/tabMotionFit.d.ts +76 -0
  364. package/dist/glass/lens/tabMotionFit.js +61 -0
  365. package/dist/glass/lens/tabNativeSymbols.d.ts +1 -0
  366. package/dist/glass/lens/tabNativeSymbols.js +7 -0
  367. package/dist/glass/lens/tabPresentation.d.ts +21 -0
  368. package/dist/glass/lens/tabPresentation.js +20 -0
  369. package/dist/glass/lens/tabRelease.d.ts +5 -0
  370. package/dist/glass/lens/tabRelease.js +14 -0
  371. package/dist/glass/lens/tabRestoreMotion.d.ts +19 -0
  372. package/dist/glass/lens/tabRestoreMotion.js +65 -0
  373. package/dist/glass/lens/tabRestoreSamples.json +1272 -0
  374. package/dist/glass/lens/tabSearchMember.d.ts +38 -0
  375. package/dist/glass/lens/tabSearchMember.js +74 -0
  376. package/dist/glass/lens/tabSelectionMaterial.d.ts +20 -0
  377. package/dist/glass/lens/tabSelectionMaterial.js +23 -0
  378. package/dist/glass/lens/tabSelectionMeasurements.test-fixture.d.ts +9 -0
  379. package/dist/glass/lens/tabSelectionMeasurements.test-fixture.js +74 -0
  380. package/dist/glass/lens/tabSettingsSymbol.d.ts +1 -0
  381. package/dist/glass/lens/tabSettingsSymbol.js +2 -0
  382. package/dist/glass/lens/tabShapeResponse.d.ts +7 -0
  383. package/dist/glass/lens/tabShapeResponse.js +30 -0
  384. package/dist/glass/lens/theme.d.ts +18 -0
  385. package/dist/glass/lens/theme.js +40 -0
  386. package/dist/glass/lens/trace.d.ts +2 -0
  387. package/dist/glass/lens/trace.js +27 -0
  388. package/dist/glass/liquidContext.d.ts +31 -0
  389. package/dist/glass/liquidContext.js +2 -0
  390. package/dist/glass/menuPanelPlacement.d.ts +51 -0
  391. package/dist/glass/menuPanelPlacement.js +128 -0
  392. package/dist/glass/menuPresenter.d.ts +34 -0
  393. package/dist/glass/menuPresenter.js +983 -0
  394. package/dist/glass/menuSymbolMasks.d.ts +1 -0
  395. package/dist/glass/menuSymbolMasks.js +1 -0
  396. package/dist/glass/menuSymbolTokens.d.ts +22 -0
  397. package/dist/glass/menuSymbolTokens.js +12 -0
  398. package/dist/glass/menuTriggerGeometry.d.ts +99 -0
  399. package/dist/glass/menuTriggerGeometry.js +126 -0
  400. package/dist/glass/menuTriggerSnapshot.d.ts +77 -0
  401. package/dist/glass/menuTriggerSnapshot.js +69 -0
  402. package/dist/glass/menuTypes.d.ts +22 -0
  403. package/dist/glass/menuTypes.js +1 -0
  404. package/dist/glass/morphField.d.ts +18 -0
  405. package/dist/glass/morphField.js +139 -0
  406. package/dist/glass/presentationFrame.d.ts +43 -0
  407. package/dist/glass/presentationFrame.js +82 -0
  408. package/dist/glass/pressHighlight.d.ts +9 -0
  409. package/dist/glass/pressHighlight.js +158 -0
  410. package/dist/glass/regionRegistry.d.ts +93 -0
  411. package/dist/glass/regionRegistry.js +313 -0
  412. package/dist/glass/regions.d.ts +262 -0
  413. package/dist/glass/regions.js +147 -0
  414. package/dist/glass/regularMaterialContext.d.ts +45 -0
  415. package/dist/glass/regularMaterialContext.js +118 -0
  416. package/dist/glass/regularTriggerMaterial.d.ts +19 -0
  417. package/dist/glass/regularTriggerMaterial.js +111 -0
  418. package/dist/glass/regularTriggerRim.d.ts +163 -0
  419. package/dist/glass/regularTriggerRim.js +436 -0
  420. package/dist/glass/renderSpecs.d.ts +454 -0
  421. package/dist/glass/renderSpecs.js +231 -0
  422. package/dist/glass/rendererContract.d.ts +205 -0
  423. package/dist/glass/rendererContract.js +18 -0
  424. package/dist/glass/shapeTrack.d.ts +53 -0
  425. package/dist/glass/shapeTrack.js +74 -0
  426. package/dist/glass/shapeTrackRegistry.d.ts +40 -0
  427. package/dist/glass/shapeTrackRegistry.js +49 -0
  428. package/dist/glass/sourceDamage.d.ts +6 -0
  429. package/dist/glass/sourceDamage.js +8 -0
  430. package/dist/glass/submenuMotion.d.ts +205 -0
  431. package/dist/glass/submenuMotion.js +306 -0
  432. package/dist/glass/tabBarModel.d.ts +12 -0
  433. package/dist/glass/tabBarModel.js +32 -0
  434. package/dist/glass/testing.d.ts +14 -0
  435. package/dist/glass/testing.js +14 -0
  436. package/dist/glass/tokens.d.ts +79 -0
  437. package/dist/glass/tokens.js +86 -0
  438. package/dist/glass/toolbarMaterialContext.d.ts +28 -0
  439. package/dist/glass/toolbarMaterialContext.js +66 -0
  440. package/dist/glass/topLayer.d.ts +5 -0
  441. package/dist/glass/topLayer.js +10 -0
  442. package/dist/glass/unionOutline.d.ts +11 -0
  443. package/dist/glass/unionOutline.js +98 -0
  444. package/dist/glass/visibleDeadline.d.ts +21 -0
  445. package/dist/glass/visibleDeadline.js +61 -0
  446. package/dist/glass/webgpu/accessoryMorph.d.ts +99 -0
  447. package/dist/glass/webgpu/accessoryMorph.js +473 -0
  448. package/dist/glass/webgpu/accessoryTrack.d.ts +47 -0
  449. package/dist/glass/webgpu/accessoryTrack.js +59 -0
  450. package/dist/glass/webgpu/areaMips.d.ts +50 -0
  451. package/dist/glass/webgpu/areaMips.js +166 -0
  452. package/dist/glass/webgpu/backdrop.d.ts +86 -0
  453. package/dist/glass/webgpu/backdrop.js +243 -0
  454. package/dist/glass/webgpu/backdropLayers.d.ts +29 -0
  455. package/dist/glass/webgpu/backdropLayers.js +182 -0
  456. package/dist/glass/webgpu/backgroundLayers.d.ts +71 -0
  457. package/dist/glass/webgpu/backgroundLayers.js +385 -0
  458. package/dist/glass/webgpu/cadence.d.ts +18 -0
  459. package/dist/glass/webgpu/cadence.js +35 -0
  460. package/dist/glass/webgpu/canvasSubmission.d.ts +6 -0
  461. package/dist/glass/webgpu/canvasSubmission.js +22 -0
  462. package/dist/glass/webgpu/capture.d.ts +77 -0
  463. package/dist/glass/webgpu/capture.js +534 -0
  464. package/dist/glass/webgpu/captureBands.d.ts +39 -0
  465. package/dist/glass/webgpu/captureBands.js +53 -0
  466. package/dist/glass/webgpu/captureContext.d.ts +1 -0
  467. package/dist/glass/webgpu/captureContext.js +6 -0
  468. package/dist/glass/webgpu/captureDemand.d.ts +44 -0
  469. package/dist/glass/webgpu/captureDemand.js +81 -0
  470. package/dist/glass/webgpu/captureRelease.d.ts +18 -0
  471. package/dist/glass/webgpu/captureRelease.js +39 -0
  472. package/dist/glass/webgpu/client.d.ts +49 -0
  473. package/dist/glass/webgpu/client.js +336 -0
  474. package/dist/glass/webgpu/contextBackdrop.d.ts +6 -0
  475. package/dist/glass/webgpu/contextBackdrop.js +13 -0
  476. package/dist/glass/webgpu/contextComposite.d.ts +64 -0
  477. package/dist/glass/webgpu/contextComposite.js +66 -0
  478. package/dist/glass/webgpu/decodedImage.d.ts +1 -0
  479. package/dist/glass/webgpu/decodedImage.js +2 -0
  480. package/dist/glass/webgpu/deviceLimits.d.ts +5 -0
  481. package/dist/glass/webgpu/deviceLimits.js +8 -0
  482. package/dist/glass/webgpu/edgePass.d.ts +9 -0
  483. package/dist/glass/webgpu/edgePass.js +170 -0
  484. package/dist/glass/webgpu/entry.worker.d.ts +1 -0
  485. package/dist/glass/webgpu/entry.worker.js +28 -0
  486. package/dist/glass/webgpu/errorCode.d.ts +3 -0
  487. package/dist/glass/webgpu/errorCode.js +27 -0
  488. package/dist/glass/webgpu/errors.d.ts +8 -0
  489. package/dist/glass/webgpu/errors.js +55 -0
  490. package/dist/glass/webgpu/fieldInk.d.ts +9 -0
  491. package/dist/glass/webgpu/fieldInk.js +62 -0
  492. package/dist/glass/webgpu/foreground.d.ts +29 -0
  493. package/dist/glass/webgpu/foreground.js +313 -0
  494. package/dist/glass/webgpu/frameClock.d.ts +34 -0
  495. package/dist/glass/webgpu/frameClock.js +60 -0
  496. package/dist/glass/webgpu/frameGraph.d.ts +57 -0
  497. package/dist/glass/webgpu/frameGraph.js +287 -0
  498. package/dist/glass/webgpu/frameProbe.d.ts +58 -0
  499. package/dist/glass/webgpu/frameProbe.js +181 -0
  500. package/dist/glass/webgpu/interactionProfiles.d.ts +10 -0
  501. package/dist/glass/webgpu/interactionProfiles.js +25 -0
  502. package/dist/glass/webgpu/keptGlyphs.d.ts +68 -0
  503. package/dist/glass/webgpu/keptGlyphs.js +85 -0
  504. package/dist/glass/webgpu/keyboardBackdrop.d.ts +12 -0
  505. package/dist/glass/webgpu/keyboardBackdrop.js +51 -0
  506. package/dist/glass/webgpu/lagTrace.d.ts +31 -0
  507. package/dist/glass/webgpu/lagTrace.js +22 -0
  508. package/dist/glass/webgpu/layers.d.ts +100 -0
  509. package/dist/glass/webgpu/layers.js +301 -0
  510. package/dist/glass/webgpu/lensDebug.d.ts +4 -0
  511. package/dist/glass/webgpu/lensDebug.js +28 -0
  512. package/dist/glass/webgpu/lensDiffusion.d.ts +2 -0
  513. package/dist/glass/webgpu/lensDiffusion.js +20 -0
  514. package/dist/glass/webgpu/lensLightingFit.json +222 -0
  515. package/dist/glass/webgpu/menuLiftInput.d.ts +30 -0
  516. package/dist/glass/webgpu/menuLiftInput.js +39 -0
  517. package/dist/glass/webgpu/menuSurfaceGuard.d.ts +17 -0
  518. package/dist/glass/webgpu/menuSurfaceGuard.js +26 -0
  519. package/dist/glass/webgpu/minimize.d.ts +184 -0
  520. package/dist/glass/webgpu/minimize.js +470 -0
  521. package/dist/glass/webgpu/navigationAtlasCopy.d.ts +12 -0
  522. package/dist/glass/webgpu/navigationAtlasCopy.js +121 -0
  523. package/dist/glass/webgpu/navigationTracks.d.ts +3 -0
  524. package/dist/glass/webgpu/navigationTracks.js +84 -0
  525. package/dist/glass/webgpu/passes.d.ts +204 -0
  526. package/dist/glass/webgpu/passes.js +394 -0
  527. package/dist/glass/webgpu/pendingSurfaceInput.d.ts +29 -0
  528. package/dist/glass/webgpu/pendingSurfaceInput.js +51 -0
  529. package/dist/glass/webgpu/preparedSourcePixels.d.ts +21 -0
  530. package/dist/glass/webgpu/preparedSourcePixels.js +43 -0
  531. package/dist/glass/webgpu/presentationBackdrop.d.ts +3 -0
  532. package/dist/glass/webgpu/presentationBackdrop.js +33 -0
  533. package/dist/glass/webgpu/presentationDiffusion.d.ts +48 -0
  534. package/dist/glass/webgpu/presentationDiffusion.js +57 -0
  535. package/dist/glass/webgpu/presentationMaterial.d.ts +9 -0
  536. package/dist/glass/webgpu/presentationMaterial.js +156 -0
  537. package/dist/glass/webgpu/presenterViewport.d.ts +11 -0
  538. package/dist/glass/webgpu/presenterViewport.js +193 -0
  539. package/dist/glass/webgpu/production.d.ts +552 -0
  540. package/dist/glass/webgpu/production.js +1929 -0
  541. package/dist/glass/webgpu/productionInstalls.d.ts +53 -0
  542. package/dist/glass/webgpu/productionInstalls.js +225 -0
  543. package/dist/glass/webgpu/productionNavigation.d.ts +5 -0
  544. package/dist/glass/webgpu/productionNavigation.js +360 -0
  545. package/dist/glass/webgpu/productionPinnedTop.d.ts +80 -0
  546. package/dist/glass/webgpu/productionPinnedTop.js +77 -0
  547. package/dist/glass/webgpu/productionPinnedTopPrepare.d.ts +21 -0
  548. package/dist/glass/webgpu/productionPinnedTopPrepare.js +132 -0
  549. package/dist/glass/webgpu/productionPlanes.d.ts +135 -0
  550. package/dist/glass/webgpu/productionPlanes.js +412 -0
  551. package/dist/glass/webgpu/productionPrepare.d.ts +18 -0
  552. package/dist/glass/webgpu/productionPrepare.js +832 -0
  553. package/dist/glass/webgpu/productionTracks.d.ts +73 -0
  554. package/dist/glass/webgpu/productionTracks.js +22 -0
  555. package/dist/glass/webgpu/productionViewport.d.ts +20 -0
  556. package/dist/glass/webgpu/productionViewport.js +52 -0
  557. package/dist/glass/webgpu/profile.d.ts +37 -0
  558. package/dist/glass/webgpu/profile.js +101 -0
  559. package/dist/glass/webgpu/raster.d.ts +337 -0
  560. package/dist/glass/webgpu/raster.js +1360 -0
  561. package/dist/glass/webgpu/rasterMaterial.d.ts +19 -0
  562. package/dist/glass/webgpu/rasterMaterial.js +197 -0
  563. package/dist/glass/webgpu/rasterShaders.d.ts +7 -0
  564. package/dist/glass/webgpu/rasterShaders.js +105 -0
  565. package/dist/glass/webgpu/rasterUniforms.d.ts +304 -0
  566. package/dist/glass/webgpu/rasterUniforms.js +415 -0
  567. package/dist/glass/webgpu/regionBackdrop.d.ts +8 -0
  568. package/dist/glass/webgpu/regionBackdrop.js +12 -0
  569. package/dist/glass/webgpu/regionBridge.d.ts +145 -0
  570. package/dist/glass/webgpu/regionBridge.js +1691 -0
  571. package/dist/glass/webgpu/regionScene.d.ts +294 -0
  572. package/dist/glass/webgpu/regionScene.js +2144 -0
  573. package/dist/glass/webgpu/renderer.d.ts +8 -0
  574. package/dist/glass/webgpu/renderer.js +1478 -0
  575. package/dist/glass/webgpu/residentPlanes.d.ts +69 -0
  576. package/dist/glass/webgpu/residentPlanes.js +104 -0
  577. package/dist/glass/webgpu/restMaterial.d.ts +6 -0
  578. package/dist/glass/webgpu/restMaterial.js +65 -0
  579. package/dist/glass/webgpu/resumeOverlay.d.ts +44 -0
  580. package/dist/glass/webgpu/resumeOverlay.js +82 -0
  581. package/dist/glass/webgpu/sampleTrace.d.ts +11 -0
  582. package/dist/glass/webgpu/sampleTrace.js +50 -0
  583. package/dist/glass/webgpu/scrollEdgeBackdrop.d.ts +89 -0
  584. package/dist/glass/webgpu/scrollEdgeBackdrop.js +177 -0
  585. package/dist/glass/webgpu/scrollEdgePose.d.ts +4 -0
  586. package/dist/glass/webgpu/scrollEdgePose.js +49 -0
  587. package/dist/glass/webgpu/selectionThumb.d.ts +81 -0
  588. package/dist/glass/webgpu/selectionThumb.js +209 -0
  589. package/dist/glass/webgpu/shaders.d.ts +67 -0
  590. package/dist/glass/webgpu/shaders.js +595 -0
  591. package/dist/glass/webgpu/sharedLift.d.ts +7 -0
  592. package/dist/glass/webgpu/sharedLift.js +223 -0
  593. package/dist/glass/webgpu/sourcePixels.d.ts +42 -0
  594. package/dist/glass/webgpu/sourcePixels.js +140 -0
  595. package/dist/glass/webgpu/sourcePixels.worker.d.ts +1 -0
  596. package/dist/glass/webgpu/sourcePixels.worker.js +62 -0
  597. package/dist/glass/webgpu/tabGlyphInk.d.ts +14 -0
  598. package/dist/glass/webgpu/tabGlyphInk.js +72 -0
  599. package/dist/glass/webgpu/touchLight.d.ts +4 -0
  600. package/dist/glass/webgpu/touchLight.js +15 -0
  601. package/dist/glass/worker/client.d.ts +21 -0
  602. package/dist/glass/worker/client.js +152 -0
  603. package/dist/glass/worker/experiment.d.ts +13 -0
  604. package/dist/glass/worker/experiment.js +221 -0
  605. package/dist/glass/worker/fixture.d.ts +21 -0
  606. package/dist/glass/worker/fixture.js +152 -0
  607. package/dist/glass/worker/protocol.d.ts +439 -0
  608. package/dist/glass/worker/protocol.js +5 -0
  609. package/dist/graphicsProbe.d.ts +19 -0
  610. package/dist/graphicsProbe.js +111 -0
  611. package/dist/haptics/SensoryButton.d.ts +21 -0
  612. package/dist/haptics/SensoryButton.js +80 -0
  613. package/dist/image/ContentAdmission.d.ts +19 -0
  614. package/dist/image/ContentAdmission.js +70 -0
  615. package/dist/image/Image.d.ts +30 -0
  616. package/dist/image/Image.js +341 -0
  617. package/dist/image/asset.d.ts +9 -0
  618. package/dist/image/asset.js +1 -0
  619. package/dist/image/contentReadiness.d.ts +7 -0
  620. package/dist/image/contentReadiness.js +54 -0
  621. package/dist/image/imports.d.ts +4 -0
  622. package/dist/image/resource.d.ts +53 -0
  623. package/dist/image/resource.js +286 -0
  624. package/dist/image/vite.d.ts +3 -0
  625. package/dist/image/vite.js +63 -0
  626. package/dist/index.d.ts +87 -0
  627. package/dist/index.js +102 -0
  628. package/dist/install.d.ts +8 -0
  629. package/dist/install.js +8 -0
  630. package/dist/internal.d.ts +96 -0
  631. package/dist/internal.js +80 -0
  632. package/dist/keyboard/adapter.d.ts +82 -0
  633. package/dist/keyboard/adapter.js +727 -0
  634. package/dist/keyboard/avoidance.d.ts +24 -0
  635. package/dist/keyboard/avoidance.js +283 -0
  636. package/dist/keyboard/caretMirror.d.ts +13 -0
  637. package/dist/keyboard/caretMirror.js +122 -0
  638. package/dist/keyboard/expectedKeyboard.d.ts +10 -0
  639. package/dist/keyboard/expectedKeyboard.js +60 -0
  640. package/dist/keyboard/geometry.d.ts +10 -0
  641. package/dist/keyboard/geometry.js +21 -0
  642. package/dist/keyboard/modalTapFocus.d.ts +41 -0
  643. package/dist/keyboard/modalTapFocus.js +224 -0
  644. package/dist/keyboard/motion.d.ts +54 -0
  645. package/dist/keyboard/motion.js +80 -0
  646. package/dist/keyboard/translation.d.ts +12 -0
  647. package/dist/keyboard/translation.js +19 -0
  648. package/dist/layout/adaptiveTabsContext.d.ts +5 -0
  649. package/dist/layout/adaptiveTabsContext.js +2 -0
  650. package/dist/layout/deviceIdiom.d.ts +4 -0
  651. package/dist/layout/deviceIdiom.js +12 -0
  652. package/dist/layout/layoutClass.d.ts +44 -0
  653. package/dist/layout/layoutClass.js +102 -0
  654. package/dist/layout/navigationLayoutContext.d.ts +8 -0
  655. package/dist/layout/navigationLayoutContext.js +5 -0
  656. package/dist/list-form/ListForm.d.ts +158 -0
  657. package/dist/list-form/ListForm.js +427 -0
  658. package/dist/list-form/ListItem.d.ts +30 -0
  659. package/dist/list-form/ListItem.js +251 -0
  660. package/dist/list-form/RowLabel.d.ts +14 -0
  661. package/dist/list-form/RowLabel.js +11 -0
  662. package/dist/list-form/Slider.d.ts +18 -0
  663. package/dist/list-form/Slider.js +235 -0
  664. package/dist/list-form/StepperButton.d.ts +9 -0
  665. package/dist/list-form/StepperButton.js +60 -0
  666. package/dist/list-form/Toggle.d.ts +16 -0
  667. package/dist/list-form/Toggle.js +204 -0
  668. package/dist/list-form/editMotion.d.ts +15 -0
  669. package/dist/list-form/editMotion.js +25 -0
  670. package/dist/list-form/editing.d.ts +102 -0
  671. package/dist/list-form/editing.js +51 -0
  672. package/dist/list-form/listContext.d.ts +4 -0
  673. package/dist/list-form/listContext.js +5 -0
  674. package/dist/list-form/offsets.d.ts +26 -0
  675. package/dist/list-form/offsets.js +34 -0
  676. package/dist/list-form/reorder.d.ts +20 -0
  677. package/dist/list-form/reorder.js +193 -0
  678. package/dist/list-form/rowMotion.d.ts +11 -0
  679. package/dist/list-form/rowMotion.js +236 -0
  680. package/dist/list-form/rowMotionScope.d.ts +14 -0
  681. package/dist/list-form/rowMotionScope.js +61 -0
  682. package/dist/list-form/separatorInsets.d.ts +4 -0
  683. package/dist/list-form/separatorInsets.js +87 -0
  684. package/dist/list-form/sliderContact.d.ts +40 -0
  685. package/dist/list-form/sliderContact.js +98 -0
  686. package/dist/list-form/state.d.ts +5 -0
  687. package/dist/list-form/state.js +8 -0
  688. package/dist/list-form/toggleContact.d.ts +55 -0
  689. package/dist/list-form/toggleContact.js +164 -0
  690. package/dist/media/controller.d.ts +7 -0
  691. package/dist/media/controller.js +612 -0
  692. package/dist/media/react.d.ts +9 -0
  693. package/dist/media/react.js +38 -0
  694. package/dist/media/systemMedia.d.ts +6 -0
  695. package/dist/media/systemMedia.js +200 -0
  696. package/dist/media/types.d.ts +83 -0
  697. package/dist/media/types.js +1 -0
  698. package/dist/menu/menuContact.d.ts +20 -0
  699. package/dist/menu/menuContact.js +286 -0
  700. package/dist/menu/menuGesture.d.ts +84 -0
  701. package/dist/menu/menuGesture.js +502 -0
  702. package/dist/menu/menuInteraction.d.ts +17 -0
  703. package/dist/menu/menuInteraction.js +34 -0
  704. package/dist/menu/menuOutside.d.ts +9 -0
  705. package/dist/menu/menuOutside.js +58 -0
  706. package/dist/menu/menuPanelContact.d.ts +11 -0
  707. package/dist/menu/menuPanelContact.js +77 -0
  708. package/dist/menu/menuTriggerHold.d.ts +3 -0
  709. package/dist/menu/menuTriggerHold.js +52 -0
  710. package/dist/menu/sampledMotion.d.ts +37 -0
  711. package/dist/menu/sampledMotion.js +86 -0
  712. package/dist/modal/lifecycle.d.ts +10 -0
  713. package/dist/modal/lifecycle.js +189 -0
  714. package/dist/motion/TransitionView.d.ts +12 -0
  715. package/dist/motion/TransitionView.js +118 -0
  716. package/dist/motion/animate.d.ts +20 -0
  717. package/dist/motion/animate.js +79 -0
  718. package/dist/motion/animationValue.d.ts +25 -0
  719. package/dist/motion/animationValue.js +42 -0
  720. package/dist/motion/composerMotion.d.ts +3 -0
  721. package/dist/motion/composerMotion.js +15 -0
  722. package/dist/motion/layoutTransaction.d.ts +7 -0
  723. package/dist/motion/layoutTransaction.js +28 -0
  724. package/dist/motion/matchedGeometry.d.ts +55 -0
  725. package/dist/motion/matchedGeometry.js +412 -0
  726. package/dist/motion/springPath.d.ts +27 -0
  727. package/dist/motion/springPath.js +46 -0
  728. package/dist/motion/springTrack.d.ts +33 -0
  729. package/dist/motion/springTrack.js +69 -0
  730. package/dist/motion/transition.d.ts +48 -0
  731. package/dist/motion/transition.js +56 -0
  732. package/dist/motion/transitionImages.d.ts +7 -0
  733. package/dist/motion/transitionImages.js +49 -0
  734. package/dist/motionProbe.d.ts +227 -0
  735. package/dist/motionProbe.js +697 -0
  736. package/dist/motionProbeControls.d.ts +2 -0
  737. package/dist/motionProbeControls.js +118 -0
  738. package/dist/motionProbeDelivery.d.ts +15 -0
  739. package/dist/motionProbeDelivery.js +84 -0
  740. package/dist/navigation/DetailList.d.ts +9 -0
  741. package/dist/navigation/DetailList.js +7 -0
  742. package/dist/navigation/NavigationChrome.d.ts +18 -0
  743. package/dist/navigation/NavigationChrome.js +195 -0
  744. package/dist/navigation/NavigationSearchRow.d.ts +9 -0
  745. package/dist/navigation/NavigationSearchRow.js +101 -0
  746. package/dist/navigation/NavigationTitleSlots.d.ts +18 -0
  747. package/dist/navigation/NavigationTitleSlots.js +64 -0
  748. package/dist/navigation/NavigatorHost.d.ts +17 -0
  749. package/dist/navigation/NavigatorHost.js +534 -0
  750. package/dist/navigation/ScreenContainer.d.ts +31 -0
  751. package/dist/navigation/ScreenContainer.js +219 -0
  752. package/dist/navigation/ScrubSourceFrames.d.ts +18 -0
  753. package/dist/navigation/ScrubSourceFrames.js +67 -0
  754. package/dist/navigation/Sidebar.d.ts +16 -0
  755. package/dist/navigation/Sidebar.js +20 -0
  756. package/dist/navigation/SidebarSymbol.d.ts +4 -0
  757. package/dist/navigation/SidebarSymbol.js +6 -0
  758. package/dist/navigation/ToolbarGlass.d.ts +2 -0
  759. package/dist/navigation/ToolbarGlass.js +429 -0
  760. package/dist/navigation/TransitionEdge.d.ts +4 -0
  761. package/dist/navigation/TransitionEdge.js +33 -0
  762. package/dist/navigation/bottomToolbarGeometry.d.ts +6 -0
  763. package/dist/navigation/bottomToolbarGeometry.js +14 -0
  764. package/dist/navigation/chromeCurves.d.ts +48 -0
  765. package/dist/navigation/chromeCurves.js +255 -0
  766. package/dist/navigation/glassTransition.d.ts +32 -0
  767. package/dist/navigation/glassTransition.js +55 -0
  768. package/dist/navigation/horizontalDrag.d.ts +6 -0
  769. package/dist/navigation/horizontalDrag.js +15 -0
  770. package/dist/navigation/interactivePop.d.ts +45 -0
  771. package/dist/navigation/interactivePop.js +86 -0
  772. package/dist/navigation/interactivePopTypes.d.ts +85 -0
  773. package/dist/navigation/interactivePopTypes.js +36 -0
  774. package/dist/navigation/keyboard.d.ts +9 -0
  775. package/dist/navigation/keyboard.js +55 -0
  776. package/dist/navigation/motion.d.ts +19 -0
  777. package/dist/navigation/motion.js +645 -0
  778. package/dist/navigation/motionTokens.d.ts +43 -0
  779. package/dist/navigation/motionTokens.js +75 -0
  780. package/dist/navigation/nativeScrubExperiment.d.ts +5 -0
  781. package/dist/navigation/nativeScrubExperiment.js +153 -0
  782. package/dist/navigation/nativeScrubSource.d.ts +15 -0
  783. package/dist/navigation/nativeScrubSource.js +88 -0
  784. package/dist/navigation/navigationChromeModel.d.ts +8 -0
  785. package/dist/navigation/navigationChromeModel.js +30 -0
  786. package/dist/navigation/navigationContext.d.ts +22 -0
  787. package/dist/navigation/navigationContext.js +65 -0
  788. package/dist/navigation/navigationEdge.d.ts +4 -0
  789. package/dist/navigation/navigationEdge.js +101 -0
  790. package/dist/navigation/pointerPop.d.ts +32 -0
  791. package/dist/navigation/pointerPop.js +206 -0
  792. package/dist/navigation/probeLayers.d.ts +7 -0
  793. package/dist/navigation/probeLayers.js +8 -0
  794. package/dist/navigation/registry.d.ts +14 -0
  795. package/dist/navigation/registry.js +31 -0
  796. package/dist/navigation/releaseDecision.d.ts +21 -0
  797. package/dist/navigation/releaseDecision.js +94 -0
  798. package/dist/navigation/releaseTrajectory.d.ts +20 -0
  799. package/dist/navigation/releaseTrajectory.js +95 -0
  800. package/dist/navigation/releaseVelocity.d.ts +9 -0
  801. package/dist/navigation/releaseVelocity.js +38 -0
  802. package/dist/navigation/routeCodec.d.ts +33 -0
  803. package/dist/navigation/routeCodec.js +123 -0
  804. package/dist/navigation/scrollEdge.d.ts +18 -0
  805. package/dist/navigation/scrollEdge.js +66 -0
  806. package/dist/navigation/scrubFrameLoop.d.ts +44 -0
  807. package/dist/navigation/scrubFrameLoop.js +129 -0
  808. package/dist/navigation/sidebarSelection.d.ts +5 -0
  809. package/dist/navigation/sidebarSelection.js +8 -0
  810. package/dist/navigation/splitContext.d.ts +17 -0
  811. package/dist/navigation/splitContext.js +9 -0
  812. package/dist/navigation/splitState.d.ts +46 -0
  813. package/dist/navigation/splitState.js +130 -0
  814. package/dist/navigation/stack.d.ts +25 -0
  815. package/dist/navigation/stack.js +136 -0
  816. package/dist/navigation/store.d.ts +80 -0
  817. package/dist/navigation/store.js +464 -0
  818. package/dist/navigation/toolbarGlassMotion.d.ts +40 -0
  819. package/dist/navigation/toolbarGlassMotion.js +202 -0
  820. package/dist/navigation/toolbarMinimization.d.ts +9 -0
  821. package/dist/navigation/toolbarMinimization.js +76 -0
  822. package/dist/navigation/toolbarMotionOwner.d.ts +6 -0
  823. package/dist/navigation/toolbarMotionOwner.js +30 -0
  824. package/dist/navigation/touchArbitration.d.ts +34 -0
  825. package/dist/navigation/touchArbitration.js +550 -0
  826. package/dist/navigation/tracking.d.ts +7 -0
  827. package/dist/navigation/tracking.js +19 -0
  828. package/dist/navigation/transitionBindings.d.ts +31 -0
  829. package/dist/navigation/transitionBindings.js +106 -0
  830. package/dist/navigation/transitionChrome.d.ts +31 -0
  831. package/dist/navigation/transitionChrome.js +380 -0
  832. package/dist/navigation/transitionPose.d.ts +52 -0
  833. package/dist/navigation/transitionPose.js +295 -0
  834. package/dist/navigation/types.d.ts +133 -0
  835. package/dist/navigation/types.js +1 -0
  836. package/dist/navigation/zoomDrag.d.ts +3 -0
  837. package/dist/navigation/zoomDrag.js +125 -0
  838. package/dist/navigation/zoomGeometry.d.ts +48 -0
  839. package/dist/navigation/zoomGeometry.js +94 -0
  840. package/dist/navigation/zoomGlass.d.ts +27 -0
  841. package/dist/navigation/zoomGlass.js +64 -0
  842. package/dist/navigation/zoomMotion.d.ts +73 -0
  843. package/dist/navigation/zoomMotion.js +104 -0
  844. package/dist/navigation/zoomTransition.d.ts +82 -0
  845. package/dist/navigation/zoomTransition.js +975 -0
  846. package/dist/presentation/Presentation.d.ts +61 -0
  847. package/dist/presentation/Presentation.js +92 -0
  848. package/dist/presentation/PresentationSurface.d.ts +29 -0
  849. package/dist/presentation/PresentationSurface.js +586 -0
  850. package/dist/presentation/PresentedSheet.d.ts +2 -0
  851. package/dist/presentation/PresentedSheet.js +571 -0
  852. package/dist/presentation/activity.d.ts +3 -0
  853. package/dist/presentation/activity.js +24 -0
  854. package/dist/presentation/coldLaunch.d.ts +2 -0
  855. package/dist/presentation/coldLaunch.js +19 -0
  856. package/dist/presentation/dismiss.d.ts +26 -0
  857. package/dist/presentation/dismiss.js +30 -0
  858. package/dist/presentation/glassMotion.d.ts +39 -0
  859. package/dist/presentation/glassMotion.js +259 -0
  860. package/dist/presentation/glassReady.d.ts +11 -0
  861. package/dist/presentation/glassReady.js +246 -0
  862. package/dist/presentation/model.d.ts +108 -0
  863. package/dist/presentation/model.js +183 -0
  864. package/dist/presentation/motion.d.ts +56 -0
  865. package/dist/presentation/motion.js +263 -0
  866. package/dist/presentation/presentationMotion.d.ts +10 -0
  867. package/dist/presentation/presentationMotion.js +74 -0
  868. package/dist/presentation/presentationSource.d.ts +2 -0
  869. package/dist/presentation/presentationSource.js +28 -0
  870. package/dist/presentation/sheetChromeContext.d.ts +2 -0
  871. package/dist/presentation/sheetChromeContext.js +3 -0
  872. package/dist/presentation/sheetMaterialTransition.d.ts +14 -0
  873. package/dist/presentation/sheetMaterialTransition.js +33 -0
  874. package/dist/presentation/sheetReleaseMotion.d.ts +18 -0
  875. package/dist/presentation/sheetReleaseMotion.js +123 -0
  876. package/dist/presentation/useAlertKeyboardMotion.d.ts +8 -0
  877. package/dist/presentation/useAlertKeyboardMotion.js +104 -0
  878. package/dist/press/Pressable.d.ts +19 -0
  879. package/dist/press/Pressable.js +16 -0
  880. package/dist/press/activation.d.ts +20 -0
  881. package/dist/press/activation.js +28 -0
  882. package/dist/press/contactReceipt.d.ts +23 -0
  883. package/dist/press/contactReceipt.js +177 -0
  884. package/dist/press/gestureArbitration.d.ts +13 -0
  885. package/dist/press/gestureArbitration.js +38 -0
  886. package/dist/press/stateMachine.d.ts +29 -0
  887. package/dist/press/stateMachine.js +39 -0
  888. package/dist/press/tokens.d.ts +18 -0
  889. package/dist/press/tokens.js +19 -0
  890. package/dist/press/usePressInteraction.d.ts +30 -0
  891. package/dist/press/usePressInteraction.js +247 -0
  892. package/dist/public/Label.d.ts +16 -0
  893. package/dist/public/Label.js +40 -0
  894. package/dist/public/NativeFilePicker.d.ts +19 -0
  895. package/dist/public/NativeFilePicker.js +75 -0
  896. package/dist/public/Screen.d.ts +42 -0
  897. package/dist/public/Screen.js +87 -0
  898. package/dist/public/actions.d.ts +16 -0
  899. package/dist/public/actions.js +15 -0
  900. package/dist/public/buttonBorderShape.d.ts +7 -0
  901. package/dist/public/buttonBorderShape.js +9 -0
  902. package/dist/public/chrome.d.ts +3 -0
  903. package/dist/public/chrome.js +5 -0
  904. package/dist/public/colors.d.ts +29 -0
  905. package/dist/public/colors.js +28 -0
  906. package/dist/public/context.d.ts +19 -0
  907. package/dist/public/context.js +8 -0
  908. package/dist/public/controlStyle.d.ts +93 -0
  909. package/dist/public/controlStyle.js +52 -0
  910. package/dist/public/controls.d.ts +360 -0
  911. package/dist/public/controls.js +301 -0
  912. package/dist/public/definition.d.ts +65 -0
  913. package/dist/public/definition.js +58 -0
  914. package/dist/public/deviceActions.d.ts +23 -0
  915. package/dist/public/deviceActions.js +87 -0
  916. package/dist/public/environment.d.ts +77 -0
  917. package/dist/public/environment.js +171 -0
  918. package/dist/public/fieldContext.d.ts +2 -0
  919. package/dist/public/fieldContext.js +3 -0
  920. package/dist/public/filePickers.d.ts +25 -0
  921. package/dist/public/filePickers.js +11 -0
  922. package/dist/public/glass.d.ts +31 -0
  923. package/dist/public/glass.js +29 -0
  924. package/dist/public/glassValue.d.ts +19 -0
  925. package/dist/public/glassValue.js +32 -0
  926. package/dist/public/keyboard.d.ts +4 -0
  927. package/dist/public/keyboard.js +6 -0
  928. package/dist/public/navigationTransition.d.ts +48 -0
  929. package/dist/public/navigationTransition.js +49 -0
  930. package/dist/public/pickerNavigation.d.ts +7 -0
  931. package/dist/public/pickerNavigation.js +64 -0
  932. package/dist/public/presentation.d.ts +40 -0
  933. package/dist/public/presentation.js +21 -0
  934. package/dist/public/presentationContext.d.ts +2 -0
  935. package/dist/public/presentationContext.js +3 -0
  936. package/dist/public/routeRegistry.d.ts +3 -0
  937. package/dist/public/routeRegistry.js +10 -0
  938. package/dist/public/routes.d.ts +74 -0
  939. package/dist/public/routes.js +105 -0
  940. package/dist/public/runtime.d.ts +134 -0
  941. package/dist/public/runtime.js +292 -0
  942. package/dist/public/screenChrome.d.ts +91 -0
  943. package/dist/public/screenChrome.js +187 -0
  944. package/dist/public/scroll.d.ts +38 -0
  945. package/dist/public/scroll.js +7 -0
  946. package/dist/public/storage.d.ts +9 -0
  947. package/dist/public/storage.js +9 -0
  948. package/dist/public/structure.d.ts +65 -0
  949. package/dist/public/structure.js +40 -0
  950. package/dist/public/toolbar.d.ts +37 -0
  951. package/dist/public/toolbar.js +76 -0
  952. package/dist/push/PushPermissionExplainer.d.ts +14 -0
  953. package/dist/push/PushPermissionExplainer.js +30 -0
  954. package/dist/push/notifications.d.ts +54 -0
  955. package/dist/push/notifications.js +276 -0
  956. package/dist/push/routes.d.ts +20 -0
  957. package/dist/push/routes.js +63 -0
  958. package/dist/push/schema.d.ts +42 -0
  959. package/dist/push/schema.js +41 -0
  960. package/dist/push/urlProjection.d.ts +24 -0
  961. package/dist/push/urlProjection.js +207 -0
  962. package/dist/reachability/controller.d.ts +21 -0
  963. package/dist/reachability/controller.js +202 -0
  964. package/dist/reachability/model.d.ts +94 -0
  965. package/dist/reachability/model.js +131 -0
  966. package/dist/reachability/react.d.ts +29 -0
  967. package/dist/reachability/react.js +69 -0
  968. package/dist/restoration/navigation.d.ts +9 -0
  969. package/dist/restoration/navigation.js +55 -0
  970. package/dist/restoration/react.d.ts +6 -0
  971. package/dist/restoration/react.js +21 -0
  972. package/dist/restoration/routes.d.ts +22 -0
  973. package/dist/restoration/routes.js +166 -0
  974. package/dist/restoration/scene.d.ts +44 -0
  975. package/dist/restoration/scene.js +284 -0
  976. package/dist/root/SatinRoot.d.ts +25 -0
  977. package/dist/root/SatinRoot.js +512 -0
  978. package/dist/root/mountSatin.d.ts +12 -0
  979. package/dist/root/mountSatin.js +60 -0
  980. package/dist/root/runtimeContext.d.ts +26 -0
  981. package/dist/root/runtimeContext.js +30 -0
  982. package/dist/safe-area/Overlay.d.ts +9 -0
  983. package/dist/safe-area/Overlay.js +26 -0
  984. package/dist/safe-area/SafeAreaInset.d.ts +25 -0
  985. package/dist/safe-area/SafeAreaInset.js +138 -0
  986. package/dist/safe-area/bottomInsetGeometry.d.ts +12 -0
  987. package/dist/safe-area/bottomInsetGeometry.js +73 -0
  988. package/dist/safe-area/context.d.ts +15 -0
  989. package/dist/safe-area/context.js +8 -0
  990. package/dist/safe-area/displayCorners.d.ts +21 -0
  991. package/dist/safe-area/displayCorners.js +70 -0
  992. package/dist/safe-area/keyboardCarrier.d.ts +26 -0
  993. package/dist/safe-area/keyboardCarrier.js +394 -0
  994. package/dist/safe-area/keyboardCarrierGeometry.d.ts +37 -0
  995. package/dist/safe-area/keyboardCarrierGeometry.js +49 -0
  996. package/dist/safe-area/modifiers.d.ts +52 -0
  997. package/dist/safe-area/modifiers.js +86 -0
  998. package/dist/safe-area/useSafeAreaMetrics.d.ts +83 -0
  999. package/dist/safe-area/useSafeAreaMetrics.js +367 -0
  1000. package/dist/safe-area/windowChrome.d.ts +7 -0
  1001. package/dist/safe-area/windowChrome.js +14 -0
  1002. package/dist/scroll/RefreshControl.d.ts +8 -0
  1003. package/dist/scroll/RefreshControl.js +135 -0
  1004. package/dist/scroll/ScrollSurface.d.ts +62 -0
  1005. package/dist/scroll/ScrollSurface.js +278 -0
  1006. package/dist/scroll/ScrollTarget.d.ts +6 -0
  1007. package/dist/scroll/ScrollTarget.js +11 -0
  1008. package/dist/scroll/edgePolicy.d.ts +21 -0
  1009. package/dist/scroll/edgePolicy.js +17 -0
  1010. package/dist/scroll/insertionMotion.d.ts +15 -0
  1011. package/dist/scroll/insertionMotion.js +128 -0
  1012. package/dist/scroll/nativeScroll.d.ts +14 -0
  1013. package/dist/scroll/nativeScroll.js +71 -0
  1014. package/dist/scroll/position.d.ts +31 -0
  1015. package/dist/scroll/position.js +273 -0
  1016. package/dist/scroll/pressOwnership.d.ts +4 -0
  1017. package/dist/scroll/pressOwnership.js +65 -0
  1018. package/dist/scroll/refreshMotion.d.ts +9 -0
  1019. package/dist/scroll/refreshMotion.js +15 -0
  1020. package/dist/scroll/refreshable.d.ts +6 -0
  1021. package/dist/scroll/refreshable.js +50 -0
  1022. package/dist/scroll/registry.d.ts +38 -0
  1023. package/dist/scroll/registry.js +261 -0
  1024. package/dist/scroll/screenGeometry.d.ts +8 -0
  1025. package/dist/scroll/screenGeometry.js +50 -0
  1026. package/dist/scroll/scrollIndicator.d.ts +7 -0
  1027. package/dist/scroll/scrollIndicator.js +114 -0
  1028. package/dist/scroll/scrollJump.d.ts +7 -0
  1029. package/dist/scroll/scrollJump.js +16 -0
  1030. package/dist/scroll/types.d.ts +12 -0
  1031. package/dist/scroll/types.js +1 -0
  1032. package/dist/search/SearchDrawer.d.ts +16 -0
  1033. package/dist/search/SearchDrawer.js +421 -0
  1034. package/dist/search/SearchScopesBar.d.ts +6 -0
  1035. package/dist/search/SearchScopesBar.js +12 -0
  1036. package/dist/search/SearchToolbarField.d.ts +8 -0
  1037. package/dist/search/SearchToolbarField.js +115 -0
  1038. package/dist/search/searchBackdrop.d.ts +12 -0
  1039. package/dist/search/searchBackdrop.js +45 -0
  1040. package/dist/search/searchChrome.d.ts +13 -0
  1041. package/dist/search/searchChrome.js +31 -0
  1042. package/dist/search/searchMotion.d.ts +30 -0
  1043. package/dist/search/searchMotion.js +46 -0
  1044. package/dist/search/searchPlacement.d.ts +11 -0
  1045. package/dist/search/searchPlacement.js +15 -0
  1046. package/dist/search/searchable.d.ts +46 -0
  1047. package/dist/search/searchable.js +5 -0
  1048. package/dist/search/useSearchPresentation.d.ts +15 -0
  1049. package/dist/search/useSearchPresentation.js +61 -0
  1050. package/dist/server.d.ts +7 -0
  1051. package/dist/server.js +144 -0
  1052. package/dist/settings/DisclosureIndicator.d.ts +4 -0
  1053. package/dist/settings/DisclosureIndicator.js +6 -0
  1054. package/dist/settings/tokens.d.ts +129 -0
  1055. package/dist/settings/tokens.js +143 -0
  1056. package/dist/shapes/corners.d.ts +14 -0
  1057. package/dist/shapes/corners.js +80 -0
  1058. package/dist/styles.css +9078 -0
  1059. package/dist/styles.css.d.ts +3 -0
  1060. package/dist/sw/activationState.d.ts +20 -0
  1061. package/dist/sw/activationState.js +39 -0
  1062. package/dist/sw/generator.d.ts +14 -0
  1063. package/dist/sw/generator.js +26 -0
  1064. package/dist/sw/manifest.d.ts +32 -0
  1065. package/dist/sw/manifest.js +137 -0
  1066. package/dist/sw/protocol.d.ts +7 -0
  1067. package/dist/sw/protocol.js +7 -0
  1068. package/dist/sw/pushRuntime.d.ts +2 -0
  1069. package/dist/sw/pushRuntime.js +161 -0
  1070. package/dist/sw/registerAppShell.d.ts +25 -0
  1071. package/dist/sw/registerAppShell.js +259 -0
  1072. package/dist/sw/renderServiceWorker.d.ts +10 -0
  1073. package/dist/sw/renderServiceWorker.js +370 -0
  1074. package/dist/sw/requestRouting.d.ts +13 -0
  1075. package/dist/sw/requestRouting.js +26 -0
  1076. package/dist/sw/updateCheck.d.ts +2 -0
  1077. package/dist/sw/updateCheck.js +25 -0
  1078. package/dist/sw/vite.d.ts +20 -0
  1079. package/dist/sw/vite.js +71 -0
  1080. package/dist/symbols/Symbol.d.ts +33 -0
  1081. package/dist/symbols/Symbol.js +59 -0
  1082. package/dist/symbols/catalogue.d.ts +4 -0
  1083. package/dist/symbols/catalogue.js +4139 -0
  1084. package/dist/symbols/exclusions.d.ts +2 -0
  1085. package/dist/symbols/exclusions.js +4 -0
  1086. package/dist/symbols/inheritedWeight.d.ts +3 -0
  1087. package/dist/symbols/inheritedWeight.js +104 -0
  1088. package/dist/symbols/metrics.d.ts +38 -0
  1089. package/dist/symbols/metrics.js +53 -0
  1090. package/dist/symbols/svg.d.ts +3 -0
  1091. package/dist/symbols/svg.js +16 -0
  1092. package/dist/symbols/types.d.ts +30 -0
  1093. package/dist/symbols/types.js +1 -0
  1094. package/dist/tabs/TabSection.d.ts +12 -0
  1095. package/dist/tabs/TabSection.js +4 -0
  1096. package/dist/tabs/TabSidebarSurface.d.ts +7 -0
  1097. package/dist/tabs/TabSidebarSurface.js +29 -0
  1098. package/dist/tabs/TabView.d.ts +28 -0
  1099. package/dist/tabs/TabView.js +258 -0
  1100. package/dist/tabs/accessoryContact.d.ts +2 -0
  1101. package/dist/tabs/accessoryContact.js +42 -0
  1102. package/dist/tabs/compactBar.d.ts +4 -0
  1103. package/dist/tabs/compactBar.js +28 -0
  1104. package/dist/tabs/context.d.ts +8 -0
  1105. package/dist/tabs/context.js +6 -0
  1106. package/dist/tabs/keyboard.d.ts +3 -0
  1107. package/dist/tabs/keyboard.js +23 -0
  1108. package/dist/tabs/model.d.ts +6 -0
  1109. package/dist/tabs/model.js +16 -0
  1110. package/dist/tabs/presentation.d.ts +7 -0
  1111. package/dist/tabs/presentation.js +14 -0
  1112. package/dist/tabs/sourceRevision.d.ts +3 -0
  1113. package/dist/tabs/sourceRevision.js +36 -0
  1114. package/dist/tabs/tabSidebarGlyph.d.ts +2 -0
  1115. package/dist/tabs/tabSidebarGlyph.js +11 -0
  1116. package/dist/tasks/useTask.d.ts +16 -0
  1117. package/dist/tasks/useTask.js +67 -0
  1118. package/dist/testing.d.ts +9 -0
  1119. package/dist/testing.js +11 -0
  1120. package/dist/text-input/TextEditor.d.ts +25 -0
  1121. package/dist/text-input/TextEditor.js +74 -0
  1122. package/dist/text-input/TextField.d.ts +32 -0
  1123. package/dist/text-input/TextField.js +29 -0
  1124. package/dist/text-input/editorGeometry.d.ts +2 -0
  1125. package/dist/text-input/editorGeometry.js +6 -0
  1126. package/dist/text-input/editorTextLayout.d.ts +2 -0
  1127. package/dist/text-input/editorTextLayout.js +31 -0
  1128. package/dist/text-input/focusChain.d.ts +27 -0
  1129. package/dist/text-input/focusChain.js +62 -0
  1130. package/dist/text-input/kinds.d.ts +8 -0
  1131. package/dist/text-input/kinds.js +34 -0
  1132. package/dist/text-input/measureEditor.d.ts +2 -0
  1133. package/dist/text-input/measureEditor.js +50 -0
  1134. package/dist/text-input/submit.d.ts +9 -0
  1135. package/dist/text-input/submit.js +7 -0
  1136. package/dist/unstable.d.ts +16 -0
  1137. package/dist/unstable.js +16 -0
  1138. package/dist/vite.d.ts +3 -0
  1139. package/dist/vite.js +3 -0
  1140. package/dist/web/WebView.d.ts +42 -0
  1141. package/dist/web/WebView.js +115 -0
  1142. package/dist/web/authentication.d.ts +75 -0
  1143. package/dist/web/authentication.js +488 -0
  1144. package/dist/web/openURL.d.ts +37 -0
  1145. package/dist/web/openURL.js +89 -0
  1146. package/dist/web/urlPolicy.d.ts +3 -0
  1147. package/dist/web/urlPolicy.js +19 -0
  1148. package/dist/web/useWebAuthentication.d.ts +3 -0
  1149. package/dist/web/useWebAuthentication.js +6 -0
  1150. package/dist/zoom/Zoomable.d.ts +10 -0
  1151. package/dist/zoom/Zoomable.js +116 -0
  1152. package/dist/zoom/geometry.d.ts +11 -0
  1153. package/dist/zoom/geometry.js +16 -0
  1154. package/package.json +115 -3
@@ -0,0 +1,564 @@
1
+ import { roundedRectDistance, roundedRectNormal } from '../fieldGeometry.js';
2
+ import phoneFit from './menuMorphPhoneFit.json';
3
+ import { menuSpring } from './menuSpring.js';
4
+ /**
5
+ * Button → menu as one glass field of two members, like native's liquid drop:
6
+ * - the panel member travels from the trigger to the panel on the recorded menu pose
7
+ * (menuMorphMotion.ts);
8
+ * - the trigger member stays at the trigger's home. On open it holds the pressed glass, dips and
9
+ * is absorbed into the departing drop; on close it grows back out of the returning body as a
10
+ * horn, so the shape pours back into the button as a teardrop.
11
+ * The trigger's glyph and the menu's rows are ink drawn inside that glass (the ink kernel), so
12
+ * the growing rim lenses them and no page element is scaled, blurred or clipped.
13
+ *
14
+ * Phone reference: iOS 27.0 iPhone 17 Pro Max Simulator, stock SwiftUI toolbar Menu
15
+ * (native recording menu measurements). Times are ms after the morph's time zero:
16
+ * native release +43 ms on open (regionScene anchors it on the trigger's release), close tap
17
+ * +41 ms on close. Measured (native release/tap times): the pressed 48 pt button holds, dips to
18
+ * 41 pt and departs lopsided (release +116...+175 ms); its white highlight fades 118 → 68 → 0
19
+ * over +108...+160 ms and its dots ride the bulge until about +150 ms.
20
+ *
21
+ * On close the button re-forms from +172 ms as a bump on the body's leading edge, 9 pt short
22
+ * of its home and 10 pt past it (above, for a menu that hangs below its trigger), carrying its
23
+ * dots. It rises to 13.5 pt past home by +242 ms and settles back by about +530 ms while the
24
+ * body pours into it: the tracked centre of the dots follows one spring on both axes
25
+ * (menuMorphPhoneFit.json `closeButton`, 0.14 pt RMS). That momentum is the only time the
26
+ * shape passes its button. Rows fade from the first close frame (246 → 96 in about 15 ms of
27
+ * motion, a faint blurred copy until about +140 ms).
28
+ *
29
+ * Triggers that are not a circle (same Simulator, stock SwiftUI Menu from a labelled capsule
30
+ * 129 x 50, a full-width button 400 x 50 and a toolbar group 152 x 44; phase-morph-shapes-notes.md):
31
+ * the drop does not start as the trigger. The whole trigger glass contracts in about three frames
32
+ * (its width to 0.71 and 0.47 of rest while its height is at 0.90 and 0.74: it shortens faster
33
+ * than it thins) toward the menu member's centre, while a round drop the size of the trigger's
34
+ * height grows there. From then on the drop's size and path are the circle's. On close the
35
+ * button re-forms as the whole trigger scaled up (height first, width lagging), carrying its
36
+ * label at that scale, and passes home by the same share of the travel.
37
+ * The part the drop forms from is the trigger's `seed` (menuSeed): for a circle, and any trigger
38
+ * at least two thirds as thick as it is long, the seed is the trigger and every value below is
39
+ * unchanged.
40
+ */
41
+ export const MENU_FIELD = {
42
+ /** Smooth-union reach between the trigger and the panel members (points). */
43
+ blendRadius: 22,
44
+ /** Depth over which the rim lenses the ink (points). */
45
+ lensWidth: 14,
46
+ /** On close the button forms as a bump on the body: until the body reaches it, its centre
47
+ * stays within this many of its radii of the body's surface, so it always touches the body
48
+ * (fitted with the springs; native's horn grows out of the body's leading corner). */
49
+ closeEmbed: 1,
50
+ /** A scaled long trigger keeps its round part at the scale and the rest of its length (width
51
+ * beyond its height) at the scale to this power. Native's full-width button, re-forming: 0.50,
52
+ * 0.67, 0.80 and 0.90 of its width at 0.75, 0.84, 0.91 and 0.95 of its height (2.5 gives 0.52,
53
+ * 0.67, 0.81, 0.89); contracting: 0.71 and 0.47 at 0.90 and 0.74 (0.79, 0.51). */
54
+ excessPower: 2.5,
55
+ /** On open a long trigger's round part follows the absorption curve to this power (the
56
+ * inverse of `excessPower`), so its length follows the curve itself: native's full-width
57
+ * button is at 0.93, 0.71 and 0.47 of its width where the circle's curve is at 0.91, 0.74 and
58
+ * 0.39. */
59
+ elongatedOpenPower: 0.4,
60
+ /** On close a long trigger's round part follows the re-forming spring to this power, so its
61
+ * length follows the spring squared: native's full-width button is back to 0.50, 0.74, 0.90
62
+ * and 0.98 of its width at +213, +254, +306 and +351 ms of the dismissing touch, its height
63
+ * ahead of it. */
64
+ elongatedClosePower: 0.8,
65
+ };
66
+ /** Monotone cubic (Fritsch-Carlson) through the keys, constant outside them. Velocity is
67
+ * continuous across keys, so a curve never pauses at a knot (a per-segment smoothstep did). */
68
+ export function keyed(keys, ms) {
69
+ if (ms <= keys[0][0])
70
+ return keys[0][1];
71
+ if (ms >= keys.at(-1)[0])
72
+ return keys.at(-1)[1];
73
+ const slope = (i) => {
74
+ if (i === 0 || i === keys.length - 1)
75
+ return 0;
76
+ const before = (keys[i][1] - keys[i - 1][1]) / (keys[i][0] - keys[i - 1][0]), after = (keys[i + 1][1] - keys[i][1]) / (keys[i + 1][0] - keys[i][0]);
77
+ return before * after <= 0 ? 0 : (2 * before * after) / (before + after);
78
+ };
79
+ const i = keys.findIndex(key => key[0] >= ms) - 1;
80
+ const [t0, v0] = keys[i], [t1, v1] = keys[i + 1];
81
+ const h = t1 - t0, t = (ms - t0) / h;
82
+ return ((2 * t ** 3 - 3 * t ** 2 + 1) * v0 +
83
+ (t ** 3 - 2 * t ** 2 + t) * h * slope(i) +
84
+ (-2 * t ** 3 + 3 * t ** 2) * v1 +
85
+ (t ** 3 - t ** 2) * h * slope(i + 1));
86
+ }
87
+ export const MENU_FIELD_CURVES = {
88
+ open: {
89
+ /** Trigger member size relative to its rest size; the first key is the pressed scale. */
90
+ trigger: [
91
+ [73, 0.93],
92
+ [100, 0.6],
93
+ [135, 0],
94
+ ],
95
+ /** Multiplier on the press highlight carried over from the trigger. */
96
+ highlight: [
97
+ [65, 1],
98
+ [117, 0],
99
+ ],
100
+ glyph: [
101
+ [80, 1],
102
+ [130, 0],
103
+ ],
104
+ rowsScale: [
105
+ [100, 1.3],
106
+ [300, 1],
107
+ ],
108
+ rowsOpacity: [
109
+ [90, 0],
110
+ [200, 1],
111
+ ],
112
+ rowsBlur: [
113
+ [110, 5],
114
+ [260, 0],
115
+ ],
116
+ lens: [
117
+ [380, 8],
118
+ [450, 0],
119
+ ],
120
+ },
121
+ // Close keys come from the per-frame two-member fit of the native close outline
122
+ // (native measurements fit; the body's own path is menuMorphPhoneFit.json).
123
+ close: {
124
+ highlight: [[0, 0]],
125
+ /** Dots show as a smudge in the re-forming button at +172 ms of the tap, bright at +188 ms
126
+ * and crisp at +207 ms. */
127
+ glyph: [
128
+ [132, 0],
129
+ [152, 0.8],
130
+ [168, 1],
131
+ ],
132
+ rowsScale: [
133
+ [0, 1],
134
+ [120, 1.12],
135
+ ],
136
+ /** Rows hold for the first frame of motion, then drop fast to a faint blurred copy. */
137
+ rowsOpacity: [
138
+ [25, 1],
139
+ [40, 0.3],
140
+ [65, 0.15],
141
+ [105, 0],
142
+ ],
143
+ rowsBlur: [
144
+ [25, 0],
145
+ [65, 4],
146
+ ],
147
+ /** Closing rows fade without rim bending (native shows none). */
148
+ lens: [[0, 0]],
149
+ /** The body's corner radius as a share of its half-size: the panel's 0.34 rounds fully by
150
+ * +139 ms (fit). Replaces the iPad corner curve on the phone close. */
151
+ roundness: [
152
+ [0, 0.34],
153
+ [14, 0.44],
154
+ [29, 0.55],
155
+ [44, 0.71],
156
+ [79, 0.77],
157
+ [94, 1],
158
+ ],
159
+ },
160
+ };
161
+ const center = (rect) => ({ x: rect.x + rect.width / 2, y: rect.y + rect.height / 2 });
162
+ /** A value's share of the way from `zero` to `one` (0 when they coincide). */
163
+ const share = (value, zero, one) => Math.abs(one - zero) < 1e-6 ? 0 : (value - zero) / (one - zero);
164
+ /** How far a trigger is from round: 0 while it is at least two thirds as thick as it is long (a
165
+ * circle, and the 58 x 47 member of three blended glass buttons, whose whole glass leaves as the
166
+ * drop in native), 1 once it is under 0.45 (the measured capsule and full-width button are 0.39
167
+ * and 0.125). The circle's fitted behaviour applies at 0, the measured long-trigger behaviour at
168
+ * 1. Between them nothing was measured: the two are blended smoothly. */
169
+ export function triggerElongation(shape) {
170
+ const thick = Math.min(shape.halfWidth, shape.halfHeight), long = Math.max(shape.halfWidth, shape.halfHeight);
171
+ if (!(long > 0))
172
+ return 0;
173
+ const t = Math.max(0, Math.min(1, (thick / long - 0.45) / (2 / 3 - 0.45)));
174
+ return 1 - t * t * (3 - 2 * t);
175
+ }
176
+ /** The part of a trigger its drop forms from. A round trigger's seed is the trigger itself. A
177
+ * long trigger's seed is its round part: a shape as wide as the trigger is thick, centred on
178
+ * `anchor` (the menu's own button inside a wider glass group; the trigger's centre when absent)
179
+ * and kept inside the trigger. */
180
+ export function menuSeed(trigger, anchor) {
181
+ const elongation = triggerElongation(trigger);
182
+ if (elongation === 0)
183
+ return trigger;
184
+ const thick = Math.min(trigger.halfWidth, trigger.halfHeight);
185
+ const halfWidth = trigger.halfWidth + (thick - trigger.halfWidth) * elongation, halfHeight = trigger.halfHeight + (thick - trigger.halfHeight) * elongation;
186
+ const within = (value, center, reach) => Math.max(center - reach, Math.min(center + reach, value));
187
+ return {
188
+ centerX: within(anchor?.x ?? trigger.centerX, trigger.centerX, trigger.halfWidth - halfWidth),
189
+ centerY: within(anchor?.y ?? trigger.centerY, trigger.centerY, trigger.halfHeight - halfHeight),
190
+ halfWidth,
191
+ halfHeight,
192
+ radius: Math.min(trigger.radius, halfWidth, halfHeight),
193
+ };
194
+ }
195
+ /** A trigger at `scale` of its rest size. Its round part (the seed) scales by `scale` about the
196
+ * seed's centre; its length beyond the seed scales by `scale` to `excessPower`, so a long
197
+ * button shortens faster than it thins. At or above 1 (the pressed growth) and for a circle the
198
+ * scale is uniform about the trigger's centre. */
199
+ export function scaledMenuTrigger(home, scale, seed = menuSeed(home)) {
200
+ if (scale >= 1 || triggerElongation(home) === 0)
201
+ return {
202
+ centerX: home.centerX,
203
+ centerY: home.centerY,
204
+ halfWidth: home.halfWidth * scale,
205
+ halfHeight: home.halfHeight * scale,
206
+ radius: Math.min(home.radius * scale, home.halfWidth * scale, home.halfHeight * scale),
207
+ };
208
+ const excess = scale ** MENU_FIELD.excessPower;
209
+ /** One axis: the seed's span scaled by `scale`, the trigger's reach beyond it by `excess`. */
210
+ const span = (center, half, seedCenter, seedHalf) => {
211
+ const before = seedCenter - seedHalf - (center - half), after = center + half - (seedCenter + seedHalf);
212
+ const start = seedCenter - seedHalf * scale - before * excess, end = seedCenter + seedHalf * scale + after * excess;
213
+ return { center: (start + end) / 2, half: (end - start) / 2 };
214
+ };
215
+ const x = span(home.centerX, home.halfWidth, seed.centerX, seed.halfWidth), y = span(home.centerY, home.halfHeight, seed.centerY, seed.halfHeight);
216
+ return {
217
+ centerX: x.center,
218
+ centerY: y.center,
219
+ halfWidth: x.half,
220
+ halfHeight: y.half,
221
+ radius: Math.min(home.radius * scale, x.half, y.half),
222
+ };
223
+ }
224
+ /** Where the re-forming button's centre is at `ms` of a close: its home plus the settle
225
+ * spring's displacement, a share of the panel-to-trigger travel on each axis. */
226
+ export function closeButtonCenter(home, panelFrame, ms) {
227
+ const { x, y } = phoneFit.closeButton, panel = center(panelFrame);
228
+ return {
229
+ x: home.centerX + x.from * menuSpring(x, ms).value * (panel.x - home.centerX),
230
+ y: home.centerY + y.from * menuSpring(y, ms).value * (panel.y - home.centerY),
231
+ };
232
+ }
233
+ /** The closing body: the travelling member (panel → the trigger's seed) poured into the
234
+ * button. Its centre travels to the button's current centre, and its size is the travelled
235
+ * share of the panel, so it collapses to nothing inside the button. Gone once it is under a
236
+ * point. */
237
+ function closeBody(travelling, home, seed, panelFrame, ms) {
238
+ const panel = center(panelFrame), button = closeButtonCenter(home, panelFrame, ms);
239
+ const halfWidth = share(travelling.halfWidth, seed.halfWidth, panelFrame.width / 2) * (panelFrame.width / 2), halfHeight = share(travelling.halfHeight, seed.halfHeight, panelFrame.height / 2) * (panelFrame.height / 2);
240
+ if (Math.min(halfWidth, halfHeight) < 0.5)
241
+ return undefined;
242
+ const arrivedX = 1 - share(travelling.centerX, seed.centerX, panel.x), arrivedY = 1 - share(travelling.centerY, seed.centerY, panel.y);
243
+ return {
244
+ centerX: travelling.centerX + (button.x - seed.centerX) * arrivedX,
245
+ centerY: travelling.centerY + (button.y - seed.centerY) * arrivedY,
246
+ halfWidth,
247
+ halfHeight,
248
+ radius: keyed(MENU_FIELD_CURVES.close.roundness, ms) * Math.min(halfWidth, halfHeight),
249
+ };
250
+ }
251
+ /** Keep a forming button attached to the body: a centre farther than `closeEmbed` radii
252
+ * outside the body's surface moves back along the surface normal. */
253
+ function onBody(point, body, radius) {
254
+ if (!body)
255
+ return point;
256
+ const beyond = roundedRectDistance(point.x, point.y, body) - MENU_FIELD.closeEmbed * radius;
257
+ if (beyond <= 0)
258
+ return point;
259
+ const [nx, ny] = roundedRectNormal(point.x, point.y, body);
260
+ return { x: point.x - nx * beyond, y: point.y - ny * beyond };
261
+ }
262
+ /** `member` with its centre moved by the same offset that takes `from` to `to`. */
263
+ const movedBy = (member, from, to) => ({
264
+ ...member,
265
+ centerX: to.x + (member.centerX - from.x),
266
+ centerY: to.y + (member.centerY - from.y),
267
+ });
268
+ /** The trigger's label (its glyph ink) inside a scaled trigger member. A circle's glyph keeps
269
+ * its size and rides the member's centre. An elongated trigger's label scales with the member's
270
+ * round part and keeps its place along the member, as native's label does. */
271
+ function glyphFrame(glyph, home, member, scale) {
272
+ const elongation = triggerElongation(home);
273
+ if (elongation === 0)
274
+ return {
275
+ ...glyph,
276
+ x: glyph.x + member.centerX - home.centerX,
277
+ y: glyph.y + member.centerY - home.centerY,
278
+ };
279
+ const mix = (ratio) => 1 + (ratio - 1) * elongation;
280
+ const size = mix(Math.min(1, scale));
281
+ const along = mix(home.halfWidth > 0 ? member.halfWidth / home.halfWidth : 1), across = mix(home.halfHeight > 0 ? member.halfHeight / home.halfHeight : 1);
282
+ const glyphCenter = center(glyph);
283
+ const width = glyph.width * size, height = glyph.height * size;
284
+ return {
285
+ x: member.centerX + (glyphCenter.x - home.centerX) * along - width / 2,
286
+ y: member.centerY + (glyphCenter.y - home.centerY) * across - height / 2,
287
+ width,
288
+ height,
289
+ };
290
+ }
291
+ /** The two-member field, its highlight and its ink at `ms` after the morph's time zero.
292
+ * `panel` is the travelling panel member (between the trigger's seed and the panel); `home` the
293
+ * trigger glass at rest; `anchor` the centre of the menu's own button when the trigger glass is
294
+ * wider than it (a toolbar group); `panelFrame` the settled panel. `rows`/`glyph` pair an ink
295
+ * atlas region with its settled rectangle. All in points. */
296
+ export function menuFieldFrame({ sourceKind, direction, ms, panel: travelling, home, anchor, pressedScale = 1, pressHighlight = 0, panelFrame, rows, glyph, settled = false, }) {
297
+ const curves = sourceKind === 'label' || sourceKind === 'glyph'
298
+ ? { ...MENU_FIELD_CURVES[direction], ...PLAIN_INK[sourceKind][direction] }
299
+ : sourceKind === 'context' && direction === 'close'
300
+ ? { ...MENU_FIELD_CURVES.close, ...CONTEXT_CLOSE_INK }
301
+ : MENU_FIELD_CURVES[direction];
302
+ // On close the trigger re-forms on one spring, as a bump that grows on the body.
303
+ const scale = direction === 'open'
304
+ ? keyed([[0, pressedScale], ...MENU_FIELD_CURVES.open.trigger], ms)
305
+ : settled
306
+ ? 1
307
+ : 1 - menuSpring(phoneFit.closeHead, ms).value;
308
+ const members = [];
309
+ const homeCenter = { x: home.centerX, y: home.centerY };
310
+ /** Where the drop leaves from and returns to. */
311
+ const seed = menuSeed(home, anchor);
312
+ /** The trigger member, and the scale of its round part (its label's scale). */
313
+ let trigger;
314
+ let triggerScale = 1;
315
+ /** The member the rows ride in. */
316
+ let panel = travelling;
317
+ // A plain label or glyph has no glass to hold, absorb or re-form: its drop is the travelling
318
+ // member alone. Native shows no glass bubble at a plain glyph before its menu grows.
319
+ if (sourceKind === 'label' || sourceKind === 'glyph' || sourceKind === 'context') {
320
+ members.push(travelling);
321
+ }
322
+ else if (direction === 'close') {
323
+ const body = settled ? undefined : closeBody(travelling, home, seed, panelFrame, ms);
324
+ if (body) {
325
+ members.push(body);
326
+ panel = body;
327
+ }
328
+ if (scale > 0.01 || !body) {
329
+ const size = Math.max(scale, 0.01);
330
+ const power = 1 - (1 - MENU_FIELD.elongatedClosePower) * triggerElongation(home);
331
+ triggerScale = size >= 1 ? size : size ** power;
332
+ const at = settled
333
+ ? homeCenter
334
+ : onBody(closeButtonCenter(home, panelFrame, ms), body, home.radius * triggerScale);
335
+ // The button re-forms about its own centre, whichever of its members opened the menu.
336
+ trigger = movedBy(scaledMenuTrigger(home, triggerScale), homeCenter, at);
337
+ members.unshift(trigger);
338
+ }
339
+ }
340
+ else {
341
+ members.push(travelling);
342
+ if (scale > 0.01) {
343
+ // An elongated trigger's round part follows the square root of the absorption curve, so
344
+ // its length follows the curve; a circle follows the curve itself.
345
+ const power = 1 - (1 - MENU_FIELD.elongatedOpenPower) * triggerElongation(home);
346
+ triggerScale = scale >= 1 ? scale : scale ** power;
347
+ const shape = scaledMenuTrigger(home, triggerScale, seed);
348
+ // A shrinking trigger is absorbed: it slides from its home to the nearest point where it
349
+ // lies wholly inside the panel member, so no detached droplet is left behind.
350
+ const clampInside = (value, center, reach) => Math.max(center - reach, Math.min(center + reach, value));
351
+ const insideX = clampInside(shape.centerX, travelling.centerX, Math.max(0, travelling.halfWidth - shape.halfWidth));
352
+ const insideY = clampInside(shape.centerY, travelling.centerY, Math.max(0, travelling.halfHeight - shape.halfHeight));
353
+ const toHome = Math.min(1, scale);
354
+ trigger = {
355
+ ...shape,
356
+ centerX: insideX + (shape.centerX - insideX) * toHome,
357
+ centerY: insideY + (shape.centerY - insideY) * toHome,
358
+ };
359
+ members.unshift(trigger);
360
+ }
361
+ }
362
+ const at = settled ? Infinity : ms;
363
+ const ink = [];
364
+ // Context ink is carried by the growing body, without the toolbar's trigger lens.
365
+ const lens = sourceKind === 'context' || (settled && direction === 'open') ? 0 : keyed(curves.lens, at);
366
+ if (glyph) {
367
+ const opacity = keyed(curves.glyph, at);
368
+ if (opacity > 0 && trigger)
369
+ ink.push({
370
+ source: glyph.source,
371
+ frame: glyphFrame(glyph.frame, home, trigger, triggerScale),
372
+ opacity,
373
+ blur: 0,
374
+ lens,
375
+ lensWidth: MENU_FIELD.lensWidth,
376
+ });
377
+ }
378
+ if (rows) {
379
+ const opacity = keyed(curves.rowsOpacity, at);
380
+ if (opacity > 0) {
381
+ // Rows travel with the panel member, scaled about its centre.
382
+ // Context content grows with its body. Toolbar ink starts at full size
383
+ // inside a lens; using that scale here clips the first rows out of the seed.
384
+ const factor = sourceKind === 'context'
385
+ ? (panel.halfWidth * 2) / panelFrame.width
386
+ : keyed(curves.rowsScale, at);
387
+ const panelCenterX = panelFrame.x + panelFrame.width / 2, panelCenterY = panelFrame.y + panelFrame.height / 2;
388
+ const width = rows.frame.width * factor, height = rows.frame.height * factor;
389
+ const centerX = panel.centerX + (rows.frame.x + rows.frame.width / 2 - panelCenterX) * factor;
390
+ const centerY = panel.centerY + (rows.frame.y + rows.frame.height / 2 - panelCenterY) * factor;
391
+ ink.push({
392
+ source: rows.source,
393
+ frame: { x: centerX - width / 2, y: centerY - height / 2, width, height },
394
+ opacity,
395
+ blur: keyed(curves.rowsBlur, at) * (sourceKind === 'context' ? factor : 1),
396
+ lens,
397
+ lensWidth: MENU_FIELD.lensWidth,
398
+ });
399
+ }
400
+ }
401
+ return {
402
+ members,
403
+ blendRadius: MENU_FIELD.blendRadius,
404
+ highlight: pressHighlight * keyed(curves.highlight, at),
405
+ ink,
406
+ };
407
+ }
408
+ /** A context menu's rows close with its body: the body's measured fade (menu-close/r3, the
409
+ * region opacity) and shrink carry them, so the rows never leave an empty dark platter
410
+ * behind (owner, nowplaying-art-menu-glitch-2026-10-11). The toolbar's quicker row fade
411
+ * belongs to a body that pours back into a glass button. */
412
+ const CONTEXT_CLOSE_INK = {
413
+ rowsOpacity: [[0, 1]],
414
+ rowsBlur: [[0, 0]],
415
+ };
416
+ /** A plain label's drop (menu-style Picker, text Menu), native-glass-menu-clock
417
+ * picker-glass-sheet.mp4 (Simulator, 59.94 fps, light; dark UNKNOWN), times after the open onset
418
+ * at PTS 1.028 s. Open: the value label fades in place while a round lens grows from it with
419
+ * the rows already inside: faint, sharp in the middle and bent by its rim from about +35 ms,
420
+ * about a third visible at +52 ms, two thirds at +85 ms and whole by +119 ms; the rim stops
421
+ * bending them by +185 ms. The rim depth is the toolbar's (unmeasured here). The glass is
422
+ * whole from the first frame: there is no material fade on open.
423
+ * Close: the rows grow, blur and fade before the shrinking glass reaches the label, and the
424
+ * glass itself fades out (no button re-forms at a label). */
425
+ const MENU_LABEL_INK = {
426
+ open: {
427
+ rowsOpacity: [
428
+ [17, 0],
429
+ [52, 0.35],
430
+ [85, 0.7],
431
+ [119, 1],
432
+ ],
433
+ rowsBlur: [[0, 0]],
434
+ rowsScale: [[0, 1]],
435
+ lens: [
436
+ [0, 8],
437
+ [135, 8],
438
+ [185, 0],
439
+ ],
440
+ },
441
+ close: {
442
+ rowsOpacity: [
443
+ [0, 1],
444
+ [17, 0.7],
445
+ [50, 0.2],
446
+ [83, 0],
447
+ ],
448
+ rowsBlur: [
449
+ [0, 0],
450
+ [50, 4],
451
+ ],
452
+ rowsScale: [
453
+ [0, 1],
454
+ [150, 0.8],
455
+ ],
456
+ lens: [[0, 0]],
457
+ },
458
+ };
459
+ /** A plain glyph's drop (a Menu labelled with a bare symbol, no glass at rest): stock SwiftUI
460
+ * in the iOS 27.0 Simulator, counter-retimed (menuGlyphDropFit.json). Open: the glyph vanishes on
461
+ * the tap; the body's first frame is already 94 x 82 pt with the rows inside it, small and
462
+ * blurred; they reach full size by +120 ms and are sharp by +154 ms. Close: the rows blur and
463
+ * fade inside the collapsing body, gone by +137 ms. */
464
+ const MENU_GLYPH_INK = {
465
+ open: {
466
+ rowsOpacity: [
467
+ [17, 0.5],
468
+ [51, 1],
469
+ ],
470
+ rowsBlur: [
471
+ [34, 6],
472
+ [103, 2],
473
+ [154, 0],
474
+ ],
475
+ rowsScale: [
476
+ [34, 0.5],
477
+ [68, 0.85],
478
+ [120, 1],
479
+ ],
480
+ lens: MENU_LABEL_INK.open.lens,
481
+ },
482
+ close: {
483
+ rowsOpacity: [
484
+ [0, 1],
485
+ [34, 0.75],
486
+ [68, 0.4],
487
+ [103, 0.12],
488
+ [137, 0],
489
+ ],
490
+ rowsBlur: [
491
+ [0, 0],
492
+ [68, 5],
493
+ ],
494
+ rowsScale: MENU_LABEL_INK.close.rowsScale,
495
+ lens: [[0, 0]],
496
+ },
497
+ };
498
+ const PLAIN_INK = { label: MENU_LABEL_INK, glyph: MENU_GLYPH_INK };
499
+ /** Material opacity and corner rounding of a plain drop, by source kind.
500
+ * Label (picker-glass-sheet): round until +100 ms of either direction's shape and square by
501
+ * +200 ms; whole glass from the first open frame; the close fades it out by +150 ms.
502
+ * Glyph (menuGlyphDropFit.json, stills read per refresh): the first open frames are faint
503
+ * glass, whole by +103 ms; the body is an oval until +51 ms and square by +154 ms. On close it
504
+ * rounds back to an oval by +154 ms and fades as it collapses, a faint smudge at the glyph by
505
+ * +222 ms and gone by +256 ms. */
506
+ const PLAIN_PRESENTATION = {
507
+ label: {
508
+ openOpacity: [[0, 1]],
509
+ closeOpacity: [
510
+ [0, 1],
511
+ [17, 0.85],
512
+ [50, 0.25],
513
+ [83, 0.08],
514
+ [150, 0],
515
+ ],
516
+ openRounding: [
517
+ [0, 1],
518
+ [100, 1],
519
+ [200, 0],
520
+ ],
521
+ // The open's rounding run backwards (the same smoothstep, mirrored).
522
+ closeRounding: [
523
+ [0, 0],
524
+ [100, 1],
525
+ ],
526
+ },
527
+ glyph: {
528
+ openOpacity: [
529
+ [0, 0],
530
+ [17, 0.25],
531
+ [34, 0.45],
532
+ [68, 0.8],
533
+ [103, 1],
534
+ ],
535
+ closeOpacity: [
536
+ [0, 1],
537
+ [51, 0.9],
538
+ [120, 0.6],
539
+ [171, 0.3],
540
+ [222, 0.1],
541
+ [256, 0],
542
+ ],
543
+ openRounding: [
544
+ [0, 1],
545
+ [51, 1],
546
+ [103, 0.45],
547
+ [154, 0],
548
+ ],
549
+ closeRounding: [
550
+ [0, 0],
551
+ [51, 0.3],
552
+ [103, 0.7],
553
+ [154, 1],
554
+ ],
555
+ },
556
+ };
557
+ export function plainMenuPresentation(kind, direction, ms, settled) {
558
+ if (settled)
559
+ return { opacity: direction === 'open' ? 1 : 0, rounding: 0 };
560
+ const curves = PLAIN_PRESENTATION[kind];
561
+ return direction === 'open'
562
+ ? { opacity: keyed(curves.openOpacity, ms), rounding: keyed(curves.openRounding, ms) }
563
+ : { opacity: keyed(curves.closeOpacity, ms), rounding: keyed(curves.closeRounding, ms) };
564
+ }
@@ -0,0 +1,12 @@
1
+ import type { MenuGestureFrame } from '../../menu/menuGesture.js';
2
+ import { type MenuMotionFrame } from './menuMotion.js';
3
+ /** Deform the same glass shape that drives its aperture and shadow. */
4
+ export declare function presentMenuGesture(base: MenuMotionFrame, gesture: MenuGestureFrame): MenuMotionFrame;
5
+ /** Keep the ordinary returning glyph transform, then add only active contact. */
6
+ export declare function presentMenuTrigger(frame: MenuMotionFrame, gesture: MenuGestureFrame): {
7
+ active: boolean;
8
+ x: number;
9
+ y: number;
10
+ scaleX: number;
11
+ scaleY: number;
12
+ };
@@ -0,0 +1,42 @@
1
+ import { MENU_BUTTON, MENU_ENVELOPE } from './menuMotion.js';
2
+ /** Deform the same glass shape that drives its aperture and shadow. */
3
+ export function presentMenuGesture(base, gesture) {
4
+ if (gesture.x === 0 && gesture.y === 0 && gesture.scaleX === 1 && gesture.scaleY === 1)
5
+ return base;
6
+ const amount = gesture.trigger
7
+ ? 1 - Math.max(0, Math.min(1, base.openProgress))
8
+ : Math.max(0, Math.min(1, base.openProgress));
9
+ if (amount === 0)
10
+ return base;
11
+ const shape = (part) => ({
12
+ ...part,
13
+ radius: part.radius * (gesture.trigger ? 1 + (gesture.scaleX - 1) * amount : 1),
14
+ centerX: part.centerX + gesture.x * amount,
15
+ centerY: part.centerY + gesture.y * amount,
16
+ halfWidth: part.halfWidth * (1 + (gesture.scaleX - 1) * amount),
17
+ halfHeight: part.halfHeight * (1 + (gesture.scaleY - 1) * amount),
18
+ });
19
+ return {
20
+ ...base,
21
+ shape: {
22
+ ...base.shape,
23
+ first: shape(base.shape.first),
24
+ second: base.shape.second ? shape(base.shape.second) : undefined,
25
+ },
26
+ };
27
+ }
28
+ /** Keep the ordinary returning glyph transform, then add only active contact. */
29
+ export function presentMenuTrigger(frame, gesture) {
30
+ const returning = frame.returningTrigger;
31
+ const amount = gesture.trigger ? 1 - Math.max(0, Math.min(1, frame.openProgress)) : 0;
32
+ const x = MENU_BUTTON.centerX - MENU_ENVELOPE.frameX;
33
+ const y = MENU_BUTTON.centerY - MENU_ENVELOPE.frameY;
34
+ const scale = (returning?.radius ?? MENU_BUTTON.diameter / 2) / (MENU_BUTTON.diameter / 2);
35
+ return {
36
+ active: Boolean(returning || gesture.trigger),
37
+ x: (returning?.centerX ?? x) - x + gesture.x * amount,
38
+ y: (returning?.centerY ?? y) - y + gesture.y * amount,
39
+ scaleX: scale * (1 + (gesture.scaleX - 1) * amount),
40
+ scaleY: scale * (1 + (gesture.scaleY - 1) * amount),
41
+ };
42
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "provenance": {
3
+ "source": "plain-menu-morph native/PlainMenuRef.swift: stock SwiftUI Menu { … } label: { Image(systemName: \"ellipsis\") } (no glass), iOS 27.0 Simulator, iPhone 17 Pro Max, light; raw/pmm-light-1.mp4",
4
+ "cadence": "refresh counter 58.47 Hz, skips 0.23 %, max skip 1, 0 unreadable: valid for fitting (duplicates removed by counter, times = refresh index x 17.1 ms)",
5
+ "openOnset": "counter 1512, the refresh where the glyph disappears (the tap)",
6
+ "closeOnset": "counter 1562, the last refresh before the open menu moves",
7
+ "method": "Bounding box of pixels changed from the resting frame, in points; panel = 257 x 140 pt glass (its 7 pt bottom shadow excluded); source = the glyph's centre (397, 561)",
8
+ "units": "ms, normalized centerX centerY width height (0 = the glyph's centre, 1 = the panel)"
9
+ },
10
+ "open": [
11
+ [0, 0, 0, 0, 0],
12
+ [34, 0.36, 0.5, 0.37, 0.59],
13
+ [51, 0.6, 0.81, 0.6, 0.84],
14
+ [68, 0.7, 0.91, 0.7, 0.92],
15
+ [103, 0.78, 0.97, 0.79, 0.97],
16
+ [120, 0.84, 1, 0.85, 1],
17
+ [137, 0.89, 1.01, 0.9, 1.02],
18
+ [154, 0.96, 1.02, 0.97, 1.04],
19
+ [188, 0.98, 1.01, 0.98, 1.02],
20
+ [222, 1, 1, 1, 1],
21
+ [256, 1, 1, 1, 1]
22
+ ],
23
+ "close": [
24
+ [0, 1, 1, 1, 1],
25
+ [17, 0.95, 1.05, 0.96, 1.04],
26
+ [51, 0.83, 1.18, 0.84, 1.08],
27
+ [68, 0.74, 1.14, 0.76, 1.04],
28
+ [85, 0.65, 1.06, 0.67, 0.98],
29
+ [103, 0.57, 0.95, 0.59, 0.89],
30
+ [120, 0.48, 0.82, 0.51, 0.78],
31
+ [137, 0.41, 0.69, 0.44, 0.69],
32
+ [154, 0.33, 0.53, 0.37, 0.62],
33
+ [171, 0.27, 0.25, 0.32, 0.38],
34
+ [188, 0.21, 0.12, 0.26, 0.3],
35
+ [222, 0.14, 0, 0.18, 0.16],
36
+ [256, 0, 0, 0, 0]
37
+ ]
38
+ }