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.js CHANGED
@@ -4889,7 +4889,11 @@
4889
4889
  plain: Boolean,
4890
4890
  round: Boolean,
4891
4891
  textColor: String,
4892
- closeable: Boolean
4892
+ closeable: Boolean,
4893
+ rightIcon: String,
4894
+ number: [String, Number],
4895
+ showNumber: Boolean,
4896
+ numberColor: String
4893
4897
  };
4894
4898
  var stdin_default$1H = vue.defineComponent({
4895
4899
  name: name$1y,
@@ -4923,7 +4927,11 @@
4923
4927
  plain,
4924
4928
  round: round2,
4925
4929
  size,
4926
- closeable
4930
+ closeable,
4931
+ rightIcon,
4932
+ number,
4933
+ showNumber,
4934
+ numberColor
4927
4935
  } = props2;
4928
4936
  const classes = {
4929
4937
  mark,
@@ -4938,10 +4946,19 @@
4938
4946
  "class": [bem$1u("close"), HAPTICS_FEEDBACK],
4939
4947
  "onClick": onClose
4940
4948
  }, null);
4949
+ const RightIcon = rightIcon && vue.createVNode(Icon, {
4950
+ "name": rightIcon,
4951
+ "class": bem$1u("right-icon")
4952
+ }, null);
4941
4953
  return vue.createVNode("span", {
4942
4954
  "style": getStyle(),
4943
4955
  "class": bem$1u([classes, type])
4944
- }, [(_a = slots.default) == null ? void 0 : _a.call(slots), CloseIcon]);
4956
+ }, [showNumber && number !== void 0 && vue.createVNode("span", {
4957
+ "class": bem$1u("number"),
4958
+ "style": {
4959
+ color: numberColor
4960
+ }
4961
+ }, [number]), (_a = slots.default) == null ? void 0 : _a.call(slots), RightIcon, CloseIcon]);
4945
4962
  };
