x-next 1.5.0 → 1.7.0

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 (171) hide show
  1. package/AI_USAGE.md +57 -4
  2. package/CHANGELOG.md +72 -0
  3. package/dist/_utils/color.d.ts +53 -0
  4. package/dist/components/color-picker/ColorPicker.d.ts +239 -0
  5. package/dist/components/color-picker/gradient-slider.d.ts +52 -0
  6. package/dist/components/color-picker/index.d.ts +238 -0
  7. package/dist/components/color-picker/panel.d.ts +721 -0
  8. package/dist/components/color-picker/sv-panel.d.ts +48 -0
  9. package/dist/components/date-picker/DatePicker.vue.d.ts +3 -3
  10. package/dist/components/date-picker/index.d.ts +6 -6
  11. package/dist/components/draggable/Draggable.d.ts +1 -1
  12. package/dist/components/draggable/index.d.ts +2 -2
  13. package/dist/components/drawer/index.d.ts +6 -6
  14. package/dist/components/drawer/src/Drawer.vue.d.ts +3 -3
  15. package/dist/components/dropdown/Dropdown.vue.d.ts +34 -4
  16. package/dist/components/dropdown/DropdownButton.vue.d.ts +35 -5
  17. package/dist/components/dropdown/DropdownSubmenu.vue.d.ts +34 -4
  18. package/dist/components/dropdown/dropdown-panel.vue.d.ts +30 -0
  19. package/dist/components/dropdown/index.d.ts +209 -29
  20. package/dist/components/form/FormItem.vue.d.ts +12 -12
  21. package/dist/components/form/form-item-label.vue.d.ts +3 -3
  22. package/dist/components/form/index.d.ts +24 -24
  23. package/dist/components/form-select/Select.d.ts +3 -3
  24. package/dist/components/form-select/SelectDropdown.vue.d.ts +30 -0
  25. package/dist/components/form-select/index.d.ts +66 -6
  26. package/dist/components/form-slider/Slider.vue.d.ts +3 -3
  27. package/dist/components/form-slider/index.d.ts +6 -6
  28. package/dist/components/form-slider/slider-button.vue.d.ts +3 -3
  29. package/dist/components/grid/Row.vue.d.ts +3 -3
  30. package/dist/components/grid/index.d.ts +9 -9
  31. package/dist/components/heatmap/Heatmap.d.ts +311 -0
  32. package/dist/components/heatmap/helpers/matrix.d.ts +58 -0
  33. package/dist/components/heatmap/index.d.ts +372 -0
  34. package/dist/components/heatmap/interface.d.ts +57 -0
  35. package/dist/components/image/Image.vue.d.ts +125 -17
  36. package/dist/components/image/ImagePreview.vue.d.ts +97 -7
  37. package/dist/components/image/ImagePreviewAction.d.ts +3 -3
  38. package/dist/components/image/ImagePreviewGroup.vue.d.ts +100 -7
  39. package/dist/components/image/hooks/use-image-drag.d.ts +2 -2
  40. package/dist/components/image/index.d.ts +712 -124
  41. package/dist/components/image/interface.d.ts +9 -1
  42. package/dist/components/image/preview-toolbar.vue.d.ts +3 -3
  43. package/dist/components/index.d.ts +3 -0
  44. package/dist/components/menu/sub-menu-pop.vue.d.ts +3 -3
  45. package/dist/components/network/Network.vue.d.ts +1 -1
  46. package/dist/components/network/index.d.ts +3 -3
  47. package/dist/components/network/utils.d.ts +2 -0
  48. package/dist/components/pagination/page-item-ellipsis.vue.d.ts +9 -0
  49. package/dist/components/pagination/page-jumper.vue.d.ts +6 -0
  50. package/dist/components/pagination/page-options.vue.d.ts +6 -6
  51. package/dist/components/popconfirm/src/popup.vue.d.ts +3 -3
  52. package/dist/components/popover/Popover.d.ts +1 -1
  53. package/dist/components/popover/index.d.ts +3 -3
  54. package/dist/components/popup/Popup.d.ts +1 -1
  55. package/dist/components/popup/index.d.ts +3 -3
  56. package/dist/components/skeleton/SkeletonShape.vue.d.ts +3 -3
  57. package/dist/components/skeleton/index.d.ts +6 -6
  58. package/dist/components/space/Space.d.ts +1 -1
  59. package/dist/components/space/index.d.ts +3 -3
  60. package/dist/components/spin/Spin.d.ts +38 -0
  61. package/dist/components/spin/index.d.ts +30 -0
  62. package/dist/components/table/Table.d.ts +1 -1
  63. package/dist/components/table/index.d.ts +3 -3
  64. package/dist/components/tabs/Tabs.d.ts +1 -1
  65. package/dist/components/tabs/index.d.ts +3 -3
  66. package/dist/components/time-picker/TimePicker.vue.d.ts +3 -3
  67. package/dist/components/time-picker/index.d.ts +6 -6
  68. package/dist/components/tooltip/Tooltip.vue.d.ts +1 -1
  69. package/dist/components/tooltip/index.d.ts +3 -3
  70. package/dist/components/trigger/Trigger.d.ts +1 -1
  71. package/dist/components/trigger/index.d.ts +3 -3
  72. package/dist/components/upload/Upload.d.ts +372 -0
  73. package/dist/components/upload/context.d.ts +28 -0
  74. package/dist/components/upload/index.d.ts +656 -0
  75. package/dist/components/upload/interface.d.ts +110 -0
  76. package/dist/components/upload/props.d.ts +321 -0
  77. package/dist/components/upload/upload-list-item.d.ts +15 -0
  78. package/dist/components/upload/upload-list.d.ts +11 -0
  79. package/dist/components/upload/upload-picture-item.d.ts +20 -0
  80. package/dist/components/upload/upload-trigger.d.ts +8 -0
  81. package/dist/components/upload/utils.d.ts +48 -0
  82. package/dist/components/watermark/Watermark.d.ts +1 -1
  83. package/dist/components/watermark/index.d.ts +3 -3
  84. package/dist/es/_styles/palette-aliases.js +10 -4
  85. package/dist/es/_utils/color.js +73 -0
  86. package/dist/es/components/button/Button.js +2 -2
  87. package/dist/es/components/color-picker/ColorPicker.js +239 -0
  88. package/dist/es/components/color-picker/gradient-slider.js +79 -0
  89. package/dist/es/components/color-picker/index.js +8 -0
  90. package/dist/es/components/color-picker/panel.js +307 -0
  91. package/dist/es/components/color-picker/sv-panel.js +99 -0
  92. package/dist/es/components/dropdown/dropdown-panel.vue.js +17 -17
  93. package/dist/es/components/form-input/Input.js +7 -7
  94. package/dist/es/components/form-input/InputPassword.vue2.js +2 -2
  95. package/dist/es/components/form-input/InputSearch.js +2 -2
  96. package/dist/es/components/form-input-number/InputNumber.js +12 -12
  97. package/dist/es/components/heatmap/Heatmap.js +334 -0
  98. package/dist/es/components/heatmap/helpers/matrix.js +106 -0
  99. package/dist/es/components/heatmap/index.js +8 -0
  100. package/dist/es/components/image/Image.vue.js +55 -45
  101. package/dist/es/components/image/Image.vue2.js +113 -92
  102. package/dist/es/components/image/ImagePreview.vue.js +66 -53
  103. package/dist/es/components/image/ImagePreview.vue2.js +219 -171
  104. package/dist/es/components/image/ImagePreviewAction.js +12 -15
  105. package/dist/es/components/image/ImagePreviewGroup.vue.js +21 -20
  106. package/dist/es/components/image/ImagePreviewGroup.vue2.js +45 -39
  107. package/dist/es/components/image/hooks/use-image-drag.js +16 -14
  108. package/dist/es/components/index.js +123 -117
  109. package/dist/es/components/menu/sub-menu-pop.vue2.js +12 -12
  110. package/dist/es/components/network/Network.vue2.js +72 -72
  111. package/dist/es/components/network/utils.js +44 -35
  112. package/dist/es/components/pagination/Pagination.js +113 -104
  113. package/dist/es/components/pagination/page-item-ellipsis.vue.js +13 -12
  114. package/dist/es/components/pagination/page-item-ellipsis.vue2.js +19 -15
  115. package/dist/es/components/pagination/page-jumper.vue.js +13 -12
  116. package/dist/es/components/pagination/page-jumper.vue2.js +7 -4
  117. package/dist/es/components/pagination/page-options.vue.js +4 -3
  118. package/dist/es/components/pagination/page-options.vue2.js +17 -15
  119. package/dist/es/components/skeleton/Skeleton.vue.js +11 -9
  120. package/dist/es/components/skeleton/SkeletonLine.vue.js +9 -8
  121. package/dist/es/components/skeleton/SkeletonShape.vue.js +8 -7
  122. package/dist/es/components/spin/Spin.js +124 -60
  123. package/dist/es/components/table/Table.js +3 -1
  124. package/dist/es/components/trigger/Trigger.js +19 -19
  125. package/dist/es/components/upload/Upload.js +420 -0
  126. package/dist/es/components/upload/context.js +4 -0
  127. package/dist/es/components/upload/index.js +8 -0
  128. package/dist/es/components/upload/props.js +321 -0
  129. package/dist/es/components/upload/upload-list-item.js +138 -0
  130. package/dist/es/components/upload/upload-list.js +48 -0
  131. package/dist/es/components/upload/upload-picture-item.js +109 -0
  132. package/dist/es/components/upload/upload-trigger.js +89 -0
  133. package/dist/es/components/upload/utils.js +195 -0
  134. package/dist/es/icons/_self/empty-better.js +25 -8
  135. package/dist/es/icons/_self/upload-icons.js +103 -0
  136. package/dist/es/index.js +168 -162
  137. package/dist/es/locale/en-US.js +39 -1
  138. package/dist/es/locale/zh-CN.js +39 -1
  139. package/dist/es/style.css +1 -1
  140. package/dist/icons/_self/upload-icons.d.ts +523 -0
  141. package/dist/index.cjs +4 -4
  142. package/dist/index.umd.js +4 -4
  143. package/dist/locale/interface.d.ts +60 -0
  144. package/dist/style/base.css +1 -1
  145. package/dist/style/button.css +1 -1
  146. package/dist/style/color-picker.css +1 -0
  147. package/dist/style/color-picker.js +2 -0
  148. package/dist/style/date-picker.css +1 -1
  149. package/dist/style/empty.css +1 -1
  150. package/dist/style/form-checkbox.css +1 -1
  151. package/dist/style/form-input-tag.css +1 -1
  152. package/dist/style/form-input.css +1 -1
  153. package/dist/style/form-radio.css +1 -1
  154. package/dist/style/form-textarea.css +1 -1
  155. package/dist/style/form.css +1 -1
  156. package/dist/style/heatmap.css +1 -0
  157. package/dist/style/heatmap.js +2 -0
  158. package/dist/style/image.css +1 -1
  159. package/dist/style/menu.css +1 -1
  160. package/dist/style/pagination.css +1 -1
  161. package/dist/style/skeleton.css +1 -1
  162. package/dist/style/spin.css +1 -1
  163. package/dist/style/steps.css +1 -1
  164. package/dist/style/table.css +1 -1
  165. package/dist/style/upload.css +1 -0
  166. package/dist/style/upload.js +2 -0
  167. package/dist/style.css +1 -1
  168. package/dist/types.d.ts +3 -0
  169. package/package.json +1 -1
  170. package/volar.d.ts +3 -0
  171. package/dist/es/_hooks/use-popup-overflow-hidden.js +0 -29
