persagy-vant 0.0.40 → 0.0.42

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 (139) hide show
  1. package/es/blue-mark/BlueMarkHeader.d.ts +13 -0
  2. package/es/blue-mark/BlueMarkHeader.mjs +3 -1
  3. package/es/blue-mark/CollapseToggle.d.ts +13 -0
  4. package/es/blue-mark/CollapseToggle.mjs +5 -1
  5. package/es/blue-mark/index.d.ts +18 -0
  6. package/es/checkbox-panel/CheckboxPanel.d.ts +86 -1
  7. package/es/checkbox-panel/CheckboxPanel.mjs +184 -36
  8. package/es/checkbox-panel/index.css +1 -1
  9. package/es/checkbox-panel/index.d.ts +63 -1
  10. package/es/checkbox-panel/index.less +89 -2
  11. package/es/checkbox-panel/style/index.mjs +5 -0
  12. package/es/checkbox-panel/style/less.mjs +5 -0
  13. package/es/index.d.ts +2 -1
  14. package/es/index.mjs +4 -1
  15. package/es/label/Label.d.ts +13 -0
  16. package/es/label/Label.mjs +11 -4
  17. package/es/label/index.css +1 -1
  18. package/es/label/index.d.ts +9 -0
  19. package/es/label/index.less +5 -0
  20. package/es/locale/lang/en-US.d.ts +3 -0
  21. package/es/locale/lang/en-US.mjs +3 -0
  22. package/es/locale/lang/zh-CN.d.ts +3 -0
  23. package/es/locale/lang/zh-CN.mjs +3 -0
  24. package/es/location-select/style/index.mjs +1 -1
  25. package/es/location-select/style/less.mjs +1 -1
  26. package/es/material-action-bar/MaterialActionBar.d.ts +19 -0
  27. package/es/material-action-bar/MaterialActionBar.mjs +12 -6
  28. package/es/material-action-bar/index.css +1 -1
  29. package/es/material-action-bar/index.d.ts +36 -0
  30. package/es/material-action-bar/index.less +5 -3
  31. package/es/material-add/index.css +1 -1
  32. package/es/material-add/style/index.mjs +1 -1
  33. package/es/material-add/style/less.mjs +1 -1
  34. package/es/material-display-bar/MaterialDisplayBar.mjs +0 -1
  35. package/es/material-display-bar/index.css +1 -1
  36. package/es/material-display-bar/index.less +2 -1
  37. package/es/material-display-bar/var.less +3 -2
  38. package/es/notice-bar/index.css +1 -1
  39. package/es/notice-bar/index.less +13 -0
  40. package/es/stepper/Stepper.d.ts +1 -1
  41. package/es/stepper/index.css +1 -1
  42. package/es/stepper/index.less +19 -0
  43. package/es/tabs/Tabs.mjs +3 -2
  44. package/es/tabs/index.css +1 -1
  45. package/es/tabs/index.less +15 -5
  46. package/es/tabs/var.less +1 -0
  47. package/es/title-bar/TitleBar.d.ts +44 -0
  48. package/es/title-bar/TitleBar.mjs +9 -1
  49. package/es/title-bar/index.css +1 -1
  50. package/es/title-bar/index.d.ts +30 -0
  51. package/es/title-bar/index.less +10 -3
  52. package/es/title-bar/var.less +2 -1
  53. package/es/tree-select/TreeSelect.d.ts +3 -0
  54. package/es/tree-select/TreeSelect.mjs +18 -2
  55. package/es/tree-select/index.d.ts +2 -0
  56. package/es/tree-select-panel/TreeSelectPanel.d.ts +181 -0
  57. package/es/tree-select-panel/TreeSelectPanel.mjs +213 -0
  58. package/es/tree-select-panel/index.css +1 -0
  59. package/es/tree-select-panel/index.d.ts +134 -0
  60. package/es/tree-select-panel/index.less +107 -0
  61. package/es/tree-select-panel/index.mjs +8 -0
  62. package/es/tree-select-panel/style/index.mjs +23 -0
  63. package/es/tree-select-panel/style/less.mjs +23 -0
  64. package/lib/blue-mark/BlueMarkHeader.d.ts +13 -0
  65. package/lib/blue-mark/BlueMarkHeader.js +2 -0
  66. package/lib/blue-mark/CollapseToggle.d.ts +13 -0
  67. package/lib/blue-mark/CollapseToggle.js +5 -1
  68. package/lib/blue-mark/index.d.ts +18 -0
  69. package/lib/checkbox-panel/CheckboxPanel.d.ts +86 -1
  70. package/lib/checkbox-panel/CheckboxPanel.js +183 -35
  71. package/lib/checkbox-panel/index.css +1 -1
  72. package/lib/checkbox-panel/index.d.ts +63 -1
  73. package/lib/checkbox-panel/index.less +89 -2
  74. package/lib/checkbox-panel/style/index.js +5 -0
  75. package/lib/checkbox-panel/style/less.js +5 -0
  76. package/lib/index.css +1 -1
  77. package/lib/index.d.ts +2 -1
  78. package/lib/index.js +4 -1
  79. package/lib/index.less +6 -5
  80. package/lib/label/Label.d.ts +13 -0
  81. package/lib/label/Label.js +11 -4
  82. package/lib/label/index.css +1 -1
  83. package/lib/label/index.d.ts +9 -0
  84. package/lib/label/index.less +5 -0
  85. package/lib/locale/lang/en-US.d.ts +3 -0
  86. package/lib/locale/lang/en-US.js +3 -0
  87. package/lib/locale/lang/zh-CN.d.ts +3 -0
  88. package/lib/locale/lang/zh-CN.js +3 -0
  89. package/lib/location-select/style/index.js +1 -1
  90. package/lib/location-select/style/less.js +1 -1
  91. package/lib/material-action-bar/MaterialActionBar.d.ts +19 -0
  92. package/lib/material-action-bar/MaterialActionBar.js +11 -5
  93. package/lib/material-action-bar/index.css +1 -1
  94. package/lib/material-action-bar/index.d.ts +36 -0
  95. package/lib/material-action-bar/index.less +5 -3
  96. package/lib/material-add/index.css +1 -1
  97. package/lib/material-add/style/index.js +1 -1
  98. package/lib/material-add/style/less.js +1 -1
  99. package/lib/material-display-bar/MaterialDisplayBar.js +0 -1
  100. package/lib/material-display-bar/index.css +1 -1
  101. package/lib/material-display-bar/index.less +2 -1
  102. package/lib/material-display-bar/var.less +3 -2
  103. package/lib/notice-bar/index.css +1 -1
  104. package/lib/notice-bar/index.less +13 -0
  105. package/lib/stepper/Stepper.d.ts +1 -1
  106. package/lib/stepper/index.css +1 -1
  107. package/lib/stepper/index.less +19 -0
  108. package/lib/tabs/Tabs.js +3 -2
  109. package/lib/tabs/index.css +1 -1
  110. package/lib/tabs/index.less +15 -5
  111. package/lib/tabs/var.less +1 -0
  112. package/lib/title-bar/TitleBar.d.ts +44 -0
  113. package/lib/title-bar/TitleBar.js +9 -1
  114. package/lib/title-bar/index.css +1 -1
  115. package/lib/title-bar/index.d.ts +30 -0
  116. package/lib/title-bar/index.less +10 -3
  117. package/lib/title-bar/var.less +2 -1
  118. package/lib/tree-select/TreeSelect.d.ts +3 -0
  119. package/lib/tree-select/TreeSelect.js +18 -2
  120. package/lib/tree-select/index.d.ts +2 -0
  121. package/lib/tree-select-panel/TreeSelectPanel.d.ts +181 -0
  122. package/lib/tree-select-panel/TreeSelectPanel.js +232 -0
  123. package/lib/tree-select-panel/index.css +1 -0
  124. package/lib/tree-select-panel/index.d.ts +134 -0
  125. package/lib/tree-select-panel/index.js +37 -0
  126. package/lib/tree-select-panel/index.less +107 -0
  127. package/lib/tree-select-panel/style/index.js +23 -0
  128. package/lib/tree-select-panel/style/less.js +23 -0
  129. package/lib/vant.cjs.js +1997 -1605
  130. package/lib/vant.es.js +1998 -1606
  131. package/lib/vant.js +1997 -1605
  132. package/lib/vant.min.js +1 -1
  133. package/lib/web-types.json +1 -1
  134. package/package.json +1 -1
  135. package/skills/use-persagy-vant/references/component-catalog.md +1 -1
  136. package/skills/use-persagy-vant/references/design-interaction-baseline.md +1 -0
  137. package/skills/use-persagy-vant/references/element-component-matching.md +1 -0
  138. package/skills/use-persagy-vant/references/page-recipes.md +1 -0
  139. package/skills/use-persagy-vant/references/public-style-system.md +6 -0
