eco-vue-js 0.26.28 → 0.26.29

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 (99) hide show
  1. package/dist/components/DragContainer/components/DragItem.vue_vue_type_script_setup_true_lang.js +2 -2
  2. package/dist/components/EmptyComponent/WEmptyComponent.vue.d.ts +5 -8
  3. package/dist/components/EmptyComponent/WEmptyComponent.vue.d.ts.map +1 -1
  4. package/dist/components/EmptyComponent/WEmptyComponent.vue.js +2 -2
  5. package/dist/components/EmptyComponent/WEmptyComponent.vue_vue_type_script_lang.js +4 -0
  6. package/dist/components/InfiniteList/WInfiniteList.vue.d.ts +2 -0
  7. package/dist/components/InfiniteList/WInfiniteList.vue.d.ts.map +1 -1
  8. package/dist/components/InfiniteList/WInfiniteList.vue_vue_type_script_setup_true_lang.js +5 -19
  9. package/dist/components/InfiniteList/WInfiniteListWrapper.vue.d.ts +5 -1
  10. package/dist/components/InfiniteList/WInfiniteListWrapper.vue.d.ts.map +1 -1
  11. package/dist/components/InfiniteList/WInfiniteListWrapper.vue_vue_type_script_setup_true_lang.js +132 -70
  12. package/dist/components/InfiniteList/components/InfiniteListPage.vue.d.ts +4 -16
  13. package/dist/components/InfiniteList/components/InfiniteListPage.vue.d.ts.map +1 -1
  14. package/dist/components/InfiniteList/components/InfiniteListPage.vue_vue_type_script_setup_true_lang.js +52 -48
  15. package/dist/components/InfiniteList/components/InfiniteListPages.vue.d.ts +3 -16
  16. package/dist/components/InfiniteList/components/InfiniteListPages.vue.d.ts.map +1 -1
  17. package/dist/components/InfiniteList/components/InfiniteListPages.vue_vue_type_script_setup_true_lang.js +146 -172
  18. package/dist/components/InfiniteList/types.d.ts +17 -0
  19. package/dist/components/InfiniteList/types.d.ts.map +1 -1
  20. package/dist/components/List/WList.vue.d.ts.map +1 -1
  21. package/dist/components/List/WList.vue_vue_type_script_setup_true_lang.js +180 -150
  22. package/dist/components/List/components/HeaderSettingsList.vue.d.ts.map +1 -1
  23. package/dist/components/List/components/HeaderSettingsList.vue_vue_type_script_setup_true_lang.js +1 -1
  24. package/dist/components/List/components/ListCardFieldNested.vue.d.ts.map +1 -1
  25. package/dist/components/List/components/ListCardFieldNested.vue_vue_type_script_setup_true_lang.js +41 -48
  26. package/dist/components/List/components/ListItem.vue.d.ts +1 -0
  27. package/dist/components/List/components/ListItem.vue.d.ts.map +1 -1
  28. package/dist/components/List/components/ListItem.vue_vue_type_script_setup_true_lang.js +95 -131
  29. package/dist/components/List/components/ListPageFrame.vue.d.ts +33 -0
  30. package/dist/components/List/components/ListPageFrame.vue.d.ts.map +1 -0
  31. package/dist/components/List/components/ListPageFrame.vue.js +4 -0
  32. package/dist/components/List/components/ListPageFrame.vue_vue_type_script_setup_true_lang.js +79 -0
  33. package/dist/components/{InfiniteList/components/InfiniteListHeaderPadding.vue.d.ts → List/components/ListPageFrameScope.vue.d.ts} +8 -7
  34. package/dist/components/List/components/ListPageFrameScope.vue.d.ts.map +1 -0
  35. package/dist/components/List/components/ListPageFrameScope.vue.js +4 -0
  36. package/dist/components/List/components/ListPageFrameScope.vue_vue_type_script_setup_true_lang.js +26 -0
  37. package/dist/components/{InfiniteList/components/InfiniteListHeaderHeight.vue.d.ts → List/components/ListPageSurface.vue.d.ts} +8 -6
  38. package/dist/components/List/components/ListPageSurface.vue.d.ts.map +1 -0
  39. package/dist/components/List/components/ListPageSurface.vue.js +4 -0
  40. package/dist/components/List/components/ListPageSurface.vue_vue_type_script_setup_true_lang.js +33 -0
  41. package/dist/components/List/models/injection.d.ts +28 -0
  42. package/dist/components/List/models/injection.d.ts.map +1 -0
  43. package/dist/components/List/models/injection.js +4 -0
  44. package/dist/components/List/use/useListConfig.d.ts.map +1 -1
  45. package/dist/components/List/use/useListConfig.js +7 -2
  46. package/dist/components/List/use/useStickyPath.d.ts +21 -0
  47. package/dist/components/List/use/useStickyPath.d.ts.map +1 -0
  48. package/dist/components/List/use/useStickyPath.js +84 -0
  49. package/dist/components/Modal/components/OverlayDropdown.vue.d.ts.map +1 -1
  50. package/dist/components/Modal/components/OverlayDropdown.vue_vue_type_script_setup_true_lang.js +1 -0
  51. package/dist/components/QueryStatus/WQueryStatus.vue.d.ts.map +1 -1
  52. package/dist/components/QueryStatus/WQueryStatus.vue_vue_type_script_setup_true_lang.js +9 -1
  53. package/dist/components/Surface/models/injection.d.ts +1 -6
  54. package/dist/components/Surface/models/injection.d.ts.map +1 -1
  55. package/dist/components/Surface/models/injection.js +1 -6
  56. package/dist/components/Tabs/WTabs.vue.d.ts +4 -0
  57. package/dist/components/Tabs/WTabs.vue.d.ts.map +1 -1
  58. package/dist/components/Tabs/WTabs.vue_vue_type_script_setup_true_lang.js +146 -129
  59. package/dist/components/Tabs/components/TabItem.vue.d.ts.map +1 -1
  60. package/dist/components/Tabs/components/TabItem.vue_vue_type_script_setup_true_lang.js +7 -1
  61. package/dist/components/Tooltip/components/TooltipContainer.vue_vue_type_script_setup_true_lang.js +1 -1
  62. package/docs/components/drag-container.md +1 -1
  63. package/docs/components/dropdown.md +5 -2
  64. package/docs/components/infinite-list.md +2 -0
  65. package/docs/components/list.md +6 -0
  66. package/docs/components/surface.md +1 -1
  67. package/docs/components/tabs.md +1 -0
  68. package/docs/llms.txt +1 -1
  69. package/docs/recipes/page-layout.md +1 -1
  70. package/package.json +1 -1
  71. package/tailwind-base/css/default.css +28 -0
  72. package/tailwind-base/css/internal-variables.css +5 -0
  73. package/tailwind-base/css/surfaces.css +165 -66
  74. package/tailwind-base/plugins/internal-classes.ts +8 -2
  75. package/dist/components/EmptyComponent/WEmptyComponent.vue_vue_type_script_setup_true_lang.js +0 -12
  76. package/dist/components/InfiniteList/components/InfiniteListHeaderHeight.vue.d.ts.map +0 -1
  77. package/dist/components/InfiniteList/components/InfiniteListHeaderHeight.vue.js +0 -4
  78. package/dist/components/InfiniteList/components/InfiniteListHeaderHeight.vue_vue_type_script_setup_true_lang.js +0 -68
  79. package/dist/components/InfiniteList/components/InfiniteListHeaderPadding.vue.d.ts.map +0 -1
  80. package/dist/components/InfiniteList/components/InfiniteListHeaderPadding.vue.js +0 -4
  81. package/dist/components/InfiniteList/components/InfiniteListHeaderPadding.vue_vue_type_script_setup_true_lang.js +0 -27
  82. package/dist/components/InfiniteList/components/InfiniteListScroll.vue.d.ts +0 -14
  83. package/dist/components/InfiniteList/components/InfiniteListScroll.vue.d.ts.map +0 -1
  84. package/dist/components/InfiniteList/components/InfiniteListScroll.vue.js +0 -10
  85. package/dist/components/List/components/ListCardAction.vue.d.ts +0 -27
  86. package/dist/components/List/components/ListCardAction.vue.d.ts.map +0 -1
  87. package/dist/components/List/components/ListCardAction.vue.js +0 -4
  88. package/dist/components/List/components/ListCardAction.vue_vue_type_script_setup_true_lang.js +0 -24
  89. package/dist/components/List/components/ListCardFieldItem.vue.d.ts +0 -42
  90. package/dist/components/List/components/ListCardFieldItem.vue.d.ts.map +0 -1
  91. package/dist/components/List/components/ListCardFieldItem.vue.js +0 -4
  92. package/dist/components/List/components/ListCardFieldItem.vue_vue_type_script_setup_true_lang.js +0 -73
  93. package/dist/components/List/components/ListCardFieldNestedArrayItems.vue.d.ts +0 -33
  94. package/dist/components/List/components/ListCardFieldNestedArrayItems.vue.d.ts.map +0 -1
  95. package/dist/components/List/components/ListCardFieldNestedArrayItems.vue.js +0 -4
  96. package/dist/components/List/components/ListCardFieldNestedArrayItems.vue_vue_type_script_setup_true_lang.js +0 -22
  97. package/dist/components/Surface/use/useSectionHead.d.ts +0 -12
  98. package/dist/components/Surface/use/useSectionHead.d.ts.map +0 -1
  99. package/dist/components/Surface/use/useSectionHead.js +0 -26
