persagy-vant 0.0.36 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/es/area/style/index.mjs +2 -0
  2. package/es/area/style/less.mjs +2 -0
  3. package/es/cell/Cell.d.ts +9 -0
  4. package/es/cell/Cell.mjs +15 -3
  5. package/es/cell/index.css +1 -1
  6. package/es/cell/index.d.ts +6 -1
  7. package/es/cell/index.less +24 -2
  8. package/es/cell/var.less +6 -0
  9. package/es/cell-group/CellGroup.d.ts +4 -0
  10. package/es/cell-group/CellGroup.mjs +4 -2
  11. package/es/cell-group/index.css +1 -1
  12. package/es/cell-group/index.d.ts +3 -0
  13. package/es/cell-group/index.less +27 -0
  14. package/es/cell-group/var.less +3 -0
  15. package/es/collapse-item/CollapseItem.d.ts +7 -0
  16. package/es/collapse-item/index.d.ts +5 -0
  17. package/es/field/Field.d.ts +7 -0
  18. package/es/field/index.d.ts +5 -0
  19. package/es/icon/Icon.mjs +7 -4
  20. package/es/icon/assets/copy.svg +4 -0
  21. package/es/icon/config.d.ts +1 -0
  22. package/es/icon/config.mjs +1 -0
  23. package/es/icon/gif.d.ts +6 -0
  24. package/es/icon/gif.mjs +9 -0
  25. package/es/icon/index.css +1 -1
  26. package/es/icon/index.d.ts +2 -0
  27. package/es/icon/index.mjs +4 -1
  28. package/es/icon/latest-iconfont.css +1 -1
  29. package/es/icon/latest-iconfont.less +11 -0
  30. package/es/index.d.ts +1 -1
  31. package/es/index.mjs +1 -1
  32. package/es/info-card/InfoCard.d.ts +31 -0
  33. package/es/info-card/InfoCard.mjs +45 -3
  34. package/es/info-card/index.css +1 -1
  35. package/es/info-card/index.d.ts +22 -1
  36. package/es/info-card/index.less +57 -0
  37. package/es/info-card/var.less +1 -1
  38. package/es/label/Label.d.ts +21 -0
  39. package/es/label/Label.mjs +12 -2
  40. package/es/label/index.css +1 -1
  41. package/es/label/index.d.ts +15 -0
  42. package/es/label/index.less +27 -0
  43. package/es/label/var.less +1 -0
  44. package/es/list/style/index.mjs +2 -0
  45. package/es/list/style/less.mjs +2 -0
  46. package/es/loading/Loading.mjs +8 -26
  47. package/es/loading/index.css +1 -1
  48. package/es/loading/index.less +1 -1
  49. package/es/loading/style/index.mjs +2 -0
  50. package/es/loading/style/less.mjs +2 -0
  51. package/es/material-action-bar/index.css +1 -1
  52. package/es/material-action-bar/index.less +3 -1
  53. package/es/material-add/MaterialAdd.mjs +158 -63
  54. package/es/material-add/index.css +1 -1
  55. package/es/material-add/index.d.ts +1 -1
  56. package/es/material-add/index.less +0 -14
  57. package/es/material-add/types.d.ts +7 -4
  58. package/es/material-detail/MaterialDetail.mjs +14 -9
  59. package/es/material-display-bar/index.css +1 -1
  60. package/es/material-display-bar/index.less +2 -1
  61. package/es/material-display-bar/var.less +1 -0
  62. package/es/number-keyboard/style/index.mjs +2 -0
  63. package/es/number-keyboard/style/less.mjs +2 -0
  64. package/es/object-select/ObjectSelect.mjs +13 -1
  65. package/es/picker/style/index.mjs +2 -0
  66. package/es/picker/style/less.mjs +2 -0
  67. package/es/progress/Progress.d.ts +17 -0
  68. package/es/progress/Progress.mjs +14 -9
  69. package/es/progress/index.css +1 -1
  70. package/es/progress/index.d.ts +12 -1
  71. package/es/progress/index.less +24 -14
  72. package/es/progress/types.d.ts +1 -0
  73. package/es/progress/var.less +10 -7
  74. package/es/pull-refresh/style/index.mjs +2 -0
  75. package/es/pull-refresh/style/less.mjs +2 -0
  76. package/es/style/base.css +1 -1
  77. package/es/style/base.less +5 -0
  78. package/es/style/css-variables.css +1 -1
  79. package/es/style/css-variables.less +1 -0
  80. package/es/style/var.less +1 -0
  81. package/es/switch/style/index.mjs +2 -0
  82. package/es/switch/style/less.mjs +2 -0
  83. package/es/title-bar/TitleBar.d.ts +5 -1
  84. package/es/title-bar/TitleBar.mjs +5 -3
  85. package/es/title-bar/index.css +1 -1
  86. package/es/title-bar/index.d.ts +4 -1
  87. package/es/title-bar/index.less +6 -1
  88. package/es/title-bar/var.less +2 -0
  89. package/es/tree-select/TreeSelect.mjs +9 -4
  90. package/es/tree-select/index.css +1 -1
  91. package/es/tree-select/index.less +29 -1
  92. package/es/uploader/Uploader.d.ts +7 -0
  93. package/es/uploader/Uploader.mjs +55 -30
  94. package/es/uploader/UploaderPreviewItem.d.ts +2 -1
  95. package/es/uploader/UploaderPreviewItem.mjs +13 -6
  96. package/es/uploader/index.css +1 -1
  97. package/es/uploader/index.d.ts +5 -0
  98. package/es/uploader/index.less +30 -0
  99. package/es/uploader/types.d.ts +1 -0
  100. package/es/uploader/utils.d.ts +2 -0
  101. package/es/uploader/utils.mjs +74 -0
  102. package/es/uploader/var.less +5 -0
  103. package/es/work-order-card/WorkOrderCard.mjs +52 -11
  104. package/es/work-order-card/index.css +1 -1
  105. package/es/work-order-card/index.less +3 -4
  106. package/es/work-order-card/style/index.mjs +2 -0
  107. package/es/work-order-card/style/less.mjs +2 -0
  108. package/es/work-order-card/types.d.ts +14 -1
  109. package/lib/area/style/index.js +2 -0
  110. package/lib/area/style/less.js +2 -0
  111. package/lib/cell/Cell.d.ts +9 -0
  112. package/lib/cell/Cell.js +15 -3
  113. package/lib/cell/index.css +1 -1
  114. package/lib/cell/index.d.ts +6 -1
  115. package/lib/cell/index.less +24 -2
  116. package/lib/cell/var.less +6 -0
  117. package/lib/cell-group/CellGroup.d.ts +4 -0
  118. package/lib/cell-group/CellGroup.js +4 -2
  119. package/lib/cell-group/index.css +1 -1
  120. package/lib/cell-group/index.d.ts +3 -0
  121. package/lib/cell-group/index.less +27 -0
  122. package/lib/cell-group/var.less +3 -0
  123. package/lib/collapse-item/CollapseItem.d.ts +7 -0
  124. package/lib/collapse-item/index.d.ts +5 -0
  125. package/lib/field/Field.d.ts +7 -0
  126. package/lib/field/index.d.ts +5 -0
  127. package/lib/icon/Icon.js +7 -4
  128. package/lib/icon/assets/copy.svg +4 -0
  129. package/lib/icon/config.d.ts +1 -0
  130. package/lib/icon/config.js +1 -0
  131. package/lib/icon/gif.d.ts +6 -0
  132. package/lib/icon/gif.js +28 -0
  133. package/lib/icon/index.css +1 -1
  134. package/lib/icon/index.d.ts +2 -0
  135. package/lib/icon/index.js +4 -1
  136. package/lib/icon/latest-iconfont.css +1 -1
  137. package/lib/icon/latest-iconfont.less +11 -0
  138. package/lib/index.css +1 -1
  139. package/lib/index.d.ts +1 -1
  140. package/lib/index.js +1 -1
  141. package/lib/info-card/InfoCard.d.ts +31 -0
  142. package/lib/info-card/InfoCard.js +45 -3
  143. package/lib/info-card/index.css +1 -1
  144. package/lib/info-card/index.d.ts +22 -1
  145. package/lib/info-card/index.less +57 -0
  146. package/lib/info-card/var.less +1 -1
  147. package/lib/label/Label.d.ts +21 -0
  148. package/lib/label/Label.js +12 -2
  149. package/lib/label/index.css +1 -1
  150. package/lib/label/index.d.ts +15 -0
  151. package/lib/label/index.less +27 -0
  152. package/lib/label/var.less +1 -0
  153. package/lib/list/style/index.js +2 -0
  154. package/lib/list/style/less.js +2 -0
  155. package/lib/loading/Loading.js +8 -26
  156. package/lib/loading/index.css +1 -1
  157. package/lib/loading/index.less +1 -1
  158. package/lib/loading/style/index.js +2 -0
  159. package/lib/loading/style/less.js +2 -0
  160. package/lib/material-action-bar/index.css +1 -1
  161. package/lib/material-action-bar/index.less +3 -1
  162. package/lib/material-add/MaterialAdd.js +158 -63
  163. package/lib/material-add/index.css +1 -1
  164. package/lib/material-add/index.d.ts +1 -1
  165. package/lib/material-add/index.less +0 -14
  166. package/lib/material-add/types.d.ts +7 -4
  167. package/lib/material-detail/MaterialDetail.js +14 -9
  168. package/lib/material-display-bar/index.css +1 -1
  169. package/lib/material-display-bar/index.less +2 -1
  170. package/lib/material-display-bar/var.less +1 -0
  171. package/lib/number-keyboard/style/index.js +2 -0
  172. package/lib/number-keyboard/style/less.js +2 -0
  173. package/lib/object-select/ObjectSelect.js +13 -1
  174. package/lib/picker/style/index.js +2 -0
  175. package/lib/picker/style/less.js +2 -0
  176. package/lib/progress/Progress.d.ts +17 -0
  177. package/lib/progress/Progress.js +13 -8
  178. package/lib/progress/index.css +1 -1
  179. package/lib/progress/index.d.ts +12 -1
  180. package/lib/progress/index.less +24 -14
  181. package/lib/progress/types.d.ts +1 -0
  182. package/lib/progress/var.less +10 -7
  183. package/lib/pull-refresh/style/index.js +2 -0
  184. package/lib/pull-refresh/style/less.js +2 -0
  185. package/lib/style/base.css +1 -1
  186. package/lib/style/base.less +5 -0
  187. package/lib/style/css-variables.css +1 -1
  188. package/lib/style/css-variables.less +1 -0
  189. package/lib/style/var.less +1 -0
  190. package/lib/switch/style/index.js +2 -0
  191. package/lib/switch/style/less.js +2 -0
  192. package/lib/title-bar/TitleBar.d.ts +5 -1
  193. package/lib/title-bar/TitleBar.js +5 -3
  194. package/lib/title-bar/index.css +1 -1
  195. package/lib/title-bar/index.d.ts +4 -1
  196. package/lib/title-bar/index.less +6 -1
  197. package/lib/title-bar/var.less +2 -0
  198. package/lib/tree-select/TreeSelect.js +9 -4
  199. package/lib/tree-select/index.css +1 -1
  200. package/lib/tree-select/index.less +29 -1
  201. package/lib/uploader/Uploader.d.ts +7 -0
  202. package/lib/uploader/Uploader.js +53 -28
  203. package/lib/uploader/UploaderPreviewItem.d.ts +2 -1
  204. package/lib/uploader/UploaderPreviewItem.js +12 -5
  205. package/lib/uploader/index.css +1 -1
  206. package/lib/uploader/index.d.ts +5 -0
  207. package/lib/uploader/index.less +30 -0
  208. package/lib/uploader/types.d.ts +1 -0
  209. package/lib/uploader/utils.d.ts +2 -0
  210. package/lib/uploader/utils.js +74 -0
  211. package/lib/uploader/var.less +5 -0
  212. package/lib/vant.cjs.js +482 -170
  213. package/lib/vant.es.js +482 -170
  214. package/lib/vant.js +482 -170
  215. package/lib/vant.min.js +1 -1
  216. package/lib/web-types.json +1 -1
  217. package/lib/work-order-card/WorkOrderCard.js +52 -11
  218. package/lib/work-order-card/index.css +1 -1
  219. package/lib/work-order-card/index.less +3 -4
  220. package/lib/work-order-card/style/index.js +2 -0
  221. package/lib/work-order-card/style/less.js +2 -0
  222. package/lib/work-order-card/types.d.ts +14 -1
  223. package/package.json +2 -2
  224. package/skills/use-persagy-vant/SKILL.md +4 -3
  225. package/skills/use-persagy-vant/references/component-documentation.md +8 -8
  226. package/skills/use-persagy-vant/references/component-variant-selection.md +53 -0
  227. package/skills/use-persagy-vant/references/design-interaction-baseline.md +2 -1
  228. package/skills/use-persagy-vant/references/page-recipes.md +4 -0
  229. package/skills/use-persagy-vant/references/reuse-policy.md +9 -6
  230. /package/es/{loading/assets/building.gif → icon/assets/gif/loading-building.gif} +0 -0
  231. /package/lib/{loading/assets/building.gif → icon/assets/gif/loading-building.gif} +0 -0