@@ -4,6 +4,7 @@
4
4
  --van-material-display-bar-padding: @material-detail-padding;
5
5
  --van-material-display-bar-radius: @material-detail-radius;
6
6
  --van-material-display-bar-gap: @material-detail-gap;
7
+ --van-material-display-bar-bottom-gap: @material-detail-bottom-gap;
7
8
  --van-material-display-bar-fields-gap: @material-detail-fields-gap;
8
9
  --van-material-display-bar-field-label-max-width: @material-detail-field-label-max-width;
9
10
  --van-material-display-bar-title-color: @material-detail-title-color;
@@ -128,7 +129,7 @@
128
129
  margin: 0 var(--van-padding-md);
129
130
  }
130
131
 
131
- &__bottom { display: flex; flex-direction: column; gap: var(--van-material-display-bar-gap); }
132
+ &__bottom { display: flex; flex-direction: column; gap: var(--van-material-display-bar-bottom-gap); }
132
133
 
133
134
  &__swipe-cell {
134
135
  overflow: hidden;
@@ -1,10 +1,11 @@
1
1
  @material-detail-padding: 10px var(--van-padding-md);
2
2
  @material-detail-radius: var(--van-border-radius-lg);
3
- @material-detail-gap: 4px;
3
+ @material-detail-gap: 6px;
4
+ @material-detail-bottom-gap: 2px;
4
5
  @material-detail-fields-gap: 0;
5
6
  @material-detail-field-label-max-width: 120px;
6
7
  @material-detail-title-color: var(--van-gray-8);
7
- @material-detail-title-font-size: var(--van-font-size-md);
8
+ @material-detail-title-font-size: 15px;
8
9
  @material-detail-title-font-weight: var(--van-font-weight-bold);
9
10
  @material-detail-title-line-height: var(--van-line-height-lg);
10
11
  @material-detail-title-gap: 2px;
@@ -1 +1 @@
1
- :root{--van-notice-bar-height: 40px;--van-notice-bar-padding: 0 var(--van-padding-md);--van-notice-bar-wrapable-padding: var(--van-padding-xs) var(--van-padding-md);--van-notice-bar-text-color: var(--van-blue-700);--van-notice-bar-font-size: var(--van-font-size-md);--van-notice-bar-line-height: 24px;--van-notice-bar-background-color: var(--van-blue-100);--van-notice-bar-border-radius: var(--van-border-radius-lg);--van-notice-bar-round-margin: 0 var(--van-padding-md);--van-notice-bar-icon-size: 16px;--van-notice-bar-icon-min-width: 24px}.van-notice-bar{position:relative;display:flex;align-items:center;height:var(--van-notice-bar-height);padding:var(--van-notice-bar-padding);color:var(--van-notice-bar-text-color);font-size:var(--van-notice-bar-font-size);line-height:var(--van-notice-bar-line-height);background:var(--van-notice-bar-background-color)}.van-notice-bar--round{margin:var(--van-notice-bar-round-margin);border-radius:var(--van-notice-bar-border-radius)}.van-notice-bar__left-icon,.van-notice-bar__right-icon{min-width:var(--van-notice-bar-icon-min-width);font-size:var(--van-notice-bar-icon-size)}.van-notice-bar__right-icon{text-align:right;cursor:pointer}.van-notice-bar__wrap{position:relative;display:flex;flex:1;align-items:center;height:100%;overflow:hidden}.van-notice-bar__content{position:absolute;white-space:nowrap;transition-timing-function:linear}.van-notice-bar__content.van-ellipsis{max-width:100%}.van-notice-bar--wrapable{height:auto;padding:var(--van-notice-bar-wrapable-padding)}.van-notice-bar--wrapable .van-notice-bar__wrap{height:auto}.van-notice-bar--wrapable .van-notice-bar__content{position:relative;white-space:normal;word-wrap:break-word}
1
+ :root{--van-notice-bar-height: 40px;--van-notice-bar-padding: 0 var(--van-padding-md);--van-notice-bar-wrapable-padding: var(--van-padding-xs) var(--van-padding-md);--van-notice-bar-text-color: var(--van-blue-700);--van-notice-bar-font-size: var(--van-font-size-md);--van-notice-bar-line-height: 24px;--van-notice-bar-background-color: var(--van-blue-100);--van-notice-bar-border-radius: var(--van-border-radius-lg);--van-notice-bar-round-margin: 0 var(--van-padding-md);--van-notice-bar-icon-size: 16px;--van-notice-bar-icon-min-width: 24px}.van-notice-bar{position:relative;display:flex;align-items:center;height:var(--van-notice-bar-height);padding:var(--van-notice-bar-padding);color:var(--van-notice-bar-text-color);font-size:var(--van-notice-bar-font-size);line-height:var(--van-notice-bar-line-height);background:var(--van-notice-bar-background-color)}.van-notice-bar--round{margin:var(--van-notice-bar-round-margin);border-radius:var(--van-notice-bar-border-radius)}.van-notice-bar__left-icon,.van-notice-bar__right-icon{min-width:var(--van-notice-bar-icon-min-width);font-size:var(--van-notice-bar-icon-size)}.van-notice-bar__right-icon{text-align:right;cursor:pointer}.van-notice-bar__wrap{position:relative;display:flex;flex:1;align-items:center;height:100%;overflow:hidden}.van-notice-bar__content{position:absolute;white-space:nowrap;transition-timing-function:linear}.van-notice-bar__content.van-ellipsis{max-width:100%}.van-notice-bar--wrapable{align-items:flex-start;height:auto;padding:var(--van-notice-bar-wrapable-padding)}.van-notice-bar--wrapable .van-notice-bar__left-icon,.van-notice-bar--wrapable .van-notice-bar__right-icon{display:flex;align-items:center;height:var(--van-notice-bar-line-height);line-height:var(--van-notice-bar-line-height)}.van-notice-bar--wrapable .van-notice-bar__right-icon{justify-content:flex-end}.van-notice-bar--wrapable .van-notice-bar__wrap{height:auto}.van-notice-bar--wrapable .van-notice-bar__content{position:relative;white-space:normal;word-wrap:break-word}
@@ -61,10 +61,23 @@
61
61
  }
62
62
 
