@rafaelaugusto/jolt 0.1.0-rc.8 → 0.1.0-rc.9

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 (108) hide show
  1. package/README.md +2 -2
  2. package/dist/core/gesture-math.d.ts +22 -0
  3. package/dist/core/gesture-math.d.ts.map +1 -0
  4. package/dist/core/gesture-math.js +45 -0
  5. package/dist/core/gesture-math.js.map +1 -0
  6. package/dist/core/reorder.d.ts +12 -0
  7. package/dist/core/reorder.d.ts.map +1 -0
  8. package/dist/core/reorder.js +30 -0
  9. package/dist/core/reorder.js.map +1 -0
  10. package/dist/core/scroll-header.d.ts +19 -0
  11. package/dist/core/scroll-header.d.ts.map +1 -0
  12. package/dist/core/scroll-header.js +56 -0
  13. package/dist/core/scroll-header.js.map +1 -0
  14. package/dist/live-paint.d.ts +11 -0
  15. package/dist/live-paint.d.ts.map +1 -0
  16. package/dist/live-paint.js +66 -0
  17. package/dist/live-paint.js.map +1 -0
  18. package/dist/live-spring-driver.d.ts +4 -1
  19. package/dist/live-spring-driver.d.ts.map +1 -1
  20. package/dist/live-spring-driver.js +41 -1
  21. package/dist/live-spring-driver.js.map +1 -1
  22. package/dist/motion-value.d.ts +3 -0
  23. package/dist/motion-value.d.ts.map +1 -1
  24. package/dist/motion-value.js +56 -47
  25. package/dist/motion-value.js.map +1 -1
  26. package/dist/reorder/model.d.ts +1 -5
  27. package/dist/reorder/model.d.ts.map +1 -1
  28. package/dist/reorder/model.js +1 -29
  29. package/dist/reorder/model.js.map +1 -1
  30. package/dist/scroll-header/geometry.d.ts +1 -18
  31. package/dist/scroll-header/geometry.d.ts.map +1 -1
  32. package/dist/scroll-header/geometry.js +1 -55
  33. package/dist/scroll-header/geometry.js.map +1 -1
  34. package/dist/web/drag.d.ts +51 -2
  35. package/dist/web/drag.d.ts.map +1 -1
  36. package/dist/web/drag.js +179 -18
  37. package/dist/web/drag.js.map +1 -1
  38. package/dist/web/gesture-scroll.d.ts +20 -0
  39. package/dist/web/gesture-scroll.d.ts.map +1 -0
  40. package/dist/web/gesture-scroll.js +99 -0
  41. package/dist/web/gesture-scroll.js.map +1 -0
  42. package/dist/web/gestures.d.ts +63 -0
  43. package/dist/web/gestures.d.ts.map +1 -0
  44. package/dist/web/gestures.js +542 -0
  45. package/dist/web/gestures.js.map +1 -0
  46. package/dist/web/interaction.d.ts +38 -0
  47. package/dist/web/interaction.d.ts.map +1 -0
  48. package/dist/web/interaction.js +85 -0
  49. package/dist/web/interaction.js.map +1 -0
  50. package/dist/web/public.d.ts +16 -1
  51. package/dist/web/public.d.ts.map +1 -1
  52. package/dist/web/public.js +4 -0
  53. package/dist/web/public.js.map +1 -1
  54. package/dist/web/reorder.d.ts +38 -0
  55. package/dist/web/reorder.d.ts.map +1 -0
  56. package/dist/web/reorder.js +560 -0
  57. package/dist/web/reorder.js.map +1 -0
  58. package/dist/web/runtime.d.ts +27 -0
  59. package/dist/web/runtime.d.ts.map +1 -1
  60. package/dist/web/runtime.js +201 -10
  61. package/dist/web/runtime.js.map +1 -1
  62. package/dist/web/scope.d.ts +1 -1
  63. package/dist/web/scope.d.ts.map +1 -1
  64. package/dist/web/scope.js +4 -0
  65. package/dist/web/scope.js.map +1 -1
  66. package/dist/web/scroll-header.d.ts +53 -0
  67. package/dist/web/scroll-header.d.ts.map +1 -0
  68. package/dist/web/scroll-header.js +395 -0
  69. package/dist/web/scroll-header.js.map +1 -0
  70. package/dist/web/shared-layout.d.ts.map +1 -1
  71. package/dist/web/shared-layout.js +22 -9
  72. package/dist/web/shared-layout.js.map +1 -1
  73. package/dist/web/value-playback.d.ts.map +1 -1
  74. package/dist/web/value-playback.js +14 -3
  75. package/dist/web/value-playback.js.map +1 -1
  76. package/dist/web/zoomable.d.ts +41 -0
  77. package/dist/web/zoomable.d.ts.map +1 -0
  78. package/dist/web/zoomable.js +401 -0
  79. package/dist/web/zoomable.js.map +1 -0
  80. package/package.json +5 -2
  81. package/platforms/android/java/org/rafaelaugusto/jolt/DecorationTarget.java +7 -6
  82. package/platforms/android/java/org/rafaelaugusto/jolt/LiveSpring.java +13 -10
  83. package/platforms/ios/src/JoltLivePaint.h +12 -0
  84. package/platforms/ios/src/JoltLivePaint.m +131 -0
  85. package/platforms/ios/src/JoltLiveSpring.m +9 -4
  86. package/platforms/ios/src/module.modulemap +1 -0
  87. package/src/android-plugin.d.ts +13 -0
  88. package/src/core/gesture-math.ts +53 -0
  89. package/src/core/reorder.ts +53 -0
  90. package/src/core/scroll-header.ts +100 -0
  91. package/src/ios-plugin.d.ts +5 -0
  92. package/src/live-paint.ts +78 -0
  93. package/src/live-spring-driver.ts +63 -2
  94. package/src/motion-value.ts +62 -54
  95. package/src/reorder/model.ts +1 -47
  96. package/src/scroll-header/geometry.ts +1 -100
  97. package/src/web/drag.ts +228 -24
  98. package/src/web/gesture-scroll.ts +129 -0
  99. package/src/web/gestures.ts +667 -0
  100. package/src/web/interaction.ts +136 -0
  101. package/src/web/public.ts +44 -1
  102. package/src/web/reorder.ts +718 -0
  103. package/src/web/runtime.ts +247 -10
  104. package/src/web/scope.ts +8 -0
  105. package/src/web/scroll-header.ts +492 -0
  106. package/src/web/shared-layout.ts +32 -11
  107. package/src/web/value-playback.ts +16 -3
  108. package/src/web/zoomable.ts +521 -0
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.8 release candidate](https://github.com/rafaelaugustos/jolt/releases/tag/v0.1.0-rc.8) adds Web value playback, decay, progress, sequences, timelines, motion states and SVG drawing, plus deferred Vue/Nuxt attachment, keyed item entrances and horizontal LTR/RTL scroll. Native motion states now resume replacement views correctly after a paused detach/unload. The preview has **74 examples in English, Portuguese, Spanish and Simplified Chinese**. Install `@rafaelaugusto/jolt@0.1.0-rc.8` and rebuild native apps; external native properties also need matching `@rafaelaugusto/jolt-native@0.1.0-rc.8`. [Stable-release acceptance](https://jolt.rafaelaugusto.dev/guide/not-there-yet) remains in progress.
34
+ The [0.1.0-rc.9 release candidate](https://github.com/rafaelaugustos/jolt/releases/tag/v0.1.0-rc.9) adds Web inertial/value drag, composed gestures, image zoom, coordinated nested scroll, collapsing headers with refresh, and keyed reorder. Native retained springs now support border/text colors, widths and independent corners while preserving mixed paint ownership. The preview has **74 examples in English, Portuguese, Spanish and Simplified Chinese**. Install `@rafaelaugusto/jolt@0.1.0-rc.9` and rebuild native apps; external native properties also need matching `@rafaelaugusto/jolt-native@0.1.0-rc.9`. [Stable-release acceptance](https://jolt.rafaelaugusto.dev/guide/not-there-yet) remains in progress.
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.8**, 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.9**, 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
 
@@ -0,0 +1,22 @@
1
+ export interface ContactPoint {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ export declare function contactGeometry(points: readonly ContactPoint[]): {
6
+ x: number;
7
+ y: number;
8
+ distance: number;
9
+ angle: number;
10
+ };
11
+ export declare function angleDelta(next: number, previous: number): number;
12
+ export declare const constrain: (value: number, min: number, max: number) => number;
13
+ /** Finger delta is consumed exactly once. Positive panel motion collapses it. */
14
+ export declare function consumeScroll(delta: number, panel: number, bounds: readonly [number, number], offsets: readonly {
15
+ position: number;
16
+ max: number;
17
+ }[]): {
18
+ panel: number;
19
+ scroll: number[];
20
+ remaining: number;
21
+ };
22
+ //# sourceMappingURL=gesture-math.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,45 @@
1
+ export function contactGeometry(points) {
2
+ const count = points.length;
3
+ if (!count)
4
+ return { x: 0, y: 0, distance: 0, angle: 0 };
5
+ const x = points.reduce((sum, p) => sum + p.x, 0) / count;
6
+ const y = points.reduce((sum, p) => sum + p.y, 0) / count;
7
+ const first = points[0], second = points[1] ?? first;
8
+ return {
9
+ x,
10
+ y,
11
+ distance: Math.hypot(second.x - first.x, second.y - first.y),
12
+ angle: (Math.atan2(second.y - first.y, second.x - first.x) * 180) / Math.PI,
13
+ };
14
+ }
15
+ export function angleDelta(next, previous) {
16
+ return ((((next - previous + 540) % 360) + 360) % 360) - 180;
17
+ }
18
+ export const constrain = (value, min, max) => Math.max(min, Math.min(max, value));
19
+ /** Finger delta is consumed exactly once. Positive panel motion collapses it. */
20
+ export function consumeScroll(delta, panel, bounds, offsets) {
21
+ let rest = delta;
22
+ const scroll = offsets.map((item) => item.position);
23
+ const movePanel = () => {
24
+ const next = constrain(panel + rest, ...bounds);
25
+ rest -= next - panel;
26
+ panel = next;
27
+ };
28
+ const moveScroll = () => {
29
+ offsets.forEach((item, i) => {
30
+ const next = constrain(scroll[i] - rest, 0, item.max);
31
+ rest += next - scroll[i];
32
+ scroll[i] = next;
33
+ });
34
+ };
35
+ if (delta < 0) {
36
+ movePanel();
37
+ moveScroll();
38
+ }
39
+ else {
40
+ moveScroll();
41
+ movePanel();
42
+ }
43
+ return { panel, scroll, remaining: rest };
44
+ }
45
+ //# sourceMappingURL=gesture-math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gesture-math.js","sourceRoot":"","sources":["../../src/core/gesture-math.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type ReorderKey = string | number;
2
+ export interface ReorderMove<K extends ReorderKey = ReorderKey> {
3
+ key: K;
4
+ beforeKey: K | null;
5
+ fromIndex: number;
6
+ toIndex: number;
7
+ }
8
+ export declare function itemKeys<T, K extends ReorderKey>(items: readonly T[], key: (item: T) => K): K[];
9
+ export declare function sameKeys<K>(a: readonly K[], b: readonly K[]): boolean;
10
+ /** toIndex is the final position, after removing the dragged item. */
11
+ export declare function moveAt<K extends ReorderKey>(keys: readonly K[], fromIndex: number, toIndex: number): ReorderMove<K> | undefined;
12
+ //# sourceMappingURL=reorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder.d.ts","sourceRoot":"","sources":["../../src/core/reorder.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;AACxC,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC5D,GAAG,EAAE,CAAC,CAAA;IACN,SAAS,EAAE,CAAC,GAAG,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,EAC9C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAClB,CAAC,EAAE,CAaL;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,OAAO,CAErE;AAED,sEAAsE;AACtE,wBAAgB,MAAM,CAAC,CAAC,SAAS,UAAU,EACzC,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAiB5B"}
@@ -0,0 +1,30 @@
1
+ export function itemKeys(items, key) {
2
+ const keys = items.map(key);
3
+ if (keys.some((value) => (typeof value !== 'string' && typeof value !== 'number') ||
4
+ (typeof value === 'number' && !Number.isFinite(value))))
5
+ throw new TypeError('Reorder keys must be strings or finite numbers.');
6
+ if (new Set(keys).size !== keys.length)
7
+ throw new TypeError('Reorder keys must be unique and stable across recycling.');
8
+ return keys;
9
+ }
10
+ export function sameKeys(a, b) {
11
+ return a.length === b.length && a.every((key, index) => key === b[index]);
12
+ }
13
+ /** toIndex is the final position, after removing the dragged item. */
14
+ export function moveAt(keys, fromIndex, toIndex) {
15
+ if (!Number.isInteger(fromIndex) ||
16
+ !Number.isInteger(toIndex) ||
17
+ fromIndex < 0 ||
18
+ toIndex < 0 ||
19
+ fromIndex >= keys.length ||
20
+ toIndex >= keys.length ||
21
+ fromIndex === toIndex)
22
+ return undefined;
23
+ return {
24
+ key: keys[fromIndex],
25
+ beforeKey: keys[toIndex < fromIndex ? toIndex : toIndex + 1] ?? null,
26
+ fromIndex,
27
+ toIndex,
28
+ };
29
+ }
30
+ //# sourceMappingURL=reorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder.js","sourceRoot":"","sources":["../../src/core/reorder.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,QAAQ,CACtB,KAAmB,EACnB,GAAmB;IAEnB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,IACE,IAAI,CAAC,IAAI,CACP,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;QACxD,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACzD;QAED,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAA;IACxE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM;QACpC,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAA;IACjF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,CAAe,EAAE,CAAe;IAC1D,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,MAAM,CACpB,IAAkB,EAClB,SAAiB,EACjB,OAAe;IAEf,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QAC5B,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;QAC1B,SAAS,GAAG,CAAC;QACb,OAAO,GAAG,CAAC;QACX,SAAS,IAAI,IAAI,CAAC,MAAM;QACxB,OAAO,IAAI,IAAI,CAAC,MAAM;QACtB,SAAS,KAAK,OAAO;QAErB,OAAO,SAAS,CAAA;IAClB,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,SAAS,CAAE;QACrB,SAAS,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI;QACpE,SAAS;QACT,OAAO;KACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface ScrollHeaderGeometry {
2
+ expanded: number;
3
+ minimum: number;
4
+ section: number;
5
+ range: number;
6
+ spacer: number;
7
+ rowHeight: number;
8
+ parallax: number;
9
+ divider: number;
10
+ handoff: number;
11
+ focusHandoff: number;
12
+ titleFade: readonly [number, number];
13
+ toolbarFade: readonly [number, number];
14
+ }
15
+ export declare function headerGeometry(expanded: number, minimum: number, section: number, rowHeight: number, parallax: number, divider?: number, titleFade?: readonly [number, number], toolbarFade?: readonly [number, number]): ScrollHeaderGeometry;
16
+ /** Keep collapsed rows relative to the pinned edge; keep expanded content in place. */
17
+ export declare function resizedOffset(offset: number, before: ScrollHeaderGeometry, after: ScrollHeaderGeometry): number;
18
+ export declare function restoredOffset(offset: number, before: ScrollHeaderGeometry, after: ScrollHeaderGeometry, previousIndex: number, nextIndex: number): number;
19
+ //# sourceMappingURL=scroll-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-header.d.ts","sourceRoot":"","sources":["../../src/core/scroll-header.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAI,EACX,SAAS,GAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAY,EAC/C,WAAW,GAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAgB,GACpD,oBAAoB,CA4CtB;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,oBAAoB,UAQ5B;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,oBAAoB,EAC3B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,UAUlB"}
@@ -0,0 +1,56 @@
1
+ export function headerGeometry(expanded, minimum, section, rowHeight, parallax, divider = 0, titleFade = [0, 0.7], toolbarFade = [0.55, 0.95]) {
2
+ if (![expanded, minimum, section, rowHeight, parallax, divider].every(Number.isFinite) ||
3
+ divider < 0 ||
4
+ minimum <= 0 ||
5
+ expanded <= minimum ||
6
+ section < 0 ||
7
+ rowHeight <= 0 ||
8
+ parallax < 0 ||
9
+ parallax > expanded - minimum)
10
+ throw new RangeError('scrollHeader needs expanded > minimum > 0, a positive rowHeight, and parallax within the collapse range.');
11
+ for (const interval of [titleFade, toolbarFade]) {
12
+ if (!Array.isArray(interval) ||
13
+ interval.length !== 2 ||
14
+ !interval.every(Number.isFinite) ||
15
+ interval[0] < 0 ||
16
+ interval[1] > 1 ||
17
+ interval[0] >= interval[1])
18
+ throw new RangeError('Fade intervals must increase within [0, 1].');
19
+ }
20
+ return {
21
+ divider,
22
+ handoff: (toolbarFade[0] + toolbarFade[1]) / 2,
23
+ // Transfer while both titles are visible; alpha zero removes a UIView
24
+ // from VoiceOver before an accessibility flag alone can preserve its focus.
25
+ focusHandoff: titleFade[1] > toolbarFade[0]
26
+ ? (toolbarFade[0] + Math.min(titleFade[1], toolbarFade[1])) / 2
27
+ : (toolbarFade[0] + toolbarFade[1]) / 2,
28
+ titleFade: [...titleFade],
29
+ toolbarFade: [...toolbarFade],
30
+ expanded,
31
+ minimum,
32
+ section,
33
+ rowHeight,
34
+ parallax,
35
+ range: expanded - minimum,
36
+ spacer: expanded + section,
37
+ };
38
+ }
39
+ /** Keep collapsed rows relative to the pinned edge; keep expanded content in place. */
40
+ export function resizedOffset(offset, before, after) {
41
+ if (offset <= 0)
42
+ return 0;
43
+ // Growing the compact title/section must not cover the previously visible row.
44
+ // Its position relative to the pinned bottom is range + row position - offset.
45
+ const delta = offset >= before.range ? after.range - before.range : after.spacer - before.spacer;
46
+ return Math.max(0, offset + delta);
47
+ }
48
+ export function restoredOffset(offset, before, after, previousIndex, nextIndex) {
49
+ if (offset <= 0)
50
+ return 0;
51
+ return Math.max(0, offset +
52
+ after.spacer -
53
+ before.spacer +
54
+ (nextIndex - previousIndex) * (after.rowHeight + after.divider));
55
+ }
56
+ //# sourceMappingURL=scroll-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-header.js","sourceRoot":"","sources":["../../src/core/scroll-header.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type View } from '@nativescript/core';
2
+ import { radiusKeys, widthKeys } from './decoration.js';
3
+ export type LiveEdge = (typeof radiusKeys)[number] | (typeof widthKeys)[number];
4
+ export declare const liveEdges: readonly LiveEdge[];
5
+ export declare const isLiveEdge: (key: string) => key is LiveEdge;
6
+ export declare const isLivePaint: (key: string) => key is "borderRadius" | "borderWidth" | import("./color.js").ColorProperty | LiveEdge;
7
+ export declare function overlapsLivePaint(a: string, b: string): boolean;
8
+ export declare function livePaintChanges(property: string): readonly string[];
9
+ export declare function validateLivePaint(view: View, property: string): void;
10
+ export declare function livePaintConfig(view: View): string;
11
+ //# sourceMappingURL=live-paint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-paint.d.ts","sourceRoot":"","sources":["../src/live-paint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAO,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG5D,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAC/E,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAAkC,CAAA;AAC3E,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,GAAG,IAAI,QACX,CAAA;AACrC,eAAO,MAAM,WAAW,QAAS,MAAM,0FAIhB,CAAA;AACvB,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,WAQrD;AACD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAMpE;AACD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QA0B7D;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,UAqBzC"}
@@ -0,0 +1,66 @@
1
+ import { Color } from '@nativescript/core';
2
+ import { dip, radiusKeys, widthKeys } from './decoration.js';
3
+ import { isColorProperty, validateColorTarget } from './color.js';
4
+ export const liveEdges = [...radiusKeys, ...widthKeys];
5
+ export const isLiveEdge = (key) => liveEdges.includes(key);
6
+ export const isLivePaint = (key) => isColorProperty(key) ||
7
+ isLiveEdge(key) ||
8
+ key === 'borderRadius' ||
9
+ key === 'borderWidth';
10
+ export function overlapsLivePaint(a, b) {
11
+ return (a !== b &&
12
+ ((a === 'borderRadius' && radiusKeys.includes(b)) ||
13
+ (b === 'borderRadius' && radiusKeys.includes(a)) ||
14
+ (a === 'borderWidth' && widthKeys.includes(b)) ||
15
+ (b === 'borderWidth' && widthKeys.includes(a))));
16
+ }
17
+ export function livePaintChanges(property) {
18
+ if (property === 'borderRadius')
19
+ return radiusKeys;
20
+ if (property === 'borderWidth')
21
+ return widthKeys;
22
+ if (property === 'borderColor')
23
+ return ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'];
24
+ return [property];
25
+ }
26
+ export function validateLivePaint(view, property) {
27
+ if (!isLivePaint(property))
28
+ return;
29
+ if (isColorProperty(property))
30
+ validateColorTarget(view, property);
31
+ if (property === 'color') {
32
+ if (view.formattedText)
33
+ throw new TypeError('Live text color requires plain Label/Button text; formatted spans retain their own colors.');
34
+ return;
35
+ }
36
+ if (view.backgroundImage)
37
+ throw new TypeError('Live paint bindings require a solid background without an image or gradient.');
38
+ if (view.style.clipPath || view.style.cornerShape === 'squircle')
39
+ throw new TypeError('Live paint requires circular corners without a clipPath.');
40
+ if (property !== 'backgroundColor' &&
41
+ property !== 'borderColor' &&
42
+ view.boxShadow &&
43
+ (!Array.isArray(view.boxShadow) || view.boxShadow.length))
44
+ throw new TypeError('Live paint requires a separate shadow surface; CSS boxShadow caches its geometry.');
45
+ for (const key of liveEdges)
46
+ dip(view[key]);
47
+ }
48
+ export function livePaintConfig(view) {
49
+ return JSON.stringify({
50
+ background: view.backgroundColor instanceof Color
51
+ ? view.backgroundColor.argb >>> 0
52
+ : view.backgroundColor
53
+ ? new Color(view.backgroundColor).argb >>> 0
54
+ : 0,
55
+ colors: [
56
+ 'borderTopColor',
57
+ 'borderRightColor',
58
+ 'borderBottomColor',
59
+ 'borderLeftColor',
60
+ ].map((key) => (view[key]?.argb ??
61
+ 0xff000000) >>> 0),
62
+ radii: radiusKeys.map((key) => dip(view[key])),
63
+ widths: widthKeys.map((key) => dip(view[key])),
64
+ });
65
+ }
66
+ //# sourceMappingURL=live-paint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-paint.js","sourceRoot":"","sources":["../src/live-paint.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type View } from '@nativescript/core';
2
2
  import type { NumericProperty } from './properties.js';
3
+ import { type LiveEdge } from './live-paint.js';
3
4
  export interface LiveMapping {
4
5
  input: readonly number[];
5
6
  output: readonly number[];
@@ -7,7 +8,7 @@ export interface LiveMapping {
7
8
  /** Final mapping only: premultiplied OKLab, packed unsigned ARGB output. */
8
9
  color?: boolean;
9
10
  }
10
- export type LiveProperty = NumericProperty | 'backgroundColor' | 'borderRadius';
11
+ export type LiveProperty = NumericProperty | LiveEdge | 'backgroundColor' | 'borderColor' | 'color' | 'borderRadius' | 'borderWidth';
11
12
  export interface LiveSpringPhysics {
12
13
  stiffness: number;
13
14
  damping: number;
@@ -55,6 +56,8 @@ export declare function liveSpringDriver(): LiveSpringDriver;
55
56
  export declare function liveComposition(): LiveSpringDriver | undefined;
56
57
  export declare const stillPhysics: LiveSpringPhysics;
57
58
  export declare function syncLiveSprings(view: View): void;
59
+ /** Validate every loaded native target before bind() replaces any existing owner. */
60
+ export declare function validateLivePaintRuntime(view: View, property: string): void;
58
61
  /** Internal native input connection; never exposes handles through the public value API. */
59
62
  export declare function nativeLiveNode(node: LiveNode): JoltLiveSpring | org.rafaelaugusto.jolt.LiveSpring;
60
63
  //# sourceMappingURL=live-spring-driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"live-spring-driver.d.ts","sourceRoot":"","sources":["../src/live-spring-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGtD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,KAAK,EAAE,OAAO,CAAA;IACd,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AACD,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,iBAAiB,GAAG,cAAc,CAAA;AAC/E,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AACD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1B;AACD,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,MAAM,CAAA;IACf,MAAM,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAAA;IAC1C,MAAM,IAAI,IAAI,CAAA;CACf;AACD,MAAM,WAAW,QAAQ;IACvB,QAAQ,IAAI,MAAM,CAAA;IAClB,QAAQ,IAAI,MAAM,CAAA;IAClB,MAAM,IAAI,OAAO,CAAA;IACjB,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAAA;IAC5D,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IAC9B,wFAAwF;IACxF,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAAA;IACxD,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,CAAA;IACnF,OAAO,IAAI,IAAI,CAAA;CAChB;AACD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC/E,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CACvB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,QAEvE;AACD,wBAAgB,gBAAgB,IAAI,gBAAgB,CAOnD;AACD,gGAAgG;AAChG,wBAAgB,eAAe,IAAI,gBAAgB,GAAG,SAAS,CAE9D;AACD,eAAO,MAAM,YAAY,EAAE,iBAM1B,CAAA;AAOD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,QAGzC;AAKD,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,sDAI5C"}
1
+ {"version":3,"file":"live-spring-driver.d.ts","sourceRoot":"","sources":["../src/live-spring-driver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { isAndroid } from '@nativescript/core';
2
+ import { isLivePaint, livePaintConfig } from './live-paint.js';
2
3
  import { retainInteractiveLayout } from './driver/ios-layout.js';
3
4
  let override;
4
5
  export function setLiveSpringDriver(driver) {
@@ -34,6 +35,37 @@ export function syncLiveSprings(view) {
34
35
  else if (available() && view.nativeViewProtected)
35
36
  nativeDriver.sync(view);
36
37
  }
38
+ /** Validate every loaded native target before bind() replaces any existing owner. */
39
+ export function validateLivePaintRuntime(view, property) {
40
+ if (override || !isLivePaint(property) || !view.nativeViewProtected)
41
+ return;
42
+ if (!isAndroid) {
43
+ if (typeof JoltLivePaint === 'undefined')
44
+ throw new Error('Live paint needs rebuilt Jolt native classes.');
45
+ return;
46
+ }
47
+ const colors = ['backgroundColor', 'borderColor', 'color'];
48
+ const color = colors.indexOf(property);
49
+ const channels = [
50
+ 'borderRadius',
51
+ 'borderWidth',
52
+ 'elevation',
53
+ 'translationZ',
54
+ 'borderTopLeftRadius',
55
+ 'borderTopRightRadius',
56
+ 'borderBottomRightRadius',
57
+ 'borderBottomLeftRadius',
58
+ 'borderTopWidth',
59
+ 'borderRightWidth',
60
+ 'borderBottomWidth',
61
+ 'borderLeftWidth',
62
+ ];
63
+ const target = color >= 0
64
+ ? new org.rafaelaugusto.jolt.ColorTarget(view.nativeViewProtected, color, 0)
65
+ : new org.rafaelaugusto.jolt.DecorationTarget(view.nativeViewProtected, channels.indexOf(property), 0, 0);
66
+ if (!target.isSupported())
67
+ throw new TypeError(`Unsupported native live paint target for ${property}.`);
68
+ }
37
69
  const handles = new WeakMap();
38
70
  /** Internal native input connection; never exposes handles through the public value API. */
39
71
  export function nativeLiveNode(node) {
@@ -84,6 +116,11 @@ const nativeDriver = {
84
116
  reduced: (value) => native.setReduced(value),
85
117
  paused: (value) => native.setPaused(value),
86
118
  bind(view, property, maps) {
119
+ if (isLivePaint(property)) {
120
+ if (typeof JoltLivePaint === 'undefined')
121
+ throw new Error('Live paint needs rebuilt Jolt native classes.');
122
+ JoltLivePaint.configureConfigBorder(view.nativeViewProtected, livePaintConfig(view), view.nativeViewProtected.borderLayer ?? null);
123
+ }
87
124
  const releaseLayout = retainInteractiveLayout(view);
88
125
  let binding;
89
126
  try {
@@ -110,8 +147,11 @@ const nativeDriver = {
110
147
  sync(view) {
111
148
  if (isAndroid)
112
149
  org.rafaelaugusto.jolt.LiveSpring.sync(view.nativeViewProtected);
113
- else
150
+ else {
151
+ if (typeof JoltLivePaint !== 'undefined')
152
+ JoltLivePaint.refreshConfigBorder(view.nativeViewProtected, livePaintConfig(view), view.nativeViewProtected.borderLayer ?? null);
114
153
  JoltLiveSpring.sync(view.nativeViewProtected);
154
+ }
115
155
  },
116
156
  };
117
157
  //# sourceMappingURL=live-spring-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"live-spring-driver.js","sourceRoot":"","sources":["../src/live-spring-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-spring-driver.js","sourceRoot":"","sources":["../src/live-spring-driver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Color, type View } from '@nativescript/core';
2
+ import { type LiveEdge } from './live-paint.js';
2
3
  import { type ColorValue } from './color.js';
3
4
  import { type SpringParams } from './spring.js';
4
5
  import { type LiveMapping, type LiveNode } from './live-spring-driver.js';
@@ -43,6 +44,8 @@ export type Bindings = {
43
44
  [K in Exclude<KeyframeProperty, ColorKey>]?: DerivedValue;
44
45
  } & {
45
46
  [K in ColorKey]?: DerivedColor;
47
+ } & {
48
+ [K in LiveEdge]?: DerivedValue;
46
49
  };
47
50
  interface Binding {
48
51
  readonly view: View;
@@ -1 +1 @@
1
- {"version":3,"file":"motion-value.d.ts","sourceRoot":"","sources":["../src/motion-value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"motion-value.d.ts","sourceRoot":"","sources":["../src/motion-value.ts"],"names":[],"mappings":"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"}