@@ -3,6 +3,7 @@ import { Button } from "../button/index.mjs";
3
3
  import { createNamespace, makeArrayProp, makeStringProp, truthProp } from "../utils/index.mjs";
4
4
  import { Divider } from "../divider/index.mjs";
5
5
  import { Icon } from "../icon/index.mjs";
6
+ import { Label } from "../label/index.mjs";
6
7
  import { Tag } from "../tag/index.mjs";
7
8
  const [name, bem] = createNamespace("work-order-card");
8
9
  const props = {
@@ -48,12 +49,39 @@ var stdin_default = defineComponent({
48
49
  innerExpanded.value = value;
49
50
  emit("update:expanded", value);
50
51
  };
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])]);
52
+ const resolveInfo = (info) => {
53
+ if (info.label !== void 0 || info.content !== void 0) {
54
+ return {
55
+ label: info.label || "",
56
+ content: info.content || ""
57
+ };
58
+ }
59
+ const text = info.text || "";
60
+ const separatorIndex = text.search(/[::]/);
61
+ return separatorIndex < 0 ? {
62
+ label: "",
63
+ content: text
64
+ } : {
65
+ label: text.slice(0, separatorIndex),
66
+ content: text.slice(separatorIndex + 1)
67
+ };
68
+ };
69
+ const renderInfo = (info) => {
70
+ const {
71
+ label,
72
+ content
73
+ } = resolveInfo(info);
74
+ return _createVNode("div", {
75
+ "class": bem("info")
76
+ }, [_createVNode(Label, {
77
+ "sameColor": true,
78
+ "showLeftIcon": Boolean(info.icon),
79
+ "leftIcon": info.icon,
80
+ "showLabel": Boolean(label),
81
+ "label": label,
82
+ "content": content
83
+ }, null)]);
84
+ };
57
85
  const renderAction = (action, index) => _createVNode(Button, {
58
86
  "type": "text",
59
87
  "disabled": action.disabled,
@@ -90,16 +118,29 @@ var stdin_default = defineComponent({
90
118
  }, null)]), _createVNode("div", {
91
119
  "class": bem("tags")
92
120
  }, [slots.tags ? slots.tags() : props2.tags.map((tag) => _createVNode(Tag, {
121
+ "type": tag.type,
122
+ "size": tag.size,
93
123
  "color": tag.color,
94
- "textColor": tag.textColor
124
+ "textColor": tag.textColor,
125
+ "plain": tag.plain,
126
+ "round": tag.round,
127
+ "mark": tag.mark,
128
+ "rightIcon": tag.rightIcon,
129
+ "number": tag.number,
130
+ "showNumber": tag.showNumber,
131
+ "numberColor": tag.numberColor
95
132
  }, {
96
133
  default: () => [tag.text]
97
134
  }))]), props2.showLocation && props2.location && _createVNode("div", {
98
135
  "class": bem("location")
99
- }, [_createVNode(Icon, {
100
- "name": "location-o",
101
- "size": "12"
102
- }, null), _createVNode("span", null, [props2.location])]), _createVNode("div", {
136
+ }, [_createVNode(Label, {
137
+ "sameColor": true,
138
+ "ellipsis": true,
139
+ "showLeftIcon": true,
140
+ "leftIcon": "location-o",
141
+ "showLabel": false,
142
+ "content": props2.location
143
+ }, null)]), _createVNode("div", {
103
144
  "class": bem("infos")
104
145
  }, [slots.info ? slots.info() : props2.primaryInfos.map(renderInfo)]), hasExpandedContent() && _createVNode("div", {
105
146
  "class": bem("expanded-wrapper", {
@@ -1 +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:""}
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{margin:8px 10px 0;padding:0 6px;overflow:hidden;background:linear-gradient(90deg,rgba(223,232,243,.7),rgba(223,232,243,0));border-radius:4px}.van-work-order-card__infos{display:flex;flex-direction:column;gap:2px;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{min-width:0}.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:""}
@@ -16,11 +16,10 @@
16
16
  .van-work-order-card:not(.van-work-order-card--expandable) .van-work-order-card__title { overflow: visible; white-space: normal; }
17
17
  .van-work-order-card--expanded .van-work-order-card__arrow { color: var(--van-black); transform: rotate(180deg); }
18
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; }
19
+ .van-work-order-card__location { margin: 8px 10px 0; padding: 0 6px; overflow: hidden; background: linear-gradient(90deg, rgb(223 232 243 / 70%), rgb(223 232 243 / 0%)); border-radius: 4px; }
20
+ .van-work-order-card__infos { display: flex; flex-direction: column; gap: 2px; padding: 8px var(--van-work-order-card-padding) 0; }
22
21
  .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; }
22
+ .van-work-order-card__info { min-width: 0; }
24
23
  .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
24
  .van-work-order-card__expanded-wrapper--visible { grid-template-rows: 1fr; opacity: 1; }
26
25
  .van-work-order-card__expanded-content { min-height: 0; padding: 0 var(--van-work-order-card-padding); overflow: hidden; }
@@ -1,7 +1,9 @@
1
1
  import "../../style/base.css";
2
2
  import "../../badge/index.css";
3
3
  import "../../icon/index.css";
4
+ import "../../image/index.css";
4
5
  import "../../tag/index.css";
6
+ import "../../label/index.css";
5
7
  import "../../loading/index.css";
6
8
  import "../../button/index.css";
7
9
  import "../../divider/index.css";
@@ -1,7 +1,9 @@
1
1
  import "../../style/base.less";
2
2
  import "../../badge/index.less";
3
3
  import "../../icon/index.less";
4
+ import "../../image/index.less";
4
5
  import "../../tag/index.less";
6
+ import "../../label/index.less";
5
7
  import "../../loading/index.less";
6
8
  import "../../button/index.less";
7
9
  import "../../divider/index.less";
@@ -1,12 +1,25 @@
1
+ import type { TagSize, TagType } from '../tag';
1
2
  import type { Numeric } from '../utils';
2
3
  export declare type WorkOrderCardTag = {
3
4
  text: string;
5
+ type?: TagType;
6
+ size?: TagSize;
4
7
  color?: string;
5
8
  textColor?: string;
9
+ plain?: boolean;
10
+ round?: boolean;
11
+ mark?: boolean;
12
+ rightIcon?: string;
13
+ number?: string | number;
14
+ showNumber?: boolean;
15
+ numberColor?: string;
6
16
  };
7
17
  export declare type WorkOrderCardInfo = {
8
18
  icon?: string;
9
- text: string;
19
+ /** @deprecated Prefer label and content for structured field display. */
20
+ text?: string;
21
+ label?: string;
22
+ content?: string;
10
23
  };
11
24
  export declare type WorkOrderCardAction = {
12
25
  text: string;
@@ -1,3 +1,5 @@
1
1
  require("../../style/base.css");
2
+ require("../../badge/index.css");
3
+ require("../../icon/index.css");
2
4
  require("../../loading/index.css");
3
5
  require("../../picker/index.css");
@@ -1,3 +1,5 @@
1
1
  require("../../style/base.less");
2
+ require("../../badge/index.less");
3
+ require("../../icon/index.less");
2
4
  require("../../loading/index.less");
3
5
  require("../../picker/index.less");
@@ -9,6 +9,8 @@ export declare const cellSharedProps: {
9
9
  title: (NumberConstructor | StringConstructor)[];
10
10
  value: (NumberConstructor | StringConstructor)[];
11
11
  label: (NumberConstructor | StringConstructor)[];
12
+ description: (NumberConstructor | StringConstructor)[];
13
+ threeLine: BooleanConstructor;
12
14
  labelSize: (NumberConstructor | StringConstructor)[];
13
15
  avatar: StringConstructor;
14
16
  rightAvatar: StringConstructor;
@@ -61,6 +63,8 @@ declare const cellProps: {
61
63
  title: (NumberConstructor | StringConstructor)[];
62
64
  value: (NumberConstructor | StringConstructor)[];
63
65
  label: (NumberConstructor | StringConstructor)[];
66
+ description: (NumberConstructor | StringConstructor)[];
67
+ threeLine: BooleanConstructor;
64
68
  labelSize: (NumberConstructor | StringConstructor)[];
65
69
  avatar: StringConstructor;
66
70
  rightAvatar: StringConstructor;
@@ -118,6 +122,8 @@ declare const _default: import("vue").DefineComponent<{
118
122
  title: (NumberConstructor | StringConstructor)[];
119
123
  value: (NumberConstructor | StringConstructor)[];
120
124
  label: (NumberConstructor | StringConstructor)[];
125
+ description: (NumberConstructor | StringConstructor)[];
126
+ threeLine: BooleanConstructor;
121
127
  labelSize: (NumberConstructor | StringConstructor)[];
122
128
  avatar: StringConstructor;
123
129
  rightAvatar: StringConstructor;
@@ -173,6 +179,8 @@ declare const _default: import("vue").DefineComponent<{
173
179
  title: (NumberConstructor | StringConstructor)[];
174
180
  value: (NumberConstructor | StringConstructor)[];
175
181
  label: (NumberConstructor | StringConstructor)[];
182
+ description: (NumberConstructor | StringConstructor)[];
183
+ threeLine: BooleanConstructor;
176
184
  labelSize: (NumberConstructor | StringConstructor)[];
177
185
  avatar: StringConstructor;
178
186
  rightAvatar: StringConstructor;
@@ -231,6 +239,7 @@ declare const _default: import("vue").DefineComponent<{
231
239
  replace: boolean;
232
240
  required: boolean;
233
241
  center: boolean;
242
+ threeLine: boolean;
234
243
  noteBold: boolean;
235
244
  noteClickable: boolean;
236
245
  noteReplace: boolean;
package/lib/cell/Cell.js CHANGED
@@ -36,6 +36,8 @@ const cellSharedProps = {
36
36
  title: import_utils.numericProp,
37
37
  value: import_utils.numericProp,
38
38
  label: import_utils.numericProp,
39
+ description: import_utils.numericProp,
40
+ threeLine: Boolean,
39
41
  labelSize: import_utils.numericProp,
40
42
  avatar: String,
41
43
  rightAvatar: String,
@@ -135,6 +137,14 @@ var stdin_default = (0, import_vue.defineComponent)({
135
137
  }, [slots.label ? slots.label() : props.label]);
136
138
  }
137
139
  };
140
+ const renderDescription = () => {
141
+ const showDescription = slots.description || (0, import_utils.isDef)(props.description);
142
+ if (showDescription) {
143
+ return (0, import_vue.createVNode)("div", {
144
+ "class": bem("description")
145
+ }, [slots.description ? slots.description() : props.description]);
146
+ }
147
+ };
138
148
  const renderTitle = () => {
139
149
  if (slots.title || (0, import_utils.isDef)(props.title)) {
140
150
  return (0, import_vue.createVNode)("div", {
@@ -142,7 +152,7 @@ var stdin_default = (0, import_vue.defineComponent)({
142
152
  "style": props.titleStyle
143
153
  }, [(0, import_vue.createVNode)("div", {
144
154
  "class": bem("title-row")
145
- }, [slots.title ? slots.title() : (0, import_vue.createVNode)("span", null, [props.title]), renderTags(), renderTitleIcon()]), renderLabel()]);
155
+ }, [slots.title ? slots.title() : (0, import_vue.createVNode)("span", null, [props.title]), renderTags(), renderTitleIcon()]), renderLabel(), props.threeLine && renderDescription()]);
146
156
  }
147
157
  };
148
158
  const renderValue = () => {
@@ -330,7 +340,8 @@ var stdin_default = (0, import_vue.defineComponent)({
330
340
  isLink,
331
341
  required,
332
342
  rightIcon,
333
- titleBold
343
+ titleBold,
344
+ threeLine
334
345
  } = props;
335
346
  const clickable = (_a2 = props.clickable) != null ? _a2 : isLink || rightIcon === "arrow" || hasSelect("left") || hasSelect("right");
336
347
  const hasBadge = !!slots.badge || (0, import_utils.isDef)(props.badge);
@@ -340,7 +351,8 @@ var stdin_default = (0, import_vue.defineComponent)({
340
351
  required,
341
352
  "title-bold": titleBold,
342
353
  clickable,
343
- borderless: !border
354
+ borderless: !border,
355
+ "three-line": threeLine
344
356
  };
345
357
  if (cellSize) {
346
358
  classes[cellSize] = !!cellSize;
@@ -1 +1 @@
1
- :root{--van-cell-font-size: var(--van-font-size-md);--van-cell-line-height: 24px;--van-cell-vertical-padding: 10px;--van-cell-horizontal-padding: var(--van-padding-md);--van-cell-text-color: var(--van-text-color);--van-cell-background-color: var(--van-background-color-light);--van-cell-border-color: var(--van-border-color);--van-cell-active-color: var(--van-active-color);--van-cell-required-color: var(--van-danger-color);--van-cell-label-color: var(--van-text-color-2);--van-cell-label-font-size: var(--van-font-size-sm);--van-cell-label-line-height: var(--van-line-height-sm);--van-cell-label-margin-top: 2px;--van-cell-value-color: var(--van-text-color-2);--van-cell-icon-size: 16px;--van-cell-right-icon-color: var(--van-gray-6);--van-cell-large-vertical-padding: var(--van-padding-sm);--van-cell-large-title-font-size: var(--van-font-size-lg);--van-cell-large-label-font-size: var(--van-font-size-md);--van-cell-large-value-font-size: 16px;--van-cell-blue-mark-width: 2px}.van-cell{position:relative;display:flex;box-sizing:border-box;width:100%;padding:var(--van-cell-vertical-padding) var(--van-cell-horizontal-padding);overflow:hidden;color:var(--van-cell-text-color);font-size:var(--van-cell-font-size);line-height:var(--van-cell-line-height);background:var(--van-cell-background-color)}.van-cell:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:1px solid var(--van-cell-border-color);transform:scaleY(.5)}.van-cell:last-child:after,.van-cell--borderless:after{display:none}.van-cell-error-border:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:1px solid var(--van-field-input-error-text-color);transform:scaleY(.5)}.van-cell-error-border:last-child:after{display:inline-block}.van-cell__label{margin-top:var(--van-cell-label-margin-top);color:var(--van-cell-label-color);font-size:var(--van-cell-label-font-size);line-height:var(--van-cell-label-line-height)}.van-cell__title,.van-cell__value{flex:1;min-width:0}.van-cell__title-row{display:flex;align-items:center;min-width:0}.van-cell__value{position:relative;overflow:hidden;color:var(--van-cell-value-color);text-align:right;vertical-align:middle;word-wrap:break-word}.van-cell__value--alone{color:var(--van-text-color);text-align:left}.van-cell__left-icon,.van-cell__right-icon,.van-cell__left-select,.van-cell__right-select,.van-cell__title-icon{flex:none;height:var(--van-cell-line-height);font-size:var(--van-cell-icon-size);line-height:var(--van-cell-line-height);display:flex!important;align-items:center;justify-content:center}.van-cell__left-icon{margin-right:var(--van-padding-base)}.van-cell__right-icon{margin-left:var(--van-padding-base);color:var(--van-cell-right-icon-color)}.van-cell__left-select{display:flex;flex:none;align-items:center;align-self:center;margin-right:var(--van-padding-base)}.van-cell__right-select{display:flex;flex:none;align-items:center;align-self:center;margin-left:var(--van-padding-base)}.van-cell__left-avatar,.van-cell__right-avatar{flex:none;width:var(--van-cell-line-height);height:var(--van-cell-line-height);-o-object-fit:cover;object-fit:cover;border:var(--van-border-width-base) solid var(--van-gray-1);border-radius:var(--van-border-radius-md)}.van-cell__left-avatar{margin-right:var(--van-padding-base)}.van-cell__right-avatar{margin-left:var(--van-padding-base)}.van-cell__blue-mark{flex:none;align-self:center;width:var(--van-cell-blue-mark-width);height:var(--van-font-size-sm);margin-right:var(--van-padding-base);background:var(--van-primary-color)}.van-cell__tags{display:flex;flex:none;gap:var(--van-padding-base);margin-left:var(--van-padding-base)}.van-cell__tag{padding:0 var(--van-padding-base);color:var(--van-text-color);font-size:var(--van-font-size-sm);line-height:var(--van-line-height-sm);background:var(--van-gray-2);border-radius:var(--van-border-radius-sm)}.van-cell__title-icon{margin-left:var(--van-padding-base);color:var(--van-text-color-2)}.van-cell__note{align-self:flex-start;flex:none;margin-left:var(--van-padding-base);color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-cell-line-height);white-space:nowrap}.van-cell__note--bold{font-weight:var(--van-font-weight-bold)}.van-cell__note--clickable{padding:0;color:var(--van-primary-color);font-family:inherit;font-size:inherit;line-height:inherit;background:transparent;border:0;cursor:pointer}.van-cell__badge{display:flex;flex:none;align-items:center;align-self:center;margin-left:var(--van-padding-base)}.van-cell__badge>.van-badge{position:static;transform:none}.van-cell--clickable{cursor:pointer}.van-cell--clickable:active{background-color:var(--van-cell-active-color)}.van-cell--required{overflow:visible}.van-cell--required:before{position:absolute;left:var(--van-padding-xs);color:var(--van-cell-required-color);font-size:var(--van-cell-font-size);content:"*"}.van-cell--center{align-items:center}.van-cell--large{padding-top:var(--van-cell-large-vertical-padding);padding-bottom:var(--van-cell-large-vertical-padding)}.van-cell--large .van-cell__title{font-size:var(--van-cell-large-title-font-size)}.van-cell--large .van-cell__label{font-size:var(--van-cell-large-label-font-size);margin-top:var(--van-padding-base)}.van-cell--large .van-cell__value{font-size:var(--van-cell-large-value-font-size)}.van-cell--title-bold .van-cell__title{font-weight:var(--van-font-weight-bold)}
1
+ :root{--van-cell-font-size: var(--van-font-size-md);--van-cell-line-height: 24px;--van-cell-vertical-padding: 10px;--van-cell-horizontal-padding: var(--van-padding-md);--van-cell-text-color: var(--van-text-color);--van-cell-background-color: var(--van-background-color-light);--van-cell-border-color: var(--van-border-color);--van-cell-active-color: var(--van-active-color);--van-cell-required-color: var(--van-danger-color);--van-cell-label-color: var(--van-text-color-2);--van-cell-label-font-size: var(--van-font-size-sm);--van-cell-label-line-height: var(--van-line-height-sm);--van-cell-label-margin-top: 2px;--van-cell-title-value-gap: var(--van-padding-xs);--van-cell-description-color: var(--van-text-color-2);--van-cell-description-font-size: var(--van-font-size-sm);--van-cell-description-line-height: var(--van-line-height-sm);--van-cell-description-margin-top: 2px;--van-cell-value-color: var(--van-text-color-2);--van-cell-icon-size: 16px;--van-cell-right-icon-color: var(--van-gray-6);--van-cell-large-vertical-padding: var(--van-padding-sm);--van-cell-large-title-font-size: var(--van-font-size-lg);--van-cell-large-label-font-size: var(--van-font-size-md);--van-cell-large-description-font-size: var(--van-font-size-md);--van-cell-large-value-font-size: 16px;--van-cell-blue-mark-width: 2px}.van-cell{position:relative;display:flex;box-sizing:border-box;width:100%;padding:var(--van-cell-vertical-padding) var(--van-cell-horizontal-padding);overflow:hidden;color:var(--van-cell-text-color);font-size:var(--van-cell-font-size);line-height:var(--van-cell-line-height);background:var(--van-cell-background-color)}.van-cell:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:1px solid var(--van-cell-border-color);transform:scaleY(.5)}.van-cell:last-child:after,.van-cell--borderless:after{display:none}.van-cell-error-border:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:1px solid var(--van-field-input-error-text-color);transform:scaleY(.5)}.van-cell-error-border:last-child:after{display:inline-block}.van-cell__label{margin-top:var(--van-cell-label-margin-top);color:var(--van-cell-label-color);font-size:var(--van-cell-label-font-size);line-height:var(--van-cell-label-line-height)}.van-cell__description{margin-top:var(--van-cell-description-margin-top);color:var(--van-cell-description-color);font-size:var(--van-cell-description-font-size);line-height:var(--van-cell-description-line-height)}.van-cell__title{flex:1;min-width:0}.van-cell__title-row{display:flex;align-items:center;min-width:0}.van-cell__value{flex:none;min-width:0;margin-left:var(--van-cell-title-value-gap);position:relative;overflow:hidden;color:var(--van-cell-value-color);text-align:right;vertical-align:middle;word-wrap:break-word}.van-cell__value--alone{margin-left:0;color:var(--van-text-color);text-align:left}.van-cell__left-icon,.van-cell__right-icon,.van-cell__left-select,.van-cell__right-select,.van-cell__title-icon{flex:none;height:var(--van-cell-line-height);font-size:var(--van-cell-icon-size);line-height:var(--van-cell-line-height);display:flex!important;align-items:center;justify-content:center}.van-cell__left-icon{margin-right:var(--van-padding-base)}.van-cell__right-icon{margin-left:var(--van-padding-base);color:var(--van-cell-right-icon-color)}.van-cell__left-select{display:flex;flex:none;align-items:center;align-self:center;margin-right:var(--van-padding-base)}.van-cell__right-select{display:flex;flex:none;align-items:center;align-self:center;margin-left:var(--van-padding-base)}.van-cell__left-avatar,.van-cell__right-avatar{flex:none;width:var(--van-cell-line-height);height:var(--van-cell-line-height);-o-object-fit:cover;object-fit:cover;border:var(--van-border-width-base) solid var(--van-gray-1);border-radius:var(--van-border-radius-md)}.van-cell__left-avatar{margin-right:var(--van-padding-base)}.van-cell__right-avatar{margin-left:var(--van-padding-base)}.van-cell__blue-mark{flex:none;align-self:center;width:var(--van-cell-blue-mark-width);height:var(--van-font-size-sm);margin-right:var(--van-padding-base);background:var(--van-primary-color)}.van-cell__tags{display:flex;flex:none;gap:var(--van-padding-base);margin-left:var(--van-padding-base)}.van-cell__tag{padding:0 var(--van-padding-base);color:var(--van-text-color);font-size:var(--van-font-size-sm);line-height:var(--van-line-height-sm);background:var(--van-gray-2);border-radius:var(--van-border-radius-sm)}.van-cell__title-icon{margin-left:var(--van-padding-base);color:var(--van-text-color-2)}.van-cell__note{align-self:flex-start;flex:none;margin-left:var(--van-padding-base);color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-cell-line-height);white-space:nowrap}.van-cell__note--bold{font-weight:var(--van-font-weight-bold)}.van-cell__note--clickable{padding:0;color:var(--van-primary-color);font-family:inherit;font-size:inherit;line-height:inherit;background:transparent;border:0;cursor:pointer}.van-cell__badge{display:flex;flex:none;align-items:center;align-self:center;margin-left:var(--van-padding-base)}.van-cell__badge>.van-badge{position:static;transform:none}.van-cell--clickable{cursor:pointer}.van-cell--clickable:active{background-color:var(--van-cell-active-color)}.van-cell--required{overflow:visible}.van-cell--required:before{position:absolute;left:var(--van-padding-xs);color:var(--van-cell-required-color);font-size:var(--van-cell-font-size);content:"*"}.van-cell--center{align-items:center}.van-cell--large{padding-top:var(--van-cell-large-vertical-padding);padding-bottom:var(--van-cell-large-vertical-padding)}.van-cell--large .van-cell__title{font-size:var(--van-cell-large-title-font-size)}.van-cell--large .van-cell__label{font-size:var(--van-cell-large-label-font-size);margin-top:var(--van-padding-base)}.van-cell--large .van-cell__description{font-size:var(--van-cell-large-description-font-size);margin-top:var(--van-padding-base)}.van-cell--large .van-cell__value{font-size:var(--van-cell-large-value-font-size)}.van-cell--title-bold .van-cell__title{font-weight:var(--van-font-weight-bold)}
@@ -4,6 +4,8 @@ export declare const Cell: import("../utils").WithInstall<import("vue").DefineCo
4
4
  title: (NumberConstructor | StringConstructor)[];
5
5
  value: (NumberConstructor | StringConstructor)[];
6
6
  label: (NumberConstructor | StringConstructor)[];
7
+ description: (NumberConstructor | StringConstructor)[];
8
+ threeLine: BooleanConstructor;
7
9
  labelSize: (NumberConstructor | StringConstructor)[];
8
10
  avatar: StringConstructor;
9
11
  rightAvatar: StringConstructor;
@@ -59,6 +61,8 @@ export declare const Cell: import("../utils").WithInstall<import("vue").DefineCo
59
61
  title: (NumberConstructor | StringConstructor)[];
60
62
  value: (NumberConstructor | StringConstructor)[];
61
63
  label: (NumberConstructor | StringConstructor)[];
64
+ description: (NumberConstructor | StringConstructor)[];
65
+ threeLine: BooleanConstructor;
62
66
  labelSize: (NumberConstructor | StringConstructor)[];
63
67
  avatar: StringConstructor;
64
68
  rightAvatar: StringConstructor;
@@ -117,6 +121,7 @@ export declare const Cell: import("../utils").WithInstall<import("vue").DefineCo
117
121
  replace: boolean;
118
122
  required: boolean;
119
123
  center: boolean;
124
+ threeLine: boolean;
120
125
  noteBold: boolean;
121
126
  noteClickable: boolean;
122
127
  noteReplace: boolean;
@@ -131,7 +136,7 @@ export declare const Cell: import("../utils").WithInstall<import("vue").DefineCo
131
136
  clickable: boolean | null;
132
137
  }>>;
133
138
  export default Cell;
134
- export type { CellSize, CellProps, CellArrowDirection, CellSelectType } from './Cell';
139
+ export type { CellSize, CellProps, CellArrowDirection, CellSelectType, } from './Cell';
135
140
  declare module 'vue' {
136
141
  interface GlobalComponents {
137
142
  VanCell: typeof Cell;
@@ -15,12 +15,18 @@
15
15
  --van-cell-label-font-size: @cell-label-font-size;
16
16
  --van-cell-label-line-height: @cell-label-line-height;
17
17
  --van-cell-label-margin-top: @cell-label-margin-top;
18
+ --van-cell-title-value-gap: @cell-title-value-gap;
19
+ --van-cell-description-color: @cell-description-color;
20
+ --van-cell-description-font-size: @cell-description-font-size;
21
+ --van-cell-description-line-height: @cell-description-line-height;
22
+ --van-cell-description-margin-top: @cell-description-margin-top;
18
23
  --van-cell-value-color: @cell-value-color;
19
24
  --van-cell-icon-size: @cell-icon-size;
20
25
  --van-cell-right-icon-color: @cell-right-icon-color;
21
26
  --van-cell-large-vertical-padding: @cell-large-vertical-padding;
22
27
  --van-cell-large-title-font-size: @cell-large-title-font-size;
23
28
  --van-cell-large-label-font-size: @cell-large-label-font-size;
29
+ --van-cell-large-description-font-size: @cell-large-description-font-size;
24
30
  --van-cell-large-value-font-size: @cell-large-value-font-size;
25
31
  --van-cell-blue-mark-width: @cell-blue-mark-width;
26
32
  }
@@ -59,8 +65,14 @@
59
65
  line-height: var(--van-cell-label-line-height);
60
66
  }
61
67
 
62
- &__title,
63
- &__value {
68
+ &__description {
69
+ margin-top: var(--van-cell-description-margin-top);
70
+ color: var(--van-cell-description-color);
71
+ font-size: var(--van-cell-description-font-size);
72
+ line-height: var(--van-cell-description-line-height);
73
+ }
74
+
75
+ &__title {
64
76
  flex: 1;
65
77
  min-width: 0;
66
78
  }
@@ -72,6 +84,9 @@
72
84
  }
73
85
 
74
86
  &__value {
87
+ flex: none;
88
+ min-width: 0;
89
+ margin-left: var(--van-cell-title-value-gap);
75
90
  position: relative;
76
91
  overflow: hidden;
77
92
  color: var(--van-cell-value-color);
@@ -80,6 +95,7 @@
80
95
  word-wrap: break-word;
81
96
 
82
97
  &--alone {
98
+ margin-left: 0;
83
99
  color: var(--van-text-color);
84
100
  text-align: left;
85
101
  }
@@ -245,6 +261,11 @@
245
261
  margin-top: var(--van-padding-base);
246
262
  }
247
263
 
264
+ .van-cell__description {
265
+ font-size: var(--van-cell-large-description-font-size);
266
+ margin-top: var(--van-padding-base);
267
+ }
268
+
248
269
  .van-cell__value {
249
270
  font-size: var(--van-cell-large-value-font-size);
250
271
  }
@@ -253,4 +274,5 @@
253
274
  &--title-bold {
254
275
  .van-cell__title { font-weight: var(--van-font-weight-bold); }
255
276
  }
277
+
256
278
  }
