persagy-vant 0.0.46 → 0.0.48

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 (49) hide show
  1. package/es/cell/Cell.d.ts +12 -1
  2. package/es/cell/Cell.mjs +41 -9
  3. package/es/cell/index.css +1 -1
  4. package/es/cell/index.d.ts +5 -1
  5. package/es/cell/index.less +26 -0
  6. package/es/collapse-item/CollapseItem.d.ts +4 -0
  7. package/es/collapse-item/index.d.ts +3 -0
  8. package/es/field/Field.d.ts +4 -0
  9. package/es/field/index.d.ts +3 -0
  10. package/es/index.d.ts +1 -1
  11. package/es/index.mjs +1 -1
  12. package/es/label/Label.d.ts +2 -2
  13. package/es/label/index.d.ts +2 -2
  14. package/es/material-add/MaterialAdd.d.ts +13 -0
  15. package/es/material-add/MaterialAdd.mjs +2 -0
  16. package/es/material-add/index.d.ts +9 -0
  17. package/es/tree-select-panel/TreeSelectPanel.d.ts +13 -0
  18. package/es/tree-select-panel/TreeSelectPanel.mjs +25 -7
  19. package/es/tree-select-panel/index.css +1 -1
  20. package/es/tree-select-panel/index.d.ts +9 -0
  21. package/es/tree-select-panel/index.less +2 -0
  22. package/lib/cell/Cell.d.ts +12 -1
  23. package/lib/cell/Cell.js +40 -8
  24. package/lib/cell/index.css +1 -1
  25. package/lib/cell/index.d.ts +5 -1
  26. package/lib/cell/index.less +26 -0
  27. package/lib/collapse-item/CollapseItem.d.ts +4 -0
  28. package/lib/collapse-item/index.d.ts +3 -0
  29. package/lib/field/Field.d.ts +4 -0
  30. package/lib/field/index.d.ts +3 -0
  31. package/lib/index.css +1 -1
  32. package/lib/index.d.ts +1 -1
  33. package/lib/index.js +1 -1
  34. package/lib/label/Label.d.ts +2 -2
  35. package/lib/label/index.d.ts +2 -2
  36. package/lib/material-add/MaterialAdd.d.ts +13 -0
  37. package/lib/material-add/MaterialAdd.js +2 -0
  38. package/lib/material-add/index.d.ts +9 -0
  39. package/lib/tree-select-panel/TreeSelectPanel.d.ts +13 -0
  40. package/lib/tree-select-panel/TreeSelectPanel.js +24 -6
  41. package/lib/tree-select-panel/index.css +1 -1
  42. package/lib/tree-select-panel/index.d.ts +9 -0
  43. package/lib/tree-select-panel/index.less +2 -0
  44. package/lib/vant.cjs.js +67 -15
  45. package/lib/vant.es.js +67 -15
  46. package/lib/vant.js +67 -15
  47. package/lib/vant.min.js +1 -1
  48. package/lib/web-types.json +1 -1
  49. package/package.json +1 -1
package/lib/index.d.ts CHANGED
@@ -117,4 +117,4 @@ declare namespace _default {
117
117
  }
118
118
  export default _default;
119
119
  export function install(app: any): void;
120
- export const version: "0.0.46";
120
+ export const version: "0.0.48";
package/lib/index.js CHANGED
@@ -248,7 +248,7 @@ __reExport(stdin_exports, require("./uploader"), module.exports);
248
248
  __reExport(stdin_exports, require("./video-preview"), module.exports);
249
249
  __reExport(stdin_exports, require("./work-order-card"), module.exports);
250
250
  __reExport(stdin_exports, require("./work-order-filter"), module.exports);
