snail.vue 2.0.12 → 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,60 +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
- */
662
- duration?: number;
663
- /**
664
- * 动画的自定义类样式名称
665
- * - 默认为 `snail-transition`;不会作为 Transition的 name 属性名
666
- * - 动画生效时组成的`class`规则为:`customClass`+动画状态;类似`snail-transition enter-from`
667
- * - 动画状态可选值:
668
- * |-------------------|----------------------|
669
- * | -- |-- |
670
- * | enter-active | 进入动画的生效状态 |
671
- * | enter-from | 进入动画的起始状态 |
672
- * | enter-to | 进入动画的结束状态 |
673
- * | leave-active | 离开动画的生效状态 |
674
- * | leave-from | 离开动画的起始状态 |
675
- * | leave-to | 离开动画的结束状态 |
676
- *
677
- */
678
- customClass?: string;
679
- /**
680
- * 动画效果
681
- * - 配合 `customClass` 使用,用于标记动画的具体实现
682
- * - 作为默认动画效果,组装出来的动画效果类似 `snail-transition fade enter-from`
683
- * - 效果可选值;默认值 fade
684
- * |----------------|-------------|----------------------------------|---------------------------------|
685
- * | -- |-- |-- |-- |
686
- * | `fade` | 淡入淡出 | 进入时 `opacity` 0-1 | 离开时 `opacity` 1 - 0 |
687
- * | `scale` | 缩放动画 | 进入时 `scale` 0-1 | 离开时 `scale` 0 - 1 |
688
- * | `rotate` | 旋转动画 | 进入时 `rotate` 360deg - 0 | 离开时 `rotate` 0 - 360deg |
689
- * | `up` | 上进上出 | 进入时 `translateY` 100% - 0 | 离开时 `translateY` 0 - -100% |
690
- * | `down` | 下进下出 | 进入时 `translateY` -100% - 0 | 离开时 `translateY` 0 - 100% |
691
- * | `up-down` | 上进下出 | 进入时 `translateY` 100% - 0 | 离开时 `translateY` 0 - 100% |
692
- * | `down-up` | 下进上出 | 进入时 `translateY` -100% - 0 | 离开时 `translateY` 0 - -100% |
693
- * | `left` | 左进左出 | 进入时 `translateX` -100% - 0 | 离开时 `translateX` 0 - -100% |
694
- * | `right` | 右进右出 | 进入时 `translateX` 100% - 0 | 离开时 `translateX` 0 - 100% |
695
- * | `left-right` | 左进右出 | 进入时 `translateX` -100% - 0 | 离开时 `translateX` 0 - 100% |
696
- * | `right-left` | 右进左出 | 进入时 `translateX` 100% - 0 | 离开时 `translateX` 0 - -100% |
697
- */
698
- effect?: TransitionEffectOptions | Array<TransitionEffectOptions>;
699
- };
700
- type TransitionEffectOptions = "fade" | "scale" | "rotate" | "up" | "down" | "up-down" | "down-up" | "left" | "right" | "left-right" | "right-left";
701
-
702
784
  /**
703
785
  * Table配置选项
704
786
  */
@@ -1042,6 +1124,57 @@ type LayoutAreaItem = {
1042
1124
  style: Record<string, string>;
1043
1125
  };
1044
1126
 
1127
+ /**
1128
+ * 动画组件配置选项
1129
+ * - 实现组件入/退场的动画效果
1130
+ */
1131
+ type MotionOptions = {
1132
+ /**
1133
+ * 是否是多元素模式
1134
+ * - 为true时,则使用 TransitionGroup 组件实现多元素间动画控制
1135
+ * - 为false时,则使用 Transition 组件实现单元素动画控制
1136
+ */
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;
1148
+ /**
1149
+ * 动画持续时间,单位ms,默认200ms
1150
+ * - `>0`时生效,否则禁用动画
1151
+ */
1152
+ duration?: number;
1153
+ /**
1154
+ * 动画模式
1155
+ * - default(默认) 入场和退场动画同时执行
1156
+ * - in-out 入场动画先执行,退场动画后执行
1157
+ * - out-in 退场动画先执行,入场动画后执行
1158
+ * - 在多个元素之间切换时生效,一个元素的显隐切换无效果
1159
+ */
1160
+ mode?: "in-out" | "out-in" | "default";
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
+ };
1177
+
1045
1178
  /**
1046
1179
  * 折叠面板配置选项
1047
1180
  * - title 折叠面板标题
@@ -1547,6 +1680,12 @@ type IconOptions = TitleOptions & {
1547
1680
  * 图标类型
1548
1681
  */
