@rafaelaugusto/jolt 0.1.0-rc.12.1 → 0.1.0-rc.14

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 (249) hide show
  1. package/README.md +2 -2
  2. package/dist/core/circle-math.d.ts.map +1 -1
  3. package/dist/core/drop.d.ts +34 -1
  4. package/dist/core/drop.d.ts.map +1 -1
  5. package/dist/core/drop.js +93 -8
  6. package/dist/core/drop.js.map +1 -1
  7. package/dist/core/easing.d.ts +8 -0
  8. package/dist/core/easing.d.ts.map +1 -1
  9. package/dist/core/easing.js +12 -4
  10. package/dist/core/easing.js.map +1 -1
  11. package/dist/core/gesture-math.d.ts.map +1 -1
  12. package/dist/core/inspection-plot.d.ts +11 -0
  13. package/dist/core/inspection-plot.d.ts.map +1 -0
  14. package/dist/core/inspection-plot.js +57 -0
  15. package/dist/core/inspection-plot.js.map +1 -0
  16. package/dist/core/loading.d.ts +125 -0
  17. package/dist/core/loading.d.ts.map +1 -0
  18. package/dist/core/loading.js +119 -0
  19. package/dist/core/loading.js.map +1 -0
  20. package/dist/core/numeric-map.js.map +1 -1
  21. package/dist/core/particle-motion.d.ts +8 -0
  22. package/dist/core/particle-motion.d.ts.map +1 -0
  23. package/dist/core/particle-motion.js +11 -0
  24. package/dist/core/particle-motion.js.map +1 -0
  25. package/dist/core/pointer.d.ts +1 -1
  26. package/dist/core/preset-recipe.d.ts +20 -0
  27. package/dist/core/preset-recipe.d.ts.map +1 -0
  28. package/dist/core/preset-recipe.js +81 -0
  29. package/dist/core/preset-recipe.js.map +1 -0
  30. package/dist/core/reorder.d.ts +5 -0
  31. package/dist/core/reorder.d.ts.map +1 -1
  32. package/dist/core/reorder.js +17 -0
  33. package/dist/core/reorder.js.map +1 -1
  34. package/dist/core/rig.d.ts +8 -8
  35. package/dist/core/rig.d.ts.map +1 -1
  36. package/dist/core/scroll-header.js.map +1 -1
  37. package/dist/core/sensor-kinds.d.ts +1 -1
  38. package/dist/core/sensor-kinds.d.ts.map +1 -1
  39. package/dist/core/sensor-replay.d.ts +10 -0
  40. package/dist/core/sensor-replay.d.ts.map +1 -0
  41. package/dist/core/sensor-replay.js +32 -0
  42. package/dist/core/sensor-replay.js.map +1 -0
  43. package/dist/core/text-pieces.d.ts +18 -0
  44. package/dist/core/text-pieces.d.ts.map +1 -0
  45. package/dist/core/text-pieces.js +43 -0
  46. package/dist/core/text-pieces.js.map +1 -0
  47. package/dist/drag.d.ts +7 -1
  48. package/dist/drag.d.ts.map +1 -1
  49. package/dist/drag.js +72 -37
  50. package/dist/drag.js.map +1 -1
  51. package/dist/drop-zones.d.ts +1 -1
  52. package/dist/drop-zones.d.ts.map +1 -1
  53. package/dist/drop-zones.js +2 -0
  54. package/dist/drop-zones.js.map +1 -1
  55. package/dist/engine.d.ts.map +1 -1
  56. package/dist/engine.js +7 -2
  57. package/dist/engine.js.map +1 -1
  58. package/dist/index.d.ts +3 -1
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +1 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/inspector/plot.d.ts +1 -3
  63. package/dist/inspector/plot.d.ts.map +1 -1
  64. package/dist/inspector/plot.js +1 -22
  65. package/dist/inspector/plot.js.map +1 -1
  66. package/dist/loader.d.ts +2 -1
  67. package/dist/loader.d.ts.map +1 -1
  68. package/dist/loader.js +17 -15
  69. package/dist/loader.js.map +1 -1
  70. package/dist/reveal.d.ts.map +1 -1
  71. package/dist/reveal.js +4 -3
  72. package/dist/reveal.js.map +1 -1
  73. package/dist/shimmer.d.ts.map +1 -1
  74. package/dist/shimmer.js +6 -4
  75. package/dist/shimmer.js.map +1 -1
  76. package/dist/testing/sensors.d.ts +2 -9
  77. package/dist/testing/sensors.d.ts.map +1 -1
  78. package/dist/testing/sensors.js +3 -21
  79. package/dist/testing/sensors.js.map +1 -1
  80. package/dist/web/angular/index.d.ts +62 -0
  81. package/dist/web/angular/index.d.ts.map +1 -0
  82. package/dist/web/angular/index.js +190 -0
  83. package/dist/web/angular/index.js.map +1 -0
  84. package/dist/web/bottom-sheet.js.map +1 -1
  85. package/dist/web/compose.js.map +1 -1
  86. package/dist/web/curve.js.map +1 -1
  87. package/dist/web/decay.js.map +1 -1
  88. package/dist/web/diagnostics.d.ts +1 -1
  89. package/dist/web/diagnostics.d.ts.map +1 -1
  90. package/dist/web/diagnostics.js.map +1 -1
  91. package/dist/web/drag.d.ts +19 -11
  92. package/dist/web/drag.d.ts.map +1 -1
  93. package/dist/web/drag.js +68 -14
  94. package/dist/web/drag.js.map +1 -1
  95. package/dist/web/drop-zones.d.ts +2 -2
  96. package/dist/web/drop-zones.d.ts.map +1 -1
  97. package/dist/web/drop-zones.js +21 -4
  98. package/dist/web/drop-zones.js.map +1 -1
  99. package/dist/web/effect.d.ts.map +1 -1
  100. package/dist/web/effect.js.map +1 -1
  101. package/dist/web/frameworks/binding.d.ts +39 -0
  102. package/dist/web/frameworks/binding.d.ts.map +1 -0
  103. package/dist/web/frameworks/binding.js +356 -0
  104. package/dist/web/frameworks/binding.js.map +1 -0
  105. package/dist/web/gestures.js.map +1 -1
  106. package/dist/web/gradient.js.map +1 -1
  107. package/dist/web/image-surface.d.ts.map +1 -1
  108. package/dist/web/image-surface.js.map +1 -1
  109. package/dist/web/inspector.d.ts +24 -0
  110. package/dist/web/inspector.d.ts.map +1 -1
  111. package/dist/web/inspector.js +76 -5
  112. package/dist/web/inspector.js.map +1 -1
  113. package/dist/web/interaction.d.ts +2 -0
  114. package/dist/web/interaction.d.ts.map +1 -1
  115. package/dist/web/interaction.js.map +1 -1
  116. package/dist/web/keyboard.js.map +1 -1
  117. package/dist/web/layout.d.ts +75 -75
  118. package/dist/web/layout.d.ts.map +1 -1
  119. package/dist/web/layout.js.map +1 -1
  120. package/dist/web/loading.d.ts +2 -1
  121. package/dist/web/loading.d.ts.map +1 -1
  122. package/dist/web/loading.js +19 -15
  123. package/dist/web/loading.js.map +1 -1
  124. package/dist/web/particles.d.ts.map +1 -1
  125. package/dist/web/particles.js +5 -6
  126. package/dist/web/particles.js.map +1 -1
  127. package/dist/web/pointer.d.ts +2 -0
  128. package/dist/web/pointer.d.ts.map +1 -1
  129. package/dist/web/pointer.js +13 -0
  130. package/dist/web/pointer.js.map +1 -1
  131. package/dist/web/press.js.map +1 -1
  132. package/dist/web/progress.d.ts.map +1 -1
  133. package/dist/web/properties.d.ts +4 -4
  134. package/dist/web/properties.d.ts.map +1 -1
  135. package/dist/web/property.d.ts.map +1 -1
  136. package/dist/web/property.js.map +1 -1
  137. package/dist/web/public.d.ts +3 -1
  138. package/dist/web/public.d.ts.map +1 -1
  139. package/dist/web/public.js +1 -0
  140. package/dist/web/public.js.map +1 -1
  141. package/dist/web/react/index.d.ts +12 -0
  142. package/dist/web/react/index.d.ts.map +1 -0
  143. package/dist/web/react/index.js +119 -0
  144. package/dist/web/react/index.js.map +1 -0
  145. package/dist/web/reorder.d.ts.map +1 -1
  146. package/dist/web/reorder.js +23 -2
  147. package/dist/web/reorder.js.map +1 -1
  148. package/dist/web/reveal.d.ts.map +1 -1
  149. package/dist/web/reveal.js +4 -3
  150. package/dist/web/reveal.js.map +1 -1
  151. package/dist/web/runtime.d.ts +22 -22
  152. package/dist/web/runtime.d.ts.map +1 -1
  153. package/dist/web/runtime.js +15 -5
  154. package/dist/web/runtime.js.map +1 -1
  155. package/dist/web/scheduler.d.ts.map +1 -1
  156. package/dist/web/scheduler.js.map +1 -1
  157. package/dist/web/scroll-header.js.map +1 -1
  158. package/dist/web/scroll-range.d.ts.map +1 -1
  159. package/dist/web/scroll-range.js.map +1 -1
  160. package/dist/web/scroll.d.ts +1 -1
  161. package/dist/web/scroll.d.ts.map +1 -1
  162. package/dist/web/scroll.js.map +1 -1
  163. package/dist/web/sensor-replay-bridge.d.ts +16 -0
  164. package/dist/web/sensor-replay-bridge.d.ts.map +1 -0
  165. package/dist/web/sensor-replay-bridge.js +12 -0
  166. package/dist/web/sensor-replay-bridge.js.map +1 -0
  167. package/dist/web/sensor-replay.d.ts +22 -0
  168. package/dist/web/sensor-replay.d.ts.map +1 -0
  169. package/dist/web/sensor-replay.js +124 -0
  170. package/dist/web/sensor-replay.js.map +1 -0
  171. package/dist/web/sensors.d.ts +3 -1
  172. package/dist/web/sensors.d.ts.map +1 -1
  173. package/dist/web/sensors.js +100 -8
  174. package/dist/web/sensors.js.map +1 -1
  175. package/dist/web/shared-layout.js.map +1 -1
  176. package/dist/web/size.d.ts.map +1 -1
  177. package/dist/web/size.js.map +1 -1
  178. package/dist/web/solid/index.d.ts +16 -0
  179. package/dist/web/solid/index.d.ts.map +1 -0
  180. package/dist/web/solid/index.js +89 -0
  181. package/dist/web/solid/index.js.map +1 -0
  182. package/dist/web/spring-value.d.ts.map +1 -1
  183. package/dist/web/spring-value.js.map +1 -1
  184. package/dist/web/stroke.d.ts.map +1 -1
  185. package/dist/web/stroke.js.map +1 -1
  186. package/dist/web/style.d.ts.map +1 -1
  187. package/dist/web/style.js.map +1 -1
  188. package/dist/web/surface-effect.d.ts.map +1 -1
  189. package/dist/web/surface-effect.js.map +1 -1
  190. package/dist/web/svelte/index.d.ts +50 -0
  191. package/dist/web/svelte/index.d.ts.map +1 -0
  192. package/dist/web/svelte/index.js +68 -0
  193. package/dist/web/svelte/index.js.map +1 -0
  194. package/dist/web/testing.d.ts +1 -0
  195. package/dist/web/testing.d.ts.map +1 -1
  196. package/dist/web/testing.js +1 -0
  197. package/dist/web/testing.js.map +1 -1
  198. package/dist/web/text-effect.d.ts.map +1 -1
  199. package/dist/web/text-effect.js +10 -16
  200. package/dist/web/text-effect.js.map +1 -1
  201. package/dist/web/timers.d.ts.map +1 -1
  202. package/dist/web/timers.js.map +1 -1
  203. package/dist/web/types.d.ts.map +1 -1
  204. package/dist/web/value-playback.d.ts +17 -17
  205. package/dist/web/value-playback.js.map +1 -1
  206. package/dist/web/value.d.ts.map +1 -1
  207. package/dist/web/value.js.map +1 -1
  208. package/dist/web/viewport.js.map +1 -1
  209. package/package.json +42 -7
  210. package/platforms/android/java/org/rafaelaugusto/jolt/PointerInput.java +26 -4
  211. package/src/core/drop.ts +123 -5
  212. package/src/core/easing.ts +12 -4
  213. package/src/core/inspection-plot.ts +74 -0
  214. package/src/core/loading.ts +172 -0
  215. package/src/core/particle-motion.ts +20 -0
  216. package/src/core/preset-recipe.ts +115 -0
  217. package/src/core/reorder.ts +23 -0
  218. package/src/core/sensor-replay.ts +48 -0
  219. package/src/core/text-pieces.ts +52 -0
  220. package/src/drag.ts +81 -38
  221. package/src/drop-zones.ts +13 -3
  222. package/src/engine.ts +8 -3
  223. package/src/index.ts +9 -0
  224. package/src/inspector/plot.ts +1 -27
  225. package/src/loader.ts +23 -20
  226. package/src/reveal.ts +4 -3
  227. package/src/shimmer.ts +6 -4
  228. package/src/testing/sensors.ts +4 -36
  229. package/src/web/angular/index.ts +171 -0
  230. package/src/web/drag.ts +70 -12
  231. package/src/web/drop-zones.ts +31 -6
  232. package/src/web/frameworks/binding.ts +408 -0
  233. package/src/web/inspector.ts +80 -5
  234. package/src/web/interaction.ts +2 -0
  235. package/src/web/loading.ts +38 -17
  236. package/src/web/particles.ts +15 -9
  237. package/src/web/pointer.ts +14 -0
  238. package/src/web/public.ts +9 -0
  239. package/src/web/react/index.ts +208 -0
  240. package/src/web/reorder.ts +21 -3
  241. package/src/web/reveal.ts +7 -8
  242. package/src/web/runtime.ts +13 -4
  243. package/src/web/sensor-replay-bridge.ts +23 -0
  244. package/src/web/sensor-replay.ts +140 -0
  245. package/src/web/sensors.ts +103 -9
  246. package/src/web/solid/index.ts +102 -0
  247. package/src/web/svelte/index.ts +88 -0
  248. package/src/web/testing.ts +6 -0
  249. package/src/web/text-effect.ts +20 -17
