duoyun-ui 1.1.1 → 1.1.3

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 (47) hide show
  1. package/elements/base/resize.d.ts.map +1 -1
  2. package/elements/base/resize.js +10 -8
  3. package/elements/base/resize.js.map +1 -1
  4. package/elements/base/visible.d.ts +2 -0
  5. package/elements/base/visible.d.ts.map +1 -1
  6. package/elements/base/visible.js +21 -12
  7. package/elements/base/visible.js.map +1 -1
  8. package/elements/base/wake-lock.d.ts +8 -0
  9. package/elements/base/wake-lock.d.ts.map +1 -0
  10. package/elements/base/wake-lock.js +41 -0
  11. package/elements/base/wake-lock.js.map +1 -0
  12. package/elements/list.d.ts +48 -8
  13. package/elements/list.d.ts.map +1 -1
  14. package/elements/list.js +483 -52
  15. package/elements/list.js.map +1 -1
  16. package/elements/popover.d.ts.map +1 -1
  17. package/elements/popover.js +5 -4
  18. package/elements/popover.js.map +1 -1
  19. package/elements/table.d.ts +2 -0
  20. package/elements/table.d.ts.map +1 -1
  21. package/elements/table.js +4 -1
  22. package/elements/table.js.map +1 -1
  23. package/lib/element.d.ts +3 -1
  24. package/lib/element.d.ts.map +1 -1
  25. package/lib/element.js +14 -2
  26. package/lib/element.js.map +1 -1
  27. package/lib/styles.d.ts +2 -0
  28. package/lib/styles.d.ts.map +1 -1
  29. package/lib/styles.js +14 -0
  30. package/lib/styles.js.map +1 -1
  31. package/lib/utils.d.ts +8 -3
  32. package/lib/utils.d.ts.map +1 -1
  33. package/lib/utils.js +14 -14
  34. package/lib/utils.js.map +1 -1
  35. package/package.json +14 -6
  36. package/react/DyList.d.ts +5 -0
  37. package/react/DyList.js +1 -1
  38. package/react/DyListItem.d.ts +3 -0
  39. package/react/DyListOutside.d.ts +15 -0
  40. package/react/DyListOutside.js +17 -0
  41. package/react/DyTable.d.ts +2 -0
  42. package/svelte/list.d.ts +3 -0
  43. package/svelte/table.d.ts +2 -0
  44. package/vue/DyList.vue +18 -4
  45. package/vue/DyListItem.vue +10 -4
  46. package/vue/DyListOutside.vue +42 -0
  47. package/vue/DyTable.vue +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../src/elements/base/resize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAIxE,qBAAa,uBAAuB,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,UAAU;IAC1E,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;gBAEtC,OAAO,GAAE,iBAAiB,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;IAsBpE,aAAa;;;MAGX;IAEF,WAAW;;;MAGT;CACH"}
