snail.vue 2.0.13 → 2.0.15

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.
@@ -1,8 +1,9 @@
1
+ import * as snail_core from 'snail.core';
2
+ import { DateFormat, DateValue, TimeValue, IScope, RunResult, IAsyncScope } from 'snail.core';
1
3
  import * as snail_view from 'snail.view';
2
4
  import { BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, MarginStyle } from 'snail.view';
3
5
  import * as vue from 'vue';
4
6
  import { Component, ShallowRef, Ref, WatchSource, App } from 'vue';
5
- import { IScope, RunResult, DateFormat, DateValue, TimeValue, IAsyncScope } from 'snail.core';
6
7
 
7
8
  /**
8
9
  * loading提示框的配置选项
@@ -177,6 +178,141 @@ type DragVerifyInfo = {
177
178
  distance: number;
178
179
  };
179
180
 
181
+ /**
182
+ * 日期时间的功能禁用配置选项
183
+ */
184
+ type DatetimeDisabledOptions = {
185
+ /**
186
+ * 禁用【工具条】
187
+ * - 为true则不显示【确定】、【现在】等按钮的工具条区域
188
+ */
189
+ toolbarDisabled?: boolean;
190
+ /**
191
+ * 禁用【现在】按钮
192
+ * - 为true时不显示【现在】按钮
193
+ */
194
+ nowDisabled?: boolean;
195
+ /**
196
+ * 禁用【清空】按钮
197
+ * - 为true时不显示【清空】按钮
198
+ */
199
+ clearDisabled?: boolean;
200
+ };
201
+ /**
202
+ * 日期选择器 配置选项
203
+ */
204
+ type DatePickerOptions = {
205
+ /**
206
+ * 已选日期值
207
+ * -格式为 "年-月-日 时:分:秒"
208
+ */
209
+ value?: string;
210
+ /**
211
+ * 日期格式
212
+ * - 默认 “yyyy-MM-dd"
213
+ */
214
+ format?: DateFormat;
215
+ /**
216
+ * 日期最小值
217
+ * - 选择年月日时,早于此值的年月日不可选
218
+ * - 确定时,组合时间选取值,晚于此值的日期+时间选择值无效
219
+ */
220
+ min?: string;
221
+ /**
222
+ * 日期最大值
223
+ * - 选择年月日时,晚于此值的年月日不可选
224
+ * - 组合时间选取值,晚于此值的日期+时间选择值无效
225
+ */
226
+ max?: string;
227
+ /**
228
+ * 最小选择时间
229
+ * - 早于此值的时间不可选
230
+ * - 不参与日期最小值验证,仅在选择时间时框定起始时间
231
+ */
232
+ minPickTime?: string;
233
+ /**
234
+ * 最大选择时间
235
+ * - 不参与日期最大值验证,仅在选择时间时框定结束时间
236
+ */
237
+ maxPickTime?: string;
238
+ } & DatetimeDisabledOptions;
239
+ /**
240
+ * 时间选择控件配置项
241
+ */
242
+ type TimePickerOptions = {
243
+ /**
244
+ * 已选值
245
+ * - 格式为 “时:分:秒"
246
+ */
247
+ value?: string;
248
+ /**
249
+ * 时间格式
250
+ */
251
+ format?: "HH:mm:ss" | "HH:mm";
252
+ /**
253
+ * 最小时间
254
+ * - 传入值格式为 "时:分:秒"
255
+ * - 如 "08:30:00",则08:30:00为最小时间,之前的时间不可选择
256
+ * - 如 "08" ,则 08:00:00为最小时间,之前的时间不可选择
257
+ */
258
+ min?: string;
259
+ /**
260
+ * 最大时间
261
+ * - 传入值格式为 "时:分:秒"
262
+ * - 如 "08:30:00",则08:30:00为最大时间,之后的时间不可选择
263
+ * - 如 "08" ,则 08:00:00为最大时间,之后时间不可选择
264
+ */
265
+ max?: string;
266
+ } & DatetimeDisabledOptions;
267
+ /**
268
+ * 日期时间选择 事件
269
+ */
270
+ type DatetimePickerEvents = {
271
+ /**
272
+ * 清空
273
+ */
274
+ clear: [];
275
+ /**
276
+ * 确定选择
277
+ * - @param value 已选则的日期时间
278
+ */
279
+ confirm: [value: string];
280
+ };
281
+ /**
282
+ * 日期选择器 一个年项
283
+ * - disabled 标记当前选项是否禁用,基于min和max校验出来的
284
+ */
285
+ type DatePickerYearItem = Required<Pick<DateValue, "year"> & DisabledOptions>;
286
+ /**
287
+ * 日期选择器 一个月项
288
+ * - 当前月,以及所属的年份
289
+ * - disabled 标记当前选项是否禁用,基于min和max校验出来的
290
+ */
291
+ type DatePickerMonthItem = Required<Pick<DateValue, "month" | "year"> & DisabledOptions & {
292
+ text: string;
293
+ }>;
294
+ /**
295
+ * 日期选择器的一个天项
296
+ * - 当前天,以及所属的月份和年份
297
+ * - disabled 标记当前选项是否禁用,基于min和max校验出来的
298
+ */
299
+ type DatePickerDayItem = Required<Pick<DateValue, "day" | "month" | "year"> & DisabledOptions>;
300
+ /**
301
+ * 时间选择器 一个小时项
302
+ * - disabled 标记当前选项是否禁用,基于min和max校验出来的
303
+ */
304
+ type TimePickerHourItem = Required<Pick<TimeValue, "hour"> & DisabledOptions>;
305
+ /**
306
+ * 时间选择器 一个分钟项
307
+ * - disabled 标记当前选项是否禁用,基于min和max校验出来的
308
+ */
309
+ type TimePickerMinuteItem = Required<Pick<TimeValue, "minute" | "hour"> & DisabledOptions>;
310
+ /**
311
+ * 时间选择器 一个秒项
312
+ * - disabled 标记当前选项是否禁用,基于min和max校验出来的
313
+ */
314
+ type TimePickerSecondItem = Required<TimeValue & DisabledOptions>;
315
+
180
316
  /**
181
317
  * 头部配置选项
182
318
  * - title 将作为头部标题,无则不展示标题区域
@@ -645,61 +781,6 @@ type TreeNodeSlotOptions<Node> = {
645
781
  toggle(): void;
646
782
  };
647
783
 
648
- /**
649
- * Vue 动画容器组件配置选项
650
- */
651
- type TransitionOptions = {
652
- /**
653
- * 是分组动画,还是单个动画
654
- * - true 则使用 TransitionGroup
655
- * - false 则使用 Transition
656
- */
657
- group: boolean;
658
- /**
659
- * 动画持续时间
660
- * - 单位ms,默认200ms
661
- * - 为0则禁用动画
662
- */
663
- duration?: number;
664
- /**
665
- * 动画的自定义类样式名称
666
- * - 默认为 `snail-transition`;不会作为 Transition的 name 属性名
667
- * - 动画生效时组成的`class`规则为:`customClass`+动画状态;类似`snail-transition enter-from`
668
- * - 动画状态可选值:
669
- * |-------------------|----------------------|
670
- * | -- |-- |
671
- * | enter-active | 进入动画的生效状态 |
672
- * | enter-from | 进入动画的起始状态 |
673
- * | enter-to | 进入动画的结束状态 |
674
- * | leave-active | 离开动画的生效状态 |
675
- * | leave-from | 离开动画的起始状态 |
676
- * | leave-to | 离开动画的结束状态 |
677
- *
678
- */
679
- customClass?: string;
680
- /**
681
- * 动画效果
682
- * - 配合 `customClass` 使用,用于标记动画的具体实现
683
- * - 作为默认动画效果,组装出来的动画效果类似 `snail-transition fade enter-from`
684
- * - 效果可选值;默认值 fade
685
- * |----------------|-------------|----------------------------------|---------------------------------|
686
- * | -- |-- |-- |-- |
687
- * | `fade` | 淡入淡出 | 进入时 `opacity` 0-1 | 离开时 `opacity` 1 - 0 |
688
- * | `scale` | 缩放动画 | 进入时 `scale` 0-1 | 离开时 `scale` 0 - 1 |
689
- * | `rotate` | 旋转动画 | 进入时 `rotate` 360deg - 0 | 离开时 `rotate` 0 - 360deg |
690
- * | `up` | 上进上出 | 进入时 `translateY` 100% - 0 | 离开时 `translateY` 0 - -100% |
691
- * | `down` | 下进下出 | 进入时 `translateY` -100% - 0 | 离开时 `translateY` 0 - 100% |
692
- * | `up-down` | 上进下出 | 进入时 `translateY` 100% - 0 | 离开时 `translateY` 0 - 100% |
693
- * | `down-up` | 下进上出 | 进入时 `translateY` -100% - 0 | 离开时 `translateY` 0 - -100% |
694
- * | `left` | 左进左出 | 进入时 `translateX` -100% - 0 | 离开时 `translateX` 0 - -100% |
695
- * | `right` | 右进右出 | 进入时 `translateX` 100% - 0 | 离开时 `translateX` 0 - 100% |
696
- * | `left-right` | 左进右出 | 进入时 `translateX` -100% - 0 | 离开时 `translateX` 0 - 100% |
697
- * | `right-left` | 右进左出 | 进入时 `translateX` 100% - 0 | 离开时 `translateX` 0 - -100% |
698
- */
699
- effect?: TransitionEffectOptions | Array<TransitionEffectOptions>;
700
- };
701
- type TransitionEffectOptions = "fade" | "scale" | "rotate" | "up" | "down" | "up-down" | "down-up" | "left" | "right" | "left-right" | "right-left";
702
-
703
784
  /**
704
785
  * Table配置选项
705
786
  */