package/README.md CHANGED
@@ -31,7 +31,7 @@ NativeScript's `view.animate()` covers the basics and stops there: one curve for
31
31
 
32
32
  Jolt computes the motion once, in JavaScript, when the animation starts, and hands it to the platform as keyframes: Core Animation on iOS, `ObjectAnimator` on Android. Those default view tracks play without per-frame JavaScript. Real-size layout, opt-in subscribers, gesture input and timeline step activation retain their documented [execution limits](https://jolt.rafaelaugusto.dev/guide/how-it-works). Springs follow real physics, and an animation that interrupts another one starts from where the view is, at the speed it was going.
33
33
 
34
- The [0.1.0-rc.12.1 release candidate](https://github.com/rafaelaugustos/jolt/blob/v0.1.0-rc.12.1/CHANGELOG.md) adds [portable composition](https://github.com/rafaelaugustos/jolt/blob/v0.1.0-rc.12.1/docs/guide/portable-composition.md): retained Web resources and Vue shapes, behavior priorities, gradient text, articulated 2D rigs, shared helpers and runtime-aware reduced-motion observation. Browser vector adapters include explicit availability; physical browser sensor validation remains open in #385. The guide includes reviewed native/browser recordings and platform limits. Install `@rafaelaugusto/jolt@0.1.0-rc.12.1` and rebuild native apps; external native properties also need matching `@rafaelaugusto/jolt-native@0.1.0-rc.12.1`. Web APIs remain experimental; performance investigations remain open.
34
+ The [0.1.0-rc.14 release candidate](https://github.com/rafaelaugustos/jolt/blob/v0.1.0-rc.14/CHANGELOG.md) adds [drop handles, live move positions, padded targets and re-anchoring](https://jolt.rafaelaugusto.dev/guide/interaction-depth#ordered-insertion) on Web, NativeScript and SwiftUI, and brings [SwiftUI](https://jolt.rafaelaugusto.dev/guide/swiftui) 3D rotation, shadows, loading effects, gradients, blur, [text effects](https://jolt.rafaelaugusto.dev/guide/swiftui-text) and window-aware activity on macOS. It also fixes an immediate set replacing a path on Android and closes the pointer and property-group gaps of #412/#413. SwiftUI installs from the [`jolt-swift`](https://github.com/rafaelaugustos/jolt-swift) package; npm supplies the JavaScript packages. Install matching core/native versions and rebuild NativeScript apps. Web and SwiftUI remain experimental; physical pointer accessories remain unverified.
35
35
 
36
36
  For the browser, import **`@rafaelaugusto/jolt/web`**. It installs without NativeScript, Vue or React; **`@rafaelaugusto/jolt/web/vue`** optionally integrates Vue 3.5 DOM refs and enter/leave. Both entries are experimental and use the same motion compiler as native playback. See [installation](https://jolt.rafaelaugusto.dev/guide/install#experimental-web-candidate), [finite Web playback](https://jolt.rafaelaugusto.dev/guide/web-runtime) and [Vue Web motion](https://jolt.rafaelaugusto.dev/guide/web-vue). Mavis integration and its shared application proof continue separately.
37
37
 
@@ -101,7 +101,7 @@ For the browser, import **`@rafaelaugusto/jolt/web`**. It installs without Nativ
101
101
  npm install @rafaelaugusto/jolt@next
102
102
  ```
103
103
 
104
- The current release candidate is **0.1.0-rc.12.1**, published under the `next` tag. Requires `@nativescript/core` 8.9 or later. It doesn't depend on a framework: it takes a view, or an element that holds one. Rebuild the native app after installing or upgrading Jolt. See [release status and limits](https://jolt.rafaelaugusto.dev/guide/not-there-yet) for the remaining stable-release acceptance work.
104
+ The current release candidate is **0.1.0-rc.14**, published under the `next` tag. Requires `@nativescript/core` 8.9 or later. It doesn't depend on a framework: it takes a view, or an element that holds one. Rebuild the native app after installing or upgrading Jolt. See [release status and limits](https://jolt.rafaelaugusto.dev/guide/not-there-yet) for the remaining stable-release acceptance work.
105
105
 
106
106
  On iOS 15+, Jolt requests up to 120 Hz on ProMotion displays. Set `CADisableMinimumFrameDurationOnPhone` to `true` in the app's `App_Resources/iOS/Info.plist` and rebuild to enable higher rates on iPhone. See the [iOS setup](https://jolt.rafaelaugusto.dev/guide/install#promotion-on-ios); the system still chooses the actual refresh rate.
107
107
 
@@ -1 +1 @@
1
- {"version":3,"file":"circle-math.d.ts","sourceRoot":"","sources":["../../src/core/circle-math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"circle-math.d.ts","sourceRoot":"","sources":["../../src/core/circle-math.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,20 @@ export interface DropEvent<T> {
10
10
  readonly target: T;
11
11
  readonly method: 'drag' | 'request';
12
12
  }
13
+ export interface DropMoveEvent<T> {
14
+ /** The hovered target after this move's hit test. */
15
+ readonly id: string | undefined;
16
+ readonly source: T;
17
+ /** The source's current visual bounds, in the same coordinates as the targets. */
18
+ readonly bounds: DropRect;
19
+ readonly method: 'drag';
20
+ }
21
+ export interface DropPadding {
22
+ readonly top?: number;
23
+ readonly right?: number;
24
+ readonly bottom?: number;
25
+ readonly left?: number;
26
+ }
13
27
  export type DropEffect = (() => void) | {
14
28
  dispose(): void;
15
29
  } | {
@@ -22,11 +36,15 @@ export interface DropTarget<T> {
22
36
  readonly priority?: number;
23
37
  /** Synchronous acceptance, evaluated again at the final release. */
24
38
  readonly accept?: (event: DropEvent<T>) => boolean;
39
+ /** Extra hit area outside the visual bounds: one value or per edge, 0–1,000. */
40
+ readonly padding?: number | DropPadding;
25
41
  }
26
42
  export interface DropOptions<T> {
27
43
  readonly targets: readonly DropTarget<T>[];
28
44
  /** Axis-aligned visual bounds; overlap requires positive intersection area. */
29
45
  hitTest?: 'center' | 'overlap';
46
+ /** Every drag move, after hit testing; never after cancellation or disposal. */
47
+ onMove?: (event: DropMoveEvent<T>) => void;
30
48
  onEnter?: (event: DropEvent<T>) => void;
31
49
  onLeave?: (event: DropEvent<T>) => void;
32
50
  onDrop?: (event: DropEvent<T>) => DropEffect | void;
@@ -52,8 +70,23 @@ export interface DropHost<T> {
52
70
  enabled(): boolean;
53
71
  cancelDrag(): void;
54
72
  error?(error: unknown): void;
73
+ /** The source's current drag translation, to tell layout changes from movement. */
74
+ translation?(): {
75
+ readonly x: number;
76
+ readonly y: number;
77
+ };
78
+ /** Offset the drag translation so the source stays under the pointer. */
79
+ shift?(x: number, y: number): void;
55
80
  }
56
- export declare function dropHits(source: DropRect, target: DropRect, policy: 'center' | 'overlap'): boolean;
81
+ export declare const MAX_DROP_PADDING = 1000;
82
+ export declare function dropPadding(padding: number | DropPadding | undefined): {
83
+ top: number;
84
+ right: number;
85
+ bottom: number;
86
+ left: number;
87
+ };
88
+ /** Padding extends the target before either policy; an empty target never hits. */
89
+ export declare function dropHits(source: DropRect, target: DropRect, policy: 'center' | 'overlap', padding?: number | DropPadding): boolean;
57
90
  /** Shared selection/ownership policy; input and geometry belong to each adapter. */
58
91
  export declare function createDropPolicy<T>(source: T, options: DropOptions<T>, host: DropHost<T>): {
59
92
  handle: DropZones;
@@ -1 +1 @@
1
- {"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../src/core/drop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../src/core/drop.ts"],"names":[],"mappings":"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"}
package/dist/core/drop.js CHANGED
@@ -1,6 +1,41 @@
1
- export function dropHits(source, target, policy) {
1
+ export const MAX_DROP_PADDING = 1000;
2
+ export function dropPadding(padding) {
3
+ const edges = padding === undefined || typeof padding === 'number'
4
+ ? {
5
+ top: padding ?? 0,
6
+ right: padding ?? 0,
7
+ bottom: padding ?? 0,
8
+ left: padding ?? 0,
9
+ }
10
+ : padding && typeof padding === 'object' && !Array.isArray(padding)
11
+ ? {
12
+ top: padding.top ?? 0,
13
+ right: padding.right ?? 0,
14
+ bottom: padding.bottom ?? 0,
15
+ left: padding.left ?? 0,
16
+ }
17
+ : undefined;
18
+ if (!edges ||
19
+ (typeof padding === 'object' &&
20
+ Object.keys(padding).some((key) => !['top', 'right', 'bottom', 'left'].includes(key))) ||
21
+ !Object.values(edges).every((value) => typeof value === 'number' &&
22
+ Number.isFinite(value) &&
23
+ value >= 0 &&
24
+ value <= MAX_DROP_PADDING))
25
+ throw new RangeError(`Drop padding must be finite and 0–${MAX_DROP_PADDING} on each top/right/bottom/left edge.`);
26
+ return edges;
27
+ }
28
+ /** Padding extends the target before either policy; an empty target never hits. */
29
+ export function dropHits(source, target, policy, padding) {
30
+ const edges = dropPadding(padding);
2
31
  if (![source, target].every((r) => Object.values(r).every(Number.isFinite) && r.width > 0 && r.height > 0))
3
32
  return false;
33
+ target = {
34
+ x: target.x - edges.left,
35
+ y: target.y - edges.top,
36
+ width: target.width + edges.left + edges.right,
37
+ height: target.height + edges.top + edges.bottom,
38
+ };
4
39
  if (policy === 'overlap')
5
40
  return (Math.min(source.x + source.width, target.x + target.width) >
6
41
  Math.max(source.x, target.x) &&
@@ -33,14 +68,16 @@ export function createDropPolicy(source, options, host) {
33
68
  throw new TypeError('Drop priority must be finite.');
34
69
  if (target.accept !== undefined && typeof target.accept !== 'function')
35
70
  throw new TypeError('Drop acceptance must be a synchronous function.');
71
+ const padding = dropPadding(target.padding);
36
72
  ids.add(target.id);
37
- return { ...target };
73
+ return { ...target, padding };
38
74
  })
39
75
  .sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
40
76
  const policy = options.hitTest ?? 'center';
41
77
  if (!['center', 'overlap'].includes(policy))
42
78
  throw new TypeError('Unknown drop hit-test policy.');
43
79
  for (const callback of [
80
+ options.onMove,
44
81
  options.onEnter,
45
82
  options.onLeave,
46
83
  options.onDrop,
@@ -51,6 +88,7 @@ export function createDropPolicy(source, options, host) {
51
88
  let active = false, paused = false, disposed = false, generation = 0;
52
89
  let hovered, accepted;
53
90
  let effect;
91
+ let anchor;
54
92
  const available = () => !disposed && !paused && host.enabled() && !!host.bounds(source);
55
93
  const event = (target, method = 'drag') => ({ id: target.id, source, target: target.target, method });
56
94
  const destroy = (value) => {
@@ -84,12 +122,36 @@ export function createDropPolicy(source, options, host) {
84
122
  const rect = host.bounds(source);
85
123
  return targets.find((target) => {
86
124
  const bounds = host.bounds(target.target);
87
- return !!bounds && dropHits(rect, bounds, policy);
125
+ return !!bounds && dropHits(rect, bounds, policy, target.padding);
88
126
  });
89
127
  };
128
+ // The layout center is the visual center without the drag translation.
129
+ const layout = () => {
130
+ const rect = host.translation && host.bounds(source);
131
+ if (!rect)
132
+ return undefined;
133
+ const offset = host.translation();
134
+ const point = {
135
+ x: rect.x + rect.width / 2 - offset.x,
136
+ y: rect.y + rect.height / 2 - offset.y,
137
+ };
138
+ return Number.isFinite(point.x) && Number.isFinite(point.y) ? point : undefined;
139
+ };
140
+ const reanchor = () => {
141
+ const next = layout(), previous = anchor;
142
+ if (!next)
143
+ return;
144
+ anchor = next;
145
+ if (!previous)
146
+ return;
147
+ const x = next.x - previous.x, y = next.y - previous.y;
148
+ if (Math.abs(x) > 0.01 || Math.abs(y) > 0.01)
149
+ host.shift?.(-x, -y);
150
+ };
90
151
  const cancel = () => {
91
152
  generation++;
92
153
  active = false;
154
+ anchor = undefined;
93
155
  try {
94
156
  stopEffect();
95
157
  }
@@ -100,6 +162,7 @@ export function createDropPolicy(source, options, host) {
100
162
  const commit = (target, method) => {
101
163
  const epoch = generation;
102
164
  active = false;
165
+ anchor = undefined;
103
166
  hover(undefined);
104
167
  if (epoch !== generation || !available())
105
168
  return false;
@@ -202,8 +265,12 @@ export function createDropPolicy(source, options, host) {
202
265
  guard(() => {
203
266
  if (!available() || (accepted && !host.bounds(accepted.target)))
204
267
  cancel();
205
- else if (active)
206
- hover(find());
268
+ else if (active) {
269
+ const epoch = generation;
270
+ reanchor();
271
+ if (epoch === generation && active)
272
+ hover(find());
273
+ }
207
274
  });
208
275
  },
209
276
  cancel,
@@ -233,12 +300,30 @@ export function createDropPolicy(source, options, host) {
233
300
  handle,
234
301
  begin: () => guard(() => {
235
302
  cancel();
236
- if (available())
303
+ if (available()) {
237
304
  active = true;
305
+ anchor = layout();
306
+ }
238
307
  }),
239
308
  move: () => guard(() => {
240
- if (active)
241
- handle.refresh();
309
+ if (!active)
310
+ return;
311
+ const epoch = generation;
312
+ handle.refresh();
313
+ if (!active || epoch !== generation || !available() || !options.onMove)
314
+ return;
315
+ const bounds = host.bounds(source);
316
+ options.onMove({
317
+ id: hovered?.id,
318
+ source,
319
+ bounds: {
320
+ x: bounds.x,
321
+ y: bounds.y,
322
+ width: bounds.width,
323
+ height: bounds.height,
324
+ },
325
+ method: 'drag',
326
+ });
242
327
  }),
243
328
  release: () => guard(() => (active ? commit(find(), 'drag') : false)),
244
329
  };
@@ -1 +1 @@
1
- {"version":3,"file":"drop.js","sourceRoot":"","sources":["../../src/core/drop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drop.js","sourceRoot":"","sources":["../../src/core/drop.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,13 @@ export declare const linear: EasingFunction;
6
6
  /** Internal sampler hint. Arbitrary callbacks are never assumed to be band limited. */
7
7
  export declare const isBuiltinEasing: (ease: EasingFunction) => boolean;
8
8
  export declare function cubicBezier(x1: number, y1: number, x2: number, y2: number): EasingFunction;
9
+ /** Canonical control points also consumed by the standalone SwiftUI adapter generator. */
10
+ export declare const timingCurves: {
11
+ readonly linear: readonly [0, 0, 1, 1];
12
+ readonly ease: readonly [0.25, 0.1, 0.25, 1];
13
+ readonly easeIn: readonly [0.42, 0, 1, 1];
14
+ readonly easeOut: readonly [0, 0, 0.58, 1];
15
+ readonly easeInOut: readonly [0.42, 0, 0.58, 1];
16
+ };
9
17
  export declare function resolveEasing(easing: Easing): EasingFunction;
10
18
  //# sourceMappingURL=easing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"easing.d.ts","sourceRoot":"","sources":["../../src/core/easing.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AAEnF,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,YAAY,GACZ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,EAAE,CAAA;AAExF,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAA;AAE9D,eAAO,MAAM,MAAM,EAAE,cAAyB,CAAA;AAE9C,uFAAuF;AACvF,eAAO,MAAM,eAAe,GAAI,MAAM,cAAc,YAAuB,CAAA;AAE3E,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAwCzE;AA6CD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAQ5D"}
1
+ {"version":3,"file":"easing.d.ts","sourceRoot":"","sources":["../../src/core/easing.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AAEnF,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,YAAY,GACZ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,EAAE,CAAA;AAExF,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAA;AAE9D,eAAO,MAAM,MAAM,EAAE,cAAyB,CAAA;AAE9C,uFAAuF;AACvF,eAAO,MAAM,eAAe,GAAI,MAAM,cAAc,YAAuB,CAAA;AAE3E,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAwCzE;AAsBD,0FAA0F;AAC1F,eAAO,MAAM,YAAY;;;;;;CAMf,CAAA;AAwBV,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAQ5D"}
@@ -53,12 +53,20 @@ const family = (name, easeIn) => ({
53
53
  [`${name}Out`]: reverse(easeIn),
54
54
  [`${name}InOut`]: mirror(easeIn),
55
55
  });
56
+ /** Canonical control points also consumed by the standalone SwiftUI adapter generator. */
57
+ export const timingCurves = {
58
+ linear: [0, 0, 1, 1],
59
+ ease: [0.25, 0.1, 0.25, 1],
60
+ easeIn: [0.42, 0, 1, 1],
61
+ easeOut: [0, 0, 0.58, 1],
62
+ easeInOut: [0.42, 0, 0.58, 1],
63
+ };
56
64
  const easings = {
57
65
  linear,
58
- ease: cubicBezier(0.25, 0.1, 0.25, 1),
59
- easeIn: cubicBezier(0.42, 0, 1, 1),
60
- easeOut: cubicBezier(0, 0, 0.58, 1),
61
- easeInOut: cubicBezier(0.42, 0, 0.58, 1),
66
+ ease: cubicBezier(...timingCurves.ease),
67
+ easeIn: cubicBezier(...timingCurves.easeIn),
68
+ easeOut: cubicBezier(...timingCurves.easeOut),
69
+ easeInOut: cubicBezier(...timingCurves.easeInOut),
62
70
  circIn,
63
71
  circOut: reverse(circIn),
64
72
  circInOut: mirror(circIn),
@@ -1 +1 @@
1
- {"version":3,"file":"easing.js","sourceRoot":"","sources":["../../src/core/easing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"easing.js","sourceRoot":"","sources":["../../src/core/easing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gesture-math.d.ts","sourceRoot":"","sources":["../../src/core/gesture-math.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AACD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE;;;;;EAa9D;AACD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAExD;AACD,eAAO,MAAM,SAAS,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,WAC5B,CAAA;AACrC,iFAAiF;AACjF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,EAAE,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE;;;;EAwBtD"}
1
+ {"version":3,"file":"gesture-math.d.ts","sourceRoot":"","sources":["../../src/core/gesture-math.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AACD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE;;;;;EAa9D;AACD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAExD;AACD,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,WAC5B,CAAA;AACrC,iFAAiF;AACjF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,EAAE,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE;;;;EAwBtD"}
@@ -0,0 +1,11 @@
1
+ export type PlotEvent = 'start' | 'replace' | 'pause' | 'play' | 'stop' | 'complete' | 'seek';
2
+ export interface PlotSample {
3
+ at: number;
4
+ expected: number | null;
5
+ observed: number | null;
6
+ event?: PlotEvent;
7
+ }
8
+ export declare function validatePlotSample(sample: PlotSample): void;
9
+ /** Bounded portable SVG. Missing observations break the line; they are never interpolated. */
10
+ export declare function inspectorPlot(samples: readonly PlotSample[]): string;
11
+ //# sourceMappingURL=inspection-plot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection-plot.d.ts","sourceRoot":"","sources":["../../src/core/inspection-plot.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACnB,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAA;AACvE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAUD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,QAWpD;AACD,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CA2CpE"}
@@ -0,0 +1,57 @@
1
+ const events = [
2
+ 'start',
3
+ 'replace',
4
+ 'pause',
5
+ 'play',
6
+ 'stop',
7
+ 'complete',
8
+ 'seek',
9
+ ];
10
+ export function validatePlotSample(sample) {
11
+ if (!sample ||
12
+ !Number.isFinite(sample.at) ||
13
+ sample.at < 0 ||
14
+ [sample.expected, sample.observed].some((v) => v !== null && !Number.isFinite(v)) ||
15
+ (sample.event !== undefined && !events.includes(sample.event)))
16
+ throw new TypeError('Plot samples need finite timestamps/values, null gaps and known events.');
17
+ }
18
+ /** Bounded portable SVG. Missing observations break the line; they are never interpolated. */
19
+ export function inspectorPlot(samples) {
20
+ if (!Array.isArray(samples) || samples.length > 4096)
21
+ throw new RangeError('Plot at most 4096 samples.');
22
+ let previous = -1;
23
+ for (const sample of samples) {
24
+ validatePlotSample(sample);
25
+ if (sample.at < previous)
26
+ throw new RangeError('Plot timestamps must be ordered.');
27
+ previous = sample.at;
28
+ }
29
+ const values = samples
30
+ .flatMap((s) => [s.expected, s.observed])
31
+ .filter((v) => v !== null);
32
+ const min = Math.min(0, ...values), max = Math.max(1, ...values);
33
+ // Normalize before subtraction so finite extreme values cannot overflow.
34
+ const scale = Math.max(Math.abs(min), Math.abs(max));
35
+ const low = min / scale, range = max / scale - low;
36
+ const first = samples[0]?.at ?? 0, span = Math.max(1, (samples.at(-1)?.at ?? 1) - first);
37
+ const x = (at) => (12 + ((at - first) / span) * 296).toFixed(2);
38
+ const path = (key) => {
39
+ let drawing = false, result = '';
40
+ for (const sample of samples) {
41
+ const value = sample[key];
42
+ if (value === null) {
43
+ drawing = false;
44
+ continue;
45
+ }
46
+ result += `${drawing ? 'L' : 'M'}${x(sample.at)},${(88 - ((value / scale - low) / range) * 72).toFixed(2)} `;
47
+ drawing = true;
48
+ }
49
+ return result;
50
+ };
51
+ const markers = samples
52
+ .filter((s) => s.event)
53
+ .map((s) => `<path d="M${x(s.at)} 12V92" stroke="#8EA6FF" stroke-dasharray="2 3"><title>${s.event}</title></path>`)
54
+ .join('');
55
+ return `<svg xmlns="http://www.w3.org/2000/svg" width="320" height="104" viewBox="0 0 320 104" role="img" aria-label="Expected and observed motion; gaps indicate unavailable observations"><rect width="320" height="104" rx="14" fill="#252A34"/><path d="M12 16H308M12 52H308M12 88H308" stroke="#444956" stroke-width=".5"/>${markers}<path d="${path('expected')}" fill="none" stroke="#DFFF69" stroke-width="2.5"/><path d="${path('observed')}" fill="none" stroke="#F0ABCE" stroke-width="2" stroke-dasharray="4 2"/></svg>`;
56
+ }
57
+ //# sourceMappingURL=inspection-plot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection-plot.js","sourceRoot":"","sources":["../../src/core/inspection-plot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Durations and geometry of the loading effects, shared by the NativeScript, Web and
3
+ * SwiftUI adapters. Lengths are DIPs, CSS px or points; times are milliseconds.
4
+ */
5
+ export type LoaderStyle = 'dots' | 'bars' | 'ring';
6
+ export interface LoaderKind {
7
+ /** Copies drawn by one source item. */
8
+ readonly count: number;
9
+ /** Item width and height as fractions of the loader's side. */
10
+ readonly width: number;
11
+ readonly height: number;
12
+ /** Each copy starts `duration / stagger` after the previous one. */
13
+ readonly stagger: number;
14
+ readonly property: 'scale' | 'scaleY' | 'opacity';
15
+ /** Keyframes of the animated property, linear between `times` (fractions of a cycle). */
16
+ readonly values: readonly number[];
17
+ readonly times: readonly number[];
18
+ /** Item opacity when the property is not animated, including under reduced motion. */
19
+ readonly rest: number;
20
+ }
21
+ export declare const shimmerDefinition: {
22
+ readonly duration: 1500;
23
+ /** Web and SwiftUI: a white band painted over the content. */
24
+ readonly highlight: {
25
+ /** CSS degrees: 90 runs left to right. */
26
+ readonly angle: 100;
27
+ /** Percent positions of the band's stops. */
28
+ readonly stops: readonly [15, 50, 85];
29
+ /** White opacity at each stop. */
30
+ readonly opacity: readonly [0, 0.55, 0];
31
+ /** Horizontal travel in widths of the view, from the first to the last frame. */
32
+ readonly travel: readonly [-1, 1];
33
+ };
34
+ /** NativeScript iOS: a mask three widths wide dims the content outside the band. */
35
+ readonly mask: {
36
+ readonly opacity: 0.35;
37
+ readonly from: readonly [0, 0.125, 0.25];
38
+ readonly to: readonly [0.75, 0.875, 1];
39
+ };
40
+ };
41
+ export declare const loaderDefinition: {
42
+ readonly style: LoaderStyle;
43
+ readonly color: "#71717a";
44
+ /** Maximum side, fitted inside the target. */
45
+ readonly size: 48;
46
+ readonly duration: 1200;
47
+ readonly kinds: {
48
+ dots: {
49
+ count: number;
50
+ width: number;
51
+ height: number;
52
+ stagger: number;
53
+ property: "scale";
54
+ values: number[];
55
+ times: number[];
56
+ rest: number;
57
+ };
58
+ bars: {
59
+ count: number;
60
+ width: number;
61
+ height: number;
62
+ stagger: number;
63
+ property: "scaleY";
64
+ values: number[];
65
+ times: number[];
66
+ rest: number;
67
+ };
68
+ ring: {
69
+ count: number;
70
+ width: number;
71
+ height: number;
72
+ stagger: number;
73
+ property: "opacity";
74
+ values: number[];
75
+ times: number[];
76
+ rest: number;
77
+ };
78
+ };
79
+ /** The Web draws CSS boxes instead: percent sizes of the box and an eased pulse. */
80
+ readonly css: {
81
+ readonly dots: {
82
+ readonly width: 20;
83
+ readonly height: 20;
84
+ readonly radius: "50%";
85
+ };
86
+ readonly bars: {
87
+ readonly width: 12;
88
+ readonly height: 65;
89
+ readonly radius: "3px";
90
+ };
91
+ readonly ring: {
92
+ readonly diameter: 75;
93
+ readonly border: 3;
94
+ };
95
+ readonly pulse: 0.45;
96
+ readonly stagger: 7;
97
+ readonly ease: "ease-in-out";
98
+ };
99
+ };
100
+ export declare const revealDefinition: {
101
+ readonly duration: 400;
102
+ readonly ease: "easeInOut";
103
+ };
104
+ export interface LoaderItem {
105
+ /** Centre in the loader's square, from its top-left corner. */
106
+ x: number;
107
+ y: number;
108
+ width: number;
109
+ height: number;
110
+ /** Degrees clockwise around the square's centre. */
111
+ rotate: number;
112
+ scaleX: number;
113
+ scaleY: number;
114
+ opacity: number;
115
+ }
116
+ /**
117
+ * Every copy of a loader drawn in a `size` square. Without `elapsed`, the static pose
118
+ * shown under reduced motion. Copy `i` runs `i * duration / stagger` behind the first.
119
+ */
120
+ export declare function loaderItems(style: LoaderStyle, size: number, elapsed?: number, duration?: number): LoaderItem[];
121
+ /** Horizontal offset of the shimmer band, in widths of the view. */
122
+ export declare function shimmerOffset(elapsed: number, duration?: number): number;
123
+ /** The radius that reaches the farthest corner of a box from `x`, `y`. */
124
+ export declare function revealRadius(width: number, height: number, x: number, y: number): number;
125
+ //# sourceMappingURL=loading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../src/core/loading.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAElD,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAA;IACjD,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,iBAAiB;;IAE5B,8DAA8D;;QAE5D,0CAA0C;;QAE1C,6CAA6C;;QAE7C,kCAAkC;;QAElC,iFAAiF;;;IAGnF,oFAAoF;;;;;;CAE5E,CAAA;AAEV,eAAO,MAAM,gBAAgB;oBACV,WAAW;;IAE5B,8CAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmC9C,oFAAoF;;;;;;;;;;;;;;;;;;;;CAS5E,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;CAAgD,CAAA;AAE7E,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAaD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAkC,GAC3C,UAAU,EAAE,CA4Bd;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAmC,UAK9C;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAO/E"}