@tarojs/components-advanced 3.6.10-alpha.2 → 3.6.10-alpha.4

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 (78) hide show
  1. package/dist/components/index.d.ts +0 -1
  2. package/dist/components/index.js +0 -1
  3. package/dist/components/index.js.map +1 -1
  4. package/dist/components/virtual-list/index.d.ts +27 -48
  5. package/dist/components/virtual-list/index.js.map +1 -1
  6. package/dist/components/virtual-list/list-set.d.ts +0 -4
  7. package/dist/components/virtual-list/list-set.js +59 -24
  8. package/dist/components/virtual-list/list-set.js.map +1 -1
  9. package/dist/components/virtual-list/preset.d.ts +8 -23
  10. package/dist/components/virtual-list/preset.js +60 -116
  11. package/dist/components/virtual-list/preset.js.map +1 -1
  12. package/dist/components/virtual-list/react/index.d.ts +1 -1
  13. package/dist/components/virtual-list/react/index.js +16 -8
  14. package/dist/components/virtual-list/react/index.js.map +1 -1
  15. package/dist/components/virtual-list/react/list.d.ts +4 -5
  16. package/dist/components/virtual-list/react/list.js +124 -138
  17. package/dist/components/virtual-list/react/list.js.map +1 -1
  18. package/dist/components/virtual-list/react/validate.d.ts +1 -1
  19. package/dist/components/virtual-list/react/validate.js +14 -8
  20. package/dist/components/virtual-list/react/validate.js.map +1 -1
  21. package/dist/components/virtual-list/utils.d.ts +4 -1
  22. package/dist/components/virtual-list/utils.js +28 -1
  23. package/dist/components/virtual-list/utils.js.map +1 -1
  24. package/dist/components/virtual-list/vue/list.d.ts +50 -406
  25. package/dist/components/virtual-list/vue/list.js +169 -198
  26. package/dist/components/virtual-list/vue/list.js.map +1 -1
  27. package/dist/components/virtual-list/vue/render.d.ts +4 -0
  28. package/dist/{utils/vue-render.js → components/virtual-list/vue/render.js} +2 -2
  29. package/dist/components/virtual-list/vue/render.js.map +1 -0
  30. package/dist/index.js +1 -4
  31. package/dist/index.js.map +1 -1
  32. package/dist/utils/convert.d.ts +2 -2
  33. package/dist/utils/convert.js.map +1 -1
  34. package/dist/utils/index.d.ts +0 -2
  35. package/dist/utils/index.js +1 -3
  36. package/dist/utils/index.js.map +1 -1
  37. package/dist/utils/lodash.d.ts +1 -3
  38. package/dist/utils/lodash.js +1 -30
  39. package/dist/utils/lodash.js.map +1 -1
  40. package/package.json +6 -8
  41. package/dist/components/virtual-list/react/wrapper.d.ts +0 -3
  42. package/dist/components/virtual-list/react/wrapper.js +0 -58
  43. package/dist/components/virtual-list/react/wrapper.js.map +0 -1
  44. package/dist/components/virtual-waterfall/constants.d.ts +0 -2
  45. package/dist/components/virtual-waterfall/constants.js +0 -4
  46. package/dist/components/virtual-waterfall/constants.js.map +0 -1
  47. package/dist/components/virtual-waterfall/index.d.ts +0 -251
  48. package/dist/components/virtual-waterfall/index.js +0 -6
  49. package/dist/components/virtual-waterfall/index.js.map +0 -1
  50. package/dist/components/virtual-waterfall/list-map.d.ts +0 -50
  51. package/dist/components/virtual-waterfall/list-map.js +0 -280
  52. package/dist/components/virtual-waterfall/list-map.js.map +0 -1
  53. package/dist/components/virtual-waterfall/preset.d.ts +0 -60
  54. package/dist/components/virtual-waterfall/preset.js +0 -170
  55. package/dist/components/virtual-waterfall/preset.js.map +0 -1
  56. package/dist/components/virtual-waterfall/react/index.d.ts +0 -4
  57. package/dist/components/virtual-waterfall/react/index.js +0 -26
  58. package/dist/components/virtual-waterfall/react/index.js.map +0 -1
  59. package/dist/components/virtual-waterfall/react/waterfall.d.ts +0 -42
  60. package/dist/components/virtual-waterfall/react/waterfall.js +0 -316
  61. package/dist/components/virtual-waterfall/react/waterfall.js.map +0 -1
  62. package/dist/components/virtual-waterfall/react/wrapper.d.ts +0 -3
  63. package/dist/components/virtual-waterfall/react/wrapper.js +0 -50
  64. package/dist/components/virtual-waterfall/react/wrapper.js.map +0 -1
  65. package/dist/components/virtual-waterfall/vue/index.d.ts +0 -17
  66. package/dist/components/virtual-waterfall/vue/index.js +0 -12
  67. package/dist/components/virtual-waterfall/vue/index.js.map +0 -1
  68. package/dist/components/virtual-waterfall/vue/waterfall.d.ts +0 -443
  69. package/dist/components/virtual-waterfall/vue/waterfall.js +0 -410
  70. package/dist/components/virtual-waterfall/vue/waterfall.js.map +0 -1
  71. package/dist/utils/dom.d.ts +0 -7
  72. package/dist/utils/dom.js +0 -45
  73. package/dist/utils/dom.js.map +0 -1
  74. package/dist/utils/helper.d.ts +0 -10
  75. package/dist/utils/helper.js +0 -51
  76. package/dist/utils/helper.js.map +0 -1
  77. package/dist/utils/vue-render.d.ts +0 -4
  78. package/dist/utils/vue-render.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sources":["../../../../src/components/virtual-list/react/validate.ts"],"sourcesContent":["import type { IProps } from '../preset'\nimport type { IState } from './list'\n\nlet devWarningsDirection = null\nlet devWarningsTagName = null\n\nif (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined' && typeof window.WeakSet !== 'undefined') {\n devWarningsDirection = /* #__PURE__ */ new WeakSet()\n devWarningsTagName = /* #__PURE__ */ new WeakSet()\n }\n}\n\nexport const validateListProps = ({\n item,\n direction,\n layout,\n itemTagName,\n innerTagName,\n outerTagName,\n itemSize\n}: IProps, {\n instance,\n}: IState) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!['number', 'function'].includes(typeof itemSize)) {\n throw Error('An invalid \"itemSize\" prop has been specified. ' + 'Value should be a number or function. ' + `\"${itemSize === null ? 'null' : typeof itemSize}\" was specified.`)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (innerTagName != null || outerTagName != null || itemTagName != null) {\n if (devWarningsTagName && !devWarningsTagName.has(instance)) {\n devWarningsTagName.add(instance)\n console.warn('The itemTagName、innerTagName and outerTagName props have been deprecated. ' + 'Please use the itemElementType、innerElementType and outerElementType props instead.')\n }\n }\n\n switch (direction as string) {\n case 'horizontal':\n case 'vertical':\n if (devWarningsDirection && !devWarningsDirection.has(instance)) {\n devWarningsDirection.add(instance)\n console.warn('The direction prop should be either \"ltr\" (default) or \"rtl\". ' + 'Please use the layout prop to specify \"vertical\" (default) or \"horizontal\" orientation.')\n }\n\n break\n\n case 'ltr':\n case 'rtl':\n // Valid values\n break\n\n default:\n throw Error('An invalid \"direction\" prop has been specified. ' + 'Value should be either \"ltr\" or \"rtl\". ' + `\"${direction}\" was specified.`)\n }\n\n switch (layout) {\n case 'horizontal':\n case 'vertical':\n // Valid values\n break\n\n default:\n throw Error('An invalid \"layout\" prop has been specified. ' + 'Value should be either \"horizontal\" or \"vertical\". ' + `\"${layout}\" was specified.`)\n }\n\n if (item == null) {\n throw Error('An invalid \"item\" prop has been specified. ' + 'Value should be a React component. ' + `\"${item === null ? 'null' : typeof item}\" was specified.`)\n }\n\n // if (isHorizontal && typeof width !== 'number') {\n // throw Error('An invalid \"width\" prop has been specified. ' + 'Horizontal lists must specify a number for width. ' + `\"${width === null ? 'null' : typeof width}\" was specified.`)\n // } else if (!isHorizontal && typeof height !== 'number') {\n // throw Error('An invalid \"height\" prop has been specified. ' + 'Vertical lists must specify a number for height. ' + `\"${height === null ? 'null' : typeof height}\" was specified.`)\n // }\n }\n\n return null\n}\n"],"names":[],"mappings":"AAGA,IAAI,oBAAoB,GAAG,IAAI,CAAA;AAC/B,IAAI,kBAAkB,GAAG,IAAI,CAAA;AAE7B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IACzC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE;AAC1E,QAAA,oBAAoB,mBAAmB,IAAI,OAAO,EAAE,CAAA;AACpD,QAAA,kBAAkB,mBAAmB,IAAI,OAAO,EAAE,CAAA;AACnD,KAAA;AACF,CAAA;AAEY,MAAA,iBAAiB,GAAG,CAAC,EAChC,IAAI,EACJ,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,EACD,EAAE,EACT,QAAQ,GACD,KAAI;AACX,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AACzC,QAAA,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,QAAQ,CAAC,EAAE;YACrD,MAAM,KAAK,CAAC,iDAAiD,GAAG,wCAAwC,GAAG,CAAA,CAAA,EAAI,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,QAAQ,CAAkB,gBAAA,CAAA,CAAC,CAAA;AAC/K,SAAA;AACF,KAAA;AAED,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,EAAE;YACvE,IAAI,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAC3D,gBAAA,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAChC,gBAAA,OAAO,CAAC,IAAI,CAAC,4EAA4E,GAAG,qFAAqF,CAAC,CAAA;AACnL,aAAA;AACF,SAAA;AAED,QAAA,QAAQ,SAAmB;AACzB,YAAA,KAAK,YAAY,CAAC;AAClB,YAAA,KAAK,UAAU;gBACb,IAAI,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAC/D,oBAAA,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAClC,oBAAA,OAAO,CAAC,IAAI,CAAC,gEAAgE,GAAG,yFAAyF,CAAC,CAAA;AAC3K,iBAAA;gBAED,MAAK;AAEP,YAAA,KAAK,KAAK,CAAC;AACX,YAAA,KAAK,KAAK;;gBAER,MAAK;AAEP,YAAA;gBACE,MAAM,KAAK,CAAC,kDAAkD,GAAG,yCAAyC,GAAG,CAAI,CAAA,EAAA,SAAS,CAAkB,gBAAA,CAAA,CAAC,CAAA;AAChJ,SAAA;AAED,QAAA,QAAQ,MAAM;AACZ,YAAA,KAAK,YAAY,CAAC;AAClB,YAAA,KAAK,UAAU;;gBAEb,MAAK;AAEP,YAAA;gBACE,MAAM,KAAK,CAAC,+CAA+C,GAAG,qDAAqD,GAAG,CAAI,CAAA,EAAA,MAAM,CAAkB,gBAAA,CAAA,CAAC,CAAA;AACtJ,SAAA;QAED,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,MAAM,KAAK,CAAC,6CAA6C,GAAG,qCAAqC,GAAG,CAAA,CAAA,EAAI,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,IAAI,CAAkB,gBAAA,CAAA,CAAC,CAAA;AAChK,SAAA;;;;;;AAOF,KAAA;AAED,IAAA,OAAO,IAAI,CAAA;AACb;;;;"}