@@ -0,0 +1,372 @@
1
+ export declare const Heatmap: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
3
+ data: {
4
+ type: import('vue').PropType<import('./interface').HeatmapData>;
5
+ default: () => never[];
6
+ };
7
+ year: {
8
+ type: NumberConstructor;
9
+ };
10
+ startDate: {
11
+ type: import('vue').PropType<import('./interface').HeatmapRange>;
12
+ };
13
+ endDate: {
14
+ type: import('vue').PropType<import('./interface').HeatmapRange>;
15
+ };
16
+ activeColors: {
17
+ type: import('vue').PropType<string[]>;
18
+ };
19
+ minimumColor: {
20
+ type: StringConstructor;
21
+ };
22
+ size: {
23
+ type: import('vue').PropType<import('./interface').HeatmapSize>;
24
+ };
25
+ firstDayOfWeek: {
26
+ type: import('vue').PropType<import('./interface').HeatmapFirstDayOfWeek>;
27
+ default: number;
28
+ validator: (value: number) => boolean;
29
+ };
30
+ showWeekLabels: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
34
+ showMonthLabels: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ showColorIndicator: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
42
+ tooltip: {
43
+ type: import('vue').PropType<import('./interface').HeatmapTooltipProps>;
44
+ default: boolean;
45
+ };
46
+ loading: {
47
+ type: import('vue').PropType<import('./interface').HeatmapLoadingProps>;
48
+ default: boolean;
49
+ };
50
+ ariaLabel: {
51
+ type: StringConstructor;
52
+ };
53
+ }>> & Readonly<{
54
+ onCellClick?: ((cell: import('./interface').HeatmapCell, ev: MouseEvent) => any) | undefined;
55
+ }>, {
56
+ t: (key: import('../..').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
57
+ className: {
58
+ block: string;
59
+ element: (className: string) => string;
60
+ modifier: (className: string) => string;
61
+ is: (className: string) => string;
62
+ };
63
+ mergedSize: import('vue').ComputedRef<"mini" | "small" | "medium" | "large">;
64
+ cells: import('vue').ComputedRef<import('./interface').HeatmapCell[]>;
65
+ rows: import('vue').ComputedRef<import('./interface').HeatmapCell[][]>;
66
+ range: import('vue').ComputedRef<import('./interface').HeatmapResolvedRange | null>;
67
+ gridStyle: import('vue').ComputedRef<{
68
+ '--x-heatmap-cell-size': string;
69
+ gridTemplateRows: string;
70
+ }>;
71
+ weekdayLabels: import('vue').ComputedRef<string[]>;
72
+ monthLabels: import('vue').ComputedRef<{
73
+ text: string;
74
+ colIndex: number;
75
+ }[]>;
76
+ activeCell: import('vue').ComputedRef<import('./interface').HeatmapCell | null>;
77
+ tooltipEnabled: import('vue').ComputedRef<boolean>;
78
+ tooltipStyle: import('vue').ComputedRef<{
79
+ left?: undefined;
80
+ top?: undefined;
81
+ } | {
82
+ left: string;
83
+ top: string;
84
+ }>;
85
+ cellColor: (cell: import('./interface').HeatmapCell) => string;
86
+ cellLabel: (cell: import('./interface').HeatmapCell) => string;
87
+ handleCellClick: (cell: import('./interface').HeatmapCell, ev: MouseEvent) => void;
88
+ throttledMove: {
89
+ (...args: any[]): void;
90
+ cancel(): void;
91
+ };
92
+ clearActive: () => void;
93
+ isInRange: (cell: import('./interface').HeatmapCell) => boolean;
94
+ colorPalette: import('vue').ComputedRef<string[]>;
95
+ slots: Readonly<{
96
+ tooltip?: ((props: unknown) => unknown) | undefined;
97
+ cell?: ((props: unknown) => unknown) | undefined;
98
+ footer?: (() => unknown) | undefined;
99
+ indicator?: ((props: {
100
+ colors: string[];
101
+ }) => unknown) | undefined;
102
+ 'indicator-leading-text'?: (() => unknown) | undefined;
103
+ 'indicator-trailing-text'?: (() => unknown) | undefined;
104
+ }>;
105
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
106
+ cellClick: (cell: import('./interface').HeatmapCell, ev: MouseEvent) => true;
107
+ }, import('vue').PublicProps, {
108
+ loading: import('./interface').HeatmapLoadingProps;
109
+ data: import('./interface').HeatmapData;
110
+ tooltip: import('./interface').HeatmapTooltipProps;
111
+ firstDayOfWeek: import('./interface').HeatmapFirstDayOfWeek;
112
+ showWeekLabels: boolean;
113
+ showMonthLabels: boolean;
114
+ showColorIndicator: boolean;
115
+ }, true, {}, import('vue').SlotsType<{
116
+ tooltip?: (props: unknown) => unknown;
117
+ cell?: (props: unknown) => unknown;
118
+ footer?: () => unknown;
119
+ indicator?: (props: {
120
+ colors: string[];
121
+ }) => unknown;
122
+ 'indicator-leading-text'?: () => unknown;
123
+ 'indicator-trailing-text'?: () => unknown;
124
+ }>, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
125
+ P: {};
126
+ B: {};
127
+ D: {};
128
+ C: {};
129
+ M: {};
130
+ Defaults: {};
131
+ }, Readonly<import('vue').ExtractPropTypes<{
132
+ data: {
133
+ type: import('vue').PropType<import('./interface').HeatmapData>;
134
+ default: () => never[];
135
+ };
136
+ year: {
137
+ type: NumberConstructor;
138
+ };
139
+ startDate: {
140
+ type: import('vue').PropType<import('./interface').HeatmapRange>;
141
+ };
142
+ endDate: {
143
+ type: import('vue').PropType<import('./interface').HeatmapRange>;
144
+ };
145
+ activeColors: {
146
+ type: import('vue').PropType<string[]>;
147
+ };
148
+ minimumColor: {
149
+ type: StringConstructor;
150
+ };
151
+ size: {
152
+ type: import('vue').PropType<import('./interface').HeatmapSize>;
153
+ };
154
+ firstDayOfWeek: {
155
+ type: import('vue').PropType<import('./interface').HeatmapFirstDayOfWeek>;
156
+ default: number;
157
+ validator: (value: number) => boolean;
158
+ };
159
+ showWeekLabels: {
160
+ type: BooleanConstructor;
161
+ default: boolean;
162
+ };
163
+ showMonthLabels: {
164
+ type: BooleanConstructor;
165
+ default: boolean;
166
+ };
167
+ showColorIndicator: {
168
+ type: BooleanConstructor;
169
+ default: boolean;
170
+ };
171
+ tooltip: {
172
+ type: import('vue').PropType<import('./interface').HeatmapTooltipProps>;
173
+ default: boolean;
174
+ };
175
+ loading: {
176
+ type: import('vue').PropType<import('./interface').HeatmapLoadingProps>;
177
+ default: boolean;
178
+ };
179
+ ariaLabel: {
180
+ type: StringConstructor;
181
+ };
182
+ }>> & Readonly<{
183
+ onCellClick?: ((cell: import('./interface').HeatmapCell, ev: MouseEvent) => any) | undefined;
184
+ }>, {
185
+ t: (key: import('../..').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
186
+ className: {
187
+ block: string;
188
+ element: (className: string) => string;
189
+ modifier: (className: string) => string;
190
+ is: (className: string) => string;
191
+ };
192
+ mergedSize: import('vue').ComputedRef<"mini" | "small" | "medium" | "large">;
193
+ cells: import('vue').ComputedRef<import('./interface').HeatmapCell[]>;
194
+ rows: import('vue').ComputedRef<import('./interface').HeatmapCell[][]>;
195
+ range: import('vue').ComputedRef<import('./interface').HeatmapResolvedRange | null>;
196
+ gridStyle: import('vue').ComputedRef<{
197
+ '--x-heatmap-cell-size': string;
198
+ gridTemplateRows: string;
199
+ }>;
200
+ weekdayLabels: import('vue').ComputedRef<string[]>;
201
+ monthLabels: import('vue').ComputedRef<{
202
+ text: string;
203
+ colIndex: number;
204
+ }[]>;
205
+ activeCell: import('vue').ComputedRef<import('./interface').HeatmapCell | null>;
206
+ tooltipEnabled: import('vue').ComputedRef<boolean>;
207
+ tooltipStyle: import('vue').ComputedRef<{
208
+ left?: undefined;
209
+ top?: undefined;
210
+ } | {
211
+ left: string;
212
+ top: string;
213
+ }>;
214
+ cellColor: (cell: import('./interface').HeatmapCell) => string;
215
+ cellLabel: (cell: import('./interface').HeatmapCell) => string;
216
+ handleCellClick: (cell: import('./interface').HeatmapCell, ev: MouseEvent) => void;
217
+ throttledMove: {
218
+ (...args: any[]): void;
219
+ cancel(): void;
220
+ };
221
+ clearActive: () => void;
222
+ isInRange: (cell: import('./interface').HeatmapCell) => boolean;
223
+ colorPalette: import('vue').ComputedRef<string[]>;
224
+ slots: Readonly<{
225
+ tooltip?: ((props: unknown) => unknown) | undefined;
226
+ cell?: ((props: unknown) => unknown) | undefined;
227
+ footer?: (() => unknown) | undefined;
228
+ indicator?: ((props: {
229
+ colors: string[];
230
+ }) => unknown) | undefined;
231
+ 'indicator-leading-text'?: (() => unknown) | undefined;
232
+ 'indicator-trailing-text'?: (() => unknown) | undefined;
233
+ }>;
234
+ }, {}, {}, {}, {
235
+ loading: import('./interface').HeatmapLoadingProps;
236
+ data: import('./interface').HeatmapData;
237
+ tooltip: import('./interface').HeatmapTooltipProps;
238
+ firstDayOfWeek: import('./interface').HeatmapFirstDayOfWeek;
239
+ showWeekLabels: boolean;
240
+ showMonthLabels: boolean;
241
+ showColorIndicator: boolean;
242
+ }>;
243
+ __isFragment?: never;
244
+ __isTeleport?: never;
245
+ __isSuspense?: never;
246
+ } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
247
+ data: {
248
+ type: import('vue').PropType<import('./interface').HeatmapData>;
249
+ default: () => never[];
250
+ };
251
+ year: {
252
+ type: NumberConstructor;
253
+ };
254
+ startDate: {
255
+ type: import('vue').PropType<import('./interface').HeatmapRange>;
256
+ };
257
+ endDate: {
258
+ type: import('vue').PropType<import('./interface').HeatmapRange>;
259
+ };
260
+ activeColors: {
261
+ type: import('vue').PropType<string[]>;
262
+ };
263
+ minimumColor: {
264
+ type: StringConstructor;
265
+ };
266
+ size: {
267
+ type: import('vue').PropType<import('./interface').HeatmapSize>;
268
+ };
269
+ firstDayOfWeek: {
270
+ type: import('vue').PropType<import('./interface').HeatmapFirstDayOfWeek>;
271
+ default: number;
272
+ validator: (value: number) => boolean;
273
+ };
274
+ showWeekLabels: {
275
+ type: BooleanConstructor;
276
+ default: boolean;
277
+ };
278
+ showMonthLabels: {
279
+ type: BooleanConstructor;
280
+ default: boolean;
281
+ };
282
+ showColorIndicator: {
283
+ type: BooleanConstructor;
284
+ default: boolean;
285
+ };
286
+ tooltip: {
287
+ type: import('vue').PropType<import('./interface').HeatmapTooltipProps>;
288
+ default: boolean;
289
+ };
290
+ loading: {
291
+ type: import('vue').PropType<import('./interface').HeatmapLoadingProps>;
292
+ default: boolean;
293
+ };
294
+ ariaLabel: {
295
+ type: StringConstructor;
296
+ };
297
+ }>> & Readonly<{
298
+ onCellClick?: ((cell: import('./interface').HeatmapCell, ev: MouseEvent) => any) | undefined;
299
+ }>, {
300
+ t: (key: import('../..').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
301
+ className: {
302
+ block: string;
303
+ element: (className: string) => string;
304
+ modifier: (className: string) => string;
305
+ is: (className: string) => string;
306
+ };
307
+ mergedSize: import('vue').ComputedRef<"mini" | "small" | "medium" | "large">;
308
+ cells: import('vue').ComputedRef<import('./interface').HeatmapCell[]>;
309
+ rows: import('vue').ComputedRef<import('./interface').HeatmapCell[][]>;
310
+ range: import('vue').ComputedRef<import('./interface').HeatmapResolvedRange | null>;
311
+ gridStyle: import('vue').ComputedRef<{
312
+ '--x-heatmap-cell-size': string;
313
+ gridTemplateRows: string;
314
+ }>;
315
+ weekdayLabels: import('vue').ComputedRef<string[]>;
316
+ monthLabels: import('vue').ComputedRef<{
317
+ text: string;
318
+ colIndex: number;
319
+ }[]>;
320
+ activeCell: import('vue').ComputedRef<import('./interface').HeatmapCell | null>;
321
+ tooltipEnabled: import('vue').ComputedRef<boolean>;
322
+ tooltipStyle: import('vue').ComputedRef<{
323
+ left?: undefined;
324
+ top?: undefined;
325
+ } | {
326
+ left: string;
327
+ top: string;
328
+ }>;
329
+ cellColor: (cell: import('./interface').HeatmapCell) => string;
330
+ cellLabel: (cell: import('./interface').HeatmapCell) => string;
331
+ handleCellClick: (cell: import('./interface').HeatmapCell, ev: MouseEvent) => void;
332
+ throttledMove: {
333
+ (...args: any[]): void;
334
+ cancel(): void;
335
+ };
336
+ clearActive: () => void;
337
+ isInRange: (cell: import('./interface').HeatmapCell) => boolean;
338
+ colorPalette: import('vue').ComputedRef<string[]>;
339
+ slots: Readonly<{
340
+ tooltip?: ((props: unknown) => unknown) | undefined;
341
+ cell?: ((props: unknown) => unknown) | undefined;
342
+ footer?: (() => unknown) | undefined;
343
+ indicator?: ((props: {
344
+ colors: string[];
345
+ }) => unknown) | undefined;
346
+ 'indicator-leading-text'?: (() => unknown) | undefined;
347
+ 'indicator-trailing-text'?: (() => unknown) | undefined;
348
+ }>;
349
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
350
+ cellClick: (cell: import('./interface').HeatmapCell, ev: MouseEvent) => true;
351
+ }, string, {
352
+ loading: import('./interface').HeatmapLoadingProps;
353
+ data: import('./interface').HeatmapData;
354
+ tooltip: import('./interface').HeatmapTooltipProps;
355
+ firstDayOfWeek: import('./interface').HeatmapFirstDayOfWeek;
356
+ showWeekLabels: boolean;
357
+ showMonthLabels: boolean;
358
+ showColorIndicator: boolean;
359
+ }, {}, string, import('vue').SlotsType<{
360
+ tooltip?: (props: unknown) => unknown;
361
+ cell?: (props: unknown) => unknown;
362
+ footer?: () => unknown;
363
+ indicator?: (props: {
364
+ colors: string[];
365
+ }) => unknown;
366
+ 'indicator-leading-text'?: () => unknown;
367
+ 'indicator-trailing-text'?: () => unknown;
368
+ }>, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
369
+ install(app: import('vue').App): void;
370
+ };
371
+ export { Heatmap as default };
372
+ export type { HeatmapCell, HeatmapData, HeatmapDataItem, HeatmapFirstDayOfWeek, HeatmapSize, HeatmapSlots, HeatmapTooltipSlotProps, } from './interface';
@@ -0,0 +1,57 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { Size } from '../../_utils/constant';
3
+ import { TooltipProps } from '../tooltip/props';
4
+ export type HeatmapSize = Extract<Size, 'small' | 'medium' | 'large'>;
5
+ export type HeatmapFirstDayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6;
6
+ export interface HeatmapDataItem {
7
+ /** 该天的任意时间戳(内部按当天零点归并) */
8
+ timestamp: number;
9
+ /** 该天的值;`null` / `undefined` 表示无数据 */
10
+ value?: number | null;
11
+ }
12
+ export type HeatmapData = HeatmapDataItem[];
13
+ /** 供 tooltip / cell 插槽使用的格子信息 */
14
+ export interface HeatmapCell {
15
+ timestamp: number;
16
+ date: Dayjs;
17
+ value: number | null;
18
+ /** 0 表示无数据(使用 minimumColor),1..n 为色阶档位 */
19
+ level: number;
20
+ rowIndex: number;
21
+ colIndex: number;
22
+ }
23
+ export interface HeatmapResolvedRange {
24
+ /** 按 firstDayOfWeek 对齐后的渲染起点 */
25
+ start: Dayjs;
26
+ /** 按 firstDayOfWeek 对齐后的渲染终点 */
27
+ end: Dayjs;
28
+ days: number;
29
+ weeks: number;
30
+ /** 用户请求的原始起点(未对齐),用于标记补齐格 */
31
+ requestedStart: Dayjs;
32
+ /** 用户请求的原始终点(未对齐),用于标记补齐格 */
33
+ requestedEnd: Dayjs;
34
+ }
35
+ /** 用户传入的区间:number 为时间戳,string 交给 dayjs 解析 */
36
+ export type HeatmapRange = number | string;
37
+ export interface HeatmapMonthLabel {
38
+ text: string;
39
+ colIndex: number;
40
+ }
41
+ export interface HeatmapTooltipSlotProps extends HeatmapCell {
42
+ /** 该格的展示文本(日期 + 值),slot 可直接复用 */
43
+ label: string;
44
+ }
45
+ export type HeatmapTooltipProps = boolean | TooltipProps;
46
+ /** `true` 走默认 Spin,对象直接作为 Spin 的 props 透传 */
47
+ export type HeatmapLoadingProps = boolean | Record<string, unknown>;
48
+ export interface HeatmapSlots {
49
+ tooltip?: (props: HeatmapTooltipSlotProps) => unknown;
50
+ cell?: (props: HeatmapCell) => unknown;
51
+ footer?: () => unknown;
52
+ indicator?: (props: {
53
+ colors: string[];
54
+ }) => unknown;
55
+ 'indicator-leading-text'?: () => unknown;
56
+ 'indicator-trailing-text'?: () => unknown;
57
+ }
@@ -119,7 +119,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
119
119
  type: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
