@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,87 @@
1
+ import { createGestureArena, deferGesture, failGesture, recognizeGesture, } from '../gestures/arena.js';
2
+ import { interactivePopRecognizer, nativeScrollRecognizer, pressRecognizer, } from '../gestures/existingCompetitors.js';
3
+ import { horizontalDragBlocksBack } from '../navigation/horizontalDrag.js';
4
+ /** The generic arena receives calibration from the interaction owner. */
5
+ export function createRowArena(bounds, options) {
6
+ const { calibration: c } = options;
7
+ return createGestureArena({
8
+ bounds,
9
+ recognizers: [
10
+ {
11
+ ...interactivePopRecognizer,
12
+ evaluate: context => options.canPop
13
+ ? interactivePopRecognizer.evaluate(context)
14
+ : failGesture('no-pop-target'),
15
+ },
16
+ nativeScrollRecognizer,
17
+ {
18
+ ...pressRecognizer,
19
+ evaluate: context => Math.hypot(context.deltaX, context.deltaY) > c.holdSlop
20
+ ? failGesture('moved')
21
+ : pressRecognizer.evaluate(context),
22
+ },
23
+ {
24
+ id: 'row-swipe',
25
+ axis: 'horizontal',
26
+ priority: 50,
27
+ region: { kind: 'all' },
28
+ hysteresis: { claimDistance: c.claimDistance },
29
+ requiresFailureOf: ['interactive-pop'],
30
+ evaluate: context => {
31
+ if (context.sample.phase === 'end')
32
+ return failGesture('released');
33
+ if (Math.max(Math.abs(context.deltaX), Math.abs(context.deltaY)) < c.claimDistance)
34
+ return deferGesture();
35
+ if (Math.abs(context.deltaY) >= Math.abs(context.deltaX))
36
+ return failGesture('vertical-intent');
37
+ return (context.deltaX > 0 ? options.leading : options.trailing)
38
+ ? recognizeGesture('horizontal-row-action')
39
+ : failGesture('no-actions');
40
+ },
41
+ },
42
+ {
43
+ id: 'context-hold',
44
+ axis: 'any',
45
+ priority: 60,
46
+ region: { kind: 'all' },
47
+ hysteresis: { retentionDistance: c.holdSlop },
48
+ evaluate: context => {
49
+ if (!options.context ||
50
+ context.sample.phase === 'end' ||
51
+ Math.hypot(context.deltaX, context.deltaY) > c.holdSlop)
52
+ return failGesture('hold-canceled');
53
+ return context.elapsed >= c.holdMilliseconds
54
+ ? recognizeGesture('hold-elapsed')
55
+ : deferGesture();
56
+ },
57
+ },
58
+ ],
59
+ });
60
+ }
61
+ const navigationOwners = new WeakMap();
62
+ export function registerRowNavigationOwner(host, canPop) {
63
+ navigationOwners.set(host, canPop);
64
+ return () => {
65
+ navigationOwners.delete(host);
66
+ };
67
+ }
68
+ export function rowCanPop(target, clientX) {
69
+ const host = target.closest('[data-satin-navigator-host]');
70
+ return host
71
+ ? !horizontalDragBlocksBack(target, clientX) && (navigationOwners.get(host)?.(target) ?? false)
72
+ : false;
73
+ }
74
+ /** Set before contact: native horizontal scrolling cannot be enabled after down. */
75
+ export function rowSwipeTouchAction(nativeDriver, canPop, directionalPanning = true) {
76
+ return nativeDriver && canPop && directionalPanning ? 'pan-y pan-right pinch-zoom' : 'pan-y';
77
+ }
78
+ /** Sample the committed target policy at contact, not after direction lock. */
79
+ export function rowBlocksNativeBack(target) {
80
+ const row = target?.closest('[data-satin-row-swipe="true"]');
81
+ if (!row)
82
+ return false;
83
+ const policy = getComputedStyle(row).touchAction || 'auto';
84
+ return (!['auto', 'manipulation'].includes(policy) &&
85
+ !policy.includes('pan-x') &&
86
+ !policy.includes('pan-right'));
87
+ }
@@ -0,0 +1,59 @@
1
+ import { type SwipeActions } from './types.js';
2
+ export declare const swipeGeometry: {
3
+ readonly buttonWidth: 60;
4
+ readonly gap: 10;
5
+ readonly padding: 10;
6
+ readonly capsuleHeight: 44;
7
+ };
8
+ export declare const swipeOpenWidth: (count: number, buttonWidth?: number) => number;
9
+ export type SwipeWidths = {
10
+ leading: number;
11
+ trailing: number;
12
+ };
13
+ export declare function swipeWidths(host: HTMLElement): SwipeWidths;
14
+ export declare function fullSwipeThreshold(width: number, count: number, side?: 'leading' | 'trailing', buttonWidth?: number, inline?: boolean): number;
15
+ export declare const swipeDragLimit: (width: number, count: number, buttonWidth?: number) => number;
16
+ /** Spatial fit of native's sequential capsule reveal. Rest interpolates the
17
+ * contact pose into the fully revealed spring target; it is never a DOM writer. */
18
+ export declare function swipeActionPose(position: number, index: number, count: number, takeover?: number, rest?: number, buttonWidth?: number, inline?: boolean, allowsFullSwipe?: boolean): {
19
+ scale: number;
20
+ spread: number;
21
+ opacity: number;
22
+ growth: number;
23
+ };
24
+ export declare function swipeActionTracks(primary: HTMLElement, count: number, width: number, allowsFullSwipe: boolean): {
25
+ element: HTMLElement;
26
+ frame(position: number, raw?: number, rest?: number, temporalTakeover?: number): Keyframe;
27
+ }[];
28
+ /** Native scroll offset is authoritative; resistance maps it to the presented row position. */
29
+ export declare function rowSwipePosition(raw: number, width: number, configuration?: SwipeActions, widths?: SwipeWidths): number;
30
+ /** A revealed row closes after a deliberate reverse drag, without requiring
31
+ * the finger to traverse the entire tray. */
32
+ export declare function rowSwipeShouldClose(initial: number, position: number, drag: number): boolean;
33
+ /** Invert resistance once when a new finger catches a spring. */
34
+ export declare function rowSwipeRaw(position: number, width: number, configuration?: SwipeActions, widths?: SwipeWidths): number;
35
+ export declare function primaryParts(primary: HTMLElement): HTMLElement[];
36
+ export declare function primaryTransform(part: HTMLElement, growth: number, middleWidth?: number): string;
37
+ /** Recover takeover from the presented capsule, including a caught settle. */
38
+ export declare function presentedTakeover(primary: HTMLElement, position: number): number;
39
+ export declare function createRowScrub(host: HTMLElement, source: HTMLElement, content: HTMLElement, initial: number, width: number, configuration?: SwipeActions): {
40
+ flush: (now?: number) => {
41
+ raw: number;
42
+ position: number;
43
+ };
44
+ rawPosition: () => number;
45
+ position: () => number;
46
+ cancel: () => void;
47
+ } | undefined;
48
+ /** Called by the row's existing ResizeObserver, never by its frame loop. */
49
+ export declare function updateRowCorners(content: HTMLElement, width: number, height: number, actions?: SwipeActions): void;
50
+ /** Rebuild only geometry keyframes on resize. The existing animation keeps its
51
+ * timeline, velocity fit and current time, including an interrupted release. */
52
+ export declare function resizeRowCornerAnimation(content: HTMLElement, animation: Animation, frames: () => Keyframe[]): void;
53
+ /** Keep section end caps until the first inline action has entered. The
54
+ * revealed face has a fixed continuous corner, independent of text height. */
55
+ export declare function swipeContentTrack(content: HTMLElement): (position: number, rest?: number) => {
56
+ transform: string;
57
+ borderRadius: string;
58
+ clipPath: string;
59
+ };
@@ -0,0 +1,400 @@
1
+ import { cornerClipPath, roundedCornerPath } from '../shapes/corners.js';
2
+ import { takeoverSample } from './swipeSpring.js';
3
+ import { swipeEdge } from './types.js';
4
+ // iOS 27 matched phone reference, light/dark, 1/2/3 actions, both edges:
5
+ // color-mask width 60pt, gap 10pt, outer padding 10pt. Capsule 44pt layout / 42-43pt solid mask.
6
+ export const swipeGeometry = { buttonWidth: 60, gap: 10, padding: 10, capsuleHeight: 44 };
7
+ export const swipeOpenWidth = (count, buttonWidth = swipeGeometry.buttonWidth) => count * (buttonWidth + swipeGeometry.gap) + swipeGeometry.padding;
8
+ export function swipeWidths(host) {
9
+ const width = (side) => {
10
+ const tray = host.querySelector(`[data-satin-swipe-tray="${side}"]`);
11
+ return Number.parseFloat(tray?.style.getPropertyValue('--satin-swipe-button-width') ?? '') || 60;
12
+ };
13
+ return { leading: width('leading'), trailing: width('trailing') };
14
+ }
15
+ const defaultWidths = { leading: 60, trailing: 60 };
16
+ // reference native UIKit pan receipts, 400pt / 52pt rows. Recognition consumes
17
+ // some initial finger travel, especially in fast strokes: the scroll source
18
+ // supplies recognized translation, not total finger displacement.
19
+ // Normal cancel/commit brackets: trailing 195..220pt; leading two 205..230pt,
20
+ // leading three 300..325pt. Flick-only projection is not isolated by these
21
+ // bounds and must not be invented from the commanded input duration.
22
+ export function fullSwipeThreshold(width, count, side = 'trailing', buttonWidth = 84, inline = true) {
23
+ // Tall two-action leading rows cancel at 205pt and commit at 210pt,
24
+ // from slow drags through 1394pt/s flicks. Keep other tall-row fits separate.
25
+ if (!inline) {
26
+ const threshold = side === 'leading' && count === 2 ? 207.5 : count === 1 ? 240 : count === 2 ? 232.5 : 265;
27
+ return (width / 400) * threshold;
28
+ }
29
+ const threshold = width * (207.5 / 400);
30
+ return side === 'leading'
31
+ ? Math.max(threshold, swipeOpenWidth(count, buttonWidth) + 20)
32
+ : threshold;
33
+ }
34
+ export const swipeDragLimit = (width, count, buttonWidth = 60) => Math.max(width / 2, swipeOpenWidth(count, buttonWidth) + 20);
35
+ const clamp = (value) => Math.max(0, Math.min(1, value));
36
+ // Tall stock List rows reveal a 50pt button over 40..70pt of recognized travel.
37
+ // Held-input probes at 40, 60 and 80pt produce scale/alpha 0, 2/3 and 1.
38
+ function revealScale(distance) {
39
+ return clamp((distance - 40) / 30);
40
+ }
41
+ // iOS 27 short-row captures, both appearances and edges, every third frame.
42
+ // The 84pt Read pill grows over 50..114pt; the 96pt Archive pill over 52..124pt.
43
+ // Opacity is measured independently of the colored mask height.
44
+ const inlineOpacitySamples = [
45
+ [0, 0],
46
+ [0.15, 0.08],
47
+ [0.3, 0.43],
48
+ [0.55, 0.69],
49
+ [0.8, 0.93],
50
+ [1, 1],
51
+ ];
52
+ function inlineEntrance(distance, buttonWidth) {
53
+ const widthDelta = buttonWidth - 84;
54
+ const scale = clamp((distance - 50 - widthDelta / 6) / (64 + (widthDelta * 2) / 3));
55
+ let opacity = 1;
56
+ for (let index = 1; index < inlineOpacitySamples.length; index++) {
57
+ const [end, to] = inlineOpacitySamples[index];
58
+ const [start, from] = inlineOpacitySamples[index - 1];
59
+ if (scale <= end) {
60
+ opacity = from + (to - from) * clamp((scale - start) / (end - start));
61
+ break;
62
+ }
63
+ }
64
+ return { scale, opacity };
65
+ }
66
+ /** Spatial fit of native's sequential capsule reveal. Rest interpolates the
67
+ * contact pose into the fully revealed spring target; it is never a DOM writer. */
68
+ export function swipeActionPose(position, index, count, takeover = 0, rest = 0, buttonWidth = 60, inline = false, allowsFullSwipe = false) {
69
+ const distance = Math.abs(position);
70
+ const open = swipeOpenWidth(count, buttonWidth);
71
+ const excess = Math.max(0, distance - open);
72
+ const localDistance = distance - index * (buttonWidth + 10);
73
+ // reference paired third-pill mask: native 37pt, prior fit 35pt at full reveal.
74
+ // Apply its measured 3pt reveal lead progressively, preserving first-pill
75
+ // entrance samples and the zero-width pose before this action enters.
76
+ const revealLead = inline && index === 2 ? 3 * clamp((localDistance - 50) / 50) : 0;
77
+ const entrance = inline ? inlineEntrance(localDistance + revealLead, buttonWidth) : undefined;
78
+ const contactScale = entrance?.scale ?? revealScale(localDistance);
79
+ const reveal = contactScale + (clamp(distance / open) - contactScale) * rest;
80
+ const spread = (((index + 0.5) * excess) / (count + 0.5)) * (1 - takeover);
81
+ return {
82
+ scale: reveal,
83
+ spread,
84
+ opacity: ((entrance?.opacity ?? contactScale) + (1 - (entrance?.opacity ?? contactScale)) * rest) *
85
+ (index === 0 ? 1 : 1 - takeover),
86
+ growth: index === 0
87
+ ? (inline && allowsFullSwipe ? excess * (1 - takeover) : 0) +
88
+ takeover * Math.max(0, distance - buttonWidth - 20)
89
+ : 0,
90
+ };
91
+ }
92
+ function capsuleHeight(primary) {
93
+ return primary.closest('[data-satin-row-actions]')?.dataset.satinSwipeLabelLayout ===
94
+ 'below'
95
+ ? 50
96
+ : 44;
97
+ }
98
+ export function swipeActionTracks(primary, count, width, allowsFullSwipe) {
99
+ const buttons = primary.parentElement?.matches('[data-satin-swipe-tray]')
100
+ ? [...primary.parentElement.querySelectorAll('[data-satin-swipe-action]')]
101
+ : [primary];
102
+ const trailing = primary.parentElement?.dataset.satinSwipeTray === 'trailing';
103
+ const inline = primary.closest('[data-satin-row-actions]')?.dataset.satinSwipeLabelLayout ===
104
+ 'inline';
105
+ return buttons.flatMap((button, index) => {
106
+ const buttonWidth = Number.parseFloat(getComputedStyle(button).width) || 60;
107
+ const middleWidth = Math.max(1, buttonWidth - capsuleHeight(primary));
108
+ const pose = (position, raw = position, rest = 0, temporalTakeover) => {
109
+ // The short two-action reference starts primary takeover at the open tray:
110
+ // 198pt leading / 222pt trailing. Taller rows retain their earlier fit.
111
+ const start = inline && count === 2
112
+ ? swipeOpenWidth(count, buttonWidth)
113
+ : swipeDragLimit(width, count, buttonWidth) - 8;
114
+ const progress = clamp((Math.abs(position) - start) / (count === 2 ? 26 : 14));
115
+ const takeover = temporalTakeover ??
116
+ (!allowsFullSwipe
117
+ ? 0
118
+ : count === 1 || raw === Infinity
119
+ ? 1
120
+ : progress * progress * (3 - 2 * progress));
121
+ return swipeActionPose(position, index, count, raw === Infinity ? takeover : takeover * (1 - rest), rest, buttonWidth, inline, allowsFullSwipe);
122
+ };
123
+ return [
124
+ {
125
+ element: button,
126
+ frame(position, raw = position, rest = 0, temporalTakeover) {
127
+ const value = pose(position, raw, rest, temporalTakeover);
128
+ return {
129
+ transform: `translate3d(${(trailing ? -1 : 1) * value.spread}px,0,0) scale(${value.scale})`,
130
+ opacity: value.opacity,
131
+ };
132
+ },
133
+ },
134
+ ...primaryParts(button).map(part => ({
135
+ element: part,
136
+ frame(position, raw = position, rest = 0, temporalTakeover) {
137
+ return {
138
+ transform: primaryTransform(part, pose(position, raw, rest, temporalTakeover).growth, middleWidth),
139
+ };
140
+ },
141
+ })),
142
+ ];
143
+ });
144
+ }
145
+ /** Native scroll offset is authoritative; resistance maps it to the presented row position. */
146
+ export function rowSwipePosition(raw, width, configuration, widths = defaultWidths) {
147
+ const side = raw >= 0 ? 'leading' : 'trailing';
148
+ const edge = swipeEdge(configuration, side);
149
+ if (!edge.actions.length)
150
+ return 0;
151
+ const limit = edge.allowsFullSwipe
152
+ ? swipeDragLimit(width, edge.actions.length, widths[side])
153
+ : swipeOpenWidth(edge.actions.length, widths[side]);
154
+ const excess = Math.max(0, Math.abs(raw) - limit);
155
+ const resistance = edge.allowsFullSwipe && edge.actions.length <= 2 ? 0.25 : 0.2;
156
+ return (Math.sign(raw) *
157
+ (Math.min(Math.abs(raw), limit) + (resistance * excess) / (1 + (resistance * excess) / width)));
158
+ }
159
+ /** Native iPhone HID brackets a reverse drag on a revealed row between 20pt
160
+ * (reopens) and 40pt (closes), slow and as a 150ms flick. Close at the midpoint:
161
+ * a commanded 40pt contact reaches WebKit as 39.5pt. */
162
+ const reverseCloseDistance = 30;
163
+ /** A revealed row closes after a deliberate reverse drag, without requiring
164
+ * the finger to traverse the entire tray. */
165
+ export function rowSwipeShouldClose(initial, position, drag) {
166
+ return (Math.abs(position) < 40 ||
167
+ (Math.sign(initial) === Math.sign(position) &&
168
+ Math.sign(drag) === -Math.sign(initial) &&
169
+ Math.abs(drag) >= reverseCloseDistance));
170
+ }
171
+ /** Invert resistance once when a new finger catches a spring. */
172
+ export function rowSwipeRaw(position, width, configuration, widths = defaultWidths) {
173
+ const side = position >= 0 ? 'leading' : 'trailing';
174
+ const edge = swipeEdge(configuration, side);
175
+ const limit = edge.allowsFullSwipe
176
+ ? swipeDragLimit(width, edge.actions.length, widths[side])
177
+ : swipeOpenWidth(edge.actions.length, widths[side]);
178
+ const excess = Math.max(0, Math.abs(position) - limit);
179
+ const resistance = edge.allowsFullSwipe && edge.actions.length <= 2 ? 0.25 : 0.2;
180
+ return (Math.sign(position) *
181
+ (Math.min(Math.abs(position), limit) +
182
+ excess / (resistance * Math.max(0.01, 1 - excess / width))));
183
+ }
184
+ export function primaryParts(primary) {
185
+ return [
186
+ ...primary.querySelectorAll('[data-satin-swipe-fill], [data-satin-swipe-label]'),
187
+ ];
188
+ }
189
+ export function primaryTransform(part, growth, middleWidth = 16) {
190
+ const trailing = part.dataset.satinSwipeDirection === 'trailing';
191
+ switch (part.dataset.satinSwipeFill) {
192
+ case 'middle':
193
+ return `scaleX(${1 + growth / middleWidth})`;
194
+ case 'end':
195
+ return `translate3d(${trailing ? 0 : growth}px,0,0)`;
196
+ case 'start':
197
+ return `translate3d(${trailing ? -growth : 0}px,0,0)`;
198
+ default:
199
+ return `translate3d(${(trailing ? -growth : growth) / 2}px,0,0)`;
200
+ }
201
+ }
202
+ /** Recover takeover from the presented capsule, including a caught settle. */
203
+ export function presentedTakeover(primary, position) {
204
+ const middle = primary.querySelector('[data-satin-swipe-fill="middle"]');
205
+ if (!middle || typeof DOMMatrixReadOnly === 'undefined')
206
+ return 0;
207
+ const buttonWidth = Number.parseFloat(getComputedStyle(primary).width) || 60;
208
+ const count = primary.parentElement?.children.length ?? 1;
209
+ const inline = primary.closest('[data-satin-row-actions]')?.dataset.satinSwipeLabelLayout ===
210
+ 'inline';
211
+ const ordinary = inline ? Math.max(0, Math.abs(position) - swipeOpenWidth(count, buttonWidth)) : 0;
212
+ const expanded = Math.max(0, Math.abs(position) - buttonWidth - 20);
213
+ if (expanded <= ordinary)
214
+ return 0;
215
+ const matrix = new DOMMatrixReadOnly(getComputedStyle(middle).transform);
216
+ const growth = (matrix.a - 1) * Math.max(1, buttonWidth - capsuleHeight(primary));
217
+ return clamp((growth - ordinary) / (expanded - ordinary));
218
+ }
219
+ export function createRowScrub(host, source, content, initial, width, configuration) {
220
+ if (!width || source.scrollWidth <= source.clientWidth)
221
+ return undefined;
222
+ const widths = swipeWidths(host);
223
+ const initialRaw = rowSwipeRaw(initial, width, configuration, widths);
224
+ const origin = source.scrollLeft;
225
+ const actionUpdates = [];
226
+ const contentFrame = swipeContentTrack(content);
227
+ for (const side of ['leading', 'trailing']) {
228
+ const tray = host.querySelector(`[data-satin-swipe-tray="${side}"]`);
229
+ const primary = tray.firstElementChild;
230
+ const sign = side === 'leading' ? 1 : -1;
231
+ actionUpdates.push((_now, _raw, position) => {
232
+ tray.style.opacity = position * sign > 0 ? '1' : '0';
233
+ });
234
+ if (primary) {
235
+ const edge = swipeEdge(configuration, side);
236
+ const actions = swipeActionTracks(primary, edge.actions.length, width, edge.allowsFullSwipe);
237
+ const reducedMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;
238
+ const caught = initial ? presentedTakeover(primary, initial) : 0;
239
+ const state = { from: caught, target: caught, velocity: 0, started: performance.now() };
240
+ const threshold = fullSwipeThreshold(width, edge.actions.length, side, widths[side], host.dataset.satinSwipeLabelLayout === 'inline');
241
+ const openWidth = swipeOpenWidth(edge.actions.length, widths[side]);
242
+ let previousRaw = Number.NaN;
243
+ let previousTakeover = Number.NaN;
244
+ const update = (now, raw, position) => {
245
+ const sample = takeoverSample(state.from, state.target, state.velocity, (now - state.started) / 1000);
246
+ const target = edge.allowsFullSwipe && raw * sign >= threshold ? 1 : 0;
247
+ if (target !== state.target) {
248
+ state.from = sample.position;
249
+ state.velocity = sample.velocity;
250
+ state.target = target;
251
+ state.started = now;
252
+ }
253
+ // Both spring states advance across reversals, but the hidden tray has
254
+ // no pixels to update. Read the scroll source before either tray writes.
255
+ if (position * sign <= 0)
256
+ return;
257
+ const takeover = edge.actions.length === 1 && edge.allowsFullSwipe
258
+ ? 1
259
+ : reducedMotion
260
+ ? target
261
+ : Math.max(0, Math.min(1, sample.position));
262
+ if (raw === previousRaw && takeover === previousTakeover)
263
+ return;
264
+ previousRaw = raw;
265
+ previousTakeover = takeover;
266
+ const rest = initial ? clamp(1 - Math.abs(raw - initialRaw) / openWidth) : 0;
267
+ for (const action of actions) {
268
+ const frame = action.frame(position, raw, rest, takeover);
269
+ // Avoid dirtying style when a capsule part did not change this frame.
270
+ if (frame.transform !== undefined && action.element.style.transform !== frame.transform)
271
+ action.element.style.transform = String(frame.transform);
272
+ if (frame.opacity !== undefined && action.element.style.opacity !== String(frame.opacity))
273
+ action.element.style.opacity = String(frame.opacity);
274
+ }
275
+ };
276
+ actionUpdates.push(update);
277
+ }
278
+ }
279
+ // WebKit owns touch arbitration and the scroll offset. Sample it once per
280
+ // frame and present the row, trays, and fitted takeover together. Mixing a
281
+ // compositor row with main-thread pills exposes every delayed main-thread frame.
282
+ let actionFrame = 0;
283
+ const flush = (now = performance.now()) => {
284
+ const raw = initialRaw + origin - source.scrollLeft;
285
+ const position = rowSwipePosition(raw, width, configuration, widths);
286
+ Object.assign(content.style, contentFrame(position, initial ? 1 : 0));
287
+ for (const update of actionUpdates)
288
+ update(now, raw, position);
289
+ return { raw, position };
290
+ };
291
+ const paintActions = (now) => {
292
+ flush(now);
293
+ actionFrame = requestAnimationFrame(paintActions);
294
+ };
295
+ paintActions(performance.now());
296
+ return {
297
+ flush,
298
+ rawPosition: () => initialRaw + origin - source.scrollLeft,
299
+ position: () => rowSwipePosition(initialRaw + origin - source.scrollLeft, width, configuration, widths),
300
+ cancel: () => {
301
+ cancelAnimationFrame(actionFrame);
302
+ // Outside contact, the settled side's visibility belongs to the row CSS.
303
+ host.querySelectorAll('[data-satin-swipe-tray]').forEach(tray => {
304
+ tray.style.opacity = '';
305
+ });
306
+ },
307
+ };
308
+ }
309
+ const defaultRowRadius = 26;
310
+ const defaultRowShape = {
311
+ kind: 'roundedRectangle',
312
+ cornerRadius: defaultRowRadius,
313
+ cornerStyle: 'continuous',
314
+ };
315
+ const rowCorners = new WeakMap();
316
+ /** Called by the row's existing ResizeObserver, never by its frame loop. */
317
+ export function updateRowCorners(content, width, height, actions) {
318
+ const geometry = rowCorners.get(content) ?? { width, height };
319
+ Object.assign(geometry, {
320
+ width,
321
+ height,
322
+ revision: (geometry.revision ?? 0) + 1,
323
+ leading: swipeEdge(actions, 'leading').shape,
324
+ trailing: swipeEdge(actions, 'trailing').shape,
325
+ });
326
+ rowCorners.set(content, geometry);
327
+ for (const side of ['leading', 'trailing']) {
328
+ content.style.setProperty(`--satin-row-${side}-clip`, cornerClipPath(geometry[side] ?? defaultRowShape, width, height));
329
+ }
330
+ geometry.refresh?.();
331
+ geometry.resizeRelease?.();
332
+ }
333
+ /** Rebuild only geometry keyframes on resize. The existing animation keeps its
334
+ * timeline, velocity fit and current time, including an interrupted release. */
335
+ export function resizeRowCornerAnimation(content, animation, frames) {
336
+ const geometry = rowCorners.get(content);
337
+ if (!geometry || !animation)
338
+ return;
339
+ const resize = () => {
340
+ const effect = animation.effect;
341
+ if (animation.playState !== 'idle' && effect instanceof KeyframeEffect)
342
+ effect.setKeyframes(frames());
343
+ };
344
+ geometry.resizeRelease = resize;
345
+ const clear = () => {
346
+ if (geometry.resizeRelease === resize)
347
+ geometry.resizeRelease = undefined;
348
+ };
349
+ animation.finished?.then(clear, clear);
350
+ }
351
+ /** Keep section end caps until the first inline action has entered. The
352
+ * revealed face has a fixed continuous corner, independent of text height. */
353
+ export function swipeContentTrack(content) {
354
+ const host = content.closest('[data-satin-row-actions]');
355
+ const style = host ? getComputedStyle(host) : undefined;
356
+ const resting = [
357
+ style?.borderTopLeftRadius,
358
+ style?.borderTopRightRadius,
359
+ style?.borderBottomRightRadius,
360
+ style?.borderBottomLeftRadius,
361
+ ].map(value => Number.parseFloat(value ?? '') || 0);
362
+ const sectionEnd = resting.some(radius => radius > 0);
363
+ const geometry = rowCorners.get(content) ?? {
364
+ width: content.offsetWidth,
365
+ height: content.offsetHeight,
366
+ };
367
+ rowCorners.set(content, geometry);
368
+ geometry.resizeRelease = undefined;
369
+ const widths = host ? swipeWidths(host) : defaultWidths;
370
+ let previousKey = '';
371
+ let clipPath = '';
372
+ let lastPosition = 0;
373
+ let lastRest = 0;
374
+ const frame = (position, rest = 0) => {
375
+ lastPosition = position;
376
+ lastRest = rest;
377
+ const transform = `translate3d(${position}px,0,0)`;
378
+ if (position === 0)
379
+ return { transform, borderRadius: '', clipPath: 'none' };
380
+ const side = position >= 0 ? 'leading' : 'trailing';
381
+ const custom = geometry[side];
382
+ const inline = host?.dataset.satinSwipeLabelLayout === 'inline';
383
+ const progress = inline && sectionEnd
384
+ ? clamp((Math.abs(position) - widths[side] - 20) / 20)
385
+ : clamp(Math.abs(position));
386
+ const rounded = progress + (1 - progress) * rest;
387
+ // A settled or middle-row drag reuses its path. Only changing corners or
388
+ // a ResizeObserver geometry update rebuild the small cubic path.
389
+ const key = `${geometry.revision}:${geometry.width}:${geometry.height}:${side}:${rounded}`;
390
+ if (key !== previousKey) {
391
+ previousKey = key;
392
+ clipPath = custom
393
+ ? cornerClipPath(custom, geometry.width, geometry.height)
394
+ : `path('${roundedCornerPath(geometry.width, geometry.height, resting.map(start => start + (defaultRowRadius - start) * rounded))}')`;
395
+ }
396
+ return { transform, borderRadius: '0px', clipPath };
397
+ };
398
+ geometry.refresh = () => Object.assign(content.style, frame(lastPosition, lastRest));
399
+ return frame;
400
+ }
@@ -0,0 +1,14 @@
1
+ export declare function swipeReleasePosition(from: number, to: number, velocity: number, seconds: number, fit: {
2
+ stiffness: number;
3
+ damping: number;
4
+ }): number;
5
+ /** Native E counter-retimed leading three-action takeover, 24 samples.
6
+ * Entry RMS 0.00494, reversal RMS 0.04057 in normalized geometry. */
7
+ export declare const swipeTakeover: {
8
+ readonly stiffness: 3741.169;
9
+ readonly damping: 122.3302;
10
+ };
11
+ export declare function takeoverSample(from: number, to: number, velocity: number, seconds: number): {
12
+ position: number;
13
+ velocity: number;
14
+ };
@@ -0,0 +1,35 @@
1
+ export function swipeReleasePosition(from, to, velocity, seconds, fit) {
2
+ const decay = fit.damping / 2;
3
+ const discriminant = fit.stiffness - decay * decay;
4
+ const displacement = from - to;
5
+ if (Math.abs(discriminant) < 0.000001) {
6
+ return (to + Math.exp(-decay * seconds) * (displacement + (velocity + decay * displacement) * seconds));
7
+ }
8
+ if (discriminant < 0) {
9
+ const spread = Math.sqrt(-discriminant);
10
+ const slow = -decay + spread;
11
+ const fast = -decay - spread;
12
+ const coefficient = (velocity - fast * displacement) / (slow - fast);
13
+ return (to +
14
+ coefficient * Math.exp(slow * seconds) +
15
+ (displacement - coefficient) * Math.exp(fast * seconds));
16
+ }
17
+ const frequency = Math.sqrt(discriminant);
18
+ return (to +
19
+ Math.exp(-decay * seconds) *
20
+ (displacement * Math.cos(frequency * seconds) +
21
+ ((velocity + decay * displacement) / frequency) * Math.sin(frequency * seconds)));
22
+ }
23
+ /** Native E counter-retimed leading three-action takeover, 24 samples.
24
+ * Entry RMS 0.00494, reversal RMS 0.04057 in normalized geometry. */
25
+ export const swipeTakeover = { stiffness: 3741.169, damping: 122.3302 };
26
+ export function takeoverSample(from, to, velocity, seconds) {
27
+ const rate = swipeTakeover.damping / 2;
28
+ const displacement = from - to;
29
+ const coefficient = velocity + rate * displacement;
30
+ const decay = Math.exp(-rate * seconds);
31
+ return {
32
+ position: to + (displacement + coefficient * seconds) * decay,
33
+ velocity: (velocity - rate * coefficient * seconds) * decay,
34
+ };
35
+ }
@@ -0,0 +1,71 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { SymbolName } from '../symbols/Symbol.js';
3
+ import type { CornerShape } from '../shapes/corners.js';
4
+ /** Shared by menus, context menus and row swipe actions. */
5
+ export type Action = ActionItem | Readonly<{
6
+ section: readonly Action[];
7
+ label?: string;
8
+ }> | Readonly<{
9
+ id: string;
10
+ label: string;
11
+ symbol?: SymbolName;
12
+ icon?: ReactNode;
13
+ disabled?: boolean;
14
+ submenu: readonly Action[];
15
+ }>;
16
+ /** A leaf command shared by menus, swipe actions, alerts and confirmation dialogs. */
17
+ export type ActionItem = Readonly<{
18
+ id: string;
19
+ label: string;
20
+ accessibilityLabel?: string;
21
+ symbol?: SymbolName;
22
+ icon?: ReactNode;
23
+ role?: 'destructive' | 'cancel';
24
+ disabled?: boolean;
25
+ /** Selection semantics for menu-style pickers. Defined false values reserve the checkmark column. */
26
+ checked?: boolean;
27
+ onPress?: (() => void) | (() => Promise<void>);
28
+ tint?: string;
29
+ }>;
30
+ /** A swipe command may omit its visible title while retaining an accessible name. */
31
+ export type SwipeActionItem = ActionItem | Readonly<Omit<ActionItem, 'label' | 'accessibilityLabel'> & {
32
+ label?: never;
33
+ accessibilityLabel: string;
34
+ } & ({
35
+ symbol: SymbolName;
36
+ } | {
37
+ icon: ReactNode;
38
+ })>;
39
+ export type SwipeAction = Action | SwipeActionItem;
40
+ /** `swipeActions`: one or more edge configurations for a row. */
41
+ export type SwipeActions = SwipeActionsConfiguration | readonly SwipeActionsConfiguration[];
42
+ /** Swipe actions on one row edge. Full swipe is enabled unless explicitly disabled. */
43
+ export type SwipeActionsConfiguration = Readonly<{
44
+ edge?: 'leading' | 'trailing';
45
+ /** Revealed row face. Omit for the native default; custom shapes are unrestricted. */
46
+ shape?: CornerShape;
47
+ allowsFullSwipe?: boolean;
48
+ actions: readonly SwipeAction[];
49
+ }>;
50
+ /** `contextMenu`: row commands and an optional preview. */
51
+ export type ContextMenuConfiguration = readonly Action[] | Readonly<{
52
+ actions: readonly Action[];
53
+ preview?: ReactNode;
54
+ }>;
55
+ /** Row swipe actions and context-menu commands. */
56
+ export type RowActionsProps = Readonly<{
57
+ swipeActions?: SwipeActions;
58
+ contextMenu?: ContextMenuConfiguration;
59
+ }>;
60
+ export declare function actionItems(actions: readonly Action[], inheritedDisabled?: boolean): ActionItem[];
61
+ export declare function actionItems(actions: readonly SwipeAction[], inheritedDisabled?: boolean): SwipeActionItem[];
62
+ export declare function contextDefinition(value: ContextMenuConfiguration): Readonly<{
63
+ actions: readonly Action[];
64
+ preview?: ReactNode;
65
+ }>;
66
+ /** Resolve each edge once, using a single configuration shape. */
67
+ export declare function swipeEdge(value: SwipeActions | undefined, edge: 'leading' | 'trailing'): {
68
+ actions: SwipeActionItem[];
69
+ allowsFullSwipe: boolean;
70
+ shape: CornerShape | undefined;
71
+ };