zartui 3.1.17 → 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 (96) hide show
  1. package/README.md +23 -0
  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/HierarchySelect.d.ts +13 -0
  18. package/es/hierarchy-select/HierarchySelect.mjs +11 -1
  19. package/es/hierarchy-select/index.css +1 -1
  20. package/es/hierarchy-select/index.d.ts +9 -0
  21. package/es/index.d.ts +1 -1
  22. package/es/index.mjs +1 -1
  23. package/es/media-picker/MediaPicker.d.ts +4 -0
  24. package/es/media-picker/MediaPicker.mjs +31 -15
  25. package/es/media-picker/index.d.ts +4 -0
  26. package/es/media-picker/index.mjs +3 -1
  27. package/es/media-picker/type.d.ts +12 -1
  28. package/es/media-picker/type.mjs +12 -0
  29. package/es/media-picker/util/wx-util.d.ts +4 -0
  30. package/es/media-picker/util/wx-util.mjs +67 -0
  31. package/es/popup/index.css +1 -1
  32. package/es/slider/Slider.mjs +15 -16
  33. package/es/slider/index.css +1 -1
  34. package/es/table/Table.d.ts +13 -0
  35. package/es/table/Table.mjs +28 -7
  36. package/es/table/index.css +1 -1
  37. package/es/table/index.d.ts +9 -0
  38. package/es/table/style/index.mjs +6 -0
  39. package/es/tabs/TabsTitle.mjs +1 -0
  40. package/es/tabs/index.css +1 -1
  41. package/es/text-ellipsis/TextEllipsis.d.ts +13 -0
  42. package/es/text-ellipsis/TextEllipsis.mjs +15 -4
  43. package/es/text-ellipsis/index.d.ts +9 -0
  44. package/es/text-ellipsis/style/index.mjs +7 -0
  45. package/es/toast/index.css +1 -1
  46. package/lib/calendar/Calendar.js +1 -2
  47. package/lib/date-time-picker/DateTimePicker.js +15 -0
  48. package/lib/dialog/index.css +1 -1
  49. package/lib/drawer-select/DrawerSelect.d.ts +17 -1
  50. package/lib/drawer-select/DrawerSelect.js +9 -4
  51. package/lib/drawer-select/index.d.ts +11 -0
  52. package/lib/dropdown-item/DropdownItem.d.ts +26 -0
  53. package/lib/dropdown-item/DropdownItem.js +10 -8
  54. package/lib/dropdown-item/index.d.ts +18 -0
  55. package/lib/dropdown-menu/DropdownMenu.js +4 -1
  56. package/lib/dropdown-menu/index.css +1 -1
  57. package/lib/empty/Empty.js +5 -1
  58. package/lib/empty/Images.d.ts +14 -11
  59. package/lib/empty/Images.js +89 -89
  60. package/lib/empty/types.d.ts +1 -0
  61. package/lib/hierarchy-select/HierarchySelect.d.ts +13 -0
  62. package/lib/hierarchy-select/HierarchySelect.js +11 -1
  63. package/lib/hierarchy-select/index.css +1 -1
  64. package/lib/hierarchy-select/index.d.ts +9 -0
  65. package/lib/index.css +1 -1
  66. package/lib/index.d.ts +1 -1
  67. package/lib/index.js +1 -1
  68. package/lib/media-picker/MediaPicker.d.ts +4 -0
  69. package/lib/media-picker/MediaPicker.js +30 -14
  70. package/lib/media-picker/index.d.ts +4 -0
  71. package/lib/media-picker/index.js +3 -1
  72. package/lib/media-picker/type.d.ts +12 -1
  73. package/lib/media-picker/type.js +16 -0
  74. package/lib/media-picker/util/wx-util.d.ts +4 -0
  75. package/lib/media-picker/util/wx-util.js +86 -0
  76. package/lib/popup/index.css +1 -1
  77. package/lib/slider/Slider.js +15 -16
  78. package/lib/slider/index.css +1 -1
  79. package/lib/table/Table.d.ts +13 -0
  80. package/lib/table/Table.js +37 -6
  81. package/lib/table/index.css +1 -1
  82. package/lib/table/index.d.ts +9 -0
  83. package/lib/table/style/index.js +6 -0
  84. package/lib/tabs/TabsTitle.js +1 -0
  85. package/lib/tabs/index.css +1 -1
  86. package/lib/text-ellipsis/TextEllipsis.d.ts +13 -0
  87. package/lib/text-ellipsis/TextEllipsis.js +13 -2
  88. package/lib/text-ellipsis/index.d.ts +9 -0
  89. package/lib/text-ellipsis/style/index.js +7 -0
  90. package/lib/toast/index.css +1 -1
  91. package/lib/web-types.json +1 -1
  92. package/lib/zartui.cjs.js +727 -572
  93. package/lib/zartui.es.js +727 -572
  94. package/lib/zartui.js +727 -572
  95. package/lib/zartui.min.js +1 -1
  96. package/package.json +5 -5