@@ -1043,39 +1124,30 @@ type LayoutAreaItem = {
1043
1124
  style: Record<string, string>;
1044
1125
  };
1045
1126
 
1046
- /**
1047
- * 动画效果配置选项
1048
- */
1049
- type MotionEffectOptions = {
1050
- /**
1051
- * 入场进入时的动画效果
1052
- * - 配合 `motion` 组合成 `${montion} ${enter}` 作为进入时的动画类样式
1053
- * - 最终映射成 Transition 组件的 `enter-active-class` 属性
1054
- * - 默认 `fade-in`;若内置动画效果无法满足需求,则使用string数组组合自定义class样式
1055
- */
1056
- enter?: string;
1057
- /**
1058
- * 退场离开时的动画效果
1059
- * - 配合 `motion` 组合成 `${montion} ${leave}` 作为离开时的动画类样式
1060
- * - 最终映射成 Transition 组件的 `leave-active-class` 属性
1061
- * - 默认 `fade-out`;若内置动画效果无法满足需求,则使用string数组组合自定义class样式
1062
- */
1063
- leave?: string;
1064
- };
1065
1127
  /**
1066
1128
  * 动画组件配置选项
1067
- * - 实现组件出/退场的动画效果
1129
+ * - 实现组件入/退场的动画效果
1068
1130
  */
