snail.vue 2.0.11 → 2.0.12

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.
@@ -2,7 +2,7 @@ import * as snail_view from 'snail.view';
2
2
  import { BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, MarginStyle } from 'snail.view';
3
3
  import * as vue from 'vue';
4
4
  import { Component, ShallowRef, Ref, WatchSource, App } from 'vue';
5
- import { IScope, RunResult, ITimeValueManager, IAsyncScope } from 'snail.core';
5
+ import { IScope, RunResult, DateFormat, DateValue, TimeValue, IAsyncScope } from 'snail.core';
6
6
 
7
7
  /**
8
8
  * loading提示框的配置选项
@@ -980,11 +980,11 @@ type LayoutOptions = {
980
980
  */
981
981
  mode?: "horizontal" | "vertical";
982
982
  /**
983
- * 内容区域配置
984
- * - 对应插槽名:default;主要内容显示区域,处于布局中的【中】区域
983
+ * 主内容区域配置
984
+ * - 对应插槽名:main;主要内容显示区域,处于布局中的【中】区域
985
985
  * - 配置主内容区域的滚动条配置
986
986
  */
987
- default?: Pick<LayoutAraeOptions<void>, "scroll">;
987
+ main?: Pick<LayoutAraeOptions<void>, "scroll">;
988
988
  /**
989
989
  * 【左侧】区域配置
990
990
  * - 对应插槽名`left` ;`mode` 为 `horizontal` 时生效
@@ -2049,32 +2049,72 @@ type DynamicOptions<Props = void> = ComponentOptions & Pick<ComponentBindOptions
2049
2049
  declare function mount<Props>(target: HTMLElement, options: DynamicOptions<Props>, onDestroyed?: (fn: () => void) => void): IScope;
2050
2050
 
2051
2051
  /**
2052
- * 时间选择控件配置项
2052
+ * 日期时间的功能禁用配置选项
2053
2053
  */