63
63
  &--wrapable {
64
+ align-items: flex-start;
64
65
  height: auto;
65
66
  padding: var(--van-notice-bar-wrapable-padding);
66
67
 
67
68
  .van-notice-bar {
69
+ &__left-icon,
70
+ &__right-icon {
71
+ display: flex;
72
+ align-items: center;
73
+ height: var(--van-notice-bar-line-height);
74
+ line-height: var(--van-notice-bar-line-height);
75
+ }
76
+
77
+ &__right-icon {
78
+ justify-content: flex-end;
79
+ }
80
+
68
81
  &__wrap {
69
82
  height: auto;
70
83
  }
@@ -1,6 +1,6 @@
1
1
  import { type PropType, type ExtractPropTypes } from 'vue';
2
2
  import { Interceptor } from '../utils';
3
- export declare type StepperTheme = 'default' | 'round';
3
+ export declare type StepperTheme = 'default' | 'round' | 'round-outline';
4
4
  declare const stepperProps: {
5
5
  min: {
6
6
  type: (NumberConstructor | StringConstructor)[];
@@ -1 +1 @@
1
- :root{--van-stepper-background-color: var(--van-active-color);--van-stepper-button-icon-color: var(--van-text-color);--van-stepper-button-disabled-color: var(--van-background-color);--van-stepper-button-disabled-icon-color: var(--van-gray-5);--van-stepper-button-round-theme-color: var(--van-primary-color);--van-stepper-input-width: 32px;--van-stepper-input-height: 28px;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: normal;--van-stepper-input-text-color: var(--van-text-color);--van-stepper-input-disabled-text-color: var(--van-text-color-3);--van-stepper-input-disabled-background-color: var(--van-active-color);--van-stepper-border-radius: var(--van-border-radius-md)}.van-stepper{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.van-stepper__minus,.van-stepper__plus{position:relative;box-sizing:border-box;width:var(--van-stepper-input-height);height:var(--van-stepper-input-height);margin:0;padding:0;color:var(--van-stepper-button-icon-color);vertical-align:middle;background:var(--van-stepper-background-color);border:0}.van-stepper__minus:before,.van-stepper__plus:before{width:50%;height:1px}.van-stepper__minus:after,.van-stepper__plus:after{width:1px;height:50%}.van-stepper__minus:before,.van-stepper__plus:before,.van-stepper__minus:after,.van-stepper__plus:after{position:absolute;top:50%;left:50%;background-color:currentColor;transform:translate(-50%,-50%);content:""}.van-stepper__minus--disabled,.van-stepper__plus--disabled{color:var(--van-stepper-button-disabled-icon-color);background-color:var(--van-stepper-button-disabled-color);cursor:not-allowed}.van-stepper__minus{border-radius:var(--van-stepper-border-radius) 0 0 var(--van-stepper-border-radius)}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 var(--van-stepper-border-radius) var(--van-stepper-border-radius) 0}.van-stepper__input{box-sizing:border-box;width:var(--van-stepper-input-width);height:var(--van-stepper-input-height);margin:0 2px;padding:0;color:var(--van-stepper-input-text-color);font-size:var(--van-stepper-input-font-size);line-height:var(--van-stepper-input-line-height);text-align:center;vertical-align:middle;background:var(--van-stepper-background-color);border:0;border-width:1px 0;border-radius:0;-webkit-appearance:none}.van-stepper__input:disabled{color:var(--van-stepper-input-disabled-text-color);background-color:var(--van-stepper-input-disabled-background-color);-webkit-text-fill-color:var(--van-stepper-input-disabled-text-color);opacity:1}.van-stepper__input:-moz-read-only{cursor:default}.van-stepper__input:read-only{cursor:default}.van-stepper--round .van-stepper__input{background-color:transparent}.van-stepper--round .van-stepper__plus,.van-stepper--round .van-stepper__minus{border-radius:100%}.van-stepper--round .van-stepper__plus--disabled,.van-stepper--round .van-stepper__minus--disabled{opacity:.3;cursor:not-allowed}.van-stepper--round .van-stepper__plus{color:var(--van-white);background:var(--van-stepper-button-round-theme-color)}.van-stepper--round .van-stepper__minus{color:var(--van-stepper-button-round-theme-color);background-color:var(--van-background-color-light);border:1px solid var(--van-stepper-button-round-theme-color)}
1
+ :root{--van-stepper-background-color: var(--van-active-color);--van-stepper-button-icon-color: var(--van-text-color);--van-stepper-button-disabled-color: var(--van-background-color);--van-stepper-button-disabled-icon-color: var(--van-gray-5);--van-stepper-button-round-theme-color: var(--van-primary-color);--van-stepper-input-width: 32px;--van-stepper-input-height: 28px;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: normal;--van-stepper-input-text-color: var(--van-text-color);--van-stepper-input-disabled-text-color: var(--van-text-color-3);--van-stepper-input-disabled-background-color: var(--van-active-color);--van-stepper-border-radius: var(--van-border-radius-md)}.van-stepper{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.van-stepper__minus,.van-stepper__plus{position:relative;box-sizing:border-box;width:var(--van-stepper-input-height);height:var(--van-stepper-input-height);margin:0;padding:0;color:var(--van-stepper-button-icon-color);vertical-align:middle;background:var(--van-stepper-background-color);border:0}.van-stepper__minus:before,.van-stepper__plus:before{width:50%;height:1px}.van-stepper__minus:after,.van-stepper__plus:after{width:1px;height:50%}.van-stepper__minus:before,.van-stepper__plus:before,.van-stepper__minus:after,.van-stepper__plus:after{position:absolute;top:50%;left:50%;background-color:currentColor;transform:translate(-50%,-50%);content:""}.van-stepper__minus--disabled,.van-stepper__plus--disabled{color:var(--van-stepper-button-disabled-icon-color);background-color:var(--van-stepper-button-disabled-color);cursor:not-allowed}.van-stepper__minus{border-radius:var(--van-stepper-border-radius) 0 0 var(--van-stepper-border-radius)}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 var(--van-stepper-border-radius) var(--van-stepper-border-radius) 0}.van-stepper__input{box-sizing:border-box;width:var(--van-stepper-input-width);height:var(--van-stepper-input-height);margin:0 2px;padding:0;color:var(--van-stepper-input-text-color);font-size:var(--van-stepper-input-font-size);line-height:var(--van-stepper-input-line-height);text-align:center;vertical-align:middle;background:var(--van-stepper-background-color);border:0;border-width:1px 0;border-radius:0;-webkit-appearance:none}.van-stepper__input:disabled{color:var(--van-stepper-input-disabled-text-color);background-color:var(--van-stepper-input-disabled-background-color);-webkit-text-fill-color:var(--van-stepper-input-disabled-text-color);opacity:1}.van-stepper__input:-moz-read-only{cursor:default}.van-stepper__input:read-only{cursor:default}.van-stepper--round .van-stepper__input{background-color:transparent}.van-stepper--round .van-stepper__plus,.van-stepper--round .van-stepper__minus{border-radius:100%}.van-stepper--round .van-stepper__plus--disabled,.van-stepper--round .van-stepper__minus--disabled{opacity:.3;cursor:not-allowed}.van-stepper--round .van-stepper__plus{color:var(--van-white);background:var(--van-stepper-button-round-theme-color)}.van-stepper--round .van-stepper__minus{color:var(--van-stepper-button-round-theme-color);background-color:var(--van-background-color-light);border:1px solid var(--van-stepper-button-round-theme-color)}.van-stepper--round-outline .van-stepper__input{background-color:transparent}.van-stepper--round-outline .van-stepper__plus,.van-stepper--round-outline .van-stepper__minus{color:var(--van-stepper-button-round-theme-color);background:var(--van-background-color-light);border:1px solid var(--van-stepper-button-round-theme-color);border-radius:100%}.van-stepper--round-outline .van-stepper__plus--disabled,.van-stepper--round-outline .van-stepper__minus--disabled{opacity:.3;cursor:not-allowed}
@@ -130,4 +130,23 @@
130
130
  border: 1px solid var(--van-stepper-button-round-theme-color);
131
131
  }
132
132
  }
133
+
134
+ &--round-outline {
135
+ .van-stepper__input {
136
+ background-color: transparent;
137
+ }
138
+
139
+ .van-stepper__plus,
140
+ .van-stepper__minus {
141
+ color: var(--van-stepper-button-round-theme-color);
142
+ background: var(--van-background-color-light);
143
+ border: 1px solid var(--van-stepper-button-round-theme-color);
144
+ border-radius: 100%;
145
+
146
+ &--disabled {
147
+ opacity: 0.3;
148
+ cursor: not-allowed;
149
+ }
150
+ }
151
+ }
133
152
  }
package/lib/tabs/Tabs.js CHANGED
@@ -62,7 +62,7 @@ var import_icon = require("../icon");
62
62
  var import_action_sheet = require("../action-sheet");
63
63
  var import_TabsTitle = __toESM(require("./TabsTitle"));
64
64
  var import_TabsContent = __toESM(require("./TabsContent"));
65
- const [name, bem] = (0, import_utils.createNamespace)("tabs");
65
+ const [name, bem, t] = (0, import_utils.createNamespace)("tabs");
66
66
  const tabsProps = {
67
67
  type: (0, import_utils.makeStringProp)("line"),
68
68
  color: String,
@@ -378,8 +378,9 @@ var stdin_default = (0, import_vue.defineComponent)({
378
378
  "name": "ellipsis"
379
379
  }, null)])]), (_c = slots["nav-bottom"]) == null ? void 0 : _c.call(slots), props.more && (0, import_vue.createVNode)(import_action_sheet.ActionSheet, {
380
380
  "show": props.showMore,
381
- "title": props.moreTitle,
381
+ "title": props.moreTitle || t("moreTitle"),
382
382
  "actions": moreActions.value,
383
+ "class": bem("more-panel"),
383
384
  "closeOnClickAction": true,
384
385
  "onUpdate:show": (show) => emit("update:showMore", show),
385
386
  "onSelect": onSelectMore
@@ -1 +1 @@
1
- :root{--van-tab-text-color: var(--van-gray-7);--van-tab-active-text-color: var(--van-text-color);--van-tab-disabled-text-color: var(--van-text-color-3);--van-tab-font-size: var(--van-font-size-md);--van-tab-line-height: var(--van-line-height-md);--van-tabs-default-color: var(--van-primary-color);--van-tabs-line-height: 44px;--van-tabs-card-height: 30px;--van-tabs-nav-background-color: var(--van-background-color-light);--van-tabs-bottom-bar-width: 40px;--van-tabs-bottom-bar-height: 3px;--van-tabs-bottom-bar-color: var(--van-primary-color);--van-tabs-card-active-background-color: var(--van-gray-2);--van-tabs-card-border-color: var(--van-gray-5);--van-tabs-card-gray-background-color: var(--van-gray-1);--van-tabs-card-gray-active-background-color: var(--van-white);--van-tabs-card-gray-active-shadow: 0 2px 5px rgba(27, 33, 41, .1);--van-tabs-filter-background-color: var(--van-gray-2);--van-tabs-filter-active-background-color: var(--van-blue-100);--van-tabs-filter-border-radius: var(--van-border-radius-lg);--van-tabs-more-width: 44px;--van-tabs-more-icon-size: 18px}.van-tab{position:relative;display:flex;flex:1;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--van-padding-base);color:var(--van-tab-text-color);font-size:var(--van-tab-font-size);line-height:var(--van-tab-line-height);cursor:pointer}.van-tab--active{color:var(--van-tab-active-text-color);font-weight:var(--van-font-weight-bold)}.van-tab--disabled{color:var(--van-tab-disabled-text-color);cursor:not-allowed}.van-tab--grow{flex:1 0 auto;padding:0 var(--van-padding-sm)}.van-tab--shrink{flex:none;padding:0 var(--van-padding-xs)}.van-tab--card{position:relative;z-index:1;height:var(--van-tabs-card-height);margin-right:-1px;padding:var(--van-padding-base) var(--van-padding-md);color:var(--van-gray-7);border:var(--van-border-width-base) solid var(--van-tabs-card-border-color);background:var(--van-white)}.van-tab--card:first-child{border-radius:var(--van-border-radius-md) 0 0 var(--van-border-radius-md)}.van-tab--card:last-child{margin-right:0;border-radius:0 var(--van-border-radius-md) var(--van-border-radius-md) 0}.van-tab--card.van-tab--active{z-index:2;color:var(--van-tabs-default-color);border-color:var(--van-tabs-default-color);background-color:var(--van-tabs-card-active-background-color)}.van-tab--card.van-tab--disabled{color:var(--van-gray-4);opacity:1}.van-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.van-tab__badge{display:inline-flex;align-items:center;gap:4px}.van-tab__badge .van-badge--fixed{position:static;transform:none}.van-tab--card-gray{height:var(--van-tabs-card-height);padding:var(--van-padding-base) var(--van-padding-md);color:var(--van-gray-7)}.van-tab--card-gray.van-tab--active{color:var(--van-tabs-default-color);background:var(--van-tabs-card-gray-active-background-color);box-shadow:var(--van-tabs-card-gray-active-shadow);border-radius:var(--van-border-radius-md)}.van-tab--card-gray.van-tab--disabled{color:var(--van-gray-4);opacity:1}.van-tab--filter{flex:none;min-height:var(--van-tabs-card-height);padding:var(--van-padding-base) var(--van-padding-sm);color:var(--van-gray-8);background:var(--van-tabs-filter-background-color);border-radius:var(--van-tabs-filter-border-radius)}.van-tab--filter.van-tab--disabled{color:var(--van-gray-4);opacity:1}.van-tab--filter.van-tab--active{color:var(--van-tabs-default-color);background:var(--van-tabs-filter-active-background-color)}.van-tabs{position:relative}.van-tabs__wrap{position:relative;overflow:hidden}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__nav{position:relative;display:flex;background:var(--van-tabs-nav-background-color);-webkit-user-select:none;-moz-user-select:none;user-select:none}.van-tabs__nav--complete{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-tabs__nav--complete::-webkit-scrollbar{display:none}.van-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:15px}.van-tabs__nav--line.van-tabs__nav--shrink,.van-tabs__nav--line.van-tabs__nav--complete{padding-right:var(--van-padding-xs);padding-left:var(--van-padding-xs)}.van-tabs__nav--card{box-sizing:border-box;height:var(--van-tabs-card-height);margin:0 var(--van-padding-md);border:0;border-radius:var(--van-border-radius-md);overflow:hidden;isolation:isolate}.van-tabs__nav--card.van-tabs__nav--shrink{display:inline-flex}.van-tabs__nav--card-gray{box-sizing:border-box;height:calc(var(--van-tabs-card-height) + var(--van-padding-xs));margin:0 var(--van-padding-md);padding:var(--van-padding-base);background:var(--van-tabs-card-gray-background-color);border-radius:var(--van-border-radius-md);overflow:hidden}.van-tabs__nav--filter{box-sizing:border-box;min-height:calc(var(--van-tabs-card-height) + var(--van-padding-xs));padding:var(--van-padding-xs) var(--van-padding-md);gap:6px}.van-tabs__nav--more{padding-right:var(--van-tabs-more-width)}.van-tabs__line{position:absolute;bottom:15px;left:0;z-index:1;width:var(--van-tabs-bottom-bar-width);height:var(--van-tabs-bottom-bar-height);background:var(--van-tabs-bottom-bar-color);border-radius:var(--van-tabs-bottom-bar-height)}.van-tabs__track{position:relative;display:flex;width:100%;height:100%;will-change:left}.van-tabs__content--animated{overflow:hidden}.van-tabs__more{position:absolute;top:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;width:var(--van-tabs-more-width);padding:0;color:var(--van-tab-text-color);font:inherit;font-size:var(--van-tabs-more-icon-size);background:linear-gradient(270deg,var(--van-tabs-nav-background-color) 70%,transparent);border:0}.van-tabs__more:active{opacity:var(--van-active-opacity)}.van-tabs--line .van-tabs__wrap{height:var(--van-tabs-line-height)}.van-tabs--card{box-sizing:border-box;padding-top:var(--van-padding-xs);background:var(--van-white)}.van-tabs--card>.van-tabs__wrap{height:var(--van-tabs-card-height)}.van-tabs--card-gray{box-sizing:border-box;padding-top:var(--van-padding-xs);background:var(--van-white)}.van-tabs--card-gray>.van-tabs__wrap{height:calc(var(--van-tabs-card-height) + var(--van-padding-xs))}.van-tabs--filter>.van-tabs__wrap{height:calc(var(--van-tabs-card-height) + var(--van-padding-xs))}.van-tabs--filter .van-tabs__more{top:var(--van-padding-xs)}
1
+ :root{--van-tab-text-color: var(--van-gray-7);--van-tab-active-text-color: var(--van-text-color);--van-tab-disabled-text-color: var(--van-text-color-3);--van-tab-font-size: var(--van-font-size-md);--van-tab-line-height: var(--van-line-height-md);--van-tabs-default-color: var(--van-primary-color);--van-tabs-line-height: 44px;--van-tabs-card-height: 30px;--van-tabs-card-border-radius: 8px;--van-tabs-nav-background-color: var(--van-background-color-light);--van-tabs-bottom-bar-width: 40px;--van-tabs-bottom-bar-height: 3px;--van-tabs-bottom-bar-color: var(--van-primary-color);--van-tabs-card-active-background-color: var(--van-gray-2);--van-tabs-card-border-color: var(--van-gray-5);--van-tabs-card-gray-background-color: var(--van-gray-1);--van-tabs-card-gray-active-background-color: var(--van-white);--van-tabs-card-gray-active-shadow: 0 2px 5px rgba(27, 33, 41, .1);--van-tabs-filter-background-color: var(--van-gray-2);--van-tabs-filter-active-background-color: var(--van-blue-100);--van-tabs-filter-border-radius: var(--van-border-radius-lg);--van-tabs-more-width: 44px;--van-tabs-more-icon-size: 18px}.van-tab{position:relative;display:flex;flex:1;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--van-padding-base);color:var(--van-tab-text-color);font-size:var(--van-tab-font-size);line-height:var(--van-tab-line-height);cursor:pointer}.van-tab--active{color:var(--van-tab-active-text-color);font-weight:var(--van-font-weight-bold)}.van-tab--disabled{color:var(--van-tab-disabled-text-color);cursor:not-allowed}.van-tab--grow{flex:1 0 auto;padding:0 var(--van-padding-sm)}.van-tab--shrink{flex:none;padding:0 var(--van-padding-xs)}.van-tab--card{position:relative;z-index:1;height:var(--van-tabs-card-height);margin-right:-1px;padding:var(--van-padding-base) var(--van-padding-md);color:var(--van-gray-7);border:var(--van-border-width-base) solid var(--van-tabs-card-border-color);background:var(--van-white)}.van-tab--card:first-child{border-radius:var(--van-tabs-card-border-radius) 0 0 var(--van-tabs-card-border-radius)}.van-tab--card:last-child{margin-right:0;border-radius:0 var(--van-tabs-card-border-radius) var(--van-tabs-card-border-radius) 0}.van-tab--card.van-tab--active{z-index:2;color:var(--van-tabs-default-color);border-color:var(--van-tabs-default-color);background-color:var(--van-tabs-card-active-background-color)}.van-tab--card.van-tab--disabled{color:var(--van-gray-4);opacity:1}.van-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.van-tab__badge{display:inline-flex;align-items:center;gap:4px}.van-tab__badge .van-badge--fixed{position:static;transform:none}.van-tab--card-gray{height:var(--van-tabs-card-height);padding:var(--van-padding-base) var(--van-padding-md);color:var(--van-gray-7)}.van-tab--card-gray.van-tab--active{color:var(--van-tabs-default-color);background:var(--van-tabs-card-gray-active-background-color);box-shadow:var(--van-tabs-card-gray-active-shadow);border-radius:var(--van-tabs-card-border-radius)}.van-tab--card-gray.van-tab--disabled{color:var(--van-gray-4);opacity:1}.van-tab--filter{flex:none;min-height:var(--van-tabs-card-height);padding:var(--van-padding-base) var(--van-padding-sm);color:var(--van-gray-8);background:var(--van-tabs-filter-background-color);border-radius:var(--van-tabs-filter-border-radius)}.van-tab--filter.van-tab--disabled{color:var(--van-gray-4);opacity:1}.van-tab--filter.van-tab--active{color:var(--van-tabs-default-color);background:var(--van-tabs-filter-active-background-color)}.van-tabs{position:relative}.van-tabs__wrap{position:relative;overflow:hidden}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__nav{position:relative;display:flex;background:var(--van-tabs-nav-background-color);-webkit-user-select:none;-moz-user-select:none;user-select:none}.van-tabs__nav--complete{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-tabs__nav--complete::-webkit-scrollbar{display:none}.van-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:15px}.van-tabs__nav--line.van-tabs__nav--shrink,.van-tabs__nav--line.van-tabs__nav--complete{padding-right:var(--van-padding-xs);padding-left:var(--van-padding-xs)}.van-tabs__nav--card{box-sizing:border-box;height:var(--van-tabs-card-height);margin:0 var(--van-padding-md);border:0;border-radius:var(--van-tabs-card-border-radius);overflow:hidden;isolation:isolate}.van-tabs__nav--card.van-tabs__nav--shrink{display:inline-flex}.van-tabs__nav--card-gray{box-sizing:border-box;height:calc(var(--van-tabs-card-height) + var(--van-padding-xs));margin:0 var(--van-padding-md);padding:var(--van-padding-base);background:var(--van-tabs-card-gray-background-color);border-radius:var(--van-tabs-card-border-radius);overflow:hidden}.van-tabs__nav--filter{box-sizing:border-box;min-height:calc(var(--van-tabs-card-height) + var(--van-padding-xs));padding:var(--van-padding-xs) var(--van-padding-md);gap:6px}.van-tabs__nav--more{padding-right:var(--van-tabs-more-width)}.van-tabs__line{position:absolute;bottom:15px;left:0;z-index:1;width:var(--van-tabs-bottom-bar-width);height:var(--van-tabs-bottom-bar-height);background:var(--van-tabs-bottom-bar-color);border-radius:var(--van-tabs-bottom-bar-height)}.van-tabs__track{position:relative;display:flex;width:100%;height:100%;will-change:left}.van-tabs__content--animated{overflow:hidden}.van-tabs__more{position:absolute;top:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;width:var(--van-tabs-more-width);padding:0;color:var(--van-tab-text-color);font:inherit;font-size:var(--van-tabs-more-icon-size);background:linear-gradient(270deg,var(--van-tabs-nav-background-color) 70%,transparent);border:0}.van-tabs__more:active{opacity:var(--van-active-opacity)}.van-tabs__more-panel{height:auto}.van-tabs__more-panel .van-action-sheet__content{flex:0 1 auto;min-height:0}.van-tabs--line .van-tabs__wrap{height:var(--van-tabs-line-height)}.van-tabs--card{box-sizing:border-box;padding-top:var(--van-padding-xs);background:var(--van-white)}.van-tabs--card>.van-tabs__wrap{height:var(--van-tabs-card-height)}.van-tabs--card-gray{box-sizing:border-box;padding-top:var(--van-padding-xs);background:var(--van-white)}.van-tabs--card-gray>.van-tabs__wrap{height:calc(var(--van-tabs-card-height) + var(--van-padding-xs))}.van-tabs--filter>.van-tabs__wrap{height:calc(var(--van-tabs-card-height) + var(--van-padding-xs))}.van-tabs--filter .van-tabs__more{top:var(--van-padding-xs)}
@@ -9,6 +9,7 @@
9
9
  --van-tabs-default-color: @tabs-default-color;
