persagy-vant 0.0.32 → 0.0.34

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 (72) hide show
  1. package/README.md +1 -1
  2. package/es/badge/Badge.d.ts +14 -0
  3. package/es/badge/Badge.mjs +2 -0
  4. package/es/badge/index.css +1 -1
  5. package/es/badge/index.d.ts +10 -1
  6. package/es/badge/index.less +6 -0
  7. package/es/badge/var.less +1 -0
  8. package/es/button/Button.d.ts +1 -1
  9. package/es/button/index.d.ts +1 -1
  10. package/es/field/Field.d.ts +5 -18
  11. package/es/field/Field.mjs +3 -2
  12. package/es/field/index.d.ts +3 -10
  13. package/es/index.d.ts +1 -1
  14. package/es/index.mjs +1 -1
  15. package/es/loading/Loading.mjs +16 -19
  16. package/es/rate/RateCell.d.ts +1 -1
  17. package/es/rate/index.d.ts +1 -1
  18. package/es/search/Search.d.ts +17 -13
  19. package/es/search/Search.mjs +1 -0
  20. package/es/search/index.d.ts +10 -8
  21. package/es/sidebar/index.css +1 -1
  22. package/es/sidebar/index.less +1 -0
  23. package/es/sidebar-item/index.css +1 -1
  24. package/es/sidebar-item/index.less +37 -11
  25. package/es/sidebar-item/var.less +7 -7
  26. package/es/space/Space.d.ts +1 -1
  27. package/es/space/index.d.ts +1 -1
  28. package/es/tag/Tag.d.ts +1 -1
  29. package/es/tag/index.d.ts +1 -1
  30. package/lib/badge/Badge.d.ts +14 -0
  31. package/lib/badge/Badge.js +2 -0
  32. package/lib/badge/index.css +1 -1
  33. package/lib/badge/index.d.ts +10 -1
  34. package/lib/badge/index.less +6 -0
  35. package/lib/badge/var.less +1 -0
  36. package/lib/button/Button.d.ts +1 -1
  37. package/lib/button/index.d.ts +1 -1
  38. package/lib/field/Field.d.ts +5 -18
  39. package/lib/field/Field.js +3 -2
  40. package/lib/field/index.d.ts +3 -10
  41. package/lib/index.css +1 -1
  42. package/lib/index.d.ts +1 -1
  43. package/lib/index.js +1 -1
  44. package/lib/loading/Loading.js +16 -19
  45. package/lib/rate/RateCell.d.ts +1 -1
  46. package/lib/rate/index.d.ts +1 -1
  47. package/lib/search/Search.d.ts +17 -13
  48. package/lib/search/Search.js +1 -0
  49. package/lib/search/index.d.ts +10 -8
  50. package/lib/sidebar/index.css +1 -1
  51. package/lib/sidebar/index.less +1 -0
  52. package/lib/sidebar-item/index.css +1 -1
  53. package/lib/sidebar-item/index.less +37 -11
  54. package/lib/sidebar-item/var.less +7 -7
  55. package/lib/space/Space.d.ts +1 -1
  56. package/lib/space/index.d.ts +1 -1
  57. package/lib/tag/Tag.d.ts +1 -1
  58. package/lib/tag/index.d.ts +1 -1
  59. package/lib/vant.cjs.js +23 -22
  60. package/lib/vant.es.js +23 -22
  61. package/lib/vant.js +23 -22
  62. package/lib/vant.min.js +1 -1
  63. package/lib/web-types.json +1 -1
  64. package/package.json +1 -1
  65. package/skills/use-persagy-vant/SKILL.md +2 -2
  66. package/skills/use-persagy-vant/references/business-component-catalog.md +1 -1
  67. package/skills/use-persagy-vant/references/component-catalog.md +14 -8
  68. package/skills/use-persagy-vant/references/component-documentation.md +19 -0
  69. package/skills/use-persagy-vant/references/design-interaction-baseline.md +9 -4
  70. package/skills/use-persagy-vant/references/page-recipes.md +17 -14
  71. package/skills/use-persagy-vant/references/reuse-policy.md +20 -2
  72. package/skills/use-persagy-vant/references/usage-patterns.md +5 -3
package/README.md CHANGED
@@ -39,7 +39,7 @@ pnpm up persagy-vant@latest
39
39
 
40
40
  组件、组件文档和 Skill 会随 npm 包一起更新;已有的 `.agents` 入口会自动读取新版内容,无需再次初始化。仅当维护者通知入口机制有变时,才执行 `pnpm exec persagy-vant init --force`。
41
41
 
42
- 完整的可转发说明见:[产品经理 AI 开发使用说明](./docs/markdown/product-manager-guide.zh-CN.md)。
42
+ 完整的可转发说明见:[Persagy Vant 组件库与 Skill 使用说明](./docs/markdown/product-manager-guide.zh-CN.md)。
43
43
 
44
44
  ## 包结构
