zartui 3.1.18 → 3.1.19

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 (88) hide show
  1. package/README.md +23 -23
  2. package/es/calendar/Calendar.mjs +1 -2
  3. package/es/date-time-picker/DateTimePicker.mjs +15 -0
  4. package/es/dialog/index.css +1 -1
  5. package/es/drawer-select/DrawerSelect.d.ts +17 -1
  6. package/es/drawer-select/DrawerSelect.mjs +9 -4
  7. package/es/drawer-select/index.d.ts +11 -0
  8. package/es/dropdown-item/DropdownItem.d.ts +26 -0
  9. package/es/dropdown-item/DropdownItem.mjs +11 -9
  10. package/es/dropdown-item/index.d.ts +18 -0
  11. package/es/dropdown-menu/DropdownMenu.mjs +4 -1
  12. package/es/dropdown-menu/index.css +1 -1
  13. package/es/empty/Empty.mjs +5 -1
  14. package/es/empty/Images.d.ts +14 -11
  15. package/es/empty/Images.mjs +89 -89
  16. package/es/empty/types.d.ts +1 -0
  17. package/es/hierarchy-select/index.css +1 -1
  18. package/es/lazyload/vue-lazyload/index.d.ts +55 -55
  19. package/es/media-picker/MediaPicker.d.ts +4 -0
  20. package/es/media-picker/MediaPicker.mjs +28 -14
  21. package/es/media-picker/index.d.ts +3 -0
  22. package/es/media-picker/type.d.ts +2 -0
  23. package/es/media-picker/util/wx-util.d.ts +4 -0
  24. package/es/media-picker/util/wx-util.mjs +67 -0
  25. package/es/popup/index.css +1 -1
  26. package/es/slider/Slider.mjs +15 -16
  27. package/es/slider/index.css +1 -1
  28. package/es/table/Table.d.ts +13 -0
  29. package/es/table/Table.mjs +28 -7
  30. package/es/table/index.css +1 -1
  31. package/es/table/index.d.ts +9 -0
  32. package/es/table/style/index.mjs +6 -0
  33. package/es/tabs/TabsTitle.mjs +1 -0
  34. package/es/tabs/index.css +1 -1
  35. package/es/text-ellipsis/TextEllipsis.d.ts +13 -0
  36. package/es/text-ellipsis/TextEllipsis.mjs +15 -4
  37. package/es/text-ellipsis/index.d.ts +9 -0
  38. package/es/text-ellipsis/style/index.mjs +7 -0
  39. package/es/toast/index.css +1 -1
  40. package/es/vue-sfc-shim.d.ts +6 -6
  41. package/es/vue-tsx-shim.d.ts +23 -23
  42. package/lib/calendar/Calendar.js +1 -2
  43. package/lib/date-time-picker/DateTimePicker.js +15 -0
  44. package/lib/dialog/index.css +1 -1
  45. package/lib/drawer-select/DrawerSelect.d.ts +17 -1
  46. package/lib/drawer-select/DrawerSelect.js +9 -4
  47. package/lib/drawer-select/index.d.ts +11 -0
  48. package/lib/dropdown-item/DropdownItem.d.ts +26 -0
  49. package/lib/dropdown-item/DropdownItem.js +10 -8
  50. package/lib/dropdown-item/index.d.ts +18 -0
  51. package/lib/dropdown-menu/DropdownMenu.js +4 -1
  52. package/lib/dropdown-menu/index.css +1 -1
  53. package/lib/empty/Empty.js +5 -1
  54. package/lib/empty/Images.d.ts +14 -11
  55. package/lib/empty/Images.js +89 -89
  56. package/lib/empty/types.d.ts +1 -0
  57. package/lib/hierarchy-select/index.css +1 -1
  58. package/lib/index.css +1 -1
  59. package/lib/lazyload/vue-lazyload/index.d.ts +55 -55
  60. package/lib/media-picker/MediaPicker.d.ts +4 -0
  61. package/lib/media-picker/MediaPicker.js +27 -13
  62. package/lib/media-picker/index.d.ts +3 -0
  63. package/lib/media-picker/type.d.ts +2 -0
  64. package/lib/media-picker/util/wx-util.d.ts +4 -0
  65. package/lib/media-picker/util/wx-util.js +86 -0
  66. package/lib/popup/index.css +1 -1
  67. package/lib/slider/Slider.js +15 -16
  68. package/lib/slider/index.css +1 -1
  69. package/lib/table/Table.d.ts +13 -0
  70. package/lib/table/Table.js +37 -6
  71. package/lib/table/index.css +1 -1
  72. package/lib/table/index.d.ts +9 -0
  73. package/lib/table/style/index.js +6 -0
  74. package/lib/tabs/TabsTitle.js +1 -0
  75. package/lib/tabs/index.css +1 -1
  76. package/lib/text-ellipsis/TextEllipsis.d.ts +13 -0
  77. package/lib/text-ellipsis/TextEllipsis.js +13 -2
  78. package/lib/text-ellipsis/index.d.ts +9 -0
  79. package/lib/text-ellipsis/style/index.js +7 -0
  80. package/lib/toast/index.css +1 -1
  81. package/lib/vue-sfc-shim.d.ts +6 -6
  82. package/lib/vue-tsx-shim.d.ts +23 -23
  83. package/lib/web-types.json +1 -1
  84. package/lib/zartui.cjs.js +710 -577
  85. package/lib/zartui.es.js +710 -577
  86. package/lib/zartui.js +710 -577
  87. package/lib/zartui.min.js +1 -1
  88. package/package.json +5 -5
@@ -27,6 +27,10 @@ export declare const Table: import("../utils").WithInstall<import("vue").DefineC
27
27
  type: BooleanConstructor;
28
28
  default: boolean;
29
29
  };
30
+ hideTableHead: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
30
34
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "sort"[], "sort", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
31
35
  headList: {
32
36
  type: import("vue").PropType<import("./Table").TableHeaderOption[]>;
@@ -56,6 +60,10 @@ export declare const Table: import("../utils").WithInstall<import("vue").DefineC
56
60
  type: BooleanConstructor;
57
61
  default: boolean;
58
62
  };
63
+ hideTableHead: {
64
+ type: BooleanConstructor;
65
+ default: boolean;
66
+ };
59
67
  }>> & {
60
68
  onSort?: ((...args: any[]) => any) | undefined;
61
69
  }, {
@@ -66,6 +74,7 @@ export declare const Table: import("../utils").WithInstall<import("vue").DefineC
66
74
  striped: boolean;
67
75
  emptyValue: string;
68
76
  skeletonRow: number;
77
+ hideTableHead: boolean;
69
78
  }, {}>>;
70
79
  export default Table;
71
80
  export { tableProps } from './Table';
@@ -1,4 +1,10 @@
1
1
  import "../../style/base.css";
2
2
  import "../../badge/index.css";
3
3
  import "../../icon/index.css";
4
+ import "../../overlay/index.css";
5
+ import "../../popup/index.css";
6
+ import "../../loading/index.css";
7
+ import "../../button/index.css";
8
+ import "../../dialog/index.css";
9
+ import "../../text-ellipsis/index.css";
4
10
  import "../index.css";