10
10
  --van-tabs-line-height: @tabs-line-height;
11
11
  --van-tabs-card-height: @tabs-card-height;
12
+ --van-tabs-card-border-radius: @tabs-card-border-radius;
12
13
  --van-tabs-nav-background-color: @tabs-nav-background-color;
13
14
  --van-tabs-bottom-bar-width: @tabs-bottom-bar-width;
14
15
  --van-tabs-bottom-bar-height: @tabs-bottom-bar-height;
@@ -69,12 +70,12 @@
69
70
  background: var(--van-white);
70
71
 
71
72
  &:first-child {
72
- border-radius: var(--van-border-radius-md) 0 0 var(--van-border-radius-md);
73
+ border-radius: var(--van-tabs-card-border-radius) 0 0 var(--van-tabs-card-border-radius);
73
74
  }
74
75
 
75
76
  &:last-child {
76
77
  margin-right: 0;
77
- border-radius: 0 var(--van-border-radius-md) var(--van-border-radius-md) 0;
78
+ border-radius: 0 var(--van-tabs-card-border-radius) var(--van-tabs-card-border-radius) 0;
78
79
  }
79
80
 
80
81
  &.van-tab--active {
@@ -119,7 +120,7 @@
119
120
  color: var(--van-tabs-default-color);
120
121
  background: var(--van-tabs-card-gray-active-background-color);
121
122
  box-shadow: var(--van-tabs-card-gray-active-shadow);
122
- border-radius: var(--van-border-radius-md);
123
+ border-radius: var(--van-tabs-card-border-radius);
123
124
  }