1
+ {"version":3,"file":"validate.js","sources":["../../../../src/components/virtual-list/react/validate.ts"],"sourcesContent":["import type { IProps } from '../preset'\nimport type { IState } from './list'\n\nlet devWarningsDirection = null\nlet devWarningsTagName = null\n\nif (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined' && typeof window.WeakSet !== 'undefined') {\n devWarningsDirection =\n /* #__PURE__ */\n new WeakSet()\n devWarningsTagName =\n /* #__PURE__ */\n new WeakSet()\n }\n}\n\nexport const validateListProps = ({\n item,\n direction,\n height,\n layout,\n itemTagName,\n innerTagName,\n outerTagName,\n width,\n itemSize\n}: IProps, {\n instance,\n}: IState) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!['number', 'function'].includes(typeof itemSize)) {\n throw Error('An invalid \"itemSize\" prop has been specified. ' + 'Value should be a number or function. ' + `\"${itemSize === null ? 'null' : typeof itemSize}\" was specified.`)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (innerTagName != null || outerTagName != null || itemTagName != null) {\n if (devWarningsTagName && !devWarningsTagName.has(instance)) {\n devWarningsTagName.add(instance)\n console.warn('The itemTagName、innerTagName and outerTagName props have been deprecated. ' + 'Please use the itemElementType、innerElementType and outerElementType props instead.')\n }\n }\n\n const isHorizontal = direction as string === 'horizontal' || layout === 'horizontal'\n\n switch (direction as string) {\n case 'horizontal':\n case 'vertical':\n if (devWarningsDirection && !devWarningsDirection.has(instance)) {\n devWarningsDirection.add(instance)\n console.warn('The direction prop should be either \"ltr\" (default) or \"rtl\". ' + 'Please use the layout prop to specify \"vertical\" (default) or \"horizontal\" orientation.')\n }\n\n break\n\n case 'ltr':\n case 'rtl':\n // Valid values\n break\n\n default:\n throw Error('An invalid \"direction\" prop has been specified. ' + 'Value should be either \"ltr\" or \"rtl\". ' + `\"${direction}\" was specified.`)\n }\n\n switch (layout) {\n case 'horizontal':\n case 'vertical':\n // Valid values\n break\n\n default:\n throw Error('An invalid \"layout\" prop has been specified. ' + 'Value should be either \"horizontal\" or \"vertical\". ' + `\"${layout}\" was specified.`)\n }\n\n if (item == null) {\n throw Error('An invalid \"item\" prop has been specified. ' + 'Value should be a React component. ' + `\"${item === null ? 'null' : typeof item}\" was specified.`)\n }\n\n if (isHorizontal && typeof width !== 'number') {\n throw Error('An invalid \"width\" prop has been specified. ' + 'Horizontal lists must specify a number for width. ' + `\"${width === null ? 'null' : typeof width}\" was specified.`)\n } else if (!isHorizontal && typeof height !== 'number') {\n throw Error('An invalid \"height\" prop has been specified. ' + 'Vertical lists must specify a number for height. ' + `\"${height === null ? 'null' : typeof height}\" was specified.`)\n }\n }\n\n return null\n}\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ declare const defaultItemKey: (index: number, _itemData?: unknown) => number;
1
2
  interface IHorizontal {
2
3
  direction?: string;
3
4
  layout?: string;
@@ -7,4 +8,6 @@ interface IRrl {
7
8
  direction?: string;
8
9
  }
9
10
  declare function isRtlFunc({ direction }: IRrl): boolean;
10
- export { isHorizontalFunc, isRtlFunc };
11
+ declare function getRectSize(id: string, success?: TFunc, fail?: TFunc, retryMs?: number): void;
12
+ declare function getScrollViewContextNode(id: string): Promise<unknown>;
13
+ export { defaultItemKey, isHorizontalFunc, isRtlFunc, getRectSize, getScrollViewContextNode };
@@ -1,9 +1,36 @@
1
+ import { createSelectorQuery } from '@tarojs/taro';
2
+
3
+ // In DEV mode, this Set helps us only log a warning once per component instance.
4
+ // This avoids spamming the console every time a render happens.
5
+ const defaultItemKey = (index, _itemData) => index;
1
6
  function isHorizontalFunc({ direction, layout }) {
2
7
  return direction === 'horizontal' || layout === 'horizontal';
3
8
  }
4
9
  function isRtlFunc({ direction }) {
5
10
  return direction === 'rtl';
6
11
  }
12
+ function getRectSize(id, success, fail, retryMs = 500) {
13
+ const query = createSelectorQuery();
14
+ try {
15
+ query.select(id).boundingClientRect((res) => {
16
+ if (res) {
17
+ success === null || success === void 0 ? void 0 : success(res);
18
+ }
19
+ else {
20
+ fail === null || fail === void 0 ? void 0 : fail();
21
+ }
22
+ }).exec();
23
+ }
24
+ catch (err) {
25
+ setTimeout(() => {
26
+ getRectSize(id, success, fail, retryMs);
27
+ }, retryMs);
28
+ }
29
+ }
30
+ async function getScrollViewContextNode(id) {
31
+ const query = createSelectorQuery();
32
+ return new Promise((resolve) => query.select(id).node(({ node }) => resolve(node)).exec());
33
+ }
7
34
 
8
- export { isHorizontalFunc, isRtlFunc };
35
+ export { defaultItemKey, getRectSize, getScrollViewContextNode, isHorizontalFunc, isRtlFunc };
9
36
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/components/virtual-list/utils.ts"],"sourcesContent":["interface IHorizontal {\n direction?: string\n layout?: string\n}\nexport function isHorizontalFunc ({ direction, layout }: IHorizontal) {\n return direction === 'horizontal' || layout === 'horizontal'\n}\ninterface IRrl {\n direction?: string\n}\nexport function isRtlFunc ({ direction }: IRrl) {\n return direction === 'rtl'\n}\n"],"names":[],"mappings":"SAIgB,gBAAgB,CAAE,EAAE,SAAS,EAAE,MAAM,EAAe,EAAA;AAClE,IAAA,OAAO,SAAS,KAAK,YAAY,IAAI,MAAM,KAAK,YAAY,CAAA;AAC9D,CAAC;AAIe,SAAA,SAAS,CAAE,EAAE,SAAS,EAAQ,EAAA;IAC5C,OAAO,SAAS,KAAK,KAAK,CAAA;AAC5B;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/virtual-list/utils.ts"],"sourcesContent":["import { createSelectorQuery } from '@tarojs/taro'\n\n// In DEV mode, this Set helps us only log a warning once per component instance.\n// This avoids spamming the console every time a render happens.\nexport const defaultItemKey = (index: number, _itemData?: unknown) => index\n\ninterface IHorizontal {\n direction?: string\n layout?: string\n}\nexport function isHorizontalFunc ({ direction, layout }: IHorizontal) {\n return direction === 'horizontal' || layout === 'horizontal'\n}\ninterface IRrl {\n direction?: string\n}\nexport function isRtlFunc ({ direction }: IRrl) {\n return direction === 'rtl'\n}\n\nexport function getRectSize (id: string, success?: TFunc, fail?: TFunc, retryMs = 500) {\n const query = createSelectorQuery()\n try {\n query.select(id).boundingClientRect((res) => {\n if (res) {\n success?.(res)\n } else {\n fail?.()\n }\n }).exec()\n } catch (err) {\n setTimeout(() => {\n getRectSize(id, success, fail, retryMs)\n }, retryMs)\n }\n}\n\nexport async function getScrollViewContextNode (id: string) {\n const query = createSelectorQuery()\n return new Promise((resolve) => query.select(id).node(({ node }) => resolve(node)).exec())\n}\n"],"names":[],"mappings":";;AAEA;AACA;AACO,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,SAAmB,KAAK,MAAK;SAM3D,gBAAgB,CAAE,EAAE,SAAS,EAAE,MAAM,EAAe,EAAA;AAClE,IAAA,OAAO,SAAS,KAAK,YAAY,IAAI,MAAM,KAAK,YAAY,CAAA;AAC9D,CAAC;AAIe,SAAA,SAAS,CAAE,EAAE,SAAS,EAAQ,EAAA;IAC5C,OAAO,SAAS,KAAK,KAAK,CAAA;AAC5B,CAAC;AAEK,SAAU,WAAW,CAAE,EAAU,EAAE,OAAe,EAAE,IAAY,EAAE,OAAO,GAAG,GAAG,EAAA;AACnF,IAAA,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAA;IACnC,IAAI;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,KAAI;AAC1C,YAAA,IAAI,GAAG,EAAE;AACP,gBAAA,OAAO,aAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAG,GAAG,CAAC,CAAA;AACf,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,EAAI,CAAA;AACT,aAAA;AACH,SAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACV,KAAA;AAAC,IAAA,OAAO,GAAG,EAAE;QACZ,UAAU,CAAC,MAAK;YACd,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;SACxC,EAAE,OAAO,CAAC,CAAA;AACZ,KAAA;AACH,CAAC;AAEM,eAAe,wBAAwB,CAAE,EAAU,EAAA;AACxD,IAAA,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAA;AACnC,IAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAC5F;;;;"}
@@ -1,116 +1,25 @@
1
1
  import Preset from "../preset.js";
2
- declare const _default: import("vue").DefineComponent<{
3
- id: StringConstructor;
4
- height: {
5
- type: (NumberConstructor | StringConstructor)[];
6
- required: true;
7
- };
8
- width: {
9
- type: (NumberConstructor | StringConstructor)[];
10
- required: true;
11
- };
12
- item: {
13
- required: true;
14
- };
15
- itemCount: {
16
- type: NumberConstructor;
17
- required: true;
18
- };
19
- itemData: {
20
- type: ArrayConstructor;
21
- required: true;
22
- };
23
- itemKey: FunctionConstructor;
24
- itemSize: {
25
- type: (NumberConstructor | FunctionConstructor)[];
26
- required: true;
27
- };
28
- unlimitedSize: {
29
- type: BooleanConstructor;
30
- default: boolean;
31
- };
32
- position: {
33
- type: StringConstructor;
34
- default: string;
35
- };
36
- direction: {
37
- type: StringConstructor;
38
- default: string;
39
- };
40
- layout: {
41
- type: StringConstructor;
42
- default: string;
43
- };
44
- initialScrollOffset: {
45
- type: NumberConstructor;
46
- default: number;
47
- };
48
- overscanCount: {
49
- type: NumberConstructor;
50
- default: number;
51
- };
52
- placeholderCount: {
53
- type: NumberConstructor;
54
- };
55
- useIsScrolling: {
56
- type: BooleanConstructor;
57
- default: boolean;
58
- };
59
- enhanced: {
60
- type: BooleanConstructor;
61
- default: boolean;
62
- };
63
- shouldResetStyleCacheOnItemSizeChange: {
64
- type: BooleanConstructor;
65
- default: boolean;
66
- };
67
- outerElementType: {
68
- type: StringConstructor;
69
- default: string;
70
- };
71
- innerElementType: {
72
- type: StringConstructor;
73
- default: string;
74
- };
75
- itemElementType: {
76
- type: StringConstructor;
77
- default: string;
78
- };
79
- outerTagName: StringConstructor;
80
- innerTagName: StringConstructor;
81
- itemTagName: StringConstructor;
82
- outerRef: StringConstructor;
83
- innerRef: StringConstructor;
84
- onScrollNative: FunctionConstructor;
85
- onItemsRendered: FunctionConstructor;
86
- }, unknown, {
87
- itemList: import("../list-set.js").default;
88
- preset: Preset;
89
- instance: import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
90
- id: StringConstructor;
2
+ declare const _default: {
3
+ props: {
91
4
  height: {
92
5
  type: (NumberConstructor | StringConstructor)[];
93
- required: true;
6
+ required: boolean;
94
7
  };
95
8
  width: {
96
9
  type: (NumberConstructor | StringConstructor)[];
97
- required: true;
98
- };
99
- item: {
100
- required: true;
10
+ required: boolean;
101
11
  };
102
12
  itemCount: {
103
13
  type: NumberConstructor;
104
- required: true;
14
+ required: boolean;
105
15
  };
106
16
  itemData: {
107
17
  type: ArrayConstructor;
108
- required: true;
18
+ required: boolean;
109
19
  };
110
- itemKey: FunctionConstructor;
111
20
  itemSize: {
112
21
  type: (NumberConstructor | FunctionConstructor)[];
113
- required: true;
22
+ required: boolean;
114
23
  };
115
24
  unlimitedSize: {
116
25
  type: BooleanConstructor;
@@ -120,90 +29,14 @@ declare const _default: import("vue").DefineComponent<{
120
29
  type: StringConstructor;
121
30
  default: string;
122
31
  };
123
- direction: {
124
- type: StringConstructor;
125
- default: string;
126
- };
127
- layout: {
128
- type: StringConstructor;
129
- default: string;
130
- };
131
32
  initialScrollOffset: {
132
33
  type: NumberConstructor;
133
34
  default: number;
134
35
  };
135
- overscanCount: {
136
- type: NumberConstructor;
137
- default: number;
138
- };
139
- placeholderCount: {
140
- type: NumberConstructor;
141
- };
142
- useIsScrolling: {
143
- type: BooleanConstructor;
144
- default: boolean;
145
- };
146
- enhanced: {
147
- type: BooleanConstructor;
148
- default: boolean;
149
- };
150
- shouldResetStyleCacheOnItemSizeChange: {
151
- type: BooleanConstructor;
152
- default: boolean;
153
- };
154
- outerElementType: {
155
- type: StringConstructor;
156
- default: string;
157
- };
158
36
  innerElementType: {
159
37
  type: StringConstructor;
160
38
  default: string;
161
39
  };
162
- itemElementType: {
163
- type: StringConstructor;
164
- default: string;
165
- };
166
- outerTagName: StringConstructor;
167
- innerTagName: StringConstructor;
168
- itemTagName: StringConstructor;
169
- outerRef: StringConstructor;
170
- innerRef: StringConstructor;
171
- onScrollNative: FunctionConstructor;
172
- onItemsRendered: FunctionConstructor;
173
- }>> & {}, {}, {}, {}, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, Readonly<import("vue").ExtractPropTypes<{
174
- id: StringConstructor;
175
- height: {
176
- type: (NumberConstructor | StringConstructor)[];
177
- required: true;
178
- };
179
- width: {
180
- type: (NumberConstructor | StringConstructor)[];
181
- required: true;
182
- };
183
- item: {
184
- required: true;
185
- };
186
- itemCount: {
187
- type: NumberConstructor;
188
- required: true;
189
- };
190
- itemData: {
191
- type: ArrayConstructor;
192
- required: true;
193
- };
194
- itemKey: FunctionConstructor;
195
- itemSize: {
196
- type: (NumberConstructor | FunctionConstructor)[];
197
- required: true;
198
- };
199
- unlimitedSize: {
200
- type: BooleanConstructor;
201
- default: boolean;
202
- };
203
- position: {
204
- type: StringConstructor;
205
- default: string;
206
- };
207
40
  direction: {
208
41
  type: StringConstructor;
209
42
  default: string;
@@ -212,10 +45,6 @@ declare const _default: import("vue").DefineComponent<{
212
45
  type: StringConstructor;
213
46
  default: string;
214
47
  };
215
- initialScrollOffset: {
216
- type: NumberConstructor;
217
- default: number;
218
- };
219
48
  overscanCount: {
220
49
  type: NumberConstructor;
221
50
  default: number;
@@ -227,250 +56,65 @@ declare const _default: import("vue").DefineComponent<{
227
56
  type: BooleanConstructor;
228
57
  default: boolean;
229
58
  };
230
- enhanced: {
231
- type: BooleanConstructor;
232
- default: boolean;
233
- };
234
- shouldResetStyleCacheOnItemSizeChange: {
235
- type: BooleanConstructor;
236
- default: boolean;
59
+ item: {
60
+ required: boolean;
237
61
  };
238
- outerElementType: {
62
+ itemKey: StringConstructor;
63
+ itemTagName: {
239
64
  type: StringConstructor;
240
65
  default: string;
241
66
  };
242
- innerElementType: {
67
+ innerTagName: {
243
68
  type: StringConstructor;
244
69
  default: string;
245
70
  };
246
- itemElementType: {
71
+ outerTagName: {
247
72
  type: StringConstructor;
248
73
  default: string;
249
74
  };
250
- outerTagName: StringConstructor;
251
- innerTagName: StringConstructor;
252
- itemTagName: StringConstructor;
253
- outerRef: StringConstructor;
75
+ itemElementType: StringConstructor;
76
+ outerElementType: StringConstructor;
254
77
  innerRef: StringConstructor;
255
- onScrollNative: FunctionConstructor;
78
+ outerRef: StringConstructor;
256
79
  onItemsRendered: FunctionConstructor;
257
- }>> & {}, {}, false, {}, {
258
- P: {};
259
- B: {};
260
- D: {};
261
- C: {};
262
- M: {};
263
- Defaults: {};
264
- }, Readonly<import("vue").ExtractPropTypes<{
265
- id: StringConstructor;
266
- height: {
267
- type: (NumberConstructor | StringConstructor)[];
268
- required: true;
269
- };
270
- width: {
271
- type: (NumberConstructor | StringConstructor)[];
272
- required: true;
273
- };
274
- item: {
275
- required: true;
276
- };
277
- itemCount: {
278
- type: NumberConstructor;
279
- required: true;
280
- };
281
- itemData: {
282
- type: ArrayConstructor;
283
- required: true;
284
- };
285
- itemKey: FunctionConstructor;
286
- itemSize: {
287
- type: (NumberConstructor | FunctionConstructor)[];
288
- required: true;
289
- };
290
- unlimitedSize: {
291
- type: BooleanConstructor;
292
- default: boolean;
293
- };
294
- position: {
295
- type: StringConstructor;
296
- default: string;
297
- };
298
- direction: {
299
- type: StringConstructor;
300
- default: string;
301
- };
302
- layout: {
303
- type: StringConstructor;
304
- default: string;
305
- };
306
- initialScrollOffset: {
307
- type: NumberConstructor;
308
- default: number;
309
- };
310
- overscanCount: {
311
- type: NumberConstructor;
312
- default: number;
313
- };
314
- placeholderCount: {
315
- type: NumberConstructor;
316
- };
317
- useIsScrolling: {
318
- type: BooleanConstructor;
319
- default: boolean;
320
- };
321
- enhanced: {
322
- type: BooleanConstructor;
323
- default: boolean;
324
- };
80
+ onScrollNative: FunctionConstructor;
325
81
  shouldResetStyleCacheOnItemSizeChange: {
326
82
  type: BooleanConstructor;
327
83
  default: boolean;
328
84
  };
329
- outerElementType: {
330
- type: StringConstructor;
331
- default: string;
332
- };
333
- innerElementType: {
334
- type: StringConstructor;
335
- default: string;
336
- };
337
- itemElementType: {
338
- type: StringConstructor;
339
- default: string;
340
- };
341
- outerTagName: StringConstructor;
342
- innerTagName: StringConstructor;
343
- itemTagName: StringConstructor;
344
- outerRef: StringConstructor;
345
- innerRef: StringConstructor;
346
- onScrollNative: FunctionConstructor;
347
- onItemsRendered: FunctionConstructor;
348
- }>> & {}, {}, {}, {}, import("vue").MethodOptions, {}>;
349
- isScrolling: boolean;
350
- scrollDirection: string;
351
- scrollOffset: number;
352
- scrollUpdateWasRequested: boolean;
353
- resetIsScrollingTimeoutId: any;
354
- refreshCount: number;
355
- }, {}, {
356
- refresh(): void;
357
- scrollTo(scrollOffset?: number, enhanced?: any): Promise<any>;
358
- scrollToItem(index: number, align?: string, enhanced?: any): void;
359
- _callOnItemsRendered: import("memoize-one").MemoizedFn<(this: any, overscanStartIndex: any, overscanStopIndex: any, startIndex: any, stopIndex: any) => any>;
360
- _callOnScroll: import("memoize-one").MemoizedFn<(this: any, scrollDirection: any, scrollOffset: any, scrollUpdateWasRequested: any, detail: any) => void>;
361
- _callPropsCallbacks(): void;
362
- _getSizeUploadSync(index: number, isHorizontal: boolean): Promise<unknown>;
363
- _getRangeToRender(): any;
364
- _onScrollHorizontal(event: any): void;
365
- _onScrollVertical(event: any): void;
366
- _outerRefSetter(ref: any): void;
367
- _resetIsScrollingDebounced(): void;
368
- _resetIsScrolling(): void;
369
- getRenderItemNode(index: number, type?: 'node' | 'placeholder'): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
370
- [key: string]: any;
371
- }>;
372
- getRenderColumnNode(): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
373
- [key: string]: any;
374
- }>;
375
- getRenderExpandNodes(direction: 'top' | 'bottom' | 'left' | 'right'): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
85
+ };
86
+ data(): {
87
+ itemList: import("../list-set.js").default;
88
+ preset: Preset;
89
+ id: any;
90
+ instance: any;
91
+ isScrolling: boolean;
92
+ scrollDirection: string;
93
+ scrollOffset: any;
94
+ scrollUpdateWasRequested: boolean;
95
+ resetIsScrollingTimeoutId: any;
96
+ refreshCount: number;
97
+ };
98
+ methods: {
99
+ refresh(): void;
100
+ scrollTo(scrollOffset: any): Promise<any>;
101
+ scrollToItem(index: any, align?: string): void;
102
+ _callOnItemsRendered: import("memoize-one").MemoizedFn<(this: any, overscanStartIndex: any, overscanStopIndex: any, visibleStartIndex: any, visibleStopIndex: any) => any>;
103
+ _callOnScroll: import("memoize-one").MemoizedFn<(this: any, scrollDirection: any, scrollOffset: any, scrollUpdateWasRequested: any, detail: any) => void>;
104
+ _callPropsCallbacks(): void;
105
+ _getSizeUploadSync(index: number, isHorizontal: boolean): Promise<unknown>;
106
+ _getRangeToRender(): any;
107
+ _onScrollHorizontal(event: any): void;
108
+ _onScrollVertical(event: any): void;
109
+ _outerRefSetter(ref: any): void;
110
+ _resetIsScrollingDebounced(): void;
111
+ _resetIsScrolling(): void;
112
+ };
113
+ mounted(): void;
114
+ updated(): void;
115
+ beforeDestroy(): void;
116
+ render(): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
376
117
  [key: string]: any;
377
118
  }>;
378
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
379
- id: StringConstructor;
380
- height: {
381
- type: (NumberConstructor | StringConstructor)[];
382
- required: true;
383
- };
384
- width: {
385
- type: (NumberConstructor | StringConstructor)[];
386
- required: true;
387
- };
388
- item: {
389
- required: true;
390
- };
391
- itemCount: {
392
- type: NumberConstructor;
393
- required: true;
394
- };
395
- itemData: {
396
- type: ArrayConstructor;
397
- required: true;
398
- };
399
- itemKey: FunctionConstructor;
400
- itemSize: {
401
- type: (NumberConstructor | FunctionConstructor)[];
402
- required: true;
403
- };
404
- unlimitedSize: {
405
- type: BooleanConstructor;
406
- default: boolean;
407
- };
408
- position: {
409
- type: StringConstructor;
410
- default: string;
411
- };
412
- direction: {
413
- type: StringConstructor;
414
- default: string;
415
- };
416
- layout: {
417
- type: StringConstructor;
418
- default: string;
419
- };
420
- initialScrollOffset: {
421
- type: NumberConstructor;
422
- default: number;
423
- };
424
- overscanCount: {
425
- type: NumberConstructor;
426
- default: number;
427
- };
428
- placeholderCount: {
429
- type: NumberConstructor;
430
- };
431
- useIsScrolling: {
432
- type: BooleanConstructor;
433
- default: boolean;
434
- };
435
- enhanced: {
436
- type: BooleanConstructor;
437
- default: boolean;
438
- };
439
- shouldResetStyleCacheOnItemSizeChange: {
440
- type: BooleanConstructor;
441
- default: boolean;
442
- };
443
- outerElementType: {
444
- type: StringConstructor;
445
- default: string;
446
- };
447
- innerElementType: {
448
- type: StringConstructor;
449
- default: string;
450
- };
451
- itemElementType: {
452
- type: StringConstructor;
453
- default: string;
454
- };
455
- outerTagName: StringConstructor;
456
- innerTagName: StringConstructor;
457
- itemTagName: StringConstructor;
458
- outerRef: StringConstructor;
459
- innerRef: StringConstructor;
460
- onScrollNative: FunctionConstructor;
461
- onItemsRendered: FunctionConstructor;
462
- }>>, {
463
- unlimitedSize: boolean;
464
- position: string;
465
- layout: string;
466
- initialScrollOffset: number;
467
- overscanCount: number;
468
- useIsScrolling: boolean;
469
- enhanced: boolean;
470
- outerElementType: string;
471
- innerElementType: string;
472
- itemElementType: string;
473
- direction: string;
474
- shouldResetStyleCacheOnItemSizeChange: boolean;
475
- }>;
119
+ };
476
120
  export { _default as default };