251
- const version = "0.0.46";
251
+ const version = "0.0.48";
252
252
  function install(app) {
253
253
  const components = [
254
254
  import_action_bar.ActionBar,
@@ -126,7 +126,7 @@ declare const _default: import("vue").DefineComponent<{
126
126
  type: PropType<LabelMedia[]>;
127
127
  default: () => never[];
128
128
  };
129
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "click-media" | "long-press")[], "click" | "click-media" | "long-press", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
129
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "long-press" | "click-media")[], "click" | "long-press" | "click-media", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
130
130
  label: {
131
131
  type: PropType<string>;
132
132
  default: string;
@@ -183,8 +183,8 @@ declare const _default: import("vue").DefineComponent<{
183
183
  };
184
184
  }>> & {
185
185
  onClick?: ((...args: any[]) => any) | undefined;
186
- "onClick-media"?: ((...args: any[]) => any) | undefined;
187
186
  "onLong-press"?: ((...args: any[]) => any) | undefined;
187
+ "onClick-media"?: ((...args: any[]) => any) | undefined;
188
188
  }, {
189
189
  type: LabelType;
190
190
  label: string;
@@ -53,7 +53,7 @@ export declare const Label: import("../utils").WithInstall<import("vue").DefineC
53
53
  type: import("vue").PropType<import("./Label").LabelMedia[]>;
54
54
  default: () => never[];
55
55
  };
56
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "click-media" | "long-press")[], "click" | "click-media" | "long-press", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
56
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "long-press" | "click-media")[], "click" | "long-press" | "click-media", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
57
57
  label: {
58
58
  type: import("vue").PropType<string>;
59
59
  default: string;
@@ -110,8 +110,8 @@ export declare const Label: import("../utils").WithInstall<import("vue").DefineC
110
110
  };