124
125
 
125
126
  &.van-tab--disabled {
@@ -198,7 +199,7 @@
198
199
  height: var(--van-tabs-card-height);
199
200
  margin: 0 var(--van-padding-md);
200
201
  border: 0;
201
- border-radius: var(--van-border-radius-md);
202
+ border-radius: var(--van-tabs-card-border-radius);
202
203
  overflow: hidden;
203
204
  isolation: isolate;
204
205
  }
@@ -213,7 +214,7 @@
213
214
  margin: 0 var(--van-padding-md);
214
215
  padding: var(--van-padding-base);
215
216
  background: var(--van-tabs-card-gray-background-color);
216
- border-radius: var(--van-border-radius-md);
217
+ border-radius: var(--van-tabs-card-border-radius);
217
218
  overflow: hidden;
218
219
  }
219
220
 
@@ -280,6 +281,15 @@
280
281
  }
281
282
  }
282
283
 
284
+ &__more-panel {
285
+ height: auto;
286
+
287
+ .van-action-sheet__content {
288
+ flex: 0 1 auto;
289
+ min-height: 0;
290
+ }
291
+ }
292
+
283
293
  &--line {
284
294
  .van-tabs__wrap {
285
295
  height: var(--van-tabs-line-height);
package/lib/tabs/var.less CHANGED
@@ -8,6 +8,7 @@
8
8
  @tabs-default-color: var(--van-primary-color);
9
9
  @tabs-line-height: 44px;
10
10
  @tabs-card-height: 30px;
11
+ @tabs-card-border-radius: 8px;
11
12
  @tabs-nav-background-color: var(--van-background-color-light);
12
13
  @tabs-bottom-bar-width: 40px;
13
14
  @tabs-bottom-bar-height: 3px;
@@ -1,5 +1,6 @@
1
1
  import { type ExtractPropTypes } from 'vue';
2
2
  export declare type TitleBarSize = 'default' | 'mini';
3
+ export declare type TitleBarBottomGap = '4' | '8' | '12';
3
4
  declare const titleBarProps: {
4
5
  title: {
5
6
  type: import("vue").PropType<string>;
@@ -11,8 +12,17 @@ declare const titleBarProps: {
11
12
  };
12
13
  icon: StringConstructor;
13
14
  showIcon: BooleanConstructor;
15
+ rightIcon: {
16
+ type: import("vue").PropType<string>;
17
+ default: string;
18
+ };
19
+ showRightIcon: BooleanConstructor;
14
20
  showDescription: BooleanConstructor;
15
21
  showArrow: BooleanConstructor;
22
+ showExpandIcon: {
23
+ type: BooleanConstructor;
24
+ default: true;
25
+ };
16
26
  actionText: {
17
27
  type: import("vue").PropType<string>;
18
28
  default: string;
@@ -22,6 +32,10 @@ declare const titleBarProps: {
22
32
  type: import("vue").PropType<TitleBarSize>;
23
33
  default: TitleBarSize;
24
34
  };
35
+ bottomGap: {
36
+ type: import("vue").PropType<TitleBarBottomGap>;
37
+ default: TitleBarBottomGap;
38
+ };
25
39
  expandable: BooleanConstructor;
26
40
  modelValue: {
27
41
  type: BooleanConstructor;
@@ -41,8 +55,17 @@ declare const _default: import("vue").DefineComponent<{
41
55
  };
42
56
  icon: StringConstructor;
43
57
  showIcon: BooleanConstructor;
58
+ rightIcon: {
59
+ type: import("vue").PropType<string>;
60
+ default: string;
61
+ };
62
+ showRightIcon: BooleanConstructor;
44
63
  showDescription: BooleanConstructor;
45
64
  showArrow: BooleanConstructor;
65
+ showExpandIcon: {
66
+ type: BooleanConstructor;
67
+ default: true;
68
+ };
46
69
  actionText: {
47
70
  type: import("vue").PropType<string>;
48
71
  default: string;
@@ -52,6 +75,10 @@ declare const _default: import("vue").DefineComponent<{
52
75
  type: import("vue").PropType<TitleBarSize>;
53
76
  default: TitleBarSize;
54
77
  };
78
+ bottomGap: {
79
+ type: import("vue").PropType<TitleBarBottomGap>;
80
+ default: TitleBarBottomGap;
81
+ };
55
82
  expandable: BooleanConstructor;
56
83
  modelValue: {
57
84
  type: BooleanConstructor;
@@ -69,8 +96,17 @@ declare const _default: import("vue").DefineComponent<{
69
96
  };
70
97
  icon: StringConstructor;
71
98
  showIcon: BooleanConstructor;
99
+ rightIcon: {
100
+ type: import("vue").PropType<string>;
101
+ default: string;
102
+ };
103
+ showRightIcon: BooleanConstructor;
72
104
  showDescription: BooleanConstructor;
73
105
  showArrow: BooleanConstructor;
106
+ showExpandIcon: {
107
+ type: BooleanConstructor;
108
+ default: true;
109
+ };
74
110
  actionText: {
75
111
  type: import("vue").PropType<string>;
76
112
  default: string;
@@ -80,6 +116,10 @@ declare const _default: import("vue").DefineComponent<{
80
116
  type: import("vue").PropType<TitleBarSize>;
81
117
  default: TitleBarSize;
82
118
  };
119
+ bottomGap: {
120
+ type: import("vue").PropType<TitleBarBottomGap>;
121
+ default: TitleBarBottomGap;
122
+ };
83
123
  expandable: BooleanConstructor;
84
124
  modelValue: {
85
125
  type: BooleanConstructor;
@@ -96,12 +136,16 @@ declare const _default: import("vue").DefineComponent<{
96
136
  title: string;
97
137
  size: TitleBarSize;
98
138
  description: string;
139
+ rightIcon: string;
99
140
  showIcon: boolean;
141
+ showRightIcon: boolean;
100
142
  modelValue: boolean;
101
143
  showArrow: boolean;
102
144
  actionText: string;
103
145
  expandable: boolean;
146
+ showExpandIcon: boolean;
104
147
  showAction: boolean;
105
148
  showDescription: boolean;
149
+ bottomGap: TitleBarBottomGap;
106
150
  }>;
107
151
  export default _default;
@@ -30,11 +30,15 @@ const titleBarProps = {
30
30
  description: (0, import_utils.makeStringProp)(""),
31
31
  icon: String,
32
32
  showIcon: Boolean,
33
+ rightIcon: (0, import_utils.makeStringProp)("cross"),
34
+ showRightIcon: Boolean,
33
35
  showDescription: Boolean,
34
36
  showArrow: Boolean,
37
+ showExpandIcon: import_utils.truthProp,
35
38
  actionText: (0, import_utils.makeStringProp)("\u64CD\u4F5C"),
36
39
  showAction: Boolean,
37
40
  size: (0, import_utils.makeStringProp)("default"),
41
+ bottomGap: (0, import_utils.makeStringProp)("4"),
38
42
  expandable: Boolean,
39
43
  modelValue: import_utils.truthProp,
40
44
  required: Boolean
@@ -74,6 +78,7 @@ var stdin_default = (0, import_vue.defineComponent)({
74
78
  return (0, import_vue.createVNode)("section", {
75
79
  "class": bem({
76
80
  mini: props.size === "mini",
81
+ [`bottom-gap-${props.bottomGap}`]: true,
77
82
  expandable: props.expandable,
78
83
  required: props.required
79
84
  })
@@ -102,11 +107,14 @@ var stdin_default = (0, import_vue.defineComponent)({
102
107
  "onClick": onActionClick
103
108
  }, null)])]), props.size !== "mini" && props.showDescription && props.description && (0, import_vue.createVNode)("span", {
104
109
  "class": bem("description")
105
- }, [((_b = slots.description) == null ? void 0 : _b.call(slots)) || props.description])]), (props.showArrow || props.expandable) && (0, import_vue.createVNode)(import_icon.Icon, {
110
+ }, [((_b = slots.description) == null ? void 0 : _b.call(slots)) || props.description])]), (props.showArrow || props.expandable && props.showExpandIcon) && (0, import_vue.createVNode)(import_icon.Icon, {
106
111
  "name": "arrow-up",
107
112
  "class": bem("arrow", {
108
113
  expanded: props.expandable && props.modelValue
109
114
  })
115
+ }, null), props.showRightIcon && (0, import_vue.createVNode)(import_icon.Icon, {
116
+ "name": props.rightIcon,
117
+ "class": bem("right-icon")
110
118
  }, null)]), (!props.expandable || props.modelValue) && ((_c = slots.default) == null ? void 0 : _c.call(slots))]);
111
119
  };
112
120
  }
@@ -1 +1 @@
1
- :root{--van-title-bar-padding: 12px var(--van-padding-md) 4px;--van-title-bar-gap: 4px;--van-title-bar-title-color: var(--van-gray-8);--van-title-bar-description-color: var(--van-gray-6);--van-title-bar-required-color: var(--van-danger-color);--van-title-bar-action-divider-before-gap: 8px;--van-title-bar-action-divider-after-gap: 2px;--van-title-bar-action-divider-color: var(--van-gray-4);--van-title-bar-action-divider-height: 12px;--van-title-bar-action-padding: 0 8px}.van-title-bar{color:var(--van-title-bar-title-color)}.van-title-bar__header{display:flex;align-items:flex-start;width:100%;padding:var(--van-title-bar-padding);color:inherit;font:inherit;text-align:left;background:transparent;border:0}.van-title-bar--required .van-title-bar__header{position:relative;overflow:visible}.van-title-bar--required .van-title-bar__header:before{position:absolute;top:12px;left:var(--van-padding-xs);color:var(--van-title-bar-required-color);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);content:"*"}.van-title-bar--expandable .van-title-bar__header{cursor:pointer}.van-title-bar--expandable .van-title-bar__header:active{background:var(--van-active-color)}.van-title-bar__icon{flex:none;margin:3px 4px 0 0;font-size:16px}.van-title-bar__text{display:flex;flex:1;flex-direction:column;min-width:0}.van-title-bar__title-row{display:flex;align-items:center;min-width:0}.van-title-bar__text strong{flex:0 1 auto;min-width:0;overflow:hidden;font-size:var(--van-font-size-md);font-weight:var(--van-font-weight-bold);line-height:var(--van-line-height-lg);text-overflow:ellipsis;white-space:nowrap}.van-title-bar__description{overflow:hidden;color:var(--van-title-bar-description-color);font-size:var(--van-font-size-sm);font-weight:400;line-height:var(--van-line-height-md);text-overflow:ellipsis;white-space:nowrap}.van-title-bar__action{display:flex;flex:none;align-items:center;margin-left:var(--van-title-bar-action-divider-before-gap)}.van-title-bar__action-divider{width:1px;height:var(--van-title-bar-action-divider-height);margin-right:var(--van-title-bar-action-divider-after-gap);background:var(--van-title-bar-action-divider-color)}.van-title-bar__action .van-button{flex:none;height:var(--van-line-height-lg);padding:var(--van-title-bar-action-padding);font-size:var(--van-font-size-md);font-weight:var(--van-font-weight-bold);line-height:var(--van-line-height-lg)}.van-title-bar__arrow{flex:none;margin:4px 0 0 8px;color:var(--van-gray-6);font-size:14px;transition:transform var(--van-animation-duration-fast);transform:rotate(180deg)}.van-title-bar__arrow--expanded{transform:rotate(0)}.van-title-bar--mini .van-title-bar__header{padding-top:12px;padding-bottom:4px}.van-title-bar--mini .van-title-bar__text strong{font-size:var(--van-font-size-sm);line-height:var(--van-line-height-md)}.van-title-bar--mini .van-title-bar__icon{margin-top:3px;font-size:14px}.van-title-bar--mini .van-title-bar__arrow{margin-top:3px}.van-title-bar--mini .van-title-bar__action .van-button{height:var(--van-line-height-md);font-size:var(--van-font-size-sm);line-height:var(--van-line-height-md)}
1
+ :root{--van-title-bar-padding: 12px var(--van-padding-md) 8px;--van-title-bar-gap: 4px;--van-title-bar-bottom-gap: 4px;--van-title-bar-title-color: var(--van-gray-8);--van-title-bar-description-color: var(--van-gray-6);--van-title-bar-required-color: var(--van-danger-color);--van-title-bar-action-divider-before-gap: 8px;--van-title-bar-action-divider-after-gap: 2px;--van-title-bar-action-divider-color: var(--van-gray-4);--van-title-bar-action-divider-height: 12px;--van-title-bar-action-padding: 0 8px}.van-title-bar{margin-bottom:var(--van-title-bar-bottom-gap);color:var(--van-title-bar-title-color)}.van-title-bar__header{display:flex;box-sizing:border-box;align-items:flex-start;width:100%;padding:var(--van-title-bar-padding);color:inherit;font:inherit;text-align:left;background:transparent;border:0}.van-title-bar--required .van-title-bar__header{position:relative;overflow:visible}.van-title-bar--required .van-title-bar__header:before{position:absolute;top:12px;left:var(--van-padding-xs);color:var(--van-title-bar-required-color);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);content:"*"}.van-title-bar--expandable .van-title-bar__header{cursor:pointer}.van-title-bar--expandable .van-title-bar__header:active{background:var(--van-active-color)}.van-title-bar__icon{flex:none;margin:3px 4px 0 0;font-size:16px}.van-title-bar__text{display:flex;flex:1;flex-direction:column;min-width:0}.van-title-bar__title-row{display:flex;align-items:center;min-width:0}.van-title-bar__text strong{flex:0 1 auto;min-width:0;overflow:hidden;font-size:var(--van-font-size-md);font-weight:var(--van-font-weight-bold);line-height:var(--van-line-height-lg);text-overflow:ellipsis;white-space:nowrap}.van-title-bar__description{overflow:hidden;color:var(--van-title-bar-description-color);font-size:var(--van-font-size-sm);font-weight:400;line-height:var(--van-line-height-md);text-overflow:ellipsis;white-space:nowrap}.van-title-bar__action{display:flex;flex:none;align-items:center;margin-left:var(--van-title-bar-action-divider-before-gap)}.van-title-bar__action-divider{width:1px;height:var(--van-title-bar-action-divider-height);margin-right:var(--van-title-bar-action-divider-after-gap);background:var(--van-title-bar-action-divider-color)}.van-title-bar__action .van-button{flex:none;height:var(--van-line-height-lg);padding:var(--van-title-bar-action-padding);font-size:var(--van-font-size-md);font-weight:var(--van-font-weight-bold);line-height:var(--van-line-height-lg)}.van-title-bar__arrow{flex:none;margin:4px 8px 0 0;color:var(--van-gray-6);font-size:14px;transition:transform var(--van-animation-duration-fast);transform:rotate(180deg)}.van-title-bar__arrow--expanded{transform:rotate(0)}.van-title-bar__right-icon{flex:none;width:16px;height:16px;margin:3px 0 0 8px;color:var(--van-gray-7);font-size:16px;line-height:16px}.van-title-bar--mini .van-title-bar__header{padding-top:12px;padding-bottom:8px}.van-title-bar--mini .van-title-bar__text strong{font-size:var(--van-font-size-sm);line-height:var(--van-line-height-md)}.van-title-bar--mini .van-title-bar__icon{margin-top:3px;font-size:14px}.van-title-bar--mini .van-title-bar__arrow{margin-top:3px}.van-title-bar--mini .van-title-bar__right-icon{width:12px;height:12px;margin-top:3px;font-size:12px;line-height:12px}.van-title-bar--mini .van-title-bar__action .van-button{height:var(--van-line-height-md);font-size:var(--van-font-size-sm);line-height:var(--van-line-height-md)}.van-title-bar--bottom-gap-4{margin-bottom:4px}.van-title-bar--bottom-gap-8{margin-bottom:8px}.van-title-bar--bottom-gap-12{margin-bottom:12px}
@@ -9,8 +9,17 @@ export declare const TitleBar: import("../utils").WithInstall<import("vue").Defi
9
9
  };
