persagy-vant 0.0.34 → 0.0.36

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 (100) hide show
  1. package/es/index.d.ts +1 -1
  2. package/es/index.mjs +1 -1
  3. package/es/label/Label.d.ts +11 -1
  4. package/es/label/Label.mjs +34 -3
  5. package/es/label/index.css +1 -1
  6. package/es/label/index.d.ts +6 -2
  7. package/es/label/index.less +22 -0
  8. package/es/label/var.less +1 -0
  9. package/es/material-action-bar/MaterialActionBar.d.ts +15 -0
  10. package/es/material-action-bar/MaterialActionBar.mjs +107 -58
  11. package/es/material-action-bar/index.css +1 -1
  12. package/es/material-action-bar/index.d.ts +76 -2
  13. package/es/material-action-bar/index.less +9 -5
  14. package/es/material-action-bar/index.mjs +4 -2
  15. package/es/material-action-bar/style/index.mjs +1 -0
  16. package/es/material-action-bar/style/less.mjs +1 -0
  17. package/es/material-add/MaterialAdd.mjs +0 -1
  18. package/es/material-add/index.css +1 -1
  19. package/es/material-add/style/index.mjs +1 -0
  20. package/es/material-add/style/less.mjs +1 -0
  21. package/es/material-detail/MaterialDetail.mjs +7 -2
  22. package/es/material-display-bar/MaterialDisplayBar.d.ts +2 -1
  23. package/es/material-display-bar/MaterialDisplayBar.mjs +5 -3
  24. package/es/material-display-bar/index.css +1 -1
  25. package/es/material-display-bar/index.d.ts +205 -3
  26. package/es/material-display-bar/index.less +34 -1
  27. package/es/material-display-bar/index.mjs +6 -2
  28. package/es/material-display-bar/var.less +2 -1
  29. package/es/tag/Tag.d.ts +15 -2
  30. package/es/tag/Tag.mjs +20 -3
  31. package/es/tag/index.css +1 -1
  32. package/es/tag/index.d.ts +9 -0
  33. package/es/tag/index.less +45 -1
  34. package/es/tag/var.less +13 -0
  35. package/es/title-bar/TitleBar.d.ts +29 -11
  36. package/es/title-bar/TitleBar.mjs +38 -8
  37. package/es/title-bar/index.css +1 -1
  38. package/es/title-bar/index.d.ts +14 -1
  39. package/es/title-bar/index.less +10 -2
  40. package/es/title-bar/style/index.mjs +2 -0
  41. package/es/title-bar/style/less.mjs +2 -0
  42. package/es/title-bar/var.less +4 -0
  43. package/lib/index.css +1 -1
  44. package/lib/index.d.ts +1 -1
  45. package/lib/index.js +1 -1
  46. package/lib/index.less +1 -1
  47. package/lib/label/Label.d.ts +11 -1
  48. package/lib/label/Label.js +34 -3
  49. package/lib/label/index.css +1 -1
  50. package/lib/label/index.d.ts +6 -2
  51. package/lib/label/index.less +22 -0
  52. package/lib/label/var.less +1 -0
  53. package/lib/material-action-bar/MaterialActionBar.d.ts +15 -0
  54. package/lib/material-action-bar/MaterialActionBar.js +106 -57
  55. package/lib/material-action-bar/index.css +1 -1
  56. package/lib/material-action-bar/index.d.ts +76 -2
  57. package/lib/material-action-bar/index.js +4 -2
  58. package/lib/material-action-bar/index.less +9 -5
  59. package/lib/material-action-bar/style/index.js +1 -0
  60. package/lib/material-action-bar/style/less.js +1 -0
  61. package/lib/material-add/MaterialAdd.js +0 -1
  62. package/lib/material-add/index.css +1 -1
  63. package/lib/material-add/style/index.js +1 -0
  64. package/lib/material-add/style/less.js +1 -0
  65. package/lib/material-detail/MaterialDetail.js +7 -2
  66. package/lib/material-display-bar/MaterialDisplayBar.d.ts +2 -1
  67. package/lib/material-display-bar/MaterialDisplayBar.js +5 -3
  68. package/lib/material-display-bar/index.css +1 -1
  69. package/lib/material-display-bar/index.d.ts +205 -3
  70. package/lib/material-display-bar/index.js +6 -2
  71. package/lib/material-display-bar/index.less +34 -1
  72. package/lib/material-display-bar/var.less +2 -1
  73. package/lib/tag/Tag.d.ts +15 -2
  74. package/lib/tag/Tag.js +20 -3
  75. package/lib/tag/index.css +1 -1
  76. package/lib/tag/index.d.ts +9 -0
  77. package/lib/tag/index.less +45 -1
  78. package/lib/tag/var.less +13 -0
  79. package/lib/title-bar/TitleBar.d.ts +29 -11
  80. package/lib/title-bar/TitleBar.js +38 -8
  81. package/lib/title-bar/index.css +1 -1
  82. package/lib/title-bar/index.d.ts +14 -1
  83. package/lib/title-bar/index.less +10 -2
  84. package/lib/title-bar/style/index.js +2 -0
  85. package/lib/title-bar/style/less.js +2 -0
  86. package/lib/title-bar/var.less +4 -0
  87. package/lib/vant.cjs.js +218 -80
  88. package/lib/vant.es.js +218 -80
  89. package/lib/vant.js +218 -80
  90. package/lib/vant.min.js +1 -1
  91. package/lib/web-types.json +1 -1
  92. package/package.json +1 -1
  93. package/skills/use-persagy-vant/SKILL.md +2 -2
  94. package/skills/use-persagy-vant/references/component-catalog.md +3 -2
  95. package/skills/use-persagy-vant/references/component-documentation.md +1 -1
  96. package/skills/use-persagy-vant/references/component-gap-template.md +3 -0
  97. package/skills/use-persagy-vant/references/design-interaction-baseline.md +1 -0
  98. package/skills/use-persagy-vant/references/page-recipes.md +1 -1
  99. package/skills/use-persagy-vant/references/reuse-policy.md +27 -1
  100. package/skills/use-persagy-vant/references/usage-patterns.md +1 -1