1549
1682
  type: IconType;
1683
+ /**
1684
+ * 图形伸展
1685
+ * - svg.viewBox 属性
1686
+ * - 为空则默认“0 0 1024 1024”
1687
+ */
1688
+ viewBox?: string;
1550
1689
  /**
1551
1690
  * 图标颜色
1552
1691
  */
@@ -1600,137 +1739,14 @@ type IconOptions = TitleOptions & {
1600
1739
  * - 指向类:
1601
1740
  * - - arrow 向右箭头
1602
1741
  * - - datepicker 日期选择器
1742
+ * - - timepicker 时间选择器
1603
1743
  * - 其他类:
1604
1744
  * - - plus 加号
1605
1745
  * - - subtract 减号
1606
1746
  * - - grip 紧握图标,垂直方向,一般用于拖动句柄
1607
1747
  * - - custom 自定义图标:此时IconOptions.draw属性传入绘制路径
1608
1748
  */
1609
- type IconType = "success" | "error" | "warn" | "close" | "trash" | "download" | "print" | "edit" | "arrow" | "datepicker" | "plus" | "subtract" | "grip" | "custom";
1610
-
1611
- /**
1612
- * 日期组件相关数据模型
1613
- */
1614
- /**
1615
- * 日期选择组件 配置选项
1616
- * - 参照 zane-calendar 组件的配置选项
1617
- * @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
1618
- */
1619
- type DatepickerOptions = {
1620
- /**
1621
- * 日期选择类型
1622
- * - 默认值:day
1623
- * - 可选值:
1624
- * - - day 年月日选择
1625
- * - - year 年选择
1626
- * - - month 年月选择
1627
- * - - time 时分秒选择
1628
- */
1629
- type?: "day" | "year" | "month" | "time";
1630
- /**
1631
- * 是否为范围选择
1632
- * - true 则选择 开始时间 - 结束时间
1633
- */
1634
- range?: boolean;
1635
- /**
1636
- * 日期时间格式化
1637
- * - 默认值:yyyy-MM-dd
1638
- * - 可选值 通用格式化字符串;如 yyyy-MM-dd HH:mm:ss yyyy年MM月dd日 HH时mm分ss秒 、、、
1639
- */
1640
- format?: string;
1641
- /**
1642
- * 开始日期
1643
- * - 单选择可选项
1644
- * - 作为初始选中日期,不传入则默认当前
1645
- */
1646
- begin?: string;
1647
- /**
1648
- * 结束日期
1649
- * - range 为true时 选择器可选项
1650
- * - 作为初始选中日期,不传入则默认当前
1651
- */
1652
- end?: string;
1653
- /**
1654
- * 可选取时间最小范围
1655
- * - 默认值:1900-10-01
1656
- */
1657
- min?: string;
1658
- /**
1659
- * 可选取时间最大范围
1660
- * - 默认值:2099-12-31
1661
- */
1662
- max?: string;
1663
- /**
1664
- * 弹窗z-index值
1665
- * - 默认:10000
1666
- */
1667
- zIndex?: number;
1668
- /**
1669
- * 是否禁用【选择时间】
1670
- * - 为true时,不出【选择时间】按钮
1671
- */
1672
- timeDisabled?: boolean;
1673
- /**
1674
- * 是否禁用【选择秒】
1675
- * - 为true时,选择时间时不支持选择秒单位
1676
- */
1677
- secondDisabled?: boolean;
1678
- /**
1679
- * 是否禁止【清空】按钮
1680
- * - 为true时,不显示【清空【按钮
1681
- */
1682
- cleanDisabled?: boolean;
1683
- /**
1684
- * 是否禁用【现在】按钮
1685
- * - 为true时,不显示【现在】按钮
1686
- * - 在 type 为 doublexxx 时始终禁止
1687
- * - 同时指定min和max时,时始终禁止
1688
- */
1689
- nowDisabled?: boolean;
1690
- /**
1691
- * 是否禁止【确定】按钮
1692
- * - 为true时,不显示【确定】按钮
1693
- */
1694
- submitDisabled?: boolean;
1695
- /**
1696
- * 插件宽度配置
1697
- * - 默认值:280
1698
- * - 220 <= X <= 500
1699
- */
1700
- width?: number;
1701
- /**
1702
- * 插件高度配置
1703
- * - 默认值:300
1704
- * - 240 <= X <= 350
1705
- */
1706
- height?: number;
1707
- /**
1708
- * 插件与输入框的高度
1709
- * - 默认值:4
1710
- */
1711
- behindTop?: number;
1712
- };
1713
- /**
1714
- * 日期选择器 组件事件
1715
- */
1716
- type DatePickerEvents = {
1717
- /**
1718
- * 日期选择器 选择值改变
1719
- * @param begin 选择的起始日期;undefined表示无值,如清空时
1720
- * @param end 选择的结束日期;在range范围选择时才有值;undefined表示无值,如清空时
1721
- */
1722
- change: [begin: string | undefined, end: string | undefined];
1723
- /**
1724
- * 日期选择器得到焦点
1725
- * - 鼠标进入选择器
1726
- */
1727
- "picker-focus": [];
1728
- /**
1729
- * 日期选择器失去焦点
1730
- * - 鼠标离开选择器
1731
- */
1732
- "picker-blur": [];
1733
- };
1749
+ type IconType = "success" | "error" | "warn" | "close" | "trash" | "download" | "print" | "edit" | "arrow" | "datepicker" | "timepicker" | "plus" | "subtract" | "grip" | "custom";
1734
1750
 
1735
1751
  /**
1736
1752
  * 检查选项 数据结构
@@ -2049,139 +2065,68 @@ type DynamicOptions<Props = void> = ComponentOptions & Pick<ComponentBindOptions
2049
2065
  declare function mount<Props>(target: HTMLElement, options: DynamicOptions<Props>, onDestroyed?: (fn: () => void) => void): IScope;
2050
2066
 
2051
2067
  /**
2052
- * 日期时间的功能禁用配置选项
2068
+ * 运动组件的助手方法变量
2053
2069
  */
2054
- type DatetimeDisabledOptions = {
2055
- /**
2056
- * 禁用【工具条】
2057
- * - 为true则不显示【确定】、【现在】等按钮的工具条区域
2058
- */
2059
- toolbarDisabled?: boolean;
2060
- /**
2061
- * 禁用【现在】按钮
2062
- * - 为true时不显示【现在】按钮
2063
- */
2064
- nowDisabled?: boolean;
2065
- /**
2066
- * 禁用【清空】按钮
2067
- * - 为true时不显示【清空】按钮
2068
- */
2069
- clearDisabled?: boolean;
2070
- };
2071
2070
  /**
2072
- * 日期选择器 配置选项
2071
+ * 运行效果常量
2073
2072
  */
2074
- type DatePickerOptions = {
2075
- /**
2076
- * 已选日期值
2077
- * -格式为 "年-月-日 时:分:秒"
2078
- */
2079
- value?: string;
2080
- /**
2081
- * 日期格式
2082
- * - 默认 “yyyy-MM-dd"
2083
- */
2084
- format?: DateFormat;
2085
- /**
2086
- * 日期最小值
2087
- * - 选择年月日时,早于此值的年月日不可选
2088
- * - 确定时,组合时间选取值,晚于此值的日期+时间选择值无效
2089
- */
2090
- min?: string;
2091
- /**
2092
- * 日期最大值
2093
- * - 选择年月日时,晚于此值的年月日不可选
2094
- * - 组合时间选取值,晚于此值的日期+时间选择值无效
2095
- */
2096
- max?: string;
2097
- /**
2098
- * 最小选择时间
2099
- * - 早于此值的时间不可选
2100
- * - 不参与日期最小值验证,仅在选择时间时框定起始时间
2101
- */
2102
- minPickTime?: string;
2103
- /**
2104
- * 最大选择时间
2105
- * - 不参与日期最大值验证,仅在选择时间时框定结束时间
2106
- */
2107
- maxPickTime?: string;
2108
- } & DatetimeDisabledOptions;
2109
- /**
2110
- * 时间选择控件配置项
2111
- */
2112
- type TimePickerOptions = {
2113
- /**
2114
- * 已选值
2115
- * - 格式为 “时:分:秒"
2116
- */
2117
- value?: string;
2118
- /**
2119
- * 时间格式
2120
- */
2121
- format?: "HH:mm:ss" | "HH:mm";
2122
- /**
2123
- * 最小时间
2124
- * - 传入值格式为 "时:分:秒"
2125
- * - 如 "08:30:00",则08:30:00为最小时间,之前的时间不可选择
2126
- * - 如 "08" ,则 08:00:00为最小时间,之前的时间不可选择
2127
- */
2128
- min?: string;
2129
- /**
2130
- * 最大时间
2131
- * - 传入值格式为 "时:分:秒"
2132
- * - 如 "08:30:00",则08:30:00为最大时间,之后的时间不可选择
2133
- * - 如 "08" ,则 08:00:00为最大时间,之后时间不可选择
2134
- */
2135
- max?: string;
2136
- } & DatetimeDisabledOptions;
2137
- /**
2138
- * 日期时间选择 事件
2139
- */
2140
- type DatetimePickerEvents = {
2141
- /**
2142
- * 清空
2143
- */
2144
- clear: [];
2145
- /**
2146
- * 确定选择
2147
- * - @param value 已选则的日期时间
2148
- */
2149
- confirm: [value: string];
2150
- };
2151
- /**
2152
- * 日期选择器 一个年项
2153
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2154
- */
2155
- type DatePickerYearItem = Required<Pick<DateValue, "year"> & DisabledOptions>;
2156
- /**
2157
- * 日期选择器 一个月项
2158
- * - 当前月,以及所属的年份
2159
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2160
- */
2161
- type DatePickerMonthItem = Required<Pick<DateValue, "month" | "year"> & DisabledOptions & {
2162
- text: string;
2073
+ declare const MOTION: Readonly<{
2074
+ /** 淡入淡出;进入时 `opacity:0~1`;退出时 `opacity:1~0`*/
2075
+ fade: {
2076
+ enter: string;
2077
+ leave: string;
2078
+ };
2079
+ /** 缩放进入:进入时 `scale:0~1`;退出时 `scale:1~0`*/
2080
+ scale: {
2081
+ enter: string;
2082
+ leave: string;
2083
+ };
2084
+ /** 旋转:进入时 `rotate:360deg~0`;退出时 `rotate:0~360deg`*/
2085
+ rotate: {
2086
+ enter: string;
2087
+ leave: string;
2088
+ };
2089
+ /** 顶部进入退出:进入时`translateY:-100%~0`;退出时`translateY:0~-100%`*/
2090
+ top: {
2091
+ enter: string;
2092
+ leave: string;
2093
+ };
2094
+ /** 顶部进入底部退出:进入时`translateY:-100%~0`;退出时`translateY:0~100%`*/
2095
+ topBottom: {
2096
+ enter: string;
2097
+ leave: string;
2098
+ };
2099
+ /** 底部进入退出:进入时`translateY:100%~0`;退出时`translateY:0~100%`*/
2100
+ bottom: {
2101
+ enter: string;
2102
+ leave: string;
2103
+ };
2104
+ /** 底部进入顶部退出:进入时`translateY:100%~0`;退出时`translateY:0~-100%`*/
2105
+ bottomTop: {
2106
+ enter: string;
2107
+ leave: string;
2108
+ };
2109
+ /** 左侧进入退出:进入时`translateX:-100%~0`;退出时`translateX:0~-100%`*/
2110
+ left: {
2111
+ enter: string;
2112
+ leave: string;
2113
+ };
2114
+ /** 左侧进入右侧退出:进入时`translateX:-100%~0`;退出时`translateX:0~100%`*/
2115
+ leftRight: {
2116
+ enter: string;
2117
+ leave: string;
2118
+ };
2119
+ /** 右侧进入右侧退出:进入时`translateX:100%~0`;退出时`translateX:0~100%`*/
2120
+ right: {
2121
+ enter: string;
2122
+ leave: string;
2123
+ };
2124
+ /** 右侧进入左侧退出:进入时`translateX:100%~0`;退出时`translateX:0~-100%`*/
2125
+ rightLeft: {
2126
+ enter: string;
2127
+ leave: string;
2128
+ };
2163
2129
  }>;
2164
- /**
2165
- * 日期选择器的一个天项
2166
- * - 当前天,以及所属的月份和年份
2167
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2168
- */
2169
- type DatePickerDayItem = Required<Pick<DateValue, "day" | "month" | "year"> & DisabledOptions>;
2170
- /**
2171
- * 时间选择器 一个小时项
2172
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2173
- */
2174
- type TimePickerHourItem = Required<Pick<TimeValue, "hour"> & DisabledOptions>;
2175
- /**
2176
- * 时间选择器 一个分钟项
2177
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2178
- */
2179
- type TimePickerMinuteItem = Required<Pick<TimeValue, "minute" | "hour"> & DisabledOptions>;
2180
- /**
2181
- * 时间选择器 一个秒项
2182
- * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2183
- */
2184
- type TimePickerSecondItem = Required<TimeValue & DisabledOptions>;
2185
2130
 
2186
2131
  /**
2187
2132
  * 公共通用数据结构:
@@ -2376,7 +2321,12 @@ type ToastOptions = {
2376
2321
  * - 传入的组件,根据配置跟随 target 位置和大小;
2377
2322
  * @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
2378
2323
  */
2379
- 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 = {
2380
2330
  /**
2381
2331
  * 启用【宽度】跟随
2382
2332
  * - 为true则和 target 宽度保持一致
@@ -2584,22 +2534,24 @@ interface IPickerManager {
2584
2534
  * 显示【日期】选择器
2585
2535
  * @param target 哪个元素触发,基于此元素计算位置
2586
2536
  * @param options 日期选择器配置选项
2537
+ * @param popupOptions 弹窗配置选项;内部根据情况选择属性使用
2587
2538
  * @returns 异步任务,可销毁日期选择器;可接收日期选择器的选择值
2588
2539
  */
2589
- showDate(target: HTMLElement, options?: DatePickerOptions & FollowOptions): IAsyncScope<string>;
2540
+ showDate(target: HTMLElement, options?: DatePickerOptions, popupOptions?: PickerPopupOptions): IAsyncScope<string>;
2590
2541
  /**
2591
2542
  * 显示【时间】选择控件
2592
2543
  * @param target 哪个元素触发,基于此元素计算位置
2593
2544
  * @param options 时间选择控件配置选项
2545
+ * @param popupOptions 弹窗配置选项;内部根据情况选择属性使用
2594
2546
  * @returns 异步任务,可销毁时间选择控件;可接收时间选择控件的选择值
2595
2547
  */
2596
- showTime(target: HTMLElement, options?: TimePickerOptions & FollowOptions): IAsyncScope<string>;
2548
+ showTime(target: HTMLElement, options?: TimePickerOptions, popupOptions?: PickerPopupOptions): IAsyncScope<string>;
2597
2549
  }
2598
2550
  /**
2599
2551
  * 选择器弹窗配置选项
2600
2552
  * - 放开一些属性,方便用户做一些自定义
2601
2553
  */
2602
- type PickerPopupOptions = Pick<FollowOptions, "followX" | "followY" | "spaceX" | "spaceY" | "spaceClient">;
2554
+ type PickerPopupOptions = FollowPositionOptions;
2603
2555
  /**
2604
2556
  * 选择器扩展
2605
2557
  */
@@ -2671,17 +2623,6 @@ declare const components: {
2671
2623
  onChange?: (values: any) => any;
2672
2624
  "onUpdate:modelValue"?: (value: any) => any;
2673
2625
  }>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
2674
- DatePicker: vue.DefineComponent<DatepickerOptions, {
2675
- showPicker: (delay: number) => void;
2676
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2677
- change: (begin: string, end: string) => any;
2678
- "picker-focus": () => any;
2679
- "picker-blur": () => any;
2680
- }, string, vue.PublicProps, Readonly<DatepickerOptions> & Readonly<{
2681
- onChange?: (begin: string, end: string) => any;
2682
- "onPicker-focus"?: () => any;
2683
- "onPicker-blur"?: () => any;
2684
- }>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
2685
2626
  Footer: {
2686
2627
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<FooterOptions> & Readonly<{
2687
2628
  onCancel?: () => any;
@@ -2924,6 +2865,23 @@ declare const components: {
2924
2865
  default?: (props: {}) => any;
2925
2866
  };
2926
2867
  });
2868
+ Motion: {
2869
+ new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<MotionOptions> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
2870
+ P: {};
2871
+ B: {};
2872
+ D: {};
2873
+ C: {};
2874
+ M: {};
2875
+ Defaults: {};
2876
+ }, Readonly<MotionOptions> & Readonly<{}>, {}, {}, {}, {}, {}>;
2877
+ __isFragment?: never;
2878
+ __isTeleport?: never;
2879
+ __isSuspense?: never;
2880
+ } & vue.ComponentOptionsBase<Readonly<MotionOptions> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
2881
+ $slots: {
2882
+ default?: (props: {}) => any;
2883
+ };
2884
+ });
2927
2885
  Layout: {
2928
2886
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<LayoutOptions> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
2929
2887
  P: {};
@@ -2937,14 +2895,14 @@ declare const components: {
2937
2895
  __isTeleport?: never;
2938
2896
  __isSuspense?: never;
2939
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 () => {
2940
- $slots: SlotsType<Pick<LayoutOptions, "left" | "right" | "main" | "bottom" | "top">>;
2898
+ $slots: SlotsType<Pick<LayoutOptions, "left" | "right" | "main" | "top" | "bottom">>;
2941
2899
  });
2942
2900
  Scroll: {
2943
2901
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ScrollOptions> & Readonly<{
2944
2902
  onLeft?: () => any;
2945
2903
  onRight?: () => any;
2946
- onBottom?: () => any;
2947
2904
  onTop?: () => any;
2905
+ onBottom?: () => any;
2948
2906
  onXbar?: (show: boolean) => any;
2949
2907
  onYbar?: (show: boolean) => any;
2950
2908
  }>, {
@@ -2953,8 +2911,8 @@ declare const components: {
2953
2911
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2954
2912
  left: () => any;
2955
2913
  right: () => any;
2956
- bottom: () => any;
2957
2914
  top: () => any;
2915
+ bottom: () => any;
2958
2916
  xbar: (show: boolean) => any;
2959
2917
  ybar: (show: boolean) => any;
2960
2918
  }, vue.PublicProps, {}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
@@ -2967,8 +2925,8 @@ declare const components: {
2967
2925
  }, Readonly<ScrollOptions> & Readonly<{
2968
2926
  onLeft?: () => any;
2969
2927
  onRight?: () => any;
2970
- onBottom?: () => any;
2971
2928
  onTop?: () => any;
2929
+ onBottom?: () => any;
2972
2930
  onXbar?: (show: boolean) => any;
2973
2931
  onYbar?: (show: boolean) => any;
2974
2932
  }>, {
@@ -2981,8 +2939,8 @@ declare const components: {
2981
2939
  } & vue.ComponentOptionsBase<Readonly<ScrollOptions> & Readonly<{
2982
2940
  onLeft?: () => any;
2983
2941
  onRight?: () => any;
2984
- onBottom?: () => any;
2985
2942
  onTop?: () => any;
2943
+ onBottom?: () => any;
2986
2944
  onXbar?: (show: boolean) => any;
2987
2945
  onYbar?: (show: boolean) => any;
2988
2946
  }>, {
@@ -2991,8 +2949,8 @@ declare const components: {
2991
2949
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2992
2950
  left: () => any;
2993
2951
  right: () => any;
2994
- bottom: () => any;
2995
2952
  top: () => any;
2953
+ bottom: () => any;
2996
2954
  xbar: (show: boolean) => any;
2997
2955
  ybar: (show: boolean) => any;
2998
2956
  }, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
@@ -3013,16 +2971,16 @@ declare const components: {
3013
2971
  disabled?: boolean;
3014
2972
  sortDisabled?: boolean;
3015
2973
  }> & Readonly<{
3016
- onEnd?: (evt: SortEvent) => any;
3017
2974
  onAdd?: (evt: SortEvent) => any;
3018
2975
  onStart?: (evt: SortEvent) => any;
2976
+ onEnd?: (evt: SortEvent) => any;
3019
2977
  onMove?: (evt: SortEvent, originalEvent: SortEvent) => any;
3020
2978
  onRemove?: (evt: SortEvent) => any;
3021
2979
  onUpdate?: (oldIndex: number, newIndex: number) => any;
3022
2980
  }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3023
- end: (evt: SortEvent) => any;
3024
2981
  add: (evt: SortEvent) => any;
3025
2982
  start: (evt: SortEvent) => any;
2983
+ end: (evt: SortEvent) => any;
3026
2984
  move: (evt: SortEvent, originalEvent: SortEvent) => any;
3027
2985
  remove: (evt: SortEvent) => any;
3028
2986
  update: (oldIndex: number, newIndex: number) => any;
@@ -3045,9 +3003,9 @@ declare const components: {
3045
3003
  disabled?: boolean;
3046
3004
  sortDisabled?: boolean;
3047
3005
  }> & Readonly<{
3048
- onEnd?: (evt: SortEvent) => any;
3049
3006
  onAdd?: (evt: SortEvent) => any;
3050
3007
  onStart?: (evt: SortEvent) => any;
3008
+ onEnd?: (evt: SortEvent) => any;
3051
3009
  onMove?: (evt: SortEvent, originalEvent: SortEvent) => any;
3052
3010
  onRemove?: (evt: SortEvent) => any;
3053
3011
  onUpdate?: (oldIndex: number, newIndex: number) => any;
@@ -3067,16 +3025,16 @@ declare const components: {
3067
3025
  disabled?: boolean;
3068
3026
  sortDisabled?: boolean;
3069
3027
  }> & Readonly<{
3070
- onEnd?: (evt: SortEvent) => any;
3071
3028
  onAdd?: (evt: SortEvent) => any;
3072
3029
  onStart?: (evt: SortEvent) => any;
3030
+ onEnd?: (evt: SortEvent) => any;
3073
3031
  onMove?: (evt: SortEvent, originalEvent: SortEvent) => any;
3074
3032
  onRemove?: (evt: SortEvent) => any;
3075
3033
  onUpdate?: (oldIndex: number, newIndex: number) => any;
3076
3034
  }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3077
- end: (evt: SortEvent) => any;
3078
3035
  add: (evt: SortEvent) => any;
3079
3036
  start: (evt: SortEvent) => any;
3037
+ end: (evt: SortEvent) => any;
3080
3038
  move: (evt: SortEvent, originalEvent: SortEvent) => any;
3081
3039
  remove: (evt: SortEvent) => any;
3082
3040
  update: (oldIndex: number, newIndex: number) => any;
@@ -3140,23 +3098,6 @@ declare const components: {
3140
3098
  default?: (props: {}) => any;
3141
3099
  };
3142
3100
  });
3143
- Transitions: {
3144
- new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<TransitionOptions> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
3145
- P: {};
3146
- B: {};
3147
- D: {};
3148
- C: {};
3149
- M: {};
3150
- Defaults: {};
3151
- }, Readonly<TransitionOptions> & Readonly<{}>, {}, {}, {}, {}, {}>;
3152
- __isFragment?: never;
3153
- __isTeleport?: never;
3154
- __isSuspense?: never;
3155
- } & 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 () => {
3156
- $slots: {
3157
- default?: (props: {}) => any;
3158
- };
3159
- });
3160
3101
  Tree: {
3161
3102
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<{
3162
3103
  nodes: TreeNodeModel<any>[];
@@ -3248,6 +3189,40 @@ declare const components: {
3248
3189
  default?: (props: {}) => any;
3249
3190
  };
3250
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>;
3251
3226
  DragVerify: vue.DefineComponent<DragVerifyOptions, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
3252
3227
  success: () => any;
3253
3228
  }, string, vue.PublicProps, Readonly<DragVerifyOptions> & Readonly<{
@@ -3289,5 +3264,5 @@ declare const components: {
3289
3264
  });
3290
3265
  };
3291
3266
 
3292
- export { components, getSvgDraw, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };
3293
- 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, 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, 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 };
3267
+ export { MOTION, components, getSvgDraw, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };
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 };