@@ -97,6 +97,7 @@ var stdin_default = defineComponent({
97
97
  "aria-disabled": props.disabled || void 0,
98
98
  "aria-controls": props.controls
99
99
  }, [slots.prefix ? slots.prefix() : null, _createVNode("div", {
100
+ "class": bem("title"),
100
101
  "style": style.value
101
102
  }, [renderText()]), slots.suffix ? slots.suffix() : null]);
102
103
  }
package/es/tabs/index.css CHANGED
@@ -1 +1 @@
1
- :root{--zt-tab-active-text-color: var(--zt-text-color);--zt-tab-disabled-text-color: var(--zt-text-color-3);--zt-tab-active-opacity: .2;--zt-tabs-default-color: var(--zt-primary-color);--zt-tabs-line-height: 44px;--zt-tabs-line-bottom: 16px;--zt-tabs-card-height: 32px;--zt-tabs-bottom-bar-width: 12px;--zt-tabs-bottom-bar-height: 4px;--zt-tabs-bottom-bar-color: var(--zt-primary-color);--zt-tabs-bottom-bar-radius: 2px;--zt-tabs-nav-background: var(--zt-background);--zt-tab-text-color: var(--zt-gray-a6);--zt-tabs-overlay-left-background: linear-gradient(90deg, #ffffff 0%, rgba(245, 250, 255, 0) 100%);--zt-tabs-overlay-right-background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%)}.zt-tab{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--zt-padding-md);color:var(--zt-tab-text-color);font-size:var(--zt-font-size-md);line-height:var(--zt-line-height-md);cursor:pointer}.zt-tab--active{color:var(--zt-tab-active-text-color);font-size:var(--zt-font-size-lg);font-weight:var(--zt-font-bold)}.zt-tab--active:active{opacity:var(--zt-tab-active-opacity)}.zt-tab--disabled{color:var(--zt-tab-disabled-text-color);cursor:not-allowed;font-size:var(--zt-font-size-md)}.zt-tab--grow{flex:1 0 auto;padding:0 var(--zt-padding-sm)}.zt-tab--shrink{flex:none;padding:0 var(--zt-padding-xs)}.zt-tab--card{color:var(--zt-tabs-default-color)}.zt-tab--card.zt-tab--active{color:var(--zt-white);background-color:var(--zt-tabs-default-color)}.zt-tab--card--disabled{color:var(--zt-tab-disabled-text-color)}.zt-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.zt-tab__text-wrapper,.zt-tabs{position:relative}.zt-tabs__wrap{overflow:hidden;position:relative}.zt-tabs__wrap--page-top{position:fixed}.zt-tabs__wrap--content-bottom{top:auto;bottom:0}.zt-tabs__overlay-left,.zt-tabs__overlay-right{position:absolute;top:0;width:var(--zt-tabs-line-height);height:var(--zt-tabs-line-height);pointer-events:none}.zt-tabs__overlay-left{left:0;background:var(--zt-tabs-overlay-left-background)}.zt-tabs__overlay-right{right:0;background:var(--zt-tabs-overlay-right-background)}.zt-tabs__nav{position:relative;display:flex;justify-content:flex-start;background-color:var(--zt-tabs-nav-background);-webkit-user-select:none;user-select:none}.zt-tabs__nav--complete{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.zt-tabs__nav--complete::-webkit-scrollbar{display:none}.zt-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:var(--zt-tabs-line-bottom)}.zt-tabs__nav--line.zt-tabs__nav--shrink .zt-tab,.zt-tabs__nav--line.zt-tabs__nav--complete .zt-tab{flex:1 0 auto;padding:0 var(--zt-padding-sm)}.zt-tabs__nav--line.zt-tabs__nav--shrink .zt-tabs__nav,.zt-tabs__nav--line.zt-tabs__nav--complete .zt-tabs__nav{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.zt-tabs__nav--line.zt-tabs__nav--shrink .zt-tabs__nav::-webkit-scrollbar,.zt-tabs__nav--line.zt-tabs__nav--complete .zt-tabs__nav::-webkit-scrollbar{display:none}.zt-tabs__nav--card.zt-tabs__nav--shrink{display:inline-flex}.zt-tabs__line{position:absolute;bottom:var(--zt-tabs-line-bottom);left:0;z-index:1;width:var(--zt-tabs-bottom-bar-width);height:var(--zt-tabs-bottom-bar-height);background:var(--zt-tabs-bottom-bar-color);border-radius:var(--zt-tabs-bottom-bar-radius)}.zt-tabs__track{position:relative;display:flex;width:100%;height:100%;will-change:left}.zt-tabs__content--animated{overflow:hidden}.zt-tabs--line .zt-tabs__wrap{height:var(--zt-tabs-line-height)}.zt-tabs--card>.zt-tabs__wrap{height:var(--zt-tabs-card-height);display:flex;justify-content:center}.zt-theme-dark{--zt-tabs-overlay-left-background: linear-gradient(90deg, #0f1923 0%, rgba(15, 25, 35, 0) 100%);--zt-tabs-overlay-right-background: linear-gradient(90deg, rgba(15, 25, 35, 0) 3%, #0f1923 100%)}
1
+ :root{--zt-tab-active-text-color: var(--zt-text-color);--zt-tab-disabled-text-color: var(--zt-text-color-3);--zt-tab-active-opacity: .2;--zt-tabs-default-color: var(--zt-primary-color);--zt-tabs-line-height: 44px;--zt-tabs-line-bottom: 16px;--zt-tabs-card-height: 32px;--zt-tabs-bottom-bar-width: 12px;--zt-tabs-bottom-bar-height: 4px;--zt-tabs-bottom-bar-color: var(--zt-primary-color);--zt-tabs-bottom-bar-radius: 2px;--zt-tabs-nav-background: var(--zt-background);--zt-tab-text-color: var(--zt-gray-a6);--zt-tabs-overlay-left-background: linear-gradient(90deg, #ffffff 0%, rgba(245, 250, 255, 0) 100%);--zt-tabs-overlay-right-background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%)}.zt-tab{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--zt-padding-md);color:var(--zt-tab-text-color);font-size:var(--zt-font-size-md);line-height:var(--zt-line-height-md);cursor:pointer}.zt-tab--active{color:var(--zt-tab-active-text-color);font-size:var(--zt-font-size-lg);font-weight:var(--zt-font-bold)}.zt-tab--active:active{opacity:var(--zt-tab-active-opacity)}.zt-tab--disabled{color:var(--zt-tab-disabled-text-color);cursor:not-allowed;font-size:var(--zt-font-size-md)}.zt-tab--grow{flex:1 0 auto;padding:0 var(--zt-padding-sm)}.zt-tab--shrink{flex:none;padding:0 var(--zt-padding-xs)}.zt-tab--card{color:var(--zt-tabs-default-color)}.zt-tab--card.zt-tab--active{color:var(--zt-white);background-color:var(--zt-tabs-default-color)}.zt-tab--card--disabled{color:var(--zt-tab-disabled-text-color)}.zt-tab__title{flex:1;display:flex;align-items:center;justify-content:center}.zt-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.zt-tab__text-wrapper,.zt-tabs{position:relative}.zt-tabs__wrap{overflow:hidden;position:relative}.zt-tabs__wrap--page-top{position:fixed}.zt-tabs__wrap--content-bottom{top:auto;bottom:0}.zt-tabs__overlay-left,.zt-tabs__overlay-right{position:absolute;top:0;width:var(--zt-tabs-line-height);height:var(--zt-tabs-line-height);pointer-events:none}.zt-tabs__overlay-left{left:0;background:var(--zt-tabs-overlay-left-background)}.zt-tabs__overlay-right{right:0;background:var(--zt-tabs-overlay-right-background)}.zt-tabs__nav{position:relative;display:flex;justify-content:flex-start;background-color:var(--zt-tabs-nav-background);-webkit-user-select:none;user-select:none}.zt-tabs__nav--complete{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.zt-tabs__nav--complete::-webkit-scrollbar{display:none}.zt-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:var(--zt-tabs-line-bottom)}.zt-tabs__nav--line.zt-tabs__nav--shrink .zt-tab,.zt-tabs__nav--line.zt-tabs__nav--complete .zt-tab{flex:1 0 auto;padding:0 var(--zt-padding-sm)}.zt-tabs__nav--line.zt-tabs__nav--shrink .zt-tabs__nav,.zt-tabs__nav--line.zt-tabs__nav--complete .zt-tabs__nav{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.zt-tabs__nav--line.zt-tabs__nav--shrink .zt-tabs__nav::-webkit-scrollbar,.zt-tabs__nav--line.zt-tabs__nav--complete .zt-tabs__nav::-webkit-scrollbar{display:none}.zt-tabs__nav--card.zt-tabs__nav--shrink{display:inline-flex}.zt-tabs__line{position:absolute;bottom:var(--zt-tabs-line-bottom);left:0;z-index:1;width:var(--zt-tabs-bottom-bar-width);height:var(--zt-tabs-bottom-bar-height);background:var(--zt-tabs-bottom-bar-color);border-radius:var(--zt-tabs-bottom-bar-radius)}.zt-tabs__track{position:relative;display:flex;width:100%;height:100%;will-change:left}.zt-tabs__content--animated{overflow:hidden}.zt-tabs--line .zt-tabs__wrap{height:var(--zt-tabs-line-height)}.zt-tabs--card>.zt-tabs__wrap{height:var(--zt-tabs-card-height);display:flex;justify-content:center}.zt-theme-dark{--zt-tabs-overlay-left-background: linear-gradient(90deg, #0f1923 0%, rgba(15, 25, 35, 0) 100%);--zt-tabs-overlay-right-background: linear-gradient(90deg, rgba(15, 25, 35, 0) 3%, #0f1923 100%)}
@@ -16,6 +16,10 @@ export declare const textEllipsisProps: {
16
16
  type: import("vue").PropType<string>;
17
17
  default: string;
18
18
  };
19
+ expandType: {
20
+ type: import("vue").PropType<"flat" | "dialog">;
21
+ default: "flat" | "dialog";
22
+ };
19
23
  collapseText: {
20
24
  type: import("vue").PropType<string>;
21
25
  default: string;
@@ -43,6 +47,10 @@ declare const _default: import("vue").DefineComponent<{
43
47
  type: import("vue").PropType<string>;
44
48
  default: string;
45
49
  };
50
+ expandType: {
51
+ type: import("vue").PropType<"flat" | "dialog">;
52
+ default: "flat" | "dialog";
53
+ };
46
54
  collapseText: {
47
55
  type: import("vue").PropType<string>;
48
56
  default: string;
@@ -68,6 +76,10 @@ declare const _default: import("vue").DefineComponent<{
68
76
  type: import("vue").PropType<string>;
69
77
  default: string;
70
78
  };
79
+ expandType: {
80
+ type: import("vue").PropType<"flat" | "dialog">;
81
+ default: "flat" | "dialog";
82
+ };
71
83
  collapseText: {
72
84
  type: import("vue").PropType<string>;
73
85
  default: string;
@@ -84,6 +96,7 @@ declare const _default: import("vue").DefineComponent<{
84
96
  rows: string | number;
85
97
  dots: string;
86
98
  expandText: string;
99
+ expandType: "flat" | "dialog";
87
100
  collapseText: string;
88
101
  }, {}>;
89
102
  export default _default;
@@ -1,13 +1,15 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { ref, watch, computed, onMounted, defineComponent } from "vue";
2
+ import { computed, defineComponent, onMounted, ref, watch } from "vue";
3
3
  import { useEventListener } from "@zartui/use";
4
- import { makeNumericProp, makeStringProp, createNamespace } from "../utils/index.mjs";
4
+ import { showDialog } from "../dialog/index.mjs";
5
+ import { createNamespace, makeNumericProp, makeStringProp } from "../utils/index.mjs";
5
6
  const [name, bem] = createNamespace("text-ellipsis");
6
7
  const textEllipsisProps = {
7
8
  rows: makeNumericProp(1),
8
9
  dots: makeStringProp("..."),
9
10
  content: makeStringProp(""),
10
11
  expandText: makeStringProp(""),
12
+ expandType: makeStringProp("flat"),
11
13
  collapseText: makeStringProp(""),
12
14
  position: makeStringProp("end")
13
15
  };
@@ -127,13 +129,22 @@ var stdin_default = defineComponent({
127
129
  "class": bem("action"),
128
130
  "onClick": onClickAction
129
131
  }, [actionText.value]);
132
+ const onClickEllipsis = () => {
133
+ if (props.expandType === "dialog" && hasAction.value) {
134
+ showDialog({
135
+ message: props.content
136
+ }).then(() => {
137
+ });
138
+ }
139
+ };
130
140
  onMounted(calcEllipsised);
131
141
  watch(() => [props.content, props.rows, props.position], calcEllipsised);
132
142
  useEventListener("resize", calcEllipsised);
133
143
  return () => _createVNode("div", {
134
144
  "ref": root,
135
- "class": bem()
136
- }, [expanded.value ? props.content : text.value, hasAction.value ? renderAction() : null]);
145
+ "class": bem(),
146
+ "onClick": onClickEllipsis
147
+ }, [expanded.value ? props.content : text.value, props.expandType !== "dialog" && hasAction.value ? renderAction() : null]);
137
148
  }
138
149
  });
139
150
  export {
@@ -15,6 +15,10 @@ export declare const TextEllipsis: import("../utils").WithInstall<import("vue").
15
15
  type: import("vue").PropType<string>;
16
16
  default: string;
17
17
  };
18
+ expandType: {
19
+ type: import("vue").PropType<"flat" | "dialog">;
20
+ default: "flat" | "dialog";
21
+ };
18
22
  collapseText: {
19
23
  type: import("vue").PropType<string>;
20
24
  default: string;
@@ -40,6 +44,10 @@ export declare const TextEllipsis: import("../utils").WithInstall<import("vue").
40
44
  type: import("vue").PropType<string>;
41
45
  default: string;
42
46
  };
47
+ expandType: {
48
+ type: import("vue").PropType<"flat" | "dialog">;
49
+ default: "flat" | "dialog";
50
+ };
43
51
  collapseText: {
44
52
  type: import("vue").PropType<string>;
45
53
  default: string;
@@ -56,6 +64,7 @@ export declare const TextEllipsis: import("../utils").WithInstall<import("vue").
56
64
  rows: string | number;
57
65
  dots: string;
58
66
  expandText: string;
67
+ expandType: "flat" | "dialog";
59
68
  collapseText: string;
60
69
  }, {}>>;
61
70
  export default TextEllipsis;
@@ -1,2 +1,9 @@
1
1
  import "../../style/base.css";
2
+ import "../../badge/index.css";
3
+ import "../../icon/index.css";
4
+ import "../../overlay/index.css";
5
+ import "../../popup/index.css";
6
+ import "../../loading/index.css";
7
+ import "../../button/index.css";
8
+ import "../../dialog/index.css";
2
9
  import "../index.css";
@@ -1 +1 @@
1
- :root{--zt-toast-max-width: 70%;--zt-toast-text-color: var(--zt-white);--zt-toast-loading-icon-color: var(--zt-white);--zt-toast-radius: var(--zt-radius-lg);--zt-toast-background: var(--zt-gray-a8);--zt-toast-text-min-width: 96px;--zt-toast-text-padding: var(--zt-padding-xs) var(--zt-padding-sm);--zt-toast-default-padding: var(--zt-padding-md);--zt-toast-default-width: 88px;--zt-toast-default-min-height: 84px;--zt-toast-position-top-distance: 20%;--zt-toast-position-bottom-distance: 20%;--zt-toast-icon-font-size: 36px}:root[zt-theme-size=large]{--zt-toast-icon-font-size: 42px}.zt-toast{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:content-box;transition:all var(--zt-duration-fast);width:var(--zt-toast-default-width);max-width:var(--zt-toast-max-width);min-height:var(--zt-toast-default-min-height);padding:var(--zt-toast-default-padding);color:var(--zt-toast-text-color);font-size:var(--zt-font-size-md);line-height:var(--zt-line-height-md);white-space:pre-wrap;text-align:center;word-break:break-all;background:var(--zt-toast-background);border-radius:var(--zt-toast-radius)}.zt-toast--break-normal{word-break:normal;word-wrap:normal}.zt-toast--break-word{word-break:normal;word-wrap:break-word}.zt-toast--unclickable{overflow:hidden;cursor:not-allowed}.zt-toast--unclickable *{pointer-events:none}.zt-toast--text,.zt-toast--html{width:-webkit-fit-content;width:fit-content;min-width:var(--zt-toast-text-min-width);min-height:0;padding:var(--zt-toast-text-padding)}.zt-toast--text .zt-toast__text,.zt-toast--html .zt-toast__text{margin-top:0}.zt-toast--top{top:var(--zt-toast-position-top-distance)}.zt-toast--bottom{top:auto;bottom:var(--zt-toast-position-bottom-distance)}.zt-toast__icon{font-size:var(--zt-toast-icon-font-size)}.zt-toast__loading{padding:var(--zt-padding-base);color:var(--zt-toast-loading-icon-color)}.zt-toast__text{margin-top:var(--zt-padding-xs)}.zt-theme-dark{--zt-toast-background: var(--zt-gray-a1)}
1
+ :root{--zt-toast-max-width: 70%;--zt-toast-text-color: var(--zt-white);--zt-toast-loading-icon-color: var(--zt-white);--zt-toast-radius: var(--zt-radius-lg);--zt-toast-background: var(--zt-gray-a8);--zt-toast-text-min-width: 96px;--zt-toast-text-padding: var(--zt-padding-xs) var(--zt-padding-sm);--zt-toast-default-padding: var(--zt-padding-md);--zt-toast-default-width: 88px;--zt-toast-default-min-height: 84px;--zt-toast-default-max-height: 80%;--zt-toast-position-top-distance: 20%;--zt-toast-position-bottom-distance: 20%;--zt-toast-icon-font-size: 36px}:root[zt-theme-size=large]{--zt-toast-icon-font-size: 42px}.zt-toast{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:content-box;transition:all var(--zt-duration-fast);width:var(--zt-toast-default-width);max-width:var(--zt-toast-max-width);min-height:var(--zt-toast-default-min-height);max-height:var(--zt-toast-default-max-height);padding:var(--zt-toast-default-padding);color:var(--zt-toast-text-color);font-size:var(--zt-font-size-md);line-height:var(--zt-line-height-md);white-space:pre-wrap;text-align:center;word-break:break-all;background:var(--zt-toast-background);border-radius:var(--zt-toast-radius)}.zt-toast--break-normal{word-break:normal;word-wrap:normal}.zt-toast--break-word{word-break:normal;word-wrap:break-word}.zt-toast--unclickable{overflow:hidden;cursor:not-allowed}.zt-toast--unclickable *{pointer-events:none}.zt-toast--text,.zt-toast--html{width:-webkit-fit-content;width:fit-content;min-width:var(--zt-toast-text-min-width);min-height:0;padding:var(--zt-toast-text-padding)}.zt-toast--text .zt-toast__text,.zt-toast--html .zt-toast__text{margin-top:0}.zt-toast--top{top:var(--zt-toast-position-top-distance)}.zt-toast--bottom{top:auto;bottom:var(--zt-toast-position-bottom-distance)}.zt-toast__icon{font-size:var(--zt-toast-icon-font-size)}.zt-toast__loading{padding:var(--zt-padding-base);color:var(--zt-toast-loading-icon-color)}.zt-toast__text{margin-top:var(--zt-padding-xs)}.zt-theme-dark{--zt-toast-background: var(--zt-gray-a1)}
@@ -1,6 +1,6 @@
1
- declare module '*.vue' {
2
- // eslint-disable-next-line
3
- import { DefineComponent } from 'vue';
4
- const Component: DefineComponent;
5
- export default Component;
6
- }
1
+ declare module '*.vue' {
2
+ // eslint-disable-next-line
3
+ import { DefineComponent } from 'vue';
4
+ const Component: DefineComponent;
5
+ export default Component;
6
+ }
@@ -1,23 +1,23 @@
1
- import 'vue';
2
-
3
- type EventHandler = (...args: any[]) => void;
4
-
5
- declare module 'vue' {
6
- interface ComponentCustomProps {
7
- id?: string;
8
- role?: string;
9
- tabindex?: number;
10
- onClick?: EventHandler;
11
- onTouchend?: EventHandler;
12
- onTouchmove?: EventHandler;
13
- onTouchstart?: EventHandler;
14
- onTouchcancel?: EventHandler;
15
- onTouchmovePassive?: EventHandler;
16
- onTouchstartPassive?: EventHandler;
17
- }
18
-
19
- interface HTMLAttributes {
20
- onTouchmovePassive?: EventHandler;
21
- onTouchstartPassive?: EventHandler;
22
- }
23
- }
1
+ import 'vue';
2
+
3
+ type EventHandler = (...args: any[]) => void;
4
+
5
+ declare module 'vue' {
6
+ interface ComponentCustomProps {
7
+ id?: string;
8
+ role?: string;
9
+ tabindex?: number;
10
+ onClick?: EventHandler;
11
+ onTouchend?: EventHandler;
12
+ onTouchmove?: EventHandler;
13
+ onTouchstart?: EventHandler;
14
+ onTouchcancel?: EventHandler;
15
+ onTouchmovePassive?: EventHandler;
16
+ onTouchstartPassive?: EventHandler;
17
+ }
18
+
19
+ interface HTMLAttributes {
20
+ onTouchmovePassive?: EventHandler;
21
+ onTouchstartPassive?: EventHandler;
22
+ }
23
+ }
@@ -507,8 +507,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
507
507
  (0, import_vue2.watch)(() => props.show, init);
508
508
  (0, import_vue2.watch)(() => [props.type, props.minDate, props.maxDate], () => reset(getInitialDate(currentDate.value)));
509
509
  (0, import_vue2.watch)(() => props.defaultDate, (value = null) => {
510
- currentDate.value = value;
511
- scrollToCurrentDate();
510
+ reset(value);
512
511
  });
513
512
  (0, import_vue2.watch)(titleDate, (newValue) => {
514
513
  if (props.showType === "inline" && newValue) {
@@ -178,6 +178,21 @@ var stdin_default = (0, import_vue2.defineComponent)({
178
178
  }
179
179
  }
180
180
  };
181
+ (0, import_vue2.watch)(() => props.modelValue, onOpen, {
182
+ deep: true
183
+ });
184
+ (0, import_vue2.watch)(() => props.startValue, () => {
185
+ currentStartValue.value = props.startValue;
186
+ currentStartText.value = genOriginValueText(props.startValue);
187
+ }, {
188
+ deep: true
189
+ });
190
+ (0, import_vue2.watch)(() => props.endValue, () => {
191
+ currentEndValue.value = props.endValue;
192
+ currentEndText.value = genOriginValueText(props.endValue);
193
+ }, {
194
+ deep: true
195
+ });
181
196
  const renderTitle = () => {
182
197
  if (!props.range) {
183
198
  return (0, import_vue.createVNode)("div", {
@@ -1 +1 @@
1
- :root{--zt-dialog-width: 350px;--zt-dialog-max-width: 90%;--zt-dialog-transition: var(--zt-duration-base);--zt-dialog-radius: 12px;--zt-dialog-background: var(--zt-background-popup);--zt-dialog-header-font-weight: var(--zt-font-bold);--zt-dialog-header-padding-top: 24px;--zt-dialog-header-isolated-padding: var(--zt-padding-lg) 0;--zt-dialog-header-primary-padding: 10px;--zt-dialog-message-padding: var(--zt-padding-lg) var(--zt-padding-md);--zt-dialog-message-max-height: 60vh;--zt-dialog-has-title-message-text-color: var(--zt-gray-a6);--zt-dialog-has-title-message-padding-top: var(--zt-padding-xs);--zt-dialog-has-title-message-primary-header: var(--zt-padding-lg);--zt-dialog-confirm-button-text-color: var(--zt-white);--zt-dialog-cancel-button-background-color: var(--zt-white)}.zt-dialog{top:45%;width:var(--zt-dialog-width);max-width:var(--zt-dialog-max-width);overflow:hidden;font-size:var(--zt-font-size-lg);background:var(--zt-dialog-background);border-radius:var(--zt-dialog-radius);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:var(--zt-dialog-transition);transition-property:transform,opacity}.zt-dialog__header{color:var(--zt-text-color);padding-top:var(--zt-dialog-header-padding-top);font-weight:var(--zt-dialog-header-font-weight);line-height:var(--zt-line-height-lg);text-align:center}.zt-dialog__header--isolated{padding:var(--zt-dialog-header-isolated-padding)}.zt-dialog__header--custom-title{padding-left:0;padding-right:0;padding-top:0}.zt-dialog__header--primary{padding:var(--zt-dialog-header-primary-padding);background:var(--zt-primary-color);color:var(--zt-white)}.zt-dialog__content{text-align:center;font-size:0}.zt-dialog__message{display:inline-block;color:var(--zt-gray-a8);max-height:var(--zt-dialog-message-max-height);padding:var(--zt-dialog-message-padding);overflow-y:auto;font-size:var(--zt-font-size-lg);line-height:var(--zt-line-height-md);white-space:pre-wrap;text-align:left;word-wrap:break-word;-webkit-overflow-scrolling:touch}.zt-dialog__message--has-title{padding-top:var(--zt-dialog-has-title-message-padding-top);color:var(--zt-dialog-has-title-message-text-color);font-size:var(--zt-font-size-md)}.zt-dialog__message--primary-header{padding-top:var(--zt-dialog-has-title-message-primary-header)}.zt-dialog__message--left{text-align:left}.zt-dialog__message--right{text-align:right}.zt-dialog__message--justify{text-align:justify}.zt-dialog__footer{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none;margin:0 var(--zt-padding-xl) var(--zt-padding-lg)}.zt-dialog__confirm,.zt-dialog__cancel{flex:1;margin:0;background-color:var(--zt-dialog-cancel-button-background-color)}.zt-dialog__confirm,.zt-dialog__confirm:active{color:var(--zt-dialog-confirm-button-text-color)}.zt-dialog__confirm--with-cancel{margin-left:8px}.zt-dialog--round-button .zt-dialog__footer{position:relative;height:auto;padding:var(--zt-padding-xs) var(--zt-padding-lg) var(--zt-padding-md)}.zt-dialog--round-button .zt-dialog__message{padding-bottom:var(--zt-padding-md);color:var(--zt-text-color)}.zt-dialog--round-button .zt-dialog__confirm,.zt-dialog--round-button .zt-dialog__cancel{height:var(--zt-dialog-round-button-height)}.zt-dialog--round-button .zt-dialog__confirm{color:var(--zt-white)}.zt-dialog-bounce-enter-from{transform:translate3d(-50%,-50%,0) scale(.7);opacity:0}.zt-dialog-bounce-leave-active{transform:translate3d(-50%,-50%,0) scale(.9);opacity:0}.zt-theme-dark{--zt-dialog-cancel-button-background-color: rbga(255, 255, 255, .2)}
1
+ :root{--zt-dialog-width: 350px;--zt-dialog-max-width: 90%;--zt-dialog-transition: var(--zt-duration-base);--zt-dialog-radius: 12px;--zt-dialog-background: var(--zt-background-popup);--zt-dialog-header-font-weight: var(--zt-font-bold);--zt-dialog-header-padding-top: 24px;--zt-dialog-header-isolated-padding: var(--zt-padding-lg) 0;--zt-dialog-header-primary-padding: 10px;--zt-dialog-message-padding: var(--zt-padding-lg) var(--zt-padding-md);--zt-dialog-message-max-height: 60vh;--zt-dialog-has-title-message-text-color: var(--zt-gray-a6);--zt-dialog-has-title-message-padding-top: var(--zt-padding-xs);--zt-dialog-has-title-message-primary-header: var(--zt-padding-lg);--zt-dialog-confirm-button-text-color: var(--zt-white);--zt-dialog-cancel-button-background-color: var(--zt-white)}.zt-dialog{top:45%;width:var(--zt-dialog-width);max-width:var(--zt-dialog-max-width);overflow:hidden;font-size:var(--zt-font-size-lg);background:var(--zt-dialog-background);border-radius:var(--zt-dialog-radius);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:var(--zt-dialog-transition);transition-property:transform,opacity}.zt-dialog__header{color:var(--zt-text-color);padding-top:var(--zt-dialog-header-padding-top);font-weight:var(--zt-dialog-header-font-weight);line-height:var(--zt-line-height-lg);text-align:center}.zt-dialog__header--isolated{padding:var(--zt-dialog-header-isolated-padding)}.zt-dialog__header--custom-title{padding-left:0;padding-right:0;padding-top:0}.zt-dialog__header--primary{padding:var(--zt-dialog-header-primary-padding);background:var(--zt-primary-color);color:var(--zt-white)}.zt-dialog__content{text-align:center;font-size:0}.zt-dialog__message{display:inline-block;color:var(--zt-gray-a8);max-height:var(--zt-dialog-message-max-height);padding:var(--zt-dialog-message-padding);overflow-y:auto;font-size:var(--zt-font-size-lg);line-height:var(--zt-line-height-md);white-space:pre-wrap;text-align:left;word-wrap:break-word;-webkit-overflow-scrolling:touch}.zt-dialog__message--has-title{padding-top:var(--zt-dialog-has-title-message-padding-top);color:var(--zt-dialog-has-title-message-text-color);font-size:var(--zt-font-size-md)}.zt-dialog__message--primary-header{padding-top:var(--zt-dialog-has-title-message-primary-header)}.zt-dialog__message--left{text-align:left}.zt-dialog__message--right{text-align:right}.zt-dialog__message--justify{text-align:justify}.zt-dialog__footer{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none;margin:0 var(--zt-padding-xl) var(--zt-padding-lg)}.zt-dialog__confirm,.zt-dialog__cancel{flex:1;margin:0;background-color:var(--zt-dialog-cancel-button-background-color)}.zt-dialog__confirm,.zt-dialog__confirm:active{color:var(--zt-dialog-confirm-button-text-color)}.zt-dialog__confirm--with-cancel{margin-left:8px}.zt-dialog--round-button .zt-dialog__footer{position:relative;height:auto;padding:var(--zt-padding-xs) var(--zt-padding-lg) var(--zt-padding-md)}.zt-dialog--round-button .zt-dialog__message{padding-bottom:var(--zt-padding-md);color:var(--zt-text-color)}.zt-dialog--round-button .zt-dialog__confirm,.zt-dialog--round-button .zt-dialog__cancel{height:var(--zt-dialog-round-button-height)}.zt-dialog--round-button .zt-dialog__confirm{color:var(--zt-white)}.zt-dialog-bounce-enter-from{transform:translate3d(0,-50%,0) scale(.7);opacity:0}.zt-dialog-bounce-leave-active{transform:translate3d(0,-50%,0) scale(.9);opacity:0}.zt-theme-dark{--zt-dialog-cancel-button-background-color: rbga(255, 255, 255, .2)}
@@ -1,5 +1,5 @@
1
1
  import type { ExtractPropTypes, PropType } from 'vue';
2
- import { DrawerSelectFieldNames, DrawerSelectTreeNode } from './types';
2
+ import { DrawerSelectFieldNames, DrawerSelectTreeNode, FlatTreeNode } from './types';
3
3
  declare const drawerSelectProps: {
4
4
  treeData: {
5
5
  type: PropType<DrawerSelectTreeNode[]>;
@@ -18,6 +18,11 @@ declare const drawerSelectProps: {
18
18
  type: BooleanConstructor;
19
19
  default: boolean;
20
20
  };
21
+ defaultSelectNode: PropType<FlatTreeNode>;
22
+ activeClassName: {
23
+ type: PropType<string>;
24
+ default: string;
25
+ };
21
26
  };
22
27
  export type DrawerSelectProps = ExtractPropTypes<typeof drawerSelectProps>;
23
28
  declare const _default: import("vue").DefineComponent<{
@@ -38,6 +43,11 @@ declare const _default: import("vue").DefineComponent<{
38
43
  type: BooleanConstructor;
39
44
  default: boolean;
40
45
  };
46
+ defaultSelectNode: PropType<FlatTreeNode>;
47
+ activeClassName: {
48
+ type: PropType<string>;
49
+ default: string;
50
+ };
41
51
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "change")[], "select" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
42
52
  treeData: {
43
53
  type: PropType<DrawerSelectTreeNode[]>;
@@ -56,6 +66,11 @@ declare const _default: import("vue").DefineComponent<{
56
66
  type: BooleanConstructor;
57
67
  default: boolean;
58
68
  };
69
+ defaultSelectNode: PropType<FlatTreeNode>;
70
+ activeClassName: {
71
+ type: PropType<string>;
72
+ default: string;
73
+ };
59
74
  }>> & {
60
75
  onChange?: ((...args: any[]) => any) | undefined;
61
76
  onSelect?: ((...args: any[]) => any) | undefined;
@@ -64,5 +79,6 @@ declare const _default: import("vue").DefineComponent<{
64
79
  placeholder: string;
65
80
  treeData: DrawerSelectTreeNode[];
66
81
  expandAll: boolean;
82
+ activeClassName: string;
67
83
  }, {}>;
68
84
  export default _default;
@@ -50,7 +50,9 @@ const drawerSelectProps = {
50
50
  expandAll: {
51
51
  type: Boolean,
52
52
  default: false
53
- }
53
+ },
54
+ defaultSelectNode: Object,
55
+ activeClassName: (0, import_utils.makeStringProp)("")
54
56
  };
55
57
  var stdin_default = (0, import_vue2.defineComponent)({
56
58
  name,
@@ -61,7 +63,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
61
63
  }) {
62
64
  const keyword = (0, import_vue2.ref)("");
63
65
  const expandNode = (0, import_vue2.ref)();
64
- const selectNode = (0, import_vue2.ref)();
66
+ const selectNode = (0, import_vue2.ref)(props.defaultSelectNode);
65
67
  const flatArray = (0, import_vue2.ref)([]);
66
68
  const show = (0, import_vue2.ref)(false);
67
69
  const searchRef = (0, import_vue2.ref)();
@@ -260,6 +262,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
260
262
  const renderItem = (item) => {
261
263
  var _a, _b;
262
264
  const empty = isEmpty(item);
265
+ const active = empty && ((_a = selectNode.value) == null ? void 0 : _a.value) == item[fields.value.value];
263
266
  return (0, import_vue.createVNode)("div", {
264
267
  "onClick": (e) => {
265
268
  e.stopPropagation();
@@ -278,8 +281,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
278
281
  "size": "20"
279
282
  }, null)]), (0, import_vue.createVNode)("div", {
280
283
  "class": [bem("item--label", {
281
- active: empty && ((_a = selectNode.value) == null ? void 0 : _a.value) == item[fields.value.value]
282
- }), "zt-hairline--top"]
284
+ active
285
+ }), "zt-hairline--top", {
286
+ [props.activeClassName]: active
287
+ }]
283
288
  }, [item[fields.value.text]])]), (0, import_vue.createVNode)("div", {
284
289
  "class": [bem("item--child")]
285
290
  }, [!empty && item.checked && ((_b = item[fields.value.children]) == null ? void 0 : _b.map(renderItem))])]);
@@ -16,6 +16,11 @@ export declare const DrawerSelect: import("../utils").WithInstall<import("vue").
16
16
  type: BooleanConstructor;
17
17
  default: boolean;
18
18
  };
19
+ defaultSelectNode: import("vue").PropType<import("./types").FlatTreeNode>;
20
+ activeClassName: {
21
+ type: import("vue").PropType<string>;
22
+ default: string;
23
+ };
19
24
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "change")[], "select" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
25
  treeData: {
21
26
  type: import("vue").PropType<import("./types").DrawerSelectTreeNode[]>;
@@ -34,6 +39,11 @@ export declare const DrawerSelect: import("../utils").WithInstall<import("vue").
34
39
  type: BooleanConstructor;
35
40
  default: boolean;
36
41
  };
42
+ defaultSelectNode: import("vue").PropType<import("./types").FlatTreeNode>;
43
+ activeClassName: {
44
+ type: import("vue").PropType<string>;
45
+ default: string;
46
+ };
37
47
  }>> & {
38
48
  onChange?: ((...args: any[]) => any) | undefined;
39
49
  onSelect?: ((...args: any[]) => any) | undefined;
@@ -42,6 +52,7 @@ export declare const DrawerSelect: import("../utils").WithInstall<import("vue").
42
52
  placeholder: string;
43
53
  treeData: import("./types").DrawerSelectTreeNode[];
44
54
  expandAll: boolean;
55
+ activeClassName: string;
45
56
  }, {}>>;
