eco-vue-js 0.10.15 → 0.10.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/FilePicker/WFilePicker.vue.js +1 -1
- package/dist/components/FilePicker/components/FilePickerItem.vue.d.ts.map +1 -1
- package/dist/components/FilePicker/components/FilePickerItem.vue.js +15 -24
- package/dist/components/InfiniteList/WInfiniteList.vue.d.ts +6 -0
- package/dist/components/InfiniteList/WInfiniteList.vue.d.ts.map +1 -1
- package/dist/components/InfiniteList/WInfiniteList.vue.js +11 -3
- package/dist/components/InfiniteList/WInfiniteListWrapper.vue.d.ts.map +1 -1
- package/dist/components/InfiniteList/WInfiniteListWrapper.vue.js +3 -2
- package/dist/components/InfiniteList/components/InfiniteListPage.vue.d.ts +6 -0
- package/dist/components/InfiniteList/components/InfiniteListPage.vue.d.ts.map +1 -1
- package/dist/components/InfiniteList/components/InfiniteListPage.vue.js +4 -12
- package/dist/components/InfiniteList/components/InfiniteListPages.vue.d.ts +6 -0
- package/dist/components/InfiniteList/components/InfiniteListPages.vue.d.ts.map +1 -1
- package/dist/components/InfiniteList/components/InfiniteListPages.vue.js +11 -3
- package/dist/components/InfiniteList/use/useInfiniteListHeader.d.ts.map +1 -1
- package/dist/components/InfiniteList/use/useInfiniteListHeader.js +0 -5
- package/dist/components/Input/WInputDate.vue.js +1 -1
- package/dist/components/Page/WPage.vue.d.ts +4 -0
- package/dist/components/Page/WPage.vue.d.ts.map +1 -1
- package/dist/components/Page/WPage.vue.js +68 -8
- package/dist/components/Page/WPageBreadcrumbs.vue.d.ts +3 -0
- package/dist/components/Page/WPageBreadcrumbs.vue.d.ts.map +1 -0
- package/dist/components/Page/WPageBreadcrumbs.vue.js +42 -0
- package/dist/components/Page/WPageBreadcrumbs.vue2.js +5 -0
- package/dist/components/Page/use/usePageBreadcrumbs.d.ts +17 -0
- package/dist/components/Page/use/usePageBreadcrumbs.d.ts.map +1 -0
- package/dist/components/Page/use/usePageBreadcrumbs.js +48 -0
- package/dist/components/Select/WSelect.vue.d.ts +2 -2
- package/dist/components/Select/WSelect.vue.d.ts.map +1 -1
- package/dist/components/Select/WSelect.vue.js +56 -50
- package/dist/components/Select/WSelectAsync.vue.d.ts.map +1 -1
- package/dist/components/Select/WSelectAsync.vue.js +3 -2
- package/dist/components/Select/WSelectSingle.vue.d.ts +1 -1
- package/dist/components/Select/WSelectSingle.vue.d.ts.map +1 -1
- package/dist/components/Select/WSelectStringified.vue.d.ts +2 -2
- package/dist/components/Select/WSelectStringified.vue.d.ts.map +1 -1
- package/dist/components/Select/components/SelectAsyncList.vue.d.ts +3 -0
- package/dist/components/Select/components/SelectAsyncList.vue.d.ts.map +1 -1
- package/dist/components/Select/components/SelectAsyncList.vue.js +68 -49
- package/dist/components/Select/components/SelectOption.vue.d.ts +1 -0
- package/dist/components/Select/components/SelectOption.vue.d.ts.map +1 -1
- package/dist/components/Select/components/SelectOption.vue.js +12 -7
- package/dist/components/Select/components/SelectOptionPrefix.vue.d.ts +4 -1
- package/dist/components/Select/components/SelectOptionPrefix.vue.d.ts.map +1 -1
- package/dist/components/Select/components/SelectOptionPrefix.vue.js +7 -2
- package/dist/components/Select/types.d.ts +3 -2
- package/dist/components/Select/types.d.ts.map +1 -1
- package/dist/imports/componentsPlugin.d.ts +2 -1
- package/dist/imports/componentsPlugin.d.ts.map +1 -1
- package/dist/main.js +1 -0
- package/package.json +4 -1
- package/tailwind-base/plugins/default.ts +3 -0
@@ -19,7 +19,7 @@ const _hoisted_3 = {
|
|
19
19
|
const _hoisted_4 = ["multiple", "accept"];
|
20
20
|
const _hoisted_5 = {
|
21
21
|
key: 1,
|
22
|
-
class: "
|
22
|
+
class: "grid-cols-fill-44 grid h-full items-center justify-center gap-6"
|
23
23
|
};
|
24
24
|
const _hoisted_6 = {
|
25
25
|
key: 2,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FilePickerItem.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/FilePicker/components/FilePickerItem.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"FilePickerItem.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/FilePicker/components/FilePickerItem.vue"],"names":[],"mappings":"AA8BA;AAmDA,KAAK,WAAW,GAAG;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AAUF,iBAAS,cAAc;WAuET,OAAO,IAA6B;;0BAXpB,GAAG;0BACH,GAAG;;;;EAehC;AAYD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;6FAQnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
@@ -1,18 +1,11 @@
|
|
1
|
-
import { defineComponent, createElementBlock, openBlock, createElementVNode, renderSlot, createVNode, unref,
|
1
|
+
import { defineComponent, createElementBlock, openBlock, createElementVNode, renderSlot, createVNode, unref, withModifiers, toDisplayString } from 'vue';
|
2
2
|
import IconCancel from '../../../assets/icons/default/IconCancel.svg.js';
|
3
3
|
import IconCheckCircle from '../../../assets/icons/sax/IconCheckCircle.svg.js';
|
4
4
|
import IconCloseCircle from '../../../assets/icons/sax/IconCloseCircle.svg.js';
|
5
5
|
|
6
|
-
const _hoisted_1 = { class: "height-52
|
7
|
-
const _hoisted_2 = {
|
8
|
-
|
9
|
-
class: "square-44 flex items-center justify-center"
|
10
|
-
};
|
11
|
-
const _hoisted_3 = {
|
12
|
-
key: 1,
|
13
|
-
class: "square-44 flex items-center justify-center"
|
14
|
-
};
|
15
|
-
const _hoisted_4 = { class: "text-accent truncate text-center text-base font-normal" };
|
6
|
+
const _hoisted_1 = { class: "height-52 grid justify-items-center gap-2" };
|
7
|
+
const _hoisted_2 = { class: "square-44 relative flex items-center justify-center" };
|
8
|
+
const _hoisted_3 = { class: "text-accent truncate text-center font-normal" };
|
16
9
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
17
10
|
__name: "FilePickerItem",
|
18
11
|
props: {
|
@@ -23,22 +16,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
23
16
|
setup(__props) {
|
24
17
|
return (_ctx, _cache) => {
|
25
18
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
26
|
-
|
27
|
-
renderSlot(_ctx.$slots, "positive", {}, () => [
|
19
|
+
createElementVNode("div", _hoisted_2, [
|
20
|
+
!_ctx.hasError ? renderSlot(_ctx.$slots, "positive", { key: 0 }, () => [
|
28
21
|
createVNode(unref(IconCheckCircle), { class: "square-36 text-positive dark:text-positive-dark" })
|
29
|
-
])
|
30
|
-
])) : (openBlock(), createElementBlock("div", _hoisted_3, [
|
31
|
-
renderSlot(_ctx.$slots, "negative", {}, () => [
|
22
|
+
]) : renderSlot(_ctx.$slots, "negative", { key: 1 }, () => [
|
32
23
|
createVNode(unref(IconCloseCircle), { class: "square-36 text-negative dark:text-negative-dark" })
|
24
|
+
]),
|
25
|
+
createElementVNode("button", {
|
26
|
+
class: "w-ripple square-5 hover:bg-black-default absolute right-0 top-0 flex items-center justify-center rounded-full outline-none hover:bg-opacity-5",
|
27
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("click:cancel"), ["stop", "prevent"]))
|
28
|
+
}, [
|
29
|
+
createVNode(unref(IconCancel), { class: "square-3 text-description" })
|
33
30
|
])
|
34
|
-
])
|
35
|
-
createElementVNode("div",
|
36
|
-
createElementVNode("button", {
|
37
|
-
class: "w-ripple square-5 hover:bg-black-default absolute right-0 top-0 flex items-center justify-center rounded-full outline-none hover:bg-opacity-5",
|
38
|
-
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("click:cancel"), ["stop", "prevent"]))
|
39
|
-
}, [
|
40
|
-
createVNode(unref(IconCancel), { class: "square-3 text-description" })
|
41
|
-
])
|
31
|
+
]),
|
32
|
+
createElementVNode("div", _hoisted_3, toDisplayString(_ctx.name), 1)
|
42
33
|
]);
|
43
34
|
};
|
44
35
|
}
|
@@ -51,6 +51,9 @@ declare const _default: <Model extends number | string, Data extends DefaultData
|
|
51
51
|
goto: (page: number, itemIndex?: number) => void;
|
52
52
|
updateHeaderHeight: () => void;
|
53
53
|
}) => void;
|
54
|
+
empty?: (props: {
|
55
|
+
queryParams: QueryParams;
|
56
|
+
}) => void;
|
54
57
|
}> & {
|
55
58
|
default?: (props: {
|
56
59
|
item: Data;
|
@@ -71,6 +74,9 @@ declare const _default: <Model extends number | string, Data extends DefaultData
|
|
71
74
|
goto: (page: number, itemIndex?: number) => void;
|
72
75
|
updateHeaderHeight: () => void;
|
73
76
|
}) => void;
|
77
|
+
empty?: (props: {
|
78
|
+
queryParams: QueryParams;
|
79
|
+
}) => void;
|
74
80
|
};
|
75
81
|
emit: {
|
76
82
|
(e: "update:page", value: number | undefined): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"WInfiniteList.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfiniteList/WInfiniteList.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"WInfiniteList.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfiniteList/WInfiniteList.vue"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { defineComponent, useTemplateRef, createBlock, openBlock, resolveDynamicComponent, withCtx, createVNode, normalizeStyle, normalizeClass, renderSlot, unref, normalizeProps, guardReactiveProps } from 'vue';
|
1
|
+
import { defineComponent, useTemplateRef, createBlock, openBlock, resolveDynamicComponent, withCtx, createVNode, normalizeStyle, normalizeClass, createSlots, renderSlot, unref, normalizeProps, guardReactiveProps } from 'vue';
|
2
2
|
import _sfc_main$1 from '../EmptyComponent/WEmptyComponent.vue.js';
|
3
3
|
import { getPosition } from '../../utils/useSelected.js';
|
4
4
|
import _sfc_main$2 from './WInfiniteListWrapper.vue.js';
|
@@ -72,7 +72,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
72
72
|
"onUpdate:count": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:count", $event)),
|
73
73
|
"onUpdate:page": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("update:page", $event)),
|
74
74
|
"onUpdate:error": _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:error", $event))
|
75
|
-
}, {
|
75
|
+
}, createSlots({
|
76
76
|
default: withCtx(({ item, value, setter, skeleton, refetch, previous, next, first, last, resetting, page, index }) => [
|
77
77
|
renderSlot(_ctx.$slots, "default", {
|
78
78
|
item,
|
@@ -91,7 +91,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
91
91
|
})
|
92
92
|
]),
|
93
93
|
_: 2
|
94
|
-
},
|
94
|
+
}, [
|
95
|
+
_ctx.$slots.empty ? {
|
96
|
+
name: "empty",
|
97
|
+
fn: withCtx((emptyScope) => [
|
98
|
+
renderSlot(_ctx.$slots, "empty", normalizeProps(guardReactiveProps(emptyScope)))
|
99
|
+
]),
|
100
|
+
key: "0"
|
101
|
+
} : void 0
|
102
|
+
]), 1032, ["query-params", "use-query-fn", "scrolling-element", "skeleton-length", "hide-page-title", "transition", "page-length", "header-top", "header-height", "min-height", "last-child", "exclude-params", "empty-stub", "page-class", "max-pages", "refetch-interval", "query-options", "class", "style", "value-getter"])
|
95
103
|
]),
|
96
104
|
_: 3
|
97
105
|
}, 8, ["scrolling-element", "init-is-intersecting"]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"WInfiniteListWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfiniteList/WInfiniteListWrapper.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"WInfiniteListWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfiniteList/WInfiniteListWrapper.vue"],"names":[],"mappings":"AAsBA;AA+DA,KAAK,WAAW,GAAG;IACjB,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAC;AAyBF,iBAAS,cAAc;WA4CT,OAAO,IAA6B;;;;YAbtB,GAAG;;;;YACF,GAAG;;;;;;;EAiB/B;AAcD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;OAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
@@ -28,12 +28,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
28
28
|
return openBlock(), createElementBlock(Fragment, null, [
|
29
29
|
createElementVNode("div", {
|
30
30
|
ref_key: "indicator",
|
31
|
-
ref: indicator
|
31
|
+
ref: indicator,
|
32
|
+
class: "print:hidden"
|
32
33
|
}, null, 512),
|
33
34
|
createElementVNode("div", {
|
34
35
|
ref_key: "header",
|
35
36
|
ref: header,
|
36
|
-
class: normalizeClass(["-top--header-height sticky", {
|
37
|
+
class: normalizeClass(["-top--header-height sticky print:hidden", {
|
37
38
|
"z-20": !unref(isIntersecting),
|
38
39
|
"z-[2]": unref(isIntersecting)
|
39
40
|
}])
|
@@ -38,6 +38,9 @@ declare const _default: <Model extends number | string, Data extends DefaultData
|
|
38
38
|
page: number;
|
39
39
|
index: number;
|
40
40
|
}) => void;
|
41
|
+
empty?: (props: {
|
42
|
+
queryParams: QueryParams;
|
43
|
+
}) => void;
|
41
44
|
}> & {
|
42
45
|
default?: (props: {
|
43
46
|
item: Data;
|
@@ -51,6 +54,9 @@ declare const _default: <Model extends number | string, Data extends DefaultData
|
|
51
54
|
page: number;
|
52
55
|
index: number;
|
53
56
|
}) => void;
|
57
|
+
empty?: (props: {
|
58
|
+
queryParams: QueryParams;
|
59
|
+
}) => void;
|
54
60
|
};
|
55
61
|
emit: {
|
56
62
|
(e: "update:count", value: number): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InfiniteListPage.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/components/InfiniteListPage.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"InfiniteListPage.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/components/InfiniteListPage.vue"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { defineComponent, useTemplateRef, ref, toRef, computed, watch, onMounted, nextTick, onBeforeUnmount, createElementBlock, openBlock, unref, Fragment, createElementVNode, createBlock, createCommentVNode, normalizeClass, resolveDynamicComponent, TransitionGroup, normalizeProps, mergeProps, withCtx, renderList,
|
1
|
+
import { defineComponent, useTemplateRef, ref, toRef, computed, watch, onMounted, nextTick, onBeforeUnmount, createElementBlock, openBlock, renderSlot, unref, Fragment, createElementVNode, createBlock, createCommentVNode, normalizeClass, resolveDynamicComponent, TransitionGroup, normalizeProps, mergeProps, withCtx, renderList, toDisplayString } from 'vue';
|
2
2
|
import _sfc_main$2 from '../../EmptyComponent/WEmptyComponent.vue.js';
|
3
3
|
import { ApiError } from '../../../utils/api.js';
|
4
4
|
import _sfc_main$1 from './InfiniteListPageTitle.vue.js';
|
@@ -8,7 +8,7 @@ const _hoisted_1 = {
|
|
8
8
|
class: "relative"
|
9
9
|
};
|
10
10
|
const _hoisted_2 = { class: "mt-[--w-list-gap,0] flex" };
|
11
|
-
const _hoisted_3 = { class: "
|
11
|
+
const _hoisted_3 = { class: "text-accent sm:left-inner sm:max-w-inner flex justify-center px-8 py-16 text-center text-base font-normal sm:sticky" };
|
12
12
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
13
13
|
__name: "InfiniteListPage",
|
14
14
|
props: {
|
@@ -226,17 +226,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
226
226
|
});
|
227
227
|
}), 128))
|
228
228
|
], 2)
|
229
|
-
], 64)) : (
|
230
|
-
key: 1,
|
231
|
-
class: normalizeClass(["text-accent text-base font-normal", {
|
232
|
-
"sm:left-inner sm:max-w-inner flex justify-center px-8 py-16 text-center sm:sticky": !_ctx.minHeight,
|
233
|
-
"px-[1.0625rem] pt-4": _ctx.minHeight,
|
234
|
-
"pb-4": _ctx.minHeight && _ctx.lastChild,
|
235
|
-
"pb-2": _ctx.minHeight && !_ctx.lastChild
|
236
|
-
}])
|
237
|
-
}, [
|
229
|
+
], 64)) : renderSlot(_ctx.$slots, "empty", normalizeProps(mergeProps({ key: 1 }, { queryParams: _ctx.queryParams })), () => [
|
238
230
|
createElementVNode("div", _hoisted_3, toDisplayString(_ctx.emptyStub), 1)
|
239
|
-
]
|
231
|
+
])
|
240
232
|
], 512);
|
241
233
|
};
|
242
234
|
}
|
@@ -47,6 +47,9 @@ declare const _default: <Model extends number | string, Data extends DefaultData
|
|
47
47
|
index: number;
|
48
48
|
value: Model;
|
49
49
|
}) => void;
|
50
|
+
empty?: (props: {
|
51
|
+
queryParams: QueryParams;
|
52
|
+
}) => void;
|
50
53
|
}> & {
|
51
54
|
default?: (props: {
|
52
55
|
item: Data;
|
@@ -62,6 +65,9 @@ declare const _default: <Model extends number | string, Data extends DefaultData
|
|
62
65
|
index: number;
|
63
66
|
value: Model;
|
64
67
|
}) => void;
|
68
|
+
empty?: (props: {
|
69
|
+
queryParams: QueryParams;
|
70
|
+
}) => void;
|
65
71
|
};
|
66
72
|
emit: {
|
67
73
|
(e: "update:page", value: number | undefined): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InfiniteListPages.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/components/InfiniteListPages.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"InfiniteListPages.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/components/InfiniteListPages.vue"],"names":[],"mappings":"AAsFA;AAuSA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAA;yBAYxB,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,SAAS,WAAW,EAAE,WAAW,eACvE,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAClD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,iBAC5F,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;WAmf1D,mBAAmB,CAAC;;;;;;;;oBAhfZ,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;qBACnC,WAAW;yBACP,MAAM;wBACP,OAAO;qBACV,OAAO;qBACP,MAAM;2BACA,OAAO,GAAG,IAAI;oBACrB,MAAM;uBACH,MAAM;oBACT,OAAO;oBACP,OAAO;wBACH,CAAC,MAAM,WAAW,CAAC,EAAE;oBACzB,MAAM;oBACN,MAAM;mBACP,MAAM;0BACC,MAAM,GAAG,KAAK;uBACjB,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;qBAEhD,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK;mBA8dwD,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB;;0CAlXL,MAAM;MAkXqB,GAAG,IAAI;WACpE,GAAG;;kBA7TC,CAAC,KAAK,EAAE;YAChB,IAAI,EAAE,IAAI,CAAA;YACV,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAA;YAC5C,QAAQ,EAAE,OAAO,CAAA;YACjB,OAAO,EAAE,MAAM,IAAI,CAAA;YACnB,QAAQ,CAAC,EAAE,IAAI,CAAA;YACf,IAAI,CAAC,EAAE,IAAI,CAAA;YACX,KAAK,EAAE,OAAO,CAAA;YACd,IAAI,EAAE,OAAO,CAAA;YACb,SAAS,EAAE,OAAO,CAAA;YAClB,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE,KAAK,CAAA;SACb,KAAK,IAAI;gBACF,CAAC,KAAK;yBAjBgB,WAAW;SAiBf,KAAK,IAAI;;kBAdzB,CAAC,KAAK,EAAE;YAChB,IAAI,EAAE,IAAI,CAAA;YACV,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAA;YAC5C,QAAQ,EAAE,OAAO,CAAA;YACjB,OAAO,EAAE,MAAM,IAAI,CAAA;YACnB,QAAQ,CAAC,EAAE,IAAI,CAAA;YACf,IAAI,CAAC,EAAE,IAAI,CAAA;YACX,KAAK,EAAE,OAAO,CAAA;YACd,IAAI,EAAE,OAAO,CAAA;YACb,SAAS,EAAE,OAAO,CAAA;YAClB,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE,KAAK,CAAA;SACb,KAAK,IAAI;gBACF,CAAC,KAAK;yBAjBgB,WAAW;SAiBf,KAAK,IAAI;;;YA7J/B,aAAa,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI;YAC/C,cAAc,SAAS,MAAM,GAAG,IAAI;YACpC,cAAc,SAAS,QAAQ,GAAG,IAAI;;;;;YA+cA,OAAO,CAAC,OAAO,WAAW,CAAC;;AA7fvE,wBA6f4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { defineComponent, useTemplateRef, ref, computed, watch, toRef, createBlock, openBlock, normalizeClass, normalizeStyle, withCtx, createCommentVNode, createElementBlock, unref, Fragment, renderList, nextTick, renderSlot } from 'vue';
|
1
|
+
import { defineComponent, useTemplateRef, ref, computed, watch, toRef, createBlock, openBlock, normalizeClass, normalizeStyle, withCtx, createCommentVNode, createElementBlock, unref, Fragment, renderList, nextTick, createSlots, renderSlot, mergeProps } from 'vue';
|
2
2
|
import { isEqualObj } from '../../../utils/utils.js';
|
3
3
|
import _sfc_main$2 from './InfiniteListButton.vue.js';
|
4
4
|
import _sfc_main$3 from './InfiniteListPage.vue.js';
|
@@ -170,7 +170,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
170
170
|
onRefetch: ($event) => unref(refetchNextPages)(index),
|
171
171
|
onFetched: _cache[6] || (_cache[6] = ($event) => isResettingPage.value = false),
|
172
172
|
"onUpdate:error": _cache[7] || (_cache[7] = ($event) => _ctx.$emit("update:error", $event))
|
173
|
-
}, {
|
173
|
+
}, createSlots({
|
174
174
|
default: withCtx(({ item, setter, skeleton, refetch, previous, next, first, last, page: itemPage, index: itemIndex }) => [
|
175
175
|
renderSlot(_ctx.$slots, "default", {
|
176
176
|
item,
|
@@ -188,7 +188,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
188
188
|
})
|
189
189
|
]),
|
190
190
|
_: 2
|
191
|
-
},
|
191
|
+
}, [
|
192
|
+
_ctx.$slots.empty ? {
|
193
|
+
name: "empty",
|
194
|
+
fn: withCtx((emptyScope) => [
|
195
|
+
renderSlot(_ctx.$slots, "empty", mergeProps({ ref_for: true }, emptyScope))
|
196
|
+
]),
|
197
|
+
key: "0"
|
198
|
+
} : void 0
|
199
|
+
]), 1032, ["query-params", "use-query-fn", "skeleton-length", "first-page", "last-page", "hide-page-title", "transition", "resetting", "empty-stub", "min-height", "last-child", "page-class", "refetch-interval", "scrolling-element", "query-options", "value-getter", "onRefetch"]);
|
192
200
|
}), 128)),
|
193
201
|
count.value !== 0 && nextPage.value ? (openBlock(), createBlock(_sfc_main$2, {
|
194
202
|
key: 1,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useInfiniteListHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/use/useInfiniteListHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAkC,MAAM,KAAK,CAAA;AAI7D,eAAO,MAAM,qBAAqB,wBAAyB,GAAG,CAAC,MAAM,CAAC,qBAAoB,OAAO,GAAG,IAAI;;;;;;;
|
1
|
+
{"version":3,"file":"useInfiniteListHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/use/useInfiniteListHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAkC,MAAM,KAAK,CAAA;AAI7D,eAAO,MAAM,qBAAqB,wBAAyB,GAAG,CAAC,MAAM,CAAC,qBAAoB,OAAO,GAAG,IAAI;;;;;;;CAoDvG,CAAA"}
|
@@ -8,12 +8,7 @@ const useInfiniteListHeader = (headerElementHeight, scrollingElement = document.
|
|
8
8
|
const headerTop = ref(0);
|
9
9
|
const isIntersecting = ref(initIsIntersecting);
|
10
10
|
let observer = null;
|
11
|
-
let isFirst = true;
|
12
11
|
const observerCb = (entries) => {
|
13
|
-
if (isFirst) {
|
14
|
-
isFirst = false;
|
15
|
-
return;
|
16
|
-
}
|
17
12
|
isIntersecting.value = entries.some((entry) => {
|
18
13
|
if (entry.target === indicator.value) {
|
19
14
|
return entry.isIntersecting || entry.boundingClientRect.top > window.innerHeight;
|
@@ -98,7 +98,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
98
98
|
}), createSlots({
|
99
99
|
content: withCtx(() => [
|
100
100
|
createElementVNode("div", {
|
101
|
-
class: "sm-not:w-screen sm-not:px-3 sm:w-
|
101
|
+
class: "sm-not:w-screen sm-not:px-3 sm:w-96",
|
102
102
|
onMousedown: _cache[1] || (_cache[1] = withModifiers(() => {
|
103
103
|
}, ["prevent"]))
|
104
104
|
}, [
|
@@ -8,6 +8,7 @@ type __VLS_Props = {
|
|
8
8
|
date?: Date;
|
9
9
|
prerendered?: HTMLElement[];
|
10
10
|
skeleton?: boolean;
|
11
|
+
watermark: string | undefined;
|
11
12
|
};
|
12
13
|
declare function __VLS_template(): {
|
13
14
|
attrs: Partial<{}>;
|
@@ -18,14 +19,17 @@ declare function __VLS_template(): {
|
|
18
19
|
updateOverflow: () => void;
|
19
20
|
INNER_CLASS: "w-page-inner";
|
20
21
|
}): any;
|
22
|
+
logo?(_: {}): any;
|
21
23
|
};
|
22
24
|
refs: {
|
25
|
+
element: HTMLDivElement;
|
23
26
|
container: HTMLDivElement;
|
24
27
|
};
|
25
28
|
rootEl: any;
|
26
29
|
};
|
27
30
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
28
31
|
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
32
|
+
element: HTMLDivElement;
|
29
33
|
container: HTMLDivElement;
|
30
34
|
}, any>;
|
31
35
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"WPage.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Page/WPage.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"WPage.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Page/WPage.vue"],"names":[],"mappings":"AAmFA;AAmRA,OAAO,EAAC,KAAK,SAAS,EAAmE,MAAM,KAAK,CAAA;AAUpG,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,WAAW,CAAC,EAAE,WAAW,EAAE,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAAC;AA4KF,iBAAS,cAAc;WAoIT,OAAO,IAA6B;;wBAftB,GAAG;wBAGF,GAAG;;kCA9QL,IAAI;;YA4QF,GAAG;sBACN,GAAG;;;;;;;EAkB5B;AAaD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;OAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
@@ -1,6 +1,8 @@
|
|
1
|
-
import { defineComponent, useTemplateRef, ref, watch, nextTick, resolveComponent, createElementBlock, openBlock, Fragment, createElementVNode, createBlock, createCommentVNode, normalizeClass, createVNode, renderSlot, normalizeProps, guardReactiveProps, resolveDynamicComponent, toDisplayString, unref, createSlots, withCtx } from 'vue';
|
1
|
+
import { defineComponent, useTemplateRef, ref, watch, nextTick, onMounted, onBeforeUnmount, resolveComponent, createElementBlock, openBlock, Fragment, createElementVNode, createBlock, createCommentVNode, normalizeClass, createVNode, renderSlot, normalizeProps, guardReactiveProps, resolveDynamicComponent, toDisplayString, unref, createSlots, withCtx } from 'vue';
|
2
|
+
import { useHeader } from '../HeaderBar/use/useHeader.js';
|
2
3
|
import { dateFormat } from '../../utils/dateTime.js';
|
3
4
|
import _sfc_main$1 from './WPageTitle.vue.js';
|
5
|
+
import { usePageBreadcrumb } from './use/usePageBreadcrumbs.js';
|
4
6
|
|
5
7
|
const _hoisted_1 = {
|
6
8
|
key: 0,
|
@@ -18,6 +20,11 @@ const _hoisted_4 = {
|
|
18
20
|
key: 3,
|
19
21
|
class: "absolute inset-x-[1cm] top-[1cm] text-xs font-semibold before:text-gray-400 before:[content:counters(section,'.',decimal-leading-zero)]"
|
20
22
|
};
|
23
|
+
const _hoisted_5 = {
|
24
|
+
key: 4,
|
25
|
+
class: "pointer-events-none absolute inset-0 z-10 flex select-none items-center justify-center"
|
26
|
+
};
|
27
|
+
const _hoisted_6 = { class: "rotate-[-60deg] text-center text-[10rem] font-semibold leading-none text-gray-400/10" };
|
21
28
|
const INNER_CLASS = "w-page-inner";
|
22
29
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
23
30
|
__name: "WPage",
|
@@ -29,12 +36,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
29
36
|
topTitle: { type: Boolean },
|
30
37
|
date: {},
|
31
38
|
prerendered: {},
|
32
|
-
skeleton: { type: Boolean }
|
39
|
+
skeleton: { type: Boolean },
|
40
|
+
watermark: {}
|
33
41
|
},
|
34
42
|
setup(__props) {
|
35
43
|
const props = __props;
|
44
|
+
const elementRef = useTemplateRef("element");
|
36
45
|
const containerRef = useTemplateRef("container");
|
37
46
|
const overflow = ref([]);
|
47
|
+
const { setBreadcrumb, resetBreadcrumb, updateBreadcrumbs, setActive } = usePageBreadcrumb();
|
48
|
+
const { headerPadding, headerHeight } = useHeader();
|
38
49
|
const getElements = (item, inner = false) => {
|
39
50
|
return Array.from(item.children).filter((item2) => item2 instanceof HTMLElement).flatMap(
|
40
51
|
(item2) => inner && item2.childElementCount > 1 ? getElements(item2) : item2.className.includes(INNER_CLASS) ? getElements(item2, true) : item2
|
@@ -74,6 +85,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
74
85
|
});
|
75
86
|
nextTick().then(updateOverflow);
|
76
87
|
};
|
88
|
+
const scrollTo = () => {
|
89
|
+
if (!elementRef.value?.parentElement || !document.scrollingElement) return;
|
90
|
+
document.scrollingElement.scrollTo({ top: elementRef.value.offsetTop - headerPadding.value - headerHeight.value });
|
91
|
+
};
|
92
|
+
const updateBreadcrumb = async () => {
|
93
|
+
if (props.topTitle || !props.title) return;
|
94
|
+
await nextTick();
|
95
|
+
if (!elementRef.value?.parentElement) return;
|
96
|
+
setBreadcrumb(
|
97
|
+
props.title,
|
98
|
+
Array.from(elementRef.value.parentElement.children).indexOf(elementRef.value),
|
99
|
+
updateBreadcrumb,
|
100
|
+
scrollTo
|
101
|
+
);
|
102
|
+
};
|
103
|
+
const observerCb = (entries) => {
|
104
|
+
if (!elementRef.value?.parentElement) return;
|
105
|
+
const isIntersecting = entries.some((entry) => {
|
106
|
+
if (entry.target === elementRef.value) {
|
107
|
+
return entry.isIntersecting;
|
108
|
+
}
|
109
|
+
});
|
110
|
+
if (isIntersecting) setActive(Array.from(elementRef.value.parentElement.children).indexOf(elementRef.value));
|
111
|
+
};
|
77
112
|
watch(() => props.prerendered, async (value) => {
|
78
113
|
if (!value) return;
|
79
114
|
await nextTick();
|
@@ -93,11 +128,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
93
128
|
await nextTick();
|
94
129
|
updateOverflow();
|
95
130
|
}, { immediate: true });
|
131
|
+
let observer = null;
|
132
|
+
onMounted(() => {
|
133
|
+
updateBreadcrumb();
|
134
|
+
if (elementRef.value) {
|
135
|
+
observer = new IntersectionObserver(observerCb, {
|
136
|
+
root: null,
|
137
|
+
rootMargin: `${headerHeight.value * 2}px 100% 0px 0px`,
|
138
|
+
threshold: 0.5
|
139
|
+
});
|
140
|
+
observer.observe(elementRef.value);
|
141
|
+
}
|
142
|
+
updateBreadcrumbs();
|
143
|
+
});
|
144
|
+
onBeforeUnmount(() => {
|
145
|
+
if (!props.topTitle && props.title) resetBreadcrumb(props.title);
|
146
|
+
observer?.disconnect();
|
147
|
+
updateBreadcrumbs();
|
148
|
+
});
|
96
149
|
return (_ctx, _cache) => {
|
97
150
|
const _component_WPage = resolveComponent("WPage", true);
|
98
151
|
return openBlock(), createElementBlock(Fragment, null, [
|
99
152
|
createElementVNode("div", {
|
100
|
-
|
153
|
+
ref: "element",
|
154
|
+
class: normalizeClass(["not-print:shadow-md bg-default text-black-default light relative isolate grid h-[29.62cm] w-[21.01cm] break-before-page grid-cols-1 grid-rows-[auto,1fr] overflow-hidden px-[1cm] py-[2cm]", {
|
101
155
|
"[counter-increment:page] after:absolute after:bottom-[1cm] after:right-[1cm] after:text-xs after:[--tw-content:counter(page)]": !_ctx.empty
|
102
156
|
}])
|
103
157
|
}, [
|
@@ -111,16 +165,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
111
165
|
renderSlot(_ctx.$slots, "header"),
|
112
166
|
renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ updateOverflow, INNER_CLASS })))
|
113
167
|
], 512),
|
114
|
-
_ctx.logoComponent ? (openBlock(), createElementBlock("div", {
|
168
|
+
_ctx.logoComponent || _ctx.$slots.logo ? (openBlock(), createElementBlock("div", {
|
115
169
|
key: 1,
|
116
170
|
class: normalizeClass(["absolute bottom-[1cm] left-[1cm] flex items-center justify-center gap-3", {
|
117
171
|
"right-[1cm]": _ctx.centerLogo
|
118
172
|
}])
|
119
173
|
}, [
|
120
|
-
(
|
174
|
+
renderSlot(_ctx.$slots, "logo", {}, () => [
|
175
|
+
(openBlock(), createBlock(resolveDynamicComponent(_ctx.logoComponent)))
|
176
|
+
])
|
121
177
|
], 2)) : createCommentVNode("", true),
|
122
178
|
!_ctx.centerLogo && _ctx.date ? (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString(unref(dateFormat)(_ctx.date)), 1)) : createCommentVNode("", true),
|
123
|
-
_ctx.title && _ctx.topTitle ? (openBlock(), createElementBlock("span", _hoisted_4, " " + toDisplayString(_ctx.title), 1)) : createCommentVNode("", true)
|
179
|
+
_ctx.title && _ctx.topTitle ? (openBlock(), createElementBlock("span", _hoisted_4, " " + toDisplayString(_ctx.title), 1)) : createCommentVNode("", true),
|
180
|
+
_ctx.watermark ? (openBlock(), createElementBlock("div", _hoisted_5, [
|
181
|
+
createElementVNode("div", _hoisted_6, toDisplayString(_ctx.watermark), 1)
|
182
|
+
])) : createCommentVNode("", true)
|
124
183
|
], 2),
|
125
184
|
overflow.value.length !== 0 ? (openBlock(), createBlock(_component_WPage, {
|
126
185
|
key: 0,
|
@@ -130,7 +189,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
130
189
|
"center-logo": _ctx.centerLogo,
|
131
190
|
"logo-component": _ctx.logoComponent,
|
132
191
|
date: _ctx.date,
|
133
|
-
empty: _ctx.empty
|
192
|
+
empty: _ctx.empty,
|
193
|
+
watermark: _ctx.watermark
|
134
194
|
}, createSlots({ _: 2 }, [
|
135
195
|
_ctx.$slots.header ? {
|
136
196
|
name: "header",
|
@@ -139,7 +199,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
139
199
|
]),
|
140
200
|
key: "0"
|
141
201
|
} : void 0
|
142
|
-
]), 1032, ["prerendered", "title", "center-logo", "logo-component", "date", "empty"])) : createCommentVNode("", true)
|
202
|
+
]), 1032, ["prerendered", "title", "center-logo", "logo-component", "date", "empty", "watermark"])) : createCommentVNode("", true)
|
143
203
|
], 64);
|
144
204
|
};
|
145
205
|
}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
2
|
+
export default _default;
|
3
|
+
//# sourceMappingURL=WPageBreadcrumbs.vue.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"WPageBreadcrumbs.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Page/WPageBreadcrumbs.vue"],"names":[],"mappings":"AA+BA;;AAkIA,wBAMG"}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { defineComponent, computed, onUnmounted, createElementBlock, openBlock, Fragment, renderList, createCommentVNode, createElementVNode, unref, normalizeClass, toDisplayString } from 'vue';
|
2
|
+
import { usePageBreadcrumbs } from './use/usePageBreadcrumbs.js';
|
3
|
+
|
4
|
+
const _hoisted_1 = { class: "text-accent flex flex-wrap gap-x-2 font-light leading-loose tracking-wide" };
|
5
|
+
const _hoisted_2 = {
|
6
|
+
key: 0,
|
7
|
+
class: "text-description"
|
8
|
+
};
|
9
|
+
const _hoisted_3 = ["onClick"];
|
10
|
+
const _hoisted_4 = { class: "h-0 font-semibold opacity-0" };
|
11
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
12
|
+
__name: "WPageBreadcrumbs",
|
13
|
+
setup(__props) {
|
14
|
+
const { breadcrumbs, active, resetBreadcrumbs, scrollTo } = usePageBreadcrumbs();
|
15
|
+
const list = computed(
|
16
|
+
() => Object.entries(breadcrumbs.value).sort((a, b) => a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0).map((item) => item[0])
|
17
|
+
);
|
18
|
+
onUnmounted(() => {
|
19
|
+
resetBreadcrumbs();
|
20
|
+
});
|
21
|
+
return (_ctx, _cache) => {
|
22
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
23
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(list.value, (item, index) => {
|
24
|
+
return openBlock(), createElementBlock(Fragment, { key: item }, [
|
25
|
+
index !== 0 ? (openBlock(), createElementBlock("div", _hoisted_2, " / ")) : createCommentVNode("", true),
|
26
|
+
createElementVNode("button", {
|
27
|
+
class: normalizeClass([{
|
28
|
+
"font-semibold": unref(active) !== null && unref(breadcrumbs)[item] <= unref(active) && (index + 1 === list.value.length || unref(breadcrumbs)[list.value[index + 1]] > unref(active))
|
29
|
+
}, "grid justify-items-center hover:underline"]),
|
30
|
+
onClick: ($event) => unref(scrollTo)(item)
|
31
|
+
}, [
|
32
|
+
createElementVNode("div", _hoisted_4, toDisplayString(item), 1),
|
33
|
+
createElementVNode("div", null, toDisplayString(item), 1)
|
34
|
+
], 10, _hoisted_3)
|
35
|
+
], 64);
|
36
|
+
}), 128))
|
37
|
+
]);
|
38
|
+
};
|
39
|
+
}
|
40
|
+
});
|
41
|
+
|
42
|
+
export { _sfc_main as default };
|
@@ -0,0 +1,17 @@
|
|
1
|
+
export declare const usePageBreadcrumbs: () => {
|
2
|
+
resetBreadcrumbs: () => void;
|
3
|
+
scrollTo: (title: string) => void;
|
4
|
+
breadcrumbs: Readonly<import('vue').Ref<{
|
5
|
+
readonly [x: string]: number;
|
6
|
+
}, {
|
7
|
+
readonly [x: string]: number;
|
8
|
+
}>>;
|
9
|
+
active: Readonly<import('vue').Ref<number | null, number | null>>;
|
10
|
+
};
|
11
|
+
export declare const usePageBreadcrumb: () => {
|
12
|
+
setBreadcrumb: (title: string, index: number, update: () => void, scrollTo: () => void) => void;
|
13
|
+
resetBreadcrumb: (title: string) => void;
|
14
|
+
updateBreadcrumbs: () => void;
|
15
|
+
setActive: (value: number) => void;
|
16
|
+
};
|
17
|
+
//# sourceMappingURL=usePageBreadcrumbs.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"usePageBreadcrumbs.d.ts","sourceRoot":"","sources":["../../../../../src/components/Page/use/usePageBreadcrumbs.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB;;sBAOJ,MAAM;;;;;;;CAUhC,CAAA;AAED,eAAO,MAAM,iBAAiB;2BACE,MAAM,SAAS,MAAM,UAAU,MAAM,IAAI,YAAY,MAAM,IAAI;6BAM7D,MAAM;;uBAUZ,MAAM;CAUjC,CAAA"}
|