@mantou/gem 1.6.8 → 1.6.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/gem.es.js +3266 -0
  2. package/dist/gem.umd.js +229 -0
  3. package/elements/{dialog-base.d.ts → base/dialog.d.ts} +3 -3
  4. package/elements/base/dialog.d.ts.map +1 -0
  5. package/elements/{dialog-base.js → base/dialog.js} +24 -24
  6. package/elements/base/dialog.js.map +1 -0
  7. package/elements/base/gesture.d.ts +66 -0
  8. package/elements/base/gesture.d.ts.map +1 -0
  9. package/elements/base/gesture.js +214 -0
  10. package/elements/base/gesture.js.map +1 -0
  11. package/elements/base/link.d.ts +44 -0
  12. package/elements/base/link.d.ts.map +1 -0
  13. package/elements/base/link.js +206 -0
  14. package/elements/base/link.js.map +1 -0
  15. package/elements/{modal-base.d.ts → base/modal-factory.d.ts} +17 -8
  16. package/elements/base/modal-factory.d.ts.map +1 -0
  17. package/elements/{modal-base.js → base/modal-factory.js} +4 -4
  18. package/elements/base/modal-factory.js.map +1 -0
  19. package/elements/base/reflect.d.ts +6 -0
  20. package/elements/base/reflect.d.ts.map +1 -0
  21. package/elements/base/reflect.js +34 -0
  22. package/elements/base/reflect.js.map +1 -0
  23. package/elements/base/route.d.ts +78 -0
  24. package/elements/base/route.d.ts.map +1 -0
  25. package/elements/base/route.js +220 -0
  26. package/elements/base/route.js.map +1 -0
  27. package/elements/base/title.d.ts +30 -0
  28. package/elements/base/title.d.ts.map +1 -0
  29. package/elements/base/title.js +74 -0
  30. package/elements/base/title.js.map +1 -0
  31. package/elements/base/unsafe.d.ts +14 -0
  32. package/elements/base/unsafe.d.ts.map +1 -0
  33. package/elements/base/unsafe.js +42 -0
  34. package/elements/base/unsafe.js.map +1 -0
  35. package/elements/base/use.d.ts +19 -0
  36. package/elements/base/use.d.ts.map +1 -0
  37. package/elements/base/use.js +70 -0
  38. package/elements/base/use.js.map +1 -0
  39. package/elements/gesture.d.ts +1 -67
  40. package/elements/gesture.d.ts.map +1 -1
  41. package/elements/gesture.js +3 -219
  42. package/elements/gesture.js.map +1 -1
  43. package/elements/link.d.ts +1 -45
  44. package/elements/link.d.ts.map +1 -1
  45. package/elements/link.js +4 -208
  46. package/elements/link.js.map +1 -1
  47. package/elements/reflect.d.ts +1 -8
  48. package/elements/reflect.d.ts.map +1 -1
  49. package/elements/reflect.js +3 -39
  50. package/elements/reflect.js.map +1 -1
  51. package/elements/route.d.ts +1 -81
  52. package/elements/route.d.ts.map +1 -1
  53. package/elements/route.js +4 -228
  54. package/elements/route.js.map +1 -1
  55. package/elements/title.d.ts +1 -30
  56. package/elements/title.d.ts.map +1 -1
  57. package/elements/title.js +3 -75
  58. package/elements/title.js.map +1 -1
  59. package/elements/unsafe.d.ts +1 -14
  60. package/elements/unsafe.d.ts.map +1 -1
  61. package/elements/unsafe.js +3 -46
  62. package/elements/unsafe.js.map +1 -1
  63. package/elements/use.d.ts +1 -19
  64. package/elements/use.d.ts.map +1 -1
  65. package/elements/use.js +3 -74
  66. package/elements/use.js.map +1 -1
  67. package/lib/element.d.ts.map +1 -1
  68. package/lib/element.js +1 -1
  69. package/lib/element.js.map +1 -1
  70. package/lib/history.d.ts +28 -16
  71. package/lib/history.d.ts.map +1 -1
  72. package/lib/history.js +166 -168
  73. package/lib/history.js.map +1 -1
  74. package/lib/utils.d.ts +3 -1
  75. package/lib/utils.d.ts.map +1 -1
  76. package/lib/utils.js +16 -16
  77. package/lib/utils.js.map +1 -1
  78. package/package.json +9 -6
  79. package/src/{all.ts → dist.ts} +6 -3
  80. package/src/elements/{dialog-base.ts → base/dialog.ts} +4 -4
  81. package/src/elements/base/gesture.ts +256 -0
  82. package/src/elements/base/link.ts +178 -0
  83. package/src/elements/{modal-base.ts → base/modal-factory.ts} +3 -3
  84. package/src/elements/base/reflect.ts +30 -0
  85. package/src/elements/base/route.ts +244 -0
  86. package/src/elements/base/title.ts +68 -0
  87. package/src/elements/base/unsafe.ts +37 -0
  88. package/src/elements/base/use.ts +57 -0
  89. package/src/elements/gesture.ts +3 -257
  90. package/src/elements/link.ts +4 -179
  91. package/src/elements/reflect.ts +3 -31
  92. package/src/elements/route.ts +4 -248
  93. package/src/elements/title.ts +3 -68
  94. package/src/elements/unsafe.ts +3 -37
  95. package/src/elements/use.ts +3 -57
  96. package/src/lib/element.ts +3 -1
  97. package/src/lib/history.ts +182 -194
  98. package/src/lib/utils.ts +24 -16
  99. package/src/test/history.test.ts +15 -10
  100. package/src/test/utils.test.ts +6 -2
  101. package/all.d.ts +0 -14
  102. package/all.d.ts.map +0 -1
  103. package/all.js +0 -14
  104. package/all.js.map +0 -1
  105. package/elements/dialog-base.d.ts.map +0 -1
  106. package/elements/dialog-base.js.map +0 -1
  107. package/elements/modal-base.d.ts.map +0 -1
  108. package/elements/modal-base.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"AACA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,IAAI,QAW5C;AAWD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,IAAI,QAKnD;AAED,wBAAgB,gBAAgB,CAAC,WAAW,SAAK,EAAE,YAAY,SAAK,UAGnE;AAGD,oBAAY,YAAY,GAAG,MAAM,CAAC;AAElC,UAAU,kBAAkB;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;CACZ;AACD,UAAU,cAAc,CAAC,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CAC1B;;;;;AAED,qBAAa,UAAU,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,eAAkC;;IACzE,gBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,kBAAkB,EACnD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,GAAG,EACjE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,KACxC,IAAI,CAAC;IAwBV,IAAI,IAAI,WAEP;IAID,GAAG,CAAC,KAAK,EAAE,CAAC;IAkBZ,MAAM,CAAC,KAAK,EAAE,CAAC;IASf,GAAG,IAAI,CAAC,GAAG,SAAS;CAMrB;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,GAAG,OAAO,CAAE,SAAQ,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClG,GAAG,CAAC,GAAG,EAAE,CAAC;CAQX;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,eAAe;QACvB,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;KAC/D;CACF;AACD,qBAAa,WAAY,SAAQ,eAAe;;gBAClC,KAAK,CAAC,EAAE,GAAG;IAKvB,MAAM,CAAC,KAAK,EAAE,GAAG;IAcjB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAmB9B,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,SAAS,CAAC,GAAG,EAAE,MAAM;IAMrB,QAAQ;IAKR,MAAM;CAGP;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,UAE5D;AAGD,wBAAgB,GAAG,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,UAE5D;AAGD,eAAO,MAAM,UAAU,eAA+B,CAAC;AAEvD,oBAAY,KAAK,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;CAClB,GAAG;IAAE,CAAC,UAAU,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC;AAEpC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,aAAa;QACrB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KACpC;IAED,UAAU,WAAW;QACnB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;KACnC;IACD,UAAU,UAAU;QAClB,kBAAkB,EAAE,aAAa,EAAE,CAAC;KACrC;IACD,UAAU,QAAQ;QAChB,kBAAkB,EAAE,aAAa,EAAE,CAAC;KACrC;CACF;AAED,oBAAY,UAAU,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC;AACtD,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;CAClB;AACD,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAClC;AAKD,eAAO,IAAI,sBAAsB,SAAO,CAAC;AAazC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,SAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAgBzG;AAED,wBAAgB,SAAS,CAAC,MAAM,SAAI,EAAE,MAAM,SAAyC,UAOpF;AA2BD,eAAO,MAAM,MAAM;iBACJ,oBAAoB,WAAW,GAAG,EAAE;cAIvC,oBAAoB,WAAW,GAAG,EAAE;qBAI7B,oBAAoB,WAAW,GAAG,EAAE,KAAG,iBAAiB;CAK1E,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,UAE3C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,UAE3C;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAMlE;AAED,qBAAa,QAAS,SAAQ,KAAK;gBACrB,GAAG,EAAE,MAAM;CAIxB;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAO/D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAStD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,GAAG,EACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EACzB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,UAQ5C;AAED,aAAK,SAAS,GAAG,MAAM,mBAAmB,GAAG,KAAK,MAAM,EAAE,CAAC;AAE3D,oBAAY,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAGlF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,UAI3C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAEvD;AAED,eAAO,MAAM,OAAO,iBAAW,CAAC;AAEhC,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,UAExE"}
