ep-craft 0.1.35 → 0.1.36

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 (114) hide show
  1. package/dist/components/breadcrumb/EpBreadcrumb.vue.d.ts +15 -0
  2. package/dist/components/breadcrumb/EpBreadcrumb.vue.js +41 -0
  3. package/dist/components/breadcrumb/EpBreadcrumb2.vue.js +4 -0
  4. package/dist/components/breadcrumb/breadcrumb.d.ts +28 -0
  5. package/dist/components/breadcrumb/breadcrumb.js +21 -0
  6. package/dist/components/breadcrumb/constants.d.ts +3 -0
  7. package/dist/components/breadcrumb/constants.js +4 -0
  8. package/dist/components/breadcrumb/index.d.ts +20 -2
  9. package/dist/components/breadcrumb/index.js +10 -4
  10. package/dist/components/breadcrumb/instance.d.ts +2 -0
  11. package/dist/components/breadcrumb-item/EpBreadcrumbItem.vue.d.ts +15 -0
  12. package/dist/components/breadcrumb-item/EpBreadcrumbItem.vue.js +58 -0
  13. package/dist/components/breadcrumb-item/EpBreadcrumbItem2.vue.js +4 -0
  14. package/dist/components/breadcrumb-item/breadcrumb-item.d.ts +23 -0
  15. package/dist/components/breadcrumb-item/breadcrumb-item.js +19 -0
  16. package/dist/components/breadcrumb-item/index.d.ts +11 -2
  17. package/dist/components/breadcrumb-item/index.js +8 -4
  18. package/dist/components/breadcrumb-item/instance.d.ts +2 -0
  19. package/dist/components/col/EpCol.vue.d.ts +24 -0
  20. package/dist/components/col/EpCol.vue.js +61 -0
  21. package/dist/components/col/EpCol2.vue.js +4 -0
  22. package/dist/components/col/col.d.ts +71 -0
  23. package/dist/components/col/col.js +79 -0
  24. package/dist/components/col/index.d.ts +10 -2
  25. package/dist/components/col/index.js +5 -4
  26. package/dist/components/collapse/EpCollapse.vue.d.ts +27 -0
  27. package/dist/components/collapse/EpCollapse.vue.js +30 -0
  28. package/dist/components/collapse/EpCollapse2.vue.js +4 -0
  29. package/dist/components/collapse/collapse.d.ts +47 -0
  30. package/dist/components/collapse/collapse.js +46 -0
  31. package/dist/components/collapse/constants.d.ts +7 -0
  32. package/dist/components/collapse/constants.js +4 -0
  33. package/dist/components/collapse/index.d.ts +21 -2
  34. package/dist/components/collapse/index.js +11 -3
  35. package/dist/components/collapse/instance.d.ts +2 -0
  36. package/dist/components/collapse/use-collapse-item.d.ts +21 -0
  37. package/dist/components/collapse/use-collapse-item.js +66 -0
  38. package/dist/components/collapse/use-collapse.d.ts +9 -0
  39. package/dist/components/collapse/use-collapse.js +72 -0
  40. package/dist/components/collapse-item/EpCollapseItem.vue.d.ts +27 -0
  41. package/dist/components/collapse-item/EpCollapseItem.vue.js +102 -0
  42. package/dist/components/collapse-item/EpCollapseItem2.vue.js +4 -0
  43. package/dist/components/collapse-item/collapse-item.d.ts +34 -0
  44. package/dist/components/collapse-item/collapse-item.js +34 -0
  45. package/dist/components/collapse-item/index.d.ts +11 -2
  46. package/dist/components/collapse-item/index.js +8 -4
  47. package/dist/components/collapse-item/instance.d.ts +2 -0
  48. package/dist/components/dropdown/src/dropdown-item-impl2.vue.js +1 -1
  49. package/dist/components/dropdown/src/dropdown-item2.vue.js +1 -1
  50. package/dist/components/dropdown/src/dropdown-menu2.vue.js +1 -1
  51. package/dist/components/dropdown/src/dropdown2.vue.js +1 -1
  52. package/dist/components/image/EpImage.vue.d.ts +63 -0
  53. package/dist/components/image/EpImage.vue.js +207 -0
  54. package/dist/components/image/EpImage2.vue.js +4 -0
  55. package/dist/components/image/image.d.ts +132 -0
  56. package/dist/components/image/image.js +132 -0
  57. package/dist/components/image/index.d.ts +11 -2
  58. package/dist/components/image/index.js +9 -4
  59. package/dist/components/image/instance.d.ts +2 -0
  60. package/dist/components/image-viewer/EpImageViewer.vue.d.ts +61 -0
  61. package/dist/components/image-viewer/EpImageViewer.vue.js +421 -0
  62. package/dist/components/image-viewer/EpImageViewer2.vue.js +4 -0
  63. package/dist/components/image-viewer/image-viewer.d.ts +100 -0
  64. package/dist/components/image-viewer/image-viewer.js +99 -0
  65. package/dist/components/image-viewer/index.d.ts +11 -2
  66. package/dist/components/image-viewer/index.js +9 -4
  67. package/dist/components/image-viewer/instance.d.ts +2 -0
  68. package/dist/components/roving-focus-group/index.js +1 -1
  69. package/dist/components/roving-focus-group/src/roving-focus-group.vue.js +19 -11
  70. package/dist/components/roving-focus-group/src/roving-focus-group2.vue.js +11 -19
  71. package/dist/components/row/EpRow.vue.d.ts +17 -0
  72. package/dist/components/row/EpRow.vue.js +50 -0
  73. package/dist/components/row/EpRow2.vue.js +4 -0
  74. package/dist/components/row/constants.d.ts +5 -0
  75. package/dist/components/row/constants.js +4 -0
  76. package/dist/components/row/index.d.ts +12 -2
  77. package/dist/components/row/index.js +7 -4
  78. package/dist/components/row/row.d.ts +41 -0
  79. package/dist/components/row/row.js +49 -0
  80. package/dist/components/skeleton/EpSkeleton.vue.d.ts +24 -0
  81. package/dist/components/skeleton/EpSkeleton.vue.js +56 -0
  82. package/dist/components/skeleton/EpSkeleton2.vue.js +4 -0
  83. package/dist/components/skeleton/index.d.ts +16 -2
  84. package/dist/components/skeleton/index.js +9 -3
  85. package/dist/components/skeleton/skeleton.d.ts +53 -0
  86. package/dist/components/skeleton/skeleton.js +39 -0
  87. package/dist/components/skeleton-item/EpSkeletonItem.vue.d.ts +5 -0
  88. package/dist/components/skeleton-item/EpSkeletonItem.vue.js +31 -0
  89. package/dist/components/skeleton-item/EpSkeletonItem2.vue.js +4 -0
  90. package/dist/components/skeleton-item/index.d.ts +8 -2
  91. package/dist/components/skeleton-item/index.js +7 -3
  92. package/dist/components/skeleton-item/skeleton-item.d.ts +19 -0
  93. package/dist/components/skeleton-item/skeleton-item.js +26 -0
  94. package/dist/components/timeline/index.d.ts +21 -2
  95. package/dist/components/timeline/index.js +10 -3
  96. package/dist/components/timeline/instance.d.ts +2 -0
  97. package/dist/components/timeline/timeline.d.ts +20 -0
  98. package/dist/components/timeline/timeline.js +53 -0
  99. package/dist/components/timeline/tokens.d.ts +7 -0
  100. package/dist/components/timeline/tokens.js +4 -0
  101. package/dist/components/timeline-item/EpTimelineItem.vue.d.ts +21 -0
  102. package/dist/components/timeline-item/EpTimelineItem.vue.js +94 -0
  103. package/dist/components/timeline-item/EpTimelineItem2.vue.js +4 -0
  104. package/dist/components/timeline-item/index.d.ts +12 -2
  105. package/dist/components/timeline-item/index.js +7 -3
  106. package/dist/components/timeline-item/instance.d.ts +2 -0
  107. package/dist/components/timeline-item/timeline-item.d.ts +63 -0
  108. package/dist/components/timeline-item/timeline-item.js +64 -0
  109. package/dist/hooks/index.d.ts +1 -0
  110. package/dist/hooks/use-throttle-render/index.d.ts +7 -0
  111. package/dist/hooks/use-throttle-render/index.js +31 -0
  112. package/dist/vendored-components.d.ts +1 -1
  113. package/dist/vendored-components.js +18 -1
  114. package/package.json +1 -1