package/lib/cell/var.less CHANGED
@@ -13,11 +13,17 @@
13
13
  @cell-label-font-size: var(--van-font-size-sm);
14
14
  @cell-label-line-height: var(--van-line-height-sm);
15
15
  @cell-label-margin-top: 2px;
16
+ @cell-title-value-gap: var(--van-padding-xs);
17
+ @cell-description-color: var(--van-text-color-2);
18
+ @cell-description-font-size: var(--van-font-size-sm);
19
+ @cell-description-line-height: var(--van-line-height-sm);
20
+ @cell-description-margin-top: 2px;
16
21
  @cell-value-color: var(--van-text-color-2);
17
22
  @cell-icon-size: 16px;
18
23
  @cell-right-icon-color: var(--van-gray-6);
19
24
  @cell-large-vertical-padding: var(--van-padding-sm);
20
25
  @cell-large-title-font-size: var(--van-font-size-lg);
21
26
  @cell-large-label-font-size: var(--van-font-size-md);
27
+ @cell-large-description-font-size: var(--van-font-size-md);
22
28
  @cell-large-value-font-size: 16px;
23
29
  @cell-blue-mark-width: 2px;
@@ -2,6 +2,7 @@ import { type ExtractPropTypes } from 'vue';
2
2
  declare const cellGroupProps: {
3
3
  title: StringConstructor;
4
4
  inset: BooleanConstructor;
5
+ grayCard: BooleanConstructor;
5
6
  border: {
6
7
  type: BooleanConstructor;
7
8
  default: true;
@@ -11,6 +12,7 @@ export declare type CellGroupProps = ExtractPropTypes<typeof cellGroupProps>;
11
12
  declare const _default: import("vue").DefineComponent<{
12
13
  title: StringConstructor;
13
14
  inset: BooleanConstructor;
15
+ grayCard: BooleanConstructor;
14
16
  border: {
15
17
  type: BooleanConstructor;
16
18
  default: true;
@@ -18,6 +20,7 @@ declare const _default: import("vue").DefineComponent<{
18
20
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
19
21
  title: StringConstructor;
20
22
  inset: BooleanConstructor;
23
+ grayCard: BooleanConstructor;
21
24
  border: {
22
25
  type: BooleanConstructor;
23
26
  default: true;
@@ -25,5 +28,6 @@ declare const _default: import("vue").DefineComponent<{
25
28
  }>>, {
26
29
  border: boolean;
27
30
  inset: boolean;
31
+ grayCard: boolean;
28
32
  }>;
29
33
  export default _default;
@@ -26,6 +26,7 @@ const [name, bem] = (0, import_utils.createNamespace)("cell-group");
26
26
  const cellGroupProps = {
27
27
  title: String,
28
28
  inset: Boolean,
29
+ grayCard: Boolean,
29
30
  border: import_utils.truthProp
30
31
  };
31
32
  var stdin_default = (0, import_vue.defineComponent)({
@@ -40,9 +41,10 @@ var stdin_default = (0, import_vue.defineComponent)({
40
41
  var _a;
41
42
  return (0, import_vue.createVNode)("div", (0, import_vue.mergeProps)({
42
43
  "class": [bem({
43
- inset: props.inset
44
+ inset: props.inset,
45
+ "gray-card": props.grayCard
44
46
  }), {
45
- [import_utils.BORDER_TOP_BOTTOM]: props.border && !props.inset
47
+ [import_utils.BORDER_TOP_BOTTOM]: props.border && !props.inset && !props.grayCard
46
48
  }]
47
49
  }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
48
50
  };
@@ -1 +1 @@
1
- :root{--van-cell-group-background-color: var(--van-background-color-light);--van-cell-group-title-color: var(--van-text-color-2);--van-cell-group-title-padding: var(--van-padding-md) var(--van-padding-md) var(--van-padding-xs);--van-cell-group-title-font-size: var(--van-font-size-md);--van-cell-group-title-line-height: 16px;--van-cell-group-inset-padding: 0 var(--van-padding-md);--van-cell-group-inset-border-radius: var(--van-border-radius-lg);--van-cell-group-inset-title-padding: var(--van-padding-md) var(--van-padding-md) var(--van-padding-xs) var(--van-padding-xl)}.van-cell-group{background:var(--van-cell-group-background-color)}.van-cell-group--inset{margin:var(--van-cell-group-inset-padding);border-radius:var(--van-cell-group-inset-border-radius);overflow:hidden}.van-cell-group__title{padding:var(--van-cell-group-title-padding);color:var(--van-cell-group-title-color);font-size:var(--van-cell-group-title-font-size);line-height:var(--van-cell-group-title-line-height)}.van-cell-group__title--inset{padding:var(--van-cell-group-inset-title-padding)}
1
+ :root{--van-cell-group-background-color: var(--van-background-color-light);--van-cell-group-title-color: var(--van-text-color-2);--van-cell-group-title-padding: var(--van-padding-md) var(--van-padding-md) var(--van-padding-xs);--van-cell-group-title-font-size: var(--van-font-size-md);--van-cell-group-title-line-height: 16px;--van-cell-group-inset-padding: 0 var(--van-padding-md);--van-cell-group-inset-border-radius: var(--van-border-radius-lg);--van-cell-group-inset-title-padding: var(--van-padding-md) var(--van-padding-md) var(--van-padding-xs) var(--van-padding-xl);--van-cell-group-gray-card-padding: var(--van-padding-xs);--van-cell-group-gray-card-background: var(--van-gradient-gray);--van-cell-group-gray-card-cell-background: var(--van-white)}.van-cell-group{background:var(--van-cell-group-background-color)}.van-cell-group--inset{margin:var(--van-cell-group-inset-padding);border-radius:var(--van-cell-group-inset-border-radius);overflow:hidden}.van-cell-group--gray-card{margin:var(--van-cell-group-inset-padding);padding:var(--van-cell-group-gray-card-padding);overflow:hidden;background:var(--van-cell-group-gray-card-background);border-radius:var(--van-cell-group-inset-border-radius)}.van-cell-group--gray-card>.van-cell{background:var(--van-cell-group-gray-card-cell-background)}.van-cell-group--gray-card>.van-cell:first-child{border-radius:var(--van-border-radius-md) var(--van-border-radius-md) 0 0}.van-cell-group--gray-card>.van-cell:last-child{border-radius:0 0 var(--van-border-radius-md) var(--van-border-radius-md)}.van-cell-group--gray-card>.van-cell:only-child{border-radius:var(--van-border-radius-md)}.van-cell-group__title{padding:var(--van-cell-group-title-padding);color:var(--van-cell-group-title-color);font-size:var(--van-cell-group-title-font-size);line-height:var(--van-cell-group-title-line-height)}.van-cell-group__title--inset{padding:var(--van-cell-group-inset-title-padding)}
@@ -1,6 +1,7 @@
1
1
  export declare const CellGroup: import("../utils").WithInstall<import("vue").DefineComponent<{
2
2
  title: StringConstructor;
3
3
  inset: BooleanConstructor;
4
+ grayCard: BooleanConstructor;
4
5
  border: {
5
6
  type: BooleanConstructor;
6
7
  default: true;
@@ -8,6 +9,7 @@ export declare const CellGroup: import("../utils").WithInstall<import("vue").Def
8
9
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
9
10
  title: StringConstructor;
10
11
  inset: BooleanConstructor;
12
+ grayCard: BooleanConstructor;
11
13
  border: {
12
14
  type: BooleanConstructor;
13
15
  default: true;
@@ -15,6 +17,7 @@ export declare const CellGroup: import("../utils").WithInstall<import("vue").Def
15
17
  }>>, {
16
18
  border: boolean;
17
19
  inset: boolean;
20
+ grayCard: boolean;
18
21
  }>>;
19
22
  export default CellGroup;
20
23
  export type { CellGroupProps } from './CellGroup';
@@ -9,6 +9,9 @@
9
9
  --van-cell-group-inset-padding: @cell-group-inset-padding;
10
10
  --van-cell-group-inset-border-radius: @cell-group-inset-border-radius;
11
11
  --van-cell-group-inset-title-padding: @cell-group-inset-title-padding;
12
+ --van-cell-group-gray-card-padding: @cell-group-gray-card-padding;
13
+ --van-cell-group-gray-card-background: @cell-group-gray-card-background;
14
+ --van-cell-group-gray-card-cell-background: @cell-group-gray-card-cell-background;
12
15
  }
13
16
 
14
17
  .van-cell-group {
@@ -20,6 +23,30 @@
20
23
  overflow: hidden;
21
24
  }
22
25
 
26
+ &--gray-card {
27
+ margin: var(--van-cell-group-inset-padding);
28
+ padding: var(--van-cell-group-gray-card-padding);
29
+ overflow: hidden;
30
+ background: var(--van-cell-group-gray-card-background);
31
+ border-radius: var(--van-cell-group-inset-border-radius);
32
+
33
+ > .van-cell {
34
+ background: var(--van-cell-group-gray-card-cell-background);
35
+
36
+ &:first-child {
37
+ border-radius: var(--van-border-radius-md) var(--van-border-radius-md) 0 0;
38
+ }
39
+
40
+ &:last-child {
41
+ border-radius: 0 0 var(--van-border-radius-md) var(--van-border-radius-md);
42
+ }
43
+
44
+ &:only-child {
45
+ border-radius: var(--van-border-radius-md);
46
+ }
47
+ }
48
+ }
49
+
23
50
  &__title {
24
51
  padding: var(--van-cell-group-title-padding);
25
52
  color: var(--van-cell-group-title-color);
@@ -10,3 +10,6 @@
10
10
  @cell-group-inset-border-radius: var(--van-border-radius-lg);
11
11
  @cell-group-inset-title-padding: var(--van-padding-md) var(--van-padding-md)
12
12
  var(--van-padding-xs) var(--van-padding-xl);
13
+ @cell-group-gray-card-padding: var(--van-padding-xs);
14
+ @cell-group-gray-card-background: var(--van-gradient-gray);
15
+ @cell-group-gray-card-cell-background: var(--van-white);
@@ -5,6 +5,8 @@ declare const collapseItemProps: {
5
5
  title: (NumberConstructor | StringConstructor)[];
6
6
  value: (NumberConstructor | StringConstructor)[];
7
7
  label: (NumberConstructor | StringConstructor)[];
8
+ description: (NumberConstructor | StringConstructor)[];
9
+ threeLine: BooleanConstructor;
8
10
  labelSize: (NumberConstructor | StringConstructor)[];
9
11
  avatar: StringConstructor;
10
12
  rightAvatar: StringConstructor;
@@ -70,6 +72,8 @@ declare const _default: import("vue").DefineComponent<{
70
72
  title: (NumberConstructor | StringConstructor)[];
71
73
  value: (NumberConstructor | StringConstructor)[];
72
74
  label: (NumberConstructor | StringConstructor)[];
75
+ description: (NumberConstructor | StringConstructor)[];
76
+ threeLine: BooleanConstructor;
73
77
  labelSize: (NumberConstructor | StringConstructor)[];
74
78
  avatar: StringConstructor;
75
79
  rightAvatar: StringConstructor;
@@ -133,6 +137,8 @@ declare const _default: import("vue").DefineComponent<{
133
137
  title: (NumberConstructor | StringConstructor)[];
134
138
  value: (NumberConstructor | StringConstructor)[];
135
139
  label: (NumberConstructor | StringConstructor)[];
140
+ description: (NumberConstructor | StringConstructor)[];
141
+ threeLine: BooleanConstructor;
136
142
  labelSize: (NumberConstructor | StringConstructor)[];
137
143
  avatar: StringConstructor;
138
144
  rightAvatar: StringConstructor;
@@ -193,6 +199,7 @@ declare const _default: import("vue").DefineComponent<{
193
199
  }>>, {
194
200
  required: boolean;
195
201
  center: boolean;
202
+ threeLine: boolean;
196
203
  noteBold: boolean;
197
204
  noteClickable: boolean;
198
205
  noteReplace: boolean;
@@ -4,6 +4,8 @@ export declare const CollapseItem: import("../utils").WithInstall<import("vue").
4
4
  title: (NumberConstructor | StringConstructor)[];
5
5
  value: (NumberConstructor | StringConstructor)[];
6
6
  label: (NumberConstructor | StringConstructor)[];
7
+ description: (NumberConstructor | StringConstructor)[];
8
+ threeLine: BooleanConstructor;
7
9
  labelSize: (NumberConstructor | StringConstructor)[];
8
10
  avatar: StringConstructor;
9
11
  rightAvatar: StringConstructor;
@@ -67,6 +69,8 @@ export declare const CollapseItem: import("../utils").WithInstall<import("vue").
67
69
  title: (NumberConstructor | StringConstructor)[];
68
70
  value: (NumberConstructor | StringConstructor)[];
69
71
  label: (NumberConstructor | StringConstructor)[];
72
+ description: (NumberConstructor | StringConstructor)[];
73
+ threeLine: BooleanConstructor;
70
74
  labelSize: (NumberConstructor | StringConstructor)[];
71
75
  avatar: StringConstructor;
72
76
  rightAvatar: StringConstructor;
@@ -127,6 +131,7 @@ export declare const CollapseItem: import("../utils").WithInstall<import("vue").
127
131
  }>>, {
128
132
  required: boolean;
129
133
  center: boolean;
134
+ threeLine: boolean;
130
135
  noteBold: boolean;
131
136
  noteClickable: boolean;
132
137
  noteReplace: boolean;