@mantou/gem 2.1.1 → 2.2.1
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/dist/gem.es.js +2082 -2153
- package/dist/gem.umd.js +25 -199
- package/elements/base/dialog.d.ts +1 -5
- package/elements/base/dialog.d.ts.map +1 -1
- package/elements/base/dialog.js +2 -6
- package/elements/base/dialog.js.map +1 -1
- package/elements/base/gesture.d.ts +6 -15
- package/elements/base/gesture.d.ts.map +1 -1
- package/elements/base/gesture.js +38 -34
- package/elements/base/gesture.js.map +1 -1
- package/elements/base/link.d.ts +1 -17
- package/elements/base/link.d.ts.map +1 -1
- package/elements/base/link.js +12 -37
- package/elements/base/link.js.map +1 -1
- package/elements/base/modal-factory.d.ts +48 -38
- package/elements/base/modal-factory.d.ts.map +1 -1
- package/elements/base/modal-factory.js +14 -14
- package/elements/base/modal-factory.js.map +1 -1
- package/elements/base/reflect.d.ts +1 -5
- package/elements/base/reflect.d.ts.map +1 -1
- package/elements/base/reflect.js +8 -13
- package/elements/base/reflect.js.map +1 -1
- package/elements/base/route.d.ts +17 -17
- package/elements/base/route.d.ts.map +1 -1
- package/elements/base/route.js +15 -27
- package/elements/base/route.js.map +1 -1
- package/elements/base/title.d.ts +1 -6
- package/elements/base/title.d.ts.map +1 -1
- package/elements/base/title.js +3 -8
- package/elements/base/title.js.map +1 -1
- package/elements/base/unsafe.d.ts +1 -6
- package/elements/base/unsafe.d.ts.map +1 -1
- package/elements/base/unsafe.js +3 -9
- package/elements/base/unsafe.js.map +1 -1
- package/elements/base/use.d.ts +1 -4
- package/elements/base/use.d.ts.map +1 -1
- package/elements/base/use.js +4 -11
- package/elements/base/use.js.map +1 -1
- package/elements/link.js +1 -1
- package/elements/link.js.map +1 -1
- package/elements/route.js +1 -1
- package/elements/route.js.map +1 -1
- package/helper/hmr.d.ts +11 -0
- package/helper/hmr.d.ts.map +1 -0
- package/helper/hmr.js +255 -0
- package/helper/hmr.js.map +1 -0
- package/helper/i18n.d.ts +2 -2
- package/helper/i18n.d.ts.map +1 -1
- package/helper/i18n.js +5 -4
- package/helper/i18n.js.map +1 -1
- package/helper/logger.d.ts +1 -1
- package/helper/logger.d.ts.map +1 -1
- package/helper/logger.js +8 -5
- package/helper/logger.js.map +1 -1
- package/helper/mediaquery.js +1 -1
- package/helper/mediaquery.js.map +1 -1
- package/helper/ssr-shim.d.ts.map +1 -1
- package/helper/ssr-shim.js +2 -0
- package/helper/ssr-shim.js.map +1 -1
- package/helper/theme.d.ts +4 -5
- package/helper/theme.d.ts.map +1 -1
- package/helper/theme.js +3 -3
- package/helper/theme.js.map +1 -1
- package/index.d.ts +1 -3
- package/index.d.ts.map +1 -1
- package/index.js +1 -4
- package/index.js.map +1 -1
- package/lib/decorators.d.ts +9 -16
- package/lib/decorators.d.ts.map +1 -1
- package/lib/decorators.js +84 -71
- package/lib/decorators.js.map +1 -1
- package/lib/directive.d.ts +65 -0
- package/lib/directive.d.ts.map +1 -0
- package/lib/directive.js +58 -0
- package/lib/directive.js.map +1 -0
- package/lib/element.d.ts +10 -153
- package/lib/element.d.ts.map +1 -1
- package/lib/element.js +19 -480
- package/lib/element.js.map +1 -1
- package/lib/history.d.ts +67 -9
- package/lib/history.d.ts.map +1 -1
- package/lib/history.js +12 -12
- package/lib/history.js.map +1 -1
- package/lib/lit-html.d.ts +232 -0
- package/lib/lit-html.d.ts.map +1 -0
- package/lib/lit-html.js +987 -0
- package/lib/lit-html.js.map +1 -0
- package/lib/reactive.d.ts +123 -0
- package/lib/reactive.d.ts.map +1 -0
- package/lib/reactive.js +478 -0
- package/lib/reactive.js.map +1 -0
- package/lib/repeat.d.ts +126 -0
- package/lib/repeat.d.ts.map +1 -0
- package/lib/repeat.js +533 -0
- package/lib/repeat.js.map +1 -0
- package/lib/store.d.ts +13 -2
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +5 -4
- package/lib/store.js.map +1 -1
- package/lib/utils.d.ts +24 -15
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +25 -30
- package/lib/utils.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +8 -9
- package/src/dist.ts +6 -8
- package/src/elements/base/dialog.ts +2 -6
- package/src/elements/base/gesture.ts +35 -36
- package/src/elements/base/link.ts +20 -46
- package/src/elements/base/modal-factory.ts +14 -14
- package/src/elements/base/reflect.ts +2 -6
- package/src/elements/base/route.ts +22 -33
- package/src/elements/base/title.ts +4 -9
- package/src/elements/base/unsafe.ts +4 -9
- package/src/elements/base/use.ts +4 -11
- package/src/elements/link.ts +1 -1
- package/src/elements/route.ts +1 -1
- package/src/helper/hmr.ts +305 -0
- package/src/helper/i18n.ts +7 -7
- package/src/helper/logger.ts +9 -5
- package/src/helper/mediaquery.ts +1 -1
- package/src/helper/ssr-shim.ts +3 -0
- package/src/helper/theme.ts +6 -6
- package/src/index.ts +1 -5
- package/src/lib/decorators.ts +101 -100
- package/src/lib/directive.ts +137 -0
- package/src/lib/element.ts +26 -614
- package/src/lib/history.ts +14 -15
- package/src/lib/lit-html.ts +1269 -0
- package/src/lib/reactive.ts +596 -0
- package/src/lib/repeat.ts +580 -0
- package/src/lib/store.ts +5 -4
- package/src/lib/utils.ts +40 -46
- package/src/lib/version.ts +1 -1
- package/src/test/elements/link.test.ts +2 -3
- package/src/test/elements/reflect.test.ts +13 -3
- package/src/test/elements/title.test.ts +2 -3
- package/src/test/gem-element/advance.test.ts +22 -14
- package/src/test/gem-element/basic.test.ts +23 -11
- package/src/test/gem-element/decorators.test.ts +14 -17
- package/src/test/gem-element/multi.test.ts +20 -11
- package/src/test/history.test.ts +1 -2
- package/src/test/store.test.ts +3 -4
- package/src/test/utils.test.ts +12 -14
- package/src/test/utils.ts +22 -0
- package/lib/directives.d.ts +0 -4
- package/lib/directives.d.ts.map +0 -1
- package/lib/directives.js +0 -5
- package/lib/directives.js.map +0 -1
- package/src/lib/directives.ts +0 -6
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { GemElement } from '../../lib/
|
|
1
|
+
import { GemElement } from '../../lib/reactive';
|
|
2
2
|
declare const final: unique symbol;
|
|
3
3
|
/**
|
|
4
4
|
* 在模版中声明的 dialog,使用 `open` 方法 打开;
|
|
5
5
|
* 模拟 top layer:https://github.com/whatwg/html/issues/4633.
|
|
6
|
-
*
|
|
7
|
-
* @attr label
|
|
8
|
-
* @fires open
|
|
9
|
-
* @fires close
|
|
10
6
|
*/
|
|
11
7
|
export declare abstract class GemDialogBaseElement extends GemElement {
|
|
12
8
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/elements/base/dialog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/elements/base/dialog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,QAAA,MAAM,KAAK,eAAW,CAAC;AAEvB;;;GAGG;AACH,8BAEsB,oBAAqB,SAAQ,UAAU;;IAChD,KAAK,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAuCvB,YAAY;IACZ,IAAI,iCAUF;IAEF,WAAW;IAIX,YAAY;IACZ,KAAK,eAGH;IAEF;;;;;OAKG;IACH,UAAU,eAIR;CACH"}
|
package/elements/base/dialog.js
CHANGED
|
@@ -32,17 +32,13 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
-
import {
|
|
36
|
-
import { attribute, state, connectStore, aria, willMount } from '../../lib/decorators';
|
|
35
|
+
import { aria, attribute, connectStore, state, willMount } from '../../lib/decorators';
|
|
37
36
|
import { history } from '../../lib/history';
|
|
37
|
+
import { GemElement } from '../../lib/reactive';
|
|
38
38
|
const final = Symbol();
|
|
39
39
|
/**
|
|
40
40
|
* 在模版中声明的 dialog,使用 `open` 方法 打开;
|
|
41
41
|
* 模拟 top layer:https://github.com/whatwg/html/issues/4633.
|
|
42
|
-
*
|
|
43
|
-
* @attr label
|
|
44
|
-
* @fires open
|
|
45
|
-
* @fires close
|
|
46
42
|
*/
|
|
47
43
|
let GemDialogBaseElement = (() => {
|
|
48
44
|
let _classDecorators = [connectStore(history.store), aria({ role: 'dialog', ariaModal: 'true' })];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/elements/base/dialog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/elements/base/dialog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;AAEvB;;;GAGG;IAGmB,oBAAoB;4BAFzC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAC3B,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;;;;sBACO,UAAU;;;;;;;;;;oCAAlB,SAAQ,WAAU;;;;iCAC1D,SAAS;kCACT,KAAK;wCAoCL,SAAS,EAAE;YArCD,iKAAA,KAAK,6BAAL,KAAK,qFAAS;YAClB,oKAAA,MAAM,6BAAN,MAAM,uFAAU;YAqCvB,uIAAA,KAAK,yBAAL,KAAK,6BAAL,KAAK,mGAA6B;YAvCpC,6KA2EC;;;YA3EqB,uDAAoB;;QAC7B,KAAK,wDAAS;QAClB,MAAM,8GAAU;QAEvB,YAAY,sDAAmB;QAC/B,cAAc,CAAc;QAC5B,WAAW,GAAkB,EAAE,CAAC;QAEhC;;WAEG;QACH,YAAY,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/B,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC;QAEF;;WAEG;QACH,WAAW,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,GAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1F,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;QAGF,KAAK,uDAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAC;QAElC,YAAY;QACZ,IAAI,8DAAG,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC,EAAC;QAEF,WAAW;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,YAAY;QACZ,KAAK,GAAG,GAAG,EAAE;YACX,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF;;;;;WAKG;QACH,UAAU,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;;;;SA1EkB,oBAAoB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { GemElement } from '../../lib/element';
|
|
2
1
|
import type { Emitter } from '../../lib/decorators';
|
|
2
|
+
import { GemElement } from '../../lib/reactive';
|
|
3
3
|
export type PanEventDetail = {
|
|
4
4
|
x: number;
|
|
5
5
|
y: number;
|
|
@@ -27,16 +27,6 @@ export interface RotateEventDetail {
|
|
|
27
27
|
* 块级元素,如果要设置成 `contents`,则内容块要设置 `touch-action: none`
|
|
28
28
|
* https://javascript.info/pointer-events#event-pointercancel
|
|
29
29
|
* 在移动端上,必须设置 `touch-action` 以允许滚动等原生动作
|
|
30
|
-
*
|
|
31
|
-
* @customElement gem-gesture
|
|
32
|
-
* @event pan
|
|
33
|
-
* @event pinch
|
|
34
|
-
* @event rotate
|
|
35
|
-
* @event swipe
|
|
36
|
-
* @event press
|
|
37
|
-
* @event end
|
|
38
|
-
*
|
|
39
|
-
* @attr touch-action
|
|
40
30
|
*/
|
|
41
31
|
export declare class GemGestureElement extends GemElement {
|
|
42
32
|
#private;
|
|
@@ -44,10 +34,11 @@ export declare class GemGestureElement extends GemElement {
|
|
|
44
34
|
pinch: Emitter<PinchEventDetail>;
|
|
45
35
|
rotate: Emitter<RotateEventDetail>;
|
|
46
36
|
swipe: Emitter<SwipeEventDetail>;
|
|
47
|
-
press: Emitter<
|
|
48
|
-
end: Emitter<
|
|
37
|
+
press: Emitter<PointerEvent>;
|
|
38
|
+
end: Emitter<PointerEvent>;
|
|
49
39
|
touchAction: string;
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
grabbing: boolean;
|
|
41
|
+
/** 一次手势的指针移动事件记录 */
|
|
42
|
+
movesMap: Map<number, PanEventDetail[]>;
|
|
52
43
|
}
|
|
53
44
|
//# sourceMappingURL=gesture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gesture.d.ts","sourceRoot":"","sources":["../../src/elements/base/gesture.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"gesture.d.ts","sourceRoot":"","sources":["../../src/elements/base/gesture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAO,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG;IAE3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,gBAAgB;IAE/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,iBAAiB;IAEhC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AA2BD;;;;GAIG;AACH,qBACa,iBAAkB,SAAQ,UAAU;;IACtC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7B,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB,WAAW,EAAE,MAAM,CAAC;IAExB,QAAQ,EAAE,OAAO,CAAC;IAgMzB,oBAAoB;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAa;CACrD"}
|
package/elements/base/gesture.js
CHANGED
|
@@ -32,35 +32,26 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import { css } from '../../lib/utils';
|
|
35
|
+
import { adoptedStyle, attribute, emitter, mounted, state } from '../../lib/decorators';
|
|
36
|
+
import { css, GemElement } from '../../lib/reactive';
|
|
38
37
|
function angleAB(a, b, c, { clientX: x1, clientY: y1 }, { clientX: x2, clientY: y2 }, { clientX: x3, clientY: y3 }) {
|
|
39
38
|
// https://en.wikipedia.org/wiki/Law_of_cosines
|
|
40
39
|
// https://blog.csdn.net/z278930050/article/details/53319091
|
|
41
40
|
return (Math.sign((x2 - x1) * (y3 - y2) - (y2 - y1) * (x3 - x2)) * Math.acos((a ** 2 + b ** 2 - c ** 2) / (2 * a * b)) * 180);
|
|
42
41
|
}
|
|
43
|
-
const style =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
const style = css `
|
|
43
|
+
@layer {
|
|
44
|
+
:scope:where(:not([hidden])) {
|
|
45
|
+
display: block;
|
|
46
|
+
user-select: none;
|
|
47
|
+
touch-action: attr(touch-action, none);
|
|
48
|
+
}
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
+
`;
|
|
50
51
|
/**
|
|
51
52
|
* 块级元素,如果要设置成 `contents`,则内容块要设置 `touch-action: none`
|
|
52
53
|
* https://javascript.info/pointer-events#event-pointercancel
|
|
53
54
|
* 在移动端上,必须设置 `touch-action` 以允许滚动等原生动作
|
|
54
|
-
*
|
|
55
|
-
* @customElement gem-gesture
|
|
56
|
-
* @event pan
|
|
57
|
-
* @event pinch
|
|
58
|
-
* @event rotate
|
|
59
|
-
* @event swipe
|
|
60
|
-
* @event press
|
|
61
|
-
* @event end
|
|
62
|
-
*
|
|
63
|
-
* @attr touch-action
|
|
64
55
|
*/
|
|
65
56
|
let GemGestureElement = (() => {
|
|
66
57
|
let _classDecorators = [adoptedStyle(style)];
|
|
@@ -89,6 +80,9 @@ let GemGestureElement = (() => {
|
|
|
89
80
|
let _touchAction_decorators;
|
|
90
81
|
let _touchAction_initializers = [];
|
|
91
82
|
let _touchAction_extraInitializers = [];
|
|
83
|
+
let _grabbing_decorators;
|
|
84
|
+
let _grabbing_initializers = [];
|
|
85
|
+
let _grabbing_extraInitializers = [];
|
|
92
86
|
let _private_init_decorators;
|
|
93
87
|
let _private_init_initializers = [];
|
|
94
88
|
let _private_init_extraInitializers = [];
|
|
@@ -103,6 +97,7 @@ let GemGestureElement = (() => {
|
|
|
103
97
|
_press_decorators = [emitter];
|
|
104
98
|
_end_decorators = [emitter];
|
|
105
99
|
_touchAction_decorators = [attribute];
|
|
100
|
+
_grabbing_decorators = [state];
|
|
106
101
|
_private_init_decorators = [mounted()];
|
|
107
102
|
__esDecorate(null, null, _pan_decorators, { kind: "field", name: "pan", static: false, private: false, access: { has: obj => "pan" in obj, get: obj => obj.pan, set: (obj, value) => { obj.pan = value; } }, metadata: _metadata }, _pan_initializers, _pan_extraInitializers);
|
|
108
103
|
__esDecorate(null, null, _pinch_decorators, { kind: "field", name: "pinch", static: false, private: false, access: { has: obj => "pinch" in obj, get: obj => obj.pinch, set: (obj, value) => { obj.pinch = value; } }, metadata: _metadata }, _pinch_initializers, _pinch_extraInitializers);
|
|
@@ -111,6 +106,7 @@ let GemGestureElement = (() => {
|
|
|
111
106
|
__esDecorate(null, null, _press_decorators, { kind: "field", name: "press", static: false, private: false, access: { has: obj => "press" in obj, get: obj => obj.press, set: (obj, value) => { obj.press = value; } }, metadata: _metadata }, _press_initializers, _press_extraInitializers);
|
|
112
107
|
__esDecorate(null, null, _end_decorators, { kind: "field", name: "end", static: false, private: false, access: { has: obj => "end" in obj, get: obj => obj.end, set: (obj, value) => { obj.end = value; } }, metadata: _metadata }, _end_initializers, _end_extraInitializers);
|
|
113
108
|
__esDecorate(null, null, _touchAction_decorators, { kind: "field", name: "touchAction", static: false, private: false, access: { has: obj => "touchAction" in obj, get: obj => obj.touchAction, set: (obj, value) => { obj.touchAction = value; } }, metadata: _metadata }, _touchAction_initializers, _touchAction_extraInitializers);
|
|
109
|
+
__esDecorate(null, null, _grabbing_decorators, { kind: "field", name: "grabbing", static: false, private: false, access: { has: obj => "grabbing" in obj, get: obj => obj.grabbing, set: (obj, value) => { obj.grabbing = value; } }, metadata: _metadata }, _grabbing_initializers, _grabbing_extraInitializers);
|
|
114
110
|
__esDecorate(null, null, _private_init_decorators, { kind: "field", name: "#init", static: false, private: true, access: { has: obj => #init in obj, get: obj => obj.#init, set: (obj, value) => { obj.#init = value; } }, metadata: _metadata }, _private_init_initializers, _private_init_extraInitializers);
|
|
115
111
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
116
112
|
GemGestureElement = _classThis = _classDescriptor.value;
|
|
@@ -124,17 +120,18 @@ let GemGestureElement = (() => {
|
|
|
124
120
|
press = (__runInitializers(this, _swipe_extraInitializers), __runInitializers(this, _press_initializers, void 0));
|
|
125
121
|
end = (__runInitializers(this, _press_extraInitializers), __runInitializers(this, _end_initializers, void 0));
|
|
126
122
|
touchAction = (__runInitializers(this, _end_extraInitializers), __runInitializers(this, _touchAction_initializers, void 0));
|
|
127
|
-
|
|
123
|
+
grabbing = (__runInitializers(this, _touchAction_extraInitializers), __runInitializers(this, _grabbing_initializers, void 0));
|
|
124
|
+
#pressed = (__runInitializers(this, _grabbing_extraInitializers), false); // 触发 press 之后不触发其他事件
|
|
128
125
|
#pressTimer = 0;
|
|
129
126
|
#startEventMap = new Map();
|
|
130
127
|
#getMoves = (pointerId) => {
|
|
131
|
-
return this.
|
|
128
|
+
return this.movesMap.get(pointerId) || [];
|
|
132
129
|
};
|
|
133
130
|
#getStartEvent = (pointerId) => {
|
|
134
131
|
return this.#startEventMap.get(pointerId);
|
|
135
132
|
};
|
|
136
133
|
#getOtherLastMove = (pointerId) => {
|
|
137
|
-
for (const id of this.
|
|
134
|
+
for (const id of this.movesMap.keys()) {
|
|
138
135
|
if (id !== pointerId) {
|
|
139
136
|
const moves = this.#getMoves(id);
|
|
140
137
|
return moves[moves.length - 1] || this.#getStartEvent(id);
|
|
@@ -170,14 +167,15 @@ let GemGestureElement = (() => {
|
|
|
170
167
|
return y;
|
|
171
168
|
};
|
|
172
169
|
#onStart = (evt) => {
|
|
170
|
+
this.grabbing = true;
|
|
173
171
|
evt.stopPropagation();
|
|
174
172
|
this.setPointerCapture(evt.pointerId);
|
|
175
|
-
this.
|
|
173
|
+
this.movesMap.set(evt.pointerId, []);
|
|
176
174
|
this.#startEventMap.set(evt.pointerId, evt);
|
|
177
175
|
if (evt.isPrimary) {
|
|
178
176
|
this.#pressed = false;
|
|
179
|
-
this.#pressTimer =
|
|
180
|
-
this.press(
|
|
177
|
+
this.#pressTimer = setTimeout(() => {
|
|
178
|
+
this.press(evt);
|
|
181
179
|
this.#pressed = true;
|
|
182
180
|
}, 251);
|
|
183
181
|
}
|
|
@@ -188,6 +186,9 @@ let GemGestureElement = (() => {
|
|
|
188
186
|
const moves = this.#getMoves(pointerId);
|
|
189
187
|
const startEvent = this.#getStartEvent(pointerId);
|
|
190
188
|
const lastMove = moves[moves.length - 1] || startEvent;
|
|
189
|
+
// Firefox contextmenu after trigger
|
|
190
|
+
if (!lastMove)
|
|
191
|
+
return;
|
|
191
192
|
// https://bugs.webkit.org/show_bug.cgi?id=220194
|
|
192
193
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1092358
|
|
193
194
|
const movementX = clientX - lastMove.clientX;
|
|
@@ -203,7 +204,7 @@ let GemGestureElement = (() => {
|
|
|
203
204
|
};
|
|
204
205
|
moves.push(move);
|
|
205
206
|
this.pan(move);
|
|
206
|
-
if (this.
|
|
207
|
+
if (this.movesMap.size !== 1) {
|
|
207
208
|
const secondaryPoint = this.#getOtherLastMove(pointerId);
|
|
208
209
|
const moveLen = Math.sqrt(movementX ** 2 + movementY ** 2);
|
|
209
210
|
const distanceLen = Math.sqrt((lastMove.clientX - secondaryPoint.clientX) ** 2 + (lastMove.clientY - secondaryPoint.clientY) ** 2);
|
|
@@ -218,7 +219,7 @@ let GemGestureElement = (() => {
|
|
|
218
219
|
Math.abs(movementY) > accuracy ||
|
|
219
220
|
Math.abs(move.clientX - startEvent.clientX) > accuracy ||
|
|
220
221
|
Math.abs(move.clientY - startEvent.clientY) > accuracy) {
|
|
221
|
-
|
|
222
|
+
clearTimeout(this.#pressTimer);
|
|
222
223
|
}
|
|
223
224
|
}
|
|
224
225
|
};
|
|
@@ -232,12 +233,13 @@ let GemGestureElement = (() => {
|
|
|
232
233
|
this.#onMove(evt);
|
|
233
234
|
}
|
|
234
235
|
};
|
|
235
|
-
#onEnd = (evt) => {
|
|
236
|
+
#onEnd = async (evt) => {
|
|
236
237
|
evt.stopPropagation();
|
|
237
238
|
const { pointerId } = evt;
|
|
238
|
-
|
|
239
|
-
if (this.
|
|
240
|
-
this.
|
|
239
|
+
clearTimeout(this.#pressTimer);
|
|
240
|
+
if (this.movesMap.size === 1) {
|
|
241
|
+
this.grabbing = false;
|
|
242
|
+
this.end(evt);
|
|
241
243
|
}
|
|
242
244
|
// auto release: https://javascript.info/pointer-events#pointer-capturing
|
|
243
245
|
if (!this.#pressed && this.hasPointerCapture(pointerId)) {
|
|
@@ -269,8 +271,10 @@ let GemGestureElement = (() => {
|
|
|
269
271
|
}
|
|
270
272
|
}
|
|
271
273
|
}
|
|
272
|
-
this._movesMap.delete(pointerId);
|
|
273
274
|
this.#startEventMap.delete(pointerId);
|
|
275
|
+
// 确保外部 end 事件处理器中可以读取到
|
|
276
|
+
await Promise.resolve();
|
|
277
|
+
this.movesMap.delete(pointerId);
|
|
274
278
|
};
|
|
275
279
|
#preventDefault = (evt) => evt.preventDefault();
|
|
276
280
|
#init = __runInitializers(this, _private_init_initializers, () => {
|
|
@@ -282,8 +286,8 @@ let GemGestureElement = (() => {
|
|
|
282
286
|
this.addEventListener('pointercancel', this.#onEnd);
|
|
283
287
|
this.addEventListener('dragstart', this.#preventDefault);
|
|
284
288
|
});
|
|
285
|
-
/**
|
|
286
|
-
|
|
289
|
+
/** 一次手势的指针移动事件记录 */
|
|
290
|
+
movesMap = (__runInitializers(this, _private_init_extraInitializers), new Map());
|
|
287
291
|
};
|
|
288
292
|
return GemGestureElement = _classThis;
|
|
289
293
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gesture.js","sourceRoot":"","sources":["../../src/elements/base/gesture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"gesture.js","sourceRoot":"","sources":["../../src/elements/base/gesture.ts"],"names":[],"mappings":"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"}
|
package/elements/base/link.d.ts
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
import { GemElement } from '../../lib/element';
|
|
2
2
|
import type { RouteItem, RouteOptions } from './route';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* @attr href
|
|
6
|
-
* @attr target
|
|
7
|
-
* @attr doc-title
|
|
8
|
-
* @attr path
|
|
9
|
-
* @attr query
|
|
10
|
-
* @attr hash
|
|
11
|
-
* @attr pattern
|
|
12
|
-
* @attr hint
|
|
13
|
-
* @part link
|
|
14
|
-
*
|
|
15
|
-
* Bug: print `<link>` https://github.com/mantou132/gem/issues/36
|
|
4
|
+
* Bug: [can't print `<link>`](https://github.com/mantou132/gem/issues/36)
|
|
16
5
|
*/
|
|
17
6
|
export declare class GemLinkElement extends GemElement {
|
|
18
7
|
#private;
|
|
@@ -35,11 +24,6 @@ export declare class GemLinkElement extends GemElement {
|
|
|
35
24
|
*/
|
|
36
25
|
_getLocationString(): string;
|
|
37
26
|
}
|
|
38
|
-
/**
|
|
39
|
-
* @customElement gem-active-link
|
|
40
|
-
* @attr pattern
|
|
41
|
-
* @state active
|
|
42
|
-
*/
|
|
43
27
|
export declare class GemActiveLinkElement extends GemLinkElement {
|
|
44
28
|
#private;
|
|
45
29
|
pattern: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/elements/base/link.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/elements/base/link.ts"],"names":[],"mappings":"AAcA,OAAO,EAAO,UAAU,EAAQ,MAAM,mBAAmB,CAAC;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuBvD;;GAEG;AACH,qBAIa,cAAe,SAAQ,UAAU;;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC;IAC9B,4CAA4C;IAC7B,OAAO,EAAE,OAAO,CAAC;IAGtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAC5B,iBAAiB;IACP,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI,EAAE,MAAM,CAAC;IAuFnB;;OAEG;IACH,kBAAkB;CAmBnB;AAED,qBACa,oBAAqB,SAAQ,cAAc;;IAC3C,OAAO,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CAQxB"}
|
package/elements/base/link.js
CHANGED
|
@@ -36,16 +36,15 @@ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, p
|
|
|
36
36
|
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
37
37
|
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
38
38
|
};
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import { absoluteLocation
|
|
43
|
-
import {
|
|
44
|
-
import { matchPath, createHistoryParams, createPath } from './route';
|
|
39
|
+
import { adoptedStyle, aria, attribute, boolattribute, connectStore, effect, mounted, part, property, shadow, state, template, } from '../../lib/decorators';
|
|
40
|
+
import { css, GemElement, html } from '../../lib/element';
|
|
41
|
+
import { basePathStore, history } from '../../lib/history';
|
|
42
|
+
import { absoluteLocation } from '../../lib/utils';
|
|
43
|
+
import { createHistoryParams, createPath, matchPath } from './route';
|
|
45
44
|
function isExternal(path) {
|
|
46
45
|
return !path.startsWith('/');
|
|
47
46
|
}
|
|
48
|
-
const styles =
|
|
47
|
+
const styles = css `
|
|
49
48
|
:host {
|
|
50
49
|
/* link default style */
|
|
51
50
|
cursor: pointer;
|
|
@@ -59,20 +58,9 @@ const styles = createCSSSheet(css `
|
|
|
59
58
|
a:visited {
|
|
60
59
|
color: unset;
|
|
61
60
|
}
|
|
62
|
-
|
|
61
|
+
`;
|
|
63
62
|
/**
|
|
64
|
-
*
|
|
65
|
-
* @attr href
|
|
66
|
-
* @attr target
|
|
67
|
-
* @attr doc-title
|
|
68
|
-
* @attr path
|
|
69
|
-
* @attr query
|
|
70
|
-
* @attr hash
|
|
71
|
-
* @attr pattern
|
|
72
|
-
* @attr hint
|
|
73
|
-
* @part link
|
|
74
|
-
*
|
|
75
|
-
* Bug: print `<link>` https://github.com/mantou132/gem/issues/36
|
|
63
|
+
* Bug: [can't print `<link>`](https://github.com/mantou132/gem/issues/36)
|
|
76
64
|
*/
|
|
77
65
|
let GemLinkElement = (() => {
|
|
78
66
|
let _classDecorators = [connectStore(basePathStore), adoptedStyle(styles), shadow(), aria({ focusable: true })];
|
|
@@ -183,7 +171,8 @@ let GemLinkElement = (() => {
|
|
|
183
171
|
get #hint() {
|
|
184
172
|
return this.hint || 'on';
|
|
185
173
|
}
|
|
186
|
-
#onClick = (__runInitializers(this, _link_extraInitializers), async () => {
|
|
174
|
+
#onClick = (__runInitializers(this, _link_extraInitializers), async (e) => {
|
|
175
|
+
e.preventDefault();
|
|
187
176
|
const locationString = this._getLocationString();
|
|
188
177
|
if (!locationString)
|
|
189
178
|
return;
|
|
@@ -229,7 +218,6 @@ let GemLinkElement = (() => {
|
|
|
229
218
|
});
|
|
230
219
|
}
|
|
231
220
|
});
|
|
232
|
-
#preventDefault = (e) => e.preventDefault();
|
|
233
221
|
#getHint = () => {
|
|
234
222
|
const locationString = this._getLocationString();
|
|
235
223
|
return isExternal(locationString)
|
|
@@ -244,16 +232,8 @@ let GemLinkElement = (() => {
|
|
|
244
232
|
};
|
|
245
233
|
get #init() { return _private_init_descriptor.value; }
|
|
246
234
|
#content = __runInitializers(this, _private_content_initializers, () => {
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
part=${this.link}
|
|
250
|
-
@click=${this.#preventDefault}
|
|
251
|
-
href=${ifDefined(this.#hint === 'off' ? undefined : this.#getHint())}
|
|
252
|
-
tabindex="-1"
|
|
253
|
-
>
|
|
254
|
-
<slot></slot>
|
|
255
|
-
</a>
|
|
256
|
-
`;
|
|
235
|
+
const href = this.#hint === 'off' ? null : this.#getHint();
|
|
236
|
+
return html `<a part=${this.link} href=${href} tabindex="-1"><slot></slot></a>`;
|
|
257
237
|
});
|
|
258
238
|
/**
|
|
259
239
|
* 如果该元素是外部链接返回 URL,否则返回路径(不包含 basePath)
|
|
@@ -289,11 +269,6 @@ let GemLinkElement = (() => {
|
|
|
289
269
|
return GemLinkElement = _classThis;
|
|
290
270
|
})();
|
|
291
271
|
export { GemLinkElement };
|
|
292
|
-
/**
|
|
293
|
-
* @customElement gem-active-link
|
|
294
|
-
* @attr pattern
|
|
295
|
-
* @state active
|
|
296
|
-
*/
|
|
297
272
|
let GemActiveLinkElement = (() => {
|
|
298
273
|
let _classDecorators = [connectStore(history.store)];
|
|
299
274
|
let _classDescriptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/elements/base/link.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/elements/base/link.ts"],"names":[],"mappings":"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"}
|