10
10
  icon: StringConstructor;
11
11
  showIcon: BooleanConstructor;
12
+ rightIcon: {
13
+ type: import("vue").PropType<string>;
14
+ default: string;
15
+ };
16
+ showRightIcon: BooleanConstructor;
12
17
  showDescription: BooleanConstructor;
13
18
  showArrow: BooleanConstructor;
19
+ showExpandIcon: {
20
+ type: BooleanConstructor;
21
+ default: true;
22
+ };
14
23
  actionText: {
15
24
  type: import("vue").PropType<string>;
16
25
  default: string;
@@ -20,6 +29,10 @@ export declare const TitleBar: import("../utils").WithInstall<import("vue").Defi
20
29
  type: import("vue").PropType<import("./TitleBar").TitleBarSize>;
21
30
  default: import("./TitleBar").TitleBarSize;
22
31
  };
32
+ bottomGap: {
33
+ type: import("vue").PropType<import("./TitleBar").TitleBarBottomGap>;
34
+ default: import("./TitleBar").TitleBarBottomGap;
35
+ };
23
36
  expandable: BooleanConstructor;
24
37
  modelValue: {
25
38
  type: BooleanConstructor;
@@ -37,8 +50,17 @@ export declare const TitleBar: import("../utils").WithInstall<import("vue").Defi
37
50
  };