1069
- type MotionOptions = MotionEffectOptions & {
1131
+ type MotionOptions = {
1070
1132
  /**
1071
1133
  * 是否是多元素模式
1072
1134
  * - 为true时,则使用 TransitionGroup 组件实现多元素间动画控制
1073
1135
  * - 为false时,则使用 Transition 组件实现单元素动画控制
1074
1136
  */
1075
1137
  multiple?: boolean;
1138
+ /**
1139
+ * 动画效果
1140
+ * - 为Object时,显式指定 `enter`和`leave`样式,此时应使用`animation`实现动画样式
1141
+ * - - 可访问`MOTION`使用内置动画效果
1142
+ * - 为string时,为动画的根样式,实现动画效果时:
1143
+ * - - 入场动画:`${effect}.enter-active` `${effect}.enter-from` `${effect}.enter-to`
1144
+ * - - 退场动画:`${effect}.leave-active` `${effect}.leave-from` `${effect}.leave-to`
1145
+ * - 为空时,使用`MOTION.fade`值;
1146
+ */
1147
+ effect?: MotionEffectOptions | string;
1076
1148
  /**
1077
1149
  * 动画持续时间,单位ms,默认200ms
1078
- * - 0则禁用动画
1150
+ * - `>0`时生效,否则禁用动画
1079
1151
  */
1080
1152
  duration?: number;
1081
1153
  /**
@@ -1087,6 +1159,21 @@ type MotionOptions = MotionEffectOptions & {
1087
1159
  */
1088
1160
  mode?: "in-out" | "out-in" | "default";
1089
1161
  };
1162
+ /**
1163
+ * 动画效果配置选项
1164
+ */
1165
+ type MotionEffectOptions = {
1166
+ /**
1167
+ * 入场进入时的动画效果
1168
+ * - 用于初始化入场动画;最终映射成 Transition 组件的 `enter-active-class` 属性
1169
+ */
1170
+ enter?: string;
1171
+ /**
1172
+ * 退场离开时的动画效果
1173
+ * - 用于初始化退场动画;最终映射成 Transition 组件的 `leave-active-class` 属性
1174
+ */
1175
+ leave?: string;
1176
+ };
1090
1177
 
1091
1178
  /**
1092
1179
  * 折叠面板配置选项
@@ -1117,40 +1204,6 @@ type FoldEvents = {
1117
1204
  change: [status: FoldStatus];
1118
1205
  };
1119
1206
 
1120
- /**
1121
- * 元素组件 配置选项
1122
- */
1123
- type ElementOptions = {
1124
- /**
1125
- * 元素的tag标签,对应HTML元素名
1126
- * - 如 div、span等
1127
- * - 默认 div
1128
- */
1129
- tag?: string;
1130
- /**
1131
- * 是否显示
1132
- * - true 显示
1133
- * - false 隐藏,通过`showMode`确定隐藏时的控制模式
1134
- */
1135
- show: boolean;
1136
- /**
1137
- * 显隐的控制模式
1138
- * - vIf 指令控制显隐,元素被移除
1139
- * - vShow 指令控制显隐,元素style增加`display:none`
1140
- * - 默认值 "vIf"
1141
- */
1142
- showMode?: "vIf" | "vShow";
1143
- /**
1144
- * 元素显隐切换时的动画配置
1145
- */
1146
- transition?: Pick<TransitionOptions, "customClass" | "duration" | "effect">;
1147
- /**
1148
- * 子元素相关配置
1149
- * - 如配置子元素显隐切换时的动画配置
1150
- */
1151
- children?: TransitionOptions;
1152
- };
1153
-
1154
1207
  /**
1155
1208
  * 选项菜单 基础配置选项
1156
1209
  */
@@ -1686,137 +1739,14 @@ type IconOptions = TitleOptions & {
1686
1739
  * - 指向类:
1687
1740
  * - - arrow 向右箭头
1688
1741
  * - - datepicker 日期选择器
1742
+ * - - timepicker 时间选择器
1689
1743
  * - 其他类:
1690
1744
  * - - plus 加号
1691
1745
  * - - subtract 减号
1692
1746
  * - - grip 紧握图标,垂直方向,一般用于拖动句柄
1693
1747
  * - - custom 自定义图标:此时IconOptions.draw属性传入绘制路径
1694
1748
  */
1695
- type IconType = "success" | "error" | "warn" | "close" | "trash" | "download" | "print" | "edit" | "arrow" | "datepicker" | "plus" | "subtract" | "grip" | "custom";
1696
-
1697
- /**
1698
- * 日期组件相关数据模型
1699
- */
1700
- /**
1701
- * 日期选择组件 配置选项
1702
- * - 参照 zane-calendar 组件的配置选项
1703
- * @see https://github.com/wangweianger/zane-data-time-calendar/blob/master/README.md#%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E
1704
- */
1705
- type DatepickerOptions = {
1706
- /**
1707
- * 日期选择类型
1708
- * - 默认值:day
1709
- * - 可选值:
1710
- * - - day 年月日选择
1711
- * - - year 年选择
1712
- * - - month 年月选择
1713
- * - - time 时分秒选择
1714
- */
1715
- type?: "day" | "year" | "month" | "time";
1716
- /**
1717
- * 是否为范围选择
1718
- * - true 则选择 开始时间 - 结束时间
1719
- */
1720
- range?: boolean;
1721
- /**
1722
- * 日期时间格式化
1723
- * - 默认值:yyyy-MM-dd
1724
- * - 可选值 通用格式化字符串;如 yyyy-MM-dd HH:mm:ss yyyy年MM月dd日 HH时mm分ss秒 、、、
1725
- */
1726
- format?: string;
1727
- /**
1728
- * 开始日期
1729
- * - 单选择可选项
1730
- * - 作为初始选中日期,不传入则默认当前
1731
- */
1732
- begin?: string;
1733
- /**
1734
- * 结束日期
1735
- * - range 为true时 选择器可选项
1736
- * - 作为初始选中日期,不传入则默认当前
1737
- */
1738
- end?: string;
1739
- /**
1740
- * 可选取时间最小范围
1741
- * - 默认值:1900-10-01
1742
- */
1743
- min?: string;
1744
- /**
1745
- * 可选取时间最大范围
1746
- * - 默认值:2099-12-31
1747
- */
1748
- max?: string;
1749
- /**
1750
- * 弹窗z-index值
1751
- * - 默认:10000
1752
- */
1753
- zIndex?: number;
1754
- /**
1755
- * 是否禁用【选择时间】
1756
- * - 为true时,不出【选择时间】按钮
1757
- */
1758
- timeDisabled?: boolean;
1759
- /**
1760
- * 是否禁用【选择秒】
1761
- * - 为true时,选择时间时不支持选择秒单位
1762
- */
1763
- secondDisabled?: boolean;
1764
- /**
1765
- * 是否禁止【清空】按钮
1766
- * - 为true时,不显示【清空【按钮
1767
- */
1768
- cleanDisabled?: boolean;
1769
- /**
1770
- * 是否禁用【现在】按钮
1771
- * - 为true时,不显示【现在】按钮
1772
- * - 在 type 为 doublexxx 时始终禁止
1773
- * - 同时指定min和max时,时始终禁止
1774
- */
1775
- nowDisabled?: boolean;
1776
- /**
1777
- * 是否禁止【确定】按钮
1778
- * - 为true时,不显示【确定】按钮
1779
- */
1780
- submitDisabled?: boolean;
1781
- /**
1782
- * 插件宽度配置
1783
- * - 默认值:280
1784
- * - 220 <= X <= 500
1785
- */
1786
- width?: number;
1787
- /**
1788
- * 插件高度配置
1789
- * - 默认值:300
1790
- * - 240 <= X <= 350
1791
- */
1792
- height?: number;
1793
- /**
1794
- * 插件与输入框的高度
1795
- * - 默认值:4
1796
- */
1797
- behindTop?: number;
1798
- };
1799
- /**
1800
- * 日期选择器 组件事件
1801
- */
1802
- type DatePickerEvents = {
1803
- /**
1804
- * 日期选择器 选择值改变
1805
- * @param begin 选择的起始日期;undefined表示无值,如清空时
1806
- * @param end 选择的结束日期;在range范围选择时才有值;undefined表示无值,如清空时
1807
- */
1808
- change: [begin: string | undefined, end: string | undefined];
1809
- /**
1810
- * 日期选择器得到焦点
1811
- * - 鼠标进入选择器
1812
- */
1813
- "picker-focus": [];
1814
- /**
1815
- * 日期选择器失去焦点
1816
- * - 鼠标离开选择器
1817
- */
1818
- "picker-blur": [];
1819
- };
1749
+ type IconType = "success" | "error" | "warn" | "close" | "trash" | "download" | "print" | "edit" | "arrow" | "datepicker" | "timepicker" | "plus" | "subtract" | "grip" | "custom";
1820
1750
 
1821
1751
  /**
1822
1752
  * 检查选项 数据结构
@@ -2198,141 +2128,6 @@ declare const MOTION: Readonly<{
2198
2128
  };
2199
2129
  }>;
2200
2130
 
2201
- /**
2202
- * 日期时间的功能禁用配置选项
2203
- */
2204
- type DatetimeDisabledOptions = {
2205
- /**
2206
- * 禁用【工具条】
2207
- * - 为true则不显示【确定】、【现在】等按钮的工具条区域
2208
- */
2209
- toolbarDisabled?: boolean;
2210
- /**
2211
- * 禁用【现在】按钮
2212
- * - 为true时不显示【现在】按钮
2213
- */
2214
- nowDisabled?: boolean;
2215
- /**
2216
- * 禁用【清空】按钮
2217
- * - 为true时不显示【清空】按钮
2218
- */
2219
- clearDisabled?: boolean;
2220
- };
2221
- /**
2222
- * 日期选择器 配置选项
2223
- */
2224
- type DatePickerOptions = {
2225
- /**
2226
- * 已选日期值
2227
- * -格式为 "年-月-日 时:分:秒"
2228
- */
2229
- value?: string;
2230
- /**
2231
- * 日期格式
2232
- * - 默认 “yyyy-MM-dd"
2233
- */
2234
- format?: DateFormat;
2235
- /**
2236
- * 日期最小值
2237
- * - 选择年月日时,早于此值的年月日不可选
2238
- * - 确定时,组合时间选取值,晚于此值的日期+时间选择值无效
2239
- */
2240
- min?: string;
2241
- /**
2242
- * 日期最大值
2243
- * - 选择年月日时,晚于此值的年月日不可选
2244
- * - 组合时间选取值,晚于此值的日期+时间选择值无效
2245
- */
2246
- max?: string;
2247
- /**
2248
- * 最小选择时间
2249
- * - 早于此值的时间不可选
2250
- * - 不参与日期最小值验证,仅在选择时间时框定起始时间
2251
- */
2252
- minPickTime?: string;
2253
- /**
2254
- * 最大选择时间
2255
- * - 不参与日期最大值验证,仅在选择时间时框定结束时间
2256
- */
2257
- maxPickTime?: string;
2258
- } & DatetimeDisabledOptions;
2259
- /**
2260
- * 时间选择控件配置项
2261
- */
2262
- type TimePickerOptions = {
2263
- /**
2264
- * 已选值
2265
- * - 格式为 “时:分:秒"
2266
- */
2267
- value?: string;
2268
- /**
2269
- * 时间格式
2270
- */
2271
- format?: "HH:mm:ss" | "HH:mm";
2272
- /**
2273
- * 最小时间
2274
- * - 传入值格式为 "时:分:秒"
2275
- * - 如 "08:30:00",则08:30:00为最小时间,之前的时间不可选择
2276
- * - 如 "08" ,则 08:00:00为最小时间,之前的时间不可选择
2277
- */
2278
- min?: string;
2279
- /**
2280
- * 最大时间
2281
- * - 传入值格式为 "时:分:秒"
2282
- * - 如 "08:30:00",则08:30:00为最大时间,之后的时间不可选择
2283
- * - 如 "08" ,则 08:00:00为最大时间,之后时间不可选择
2284
- */
2285
- max?: string;
2286
- } & DatetimeDisabledOptions;
2287
- /**
2288
- * 日期时间选择 事件
2289
- */
2290
- type DatetimePickerEvents = {
2291
- /**
2292
- * 清空
2293
- */
2294
- clear: [];
2295
- /**
2296
- * 确定选择
2297
- * - @param value 已选则的日期时间
2298
- */
2299
- confirm: [value: string];
2300
- };
2301
- /**
2302
- * 日期选择器 一个年项
2303
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2304
- */
2305
- type DatePickerYearItem = Required<Pick<DateValue, "year"> & DisabledOptions>;
2306
- /**
2307
- * 日期选择器 一个月项
2308
- * - 当前月,以及所属的年份
2309
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2310
- */
2311
- type DatePickerMonthItem = Required<Pick<DateValue, "month" | "year"> & DisabledOptions & {
2312
- text: string;
2313
- }>;
2314
- /**
2315
- * 日期选择器的一个天项
2316
- * - 当前天,以及所属的月份和年份
2317
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2318
- */
2319
- type DatePickerDayItem = Required<Pick<DateValue, "day" | "month" | "year"> & DisabledOptions>;
2320
- /**
2321
- * 时间选择器 一个小时项
2322
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2323
- */
2324
- type TimePickerHourItem = Required<Pick<TimeValue, "hour"> & DisabledOptions>;
2325
- /**
2326
- * 时间选择器 一个分钟项
2327
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2328
- */
2329
- type TimePickerMinuteItem = Required<Pick<TimeValue, "minute" | "hour"> & DisabledOptions>;
2330
- /**
2331
- * 时间选择器 一个秒项
2332
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2333
- */
2334
- type TimePickerSecondItem = Required<TimeValue & DisabledOptions>;
2335
-
2336
2131
  /**
2337
2132
  * 公共通用数据结构:
2338
2133
  * 1、在弹窗、模态弹窗、跟随弹窗的效果下复用
@@ -2526,7 +2321,12 @@ type ToastOptions = {
2526
2321
  * - 传入的组件,根据配置跟随 target 位置和大小;
2527
2322
  * @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
2528
2323
  */
2529
- type FollowOptions<Props = void, Model = void> = PopupOptions<Props, Model> & {
2324
+ type FollowOptions<Props = void, Model = void> = PopupOptions<Props, Model> & FollowPositionOptions;
2325
+ /**
2326
+ * 跟随位置 配置选项
2327
+ * - 基于此计算出最终的跟随效果
2328
+ */
2329
+ type FollowPositionOptions = {
2530
2330
  /**
2531
2331
  * 启用【宽度】跟随
2532
2332
  * - 为true则和 target 宽度保持一致
@@ -2734,22 +2534,24 @@ interface IPickerManager {
2734
2534
  * 显示【日期】选择器
2735
2535
  * @param target 哪个元素触发,基于此元素计算位置
2736
2536
  * @param options 日期选择器配置选项
2537
+ * @param popupOptions 弹窗配置选项;内部根据情况选择属性使用
2737
2538
  * @returns 异步任务,可销毁日期选择器;可接收日期选择器的选择值
2738
2539
  */
2739
- showDate(target: HTMLElement, options?: DatePickerOptions & FollowOptions): IAsyncScope<string>;
2540
+ showDate(target: HTMLElement, options?: DatePickerOptions, popupOptions?: PickerPopupOptions): IAsyncScope<string>;
2740
2541
  /**
2741
2542
  * 显示【时间】选择控件
2742
2543
  * @param target 哪个元素触发,基于此元素计算位置
2743
2544
  * @param options 时间选择控件配置选项
2545
+ * @param popupOptions 弹窗配置选项;内部根据情况选择属性使用
2744
2546
  * @returns 异步任务,可销毁时间选择控件;可接收时间选择控件的选择值
2745
2547
  */
2746
- showTime(target: HTMLElement, options?: TimePickerOptions & FollowOptions): IAsyncScope<string>;
2548
+ showTime(target: HTMLElement, options?: TimePickerOptions, popupOptions?: PickerPopupOptions): IAsyncScope<string>;
2747
2549
  }
2748
2550
  /**
2749
2551
  * 选择器弹窗配置选项
2750
2552
  * - 放开一些属性,方便用户做一些自定义
2751
2553
  */
2752
- type PickerPopupOptions = Pick<FollowOptions, "followX" | "followY" | "spaceX" | "spaceY" | "spaceClient">;
2554
+ type PickerPopupOptions = FollowPositionOptions;
2753
2555
  /**
2754
2556
  * 选择器扩展
2755
2557
  */
@@ -2821,17 +2623,6 @@ declare const components: {
2821
2623
  onChange?: (values: any) => any;
2822
2624
  "onUpdate:modelValue"?: (value: any) => any;
2823
2625
  }>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
2824
- DatePicker: vue.DefineComponent<DatepickerOptions, {
2825
- showPicker: (delay: number) => void;
2826
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2827
- change: (begin: string, end: string) => any;
2828
- "picker-focus": () => any;
2829
- "picker-blur": () => any;
2830
- }, string, vue.PublicProps, Readonly<DatepickerOptions> & Readonly<{
2831
- onChange?: (begin: string, end: string) => any;
2832
- "onPicker-focus"?: () => any;
2833
- "onPicker-blur"?: () => any;
2834
- }>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
2835
2626
  Footer: {
2836
2627
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<FooterOptions> & Readonly<{
2837
2628
  onCancel?: () => any;
@@ -3028,23 +2819,6 @@ declare const components: {
3028
2819
  [x: number]: (props: any) => any;
3029
2820
  };
3030
2821
  });
3031
- Element: {
3032
- new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ElementOptions> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
3033
- P: {};
3034
- B: {};
3035
- D: {};
3036
- C: {};
3037
- M: {};
3038
- Defaults: {};
3039
- }, Readonly<ElementOptions> & Readonly<{}>, {}, {}, {}, {}, {}>;
3040
- __isFragment?: never;
3041
- __isTeleport?: never;
3042
- __isSuspense?: never;
3043
- } & vue.ComponentOptionsBase<Readonly<ElementOptions> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
3044
- $slots: {
3045
- default?: (props: {}) => any;
3046
- };
3047
- });
3048
2822
  Fold: {
3049
2823
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<DisabledOptions & TitleOptions & {
3050
2824
  subtitle?: string;
@@ -3121,14 +2895,14 @@ declare const components: {
3121
2895
  __isTeleport?: never;
3122
2896
  __isSuspense?: never;
3123
2897
  } & vue.ComponentOptionsBase<Readonly<LayoutOptions> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
3124
- $slots: SlotsType<Pick<LayoutOptions, "left" | "right" | "main" | "bottom" | "top">>;
2898
+ $slots: SlotsType<Pick<LayoutOptions, "left" | "right" | "main" | "top" | "bottom">>;
3125
2899
  });