package/lib/vant.cjs.js CHANGED
@@ -4545,7 +4545,11 @@ const tagProps = {
4545
4545
  plain: Boolean,
4546
4546
  round: Boolean,
4547
4547
  textColor: String,
4548
- closeable: Boolean
4548
+ closeable: Boolean,
4549
+ rightIcon: String,
4550
+ number: [String, Number],
4551
+ showNumber: Boolean,
4552
+ numberColor: String
4549
4553
  };
4550
4554
  var stdin_default$1H = vue.defineComponent({
4551
4555
  name: name$1y,
@@ -4579,7 +4583,11 @@ var stdin_default$1H = vue.defineComponent({
4579
4583
  plain,
4580
4584
  round,
4581
4585
  size,
4582
- closeable
4586
+ closeable,
4587
+ rightIcon,
4588
+ number,
4589
+ showNumber,
4590
+ numberColor
4583
4591
  } = props2;
4584
4592
  const classes = {
4585
4593
  mark,
@@ -4594,10 +4602,19 @@ var stdin_default$1H = vue.defineComponent({
4594
4602
  "class": [bem$1u("close"), HAPTICS_FEEDBACK],
4595
4603
  "onClick": onClose
4596
4604
  }, null);
4605
+ const RightIcon = rightIcon && vue.createVNode(Icon, {
4606
+ "name": rightIcon,
4607
+ "class": bem$1u("right-icon")
4608
+ }, null);
4597
4609
  return vue.createVNode("span", {
4598
4610
  "style": getStyle(),
4599
4611
  "class": bem$1u([classes, type])
4600
- }, [(_a = slots.default) == null ? void 0 : _a.call(slots), CloseIcon]);
4612
+ }, [showNumber && number !== void 0 && vue.createVNode("span", {
4613
+ "class": bem$1u("number"),
4614
+ "style": {
4615
+ color: numberColor
4616
+ }
4617
+ }, [number]), (_a = slots.default) == null ? void 0 : _a.call(slots), RightIcon, CloseIcon]);
4601
4618
  };
4602
4619
  return () => vue.createVNode(vue.Transition, {
4603
4620
  "name": props2.closeable ? "van-fade" : void 0
@@ -12069,6 +12086,7 @@ const labelProps = {
12069
12086
  size: makeStringProp("default"),
12070
12087
  contentAlign: makeStringProp("follow"),
12071
12088
  vertical: Boolean,
12089
+ ellipsis: Boolean,
12072
12090
  href: String,
12073
12091
  location: String,
12074
12092
  tags: {
@@ -12083,12 +12101,14 @@ const labelProps = {
12083
12101
  var stdin_default$M = vue.defineComponent({
12084
12102
  name: name$E,
12085
12103
  props: labelProps,
12086
- emits: ["click", "click-media"],
12104
+ emits: ["click", "click-media", "long-press"],
12087
12105
  setup(props2, {
12088
12106
  slots,
12089
12107
  emit
12090
12108
  }) {
12109
+ let longPressTimer;
12091
12110
  const vertical = vue.computed(() => props2.vertical || props2.type === "media");
12111
+ const ellipsis = vue.computed(() => props2.ellipsis && !vertical.value && !["tag", "media"].includes(props2.type));
12092
12112
  const displayLabel = vue.computed(() => {
12093
12113
  var _a;
12094
12114
  const showColon = (_a = props2.showColon) != null ? _a : !vertical.value && props2.contentAlign !== "right";
@@ -12098,6 +12118,25 @@ var stdin_default$M = vue.defineComponent({
12098
12118
  return `${props2.label}:`;
12099
12119
  });
12100
12120
  const showLocation = vue.computed(() => props2.vertical && (props2.type === "bold" || props2.type === "link") && !!props2.location);
12121
+ const clearLongPress = () => {
12122
+ if (longPressTimer !== void 0) {
12123
+ clearTimeout(longPressTimer);
12124
+ longPressTimer = void 0;
12125
+ }
12126
+ };
12127
+ const startLongPress = (target, text) => {
12128
+ if (!ellipsis.value || !text)
12129
+ return;
12130
+ clearLongPress();
12131
+ longPressTimer = setTimeout(() => {
12132
+ longPressTimer = void 0;
12133
+ const payload = {
12134
+ target,
12135
+ text
12136
+ };
12137
+ emit("long-press", payload);
12138
+ }, 500);
12139
+ };
12101
12140
  const renderText = () => {
12102
12141
  var _a;
12103
12142
  const content = ((_a = slots.default) == null ? void 0 : _a.call(slots)) || props2.content;
@@ -12150,13 +12189,22 @@ var stdin_default$M = vue.defineComponent({
12150
12189
  "class": bem$E([props2.type, {
12151
12190
  mini: props2.size === "mini",
12152
12191
  vertical: vertical.value,
12192
+ ellipsis: ellipsis.value,
12153
12193
  location: showLocation.value,
12154
12194
  "content-right": props2.contentAlign === "right"
12155
12195
  }])
12156
12196
  }, [props2.showLabel && vue.createVNode("span", {
12157
- "class": bem$E("label")
12197
+ "class": bem$E("label"),
12198
+ "onPointerdown": () => startLongPress("label", displayLabel.value),
12199
+ "onPointerup": clearLongPress,
12200
+ "onPointercancel": clearLongPress,
12201
+ "onPointerleave": clearLongPress
12158
12202
  }, [displayLabel.value]), props2.showContent && vue.createVNode("div", {
12159
- "class": bem$E("value")
12203
+ "class": bem$E("value"),
12204
+ "onPointerdown": () => startLongPress("content", props2.content),
12205
+ "onPointerup": clearLongPress,
12206
+ "onPointercancel": clearLongPress,
12207
+ "onPointerleave": clearLongPress
12160
12208
  }, [renderContent(), showLocation.value && vue.createVNode("div", {
12161
12209
  "class": bem$E("location")
12162
12210
  }, [vue.createVNode(Icon, {
@@ -13196,14 +13244,20 @@ var stdin_default$E = vue.defineComponent({
13196
13244
  warning: {
13197
13245
  type: String,
13198
13246
  default: ""
13247
+ },
13248
+ picking: {
13249
+ type: Object,
13250
+ default: void 0
13199
13251
  }
13200
13252
  },
13201
13253
  emits: ["update:modelValue", "detail"],
13202
13254
  setup(props2, {
13255
+ slots,
13203
13256
  emit
13204
13257
  }) {
13205
13258
  const showInputDialog = vue.ref(false);
13206
13259
  const inputValue = vue.ref("");
13260
+ let detailLongPressTimer;
13207
13261
  const openInputDialog = () => {
13208
13262
  if (!props2.enableInputDialog)
13209
13263
  return;
@@ -13216,6 +13270,25 @@ var stdin_default$E = vue.defineComponent({
13216
13270
  emit("update:modelValue", Math.max(0, value));
13217
13271
  }
13218
13272
  };
13273
+ const clearDetailLongPress = () => {
13274
+ if (detailLongPressTimer) {
13275
+ clearTimeout(detailLongPressTimer);
13276
+ detailLongPressTimer = void 0;
13277
+ }
13278
+ };
13279
+ const onDetailLongPressStart = (event) => {
13280
+ const target = event.currentTarget;
13281
+ if (target.scrollWidth <= target.clientWidth) {
13282
+ return;
13283
+ }
13284
+ clearDetailLongPress();
13285
+ detailLongPressTimer = setTimeout(() => {
13286
+ Toast({
13287
+ message: props2.item.detail,
13288
+ position: "middle"
13289
+ });
13290
+ }, 500);
13291
+ };
13219
13292
  const highlight = (text) => {
13220
13293
  const query = props2.keyword.trim();
13221
13294
  if (!query)
@@ -13238,67 +13311,91 @@ var stdin_default$E = vue.defineComponent({
13238
13311
  parts.push(text.slice(start));
13239
13312
  return parts;
13240
13313
  };
13241
- return () => vue.createVNode("div", {
13242
- "class": bem$x({
13243
- selected: props2.selected
13244
- })
13245
- }, [vue.createVNode("div", {
13246
- "class": bem$x("main")
13247
- }, [vue.createVNode("button", {
13248
- "type": "button",
13249
- "class": bem$x("detail"),
13250
- "onClick": () => emit("detail", props2.item)
13251
- }, [vue.createVNode("span", null, [highlight(props2.item.name)]), props2.selected && props2.item.kind && vue.createVNode(Tag, {
13252
- "class": bem$x("kind-tag"),
13253
- "color": props2.item.kind === "material" ? "#d9ebff" : "#d9f7f7",
13254
- "textColor": props2.item.kind === "material" ? "var(--van-primary-color)" : "#00aeb3"
13255
- }, {
13256
- default: () => [props2.item.kind === "material" ? "物资" : "工具"]
13257
- }), vue.createVNode(Icon, {
13258
- "name": "arrow",
13259
- "size": "12"
13260
- }, null)]), vue.createVNode("div", {
13261
- "class": bem$x("stepper-wrapper")
13262
- }, [vue.createVNode(Stepper, {
13263
- "class": bem$x("stepper"),
13264
- "modelValue": props2.modelValue,
13265
- "min": 0,
13266
- "theme": "round",
13267
- "buttonSize": 18,
13268
- "disableInput": true,
13269
- "onUpdate:modelValue": (value) => emit("update:modelValue", Number(value))
13270
- }, null), props2.enableInputDialog && vue.createVNode("button", {
13271
- "type": "button",
13272
- "class": bem$x("number-trigger"),
13273
- "aria-label": "输入数量",
13274
- "onClick": openInputDialog
13275
- }, null)]), vue.createVNode("span", {
13276
- "class": bem$x("unit")
13277
- }, [props2.item.unit])]), vue.createVNode("p", {
13278
- "class": bem$x("desc")
13279
- }, [highlight(props2.item.detail)]), props2.showWarning && props2.warning && vue.createVNode("p", {
13280
- "class": bem$x("warning")
13281
- }, [props2.warning]), vue.createVNode(Dialog.Component, {
13282
- "show": showInputDialog.value,
13283
- "inputValue": inputValue.value,
13284
- "inputAlign": "left",
13285
- "title": "输入数量",
13286
- "inputPlaceholder": "请输入数量",
13287
- "inputAutofocus": true,
13288
- "showInput": true,
13289
- "showCancelButton": true,
13290
- "onUpdate:show": (value) => {
13291
- showInputDialog.value = value;
13292
- },
13293
- "onUpdate:inputValue": (value) => {
13294
- inputValue.value = value;
13295
- },
13296
- "onConfirm": confirmInputValue
13297
- }, null)]);
13314
+ vue.onBeforeUnmount(clearDetailLongPress);
13315
+ return () => {
13316
+ var _a, _b, _c, _d, _e;
13317
+ return vue.createVNode("div", {
13318
+ "class": bem$x({
13319
+ selected: props2.selected
13320
+ })
13321
+ }, [vue.createVNode("div", {
13322
+ "class": bem$x("main")
13323
+ }, [vue.createVNode("button", {
13324
+ "type": "button",
13325
+ "class": bem$x("detail"),
13326
+ "onClick": () => emit("detail", props2.item)
13327
+ }, [vue.createVNode("span", null, [highlight(props2.item.name)]), props2.selected && props2.item.kind && vue.createVNode(Tag, {
13328
+ "class": bem$x("kind-tag"),
13329
+ "color": props2.item.kind === "material" ? "#d9ebff" : "#d9f7f7",
13330
+ "textColor": props2.item.kind === "material" ? "var(--van-primary-color)" : "#00aeb3"
13331
+ }, {
13332
+ default: () => [props2.item.kind === "material" ? "物资" : "工具"]
13333
+ }), vue.createVNode(Icon, {
13334
+ "name": "arrow",
13335
+ "size": "12"
13336
+ }, null)]), (((_a = props2.picking) == null ? void 0 : _a.quantityLabel) || slots["stepper-prefix"]) && vue.createVNode("div", {
13337
+ "class": bem$x("stepper-prefix")
13338
+ }, [((_b = props2.picking) == null ? void 0 : _b.quantityLabel) || ((_c = slots["stepper-prefix"]) == null ? void 0 : _c.call(slots))]), vue.createVNode("div", {
13339
+ "class": bem$x("stepper-wrapper")
13340
+ }, [vue.createVNode(Stepper, {
13341
+ "class": bem$x("stepper"),
13342
+ "modelValue": props2.modelValue,
13343
+ "min": 0,
13344
+ "theme": "round",
13345
+ "buttonSize": 18,
13346
+ "disableInput": true,
13347
+ "onUpdate:modelValue": (value) => emit("update:modelValue", Number(value))
13348
+ }, null), props2.enableInputDialog && vue.createVNode("button", {
13349
+ "type": "button",
13350
+ "class": bem$x("number-trigger"),
13351
+ "aria-label": "输入数量",
13352
+ "onClick": openInputDialog
13353
+ }, null)]), vue.createVNode("span", {
13354
+ "class": bem$x("unit")
13355
+ }, [props2.item.unit])]), vue.createVNode("p", {
13356
+ "class": bem$x("desc"),
13357
+ "onTouchstart": onDetailLongPressStart,
13358
+ "onTouchmove": clearDetailLongPress,
13359
+ "onTouchend": clearDetailLongPress,
13360
+ "onTouchcancel": clearDetailLongPress,
13361
+ "onMousedown": onDetailLongPressStart,
13362
+ "onMousemove": clearDetailLongPress,
13363
+ "onMouseup": clearDetailLongPress,
13364
+ "onMouseleave": clearDetailLongPress
13365
+ }, [highlight(props2.item.detail)]), props2.showWarning && props2.warning && vue.createVNode("p", {
13366
+ "class": bem$x("warning")
13367
+ }, [props2.warning]), ((_d = props2.picking) == null ? void 0 : _d.outboundValue) !== void 0 && vue.createVNode("p", {
13368
+ "class": bem$x("picking-outbound")
13369
+ }, [vue.createVNode("span", {
13370
+ "class": bem$x("picking-label")
13371
+ }, [props2.picking.outboundLabel || "应出:"]), vue.createVNode("span", {
13372
+ "class": bem$x("picking-value"),
13373
+ "style": {
13374
+ fontWeight: props2.picking.outboundBold ? 600 : 400
13375
+ }
13376
+ }, [props2.picking.outboundValue])]), (_e = slots.default) == null ? void 0 : _e.call(slots), vue.createVNode(Dialog.Component, {
13377
+ "show": showInputDialog.value,
13378
+ "inputValue": inputValue.value,
13379
+ "inputAlign": "left",
13380
+ "title": "输入数量",
13381
+ "inputPlaceholder": "请输入数量",
13382
+ "inputAutofocus": true,
13383
+ "showInput": true,
13384
+ "showCancelButton": true,
13385
+ "onUpdate:show": (value) => {
13386
+ showInputDialog.value = value;
13387
+ },
13388
+ "onUpdate:inputValue": (value) => {
13389
+ inputValue.value = value;
13390
+ },
13391
+ "onConfirm": confirmInputValue
13392
+ }, null)]);
13393
+ };
13298
13394
  }
13299
13395
  });
13300
- const MaterialActionBar = withInstall(stdin_default$E);
13301
- var stdin_default$D = MaterialActionBar;
13396
+ const MaterialActionList = withInstall(stdin_default$E);
13397
+ const MaterialActionBar = MaterialActionList;
13398
+ var stdin_default$D = MaterialActionList;
13302
13399
  const [name$w, bem$w] = createNamespace("material-detail");
13303
13400
  const defaultImages = ["/dog1.jpg", "/dog2.jpg", "/dog3.jpg"];
13304
13401
  const materialDetailProps = {
@@ -13320,6 +13417,7 @@ var stdin_default$C = vue.defineComponent({
13320
13417
  const usageExpanded = vue.ref(true);
13321
13418
  const noticeExpanded = vue.ref(true);
13322
13419
  const bannerIndex = vue.ref(0);
13420
+ const swipeRef = vue.ref();
13323
13421
  const item = vue.computed(() => props2.item);
13324
13422
  const close = () => emit("update:show", false);
13325
13423
  const infoRows = vue.computed(() => {
@@ -13376,14 +13474,18 @@ var stdin_default$C = vue.defineComponent({
13376
13474
  });
13377
13475
  const displayImages = vue.computed(() => props2.images.length ? props2.images : defaultImages);
13378
13476
  return () => vue.createVNode(vue.Transition, {
13379
- "name": "van-material-detail"
13477
+ "name": "van-material-detail",
13478
+ "onAfterEnter": () => {
13479
+ var _a;
13480
+ return (_a = swipeRef.value) == null ? void 0 : _a.resize();
13481
+ }
13380
13482
  }, {
13381
13483
  default: () => [props2.show && item.value ? vue.createVNode("div", {
13382
13484
  "class": bem$w()
13383
13485
  }, [vue.createVNode("div", {
13384
13486
  "class": bem$w("banner")
13385
13487
  }, [vue.createVNode(Swipe, {
13386
- "loop": false,
13488
+ "ref": swipeRef,
13387
13489
  "showIndicators": false,
13388
13490
  "class": bem$w("swipe"),
13389
13491
  "onChange": (index) => {
@@ -14218,10 +14320,12 @@ var stdin_default$y = vue.defineComponent({
14218
14320
  return;
14219
14321
  return vue.createVNode(Label, {
14220
14322
  "key": `${field.label}-${index}`,
14323
+ "class": bem$t("field"),
14221
14324
  "size": "mini",
14222
14325
  "label": field.label,
14223
14326
  "showLabel": field.showLabel,
14224
14327
  "showContent": field.showContent,
14328
+ "showColon": field.showColon,
14225
14329
  "content": field.content,
14226
14330
  "type": field.type,
14227
14331
  "vertical": field.vertical,
@@ -14237,7 +14341,7 @@ var stdin_default$y = vue.defineComponent({
14237
14341
  route2();
14238
14342
  };
14239
14343
  const renderBar = () => {
14240
- var _a, _b, _c;
14344
+ var _a, _b, _c, _d;
14241
14345
  return vue.createVNode("section", {
14242
14346
  "class": bem$t({
14243
14347
  rounded: props2.rounded
@@ -14259,12 +14363,12 @@ var stdin_default$y = vue.defineComponent({
14259
14363
  "class": bem$t("quantity")
14260
14364
  }, [((_b = slots.quantity) == null ? void 0 : _b.call(slots)) || vue.createVNode(vue.Fragment, null, [props2.quantityLabel && vue.createVNode("span", {
14261
14365
  "class": bem$t("quantity-label")
14262
- }, [props2.quantityLabel]), vue.createVNode("strong", null, [props2.quantity]), props2.unit && vue.createVNode("span", null, [props2.unit])])])]), props2.fields.filter((field) => field.visible !== false).length > 0 && vue.createVNode("div", {
14366
+ }, [props2.quantityLabel]), vue.createVNode("strong", null, [props2.quantity]), props2.unit && vue.createVNode("span", null, [props2.unit])]), (_c = slots["quantity-suffix"]) == null ? void 0 : _c.call(slots)])]), props2.fields.filter((field) => field.visible !== false).length > 0 && vue.createVNode("div", {
14263
14367
  "class": bem$t("fields")
14264
14368
  }, [props2.fields.map(renderField)])]), props2.divider && vue.createVNode(Divider, {
14265
14369
  "hairline": true,
14266
14370
  "class": bem$t("divider")
14267
- }, null), ((_c = slots.default) == null ? void 0 : _c.call(slots)) && vue.createVNode("div", {
14371
+ }, null), ((_d = slots.default) == null ? void 0 : _d.call(slots)) && vue.createVNode("div", {
14268
14372
  "class": bem$t("bottom")
14269
14373
  }, [slots.default()])]);
14270
14374
  };
@@ -14284,7 +14388,9 @@ var stdin_default$y = vue.defineComponent({
14284
14388
  }) : renderBar();
14285
14389
  }
14286
14390
  });
14287
- const MaterialDisplayBar = withInstall(stdin_default$y);
14391
+ const MaterialPreviewList = withInstall(stdin_default$y);
14392
+ const MaterialPreview = MaterialPreviewList;
14393
+ const MaterialDisplayBar = MaterialPreviewList;
14288
14394
  const [name$s, bem$s] = createNamespace("multi-person-select");
14289
14395
  const defaultGroups$1 = [{
14290
14396
  id: "air-conditioning-a",
@@ -17917,6 +18023,8 @@ const titleBarProps = {
17917
18023
  showIcon: Boolean,
17918
18024
  showDescription: Boolean,
17919
18025
  showArrow: Boolean,
18026
+ actionText: makeStringProp("操作"),
18027
+ showAction: Boolean,
17920
18028
  size: makeStringProp("default"),
17921
18029
  expandable: Boolean,
17922
18030
  modelValue: truthProp
@@ -17924,7 +18032,7 @@ const titleBarProps = {
17924
18032
  var stdin_default$9 = vue.defineComponent({
17925
18033
  name: name$4,
17926
18034
  props: titleBarProps,
17927
- emits: ["update:modelValue", "change", "click"],
18035
+ emits: ["update:modelValue", "change", "click", "click-action"],
17928
18036
  setup(props2, {
17929
18037
  slots,
17930
18038
  emit
@@ -17936,6 +18044,21 @@ var stdin_default$9 = vue.defineComponent({
17936
18044
  emit("update:modelValue", value);
17937
18045
  emit("change", value);
17938
18046
  };
18047
+ const onHeaderClick = (event) => {
18048
+ emit("click", event);
18049
+ toggle();
18050
+ };
18051
+ const onActionClick = (event) => {
18052
+ event.stopPropagation();
18053
+ emit("click-action", event);
18054
+ };
18055
+ const onHeaderKeydown = (event) => {
18056
+ if (event.key === "Enter" || event.key === " ") {
18057
+ event.preventDefault();
18058
+ emit("click", event);
18059
+ toggle();
18060
+ }
18061
+ };
17939
18062
  return () => {
17940
18063
  var _a, _b, _c;
17941
18064
  return vue.createVNode("section", {
@@ -17943,20 +18066,32 @@ var stdin_default$9 = vue.defineComponent({
17943
18066
  mini: props2.size === "mini",
17944
18067
  expandable: props2.expandable
17945
18068
  })
17946
- }, [vue.createVNode("button", {
17947
- "type": "button",
18069
+ }, [vue.createVNode("div", {
17948
18070
  "class": bem$4("header"),
18071
+ "role": "button",
18072
+ "tabindex": "0",
17949
18073
  "aria-expanded": props2.expandable ? props2.modelValue : void 0,
17950
- "onClick": (event) => {
17951
- emit("click", event);
17952
- toggle();
17953
- }
18074
+ "onClick": onHeaderClick,
18075
+ "onKeydown": onHeaderKeydown
17954
18076
  }, [props2.showIcon && props2.icon && vue.createVNode(Icon, {
17955
18077
  "name": props2.icon,
17956
18078
  "class": bem$4("icon")
17957
18079
  }, null), vue.createVNode("span", {
17958
18080
  "class": bem$4("text")
17959
- }, [vue.createVNode("strong", null, [((_a = slots.title) == null ? void 0 : _a.call(slots)) || props2.title]), props2.size !== "mini" && props2.showDescription && props2.description && vue.createVNode("span", null, [((_b = slots.description) == null ? void 0 : _b.call(slots)) || props2.description])]), (props2.showArrow || props2.expandable) && vue.createVNode(Icon, {
18081
+ }, [vue.createVNode("span", {
18082
+ "class": bem$4("title-row")
18083
+ }, [vue.createVNode("strong", null, [((_a = slots.title) == null ? void 0 : _a.call(slots)) || props2.title]), props2.showAction && props2.actionText && vue.createVNode("span", {
18084
+ "class": bem$4("action")
18085
+ }, [vue.createVNode("i", {
18086
+ "class": bem$4("action-divider")
18087
+ }, null), vue.createVNode(Button, {
18088
+ "type": "text",
18089
+ "size": "small",
18090
+ "text": props2.actionText,
18091
+ "onClick": onActionClick
18092
+ }, null)])]), props2.size !== "mini" && props2.showDescription && props2.description && vue.createVNode("span", {
18093
+ "class": bem$4("description")
18094
+ }, [((_b = slots.description) == null ? void 0 : _b.call(slots)) || props2.description])]), (props2.showArrow || props2.expandable) && vue.createVNode(Icon, {
17960
18095
  "name": "arrow-up",
17961
18096
  "class": bem$4("arrow", {
17962
18097
  expanded: props2.expandable && props2.modelValue
@@ -20215,7 +20350,7 @@ const Lazyload = {
20215
20350
  });
20216
20351
  }
20217
20352
  };
20218
- const version = "0.0.34";
20353
+ const version = "0.0.36";
20219
20354
  function install(app) {
20220
20355
  const components = [
20221
20356
  ActionBar,
@@ -20405,9 +20540,12 @@ exports.Loading = Loading;
20405
20540
  exports.Locale = Locale;
20406
20541
  exports.LocationSelect = LocationSelect;
20407
20542
  exports.MaterialActionBar = MaterialActionBar;
20543
+ exports.MaterialActionList = MaterialActionList;
20408
20544
  exports.MaterialAdd = MaterialAdd;
20409
20545
  exports.MaterialDetail = MaterialDetail;
20410
20546
  exports.MaterialDisplayBar = MaterialDisplayBar;
20547
+ exports.MaterialPreview = MaterialPreview;
20548
+ exports.MaterialPreviewList = MaterialPreviewList;
20411
20549
  exports.MultiPersonSelect = MultiPersonSelect;
20412
20550
  exports.NavBar = NavBar;
20413
20551
  exports.NoticeBar = NoticeBar;