base6-ui 2.0.6 → 2.0.7
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/data-table/data-table.d.ts +9 -0
- package/dist/components/data-table/interface.d.ts +56 -52
- package/dist/components/global-header/index.vue.d.ts +2 -0
- package/dist/components/global-header/interface.d.ts +4 -1
- package/dist/components/global-header/title.vue.d.ts +7 -1
- package/dist/components/product-introduction/constants.d.ts +2 -2
- package/dist/components/product-introduction/index.d.ts +1 -0
- package/dist/components/product-introduction/index.vue.d.ts +6 -2
- package/dist/components/product-introduction/interface.d.ts +20 -0
- package/dist/index.css +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/locale/lang/en-us.d.ts +6 -4
- package/es/assets/cover/base-studio.png.mjs +2 -2
- package/es/assets/cover/source-robot.png.mjs +4 -0
- package/es/components/data-table/data-table.d.ts +9 -0
- package/es/components/data-table/data-table.mjs +7 -5
- package/es/components/data-table/interface.d.ts +56 -52
- package/es/components/data-table/interface.mjs +6 -2
- package/es/components/global-header/index.vue.d.ts +2 -0
- package/es/components/global-header/index.vue.mjs +39 -33
- package/es/components/global-header/interface.d.ts +4 -1
- package/es/components/global-header/title.vue.d.ts +7 -1
- package/es/components/global-header/title.vue.mjs +2 -2
- package/es/components/global-header/title.vue2.mjs +31 -26
- package/es/components/layout/components/{WrapHeader.vue2.mjs → WrapHeader.vue.mjs} +1 -1
- package/es/components/layout/index.vue2.mjs +1 -1
- package/es/components/product-introduction/constants.d.ts +2 -2
- package/es/components/product-introduction/index.d.ts +1 -0
- package/es/components/product-introduction/index.vue.d.ts +6 -2
- package/es/components/product-introduction/index.vue.mjs +2 -2
- package/es/components/product-introduction/index.vue2.mjs +94 -78
- package/es/components/product-introduction/interface.d.ts +20 -0
- package/es/index.css +1 -1
- package/es/locale/lang/en-us.d.ts +6 -4
- package/es/locale/lang/en-us.mjs +6 -4
- package/es/locale/lang/zh-cn.mjs +6 -4
- package/lib/assets/cover/base-studio.png.js +1 -1
- package/lib/assets/cover/source-robot.png.js +1 -0
- package/lib/components/BaseLayout/components/WrapHeader.vue.js +1 -1
- package/lib/components/data-table/data-table.d.ts +9 -0
- package/lib/components/data-table/data-table.js +1 -1
- package/lib/components/data-table/interface.d.ts +56 -52
- package/lib/components/data-table/interface.js +1 -1
- package/lib/components/global-header/index.vue.d.ts +2 -0
- package/lib/components/global-header/index.vue.js +1 -1
- package/lib/components/global-header/interface.d.ts +4 -1
- package/lib/components/global-header/title.vue.d.ts +7 -1
- package/lib/components/global-header/title.vue.js +1 -1
- package/lib/components/global-header/title.vue2.js +1 -1
- package/lib/components/layout/components/WrapHeader.vue.js +1 -0
- package/lib/components/layout/index.vue2.js +1 -1
- package/lib/components/product-introduction/constants.d.ts +2 -2
- package/lib/components/product-introduction/index.d.ts +1 -0
- package/lib/components/product-introduction/index.vue.d.ts +6 -2
- package/lib/components/product-introduction/index.vue.js +1 -1
- package/lib/components/product-introduction/index.vue2.js +1 -1
- package/lib/components/product-introduction/interface.d.ts +20 -0
- package/lib/index.css +1 -1
- package/lib/locale/lang/en-us.d.ts +6 -4
- package/lib/locale/lang/en-us.js +1 -1
- package/lib/locale/lang/zh-cn.js +1 -1
- package/package.json +1 -1
- package/dist/components/product-introduction/types.d.ts +0 -5
- package/es/components/product-introduction/types.d.ts +0 -5
- package/lib/components/layout/components/WrapHeader.vue2.js +0 -1
- package/lib/components/product-introduction/types.d.ts +0 -5
|
@@ -1,43 +1,48 @@
|
|
|
1
|
-
import { NDivider as
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
const
|
|
1
|
+
import { NDivider as v } from "naive-ui";
|
|
2
|
+
import { defineComponent as p, computed as a, createElementBlock as s, createCommentVNode as t, openBlock as r, createBlock as k, Fragment as P, createVNode as d, createSlots as y, withCtx as S, renderSlot as w } from "vue";
|
|
3
|
+
import B from "../product-introduction/index.vue.mjs";
|
|
4
|
+
import C from "../logo/index.vue.mjs";
|
|
5
|
+
import L from "../../hooks/useNaiveConfigProvideContext.mjs";
|
|
6
|
+
const N = {
|
|
7
7
|
key: 0,
|
|
8
8
|
class: "boden-global-header-title-container"
|
|
9
|
-
},
|
|
9
|
+
}, M = /* @__PURE__ */ p({
|
|
10
10
|
__name: "title",
|
|
11
11
|
props: {
|
|
12
12
|
headerHeight: {},
|
|
13
13
|
isShowProductIntroduction: { type: Boolean, default: !0 },
|
|
14
14
|
isShowLogo: { type: Boolean, default: !0 }
|
|
15
15
|
},
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
emits: ["toggleLogo", "togglePlatform"],
|
|
17
|
+
setup(e, { emit: c }) {
|
|
18
|
+
const n = e, i = c, g = L(), m = a(() => {
|
|
19
|
+
const { name: o = "light" } = g?.mergedThemeRef.value || {};
|
|
19
20
|
return o !== "light";
|
|
20
|
-
}),
|
|
21
|
-
() =>
|
|
22
|
-
)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
}), u = a(
|
|
22
|
+
() => n.isShowLogo || n.isShowProductIntroduction
|
|
23
|
+
), f = (o) => {
|
|
24
|
+
i("togglePlatform", o);
|
|
25
|
+
};
|
|
26
|
+
return (o, l) => {
|
|
27
|
+
const h = v;
|
|
28
|
+
return u.value ? (r(), s("div", N, [
|
|
29
|
+
e.isShowProductIntroduction ? (r(), s(P, { key: 0 }, [
|
|
30
|
+
d(B, {
|
|
28
31
|
y: e.headerHeight,
|
|
29
|
-
class: "pl-[20px]"
|
|
32
|
+
class: "pl-[20px]",
|
|
33
|
+
onTogglePlatform: f
|
|
30
34
|
}, null, 8, ["y"]),
|
|
31
|
-
d(
|
|
35
|
+
d(h, { vertical: "" })
|
|
32
36
|
], 64)) : t("", !0),
|
|
33
|
-
e.isShowLogo ? (r(),
|
|
37
|
+
e.isShowLogo ? (r(), k(C, {
|
|
34
38
|
key: 1,
|
|
35
|
-
isDarkMode:
|
|
36
|
-
|
|
39
|
+
isDarkMode: m.value,
|
|
40
|
+
onToggleLogo: l[0] || (l[0] = (D) => i("toggleLogo"))
|
|
41
|
+
}, y({ _: 2 }, [
|
|
37
42
|
o.$slots.logo ? {
|
|
38
43
|
name: "default",
|
|
39
|
-
fn:
|
|
40
|
-
|
|
44
|
+
fn: S(() => [
|
|
45
|
+
w(o.$slots, "logo", {}, void 0, !0)
|
|
41
46
|
]),
|
|
42
47
|
key: "0"
|
|
43
48
|
} : void 0
|
|
@@ -47,5 +52,5 @@ const B = {
|
|
|
47
52
|
}
|
|
48
53
|
});
|
|
49
54
|
export {
|
|
50
|
-
|
|
55
|
+
M as default
|
|
51
56
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as I, mergeDefaults as _, useSlots as E, computed as o, createElementBlock as T, openBlock as u, normalizeStyle as j, createElementVNode as z, normalizeClass as G, unref as M, createBlock as p, createCommentVNode as l, createVNode as P, withCtx as d, renderSlot as c } from "vue";
|
|
2
|
-
import A from "./components/WrapHeader.
|
|
2
|
+
import A from "./components/WrapHeader.vue.mjs";
|
|
3
3
|
import N from "./components/WrapTab.vue.mjs";
|
|
4
4
|
import D from "./components/WrapContent.vue.mjs";
|
|
5
5
|
import O from "./components/WrapSlider.vue.mjs";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const DEFAULT_PRODUCT_INTRODUCTION_PROPS:
|
|
1
|
+
import { BodenProductIntroductionProps } from './interface';
|
|
2
|
+
export declare const DEFAULT_PRODUCT_INTRODUCTION_PROPS: BodenProductIntroductionProps;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const _default: import('vue').DefineComponent<
|
|
1
|
+
import { BodenProductIntroductionProps } from './interface';
|
|
2
|
+
declare const _default: import('vue').DefineComponent<BodenProductIntroductionProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
3
|
+
togglePlatform: (...args: any[]) => void;
|
|
4
|
+
}, string, import('vue').PublicProps, Readonly<BodenProductIntroductionProps> & Readonly<{
|
|
5
|
+
onTogglePlatform?: ((...args: any[]) => any) | undefined;
|
|
6
|
+
}>, {
|
|
3
7
|
x: number;
|
|
4
8
|
y: number;
|
|
5
9
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
@@ -2,7 +2,7 @@ import o from "./index.vue2.mjs";
|
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
4
|
import t from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
5
|
-
const
|
|
5
|
+
const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-11e4376e"]]);
|
|
6
6
|
export {
|
|
7
|
-
|
|
7
|
+
a as default
|
|
8
8
|
};
|
|
@@ -1,163 +1,179 @@
|
|
|
1
|
-
import { NPopover as
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
import
|
|
4
|
-
import { useLocale as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
|
|
1
|
+
import { NPopover as V, NCard as z, NButton as A } from "naive-ui";
|
|
2
|
+
import { defineComponent as L, mergeDefaults as U, ref as h, computed as v, resolveComponent as E, createElementBlock as u, openBlock as c, createVNode as d, createBlock as b, withModifiers as y, normalizeStyle as M, withCtx as p, createElementVNode as e, toDisplayString as m, unref as F, Fragment as g, renderList as P, createCommentVNode as j, createTextVNode as C, Teleport as q, withDirectives as G, vShow as H } from "vue";
|
|
3
|
+
import J from "../nav-icon/index.vue.mjs";
|
|
4
|
+
import { useLocale as K } from "../../hooks/useLocale.mjs";
|
|
5
|
+
import Q from "../../hooks/useNaiveConfigProvideContext.mjs";
|
|
6
|
+
import W from "../../assets/cover/base-ads.png.mjs";
|
|
7
|
+
import X from "../../assets/cover/base-studio.png.mjs";
|
|
8
|
+
import Y from "../../assets/cover/base-multimodal.png.mjs";
|
|
9
|
+
import Z from "../../assets/cover/source-robot.png.mjs";
|
|
10
|
+
import { createCardThemeOverrides as oo, createPopoverCssVar as eo } from "./cssVar.mjs";
|
|
11
|
+
import { DEFAULT_PRODUCT_INTRODUCTION_PROPS as to } from "./constants.mjs";
|
|
12
|
+
const no = { class: "header" }, io = { class: "content-wrap" }, ro = { class: "content-item-header" }, so = { class: "icon" }, co = ["onClick"], lo = { class: "description" }, ao = {
|
|
12
13
|
key: 0,
|
|
13
14
|
class: "content-child-wrap"
|
|
14
|
-
},
|
|
15
|
+
}, uo = ["src"], po = { class: "to-use" }, mo = { class: "boden-product-introduction-panel-mask" }, wo = /* @__PURE__ */ L({
|
|
15
16
|
__name: "index",
|
|
16
|
-
props: /* @__PURE__ */
|
|
17
|
+
props: /* @__PURE__ */ U({
|
|
17
18
|
x: {},
|
|
18
19
|
y: {}
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
}, to),
|
|
21
|
+
emits: ["togglePlatform"],
|
|
22
|
+
setup(f, { emit: I }) {
|
|
23
|
+
const D = I, w = Q(), { t: o } = K(), a = h(null), n = h(!1), l = v(() => {
|
|
22
24
|
const {
|
|
23
|
-
name:
|
|
24
|
-
} =
|
|
25
|
-
return
|
|
26
|
-
}),
|
|
25
|
+
name: r = "light"
|
|
26
|
+
} = w?.mergedThemeRef.value || {};
|
|
27
|
+
return r !== "light";
|
|
28
|
+
}), B = [
|
|
27
29
|
{
|
|
28
|
-
key: "
|
|
30
|
+
key: "base",
|
|
29
31
|
title: o("boden.productIntroduction.BasePlatform"),
|
|
30
32
|
description: o("boden.productIntroduction.BasePlatformDescription"),
|
|
31
|
-
icon: `logo-base${
|
|
33
|
+
icon: `logo-base${l.value ? "-dark" : ""}`,
|
|
32
34
|
children: [
|
|
33
35
|
{
|
|
34
|
-
key: "
|
|
36
|
+
key: "ads",
|
|
35
37
|
title: o("boden.productIntroduction.AdsPlatform"),
|
|
36
38
|
description: o("boden.productIntroduction.AdsPlatformDescription"),
|
|
37
|
-
icon:
|
|
39
|
+
icon: W
|
|
38
40
|
},
|
|
39
41
|
{
|
|
40
|
-
key: "
|
|
42
|
+
key: "studio",
|
|
41
43
|
title: o("boden.productIntroduction.StudioPlatform"),
|
|
42
44
|
description: o("boden.productIntroduction.StudioPlatformDescription"),
|
|
43
|
-
icon:
|
|
45
|
+
icon: X
|
|
44
46
|
},
|
|
45
47
|
{
|
|
46
|
-
key: "
|
|
47
|
-
title: o("boden.productIntroduction.
|
|
48
|
-
description: o("boden.productIntroduction.
|
|
49
|
-
icon:
|
|
48
|
+
key: "omni",
|
|
49
|
+
title: o("boden.productIntroduction.OmniPlatform"),
|
|
50
|
+
description: o("boden.productIntroduction.OmniPlatformDescription"),
|
|
51
|
+
icon: Y
|
|
50
52
|
}
|
|
51
53
|
]
|
|
52
54
|
},
|
|
53
55
|
{
|
|
54
|
-
key: "
|
|
56
|
+
key: "blink",
|
|
55
57
|
title: o("boden.productIntroduction.BlinkPlatform"),
|
|
56
|
-
description: o("boden.productIntroduction.
|
|
57
|
-
icon: `logo-
|
|
58
|
+
description: o("boden.productIntroduction.BlinkPlatformDescription"),
|
|
59
|
+
icon: `logo-base${l.value ? "-dark" : ""}`
|
|
58
60
|
},
|
|
59
61
|
{
|
|
60
|
-
key: "
|
|
61
|
-
title: o("boden.productIntroduction.
|
|
62
|
-
description: o("boden.productIntroduction.
|
|
63
|
-
icon: `logo-
|
|
62
|
+
key: "source",
|
|
63
|
+
title: o("boden.productIntroduction.SourcePlatform"),
|
|
64
|
+
description: o("boden.productIntroduction.SourcePlatformDescription"),
|
|
65
|
+
icon: `logo-base${l.value ? "-dark" : ""}`,
|
|
66
|
+
children: [
|
|
67
|
+
{
|
|
68
|
+
key: "robot",
|
|
69
|
+
title: o("boden.productIntroduction.RobotPlatform"),
|
|
70
|
+
description: o("boden.productIntroduction.RobotPlatformDescription"),
|
|
71
|
+
icon: Z
|
|
72
|
+
}
|
|
73
|
+
]
|
|
64
74
|
}
|
|
65
|
-
],
|
|
75
|
+
], N = v(() => oo(l.value)), R = v(() => eo(l.value)), S = () => {
|
|
66
76
|
n.value = !n.value;
|
|
67
|
-
},
|
|
68
|
-
|
|
77
|
+
}, k = (r) => {
|
|
78
|
+
D("togglePlatform", r);
|
|
79
|
+
}, x = (r) => {
|
|
80
|
+
a.value && a.value.instRef && a.value.instRef.contains(r.target) || (n.value = !1);
|
|
69
81
|
};
|
|
70
|
-
return (
|
|
71
|
-
const _ =
|
|
72
|
-
return
|
|
73
|
-
|
|
82
|
+
return (r, i) => {
|
|
83
|
+
const _ = E("svg-icon"), O = A, T = z, $ = V;
|
|
84
|
+
return c(), u("div", null, [
|
|
85
|
+
d(J, {
|
|
74
86
|
ref_key: "triggerInstRef",
|
|
75
|
-
ref:
|
|
87
|
+
ref: a,
|
|
76
88
|
active: n.value,
|
|
77
|
-
onClick:
|
|
89
|
+
onClick: y(S, ["stop"])
|
|
78
90
|
}, null, 8, ["active"]),
|
|
79
|
-
|
|
91
|
+
d($, {
|
|
80
92
|
"content-class": "boden-product-introduction-panel-popover",
|
|
81
93
|
trigger: "manual",
|
|
82
94
|
show: n.value,
|
|
83
95
|
"onUpdate:show": i[2] || (i[2] = (t) => n.value = t),
|
|
84
|
-
style:
|
|
96
|
+
style: M(R.value),
|
|
85
97
|
"show-arrow": !1,
|
|
86
98
|
width: 1058,
|
|
87
99
|
scrollable: "",
|
|
88
100
|
x: f.x,
|
|
89
101
|
y: f.y,
|
|
90
102
|
"theme-overrides": { padding: "0", space: "0", borderRadius: "3px" },
|
|
91
|
-
onClickoutside:
|
|
103
|
+
onClickoutside: x
|
|
92
104
|
}, {
|
|
93
105
|
default: p(() => [
|
|
94
106
|
e("div", {
|
|
95
107
|
class: "boden-product-introduction-panel",
|
|
96
|
-
onClick: i[1] || (i[1] =
|
|
108
|
+
onClick: i[1] || (i[1] = y(() => {
|
|
97
109
|
}, ["stop"]))
|
|
98
110
|
}, [
|
|
99
|
-
e("div",
|
|
100
|
-
e("div", null, m(
|
|
101
|
-
|
|
111
|
+
e("div", no, [
|
|
112
|
+
e("div", null, m(F(o)("boden.productIntroduction.allProducts")), 1),
|
|
113
|
+
d(_, {
|
|
102
114
|
icon: "operate-close",
|
|
103
115
|
size: "16",
|
|
104
116
|
onClick: i[0] || (i[0] = (t) => n.value = !1)
|
|
105
117
|
})
|
|
106
118
|
]),
|
|
107
|
-
e("div",
|
|
108
|
-
(
|
|
119
|
+
e("div", io, [
|
|
120
|
+
(c(), u(g, null, P(B, (t) => e("div", {
|
|
109
121
|
key: t.key,
|
|
110
122
|
class: "content-item"
|
|
111
123
|
}, [
|
|
112
|
-
e("div",
|
|
113
|
-
e("div",
|
|
114
|
-
|
|
124
|
+
e("div", ro, [
|
|
125
|
+
e("div", so, [
|
|
126
|
+
d(_, {
|
|
115
127
|
icon: t.icon,
|
|
116
128
|
size: "32"
|
|
117
129
|
}, null, 8, ["icon"])
|
|
118
130
|
]),
|
|
119
|
-
e("div",
|
|
120
|
-
|
|
131
|
+
e("div", {
|
|
132
|
+
class: "title",
|
|
133
|
+
onClick: (s) => k(t.key)
|
|
134
|
+
}, m(t.title), 9, co),
|
|
135
|
+
e("div", lo, m(t.description), 1)
|
|
121
136
|
]),
|
|
122
|
-
t.children && t.children.length ? (
|
|
123
|
-
(
|
|
124
|
-
key:
|
|
125
|
-
title:
|
|
126
|
-
"theme-overrides":
|
|
137
|
+
t.children && t.children.length ? (c(), u("div", ao, [
|
|
138
|
+
(c(!0), u(g, null, P(t.children, (s) => (c(), b(T, {
|
|
139
|
+
key: s.key,
|
|
140
|
+
title: s.title,
|
|
141
|
+
"theme-overrides": N.value
|
|
127
142
|
}, {
|
|
128
143
|
cover: p(() => [
|
|
129
144
|
e("img", {
|
|
130
|
-
src:
|
|
145
|
+
src: s.icon,
|
|
131
146
|
alt: ""
|
|
132
|
-
}, null, 8,
|
|
147
|
+
}, null, 8, uo)
|
|
133
148
|
]),
|
|
134
149
|
default: p(() => [
|
|
135
|
-
|
|
136
|
-
e("div",
|
|
137
|
-
|
|
150
|
+
C(" " + m(s.description) + " ", 1),
|
|
151
|
+
e("div", po, [
|
|
152
|
+
d(O, {
|
|
138
153
|
round: "",
|
|
139
154
|
size: "tiny",
|
|
140
|
-
type: "primary"
|
|
155
|
+
type: "primary",
|
|
156
|
+
onClick: (vo) => k(s.key)
|
|
141
157
|
}, {
|
|
142
158
|
default: p(() => [...i[3] || (i[3] = [
|
|
143
|
-
|
|
159
|
+
C("开始使用", -1)
|
|
144
160
|
])]),
|
|
145
161
|
_: 1
|
|
146
|
-
})
|
|
162
|
+
}, 8, ["onClick"])
|
|
147
163
|
])
|
|
148
164
|
]),
|
|
149
165
|
_: 2
|
|
150
166
|
}, 1032, ["title", "theme-overrides"]))), 128))
|
|
151
|
-
])) :
|
|
167
|
+
])) : j("", !0)
|
|
152
168
|
])), 64))
|
|
153
169
|
])
|
|
154
170
|
])
|
|
155
171
|
]),
|
|
156
172
|
_: 1
|
|
157
173
|
}, 8, ["show", "style", "x", "y"]),
|
|
158
|
-
(
|
|
159
|
-
|
|
160
|
-
[
|
|
174
|
+
(c(), b(q, { to: "body" }, [
|
|
175
|
+
G(e("div", mo, null, 512), [
|
|
176
|
+
[H, n.value]
|
|
161
177
|
])
|
|
162
178
|
]))
|
|
163
179
|
]);
|
|
@@ -165,5 +181,5 @@ const Z = { class: "header" }, oo = { class: "content-wrap" }, eo = { class: "co
|
|
|
165
181
|
}
|
|
166
182
|
});
|
|
167
183
|
export {
|
|
168
|
-
|
|
184
|
+
wo as default
|
|
169
185
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PopoverProps } from 'naive-ui';
|
|
2
|
+
export type BodenProductIntroductionProps = {
|
|
3
|
+
x?: PopoverProps['x'];
|
|
4
|
+
y?: PopoverProps['y'];
|
|
5
|
+
};
|
|
6
|
+
export type SubProductItem = {
|
|
7
|
+
key: string;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
imgSrc: string;
|
|
11
|
+
href?: string;
|
|
12
|
+
};
|
|
13
|
+
export type ProductItem = {
|
|
14
|
+
key: string;
|
|
15
|
+
title: string;
|
|
16
|
+
description: string;
|
|
17
|
+
svgIcon: string;
|
|
18
|
+
href?: string;
|
|
19
|
+
children?: Array<SubProductItem>;
|
|
20
|
+
};
|