111
111
  }>> & {
112
112
  onClick?: ((...args: any[]) => any) | undefined;
113
- "onClick-media"?: ((...args: any[]) => any) | undefined;
114
113
  "onLong-press"?: ((...args: any[]) => any) | undefined;
114
+ "onClick-media"?: ((...args: any[]) => any) | undefined;
115
115
  }, {
116
116
  type: import("./Label").LabelType;
117
117
  label: string;
@@ -54,6 +54,10 @@ declare const materialAddProps: {
54
54
  type: PropType<string>;
55
55
  default: string;
56
56
  };
57
+ max: {
58
+ type: (NumberConstructor | StringConstructor)[];
59
+ default: number;
60
+ };
57
61
  search: PropType<MaterialAddSearch>;
58
62
  searchDebounce: {
59
63
  type: (NumberConstructor | StringConstructor)[];
@@ -115,6 +119,10 @@ declare const _default: import("vue").DefineComponent<{
115
119
  type: PropType<string>;
116
120
  default: string;
117
121
  };
122
+ max: {
123
+ type: (NumberConstructor | StringConstructor)[];
124
+ default: number;
125
+ };
118
126
  search: PropType<MaterialAddSearch>;
119
127
  searchDebounce: {
120
128
  type: (NumberConstructor | StringConstructor)[];
@@ -174,6 +182,10 @@ declare const _default: import("vue").DefineComponent<{
174
182
  type: PropType<string>;
175
183
  default: string;
176
184
  };
185
+ max: {
186
+ type: (NumberConstructor | StringConstructor)[];
187
+ default: number;
188
+ };
177
189
  search: PropType<MaterialAddSearch>;
178
190
  searchDebounce: {
179
191
  type: (NumberConstructor | StringConstructor)[];
@@ -187,6 +199,7 @@ declare const _default: import("vue").DefineComponent<{
187
199
  "onSearch-error"?: ((...args: any[]) => any) | undefined;
188
200
  }, {
189
201
  title: string;
202
+ max: string | number;
190
203
  modelValue: number[];
191
204
  show: boolean;
192
205
  confirmText: string;
@@ -377,6 +377,7 @@ const materialAddProps = {
377
377
  allTabText: (0, import_utils.makeStringProp)("\u5168\u90E8\u7269\u6599"),
378
378
  materialTabText: (0, import_utils.makeStringProp)("\u7269\u8D44"),
379
379
  toolTabText: (0, import_utils.makeStringProp)("\u5DE5\u5177"),
380
+ max: (0, import_utils.makeNumericProp)(Infinity),
380
381
  search: Function,
381
382
  searchDebounce: (0, import_utils.makeNumericProp)(300)
382
383
  };
@@ -600,6 +601,7 @@ var stdin_default = (0, import_vue.defineComponent)({
600
601
  "key": item.id,
601
602
  "item": item,
602
603
  "modelValue": quantities.value[index],
604
+ "max": props.max,
603
605
  "keyword": searching.value ? keyword.value : "",
604
606
  "selected": selected,
605
607
  "onDetail": openDetail,
@@ -52,6 +52,10 @@ export declare const MaterialAdd: import("../utils").WithInstall<import("vue").D
52
52
  type: import("vue").PropType<string>;
53
53
  default: string;
54
54
  };
55
+ max: {
56
+ type: (NumberConstructor | StringConstructor)[];
57
+ default: number;
58
+ };
55
59
  search: import("vue").PropType<import("./types").MaterialAddSearch>;
56
60
  searchDebounce: {
57
61
  type: (NumberConstructor | StringConstructor)[];
@@ -111,6 +115,10 @@ export declare const MaterialAdd: import("../utils").WithInstall<import("vue").D
111
115
  type: import("vue").PropType<string>;
112
116
  default: string;
113
117
  };
118
+ max: {
119
+ type: (NumberConstructor | StringConstructor)[];
120
+ default: number;
121
+ };
114
122
  search: import("vue").PropType<import("./types").MaterialAddSearch>;
115
123
  searchDebounce: {
116
124
  type: (NumberConstructor | StringConstructor)[];
@@ -124,6 +132,7 @@ export declare const MaterialAdd: import("../utils").WithInstall<import("vue").D
124
132
  "onSearch-error"?: ((...args: any[]) => any) | undefined;
125
133
  }, {
126
134
  title: string;
135
+ max: string | number;
127
136
  modelValue: number[];
128
137
  show: boolean;
129
138
  confirmText: string;
@@ -26,6 +26,10 @@ declare const treeSelectPanelProps: {
26
26
  default: true;
27
27
  };
28
28
  searchPlaceholder: StringConstructor;
29
+ showSearchParentPath: {
30
+ type: BooleanConstructor;
31
+ default: true;
32
+ };
29
33
  lazy: BooleanConstructor;
30
34
  loading: BooleanConstructor;
31
35
  finished: BooleanConstructor;
@@ -76,6 +80,10 @@ declare const _default: import("vue").DefineComponent<{
76
80
  default: true;
77
81
  };
78
82
  searchPlaceholder: StringConstructor;
83
+ showSearchParentPath: {
84
+ type: BooleanConstructor;
85
+ default: true;
86
+ };
79
87
  lazy: BooleanConstructor;
80
88
  loading: BooleanConstructor;
81
89
  finished: BooleanConstructor;
@@ -124,6 +132,10 @@ declare const _default: import("vue").DefineComponent<{
124
132
  default: true;
125
133
  };
126
134
  searchPlaceholder: StringConstructor;
135
+ showSearchParentPath: {
136
+ type: BooleanConstructor;
137
+ default: true;
138
+ };
127
139
  lazy: BooleanConstructor;
128
140
  loading: BooleanConstructor;
129
141
  finished: BooleanConstructor;
@@ -177,5 +189,6 @@ declare const _default: import("vue").DefineComponent<{
177
189
  expandedKeys: Numeric[];
178
190
  selectableParent: boolean;
179
191
  showParentSelect: boolean;
192
+ showSearchParentPath: boolean;
180
193
  }>;
181
194
  export default _default;
@@ -46,6 +46,7 @@ const treeSelectPanelProps = {
46
46
  showSelectLevels: Array,
47
47
  searchable: import_utils.truthProp,
48
48
  searchPlaceholder: String,
49
+ showSearchParentPath: import_utils.truthProp,
49
50
  lazy: Boolean,
50
51
  loading: Boolean,
51
52
  finished: Boolean,
@@ -58,11 +59,15 @@ const treeSelectPanelProps = {
58
59
  clearSelectedText: (0, import_utils.makeStringProp)("\u6E05\u7A7A\u5DF2\u9009"),
59
60
  confirmText: (0, import_utils.makeStringProp)("\u786E\u5B9A")
60
61
  };
61
- const findMatchingLeaves = (items, keyword) => items.flatMap((item) => {
62
+ const findMatchingLeaves = (items, keyword, parentPath = []) => items.flatMap((item) => {
62
63
  var _a;
63
- if ((_a = item.children) == null ? void 0 : _a.length)
64
- return findMatchingLeaves(item.children, keyword);
65
- return item.text.toLocaleLowerCase().includes(keyword) ? [item] : [];
64
+ if ((_a = item.children) == null ? void 0 : _a.length) {
65
+ return findMatchingLeaves(item.children, keyword, [...parentPath, item.text]);
66
+ }
67
+ return item.text.toLocaleLowerCase().includes(keyword) ? [{
68
+ item,
69
+ parentPath
70
+ }] : [];
66
71
  });
67
72
  const flattenItems = (items) => items.flatMap((item) => [item, ...item.children ? flattenItems(item.children) : []]);
68
73
  var stdin_default = (0, import_vue.defineComponent)({
@@ -75,7 +80,10 @@ var stdin_default = (0, import_vue.defineComponent)({
75
80
  const keyword = (0, import_vue.ref)("");
76
81
  const expandedSelected = (0, import_vue.ref)(false);
77
82
  const normalizedKeyword = (0, import_vue.computed)(() => keyword.value.trim().toLocaleLowerCase());
78
- const filteredItems = (0, import_vue.computed)(() => normalizedKeyword.value ? findMatchingLeaves(props.items, normalizedKeyword.value) : props.items);
83
+ const searchResults = (0, import_vue.computed)(() => normalizedKeyword.value ? findMatchingLeaves(props.items, normalizedKeyword.value) : []);
84
+ const filteredItems = (0, import_vue.computed)(() => normalizedKeyword.value ? searchResults.value.map(({
85
+ item
86
+ }) => item) : props.items);
79
87
  const selectedItems = (0, import_vue.computed)(() => flattenItems(props.items).filter((item) => props.modelValue.includes(item.id)));
80
88
  const close = () => emit("update:show", false);
81
89
  const updateSelected = (value) => {
@@ -130,7 +138,17 @@ var stdin_default = (0, import_vue.defineComponent)({
130
138
  title: ({
131
139
  item,
132
140
  hasChildren
133
- }) => hasChildren ? item.text : renderHighlightedTitle(item.text)
141
+ }) => {
142
+ if (hasChildren || !normalizedKeyword.value)
143
+ return item.text;
144
+ const result = searchResults.value.find((result2) => result2.item.id === item.id);
145
+ if (!result || !props.showSearchParentPath || !result.parentPath.length) {
146
+ return renderHighlightedTitle(item.text);
147
+ }
148
+ return (0, import_vue.createVNode)(import_vue.Fragment, null, [result.parentPath.join("/"), (0, import_vue.createVNode)("span", {
149
+ "class": bem("path-separator")
150
+ }, [(0, import_vue.createTextVNode)("/")]), renderHighlightedTitle(item.text)]);
151
+ }
134
152
  })]);
135
153
  };
136
154
  return () => (0, import_vue.createVNode)(import_action_sheet.ActionSheet, {
@@ -1 +1 @@
1
- .van-tree-select-panel{box-sizing:border-box;display:flex;height:calc(100% - 96px);max-height:calc(100% - 96px);overflow:hidden;background:var(--van-gray-1)}.van-tree-select-panel .van-action-sheet__content,.van-tree-select-panel__content{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;overflow:hidden;background:var(--van-gray-1)}.van-tree-select-panel__nav{flex:none;--van-nav-bar-background-color: var(--van-gray-1)}.van-tree-select-panel__nav .van-nav-bar__left--slot{padding:0}.van-tree-select-panel__nav .van-nav-bar__left--slot{left:var(--van-padding-md)}.van-tree-select-panel__search-wrapper{margin:0 var(--van-padding-md) 6px}.van-tree-select-panel__body{flex:1;min-height:0;padding:0 var(--van-padding-md) var(--van-padding-md);overflow-y:auto}.van-tree-select-panel__footer{position:relative;flex:none;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-tree-select-panel__footer .van-bottom-action-bar{box-shadow:none}.van-tree-select-panel__selected-panel{position:absolute;right:0;bottom:60px;left:0;display:flex;flex-direction:column;max-height:min(340px,calc(100vh - 156px));overflow:hidden;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-tree-select-panel__selected-header{display:flex;flex:none;align-items:center;justify-content:space-between;padding:12px var(--van-padding-md) 4px}.van-tree-select-panel__clear,.van-tree-select-panel__collapse{display:inline-flex;align-items:center;padding:0;font:inherit;font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);background:transparent;border:0}.van-tree-select-panel__clear{color:var(--van-primary-color)}.van-tree-select-panel__collapse,.van-tree-select-panel__remove,.van-tree-select-panel__collapse .van-icon,.van-tree-select-panel__remove .van-icon{color:var(--van-gray-6)}.van-tree-select-panel__collapse{gap:2px}.van-tree-select-panel__selected-list{display:flex;flex:0 1 auto;flex-direction:column;gap:6px;min-height:0;padding:var(--van-padding-xs) var(--van-padding-md);overflow-y:auto;overscroll-behavior:contain}.van-tree-select-panel__selected-item{flex:none;min-height:44px;padding:11px var(--van-padding-md);background:var(--van-gray-1);border-radius:8px}.van-tree-select-panel__remove{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:0}.van-tree-select-panel__card{overflow:hidden;background:var(--van-white);border-radius:var(--van-border-radius-lg)}.van-tree-select-panel__match{color:var(--van-primary-color)}.van-tree-select-panel .van-list{min-height:100%}
1
+ .van-tree-select-panel{box-sizing:border-box;display:flex;height:calc(100% - 96px);max-height:calc(100% - 96px);overflow:hidden;background:var(--van-gray-1)}.van-tree-select-panel .van-action-sheet__content,.van-tree-select-panel__content{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;overflow:hidden;background:var(--van-gray-1)}.van-tree-select-panel__nav{flex:none;--van-nav-bar-background-color: var(--van-gray-1)}.van-tree-select-panel__nav .van-nav-bar__left--slot{padding:0}.van-tree-select-panel__nav .van-nav-bar__left--slot{left:var(--van-padding-md)}.van-tree-select-panel__search-wrapper{margin:0 var(--van-padding-md) 6px}.van-tree-select-panel__body{flex:1;min-height:0;padding:0 var(--van-padding-md) var(--van-padding-md);overflow-y:auto}.van-tree-select-panel__footer{position:relative;flex:none;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-tree-select-panel__footer .van-bottom-action-bar{box-shadow:none}.van-tree-select-panel__selected-panel{position:absolute;right:0;bottom:60px;left:0;display:flex;flex-direction:column;max-height:min(340px,calc(100vh - 156px));overflow:hidden;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-tree-select-panel__selected-header{display:flex;flex:none;align-items:center;justify-content:space-between;padding:12px var(--van-padding-md) 4px}.van-tree-select-panel__clear,.van-tree-select-panel__collapse{display:inline-flex;align-items:center;padding:0;font:inherit;font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);background:transparent;border:0}.van-tree-select-panel__clear{color:var(--van-primary-color)}.van-tree-select-panel__collapse,.van-tree-select-panel__remove,.van-tree-select-panel__collapse .van-icon,.van-tree-select-panel__remove .van-icon{color:var(--van-gray-6)}.van-tree-select-panel__collapse{gap:2px}.van-tree-select-panel__selected-list{display:flex;flex:0 1 auto;flex-direction:column;gap:6px;min-height:0;padding:var(--van-padding-xs) var(--van-padding-md);overflow-y:auto;overscroll-behavior:contain}.van-tree-select-panel__selected-item{flex:none;min-height:44px;padding:11px var(--van-padding-md);background:var(--van-gray-1);border-radius:8px}.van-tree-select-panel__remove{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:0}.van-tree-select-panel__card{overflow:hidden;background:var(--van-white);border-radius:var(--van-border-radius-lg)}.van-tree-select-panel__match{color:var(--van-primary-color)}.van-tree-select-panel__path-separator{color:var(--van-text-color-2)}.van-tree-select-panel .van-list{min-height:100%}
@@ -23,6 +23,10 @@ export declare const TreeSelectPanel: import("../utils").WithInstall<import("vue
23
23
  default: true;
24
24
  };
25
25
  searchPlaceholder: StringConstructor;
26
+ showSearchParentPath: {
27
+ type: BooleanConstructor;
28
+ default: true;
29
+ };
26
30
  lazy: BooleanConstructor;
27
31
  loading: BooleanConstructor;
28
32
  finished: BooleanConstructor;
@@ -71,6 +75,10 @@ export declare const TreeSelectPanel: import("../utils").WithInstall<import("vue
71
75
  default: true;
72
76
  };
73
77
  searchPlaceholder: StringConstructor;
78
+ showSearchParentPath: {
79
+ type: BooleanConstructor;
80
+ default: true;
81
+ };
74
82
  lazy: BooleanConstructor;
75
83
  loading: BooleanConstructor;
76
84
  finished: BooleanConstructor;
@@ -124,6 +132,7 @@ export declare const TreeSelectPanel: import("../utils").WithInstall<import("vue
124
132
  expandedKeys: import("../utils").Numeric[];
125
133
  selectableParent: boolean;
126
134
  showParentSelect: boolean;
135
+ showSearchParentPath: boolean;
127
136
  }>>;
128
137
  export default TreeSelectPanel;
129
138
  export type { TreeSelectPanelProps } from './TreeSelectPanel';
@@ -103,5 +103,7 @@
103
103
  }
104
104
  &__card { overflow: hidden; background: var(--van-white); border-radius: var(--van-border-radius-lg); }
105
105
  &__match { color: var(--van-primary-color); }
106
+
107
+ &__path-separator { color: var(--van-text-color-2); }
106
108
  .van-list { min-height: 100%; }
107
109
  }
package/lib/vant.cjs.js CHANGED
@@ -3178,6 +3178,7 @@ const cellSharedProps = {
3178
3178
  showTitleCollapseIcon: Boolean,
3179
3179
  defaultMultiLineNotesCollapsed: Boolean,
3180
3180
  threeLine: Boolean,
3181
+ threeLineEllipsis: Boolean,
3181
3182
  labelSize: numericProp,
3182
3183
  avatar: String,
3183
3184
  showAvatar: {
@@ -3280,13 +3281,39 @@ const cellProps = extend({}, cellSharedProps, routeProps);
3280
3281
  var stdin_default$1M = vue.defineComponent({
3281
3282
  name: name$1D,
3282
3283
  props: cellProps,
3283
- emits: ["click", "click-label", "click-description", "click-note", "click-title-icon", "update:leftSelect", "update:rightSelect", "update:multiLineNotesCollapsed"],
3284
+ emits: ["click", "click-label", "click-description", "click-note", "click-title-icon", "long-press", "update:leftSelect", "update:rightSelect", "update:multiLineNotesCollapsed"],
3284
3285
  setup(props2, {
3285
3286
  slots,
3286
3287
  emit
3287
3288
  }) {
3288
3289
  var _a, _b;
3290
+ let longPressTimer;
3289
3291
  const config = vue.inject(CONFIG_PROVIDER_KEY, null);
3292
+ const clearLongPress = () => {
3293
+ if (longPressTimer !== void 0) {
3294
+ clearTimeout(longPressTimer);
3295
+ longPressTimer = void 0;
3296
+ }
3297
+ };
3298
+ const startLongPress = (target, text) => {
3299
+ if (!props2.threeLine || !props2.threeLineEllipsis || !isDef(text))
3300
+ return;
3301
+ clearLongPress();
3302
+ longPressTimer = setTimeout(() => {
3303
+ longPressTimer = void 0;
3304
+ const payload = {
3305
+ target,
3306
+ text: String(text)
3307
+ };
3308
+ emit("long-press", payload);
3309
+ }, 500);
3310
+ };
3311
+ const longPressEvents = (target, text) => ({
3312
+ onPointerdown: () => startLongPress(target, text),
3313
+ onPointerup: clearLongPress,
3314
+ onPointercancel: clearLongPress,
3315
+ onPointerleave: clearLongPress
3316
+ });
3290
3317
  const route2 = useRoute();
3291
3318
  const vm = vue.getCurrentInstance().proxy;
3292
3319
  const leftSelectState = vue.ref((_a = props2.leftSelect) != null ? _a : false);
@@ -3333,7 +3360,7 @@ var stdin_default$1M = vue.defineComponent({
3333
3360
  const showLabel = slots.label || isDef(props2.label);
3334
3361
  const showLabelIcon = (_a2 = props2.showLabelIcon) != null ? _a2 : !!(slots["label-icon"] || props2.labelIcon);
3335
3362
  if (showLabel) {
3336
- return vue.createVNode("div", {
3363
+ return vue.createVNode("div", vue.mergeProps({
3337
3364
  "class": [bem$1z("label", {
3338
3365
  clickable: props2.labelClickable
3339
3366
  }), props2.labelClass],
@@ -3348,19 +3375,21 @@ var stdin_default$1M = vue.defineComponent({
3348
3375
  event.stopPropagation();
3349
3376
  emit("click-label", event);
3350
3377
  }
3351
- }, [showLabelIcon && slots["label-icon"] ? vue.createVNode("span", {
3378
+ }, longPressEvents("label", props2.label)), [showLabelIcon && slots["label-icon"] ? vue.createVNode("span", {
3352
3379
  "class": bem$1z("label-icon")
3353
3380
  }, [slots["label-icon"]()]) : showLabelIcon ? vue.createVNode(Icon, {
3354
3381
  "name": props2.labelIcon || "location-o",
3355
3382
  "class": bem$1z("label-icon"),
3356
3383
  "classPrefix": props2.iconPrefix
3357
- }, null) : null, vue.createVNode("span", null, [slots.label ? slots.label() : props2.label])]);
3384
+ }, null) : null, vue.createVNode("span", {
3385
+ "class": bem$1z("label-content")
3386
+ }, [slots.label ? slots.label() : props2.label])]);
3358
3387
  }
3359
3388
  };
3360
3389
  const renderDescription = () => {
3361
3390
  const showDescription = slots.description || isDef(props2.description);
3362
3391
  if (showDescription) {
3363
- return vue.createVNode("div", {
3392
+ return vue.createVNode("div", vue.mergeProps({
3364
3393
  "class": bem$1z("description", {
3365
3394
  clickable: props2.descriptionClickable
3366
3395
  }),
@@ -3372,7 +3401,7 @@ var stdin_default$1M = vue.defineComponent({
3372
3401
  event.stopPropagation();
3373
3402
  emit("click-description", event);
3374
3403
  }
3375
- }, [slots.description ? slots.description() : props2.description]);
3404
+ }, longPressEvents("description", props2.description)), [slots.description ? slots.description() : props2.description]);
3376
3405
  }
3377
3406
  };
3378
3407
  const renderMultiLineNotes = () => {
@@ -3417,7 +3446,9 @@ var stdin_default$1M = vue.defineComponent({
3417
3446
  "class": bem$1z("title-collapse-icon", {
3418
3447
  collapsed: multiLineNotesCollapsed.value
3419
3448
  })
3420
- }, null)]), slots.title ? slots.title() : vue.createVNode("span", null, [props2.title]), renderTitleTag(), renderTags(), renderTitleIcon()]), renderWrapTags(), renderLabel(), props2.threeLine && renderDescription(), !multiLineNotesCollapsed.value && renderMultiLineNotes()]);
3449
+ }, null)]), vue.createVNode("span", vue.mergeProps({
3450
+ "class": bem$1z("title-content")
3451
+ }, longPressEvents("title", props2.title)), [slots.title ? slots.title() : props2.title]), renderTitleTag(), renderTags(), renderTitleIcon()]), renderWrapTags(), renderLabel(), props2.threeLine && renderDescription(), !multiLineNotesCollapsed.value && renderMultiLineNotes()]);
3421
3452
  }
3422
3453
  };
3423
3454
  const renderValue = () => {
@@ -3429,7 +3460,7 @@ var stdin_default$1M = vue.defineComponent({
3429
3460
  "class": [bem$1z("value", {
3430
3461
  alone: !hasTitle
3431
3462
  }), props2.valueClass]
3432
- }, [slot ? slot() : vue.createVNode("span", null, [props2.value])]);
3463
+ }, [slot ? slot() : vue.createVNode("span", longPressEvents("value", props2.value), [props2.value])]);
3433
3464
  }
3434
3465
  };
3435
3466
  const renderLeftIcon = () => {
@@ -3702,6 +3733,7 @@ var stdin_default$1M = vue.defineComponent({
3702
3733
  clickable,
3703
3734
  borderless: !border,
3704
3735
  "three-line": threeLine,
3736
+ "three-line-ellipsis": threeLine && props2.threeLineEllipsis,
3705
3737
  "multi-line-notes": hasMultiLineNotes
3706
3738
  };
3707
3739
  if (cellSize) {
@@ -14601,6 +14633,7 @@ const materialAddProps = {
14601
14633
  allTabText: makeStringProp("全部物料"),
14602
14634
  materialTabText: makeStringProp("物资"),
14603
14635
  toolTabText: makeStringProp("工具"),
14636
+ max: makeNumericProp(Infinity),
14604
14637
  search: Function,
14605
14638
  searchDebounce: makeNumericProp(300)
14606
14639
  };
@@ -14813,6 +14846,7 @@ var stdin_default$B = vue.defineComponent({
14813
14846
  "key": item.id,
14814
14847
  "item": item,
14815
14848
  "modelValue": quantities.value[index],
14849
+ "max": props2.max,
14816
14850
  "keyword": searching.value ? keyword.value : "",
14817
14851
  "selected": selected,
14818
14852
  "onDetail": openDetail,
@@ -19136,6 +19170,7 @@ const treeSelectPanelProps = {
19136
19170
  showSelectLevels: Array,
19137
19171
  searchable: truthProp,
19138
19172
  searchPlaceholder: String,
19173
+ showSearchParentPath: truthProp,
19139
19174
  lazy: Boolean,
19140
19175
  loading: Boolean,
19141
19176
  finished: Boolean,
@@ -19148,11 +19183,15 @@ const treeSelectPanelProps = {
19148
19183
  clearSelectedText: makeStringProp("清空已选"),
19149
19184
  confirmText: makeStringProp("确定")
19150
19185
  };
19151
- const findMatchingLeaves = (items, keyword) => items.flatMap((item) => {
19186
+ const findMatchingLeaves = (items, keyword, parentPath = []) => items.flatMap((item) => {
19152
19187
  var _a;
19153
- if ((_a = item.children) == null ? void 0 : _a.length)
19154
- return findMatchingLeaves(item.children, keyword);
19155
- return item.text.toLocaleLowerCase().includes(keyword) ? [item] : [];
19188
+ if ((_a = item.children) == null ? void 0 : _a.length) {
19189
+ return findMatchingLeaves(item.children, keyword, [...parentPath, item.text]);
19190
+ }
19191
+ return item.text.toLocaleLowerCase().includes(keyword) ? [{
19192
+ item,
19193
+ parentPath
19194
+ }] : [];
19156
19195
  });
19157
19196
  const flattenItems = (items) => items.flatMap((item) => [item, ...item.children ? flattenItems(item.children) : []]);
19158
19197
  var stdin_default$9 = vue.defineComponent({
@@ -19165,7 +19204,10 @@ var stdin_default$9 = vue.defineComponent({
19165
19204
  const keyword = vue.ref("");
19166
19205
  const expandedSelected = vue.ref(false);
19167
19206
  const normalizedKeyword = vue.computed(() => keyword.value.trim().toLocaleLowerCase());
19168
- const filteredItems = vue.computed(() => normalizedKeyword.value ? findMatchingLeaves(props2.items, normalizedKeyword.value) : props2.items);
19207
+ const searchResults = vue.computed(() => normalizedKeyword.value ? findMatchingLeaves(props2.items, normalizedKeyword.value) : []);
19208
+ const filteredItems = vue.computed(() => normalizedKeyword.value ? searchResults.value.map(({
19209
+ item
19210
+ }) => item) : props2.items);
19169
19211
  const selectedItems = vue.computed(() => flattenItems(props2.items).filter((item) => props2.modelValue.includes(item.id)));
19170
19212
  const close = () => emit("update:show", false);
19171
19213
  const updateSelected = (value) => {
@@ -19220,7 +19262,17 @@ var stdin_default$9 = vue.defineComponent({
19220
19262
  title: ({
19221
19263
  item,
19222
19264
  hasChildren
19223
- }) => hasChildren ? item.text : renderHighlightedTitle(item.text)
19265
+ }) => {
19266
+ if (hasChildren || !normalizedKeyword.value)
19267
+ return item.text;
19268
+ const result = searchResults.value.find((result2) => result2.item.id === item.id);
19269
+ if (!result || !props2.showSearchParentPath || !result.parentPath.length) {
19270
+ return renderHighlightedTitle(item.text);
19271
+ }
19272
+ return vue.createVNode(vue.Fragment, null, [result.parentPath.join("/"), vue.createVNode("span", {
19273
+ "class": bem$4("path-separator")
19274
+ }, [vue.createTextVNode("/")]), renderHighlightedTitle(item.text)]);
19275
+ }
19224
19276
  })]);
19225
19277
  };
19226
19278
  return () => vue.createVNode(ActionSheet, {
@@ -21790,7 +21842,7 @@ const Lazyload = {
21790
21842
  });
21791
21843
  }
21792
21844
  };
21793
- const version = "0.0.46";
21845
+ const version = "0.0.48";
21794
21846
  function install(app) {
21795
21847
  const components = [
21796
21848
  ActionBar,