snail.vue 2.0.22 → 2.0.24

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,7 +1,7 @@
1
1
  import * as snail_core from 'snail.core';
2
2
  import { DateFormat, DateValue, TimeValue, IScope, RunResult, IAsyncScope } from 'snail.core';
3
3
  import * as snail_view from 'snail.view';
4
- import { ScrollbarOptions, ScrollStatus, BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, MarginStyle } from 'snail.view';
4
+ import { ScrollbarOptions, ScrollStatus, CSSClassOptions, BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, MarginStyle } from 'snail.view';
5
5
  import * as vue from 'vue';
6
6
  import { Component, ShallowRef, Ref, WatchSource, App } from 'vue';
7
7
 
@@ -439,7 +439,7 @@ type ScrollEvents = {
439
439
  /**
440
440
  * 包裹组件 相关实体
441
441
  */
442
- type WrapperOptions = ReadonlyOptions & {
442
+ type WrapperOptions = {
443
443
  /**
444
444
  * 是否是弹窗模式
445
445
  */
@@ -448,18 +448,18 @@ type WrapperOptions = ReadonlyOptions & {
448
448
  * Header组件配置
449
449
  * - 不传入,则不需要 Header组件
450
450
  */
451
- header?: HeaderOptions & DisabledOptions;
451
+ header?: Partial<HeaderOptions> & DisabledOptions & CSSClassOptions;
452
452
  /**
453
453
  * 内容组件配置
454
454
  * - 滚动相关配置
455
455
  * - 不传入则无需滚动
456
456
  */
457
- content?: ScrollOptions;
457
+ content?: ScrollOptions & CSSClassOptions;
458
458
  /**
459
459
  * Footer组件配置
460
460
  * - 不传入,则不需要 Footer 组件
461
461
  */
462
- footer?: FooterOptions & DisabledOptions;
462
+ footer?: FooterOptions & DisabledOptions & CSSClassOptions;
463
463
  };
464
464
  /**
465
465
  * 包裹组件 事件
@@ -1061,12 +1061,7 @@ type LayoutOptions = {
1061
1061
  /**
1062
1062
  * 布局组件子区域 配置选项
1063
1063
  */
1064
- type LayoutAraeOptions<Style extends WidthStyle | HeightStyle | void> = Style & {
1065
- /**
1066
- * 子区域自定义类样式
1067
- * - 多个类样式,使用“ ”隔开
1068
- */
1069
- class?: string;
1064
+ type LayoutAraeOptions<Style extends WidthStyle | HeightStyle | void> = Style & CSSClassOptions & {
1070
1065
  /**
1071
1066
  * 滚动视图配置
1072
1067
  * - 视图属性:滚动条大小、显示时机
@@ -1086,7 +1081,7 @@ type LayoutAreaItem = {
1086
1081
  /**
1087
1082
  * 内容区域元素的类样式名
1088
1083
  */
1089
- class: string;
1084
+ class: string[];
1090
1085
  /**
1091
1086
  * css样式
1092
1087
  */
@@ -1155,6 +1150,16 @@ type FoldOptions = DisabledOptions & TitleOptions & {
1155
1150
  * - 跟随在title后
1156
1151
  */
1157
1152
  subtitle?: string;
1153
+ /**
1154
+ * 面板头部区域配置
1155
+ * - 如指定特定的css式
1156
+ */
1157
+ header?: CSSClassOptions;
1158
+ /**
1159
+ * 面板内容区域配置
1160
+ * - 如指定特定的css样式
1161
+ */
1162
+ body?: CSSClassOptions;
1158
1163
  };
1159
1164
  /**
1160
1165
  * 折叠状态
@@ -1162,6 +1167,27 @@ type FoldOptions = DisabledOptions & TitleOptions & {
1162
1167
  * - fold : 折叠状态
1163
1168
  */
1164
1169
  type FoldStatus = "expand" | "fold";
1170
+ /**
1171
+ * 折叠面板组件插槽句柄
1172
+ * - 将折叠面板状态和操作共享给插槽中自定义组件使用
1173
+ */
1174
+ type FoldSlotHandle = {
1175
+ /**
1176
+ * 获取折叠面板状态
1177
+ * @returns
1178
+ */
1179
+ getStatus(): FoldStatus;
1180
+ /**
1181
+ * 设置折叠面板状态
1182
+ * @param status 新的状态
1183
+ */
1184
+ setStatus(status: FoldStatus): void;
1185
+ /**
1186
+ * 切换面板状态
1187
+ * @returns 新的状态
1188
+ */
1189
+ toggle(): FoldStatus;
1190
+ };
1165
1191
  /**
1166
1192
  * 折叠面板事件
1167
1193
  */
@@ -1976,8 +2002,9 @@ type ButtonOptions = TitleOptions & {
1976
2002
 
1977
2003
  /**
1978
2004
  * 可操作项组件 的配置选项
2005
+ * - disabled 为true时,不响应操作项触发
1979
2006
  */
1980
- type ActionOptions = {
2007
+ type ActionOptions = DisabledOptions & {
1981
2008
  /**
1982
2009
  * 触发方式
1983
2010
  * - hover:鼠标移入显示
@@ -2453,6 +2480,11 @@ type PopupDescriptor<Options extends PopupOptions, ExtOptions> = PopupStatusOpti
2453
2480
  * @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
2454
2481
  */
2455
2482
  type DialogOptions<Props = void, Model = void> = PopupOptions<Props, Model> & {
2483
+ /**
2484
+ * 包裹器配置
2485
+ * - 若传入配置,则启用弹窗包裹;弹窗打开时使用`Wrapper`包裹弹窗内容组件
2486
+ */
2487
+ wrapper?: Pick<WrapperOptions, "header" | "content" | "footer">;
2456
2488
  /**
2457
2489
  * 禁用【遮罩层】
2458
2490
  * - 目前没实现,先忽略
@@ -2481,9 +2513,21 @@ type DialogHandle<T> = PopupHandle<T> & {
2481
2513
  /**
2482
2514
  * 注册监听【弹窗关闭】事件方法
2483
2515
  * - 仅支持注册一次,多次注册以最后一次的为准
2484
- * @param fn 关闭时执行的钩子函数,支持异步,返回false时将阻止弹窗关闭
2516
+ * @param fn 关闭时执行的钩子函数,支持异步;;调用后若返回false时将阻止弹窗关闭
2517
+ */
2518
+ onBeforeClose(fn: (data?: T) => false | undefined | Promise<false | undefined>): void;
2519
+ };
2520
+ /**
2521
+ * 弹窗包裹器操作句柄
2522
+ */
2523
+ type DialogWrapperHandle<T> = {
2524
+ /**
2525
+ * 注册【构建数据】事件方法
2526
+ * - 仅在Dialog为使用了wrapper模式时生效,用于在【确认】按钮点击时,构建实际内容组件中的数据
2527
+ * - 仅支持注册一次,多次注册以最后一次的为准
2528
+ * @param fn 取数据时执行的钩子函数,支持异步;若需要阻止弹窗关闭则`fn`方法直接报错即可
2485
2529
  */
2486
- onBeforeClose(fn: () => false | undefined | Promise<false | undefined>): void;
2530
+ onBuildData(fn: () => T | Promise<T>): void;
2487
2531
  };
2488
2532
 
2489
2533
  /**
@@ -3161,6 +3205,8 @@ declare const components: {
3161
3205
  Fold: {
3162
3206
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<DisabledOptions & TitleOptions & {
3163
3207
  subtitle?: string;
3208
+ header?: snail_view.CSSClassOptions;
3209
+ body?: snail_view.CSSClassOptions;
3164
3210
  } & {
3165
3211
  status?: FoldStatus;
3166
3212
  }> & Readonly<{
@@ -3178,6 +3224,8 @@ declare const components: {
3178
3224
  Defaults: {};
3179
3225
  }, Readonly<DisabledOptions & TitleOptions & {
3180
3226
  subtitle?: string;
3227
+ header?: snail_view.CSSClassOptions;
3228
+ body?: snail_view.CSSClassOptions;
3181
3229
  } & {
3182
3230
  status?: FoldStatus;
3183
3231
  }> & Readonly<{
@@ -3189,6 +3237,8 @@ declare const components: {
3189
3237
  __isSuspense?: never;
3190
3238
  } & vue.ComponentOptionsBase<Readonly<DisabledOptions & TitleOptions & {
3191
3239
  subtitle?: string;
3240
+ header?: snail_view.CSSClassOptions;
3241
+ body?: snail_view.CSSClassOptions;
3192
3242
  } & {
3193
3243
  status?: FoldStatus;
3194
3244
  }> & Readonly<{
@@ -3199,9 +3249,17 @@ declare const components: {
3199
3249
  "update:status": (value: FoldStatus) => any;
3200
3250
  }, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
3201
3251
  $slots: {
3202
- header?: (props: {}) => any;
3252
+ header?: (props: {
3253
+ getStatus(): FoldStatus;
3254
+ setStatus(status: FoldStatus): void;
3255
+ toggle(): FoldStatus;
3256
+ }) => any;
3203
3257
  } & {
3204
- default?: (props: {}) => any;
3258
+ default?: (props: {
3259
+ getStatus(): FoldStatus;
3260
+ setStatus(status: FoldStatus): void;
3261
+ toggle(): FoldStatus;
3262
+ }) => any;
3205
3263
  };
3206
3264
  });
3207
3265
  Motion: {
@@ -3612,4 +3670,4 @@ declare const components: {
3612
3670
  };
3613
3671
 
3614
3672
  export { MOTION, components, getBuiltinIcon, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };
3615
- export type { ActionEvents, ActionItem, ActionItemsOptions, ActionOptions, ButtonOptions, ChangeEvents, ChooseEvents, ChooseItem, ChooseOptions, ClickEvents, CloseEvents, ComponentBindOptions, ComponentOptions, ConfirmAreaOptions, ConfirmOptions, DatePickerDayItem, DatePickerMonthItem, DatePickerOptions, DatePickerYearItem, DatetimeDisabledOptions, DatetimePickerEvents, DeleteEvents, DialogHandle, DialogOptions, DisabledOptions, DragVerifyInfo, DragVerifyOptions, ElasticEvents, ElasticExpose, ElasticOptions, ElasticSpringStatus, EmitterType, EmptyOptions, EventsType, FlexOptions, 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, ScrollExpose, ScrollOptions, 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 };
3673
+ export type { ActionEvents, ActionItem, ActionItemsOptions, ActionOptions, ButtonOptions, ChangeEvents, ChooseEvents, ChooseItem, ChooseOptions, ClickEvents, CloseEvents, ComponentBindOptions, ComponentOptions, ConfirmAreaOptions, ConfirmOptions, DatePickerDayItem, DatePickerMonthItem, DatePickerOptions, DatePickerYearItem, DatetimeDisabledOptions, DatetimePickerEvents, DeleteEvents, DialogHandle, DialogOptions, DialogWrapperHandle, DisabledOptions, DragVerifyInfo, DragVerifyOptions, ElasticEvents, ElasticExpose, ElasticOptions, ElasticSpringStatus, EmitterType, EmptyOptions, EventsType, FlexOptions, FoldEvents, FoldOptions, FoldSlotHandle, 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, ScrollExpose, ScrollOptions, 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 };