@@ -0,0 +1,30 @@
1
+ import { defineComponent as m, openBlock as c, createElementBlock as i, normalizeClass as f, unref as u, renderSlot as d } from "vue";
2
+ import { collapseEmits as C } from "./collapse.js";
3
+ import { useCollapse as _, useCollapseDOM as E } from "./use-collapse.js";
4
+ const k = /* @__PURE__ */ m({
5
+ name: "EpCollapse",
6
+ __name: "EpCollapse",
7
+ props: {
8
+ accordion: { type: Boolean },
9
+ modelValue: { default: () => [] },
10
+ expandIconPosition: { default: "right" },
11
+ beforeCollapse: {}
12
+ },
13
+ emits: C,
14
+ setup(o, { expose: s, emit: t }) {
15
+ const e = o, l = t, { activeNames: a, setActiveNames: n } = _(e, l), { rootKls: p } = E(e);
16
+ return s({
17
+ /** @description active names */
18
+ activeNames: a,
19
+ /** @description set active names */
20
+ setActiveNames: n
21
+ }), (r, v) => (c(), i("div", {
22
+ class: f(u(p))
23
+ }, [
24
+ d(r.$slots, "default")
25
+ ], 2));
26
+ }
27
+ });
28
+ export {
29
+ k as default
30
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./EpCollapse.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,47 @@
1
+ import type { ExtractPublicPropTypes } from 'vue';
2
+ import type { Arrayable, Awaitable } from '@element-plus/utils';
3
+ export type CollapseActiveName = string | number;
4
+ export type CollapseModelValue = Arrayable<CollapseActiveName>;
5
+ export type CollapseIconPositionType = 'left' | 'right';
6
+ export declare const emitChangeFn: (value: CollapseModelValue) => value is string | number | CollapseActiveName[];
7
+ export interface CollapseProps {
8
+ /**
9
+ * @description whether to activate accordion mode
10
+ */
11
+ accordion?: boolean;
12
+ /**
13
+ * @description currently active panel, the type is `string` in accordion mode, otherwise it is `array`
14
+ */
15
+ modelValue?: CollapseModelValue;
16
+ /**
17
+ * @description set expand icon position
18
+ */
19
+ expandIconPosition?: CollapseIconPositionType;
20
+ /**
21
+ * @description before-collapse hook before the collapse state changes. If `false` is returned or a `Promise` is returned and then is rejected, will stop collapsing
22
+ */
23
+ beforeCollapse?: (name: CollapseActiveName) => Awaitable<boolean>;
24
+ }
25
+ /**
26
+ * @deprecated Removed after 3.0.0, Use `CollapseProps` instead.
27
+ */
28
+ export declare const collapseProps: {
29
+ readonly accordion: BooleanConstructor;
30
+ readonly modelValue: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => string | number | CollapseActiveName[]) | (() => CollapseModelValue) | (((new (...args: any[]) => string | number | CollapseActiveName[]) | (() => CollapseModelValue)) | null)[], unknown, unknown, () => [], boolean>;
31
+ readonly expandIconPosition: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => "left" | "right") | (() => CollapseIconPositionType) | (((new (...args: any[]) => "left" | "right") | (() => CollapseIconPositionType)) | null)[], unknown, unknown, "right", boolean>;
32
+ readonly beforeCollapse: {
33
+ readonly type: import("vue").PropType<(name: CollapseActiveName) => Awaitable<boolean>>;
34
+ readonly required: false;
35
+ readonly validator: ((val: unknown) => boolean) | undefined;
36
+ __epPropKey: true;
37
+ };
38
+ };
39
+ /**
40
+ * @deprecated Removed after 3.0.0, Use `CollapseProps` instead.
41
+ */
42
+ export type CollapsePropsPublic = ExtractPublicPropTypes<typeof collapseProps>;
43
+ export declare const collapseEmits: {
44
+ "update:modelValue": (value: CollapseModelValue) => value is string | number | CollapseActiveName[];
45
+ change: (value: CollapseModelValue) => value is string | number | CollapseActiveName[];
46
+ };
47
+ export type CollapseEmits = typeof collapseEmits;
@@ -0,0 +1,46 @@
1
+ import { isNumber as i } from "../../utils/types.js";
2
+ import "lodash-unified";
3
+ import "@vueuse/core";
4
+ import { isString as e, isArray as m } from "@vue/shared";
5
+ import { mutable as p } from "../../utils/typescript.js";
6
+ import { CHANGE_EVENT as n, UPDATE_MODEL_EVENT as a } from "../../constants/event.js";
7
+ import "@element-plus/icons-vue";
8
+ import { buildProps as s, definePropType as r } from "../../utils/vue/props/runtime.js";
9
+ import "vue";
10
+ const t = (o) => i(o) || e(o) || m(o);
11
+ s({
12
+ /**
13
+ * @description whether to activate accordion mode
14
+ */
15
+ accordion: Boolean,
16
+ /**
17
+ * @description currently active panel, the type is `string` in accordion mode, otherwise it is `array`
18
+ */
19
+ modelValue: {
20
+ type: r([Array, String, Number]),
21
+ default: () => p([])
22
+ },
23
+ /**
24
+ * @description set expand icon position
25
+ */
26
+ expandIconPosition: {
27
+ type: r([String]),
28
+ default: "right"
29
+ },
30
+ /**
31
+ * @description before-collapse hook before the collapse state changes. If `false` is returned or a `Promise` is returned and then is rejected, will stop collapsing
32
+ */
33
+ beforeCollapse: {
34
+ type: r(
35
+ Function
36
+ )
37
+ }
38
+ });
39
+ const N = {
40
+ [a]: t,
41
+ [n]: t
42
+ };
43
+ export {
44
+ N as collapseEmits,
45
+ t as emitChangeFn
46
+ };
@@ -0,0 +1,7 @@
1
+ import type { InjectionKey, Ref } from 'vue';
2
+ import type { CollapseActiveName } from './collapse';
3
+ export interface CollapseContext {
4
+ activeNames: Ref<CollapseActiveName[]>;
5
+ handleItemClick: (name: CollapseActiveName) => void;
6
+ }
7
+ export declare const collapseContextKey: InjectionKey<CollapseContext>;
@@ -0,0 +1,4 @@
1
+ const e = Symbol("collapseContextKey");
2
+ export {
3
+ e as collapseContextKey
4
+ };
@@ -1,4 +1,23 @@
1
1
  import type { Plugin } from 'vue';