@@ -35,7 +35,7 @@ var DragItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
35
35
  return openBlock(), createElementBlock(Fragment, null, [renderSlot(_ctx.$slots, "default", mergeProps({ initDrag }, { container: {
36
36
  draggable: draggable.value,
37
37
  style: { order: __props.order + 1 },
38
- class: __props.disabled ? "opacity-50" : void 0,
38
+ class: __props.disabled ? "opacity-50" : isDragging.value ? "opacity-0 transition-opacity delay-100" : void 0,
39
39
  onDragend: !__props.disabled ? endDrag : void 0,
40
40
  onDragenter: !draggable.value ? () => _ctx.$emit("drag:enter", __props.order) : void 0,
41
41
  onDragstart: !__props.disabled ? startDrag : void 0,
@@ -49,7 +49,7 @@ var DragItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
49
49
  }, {
50
50
  default: withCtx(() => [isDragging.value ? (openBlock(), createElementBlock("div", {
51
51
  key: 0,
52
- class: "bg-(--w-drag-item-overlay,var(--w-surface)) pointer-events-none absolute z-1 size-full transition-opacity col-[1/2]",
52
+ class: "bg-(--w-drag-item-overlay,transparent) pointer-events-none absolute z-1 size-full transition-opacity col-[1/2]",
53
53
  style: normalizeStyle({ gridRow: `${__props.order + 1}/${__props.order + 2}` })
54
54
  }, null, 4)) : createCommentVNode("", true)]),
55
55
  _: 1
@@ -1,16 +1,13 @@
1
- type __VLS_Slots = {
1
+ import { DefineComponent } from 'vue';
2
+ type Slots = {
2
3
  /** Content rendered without a wrapping element. It gets no slot props. */
3
4
  default?: (props: {
4
5
  [key: string]: never;
5
6
  }) => void;
6
7
  };
7
- declare const __VLS_base: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
8
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
9
8
  declare const _default: typeof __VLS_export;
10
9
  export default _default;
11
- type __VLS_WithSlots<T, S> = T & {
12
- new (): {
13
- $slots: S;
14
- };
15
- };
10
+ declare const __VLS_export: DefineComponent & (new () => {
11
+ $slots: Slots;
12
+ });
16
13
  //# sourceMappingURL=WEmptyComponent.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WEmptyComponent.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/EmptyComponent/WEmptyComponent.vue"],"names":[],"mappings":"AAGA;AAeA,KAAK,WAAW,GAAG;IACjB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAC,KAAK,IAAI,CAAA;CAClD,CAAC;AAaF,QAAA,MAAM,UAAU,+QACd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WEmptyComponent.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/EmptyComponent/WEmptyComponent.vue"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAC,eAAe,EAAsB,MAAM,KAAK,CAAA;AAE7D,KAAK,KAAK,GAAG;IACX,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAC,KAAK,IAAI,CAAA;CAClD,CAAA;wBAQoB,OAAO,YAAY;AAAxC,wBAAyC;AAQzC,QAAA,MAAM,YAAY,EAAiC,eAAe,GAAG,CAAC,UAAU;IAAC,MAAM,EAAE,KAAK,CAAA;CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import WEmptyComponent_vue_vue_type_script_setup_true_lang_default from "./WEmptyComponent.vue_vue_type_script_setup_true_lang.js";
1
+ import WEmptyComponent from "./WEmptyComponent.vue_vue_type_script_lang.js";
2
2
  // src/components/EmptyComponent/WEmptyComponent.vue
3
- var WEmptyComponent_default = WEmptyComponent_vue_vue_type_script_setup_true_lang_default;
3
+ var WEmptyComponent_default = WEmptyComponent;
4
4
  export { WEmptyComponent_default as default };
@@ -0,0 +1,4 @@
1
+ // src/components/EmptyComponent/WEmptyComponent.vue?vue&type=script&lang.ts
2
+ var WEmptyComponent = (_props, { slots }) => slots.default?.();
3
+ WEmptyComponent.inheritAttrs = false;
4
+ export { WEmptyComponent as default };
@@ -28,6 +28,8 @@ declare const __VLS_export: <Model extends number | string, Data extends Default
28
28
  pageStyle?: StyleValue;
29
29
  /** Number of pages kept rendered, 5 by default. Scrolling further drops pages at the other end, keeping their height as space. */
30
30
  maxPages?: number;
31
+ /** Keeps each item in its column of a `pageClass` grid with several columns, such as cards, when the list starts past the first page or drops a page at the top. Leave it off when every item spans the row, as the rows of a table: the columns are then not measured. */
32
+ keepColumns?: boolean;
31
33
  /** Refetches the pages in view every this many ms. */
32
34
  refetchInterval?: number | false;
33
35
  /** Options for every page query. */
@@ -1 +1 @@
1
- {"version":3,"file":"WInfiniteList.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfiniteList/WInfiniteList.vue"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WInfiniteList.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfiniteList/WInfiniteList.vue"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import WEmptyComponent_default from "../EmptyComponent/WEmptyComponent.vue.js";
2
- import { getPosition } from "../../utils/useSelected.js";
3
2
  import WInfiniteListWrapper_default from "./WInfiniteListWrapper.vue.js";
4
3
  import InfiniteListPages_default from "./components/InfiniteListPages.vue.js";
5
- import { computed, createBlock, createSlots, createVNode, defineComponent, guardReactiveProps, normalizeClass, normalizeProps, normalizeStyle, openBlock, renderSlot, resolveDynamicComponent, unref, useTemplateRef, withCtx } from "vue";
4
+ import { computed, createBlock, createSlots, createVNode, defineComponent, guardReactiveProps, normalizeClass, normalizeProps, normalizeStyle, openBlock, renderSlot, resolveDynamicComponent, useTemplateRef, withCtx } from "vue";
6
5
  // src/components/InfiniteList/WInfiniteList.vue?vue&type=script&setup=true&lang.ts
7
6
  var WInfiniteList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
8
7
  __name: "WInfiniteList",
@@ -28,6 +27,7 @@ var WInfiniteList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
28
27
  default: void 0
29
28
  },
30
29
  maxPages: { default: void 0 },
30
+ keepColumns: { type: Boolean },
31
31
  refetchInterval: {
32
32
  type: [Number, Boolean],
33
33
  default: void 0
@@ -79,6 +79,7 @@ var WInfiniteList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
79
79
  "page-class": __props.pageClass,
80
80
  "page-style": __props.pageStyle,
81
81
  "max-pages": __props.maxPages,
82
+ "keep-columns": __props.keepColumns,
82
83
  "refetch-interval": __props.refetchInterval,
83
84
  "query-options": __props.queryOptions,
84
85
  class: normalizeClass(_ctx.$attrs.class),
@@ -88,23 +89,7 @@ var WInfiniteList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
88
89
  "onUpdate:page": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("update:page", $event)),
89
90
  "onUpdate:error": _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:error", $event))
90
91
  }, createSlots({
91
- default: withCtx(({ item, value, setter, skeleton, refetch, previous, next, first, last, resetting, page, index, results, intersecting }) => [renderSlot(_ctx.$slots, "default", {
92
- item,
93
- setter,
94
- skeleton,
95
- refetch,
96
- previous,
97
- next,
98
- first,
99
- last,
100
- resetting,
101
- page,
102
- index,
103
- position: unref(getPosition)(page, index, __props.pageLength),
104
- value,
105
- results,
106
- intersecting
107
- })]),
92
+ default: withCtx((scope) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(scope)))]),
108
93
  _: 2
109
94
  }, [
110
95
  _ctx.$slots["pages-before"] ? {
@@ -137,6 +122,7 @@ var WInfiniteList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
137
122
  "page-class",
138
123
  "page-style",
139
124
  "max-pages",
125
+ "keep-columns",
140
126
  "refetch-interval",
141
127
  "query-options",
142
128
  "class",
@@ -5,6 +5,8 @@ type __VLS_Props = {
5
5
  initIsIntersecting?: boolean;
6
6
  /** Keeps the sticky header out of the app header bar's padding while scrolled. */
7
7
  noHeaderUpdate?: boolean;
8
+ /** Renders the header in place over the content: it neither sticks nor pads the app header bar. */
9
+ inPlace?: boolean;
8
10
  };
9
11
  type __VLS_Slots = {
10
12
  /** Content that sticks to the top while the page scrolls. `updateHeader` re-measures it right away. */
@@ -12,7 +14,9 @@ type __VLS_Slots = {
12
14
  /** The scrolling content. Gets the header's `headerHeight` and `headerTop`. */
13
15
  default: (props: InfiniteListHeaderScope) => VNode[];
14
16
  };
15
- declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
18
+ resetScroll: () => void;
19
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
20
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
21
  declare const _default: typeof __VLS_export;
18
22
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"WInfiniteListWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfiniteList/WInfiniteListWrapper.vue"],"names":[],"mappings":"AAsDA;AAqKA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,SAAS,CAAA;AAEpD,OAAO,EAAC,KAAK,KAAK,EAA2E,MAAM,KAAK,CAAA;AAcxG,KAAK,WAAW,GAAG;IACjB,gIAAgI;IAChI,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;AAgFF,KAAK,WAAW,GAAG;IACjB,uGAAuG;IACvG,MAAM,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,KAAK,EAAE,CAAA;IACnD,+EAA+E;IAC/E,OAAO,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,KAAK,EAAE,CAAA;CACrD,CAAC;AA6HF,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WInfiniteListWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfiniteList/WInfiniteListWrapper.vue"],"names":[],"mappings":"AAmDA;AA0PA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,SAAS,CAAA;AAEpD,OAAO,EAAC,KAAK,KAAK,EAA0E,MAAM,KAAK,CAAA;AAYvG,KAAK,WAAW,GAAG;IACjB,gIAAgI;IAChI,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mGAAmG;IACnG,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAC;AAyKF,KAAK,WAAW,GAAG;IACjB,uGAAuG;IACvG,MAAM,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,KAAK,EAAE,CAAA;IACnD,+EAA+E;IAC/E,OAAO,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,KAAK,EAAE,CAAA;CACrD,CAAC;AA6FF,QAAA,MAAM,UAAU;;oPAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,11 +1,9 @@
1
- import { wIsModal } from "../Modal/models/injection.js";
2
- import { wSectionHeadHeight } from "../Surface/models/injection.js";
3
- import { getIsClientSide } from "../../utils/utils.js";
4
- import InfiniteListHeaderHeight_default from "./components/InfiniteListHeaderHeight.vue.js";
5
- import InfiniteListHeaderPadding_default from "./components/InfiniteListHeaderPadding.vue.js";
1
+ import { wListPageFrameHeader } from "../List/models/injection.js";
2
+ import { wIsModal, wModalHeaderHeight } from "../Modal/models/injection.js";
3
+ import { getIsClientSide, getScrollParent } from "../../utils/utils.js";
6
4
  import { wScrollingElement } from "./models/injection.js";
7
5
  import { useHeader } from "../HeaderBar/use/useHeader.js";
8
- import { Fragment, computed, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, guardReactiveProps, inject, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, unref, useTemplateRef, watch, withCtx } from "vue";
6
+ import { Fragment, Teleport, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, guardReactiveProps, inject, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, openBlock, provide, ref, renderSlot, unref, useTemplateRef, watch } from "vue";
9
7
  // src/components/InfiniteList/WInfiniteListWrapper.vue?vue&type=script&setup=true&lang.ts
10
8
  var _hoisted_1 = {
11
9
  ref: "indicator",
@@ -16,93 +14,157 @@ var WInfiniteListWrapper_vue_vue_type_script_setup_true_lang_default = /*@__PURE
16
14
  __name: "WInfiniteListWrapper",
17
15
  props: {
18
16
  initIsIntersecting: { type: Boolean },
19
- noHeaderUpdate: { type: Boolean }
17
+ noHeaderUpdate: { type: Boolean },
18
+ inPlace: { type: Boolean }
20
19
  },
21
- setup(__props) {
20
+ setup(__props, { expose: __expose }) {
22
21
  const props = __props;
23
22
  const isModal = inject(wIsModal, false);
24
- const isContained = isModal || inject(wScrollingElement, null) !== null;
25
- const isIntersecting = ref(props.initIsIntersecting ?? null);
23
+ const modalHeaderHeight = inject(wModalHeaderHeight, void 0);
24
+ const scrollingElement = inject(wScrollingElement, null);
25
+ const isContained = isModal || scrollingElement !== null;
26
+ const joined = isContained ? null : inject(wListPageFrameHeader, null);
27
+ provide(wListPageFrameHeader, null);
28
+ const { headerHeight: headerHeightLayout, updateHeaderPadding } = useHeader();
26
29
  const indicatorRef = useTemplateRef("indicator");
30
+ const headerRef = useTemplateRef("header");
31
+ const headerHeight = ref(0);
32
+ const headerTop = ref(0);
33
+ const stickyTop = ref(0);
34
+ const isIntersecting = ref(props.initIsIntersecting ?? null);
35
+ /** The header's sticky top on the page, which counts the gaps a theme keeps above it, not just the header bar. */
36
+ const getPageStickyTop = () => {
37
+ const top = headerRef.value ? parseFloat(getComputedStyle(headerRef.value).top) : NaN;
38
+ return Number.isNaN(top) ? headerHeightLayout.value : top;
39
+ };
40
+ const getTopOffset = () => {
41
+ if (modalHeaderHeight) return modalHeaderHeight.value;
42
+ if (scrollingElement) return 0;
43
+ return getPageStickyTop();
44
+ };
45
+ const updateHeaderTop = () => {
46
+ if (!headerRef.value) return;
47
+ stickyTop.value = getTopOffset();
48
+ const rect = headerRef.value.getBoundingClientRect();
49
+ headerTop.value = rect.top + (scrollingElement?.value?.scrollTop ?? document.scrollingElement?.scrollTop ?? 0) - stickyTop.value;
50
+ };
51
+ const updateHeader = () => {
52
+ if (!headerRef.value) return;
53
+ headerHeight.value = headerRef.value.getBoundingClientRect().height;
54
+ updateHeaderTop();
55
+ };
56
+ watch(() => modalHeaderHeight?.value ?? (scrollingElement ? 0 : headerHeightLayout.value), updateHeaderTop);
57
+ const stickyGap = ref(0);
58
+ const isPadding = () => !joined && !isContained && !props.noHeaderUpdate;
59
+ const updatePadding = () => {
60
+ if (!isPadding()) return;
61
+ const intersecting = props.inPlace || isIntersecting.value;
62
+ if (intersecting === null) return;
63
+ const offset = indicatorRef.value?.closest(".w-list-page") ? 0 : stickyGap.value;
64
+ const height = headerHeight.value + offset;
65
+ updateHeaderPadding(!intersecting && height ? height : 0);
66
+ };
67
+ watch(() => [
68
+ props.inPlace,
69
+ isIntersecting.value,
70
+ headerHeight.value,
71
+ stickyGap.value
72
+ ], updatePadding);
73
+ watch(() => props.noHeaderUpdate, (value) => {
74
+ if (value && !joined && !isContained) updateHeaderPadding(0);
75
+ });
27
76
  const observerCb = (entries) => {
28
77
  isIntersecting.value = entries.some((entry) => {
29
78
  if (entry.target === indicatorRef.value) return entry.isIntersecting || entry.boundingClientRect.top > window.innerHeight;
30
79
  });
31
80
  };
32
- let observer = null;
33
- let observerTop = null;
34
- const { headerHeight } = useHeader();
35
- const getStickyTop = () => {
36
- const header = isContained ? null : indicatorRef.value?.nextElementSibling;
37
- const top = header ? parseFloat(getComputedStyle(header).top) : NaN;
38
- return Number.isNaN(top) ? headerHeight.value : top;
39
- };
40
- const sectionHeadHeight = isContained ? null : inject(wSectionHeadHeight, null);
41
- const isPage = ref(false);
42
- const stickyGap = ref(0);
43
- const sectionHeadOffset = computed(() => isPage.value ? sectionHeadHeight?.value ?? 0 : stickyGap.value);
81
+ let intersectionObserver = null;
82
+ let intersectionObserverTop = null;
44
83
  const observe = () => {
45
84
  if (!indicatorRef.value) return;
46
- isPage.value = indicatorRef.value.closest(".w-list-page") !== null;
47
- const top = getStickyTop();
48
- stickyGap.value = isContained ? 0 : Math.max(0, top - headerHeight.value);
49
- if (observer && top === observerTop) return;
50
- observer?.disconnect();
51
- observerTop = top;
52
- observer = new IntersectionObserver(observerCb, {
85
+ const top = isContained ? headerHeightLayout.value : getPageStickyTop();
86
+ stickyGap.value = isContained ? 0 : Math.max(0, top - headerHeightLayout.value);
87
+ if (intersectionObserver && top === intersectionObserverTop) return;
88
+ intersectionObserver?.disconnect();
89
+ intersectionObserverTop = top;
90
+ intersectionObserver = new IntersectionObserver(observerCb, {
53
91
  root: null,
54
92
  rootMargin: `-${top}px 100% 100000px 0px`,
55
93
  threshold: 1
56
94
  });
57
- observer.observe(indicatorRef.value);
95
+ intersectionObserver.observe(indicatorRef.value);
96
+ };
97
+ const onResize = () => {
98
+ updateHeaderTop();
99
+ observe();
58
100
  };
101
+ let resizeObserver = null;
59
102
  onMounted(() => {
60
- if (!getIsClientSide()) return;
103
+ if (!getIsClientSide() || joined || !headerRef.value) return;
104
+ resizeObserver = new ResizeObserver((entries) => {
105
+ const entry = entries[0];
106
+ if (!entry) return;
107
+ headerHeight.value = entry.borderBoxSize?.[0]?.blockSize ?? entry.contentRect.height;
108
+ updateHeaderTop();
109
+ });
110
+ resizeObserver.observe(headerRef.value);
61
111
  observe();
62
- window.addEventListener("resize", observe);
112
+ window.addEventListener("resize", onResize);
63
113
  });
64
- if (sectionHeadHeight) watch(sectionHeadHeight, observe, { flush: "post" });
65
114
  onBeforeUnmount(() => {
66
- window.removeEventListener("resize", observe);
67
- observer?.disconnect();
115
+ window.removeEventListener("resize", onResize);
116
+ resizeObserver?.disconnect();
117
+ intersectionObserver?.disconnect();
118
+ if (isPadding()) updateHeaderPadding(0);
68
119
  });
120
+ /**
121
+ * While the header is stuck, scrolls back to where it stops sticking, such as before other content opens under it. The
122
+ * indicator stays where the header is in the flow, so how far it is above the stuck header is how far the content is scrolled.
123
+ */
124
+ const resetScroll = () => {
125
+ if (!indicatorRef.value || !headerRef.value) return;
126
+ const delta = indicatorRef.value.getBoundingClientRect().top - headerRef.value.getBoundingClientRect().top;
127
+ if (delta < 0) (scrollingElement?.value ?? getScrollParent(indicatorRef.value) ?? document.scrollingElement)?.scrollBy({
128
+ top: delta,
129
+ behavior: "instant"
130
+ });
131
+ };
132
+ __expose({ resetScroll });
69
133
  return (_ctx, _cache) => {
70
- return openBlock(), createElementBlock(Fragment, null, [createElementVNode("div", _hoisted_1, null, 512), createVNode(InfiniteListHeaderHeight_default, {
71
- "is-intersecting": isIntersecting.value,
72
- class: normalizeClass(["sticky print:hidden", {
73
- "top-(--w-header-inner)": !unref(isContained),
74
- "w-infinite-list-header": !unref(isContained) && !__props.noHeaderUpdate,
75
- "w-infinite-list-header-stuck": !unref(isContained) && !__props.noHeaderUpdate && isIntersecting.value === false,
76
- "top-0 not-empty:pt-(--w-list-contained-top,0.75rem)": unref(isContained) && !unref(isModal),
77
- "top---modal-header-height": unref(isModal),
78
- "bg-surface": __props.noHeaderUpdate || unref(isContained)
79
- }]),
80
- style: normalizeStyle({ zIndex: isIntersecting.value ? unref(2) : unref(20) })
81
- }, createSlots({
82
- default: withCtx((scope) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(scope)))]),
83
- _: 2
84
- }, [unref(isContained) || __props.noHeaderUpdate ? {
85
- name: "header",
86
- fn: withCtx((scope) => [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps(scope)))]),
87
- key: "0"
88
- } : {
89
- name: "header",
90
- fn: withCtx((scope) => [createElementVNode("div", {
134
+ return unref(joined) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [unref(joined).target.value ? (openBlock(), createBlock(Teleport, {
135
+ key: 0,
136
+ to: unref(joined).target.value
137
+ }, [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps(unref(joined).scope)))], 8, ["to"])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(joined).scope)))], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
138
+ createElementVNode("div", _hoisted_1, null, 512),
139
+ createElementVNode("div", {
140
+ ref: "header",
141
+ class: normalizeClass(["print:hidden", __props.inPlace ? void 0 : {
142
+ "sticky": true,
143
+ "top-(--w-header-inner)": !unref(isContained),
144
+ "w-infinite-list-header": !unref(isContained) && !__props.noHeaderUpdate,
145
+ "w-infinite-list-header-stuck": !unref(isContained) && !__props.noHeaderUpdate && isIntersecting.value === false,
146
+ "top-0 not-empty:pt-(--w-list-contained-top,0.75rem)": unref(isContained) && !unref(isModal),
147
+ "top---modal-header-height": unref(isModal),
148
+ "bg-surface": __props.noHeaderUpdate || unref(isContained)
149
+ }]),
150
+ style: normalizeStyle(__props.inPlace ? void 0 : { zIndex: isIntersecting.value ? unref(2) : unref(20) })
151
+ }, [!__props.inPlace && !unref(isContained) && !__props.noHeaderUpdate ? (openBlock(), createElementBlock("div", {
152
+ key: 0,
91
153
  class: "w-infinite-list-header-edge",
92
- style: normalizeStyle({ "--w-list-header-height": scope.headerHeight + "px" })
93
- }, null, 4), createVNode(InfiniteListHeaderPadding_default, {
94
- "is-intersecting": isIntersecting.value,
95
- "header-height": scope.headerHeight + sectionHeadOffset.value
96
- }, {
97
- default: withCtx(() => [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps(scope)))]),
98
- _: 2
99
- }, 1032, ["is-intersecting", "header-height"])]),
100
- key: "1"
101
- }]), 1032, [
102
- "is-intersecting",
103
- "class",
104
- "style"
105
- ])], 64);
154
+ style: normalizeStyle({ "--w-list-header-height": headerHeight.value + "px" })
155
+ }, null, 4)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps({
156
+ headerTop: headerTop.value,
157
+ headerHeight: headerHeight.value,
158
+ stickyTop: stickyTop.value,
159
+ updateHeader
160
+ })))], 6),
161
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
162
+ headerTop: headerTop.value,
163
+ headerHeight: headerHeight.value,
164
+ stickyTop: stickyTop.value,
165
+ updateHeader
166
+ })))
167
+ ], 64));
106
168
  };