3126
2900
  Scroll: {
3127
2901
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ScrollOptions> & Readonly<{
3128
2902
  onLeft?: () => any;
3129
2903
  onRight?: () => any;
3130
- onBottom?: () => any;
3131
2904
  onTop?: () => any;
2905
+ onBottom?: () => any;
3132
2906
  onXbar?: (show: boolean) => any;
3133
2907
  onYbar?: (show: boolean) => any;
3134
2908
  }>, {
@@ -3137,8 +2911,8 @@ declare const components: {
3137
2911
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3138
2912
  left: () => any;
3139
2913
  right: () => any;
3140
- bottom: () => any;
3141
2914
  top: () => any;
2915
+ bottom: () => any;
3142
2916
  xbar: (show: boolean) => any;
3143
2917
  ybar: (show: boolean) => any;
3144
2918
  }, vue.PublicProps, {}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
@@ -3151,8 +2925,8 @@ declare const components: {
3151
2925
  }, Readonly<ScrollOptions> & Readonly<{
3152
2926
  onLeft?: () => any;
3153
2927
  onRight?: () => any;
3154
- onBottom?: () => any;
3155
2928
  onTop?: () => any;
2929
+ onBottom?: () => any;
3156
2930
  onXbar?: (show: boolean) => any;
3157
2931
  onYbar?: (show: boolean) => any;
3158
2932
  }>, {
@@ -3165,8 +2939,8 @@ declare const components: {
3165
2939
  } & vue.ComponentOptionsBase<Readonly<ScrollOptions> & Readonly<{
3166
2940
  onLeft?: () => any;
3167
2941
  onRight?: () => any;
3168
- onBottom?: () => any;
3169
2942
  onTop?: () => any;
2943
+ onBottom?: () => any;
3170
2944
  onXbar?: (show: boolean) => any;
3171
2945
  onYbar?: (show: boolean) => any;
3172
2946
  }>, {
@@ -3175,8 +2949,8 @@ declare const components: {
3175
2949
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3176
2950
  left: () => any;
3177
2951
  right: () => any;
3178
- bottom: () => any;
3179
2952
  top: () => any;
2953
+ bottom: () => any;
3180
2954
  xbar: (show: boolean) => any;
3181
2955
  ybar: (show: boolean) => any;
3182
2956
  }, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
@@ -3197,16 +2971,16 @@ declare const components: {
3197
2971
  disabled?: boolean;
3198
2972
  sortDisabled?: boolean;
3199
2973
  }> & Readonly<{
3200
- onEnd?: (evt: SortEvent) => any;
3201
2974
  onAdd?: (evt: SortEvent) => any;
3202
2975
  onStart?: (evt: SortEvent) => any;
2976
+ onEnd?: (evt: SortEvent) => any;
3203
2977
  onMove?: (evt: SortEvent, originalEvent: SortEvent) => any;
3204
2978
  onRemove?: (evt: SortEvent) => any;
3205
2979
  onUpdate?: (oldIndex: number, newIndex: number) => any;
3206
2980
  }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3207
- end: (evt: SortEvent) => any;
3208
2981
  add: (evt: SortEvent) => any;
3209
2982
  start: (evt: SortEvent) => any;
2983
+ end: (evt: SortEvent) => any;
3210
2984
  move: (evt: SortEvent, originalEvent: SortEvent) => any;
3211
2985
  remove: (evt: SortEvent) => any;
3212
2986
  update: (oldIndex: number, newIndex: number) => any;
@@ -3229,9 +3003,9 @@ declare const components: {
3229
3003
  disabled?: boolean;
3230
3004
  sortDisabled?: boolean;
3231
3005
  }> & Readonly<{
3232
- onEnd?: (evt: SortEvent) => any;
3233
3006
  onAdd?: (evt: SortEvent) => any;
3234
3007
  onStart?: (evt: SortEvent) => any;
3008
+ onEnd?: (evt: SortEvent) => any;
3235
3009
  onMove?: (evt: SortEvent, originalEvent: SortEvent) => any;
3236
3010
  onRemove?: (evt: SortEvent) => any;
3237
3011
  onUpdate?: (oldIndex: number, newIndex: number) => any;
@@ -3251,16 +3025,16 @@ declare const components: {
3251
3025
  disabled?: boolean;
3252
3026
  sortDisabled?: boolean;
3253
3027
  }> & Readonly<{
3254
- onEnd?: (evt: SortEvent) => any;
3255
3028
  onAdd?: (evt: SortEvent) => any;
3256
3029
  onStart?: (evt: SortEvent) => any;
3030
+ onEnd?: (evt: SortEvent) => any;
3257
3031
  onMove?: (evt: SortEvent, originalEvent: SortEvent) => any;
3258
3032
  onRemove?: (evt: SortEvent) => any;
3259
3033
  onUpdate?: (oldIndex: number, newIndex: number) => any;
3260
3034
  }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3261
- end: (evt: SortEvent) => any;
3262
3035
  add: (evt: SortEvent) => any;
3263
3036
  start: (evt: SortEvent) => any;
3037
+ end: (evt: SortEvent) => any;
3264
3038
  move: (evt: SortEvent, originalEvent: SortEvent) => any;
3265
3039
  remove: (evt: SortEvent) => any;
3266
3040
  update: (oldIndex: number, newIndex: number) => any;
@@ -3324,23 +3098,6 @@ declare const components: {
3324
3098
  default?: (props: {}) => any;
3325
3099
  };
3326
3100
  });
3327
- Transitions: {
3328
- new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<TransitionOptions> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
3329
- P: {};
3330
- B: {};
3331
- D: {};
3332
- C: {};
3333
- M: {};
3334
- Defaults: {};
3335
- }, Readonly<TransitionOptions> & Readonly<{}>, {}, {}, {}, {}, {}>;
3336
- __isFragment?: never;
3337
- __isTeleport?: never;
3338
- __isSuspense?: never;
3339
- } & vue.ComponentOptionsBase<Readonly<TransitionOptions> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
3340
- $slots: {
3341
- default?: (props: {}) => any;
3342
- };
3343
- });
3344
3101
  Tree: {
3345
3102
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<{
3346
3103
  nodes: TreeNodeModel<any>[];
@@ -3432,6 +3189,40 @@ declare const components: {
3432
3189
  default?: (props: {}) => any;
3433
3190
  };
3434
3191
  });