38
51
  icon: StringConstructor;
39
52
  showIcon: BooleanConstructor;
53
+ rightIcon: {
54
+ type: import("vue").PropType<string>;
55
+ default: string;
56
+ };
57
+ showRightIcon: BooleanConstructor;
40
58
  showDescription: BooleanConstructor;
41
59
  showArrow: BooleanConstructor;
60
+ showExpandIcon: {
61
+ type: BooleanConstructor;
62
+ default: true;
63
+ };
42
64
  actionText: {
43
65
  type: import("vue").PropType<string>;
44
66
  default: string;
@@ -48,6 +70,10 @@ export declare const TitleBar: import("../utils").WithInstall<import("vue").Defi
48
70
  type: import("vue").PropType<import("./TitleBar").TitleBarSize>;
49
71
  default: import("./TitleBar").TitleBarSize;
50
72
  };
73
+ bottomGap: {
74
+ type: import("vue").PropType<import("./TitleBar").TitleBarBottomGap>;
75
+ default: import("./TitleBar").TitleBarBottomGap;
76
+ };
51
77
  expandable: BooleanConstructor;
52
78
  modelValue: {
53
79
  type: BooleanConstructor;
@@ -64,13 +90,17 @@ export declare const TitleBar: import("../utils").WithInstall<import("vue").Defi
64
90
  title: string;
65
91
  size: import("./TitleBar").TitleBarSize;
66
92
  description: string;
93
+ rightIcon: string;
67
94
  showIcon: boolean;
95
+ showRightIcon: boolean;
68
96
  modelValue: boolean;
69
97
  showArrow: boolean;
70
98
  actionText: string;
71
99
  expandable: boolean;
100
+ showExpandIcon: boolean;
72
101
  showAction: boolean;
73
102
  showDescription: boolean;
103
+ bottomGap: import("./TitleBar").TitleBarBottomGap;
74
104
  }>>;
75
105
  export default TitleBar;
76
106
  export type { TitleBarProps, TitleBarSize } from './TitleBar';
@@ -3,6 +3,7 @@
3
3
  :root {
4
4
  --van-title-bar-padding: @title-bar-padding;
5
5
  --van-title-bar-gap: @title-bar-gap;
6
+ --van-title-bar-bottom-gap: @title-bar-bottom-gap;
6
7
  --van-title-bar-title-color: @title-bar-title-color;
7
8
  --van-title-bar-description-color: @title-bar-description-color;
8
9
  --van-title-bar-required-color: @title-bar-required-color;
@@ -14,9 +15,10 @@
14
15
  }
15
16
 