@@ -1,8 +1,9 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from "vue";
2
2
  import { defineComponent, computed, onMounted, ref } from "vue";
3
3
  import { createNamespace, makeArrayProp, makeStringProp, truthProp } from "../utils/index.mjs";
4
4
  import { Icon } from "../icon/index.mjs";
5
5
  import { SortOrderEnum } from "./types.mjs";
6
+ import TextEllipsis from "../text-ellipsis/index.mjs";
6
7
  const [name, bem] = createNamespace("table");
7
8
  const tableProps = {
8
9
  headList: makeArrayProp(),
@@ -20,6 +21,10 @@ const tableProps = {
20
21
  border: {
21
22
  type: Boolean,
22
23
  default: false
24
+ },
25
+ hideTableHead: {
26
+ type: Boolean,
27
+ default: false
23
28
  }
24
29
  };
25
30
  var stdin_default = defineComponent({
@@ -27,7 +32,8 @@ var stdin_default = defineComponent({
27
32
  props: tableProps,
28
33
  emits: ["sort"],
29
34
  setup(props, {
30
- emit
35
+ emit,
36
+ slots
31
37
  }) {
32
38
  const sortOrder = ref("");
33
39
  const sortKey = ref("");
@@ -105,6 +111,8 @@ var stdin_default = defineComponent({
105
111
  pingedLeft.value = mergedScrollLeft > 0;
106
112
  };
107
113
  const getHead = (colData) => {
114
+ const headSlot = slots[`head-${colData.id}`];
115
+ const headEllipsisType = colData.sorter ? "flat" : "dialog";
108
116
  if ((colData == null ? void 0 : colData.colSpan) !== 0) {
109
117
  return _createVNode("th", {
110
118
  "class": bem("left", {
@@ -115,10 +123,14 @@ var stdin_default = defineComponent({
115
123
  left: colData.fixed ? colData.left : ""
116
124
  },
117
125
  "colspan": (colData == null ? void 0 : colData.colSpan) !== 1 ? colData == null ? void 0 : colData.colSpan : null
118
- }, [_createVNode("div", {
126
+ }, [headSlot ? headSlot(colData) : _createVNode("div", {
119
127
  "class": bem("head"),
120
128
  "onClick": () => onHeaderClick(colData)
121
- }, [_createVNode("span", {
129
+ }, [colData.ellipsis ? _createVNode(TextEllipsis, {
130
+ "content": colData.label,
131
+ "expandType": headEllipsisType,
132
+ "class": bem("head-label-ellipsis")
133
+ }, null) : _createVNode("span", {
122
134
  "class": bem("head-label")
123
135
  }, [colData.label]), colData.sorter ? _createVNode("span", {
124
136
  "class": bem("head-sort")
@@ -139,6 +151,15 @@ var stdin_default = defineComponent({
139
151
  }, null)]) : ""])]);
140
152
  }
141
153
  };
154
+ const getElement = (rowData, colData) => {
155
+ if (rowData[colData.key] && rowData[colData.key].id && slots[`data-${rowData[colData.key].id}`]) {
156
+ return slots[`data-${rowData[colData.key].id}`](rowData[colData.key]);
157
+ }
158
+ return colData.ellipsis ? _createVNode(TextEllipsis, {
159
+ "content": rowData[colData.key],
160
+ "expandType": "dialog"
161
+ }, null) : rowData[colData.key];
162
+ };
142
163
  const getBody = (rowData, rowIndex) => _createVNode("tr", null, [formatColumns.value.map((colData) => {
143
164
  let additionalCellProps;
144
165
  if (colData.customCell) {
@@ -155,7 +176,7 @@ var stdin_default = defineComponent({
155
176
  "colspan": (additionalCellProps == null ? void 0 : additionalCellProps.colSpan) !== 1 ? additionalCellProps == null ? void 0 : additionalCellProps.colSpan : null,
156
177
  "rowspan": (additionalCellProps == null ? void 0 : additionalCellProps.rowSpan) !== 1 ? additionalCellProps == null ? void 0 : additionalCellProps.rowSpan : null,
157
178
  "style": style
158
- }, [rowData[colData.key]]);
179
+ }, [getElement(rowData, colData)]);
159
180
  })]);
160
181
  const getCol = () => {
161
182
  const cols = [];
@@ -196,9 +217,9 @@ var stdin_default = defineComponent({
196
217
  "style": {
197
218
  width: item.width
198
219
  }
199
- }, null))]), _createVNode("thead", {
220
+ }, null))]), _withDirectives(_createVNode("thead", {
200
221
  "class": bem("thead")
201
- }, [_createVNode("tr", null, [formatColumns.value.map((colData) => getHead(colData))])]), _createVNode("tbody", {
222
+ }, [_createVNode("tr", null, [formatColumns.value.map((colData) => getHead(colData))])]), [[_vShow, !props.hideTableHead]]), _createVNode("tbody", {
202
223
  "class": bem("tbody")
203
224
  }, [props.dataList.map((rowData, rowIndex) => getBody(rowData, rowIndex))])])]);
204
225
  }
@@ -1 +1 @@
1
- :root{--zt-table-head-color: var(--zt-primary-color);--zt-table-head-height: 40px;--zt-table-head-background: #e6f5ff;--zt-table-body-height: 40px;--zt-table-body-color: var(--zt-gray);--zt-table-body-background: var(--zt-white);--zt-table-sort-default: var(--zt-gray-5);--zt-table-sort-active: var(--zt-primary-color)}:root[zt-theme-size=large]{--zt-table-head-height: 52px}.zt-base-hair{position:relative}.zt-base-hair:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table table{border-collapse:separate;border-spacing:0;width:100%;table-layout:auto;box-sizing:border-box}.zt-table--fixed{overflow:auto scroll}.zt-table--fixed::-webkit-scrollbar{width:0;height:0}.zt-table--fixed table{table-layout:fixed}.zt-table--thead-fixed{position:-webkit-sticky!important;position:-webkit-sticky!important;position:sticky!important;z-index:2}.zt-table--bordered{position:relative}.zt-table--bordered:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table--bordered:after{border-left-width:var(--zt-border-width)}.zt-table--bordered>table{position:relative}.zt-table--bordered>table:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table--bordered>table:after{border-top-width:var(--zt-border-width)}.zt-table--bordered .zt-table__thead>tr>th{position:relative}.zt-table--bordered .zt-table__thead>tr>th:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table--bordered .zt-table__thead>tr>th:after{border-right-width:var(--zt-border-width);border-bottom-width:var(--zt-border-width)}.zt-table--bordered .zt-table__tbody>tr>td{position:relative}.zt-table--bordered .zt-table__tbody>tr>td:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table--bordered .zt-table__tbody>tr>td:after{border-right-width:var(--zt-border-width);border-bottom-width:var(--zt-border-width)}.zt-table__thead>tr>th{box-sizing:border-box;overflow-wrap:break-word;min-height:var(--zt-table-head-height);font-weight:600;font-size:var(--zt-font-size-md);color:var(--zt-table-head-color);text-align:center;line-height:var(--zt-table-head-height);background:var(--zt-table-head-background)}.zt-table__tbody>tr>td{box-sizing:border-box;overflow-wrap:break-word;min-height:var(--zt-table-body-height);font-size:var(--zt-font-size-md);color:var(--zt-table-body-color);text-align:center;line-height:var(--zt-line-height-md);background:var(--zt-table-body-background);padding:10px 16px}.zt-table--striped .zt-table__tbody>tr:nth-child(2n)>td{background:var(--zt-table-head-background)}.zt-table__left--last{border-right:none!important}.zt-table__left--last:after{content:"";position:absolute;top:0;right:-10px;width:10px;height:100%;opacity:.06;background-image:linear-gradient(90deg,#000000 0%,rgba(0,0,0,0) 100%)}.zt-table__left--fixed{position:-webkit-sticky!important;position:-webkit-sticky!important;position:sticky!important;z-index:2}.zt-table__head{display:flex;justify-content:center}.zt-table__head-sort{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;color:var(--zt-table-sort-default)}.zt-table__head-label{line-height:var(--zt-table-head-height)}.zt-table__sort-active{color:var(--zt-table-sort-active)}.zt-table--skeleton{background-color:#fff;padding-bottom:10px}.zt-table__row{display:flex;box-sizing:border-box;padding:0 10px;height:40px}.zt-table__row--head{display:flex;justify-content:center;align-items:center;background-color:#e7f0fb;margin-bottom:8px}.zt-table__row--head .zt-table__col-item{background-color:#cfdae9;height:20px}.zt-table__col{display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:1;padding:4px 6px;height:40px}.zt-table__col-item{width:100%;height:100%;border-radius:4px;background-color:rgba(45,75,115,.06)}.zt-table--animate{animation:zt-table-blink var(--zt-skeleton-duration) ease-in-out infinite}@keyframes zt-table-blink{50%{opacity:.6}}
1
+ :root{--zt-table-head-color: var(--zt-primary-color);--zt-table-head-height: 40px;--zt-table-head-background: #e6f5ff;--zt-table-body-height: 40px;--zt-table-body-color: var(--zt-gray);--zt-table-body-background: var(--zt-white);--zt-table-sort-default: var(--zt-gray-5);--zt-table-sort-active: var(--zt-primary-color)}:root[zt-theme-size=large]{--zt-table-head-height: 52px}.zt-base-hair{position:relative}.zt-base-hair:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table table{border-collapse:separate;border-spacing:0;width:100%;table-layout:auto;box-sizing:border-box}.zt-table--fixed{overflow:auto scroll}.zt-table--fixed::-webkit-scrollbar{width:0;height:0}.zt-table--fixed table{table-layout:fixed}.zt-table--thead-fixed{position:-webkit-sticky!important;position:-webkit-sticky!important;position:sticky!important;z-index:2}.zt-table--bordered{position:relative}.zt-table--bordered:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table--bordered:after{border-left-width:var(--zt-border-width)}.zt-table--bordered>table{position:relative}.zt-table--bordered>table:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table--bordered>table:after{border-top-width:var(--zt-border-width)}.zt-table--bordered .zt-table__thead>tr>th{position:relative}.zt-table--bordered .zt-table__thead>tr>th:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table--bordered .zt-table__thead>tr>th:after{border-right-width:var(--zt-border-width);border-bottom-width:var(--zt-border-width)}.zt-table--bordered .zt-table__tbody>tr>td{position:relative}.zt-table--bordered .zt-table__tbody>tr>td:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--zt-border-color);transform:scale(.5)}.zt-table--bordered .zt-table__tbody>tr>td:after{border-right-width:var(--zt-border-width);border-bottom-width:var(--zt-border-width)}.zt-table__thead>tr>th{box-sizing:border-box;overflow-wrap:break-word;min-height:var(--zt-table-head-height);font-weight:600;font-size:var(--zt-font-size-md);color:var(--zt-table-head-color);text-align:center;line-height:var(--zt-table-head-height);background:var(--zt-table-head-background)}.zt-table__tbody>tr>td{box-sizing:border-box;overflow-wrap:break-word;min-height:var(--zt-table-body-height);font-size:var(--zt-font-size-md);color:var(--zt-table-body-color);text-align:center;line-height:var(--zt-line-height-md);background:var(--zt-table-body-background);padding:10px 16px}.zt-table--striped .zt-table__tbody>tr:nth-child(2n)>td{background:var(--zt-table-head-background)}.zt-table__left--last{border-right:none!important}.zt-table__left--last:after{content:"";position:absolute;top:0;right:-10px;width:10px;height:100%;opacity:.06;background-image:linear-gradient(90deg,#000000 0%,rgba(0,0,0,0) 100%)}.zt-table__left--fixed{position:-webkit-sticky!important;position:-webkit-sticky!important;position:sticky!important;z-index:2}.zt-table__head{display:flex;justify-content:center}.zt-table__head-sort{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;color:var(--zt-table-sort-default)}.zt-table__head-label{line-height:var(--zt-table-head-height)}.zt-table__head-label-ellipsis{width:100%}.zt-table__sort-active{color:var(--zt-table-sort-active)}.zt-table--skeleton{background-color:#fff;padding-bottom:10px}.zt-table__row{display:flex;box-sizing:border-box;padding:0 10px;height:40px}.zt-table__row--head{display:flex;justify-content:center;align-items:center;background-color:#e7f0fb;margin-bottom:8px}.zt-table__row--head .zt-table__col-item{background-color:#cfdae9;height:20px}.zt-table__col{display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:1;padding:4px 6px;height:40px}.zt-table__col-item{width:100%;height:100%;border-radius:4px;background-color:rgba(45,75,115,.06)}.zt-table--animate{animation:zt-table-blink var(--zt-skeleton-duration) ease-in-out infinite}@keyframes zt-table-blink{50%{opacity:.6}}
@@ -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)}
@@ -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);