107
169
  }
108
170
  });
@@ -1,3 +1,4 @@
1
+ import { InfiniteListItemScope } from '../types';
1
2
  import { DefaultQueryOptions } from '../../../utils/useDefaultQuery';
2
3
  import { Ref } from 'vue';
3
4
  import { ApiError } from '../../../utils/api';
@@ -14,6 +15,8 @@ declare const __VLS_export: <Model extends number | string, Data extends Default
14
15
  refetchInterval?: number | false;
15
16
  queryOptions?: DefaultQueryOptions<PaginatedResponse<Data>>;
16
17
  enabled?: boolean;
18
+ /** Page size the list asks for, for the `position` of an item in the whole list. */
19
+ pageLength: number;
17
20
  valueGetter: (data: Data) => Model;
18
21
  } & {
19
22
  onRefetch?: (() => any) | undefined;
@@ -23,7 +26,6 @@ declare const __VLS_export: <Model extends number | string, Data extends Default
23
26
  "onUpdate:next-page"?: ((value: number | null) => any) | undefined;
24
27
  "onUpdate:previous-page"?: ((value: number | null) => any) | undefined;
25
28
  "onRemove:page"?: ((value: number) => any) | undefined;
26
- "onUpdate:selected"?: ((values: Model[]) => any) | undefined;
27
29
  onFetched?: (() => any) | undefined;
28
30
  "onUpdate:error"?: ((value: ApiError<{}, {
29
31
  detail?: string | undefined;
@@ -43,20 +45,7 @@ declare const __VLS_export: <Model extends number | string, Data extends Default
43
45
  }>) => void;
44
46
  attrs: any;
45
47
  slots: {
46
- default?: (props: {
47
- item: Data;
48
- setter: (newItem?: Data | undefined) => void;
49
- skeleton: boolean;
50
- refetch: () => void;
51
- previous?: Data;
52
- next?: Data;
53
- first: boolean;
54
- last: boolean;
55
- page: number;
56
- index: number;
57
- results: Data[] | undefined;
58
- intersecting: boolean;
59
- }) => void;
48
+ default?: (props: Omit<InfiniteListItemScope<Data, Model>, "resetting">) => void;
60
49
  empty?: () => void;
61
50
  error?: (props: {
62
51
  error: Error;
@@ -72,7 +61,6 @@ declare const __VLS_export: <Model extends number | string, Data extends Default
72
61
  (e: "update:previous-page", value: number | null): void;
73
62
  (e: "remove:page", value: number): void;
74
63
  (e: "refetch"): void;
75
- (e: "update:selected", values: Model[]): void;
76
64
  (e: "fetched"): void;
77
65
  (e: "update:error", value: ApiError): void;
78
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InfiniteListPage.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/components/InfiniteListPage.vue"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InfiniteListPage.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/components/InfiniteListPage.vue"],"names":[],"mappings":"AAuEA;AAqbA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,UAAU,CAAA;AACnD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAA;AAEhE,OAAO,EAAC,KAAK,GAAG,EAA2F,MAAM,KAAK,CAAA;AAKtH,OAAO,EAAC,QAAQ,EAAiB,MAAM,aAAa,CAAA;AAUpD,QAAA,MAAM,YAAY,GAAK,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,SAAS,WAAW,EAAE,WAAW,EAC1F,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WAyiBO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAAC;qBAviBvC,WAAW;oBACZ,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;wBACjD,MAAM;mBACX,OAAO;kBACR,OAAO;qBACJ,OAAO;oBACR,OAAO;oBACP,MAAM;0BACA,MAAM,GAAG,KAAK;uBACjB,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;kBACjD,OAAO;QACjB,oFAAoF;oBACxE,MAAM;qBAEL,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK;;;;;;;;;;;;;;KAyhBqD,CAAC,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5J,CAAC,OAAO,EAAE,OAAO,KAAK,EAAE,gBAAgB;2BAhZzB,OAAO,EAAE;;;;2BAwEP,MAAM,aAAY,cAAc;;;MAwUa,KAAK,IAAI;WACxE,GAAG;;kBApNC,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,IAAI;gBACxE,MAAM,IAAI;gBACV,CAAC,KAAK,EAAE;YAAC,KAAK,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAC,KAAK,IAAI;;;YA5TpF,cAAc,SAAS,MAAM,GAAG,IAAI;YACpC,oBAAoB,SAAS,MAAM,GAAG,IAAI;YAC1C,kBAAkB,SAAS,MAAM,GAAG,IAAI;YACxC,kBAAkB,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI;YAC/C,sBAAsB,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI;YACnD,aAAa,SAAS,MAAM,GAAG,IAAI;YACnC,SAAS,GAAG,IAAI;YAChB,SAAS,GAAG,IAAI;YAChB,cAAc,SAAS,QAAQ,GAAG,IAAI;;EA0gBxC,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAA;CAAI,CAAC;wBACpE,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}