@rafaelaugusto/jolt 0.1.0-rc.13 → 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.
- package/README.md +2 -2
- package/dist/core/drop.d.ts +34 -1
- package/dist/core/drop.d.ts.map +1 -1
- package/dist/core/drop.js +93 -8
- package/dist/core/drop.js.map +1 -1
- package/dist/core/loading.d.ts +125 -0
- package/dist/core/loading.d.ts.map +1 -0
- package/dist/core/loading.js +119 -0
- package/dist/core/loading.js.map +1 -0
- package/dist/core/preset-recipe.d.ts +2 -2
- package/dist/core/preset-recipe.d.ts.map +1 -1
- package/dist/core/preset-recipe.js +3 -1
- package/dist/core/preset-recipe.js.map +1 -1
- package/dist/core/text-pieces.d.ts +18 -0
- package/dist/core/text-pieces.d.ts.map +1 -0
- package/dist/core/text-pieces.js +43 -0
- package/dist/core/text-pieces.js.map +1 -0
- package/dist/drag.d.ts +7 -1
- package/dist/drag.d.ts.map +1 -1
- package/dist/drag.js +72 -37
- package/dist/drag.js.map +1 -1
- package/dist/drop-zones.d.ts +1 -1
- package/dist/drop-zones.d.ts.map +1 -1
- package/dist/drop-zones.js +2 -0
- package/dist/drop-zones.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +7 -2
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +2 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +17 -15
- package/dist/loader.js.map +1 -1
- package/dist/reveal.d.ts.map +1 -1
- package/dist/reveal.js +4 -3
- package/dist/reveal.js.map +1 -1
- package/dist/shimmer.d.ts.map +1 -1
- package/dist/shimmer.js +6 -4
- package/dist/shimmer.js.map +1 -1
- package/dist/web/drag.d.ts +8 -0
- package/dist/web/drag.d.ts.map +1 -1
- package/dist/web/drag.js +68 -14
- package/dist/web/drag.js.map +1 -1
- package/dist/web/drop-zones.d.ts +2 -2
- package/dist/web/drop-zones.d.ts.map +1 -1
- package/dist/web/drop-zones.js +21 -4
- package/dist/web/drop-zones.js.map +1 -1
- package/dist/web/loading.d.ts +2 -1
- package/dist/web/loading.d.ts.map +1 -1
- package/dist/web/loading.js +19 -15
- package/dist/web/loading.js.map +1 -1
- package/dist/web/pointer.d.ts +2 -0
- package/dist/web/pointer.d.ts.map +1 -1
- package/dist/web/pointer.js +13 -0
- package/dist/web/pointer.js.map +1 -1
- package/dist/web/public.d.ts +1 -1
- package/dist/web/public.d.ts.map +1 -1
- package/dist/web/public.js.map +1 -1
- package/dist/web/reveal.d.ts.map +1 -1
- package/dist/web/reveal.js +4 -3
- package/dist/web/reveal.js.map +1 -1
- package/dist/web/text-effect.d.ts.map +1 -1
- package/dist/web/text-effect.js +10 -16
- package/dist/web/text-effect.js.map +1 -1
- package/package.json +12 -3
- package/platforms/android/java/org/rafaelaugusto/jolt/PointerInput.java +26 -4
- package/src/core/drop.ts +123 -5
- package/src/core/loading.ts +172 -0
- package/src/core/preset-recipe.ts +6 -2
- package/src/core/text-pieces.ts +52 -0
- package/src/drag.ts +81 -38
- package/src/drop-zones.ts +13 -3
- package/src/engine.ts +8 -3
- package/src/index.ts +3 -0
- package/src/loader.ts +23 -20
- package/src/reveal.ts +4 -3
- package/src/shimmer.ts +6 -4
- package/src/web/drag.ts +70 -12
- package/src/web/drop-zones.ts +31 -6
- package/src/web/loading.ts +38 -17
- package/src/web/pointer.ts +14 -0
- package/src/web/public.ts +3 -0
- package/src/web/reveal.ts +7 -8
- package/src/web/text-effect.ts +20 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-effect.js","sourceRoot":"","sources":["../../src/web/text-effect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text-effect.js","sourceRoot":"","sources":["../../src/web/text-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,UAAU,IAAI,MAAM,GAErB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,GAGX,MAAM,aAAa,CAAA;AA2BpB,MAAM,MAAM,GAAG,IAAI,OAAO,EAAuB,CAAA;AACjD,MAAM,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAA;AACrD,MAAM,UAAU,GAAG;IACjB,aAAa;IACb,WAAW;IACX,aAAa;IACb,YAAY;IACZ,cAAc;IACd,cAAc;IACd,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,cAAc;IACd,sBAAsB;IACtB,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,eAAe;IACf,WAAW;IACX,UAAU;IACV,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,cAAc;CACf,CAAA;AAED,SAAS,MAAM,CAAC,MAAmB,EAAE,IAAgB;IACnD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CACzE,CAAA;IACD,IACE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;QACzC,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,MAAM,CAAC,iBAAiB;QACxB,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC;QAEpD,MAAM,IAAI,SAAS,CACjB,yHAAyH,CAC1H,CAAA;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACzC,IACE,GAAG,CAAC,WAAW,KAAK,eAAe;QACnC,GAAG,CAAC,OAAO,KAAK,QAAQ;QACxB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM;QAE/B,MAAM,IAAI,SAAS,CACjB,+EAA+E,CAChF,CAAA;IACH,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC1D,IACE,CAAC,MAAM,CAAC,IAAI;gBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;gBACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;gBACzB,MAAM,CAAC,CAAC,IAAI,CAAC;gBACb,MAAM,CAAC,CAAC,IAAI,CAAC;gBAEb,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;QAC5C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,MAAM,IAAI,GAAI,KAAK,CAAC,CAAC,CAAsB,EAAE,IAAI,IAAI,EAAE,CAAA;IACvD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,kBAAkB;QAC7C,MAAM,IAAI,UAAU,CAAC,6CAA6C,CAAC,CAAA;IACrE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAqB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AACrE,CAAC;AAED,6FAA6F;AAC7F,SAAS,IAAI,CACX,MAAmB,EACnB,IAAY,EACZ,IAAsB,EACtB,KAAc,EACd,IAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAY,EACrC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAC9B,MAAM,GAAG,MAAM,CAAC,YAAY,CAAA;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAA;IAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,EAC/C,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,EAAE,EAC/C,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,EAAE,CAAA;IAC1C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7C,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;IAChC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,IAAI,CAAA;IAChC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAA;IAClC,MAAM,SAAS,GAAe,EAAE,CAAA;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;IACzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAAE,SAAQ;QACpC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QACjC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,SAAQ;YACzC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,EACnD,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YACnD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAA;YAC1B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,iHAAiH,KAAK,aAAa,MAAM,uBAAuB,CAAA;YACxL,KAAK,MAAM,QAAQ,IAAI,UAAU;gBAC/B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAA;YACrE,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;YAC/B,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,CAAA;YAC3D,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;YACzC,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAA;YACjD,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,CAAC,KAAK,CAAA;YACnH,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACrB,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO;gBACP,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAC5C,CAAC;AAED,SAAS,QAAQ,CACf,MAAmB,EACnB,QAAgB,EAChB,MAAqB,EACrB,KAAa,EACb,QAAgB,EAChB,IAAgB,EAChB,WAA0B;IAE1B,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EACrC,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,GAAG,GAAmB,EAAE,CAAA;IAC9B,IAAI,SAAsC,CAAA;IAC1C,IAAI,KAAyB,CAAA;IAC7B,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAAE,OAAO,EAAE,CAAA;QACxD,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,KAAK,CAAC,MAAM,EAAE,CAAA;QAC1C,MAAM,CAAC,OAAO,EAAE,CAAA;QAChB,WAAW,EAAE,OAAO,EAAE,CAAA;QACtB,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC,CAAA;IACD,IAAI,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAC9B,MAAM,GAAG,MAAM,CAAC,YAAY,CAAA;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAA;QAC/C,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAChD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QAClC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAA;QACpD,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACjC,MAAM,MAAM,GAAmB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;YACrD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5C,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC,CAAA;YACH,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ;gBACvC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;YACjD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QAClD,CAAC,CAAC,CAAA;QACF,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAC1E,KAAK,GAAG;YACN,IAAI;YACJ,SAAS;YACT,QAAQ;gBACN,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;gBAC1D,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;gBACpC,wEAAwE;gBACxE,qEAAqE;gBACrE,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,MAAM,KAAK,GAAG,CAAC,OAAoB,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE;oBACpE,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;oBAC1C,MAAM,MAAM,GACV,GAAG,CAAC,SAAS,KAAK,MAAM;wBACtB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;oBAC/C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,EACnC,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;oBACvC,IAAI,OAAO,GAAG,KAAK;wBAAE,OAAM;oBAC3B,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC5B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ;4BAAE,KAAK,CAAC,KAAoB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;oBAC/E,CAAC;yBAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC/B,IAAI,EAAE,KAAK,GAAG,IAAI;4BAChB,MAAM,IAAI,UAAU,CAClB,qGAAqG,CACtG,CAAA;wBACH,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAA;wBACpD,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,KAAK,CAAA;wBAC5C,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;wBACrC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACzB,CAAC;gBACH,CAAC,CAAA;gBACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBACpB,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC;SACF,CAAA;QACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACzB,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;iBAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;iBACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC/B,IAAI,CAAC,EAAE,CAAC,CAAA;YACX,IACE,CAAC,MAAM,CAAC,WAAW;gBACnB,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,QAAQ;gBACtC,IAAI,KAAK,QAAQ;gBACjB,CAAC,MAAM,CAAC,IAAI,EAAE;gBACd,MAAM,CAAC,WAAW,KAAK,KAAK;gBAC5B,MAAM,CAAC,YAAY,KAAK,MAAM;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI;gBAE3C,SAAS,EAAE,IAAI,EAAE,CAAA;QACrB,CAAC,CAAA;QACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACnD,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACjF,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACtB,GAAG,CAAC,IAAI,CACN,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,EAC3B,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAC1B,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,EAAE,IAAI,EAAE,CAAA;QACjB,MAAM,EAAE,CAAA;QACR,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAmB,EACnB,OAAuB,EACvB,IAAgB;IAEhB,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;IACnE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,QAAQ,CAAA;IACjC,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,MAAM;QAClC,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,eAAe,CAAC,CAAA;IACvE,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,cAAc,CAAC,CAAA;IACnE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,YAAY,CAAC,CAAA;IAC5D,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;IAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;IACxF,MAAM,KAAK,GAAW,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EAAE,WAAW,CAChB,GAAG,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,iBAAiB,CACf;YACE,QAAQ;YACR,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;YACrD,IAAI,EAAE,SAAS;SAChB,EACD,GAAG,EACH,CAAC,CACF,EACD,CAAC,EACD,IAAI,CAAC,QAAQ,EAAE,CAChB;QACD,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC5C,CAAC,CAAC,CAAA;IACH,OAAO,QAAQ,CACb,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,CAAC,OAAO,CAAC,KAAK,CAAC,EACf,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAC7C,IAAI,CACL,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,MAAmB,EACnB,KAAsB,EACtB,OAAuB,EACvB,IAAgB;IAEhB,aAAa,CAAC,OAAO,EAAE;QACrB,QAAQ;QACR,UAAU;QACV,QAAQ;QACR,SAAS;QACT,OAAO;QACP,WAAW;QACX,SAAS;KACV,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IACjF,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,EAAE,cAAc,CAAC,EAChE,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,YAAY,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,EAClC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC;QACvD,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAA;IAC/D,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU;QACtE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAA;IACxD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS;QACvE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAA;IACtD,IACE,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;QAEtD,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,CAAA;IAClF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,kBAAkB;QACzE,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAA;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,MAAM,IAAI,GACR,SAAS,KAAK,MAAM;QACpB,CAAC,SAAS,KAAK,MAAM;YACnB,OAAO,KAAK,KAAK,QAAQ;YACzB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzB,KAAK,GAAG,QAAQ,CAAC;QACjB,CAAC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC,CAAA;IACP,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAA;IACxC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,CAAA;IAC7B,MAAM,GAAG,GAAG,IAAI,CACd,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAC9B,IAAI,CACL,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;IACxC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAA;IAChF,iFAAiF;IACjF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAChB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;;QACvD,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;IACnE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC1C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACjC,IAAI,MAAM,CAAC,QAAQ;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACtF,MAAM,MAAM,GACV,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAA;IAC9E,MAAM,KAAK,GAAW,EAAE,CAAA;IACxB,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAC9B,WAAW,CACT,GAAG,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,iBAAiB,CACf,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAClE,GAAG,EACH,CAAC,CACF,EACD,CAAC,EACD,IAAI,CAAC,QAAQ,EAAE,CAChB,CAAA;IACH,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACrE,IAAI,KAAK,KAAK,SAAS;YACrB,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;gBACnB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5C,CAAC,CAAA;IACN,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC;YAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAChD,CAAC,CAAA;IACJ,CAAC;;QACC,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,KAAK,KAAK,SAAS;gBAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;;gBAEhD,KAAK,CAAC,IAAI,CAAC;oBACT,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;oBACnB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC;oBAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;iBAChD,CAAC,CAAA;QACN,CAAC;IACH,OAAO,QAAQ,CACb,MAAM,EACN,IAAI,EACJ,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,EACnC,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAC7C,IAAI,EACJ,OAAO,CACR,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rafaelaugusto/jolt",
|
|
3
|
-
"version": "0.1.0-rc.
|
|
3
|
+
"version": "0.1.0-rc.14",
|
|
4
4
|
"description": "Motion for NativeScript and the Web: presets, springs, keyframes and stagger.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nativescript",
|
|
@@ -185,11 +185,14 @@
|
|
|
185
185
|
"format": "prettier --write .",
|
|
186
186
|
"format:check": "prettier --check .",
|
|
187
187
|
"docs:dev": "vitepress dev docs",
|
|
188
|
-
"docs:build": "vitepress build docs",
|
|
188
|
+
"docs:build": "node --max-old-space-size=1280 node_modules/vitepress/bin/vitepress.js build docs",
|
|
189
189
|
"docs:preview": "vitepress preview docs",
|
|
190
190
|
"prepack": "npm run build",
|
|
191
191
|
"docs:check-media": "node scripts/check-docs-media.mjs && node scripts/check-motion-recipes.mjs && npm run docs:check-playground",
|
|
192
192
|
"docs:test-site": "node scripts/review-motion-site.mjs",
|
|
193
|
+
"media:upload": "node scripts/media.mjs upload",
|
|
194
|
+
"media:pull": "node scripts/media.mjs pull",
|
|
195
|
+
"media:verify": "node scripts/media.mjs verify",
|
|
193
196
|
"web:typecheck": "tsc -p tsconfig.web.json --noEmit",
|
|
194
197
|
"web:runtime": "node benchmarks/web-runtime/server.mjs",
|
|
195
198
|
"web:runtime:typecheck": "tsc -p benchmarks/web-runtime/tsconfig.json",
|
|
@@ -252,7 +255,8 @@
|
|
|
252
255
|
"web:frameworks:test": "playwright test -c benchmarks/web-frameworks/playwright.config.mjs",
|
|
253
256
|
"swiftui:generate": "node scripts/generate-swiftui-definitions.mjs",
|
|
254
257
|
"swiftui:check": "node scripts/generate-swiftui-definitions.mjs --check",
|
|
255
|
-
"swiftui:test": "swift test"
|
|
258
|
+
"swiftui:test": "swift test",
|
|
259
|
+
"swift:package": "node scripts/swift-package.mjs"
|
|
256
260
|
},
|
|
257
261
|
"peerDependencies": {
|
|
258
262
|
"@angular/core": "^22.2.4",
|
|
@@ -317,5 +321,10 @@
|
|
|
317
321
|
"android": "8.9.0",
|
|
318
322
|
"ios": "8.9.0"
|
|
319
323
|
}
|
|
324
|
+
},
|
|
325
|
+
"overrides": {
|
|
326
|
+
"vitepress": {
|
|
327
|
+
"vite": "6.4.6"
|
|
328
|
+
}
|
|
320
329
|
}
|
|
321
330
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
package org.rafaelaugusto.jolt;
|
|
2
2
|
|
|
3
3
|
import android.app.Activity;
|
|
4
|
+
import android.content.Context;
|
|
4
5
|
import android.graphics.Matrix;
|
|
5
6
|
import android.graphics.Rect;
|
|
7
|
+
import android.hardware.input.InputManager;
|
|
6
8
|
import android.view.*;
|
|
7
9
|
import android.view.accessibility.AccessibilityEvent;
|
|
8
10
|
import java.lang.ref.WeakReference;
|
|
@@ -18,6 +20,7 @@ public final class PointerInput {
|
|
|
18
20
|
private Listener listener;
|
|
19
21
|
private Hub hub;
|
|
20
22
|
private boolean active;
|
|
23
|
+
private int device = -1;
|
|
21
24
|
private float lastX, lastY;
|
|
22
25
|
public PointerInput(Activity activity, View target, Listener listener) {
|
|
23
26
|
Window window = activity.getWindow();
|
|
@@ -27,16 +30,19 @@ public final class PointerInput {
|
|
|
27
30
|
}
|
|
28
31
|
this.target = new WeakReference<>(target); this.listener = listener; this.hub = current;
|
|
29
32
|
current.inputs.add(this);
|
|
33
|
+
current.watch();
|
|
30
34
|
}
|
|
31
35
|
private void reset() {
|
|
32
36
|
if (active && listener != null) listener.onPoint(0, 0, 0, 0, false);
|
|
33
37
|
active = false;
|
|
38
|
+
device = -1;
|
|
34
39
|
}
|
|
35
40
|
private void observe(MotionEvent event) {
|
|
36
41
|
if (listener == null) return;
|
|
37
42
|
int tool = event.getToolType(0), action = event.getActionMasked();
|
|
38
43
|
if (tool != MotionEvent.TOOL_TYPE_MOUSE && tool != MotionEvent.TOOL_TYPE_STYLUS) { reset(); return; }
|
|
39
44
|
if (action == MotionEvent.ACTION_HOVER_EXIT || action == MotionEvent.ACTION_CANCEL || (tool == MotionEvent.TOOL_TYPE_STYLUS && action != MotionEvent.ACTION_HOVER_MOVE && action != MotionEvent.ACTION_HOVER_ENTER)) { reset(); return; }
|
|
45
|
+
device = event.getDeviceId();
|
|
40
46
|
lastX = event.getX(); lastY = event.getY();
|
|
41
47
|
sample(lastX, lastY);
|
|
42
48
|
}
|
|
@@ -58,7 +64,7 @@ public final class PointerInput {
|
|
|
58
64
|
if (!forward.invert(inverse)) { reset(); return; }
|
|
59
65
|
float[] point = {x, y}; inverse.mapPoints(point);
|
|
60
66
|
Rect visible = new Rect();
|
|
61
|
-
if (view.getWidth() <= 0 || view.getHeight() <= 0 || !view.
|
|
67
|
+
if (view.getWidth() <= 0 || view.getHeight() <= 0 || !view.getGlobalVisibleRect(visible) || !visible.contains((int)x, (int)y) || point[0] < 0 || point[1] < 0 || point[0] > view.getWidth() || point[1] > view.getHeight()) { reset(); return; }
|
|
62
68
|
double density = view.getResources().getDisplayMetrics().density;
|
|
63
69
|
active = true;
|
|
64
70
|
listener.onPoint((point[0] - view.getWidth()/2.0)/density, (point[1] - view.getHeight()/2.0)/density, view.getWidth()/density, view.getHeight()/density, true);
|
|
@@ -69,6 +75,7 @@ public final class PointerInput {
|
|
|
69
75
|
if (previous == null) return;
|
|
70
76
|
previous.inputs.remove(this);
|
|
71
77
|
if (previous.inputs.isEmpty()) {
|
|
78
|
+
previous.release();
|
|
72
79
|
Window window = previous.window.get();
|
|
73
80
|
if (window != null) {
|
|
74
81
|
if (window.getCallback() == previous) window.setCallback(previous.delegate);
|
|
@@ -76,11 +83,26 @@ public final class PointerInput {
|
|
|
76
83
|
}
|
|
77
84
|
}
|
|
78
85
|
}
|
|
79
|
-
private static final class Hub implements Window.Callback {
|
|
86
|
+
private static final class Hub implements Window.Callback, InputManager.InputDeviceListener {
|
|
80
87
|
final WeakReference<Window> window;
|
|
81
88
|
final Window.Callback delegate;
|
|
82
89
|
final List<PointerInput> inputs = new ArrayList<>();
|
|
90
|
+
private InputManager devices;
|
|
83
91
|
Hub(Window window) { this.window = new WeakReference<>(window); this.delegate = window.getCallback(); }
|
|
92
|
+
void watch() {
|
|
93
|
+
Window current = window.get();
|
|
94
|
+
if (devices != null || inputs.isEmpty() || current == null) return;
|
|
95
|
+
devices = (InputManager)current.getContext().getSystemService(Context.INPUT_SERVICE);
|
|
96
|
+
if (devices != null) devices.registerInputDeviceListener(this, null);
|
|
97
|
+
}
|
|
98
|
+
void release() {
|
|
99
|
+
if (devices != null) devices.unregisterInputDeviceListener(this);
|
|
100
|
+
devices = null;
|
|
101
|
+
}
|
|
102
|
+
private void lost(int id) { for (PointerInput input : new ArrayList<>(inputs)) if (input.device == id) input.reset(); }
|
|
103
|
+
public void onInputDeviceAdded(int id) {}
|
|
104
|
+
public void onInputDeviceRemoved(int id) { lost(id); }
|
|
105
|
+
public void onInputDeviceChanged(int id) { if (InputDevice.getDevice(id) == null) lost(id); }
|
|
84
106
|
void observe(MotionEvent event) {
|
|
85
107
|
for (PointerInput input : new ArrayList<>(inputs)) {
|
|
86
108
|
try { input.observe(event); }
|
|
@@ -101,8 +123,8 @@ public final class PointerInput {
|
|
|
101
123
|
public void onWindowAttributesChanged(WindowManager.LayoutParams params) { delegate.onWindowAttributesChanged(params); }
|
|
102
124
|
public void onContentChanged() { delegate.onContentChanged(); }
|
|
103
125
|
public void onWindowFocusChanged(boolean focus) { if (!focus) for (PointerInput input : new ArrayList<>(inputs)) input.reset(); delegate.onWindowFocusChanged(focus); }
|
|
104
|
-
public void onAttachedToWindow() { delegate.onAttachedToWindow(); }
|
|
105
|
-
public void onDetachedFromWindow() { for (PointerInput input : new ArrayList<>(inputs)) input.reset(); delegate.onDetachedFromWindow(); }
|
|
126
|
+
public void onAttachedToWindow() { watch(); delegate.onAttachedToWindow(); }
|
|
127
|
+
public void onDetachedFromWindow() { release(); for (PointerInput input : new ArrayList<>(inputs)) input.reset(); delegate.onDetachedFromWindow(); }
|
|
106
128
|
public void onPanelClosed(int id, Menu menu) { delegate.onPanelClosed(id, menu); }
|
|
107
129
|
public boolean onSearchRequested() { return delegate.onSearchRequested(); }
|
|
108
130
|
public boolean onSearchRequested(SearchEvent event) { return delegate.onSearchRequested(event); }
|
package/src/core/drop.ts
CHANGED
|
@@ -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) | { dispose(): void } | { stop(): void }
|
|
14
28
|
export interface DropTarget<T> {
|
|
15
29
|
readonly id: string
|
|
@@ -18,11 +32,15 @@ export interface DropTarget<T> {
|
|
|
18
32
|
readonly priority?: number
|
|
19
33
|
/** Synchronous acceptance, evaluated again at the final release. */
|
|
20
34
|
readonly accept?: (event: DropEvent<T>) => boolean
|
|
35
|
+
/** Extra hit area outside the visual bounds: one value or per edge, 0–1,000. */
|
|
36
|
+
readonly padding?: number | DropPadding
|
|
21
37
|
}
|
|
22
38
|
export interface DropOptions<T> {
|
|
23
39
|
readonly targets: readonly DropTarget<T>[]
|
|
24
40
|
/** Axis-aligned visual bounds; overlap requires positive intersection area. */
|
|
25
41
|
hitTest?: 'center' | 'overlap'
|
|
42
|
+
/** Every drag move, after hit testing; never after cancellation or disposal. */
|
|
43
|
+
onMove?: (event: DropMoveEvent<T>) => void
|
|
26
44
|
onEnter?: (event: DropEvent<T>) => void
|
|
27
45
|
onLeave?: (event: DropEvent<T>) => void
|
|
28
46
|
onDrop?: (event: DropEvent<T>) => DropEffect | void
|
|
@@ -48,19 +66,71 @@ export interface DropHost<T> {
|
|
|
48
66
|
enabled(): boolean
|
|
49
67
|
cancelDrag(): void
|
|
50
68
|
error?(error: unknown): void
|
|
69
|
+
/** The source's current drag translation, to tell layout changes from movement. */
|
|
70
|
+
translation?(): { readonly x: number; readonly y: number }
|
|
71
|
+
/** Offset the drag translation so the source stays under the pointer. */
|
|
72
|
+
shift?(x: number, y: number): void
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export const MAX_DROP_PADDING = 1000
|
|
76
|
+
|
|
77
|
+
export function dropPadding(padding: number | DropPadding | undefined) {
|
|
78
|
+
const edges =
|
|
79
|
+
padding === undefined || typeof padding === 'number'
|
|
80
|
+
? {
|
|
81
|
+
top: padding ?? 0,
|
|
82
|
+
right: padding ?? 0,
|
|
83
|
+
bottom: padding ?? 0,
|
|
84
|
+
left: padding ?? 0,
|
|
85
|
+
}
|
|
86
|
+
: padding && typeof padding === 'object' && !Array.isArray(padding)
|
|
87
|
+
? {
|
|
88
|
+
top: padding.top ?? 0,
|
|
89
|
+
right: padding.right ?? 0,
|
|
90
|
+
bottom: padding.bottom ?? 0,
|
|
91
|
+
left: padding.left ?? 0,
|
|
92
|
+
}
|
|
93
|
+
: undefined
|
|
94
|
+
if (
|
|
95
|
+
!edges ||
|
|
96
|
+
(typeof padding === 'object' &&
|
|
97
|
+
Object.keys(padding).some(
|
|
98
|
+
(key) => !['top', 'right', 'bottom', 'left'].includes(key),
|
|
99
|
+
)) ||
|
|
100
|
+
!Object.values(edges).every(
|
|
101
|
+
(value) =>
|
|
102
|
+
typeof value === 'number' &&
|
|
103
|
+
Number.isFinite(value) &&
|
|
104
|
+
value >= 0 &&
|
|
105
|
+
value <= MAX_DROP_PADDING,
|
|
106
|
+
)
|
|
107
|
+
)
|
|
108
|
+
throw new RangeError(
|
|
109
|
+
`Drop padding must be finite and 0–${MAX_DROP_PADDING} on each top/right/bottom/left edge.`,
|
|
110
|
+
)
|
|
111
|
+
return edges
|
|
51
112
|
}
|
|
52
113
|
|
|
114
|
+
/** Padding extends the target before either policy; an empty target never hits. */
|
|
53
115
|
export function dropHits(
|
|
54
116
|
source: DropRect,
|
|
55
117
|
target: DropRect,
|
|
56
118
|
policy: 'center' | 'overlap',
|
|
119
|
+
padding?: number | DropPadding,
|
|
57
120
|
) {
|
|
121
|
+
const edges = dropPadding(padding)
|
|
58
122
|
if (
|
|
59
123
|
![source, target].every(
|
|
60
124
|
(r) => Object.values(r).every(Number.isFinite) && r.width > 0 && r.height > 0,
|
|
61
125
|
)
|
|
62
126
|
)
|
|
63
127
|
return false
|
|
128
|
+
target = {
|
|
129
|
+
x: target.x - edges.left,
|
|
130
|
+
y: target.y - edges.top,
|
|
131
|
+
width: target.width + edges.left + edges.right,
|
|
132
|
+
height: target.height + edges.top + edges.bottom,
|
|
133
|
+
}
|
|
64
134
|
if (policy === 'overlap')
|
|
65
135
|
return (
|
|
66
136
|
Math.min(source.x + source.width, target.x + target.width) >
|
|
@@ -109,14 +179,16 @@ export function createDropPolicy<T>(
|
|
|
109
179
|
throw new TypeError('Drop priority must be finite.')
|
|
110
180
|
if (target.accept !== undefined && typeof target.accept !== 'function')
|
|
111
181
|
throw new TypeError('Drop acceptance must be a synchronous function.')
|
|
182
|
+
const padding = dropPadding(target.padding)
|
|
112
183
|
ids.add(target.id)
|
|
113
|
-
return { ...target }
|
|
184
|
+
return { ...target, padding }
|
|
114
185
|
})
|
|
115
186
|
.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0))
|
|
116
187
|
const policy = options.hitTest ?? 'center'
|
|
117
188
|
if (!['center', 'overlap'].includes(policy))
|
|
118
189
|
throw new TypeError('Unknown drop hit-test policy.')
|
|
119
190
|
for (const callback of [
|
|
191
|
+
options.onMove,
|
|
120
192
|
options.onEnter,
|
|
121
193
|
options.onLeave,
|
|
122
194
|
options.onDrop,
|
|
@@ -130,6 +202,7 @@ export function createDropPolicy<T>(
|
|
|
130
202
|
generation = 0
|
|
131
203
|
let hovered: DropTarget<T> | undefined, accepted: DropTarget<T> | undefined
|
|
132
204
|
let effect: DropEffect | undefined
|
|
205
|
+
let anchor: { x: number; y: number } | undefined
|
|
133
206
|
const available = () => !disposed && !paused && host.enabled() && !!host.bounds(source)
|
|
134
207
|
const event = (
|
|
135
208
|
target: DropTarget<T>,
|
|
@@ -160,12 +233,34 @@ export function createDropPolicy<T>(
|
|
|
160
233
|
const rect = host.bounds(source)!
|
|
161
234
|
return targets.find((target) => {
|
|
162
235
|
const bounds = host.bounds(target.target)
|
|
163
|
-
return !!bounds && dropHits(rect, bounds, policy)
|
|
236
|
+
return !!bounds && dropHits(rect, bounds, policy, target.padding)
|
|
164
237
|
})
|
|
165
238
|
}
|
|
239
|
+
// The layout center is the visual center without the drag translation.
|
|
240
|
+
const layout = () => {
|
|
241
|
+
const rect = host.translation && host.bounds(source)
|
|
242
|
+
if (!rect) return undefined
|
|
243
|
+
const offset = host.translation!()
|
|
244
|
+
const point = {
|
|
245
|
+
x: rect.x + rect.width / 2 - offset.x,
|
|
246
|
+
y: rect.y + rect.height / 2 - offset.y,
|
|
247
|
+
}
|
|
248
|
+
return Number.isFinite(point.x) && Number.isFinite(point.y) ? point : undefined
|
|
249
|
+
}
|
|
250
|
+
const reanchor = () => {
|
|
251
|
+
const next = layout(),
|
|
252
|
+
previous = anchor
|
|
253
|
+
if (!next) return
|
|
254
|
+
anchor = next
|
|
255
|
+
if (!previous) return
|
|
256
|
+
const x = next.x - previous.x,
|
|
257
|
+
y = next.y - previous.y
|
|
258
|
+
if (Math.abs(x) > 0.01 || Math.abs(y) > 0.01) host.shift?.(-x, -y)
|
|
259
|
+
}
|
|
166
260
|
const cancel = () => {
|
|
167
261
|
generation++
|
|
168
262
|
active = false
|
|
263
|
+
anchor = undefined
|
|
169
264
|
try {
|
|
170
265
|
stopEffect()
|
|
171
266
|
} finally {
|
|
@@ -175,6 +270,7 @@ export function createDropPolicy<T>(
|
|
|
175
270
|
const commit = (target: DropTarget<T> | undefined, method: DropEvent<T>['method']) => {
|
|
176
271
|
const epoch = generation
|
|
177
272
|
active = false
|
|
273
|
+
anchor = undefined
|
|
178
274
|
hover(undefined)
|
|
179
275
|
if (epoch !== generation || !available()) return false
|
|
180
276
|
if (!target || !host.bounds(target.target)) {
|
|
@@ -271,7 +367,11 @@ export function createDropPolicy<T>(
|
|
|
271
367
|
refresh() {
|
|
272
368
|
guard(() => {
|
|
273
369
|
if (!available() || (accepted && !host.bounds(accepted.target))) cancel()
|
|
274
|
-
else if (active)
|
|
370
|
+
else if (active) {
|
|
371
|
+
const epoch = generation
|
|
372
|
+
reanchor()
|
|
373
|
+
if (epoch === generation && active) hover(find())
|
|
374
|
+
}
|
|
275
375
|
})
|
|
276
376
|
},
|
|
277
377
|
cancel,
|
|
@@ -299,11 +399,29 @@ export function createDropPolicy<T>(
|
|
|
299
399
|
begin: () =>
|
|
300
400
|
guard(() => {
|
|
301
401
|
cancel()
|
|
302
|
-
if (available())
|
|
402
|
+
if (available()) {
|
|
403
|
+
active = true
|
|
404
|
+
anchor = layout()
|
|
405
|
+
}
|
|
303
406
|
}),
|
|
304
407
|
move: () =>
|
|
305
408
|
guard(() => {
|
|
306
|
-
if (active)
|
|
409
|
+
if (!active) return
|
|
410
|
+
const epoch = generation
|
|
411
|
+
handle.refresh()
|
|
412
|
+
if (!active || epoch !== generation || !available() || !options.onMove) return
|
|
413
|
+
const bounds = host.bounds(source)!
|
|
414
|
+
options.onMove({
|
|
415
|
+
id: hovered?.id,
|
|
416
|
+
source,
|
|
417
|
+
bounds: {
|
|
418
|
+
x: bounds.x,
|
|
419
|
+
y: bounds.y,
|
|
420
|
+
width: bounds.width,
|
|
421
|
+
height: bounds.height,
|
|
422
|
+
},
|
|
423
|
+
method: 'drag',
|
|
424
|
+
})
|
|
307
425
|
}),
|
|
308
426
|
release: () => guard(() => (active ? commit(find(), 'drag') : false)),
|
|
309
427
|
}
|
|
@@ -0,0 +1,172 @@
|
|
|
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
|
+
|
|
7
|
+
export interface LoaderKind {
|
|
8
|
+
/** Copies drawn by one source item. */
|
|
9
|
+
readonly count: number
|
|
10
|
+
/** Item width and height as fractions of the loader's side. */
|
|
11
|
+
readonly width: number
|
|
12
|
+
readonly height: number
|
|
13
|
+
/** Each copy starts `duration / stagger` after the previous one. */
|
|
14
|
+
readonly stagger: number
|
|
15
|
+
readonly property: 'scale' | 'scaleY' | 'opacity'
|
|
16
|
+
/** Keyframes of the animated property, linear between `times` (fractions of a cycle). */
|
|
17
|
+
readonly values: readonly number[]
|
|
18
|
+
readonly times: readonly number[]
|
|
19
|
+
/** Item opacity when the property is not animated, including under reduced motion. */
|
|
20
|
+
readonly rest: number
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const shimmerDefinition = {
|
|
24
|
+
duration: 1500,
|
|
25
|
+
/** Web and SwiftUI: a white band painted over the content. */
|
|
26
|
+
highlight: {
|
|
27
|
+
/** CSS degrees: 90 runs left to right. */
|
|
28
|
+
angle: 100,
|
|
29
|
+
/** Percent positions of the band's stops. */
|
|
30
|
+
stops: [15, 50, 85],
|
|
31
|
+
/** White opacity at each stop. */
|
|
32
|
+
opacity: [0, 0.55, 0],
|
|
33
|
+
/** Horizontal travel in widths of the view, from the first to the last frame. */
|
|
34
|
+
travel: [-1, 1],
|
|
35
|
+
},
|
|
36
|
+
/** NativeScript iOS: a mask three widths wide dims the content outside the band. */
|
|
37
|
+
mask: { opacity: 0.35, from: [0, 0.125, 0.25], to: [0.75, 0.875, 1] },
|
|
38
|
+
} as const
|
|
39
|
+
|
|
40
|
+
export const loaderDefinition = {
|
|
41
|
+
style: 'dots' as LoaderStyle,
|
|
42
|
+
color: '#71717a',
|
|
43
|
+
/** Maximum side, fitted inside the target. */
|
|
44
|
+
size: 48,
|
|
45
|
+
duration: 1200,
|
|
46
|
+
kinds: {
|
|
47
|
+
dots: {
|
|
48
|
+
count: 3,
|
|
49
|
+
width: 0.2,
|
|
50
|
+
height: 0.2,
|
|
51
|
+
stagger: 5,
|
|
52
|
+
property: 'scale',
|
|
53
|
+
values: [0.35, 1, 0.35, 0.35],
|
|
54
|
+
times: [0, 0.3, 0.6, 1],
|
|
55
|
+
rest: 1,
|
|
56
|
+
},
|
|
57
|
+
bars: {
|
|
58
|
+
count: 5,
|
|
59
|
+
width: 0.12,
|
|
60
|
+
height: 0.75,
|
|
61
|
+
stagger: 5,
|
|
62
|
+
property: 'scaleY',
|
|
63
|
+
values: [0.35, 1, 0.35, 0.35],
|
|
64
|
+
times: [0, 0.3, 0.6, 1],
|
|
65
|
+
rest: 1,
|
|
66
|
+
},
|
|
67
|
+
ring: {
|
|
68
|
+
count: 12,
|
|
69
|
+
width: 0.16,
|
|
70
|
+
height: 0.16,
|
|
71
|
+
stagger: 12,
|
|
72
|
+
property: 'opacity',
|
|
73
|
+
values: [1, 0.2],
|
|
74
|
+
times: [0, 1],
|
|
75
|
+
rest: 0.35,
|
|
76
|
+
},
|
|
77
|
+
} satisfies Record<LoaderStyle, LoaderKind>,
|
|
78
|
+
/** The Web draws CSS boxes instead: percent sizes of the box and an eased pulse. */
|
|
79
|
+
css: {
|
|
80
|
+
dots: { width: 20, height: 20, radius: '50%' },
|
|
81
|
+
bars: { width: 12, height: 65, radius: '3px' },
|
|
82
|
+
ring: { diameter: 75, border: 3 },
|
|
83
|
+
pulse: 0.45,
|
|
84
|
+
stagger: 7,
|
|
85
|
+
ease: 'ease-in-out',
|
|
86
|
+
},
|
|
87
|
+
} as const
|
|
88
|
+
|
|
89
|
+
export const revealDefinition = { duration: 400, ease: 'easeInOut' } as const
|
|
90
|
+
|
|
91
|
+
export interface LoaderItem {
|
|
92
|
+
/** Centre in the loader's square, from its top-left corner. */
|
|
93
|
+
x: number
|
|
94
|
+
y: number
|
|
95
|
+
width: number
|
|
96
|
+
height: number
|
|
97
|
+
/** Degrees clockwise around the square's centre. */
|
|
98
|
+
rotate: number
|
|
99
|
+
scaleX: number
|
|
100
|
+
scaleY: number
|
|
101
|
+
opacity: number
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function keyframe(kind: LoaderKind, phase: number) {
|
|
105
|
+
const { times, values } = kind
|
|
106
|
+
for (let i = 1; i < times.length; i++)
|
|
107
|
+
if (phase <= times[i]!) {
|
|
108
|
+
const span = times[i]! - times[i - 1]!
|
|
109
|
+
const t = span > 0 ? (phase - times[i - 1]!) / span : 1
|
|
110
|
+
return values[i - 1]! + (values[i]! - values[i - 1]!) * t
|
|
111
|
+
}
|
|
112
|
+
return values[values.length - 1]!
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Every copy of a loader drawn in a `size` square. Without `elapsed`, the static pose
|
|
117
|
+
* shown under reduced motion. Copy `i` runs `i * duration / stagger` behind the first.
|
|
118
|
+
*/
|
|
119
|
+
export function loaderItems(
|
|
120
|
+
style: LoaderStyle,
|
|
121
|
+
size: number,
|
|
122
|
+
elapsed?: number,
|
|
123
|
+
duration: number = loaderDefinition.duration,
|
|
124
|
+
): LoaderItem[] {
|
|
125
|
+
const kind: LoaderKind = loaderDefinition.kinds[style]
|
|
126
|
+
const width = size * kind.width
|
|
127
|
+
const height = size * kind.height
|
|
128
|
+
return Array.from({ length: kind.count }, (_, i) => {
|
|
129
|
+
let value: number | undefined
|
|
130
|
+
if (elapsed !== undefined) {
|
|
131
|
+
const local = (elapsed - (i * duration) / kind.stagger) % duration
|
|
132
|
+
value = keyframe(kind, (local < 0 ? local + duration : local) / duration)
|
|
133
|
+
}
|
|
134
|
+
const scale = kind.property === 'opacity' ? 1 : (value ?? 1)
|
|
135
|
+
const ring = style === 'ring'
|
|
136
|
+
const angle = ring ? (360 / kind.count) * i : 0
|
|
137
|
+
const radians = (angle * Math.PI) / 180
|
|
138
|
+
const orbit = size / 2 - height / 2
|
|
139
|
+
return {
|
|
140
|
+
x: ring
|
|
141
|
+
? size / 2 + orbit * Math.sin(radians)
|
|
142
|
+
: width / 2 + (i * (size - width)) / (kind.count - 1),
|
|
143
|
+
y: ring ? size / 2 - orbit * Math.cos(radians) : size / 2,
|
|
144
|
+
width,
|
|
145
|
+
height,
|
|
146
|
+
rotate: angle,
|
|
147
|
+
scaleX: kind.property === 'scale' ? scale : 1,
|
|
148
|
+
scaleY: scale,
|
|
149
|
+
opacity: kind.property === 'opacity' ? (value ?? kind.rest) : kind.rest,
|
|
150
|
+
}
|
|
151
|
+
})
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/** Horizontal offset of the shimmer band, in widths of the view. */
|
|
155
|
+
export function shimmerOffset(
|
|
156
|
+
elapsed: number,
|
|
157
|
+
duration: number = shimmerDefinition.duration,
|
|
158
|
+
) {
|
|
159
|
+
const [from, to] = shimmerDefinition.highlight.travel
|
|
160
|
+
const local = elapsed % duration
|
|
161
|
+
return from + (to - from) * ((local < 0 ? local + duration : local) / duration)
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/** The radius that reaches the farthest corner of a box from `x`, `y`. */
|
|
165
|
+
export function revealRadius(width: number, height: number, x: number, y: number) {
|
|
166
|
+
return Math.max(
|
|
167
|
+
Math.hypot(x, y),
|
|
168
|
+
Math.hypot(width - x, y),
|
|
169
|
+
Math.hypot(x, height - y),
|
|
170
|
+
Math.hypot(width - x, height - y),
|
|
171
|
+
)
|
|
172
|
+
}
|
|
@@ -10,6 +10,8 @@ export type PortablePresetName =
|
|
|
10
10
|
| 'fadeInRight'
|
|
11
11
|
| 'zoomIn'
|
|
12
12
|
| 'popIn'
|
|
13
|
+
| 'flipInX'
|
|
14
|
+
| 'flipInY'
|
|
13
15
|
| 'fadeOut'
|
|
14
16
|
| 'fadeOutUp'
|
|
15
17
|
| 'fadeOutDown'
|
|
@@ -24,7 +26,7 @@ export interface PresetParameters {
|
|
|
24
26
|
/** Override all channels with a finite tween in milliseconds (including zero). */
|
|
25
27
|
duration?: number
|
|
26
28
|
}
|
|
27
|
-
type Channel = 'x' | 'y' | 'scale' | 'opacity'
|
|
29
|
+
type Channel = 'x' | 'y' | 'scale' | 'rotateX' | 'rotateY' | 'opacity'
|
|
28
30
|
export interface PresetRecipe {
|
|
29
31
|
keyframes: Partial<Record<Channel, number | readonly number[]>>
|
|
30
32
|
transition: Transition & Partial<Record<Channel, Transition>>
|
|
@@ -37,6 +39,8 @@ const names = new Set<string>([
|
|
|
37
39
|
'fadeInRight',
|
|
38
40
|
'zoomIn',
|
|
39
41
|
'popIn',
|
|
42
|
+
'flipInX',
|
|
43
|
+
'flipInY',
|
|
40
44
|
'fadeOut',
|
|
41
45
|
'fadeOutUp',
|
|
42
46
|
'fadeOutDown',
|
|
@@ -76,7 +80,7 @@ export function createPreset(
|
|
|
76
80
|
]),
|
|
77
81
|
) as PresetRecipe['keyframes']
|
|
78
82
|
const transition = { ...original.transition } as PresetRecipe['transition']
|
|
79
|
-
for (const channel of ['x', 'y', 'scale', 'opacity'] as const)
|
|
83
|
+
for (const channel of ['x', 'y', 'scale', 'rotateX', 'rotateY', 'opacity'] as const)
|
|
80
84
|
if (transition[channel]) transition[channel] = { ...transition[channel] }
|
|
81
85
|
const entering = !name.includes('Out')
|
|
82
86
|
const direction = parameters.direction
|