4946
4963
  return () => vue.createVNode(vue.Transition, {
4947
4964
  "name": props2.closeable ? "van-fade" : void 0
@@ -13262,6 +13279,7 @@
13262
13279
  size: makeStringProp("default"),
13263
13280
  contentAlign: makeStringProp("follow"),
13264
13281
  vertical: Boolean,
13282
+ ellipsis: Boolean,
13265
13283
  href: String,
13266
13284
  location: String,
13267
13285
  tags: {
@@ -13276,12 +13294,14 @@
13276
13294
  var stdin_default$M = vue.defineComponent({
13277
13295
  name: name$E,
13278
13296
  props: labelProps,
13279
- emits: ["click", "click-media"],
13297
+ emits: ["click", "click-media", "long-press"],
13280
13298
  setup(props2, {
13281
13299
  slots,
13282
13300
  emit
13283
13301
  }) {
13302
+ let longPressTimer;
13284
13303
  const vertical = vue.computed(() => props2.vertical || props2.type === "media");
13304
+ const ellipsis = vue.computed(() => props2.ellipsis && !vertical.value && !["tag", "media"].includes(props2.type));
13285
13305
  const displayLabel = vue.computed(() => {
13286
13306
  var _a;
13287
13307
  const showColon = (_a = props2.showColon) != null ? _a : !vertical.value && props2.contentAlign !== "right";
@@ -13291,6 +13311,25 @@
13291
13311
  return `${props2.label}:`;
13292
13312
  });
13293
13313
  const showLocation = vue.computed(() => props2.vertical && (props2.type === "bold" || props2.type === "link") && !!props2.location);
13314
+ const clearLongPress = () => {
13315
+ if (longPressTimer !== void 0) {
13316
+ clearTimeout(longPressTimer);
13317
+ longPressTimer = void 0;
13318
+ }
13319
+ };
13320
+ const startLongPress = (target, text) => {
13321
+ if (!ellipsis.value || !text)
13322
+ return;
13323
+ clearLongPress();
13324
+ longPressTimer = setTimeout(() => {
13325
+ longPressTimer = void 0;
13326
+ const payload = {
13327
+ target,
13328
+ text
13329
+ };
13330
+ emit("long-press", payload);
13331
+ }, 500);
13332
+ };
13294
13333
  const renderText = () => {
13295
13334
  var _a;
13296
13335
  const content = ((_a = slots.default) == null ? void 0 : _a.call(slots)) || props2.content;
@@ -13343,13 +13382,22 @@
13343
13382
  "class": bem$E([props2.type, {
13344
13383
  mini: props2.size === "mini",
13345
13384
  vertical: vertical.value,
13385
+ ellipsis: ellipsis.value,
13346
13386
  location: showLocation.value,
13347
13387
  "content-right": props2.contentAlign === "right"
13348
13388
  }])
13349
13389
  }, [props2.showLabel && vue.createVNode("span", {
13350
- "class": bem$E("label")
13390
+ "class": bem$E("label"),
13391
+ "onPointerdown": () => startLongPress("label", displayLabel.value),
13392
+ "onPointerup": clearLongPress,
13393
+ "onPointercancel": clearLongPress,
13394
+ "onPointerleave": clearLongPress
13351
13395
  }, [displayLabel.value]), props2.showContent && vue.createVNode("div", {
13352
- "class": bem$E("value")
13396
+ "class": bem$E("value"),
13397
+ "onPointerdown": () => startLongPress("content", props2.content),
13398
+ "onPointerup": clearLongPress,
13399
+ "onPointercancel": clearLongPress,
13400
+ "onPointerleave": clearLongPress
13353
13401
  }, [renderContent(), showLocation.value && vue.createVNode("div", {
13354
13402
  "class": bem$E("location")
13355
13403
  }, [vue.createVNode(Icon, {
@@ -14389,14 +14437,20 @@
14389
14437
  warning: {
14390
14438
  type: String,
14391
14439
  default: ""
14440
+ },
14441
+ picking: {
14442
+ type: Object,
14443
+ default: void 0
14392
14444
  }
14393
14445
  },
14394
14446
  emits: ["update:modelValue", "detail"],
14395
14447
  setup(props2, {
14448
+ slots,
14396
14449
  emit
14397
14450
  }) {
14398
14451
  const showInputDialog = vue.ref(false);
14399
14452
  const inputValue = vue.ref("");
14453
+ let detailLongPressTimer;
14400
14454
  const openInputDialog = () => {
14401
14455
  if (!props2.enableInputDialog)
14402
14456
  return;
@@ -14409,6 +14463,25 @@
14409
14463
  emit("update:modelValue", Math.max(0, value));
14410
14464
  }
14411
14465
  };
14466
+ const clearDetailLongPress = () => {
14467
+ if (detailLongPressTimer) {
14468
+ clearTimeout(detailLongPressTimer);
14469
+ detailLongPressTimer = void 0;
14470
+ }
14471
+ };
14472
+ const onDetailLongPressStart = (event) => {
14473
+ const target = event.currentTarget;
14474
+ if (target.scrollWidth <= target.clientWidth) {
14475
+ return;
14476
+ }
14477
+ clearDetailLongPress();
14478
+ detailLongPressTimer = setTimeout(() => {
14479
+ Toast({
14480
+ message: props2.item.detail,
14481
+ position: "middle"
14482
+ });
14483
+ }, 500);
14484
+ };
14412
14485
  const highlight = (text) => {
14413
14486
  const query = props2.keyword.trim();
14414
14487
  if (!query)
@@ -14431,67 +14504,91 @@
14431
14504
  parts.push(text.slice(start2));
14432
14505
  return parts;
14433
14506
  };
14434
- return () => vue.createVNode("div", {
14435
- "class": bem$x({
14436
- selected: props2.selected
14437
- })
14438
- }, [vue.createVNode("div", {
14439
- "class": bem$x("main")
14440
- }, [vue.createVNode("button", {
14441
- "type": "button",
14442
- "class": bem$x("detail"),
14443
- "onClick": () => emit("detail", props2.item)
14444
- }, [vue.createVNode("span", null, [highlight(props2.item.name)]), props2.selected && props2.item.kind && vue.createVNode(Tag, {
14445
- "class": bem$x("kind-tag"),
14446
- "color": props2.item.kind === "material" ? "#d9ebff" : "#d9f7f7",
14447
- "textColor": props2.item.kind === "material" ? "var(--van-primary-color)" : "#00aeb3"
14448
- }, {
14449
- default: () => [props2.item.kind === "material" ? "物资" : "工具"]
14450
- }), vue.createVNode(Icon, {
14451
- "name": "arrow",
14452
- "size": "12"
14453
- }, null)]), vue.createVNode("div", {
14454
- "class": bem$x("stepper-wrapper")
14455
- }, [vue.createVNode(Stepper, {
14456
- "class": bem$x("stepper"),
14457
- "modelValue": props2.modelValue,
14458
- "min": 0,
14459
- "theme": "round",
14460
- "buttonSize": 18,
14461
- "disableInput": true,
14462
- "onUpdate:modelValue": (value) => emit("update:modelValue", Number(value))
14463
- }, null), props2.enableInputDialog && vue.createVNode("button", {
14464
- "type": "button",
14465
- "class": bem$x("number-trigger"),
14466
- "aria-label": "输入数量",
14467
- "onClick": openInputDialog
14468
- }, null)]), vue.createVNode("span", {
14469
- "class": bem$x("unit")
14470
- }, [props2.item.unit])]), vue.createVNode("p", {
14471
- "class": bem$x("desc")
14472
- }, [highlight(props2.item.detail)]), props2.showWarning && props2.warning && vue.createVNode("p", {
14473
- "class": bem$x("warning")
14474
- }, [props2.warning]), vue.createVNode(Dialog.Component, {
14475
- "show": showInputDialog.value,
14476
- "inputValue": inputValue.value,
14477
- "inputAlign": "left",
14478
- "title": "输入数量",
14479
- "inputPlaceholder": "请输入数量",
14480
- "inputAutofocus": true,
14481
- "showInput": true,
14482
- "showCancelButton": true,
14483
- "onUpdate:show": (value) => {
14484
- showInputDialog.value = value;
14485
- },
14486
- "onUpdate:inputValue": (value) => {
14487
- inputValue.value = value;
14488
- },
14489
- "onConfirm": confirmInputValue
14490
- }, null)]);
14507
+ vue.onBeforeUnmount(clearDetailLongPress);
14508
+ return () => {
14509
+ var _a, _b, _c, _d, _e;
14510
+ return vue.createVNode("div", {
14511
+ "class": bem$x({
14512
+ selected: props2.selected
14513
+ })
14514
+ }, [vue.createVNode("div", {
14515
+ "class": bem$x("main")
14516
+ }, [vue.createVNode("button", {
14517
+ "type": "button",
14518
+ "class": bem$x("detail"),
14519
+ "onClick": () => emit("detail", props2.item)
14520
+ }, [vue.createVNode("span", null, [highlight(props2.item.name)]), props2.selected && props2.item.kind && vue.createVNode(Tag, {
14521
+ "class": bem$x("kind-tag"),
14522
+ "color": props2.item.kind === "material" ? "#d9ebff" : "#d9f7f7",
14523
+ "textColor": props2.item.kind === "material" ? "var(--van-primary-color)" : "#00aeb3"
14524
+ }, {
14525
+ default: () => [props2.item.kind === "material" ? "物资" : "工具"]
14526
+ }), vue.createVNode(Icon, {
14527
+ "name": "arrow",
14528
+ "size": "12"
14529
+ }, null)]), (((_a = props2.picking) == null ? void 0 : _a.quantityLabel) || slots["stepper-prefix"]) && vue.createVNode("div", {
14530
+ "class": bem$x("stepper-prefix")
14531
+ }, [((_b = props2.picking) == null ? void 0 : _b.quantityLabel) || ((_c = slots["stepper-prefix"]) == null ? void 0 : _c.call(slots))]), vue.createVNode("div", {
14532
+ "class": bem$x("stepper-wrapper")
14533
+ }, [vue.createVNode(Stepper, {
14534
+ "class": bem$x("stepper"),
14535
+ "modelValue": props2.modelValue,
14536
+ "min": 0,
14537
+ "theme": "round",
14538
+ "buttonSize": 18,
14539
+ "disableInput": true,
14540
+ "onUpdate:modelValue": (value) => emit("update:modelValue", Number(value))
14541
+ }, null), props2.enableInputDialog && vue.createVNode("button", {
14542
+ "type": "button",
14543
+ "class": bem$x("number-trigger"),
14544
+ "aria-label": "输入数量",
14545
+ "onClick": openInputDialog
14546
+ }, null)]), vue.createVNode("span", {
14547
+ "class": bem$x("unit")
14548
+ }, [props2.item.unit])]), vue.createVNode("p", {
14549
+ "class": bem$x("desc"),
14550
+ "onTouchstart": onDetailLongPressStart,
14551
+ "onTouchmove": clearDetailLongPress,
14552
+ "onTouchend": clearDetailLongPress,
14553
+ "onTouchcancel": clearDetailLongPress,
14554
+ "onMousedown": onDetailLongPressStart,
14555
+ "onMousemove": clearDetailLongPress,
14556
+ "onMouseup": clearDetailLongPress,
14557
+ "onMouseleave": clearDetailLongPress
14558
+ }, [highlight(props2.item.detail)]), props2.showWarning && props2.warning && vue.createVNode("p", {
14559
+ "class": bem$x("warning")
14560
+ }, [props2.warning]), ((_d = props2.picking) == null ? void 0 : _d.outboundValue) !== void 0 && vue.createVNode("p", {
14561
+ "class": bem$x("picking-outbound")
14562
+ }, [vue.createVNode("span", {
14563
+ "class": bem$x("picking-label")
14564
+ }, [props2.picking.outboundLabel || "应出:"]), vue.createVNode("span", {
14565
+ "class": bem$x("picking-value"),
14566
+ "style": {
14567
+ fontWeight: props2.picking.outboundBold ? 600 : 400
14568
+ }
14569
+ }, [props2.picking.outboundValue])]), (_e = slots.default) == null ? void 0 : _e.call(slots), vue.createVNode(Dialog.Component, {
14570
+ "show": showInputDialog.value,
14571
+ "inputValue": inputValue.value,
14572
+ "inputAlign": "left",
14573
+ "title": "输入数量",
14574
+ "inputPlaceholder": "请输入数量",
14575
+ "inputAutofocus": true,
14576
+ "showInput": true,
14577
+ "showCancelButton": true,
14578
+ "onUpdate:show": (value) => {
14579
+ showInputDialog.value = value;
14580
+ },
14581
+ "onUpdate:inputValue": (value) => {
14582
+ inputValue.value = value;
14583
+ },
14584
+ "onConfirm": confirmInputValue
14585
+ }, null)]);
14586
+ };
14491
14587
  }
14492
14588
  });
14493
- const MaterialActionBar = withInstall(stdin_default$E);
14494
- var stdin_default$D = MaterialActionBar;
14589
+ const MaterialActionList = withInstall(stdin_default$E);
14590
+ const MaterialActionBar = MaterialActionList;
14591
+ var stdin_default$D = MaterialActionList;
14495
14592
  const [name$w, bem$w] = createNamespace("material-detail");
14496
14593
  const defaultImages = ["/dog1.jpg", "/dog2.jpg", "/dog3.jpg"];
14497
14594
  const materialDetailProps = {
@@ -14513,6 +14610,7 @@
14513
14610
  const usageExpanded = vue.ref(true);
14514
14611
  const noticeExpanded = vue.ref(true);
14515
14612
  const bannerIndex = vue.ref(0);
14613
+ const swipeRef = vue.ref();
14516
14614
  const item = vue.computed(() => props2.item);
14517
14615
  const close = () => emit("update:show", false);
14518
14616
  const infoRows = vue.computed(() => {
@@ -14569,14 +14667,18 @@
14569
14667
  });
14570
14668
  const displayImages = vue.computed(() => props2.images.length ? props2.images : defaultImages);
14571
14669
  return () => vue.createVNode(vue.Transition, {
14572
- "name": "van-material-detail"
14670
+ "name": "van-material-detail",
14671
+ "onAfterEnter": () => {
14672
+ var _a;
14673
+ return (_a = swipeRef.value) == null ? void 0 : _a.resize();
14674
+ }
14573
14675
  }, {
14574
14676
  default: () => [props2.show && item.value ? vue.createVNode("div", {
14575
14677
  "class": bem$w()
14576
14678
  }, [vue.createVNode("div", {
14577
14679
  "class": bem$w("banner")
14578
14680
  }, [vue.createVNode(Swipe, {
14579
- "loop": false,
14681
+ "ref": swipeRef,
14580
14682
  "showIndicators": false,
14581
14683
  "class": bem$w("swipe"),
14582
14684
  "onChange": (index) => {
@@ -15411,10 +15513,12 @@
15411
15513
  return;
15412
15514
  return vue.createVNode(Label, {
15413
15515
  "key": `${field.label}-${index}`,
15516
+ "class": bem$t("field"),
15414
15517
  "size": "mini",
15415
15518
  "label": field.label,
15416
15519
  "showLabel": field.showLabel,
15417
15520
  "showContent": field.showContent,
15521
+ "showColon": field.showColon,
15418
15522
  "content": field.content,
15419
15523
  "type": field.type,
15420
15524
  "vertical": field.vertical,
@@ -15430,7 +15534,7 @@
15430
15534
  route2();
15431
15535
  };
15432
15536
  const renderBar = () => {
15433
- var _a, _b, _c;
15537
+ var _a, _b, _c, _d;
15434
15538
  return vue.createVNode("section", {
15435
15539
  "class": bem$t({
15436
15540
  rounded: props2.rounded
@@ -15452,12 +15556,12 @@
15452
15556
  "class": bem$t("quantity")
15453
15557
  }, [((_b = slots.quantity) == null ? void 0 : _b.call(slots)) || vue.createVNode(vue.Fragment, null, [props2.quantityLabel && vue.createVNode("span", {
15454
15558
  "class": bem$t("quantity-label")
15455
- }, [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", {
15559
+ }, [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", {
15456
15560
  "class": bem$t("fields")
15457
15561
  }, [props2.fields.map(renderField)])]), props2.divider && vue.createVNode(Divider, {
15458
15562
  "hairline": true,
15459
15563
  "class": bem$t("divider")
15460
- }, null), ((_c = slots.default) == null ? void 0 : _c.call(slots)) && vue.createVNode("div", {
15564
+ }, null), ((_d = slots.default) == null ? void 0 : _d.call(slots)) && vue.createVNode("div", {
15461
15565
  "class": bem$t("bottom")
15462
15566
  }, [slots.default()])]);
15463
15567
  };
@@ -15477,7 +15581,9 @@
15477
15581
  }) : renderBar();
15478
15582
  }
15479
15583
  });
15480
- const MaterialDisplayBar = withInstall(stdin_default$y);
15584
+ const MaterialPreviewList = withInstall(stdin_default$y);
15585
+ const MaterialPreview = MaterialPreviewList;
15586
+ const MaterialDisplayBar = MaterialPreviewList;
15481
15587
  const [name$s, bem$s] = createNamespace("multi-person-select");
15482
15588
  const defaultGroups$1 = [{
15483
15589
  id: "air-conditioning-a",
@@ -19104,6 +19210,8 @@
19104
19210
  showIcon: Boolean,
19105
19211
  showDescription: Boolean,
19106
19212
  showArrow: Boolean,
19213
+ actionText: makeStringProp("操作"),
19214
+ showAction: Boolean,
19107
19215
  size: makeStringProp("default"),
19108
19216
  expandable: Boolean,
19109
19217
  modelValue: truthProp
@@ -19111,7 +19219,7 @@
19111
19219
  var stdin_default$9 = vue.defineComponent({
19112
19220
  name: name$4,
19113
19221
  props: titleBarProps,
19114
- emits: ["update:modelValue", "change", "click"],
19222
+ emits: ["update:modelValue", "change", "click", "click-action"],
19115
19223
  setup(props2, {
19116
19224
  slots,
19117
19225
  emit
@@ -19123,6 +19231,21 @@
19123
19231
  emit("update:modelValue", value);
19124
19232
  emit("change", value);
19125
19233
  };
19234
+ const onHeaderClick = (event) => {
19235
+ emit("click", event);
19236
+ toggle();
19237
+ };
19238
+ const onActionClick = (event) => {
19239
+ event.stopPropagation();
19240
+ emit("click-action", event);
19241
+ };
19242
+ const onHeaderKeydown = (event) => {
19243
+ if (event.key === "Enter" || event.key === " ") {
19244
+ event.preventDefault();
19245
+ emit("click", event);
19246
+ toggle();
19247
+ }
19248
+ };
19126
19249
  return () => {
19127
19250
  var _a, _b, _c;
19128
19251
  return vue.createVNode("section", {
@@ -19130,20 +19253,32 @@
19130
19253
  mini: props2.size === "mini",
19131
19254
  expandable: props2.expandable
19132
19255
  })
19133
- }, [vue.createVNode("button", {
19134
- "type": "button",
19256
+ }, [vue.createVNode("div", {
19135
19257
  "class": bem$4("header"),
19258
+ "role": "button",
19259
+ "tabindex": "0",
19136
19260
  "aria-expanded": props2.expandable ? props2.modelValue : void 0,
19137
- "onClick": (event) => {
19138
- emit("click", event);
19139
- toggle();
19140
- }
19261
+ "onClick": onHeaderClick,
19262
+ "onKeydown": onHeaderKeydown
19141
19263
  }, [props2.showIcon && props2.icon && vue.createVNode(Icon, {
19142
19264
  "name": props2.icon,
19143
19265
  "class": bem$4("icon")
19144
19266
  }, null), vue.createVNode("span", {
19145
19267
  "class": bem$4("text")
19146
- }, [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, {
19268
+ }, [vue.createVNode("span", {
19269
+ "class": bem$4("title-row")
19270
+ }, [vue.createVNode("strong", null, [((_a = slots.title) == null ? void 0 : _a.call(slots)) || props2.title]), props2.showAction && props2.actionText && vue.createVNode("span", {
19271
+ "class": bem$4("action")
19272
+ }, [vue.createVNode("i", {
19273
+ "class": bem$4("action-divider")
19274
+ }, null), vue.createVNode(Button, {
19275
+ "type": "text",
19276
+ "size": "small",
19277
+ "text": props2.actionText,
19278
+ "onClick": onActionClick
19279
+ }, null)])]), props2.size !== "mini" && props2.showDescription && props2.description && vue.createVNode("span", {
19280
+ "class": bem$4("description")
19281
+ }, [((_b = slots.description) == null ? void 0 : _b.call(slots)) || props2.description])]), (props2.showArrow || props2.expandable) && vue.createVNode(Icon, {
19147
19282
  "name": "arrow-up",
19148
19283
  "class": bem$4("arrow", {
19149
19284
  expanded: props2.expandable && props2.modelValue
@@ -23802,7 +23937,7 @@
23802
23937
  });
23803
23938
  }
23804
23939
  };
23805
- const version = "0.0.34";
23940
+ const version = "0.0.36";
23806
23941
  function install(app) {
23807
23942
  const components = [
23808
23943
  ActionBar,
@@ -23992,9 +24127,12 @@
23992
24127
  exports2.Locale = Locale;
23993
24128
  exports2.LocationSelect = LocationSelect;
23994
24129
  exports2.MaterialActionBar = MaterialActionBar;
24130
+ exports2.MaterialActionList = MaterialActionList;
23995
24131
  exports2.MaterialAdd = MaterialAdd;
23996
24132
  exports2.MaterialDetail = MaterialDetail;
23997
24133
  exports2.MaterialDisplayBar = MaterialDisplayBar;
24134
+ exports2.MaterialPreview = MaterialPreview;
24135
+ exports2.MaterialPreviewList = MaterialPreviewList;
23998
24136
  exports2.MultiPersonSelect = MultiPersonSelect;
23999
24137
  exports2.NavBar = NavBar;
24000
24138
  exports2.NoticeBar = NoticeBar;