snail.vue 2.0.31 → 2.0.33

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,5 +1,5 @@
1
1
  import * as snail_core from 'snail.core';
2
- import { IAsyncScope, IScope, DateFormat, DateValue, TimeValue, RunResult } from 'snail.core';
2
+ import { IAsyncScope, IScope, ScopeOptions, DateFormat, DateValue, TimeValue, RunResult } from 'snail.core';
3
3
  import * as vue from 'vue';
4
4
  import { Component, ShallowRef, Ref, WatchSource, App } from 'vue';
5
5
  import * as snail_view from 'snail.view';
@@ -913,13 +913,15 @@ interface IPopupManager {
913
913
 
914
914
  /**
915
915
  * 使用【弹窗管理器】
916
+ * @param options 配置选项
916
917
  * @returns 全新的【弹窗管理器】实例+作用域对象
917
918
  */
918
- declare function usePopup(): IPopupManager & IScope;
919
+ declare function usePopup(options?: Pick<ScopeOptions, "global">): IPopupManager & IScope;
919
920
 
920
921
  /**
921
922
  * 滚动选择器 相关实体
922
923
  */
924
+
923
925
  /**
924
926
  * 滚动选择器 组件配置选项
925
927
  */
@@ -934,6 +936,15 @@ type ScrollPickerOptions = {
934
936
  */
935
937
  value?: string;
936
938
  };
939
+ /**
940
+ * 滚动选择器 组件弹窗时配置选项
941
+ */
942
+ type ScrollPickerPopupOptions = TitleOptions & {
943
+ /**
944
+ * 禁用【清空】按钮
945
+ */
946
+ clearDisabled?: boolean;
947
+ };
937
948
  /**
938
949
  * 滚动选择器的一个滚动选项
939
950
  */
@@ -944,9 +955,9 @@ type ScrollPickItem = {
944
955
  */
945
956
  code: string;
946
957
  /**
947
- * 选项文本
958
+ * 选项名称
948
959
  */
949
- text: string;
960
+ name: string;
950
961
  /**
951
962
  * 是否禁用
952
963
  * - 为true,表示禁用此选项,不能被选中
@@ -1140,7 +1151,7 @@ interface IPickerManager {
1140
1151
  * @param options
1141
1152
  * @returns 异步任务,可销毁选择组件;可接受组件选择值
1142
1153
  */
1143
- showScroll(options: ScrollPickerOptions): IAsyncScope<string>;
1154
+ showScroll(options: ScrollPickerOptions & ScrollPickerPopupOptions): IAsyncScope<string>;
1144
1155
  }
1145
1156
  /**
1146
1157
  * 选择器弹窗配置选项
@@ -1180,6 +1191,106 @@ type PickerExtend = {
1180
1191
  picker: IPickerManager;
1181
1192
  };
1182
1193
 
1194
+ /**
1195
+ * 可操作项组件 的配置选项
1196
+ * - disabled 为true时,不响应操作项触发
1197
+ */
1198
+ type ActionOptions = DisabledOptions & ValueOptions<string> & {
1199
+ /**
1200
+ * 可用操作项
1201
+ */
1202
+ actions: ActionItem[];
1203
+ /**
1204
+ * 操作项触发模式
1205
+ * - icon (默认值)点击图标弹出操作项
1206
+ * - press 长摁直接弹出操作项,此时隐藏触发icon
1207
+ * - whole 整体触发:action组件点击时弹出操作项
1208
+ */
1209
+ mode?: "icon" | "whole" | "press";
1210
+ /**
1211
+ * 触发图标相关配置
1212
+ * - hover (默认值)鼠标移入显示一个触发图标,点击图标弹出操作项
1213
+ * - always 始终显示一个触发图标,点击图标弹出操作项
1214
+ */
1215
+ icon?: "hover" | "always";
1216
+ /**
1217
+ * 选择操作项时的弹出方式
1218
+ * - follow 跟随模式:跟随弹窗效果
1219
+ * - picker 选择器模式:滚动选择器效果
1220
+ */
1221
+ popup?: "follow" | "picker";
1222
+ /**
1223
+ * 跟随弹窗配置
1224
+ * - mode 为 `follow`时生效
1225
+ */
1226
+ follow?: Pick<FollowPositionOptions, "followX" | "followY" | "spaceX" | "spaceY">;
1227
+ };
1228
+ /**
1229
+ * 操作项集合 组件渲染配置选项
1230
+ */
1231
+ type ActionItemsOptions = {
1232
+ /**
1233
+ * 展示模式
1234
+ * - horizontal 水平展示
1235
+ * - vertical 垂直展示
1236
+ */
1237
+ mode: "horizontal" | "vertical";
1238
+ /**
1239
+ * 要渲染的操作项
1240
+ */
1241
+ actions: ActionItem[];
1242
+ };
1243
+ /**
1244
+ * 一个操作项的配置
1245
+ */
1246
+ type ActionItem = {
1247
+ /**
1248
+ * 操作项编码
1249
+ * - 确保唯一
1250
+ */
1251
+ code: string;
1252
+ /**
1253
+ * 操作项名称
1254
+ * - 确保唯一
1255
+ */
1256
+ name: string;
1257
+ /**
1258
+ * 操作项颜色
1259
+ */
1260
+ color?: string;
1261
+ /**
1262
+ * 操作项移入时颜色
1263
+ */
1264
+ hoverColor?: string;
1265
+ /**
1266
+ * 操作项图标
1267
+ */
1268
+ icon?: Pick<IconOptions, "type" | "size" | "title">;
1269
+ };
1270
+ /**
1271
+ * 可操作向组件 插槽句柄
1272
+ */
1273
+ type ActionSlotHandle = {
1274
+ /**
1275
+ * 操作项是否激活显示
1276
+ */
1277
+ isActived(): boolean;
1278
+ /**
1279
+ * 触发操作项显示
1280
+ */
1281
+ trigger(): void;
1282
+ };
1283
+ /**
1284
+ * 可操作项组件 的事件
1285
+ */
1286
+ type ActionEvents = {
1287
+ /**
1288
+ * 操作项激活时
1289
+ * @param code 操作项的code
1290
+ */
1291
+ trigger: [code: string];
1292
+ };
1293
+
1183
1294
  /**
1184
1295
  * 树形 数据相关的基础实体结构
1185
1296
  * 1、封装一些基础实体;如树形节点数据结构
@@ -2565,94 +2676,6 @@ type ButtonOptions = TitleOptions & {
2565
2676
  type: "primary" | "default" | "link";
2566
2677
  };
2567
2678
 
2568
- /**
2569
- * 可操作项组件 的配置选项
2570
- * - disabled 为true时,不响应操作项触发
2571
- */
2572
- type ActionOptions = DisabledOptions & {
2573
- /**
2574
- * 触发方式
2575
- * - always :始终显示一个触发图标,点击图标弹出操作项
2576
- * - hover:鼠标移入显示一个触发图标,点击图标弹出操作项
2577
- * - long-press:长摁直接弹出操作项
2578
- */
2579
- trigger: "always" | "hover" | "long-press";
2580
- /**
2581
- * 显示模式
2582
- * - popup:弹出显示操作项
2583
- * - inline:内联显示操作项
2584
- */
2585
- /**
2586
- * 可用操作项
2587
- */
2588
- actions: ActionItem[];
2589
- } & Pick<FollowPositionOptions, "followX" | "followY" | "spaceX" | "spaceY">;
2590
- /**
2591
- * 操作项集合 组件渲染配置选项
2592
- */
2593
- type ActionItemsOptions = {
2594
- /**
2595
- * 展示模式
2596
- * - horizontal 水平展示
2597
- * - vertical 垂直展示
2598
- */
2599
- mode: "horizontal" | "vertical";
2600
- /**
2601
- * 要渲染的操作项
2602
- */
2603
- actions: ActionItem[];
2604
- };
2605
- /**
2606
- * 一个操作项的配置
2607
- */
2608
- type ActionItem = {
2609
- /**
2610
- * 操作项编码
2611
- * - 确保唯一
2612
- */
2613
- code: string;
2614
- /**
2615
- * 操作项名称
2616
- * - 确保唯一
2617
- */
2618
- name: string;
2619
- /**
2620
- * 操作项颜色
2621
- */
2622
- color?: string;
2623
- /**
2624
- * 操作项移入时颜色
2625
- */
2626
- hoverColor?: string;
2627
- /**
2628
- * 操作项图标
2629
- */
2630
- icon?: Pick<IconOptions, "type" | "size" | "title">;
2631
- };
2632
- /**
2633
- * 可操作向组件 插槽句柄
2634
- */
2635
- type ActionSlotHandle = {
2636
- /**
2637
- * 操作项是否激活显示
2638
- */
2639
- isActived(): boolean;
2640
- /**
2641
- * 触发操作项显示
2642
- */
2643
- trigger(): void;
2644
- };
2645
- /**
2646
- * 可操作项组件 的事件
2647
- */
2648
- type ActionEvents = {
2649
- /**
2650
- * 操作项激活时
2651
- * @param code 操作项的code
2652
- */
2653
- trigger: [code: string];
2654
- };
2655
-
2656
2679
  /**
2657
2680
  * 输入框配置选项
2658
2681
  * - title 将作为 输入框标题区域文本;不传入则不展示 标题区域,仅展示输入框
@@ -2948,46 +2971,12 @@ declare const MOTION: Readonly<{
2948
2971
 
2949
2972
  /**
2950
2973
  * 使用选择器
2974
+ * @param options 配置选项
2951
2975
  * @returns 选择器实例+作用域对象
2952
2976
  */
2953
- declare function usePicker(): IPickerManager & IScope;
2977
+ declare function usePicker(options?: Pick<ScopeOptions, "global">): IPickerManager & IScope;
2954
2978
 
2955
2979
  declare const components: {
2956
- Action: {
2957
- new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ActionOptions> & Readonly<{
2958
- onTrigger?: (code: string) => any;
2959
- }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2960
- trigger: (code: string) => any;
2961
- }, vue.PublicProps, {}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
2962
- P: {};
2963
- B: {};
2964
- D: {};
2965
- C: {};
2966
- M: {};
2967
- Defaults: {};
2968
- }, Readonly<ActionOptions> & Readonly<{
2969
- onTrigger?: (code: string) => any;
2970
- }>, {}, {}, {}, {}, {}>;
2971
- __isFragment?: never;
2972
- __isTeleport?: never;
2973
- __isSuspense?: never;
2974
- } & vue.ComponentOptionsBase<Readonly<ActionOptions> & Readonly<{
2975
- onTrigger?: (code: string) => any;
2976
- }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
2977
- trigger: (code: string) => any;
2978
- }, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
2979
- $slots: {
2980
- default?: (props: {
2981
- isActived(): boolean;
2982
- trigger(): void;
2983
- }) => any;
2984
- } & {
2985
- trigger?: (props: {
2986
- isActived(): boolean;
2987
- trigger(): void;
2988
- }) => any;
2989
- };
2990
- });
2991
2980
  Button: {
2992
2981
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ButtonOptions> & Readonly<{
2993
2982
  onClick?: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
@@ -3745,6 +3734,41 @@ declare const components: {
3745
3734
  default?: (props: {}) => any;
3746
3735
  };
3747
3736
  });