package/lib/utils.js CHANGED
@@ -188,7 +188,8 @@ export function raw(arr, ...args) {
188
188
  export function css(arr, ...args) {
189
189
  return raw(arr, ...args);
190
190
  }
191
- export const SheetToken = Symbol('sheet token');
191
+ // 跨多个 gem 工作
192
+ export const SheetToken = Symbol.for('gem@sheetToken');
192
193
  // !!! 目前只有 Chrome/FirefoxNightly 支持
193
194
  // https://bugzilla.mozilla.org/show_bug.cgi?id=1520690
194
195
  // https://bugs.webkit.org/show_bug.cgi?id=228684
@@ -316,24 +317,23 @@ export function removeItems(target, items) {
316
317
  return true;
317
318
  });
318
319
  }
319
- // 不支持 webkit 属性
320
- export function styleMap(object) {
321
- let styleString = '';
320
+ export function objectMapToString(object, separate, toString) {
321
+ let result = separate;
322
322
  for (const key in object) {
323
- if (object[key] !== undefined) {
324
- styleString += `${camelToKebabCase(key)}:${object[key]};`;
325
- }
323
+ const s = toString(key, object[key]);
324
+ result += s ? s + separate : '';
326
325
  }
327
- return styleString;
326
+ return result;
328
327
  }
329
- export function classMap(obj) {
330
- let classList = ' ';
331
- for (const className in obj) {
332
- if (obj[className]) {
333
- classList += `${className} `;
334
- }
335
- }
336
- return classList;
328
+ // 不支持 webkit 属性
329
+ export function styleMap(object) {
330
+ return objectMapToString(object, ';', (key, value) => value !== undefined ? `${camelToKebabCase(key)}:${value}` : '');
331
+ }
332
+ export function classMap(object) {
333
+ return objectMapToString(object, ' ', (key, value) => (value ? key : ''));
337
334
  }
338
335
  export const partMap = classMap;
336
+ export function exportPartsMap(object) {
337
+ return objectMapToString(object, ',', (key, value) => (value !== undefined ? `${key}:${value}` : ''));
338
+ }
339
339
  //# sourceMappingURL=utils.js.map
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantou/gem",
3
- "version": "1.6.8",
3
+ "version": "1.6.12",
4
4
  "description": "💎 使用自定义元素的轻量级 WebApp 开发框架",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "files": [
14
14
  "/index.*",
15
- "/all.*",
15
+ "/dist/",
16
16
  "/elements/",
17
17
  "/lib/",
18
18
  "/helper/",
@@ -22,8 +22,10 @@
22
22
  "scripts": {
23
23
  "docs": "gem-book docs",
24
24
  "build:docs": "yarn docs --build",
25
- "build": "tsc -p tsconfig.build.json",
26
- "start": "yarn run build --watch",
25
+ "build:module": "tsc -p tsconfig.build.json",
26
+ "build:lib": "vite build",
27
+ "build": "yarn build:module && yarn build:lib",
28
+ "start": "yarn build:module --watch",
27
29
  "test": "wtr"
28
30
  },
29
31
  "keywords": [
@@ -37,12 +39,13 @@
37
39
  },
38
40
  "devDependencies": {
39
41
  "@esm-bundle/chai": "^4.3.4-fix.0",
40
- "@gemjs/config": "^1.6.8",
42
+ "@gemjs/config": "^1.6.10",
41
43
  "@open-wc/testing": "^2.5.33",
42
44
  "@web/dev-server-esbuild": "^0.2.16",
43
45
  "@web/test-runner": "^0.13.22",
44
46
  "rimraf": "^3.0.2",
45
- "typescript": "^4.5.0"
47
+ "typescript": "^4.5.0",
48
+ "vite": "^2.7.13"
46
49
  },
47
50
  "author": "mantou132",
48
51
  "license": "MIT",
@@ -1,3 +1,6 @@
1
+ /**
2
+ * 导出所有内容,包括 gem 元素
3
+ */
1
4
  export * from './elements/link';
2
5
  export * from './elements/route';
3
6
  export * from './elements/title';
@@ -5,12 +8,12 @@ export * from './elements/use';
5
8
  export * from './elements/unsafe';
6
9
  export * from './elements/reflect';
7
10
 
8
- export * from './elements/modal-base';
9
- export * from './elements/dialog-base';
11
+ export * from './elements/base/modal-factory';
12
+ export * from './elements/base/dialog';
10
13
 
11
14
  export * from './helper/theme';
12
15
  export * from './helper/i18n';
13
16
  export * from './helper/request';
14
17
  export * from './helper/mediaquery';
15
18
 
16
- export * from './';
19
+ export * from '.';
@@ -1,6 +1,6 @@
1
- import { GemElement } from '../lib/element';
2
- import { attribute, state, connectStore } from '../lib/decorators';
3
- import { history } from '../lib/history';
1
+ import { GemElement } from '../../lib/element';
2
+ import { attribute, state, connectStore } from '../../lib/decorators';
3
+ import { history } from '../../lib/history';
4
4
 
5
5
  /**
6
6
  * 在模版中声明的 dialog,使用 `open` 方法 打开;
@@ -10,7 +10,7 @@ import { history } from '../lib/history';
10
10
  * @attr label
11
11
  */
12
12
  @connectStore(history.store)
13
- export abstract class DialogBaseElement extends GemElement {
13
+ export abstract class GemDialogBaseElement extends GemElement {
14
14
  @attribute label: string;
15
15
  @state opened: boolean;
16
16
 
@@ -0,0 +1,256 @@
1
+ import { GemElement, html } from '../../lib/element';
2
+ import { attribute, emitter, Emitter } from '../../lib/decorators';
3
+
4
+ export type PanEventDetail = {
5
+ // movement
6
+ x: number;
7
+ y: number;
8
+ clientX: number;
9
+ clientY: number;
10
+ timeStamp: number;
11
+ isPrimary: boolean;
12
+ pointerId: number;
13
+ };
14
+ export interface SwipeEventDetail {
15
+ direction: 'top' | 'right' | 'bottom' | 'left';
16
+ speed: number; // px/ms
17
+ }
18
+ export interface PinchEventDetail {
19
+ // center base viewport
20
+ x: number;
21
+ y: number;
22
+ scale: number;
23
+ }
24
+ export interface RotateEventDetail {
25
+ // center base viewport
26
+ x: number;
27
+ y: number;
28
+ rotate: number;
29
+ }
30
+
31
+ function angleAB(
32
+ a: number,
33
+ b: number,
34
+ c: number,
35
+ { clientX: x1, clientY: y1 }: PanEventDetail,
36
+ { clientX: x2, clientY: y2 }: PanEventDetail,
37
+ { clientX: x3, clientY: y3 }: PanEventDetail,
38
+ ) {
39
+ // https://en.wikipedia.org/wiki/Law_of_cosines
40
+ // https://blog.csdn.net/z278930050/article/details/53319091
41
+ return (
42
+ Math.sign((x2 - x1) * (y3 - y2) - (y2 - y1) * (x3 - x2)) * Math.acos((a ** 2 + b ** 2 - c ** 2) / (2 * a * b)) * 180
43
+ );
44
+ }
45
+
46
+ /**
47
+ * 块级元素,如果要设置成 `contents`,则内容块要设置 `touch-action: none`
48
+ * https://javascript.info/pointer-events#event-pointercancel
49
+ *
50
+ * 在移动端上,必须设置 `touch-action` 以允许滚动等原生动作
51
+ *
52
+ * 为什么空白区域会自动触发 `pointercancel`?
53
+ *
54
+ * @event pan
55
+ * @event pinch
56
+ * @event rotate
57
+ * @event swipe
58
+ * @event press
59
+ * @event end
60
+ *
61
+ * @attr touch-action
62
+ */
63
+ export class GemGestureElement extends GemElement {
64
+ @emitter pan: Emitter<PanEventDetail>;
65
+ @emitter pinch: Emitter<PinchEventDetail>;
66
+ @emitter rotate: Emitter<RotateEventDetail>;
67
+ @emitter swipe: Emitter<SwipeEventDetail>;
68
+ @emitter press: Emitter<null>;
69
+ @emitter end: Emitter<null>;
70
+
71
+ @attribute touchAction: string;
72
+
73
+ pressed = false; // 触发 press 之后不触发其他事件
74
+ pressTimer = 0;
75
+
76
+ startEventMap: Map<number, PointerEvent> = new Map();
77
+ movesMap: Map<number, PanEventDetail[]> = new Map();
78
+
79
+ constructor() {
80
+ super();
81
+ this.addEventListener('pointerdown', this.onStart);
82
+ this.addEventListener('pointermove', this.onMove);
83
+ this.addEventListener('pointerup', this.onEnd);
84
+ this.addEventListener('pointercancel', this.onEnd);
85
+ this.addEventListener('dragstart', (evt) => evt.preventDefault());
86
+ }
87
+
88
+ getMoves(pointerId: number) {
89
+ return this.movesMap.get(pointerId) || [];
90
+ }
91
+
92
+ getStartEvent(pointerId: number) {
93
+ return this.startEventMap.get(pointerId) as PointerEvent;
94
+ }
95
+
96
+ getOtherLastmove(pointerId: number) {
97
+ for (const id of this.movesMap.keys()) {
98
+ if (id !== pointerId) {
99
+ const moves = this.getMoves(id);
100
+ return moves[moves.length - 1] || this.getStartEvent(id);
101
+ }
102
+ }
103
+ }
104
+
105
+ getMovementX(x: number, y: number) {
106
+ const touchAction = this.touchAction;
107
+ if (
108
+ (touchAction.includes('pan-right') && x > 0) ||
109
+ (touchAction.includes('pan-left') && x < 0) ||
110
+ touchAction.includes('pan-x') ||
111
+ (((touchAction.includes('pan-down') && y > 0) ||
112
+ (touchAction.includes('pan-up') && y < 0) ||
113
+ touchAction.includes('pan-y')) &&
114
+ Math.abs(y) > Math.abs(x)) // horizontally scrolling
115
+ ) {
116
+ return 0;
117
+ }
118
+ return x;
119
+ }
120
+
121
+ getMovementY(x: number, y: number) {
122
+ const touchAction = this.touchAction;
123
+ if (
124
+ (touchAction.includes('pan-down') && y > 0) ||
125
+ (touchAction.includes('pan-up') && y < 0) ||
126
+ touchAction.includes('pan-y') ||
127
+ (((touchAction.includes('pan-right') && x > 0) ||
128
+ (touchAction.includes('pan-left') && x < 0) ||
129
+ touchAction.includes('pan-x')) &&
130
+ Math.abs(x) > Math.abs(y)) // vertical scrolling
131
+ ) {
132
+ return 0;
133
+ }
134
+ return y;
135
+ }
136
+
137
+ onStart(evt: PointerEvent) {
138
+ evt.stopPropagation();
139
+ this.setPointerCapture(evt.pointerId);
140
+ this.movesMap.set(evt.pointerId, []);
141
+ this.startEventMap.set(evt.pointerId, evt);
142
+ if (evt.isPrimary) {
143
+ this.pressed = false;
144
+ this.pressTimer = window.setTimeout(() => {
145
+ this.press(null);
146
+ this.pressed = true;
147
+ }, 251);
148
+ }
149
+ }
150
+
151
+ onMove(evt: PointerEvent) {
152
+ evt.stopPropagation();
153
+ const { pointerId, clientX, clientY, isPrimary, pointerType, timeStamp } = evt;
154
+ if (!this.pressed && this.hasPointerCapture(pointerId)) {
155
+ const moves = this.getMoves(pointerId);
156
+ const startEvent = this.getStartEvent(pointerId);
157
+ const lastMove = moves[moves.length - 1] || startEvent;
158
+ // https://bugs.webkit.org/show_bug.cgi?id=220194
159
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=1092358
160
+ const movementX = clientX - lastMove.clientX;
161
+ const movementY = clientY - lastMove.clientY;
162
+ const move = {
163
+ x: this.getMovementX(movementX, movementY),
164
+ y: this.getMovementY(movementX, movementY),
165
+ clientX,
166
+ clientY,
167
+ timeStamp,
168
+ isPrimary,
169
+ pointerId,
170
+ };
171
+ moves.push(move);
172
+ this.pan(move);
173
+
174
+ if (this.movesMap.size !== 1) {
175
+ const secondaryPoint = this.getOtherLastmove(pointerId) as PanEventDetail;
176
+ const moveLen = Math.sqrt(movementX ** 2 + movementY ** 2);
177
+ const distanceLen = Math.sqrt(
178
+ (lastMove.clientX - secondaryPoint.clientX) ** 2 + (lastMove.clientY - secondaryPoint.clientY) ** 2,
179
+ );
180
+ const newDistanceLen = Math.sqrt(
181
+ (clientX - secondaryPoint.clientX) ** 2 + (clientY - secondaryPoint.clientY) ** 2,
182
+ );
183
+ const x = (lastMove.clientX + secondaryPoint.clientX) / 2;
184
+ const y = (lastMove.clientY + secondaryPoint.clientY) / 2;
185
+ this.pinch({ x, y, scale: newDistanceLen / distanceLen });
186
+ this.rotate({ x, y, rotate: angleAB(newDistanceLen, distanceLen, moveLen, secondaryPoint, lastMove, move) });
187
+ }
188
+
189
+ const accuracy = pointerType === 'touch' ? 5 : 0;
190
+ if (
191
+ Math.abs(movementX) > accuracy ||
192
+ Math.abs(movementY) > accuracy ||
193
+ Math.abs(move.clientX - startEvent.clientX) > accuracy ||
194
+ Math.abs(move.clientY - startEvent.clientY) > accuracy
195
+ ) {
196
+ window.clearTimeout(this.pressTimer);
197
+ }
198
+ }
199
+ }
200
+
201
+ onEnd(evt: PointerEvent) {
202
+ evt.stopPropagation();
203
+ const { pointerId } = evt;
204
+ window.clearTimeout(this.pressTimer);
205
+
206
+ if (this.movesMap.size === 1) {
207
+ this.end(null);
208
+ }
209
+
210
+ // auto release: https://javascript.info/pointer-events#pointer-capturing
211
+ if (!this.pressed && this.hasPointerCapture(pointerId)) {
212
+ const moves = this.getMoves(pointerId);
213
+
214
+ if (moves.length > 2) {
215
+ const { x, y, timeStamp, clientX, clientY } = moves[moves.length - 1];
216
+ const move2 = moves[moves.length - 3];
217
+ if (Math.abs(x) > 2) {
218
+ if (Math.abs(x) > Math.abs(y)) {
219
+ const speed = Math.abs(move2.clientX - clientX) / (timeStamp - move2.timeStamp);
220
+ if (x > 0) {
221
+ this.swipe({ direction: 'right', speed });
222
+ } else {
223
+ this.swipe({ direction: 'left', speed });
224
+ }
225
+ }
226
+ }
227
+ if (Math.abs(y) > 2) {
228
+ const speed = Math.abs(move2.clientY - clientY) / (timeStamp - move2.timeStamp);
229
+ if (Math.abs(y) > Math.abs(x)) {
230
+ if (y > 0) {
231
+ this.swipe({ direction: 'bottom', speed });
232
+ } else {
233
+ this.swipe({ direction: 'top', speed });
234
+ }
235
+ }
236
+ }
237
+ }
238
+ }
239
+
240
+ this.movesMap.delete(pointerId);
241
+ this.startEventMap.delete(pointerId);
242
+ }
243
+
244
+ render() {
245
+ return html`
246
+ <style>
247
+ :host {
248
+ display: block;
249
+ user-select: none;
250
+ touch-action: ${this.touchAction || 'none'};
251
+ }
252
+ </style>
253
+ <slot></slot>
254
+ `;
255
+ }
256
+ }
@@ -0,0 +1,178 @@
1
+ import { GemElement, html, ifDefined } from '../../lib/element';
2
+ import { attribute, property, state, part, connectStore } from '../../lib/decorators';
3
+ import { history, basePathStore } from '../../lib/history';
4
+ import { absoluteLocation } from '../../lib/utils';
5
+
6
+ import { matchPath, RouteItem, RouteOptions, createHistoryParams, createPath } from './route';
7
+
8
+ /**
9
+ * @attr href
10
+ * @attr target
11
+ * @attr doc-title
12
+ * @attr path
13
+ * @attr query
14
+ * @attr hash
15
+ * @attr pattern
16
+ * @attr hint
17
+ * @part link
18
+ *
19
+ * print bug: https://github.com/mantou132/gem/issues/36
20
+ */
21
+ @connectStore(basePathStore)
22
+ export class GemLinkElement extends GemElement {
23
+ @attribute href: string;
24
+ @attribute target: string;
25
+ @attribute path: string;
26
+ @attribute query: string;
27
+ @attribute hash: string;
28
+ @attribute docTitle: string;
29
+ @attribute hint: 'on' | 'off';
30
+
31
+ // 动态路由,根据 route.pattern 和 options.params 计算出 path
32
+ @property route: RouteItem | undefined;
33
+ @property options: RouteOptions | undefined;
34
+ @property prepare: (() => void | Promise<void>) | undefined;
35
+
36
+ @part link: string;
37
+
38
+ constructor() {
39
+ super();
40
+ this.tabIndex = 0;
41
+ this.addEventListener('click', this.clickHandle);
42
+ }
43
+
44
+ // 不包含 basePath
45
+ getPathInfo() {
46
+ if (this.route) {
47
+ const queryProp = this.options?.query || '';
48
+ const hashProp = this.options?.hash || '';
49
+ return createPath(this.route, this.options) + queryProp + hashProp;
50
+ } else {
51
+ const url = this.href || this.path + this.query + this.hash;
52
+ const { path, query } = history.getParams();
53
+ if (url.startsWith('#')) {
54
+ return `${path}${query}${url}`;
55
+ } else if (url.startsWith('?')) {
56
+ return `${path}${url}`;
57
+ } else if (url.startsWith('.')) {
58
+ return absoluteLocation(path, url);
59
+ } else {
60
+ return url;
61
+ }
62
+ }
63
+ }
64
+
65
+ isExternal(pathInfo: string) {
66
+ return !pathInfo.startsWith('/');
67
+ }
68
+
69
+ clickHandle = async (e: MouseEvent) => {
70
+ const pathInfo = this.getPathInfo();
71
+
72
+ if (!pathInfo) return;
73
+
74
+ // 外部链接使用 `window.open`
75
+ if (this.isExternal(pathInfo)) {
76
+ switch (this.target) {
77
+ case '_self':
78
+ window.location.href = pathInfo;
79
+ return;
80
+ case '_parent':
81
+ window.parent.location.href = pathInfo;
82
+ return;
83
+ case '_top':
84
+ window.top!.location.href = pathInfo;
85
+ return;
86
+ default:
87
+ window.open(pathInfo);
88
+ return;
89
+ }
90
+ }
91
+
92
+ const { path, query, hash } = history.getParams();
93
+ if (path + query + hash === pathInfo) {
94
+ // 点击当前路由链接时,什么也没做
95
+ return;
96
+ }
97
+
98
+ e.stopPropagation();
99
+
100
+ await this.prepare?.();
101
+
102
+ if (this.route) {
103
+ history.pushIgnoreCloseHandle({
104
+ ...createHistoryParams(this.route, this.options),
105
+ title: this.route.title || this.docTitle,
106
+ });
107
+ } else if (this.href) {
108
+ const { pathname, search, hash } = new URL(pathInfo, location.origin);
109
+ history.pushIgnoreCloseHandle({
110
+ path: pathname,
111
+ query: search,
112
+ hash: hash,
113
+ title: this.docTitle,
114
+ });
115
+ } else {
116
+ history.pushIgnoreCloseHandle({ path: this.path, query: this.query, hash: this.hash, title: this.docTitle });
117
+ }
118
+ };
119
+
120
+ preventDefault = (e: MouseEvent) => {
121
+ e.preventDefault();
122
+ };
123
+
124
+ render(pathInfo = this.getPathInfo()) {
125
+ return html`
126
+ <style>
127
+ :host {
128
+ /* link default style */
129
+ cursor: pointer;
130
+ color: blue;
131
+ text-decoration: underline;
132
+ }
133
+ a {
134
+ all: unset;
135
+ display: contents;
136
+ }
137
+ a:visited {
138
+ color: unset;
139
+ }
140
+ </style>
141
+ <a
142
+ part=${this.link}
143
+ @click=${this.preventDefault}
144
+ href=${ifDefined(
145
+ this.hint === 'off'
146
+ ? undefined
147
+ : this.isExternal(pathInfo)
148
+ ? pathInfo
149
+ : new URL(history.basePath + pathInfo, location.origin).toString(),
150
+ )}
151
+ >
152
+ <slot></slot>
153
+ </a>
154
+ `;
155
+ }
156
+ }
157
+
158
+ /**
159
+ * @attr pattern
160
+ * @state active
161
+ */
162
+ @connectStore(history.store)
163
+ export class GemActiveLinkElement extends GemLinkElement {
164
+ @attribute pattern: string; // 使用匹配模式设定 active
165
+ @state active: boolean;
166
+
167
+ render() {
168
+ const { path, query, hash } = history.getParams();
169
+ const isMatchPattern = this.pattern && matchPath(this.pattern, path);
170
+ const pathInfo = this.getPathInfo();
171
+ if (isMatchPattern || path + query + hash === pathInfo) {
172
+ this.active = true;
173
+ } else {
174
+ this.active = false;
175
+ }
176
+ return super.render(pathInfo);
177
+ }
178
+ }
@@ -1,6 +1,6 @@
1
- import { GemElement } from '../lib/element';
2
- import { createStore, updateStore } from '../lib/store';
3
- import { history } from '../lib/history';
1
+ import { GemElement } from '../../lib/element';
2
+ import { createStore, updateStore } from '../../lib/store';
3
+ import { history } from '../../lib/history';
4
4
 
5
5
  const open = Symbol('open mark');
6
6
 
@@ -0,0 +1,30 @@
1
+ import { GemElement } from '../../lib/element';
2
+ import { property } from '../../lib/decorators';
3
+
4
+ // support prerender
5
+ document.querySelectorAll('[data-reflect]').forEach((e) => e.remove());
6
+
7
+ export class GemReflectElement extends GemElement {
8
+ @property target: HTMLElement = document.head;
9
+
10
+ constructor() {
11
+ super({ isLight: true });
12
+ this.hidden = true;
13
+ this.dataset.gemreflect = '';
14
+ this.effect(
15
+ () => {
16
+ const childNodes = [...this.childNodes];
17
+ childNodes.forEach((node) => {
18
+ if (node instanceof HTMLElement) {
19
+ node.dataset.reflect = '';
20
+ }
21
+ this.target.append(node);
22
+ });
23
+ return () => {
24
+ childNodes.forEach((node) => node.remove());
25
+ };
26
+ },
27
+ () => [this.target],
28
+ );
29
+ }
30
+ }