@rafaelaugusto/jolt 0.1.0-rc.6 → 0.1.0-rc.7

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 (110) hide show
  1. package/README.md +2 -2
  2. package/dist/web/compose.d.ts +4 -1
  3. package/dist/web/compose.d.ts.map +1 -1
  4. package/dist/web/compose.js +26 -4
  5. package/dist/web/compose.js.map +1 -1
  6. package/dist/web/curve.d.ts +2 -1
  7. package/dist/web/curve.d.ts.map +1 -1
  8. package/dist/web/curve.js +6 -2
  9. package/dist/web/curve.js.map +1 -1
  10. package/dist/web/diagnostics.d.ts +59 -0
  11. package/dist/web/diagnostics.d.ts.map +1 -0
  12. package/dist/web/diagnostics.js +72 -0
  13. package/dist/web/diagnostics.js.map +1 -0
  14. package/dist/web/drag.d.ts +1 -1
  15. package/dist/web/drag.d.ts.map +1 -1
  16. package/dist/web/drag.js +6 -11
  17. package/dist/web/drag.js.map +1 -1
  18. package/dist/web/geometry.d.ts +6 -0
  19. package/dist/web/geometry.d.ts.map +1 -0
  20. package/dist/web/geometry.js +36 -0
  21. package/dist/web/geometry.js.map +1 -0
  22. package/dist/web/layout.d.ts +129 -0
  23. package/dist/web/layout.d.ts.map +1 -0
  24. package/dist/web/layout.js +157 -0
  25. package/dist/web/layout.js.map +1 -0
  26. package/dist/web/plan.d.ts +3 -1
  27. package/dist/web/plan.d.ts.map +1 -1
  28. package/dist/web/plan.js +25 -13
  29. package/dist/web/plan.js.map +1 -1
  30. package/dist/web/pointer.d.ts +43 -0
  31. package/dist/web/pointer.d.ts.map +1 -0
  32. package/dist/web/pointer.js +295 -0
  33. package/dist/web/pointer.js.map +1 -0
  34. package/dist/web/press.d.ts.map +1 -1
  35. package/dist/web/press.js +5 -11
  36. package/dist/web/press.js.map +1 -1
  37. package/dist/web/properties.d.ts +25 -0
  38. package/dist/web/properties.d.ts.map +1 -0
  39. package/dist/web/properties.js +62 -0
  40. package/dist/web/properties.js.map +1 -0
  41. package/dist/web/public.d.ts +31 -2
  42. package/dist/web/public.d.ts.map +1 -1
  43. package/dist/web/public.js +8 -0
  44. package/dist/web/public.js.map +1 -1
  45. package/dist/web/runtime.d.ts +57 -6
  46. package/dist/web/runtime.d.ts.map +1 -1
  47. package/dist/web/runtime.js +669 -39
  48. package/dist/web/runtime.js.map +1 -1
  49. package/dist/web/scene.d.ts +28 -0
  50. package/dist/web/scene.d.ts.map +1 -0
  51. package/dist/web/scene.js +41 -0
  52. package/dist/web/scene.js.map +1 -0
  53. package/dist/web/scope.d.ts +31 -0
  54. package/dist/web/scope.d.ts.map +1 -0
  55. package/dist/web/scope.js +257 -0
  56. package/dist/web/scope.js.map +1 -0
  57. package/dist/web/scroll.d.ts +5 -5
  58. package/dist/web/scroll.d.ts.map +1 -1
  59. package/dist/web/scroll.js.map +1 -1
  60. package/dist/web/shared-layout.d.ts +46 -0
  61. package/dist/web/shared-layout.d.ts.map +1 -0
  62. package/dist/web/shared-layout.js +441 -0
  63. package/dist/web/shared-layout.js.map +1 -0
  64. package/dist/web/size.d.ts +59 -0
  65. package/dist/web/size.d.ts.map +1 -0
  66. package/dist/web/size.js +312 -0
  67. package/dist/web/size.js.map +1 -0
  68. package/dist/web/style.d.ts +12 -0
  69. package/dist/web/style.d.ts.map +1 -0
  70. package/dist/web/style.js +131 -0
  71. package/dist/web/style.js.map +1 -0
  72. package/dist/web/types.d.ts +6 -5
  73. package/dist/web/types.d.ts.map +1 -1
  74. package/dist/web/types.js +2 -8
  75. package/dist/web/types.js.map +1 -1
  76. package/dist/web/value.d.ts +34 -1
  77. package/dist/web/value.d.ts.map +1 -1
  78. package/dist/web/value.js +91 -0
  79. package/dist/web/value.js.map +1 -1
  80. package/dist/web/viewport.d.ts +34 -0
  81. package/dist/web/viewport.d.ts.map +1 -0
  82. package/dist/web/viewport.js +275 -0
  83. package/dist/web/viewport.js.map +1 -0
  84. package/dist/web/vue/index.d.ts +8 -2
  85. package/dist/web/vue/index.d.ts.map +1 -1
  86. package/dist/web/vue/index.js +173 -8
  87. package/dist/web/vue/index.js.map +1 -1
  88. package/package.json +8 -2
  89. package/src/web/compose.ts +38 -6
  90. package/src/web/curve.ts +6 -1
  91. package/src/web/diagnostics.ts +121 -0
  92. package/src/web/drag.ts +8 -13
  93. package/src/web/geometry.ts +40 -0
  94. package/src/web/layout.ts +207 -0
  95. package/src/web/plan.ts +44 -17
  96. package/src/web/pointer.ts +336 -0
  97. package/src/web/press.ts +8 -11
  98. package/src/web/properties.ts +76 -0
  99. package/src/web/public.ts +66 -1
  100. package/src/web/runtime.ts +843 -42
  101. package/src/web/scene.ts +76 -0
  102. package/src/web/scope.ts +315 -0
  103. package/src/web/scroll.ts +7 -5
  104. package/src/web/shared-layout.ts +551 -0
  105. package/src/web/size.ts +368 -0
  106. package/src/web/style.ts +170 -0
  107. package/src/web/types.ts +14 -12
  108. package/src/web/value.ts +118 -4
  109. package/src/web/viewport.ts +316 -0
  110. package/src/web/vue/index.ts +175 -10
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.6 release candidate](https://github.com/rafaelaugustos/jolt/releases/tag/v0.1.0-rc.6) adds Web motion values, continuous springs, drag/snap, numeric mappings, geometry refresh and scroll, plus native live paint, seekable scenes, Flexbox sizing and body-to-body springs. The preview has **74 examples in English, Portuguese, Spanish and Simplified Chinese**. Install `@rafaelaugusto/jolt@0.1.0-rc.6` and rebuild native apps; external native properties also need matching `@rafaelaugusto/jolt-native@0.1.0-rc.6`. [Stable-release acceptance](https://jolt.rafaelaugusto.dev/guide/not-there-yet) remains in progress.
34
+ The [0.1.0-rc.7 release candidate](https://github.com/rafaelaugustos/jolt/releases/tag/v0.1.0-rc.7) adds Web colors and borders, intrinsic size and FLIP, seekable scenes, pointer/viewport helpers, owned scopes and continuous Vue setup, top-layer overlay geometry, shared elements and integration diagnostics. Native execution keeps the RC.6 behavior. The preview has **74 examples in English, Portuguese, Spanish and Simplified Chinese**. Install `@rafaelaugusto/jolt@0.1.0-rc.7` and rebuild native apps; external native properties also need matching `@rafaelaugusto/jolt-native@0.1.0-rc.7`. [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.6**, 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.7**, 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,6 +1,7 @@
1
1
  import { type Point } from './curve.js';
2
2
  import { type Property } from './types.js';
3
- export type Pose = Record<Property, number>;
3
+ import { type TransformProperty } from './properties.js';
4
+ export type Pose = Record<TransformProperty, number> & Partial<Record<Property, number>>;
4
5
  export interface Contribution {
5
6
  property: Property;
6
7
  points: readonly Point[];
@@ -15,11 +16,13 @@ export declare function poseAt(entries: readonly Contribution[], rest: readonly
15
16
  export declare function formatPose(p: Pose, baseline: string): {
16
17
  transform: string;
17
18
  opacity: string;
19
+ paint: Record<string, string>;
18
20
  };
19
21
  export declare function compose(entries: readonly Contribution[], rest: readonly Rest[], baseline: string, maxKeyframes: number): {
20
22
  duration: number;
21
23
  frames: Keyframe[];
22
24
  transform: string;
23
25
  opacity: string;
26
+ paint: Record<string, string>;
24
27
  };
25
28
  //# sourceMappingURL=compose.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/web/compose.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAwC,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEhF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAC3C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;CAChB;AACD,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAWD,wBAAgB,MAAM,CACpB,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,IAAI,EAAE,SAAS,IAAI,EAAE,EACrB,MAAM,SAAI,EACV,IAAI,GAAE,MAAM,GAAG,OAAiB,GAC/B,IAAI,CAoBN;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM;IAEhD,SAAS;IACT,OAAO;EAEV;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,IAAI,EAAE,SAAS,IAAI,EAAE,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM;;YAoBF,QAAQ,EAAE;;;EA+F7B"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/web/compose.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAwC,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChF,OAAO,EAOL,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;AACxF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;CAChB;AACD,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAWD,wBAAgB,MAAM,CACpB,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,IAAI,EAAE,SAAS,IAAI,EAAE,EACrB,MAAM,SAAI,EACV,IAAI,GAAE,MAAM,GAAG,OAAiB,GAC/B,IAAI,CAuBN;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM;;;;EAkBnD;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,IAAI,EAAE,SAAS,IAAI,EAAE,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM;;YA2BF,QAAQ,EAAE;;;;EA+F7B"}
@@ -1,6 +1,7 @@
1
1
  import { sampleCurve } from '../core/sampling.js';
2
2
  import { sampled } from './curve.js';
3
3
  import { identity, multiplicative, properties } from './types.js';
4
+ import { isColor, isRadius, isTransform, colorCSS, cssName, radiusProperties, } from './properties.js';
4
5
  const tolerance = {
5
6
  x: 0.05,
6
7
  y: 0.05,
@@ -13,7 +14,9 @@ const clamp = (v) => Math.min(1, Math.max(0, v));
13
14
  export function poseAt(entries, rest, future = 0, side = 'right') {
14
15
  const pose = { x: 0, y: 0, rotate: 0, scaleX: 1, scaleY: 1, opacity: 1 };
15
16
  const add = (property, value) => {
16
- if (multiplicative(property))
17
+ if (!isTransform(property))
18
+ pose[property] = isColor(property) ? value : Math.max(0, value);
19
+ else if (multiplicative(property))
17
20
  pose[property] *= value;
18
21
  else
19
22
  pose[property] += value;
@@ -21,16 +24,29 @@ export function poseAt(entries, rest, future = 0, side = 'right') {
21
24
  for (const held of rest)
22
25
  add(held.property, held.value);
23
26
  for (const entry of entries)
24
- add(entry.property, sampled(entry.points, entry.time + (entry.paused ? 0 : future), entry.paused ? 'right' : side));
27
+ add(entry.property, sampled(entry.points, entry.time + (entry.paused ? 0 : future), entry.paused ? 'right' : side, entry.property));
25
28
  pose.opacity = clamp(pose.opacity);
26
29
  if (Object.values(pose).some((v) => !Number.isFinite(v)))
27
30
  throw new RangeError('Composed motion overflowed.');
28
31
  return pose;
29
32
  }
30
33
  export function formatPose(p, baseline) {
34
+ const paint = {};
35
+ for (const [name, value] of Object.entries(p)) {
36
+ const property = name;
37
+ if (value === undefined || isTransform(property) || isRadius(property))
38
+ continue;
39
+ paint[cssName(property)] = isColor(property) ? colorCSS(value) : `${value}px`;
40
+ }
41
+ for (const radius of radiusProperties) {
42
+ const x = p[`${radius}X`], y = p[`${radius}Y`];
43
+ if (x !== undefined || y !== undefined)
44
+ paint[cssName(radius)] = `${x ?? 0}px ${y ?? x ?? 0}px`;
45
+ }
31
46
  return {
32
47
  transform: `${baseline} translate(${p.x}px, ${p.y}px) rotate(${p.rotate}deg) scale(${p.scaleX}, ${p.scaleY})`,
33
48
  opacity: String(p.opacity),
49
+ paint,
34
50
  };
35
51
  }
36
52
  export function compose(entries, rest, baseline, maxKeyframes) {
@@ -42,6 +58,11 @@ export function compose(entries, rest, baseline, maxKeyframes) {
42
58
  offset: duration ? t / duration : 0,
43
59
  transform: transform(p),
44
60
  opacity: p.opacity,
61
+ // WAAPI dictionaries use IDL (camelCase) names, unlike style.setProperty.
62
+ ...Object.fromEntries(Object.entries(formatPose(p, baseline).paint).map(([name, value]) => [
63
+ name.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase()),
64
+ value,
65
+ ])),
45
66
  };
46
67
  };
47
68
  const final = poseAt(entries, rest, duration);
@@ -51,6 +72,7 @@ export function compose(entries, rest, baseline, maxKeyframes) {
51
72
  frames: [],
52
73
  transform: transform(final),
53
74
  opacity: String(final.opacity),
75
+ paint: formatPose(final, baseline).paint,
54
76
  };
55
77
  const knots = [
56
78
  ...new Set([
@@ -124,11 +146,11 @@ export function compose(entries, rest, baseline, maxKeyframes) {
124
146
  for (const offset of [...offsets].sort((a, b) => a - b))
125
147
  frames.push(frame(start + length * offset, offset === 1 ? 'left' : 'right'));
126
148
  const right = frame(end, 'right'), left = frames.at(-1);
127
- if (right.transform !== left.transform || right.opacity !== left.opacity)
149
+ if (JSON.stringify(right) !== JSON.stringify(left))
128
150
  frames.push(right);
129
151
  if (frames.length > maxKeyframes)
130
152
  throw new RangeError('Composition keyframe budget exceeded.');
131
153
  }
132
- return { duration, frames, transform: transform(final), opacity: String(final.opacity) };
154
+ return { duration, frames, ...formatPose(final, baseline) };
133
155
  }
134
156
  //# sourceMappingURL=compose.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/web/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAc,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAA;AAahF,MAAM,SAAS,GAAS;IACtB,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;CAChB,CAAA;AACD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAExD,MAAM,UAAU,MAAM,CACpB,OAAgC,EAChC,IAAqB,EACrB,MAAM,GAAG,CAAC,EACV,IAAI,GAAqB,OAAO;IAEhC,MAAM,IAAI,GAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IAC9E,MAAM,GAAG,GAAG,CAAC,QAAkB,EAAE,KAAa,EAAE,EAAE;QAChD,IAAI,cAAc,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAA;;YAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAA;IAC9B,CAAC,CAAA;IACD,KAAK,MAAM,IAAI,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACvD,KAAK,MAAM,KAAK,IAAI,OAAO;QACzB,GAAG,CACD,KAAK,CAAC,QAAQ,EACd,OAAO,CACL,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EACxC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC9B,CACF,CAAA;IACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAA;IACrD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAO,EAAE,QAAgB;IAClD,OAAO;QACL,SAAS,EAAE,GAAG,QAAQ,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,GAAG;QAC7G,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;KAC3B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,OAAgC,EAChC,IAAqB,EACrB,QAAgB,EAChB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAC/E,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,CAAO,EAAE,EAAE,CAC5B,GAAG,QAAQ,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,GAAG,CAAA;IACpG,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,IAAsB,EAAY,EAAE;QAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACxC,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YACvB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAA;IACH,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,IAAI,CAAC,QAAQ;QACX,OAAO;YACL,QAAQ;YACR,MAAM,EAAE,EAAgB;YACxB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC;YAC3B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;SAC/B,CAAA;IACH,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI,GAAG,CAAC;YACT,CAAC;YACD,QAAQ;YACR,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,CAAC,CAAC,MAAM;gBACN,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAC9E;SACF,CAAC;KACH,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACvB,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY;QAC7B,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAe,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,EACzB,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,EACf,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;QACtB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5B,uEAAuE;QACvE,qEAAqE;QACrE,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,OAAO;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;iBACtC,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ;gBACE,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAClD,OAAO,CACL,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAC7B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC5B;aACO,CACb,CAAA;YACH,MAAM,IAAI,GAAG,IAAI;iBACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;YACpD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YACvE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACpD,8EAA8E;gBAC9E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAClB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;oBACrB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;wBAC1B,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;wBACnC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC;4BAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;oBACnD,CAAC;gBACH,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC1C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM;oBACnC,GAAG,EAAE,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAC5C;iBACF,CAAC,CAAC,CAAA;gBACH,IAAI,MAAM,GAAG,CAAC,CAAA;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;oBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC3C,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAA;wBACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;4BACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gCAAE,IAAI,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,GAAG,CAAA;wBAChD,MAAM,IAAI,IAAI,CAAA;oBAChB,CAAC;gBACH,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YACpC,CAAC,CAAA;YACD,MAAM,MAAM,GAAG,WAAW,CAAC;gBACzB,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;gBAC9B,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;aAChF,CAAC,CAAA;YACF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU;gBACvC,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAA;YAC/D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,KAAK;gBAAE,IAAI,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACxE,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,EAC/B,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAA;QACvB,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;YACtE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,IAAI,MAAM,CAAC,MAAM,GAAG,YAAY;YAC9B,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;AAC1F,CAAC"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/web/compose.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import type { Track } from '../core/track.js';
2
+ import { type Property } from './properties.js';
2
3
  export interface Point {
3
4
  time: number;
4
5
  value: number;
5
6
  }
6
7
  /** Expand finite repeats once; duplicate times preserve authored/loop discontinuities. */
7
8
  export declare function flatten(track: Track, budget: number): Point[];
8
- export declare function sampled(points: readonly Point[], time: number, side?: 'left' | 'right'): number;
9
+ export declare function sampled(points: readonly Point[], time: number, side?: 'left' | 'right', property?: Property): number;
9
10
  //# sourceMappingURL=curve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"curve.d.ts","sourceRoot":"","sources":["../../src/web/curve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AACD,0FAA0F;AAC1F,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CAsB7D;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,GAAG,OAAiB,UAejC"}
1
+ {"version":3,"file":"curve.d.ts","sourceRoot":"","sources":["../../src/web/curve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AACD,0FAA0F;AAC1F,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CAsB7D;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,GAAG,OAAiB,EAChC,QAAQ,CAAC,EAAE,QAAQ,UAkBpB"}
package/dist/web/curve.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { mixValue } from './properties.js';
1
2
  /** Expand finite repeats once; duplicate times preserve authored/loop discontinuities. */
2
3
  export function flatten(track, budget) {
3
4
  if (!Number.isFinite(track.end) || track.end < 0)
@@ -23,7 +24,7 @@ export function flatten(track, budget) {
23
24
  }
24
25
  return points;
25
26
  }
26
- export function sampled(points, time, side = 'right') {
27
+ export function sampled(points, time, side = 'right', property) {
27
28
  let lo = 0, hi = points.length;
28
29
  while (lo < hi) {
29
30
  const mid = (lo + hi) >>> 1;
@@ -37,6 +38,9 @@ export function sampled(points, time, side = 'right') {
37
38
  if (lo === points.length)
38
39
  return points.at(-1).value;
39
40
  const a = points[lo - 1], b = points[lo];
40
- return a.value + (b.value - a.value) * ((time - a.time) / (b.time - a.time));
41
+ const p = (time - a.time) / (b.time - a.time);
42
+ return property
43
+ ? mixValue(property, a.value, b.value, p)
44
+ : a.value + (b.value - a.value) * p;
41
45
  }
42
46
  //# sourceMappingURL=curve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"curve.js","sourceRoot":"","sources":["../../src/web/curve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curve.js","sourceRoot":"","sources":["../../src/web/curve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { Property } from './types.js';
2
+ export type WebDiagnosticReason = 'claimed' | 'completed' | 'interrupted' | 'stopped' | 'released' | 'reduced-motion' | 'disposed' | 'adopted' | 'suspended' | 'resumed';
3
+ export interface WebDiagnosticEvent {
4
+ sequence: number;
5
+ time: number;
6
+ reason: WebDiagnosticReason;
7
+ owner?: number;
8
+ target?: number;
9
+ scope?: number;
10
+ property?: Property;
11
+ layer?: string;
12
+ }
13
+ export interface WebDiagnosticTarget {
14
+ id: number;
15
+ execution: string;
16
+ channels: {
17
+ property: Property;
18
+ layer?: string;
19
+ kind: 'animation' | 'value' | 'rest';
20
+ owner?: number;
21
+ paused?: boolean;
22
+ }[];
23
+ }
24
+ export interface WebDiagnosticSnapshot {
25
+ disposed: boolean;
26
+ resources: Record<string, number | boolean>;
27
+ targets: WebDiagnosticTarget[];
28
+ events: WebDiagnosticEvent[];
29
+ }
30
+ export interface WebDiagnostics {
31
+ /** Pull-only snapshot: no timers, observers or frame callbacks are installed. */
32
+ snapshot(): WebDiagnosticSnapshot;
33
+ clear(): void;
34
+ dispose(): void;
35
+ }
36
+ export interface WebDiagnosticsOptions {
37
+ development: true;
38
+ /** Ring-buffer capacity, 1–2000. Default 200. */
39
+ maxEvents?: number;
40
+ }
41
+ /** Stores numeric IDs only. Never keeps DOM, values or completed owners in history. */
42
+ export declare class DiagnosticCollector {
43
+ private read?;
44
+ private forget?;
45
+ private readonly ids;
46
+ private nextId;
47
+ private sequence;
48
+ private events;
49
+ private final?;
50
+ private ended;
51
+ readonly capacity: number;
52
+ constructor(options: WebDiagnosticsOptions, read?: (() => Omit<WebDiagnosticSnapshot, 'events'>) | undefined, forget?: (() => void) | undefined);
53
+ id(value: object): number;
54
+ record(event: Omit<WebDiagnosticEvent, 'sequence'>): void;
55
+ snapshot(): WebDiagnosticSnapshot;
56
+ end(): void;
57
+ handle(): WebDiagnostics;
58
+ }
59
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/web/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,WAAW,GACX,aAAa,GACb,SAAS,GACT,UAAU,GACV,gBAAgB,GAChB,UAAU,GACV,SAAS,GACT,WAAW,GACX,SAAS,CAAA;AACb,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,mBAAmB,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE;QACR,QAAQ,EAAE,QAAQ,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;QACpC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,OAAO,CAAA;KACjB,EAAE,CAAA;CACJ;AACD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;IAC3C,OAAO,EAAE,mBAAmB,EAAE,CAAA;IAC9B,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAC7B;AACD,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,QAAQ,IAAI,qBAAqB,CAAA;IACjC,KAAK,IAAI,IAAI,CAAA;IACb,OAAO,IAAI,IAAI,CAAA;CAChB;AACD,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,IAAI,CAAA;IACjB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,uFAAuF;AACvF,qBAAa,mBAAmB;IAU5B,OAAO,CAAC,IAAI,CAAC;IACb,OAAO,CAAC,MAAM,CAAC;IAVjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IACpD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,KAAK,CAAC,CAAuC;IACrD,OAAO,CAAC,KAAK,CAAQ;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,YACE,OAAO,EAAE,qBAAqB,EACtB,IAAI,CAAC,GAAE,MAAM,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,aAAA,EAClD,MAAM,CAAC,GAAE,MAAM,IAAI,aAAA,EAO5B;IACD,EAAE,CAAC,KAAK,EAAE,MAAM,UAOf;IACD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,QAKjD;IACD,QAAQ,IAAI,qBAAqB,CAYhC;IACD,GAAG,SAQF;IACD,MAAM,IAAI,cAAc,CAWvB;CACF"}
@@ -0,0 +1,72 @@
1
+ /** Stores numeric IDs only. Never keeps DOM, values or completed owners in history. */
2
+ export class DiagnosticCollector {
3
+ read;
4
+ forget;
5
+ ids = new WeakMap();
6
+ nextId = 0;
7
+ sequence = 0;
8
+ events = [];
9
+ final;
10
+ ended = false;
11
+ capacity;
12
+ constructor(options, read, forget) {
13
+ this.read = read;
14
+ this.forget = forget;
15
+ if (options?.development !== true)
16
+ throw new TypeError('Web diagnostics require development: true.');
17
+ this.capacity = options.maxEvents ?? 200;
18
+ if (!Number.isInteger(this.capacity) || this.capacity < 1 || this.capacity > 2000)
19
+ throw new RangeError('maxEvents must be an integer from 1 to 2000.');
20
+ }
21
+ id(value) {
22
+ let id = this.ids.get(value);
23
+ if (id === undefined) {
24
+ id = ++this.nextId;
25
+ this.ids.set(value, id);
26
+ }
27
+ return id;
28
+ }
29
+ record(event) {
30
+ if (this.ended)
31
+ return;
32
+ this.events.push({ sequence: ++this.sequence, ...event });
33
+ if (this.events.length > this.capacity)
34
+ this.events.splice(0, this.events.length - this.capacity);
35
+ }
36
+ snapshot() {
37
+ const data = this.read?.() ??
38
+ this.final ?? { disposed: true, resources: {}, targets: [] };
39
+ return {
40
+ ...data,
41
+ resources: { ...data.resources },
42
+ targets: data.targets.map((target) => ({
43
+ ...target,
44
+ channels: target.channels.map((channel) => ({ ...channel })),
45
+ })),
46
+ events: this.events.map((event) => ({ ...event })),
47
+ };
48
+ }
49
+ end() {
50
+ if (this.ended)
51
+ return;
52
+ this.final = this.read?.();
53
+ this.read = undefined;
54
+ this.ended = true;
55
+ const forget = this.forget;
56
+ this.forget = undefined;
57
+ forget?.();
58
+ }
59
+ handle() {
60
+ return {
61
+ snapshot: () => this.snapshot(),
62
+ clear: () => {
63
+ this.events = [];
64
+ },
65
+ dispose: () => {
66
+ this.end();
67
+ this.events = [];
68
+ },
69
+ };
70
+ }
71
+ }
72
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/web/diagnostics.ts"],"names":[],"mappings":"AAoDA,uFAAuF;AACvF,MAAM,OAAO,mBAAmB;IAUpB,IAAI;IACJ,MAAM;IAVC,GAAG,GAAG,IAAI,OAAO,EAAkB,CAAA;IAC5C,MAAM,GAAG,CAAC,CAAA;IACV,QAAQ,GAAG,CAAC,CAAA;IACZ,MAAM,GAAyB,EAAE,CAAA;IACjC,KAAK,CAAwC;IAC7C,KAAK,GAAG,KAAK,CAAA;IACZ,QAAQ,CAAQ;IACzB,YACE,OAA8B,EACtB,IAAkD,EAClD,MAAmB;oBADnB,IAAI;sBACJ,MAAM;QAEd,IAAI,OAAO,EAAE,WAAW,KAAK,IAAI;YAC/B,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAA;QACnE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAA;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI;YAC/E,MAAM,IAAI,UAAU,CAAC,8CAA8C,CAAC,CAAA;IACxE,CAAC;IACD,EAAE,CAAC,KAAa;QACd,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAA;YAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,CAAC,KAA2C;QAChD,IAAI,IAAI,CAAC,KAAK;YAAE,OAAM;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QACzD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ;YACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC7D,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,CAAC,KAAK,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QAC9D,OAAO;YACL,GAAG,IAAI;YACP,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACrC,GAAG,MAAM;gBACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;aAC7D,CAAC,CAAC;YACH,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;SACnD,CAAA;IACH,CAAC;IACD,GAAG;QACD,IAAI,IAAI,CAAC,KAAK;YAAE,OAAM;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,MAAM,EAAE,EAAE,CAAA;IACZ,CAAC;IACD,MAAM;QACJ,OAAO;YACL,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;YAClB,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,EAAE,CAAA;gBACV,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;YAClB,CAAC;SACF,CAAA;IACH,CAAC;CACF"}
@@ -66,7 +66,7 @@ export declare function dragOptions(options: WebDragOptions): {
66
66
  duration?: number;
67
67
  };
68
68
  };
69
- /** Screen deltas are supported only with an untransformed, unzoomed ancestor chain. */
69
+ /** Validate only ancestors participating in this rendered coordinate space. */
70
70
  export declare function assertDragSpace(target: HTMLElement, baselineIdentity: boolean): void;
71
71
  export declare function createDrag(target: HTMLElement, input: WebDragOptions, host: DragHost): {
72
72
  handle: {
@@ -1 +1 @@
1
- {"version":3,"file":"drag.d.ts","sourceRoot":"","sources":["../../src/web/drag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,CAAA;IACzB,qFAAqF;IACrF,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzE,kFAAkF;IAClF,IAAI,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAA;IACvD,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AACD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAA;IAC1E,MAAM,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IAC1C,mEAAmE;IACnE,MAAM,IAAI,IAAI,CAAA;IACd,OAAO,IAAI,IAAI,CAAA;CAChB;AACD,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAChD,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,cAAc,CAAA;IACzB,IAAI,IAAI,SAAS,CAAA;IACjB,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,OAAO,CAAA;IACf,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IACjF,MAAM,IAAI,IAAI,CAAA;IACd,OAAO,IAAI,IAAI,CAAA;IACf,QAAQ,IAAI,IAAI,CAAA;CACjB;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc;eAzBtC,OAAO;;;eAJA,MAAM;gBAAU,MAAM;cAAQ,MAAM;iBAAW,MAAM;;;YAE1D,SAAS,MAAM,EAAE;YAAM,SAAS,MAAM,EAAE;;;;;;;;;EAyDtD;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,QAmB7E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ;;;;4BA3ExB,OAAO,CAAC,IAAI,CAAC;;sBA+VtD;YAAE,QAAQ,EAAE,OAAO,CAAA;SAAE;;;;;;EAgBxC"}
1
+ {"version":3,"file":"drag.d.ts","sourceRoot":"","sources":["../../src/web/drag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,CAAA;IACzB,qFAAqF;IACrF,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzE,kFAAkF;IAClF,IAAI,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAA;IACvD,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AACD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAA;IAC1E,MAAM,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IAC1C,mEAAmE;IACnE,MAAM,IAAI,IAAI,CAAA;IACd,OAAO,IAAI,IAAI,CAAA;CAChB;AACD,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAChD,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,cAAc,CAAA;IACzB,IAAI,IAAI,SAAS,CAAA;IACjB,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,OAAO,CAAA;IACf,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IACjF,MAAM,IAAI,IAAI,CAAA;IACd,OAAO,IAAI,IAAI,CAAA;IACf,QAAQ,IAAI,IAAI,CAAA;CACjB;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc;eAzBtC,OAAO;;;eAJA,MAAM;gBAAU,MAAM;cAAQ,MAAM;iBAAW,MAAM;;;YAE1D,SAAS,MAAM,EAAE;YAAM,SAAS,MAAM,EAAE;;;;;;;;;EAyDtD;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,QAe7E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ;;;;4BAvExB,OAAO,CAAC,IAAI,CAAC;;sBAyVtD;YAAE,QAAQ,EAAE,OAAO,CAAA;SAAE;;;;;;EAgBxC"}
package/dist/web/drag.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { finite } from './value.js';
2
+ import { renderedAncestors, identityTransform } from './geometry.js';
2
3
  const clamp = (n, min = -Infinity, max = Infinity) => Math.min(max, Math.max(min, n));
3
4
  export function dragOptions(options) {
4
5
  if (!options || typeof options !== 'object')
@@ -30,21 +31,17 @@ export function dragOptions(options) {
30
31
  }
31
32
  return { ...options, axis, bounds, snap, spring: { ...options.spring } };
32
33
  }
33
- /** Screen deltas are supported only with an untransformed, unzoomed ancestor chain. */
34
+ /** Validate only ancestors participating in this rendered coordinate space. */
34
35
  export function assertDragSpace(target, baselineIdentity) {
35
36
  if (!baselineIdentity)
36
37
  throw new TypeError('Drag requires an identity static CSS transform baseline.');
37
38
  const view = target.ownerDocument.defaultView;
38
- let node = target;
39
- while (node) {
39
+ for (const node of renderedAncestors(target)) {
40
40
  const css = view.getComputedStyle(node);
41
41
  if ((css.zoom && css.zoom !== '1' && css.zoom !== 'normal') ||
42
42
  css.perspective !== 'none' ||
43
- (node !== target &&
44
- [css.transform, css.translate, css.rotate, css.scale].some((v) => v && v !== 'none')))
45
- throw new TypeError('Drag does not support transformed or zoomed ancestors.');
46
- const root = node.getRootNode();
47
- node = node.parentElement ?? (root.host || null);
43
+ (node !== target && !identityTransform(node, css)))
44
+ throw new TypeError('Drag does not support transformed or zoomed ancestors inside its rendered coordinate root. Use an untransformed drag surface inside a modal dialog/popover, or remove the affecting transform.');
48
45
  }
49
46
  }
50
47
  export function createDrag(target, input, host) {
@@ -84,13 +81,11 @@ export function createDrag(target, input, host) {
84
81
  target.ownerDocument !== document ||
85
82
  target.matches(':disabled'))
86
83
  return true;
87
- let node = target;
88
- while (node) {
84
+ for (const node of renderedAncestors(target)) {
89
85
  if (node.hasAttribute('inert') ||
90
86
  node.getAttribute('aria-disabled') === 'true' ||
91
87
  node.getAttribute('aria-busy') === 'true')
92
88
  return true;
93
- node = node.parentElement ?? (node.getRootNode().host || null);
94
89
  }
95
90
  return false;
96
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"drag.js","sourceRoot":"","sources":["../../src/web/drag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drag.js","sourceRoot":"","sources":["../../src/web/drag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** The DOM parent chain can continue beyond an element's rendered coordinate root. */
2
+ export declare function topLayer(element: Element): boolean;
3
+ /** Includes the top-layer root, whose own transform still affects descendants. */
4
+ export declare function renderedAncestors(target: Element): Generator<Element>;
5
+ export declare function identityTransform(element: Element, css: CSSStyleDeclaration): boolean;
6
+ //# sourceMappingURL=geometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/web/geometry.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAclD;AAED,kFAAkF;AAClF,wBAAiB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAOtE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAYrF"}
@@ -0,0 +1,36 @@
1
+ /** The DOM parent chain can continue beyond an element's rendered coordinate root. */
2
+ export function topLayer(element) {
3
+ if (element.matches(':modal') || element === element.ownerDocument.fullscreenElement)
4
+ return true;
5
+ try {
6
+ if (element.matches(':popover-open'))
7
+ return true;
8
+ }
9
+ catch {
10
+ /* Older engines have no popover selector. */
11
+ }
12
+ // Discrete overlay transitions can retain top-layer placement during closing.
13
+ return (element.ownerDocument
14
+ .defaultView.getComputedStyle(element)
15
+ .getPropertyValue('overlay') === 'auto');
16
+ }
17
+ /** Includes the top-layer root, whose own transform still affects descendants. */
18
+ export function* renderedAncestors(target) {
19
+ let node = target;
20
+ while (node) {
21
+ yield node;
22
+ if (topLayer(node))
23
+ return;
24
+ node = node.parentElement ?? node.getRootNode().host ?? null;
25
+ }
26
+ }
27
+ export function identityTransform(element, css) {
28
+ const view = element.ownerDocument.defaultView;
29
+ const matrix = new view.DOMMatrixReadOnly(css.transform === 'none' ? undefined : css.transform);
30
+ return (matrix.isIdentity &&
31
+ (css.translate === 'none' ||
32
+ css.translate.split(/\s+/).every((v) => parseFloat(v) === 0)) &&
33
+ (css.rotate === 'none' || /^(?:z\s+)?0(?:deg|rad|turn|grad)?$/.test(css.rotate)) &&
34
+ (css.scale === 'none' || css.scale.split(/\s+/).every((v) => Number(v) === 1)));
35
+ }
36
+ //# sourceMappingURL=geometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/web/geometry.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,UAAU,QAAQ,CAAC,OAAgB;IACvC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,iBAAiB;QAClF,OAAO,IAAI,CAAA;IACb,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IACD,8EAA8E;IAC9E,OAAO,CACL,OAAO,CAAC,aAAa;SAClB,WAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC;SACtC,gBAAgB,CAAC,SAAS,CAAC,KAAK,MAAM,CAC1C,CAAA;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,SAAS,CAAC,CAAC,iBAAiB,CAAC,MAAe;IAChD,IAAI,IAAI,GAAmB,MAAM,CAAA;IACjC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,CAAA;QACV,IAAI,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAM;QAC1B,IAAI,GAAG,IAAI,CAAC,aAAa,IAAK,IAAI,CAAC,WAAW,EAAiB,CAAC,IAAI,IAAI,IAAI,CAAA;IAC9E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,GAAwB;IAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,WAA0C,CAAA;IAC7E,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,CACvC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CACrD,CAAA;IACD,OAAO,CACL,MAAM,CAAC,UAAU;QACjB,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM;YACvB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,oCAAoC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChF,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAC/E,CAAA;AACH,CAAC"}