3737
+ Action: {
3738
+ new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ActionOptions> & Readonly<{
3739
+ onTrigger?: (code: string) => any;
3740
+ }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3741
+ trigger: (code: string) => any;
3742
+ }, vue.PublicProps, {}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
3743
+ P: {};
3744
+ B: {};
3745
+ D: {};
3746
+ C: {};
3747
+ M: {};
3748
+ Defaults: {};
3749
+ }, Readonly<ActionOptions> & Readonly<{
3750
+ onTrigger?: (code: string) => any;
3751
+ }>, {}, {}, {}, {}, {}>;
3752
+ __isFragment?: never;
3753
+ __isTeleport?: never;
3754
+ __isSuspense?: never;
3755
+ } & vue.ComponentOptionsBase<Readonly<ActionOptions> & Readonly<{
3756
+ onTrigger?: (code: string) => any;
3757
+ }>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3758
+ trigger: (code: string) => any;
3759
+ }, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
3760
+ $slots: {
3761
+ default?: (props: {
3762
+ isActived(): boolean;
3763
+ trigger(): void;
3764
+ }) => any;
3765
+ } & {
3766
+ trigger?: (props: {
3767
+ isActived(): boolean;
3768
+ trigger(): void;
3769
+ }) => any;
3770
+ };
3771
+ });
3748
3772
  FlashNumber: vue.DefineComponent<{
3749
3773
  value?: string | number;
3750
3774
  }, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{
@@ -3775,11 +3799,15 @@ declare const components: {
3775
3799
  }> & Readonly<{
3776
3800
  onChange?: (newValue: string, oldValue?: string) => any;
3777
3801
  }>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
3778
- ScrollPicker: vue.DefineComponent<ScrollPickerOptions & TitleOptions & Partial<PopupHandle<string> & {
3802
+ ScrollPicker: vue.DefineComponent<ScrollPickerOptions & TitleOptions & {
3803
+ clearDisabled?: boolean;
3804
+ } & Partial<PopupHandle<string> & {
3779
3805
  onBeforeClose(fn: (data?: string) => false | undefined | Promise<false | undefined>): void;
3780
3806
  } & PopupStatusOptions & PickerExtend>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
3781
3807
  select: (code: string) => any;
3782
- }, string, vue.PublicProps, Readonly<ScrollPickerOptions & TitleOptions & Partial<PopupHandle<string> & {
3808
+ }, string, vue.PublicProps, Readonly<ScrollPickerOptions & TitleOptions & {
3809
+ clearDisabled?: boolean;
3810
+ } & Partial<PopupHandle<string> & {
3783
3811
  onBeforeClose(fn: (data?: string) => false | undefined | Promise<false | undefined>): void;
3784
3812
  } & PopupStatusOptions & PickerExtend>> & Readonly<{
3785
3813
  onSelect?: (code: string) => any;
@@ -3847,4 +3875,4 @@ declare const components: {
3847
3875
  };
3848
3876
 
3849
3877
  export { MOTION, components, getBuiltinIcon, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };
3850
- export type { ActionEvents, ActionItem, ActionItemsOptions, ActionOptions, ActionSlotHandle, 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, ScrollPickItem, ScrollPickerEvents, ScrollPickerOptions, 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 };
3878
+ export type { ActionEvents, ActionItem, ActionItemsOptions, ActionOptions, ActionSlotHandle, 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, ScrollPickItem, ScrollPickerEvents, ScrollPickerOptions, ScrollPickerPopupOptions, 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 };