46
57
  export default DrawerSelect;
47
58
  export type { DrawerSelectProps } from './DrawerSelect';
@@ -22,6 +22,14 @@ export declare const dropdownItemProps: {
22
22
  titleClass: PropType<unknown>;
23
23
  multiSelect: BooleanConstructor;
24
24
  itemLabel: StringConstructor;
25
+ placeholder: {
26
+ type: PropType<string>;
27
+ default: string;
28
+ };
29
+ resetDefaultValue: {
30
+ type: PropType<any[]>;
31
+ default: () => any[];
32
+ };
25
33
  };
26
34
  export type DropdownItemProps = ExtractPropTypes<typeof dropdownItemProps>;
27
35
  declare const _default: import("vue").DefineComponent<{
@@ -45,6 +53,14 @@ declare const _default: import("vue").DefineComponent<{
45
53
  titleClass: PropType<unknown>;
46
54
  multiSelect: BooleanConstructor;
47
55
  itemLabel: StringConstructor;
56
+ placeholder: {
57
+ type: PropType<string>;
58
+ default: string;
59
+ };
60
+ resetDefaultValue: {
61
+ type: PropType<any[]>;
62
+ default: () => any[];
63
+ };
48
64
  }, (() => JSX.Element) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("reset" | "open" | "update:modelValue" | "change" | "close" | "opened" | "closed" | "confirm")[], "reset" | "open" | "update:modelValue" | "change" | "close" | "opened" | "closed" | "confirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
49
65
  title: StringConstructor;
50
66
  options: {
@@ -66,6 +82,14 @@ declare const _default: import("vue").DefineComponent<{
66
82
  titleClass: PropType<unknown>;
67
83
  multiSelect: BooleanConstructor;
68
84
  itemLabel: StringConstructor;
85
+ placeholder: {
86
+ type: PropType<string>;
87
+ default: string;
88
+ };
89
+ resetDefaultValue: {
90
+ type: PropType<any[]>;
91
+ default: () => any[];
92
+ };
69
93
  }>> & {
70
94
  onChange?: ((...args: any[]) => any) | undefined;
71
95
  onReset?: ((...args: any[]) => any) | undefined;
@@ -77,9 +101,11 @@ declare const _default: import("vue").DefineComponent<{
77
101
  onConfirm?: ((...args: any[]) => any) | undefined;
78
102
  }, {
79
103
  disabled: boolean;
104
+ placeholder: string;
80
105
  lazyRender: boolean;
81
106
  options: DropdownItemOption[];
82
107
  modelValueArray: any[];
83
108
  multiSelect: boolean;
109
+ resetDefaultValue: any[];
84
110
  }, {}>;
85
111
  export default _default;
@@ -44,7 +44,9 @@ const dropdownItemProps = {
44
44
  modelValueArray: (0, import_utils.makeArrayProp)(),
45
45
  titleClass: import_utils.unknownProp,
46
46
  multiSelect: Boolean,
47
- itemLabel: String
47
+ itemLabel: String,
48
+ placeholder: (0, import_utils.makeStringProp)("\u672A\u9009\u62E9"),
49
+ resetDefaultValue: (0, import_utils.makeArrayProp)()
48
50
  };
49
51
  var stdin_default = (0, import_vue2.defineComponent)({
50
52
  name,
@@ -101,10 +103,9 @@ var stdin_default = (0, import_vue2.defineComponent)({
101
103
  }
102
104
  };
103
105
  const onClickReset = () => {
104
- props.options.forEach((item) => {
105
- item.selected = false;
106
- });
106
+ var _a;
107
107
  modelArray.splice(0);
108
+ modelArray.push(...(_a = props.resetDefaultValue) != null ? _a : []);
108
109
  state.showPopup = false;
109
110
  emit("reset");
110
111
  };
@@ -140,7 +141,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
140
141
  if (title.length > 0) {
141
142
  title = title.substring(0, title.length - 1);
142
143
  }
143
- return title || "\u672A\u9009\u62E9";
144
+ return title;
144
145
  }
145
146
  const match = props.options.find((option) => option[fields.value.value] === props.modelValue);
146
147
  return match ? match[fields.value.text] : "";
@@ -153,8 +154,11 @@ var stdin_default = (0, import_vue2.defineComponent)({
153
154
  const text = option[fields.value.text];
154
155
  let active = false;
155
156
  if (props.multiSelect) {
156
- if (option.selected) {
157
+ if (modelArray == null ? void 0 : modelArray.includes(value)) {
157
158
  active = true;
159
+ option.selected = true;
160
+ } else {
161
+ option.selected = false;
158
162
  }
159
163
  } else {
160
164
  active = value === props.modelValue;
@@ -162,12 +166,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
162
166
  const onClick = () => {
163
167
  if (props.multiSelect) {
164
168
  if (option.selected) {
165
- option.selected = false;
166
169
  modelArray.splice(modelArray.indexOf(value), 1);
167
170
  emit("update:modelValue", -value);
168
171
  emit("change", -value);
169
172
  } else {
170
- option.selected = true;
171
173
  modelArray.push(value);
172
174
  emit("update:modelValue", value);
173
175
  emit("change", value);
@@ -20,6 +20,14 @@ export declare const DropdownItem: import("../utils").WithInstall<import("vue").
20
20
  titleClass: import("vue").PropType<unknown>;
21
21
  multiSelect: BooleanConstructor;
22
22
  itemLabel: StringConstructor;
23
+ placeholder: {
24
+ type: import("vue").PropType<string>;
25
+ default: string;
26
+ };
27
+ resetDefaultValue: {
28
+ type: import("vue").PropType<any[]>;
29
+ default: () => any[];
30
+ };
23
31
  }, (() => JSX.Element) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("reset" | "open" | "update:modelValue" | "change" | "close" | "opened" | "closed" | "confirm")[], "reset" | "open" | "update:modelValue" | "change" | "close" | "opened" | "closed" | "confirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
24
32
  title: StringConstructor;
25
33
  options: {
@@ -41,6 +49,14 @@ export declare const DropdownItem: import("../utils").WithInstall<import("vue").
41
49
  titleClass: import("vue").PropType<unknown>;
42
50
  multiSelect: BooleanConstructor;
43
51
  itemLabel: StringConstructor;
52
+ placeholder: {
53
+ type: import("vue").PropType<string>;
54
+ default: string;
55
+ };
56
+ resetDefaultValue: {
57
+ type: import("vue").PropType<any[]>;
58
+ default: () => any[];
59
+ };
44
60
  }>> & {
45
61
  onChange?: ((...args: any[]) => any) | undefined;
46
62
  onReset?: ((...args: any[]) => any) | undefined;
@@ -52,10 +68,12 @@ export declare const DropdownItem: import("../utils").WithInstall<import("vue").
52
68
  onConfirm?: ((...args: any[]) => any) | undefined;
53
69
  }, {
54
70
  disabled: boolean;
71
+ placeholder: string;
55
72
  lazyRender: boolean;
56
73
  options: import("./types").DropdownItemOption[];
57
74
  modelValueArray: any[];
58
75
  multiSelect: boolean;
76
+ resetDefaultValue: any[];
59
77
  }, {}>>;
60
78
  export default DropdownItem;
61
79
  export { dropdownItemProps } from './DropdownItem';
@@ -116,6 +116,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
116
116
  if (item.$slots.header) {
117
117
  return item.$slots.header(item);
118
118
  }
119
+ const itemTitle = item.renderTitle();
119
120
  return (0, import_vue.createVNode)("div", {
120
121
  "id": `${id}-${index}`,
121
122
  "role": "button",
@@ -141,7 +142,9 @@ var stdin_default = (0, import_vue2.defineComponent)({
141
142
  }, [(0, import_vue.createVNode)("div", {
142
143
  "class": "zt-ellipsis",
143
144
  "style": "padding-right: 18px"
144
- }, [slots.title || item.renderTitle(), slots.icon || (0, import_vue.createVNode)(import_icon.default, {
145
+ }, [slots.title || (itemTitle ? itemTitle : (0, import_vue.createVNode)("div", {
146
+ "class": [bem("placeholder")]
147
+ }, [item.placeholder])), slots.icon || (0, import_vue.createVNode)(import_icon.default, {
145
148
  "class": bem("icon"),
146
149
  "name": "spinner-expand"
147
150
  }, null)])])]);
@@ -1 +1 @@
1
- :root{--zt-dropdown-menu-background: var(--zt-background-popup);--zt-dropdown-menu-bar-padding: 0 12px;--zt-dropdown-menu-item-margin: 12px 4px;--zt-dropdown-menu-item-height: 36px;--zt-dropdown-menu-item-padding: 0 12px;--zt-dropdown-menu-title-text-color: var(--zt-text-color);--zt-dropdown-menu-title-active-text-color: var(--zt-primary-color);--zt-dropdown-menu-title-disabled-text-color: var(--zt-text-color-2);--zt-dropdown-menu-option-active-color: var(--zt-primary-color);--zt-dropdown-menu-content-max-height: 80%}:root[zt-theme-size=large]{--zt-dropdown-menu-item-height: 48px}.zt-dropdown-menu{-webkit-user-select:none;user-select:none}.zt-dropdown-menu__bar{position:relative;display:flex;padding:var(--zt-dropdown-menu-bar-padding);align-items:center}.zt-dropdown-menu__bar--opened{z-index:calc(var(--zt-dropdown-item-z-index) + 1)}.zt-dropdown-menu__item{display:flex;flex:1;align-items:center;justify-content:center;background:var(--zt-dropdown-menu-background);min-width:0;margin:var(--zt-dropdown-menu-item-margin);height:var(--zt-dropdown-menu-item-height);border-radius:calc(var(--zt-dropdown-menu-item-height) / 2);padding:var(--zt-dropdown-menu-item-padding);font-size:var(--zt-font-size-md);line-height:var(--zt-line-height-md);cursor:pointer}.zt-dropdown-menu__item:last-child{margin-right:0}.zt-dropdown-menu__item:active{opacity:.7}.zt-dropdown-menu__item--disabled:active{opacity:1}.zt-dropdown-menu__item--disabled .zt-dropdown-menu__title{color:var(--zt-dropdown-menu-title-disabled-text-color)}.zt-dropdown-menu__title{position:relative;box-sizing:border-box;width:100%;color:var(--zt-dropdown-menu-title-text-color);font-size:var(--zt-font-size-md)}.zt-dropdown-menu__title .zt-icon{position:absolute;right:0;top:3px;color:var(--zt-gray-4)}.zt-dropdown-menu__title--active{color:var(--zt-dropdown-menu-title-active-text-color)}.zt-dropdown-menu__title--active .zt-icon{color:currentColor}.zt-dropdown-menu__title--active .zt-dropdown-menu__icon{transform:rotate(180deg)}.zt-dropdown-menu__title--down:after{margin-top:-1px;transform:rotate(135deg)}
1
+ :root{--zt-dropdown-menu-background: var(--zt-background-popup);--zt-dropdown-menu-bar-padding: 0 12px;--zt-dropdown-menu-item-margin: 12px 4px;--zt-dropdown-menu-item-height: 36px;--zt-dropdown-menu-item-padding: 0 12px;--zt-dropdown-menu-title-text-color: var(--zt-text-color);--zt-dropdown-menu-title-active-text-color: var(--zt-primary-color);--zt-dropdown-menu-title-disabled-text-color: var(--zt-text-color-2);--zt-dropdown-menu-option-active-color: var(--zt-primary-color);--zt-dropdown-menu-content-max-height: 80%}:root[zt-theme-size=large]{--zt-dropdown-menu-item-height: 48px}.zt-dropdown-menu{-webkit-user-select:none;user-select:none}.zt-dropdown-menu__bar{position:relative;display:flex;padding:var(--zt-dropdown-menu-bar-padding);align-items:center}.zt-dropdown-menu__bar--opened{z-index:calc(var(--zt-dropdown-item-z-index) + 1)}.zt-dropdown-menu__item{display:flex;flex:1;align-items:center;justify-content:center;background:var(--zt-dropdown-menu-background);min-width:0;margin:var(--zt-dropdown-menu-item-margin);height:var(--zt-dropdown-menu-item-height);border-radius:calc(var(--zt-dropdown-menu-item-height) / 2);padding:var(--zt-dropdown-menu-item-padding);font-size:var(--zt-font-size-md);line-height:var(--zt-line-height-md);cursor:pointer}.zt-dropdown-menu__item:last-child{margin-right:0}.zt-dropdown-menu__item:active{opacity:.7}.zt-dropdown-menu__item--disabled:active{opacity:1}.zt-dropdown-menu__item--disabled .zt-dropdown-menu__title{color:var(--zt-dropdown-menu-title-disabled-text-color)}.zt-dropdown-menu__title{position:relative;box-sizing:border-box;width:100%;color:var(--zt-dropdown-menu-title-text-color);font-size:var(--zt-font-size-md)}.zt-dropdown-menu__title .zt-icon{position:absolute;right:0;top:3px;color:var(--zt-gray-4)}.zt-dropdown-menu__title--active{color:var(--zt-dropdown-menu-title-active-text-color)}.zt-dropdown-menu__title--active .zt-icon{color:currentColor}.zt-dropdown-menu__title--active .zt-dropdown-menu__icon{transform:rotate(180deg)}.zt-dropdown-menu__title--down:after{margin-top:-1px;transform:rotate(135deg)}.zt-dropdown-menu__placeholder{color:var(--zt-gray-a2)}