2054
- type TimePickerOptions = {
2054
+ type DatetimeDisabledOptions = {
2055
2055
  /**
2056
- * 已选值
2057
- * - 格式为 “时:分:秒"
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
+ /**
2072
+ * 日期选择器 配置选项
2073
+ */
2074
+ type DatePickerOptions = {
2075
+ /**
2076
+ * 已选日期值
2077
+ * -格式为 "年-月-日 时:分:秒"
2058
2078
  */
2059
2079
  value?: string;
2060
2080
  /**
2061
- * 禁用【初始化】功能
2062
- * - 仅在`value`为空时才生效,若`value`不为空,则忽略此属性配置
2063
- * - 为true,不自动选中【现在】的时分秒
2064
- * - 为false时,自动选中【现在】的时分秒
2065
- * - 默认自动初始化
2081
+ * 日期格式
2082
+ * - 默认 “yyyy-MM-dd"
2066
2083
  */
2067
- initialDisabled?: boolean;
2084
+ format?: DateFormat;
2068
2085
  /**
2069
- * 禁用【现在】功能
2070
- * - 为true时,不出【现在】功能
2086
+ * 日期最小值
2087
+ * - 选择年月日时,早于此值的年月日不可选
2088
+ * - 确定时,组合时间选取值,晚于此值的日期+时间选择值无效
2071
2089
  */
2072
- nowDisabled?: boolean;
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 = {
2073
2113
  /**
2074
- * 时间值管理器
2075
- * - 若传入此值,则 `format`、`min`、`max` 失效
2114
+ * 已选值
2115
+ * - 格式为 “时:分:秒"
2076
2116
  */
2077
- manager?: ITimeValueManager;
2117
+ value?: string;
2078
2118
  /**
2079
2119
  * 时间格式
2080
2120
  */
@@ -2093,7 +2133,7 @@ type TimePickerOptions = {
2093
2133
  * - 如 "08" ,则 08:00:00为最大时间,之后时间不可选择
2094
2134
  */
2095
2135
  max?: string;
2096
- };
2136
+ } & DatetimeDisabledOptions;
2097
2137
  /**
2098
2138
  * 日期时间选择 事件
2099
2139
  */
@@ -2108,29 +2148,40 @@ type DatetimePickerEvents = {
2108
2148
  */
2109
2149
  confirm: [value: string];
2110
2150
  };
2111
-
2112
2151
  /**
2113
- * 选择器 相关数据实体
2152
+ * 日期选择器 一个年项
2153
+ * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2114
2154
  */
2115
-
2155
+ type DatePickerYearItem = Required<Pick<DateValue, "year"> & DisabledOptions>;
2116
2156
  /**
2117
- * 接口:选择器管理器
2157
+ * 日期选择器 一个月项
2158
+ * - 当前月,以及所属的年份
2159
+ * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2118
2160
  */
2119
- interface IPickerManager {
2120
- /**
2121
- * 显示【时间】选择控件
2122
- * @param target 哪个元素触发,基于此元素计算位置
2123
- * @param options 时间选择控件配置选项
2124
- * @returns 异步任务,可销毁时间选择控件;可接收时间选择控件的选择值
2125
- */
2126
- showTime(target: HTMLElement, options?: TimePickerOptions): IAsyncScope<string>;
2127
- }
2128
-
2161
+ type DatePickerMonthItem = Required<Pick<DateValue, "month" | "year"> & DisabledOptions & {
2162
+ text: string;
2163
+ }>;
2129
2164
  /**
2130
- * 使用选择器
2131
- * @returns 选择器实例+作用域对象
2165
+ * 日期选择器的一个天项
2166
+ * - 当前天,以及所属的月份和年份
2167
+ * - disabled 标记当前选项是否禁用,基于min和max校验出来的
2132
2168
  */
2133
- declare function usePicker(): IPickerManager & IScope;
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>;
2134
2185
 
2135
2186
  /**
2136
2187
  * 公共通用数据结构:
@@ -2521,6 +2572,56 @@ interface IPopupManager {
2521
2572
  toast(type: IconType, message: string, options?: Omit<ToastOptions, "type" | "message">): IScope;
2522
2573
  }
2523
2574
 
2575
+ /**
2576
+ * 选择器 相关数据实体
2577
+ */
2578
+
2579
+ /**
2580
+ * 接口:选择器管理器
2581
+ */
2582
+ interface IPickerManager {
2583
+ /**
2584
+ * 显示【日期】选择器
2585
+ * @param target 哪个元素触发,基于此元素计算位置
2586
+ * @param options 日期选择器配置选项
2587
+ * @returns 异步任务,可销毁日期选择器;可接收日期选择器的选择值
2588
+ */
2589
+ showDate(target: HTMLElement, options?: DatePickerOptions & FollowOptions): IAsyncScope<string>;
2590
+ /**
2591
+ * 显示【时间】选择控件
2592
+ * @param target 哪个元素触发,基于此元素计算位置
2593
+ * @param options 时间选择控件配置选项
2594
+ * @returns 异步任务,可销毁时间选择控件;可接收时间选择控件的选择值
2595
+ */
2596
+ showTime(target: HTMLElement, options?: TimePickerOptions & FollowOptions): IAsyncScope<string>;
2597
+ }
2598
+ /**
2599
+ * 选择器弹窗配置选项
2600
+ * - 放开一些属性,方便用户做一些自定义
2601
+ */
2602
+ type PickerPopupOptions = Pick<FollowOptions, "followX" | "followY" | "spaceX" | "spaceY" | "spaceClient">;
2603
+ /**
2604
+ * 选择器扩展
2605
+ */
2606
+ type PickerExtend = {
2607
+ /**
2608
+ * 弹窗管理器
2609
+ * - 方便下级再弹窗,公用一个管理器,方便生命周期管理
2610
+ */
2611
+ popup: IPopupManager;
2612
+ /**
2613
+ * 选择器对象,方便内部在弹出选择
2614
+ * - 如日期选择器中,在选择时间
2615
+ */
2616
+ picker: IPickerManager;
2617
+ };
2618
+
2619
+ /**
2620
+ * 使用选择器
2621
+ * @returns 选择器实例+作用域对象
2622
+ */
2623
+ declare function usePicker(): IPickerManager & IScope;
2624
+
2524
2625
  /**
2525
2626
  * 使用【弹窗管理器】
2526
2627
  * @returns 全新的【弹窗管理器】实例+作用域对象
@@ -2836,7 +2937,7 @@ declare const components: {
2836
2937
  __isTeleport?: never;
2837
2938
  __isSuspense?: never;
2838
2939
  } & 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 () => {
2839
- $slots: SlotsType<Pick<LayoutOptions, "default" | "left" | "right" | "bottom" | "top">>;
2940
+ $slots: SlotsType<Pick<LayoutOptions, "left" | "right" | "main" | "bottom" | "top">>;
2840
2941
  });
2841
2942
  Scroll: {
2842
2943
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ScrollOptions> & Readonly<{
@@ -3189,4 +3290,4 @@ declare const components: {
3189
3290
  };
3190
3291
 
3191
3292
  export { components, getSvgDraw, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };
3192
- export type { ButtonOptions, ChangeEvents, ChooseEvents, ChooseItem, ChooseOptions, ClickEvents, CloseEvents, ComponentBindOptions, ComponentOptions, ConfirmAreaOptions, ConfirmOptions, DatePickerEvents, DatepickerOptions, 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, 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, TimePickerOptions, TitleOptions, ToastOptions, TransitionEffectOptions, TransitionOptions, TreeEvents, TreeNode, TreeNodeEvents, TreeNodeExtend, TreeNodeModel, TreeNodeOptions, TreeNodeRenderOptions, TreeNodeSlotOptions, TreeOptions, TreeSearchResult, ValueOptions, WrapperEvents, WrapperOptions };
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 };