45
45
 
@@ -1,6 +1,7 @@
1
1
  import { type PropType, type ExtractPropTypes } from 'vue';
2
2
  import { type Numeric } from '../utils';
3
3
  export declare type BadgePosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
4
+ export declare type BadgeSize = 'default' | 'mini';
4
5
  declare const badgeProps: {
5
6
  dot: BooleanConstructor;
6
7
  max: (NumberConstructor | StringConstructor)[];
@@ -15,6 +16,10 @@ declare const badgeProps: {
15
16
  type: BooleanConstructor;
16
17
  default: true;
17
18
  };
19
+ size: {
20
+ type: PropType<BadgeSize>;
21
+ default: BadgeSize;
22
+ };
18
23
  position: {
19
24
  type: PropType<BadgePosition>;
20
25
  default: BadgePosition;
@@ -35,6 +40,10 @@ declare const _default: import("vue").DefineComponent<{
35
40
  type: BooleanConstructor;
36
41
  default: true;
37
42
  };
43
+ size: {
44
+ type: PropType<BadgeSize>;
45
+ default: BadgeSize;
46
+ };
38
47
  position: {
39
48
  type: PropType<BadgePosition>;
40
49
  default: BadgePosition;
@@ -53,6 +62,10 @@ declare const _default: import("vue").DefineComponent<{
53
62
  type: BooleanConstructor;
54
63
  default: true;
55
64
  };
65
+ size: {
66
+ type: PropType<BadgeSize>;
67
+ default: BadgeSize;
68
+ };
56
69
  position: {
57
70
  type: PropType<BadgePosition>;
58
71
  default: BadgePosition;
@@ -61,6 +74,7 @@ declare const _default: import("vue").DefineComponent<{
61
74
  dot: boolean;
62
75
  tag: keyof HTMLElementTagNameMap;
63
76
  showZero: boolean;
77
+ size: BadgeSize;
64
78
  position: BadgePosition;
65
79
  }>;
66
80
  export default _default;
@@ -9,6 +9,7 @@ const badgeProps = {
9
9
  offset: Array,
10
10
  content: numericProp,
11
11
  showZero: truthProp,
12
+ size: makeStringProp("default"),
12
13
  position: makeStringProp("top-right")
13
14
  };
14
15
  var stdin_default = defineComponent({
@@ -68,6 +69,7 @@ var stdin_default = defineComponent({
68
69
  return _createVNode("div", {
69
70
  "class": bem([props.position, {
70
71
  dot: props.dot,
72
+ mini: props.size === "mini",
71
73
  fixed: !!slots.default
72
74
  }]),
73
75
  "style": style.value
@@ -1 +1 @@
1
- :root{--van-badge-size: 16px;--van-badge-color: var(--van-white);--van-badge-padding: 0 3px;--van-badge-font-size: var(--van-font-size-sm);--van-badge-font-weight: var(--van-font-weight-bold);--van-badge-border-width: var(--van-border-width-base);--van-badge-background-color: var(--van-danger-color);--van-badge-dot-color: var(--van-danger-color);--van-badge-dot-size: 8px;--van-badge-font-family: -apple-system-font, Helvetica Neue, Arial, sans-serif}.van-badge{display:inline-block;box-sizing:border-box;min-width:var(--van-badge-size);padding:var(--van-badge-padding);color:var(--van-badge-color);font-weight:var(--van-badge-font-weight);font-size:var(--van-badge-font-size);font-family:var(--van-badge-font-family);line-height:1.2;text-align:center;background:var(--van-badge-background-color);border:var(--van-badge-border-width) solid var(--van-background-color-light);border-radius:var(--van-border-radius-max)}.van-badge--fixed{position:absolute;transform-origin:100%}.van-badge--top-left{top:0;left:0;transform:translate(-50%,-50%)}.van-badge--top-right{top:0;right:0;transform:translate(50%,-50%)}.van-badge--bottom-left{bottom:0;left:0;transform:translate(-50%,50%)}.van-badge--bottom-right{bottom:0;right:0;transform:translate(50%,50%)}.van-badge--dot{width:var(--van-badge-dot-size);min-width:0;height:var(--van-badge-dot-size);background:var(--van-badge-dot-color);border-radius:100%;border:none;padding:0}.van-badge__wrapper{position:relative;display:inline-block}
1
+ :root{--van-badge-size: 16px;--van-badge-color: var(--van-white);--van-badge-padding: 0 3px;--van-badge-font-size: var(--van-font-size-sm);--van-badge-font-weight: var(--van-font-weight-bold);--van-badge-border-width: var(--van-border-width-base);--van-badge-background-color: var(--van-danger-color);--van-badge-dot-color: var(--van-danger-color);--van-badge-dot-size: 8px;--van-badge-mini-dot-size: 6px;--van-badge-font-family: -apple-system-font, Helvetica Neue, Arial, sans-serif}.van-badge{display:inline-block;box-sizing:border-box;min-width:var(--van-badge-size);padding:var(--van-badge-padding);color:var(--van-badge-color);font-weight:var(--van-badge-font-weight);font-size:var(--van-badge-font-size);font-family:var(--van-badge-font-family);line-height:1.2;text-align:center;background:var(--van-badge-background-color);border:var(--van-badge-border-width) solid var(--van-background-color-light);border-radius:var(--van-border-radius-max)}.van-badge--fixed{position:absolute;transform-origin:100%}.van-badge--top-left{top:0;left:0;transform:translate(-50%,-50%)}.van-badge--top-right{top:0;right:0;transform:translate(50%,-50%)}.van-badge--bottom-left{bottom:0;left:0;transform:translate(-50%,50%)}.van-badge--bottom-right{bottom:0;right:0;transform:translate(50%,50%)}.van-badge--dot{width:var(--van-badge-dot-size);min-width:0;height:var(--van-badge-dot-size);background:var(--van-badge-dot-color);border-radius:100%;border:none;padding:0}.van-badge--dot.van-badge--mini{width:var(--van-badge-mini-dot-size);height:var(--van-badge-mini-dot-size)}.van-badge__wrapper{position:relative;display:inline-block}
@@ -12,6 +12,10 @@ export declare const Badge: import("../utils").WithInstall<import("vue").DefineC
12
12
  type: BooleanConstructor;
13
13
  default: true;
14
14
  };
15
+ size: {
16
+ type: import("vue").PropType<import("./Badge").BadgeSize>;
17
+ default: import("./Badge").BadgeSize;
18
+ };
15
19
  position: {
16
20
  type: import("vue").PropType<import("./Badge").BadgePosition>;
17
21
  default: import("./Badge").BadgePosition;
@@ -30,6 +34,10 @@ export declare const Badge: import("../utils").WithInstall<import("vue").DefineC
30
34
  type: BooleanConstructor;
31
35
  default: true;
32
36
  };
37
+ size: {
38
+ type: import("vue").PropType<import("./Badge").BadgeSize>;
39
+ default: import("./Badge").BadgeSize;
40
+ };
33
41
  position: {
34
42
  type: import("vue").PropType<import("./Badge").BadgePosition>;
35
43
  default: import("./Badge").BadgePosition;
@@ -38,10 +46,11 @@ export declare const Badge: import("../utils").WithInstall<import("vue").DefineC
38
46
  dot: boolean;
39
47
  tag: keyof HTMLElementTagNameMap;
40
48
  showZero: boolean;
49
+ size: import("./Badge").BadgeSize;
41
50
  position: import("./Badge").BadgePosition;
42
51
  }>>;
43
52
  export default Badge;
44
- export type { BadgeProps, BadgePosition } from './Badge';
53
+ export type { BadgeProps, BadgePosition, BadgeSize } from './Badge';
45
54
  declare module 'vue' {
46
55
  interface GlobalComponents {
47
56
  VanBadge: typeof Badge;
@@ -10,6 +10,7 @@
10
10
  --van-badge-background-color: @badge-background-color;
11
11
  --van-badge-dot-color: @badge-dot-color;
12
12
  --van-badge-dot-size: @badge-dot-size;
13
+ --van-badge-mini-dot-size: @badge-mini-dot-size;
13
14
  --van-badge-font-family: @badge-font-family;
14
15
  }
15
16
 
@@ -65,6 +66,11 @@
65
66
  border-radius: 100%;
66
67
  border: none;
67
68
  padding: 0;
69
+
70
+ &.van-badge--mini {
71
+ width: var(--van-badge-mini-dot-size);
72
+ height: var(--van-badge-mini-dot-size);
73
+ }
68
74
  }
69
75
 
70
76
  &__wrapper {
package/es/badge/var.less CHANGED
@@ -9,4 +9,5 @@
9
9
  @badge-background-color: var(--van-danger-color);
10
10
  @badge-dot-color: var(--van-danger-color);
11
11
  @badge-dot-size: 8px;
12
+ @badge-mini-dot-size: 6px;
12
13
  @badge-font-family: -apple-system-font, Helvetica Neue, Arial, sans-serif;
@@ -129,8 +129,8 @@ declare const _default: import("vue").DefineComponent<{
129
129
  replace: boolean;
130
130
  type: ButtonType;
131
131
  tag: keyof HTMLElementTagNameMap;
132
- round: boolean;
133
132
  size: ButtonSize;
133
+ round: boolean;
134
134
  disabled: boolean;
135
135
  square: boolean;
136
136
  loading: boolean;
@@ -84,8 +84,8 @@ export declare const Button: import("../utils").WithInstall<import("vue").Define
84
84
  replace: boolean;
85
85
  type: import("./types").ButtonType;
86
86
  tag: keyof HTMLElementTagNameMap;
87
- round: boolean;
88
87
  size: import("./types").ButtonSize;
88
+ round: boolean;
89
89
  disabled: boolean;
90
90
  square: boolean;
91
91
  loading: boolean;
@@ -18,10 +18,7 @@ export declare const fieldSharedProps: {
18
18
  type: (NumberConstructor | StringConstructor)[];
19
19
  default: string;
20
20
  };
21
- inputAlign: {
22
- type: PropType<FieldTextAlign>;
23
- default: FieldTextAlign;
24
- };
21
+ inputAlign: PropType<FieldTextAlign>;
25
22
  placeholder: StringConstructor;
26
23
  autocomplete: StringConstructor;
27
24
  errorMessage: StringConstructor;
@@ -115,10 +112,7 @@ declare const fieldProps: {
115
112
  type: (NumberConstructor | StringConstructor)[];
116
113
  default: string;
117
114
  };
118
- inputAlign: {
119
- type: PropType<FieldTextAlign>;
120
- default: FieldTextAlign;
121
- };
115
+ inputAlign: PropType<FieldTextAlign>;
122
116
  placeholder: StringConstructor;
123
117
  autocomplete: StringConstructor;
124
118
  errorMessage: StringConstructor;
@@ -239,10 +233,7 @@ declare const _default: import("vue").DefineComponent<{
239
233
  type: (NumberConstructor | StringConstructor)[];
240
234
  default: string;
241
235
  };
242
- inputAlign: {
243
- type: PropType<FieldTextAlign>;
244
- default: FieldTextAlign;
245
- };
236
+ inputAlign: PropType<FieldTextAlign>;
246
237
  placeholder: StringConstructor;
247
238
  autocomplete: StringConstructor;
248
239
  errorMessage: StringConstructor;
@@ -361,10 +352,7 @@ declare const _default: import("vue").DefineComponent<{
361
352
  type: (NumberConstructor | StringConstructor)[];
362
353
  default: string;
363
354
  };
364
- inputAlign: {
365
- type: PropType<FieldTextAlign>;
366
- default: FieldTextAlign;
367
- };
355
+ inputAlign: PropType<FieldTextAlign>;
368
356
  placeholder: StringConstructor;
369
357
  autocomplete: StringConstructor;
370
358
  errorMessage: StringConstructor;
@@ -429,8 +417,8 @@ declare const _default: import("vue").DefineComponent<{
429
417
  }, {
430
418
  type: FieldType;
431
419
  required: boolean;
432
- center: boolean;
433
420
  size: CellSize;
421
+ center: boolean;
434
422
  noteBold: boolean;
435
423
  noteClickable: boolean;
436
424
  noteReplace: boolean;
@@ -448,7 +436,6 @@ declare const _default: import("vue").DefineComponent<{
448
436
  modelValue: string | number;
449
437
  clearable: boolean;
450
438
  clearIcon: string;
451
- inputAlign: FieldTextAlign;
452
439
  clearTrigger: FieldClearTrigger;
453
440
  formatTrigger: FieldFormatTrigger;
454
441
  error: boolean;
@@ -19,7 +19,7 @@ const fieldSharedProps = {
19
19
  formatter: Function,
20
20
  clearIcon: makeStringProp("clear"),
21
21
  modelValue: makeNumericProp(""),
22
- inputAlign: makeStringProp("left"),
22
+ inputAlign: String,
23
23
  placeholder: String,
24
24
  autocomplete: String,
25
25
  errorMessage: String,
@@ -92,6 +92,7 @@ var stdin_default = defineComponent({
92
92
  return form.props[key];
93
93
  }
94
94
  };
95
+ const inputAlign = computed(() => getProp("inputAlign") || (props.labelPosition === "top" ? "left" : "right"));
95
96
  const showClear = computed(() => {
96
97
  const readonly = getProp("readonly");
97
98
  if (props.clearable && !readonly) {
@@ -333,7 +334,7 @@ var stdin_default = defineComponent({
333
334
  const getInputId = () => props.id || `${id}-input`;
334
335
  const getValidationStatus = () => state.status;
335
336
  const renderInput = () => {
336
- const controlClass = bem("control", [getProp("inputAlign"), {
337
+ const controlClass = bem("control", [inputAlign.value, {
337
338
  error: showError.value,
338
339
  custom: !!slots.input,
339
340
  "min-height": props.type === "textarea" && !props.autosize
@@ -67,10 +67,7 @@ export declare const Field: import("../utils").WithInstall<import("vue").DefineC
67
67
  type: (NumberConstructor | StringConstructor)[];
68
68
  default: string;
69
69
  };
70
- inputAlign: {
71
- type: import("vue").PropType<import("./types").FieldTextAlign>;
72
- default: import("./types").FieldTextAlign;
73
- };
70
+ inputAlign: import("vue").PropType<import("./types").FieldTextAlign>;
74
71
  placeholder: StringConstructor;
75
72
  autocomplete: StringConstructor;
76
73
  errorMessage: StringConstructor;
@@ -189,10 +186,7 @@ export declare const Field: import("../utils").WithInstall<import("vue").DefineC
189
186
  type: (NumberConstructor | StringConstructor)[];
190
187
  default: string;
191
188
  };
192
- inputAlign: {
193
- type: import("vue").PropType<import("./types").FieldTextAlign>;
194
- default: import("./types").FieldTextAlign;
195
- };
189
+ inputAlign: import("vue").PropType<import("./types").FieldTextAlign>;
196
190
  placeholder: StringConstructor;
197
191
  autocomplete: StringConstructor;
198
192
  errorMessage: StringConstructor;
@@ -257,8 +251,8 @@ export declare const Field: import("../utils").WithInstall<import("vue").DefineC
257
251
  }, {
258
252
  type: import("./types").FieldType;
259
253
  required: boolean;
260
- center: boolean;
261
254
  size: import("..").CellSize;
255
+ center: boolean;
262
256
  noteBold: boolean;
263
257
  noteClickable: boolean;
264
258
  noteReplace: boolean;
@@ -276,7 +270,6 @@ export declare const Field: import("../utils").WithInstall<import("vue").DefineC
276
270
  modelValue: string | number;
277
271
  clearable: boolean;
278
272
  clearIcon: string;
279
- inputAlign: import("./types").FieldTextAlign;
280
273
  clearTrigger: import("./types").FieldClearTrigger;
281
274
  formatTrigger: import("./types").FieldFormatTrigger;
282
275
  error: boolean;
package/es/index.d.ts CHANGED
@@ -116,4 +116,4 @@ declare namespace _default {
116
116
  }
117
117
  export default _default;
118
118
  export function install(app: any): void;
119
- export const version: "0.0.32";
119
+ export const version: "0.0.34";
package/es/index.mjs CHANGED
@@ -109,7 +109,7 @@ import { Uploader } from "./uploader/index.mjs";
109
109
  import { VideoPreview } from "./video-preview/index.mjs";
110
110
  import { WorkOrderCard } from "./work-order-card/index.mjs";
111
111
  import { WorkOrderFilter } from "./work-order-filter/index.mjs";
112
- const version = "0.0.32";
112
+ const version = "0.0.34";
113
113
  function install(app) {
114
114
  const components = [
115
115
  ActionBar,
@@ -15,30 +15,27 @@ const CircularIcon = _createVNode("svg", {
15
15
  }, null)]);
16
16
  const IllustrationIcon = _createVNode("svg", {
17
17
  "class": bem("illustration"),
18
- "viewBox": "0 0 120 120",
19
- "role": "img",
20
- "aria-label": "Loading"
18
+ "viewBox": "0 0 100 100",
19
+ "fill": "none",
20
+ "aria-hidden": "true"
21
21
  }, [_createVNode("rect", {
22
- "x": "16",
23
- "y": "42",
24
- "width": "88",
25
- "height": "62",
26
- "rx": "8",
27
- "fill": "currentColor",
28
- "opacity": "0.12"
29
- }, null), _createVNode("path", {
30
- "d": "M28 42h64v62H28z",
22
+ "x": "18",
23
+ "y": "36",
24
+ "width": "64",
25
+ "height": "48",
26
+ "rx": "6",
31
27
  "fill": "currentColor",
32
- "opacity": "0.24"
28
+ "opacity": "0.14"
33
29
  }, null), _createVNode("path", {
34
- "d": "M38 54h12v12H38zm18 0h12v12H56zm18 0h12v12H74zM38 74h12v18H38zm18 0h12v18H56zm18 0h12v18H74z",
35
- "fill": "currentColor",
36
- "opacity": "0.78"
30
+ "d": "M28 84V46h44v38M39 84V62h22v22M38 51h4m16 0h4M38 57h4m16 0h4",
31
+ "stroke": "currentColor",
32
+ "stroke-width": "4",
33
+ "stroke-linecap": "round",
34
+ "stroke-linejoin": "round"
37
35
  }, null), _createVNode("path", {
38
- "d": "M48 42V27c0-7 5-12 12-12s12 5 12 12v15",
39
- "fill": "none",
36
+ "d": "M50 18v12m-16-4 8 8m24-8-8 8",
40
37
  "stroke": "currentColor",
41
- "stroke-width": "8",
38
+ "stroke-width": "4",
42
39
  "stroke-linecap": "round"
43
40
  }, null)]);
44
41
  const loadingProps = {
@@ -179,8 +179,8 @@ declare const _default: import("vue").DefineComponent<{
179
179
  }, {
180
180
  required: boolean;
181
181
  title: string;
182
- icon: string;
183
182
  size: string | number;
183
+ icon: string;
184
184
  border: boolean;
185
185
  disabled: boolean;
186
186
  modelValue: number;
@@ -191,8 +191,8 @@ export declare const RateCell: import("../utils").WithInstall<import("vue").Defi
191
191
  }, {
192
192
  required: boolean;
193
193
  title: string;
194
- icon: string;
195
194
  size: string | number;
195
+ icon: string;
196
196
  border: boolean;
197
197
  disabled: boolean;
198
198
  modelValue: number;
@@ -1,4 +1,5 @@
1
1
  import { type ExtractPropTypes } from 'vue';
2
+ import { FieldTextAlign } from '../field';
2
3
  import type { SearchShape, SearchVariant } from './types';
3
4
  declare const searchProps: {
4
5
  id: StringConstructor;
@@ -17,10 +18,7 @@ declare const searchProps: {
17
18
  type: (NumberConstructor | StringConstructor)[];
18
19
  default: string;
19
20
  };
20
- inputAlign: {
21
- type: import("vue").PropType<import("../field").FieldTextAlign>;
22
- default: import("../field").FieldTextAlign;
23
- };
21
+ inputAlign: import("vue").PropType<FieldTextAlign>;
24
22
  placeholder: StringConstructor;
25
23
  autocomplete: StringConstructor;
26
24
  errorMessage: StringConstructor;
@@ -55,6 +53,10 @@ declare const searchProps: {
55
53
  type: import("vue").PropType<SearchVariant>;
56
54
  default: SearchVariant;
57
55
  };
56
+ inputAlign: {
57
+ type: import("vue").PropType<FieldTextAlign>;
58
+ default: FieldTextAlign;
59
+ };
58
60
  leftIcon: {
59
61
  type: import("vue").PropType<string>;
60
62
  default: string;
@@ -85,10 +87,7 @@ declare const _default: import("vue").DefineComponent<{
85
87
  type: (NumberConstructor | StringConstructor)[];
86
88
  default: string;
87
89
  };
88
- inputAlign: {
89
- type: import("vue").PropType<import("../field").FieldTextAlign>;
90
- default: import("../field").FieldTextAlign;
91
- };
90
+ inputAlign: import("vue").PropType<FieldTextAlign>;
92
91
  placeholder: StringConstructor;
93
92
  autocomplete: StringConstructor;
94
93
  errorMessage: StringConstructor;
@@ -123,6 +122,10 @@ declare const _default: import("vue").DefineComponent<{
123
122
  type: import("vue").PropType<SearchVariant>;
124
123
  default: SearchVariant;
125
124
  };
125
+ inputAlign: {
126
+ type: import("vue").PropType<FieldTextAlign>;
127
+ default: FieldTextAlign;
128
+ };
126
129
  leftIcon: {
127
130
  type: import("vue").PropType<string>;
128
131
  default: string;
@@ -151,10 +154,7 @@ declare const _default: import("vue").DefineComponent<{
151
154
  type: (NumberConstructor | StringConstructor)[];
152
155
  default: string;
153
156
  };
154
- inputAlign: {
155
- type: import("vue").PropType<import("../field").FieldTextAlign>;
156
- default: import("../field").FieldTextAlign;
157
- };
157
+ inputAlign: import("vue").PropType<FieldTextAlign>;
158
158
  placeholder: StringConstructor;
159
159
  autocomplete: StringConstructor;
160
160
  errorMessage: StringConstructor;
@@ -189,6 +189,10 @@ declare const _default: import("vue").DefineComponent<{
189
189
  type: import("vue").PropType<SearchVariant>;
190
190
  default: SearchVariant;
191
191
  };
192
+ inputAlign: {
193
+ type: import("vue").PropType<FieldTextAlign>;
194
+ default: FieldTextAlign;
195
+ };
192
196
  leftIcon: {
193
197
  type: import("vue").PropType<string>;
194
198
  default: string;
@@ -218,7 +222,7 @@ declare const _default: import("vue").DefineComponent<{
218
222
  leftIcon: string;
219
223
  clearable: boolean;
220
224
  clearIcon: string;
221
- inputAlign: import("../field").FieldTextAlign;
225
+ inputAlign: FieldTextAlign;
222
226
  clearTrigger: import("../field").FieldClearTrigger;
223
227
  formatTrigger: import("../field").FieldFormatTrigger;
224
228
  error: boolean;
@@ -9,6 +9,7 @@ const searchProps = extend({}, fieldSharedProps, {
9
9
  label: String,
10
10
  shape: makeStringProp("round"),
11
11
  variant: makeStringProp("default"),
12
+ inputAlign: makeStringProp("left"),
12
13
  leftIcon: makeStringProp("search"),
13
14
  clearable: truthProp,
14
15
  actionText: String,
@@ -16,10 +16,7 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
16
16
  type: (NumberConstructor | StringConstructor)[];
17
17
  default: string;
18
18
  };
19
- inputAlign: {
20
- type: import("vue").PropType<import("..").FieldTextAlign>;
21
- default: import("..").FieldTextAlign;
22
- };
19
+ inputAlign: import("vue").PropType<import("..").FieldTextAlign>;
23
20
  placeholder: StringConstructor;
24
21
  autocomplete: StringConstructor;
25
22
  errorMessage: StringConstructor;
@@ -54,6 +51,10 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
54
51
  type: import("vue").PropType<import("./types").SearchVariant>;
55
52
  default: import("./types").SearchVariant;
56
53
  };
54
+ inputAlign: {
55
+ type: import("vue").PropType<import("..").FieldTextAlign>;
56
+ default: import("..").FieldTextAlign;
57
+ };
57
58
  leftIcon: {
58
59
  type: import("vue").PropType<string>;
59
60
  default: string;
@@ -82,10 +83,7 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
82
83
  type: (NumberConstructor | StringConstructor)[];
83
84
  default: string;
84
85
  };
85
- inputAlign: {
86
- type: import("vue").PropType<import("..").FieldTextAlign>;
87
- default: import("..").FieldTextAlign;
88
- };
86
+ inputAlign: import("vue").PropType<import("..").FieldTextAlign>;
89
87
  placeholder: StringConstructor;
90
88
  autocomplete: StringConstructor;
91
89
  errorMessage: StringConstructor;
@@ -120,6 +118,10 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
120
118
  type: import("vue").PropType<import("./types").SearchVariant>;
121
119
  default: import("./types").SearchVariant;
122
120
  };
121
+ inputAlign: {
122
+ type: import("vue").PropType<import("..").FieldTextAlign>;
123
+ default: import("..").FieldTextAlign;
124
+ };
123
125
  leftIcon: {
124
126
  type: import("vue").PropType<string>;
125
127
  default: string;
@@ -1 +1 @@
1
- :root{--van-sidebar-width: 80px}.van-sidebar{width:var(--van-sidebar-width);overflow-y:auto;-webkit-overflow-scrolling:touch}
1
+ :root{--van-sidebar-width: 80px}.van-sidebar{width:var(--van-sidebar-width);overflow-y:auto;background:var(--van-gray-2);-webkit-overflow-scrolling:touch}
@@ -7,5 +7,6 @@
7
7
  .van-sidebar {
8
8
  width: var(--van-sidebar-width);
9
9
  overflow-y: auto;
10
+ background: var(--van-gray-2);
10
11
  -webkit-overflow-scrolling: touch;
11
12
  }
@@ -1 +1 @@
1
- :root{--van-sidebar-font-size: var(--van-font-size-md);--van-sidebar-line-height: var(--van-line-height-md);--van-sidebar-text-color: var(--van-text-color);--van-sidebar-disabled-text-color: var(--van-text-color-3);--van-sidebar-padding: 20px var(--van-padding-sm);--van-sidebar-active-color: var(--van-active-color);--van-sidebar-background-color: var(--van-background-color);--van-sidebar-selected-font-weight: var(--van-font-weight-bold);--van-sidebar-selected-text-color: var(--van-text-color);--van-sidebar-selected-border-width: 4px;--van-sidebar-selected-border-height: 16px;--van-sidebar-selected-border-color: var(--van-primary-color);--van-sidebar-selected-background-color: var(--van-background-color-light)}.van-sidebar-item{position:relative;display:block;box-sizing:border-box;padding:var(--van-sidebar-padding);overflow:hidden;color:var(--van-sidebar-text-color);font-size:var(--van-sidebar-font-size);line-height:var(--van-sidebar-line-height);background:var(--van-sidebar-background-color);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.van-sidebar-item:active{background-color:var(--van-sidebar-active-color)}.van-sidebar-item:not(:last-child):after{border-bottom-width:1px}.van-sidebar-item__text{word-break:break-all}.van-sidebar-item--select{color:var(--van-sidebar-selected-text-color);font-weight:var(--van-sidebar-selected-font-weight)}.van-sidebar-item--select,.van-sidebar-item--select:active{background-color:var(--van-sidebar-selected-background-color)}.van-sidebar-item--select:before{position:absolute;top:50%;left:0;width:var(--van-sidebar-selected-border-width);height:var(--van-sidebar-selected-border-height);background-color:var(--van-sidebar-selected-border-color);transform:translateY(-50%);content:""}.van-sidebar-item--disabled{color:var(--van-sidebar-disabled-text-color);cursor:not-allowed}.van-sidebar-item--disabled:active{background-color:var(--van-sidebar-background-color)}
1
+ :root{--van-sidebar-font-size: var(--van-font-size-md);--van-sidebar-line-height: var(--van-line-height-lg);--van-sidebar-text-color: var(--van-text-color);--van-sidebar-disabled-text-color: var(--van-text-color-3);--van-sidebar-padding: 20px var(--van-padding-xs);--van-sidebar-active-color: var(--van-active-color);--van-sidebar-background-color: var(--van-gray-2);--van-sidebar-selected-font-weight: 600;--van-sidebar-selected-text-color: var(--van-blue);--van-sidebar-selected-border-width: 3px;--van-sidebar-selected-border-height: 12px;--van-sidebar-selected-border-color: var(--van-primary-color);--van-sidebar-selected-background-color: var(--van-background-color-light)}.van-sidebar-item{position:relative;display:flex;box-sizing:border-box;min-height:60px;padding:var(--van-sidebar-padding);overflow:hidden;color:var(--van-sidebar-text-color);font-size:var(--van-sidebar-font-size);line-height:var(--van-sidebar-line-height);text-align:center;background:var(--van-sidebar-background-color);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.van-sidebar-item:active{background-color:var(--van-sidebar-background-color)}.van-sidebar-item__text{position:static;display:flex;flex:1;align-items:center;justify-content:center;min-width:0;overflow-wrap:anywhere;word-break:break-word}.van-sidebar-item--select{padding:4px;color:var(--van-sidebar-selected-text-color);font-weight:var(--van-sidebar-selected-font-weight)}.van-sidebar-item--select,.van-sidebar-item--select:active{background-color:var(--van-sidebar-background-color)}.van-sidebar-item--select .van-sidebar-item__text{min-height:52px;padding:0 4px;background-color:var(--van-sidebar-selected-background-color);border-radius:var(--van-border-radius-lg)}.van-sidebar-item--select:before{position:absolute;top:24px;left:8px;width:var(--van-sidebar-selected-border-width);height:var(--van-sidebar-selected-border-height);background-color:var(--van-sidebar-selected-border-color);border-radius:var(--van-border-radius-md);content:""}.van-sidebar-item .van-badge--fixed{top:10px;right:10px;transform:none}.van-sidebar-item .van-badge--dot{top:20px;right:14px;width:6px;height:6px;background-color:var(--van-red)}.van-sidebar-item--disabled{color:var(--van-sidebar-disabled-text-color);cursor:not-allowed}.van-sidebar-item--disabled:active{background-color:var(--van-sidebar-background-color)}
@@ -18,51 +18,77 @@
18
18
 
19
19
  .van-sidebar-item {
20
20
  position: relative;
21
- display: block;
21
+ display: flex;
22
22
  box-sizing: border-box;
23
+ min-height: 60px;
23
24
  padding: var(--van-sidebar-padding);
24
25
  overflow: hidden;
25
26
  color: var(--van-sidebar-text-color);
26
27
  font-size: var(--van-sidebar-font-size);
27
28
  line-height: var(--van-sidebar-line-height);
29
+ text-align: center;
28
30
  background: var(--van-sidebar-background-color);
29
31
  cursor: pointer;
30
32
  user-select: none;
31
33
 
32
34
  &:active {
33
- background-color: var(--van-sidebar-active-color);
34
- }
35
-
36
- &:not(:last-child)::after {
37
- border-bottom-width: 1px;
35
+ background-color: var(--van-sidebar-background-color);
38
36
  }
39
37
 
40
38
  &__text {
41
- // https://github.com/vant-ui/vant/issues/7455
42
- word-break: break-all;
39
+ position: static;
40
+ display: flex;
41
+ flex: 1;
42
+ align-items: center;
43
+ justify-content: center;
44
+ min-width: 0;
45
+ overflow-wrap: anywhere;
46
+ word-break: break-word;
43
47
  }
44
48
 
45
49
  &--select {
50
+ padding: 4px;
46
51
  color: var(--van-sidebar-selected-text-color);
47
52
  font-weight: var(--van-sidebar-selected-font-weight);
48
53
 
49
54
  &,
50
55
  &:active {
56
+ background-color: var(--van-sidebar-background-color);
57
+ }
58
+
59
+ .van-sidebar-item__text {
60
+ min-height: 52px;
61
+ padding: 0 4px;
51
62
  background-color: var(--van-sidebar-selected-background-color);
63
+ border-radius: var(--van-border-radius-lg);
52
64
  }
53
65
 
54
66
  &::before {
55
67
  position: absolute;
56
- top: 50%;
57
- left: 0;
68
+ top: 24px;
69
+ left: 8px;
58
70
  width: var(--van-sidebar-selected-border-width);
59
71
  height: var(--van-sidebar-selected-border-height);
60
72
  background-color: var(--van-sidebar-selected-border-color);
61
- transform: translateY(-50%);
73
+ border-radius: var(--van-border-radius-md);
62
74
  content: '';
63
75
  }
64
76
  }
65
77
 
78
+ .van-badge--fixed {
79
+ top: 10px;
80
+ right: 10px;
81
+ transform: none;
82
+ }
83
+
84
+ .van-badge--dot {
85
+ top: 20px;
86
+ right: 14px;
87
+ width: 6px;
88
+ height: 6px;
89
+ background-color: var(--van-red);
90
+ }
91
+
66
92
  &--disabled {
67
93
  color: var(--van-sidebar-disabled-text-color);
68
94
  cursor: not-allowed;