1
+ {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../src/elements/base/resize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAIxE,qBAAa,uBAAuB,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,UAAU;IAC1E,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;gBAEtC,OAAO,GAAE,iBAAiB,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;IAwBpE,aAAa;;;MAGX;IAEF,WAAW;;;MAGT;CACH"}
@@ -19,14 +19,16 @@ export class DuoyunResizeBaseElement extends GemElement {
19
19
  width: 0,
20
20
  };
21
21
  const { throttle: needThrottle = true } = options;
22
- const callback = ([entry]) => {
23
- var _a;
24
- this.contentRect = entry.contentRect;
25
- this.borderBoxSize = ((_a = entry.borderBoxSize) === null || _a === void 0 ? void 0 : _a[0])
26
- ? entry.borderBoxSize[0]
27
- : { blockSize: this.contentRect.height, inlineSize: this.contentRect.width };
28
- this.update();
29
- this.resize(this);
22
+ const callback = (entryList) => {
23
+ entryList.forEach((entry) => {
24
+ var _a;
25
+ this.contentRect = entry.contentRect;
26
+ this.borderBoxSize = ((_a = entry.borderBoxSize) === null || _a === void 0 ? void 0 : _a[0])
27
+ ? entry.borderBoxSize[0]
28
+ : { blockSize: this.contentRect.height, inlineSize: this.contentRect.width };
29
+ this.update();
30
+ this.resize(this);
31
+ });
30
32
  };
31
33
  const throttleCallback = needThrottle ? throttle(callback, 300, { leading: true }) : callback;
32
34
  this.effect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../src/elements/base/resize.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAqB,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,OAAO,uBAAsD,SAAQ,UAAU;IAGnF,YAAY,UAAsD,EAAE;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC;QAqBjB,kBAAa,GAAG;YACd,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACd,CAAC;QAEF,gBAAW,GAAG;YACZ,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACT,CAAC;QA5BA,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAClD,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAwB,EAAE,EAAE;;YAClD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,KAAK,CAAC,aAAa,0CAAG,CAAC,CAAC;gBAC3C,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;gBACxB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9F,IAAI,CAAC,MAAM,CACT,GAAG,EAAE;YACH,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAChD,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrB,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;QAC/B,CAAC,EACD,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;IACJ,CAAC;CAWF;AAjCU;IAAR,OAAO;uDAA0C"}
1
+ {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../src/elements/base/resize.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAqB,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,OAAO,uBAAsD,SAAQ,UAAU;IAGnF,YAAY,UAAsD,EAAE;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC;QAuBjB,kBAAa,GAAG;YACd,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACd,CAAC;QAEF,gBAAW,GAAG;YACZ,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;SACT,CAAC;QA9BA,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAClD,MAAM,QAAQ,GAAG,CAAC,SAAgC,EAAE,EAAE;YACpD,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;;gBAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;gBACrC,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,KAAK,CAAC,aAAa,0CAAG,CAAC,CAAC;oBAC3C,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9F,IAAI,CAAC,MAAM,CACT,GAAG,EAAE;YACH,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAChD,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrB,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;QAC/B,CAAC,EACD,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;IACJ,CAAC;CAWF;AAnCU;IAAR,OAAO;uDAA0C"}
@@ -1,5 +1,6 @@
1
1
  import { Emitter } from '@mantou/gem/lib/decorators';
2
2
  import { GemElement, GemElementOptions } from '@mantou/gem/lib/element';
3
+ export declare function visibilityObserver(ele: DuoyunVisibleBaseElement): () => void;
3
4
  /**
4
5
  * @fires show
5
6
  * @fires hide
@@ -8,6 +9,7 @@ export declare class DuoyunVisibleBaseElement<_T = Record<string, unknown>> exte
8
9
  show: Emitter;
9
10
  hide: Emitter;
10
11
  visible: boolean;
12
+ intersectionRoot?: Element | Document;
11
13
  constructor(options?: GemElementOptions);
12
14
  }
13
15
  //# sourceMappingURL=visible.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"visible.d.ts","sourceRoot":"","sources":["../../src/elements/base/visible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAS,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExE;;;GAGG;AACH,qBAAa,wBAAwB,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,UAAU;IAC3E,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IAEhB,OAAO,EAAE,OAAO,CAAC;gBAEZ,OAAO,CAAC,EAAE,iBAAiB;CAaxC"}
1
+ {"version":3,"file":"visible.d.ts","sourceRoot":"","sources":["../../src/elements/base/visible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAmB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,wBAAwB,cAiB/D;AAED;;;GAGG;AACH,qBAAa,wBAAwB,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,UAAU;IAC3E,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IAEhB,OAAO,EAAE,OAAO,CAAC;IAEd,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;gBAEpC,OAAO,CAAC,EAAE,iBAAiB;CAOxC"}
@@ -4,8 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { emitter, state } from '@mantou/gem/lib/decorators';
7
+ import { emitter, property, state } from '@mantou/gem/lib/decorators';
8
8
  import { GemElement } from '@mantou/gem/lib/element';
9
+ export function visibilityObserver(ele) {
10
+ const io = new IntersectionObserver((entries) => {
11
+ entries.forEach(({ intersectionRatio }) => {
12
+ if (intersectionRatio > 0) {
13
+ ele.visible = true;
14
+ ele.show(null);
15
+ }
16
+ else {
17
+ ele.visible = false;
18
+ ele.hide(null);
19
+ }
20
+ });
21
+ }, { root: ele.intersectionRoot });
22
+ io.observe(ele);
23
+ return () => io.disconnect();
24
+ }
9
25
  /**
10
26
  * @fires show
11
27
  * @fires hide
@@ -13,17 +29,7 @@ import { GemElement } from '@mantou/gem/lib/element';
13
29
  export class DuoyunVisibleBaseElement extends GemElement {
14
30
  constructor(options) {
15
31
  super(options);
16
- new IntersectionObserver((entries) => {
17
- const { intersectionRatio } = entries.pop();
18
- if (intersectionRatio > 0) {
19
- this.visible = true;
20
- this.show(null);
21
- }
22
- else {
23
- this.visible = false;
24
- this.hide(null);
25
- }
26
- }).observe(this);
32
+ this.effect(() => visibilityObserver(this), () => [this.intersectionRoot]);
27
33
  }
28
34
  }
29
35
  __decorate([
@@ -35,4 +41,7 @@ __decorate([
35
41
  __decorate([
36
42
  state
37
43
  ], DuoyunVisibleBaseElement.prototype, "visible", void 0);
44
+ __decorate([
45
+ property
46
+ ], DuoyunVisibleBaseElement.prototype, "intersectionRoot", void 0);
38
47
  //# sourceMappingURL=visible.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visible.js","sourceRoot":"","sources":["../../src/elements/base/visible.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAW,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAqB,MAAM,yBAAyB,CAAC;AAExE;;;GAGG;AACH,MAAM,OAAO,wBAAuD,SAAQ,UAAU;IAMpF,YAAY,OAA2B;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAG,CAAC;YAC7C,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;CACF;AAlBU;IAAR,OAAO;sDAAe;AACd;IAAR,OAAO;sDAAe;AAEhB;IAAN,KAAK;yDAAkB"}
1
+ {"version":3,"file":"visible.js","sourceRoot":"","sources":["../../src/elements/base/visible.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAW,QAAQ,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAqB,MAAM,yBAAyB,CAAC;AAExE,MAAM,UAAU,kBAAkB,CAAC,GAA6B;IAC9D,MAAM,EAAE,GAAG,IAAI,oBAAoB,CACjC,CAAC,OAAO,EAAE,EAAE;QACV,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE;YACxC,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EACD,EAAE,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAC/B,CAAC;IACF,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,wBAAuD,SAAQ,UAAU;IAQpF,YAAY,OAA2B;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,CACT,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAC9B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAC9B,CAAC;IACJ,CAAC;CACF;AAdU;IAAR,OAAO;sDAAe;AACd;IAAR,OAAO;sDAAe;AAEhB;IAAN,KAAK;yDAAkB;AAEd;IAAT,QAAQ;kEAAuC"}
@@ -0,0 +1,8 @@
1
+ /**只要元素显示在屏幕内,屏幕就不会自动熄灭 */
2
+ import { GemElementOptions } from '@mantou/gem/lib/element';
3
+ import { DuoyunVisibleBaseElement } from './visible';
4
+ export declare function wakeLock(ele: DuoyunWakeLockBaseElement): () => Promise<void>;
5
+ export declare class DuoyunWakeLockBaseElement<_T = Record<string, unknown>> extends DuoyunVisibleBaseElement {
6
+ constructor(options?: GemElementOptions);
7
+ }
8
+ //# sourceMappingURL=wake-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wake-lock.d.ts","sourceRoot":"","sources":["../../src/elements/base/wake-lock.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,yBAAyB,uBAgCtD;AAED,qBAAa,yBAAyB,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,wBAAwB;gBACvF,OAAO,CAAC,EAAE,iBAAiB;CAOxC"}
@@ -0,0 +1,41 @@
1
+ /**只要元素显示在屏幕内,屏幕就不会自动熄灭 */
2
+ import { DuoyunVisibleBaseElement } from './visible';
3
+ export function wakeLock(ele) {
4
+ let wakeLockPromise = null;
5
+ const listener = async () => {
6
+ var _a, _b;
7
+ if (document.visibilityState === 'visible' && ele.visible) {
8
+ wakeLockPromise = (_a = navigator.wakeLock) === null || _a === void 0 ? void 0 : _a.request('screen');
9
+ // log
10
+ wakeLockPromise === null || wakeLockPromise === void 0 ? void 0 : wakeLockPromise.then((wakeLock) => {
11
+ // eslint-disable-next-line no-console
12
+ console.info('wake lock created!');
13
+ wakeLock.addEventListener('release', () => {
14
+ // eslint-disable-next-line no-console
15
+ console.info('wake lock released!');
16
+ });
17
+ });
18
+ }
19
+ else {
20
+ (_b = (await wakeLockPromise)) === null || _b === void 0 ? void 0 : _b.release();
21
+ }
22
+ };
23
+ // 当页面处于非活动状态时该锁自动失效
24
+ document.addEventListener('visibilitychange', listener);
25
+ ele.addEventListener('show', listener);
26
+ ele.addEventListener('hide', listener);
27
+ return async () => {
28
+ var _a;
29
+ document.removeEventListener('visibilitychange', listener);
30
+ ele.removeEventListener('show', listener);
31
+ ele.removeEventListener('hide', listener);
32
+ (_a = (await wakeLockPromise)) === null || _a === void 0 ? void 0 : _a.release();
33
+ };
34
+ }
35
+ export class DuoyunWakeLockBaseElement extends DuoyunVisibleBaseElement {
36
+ constructor(options) {
37
+ super(options);
38
+ this.effect(() => wakeLock(this), () => []);
39
+ }
40
+ }
41
+ //# sourceMappingURL=wake-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wake-lock.js","sourceRoot":"","sources":["../../src/elements/base/wake-lock.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAI1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,UAAU,QAAQ,CAAC,GAA8B;IACrD,IAAI,eAAe,GAAqC,IAAI,CAAC;IAE7D,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;;QAC1B,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC1D,eAAe,GAAG,MAAA,SAAS,CAAC,QAAQ,0CAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAExD,MAAM;YACN,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjC,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACnC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;oBACxC,sCAAsC;oBACtC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAA,CAAC,MAAM,eAAe,CAAC,0CAAE,OAAO,EAAE,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEF,oBAAoB;IACpB,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACxD,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,OAAO,KAAK,IAAI,EAAE;;QAChB,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAC3D,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1C,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAA,CAAC,MAAM,eAAe,CAAC,0CAAE,OAAO,EAAE,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,yBAAwD,SAAQ,wBAAwB;IACnG,YAAY,OAA2B;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,CACT,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpB,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;IACJ,CAAC;CACF"}
@@ -1,32 +1,72 @@
1
+ import { RefObject, Emitter } from '@mantou/gem/lib/decorators';
1
2
  import { GemElement, TemplateResult } from '@mantou/gem/lib/element';
2
3
  import type { Status } from './status-light';
4
+ import { DuoyunVisibleBaseElement } from './base/visible';
5
+ import { DuoyunResizeBaseElement } from './base/resize';
3
6
  import './avatar';
4
7
  import './divider';
5
- type Item = {
8
+ export type Item = {
6
9
  title: string | TemplateResult;
7
10
  description?: string | TemplateResult;
8
11
  avatar?: string | TemplateResult;
9
12
  status?: Status;
10
13
  };
14
+ type Key = string | number;
15
+ type State = {
16
+ beforeHeight: number;
17
+ renderList: Key[];
18
+ afterHeight: number;
19
+ };
20
+ export type PersistentState = State & {
21
+ scrollTop: number;
22
+ };
23
+ export declare class DuoyunOutsideElement extends DuoyunVisibleBaseElement {
24
+ }
11
25
  /**
12
26
  * @customElement dy-list
13
27
  */
14
- export declare class DuoyunListElement extends GemElement {
28
+ export declare class DuoyunListElement extends GemElement<State> {
15
29
  #private;
30
+ static item: string;
31
+ static beforeOutside: string;
32
+ static afterOutside: string;
33
+ static before: string;
34
+ static after: string;
16
35
  /**@deprecated */
17
- data?: Item[];
18
- items?: Item[];
19
- renderItem?: (item: Item) => TemplateResult;
36
+ data?: any[];
37
+ items?: any[];
38
+ renderItem?: (item: any) => TemplateResult;
39
+ /**enable infinite scroll */
40
+ infinite: boolean;
41
+ /**If infinite scrolling is enabled, this method must be provided */
42
+ getKey?: (item: any) => Key;
43
+ forward: Emitter;
44
+ backward: Emitter;
45
+ itemshow: Emitter<any>;
46
+ beforeItemRef: RefObject<DuoyunOutsideElement>;
47
+ afterItemRef: RefObject<DuoyunOutsideElement>;
20
48
  constructor();
49
+ state: State;
50
+ willMount: () => void;
51
+ mounted: () => void;
21
52
  render: () => TemplateResult;
53
+ set persistentState(initState: PersistentState | undefined);
54
+ get persistentState(): PersistentState;
55
+ scrollContainer: HTMLElement;
22
56
  }
23
57
  /**
24
58
  * @customElement dy-list-item
25
59
  */
26
- export declare class DuoyunListItemElement extends GemElement {
27
- item?: Item;
28
- renderItem?: (item: Item) => TemplateResult;
60
+ export declare class DuoyunListItemElement extends DuoyunResizeBaseElement implements DuoyunVisibleBaseElement {
61
+ #private;
62
+ show: Emitter;
63
+ hide: Emitter;
64
+ visible: boolean;
65
+ intersectionRoot?: Element | Document;
66
+ item?: any;
67
+ renderItem?: (item: any) => TemplateResult;
29
68
  constructor();
69
+ willMount(): void | Promise<void>;
30
70
  render: () => TemplateResult;
31
71
  }
32
72
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../src/elements/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAK3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,UAAU,CAAC;AAClB,OAAO,WAAW,CAAC;AAEnB,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAWF;;GAEG;AACH,qBAEa,iBAAkB,SAAQ,UAAU;;IAC/C,iBAAiB;IACP,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC;;IAWtD,MAAM,uBAOJ;CACH;AA4BD;;GAEG;AACH,qBAEa,qBAAsB,SAAQ,UAAU;IACzC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC;;IAOtD,MAAM,uBAoBJ;CACH"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../src/elements/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,SAAS,EAET,OAAO,EAER,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQ3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAsB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,UAAU,CAAC;AAClB,OAAO,WAAW,CAAC;AAEnB,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3B,KAAK,KAAK,GAAG;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAEa,oBAAqB,SAAQ,wBAAwB;CAAG;AAQrE;;GAEG;AACH,qBAGa,iBAAkB,SAAQ,UAAU,CAAC,KAAK,CAAC;;IAChD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;IAC3B,iBAAiB;IACP,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,cAAc,CAAC;IAErD,4BAA4B;IACb,QAAQ,EAAE,OAAO,CAAC;IACjC,oEAAoE;IAC1D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,aAAa,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC/C,YAAY,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;;IAmBzD,KAAK,EAAE,KAAK,CAIV;IAuPF,SAAS,aAyCP;IAEF,OAAO,aAeL;IAEF,MAAM,uBAiCJ;IAEF,IAAI,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,EAEzD;IAED,IAAI,eAAe,IAAI,eAAe,CAKrC;IAGD,eAAe,cAA4B;CAC5C;AAiCD;;GAEG;AACH,qBAGa,qBAAsB,SAAQ,uBAAwB,YAAW,wBAAwB;;IAC3F,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IAEhB,OAAO,EAAE,OAAO,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAEtC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,cAAc,CAAC;;IAYrD,SAAS,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjC,MAAM,uBAuBJ;CACH"}