3192
+ DatePicker: vue.DefineComponent<ReadonlyOptions & {
3193
+ value?: string;
3194
+ format?: snail_core.DateFormat;
3195
+ min?: string;
3196
+ max?: string;
3197
+ minPickTime?: string;
3198
+ maxPickTime?: string;
3199
+ } & DatetimeDisabledOptions, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3200
+ change: (newValue: string, oldValue?: string) => any;
3201
+ }, string, vue.PublicProps, Readonly<ReadonlyOptions & {
3202
+ value?: string;
3203
+ format?: snail_core.DateFormat;
3204
+ min?: string;
3205
+ max?: string;
3206
+ minPickTime?: string;
3207
+ maxPickTime?: string;
3208
+ } & DatetimeDisabledOptions> & Readonly<{
3209
+ onChange?: (newValue: string, oldValue?: string) => any;
3210
+ }>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
3211
+ TimePicker: vue.DefineComponent<ReadonlyOptions & {
3212
+ value?: string;
3213
+ format?: "HH:mm:ss" | "HH:mm";
3214
+ min?: string;
3215
+ max?: string;
3216
+ } & DatetimeDisabledOptions, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3217
+ change: (newValue: string, oldValue?: string) => any;
3218
+ }, string, vue.PublicProps, Readonly<ReadonlyOptions & {
3219
+ value?: string;
3220
+ format?: "HH:mm:ss" | "HH:mm";
3221
+ min?: string;
3222
+ max?: string;
3223
+ } & DatetimeDisabledOptions> & Readonly<{
3224
+ onChange?: (newValue: string, oldValue?: string) => any;
3225
+ }>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
3435
3226
  DragVerify: vue.DefineComponent<DragVerifyOptions, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