16
17
  .van-title-bar {
18
+ margin-bottom: var(--van-title-bar-bottom-gap);
17
19
  color: var(--van-title-bar-title-color);
18
20
 
19
- &__header { display: flex; align-items: flex-start; width: 100%; padding: var(--van-title-bar-padding); color: inherit; font: inherit; text-align: left; background: transparent; border: 0; }
21
+ &__header { display: flex; box-sizing: border-box; align-items: flex-start; width: 100%; padding: var(--van-title-bar-padding); color: inherit; font: inherit; text-align: left; background: transparent; border: 0; }
20
22
  &--required &__header { position: relative; overflow: visible; }
21
23
  &--required &__header::before { position: absolute; top: 12px; left: var(--van-padding-xs); color: var(--van-title-bar-required-color); font-size: var(--van-font-size-md); line-height: var(--van-line-height-lg); content: '*'; }
22
24
  &--expandable &__header { cursor: pointer; &:active { background: var(--van-active-color); } }
@@ -28,11 +30,16 @@
28
30
  &__action { display: flex; flex: none; align-items: center; margin-left: var(--van-title-bar-action-divider-before-gap); }
29
31
  &__action-divider { width: 1px; height: var(--van-title-bar-action-divider-height); margin-right: var(--van-title-bar-action-divider-after-gap); background: var(--van-title-bar-action-divider-color); }
30
32
  &__action .van-button { flex: none; height: var(--van-line-height-lg); padding: var(--van-title-bar-action-padding); font-size: var(--van-font-size-md); font-weight: var(--van-font-weight-bold); line-height: var(--van-line-height-lg); }
31
- &__arrow { flex: none; margin: 4px 0 0 8px; color: var(--van-gray-6); font-size: 14px; transition: transform var(--van-animation-duration-fast); transform: rotate(180deg); }
33
+ &__arrow { flex: none; margin: 4px 8px 0 0; color: var(--van-gray-6); font-size: 14px; transition: transform var(--van-animation-duration-fast); transform: rotate(180deg); }
32
34
  &__arrow--expanded { transform: rotate(0); }
33
- &--mini &__header { padding-top: 12px; padding-bottom: 4px; }
35
+ &__right-icon { flex: none; width: 16px; height: 16px; margin: 3px 0 0 8px; color: var(--van-gray-7); font-size: 16px; line-height: 16px; }
36
+ &--mini &__header { padding-top: 12px; padding-bottom: 8px; }
34
37
  &--mini &__text strong { font-size: var(--van-font-size-sm); line-height: var(--van-line-height-md); }
35
38
  &--mini &__icon { margin-top: 3px; font-size: 14px; }
36
39
  &--mini &__arrow { margin-top: 3px; }
40
+ &--mini &__right-icon { width: 12px; height: 12px; margin-top: 3px; font-size: 12px; line-height: 12px; }
37
41
  &--mini &__action .van-button { height: var(--van-line-height-md); font-size: var(--van-font-size-sm); line-height: var(--van-line-height-md); }
42
+ &--bottom-gap-4 { margin-bottom: 4px; }
43
+ &--bottom-gap-8 { margin-bottom: 8px; }
44
+ &--bottom-gap-12 { margin-bottom: 12px; }
38
45
  }
@@ -1,7 +1,8 @@
1
1
  @import '../style/var.less';
2
2
 
3
- @title-bar-padding: 12px var(--van-padding-md) 4px;
3
+ @title-bar-padding: 12px var(--van-padding-md) 8px;
4
4
  @title-bar-gap: 4px;
5
+ @title-bar-bottom-gap: 4px;
5
6
  @title-bar-title-color: var(--van-gray-8);
6
7
  @title-bar-description-color: var(--van-gray-6);
7
8
  @title-bar-required-color: var(--van-danger-color);
@@ -25,6 +25,7 @@ declare const treeSelectProps: {
25
25
  cascade: BooleanConstructor;
26
26
  selectableParent: BooleanConstructor;
27
27
  showParentSelect: BooleanConstructor;
28
+ showSelectLevels: PropType<boolean[]>;
28
29
  showDivider: {
29
30
  type: BooleanConstructor;
30
31
  default: true;
@@ -48,6 +49,7 @@ declare const _default: import("vue").DefineComponent<{
48
49
  cascade: BooleanConstructor;
49
50
  selectableParent: BooleanConstructor;
50
51
  showParentSelect: BooleanConstructor;
52
+ showSelectLevels: PropType<boolean[]>;
51
53
  showDivider: {
52
54
  type: BooleanConstructor;
53
55
  default: true;
@@ -69,6 +71,7 @@ declare const _default: import("vue").DefineComponent<{
69
71
  cascade: BooleanConstructor;
70
72
  selectableParent: BooleanConstructor;
71
73
  showParentSelect: BooleanConstructor;
74
+ showSelectLevels: PropType<boolean[]>;
72
75
  showDivider: {
73
76
  type: BooleanConstructor;
74
77
  default: true;
@@ -47,6 +47,7 @@ const treeSelectProps = {
47
47
  cascade: Boolean,
48
48
  selectableParent: Boolean,
49
49
  showParentSelect: Boolean,
50
+ showSelectLevels: Array,
50
51
  showDivider: import_utils.truthProp
51
52
  };
52
53
  var stdin_default = (0, import_vue.defineComponent)({
@@ -61,6 +62,13 @@ var stdin_default = (0, import_vue.defineComponent)({
61
62
  const expandedKeys = (0, import_vue.computed)(() => props.expandedKeys);
62
63
  const isExpanded = (id) => expandedKeys.value.includes(id);
63
64
  const isSelected = (id) => selectedKeys.value.includes(id);
65
+ const isSelectionVisible = (hasChildren, level) => {
66
+ var _a;
67
+ const configuredVisibility = (_a = props.showSelectLevels) == null ? void 0 : _a[level];
68
+ if (configuredVisibility !== void 0)
69
+ return configuredVisibility;
70
+ return !hasChildren || props.selectableParent || props.showParentSelect;
71
+ };
64
72
  const getNodeStyle = (level) => ({
65
73
  paddingLeft: `calc(var(--van-padding-md) + ${level * 16}px)`,
66
74
  "--van-tree-select-divider-left": `calc(var(--van-padding-md) + ${level * 16}px)`
@@ -124,6 +132,14 @@ var stdin_default = (0, import_vue.defineComponent)({
124
132
  var _a;
125
133
  const hasChildren = !!((_a = item.children) == null ? void 0 : _a.length);
126
134
  const expanded = isExpanded(item.id);
135
+ const renderTitle = () => {
136
+ var _a2;
137
+ return ((_a2 = slots.title) == null ? void 0 : _a2.call(slots, {
138
+ item,
139
+ level,
140
+ hasChildren
141
+ })) || item.text;
142
+ };
127
143
  if (!hasChildren && slots.leaf) {
128
144
  return (0, import_vue.createVNode)("div", {
129
145
  "key": item.id,
@@ -136,7 +152,7 @@ var stdin_default = (0, import_vue.defineComponent)({
136
152
  level
137
153
  })]);
138
154
  }
139
- const selectable = item.selectable !== false && (!hasChildren || props.selectableParent || props.showParentSelect);
155
+ const selectable = item.selectable !== false && isSelectionVisible(hasChildren, level);
140
156
  const selectionState = getSelectionState(item);
141
157
  return (0, import_vue.createVNode)("div", {
142
158
  "key": item.id,
@@ -165,7 +181,7 @@ var stdin_default = (0, import_vue.defineComponent)({
165
181
  "class": bem("arrow", {
166
182
  expanded
167
183
  })
168
- }, null), (0, import_vue.createVNode)("span", null, [item.text])]) : (0, import_vue.createVNode)("span", null, [item.text])]
184
+ }, null), (0, import_vue.createVNode)("span", null, [renderTitle()])]) : (0, import_vue.createVNode)("span", null, [renderTitle()])]
169
185
  }, selectable && selectionState === "indeterminate" ? {
170
186
  "right-select": () => (0, import_vue.createVNode)("button", {
171
187
  "type": "button",
@@ -15,6 +15,7 @@ export declare const TreeSelect: import("../utils").WithInstall<import("vue").De
15
15
  cascade: BooleanConstructor;
16
16
  selectableParent: BooleanConstructor;
17
17
  showParentSelect: BooleanConstructor;
18
+ showSelectLevels: import("vue").PropType<boolean[]>;
18
19
  showDivider: {
19
20
  type: BooleanConstructor;
20
21
  default: true;
@@ -36,6 +37,7 @@ export declare const TreeSelect: import("../utils").WithInstall<import("vue").De
36
37
  cascade: BooleanConstructor;
37
38
  selectableParent: BooleanConstructor;
38
39
  showParentSelect: BooleanConstructor;
40
+ showSelectLevels: import("vue").PropType<boolean[]>;
39
41
  showDivider: {
40
42
  type: BooleanConstructor;
41
43
  default: true;