2
- import { ElCollapse } from 'element-plus';
3
- export declare const EpCollapse: typeof ElCollapse & Plugin;
2
+ import _EpCollapse from './EpCollapse.vue';
3
+ import _EpCollapseItem from '../collapse-item/EpCollapseItem.vue';
4
+ /**
5
+ * collapse 自持 barrel(vendor-batch-4 产出)。
6
+ *
7
+ * `.CollapseItem` 是对外公开面的一部分(迁移前包装态经 `Object.assign`
8
+ * 继承自上游),此处挂载**未安装本体**,与上游形态一致。
9
+ * 上下文键 `collapseContextKey` 由本入口导出,子项从 ./constants 读取同一 Symbol。
10
+ * 不导出 `ElCollapse` / `ElCollapseItem` 别名。
11
+ */
12
+ export declare const EpCollapse: typeof _EpCollapse & Plugin & {
13
+ CollapseItem: typeof _EpCollapseItem;
14
+ };
4
15
  export default EpCollapse;
16
+ export { collapseContextKey } from './constants';
17
+ export { collapseEmits, collapseProps, emitChangeFn, } from './collapse';
18
+ export { collapseItemProps } from '../collapse-item';
19
+ export type { CollapseContext } from './constants';
20
+ export type { CollapseActiveName, CollapseEmits, CollapseIconPositionType, CollapseModelValue, CollapseProps, CollapsePropsPublic, } from './collapse';
21
+ export type { CollapseInstance } from './instance';
22
+ export type { CollapseItemProps, CollapseItemPropsPublic, } from '../collapse-item';
23
+ export type { CollapseItemInstance } from '../collapse-item/instance';
@@ -1,6 +1,14 @@
1
- import { ElCollapse as l } from "element-plus";
2
1
  import { withInstall as o } from "../../utils/with-install.js";
