vue-devui 1.0.0-beta.10 → 1.0.0-beta.11
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/README.md +31 -36
- package/accordion/index.es.js +309 -38
- package/accordion/index.umd.js +1 -1
- package/accordion/style.css +1 -1
- package/button/index.es.js +203 -1
- package/button/index.umd.js +1 -1
- package/button/style.css +1 -1
- package/drawer/index.es.js +3 -4
- package/drawer/index.umd.js +1 -1
- package/editable-select/index.es.js +67 -3
- package/editable-select/index.umd.js +11 -11
- package/modal/index.es.js +198 -0
- package/modal/index.umd.js +1 -1
- package/modal/style.css +1 -1
- package/package.json +1 -1
- package/progress/index.es.js +8 -8
- package/progress/index.umd.js +3 -3
- package/radio/index.es.js +5 -5
- package/radio/index.umd.js +1 -1
- package/statistic/index.es.js +2 -2
- package/statistic/index.umd.js +1 -1
- package/statistic/style.css +1 -1
- package/style.css +1 -1
- package/table/index.es.js +207 -5
- package/table/index.umd.js +1 -1
- package/table/style.css +1 -1
- package/time-picker/index.es.js +203 -1
- package/time-picker/index.umd.js +1 -1
- package/time-picker/style.css +1 -1
- package/toast/index.es.js +1 -1
- package/toast/index.umd.js +1 -1
- package/toast/style.css +1 -1
- package/transfer/style.css +1 -1
- package/upload/index.es.js +158 -503
- package/upload/index.umd.js +1 -1
- package/upload/style.css +1 -1
- package/vue-devui.es.js +857 -869
- package/vue-devui.umd.js +18 -18
- package/nuxt/components/MultiUpload.js +0 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<a href="https://devui.design/home" target="_blank" rel="noopener noreferrer">
|
|
3
|
-
<img alt="DevUI Logo" src="public/logo.svg
|
|
3
|
+
<img alt="DevUI Logo" src="https://github.com/DevCloudFE/vue-devui/raw/dev/packages/devui-vue/public/logo.svg" width="180" style="max-width:100%;">
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
@@ -18,8 +18,6 @@ DevUI 官方网站:[https://devui.design](https://devui.design)
|
|
|
18
18
|
- ⭐ 参与到开源社区中来
|
|
19
19
|
- 🎊 结识一群热爱学习、热爱开源的朋友
|
|
20
20
|
|
|
21
|
-
[贡献指南](https://gitee.com/devui/vue-devui/wikis/【必看】快速开始)
|
|
22
|
-
|
|
23
21
|
# 快速开始
|
|
24
22
|
|
|
25
23
|
## 1 安装依赖
|
|
@@ -66,6 +64,7 @@ yarn add vue-devui
|
|
|
66
64
|
|
|
67
65
|
## 2. 全量引入
|
|
68
66
|
|
|
67
|
+
在`main.ts`文件中编写以下代码:
|
|
69
68
|
```
|
|
70
69
|
import { createApp } from 'vue'
|
|
71
70
|
import App from './App.vue'
|
|
@@ -84,6 +83,7 @@ createApp(App)
|
|
|
84
83
|
|
|
85
84
|
除了全量引入,我们也支持单个组件按需引入。
|
|
86
85
|
|
|
86
|
+
在`main.ts`文件中编写以下代码:
|
|
87
87
|
```
|
|
88
88
|
import { createApp } from 'vue'
|
|
89
89
|
import App from './App.vue'
|
|
@@ -99,7 +99,32 @@ createApp(App)
|
|
|
99
99
|
.mount('#app')
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
-
## 4.
|
|
102
|
+
## 4. 配置自动按需引入`unplugin-vue-components`(推荐)
|
|
103
|
+
|
|
104
|
+
配置`unplugin-vue-components`插件可以无需引入Vue DevUI就可以直接按需使用其中的组件,具体使用方式如下:
|
|
105
|
+
|
|
106
|
+
在`vite.config.ts`文件中添加以下代码:
|
|
107
|
+
```
|
|
108
|
+
import Components from 'unplugin-vue-components/vite'
|
|
109
|
+
import { DevUiResolver } from 'unplugin-vue-components/resolvers'
|
|
110
|
+
|
|
111
|
+
export default defineConfig({
|
|
112
|
+
plugins: [
|
|
113
|
+
vue(),
|
|
114
|
+
|
|
115
|
+
// 新增
|
|
116
|
+
Components({
|
|
117
|
+
resolvers: [
|
|
118
|
+
DevUiResolver()
|
|
119
|
+
]
|
|
120
|
+
})
|
|
121
|
+
]
|
|
122
|
+
})
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
配置了以上插件,就可以直接在代码中使用`Vue DevUI`的组件,而无需在`main.ts`文件中引入`Vue DevUI`。
|
|
126
|
+
|
|
127
|
+
## 5. 使用
|
|
103
128
|
|
|
104
129
|
```
|
|
105
130
|
<template>
|
|
@@ -109,7 +134,7 @@ createApp(App)
|
|
|
109
134
|
|
|
110
135
|
# 图标库
|
|
111
136
|
|
|
112
|
-
|
|
137
|
+
图标库推荐使用[DevUI图标库](https://devui.design/icon/ruleResource),也可以使用第三方图标库,比如:iconfont。
|
|
113
138
|
|
|
114
139
|
## 使用DevUI图标库
|
|
115
140
|
|
|
@@ -137,36 +162,6 @@ import '@devui-design/icons/icomoon/devui-icon.css'
|
|
|
137
162
|
<d-icon name="love" color="red"></d-icon>
|
|
138
163
|
```
|
|
139
164
|
|
|
140
|
-
## 使用第三方图标库
|
|
141
|
-
|
|
142
|
-
如果有第三方图标库,可以用类似的方式引入。
|
|
143
|
-
|
|
144
|
-
### 引入
|
|
145
|
-
|
|
146
|
-
在`main.ts`文件中,编写以下代码:
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
import 'your-folder/my-icon.css'
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### 使用
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
<d-icon classPrefix="my-icon" name="love" color="red"></d-icon>
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
其中的`classPrefix`参数的值,应该和你的字体图标样式文件`my-icon.css`里定义的样式前缀保持一致。
|
|
159
|
-
|
|
160
|
-
比如`my-icon.css`里的图标样式:
|
|
161
|
-
|
|
162
|
-
```css
|
|
163
|
-
.my-icon-branch-node:before {
|
|
164
|
-
content: "\E001";
|
|
165
|
-
}
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
那么`classPrefix`就是`my-icon`。
|
|
169
|
-
|
|
170
165
|
# License
|
|
171
166
|
|
|
172
|
-
[MIT](https://
|
|
167
|
+
[MIT](https://github.com/DevCloudFE/vue-devui/blob/dev/LICENSE)
|
package/accordion/index.es.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
2
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
6
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -14,7 +16,8 @@ var __spreadValues = (a, b) => {
|
|
|
14
16
|
}
|
|
15
17
|
return a;
|
|
16
18
|
};
|
|
17
|
-
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import { createVNode, getCurrentInstance, defineComponent, toRefs, inject, computed, Fragment, mergeProps, resolveComponent, createTextVNode, provide, onMounted, watch } from "vue";
|
|
18
21
|
const accordionProps = {
|
|
19
22
|
data: {
|
|
20
23
|
type: Array,
|
|
@@ -26,8 +29,8 @@ const accordionProps = {
|
|
|
26
29
|
disabledKey: { type: String, default: "disabled" },
|
|
27
30
|
activeKey: { type: String, default: "active" },
|
|
28
31
|
openKey: { type: String, default: "open" },
|
|
29
|
-
menuItemTemplate: { type:
|
|
30
|
-
itemTemplate: { type:
|
|
32
|
+
menuItemTemplate: { type: Boolean, default: true },
|
|
33
|
+
itemTemplate: { type: Boolean, default: true },
|
|
31
34
|
menuToggle: {
|
|
32
35
|
type: Function,
|
|
33
36
|
default: null
|
|
@@ -43,9 +46,9 @@ const accordionProps = {
|
|
|
43
46
|
restrictOneOpen: { type: Boolean, default: false },
|
|
44
47
|
autoOpenActiveMenu: { type: Boolean, default: false },
|
|
45
48
|
showNoContent: { type: Boolean, default: true },
|
|
46
|
-
noContentTemplate: { type:
|
|
47
|
-
loadingTemplate: { type:
|
|
48
|
-
innerListTemplate: { type:
|
|
49
|
+
noContentTemplate: { type: Boolean, default: true },
|
|
50
|
+
loadingTemplate: { type: Boolean, default: true },
|
|
51
|
+
innerListTemplate: { type: Boolean, default: true },
|
|
49
52
|
linkType: {
|
|
50
53
|
type: String,
|
|
51
54
|
default: ""
|
|
@@ -59,8 +62,43 @@ const accordionProps = {
|
|
|
59
62
|
default: "normal"
|
|
60
63
|
}
|
|
61
64
|
};
|
|
65
|
+
const OpenIcon = () => {
|
|
66
|
+
return createVNode("svg", {
|
|
67
|
+
"width": "1em",
|
|
68
|
+
"height": "1em",
|
|
69
|
+
"viewBox": "0 0 16 16",
|
|
70
|
+
"version": "1.1",
|
|
71
|
+
"xmlns": "http://www.w3.org/2000/svg",
|
|
72
|
+
"xmlns:xlink": "http://www.w3.org/1999/xlink"
|
|
73
|
+
}, [createVNode("g", {
|
|
74
|
+
"stroke": "none",
|
|
75
|
+
"stroke-width": "1",
|
|
76
|
+
"fill": "none",
|
|
77
|
+
"fill-rule": "evenodd"
|
|
78
|
+
}, [createVNode("path", {
|
|
79
|
+
"d": "M12.1464466,6.85355339 L8.35355339,10.6464466 C8.15829124,10.8417088 7.84170876,10.8417088 7.64644661,10.6464466 L3.85355339,6.85355339 C3.65829124,6.65829124 3.65829124,6.34170876 3.85355339,6.14644661 C3.94732158,6.05267842 4.07449854,6 4.20710678,6 L11.7928932,6 C12.0690356,6 12.2928932,6.22385763 12.2928932,6.5 C12.2928932,6.63260824 12.2402148,6.7597852 12.1464466,6.85355339 Z",
|
|
80
|
+
"fill-rule": "nonzero"
|
|
81
|
+
}, null)])]);
|
|
82
|
+
};
|
|
83
|
+
const getRootSlots = () => {
|
|
84
|
+
const rootComponentName = "DAccordion";
|
|
85
|
+
const getRootComponent = (component) => {
|
|
86
|
+
if (component && component.type.name === rootComponentName) {
|
|
87
|
+
return component;
|
|
88
|
+
}
|
|
89
|
+
if (component && component.parent) {
|
|
90
|
+
const parent = component.parent;
|
|
91
|
+
return getRootComponent(parent);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
const rootComponent = getRootComponent(getCurrentInstance());
|
|
95
|
+
return rootComponent == null ? void 0 : rootComponent.slots;
|
|
96
|
+
};
|
|
62
97
|
var DAccordionMenu = defineComponent({
|
|
63
98
|
name: "DAccordionMenu",
|
|
99
|
+
components: {
|
|
100
|
+
OpenIcon
|
|
101
|
+
},
|
|
64
102
|
props: __spreadValues({
|
|
65
103
|
item: Object,
|
|
66
104
|
deepth: {
|
|
@@ -75,27 +113,167 @@ var DAccordionMenu = defineComponent({
|
|
|
75
113
|
setup(props) {
|
|
76
114
|
const {
|
|
77
115
|
item,
|
|
78
|
-
deepth
|
|
116
|
+
deepth,
|
|
117
|
+
parent,
|
|
118
|
+
openKey,
|
|
119
|
+
activeKey,
|
|
120
|
+
autoOpenActiveMenu,
|
|
121
|
+
disabledKey,
|
|
122
|
+
childrenKey,
|
|
123
|
+
titleKey,
|
|
124
|
+
menuItemTemplate
|
|
79
125
|
} = toRefs(props);
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
126
|
+
const rootSlots = getRootSlots();
|
|
127
|
+
const accordionCtx = inject("accordionContext");
|
|
128
|
+
let parentValue = parent.value;
|
|
129
|
+
let deepValue = deepth.value;
|
|
130
|
+
const toggle = (itemEvent) => {
|
|
131
|
+
accordionCtx.menuToggleFn(itemEvent);
|
|
132
|
+
};
|
|
133
|
+
const hasActiveChildren = (item2) => {
|
|
134
|
+
if (item2[activeKey.value] === true)
|
|
135
|
+
return true;
|
|
136
|
+
if (item2[childrenKey.value]) {
|
|
137
|
+
return hasChildActive(item2[childrenKey.value]);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const hasChildActive = (arr) => {
|
|
141
|
+
let flag = false;
|
|
142
|
+
if (!arr.length)
|
|
143
|
+
return false;
|
|
144
|
+
for (let i = 0; i < arr.length; i++) {
|
|
145
|
+
if (arr[i][activeKey.value] === true) {
|
|
146
|
+
flag = true;
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
if (arr[i][childrenKey.value]) {
|
|
150
|
+
flag = hasChildActive(arr[i][childrenKey.value]);
|
|
151
|
+
if (flag)
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return flag;
|
|
156
|
+
};
|
|
83
157
|
const keyOpen = computed(() => {
|
|
84
|
-
return item
|
|
158
|
+
return item.value && item.value[openKey.value];
|
|
159
|
+
});
|
|
160
|
+
const disabled = computed(() => {
|
|
161
|
+
return item.value && item.value[disabledKey.value];
|
|
162
|
+
});
|
|
163
|
+
const title = computed(() => {
|
|
164
|
+
return item.value && item.value[titleKey.value];
|
|
165
|
+
});
|
|
166
|
+
const children = computed(() => {
|
|
167
|
+
return item.value && item.value[childrenKey.value];
|
|
85
168
|
});
|
|
86
169
|
const childActived = computed(() => {
|
|
170
|
+
return hasActiveChildren(item.value);
|
|
171
|
+
});
|
|
172
|
+
const open = computed(() => {
|
|
173
|
+
return keyOpen.value === void 0 && autoOpenActiveMenu.value ? childActived.value : keyOpen.value;
|
|
87
174
|
});
|
|
88
175
|
return () => {
|
|
176
|
+
var _a;
|
|
89
177
|
return createVNode(Fragment, null, [createVNode("div", {
|
|
90
|
-
"class": ["devui-accordion-item-title", "devui-over-flow-ellipsis",
|
|
91
|
-
"title":
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
"
|
|
96
|
-
|
|
178
|
+
"class": ["devui-accordion-item-title", "devui-over-flow-ellipsis", open.value && "open", childActived.value && "active", disabled.value && "disabled"],
|
|
179
|
+
"title": title.value,
|
|
180
|
+
"style": {
|
|
181
|
+
textIndent: deepValue * 20 + "px"
|
|
182
|
+
},
|
|
183
|
+
"onClick": (e) => !disabled.value && toggle({
|
|
184
|
+
item: item.value,
|
|
185
|
+
open: !open.value,
|
|
186
|
+
parent: parentValue,
|
|
187
|
+
event: e
|
|
188
|
+
})
|
|
189
|
+
}, [createVNode("div", {
|
|
190
|
+
"class": ["devui-accordion-splitter", deepValue === 0 && "devui-parent-list"],
|
|
191
|
+
"style": {
|
|
192
|
+
left: deepValue * 20 + 10 + "px"
|
|
193
|
+
}
|
|
194
|
+
}, null), (!rootSlots.menuItemTemplate || menuItemTemplate.value === false) && createVNode(Fragment, null, [title.value]), rootSlots.menuItemTemplate && menuItemTemplate.value !== false && ((_a = rootSlots.menuItemTemplate) == null ? void 0 : _a.call(rootSlots, {
|
|
195
|
+
parent: parentValue,
|
|
196
|
+
deepth: deepValue,
|
|
197
|
+
item: item.value
|
|
198
|
+
})), createVNode("span", {
|
|
199
|
+
"class": "devui-accordion-open-icon"
|
|
200
|
+
}, [createVNode(OpenIcon, null, null)])]), createVNode("div", {
|
|
201
|
+
"class": [!open.value && "devui-accordion-menu-hidden", "devui-accordion-submenu", "devui-accordion-show-animate"]
|
|
202
|
+
}, [createVNode(AccordionList, mergeProps(props, {
|
|
203
|
+
"deepth": deepValue + 1,
|
|
204
|
+
"data": children.value || [],
|
|
97
205
|
"parent": item.value
|
|
98
|
-
}, null)]);
|
|
206
|
+
}), null)])]);
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
var DAccordionItem = defineComponent({
|
|
211
|
+
name: "DAccordionItem",
|
|
212
|
+
props: __spreadValues({
|
|
213
|
+
item: Object,
|
|
214
|
+
deepth: {
|
|
215
|
+
type: Number,
|
|
216
|
+
default: 0
|
|
217
|
+
},
|
|
218
|
+
parent: {
|
|
219
|
+
type: Object,
|
|
220
|
+
default: null
|
|
221
|
+
}
|
|
222
|
+
}, accordionProps),
|
|
223
|
+
setup(props) {
|
|
224
|
+
const {
|
|
225
|
+
item,
|
|
226
|
+
deepth,
|
|
227
|
+
parent,
|
|
228
|
+
titleKey,
|
|
229
|
+
activeKey,
|
|
230
|
+
disabledKey,
|
|
231
|
+
itemTemplate
|
|
232
|
+
} = toRefs(props);
|
|
233
|
+
const rootSlots = getRootSlots();
|
|
234
|
+
const accordionCtx = inject("accordionContext");
|
|
235
|
+
let parentValue = parent.value;
|
|
236
|
+
let deepValue = deepth.value;
|
|
237
|
+
const disabled = computed(() => {
|
|
238
|
+
return item.value && item.value[disabledKey.value];
|
|
239
|
+
});
|
|
240
|
+
const title = computed(() => {
|
|
241
|
+
return item.value && item.value[titleKey.value];
|
|
242
|
+
});
|
|
243
|
+
const active = computed(() => {
|
|
244
|
+
return item.value && item.value[activeKey.value];
|
|
245
|
+
});
|
|
246
|
+
const childActived = computed(() => {
|
|
247
|
+
return active.value;
|
|
248
|
+
});
|
|
249
|
+
const itemClick = (itemEvent) => {
|
|
250
|
+
if (item.value && !disabled.value) {
|
|
251
|
+
accordionCtx.itemClickFn(itemEvent);
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
return () => {
|
|
255
|
+
var _a;
|
|
256
|
+
return createVNode(Fragment, null, [createVNode("div", {
|
|
257
|
+
"class": ["devui-accordion-item-title", "devui-over-flow-ellipsis", childActived.value && "active", disabled.value && "disabled"],
|
|
258
|
+
"title": title.value,
|
|
259
|
+
"style": {
|
|
260
|
+
textIndent: deepValue * 20 + "px"
|
|
261
|
+
},
|
|
262
|
+
"onClick": (e) => itemClick({
|
|
263
|
+
item: item.value,
|
|
264
|
+
parent: parentValue,
|
|
265
|
+
event: e
|
|
266
|
+
})
|
|
267
|
+
}, [createVNode("div", {
|
|
268
|
+
"class": ["devui-accordion-splitter", deepValue === 0 && "devui-parent-list"],
|
|
269
|
+
"style": {
|
|
270
|
+
left: deepValue * 20 + 10 + "px"
|
|
271
|
+
}
|
|
272
|
+
}, null), (!rootSlots.itemTemplate || itemTemplate.value === false) && createVNode(Fragment, null, [title.value]), rootSlots.itemTemplate && itemTemplate.value !== false && ((_a = rootSlots.itemTemplate) == null ? void 0 : _a.call(rootSlots, {
|
|
273
|
+
parent: parentValue,
|
|
274
|
+
deepth: deepValue,
|
|
275
|
+
item: item.value
|
|
276
|
+
}))])]);
|
|
99
277
|
};
|
|
100
278
|
}
|
|
101
279
|
});
|
|
@@ -103,7 +281,8 @@ var AccordionList = defineComponent({
|
|
|
103
281
|
name: "DAccordionList",
|
|
104
282
|
inheritAttrs: false,
|
|
105
283
|
components: {
|
|
106
|
-
DAccordionMenu
|
|
284
|
+
DAccordionMenu,
|
|
285
|
+
DAccordionItem
|
|
107
286
|
},
|
|
108
287
|
props: __spreadValues({
|
|
109
288
|
data: {
|
|
@@ -121,27 +300,84 @@ var AccordionList = defineComponent({
|
|
|
121
300
|
innerListTemplate: Boolean
|
|
122
301
|
}, accordionProps),
|
|
123
302
|
setup(props, {
|
|
124
|
-
attrs
|
|
125
|
-
slots
|
|
303
|
+
attrs
|
|
126
304
|
}) {
|
|
127
305
|
const {
|
|
128
306
|
childrenKey,
|
|
129
|
-
|
|
130
|
-
|
|
307
|
+
deepth,
|
|
308
|
+
parent,
|
|
309
|
+
data,
|
|
310
|
+
linkType,
|
|
311
|
+
showNoContent,
|
|
312
|
+
loadingKey,
|
|
313
|
+
titleKey,
|
|
314
|
+
loadingTemplate,
|
|
315
|
+
noContentTemplate,
|
|
316
|
+
innerListTemplate
|
|
131
317
|
} = toRefs(props);
|
|
318
|
+
let parentValue = parent.value;
|
|
319
|
+
let deepValue = deepth.value;
|
|
320
|
+
const rootSlots = getRootSlots();
|
|
321
|
+
const accordionCtx = inject("accordionContext");
|
|
322
|
+
const loading = computed(() => {
|
|
323
|
+
return parentValue && parentValue[loadingKey.value];
|
|
324
|
+
});
|
|
325
|
+
const noContent = computed(() => {
|
|
326
|
+
let dataValue = data.value;
|
|
327
|
+
return dataValue === void 0 || dataValue === null || dataValue.length === 0;
|
|
328
|
+
});
|
|
132
329
|
return () => {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
330
|
+
var _a, _b, _c;
|
|
331
|
+
return createVNode(Fragment, null, [(!rootSlots.innerListTemplate || deepth.value === 0 || innerListTemplate.value === false) && createVNode("ul", mergeProps({
|
|
332
|
+
"class": ["devui-accordion-list"]
|
|
333
|
+
}, attrs), [data.value.map((item) => {
|
|
136
334
|
return createVNode("li", {
|
|
137
335
|
"class": "devui-accordion-item",
|
|
138
|
-
"key": item.
|
|
139
|
-
}, [childrenKey !== void 0 && createVNode(
|
|
336
|
+
"key": item[titleKey.value]
|
|
337
|
+
}, [item[childrenKey.value] !== void 0 && createVNode("div", {
|
|
338
|
+
"class": "devui-accordion-menu-item"
|
|
339
|
+
}, [createVNode(resolveComponent("d-accordion-menu"), mergeProps(props, {
|
|
140
340
|
"item": item,
|
|
141
|
-
"deepth":
|
|
142
|
-
"parent":
|
|
143
|
-
},
|
|
144
|
-
|
|
341
|
+
"deepth": deepValue,
|
|
342
|
+
"parent": parentValue
|
|
343
|
+
}), null)]), item[childrenKey.value] === void 0 && createVNode(Fragment, null, [(!linkType.value || linkType.value === "") && createVNode(resolveComponent("d-accordion-item"), mergeProps(props, {
|
|
344
|
+
"item": item,
|
|
345
|
+
"deepth": deepValue,
|
|
346
|
+
"parent": parentValue
|
|
347
|
+
}), null)])]);
|
|
348
|
+
})]), rootSlots.innerListTemplate && innerListTemplate.value !== false && deepValue !== 0 && ((_a = rootSlots.innerListTemplate) == null ? void 0 : _a.call(rootSlots, {
|
|
349
|
+
item: parentValue,
|
|
350
|
+
deepth: deepValue,
|
|
351
|
+
itemClickFn: accordionCtx.itemClickFn,
|
|
352
|
+
menuToggleFn: accordionCtx.menuToggleFn
|
|
353
|
+
})), (!rootSlots.innerListTemplate || innerListTemplate.value === false) && (loading.value || noContent.value && showNoContent.value) && createVNode("ul", mergeProps({
|
|
354
|
+
"class": ["devui-accordion-list"]
|
|
355
|
+
}, attrs), [
|
|
356
|
+
loading.value && (!rootSlots.loadingTemplate || loadingTemplate.value === false) && createVNode("li", {
|
|
357
|
+
"class": "devui-accordion-item"
|
|
358
|
+
}, [createVNode("div", {
|
|
359
|
+
"class": ["devui-accordion-item-title", "devui-over-flow-ellipsis"],
|
|
360
|
+
"style": {
|
|
361
|
+
textIndent: deepValue * 20 + "px"
|
|
362
|
+
}
|
|
363
|
+
}, [createTextVNode("\u52A0\u8F7D\u4E2D...")])]),
|
|
364
|
+
loading.value && rootSlots.loadingTemplate && loadingTemplate.value !== false && ((_b = rootSlots.loadingTemplate) == null ? void 0 : _b.call(rootSlots, {
|
|
365
|
+
item: parentValue,
|
|
366
|
+
deepth: deepValue
|
|
367
|
+
})),
|
|
368
|
+
showNoContent.value && !loading.value && noContent.value && (!rootSlots.noContentTemplate || noContentTemplate.value === false) && createVNode("li", {
|
|
369
|
+
"class": "devui-accordion-item"
|
|
370
|
+
}, [createVNode("div", {
|
|
371
|
+
"class": ["devui-accordion-item-title", "devui-over-flow-ellipsis disabled"],
|
|
372
|
+
"style": {
|
|
373
|
+
textIndent: deepValue * 20 + "px"
|
|
374
|
+
}
|
|
375
|
+
}, [createTextVNode("\u6CA1\u6709\u6570\u636E")])]),
|
|
376
|
+
showNoContent.value && !loading.value && noContent.value && rootSlots.noContentTemplate && noContentTemplate.value !== false && ((_c = rootSlots.noContentTemplate) == null ? void 0 : _c.call(rootSlots, {
|
|
377
|
+
item: parentValue,
|
|
378
|
+
deepth: deepValue
|
|
379
|
+
}))
|
|
380
|
+
])]);
|
|
145
381
|
};
|
|
146
382
|
}
|
|
147
383
|
});
|
|
@@ -198,28 +434,63 @@ var Accordion = defineComponent({
|
|
|
198
434
|
clickActiveItem = item;
|
|
199
435
|
emit("activeItemChange", clickActiveItem);
|
|
200
436
|
};
|
|
437
|
+
const openMenuFn = (item, open) => {
|
|
438
|
+
if (open && restrictOneOpen.value) {
|
|
439
|
+
data.value.forEach((itemtemp) => {
|
|
440
|
+
itemtemp[openKey.value] = false;
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
item[openKey.value] = open;
|
|
444
|
+
};
|
|
445
|
+
const itemClickFn = (itemEvent) => {
|
|
446
|
+
const prevActiveItem = clickActiveItem;
|
|
447
|
+
activeItemFn(itemEvent.item);
|
|
448
|
+
emit("itemClick", __spreadProps(__spreadValues({}, itemEvent), {
|
|
449
|
+
prevActiveItem
|
|
450
|
+
}));
|
|
451
|
+
};
|
|
452
|
+
const linkItemClickFn = (itemEvent) => {
|
|
453
|
+
const prevActiveItem = clickActiveItem;
|
|
454
|
+
clickActiveItem = itemEvent.item;
|
|
455
|
+
emit("linkItemClick", __spreadProps(__spreadValues({}, itemEvent), {
|
|
456
|
+
prevActiveItem
|
|
457
|
+
}));
|
|
458
|
+
};
|
|
459
|
+
const menuToggleFn = (menuEvent) => {
|
|
460
|
+
openMenuFn(menuEvent.item, menuEvent.open);
|
|
461
|
+
emit("menuToggle", menuEvent);
|
|
462
|
+
};
|
|
201
463
|
const cleanOpenData = () => {
|
|
202
464
|
flatten(data.value, childrenKey.value, true, false).forEach((item) => item[openKey.value] = void 0);
|
|
203
465
|
};
|
|
466
|
+
provide("accordionContext", {
|
|
467
|
+
itemClickFn,
|
|
468
|
+
linkItemClickFn,
|
|
469
|
+
menuToggleFn
|
|
470
|
+
});
|
|
204
471
|
onMounted(() => {
|
|
205
472
|
if (data.value) {
|
|
206
473
|
initActiveItem();
|
|
207
474
|
}
|
|
208
475
|
});
|
|
209
476
|
watch(() => autoOpenActiveMenu.value, (current, preV) => {
|
|
210
|
-
console.log("cur, new", current, preV);
|
|
211
477
|
if (current && preV === false) {
|
|
212
478
|
cleanOpenData();
|
|
213
479
|
}
|
|
214
480
|
});
|
|
481
|
+
watch(data.value, (current, preV) => {
|
|
482
|
+
initActiveItem();
|
|
483
|
+
}, {
|
|
484
|
+
deep: true
|
|
485
|
+
});
|
|
215
486
|
return () => {
|
|
216
487
|
return createVNode("div", {
|
|
217
|
-
"class":
|
|
218
|
-
}, [createVNode(AccordionList, mergeProps({
|
|
219
|
-
"data": data,
|
|
488
|
+
"class": ["devui-accordion-menu", "devui-scrollbar", "devui-accordion-show-animate", accordionType.value === "normal" && "devui-accordion-menu-normal"]
|
|
489
|
+
}, [createVNode(AccordionList, mergeProps(props, {
|
|
490
|
+
"data": data.value,
|
|
220
491
|
"deepth": 0,
|
|
221
492
|
"parent": null
|
|
222
|
-
}
|
|
493
|
+
}), null)]);
|
|
223
494
|
};
|
|
224
495
|
}
|
|
225
496
|
});
|
package/accordion/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var q=Object.defineProperty,z=Object.defineProperties;var E=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var S=(i,e,m)=>e in i?q(i,e,{enumerable:!0,configurable:!0,writable:!0,value:m}):i[e]=m,K=(i,e)=>{for(var m in e||(e={}))Z.call(e,m)&&S(i,m,e[m]);if(M)for(var m of M(e))G.call(e,m)&&S(i,m,e[m]);return i},L=(i,e)=>z(i,E(e));(function(i,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(i=typeof globalThis!="undefined"?globalThis:i||self,e(i.index={},i.Vue))})(this,function(i,e){"use strict";const m={data:{type:Array,default:null},titleKey:{type:String,default:"title"},loadingKey:{type:String,default:"loading"},childrenKey:{type:String,default:"children"},disabledKey:{type:String,default:"disabled"},activeKey:{type:String,default:"active"},openKey:{type:String,default:"open"},menuItemTemplate:{type:Boolean,default:!0},itemTemplate:{type:Boolean,default:!0},menuToggle:{type:Function,default:null},itemClick:{type:Function,default:null},activeItemChange:{type:Function,default:null},restrictOneOpen:{type:Boolean,default:!1},autoOpenActiveMenu:{type:Boolean,default:!1},showNoContent:{type:Boolean,default:!0},noContentTemplate:{type:Boolean,default:!0},loadingTemplate:{type:Boolean,default:!0},innerListTemplate:{type:Boolean,default:!0},linkType:{type:String,default:""},linkTypeKey:{type:String,default:"linkType"},linkKey:{type:String,default:"link"},linkTargetKey:{type:String,default:"target"},linkDefaultTarget:{type:String,default:"_self"},accordionType:{type:String,default:"normal"}},D=()=>e.createVNode("svg",{width:"1em",height:"1em",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("path",{d:"M12.1464466,6.85355339 L8.35355339,10.6464466 C8.15829124,10.8417088 7.84170876,10.8417088 7.64644661,10.6464466 L3.85355339,6.85355339 C3.65829124,6.65829124 3.65829124,6.34170876 3.85355339,6.14644661 C3.94732158,6.05267842 4.07449854,6 4.20710678,6 L11.7928932,6 C12.0690356,6 12.2928932,6.22385763 12.2928932,6.5 C12.2928932,6.63260824 12.2402148,6.7597852 12.1464466,6.85355339 Z","fill-rule":"nonzero"},null)])]),B=()=>{const d="DAccordion",t=c=>{if(c&&c.type.name===d)return c;if(c&&c.parent){const h=c.parent;return t(h)}},u=t(e.getCurrentInstance());return u==null?void 0:u.slots};var P=e.defineComponent({name:"DAccordionMenu",components:{OpenIcon:D},props:K({item:Object,deepth:{type:Number,default:0},parent:{type:Object,default:null}},m),setup(d){const{item:t,deepth:u,parent:c,openKey:h,activeKey:T,autoOpenActiveMenu:k,disabledKey:N,childrenKey:v,titleKey:s,menuItemTemplate:C}=e.toRefs(d),p=B(),V=e.inject("accordionContext");let f=c.value,o=u.value;const a=r=>{V.menuToggleFn(r)},x=r=>{if(r[T.value]===!0)return!0;if(r[v.value])return y(r[v.value])},y=r=>{let F=!1;if(!r.length)return!1;for(let O=0;O<r.length;O++){if(r[O][T.value]===!0){F=!0;break}if(r[O][v.value]&&(F=y(r[O][v.value]),F))break}return F},n=e.computed(()=>t.value&&t.value[h.value]),l=e.computed(()=>t.value&&t.value[N.value]),A=e.computed(()=>t.value&&t.value[s.value]),b=e.computed(()=>t.value&&t.value[v.value]),g=e.computed(()=>x(t.value)),I=e.computed(()=>n.value===void 0&&k.value?g.value:n.value);return()=>{var r;return e.createVNode(e.Fragment,null,[e.createVNode("div",{class:["devui-accordion-item-title","devui-over-flow-ellipsis",I.value&&"open",g.value&&"active",l.value&&"disabled"],title:A.value,style:{textIndent:o*20+"px"},onClick:F=>!l.value&&a({item:t.value,open:!I.value,parent:f,event:F})},[e.createVNode("div",{class:["devui-accordion-splitter",o===0&&"devui-parent-list"],style:{left:o*20+10+"px"}},null),(!p.menuItemTemplate||C.value===!1)&&e.createVNode(e.Fragment,null,[A.value]),p.menuItemTemplate&&C.value!==!1&&((r=p.menuItemTemplate)==null?void 0:r.call(p,{parent:f,deepth:o,item:t.value})),e.createVNode("span",{class:"devui-accordion-open-icon"},[e.createVNode(D,null,null)])]),e.createVNode("div",{class:[!I.value&&"devui-accordion-menu-hidden","devui-accordion-submenu","devui-accordion-show-animate"]},[e.createVNode(j,e.mergeProps(d,{deepth:o+1,data:b.value||[],parent:t.value}),null)])])}}}),R=e.defineComponent({name:"DAccordionItem",props:K({item:Object,deepth:{type:Number,default:0},parent:{type:Object,default:null}},m),setup(d){const{item:t,deepth:u,parent:c,titleKey:h,activeKey:T,disabledKey:k,itemTemplate:N}=e.toRefs(d),v=B(),s=e.inject("accordionContext");let C=c.value,p=u.value;const V=e.computed(()=>t.value&&t.value[k.value]),f=e.computed(()=>t.value&&t.value[h.value]),o=e.computed(()=>t.value&&t.value[T.value]),a=e.computed(()=>o.value),x=y=>{t.value&&!V.value&&s.itemClickFn(y)};return()=>{var y;return e.createVNode(e.Fragment,null,[e.createVNode("div",{class:["devui-accordion-item-title","devui-over-flow-ellipsis",a.value&&"active",V.value&&"disabled"],title:f.value,style:{textIndent:p*20+"px"},onClick:n=>x({item:t.value,parent:C,event:n})},[e.createVNode("div",{class:["devui-accordion-splitter",p===0&&"devui-parent-list"],style:{left:p*20+10+"px"}},null),(!v.itemTemplate||N.value===!1)&&e.createVNode(e.Fragment,null,[f.value]),v.itemTemplate&&N.value!==!1&&((y=v.itemTemplate)==null?void 0:y.call(v,{parent:C,deepth:p,item:t.value}))])])}}}),j=e.defineComponent({name:"DAccordionList",inheritAttrs:!1,components:{DAccordionMenu:P,DAccordionItem:R},props:K({data:{type:Array,default:null},deepth:{type:Number,default:0},parent:{type:Object,default:null},innerListTemplate:Boolean},m),setup(d,{attrs:t}){const{childrenKey:u,deepth:c,parent:h,data:T,linkType:k,showNoContent:N,loadingKey:v,titleKey:s,loadingTemplate:C,noContentTemplate:p,innerListTemplate:V}=e.toRefs(d);let f=h.value,o=c.value;const a=B(),x=e.inject("accordionContext"),y=e.computed(()=>f&&f[v.value]),n=e.computed(()=>{let l=T.value;return l==null||l.length===0});return()=>{var l,A,b;return e.createVNode(e.Fragment,null,[(!a.innerListTemplate||c.value===0||V.value===!1)&&e.createVNode("ul",e.mergeProps({class:["devui-accordion-list"]},t),[T.value.map(g=>e.createVNode("li",{class:"devui-accordion-item",key:g[s.value]},[g[u.value]!==void 0&&e.createVNode("div",{class:"devui-accordion-menu-item"},[e.createVNode(e.resolveComponent("d-accordion-menu"),e.mergeProps(d,{item:g,deepth:o,parent:f}),null)]),g[u.value]===void 0&&e.createVNode(e.Fragment,null,[(!k.value||k.value==="")&&e.createVNode(e.resolveComponent("d-accordion-item"),e.mergeProps(d,{item:g,deepth:o,parent:f}),null)])]))]),a.innerListTemplate&&V.value!==!1&&o!==0&&((l=a.innerListTemplate)==null?void 0:l.call(a,{item:f,deepth:o,itemClickFn:x.itemClickFn,menuToggleFn:x.menuToggleFn})),(!a.innerListTemplate||V.value===!1)&&(y.value||n.value&&N.value)&&e.createVNode("ul",e.mergeProps({class:["devui-accordion-list"]},t),[y.value&&(!a.loadingTemplate||C.value===!1)&&e.createVNode("li",{class:"devui-accordion-item"},[e.createVNode("div",{class:["devui-accordion-item-title","devui-over-flow-ellipsis"],style:{textIndent:o*20+"px"}},[e.createTextVNode("\u52A0\u8F7D\u4E2D...")])]),y.value&&a.loadingTemplate&&C.value!==!1&&((A=a.loadingTemplate)==null?void 0:A.call(a,{item:f,deepth:o})),N.value&&!y.value&&n.value&&(!a.noContentTemplate||p.value===!1)&&e.createVNode("li",{class:"devui-accordion-item"},[e.createVNode("div",{class:["devui-accordion-item-title","devui-over-flow-ellipsis disabled"],style:{textIndent:o*20+"px"}},[e.createTextVNode("\u6CA1\u6709\u6570\u636E")])]),N.value&&!y.value&&n.value&&a.noContentTemplate&&p.value!==!1&&((b=a.noContentTemplate)==null?void 0:b.call(a,{item:f,deepth:o}))])])}}}),H="",w=e.defineComponent({name:"DAccordion",props:m,setup(d,{emit:t}){const{data:u,childrenKey:c,activeKey:h,openKey:T,accordionType:k,autoOpenActiveMenu:N,restrictOneOpen:v}=e.toRefs(d);let s;const C=(n,l="children",A=!1,b=!0)=>n.reduce((g,I)=>{const r=I[l];return r===void 0?b&&g.push(I):(A&&g.push(I),Array.isArray(r)&&g.push(...C(r,l,A))),g},[]),p=()=>{const n=C(u.value,c.value).filter(l=>l[h.value]).pop();n?s||V(n):s=void 0},V=n=>{s&&s[h.value]&&(s[h.value]=!1),n[h.value]=!0,s=n,t("activeItemChange",s)},f=(n,l)=>{l&&v.value&&u.value.forEach(A=>{A[T.value]=!1}),n[T.value]=l},o=n=>{const l=s;V(n.item),t("itemClick",L(K({},n),{prevActiveItem:l}))},a=n=>{const l=s;s=n.item,t("linkItemClick",L(K({},n),{prevActiveItem:l}))},x=n=>{f(n.item,n.open),t("menuToggle",n)},y=()=>{C(u.value,c.value,!0,!1).forEach(n=>n[T.value]=void 0)};return e.provide("accordionContext",{itemClickFn:o,linkItemClickFn:a,menuToggleFn:x}),e.onMounted(()=>{u.value&&p()}),e.watch(()=>N.value,(n,l)=>{n&&l===!1&&y()}),e.watch(u.value,(n,l)=>{p()},{deep:!0}),()=>e.createVNode("div",{class:["devui-accordion-menu","devui-scrollbar","devui-accordion-show-animate",k.value==="normal"&&"devui-accordion-menu-normal"]},[e.createVNode(j,e.mergeProps(d,{data:u.value,deepth:0,parent:null}),null)])}});w.install=function(d){d.component(w.name,w)};var _={title:"Accordion \u624B\u98CE\u7434",category:"\u5BFC\u822A",status:"10%",install(d){d.use(w)}};i.Accordion=w,i.default=_,Object.defineProperty(i,"__esModule",{value:!0}),i[Symbol.toStringTag]="Module"});
|
package/accordion/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8"
|
|
1
|
+
@charset "UTF-8";.devui-accordion-menu ol,ul{margin:0!important;line-height:0!important;font-size:12px}:host{display:block}.devui-accordion-menu-item,d-accordion-item,d-accordion-item-hreflink,d-accordion-item-routerlink,.devui-accordion-list{display:block}.devui-accordion-menu{display:block;background:var(--devui-base-bg, #ffffff);width:100%;overflow-y:auto;border-radius:var(--devui-border-radius, 2px);height:100%}.devui-accordion-menu.devui-accordion-menu-normal{box-shadow:var(--devui-shadow-length-base, 0 1px 4px 0) var(--devui-shadow, rgba(0, 0, 0, .2))}.devui-accordion-menu>.devui-accordion-list{padding:10px 0}.devui-accordion-menu .devui-over-flow-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.devui-accordion-submenu{background:var(--devui-base-bg, #ffffff);width:100%}.devui-accordion-item-title{display:block;height:40px;width:100%;padding:0 10px 0 20px;font-weight:400;line-height:40px;color:var(--devui-text-weak, #575d6c);background:transparent;cursor:pointer}.devui-accordion-item-title.disabled{color:var(--devui-disabled-text, #adb0b8);cursor:not-allowed}.devui-accordion-item-title.disabled>a{color:var(--devui-disabled-text, #adb0b8)}.devui-accordion-item-title:not(.disabled):hover{background:var(--devui-list-item-hover-bg, #f2f5fc);color:var(--devui-list-item-hover-text, #526ecc)}.devui-accordion-item-title:not(.disabled).devui-router-active,.devui-accordion-item-title:not(.disabled).active:not(.open){color:var(--devui-brand-active, #526ecc);font-weight:bold}.devui-accordion-item-title:not(.disabled).devui-router-active>a,.devui-accordion-item-title:not(.disabled).active:not(.open)>a{color:var(--devui-brand-active, #526ecc)}.devui-accordion-item-title>a{text-decoration:none;display:block;width:100%;color:var(--devui-text-weak, #575d6c)}.devui-accordion-item-title>a:hover{color:inherit;text-decoration:none}d-accordion-item-hreflink.devui-accordion-item-title,d-accordion-item-routerlink.devui-accordion-item-title{padding:0}d-accordion-item-hreflink.devui-accordion-item-title>a,d-accordion-item-routerlink.devui-accordion-item-title>a{padding:0 10px 0 20px}.devui-accordion-menu-item>.devui-accordion-item-title{position:relative}.devui-accordion-menu-item>.devui-accordion-item-title>.devui-accordion-open-icon{display:inline-block;text-indent:0;pointer-events:none;position:absolute;right:10px;top:12px;width:16px;height:16px;line-height:16px;transition:transform ease-out .3s}.devui-accordion-menu-item>.devui-accordion-item-title>.devui-accordion-open-icon>svg{width:16px;height:16px}.devui-accordion-menu-item>.devui-accordion-item-title>.devui-accordion-open-icon>svg path{fill:var(--devui-text-weak, #575d6c)}.devui-accordion-menu-item>.devui-accordion-item-title:not(.open).active svg path{fill:var(--devui-icon-fill-active, #5e7ce0)}.devui-accordion-menu-item>.devui-accordion-item-title.open>.devui-accordion-open-icon{transform:rotate(180deg);transform-origin:center}.devui-accordion-menu-item>.devui-accordion-item-title.disabled>.devui-accordion-open-icon{color:var(--devui-disabled-text, #adb0b8)}.devui-accordion-menu-item>.devui-accordion-item-title.disabled>.devui-accordion-open-icon svg path{fill:var(--devui-disabled-text, #adb0b8)}.devui-accordion-menu-item>.devui-accordion-item-title{padding-right:30px}.devui-accordion-menu-item>.devui-accordion-item-title.active:not(.open){color:var(--devui-brand-active, #526ecc);background:transparent}.devui-accordion-list .devui-accordion-menu-hidden{opacity:0;height:0px;overflow:hidden}.devui-accordion-item-title{position:relative}.devui-accordion-item-title .devui-accordion-splitter{position:absolute;display:inline-block;left:10px;width:2px;height:40px;background:var(--devui-dividing-line, #dfe1e6);vertical-align:middle}.devui-accordion-item-title .devui-accordion-splitter.devui-parent-list{background-color:transparent}.devui-accordion-item-title .devui-accordion-splitter:before{content:"";display:block;width:2px;height:18px;background:var(--devui-form-control-line-active, #5e7ce0);position:absolute;top:11px;left:0;opacity:0}.devui-accordion-item-title.devui-router-active:not(.open) .devui-accordion-splitter:before,.devui-accordion-item-title.active:not(.open) .devui-accordion-splitter:before{opacity:1}.devui-accordion-show-animate .devui-accordion-item-title{transition:font-weight var(--devui-animation-duration-fast, .1s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1)),background-color var(--devui-animation-duration-fast, .1s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-accordion-show-animate .devui-accordion-item-title .devui-accordion-splitter:before{transform:scaleY(0);transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-accordion-show-animate .devui-accordion-item-title.devui-router-active:not(.open) .devui-accordion-splitter:before,.devui-accordion-show-animate .devui-accordion-item-title.active:not(.open) .devui-accordion-splitter:before{transform:scaleY(1)}.devui-accordion-list>.devui-accordion-item:first-child>.devui-accordion-item-title>a>.devui-accordion-splitter,.devui-accordion-list>.devui-accordion-item:first-child>.devui-accordion-item-title>.devui-accordion-splitter,.devui-accordion-list>.devui-accordion-item:first-child>.devui-accordion-menu-item>.devui-accordion-item-title>a>.devui-accordion-splitter,.devui-accordion-list>.devui-accordion-item:first-child>.devui-accordion-menu-item>.devui-accordion-item-title>.devui-accordion-splitter{height:28px;top:12px}.devui-accordion-list>.devui-accordion-item:first-child>.devui-accordion-item-title>a>.devui-accordion-splitter:before,.devui-accordion-list>.devui-accordion-item:first-child>.devui-accordion-item-title>.devui-accordion-splitter:before,.devui-accordion-list>.devui-accordion-item:first-child>.devui-accordion-menu-item>.devui-accordion-item-title>a>.devui-accordion-splitter:before,.devui-accordion-list>.devui-accordion-item:first-child>.devui-accordion-menu-item>.devui-accordion-item-title>.devui-accordion-splitter:before{top:0}.devui-accordion-list>.devui-accordion-item:last-child>.devui-accordion-item-title>a>.devui-accordion-splitter,.devui-accordion-list>.devui-accordion-item:last-child>.devui-accordion-item-title>.devui-accordion-splitter,.devui-accordion-list>.devui-accordion-item:last-child>.devui-accordion-menu-item>.devui-accordion-item-title>a>.devui-accordion-splitter,.devui-accordion-list>.devui-accordion-item:last-child>.devui-accordion-menu-item>.devui-accordion-item-title>.devui-accordion-splitter{height:28px;top:0}.devui-accordion-list>.devui-accordion-item:last-child>.devui-accordion-item-title>a>.devui-accordion-splitter:before,.devui-accordion-list>.devui-accordion-item:last-child>.devui-accordion-item-title>.devui-accordion-splitter:before,.devui-accordion-list>.devui-accordion-item:last-child>.devui-accordion-menu-item>.devui-accordion-item-title>a>.devui-accordion-splitter:before,.devui-accordion-list>.devui-accordion-item:last-child>.devui-accordion-menu-item>.devui-accordion-item-title>.devui-accordion-splitter:before{top:initial;bottom:0}.devui-accordion-list>.devui-accordion-item:last-child:first-child>.devui-accordion-item-title>a>.devui-accordion-splitter,.devui-accordion-list>.devui-accordion-item:last-child:first-child>.devui-accordion-item-title>.devui-accordion-splitter,.devui-accordion-list>.devui-accordion-item:last-child:first-child>.devui-accordion-menu-item>.devui-accordion-item-title>a>.devui-accordion-splitter,.devui-accordion-list>.devui-accordion-item:last-child:first-child>.devui-accordion-menu-item>.devui-accordion-item-title>.devui-accordion-splitter{height:18px;top:11px}.devui-accordion-item>a{padding:0 10px 0 20px;color:var(--devui-text-weak, #575d6c);display:block;text-decoration:none;width:100%}.devui-accordion-item-title .tag-done{display:inline-block;height:18px;min-height:20px;padding:0 10px;margin-left:8px;line-height:18px;color:#fa9841;border:solid 1px #fa9841;background:var(--devui-base-bg, #ffffff);font-size:var(--devui-font-size, 12px);border-radius:var(--devui-border-radius, 2px);text-indent:0;cursor:default}
|