3436
3227
  success: () => any;
3437
3228
  }, string, vue.PublicProps, Readonly<DragVerifyOptions> & Readonly<{
@@ -3474,4 +3265,4 @@ declare const components: {
3474
3265
  };
3475
3266
 
3476
3267
  export { MOTION, components, getSvgDraw, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };
3477
- export type { ButtonOptions, ChangeEvents, ChooseEvents, ChooseItem, ChooseOptions, ClickEvents, CloseEvents, ComponentBindOptions, ComponentOptions, ConfirmAreaOptions, ConfirmOptions, DatePickerDayItem, DatePickerEvents, DatePickerMonthItem, DatePickerOptions, DatePickerYearItem, DatepickerOptions, DatetimeDisabledOptions, DatetimePickerEvents, DeleteEvents, DialogHandle, DialogOptions, DisabledOptions, DragVerifyInfo, DragVerifyOptions, ElementOptions, EmitterType, EmptyOptions, EventsType, FoldEvents, FoldOptions, FoldStatus, FollowElectResult, FollowExtend, FollowHandle, FollowOptions, FollowStrategy, FollowStrategyOptions, FooterEvents, FooterOptions, HeaderEvents, HeaderOptions, INumberFormatter, IPickerManager, IPopupManager, IReactiveManager, ISelectContext, ITreeBaseContext, IconOptions, IconType, InputEvents, InputOptions, LayoutAraeOptions, LayoutAreaItem, LayoutOptions, LoadingOptions, MessageOptions, MotionEffectOptions, MotionOptions, MoveEvents, NumberBaseOptions, NumberEvents, NumberFormatResult, NumberOptions, PickerExtend, PickerPopupOptions, PlaceholderOptions, PopupDescriptor, PopupHandle, PopupOptions, PopupStatus, PopupStatusOptions, PropsType, ReactiveVar, ReadonlyOptions, ScrollEvents, ScrollOptions, ScrollStatus, SearchEvents, SearchOptions, SelectBaseEvents, SelectBaseOptions, SelectEvents, SelectItem, SelectNodeEvents, SelectNodeOptions, SelectOptions, SelectPopupEvents, SelectPopupExtend, SelectPopupOptions, SelectSlotOptions, SlotsType, SortEvent, SortEvents, SortGroupHook, SortGroupOptions, SortOptions, SwitchEvents, SwitchOptions, TableColOptions, TableOptions, TableRowOptions, TextareaEvents, TextareaOptions, TimePickerHourItem, TimePickerMinuteItem, TimePickerOptions, TimePickerSecondItem, TitleOptions, ToastOptions, TransitionEffectOptions, TransitionOptions, TreeEvents, TreeNode, TreeNodeEvents, TreeNodeExtend, TreeNodeModel, TreeNodeOptions, TreeNodeRenderOptions, TreeNodeSlotOptions, TreeOptions, TreeSearchResult, ValueOptions, WrapperEvents, WrapperOptions };
3268
+ export type { ButtonOptions, ChangeEvents, ChooseEvents, ChooseItem, ChooseOptions, ClickEvents, CloseEvents, ComponentBindOptions, ComponentOptions, ConfirmAreaOptions, ConfirmOptions, DatePickerDayItem, DatePickerMonthItem, DatePickerOptions, DatePickerYearItem, DatetimeDisabledOptions, DatetimePickerEvents, DeleteEvents, DialogHandle, DialogOptions, DisabledOptions, DragVerifyInfo, DragVerifyOptions, EmitterType, EmptyOptions, EventsType, FoldEvents, FoldOptions, FoldStatus, FollowElectResult, FollowExtend, FollowHandle, FollowOptions, FollowPositionOptions, FollowStrategy, FollowStrategyOptions, FooterEvents, FooterOptions, HeaderEvents, HeaderOptions, INumberFormatter, IPickerManager, IPopupManager, IReactiveManager, ISelectContext, ITreeBaseContext, IconOptions, IconType, InputEvents, InputOptions, LayoutAraeOptions, LayoutAreaItem, LayoutOptions, LoadingOptions, MessageOptions, MotionEffectOptions, MotionOptions, MoveEvents, NumberBaseOptions, NumberEvents, NumberFormatResult, NumberOptions, PickerExtend, PickerPopupOptions, PlaceholderOptions, PopupDescriptor, PopupHandle, PopupOptions, PopupStatus, PopupStatusOptions, PropsType, ReactiveVar, ReadonlyOptions, ScrollEvents, ScrollOptions, ScrollStatus, SearchEvents, SearchOptions, SelectBaseEvents, SelectBaseOptions, SelectEvents, SelectItem, SelectNodeEvents, SelectNodeOptions, SelectOptions, SelectPopupEvents, SelectPopupExtend, SelectPopupOptions, SelectSlotOptions, SlotsType, SortEvent, SortEvents, SortGroupHook, SortGroupOptions, SortOptions, SwitchEvents, SwitchOptions, TableColOptions, TableOptions, TableRowOptions, TextareaEvents, TextareaOptions, TimePickerHourItem, TimePickerMinuteItem, TimePickerOptions, TimePickerSecondItem, TitleOptions, ToastOptions, TreeEvents, TreeNode, TreeNodeEvents, TreeNodeExtend, TreeNodeModel, TreeNodeOptions, TreeNodeRenderOptions, TreeNodeSlotOptions, TreeOptions, TreeSearchResult, ValueOptions, WrapperEvents, WrapperOptions };