3
- const p = Object.assign({}, l, { name: "EpCollapse" }), a = o(p, "ep-collapse");
2
+ import m from "./EpCollapse.vue.js";
3
+ import t from "../collapse-item/EpCollapseItem.vue.js";
4
+ import { collapseEmits as n, emitChangeFn as c } from "./collapse.js";
5
+ import "../collapse-item/index.js";
6
+ const l = Object.assign(
7
+ o(m, "ep-collapse"),
8
+ { CollapseItem: t }
9
+ );
4
10
  export {
5
- a as EpCollapse
11
+ l as EpCollapse,
12
+ n as collapseEmits,
13
+ c as emitChangeFn
6
14
  };
@@ -0,0 +1,2 @@
1
+ import type EpCollapse from './EpCollapse.vue';
2
+ export type CollapseInstance = InstanceType<typeof EpCollapse> & unknown;
@@ -0,0 +1,21 @@
1
+ import type { CollapseItemProps } from '../collapse-item/collapse-item';
2
+ export declare const useCollapseItem: (props: CollapseItemProps) => {
3
+ focusing: import("vue").Ref<boolean, boolean>;
4
+ id: import("vue").ComputedRef<number>;
5
+ isActive: import("vue").ComputedRef<boolean | undefined>;
6
+ handleFocus: () => void;
7
+ handleHeaderClick: (e: MouseEvent) => void;
8
+ handleEnterClick: (e: KeyboardEvent) => void;
9
+ };
10
+ export declare const useCollapseItemDOM: (props: CollapseItemProps, { focusing, isActive, id }: Partial<ReturnType<typeof useCollapseItem>>) => {
11
+ itemTitleKls: import("vue").ComputedRef<string[]>;
12
+ arrowKls: import("vue").ComputedRef<string[]>;
13
+ headKls: import("vue").ComputedRef<(string | {
14
+ focusing: boolean | undefined;
15
+ })[]>;
16
+ rootKls: import("vue").ComputedRef<string[]>;
17
+ itemWrapperKls: import("vue").ComputedRef<string>;
18
+ itemContentKls: import("vue").ComputedRef<string>;
19
+ scopedContentId: import("vue").ComputedRef<string>;
20
+ scopedHeadId: import("vue").ComputedRef<string>;
21
+ };
@@ -0,0 +1,66 @@
1
+ import { inject as v, ref as C, computed as n, unref as o } from "vue";
2
+ import { useNamespace as h } from "../../hooks/use-namespace/index.js";
3
+ import "@vue/shared";
4
+ import "lodash-unified";
5
+ import "@vueuse/core";
6
+ import "@element-plus/icons-vue";
7
+ import { useIdInjection as I } from "../../hooks/use-id/index.js";
8
+ import "../../hooks/use-size/index.js";
9
+ import "@popperjs/core";
10
+ import "../../hooks/use-z-index/index.js";
11
+ import "../../hooks/use-delayed-toggle/index.js";
12
+ import "../../hooks/use-aria/index.js";
13
+ import "../../hooks/use-model-toggle/index.js";
14
+ import "../../hooks/use-empty-values/index.js";
15
+ import { collapseContextKey as k } from "./constants.js";
16
+ const W = (c) => {
17
+ const t = v(k), { namespace: a } = h("collapse"), i = C(!1), e = C(!1), m = I(), d = n(() => m.current++), l = n(() => c.name ?? `${a.value}-id-${m.prefix}-${o(d)}`), u = n(
18
+ () => t == null ? void 0 : t.activeNames.value.includes(o(l))
19
+ );
20
+ return {
21
+ focusing: i,
22
+ id: d,
23
+ isActive: u,
24
+ handleFocus: () => {
25
+ setTimeout(() => {
26
+ e.value ? e.value = !1 : i.value = !0;
27
+ }, 50);
28
+ },
29
+ handleHeaderClick: (r) => {
30
+ if (c.disabled) return;
31
+ const s = r.target;
32
+ s != null && s.closest("input, textarea, select") || (t == null || t.handleItemClick(o(l)), i.value = !1, e.value = !0);
33
+ },
34
+ handleEnterClick: (r) => {
35
+ const s = r.target;
36
+ s != null && s.closest("input, textarea, select") || (r.preventDefault(), t == null || t.handleItemClick(o(l)));
37
+ }
38
+ };
39
+ }, q = (c, { focusing: t, isActive: a, id: i }) => {
40
+ const e = h("collapse"), m = n(() => [
41
+ e.b("item"),
42
+ e.is("active", o(a)),
43
+ e.is("disabled", c.disabled)
44
+ ]), d = n(() => [
45
+ e.be("item", "header"),
46
+ e.is("active", o(a)),
47
+ { focusing: o(t) && !c.disabled }
48
+ ]), l = n(() => [
49
+ e.be("item", "arrow"),
50
+ e.is("active", o(a))
51
+ ]), u = n(() => [e.be("item", "title")]), p = n(() => e.be("item", "wrap")), f = n(() => e.be("item", "content")), b = n(() => e.b(`content-${o(i)}`)), r = n(() => e.b(`head-${o(i)}`));
52
+ return {
53
+ itemTitleKls: u,
54
+ arrowKls: l,
55
+ headKls: d,
56
+ rootKls: m,
57
+ itemWrapperKls: p,
58
+ itemContentKls: f,
59
+ scopedContentId: b,
60
+ scopedHeadId: r
61
+ };
62
+ };
63
+ export {
64
+ W as useCollapseItem,
65
+ q as useCollapseItemDOM
66
+ };
@@ -0,0 +1,9 @@
1
+ import type { SetupContext } from 'vue';
2
+ import type { CollapseActiveName, CollapseEmits, CollapseProps } from './collapse';
3
+ export declare const useCollapse: (props: CollapseProps, emit: SetupContext<CollapseEmits>["emit"]) => {
4
+ activeNames: import("vue").Ref<(string | number)[], (string | number)[]>;
5
+ setActiveNames: (_activeNames: CollapseActiveName[]) => void;
6
+ };
7
+ export declare const useCollapseDOM: (props: CollapseProps) => {
8
+ rootKls: import("vue").ComputedRef<string[]>;
9
+ };
@@ -0,0 +1,72 @@
1
+ import { ref as f, watch as d, provide as v, computed as C } from "vue";
2
+ import { isBoolean as h } from "../../utils/types.js";
3
+ import { castArray as n } from "lodash-unified";
4
+ import "@vueuse/core";
5
+ import { throwError as E, debugWarn as b } from "../../utils/error.js";
6
+ import { isPromise as m } from "@vue/shared";
7
+ import { UPDATE_MODEL_EVENT as N, CHANGE_EVENT as P } from "../../constants/event.js";
8
+ import "@element-plus/icons-vue";
9
+ import { useNamespace as O } from "../../hooks/use-namespace/index.js";
10
+ import "../../hooks/use-size/index.js";
11
+ import "@popperjs/core";
12
+ import "../../hooks/use-z-index/index.js";
13
+ import "../../hooks/use-delayed-toggle/index.js";
14
+ import "../../hooks/use-aria/index.js";
15
+ import "../../hooks/use-model-toggle/index.js";
16
+ import "../../hooks/use-empty-values/index.js";
17
+ import { collapseContextKey as x } from "./constants.js";
18
+ const u = "ElCollapse", U = (t, i) => {
19
+ const r = f(n(t.modelValue)), l = (o) => {
20
+ r.value = o;
21
+ const e = t.accordion ? r.value[0] : r.value;
22
+ i(N, e), i(P, e);
23
+ }, c = (o) => {
24
+ if (t.accordion)
25
+ l([r.value[0] === o ? "" : o]);
26
+ else {
27
+ const e = [...r.value], s = e.indexOf(o);
28
+ s > -1 ? e.splice(s, 1) : e.push(o), l(e);
29
+ }
30
+ }, p = async (o) => {
31
+ const { beforeCollapse: e } = t;
32
+ if (!e) {
33
+ c(o);
34
+ return;
35
+ }
36
+ const s = e(o);
37
+ [
38
+ m(s),
39
+ h(s)
40
+ ].includes(!0) || E(
41
+ u,
42
+ "beforeCollapse must return type `Promise<boolean>` or `boolean`"
43
+ ), m(s) ? s.then((a) => {
44
+ a !== !1 && c(o);
45
+ }).catch((a) => {
46
+ b(u, `some error occurred: ${a}`);
47
+ }) : s && c(o);
48
+ };
49
+ return d(
50
+ () => t.modelValue,
51
+ () => r.value = n(t.modelValue),
52
+ { deep: !0 }
53
+ ), v(x, {
54
+ activeNames: r,
55
+ handleItemClick: p
56
+ }), {
57
+ activeNames: r,
58
+ setActiveNames: l
59
+ };
60
+ }, W = (t) => {
61
+ const i = O("collapse");
62
+ return {
63
+ rootKls: C(() => [
64
+ i.b(),
65
+ i.b(`icon-position-${t.expandIconPosition}`)
66
+ ])
67
+ };
68
+ };
69
+ export {
70
+ U as useCollapse,
71
+ W as useCollapseDOM
72
+ };
@@ -0,0 +1,27 @@
1
+ import type { CollapseItemProps } from './collapse-item';
2
+ declare var __VLS_1: {
3
+ isActive: boolean | undefined;
4
+ }, __VLS_3: {
5
+ isActive: boolean | undefined;
6
+ }, __VLS_17: {};
7
+ type __VLS_Slots = {} & {
8
+ title?: (props: typeof __VLS_1) => any;
9
+ } & {
10
+ icon?: (props: typeof __VLS_3) => any;
11
+ } & {
12
+ default?: (props: typeof __VLS_17) => any;
13
+ };
14
+ declare const __VLS_component: import("vue").DefineComponent<CollapseItemProps, {
15
+ /** @description current collapse-item whether active */
16
+ isActive: import("vue").ComputedRef<boolean | undefined>;
17
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CollapseItemProps> & Readonly<{}>, {
18
+ icon: import("../../utils").IconPropType;
19
+ title: string;
20
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
22
+ export default _default;
23
+ type __VLS_WithSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
@@ -0,0 +1,102 @@
1
+ import { defineComponent as g, openBlock as C, createElementBlock as A, normalizeClass as o, unref as e, createElementVNode as s, withKeys as D, withModifiers as $, renderSlot as r, createTextVNode as N, toDisplayString as S, createVNode as v, withCtx as w, createBlock as T, resolveDynamicComponent as V, withDirectives as F, vShow as H, markRaw as M } from "vue";
2
+ import { EpCollapseTransition as R } from "../collapse-transition/index.js";
3
+ import { EpIcon as z } from "../icon/index.js";
4
+ import { ArrowRight as O } from "@element-plus/icons-vue";
5
+ import { useCollapseItem as W, useCollapseItemDOM as j } from "../collapse/use-collapse-item.js";
6
+ const q = ["id", "aria-expanded", "aria-controls", "aria-describedby", "tabindex", "aria-disabled"], G = ["id", "aria-hidden", "aria-labelledby"], X = /* @__PURE__ */ g({
7
+ name: "EpCollapseItem",
8
+ __name: "EpCollapseItem",
9
+ props: {
10
+ title: { default: "" },
11
+ name: {},
12
+ icon: { default: M(O) },
13
+ disabled: { type: Boolean }
14
+ },
15
+ setup(l, { expose: y }) {
16
+ const c = l, {
17
+ focusing: m,
18
+ id: K,
19
+ isActive: t,
20
+ handleFocus: p,
21
+ handleHeaderClick: u,
22
+ handleEnterClick: f
23
+ } = W(c), {
24
+ arrowKls: h,
25
+ headKls: k,
26
+ rootKls: E,
27
+ itemTitleKls: I,
28
+ itemWrapperKls: x,
29
+ itemContentKls: B,
30
+ scopedContentId: d,
31
+ scopedHeadId: b
32
+ } = j(c, { focusing: m, isActive: t, id: K });
33
+ return y({
34
+ /** @description current collapse-item whether active */
35
+ isActive: t
36
+ }), (n, i) => (C(), A("div", {
37
+ class: o(e(E))
38
+ }, [
39
+ s("div", {
40
+ id: e(b),
41
+ class: o(e(k)),
42
+ "aria-expanded": e(t),
43
+ "aria-controls": e(d),
44
+ "aria-describedby": e(d),
45
+ tabindex: l.disabled ? void 0 : 0,
46
+ "aria-disabled": l.disabled,
47
+ role: "button",
48
+ onClick: i[0] || (i[0] = //@ts-ignore
49
+ (...a) => e(u) && e(u)(...a)),
50
+ onKeydown: i[1] || (i[1] = D($(
51
+ //@ts-ignore
52
+ (...a) => e(f) && e(f)(...a),
53
+ ["stop"]
54
+ ), ["space", "enter"])),
55
+ onFocus: i[2] || (i[2] = //@ts-ignore
56
+ (...a) => e(p) && e(p)(...a)),
57
+ onBlur: i[3] || (i[3] = (a) => m.value = !1)
58
+ }, [
59
+ s("span", {
60
+ class: o(e(I))
61
+ }, [
62
+ r(n.$slots, "title", { isActive: e(t) }, () => [
63
+ N(S(l.title), 1)
64
+ ])
65
+ ], 2),
66
+ r(n.$slots, "icon", { isActive: e(t) }, () => [
67
+ v(e(z), {
68
+ class: o(e(h))
69
+ }, {
70
+ default: w(() => [
71
+ (C(), T(V(l.icon)))
72
+ ]),
73
+ _: 1
74
+ }, 8, ["class"])
75
+ ])
76
+ ], 42, q),
77
+ v(e(R), null, {
78
+ default: w(() => [
79
+ F(s("div", {
80
+ id: e(d),
81
+ role: "region",
82
+ class: o(e(x)),
83
+ "aria-hidden": !e(t),
84
+ "aria-labelledby": e(b)
85
+ }, [
86
+ s("div", {
87
+ class: o(e(B))
88
+ }, [
89
+ r(n.$slots, "default")
90
+ ], 2)
91
+ ], 10, G), [
92
+ [H, e(t)]
93
+ ])
94
+ ]),
95
+ _: 3
96
+ })
97
+ ], 2));
98
+ }
99
+ });
100
+ export {
101
+ X as default
102
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./EpCollapseItem.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,34 @@
1
+ import type { ExtractPublicPropTypes } from 'vue';
2
+ import type { IconPropType } from '@element-plus/utils';
3
+ import type { CollapseActiveName } from '../collapse/collapse';
4
+ export interface CollapseItemProps {
5
+ /**
6
+ * @description title of the panel
7
+ */
8
+ title?: string;
9
+ /**
10
+ * @description unique identification of the panel
11
+ */
12
+ name?: CollapseActiveName;
13
+ /**
14
+ * @description icon of the collapse item
15
+ */
16
+ icon?: IconPropType;
17
+ /**
18
+ * @description disable the collapse item
19
+ */
20
+ disabled?: boolean;
21
+ }
22
+ /**
23
+ * @deprecated Removed after 3.0.0, Use `CollapseItemProps` instead.
24
+ */
25
+ export declare const collapseItemProps: {
26
+ readonly title: import("@element-plus/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
27
+ readonly name: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => CollapseActiveName) | (((new (...args: any[]) => string | number) | (() => CollapseActiveName)) | null)[], unknown, unknown, undefined, boolean>;
28
+ readonly icon: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | (((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component)) | null)[], unknown, unknown, import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, boolean>;
29
+ readonly disabled: BooleanConstructor;
30
+ };
31
+ /**
32
+ * @deprecated Removed after 3.0.0, Use `CollapseItemProps` instead.
33
+ */
34
+ export type CollapseItemPropsPublic = ExtractPublicPropTypes<typeof collapseItemProps>;
@@ -0,0 +1,34 @@
1
+ import "@vue/shared";
2
+ import "lodash-unified";
3
+ import "@vueuse/core";
4
+ import { iconPropType as o } from "../../utils/vue/icon.js";
5
+ import "vue";
6
+ import { buildProps as r, definePropType as t } from "../../utils/vue/props/runtime.js";
7
+ import { ArrowRight as i } from "@element-plus/icons-vue";
8
+ r({
9
+ /**
10
+ * @description title of the panel
11
+ */
12
+ title: {
13
+ type: String,
14
+ default: ""
15
+ },
16
+ /**
17
+ * @description unique identification of the panel
18
+ */
19
+ name: {
20
+ type: t([String, Number]),
21
+ default: void 0
22
+ },
23
+ /**
24
+ * @description icon of the collapse item
25
+ */
26
+ icon: {
27
+ type: o,
28
+ default: i
29
+ },
30
+ /**
31
+ * @description disable the collapse item
32
+ */
33
+ disabled: Boolean
34
+ });
@@ -1,4 +1,13 @@
1
1
  import type { Plugin } from 'vue';
2
- import { ElCollapseItem } from 'element-plus';
3
- export declare const EpCollapseItem: typeof ElCollapseItem & Plugin;
2
+ import _EpCollapseItem from './EpCollapseItem.vue';
3
+ /**
4
+ * collapse-item 自持 barrel(vendor-batch-4 产出)。
5
+ *
6
+ * 子项通过 `../collapse/constants` 的本地 `collapseContextKey` 注入父上下文;
7
+ * 父入口以本文件所在目录的本体挂载 `.CollapseItem`。不导出 `ElCollapseItem` 别名。
8
+ */
9
+ export declare const EpCollapseItem: typeof _EpCollapseItem & Plugin;
4
10
  export default EpCollapseItem;
11
+ export { collapseItemProps } from './collapse-item';
12
+ export type { CollapseItemProps, CollapseItemPropsPublic, } from './collapse-item';
13
+ export type { CollapseItemInstance } from './instance';
@@ -1,6 +1,10 @@
1
- import { ElCollapseItem as e } from "element-plus";
2
- import { withInstall as l } from "../../utils/with-install.js";
3
- const t = Object.assign({}, e, { name: "EpCollapseItem" }), m = l(t, "ep-collapse-item");
1
+ import { withInstall as o } from "../../utils/with-install.js";
2
+ import t from "./EpCollapseItem.vue.js";
3
+ import "./collapse-item.js";
4
+ const i = o(
5
+ t,
6
+ "ep-collapse-item"
7
+ );
4
8
  export {
5
- m as EpCollapseItem
9
+ i as EpCollapseItem
6
10
  };
@@ -0,0 +1,2 @@
1
+ import type EpCollapseItem from './EpCollapseItem.vue';
2
+ export type CollapseItemInstance = InstanceType<typeof EpCollapseItem> & unknown;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as E, inject as e, computed as _ } from "vue";
2
- import "../../roving-focus-group/src/roving-focus-group.vue.js";
2
+ import "../../roving-focus-group/src/roving-focus-group2.vue.js";
3
3
  import "../../roving-focus-group/src/roving-focus-item.vue.js";
4
4
  import { ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY as O } from "../../roving-focus-group/src/tokens.js";
5
5
  import { EVENT_CODE as t } from "../../../constants/aria.js";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as E, getCurrentInstance as P, inject as h, computed as k } from "vue";
2
- import "../../roving-focus-group/src/roving-focus-group.vue.js";
2
+ import "../../roving-focus-group/src/roving-focus-group2.vue.js";
3
3
  import C from "../../roving-focus-group/src/roving-focus-item2.vue.js";
4
4
  import "@vue/shared";
5
5
  import "lodash-unified";
@@ -6,7 +6,7 @@ import { composeEventHandlers as F, getEventCode as D } from "../../../utils/dom
6
6
  import "@element-plus/icons-vue";
7
7
  import { composeRefs as G } from "../../../utils/vue/refs.js";
8
8
  import { EVENT_CODE as y } from "../../../constants/aria.js";
9
- import "../../roving-focus-group/src/roving-focus-group.vue.js";
9
+ import "../../roving-focus-group/src/roving-focus-group2.vue.js";
10
10
  import "../../roving-focus-group/src/roving-focus-item.vue.js";
11
11
  import { ROVING_FOCUS_GROUP_INJECTION_KEY as L } from "../../roving-focus-group/src/tokens.js";
12
12
  import { ROVING_FOCUS_COLLECTION_INJECTION_KEY as b } from "../../roving-focus-group/src/roving-focus-group.js";
@@ -4,7 +4,7 @@ import { EpButtonGroup as G } from "../../button-group/index.js";
4
4
  import { EpTooltip as P } from "../../tooltip/index.js";
5
5
  import { EpScrollbar as z } from "../../scrollbar/index.js";
6
6
  import { EpIcon as J } from "../../icon/index.js";
7
- import L from "../../roving-focus-group/src/roving-focus-group2.vue.js";
7
+ import L from "../../roving-focus-group/src/roving-focus-group.vue.js";
8
8
  import "../../roving-focus-group/src/roving-focus-item.vue.js";
9
9
  import "@vue/shared";
10
10
  import { castArray as M } from "lodash-unified";