120
120
  };
121
121
  }>, {
122
- refImg: import('vue').Ref<any, any>;
122
+ t: (key: import('../../locale').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
123
+ refImg: import('vue').Ref<HTMLImageElement | undefined, HTMLImageElement | undefined>;
123
124
  className: {
124
125
  block: string;
125
126
  element: (className: string) => string;
@@ -128,10 +129,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
128
129
  };
129
130
  wrapperClassNames: import('vue').ComputedRef<unknown[]>;
130
131
  wrapperStyles: import('vue').ComputedRef<StyleValue[]>;
132
+ overlayStyles: import('vue').ComputedRef<{
133
+ height: string | undefined;
134
+ }>;
131
135
  showFooter: import('vue').ComputedRef<boolean>;
132
136
  imgProps: import('vue').ComputedRef<Omit<{
133
137
  [x: string]: unknown;
134
- }, "class" | "style">>;
138
+ }, "class" | "style" | "src">>;
135
139
  imgStyle: import('vue').ComputedRef<{
136
140
  width: string | undefined;
137
141
  height: string | undefined;
@@ -141,12 +145,24 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
141
145
  isLoading: import('vue').ComputedRef<boolean>;
142
146
  mergedPreviewVisible: import('vue').ComputedRef<boolean>;
143
147
  mergePreview: import('vue').ComputedRef<boolean>;
144
- onImgLoaded: () => void;
145
- onImgLoadError: () => void;
148
+ canOpenPreview: import('vue').ComputedRef<boolean>;
149
+ onImgLoaded: (event: Event) => void;
150
+ onImgLoadError: (event: Event) => void;
146
151
  onImgClick: () => void;
152
+ onImgKeydown: (event: KeyboardEvent) => void;
147
153
  onPreviewClose: () => void;
148
154
  fitStyle: import('vue').ComputedRef<CSSProperties>;
149
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("preview-visible-change" | "update:previewVisible")[], "preview-visible-change" | "update:previewVisible", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
155
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
156
+ /**
157
+ * @zh 预览的打开和关闭事件
158
+ * @en Preview opening and closing events
159
+ * @param {boolean} visible
160
+ */
161
+ 'preview-visible-change': (_visible: boolean) => true;
162
+ 'update:previewVisible': (_visible: boolean) => true;
163
+ load: (_event: Event) => true;
164
+ error: (_event: Event) => true;
165
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
150
166
  renderToBody: {
151
167
  type: BooleanConstructor;
152
168
  default: boolean;
@@ -265,14 +281,16 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
265
281
  type: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
266
282
  };
267
283
  }>> & Readonly<{
268
- "onPreview-visible-change"?: ((...args: any[]) => any) | undefined;
269
- "onUpdate:previewVisible"?: ((...args: any[]) => any) | undefined;
284
+ onError?: ((_event: Event) => any) | undefined;
285
+ onLoad?: ((_event: Event) => any) | undefined;
286
+ "onPreview-visible-change"?: ((_visible: boolean) => any) | undefined;
287
+ "onUpdate:previewVisible"?: ((_visible: boolean) => any) | undefined;
270
288
  }>, {
289
+ preview: boolean;
271
290
  hideFooter: boolean | "never";
272
291
  renderToBody: boolean;
273
292
  footerPosition: "outer" | "inner";
274
293
  showLoader: boolean;
275
- preview: boolean;
276
294
  previewVisible: boolean;
277
295
  defaultPreviewVisible: boolean;
278
296
  }, {}, {
@@ -528,7 +546,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
528
546
  default: number;
529
547
  };
530
548
  }>, {
531
- t: (key: import('../../index.ts').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
549
+ rootAttrs: import('vue').ComputedRef<{
550
+ [k: string]: unknown;
551
+ }>;
552
+ t: (key: import('../../locale').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
532
553
  className: {
533
554
  block: string;
534
555
  element: (className: string) => string;
@@ -548,9 +569,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
548
569
  mergedVisible: import('vue').ComputedRef<boolean>;
549
570
  isLoading: import('vue').ComputedRef<boolean>;
550
571
  isLoaded: import('vue').ComputedRef<boolean>;
572
+ isError: import('vue').ComputedRef<boolean>;
551
573
  scaleValueVisible: import('vue').Ref<boolean, boolean>;
552
- refWrapper: import('vue').Ref<any, any>;
553
- refImage: import('vue').Ref<any, any>;
574
+ refWrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
575
+ refImage: import('vue').Ref<HTMLImageElement | undefined, HTMLImageElement | undefined>;
554
576
  mounted: import('vue').Ref<boolean, boolean>;
555
577
  onWheel: {
556
578
  (...args: any[]): void;
@@ -558,8 +580,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
558
580
  };
559
581
  onMaskClick: (e: MouseEvent) => void;
560
582
  onCloseClick: () => void;
561
- onImgLoad(): void;
562
- onImgError(): void;
583
+ onDialogKeydown: (event: KeyboardEvent) => void;
584
+ onImgLoad(event: Event): void;
585
+ onImgError(event: Event): void;
563
586
  actions: import('vue').ComputedRef<({
564
587
  key: string;
565
588
  name: string;
@@ -668,7 +691,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
668
691
  modifier: (className: string) => string;
669
692
  is: (className: string) => string;
670
693
  };
671
- t: (key: import('../../index.ts').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
694
+ t: (key: import('../../locale').LocaleKey | (string & {}), params?: Record<string, string | number>) => string;
672
695
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
673
696
  onPrev: {
674
697
  type: FunctionConstructor;
@@ -1067,12 +1090,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1067
1090
  }, import('vue').PublicProps, {
1068
1091
  mini: boolean;
1069
1092
  disabled: boolean;
1093
+ trigger: "hover" | "click" | "focus" | "contextMenu" | ("hover" | "click" | "focus" | "contextMenu")[];
1070
1094
  position: "top" | "tl" | "tr" | "bottom" | "bl" | "br" | "left" | "lt" | "lb" | "right" | "rt" | "rb";
1071
1095
  animationName: string;
1072
1096
  autoFitPosition: boolean;
1073
1097
  popupVisible: boolean;
1074
1098
  defaultPopupVisible: boolean;
1075
- trigger: "hover" | "click" | "focus" | "contextMenu" | ("hover" | "click" | "focus" | "contextMenu")[];
1076
1099
  popupOffset: number;
1077
1100
  showArrow: boolean;
1078
1101
  alignPoint: boolean;
@@ -1253,12 +1276,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1253
1276
  }>, () => VNode, {}, {}, {}, {
1254
1277
  mini: boolean;
1255
1278
  disabled: boolean;
1279
+ trigger: "hover" | "click" | "focus" | "contextMenu" | ("hover" | "click" | "focus" | "contextMenu")[];
1256
1280
  position: "top" | "tl" | "tr" | "bottom" | "bl" | "br" | "left" | "lt" | "lb" | "right" | "rt" | "rb";
1257
1281
  animationName: string;
1258
1282
  autoFitPosition: boolean;
1259
1283
  popupVisible: boolean;
1260
1284
  defaultPopupVisible: boolean;
1261
- trigger: "hover" | "click" | "focus" | "contextMenu" | ("hover" | "click" | "focus" | "contextMenu")[];
1262
1285
  popupOffset: number;
1263
1286
  showArrow: boolean;
1264
1287
  alignPoint: boolean;
@@ -1442,12 +1465,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1442
1465
  }, string, {
1443
1466
  mini: boolean;
1444
1467
  disabled: boolean;
1468
+ trigger: "hover" | "click" | "focus" | "contextMenu" | ("hover" | "click" | "focus" | "contextMenu")[];
1445
1469
  position: "top" | "tl" | "tr" | "bottom" | "bl" | "br" | "left" | "lt" | "lb" | "right" | "rt" | "rb";
1446
1470
  animationName: string;
1447
1471
  autoFitPosition: boolean;
1448
1472
  popupVisible: boolean;
1449
1473
  defaultPopupVisible: boolean;
1450
- trigger: "hover" | "click" | "focus" | "contextMenu" | ("hover" | "click" | "focus" | "contextMenu")[];
1451
1474
  popupOffset: number;
1452
1475
  showArrow: boolean;
1453
1476
  alignPoint: boolean;
@@ -1642,6 +1665,91 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1642
1665
  strokeWidth: string | number;
1643
1666
  fillColor: unknown[];
1644
1667
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1668
+ IconImageClose: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
1669
+ fillColor: {
1670
+ type: ArrayConstructor;
1671
+ default: undefined;
1672
+ };
1673
+ name: {
1674
+ type: StringConstructor;
1675
+ default: undefined;
1676
+ };
1677
+ size: {
1678
+ type: (StringConstructor | NumberConstructor)[];
1679
+ default: undefined;
1680
+ };
1681
+ rotate: {
1682
+ type: NumberConstructor;
1683
+ default: undefined;
1684
+ };
1685
+ spin: {
1686
+ type: BooleanConstructor;
1687
+ default: boolean;
1688
+ };
1689
+ color: {
1690
+ type: StringConstructor;
1691
+ default: undefined;
1692
+ };
1693
+ title: {
1694
+ type: StringConstructor;
1695
+ default: undefined;
1696
+ };
1697
+ ariaLabel: {
1698
+ type: StringConstructor;
1699
+ default: undefined;
1700
+ };
1701
+ strokeWidth: {
1702
+ type: (StringConstructor | NumberConstructor)[];
1703
+ default: undefined;
1704
+ };
1705
+ }>, () => VNode, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
1706
+ fillColor: {
1707
+ type: ArrayConstructor;
1708
+ default: undefined;
1709
+ };
1710
+ name: {
1711
+ type: StringConstructor;
1712
+ default: undefined;
1713
+ };
1714
+ size: {
1715
+ type: (StringConstructor | NumberConstructor)[];
1716
+ default: undefined;
1717
+ };
1718
+ rotate: {
1719
+ type: NumberConstructor;
1720
+ default: undefined;
1721
+ };
1722
+ spin: {
1723
+ type: BooleanConstructor;
1724
+ default: boolean;
1725
+ };
1726
+ color: {
1727
+ type: StringConstructor;
1728
+ default: undefined;
1729
+ };
1730
+ title: {
1731
+ type: StringConstructor;
1732
+ default: undefined;
1733
+ };
1734
+ ariaLabel: {
1735
+ type: StringConstructor;
1736
+ default: undefined;
1737
+ };
1738
+ strokeWidth: {
1739
+ type: (StringConstructor | NumberConstructor)[];
1740
+ default: undefined;
1741
+ };
1742
+ }>> & Readonly<{}>, {
1743
+ name: string;
1744
+ title: string;
1745
+ size: string | number;
1746
+ rotate: number;
1747
+ spin: boolean;
1748
+ color: string;
1749
+ ariaLabel: string;
1750
+ strokeWidth: string | number;
1751
+ fillColor: unknown[];
1752
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1645
1753
  }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1646
1754
  }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1647
1755
  export default _default;