persagy-vant 0.0.25 → 0.0.26
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/es/background/index.css +1 -1
- package/es/background/index.less +10 -0
- package/es/background/types.d.ts +1 -1
- package/es/empty/Empty.mjs +6 -274
- package/es/empty/assets/default.png +0 -0
- package/es/empty/assets/network.png +0 -0
- package/es/empty/index.css +1 -1
- package/es/empty/index.less +19 -1
- package/es/empty/var.less +6 -5
- package/es/field/index.css +1 -1
- package/es/field/var.less +1 -1
- package/es/floor-select/FloorSelect.mjs +3 -0
- package/es/floor-select/index.css +1 -1
- package/es/floor-select/index.less +4 -3
- package/es/index.d.ts +2 -1
- package/es/index.mjs +4 -1
- package/es/radio-panel/RadioPanel.mjs +25 -13
- package/es/sidebar-item/SidebarItem.mjs +1 -2
- package/es/work-order-card/WorkOrderCard.d.ts +145 -0
- package/es/work-order-card/WorkOrderCard.mjs +121 -0
- package/es/work-order-card/index.css +1 -0
- package/es/work-order-card/index.d.ts +107 -0
- package/es/work-order-card/index.less +34 -0
- package/es/work-order-card/index.mjs +8 -0
- package/es/work-order-card/style/index.d.ts +1 -0
- package/es/work-order-card/style/index.mjs +8 -0
- package/es/work-order-card/style/less.d.ts +1 -0
- package/es/work-order-card/style/less.mjs +8 -0
- package/es/work-order-card/types.d.ts +16 -0
- package/es/work-order-card/types.mjs +0 -0
- package/es/work-order-card/var.css +0 -0
- package/es/work-order-card/var.less +6 -0
- package/lib/background/index.css +1 -1
- package/lib/background/index.less +10 -0
- package/lib/background/types.d.ts +1 -1
- package/lib/empty/Empty.js +6 -274
- package/lib/empty/assets/default.png +0 -0
- package/lib/empty/assets/network.png +0 -0
- package/lib/empty/index.css +1 -1
- package/lib/empty/index.less +19 -1
- package/lib/empty/var.less +6 -5
- package/lib/field/index.css +1 -1
- package/lib/field/var.less +1 -1
- package/lib/floor-select/FloorSelect.js +3 -0
- package/lib/floor-select/index.css +1 -1
- package/lib/floor-select/index.less +4 -3
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -1
- package/lib/index.less +1 -0
- package/lib/radio-panel/RadioPanel.js +25 -13
- package/lib/sidebar-item/SidebarItem.js +1 -2
- package/lib/vant.cjs.js +1284 -1424
- package/lib/vant.es.js +1284 -1424
- package/lib/vant.js +1284 -1424
- package/lib/vant.min.js +1 -1
- package/lib/web-types.json +1 -1
- package/lib/work-order-card/WorkOrderCard.d.ts +145 -0
- package/lib/work-order-card/WorkOrderCard.js +140 -0
- package/lib/work-order-card/index.css +1 -0
- package/lib/work-order-card/index.d.ts +107 -0
- package/lib/work-order-card/index.js +37 -0
- package/lib/work-order-card/index.less +34 -0
- package/lib/work-order-card/style/index.d.ts +1 -0
- package/lib/work-order-card/style/index.js +8 -0
- package/lib/work-order-card/style/less.d.ts +1 -0
- package/lib/work-order-card/style/less.js +8 -0
- package/lib/work-order-card/types.d.ts +16 -0
- package/lib/work-order-card/types.js +15 -0
- package/lib/work-order-card/var.css +0 -0
- package/lib/work-order-card/var.less +6 -0
- package/package.json +2 -2
- package/skills/use-persagy-vant/SKILL.md +2 -2
- package/skills/use-persagy-vant/references/business-component-catalog.md +5 -0
- package/skills/use-persagy-vant/references/component-catalog.md +7 -4
- package/skills/use-persagy-vant/references/page-recipes.md +11 -1
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { type ExtractPropTypes } from 'vue';
|
|
2
|
+
import type { WorkOrderCardAction, WorkOrderCardInfo, WorkOrderCardTag } from './types';
|
|
3
|
+
declare const props: {
|
|
4
|
+
title: {
|
|
5
|
+
type: import("vue").PropType<string>;
|
|
6
|
+
default: string;
|
|
7
|
+
};
|
|
8
|
+
expanded: {
|
|
9
|
+
type: () => boolean | undefined;
|
|
10
|
+
default: undefined;
|
|
11
|
+
};
|
|
12
|
+
defaultExpanded: BooleanConstructor;
|
|
13
|
+
expandable: {
|
|
14
|
+
type: BooleanConstructor;
|
|
15
|
+
default: true;
|
|
16
|
+
};
|
|
17
|
+
tags: {
|
|
18
|
+
type: import("vue").PropType<WorkOrderCardTag[]>;
|
|
19
|
+
default: () => never[];
|
|
20
|
+
};
|
|
21
|
+
location: StringConstructor;
|
|
22
|
+
showLocation: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
default: true;
|
|
25
|
+
};
|
|
26
|
+
primaryInfos: {
|
|
27
|
+
type: import("vue").PropType<WorkOrderCardInfo[]>;
|
|
28
|
+
default: () => never[];
|
|
29
|
+
};
|
|
30
|
+
expandedInfos: {
|
|
31
|
+
type: import("vue").PropType<WorkOrderCardInfo[]>;
|
|
32
|
+
default: () => never[];
|
|
33
|
+
};
|
|
34
|
+
actions: {
|
|
35
|
+
type: import("vue").PropType<WorkOrderCardAction[]>;
|
|
36
|
+
default: () => never[];
|
|
37
|
+
};
|
|
38
|
+
overdue: StringConstructor;
|
|
39
|
+
showOverdue: {
|
|
40
|
+
type: BooleanConstructor;
|
|
41
|
+
default: true;
|
|
42
|
+
};
|
|
43
|
+
clickable: BooleanConstructor;
|
|
44
|
+
};
|
|
45
|
+
export declare type WorkOrderCardProps = ExtractPropTypes<typeof props>;
|
|
46
|
+
declare const _default: import("vue").DefineComponent<{
|
|
47
|
+
title: {
|
|
48
|
+
type: import("vue").PropType<string>;
|
|
49
|
+
default: string;
|
|
50
|
+
};
|
|
51
|
+
expanded: {
|
|
52
|
+
type: () => boolean | undefined;
|
|
53
|
+
default: undefined;
|
|
54
|
+
};
|
|
55
|
+
defaultExpanded: BooleanConstructor;
|
|
56
|
+
expandable: {
|
|
57
|
+
type: BooleanConstructor;
|
|
58
|
+
default: true;
|
|
59
|
+
};
|
|
60
|
+
tags: {
|
|
61
|
+
type: import("vue").PropType<WorkOrderCardTag[]>;
|
|
62
|
+
default: () => never[];
|
|
63
|
+
};
|
|
64
|
+
location: StringConstructor;
|
|
65
|
+
showLocation: {
|
|
66
|
+
type: BooleanConstructor;
|
|
67
|
+
default: true;
|
|
68
|
+
};
|
|
69
|
+
primaryInfos: {
|
|
70
|
+
type: import("vue").PropType<WorkOrderCardInfo[]>;
|
|
71
|
+
default: () => never[];
|
|
72
|
+
};
|
|
73
|
+
expandedInfos: {
|
|
74
|
+
type: import("vue").PropType<WorkOrderCardInfo[]>;
|
|
75
|
+
default: () => never[];
|
|
76
|
+
};
|
|
77
|
+
actions: {
|
|
78
|
+
type: import("vue").PropType<WorkOrderCardAction[]>;
|
|
79
|
+
default: () => never[];
|
|
80
|
+
};
|
|
81
|
+
overdue: StringConstructor;
|
|
82
|
+
showOverdue: {
|
|
83
|
+
type: BooleanConstructor;
|
|
84
|
+
default: true;
|
|
85
|
+
};
|
|
86
|
+
clickable: BooleanConstructor;
|
|
87
|
+
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "click-action" | "update:expanded")[], "click" | "click-action" | "update:expanded", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
|
|
88
|
+
title: {
|
|
89
|
+
type: import("vue").PropType<string>;
|
|
90
|
+
default: string;
|
|
91
|
+
};
|
|
92
|
+
expanded: {
|
|
93
|
+
type: () => boolean | undefined;
|
|
94
|
+
default: undefined;
|
|
95
|
+
};
|
|
96
|
+
defaultExpanded: BooleanConstructor;
|
|
97
|
+
expandable: {
|
|
98
|
+
type: BooleanConstructor;
|
|
99
|
+
default: true;
|
|
100
|
+
};
|
|
101
|
+
tags: {
|
|
102
|
+
type: import("vue").PropType<WorkOrderCardTag[]>;
|
|
103
|
+
default: () => never[];
|
|
104
|
+
};
|
|
105
|
+
location: StringConstructor;
|
|
106
|
+
showLocation: {
|
|
107
|
+
type: BooleanConstructor;
|
|
108
|
+
default: true;
|
|
109
|
+
};
|
|
110
|
+
primaryInfos: {
|
|
111
|
+
type: import("vue").PropType<WorkOrderCardInfo[]>;
|
|
112
|
+
default: () => never[];
|
|
113
|
+
};
|
|
114
|
+
expandedInfos: {
|
|
115
|
+
type: import("vue").PropType<WorkOrderCardInfo[]>;
|
|
116
|
+
default: () => never[];
|
|
117
|
+
};
|
|
118
|
+
actions: {
|
|
119
|
+
type: import("vue").PropType<WorkOrderCardAction[]>;
|
|
120
|
+
default: () => never[];
|
|
121
|
+
};
|
|
122
|
+
overdue: StringConstructor;
|
|
123
|
+
showOverdue: {
|
|
124
|
+
type: BooleanConstructor;
|
|
125
|
+
default: true;
|
|
126
|
+
};
|
|
127
|
+
clickable: BooleanConstructor;
|
|
128
|
+
}>> & {
|
|
129
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
130
|
+
"onClick-action"?: ((...args: any[]) => any) | undefined;
|
|
131
|
+
"onUpdate:expanded"?: ((...args: any[]) => any) | undefined;
|
|
132
|
+
}, {
|
|
133
|
+
title: string;
|
|
134
|
+
tags: WorkOrderCardTag[];
|
|
135
|
+
clickable: boolean;
|
|
136
|
+
expanded: boolean | undefined;
|
|
137
|
+
actions: WorkOrderCardAction[];
|
|
138
|
+
expandable: boolean;
|
|
139
|
+
defaultExpanded: boolean;
|
|
140
|
+
showLocation: boolean;
|
|
141
|
+
primaryInfos: WorkOrderCardInfo[];
|
|
142
|
+
expandedInfos: WorkOrderCardInfo[];
|
|
143
|
+
showOverdue: boolean;
|
|
144
|
+
}>;
|
|
145
|
+
export default _default;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { computed, defineComponent, ref, watch, createVNode as _createVNode } from "vue";
|
|
2
|
+
import { Button } from "../button/index.mjs";
|
|
3
|
+
import { createNamespace, makeArrayProp, makeStringProp, truthProp } from "../utils/index.mjs";
|
|
4
|
+
import { Divider } from "../divider/index.mjs";
|
|
5
|
+
import { Icon } from "../icon/index.mjs";
|
|
6
|
+
import { Tag } from "../tag/index.mjs";
|
|
7
|
+
const [name, bem] = createNamespace("work-order-card");
|
|
8
|
+
const props = {
|
|
9
|
+
title: makeStringProp(""),
|
|
10
|
+
expanded: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: void 0
|
|
13
|
+
},
|
|
14
|
+
defaultExpanded: Boolean,
|
|
15
|
+
expandable: truthProp,
|
|
16
|
+
tags: makeArrayProp(),
|
|
17
|
+
location: String,
|
|
18
|
+
showLocation: truthProp,
|
|
19
|
+
primaryInfos: makeArrayProp(),
|
|
20
|
+
expandedInfos: makeArrayProp(),
|
|
21
|
+
actions: makeArrayProp(),
|
|
22
|
+
overdue: String,
|
|
23
|
+
showOverdue: truthProp,
|
|
24
|
+
clickable: Boolean
|
|
25
|
+
};
|
|
26
|
+
var stdin_default = defineComponent({
|
|
27
|
+
name,
|
|
28
|
+
props,
|
|
29
|
+
emits: ["click", "click-action", "update:expanded"],
|
|
30
|
+
setup(props2, {
|
|
31
|
+
emit,
|
|
32
|
+
slots
|
|
33
|
+
}) {
|
|
34
|
+
const innerExpanded = ref(props2.defaultExpanded);
|
|
35
|
+
const isExpanded = computed(() => {
|
|
36
|
+
var _a;
|
|
37
|
+
return (_a = props2.expanded) != null ? _a : innerExpanded.value;
|
|
38
|
+
});
|
|
39
|
+
watch(() => props2.defaultExpanded, (value) => {
|
|
40
|
+
if (props2.expanded === void 0)
|
|
41
|
+
innerExpanded.value = value;
|
|
42
|
+
});
|
|
43
|
+
const toggle = () => {
|
|
44
|
+
if (!props2.expandable)
|
|
45
|
+
return;
|
|
46
|
+
const value = !isExpanded.value;
|
|
47
|
+
if (props2.expanded === void 0)
|
|
48
|
+
innerExpanded.value = value;
|
|
49
|
+
emit("update:expanded", value);
|
|
50
|
+
};
|
|
51
|
+
const renderInfo = (info) => _createVNode("div", {
|
|
52
|
+
"class": bem("info")
|
|
53
|
+
}, [info.icon && _createVNode(Icon, {
|
|
54
|
+
"name": info.icon,
|
|
55
|
+
"size": "12"
|
|
56
|
+
}, null), _createVNode("span", null, [info.text])]);
|
|
57
|
+
const renderAction = (action, index) => _createVNode(Button, {
|
|
58
|
+
"type": "text",
|
|
59
|
+
"disabled": action.disabled,
|
|
60
|
+
"style": {
|
|
61
|
+
"--van-button-primary-background-color": action.color || "var(--van-gray-7)"
|
|
62
|
+
},
|
|
63
|
+
"onClick": (event) => {
|
|
64
|
+
event.stopPropagation();
|
|
65
|
+
emit("click-action", action, index);
|
|
66
|
+
}
|
|
67
|
+
}, {
|
|
68
|
+
default: () => [action.text]
|
|
69
|
+
});
|
|
70
|
+
const hasExpandedContent = () => Boolean(slots.expanded || props2.expandedInfos.length);
|
|
71
|
+
return () => _createVNode("div", {
|
|
72
|
+
"class": [bem(), bem({
|
|
73
|
+
expanded: isExpanded.value,
|
|
74
|
+
expandable: props2.expandable,
|
|
75
|
+
actions: props2.actions.length > 0,
|
|
76
|
+
expandedContent: hasExpandedContent()
|
|
77
|
+
})],
|
|
78
|
+
"onClick": () => props2.clickable && emit("click")
|
|
79
|
+
}, [props2.showOverdue && props2.overdue && _createVNode("div", {
|
|
80
|
+
"class": bem("overdue")
|
|
81
|
+
}, [props2.overdue]), _createVNode("div", {
|
|
82
|
+
"class": bem("header"),
|
|
83
|
+
"onClick": toggle
|
|
84
|
+
}, [_createVNode("div", {
|
|
85
|
+
"class": bem("title")
|
|
86
|
+
}, [slots.title ? slots.title() : props2.title]), props2.expandable && _createVNode(Icon, {
|
|
87
|
+
"name": "trangle-down",
|
|
88
|
+
"size": "16",
|
|
89
|
+
"class": bem("arrow")
|
|
90
|
+
}, null)]), _createVNode("div", {
|
|
91
|
+
"class": bem("tags")
|
|
92
|
+
}, [slots.tags ? slots.tags() : props2.tags.map((tag) => _createVNode(Tag, {
|
|
93
|
+
"color": tag.color,
|
|
94
|
+
"textColor": tag.textColor
|
|
95
|
+
}, {
|
|
96
|
+
default: () => [tag.text]
|
|
97
|
+
}))]), props2.showLocation && props2.location && _createVNode("div", {
|
|
98
|
+
"class": bem("location")
|
|
99
|
+
}, [_createVNode(Icon, {
|
|
100
|
+
"name": "location-o",
|
|
101
|
+
"size": "12"
|
|
102
|
+
}, null), _createVNode("span", null, [props2.location])]), _createVNode("div", {
|
|
103
|
+
"class": bem("infos")
|
|
104
|
+
}, [slots.info ? slots.info() : props2.primaryInfos.map(renderInfo)]), hasExpandedContent() && _createVNode("div", {
|
|
105
|
+
"class": bem("expanded-wrapper", {
|
|
106
|
+
visible: isExpanded.value
|
|
107
|
+
}),
|
|
108
|
+
"aria-hidden": !isExpanded.value
|
|
109
|
+
}, [_createVNode("div", {
|
|
110
|
+
"class": bem("expanded-content")
|
|
111
|
+
}, [_createVNode(Divider, {
|
|
112
|
+
"dashed": true,
|
|
113
|
+
"hairline": true
|
|
114
|
+
}, null), slots.expanded ? slots.expanded() : props2.expandedInfos.map(renderInfo)])]), props2.actions.length > 0 && _createVNode("div", {
|
|
115
|
+
"class": bem("actions")
|
|
116
|
+
}, [props2.actions.map(renderAction)])]);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
export {
|
|
120
|
+
stdin_default as default
|
|
121
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--van-work-order-card-padding: var(--van-padding-md);--van-work-order-card-radius: var(--van-border-radius-lg);--van-work-order-card-title-font-size: 15px;--van-work-order-card-title-color: var(--van-gray-8);--van-work-order-card-info-color: var(--van-gray-7)}.van-work-order-card{position:relative;overflow:hidden;background:var(--van-white);border-radius:var(--van-work-order-card-radius)}.van-work-order-card__header{display:flex;align-items:flex-start;padding:var(--van-work-order-card-padding) var(--van-work-order-card-padding) 0;cursor:pointer}.van-work-order-card__title{flex:1;min-width:0;overflow:hidden;color:var(--van-work-order-card-title-color);font-size:var(--van-work-order-card-title-font-size);font-weight:var(--van-font-weight-bold);line-height:23px;text-overflow:ellipsis;white-space:nowrap}.van-work-order-card__arrow{flex:none;margin:4px 0 0 2px;color:var(--van-gray-6);transition:transform .2s}.van-work-order-card--expanded .van-work-order-card__title{overflow:visible;white-space:normal}.van-work-order-card:not(.van-work-order-card--expandable) .van-work-order-card__title{overflow:visible;white-space:normal}.van-work-order-card--expanded .van-work-order-card__arrow{color:var(--van-black);transform:rotate(180deg)}.van-work-order-card__tags{display:flex;flex-wrap:wrap;gap:4px;padding:8px var(--van-work-order-card-padding) 0}.van-work-order-card__location{display:flex;gap:4px;align-items:center;margin:8px 10px 0;padding:0 6px;overflow:hidden;color:var(--van-gray-8);font-size:13px;line-height:21px;white-space:nowrap;background:linear-gradient(90deg,rgba(223,232,243,.7),rgba(223,232,243,0));border-radius:4px}.van-work-order-card__location span{overflow:hidden;text-overflow:ellipsis}.van-work-order-card__infos{padding:8px var(--van-work-order-card-padding) 0}.van-work-order-card:not(.van-work-order-card--actions):not(.van-work-order-card--expanded-content) .van-work-order-card__infos{padding-bottom:8px}.van-work-order-card__info{display:flex;gap:4px;align-items:center;min-height:21px;color:var(--van-work-order-card-info-color);font-size:13px;line-height:21px}.van-work-order-card__expanded-wrapper{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s cubic-bezier(.2,.8,.2,1),opacity .18s ease}.van-work-order-card__expanded-wrapper--visible{grid-template-rows:1fr;opacity:1}.van-work-order-card__expanded-content{min-height:0;padding:0 var(--van-work-order-card-padding);overflow:hidden}.van-work-order-card:not(.van-work-order-card--actions) .van-work-order-card__expanded-content{padding-bottom:8px}.van-work-order-card__expanded-content .van-divider{margin:4px 0;border-color:var(--van-gray-4)}.van-work-order-card__overdue{position:absolute;top:0;right:0;padding:2px 8px;color:var(--van-white);font-size:10px;line-height:12px;background:var(--van-danger-color);border-radius:0 2px 0 8px}.van-work-order-card__actions{position:relative;display:flex;margin-top:8px;padding-top:1px;--van-button-default-height: 38px;--van-button-default-font-size: var(--van-font-size-md);--van-button-default-line-height: 22px;--van-button-border-radius: 0;--van-button-plain-background-color: transparent}.van-work-order-card__actions:before{position:absolute;top:0;right:var(--van-work-order-card-padding);left:var(--van-work-order-card-padding);height:.5px;background:var(--van-gray-2);content:""}.van-work-order-card__actions .van-button{flex:1}.van-work-order-card__actions .van-button+.van-button{position:relative}.van-work-order-card__actions .van-button+.van-button:after{position:absolute;top:50%;left:0;width:.5px;height:12px;background:var(--van-gray-2);transform:translateY(-50%);content:""}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export declare const WorkOrderCard: import("../utils").WithInstall<import("vue").DefineComponent<{
|
|
2
|
+
title: {
|
|
3
|
+
type: import("vue").PropType<string>;
|
|
4
|
+
default: string;
|
|
5
|
+
};
|
|
6
|
+
expanded: {
|
|
7
|
+
type: () => boolean | undefined;
|
|
8
|
+
default: undefined;
|
|
9
|
+
};
|
|
10
|
+
defaultExpanded: BooleanConstructor;
|
|
11
|
+
expandable: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: true;
|
|
14
|
+
};
|
|
15
|
+
tags: {
|
|
16
|
+
type: import("vue").PropType<import("./types").WorkOrderCardTag[]>;
|
|
17
|
+
default: () => never[];
|
|
18
|
+
};
|
|
19
|
+
location: StringConstructor;
|
|
20
|
+
showLocation: {
|
|
21
|
+
type: BooleanConstructor;
|
|
22
|
+
default: true;
|
|
23
|
+
};
|
|
24
|
+
primaryInfos: {
|
|
25
|
+
type: import("vue").PropType<import("./types").WorkOrderCardInfo[]>;
|
|
26
|
+
default: () => never[];
|
|
27
|
+
};
|
|
28
|
+
expandedInfos: {
|
|
29
|
+
type: import("vue").PropType<import("./types").WorkOrderCardInfo[]>;
|
|
30
|
+
default: () => never[];
|
|
31
|
+
};
|
|
32
|
+
actions: {
|
|
33
|
+
type: import("vue").PropType<import("./types").WorkOrderCardAction[]>;
|
|
34
|
+
default: () => never[];
|
|
35
|
+
};
|
|
36
|
+
overdue: StringConstructor;
|
|
37
|
+
showOverdue: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
default: true;
|
|
40
|
+
};
|
|
41
|
+
clickable: BooleanConstructor;
|
|
42
|
+
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "click-action" | "update:expanded")[], "click" | "click-action" | "update:expanded", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
43
|
+
title: {
|
|
44
|
+
type: import("vue").PropType<string>;
|
|
45
|
+
default: string;
|
|
46
|
+
};
|
|
47
|
+
expanded: {
|
|
48
|
+
type: () => boolean | undefined;
|
|
49
|
+
default: undefined;
|
|
50
|
+
};
|
|
51
|
+
defaultExpanded: BooleanConstructor;
|
|
52
|
+
expandable: {
|
|
53
|
+
type: BooleanConstructor;
|
|
54
|
+
default: true;
|
|
55
|
+
};
|
|
56
|
+
tags: {
|
|
57
|
+
type: import("vue").PropType<import("./types").WorkOrderCardTag[]>;
|
|
58
|
+
default: () => never[];
|
|
59
|
+
};
|
|
60
|
+
location: StringConstructor;
|
|
61
|
+
showLocation: {
|
|
62
|
+
type: BooleanConstructor;
|
|
63
|
+
default: true;
|
|
64
|
+
};
|
|
65
|
+
primaryInfos: {
|
|
66
|
+
type: import("vue").PropType<import("./types").WorkOrderCardInfo[]>;
|
|
67
|
+
default: () => never[];
|
|
68
|
+
};
|
|
69
|
+
expandedInfos: {
|
|
70
|
+
type: import("vue").PropType<import("./types").WorkOrderCardInfo[]>;
|
|
71
|
+
default: () => never[];
|
|
72
|
+
};
|
|
73
|
+
actions: {
|
|
74
|
+
type: import("vue").PropType<import("./types").WorkOrderCardAction[]>;
|
|
75
|
+
default: () => never[];
|
|
76
|
+
};
|
|
77
|
+
overdue: StringConstructor;
|
|
78
|
+
showOverdue: {
|
|
79
|
+
type: BooleanConstructor;
|
|
80
|
+
default: true;
|
|
81
|
+
};
|
|
82
|
+
clickable: BooleanConstructor;
|
|
83
|
+
}>> & {
|
|
84
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
85
|
+
"onClick-action"?: ((...args: any[]) => any) | undefined;
|
|
86
|
+
"onUpdate:expanded"?: ((...args: any[]) => any) | undefined;
|
|
87
|
+
}, {
|
|
88
|
+
title: string;
|
|
89
|
+
tags: import("./types").WorkOrderCardTag[];
|
|
90
|
+
clickable: boolean;
|
|
91
|
+
expanded: boolean | undefined;
|
|
92
|
+
actions: import("./types").WorkOrderCardAction[];
|
|
93
|
+
expandable: boolean;
|
|
94
|
+
defaultExpanded: boolean;
|
|
95
|
+
showLocation: boolean;
|
|
96
|
+
primaryInfos: import("./types").WorkOrderCardInfo[];
|
|
97
|
+
expandedInfos: import("./types").WorkOrderCardInfo[];
|
|
98
|
+
showOverdue: boolean;
|
|
99
|
+
}>>;
|
|
100
|
+
export default WorkOrderCard;
|
|
101
|
+
export type { WorkOrderCardProps } from './WorkOrderCard';
|
|
102
|
+
export type { WorkOrderCardAction, WorkOrderCardInfo, WorkOrderCardTag } from './types';
|
|
103
|
+
declare module 'vue' {
|
|
104
|
+
interface GlobalComponents {
|
|
105
|
+
VanWorkOrderCard: typeof WorkOrderCard;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@import './var.less';
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--van-work-order-card-padding: @work-order-card-padding;
|
|
5
|
+
--van-work-order-card-radius: @work-order-card-radius;
|
|
6
|
+
--van-work-order-card-title-font-size: @work-order-card-title-font-size;
|
|
7
|
+
--van-work-order-card-title-color: @work-order-card-title-color;
|
|
8
|
+
--van-work-order-card-info-color: @work-order-card-info-color;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.van-work-order-card { position: relative; overflow: hidden; background: var(--van-white); border-radius: var(--van-work-order-card-radius); }
|
|
12
|
+
.van-work-order-card__header { display: flex; align-items: flex-start; padding: var(--van-work-order-card-padding) var(--van-work-order-card-padding) 0; cursor: pointer; }
|
|
13
|
+
.van-work-order-card__title { flex: 1; min-width: 0; overflow: hidden; color: var(--van-work-order-card-title-color); font-size: var(--van-work-order-card-title-font-size); font-weight: var(--van-font-weight-bold); line-height: 23px; text-overflow: ellipsis; white-space: nowrap; }
|
|
14
|
+
.van-work-order-card__arrow { flex: none; margin: 4px 0 0 2px; color: var(--van-gray-6); transition: transform .2s; }
|
|
15
|
+
.van-work-order-card--expanded .van-work-order-card__title { overflow: visible; white-space: normal; }
|
|
16
|
+
.van-work-order-card:not(.van-work-order-card--expandable) .van-work-order-card__title { overflow: visible; white-space: normal; }
|
|
17
|
+
.van-work-order-card--expanded .van-work-order-card__arrow { color: var(--van-black); transform: rotate(180deg); }
|
|
18
|
+
.van-work-order-card__tags { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px var(--van-work-order-card-padding) 0; }
|
|
19
|
+
.van-work-order-card__location { display: flex; gap: 4px; align-items: center; margin: 8px 10px 0; padding: 0 6px; overflow: hidden; color: var(--van-gray-8); font-size: 13px; line-height: 21px; white-space: nowrap; background: linear-gradient(90deg, rgb(223 232 243 / 70%), rgb(223 232 243 / 0%)); border-radius: 4px; }
|
|
20
|
+
.van-work-order-card__location span { overflow: hidden; text-overflow: ellipsis; }
|
|
21
|
+
.van-work-order-card__infos { padding: 8px var(--van-work-order-card-padding) 0; }
|
|
22
|
+
.van-work-order-card:not(.van-work-order-card--actions):not(.van-work-order-card--expanded-content) .van-work-order-card__infos { padding-bottom: 8px; }
|
|
23
|
+
.van-work-order-card__info { display: flex; gap: 4px; align-items: center; min-height: 21px; color: var(--van-work-order-card-info-color); font-size: 13px; line-height: 21px; }
|
|
24
|
+
.van-work-order-card__expanded-wrapper { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .24s cubic-bezier(.2, .8, .2, 1), opacity .18s ease; }
|
|
25
|
+
.van-work-order-card__expanded-wrapper--visible { grid-template-rows: 1fr; opacity: 1; }
|
|
26
|
+
.van-work-order-card__expanded-content { min-height: 0; padding: 0 var(--van-work-order-card-padding); overflow: hidden; }
|
|
27
|
+
.van-work-order-card:not(.van-work-order-card--actions) .van-work-order-card__expanded-content { padding-bottom: 8px; }
|
|
28
|
+
.van-work-order-card__expanded-content .van-divider { margin: 4px 0; border-color: var(--van-gray-4); }
|
|
29
|
+
.van-work-order-card__overdue { position: absolute; top: 0; right: 0; padding: 2px 8px; color: var(--van-white); font-size: 10px; line-height: 12px; background: var(--van-danger-color); border-radius: 0 2px 0 8px; }
|
|
30
|
+
.van-work-order-card__actions { position: relative; display: flex; margin-top: 8px; padding-top: 1px; --van-button-default-height: 38px; --van-button-default-font-size: var(--van-font-size-md); --van-button-default-line-height: 22px; --van-button-border-radius: 0; --van-button-plain-background-color: transparent; }
|
|
31
|
+
.van-work-order-card__actions::before { position: absolute; top: 0; right: var(--van-work-order-card-padding); left: var(--van-work-order-card-padding); height: .5px; background: var(--van-gray-2); content: ''; }
|
|
32
|
+
.van-work-order-card__actions .van-button { flex: 1; }
|
|
33
|
+
.van-work-order-card__actions .van-button + .van-button { position: relative; }
|
|
34
|
+
.van-work-order-card__actions .van-button + .van-button::after { position: absolute; top: 50%; left: 0; width: .5px; height: 12px; background: var(--van-gray-2); transform: translateY(-50%); content: ''; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "../../style/base.less";
|
|
2
|
+
import "../../badge/index.less";
|
|
3
|
+
import "../../icon/index.less";
|
|
4
|
+
import "../../tag/index.less";
|
|
5
|
+
import "../../loading/index.less";
|
|
6
|
+
import "../../button/index.less";
|
|
7
|
+
import "../../divider/index.less";
|
|
8
|
+
import "../index.less";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Numeric } from '../utils';
|
|
2
|
+
export declare type WorkOrderCardTag = {
|
|
3
|
+
text: string;
|
|
4
|
+
color?: string;
|
|
5
|
+
textColor?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare type WorkOrderCardInfo = {
|
|
8
|
+
icon?: string;
|
|
9
|
+
text: string;
|
|
10
|
+
};
|
|
11
|
+
export declare type WorkOrderCardAction = {
|
|
12
|
+
text: string;
|
|
13
|
+
color?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare type WorkOrderCardValue = Numeric;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
@import '../style/var.less';
|
|
2
|
+
@work-order-card-padding: var(--van-padding-md);
|
|
3
|
+
@work-order-card-radius: var(--van-border-radius-lg);
|
|
4
|
+
@work-order-card-title-font-size: 15px;
|
|
5
|
+
@work-order-card-title-color: var(--van-gray-8);
|
|
6
|
+
@work-order-card-info-color: var(--van-gray-7);
|
package/lib/background/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--van-background-min-height: 100vh;--van-background-color: var(--van-gray-1);--van-background-size: 100% auto;--van-background-position: top center}.van-background{min-height:var(--van-background-min-height);background-color:var(--van-background-color);background-position:var(--van-background-position);background-repeat:no-repeat;background-size:var(--van-background-size)}.van-background--default{--van-background-image: url(./assets/background-default.png)}.van-background--light{--van-background-image: url(./assets/background-light.png)}.van-background--style-1{--van-background-image: url(./assets/background-style-1.png)}.van-background--style-2{--van-background-image: url(./assets/background-style-2.png)}.van-background--style-3{--van-background-image: url(./assets/background-style-3.png)}.van-background,.van-background[style*=--van-background-image]{background-image:var(--van-background-image)}
|
|
1
|
+
:root{--van-background-min-height: 100vh;--van-background-color: var(--van-gray-1);--van-background-size: 100% auto;--van-background-position: top center}.van-background{min-height:var(--van-background-min-height);background-color:var(--van-background-color);background-position:var(--van-background-position);background-repeat:no-repeat;background-size:var(--van-background-size)}.van-background--default{--van-background-image: url(./assets/background-default.png)}.van-background--light{--van-background-image: url(./assets/background-light.png)}.van-background--solid{--van-background-color: #e4effd;--van-background-image: none}.van-background--gray{--van-background-color: var(--van-grey-200);--van-background-image: none}.van-background--style-1{--van-background-image: url(./assets/background-style-1.png)}.van-background--style-2{--van-background-image: url(./assets/background-style-2.png)}.van-background--style-3{--van-background-image: url(./assets/background-style-3.png)}.van-background,.van-background[style*=--van-background-image]{background-image:var(--van-background-image)}
|
|
@@ -22,6 +22,16 @@
|
|
|
22
22
|
--van-background-image: url('./assets/background-light.png');
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
&--solid {
|
|
26
|
+
--van-background-color: #e4effd;
|
|
27
|
+
--van-background-image: none;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&--gray {
|
|
31
|
+
--van-background-color: var(--van-grey-200);
|
|
32
|
+
--van-background-image: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
25
35
|
&--style-1 {
|
|
26
36
|
--van-background-image: url('./assets/background-style-1.png');
|
|
27
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare type BackgroundTheme = 'default' | 'light' | 'style-1' | 'style-2' | 'style-3';
|
|
1
|
+
export declare type BackgroundTheme = 'default' | 'light' | 'gray' | 'solid' | 'style-1' | 'style-2' | 'style-3';
|