giime 0.1.22 → 0.1.23

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.
@@ -1,10 +1,3 @@
1
- import type { TabsInstance } from 'element-plus';
2
- import type { Slot, VNode } from 'vue';
3
- type TabPaneVNode = VNode & {
4
- children: {
5
- [name: string]: Slot;
6
- } | null;
7
- };
8
1
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
9
2
  type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "card" | "border-card", unknown, "", boolean>;
10
3
  closable: BooleanConstructor;
@@ -27,14 +20,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
27
20
  readonly prototype: any;
28
21
  })[], unknown, unknown, () => true, boolean>;
29
22
  stretch: BooleanConstructor;
30
- }, {
31
- elRef: import("vue").Ref<TabsInstance | undefined>;
32
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
33
24
  "update:modelValue": (name: import("element-plus").TabPaneName) => void;
34
25
  tabClick: (pane: {
35
26
  uid: number;
36
27
  slots: Readonly<{
37
- [name: string]: Slot<any> | undefined;
28
+ [name: string]: import("vue").Slot<any> | undefined;
38
29
  }>;
39
30
  props: {
40
31
  readonly closable: boolean;
@@ -79,7 +70,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
79
70
  onTabClick?: ((pane: {
80
71
  uid: number;
81
72
  slots: Readonly<{
82
- [name: string]: Slot<any> | undefined;
73
+ [name: string]: import("vue").Slot<any> | undefined;
83
74
  }>;
84
75
  props: {
85
76
  readonly closable: boolean;
@@ -105,10 +96,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
105
96
  addable: boolean;
106
97
  tabPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "right" | "left", unknown>;
107
98
  stretch: boolean;
108
- }, {}>, Readonly<{
109
- default?: (() => TabPaneVNode[]) | undefined;
110
- }> & {
111
- default?: (() => TabPaneVNode[]) | undefined;
99
+ }, {}>, {
100
+ default?(_: any): any;
101
+ "add-icon"?(_: {}): any;
112
102
  }>;
113
103
  export default _default;
114
104
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,11 +1,9 @@
1
- import { defineComponent, useSlots, computed, ref, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, unref, withCtx, createElementBlock, Fragment, renderList, createSlots, createCommentVNode, createVNode } from 'vue';
1
+ import { defineComponent, useSlots, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, unref, createSlots, withCtx, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
2
2
  import '../../../../utils/index.mjs';
3
3
  import { tabsEmits as tabsEmits$1 } from 'element-plus';
4
- import VNodeRenderer from '../../common/VNodeRenderer.mjs';
5
4
  import { tabsProps, tabsEmits } from './tabs.mjs';
6
5
  import { getGmEvent } from '../../../../utils/src/elementPlus/event.mjs';
7
6
 
8
- const _hoisted_1 = { key: 0 };
9
7
  var _sfc_main = /* @__PURE__ */ defineComponent({
10
8
  ...{
11
9
  name: "GmTabs"
@@ -13,97 +11,37 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
13
11
  __name: "Tabs",
14
12
  props: tabsProps,
15
13
  emits: tabsEmits,
16
- setup(__props, { expose: __expose, emit: __emit }) {
14
+ setup(__props, { emit: __emit }) {
17
15
  const slots = useSlots();
18
16
  const props = __props;
19
17
  const emit = __emit;
20
18
  const elEvents = getGmEvent(tabsEmits$1, emit);
21
- const gmTabPaneList = computed(() => {
22
- const nodeList = [];
23
- slots.default?.().forEach((node) => {
24
- const item = recursionHandle(node);
25
- if (item) {
26
- nodeList.push(...item);
27
- }
28
- });
29
- return nodeList;
30
- });
31
- const recursionHandle = (item) => {
32
- const items = [];
33
- if (typeof item.type === "symbol") {
34
- return recursionHandle(item.children);
35
- } else {
36
- if (Array.isArray(item)) {
37
- item.forEach((node) => {
38
- if (node.type?.name === "GmTabPane") {
39
- items.push(node);
40
- }
41
- });
42
- } else {
43
- if (item.type?.name === "GmTabPane") {
44
- items.push(item);
45
- }
46
- }
47
- }
48
- return items;
49
- };
50
- const elRef = ref();
51
- __expose({
52
- elRef
53
- });
54
19
  return (_ctx, _cache) => {
55
- const _component_el_tab_pane = resolveComponent("el-tab-pane");
56
20
  const _component_el_tabs = resolveComponent("el-tabs");
57
21
  return openBlock(), createBlock(
58
22
  _component_el_tabs,
59
- mergeProps({
60
- ref_key: "elRef",
61
- ref: elRef
62
- }, props, toHandlers(unref(elEvents))),
63
- {
64
- default: withCtx(() => [
65
- unref(slots).default ? (openBlock(), createElementBlock("div", _hoisted_1, [
66
- (openBlock(true), createElementBlock(
67
- Fragment,
68
- null,
69
- renderList(gmTabPaneList.value, (item, index) => {
70
- return openBlock(), createBlock(
71
- _component_el_tab_pane,
72
- mergeProps({ key: index }, item.props),
73
- createSlots({
74
- default: withCtx(() => [
75
- item.children ? (openBlock(), createBlock(unref(VNodeRenderer), {
76
- key: 0,
77
- vnode: item.children.default()
78
- }, null, 8, ["vnode"])) : createCommentVNode("v-if", true)
79
- ]),
80
- _: 2
81
- /* DYNAMIC */
82
- }, [
83
- item.children?.label ? {
84
- name: "label",
85
- fn: withCtx(() => [
86
- createVNode(unref(VNodeRenderer), {
87
- vnode: item.children?.label()
88
- }, null, 8, ["vnode"])
89
- ]),
90
- key: "0"
91
- } : void 0
92
- ]),
93
- 1040
94
- /* FULL_PROPS, DYNAMIC_SLOTS */
95
- );
96
- }),
97
- 128
98
- /* KEYED_FRAGMENT */
99
- ))
100
- ])) : createCommentVNode("v-if", true)
101
- ]),
102
- _: 1
103
- /* STABLE */
104
- },
105
- 16
106
- /* FULL_PROPS */
23
+ mergeProps({ ref: "elRef" }, props, toHandlers(unref(elEvents))),
24
+ createSlots({
25
+ _: 2
26
+ /* DYNAMIC */
27
+ }, [
28
+ unref(slots).default ? {
29
+ name: "default",
30
+ fn: withCtx((slotValue) => [
31
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotValue)))
32
+ ]),
33
+ key: "0"
34
+ } : void 0,
35
+ unref(slots)["add-icon"] ? {
36
+ name: "add-icon",
37
+ fn: withCtx(() => [
38
+ renderSlot(_ctx.$slots, "add-icon")
39
+ ]),
40
+ key: "1"
41
+ } : void 0
42
+ ]),
43
+ 1040
44
+ /* FULL_PROPS, DYNAMIC_SLOTS */
107
45
  );
108
46
  };
109
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.vue2.mjs","sources":["../../../../../../../packages/components/src/base/tabs/Tabs.vue"],"sourcesContent":["<template>\r\n <el-tabs ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\">\r\n <div>\r\n <el-tab-pane v-for=\"(item, index) in gmTabPaneList\" :key=\"index\" v-bind=\"item.props\">\r\n <template v-if=\"item.children\">\r\n <VNodeRenderer :vnode=\"item.children.default()\" />\r\n </template>\r\n <template v-if=\"item.children?.label\" #label>\r\n <VNodeRenderer :vnode=\"item.children?.label()\" />\r\n </template>\r\n </el-tab-pane>\r\n </div>\r\n </template>\r\n </el-tabs>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref } from 'vue';\r\nimport { getGmEvent } from '@giime/utils';\r\nimport { tabsEmits as elTabsEmits } from 'element-plus';\r\nimport VNodeRenderer from '../../common/VNodeRenderer';\r\nimport { tabsEmits, tabsProps } from './tabs';\r\nimport type { TabsInstance } from 'element-plus';\r\nimport type { Slot, VNode } from 'vue';\r\n\r\ndefineOptions({\r\n name: 'GmTabs',\r\n});\r\ntype TabPaneVNode = VNode & {\r\n children: { [name: string]: Slot } | null;\r\n};\r\n\r\n// const slots = useSlots();\r\nconst slots = defineSlots<{\r\n default?: () => TabPaneVNode[];\r\n}>();\r\n\r\nconst props = defineProps(tabsProps);\r\nconst emit = defineEmits(tabsEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elTabsEmits, emit);\r\n\r\nconst gmTabPaneList = computed(() => {\r\n const nodeList: any[] = [];\r\n slots.default?.().forEach((node: any) => {\r\n const item = recursionHandle(node);\r\n if (item) {\r\n nodeList.push(...item);\r\n }\r\n });\r\n return nodeList; //slots.default?.().filter((node: any) => node?.type?.name === 'GmTabPane') ?? [];\r\n});\r\n\r\nconst recursionHandle = (item: any): any => {\r\n // console.log(typeof item.type)\r\n const items: any[] = [];\r\n if (typeof item.type === 'symbol') {\r\n return recursionHandle(item.children);\r\n } else {\r\n if (Array.isArray(item)) {\r\n item.forEach((node: any) => {\r\n if (node.type?.name === 'GmTabPane') {\r\n items.push(node);\r\n }\r\n });\r\n } else {\r\n if (item.type?.name === 'GmTabPane') {\r\n items.push(item);\r\n }\r\n }\r\n }\r\n return items;\r\n};\r\n\r\n// onMounted(() => {\r\n// const nodeList: any[] = []\r\n// slots.default?.().forEach((node: any) => {\r\n// const item = recursionHandle(node)\r\n// if (item) {\r\n// nodeList.push(...item)\r\n// }\r\n// })\r\n// console.log(nodeList)\r\n\r\n// console.log(slots.default?.())\r\n// console.log('gmTabPaneList', gmTabPaneList.value);\r\n// })\r\n\r\nconst elRef = ref<TabsInstance>();\r\ndefineExpose({\r\n elRef,\r\n});\r\n</script>\r\n"],"names":["_useSlots","elTabsEmits"],"mappings":";;;;;;;;;;;;;;;;AAiCA,IAAA,MAAM,QAAQA,QAAA,EAAA,CAAA;AAId,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAW,UAAW,CAAAC,WAAA,EAAa,IAAI,CAAA,CAAA;AAE7C,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAA,MAAM,WAAkB,EAAC,CAAA;AACzB,MAAA,KAAA,CAAM,OAAU,IAAA,CAAE,OAAQ,CAAA,CAAC,IAAc,KAAA;AACvC,QAAM,MAAA,IAAA,GAAO,gBAAgB,IAAI,CAAA,CAAA;AACjC,QAAA,IAAI,IAAM,EAAA;AACR,UAAS,QAAA,CAAA,IAAA,CAAK,GAAG,IAAI,CAAA,CAAA;AAAA,SACvB;AAAA,OACD,CAAA,CAAA;AACD,MAAO,OAAA,QAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,eAAA,GAAkB,CAAC,IAAmB,KAAA;AAE1C,MAAA,MAAM,QAAe,EAAC,CAAA;AACtB,MAAI,IAAA,OAAO,IAAK,CAAA,IAAA,KAAS,QAAU,EAAA;AACjC,QAAO,OAAA,eAAA,CAAgB,KAAK,QAAQ,CAAA,CAAA;AAAA,OAC/B,MAAA;AACL,QAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,IAAI,CAAG,EAAA;AACvB,UAAK,IAAA,CAAA,OAAA,CAAQ,CAAC,IAAc,KAAA;AAC1B,YAAI,IAAA,IAAA,CAAK,IAAM,EAAA,IAAA,KAAS,WAAa,EAAA;AACnC,cAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AAAA,aACjB;AAAA,WACD,CAAA,CAAA;AAAA,SACI,MAAA;AACL,UAAI,IAAA,IAAA,CAAK,IAAM,EAAA,IAAA,KAAS,WAAa,EAAA;AACnC,YAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AAAA,WACjB;AAAA,SACF;AAAA,OACF;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT,CAAA;AAgBA,IAAA,MAAM,QAAQ,GAAkB,EAAA,CAAA;AAChC,IAAa,QAAA,CAAA;AAAA,MACX,KAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Tabs.vue2.mjs","sources":["../../../../../../../packages/components/src/base/tabs/Tabs.vue"],"sourcesContent":["<template>\r\n <el-tabs ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\" #default=\"slotValue\">\r\n <slot v-bind=\"slotValue\" />\r\n </template>\r\n <template v-if=\"slots['add-icon']\" #add-icon>\r\n <slot name=\"add-icon\" />\r\n </template>\r\n </el-tabs>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { useSlots } from 'vue';\r\nimport { getGmEvent } from '@giime/utils';\r\nimport { tabsEmits as elTabsEmits } from 'element-plus';\r\nimport { tabsEmits, tabsProps } from './tabs';\r\n\r\ndefineOptions({\r\n name: 'GmTabs',\r\n});\r\n\r\nconst slots = useSlots();\r\n\r\nconst props = defineProps(tabsProps);\r\nconst emit = defineEmits(tabsEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elTabsEmits, emit);\r\n</script>\r\n"],"names":["elTabsEmits"],"mappings":";;;;;;;;;;;;;;AAoBA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAW,UAAW,CAAAA,WAAA,EAAa,IAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,9 +45,7 @@ export declare const GmTabs: import("../../../../utils").SFCWithInstall<{
45
45
  onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
46
46
  onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
47
47
  onTabAdd?: (() => any) | undefined;
48
- }, {
49
- elRef: import("vue").Ref<import("element-plus").TabsInstance | undefined>;
50
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
51
49
  "update:modelValue": (name: import("element-plus").TabPaneName) => void;
52
50
  tabClick: (pane: {
53
51
  uid: number;
@@ -175,9 +173,7 @@ export declare const GmTabs: import("../../../../utils").SFCWithInstall<{
175
173
  onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
176
174
  onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
177
175
  onTabAdd?: (() => any) | undefined;
178
- }, {
179
- elRef: import("vue").Ref<import("element-plus").TabsInstance | undefined>;
180
- }, {}, {}, {}, {
176
+ }, {}, {}, {}, {}, {
181
177
  type: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "" | "card" | "border-card", unknown>;
182
178
  closable: boolean;
183
179
  editable: boolean;
@@ -234,9 +230,7 @@ export declare const GmTabs: import("../../../../utils").SFCWithInstall<{
234
230
  onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
235
231
  onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
236
232
  onTabAdd?: (() => any) | undefined;
237
- }, {
238
- elRef: import("vue").Ref<import("element-plus").TabsInstance | undefined>;
239
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
233
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
240
234
  "update:modelValue": (name: import("element-plus").TabPaneName) => void;
241
235
  tabClick: (pane: {
242
236
  uid: number;
@@ -268,22 +262,9 @@ export declare const GmTabs: import("../../../../utils").SFCWithInstall<{
268
262
  tabPosition: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "top" | "bottom" | "right" | "left", unknown>;
269
263
  stretch: boolean;
270
264
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
271
- $slots: Readonly<{
272
- default?: (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
273
- [key: string]: any;
274
- }> & {
275
- children: {
276
- [name: string]: import("vue").Slot;
277
- } | null;
278
- })[]) | undefined;
279
- }> & {
280
- default?: (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
281
- [key: string]: any;
282
- }> & {
283
- children: {
284
- [name: string]: import("vue").Slot;
285
- } | null;
286
- })[]) | undefined;
265
+ $slots: {
266
+ default?(_: any): any;
267
+ "add-icon"?(_: {}): any;
287
268
  };
288
269
  })> & Record<string, any>;
289
270
  export type TabsInstance = InstanceType<typeof Tabs>;
@@ -1 +1 @@
1
- export declare const version = "0.1.22";
1
+ export declare const version = "0.1.23";
@@ -1,4 +1,4 @@
1
- const version = "0.1.21";
1
+ const version = "0.1.23";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.1.21';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.1.23';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
@@ -1,10 +1,3 @@
1
- import type { TabsInstance } from 'element-plus';
2
- import type { Slot, VNode } from 'vue';
3
- type TabPaneVNode = VNode & {
4
- children: {
5
- [name: string]: Slot;
6
- } | null;
7
- };
8
1
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
9
2
  type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "card" | "border-card", unknown, "", boolean>;
10
3
  closable: BooleanConstructor;
@@ -27,14 +20,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
27
20
  readonly prototype: any;
28
21
  })[], unknown, unknown, () => true, boolean>;
29
22
  stretch: BooleanConstructor;
30
- }, {
31
- elRef: import("vue").Ref<TabsInstance | undefined>;
32
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
33
24
  "update:modelValue": (name: import("element-plus").TabPaneName) => void;
34
25
  tabClick: (pane: {
35
26
  uid: number;
36
27
  slots: Readonly<{
37
- [name: string]: Slot<any> | undefined;
28
+ [name: string]: import("vue").Slot<any> | undefined;
38
29
  }>;
39
30
  props: {
40
31
  readonly closable: boolean;
@@ -79,7 +70,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
79
70
  onTabClick?: ((pane: {
80
71
  uid: number;
81
72
  slots: Readonly<{
82
- [name: string]: Slot<any> | undefined;
73
+ [name: string]: import("vue").Slot<any> | undefined;
83
74
  }>;
84
75
  props: {
85
76
  readonly closable: boolean;
@@ -105,10 +96,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
105
96
  addable: boolean;
106
97
  tabPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "right" | "left", unknown>;
107
98
  stretch: boolean;
108
- }, {}>, Readonly<{
109
- default?: (() => TabPaneVNode[]) | undefined;
110
- }> & {
111
- default?: (() => TabPaneVNode[]) | undefined;
99
+ }, {}>, {
100
+ default?(_: any): any;
101
+ "add-icon"?(_: {}): any;
112
102
  }>;
113
103
  export default _default;
114
104
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -5,11 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  require('../../../../utils/index.js');
7
7
  var elementPlus = require('element-plus');
8
- var VNodeRenderer = require('../../common/VNodeRenderer.js');
9
8
  var tabs = require('./tabs.js');
10
9
  var event = require('../../../../utils/src/elementPlus/event.js');
11
10
 
12
- const _hoisted_1 = { key: 0 };
13
11
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
14
12
  ...{
15
13
  name: "GmTabs"
@@ -17,97 +15,37 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
15
  __name: "Tabs",
18
16
  props: tabs.tabsProps,
19
17
  emits: tabs.tabsEmits,
20
- setup(__props, { expose: __expose, emit: __emit }) {
18
+ setup(__props, { emit: __emit }) {
21
19
  const slots = vue.useSlots();
22
20
  const props = __props;
23
21
  const emit = __emit;
24
22
  const elEvents = event.getGmEvent(elementPlus.tabsEmits, emit);
25
- const gmTabPaneList = vue.computed(() => {
26
- const nodeList = [];
27
- slots.default?.().forEach((node) => {
28
- const item = recursionHandle(node);
29
- if (item) {
30
- nodeList.push(...item);
31
- }
32
- });
33
- return nodeList;
34
- });
35
- const recursionHandle = (item) => {
36
- const items = [];
37
- if (typeof item.type === "symbol") {
38
- return recursionHandle(item.children);
39
- } else {
40
- if (Array.isArray(item)) {
41
- item.forEach((node) => {
42
- if (node.type?.name === "GmTabPane") {
43
- items.push(node);
44
- }
45
- });
46
- } else {
47
- if (item.type?.name === "GmTabPane") {
48
- items.push(item);
49
- }
50
- }
51
- }
52
- return items;
53
- };
54
- const elRef = vue.ref();
55
- __expose({
56
- elRef
57
- });
58
23
  return (_ctx, _cache) => {
59
- const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
60
24
  const _component_el_tabs = vue.resolveComponent("el-tabs");
61
25
  return vue.openBlock(), vue.createBlock(
62
26
  _component_el_tabs,
63
- vue.mergeProps({
64
- ref_key: "elRef",
65
- ref: elRef
66
- }, props, vue.toHandlers(vue.unref(elEvents))),
67
- {
68
- default: vue.withCtx(() => [
69
- vue.unref(slots).default ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
70
- (vue.openBlock(true), vue.createElementBlock(
71
- vue.Fragment,
72
- null,
73
- vue.renderList(gmTabPaneList.value, (item, index) => {
74
- return vue.openBlock(), vue.createBlock(
75
- _component_el_tab_pane,
76
- vue.mergeProps({ key: index }, item.props),
77
- vue.createSlots({
78
- default: vue.withCtx(() => [
79
- item.children ? (vue.openBlock(), vue.createBlock(vue.unref(VNodeRenderer.default), {
80
- key: 0,
81
- vnode: item.children.default()
82
- }, null, 8, ["vnode"])) : vue.createCommentVNode("v-if", true)
83
- ]),
84
- _: 2
85
- /* DYNAMIC */
86
- }, [
87
- item.children?.label ? {
88
- name: "label",
89
- fn: vue.withCtx(() => [
90
- vue.createVNode(vue.unref(VNodeRenderer.default), {
91
- vnode: item.children?.label()
92
- }, null, 8, ["vnode"])
93
- ]),
94
- key: "0"
95
- } : void 0
96
- ]),
97
- 1040
98
- /* FULL_PROPS, DYNAMIC_SLOTS */
99
- );
100
- }),
101
- 128
102
- /* KEYED_FRAGMENT */
103
- ))
104
- ])) : vue.createCommentVNode("v-if", true)
105
- ]),
106
- _: 1
107
- /* STABLE */
108
- },
109
- 16
110
- /* FULL_PROPS */
27
+ vue.mergeProps({ ref: "elRef" }, props, vue.toHandlers(vue.unref(elEvents))),
28
+ vue.createSlots({
29
+ _: 2
30
+ /* DYNAMIC */
31
+ }, [
32
+ vue.unref(slots).default ? {
33
+ name: "default",
34
+ fn: vue.withCtx((slotValue) => [
35
+ vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(slotValue)))
36
+ ]),
37
+ key: "0"
38
+ } : void 0,
39
+ vue.unref(slots)["add-icon"] ? {
40
+ name: "add-icon",
41
+ fn: vue.withCtx(() => [
42
+ vue.renderSlot(_ctx.$slots, "add-icon")
43
+ ]),
44
+ key: "1"
45
+ } : void 0
46
+ ]),
47
+ 1040
48
+ /* FULL_PROPS, DYNAMIC_SLOTS */
111
49
  );
112
50
  };
113
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.vue2.js","sources":["../../../../../../../packages/components/src/base/tabs/Tabs.vue"],"sourcesContent":["<template>\r\n <el-tabs ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\">\r\n <div>\r\n <el-tab-pane v-for=\"(item, index) in gmTabPaneList\" :key=\"index\" v-bind=\"item.props\">\r\n <template v-if=\"item.children\">\r\n <VNodeRenderer :vnode=\"item.children.default()\" />\r\n </template>\r\n <template v-if=\"item.children?.label\" #label>\r\n <VNodeRenderer :vnode=\"item.children?.label()\" />\r\n </template>\r\n </el-tab-pane>\r\n </div>\r\n </template>\r\n </el-tabs>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref } from 'vue';\r\nimport { getGmEvent } from '@giime/utils';\r\nimport { tabsEmits as elTabsEmits } from 'element-plus';\r\nimport VNodeRenderer from '../../common/VNodeRenderer';\r\nimport { tabsEmits, tabsProps } from './tabs';\r\nimport type { TabsInstance } from 'element-plus';\r\nimport type { Slot, VNode } from 'vue';\r\n\r\ndefineOptions({\r\n name: 'GmTabs',\r\n});\r\ntype TabPaneVNode = VNode & {\r\n children: { [name: string]: Slot } | null;\r\n};\r\n\r\n// const slots = useSlots();\r\nconst slots = defineSlots<{\r\n default?: () => TabPaneVNode[];\r\n}>();\r\n\r\nconst props = defineProps(tabsProps);\r\nconst emit = defineEmits(tabsEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elTabsEmits, emit);\r\n\r\nconst gmTabPaneList = computed(() => {\r\n const nodeList: any[] = [];\r\n slots.default?.().forEach((node: any) => {\r\n const item = recursionHandle(node);\r\n if (item) {\r\n nodeList.push(...item);\r\n }\r\n });\r\n return nodeList; //slots.default?.().filter((node: any) => node?.type?.name === 'GmTabPane') ?? [];\r\n});\r\n\r\nconst recursionHandle = (item: any): any => {\r\n // console.log(typeof item.type)\r\n const items: any[] = [];\r\n if (typeof item.type === 'symbol') {\r\n return recursionHandle(item.children);\r\n } else {\r\n if (Array.isArray(item)) {\r\n item.forEach((node: any) => {\r\n if (node.type?.name === 'GmTabPane') {\r\n items.push(node);\r\n }\r\n });\r\n } else {\r\n if (item.type?.name === 'GmTabPane') {\r\n items.push(item);\r\n }\r\n }\r\n }\r\n return items;\r\n};\r\n\r\n// onMounted(() => {\r\n// const nodeList: any[] = []\r\n// slots.default?.().forEach((node: any) => {\r\n// const item = recursionHandle(node)\r\n// if (item) {\r\n// nodeList.push(...item)\r\n// }\r\n// })\r\n// console.log(nodeList)\r\n\r\n// console.log(slots.default?.())\r\n// console.log('gmTabPaneList', gmTabPaneList.value);\r\n// })\r\n\r\nconst elRef = ref<TabsInstance>();\r\ndefineExpose({\r\n elRef,\r\n});\r\n</script>\r\n"],"names":["_useSlots","getGmEvent","elTabsEmits","computed","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;AAiCA,IAAA,MAAM,QAAQA,YAAA,EAAA,CAAA;AAId,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAWC,gBAAW,CAAAC,qBAAA,EAAa,IAAI,CAAA,CAAA;AAE7C,IAAM,MAAA,aAAA,GAAgBC,aAAS,MAAM;AACnC,MAAA,MAAM,WAAkB,EAAC,CAAA;AACzB,MAAA,KAAA,CAAM,OAAU,IAAA,CAAE,OAAQ,CAAA,CAAC,IAAc,KAAA;AACvC,QAAM,MAAA,IAAA,GAAO,gBAAgB,IAAI,CAAA,CAAA;AACjC,QAAA,IAAI,IAAM,EAAA;AACR,UAAS,QAAA,CAAA,IAAA,CAAK,GAAG,IAAI,CAAA,CAAA;AAAA,SACvB;AAAA,OACD,CAAA,CAAA;AACD,MAAO,OAAA,QAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,eAAA,GAAkB,CAAC,IAAmB,KAAA;AAE1C,MAAA,MAAM,QAAe,EAAC,CAAA;AACtB,MAAI,IAAA,OAAO,IAAK,CAAA,IAAA,KAAS,QAAU,EAAA;AACjC,QAAO,OAAA,eAAA,CAAgB,KAAK,QAAQ,CAAA,CAAA;AAAA,OAC/B,MAAA;AACL,QAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,IAAI,CAAG,EAAA;AACvB,UAAK,IAAA,CAAA,OAAA,CAAQ,CAAC,IAAc,KAAA;AAC1B,YAAI,IAAA,IAAA,CAAK,IAAM,EAAA,IAAA,KAAS,WAAa,EAAA;AACnC,cAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AAAA,aACjB;AAAA,WACD,CAAA,CAAA;AAAA,SACI,MAAA;AACL,UAAI,IAAA,IAAA,CAAK,IAAM,EAAA,IAAA,KAAS,WAAa,EAAA;AACnC,YAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AAAA,WACjB;AAAA,SACF;AAAA,OACF;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT,CAAA;AAgBA,IAAA,MAAM,QAAQC,OAAkB,EAAA,CAAA;AAChC,IAAa,QAAA,CAAA;AAAA,MACX,KAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Tabs.vue2.js","sources":["../../../../../../../packages/components/src/base/tabs/Tabs.vue"],"sourcesContent":["<template>\r\n <el-tabs ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\" #default=\"slotValue\">\r\n <slot v-bind=\"slotValue\" />\r\n </template>\r\n <template v-if=\"slots['add-icon']\" #add-icon>\r\n <slot name=\"add-icon\" />\r\n </template>\r\n </el-tabs>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { useSlots } from 'vue';\r\nimport { getGmEvent } from '@giime/utils';\r\nimport { tabsEmits as elTabsEmits } from 'element-plus';\r\nimport { tabsEmits, tabsProps } from './tabs';\r\n\r\ndefineOptions({\r\n name: 'GmTabs',\r\n});\r\n\r\nconst slots = useSlots();\r\n\r\nconst props = defineProps(tabsProps);\r\nconst emit = defineEmits(tabsEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elTabsEmits, emit);\r\n</script>\r\n"],"names":["useSlots","getGmEvent","elTabsEmits"],"mappings":";;;;;;;;;;;;;;;;;;AAoBA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAWC,gBAAW,CAAAC,qBAAA,EAAa,IAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,9 +45,7 @@ export declare const GmTabs: import("../../../../utils").SFCWithInstall<{
45
45
  onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
46
46
  onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
47
47
  onTabAdd?: (() => any) | undefined;
48
- }, {
49
- elRef: import("vue").Ref<import("element-plus").TabsInstance | undefined>;
50
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
51
49
  "update:modelValue": (name: import("element-plus").TabPaneName) => void;
52
50
  tabClick: (pane: {
53
51
  uid: number;
@@ -175,9 +173,7 @@ export declare const GmTabs: import("../../../../utils").SFCWithInstall<{
175
173
  onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
176
174
  onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
177
175
  onTabAdd?: (() => any) | undefined;
178
- }, {
179
- elRef: import("vue").Ref<import("element-plus").TabsInstance | undefined>;
180
- }, {}, {}, {}, {
176
+ }, {}, {}, {}, {}, {
181
177
  type: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "" | "card" | "border-card", unknown>;
182
178
  closable: boolean;
183
179
  editable: boolean;
@@ -234,9 +230,7 @@ export declare const GmTabs: import("../../../../utils").SFCWithInstall<{
234
230
  onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
235
231
  onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
236
232
  onTabAdd?: (() => any) | undefined;
237
- }, {
238
- elRef: import("vue").Ref<import("element-plus").TabsInstance | undefined>;
239
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
233
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
240
234
  "update:modelValue": (name: import("element-plus").TabPaneName) => void;
241
235
  tabClick: (pane: {
242
236
  uid: number;
@@ -268,22 +262,9 @@ export declare const GmTabs: import("../../../../utils").SFCWithInstall<{
268
262
  tabPosition: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "top" | "bottom" | "right" | "left", unknown>;
269
263
  stretch: boolean;
270
264
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
271
- $slots: Readonly<{
272
- default?: (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
273
- [key: string]: any;
274
- }> & {
275
- children: {
276
- [name: string]: import("vue").Slot;
277
- } | null;
278
- })[]) | undefined;
279
- }> & {
280
- default?: (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
281
- [key: string]: any;
282
- }> & {
283
- children: {
284
- [name: string]: import("vue").Slot;
285
- } | null;
286
- })[]) | undefined;
265
+ $slots: {
266
+ default?(_: any): any;
267
+ "add-icon"?(_: {}): any;
287
268
  };
288
269
  })> & Record<string, any>;
289
270
  export type TabsInstance = InstanceType<typeof Tabs>;
@@ -1 +1 @@
1
- export declare const version = "0.1.22";
1
+ export declare const version = "0.1.23";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.1.21";
3
+ const version = "0.1.23";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.1.21';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.1.23';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.1.22",
3
+ "version": "0.1.23",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",