@sdata/web-vue 3.19.0 → 3.21.0

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.
Files changed (75) hide show
  1. package/dist/sd.css +11 -0
  2. package/dist/sd.min.css +1 -1
  3. package/es/basic-crud-table/basic-crud-table.vue_vue_type_script_setup_true_lang.js +6 -4
  4. package/es/basic-crud-table/types.d.ts +2 -0
  5. package/es/card/card.d.ts +22 -0
  6. package/es/card/card.js +11 -2
  7. package/es/card/index.d.ts +39 -0
  8. package/es/cascader/base-cascader-panel.d.ts +3 -0
  9. package/es/cascader/base-cascader-panel.js +2 -1
  10. package/es/cascader/cascader-search-panel.d.ts +3 -0
  11. package/es/cascader/cascader-search-panel.js +2 -1
  12. package/es/cascader/cascader.vue.d.ts +20 -8
  13. package/es/cascader/cascader.vue_vue_type_script_setup_true_lang.js +42 -4
  14. package/es/cascader/index.d.ts +1 -1
  15. package/es/cascader/types.d.ts +13 -0
  16. package/es/color-picker/color-picker.js +13 -1
  17. package/es/color-picker/index.d.ts +1 -1
  18. package/es/color-picker/interface.d.ts +10 -0
  19. package/es/config-provider/config-provider.vue.d.ts +67 -0
  20. package/es/config-provider/config-provider.vue_vue_type_script_setup_true_lang.js +67 -1
  21. package/es/config-provider/context.d.ts +12 -0
  22. package/es/config-provider/index.d.ts +99 -0
  23. package/es/date-picker/index.d.ts +12 -1
  24. package/es/date-picker/interface.d.ts +19 -0
  25. package/es/date-picker/picker.vue.d.ts +23 -13
  26. package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +23 -2
  27. package/es/date-picker/range-picker.vue.d.ts +25 -14
  28. package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +21 -2
  29. package/es/drawer/drawer.vue_vue_type_script_setup_true_lang.js +1 -1
  30. package/es/index.css +11 -0
  31. package/es/index.d.ts +2 -2
  32. package/es/list/index.d.ts +9 -0
  33. package/es/list/list.d.ts +7 -0
  34. package/es/list/list.js +8 -2
  35. package/es/modal/modal.vue_vue_type_script_setup_true_lang.js +1 -1
  36. package/es/qr-code/index.d.ts +18 -12
  37. package/es/qr-code/qr-code.vue.d.ts +5 -3
  38. package/es/qr-code/qr-code.vue_vue_type_script_setup_true_lang.js +5 -2
  39. package/es/select/index.d.ts +10 -1
  40. package/es/select/interface.d.ts +10 -0
  41. package/es/select/select-dropdown.vue.d.ts +3 -0
  42. package/es/select/select-dropdown.vue_vue_type_script_setup_true_lang.js +2 -4
  43. package/es/select/select.d.ts +7 -0
  44. package/es/select/select.js +30 -2
  45. package/es/sender/index.d.ts +1 -1
  46. package/es/sender/sender.vue_vue_type_script_setup_true_lang.js +117 -93
  47. package/es/sender/style/index.css +11 -0
  48. package/es/sender/style/index.scss +13 -0
  49. package/es/sender/types.d.ts +60 -3
  50. package/es/sender/use-speech.d.ts +12 -2
  51. package/es/sender/use-speech.js +293 -75
  52. package/es/spin/index.d.ts +15 -0
  53. package/es/spin/spin.d.ts +9 -0
  54. package/es/spin/spin.js +72 -10
  55. package/es/table/index.d.ts +51 -6
  56. package/es/table/interface.d.ts +3 -0
  57. package/es/table/table.d.ts +22 -3
  58. package/es/table/table.js +7 -2
  59. package/es/time-picker/index.d.ts +12 -1
  60. package/es/time-picker/interface.d.ts +10 -0
  61. package/es/time-picker/time-picker.vue.d.ts +15 -4
  62. package/es/time-picker/time-picker.vue_vue_type_script_setup_true_lang.js +22 -2
  63. package/es/timeline/index.d.ts +39 -0
  64. package/es/timeline/timeline.d.ts +22 -0
  65. package/es/timeline/timeline.js +11 -2
  66. package/es/toolbar/toolbar.vue_vue_type_script_setup_true_lang.js +9 -5
  67. package/es/toolbar/types.d.ts +2 -0
  68. package/es/tree-select/index.d.ts +1 -1
  69. package/es/tree-select/interface.d.ts +10 -0
  70. package/es/tree-select/tree-select.vue.d.ts +17 -1
  71. package/es/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +27 -2
  72. package/json/vetur-attributes.json +63 -3
  73. package/json/vetur-tags.json +20 -0
  74. package/json/web-types.json +163 -3
  75. package/package.json +1 -1
@@ -25,6 +25,7 @@ var basic_crud_table_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
25
25
  columns: {},
26
26
  tableProps: { default: () => ({}) },
27
27
  toolbarProps: { default: () => ({}) },
28
+ spinProps: {},
28
29
  modalProps: { default: () => ({}) },
29
30
  modalFormProps: { default: () => ({ schemas: [] }) },
30
31
  fullHeight: {
@@ -121,6 +122,7 @@ var basic_crud_table_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
121
122
  const modalVisible = useModel(__props, "modalVisible");
122
123
  const slots = useSlots();
123
124
  const configProvider = inject(configProviderInjectionKey, void 0);
125
+ const resolvedSpinProps = computed(() => _objectSpread2(_objectSpread2({}, configProvider === null || configProvider === void 0 ? void 0 : configProvider.basicCrudTableSpinProps), __props.spinProps));
124
126
  const toolbarRef = shallowRef();
125
127
  const modalRef = shallowRef();
126
128
  const current = shallowRef(resolvePaginationNumber("current", "defaultCurrent", 1));
@@ -431,10 +433,10 @@ var basic_crud_table_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
431
433
  })
432
434
  ]), 1040, ["modelValue", "loading"])) : createCommentVNode("", true)
433
435
  ], 2)) : createCommentVNode("", true),
434
- createVNode(unref(Spin), {
436
+ createVNode(unref(Spin), mergeProps(resolvedSpinProps.value, {
435
437
  loading: loading.value,
436
- class: normalizeClass(`${unref(prefixCls)}-body`)
437
- }, {
438
+ class: `${unref(prefixCls)}-body`
439
+ }), {
438
440
  default: withCtx(() => [createVNode(unref(Table), mergeProps(__props.tableProps, {
439
441
  scroll: resolvedTableScroll.value,
440
442
  columns: resolvedColumns.value,
@@ -488,7 +490,7 @@ var basic_crud_table_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
488
490
  "pagination"
489
491
  ])]),
490
492
  _: 3
491
- }, 8, ["loading", "class"]),
493
+ }, 16, ["loading", "class"]),
492
494
  createVNode(basic_crud_modal_default, {
493
495
  ref_key: "modalRef",
494
496
  ref: modalRef,
@@ -1,6 +1,7 @@
1
1
  import type { UnknownRecord } from 'type-fest';
2
2
  import type { JsonFormProps } from '../json-form';
3
3
  import type ModalComponent from '../modal/modal.vue';
4
+ import type { SpinProps } from '../spin';
4
5
  import type { TableColumnData, TableData, TableInstance } from '../table';
5
6
  import type { ToolbarProps } from '../toolbar';
6
7
  export type MaybePromise<T> = T | Promise<T>;
@@ -19,6 +20,7 @@ export interface BasicCrudTableProps<TRow extends TableData = TableData> {
19
20
  columns: TableColumnData[];
20
21
  tableProps?: BasicCrudTableTableProps;
21
22
  toolbarProps?: BasicCrudTableToolbarProps;
23
+ spinProps?: SpinProps;
22
24
  modalProps?: BasicCrudTableModalProps;
23
25
  modalFormProps?: BasicCrudTableModalFormProps;
24
26
  fullHeight?: boolean;
package/es/card/card.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { PropType, CSSProperties } from 'vue';
2
+ import type { SpinProps } from '../spin';
2
3
  import { type ScrollbarProps } from '../scrollbar';
3
4
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
5
  bordered: {
@@ -9,6 +10,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
9
10
  type: BooleanConstructor;
10
11
  default: boolean;
11
12
  };
13
+ spinProps: {
14
+ type: PropType<SpinProps>;
15
+ };
12
16
  hoverable: {
13
17
  type: BooleanConstructor;
14
18
  default: boolean;
@@ -47,6 +51,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
47
51
  type: BooleanConstructor;
48
52
  default: boolean;
49
53
  };
54
+ spinProps: {
55
+ type: PropType<SpinProps>;
56
+ };
50
57
  hoverable: {
51
58
  type: BooleanConstructor;
52
59
  default: boolean;
@@ -91,6 +98,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
91
98
  type: NumberConstructor;
92
99
  };
93
100
  loading: BooleanConstructor;
101
+ delay: {
102
+ type: (BooleanConstructor | NumberConstructor)[];
103
+ default: boolean;
104
+ };
94
105
  dot: BooleanConstructor;
95
106
  tip: StringConstructor;
96
107
  hideIcon: {
@@ -100,6 +111,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
100
111
  }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
101
112
  dot: boolean;
102
113
  loading: boolean;
114
+ delay: number | boolean;
103
115
  hideIcon: boolean;
104
116
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
105
117
  P: {};
@@ -113,6 +125,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
113
125
  type: NumberConstructor;
114
126
  };
115
127
  loading: BooleanConstructor;
128
+ delay: {
129
+ type: (BooleanConstructor | NumberConstructor)[];
130
+ default: boolean;
131
+ };
116
132
  dot: BooleanConstructor;
117
133
  tip: StringConstructor;
118
134
  hideIcon: {
@@ -122,6 +138,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
122
138
  }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
123
139
  dot: boolean;
124
140
  loading: boolean;
141
+ delay: number | boolean;
125
142
  hideIcon: boolean;
126
143
  }>;
127
144
  __isFragment?: never;
@@ -132,6 +149,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
132
149
  type: NumberConstructor;
133
150
  };
134
151
  loading: BooleanConstructor;
152
+ delay: {
153
+ type: (BooleanConstructor | NumberConstructor)[];
154
+ default: boolean;
155
+ };
135
156
  dot: BooleanConstructor;
136
157
  tip: StringConstructor;
137
158
  hideIcon: {
@@ -141,6 +162,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
141
162
  }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
142
163
  dot: boolean;
143
164
  loading: boolean;
165
+ delay: number | boolean;
144
166
  hideIcon: boolean;
145
167
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
146
168
  install: (app: import("vue").App, options?: import("../_utils/types").SDOptions) => void;
package/es/card/card.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { configProviderInjectionKey } from "../config-provider/context.js";
2
+ import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
1
3
  import { getPrefixCls } from "../_utils/global-config.js";
2
4
  import { getAllElements } from "../_utils/vue-utils.js";
3
5
  import { useSize } from "../_hooks/use-size.js";
@@ -5,7 +7,7 @@ import { useScrollbar } from "../_hooks/use-scrollbar.js";
5
7
  import Scrollbar from "../scrollbar/index.js";
6
8
  import Spin from "../spin/index.js";
7
9
  import { cardInjectionKey } from "./context.js";
8
- import { computed, createVNode, defineComponent, mergeProps, provide, reactive, toRef, toRefs } from "vue";
10
+ import { computed, createVNode, defineComponent, inject, mergeProps, provide, reactive, toRef, toRefs } from "vue";
9
11
  //#region components/card/card.tsx
10
12
  var card_default = /* @__PURE__ */ defineComponent({
11
13
  name: "Card",
@@ -31,6 +33,11 @@ var card_default = /* @__PURE__ */ defineComponent({
31
33
  default: false
32
34
  },
33
35
  /**
36
+ * @zh 传递给加载中 Spin 的属性
37
+ * @en Props passed to the loading Spin
38
+ */
39
+ spinProps: { type: Object },
40
+ /**
34
41
  * @zh 是否可悬浮
35
42
  * @en Can be hovered
36
43
  */
@@ -110,6 +117,8 @@ var card_default = /* @__PURE__ */ defineComponent({
110
117
  * @slot actions
111
118
  */
112
119
  setup(props, { slots }) {
120
+ const configCtx = inject(configProviderInjectionKey, void 0);
121
+ const mergedSpinProps = computed(() => _objectSpread2(_objectSpread2({}, configCtx === null || configCtx === void 0 ? void 0 : configCtx.cardSpinProps), props.spinProps));
113
122
  const prefixCls = getPrefixCls("card");
114
123
  const { size } = toRefs(props);
115
124
  const { mergedSize: _mergedSize } = useSize(size);
@@ -161,7 +170,7 @@ var card_default = /* @__PURE__ */ defineComponent({
161
170
  createVNode("div", {
162
171
  "class": bodyCls.value,
163
172
  "style": props.bodyStyle
164
- }, [props.loading ? createVNode(Spin, null, null) : scrollEnabled.value ? createVNode(Scrollbar, mergeProps(scrollbarProps.value, { "outerClass": `${prefixCls}-body-scrollbar` }), { default: () => {
173
+ }, [props.loading ? createVNode(Spin, mergedSpinProps.value, null) : scrollEnabled.value ? createVNode(Scrollbar, mergeProps(scrollbarProps.value, { "outerClass": `${prefixCls}-body-scrollbar` }), { default: () => {
165
174
  var _slots$default;
166
175
  return [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
167
176
  } }) : (_slots$default2 = slots.default) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots), slots.actions && !cardContext.hasMeta && renderActions(slots.actions())])
@@ -13,6 +13,9 @@ declare const Card: {
13
13
  type: BooleanConstructor;
14
14
  default: boolean;
15
15
  };
16
+ spinProps: {
17
+ type: import("vue").PropType<import("../index.ts").SpinProps>;
18
+ };
16
19
  hoverable: {
17
20
  type: BooleanConstructor;
18
21
  default: boolean;
@@ -57,6 +60,10 @@ declare const Card: {
57
60
  type: NumberConstructor;
58
61
  };
59
62
  loading: BooleanConstructor;
63
+ delay: {
64
+ type: (BooleanConstructor | NumberConstructor)[];
65
+ default: boolean;
66
+ };
60
67
  dot: BooleanConstructor;
61
68
  tip: StringConstructor;
62
69
  hideIcon: {
@@ -66,6 +73,7 @@ declare const Card: {
66
73
  }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
67
74
  dot: boolean;
68
75
  loading: boolean;
76
+ delay: number | boolean;
69
77
  hideIcon: boolean;
70
78
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
71
79
  P: {};
@@ -79,6 +87,10 @@ declare const Card: {
79
87
  type: NumberConstructor;
80
88
  };
81
89
  loading: BooleanConstructor;
90
+ delay: {
91
+ type: (BooleanConstructor | NumberConstructor)[];
92
+ default: boolean;
93
+ };
82
94
  dot: BooleanConstructor;
83
95
  tip: StringConstructor;
84
96
  hideIcon: {
@@ -88,6 +100,7 @@ declare const Card: {
88
100
  }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
89
101
  dot: boolean;
90
102
  loading: boolean;
103
+ delay: number | boolean;
91
104
  hideIcon: boolean;
92
105
  }>;
93
106
  __isFragment?: never;
@@ -98,6 +111,10 @@ declare const Card: {
98
111
  type: NumberConstructor;
99
112
  };
100
113
  loading: BooleanConstructor;
114
+ delay: {
115
+ type: (BooleanConstructor | NumberConstructor)[];
116
+ default: boolean;
117
+ };
101
118
  dot: BooleanConstructor;
102
119
  tip: StringConstructor;
103
120
  hideIcon: {
@@ -107,6 +124,7 @@ declare const Card: {
107
124
  }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
108
125
  dot: boolean;
109
126
  loading: boolean;
127
+ delay: number | boolean;
110
128
  hideIcon: boolean;
111
129
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
112
130
  install: (app: App, options?: SDOptions) => void;
@@ -420,6 +438,9 @@ declare const Card: {
420
438
  type: BooleanConstructor;
421
439
  default: boolean;
422
440
  };
441
+ spinProps: {
442
+ type: import("vue").PropType<import("../index.ts").SpinProps>;
443
+ };
423
444
  hoverable: {
424
445
  type: BooleanConstructor;
425
446
  default: boolean;
@@ -470,6 +491,9 @@ declare const Card: {
470
491
  type: BooleanConstructor;
471
492
  default: boolean;
472
493
  };
494
+ spinProps: {
495
+ type: import("vue").PropType<import("../index.ts").SpinProps>;
496
+ };
473
497
  hoverable: {
474
498
  type: BooleanConstructor;
475
499
  default: boolean;
@@ -514,6 +538,10 @@ declare const Card: {
514
538
  type: NumberConstructor;
515
539
  };
516
540
  loading: BooleanConstructor;
541
+ delay: {
542
+ type: (BooleanConstructor | NumberConstructor)[];
543
+ default: boolean;
544
+ };
517
545
  dot: BooleanConstructor;
518
546
  tip: StringConstructor;
519
547
  hideIcon: {
@@ -523,6 +551,7 @@ declare const Card: {
523
551
  }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
524
552
  dot: boolean;
525
553
  loading: boolean;
554
+ delay: number | boolean;
526
555
  hideIcon: boolean;
527
556
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
528
557
  P: {};
@@ -536,6 +565,10 @@ declare const Card: {
536
565
  type: NumberConstructor;
537
566
  };
538
567
  loading: BooleanConstructor;
568
+ delay: {
569
+ type: (BooleanConstructor | NumberConstructor)[];
570
+ default: boolean;
571
+ };
539
572
  dot: BooleanConstructor;
540
573
  tip: StringConstructor;
541
574
  hideIcon: {
@@ -545,6 +578,7 @@ declare const Card: {
545
578
  }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
546
579
  dot: boolean;
547
580
  loading: boolean;
581
+ delay: number | boolean;
548
582
  hideIcon: boolean;
549
583
  }>;
550
584
  __isFragment?: never;
@@ -555,6 +589,10 @@ declare const Card: {
555
589
  type: NumberConstructor;
556
590
  };
557
591
  loading: BooleanConstructor;
592
+ delay: {
593
+ type: (BooleanConstructor | NumberConstructor)[];
594
+ default: boolean;
595
+ };
558
596
  dot: BooleanConstructor;
559
597
  tip: StringConstructor;
560
598
  hideIcon: {
@@ -564,6 +602,7 @@ declare const Card: {
564
602
  }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
565
603
  dot: boolean;
566
604
  loading: boolean;
605
+ delay: number | boolean;
567
606
  hideIcon: boolean;
568
607
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
569
608
  install: (app: App, options?: SDOptions) => void;
@@ -1,4 +1,5 @@
1
1
  import { PropType } from 'vue';
2
+ import type { SpinProps } from '../spin';
2
3
  import { VirtualListProps } from '../_components/virtual-list/interface';
3
4
  import { CascaderOptionInfo } from './interface';
4
5
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -18,6 +19,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
18
19
  multiple: BooleanConstructor;
19
20
  checkStrictly: BooleanConstructor;
20
21
  loading: BooleanConstructor;
22
+ spinProps: PropType<SpinProps>;
21
23
  dropdown: BooleanConstructor;
22
24
  virtualListProps: {
23
25
  type: PropType<VirtualListProps>;
@@ -39,6 +41,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
39
41
  multiple: BooleanConstructor;
40
42
  checkStrictly: BooleanConstructor;
41
43
  loading: BooleanConstructor;
44
+ spinProps: PropType<SpinProps>;
42
45
  dropdown: BooleanConstructor;
43
46
  virtualListProps: {
44
47
  type: PropType<VirtualListProps>;
@@ -27,6 +27,7 @@ var base_cascader_panel_default = /* @__PURE__ */ defineComponent({
27
27
  multiple: Boolean,
28
28
  checkStrictly: Boolean,
29
29
  loading: Boolean,
30
+ spinProps: Object,
30
31
  dropdown: Boolean,
31
32
  virtualListProps: { type: Object }
32
33
  },
@@ -41,7 +42,7 @@ var base_cascader_panel_default = /* @__PURE__ */ defineComponent({
41
42
  if (props.loading) return createVNode("div", {
42
43
  "key": "panel-column-loading",
43
44
  "class": [`${prefixCls}-panel-column`, `${prefixCls}-panel-column-loading`]
44
- }, [createVNode(Spin, null, null)]);
45
+ }, [createVNode(Spin, props.spinProps, null)]);
45
46
  if (props.displayColumns.length === 0) return createVNode("div", {
46
47
  "key": "panel-column-empty",
47
48
  "class": `${prefixCls}-panel-column`
@@ -1,4 +1,5 @@
1
1
  import { PropType } from 'vue';
2
+ import type { SpinProps } from '../spin';
2
3
  import { CascaderOptionInfo } from './interface';
3
4
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
5
  options: {
@@ -6,6 +7,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6
7
  required: true;
7
8
  };
8
9
  loading: BooleanConstructor;
10
+ spinProps: PropType<SpinProps>;
9
11
  activeKey: StringConstructor;
10
12
  multiple: BooleanConstructor;
11
13
  checkStrictly: BooleanConstructor;
@@ -16,6 +18,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
16
18
  required: true;
17
19
  };
18
20
  loading: BooleanConstructor;
21
+ spinProps: PropType<SpinProps>;
19
22
  activeKey: StringConstructor;
20
23
  multiple: BooleanConstructor;
21
24
  checkStrictly: BooleanConstructor;
@@ -17,6 +17,7 @@ var cascader_search_panel_default = /* @__PURE__ */ defineComponent({
17
17
  required: true
18
18
  },
19
19
  loading: Boolean,
20
+ spinProps: Object,
20
21
  activeKey: String,
21
22
  multiple: Boolean,
22
23
  checkStrictly: Boolean,
@@ -26,7 +27,7 @@ var cascader_search_panel_default = /* @__PURE__ */ defineComponent({
26
27
  const prefixCls = getPrefixCls("cascader");
27
28
  const configCtx = inject(configProviderInjectionKey, void 0);
28
29
  const renderContent = () => {
29
- if (props.loading) return createVNode(Spin, null, null);
30
+ if (props.loading) return createVNode(Spin, props.spinProps, null);
30
31
  if (props.options.length === 0) {
31
32
  var _ref, _slots$empty, _slots$empty2, _configCtx$slots, _configCtx$slots$empt;
32
33
  return createVNode("div", { "class": `${prefixCls}-list-empty` }, [(_ref = (_slots$empty = (_slots$empty2 = slots.empty) === null || _slots$empty2 === void 0 ? void 0 : _slots$empty2.call(slots)) !== null && _slots$empty !== void 0 ? _slots$empty : configCtx === null || configCtx === void 0 || (_configCtx$slots$empt = (_configCtx$slots = configCtx.slots).empty) === null || _configCtx$slots$empt === void 0 ? void 0 : _configCtx$slots$empt.call(_configCtx$slots, { component: "cascader" })) !== null && _ref !== void 0 ? _ref : createVNode(Empty, null, null)]);
@@ -1,20 +1,32 @@
1
1
  import type { CascaderModelValue, CascaderOption } from './interface';
2
2
  import type { CascaderProps } from './types';
3
- declare var __VLS_30: any, __VLS_33: {}, __VLS_36: {}, __VLS_39: {}, __VLS_42: {}, __VLS_52: {}, __VLS_61: {};
3
+ declare var __VLS_16: {
4
+ value: CascaderModelValue;
5
+ displayValue: string | string[];
6
+ inputValue: string;
7
+ selectedOptions: CascaderOption[];
8
+ selectedPaths: CascaderOption[][];
9
+ popupVisible: boolean;
10
+ disabled: boolean;
11
+ loading: boolean;
12
+ multiple: boolean;
13
+ }, __VLS_32: any, __VLS_35: {}, __VLS_38: {}, __VLS_41: {}, __VLS_44: {}, __VLS_54: {}, __VLS_63: {};
4
14
  type __VLS_Slots = {} & {
5
- label?: (props: typeof __VLS_30) => any;
15
+ trigger?: (props: typeof __VLS_16) => any;
16
+ } & {
17
+ label?: (props: typeof __VLS_32) => any;
6
18
  } & {
7
- prefix?: (props: typeof __VLS_33) => any;
19
+ prefix?: (props: typeof __VLS_35) => any;
8
20
  } & {
9
- 'arrow-icon'?: (props: typeof __VLS_36) => any;
21
+ 'arrow-icon'?: (props: typeof __VLS_38) => any;
10
22
  } & {
11
- 'loading-icon'?: (props: typeof __VLS_39) => any;
23
+ 'loading-icon'?: (props: typeof __VLS_41) => any;
12
24
  } & {
13
- 'search-icon'?: (props: typeof __VLS_42) => any;
25
+ 'search-icon'?: (props: typeof __VLS_44) => any;
14
26
  } & {
15
- empty?: (props: typeof __VLS_52) => any;
27
+ empty?: (props: typeof __VLS_54) => any;
16
28
  } & {
17
- empty?: (props: typeof __VLS_61) => any;
29
+ empty?: (props: typeof __VLS_63) => any;
18
30
  };
19
31
  declare const __VLS_base: import("vue").DefineComponent<CascaderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
32
  search: (value: string) => any;
@@ -1,4 +1,5 @@
1
1
  import { useFormItem } from "../_hooks/use-form-item.js";
2
+ import { configProviderInjectionKey } from "../config-provider/context.js";
2
3
  import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
3
4
  import { isArray, isFunction, isNull, isUndefined } from "../_utils/is.js";
4
5
  import { KEYBOARD_KEY, getKeyDownHandler } from "../_utils/keyboard.js";
@@ -17,7 +18,7 @@ import { getCheckedStatus, getLeafOptionInfos, getLeafOptionKeys, getOptionInfos
17
18
  import base_cascader_panel_default from "./base-cascader-panel.js";
18
19
  import { useSelectedPath } from "./hooks/use-selected-path.js";
19
20
  import cascader_search_panel_default from "./cascader-search-panel.js";
20
- import { computed, createBlock, createSlots, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, mergeProps, normalizeProps, openBlock, provide, reactive, ref, renderSlot, toRef, toRefs, unref, useAttrs, useSlots, watch, withCtx } from "vue";
21
+ import { computed, createBlock, createSlots, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, inject, mergeProps, normalizeProps, openBlock, provide, reactive, ref, renderSlot, toRef, toRefs, unref, useAttrs, useSlots, watch, withCtx } from "vue";
21
22
  //#region components/cascader/cascader.vue?vue&type=script&setup=true&lang.ts
22
23
  var DEFAULT_CASCADER_VIRTUAL_ITEM_SIZE = 36;
23
24
  var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, {
@@ -88,6 +89,7 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
88
89
  type: Boolean,
89
90
  default: false
90
91
  },
92
+ spinProps: {},
91
93
  searchOptionOnlyLabel: {
92
94
  type: Boolean,
93
95
  default: false
@@ -134,14 +136,21 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
134
136
  var _props$defaultValue;
135
137
  const props = __props;
136
138
  const emit = __emit;
139
+ /**
140
+ * @zh 自定义触发元素
141
+ * @en Custom trigger element
142
+ * @slot trigger
143
+ */
137
144
  const attrs = useAttrs();
138
145
  const slots = useSlots();
146
+ const configCtx = inject(configProviderInjectionKey, void 0);
139
147
  const getDefaultValue = (multiple, pathMode) => {
140
148
  if (multiple) return [];
141
149
  if (pathMode) return;
142
150
  return "";
143
151
  };
144
- const { options, checkStrictly, loadMore, formatLabel, modelValue, disabled, valueKey, expandTrigger, expandChild, pathMode, multiple, popupVisible, show, defaultPopupVisible, defaultShow, error, size, placeholder, loading, maxTagCount, tagNowrap, popupContainer, floatingOptions, searchOptionOnlyLabel } = toRefs(props);
152
+ const { options, checkStrictly, loadMore, formatLabel, modelValue, disabled, valueKey, expandTrigger, expandChild, pathMode, multiple, popupVisible, show, defaultPopupVisible, defaultShow, error, size, placeholder, loading, spinProps, maxTagCount, tagNowrap, popupContainer, floatingOptions, searchOptionOnlyLabel } = toRefs(props);
153
+ const resolvedSpinProps = computed(() => _objectSpread2(_objectSpread2({}, configCtx === null || configCtx === void 0 ? void 0 : configCtx.cascaderSpinProps), spinProps.value));
145
154
  const _value = ref((_props$defaultValue = props.defaultValue) !== null && _props$defaultValue !== void 0 ? _props$defaultValue : getDefaultValue(props.multiple, props.pathMode));
146
155
  const _inputValue = ref(props.defaultInputValue);
147
156
  const instance = getCurrentInstance();
@@ -480,6 +489,21 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
480
489
  });
481
490
  return result;
482
491
  });
492
+ const triggerValue = computed(() => {
493
+ var _values$2;
494
+ const values = Array.from(computedValueMap.value.values());
495
+ return props.multiple ? values : (_values$2 = values[0]) !== null && _values$2 !== void 0 ? _values$2 : "";
496
+ });
497
+ const triggerDisplayValue = computed(() => {
498
+ var _labels$;
499
+ const labels = selectViewValue.value.map((item) => item.label);
500
+ return props.multiple ? labels : (_labels$ = labels[0]) !== null && _labels$ !== void 0 ? _labels$ : "";
501
+ });
502
+ const triggerSelectedPaths = computed(() => Array.from(computedValueMap.value.keys()).map((key) => {
503
+ var _leafOptionMap$get;
504
+ return (_leafOptionMap$get = leafOptionMap.get(key)) === null || _leafOptionMap$get === void 0 ? void 0 : _leafOptionMap$get.path.map((item) => item.raw);
505
+ }).filter((path) => Boolean(path)));
506
+ const triggerSelectedOptions = computed(() => triggerSelectedPaths.value.map((path) => path.at(-1)).filter((option) => Boolean(option)));
483
507
  return (_ctx, _cache) => {
484
508
  return openBlock(), createBlock(unref(Tooltip), {
485
509
  "popup-visible": unref(tipVisible),
@@ -511,6 +535,7 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
511
535
  multiple: unref(multiple),
512
536
  "check-strictly": unref(checkStrictly),
513
537
  loading: unref(loading),
538
+ "spin-props": resolvedSpinProps.value,
514
539
  "path-label": !unref(searchOptionOnlyLabel)
515
540
  }, createSlots({ _: 2 }, [_ctx.$slots.empty ? {
516
541
  name: "empty",
@@ -522,6 +547,7 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
522
547
  "multiple",
523
548
  "check-strictly",
524
549
  "loading",
550
+ "spin-props",
525
551
  "path-label"
526
552
  ])) : (openBlock(), createBlock(unref(base_cascader_panel_default), {
527
553
  key: 1,
@@ -532,6 +558,7 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
532
558
  "total-level": totalLevel.value,
533
559
  "check-strictly": unref(checkStrictly),
534
560
  loading: unref(loading),
561
+ "spin-props": resolvedSpinProps.value,
535
562
  "virtual-list-props": resolvedVirtualListProps.value,
536
563
  dropdown: ""
537
564
  }, createSlots({ _: 2 }, [_ctx.$slots.empty ? {
@@ -546,9 +573,20 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
546
573
  "total-level",
547
574
  "check-strictly",
548
575
  "loading",
576
+ "spin-props",
549
577
  "virtual-list-props"
550
578
  ]))]),
551
- default: withCtx(() => [createVNode(unref(select_view_default), mergeProps({
579
+ default: withCtx(() => [renderSlot(_ctx.$slots, "trigger", {
580
+ value: triggerValue.value,
581
+ displayValue: triggerDisplayValue.value,
582
+ inputValue: computedInputValue.value,
583
+ selectedOptions: triggerSelectedOptions.value,
584
+ selectedPaths: triggerSelectedPaths.value,
585
+ popupVisible: unref(computedPopupVisible),
586
+ disabled: unref(mergedDisabled),
587
+ loading: unref(loading),
588
+ multiple: unref(multiple)
589
+ }, () => [createVNode(unref(select_view_default), mergeProps({
552
590
  "model-value": selectViewValue.value,
553
591
  "input-value": computedInputValue.value,
554
592
  disabled: unref(mergedDisabled),
@@ -616,7 +654,7 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
616
654
  "tag-nowrap",
617
655
  "input-attrs",
618
656
  "onKeydown"
619
- ])]),
657
+ ])])]),
620
658
  _: 3
621
659
  }, 16, [
622
660
  "floating-options",
@@ -10,6 +10,6 @@ declare const Cascader: CascaderComponent;
10
10
  export type CascaderInstance = InstanceType<typeof _Cascader>;
11
11
  export type CascaderPanelInstance = InstanceType<typeof _CascaderPanel>;
12
12
  export type { CascaderChangeHandler, CascaderFallback, CascaderFieldNames, CascaderFormatLabel, CascaderLoadMore, CascaderModelValue, CascaderOption, CascaderOptionValue, CascaderPathValue, CascaderSearchHandler, CascaderSingleValue, } from './interface';
13
- export type { CascaderEmits, CascaderPanelEmits, CascaderPanelProps, CascaderProps } from './types';
13
+ export type { CascaderEmits, CascaderPanelEmits, CascaderPanelProps, CascaderProps, CascaderTriggerSlotProps, } from './types';
14
14
  export { _CascaderPanel as CascaderPanel };
15
15
  export default Cascader;
@@ -2,9 +2,21 @@ import type { VirtualListProps } from '../_components/virtual-list/interface';
2
2
  import type { FitWidthProps } from '../_hooks/use-fit-width';
3
3
  import type { Size } from '../_utils/constant';
4
4
  import type { FloatingOptions } from '../_utils/floating';
5
+ import type { SpinProps } from '../spin';
5
6
  import type { TriggerProps } from '../trigger';
6
7
  import type { CascaderFallback, CascaderFieldNames, CascaderFormatLabel, CascaderLoadMore, CascaderModelValue, CascaderOption } from './interface';
7
8
  export type CascaderExpandTrigger = 'click' | 'hover';
9
+ export interface CascaderTriggerSlotProps {
10
+ value: CascaderModelValue;
11
+ displayValue: string | string[];
12
+ inputValue: string;
13
+ selectedOptions: CascaderOption[];
14
+ selectedPaths: CascaderOption[][];
15
+ popupVisible: boolean;
16
+ disabled: boolean;
17
+ loading: boolean;
18
+ multiple: boolean;
19
+ }
8
20
  export interface CascaderProps extends FitWidthProps {
9
21
  pathMode?: boolean;
10
22
  multiple?: boolean;
@@ -38,6 +50,7 @@ export interface CascaderProps extends FitWidthProps {
38
50
  checkStrictly?: boolean;
39
51
  loadMore?: CascaderLoadMore;
40
52
  loading?: boolean;
53
+ spinProps?: SpinProps;
41
54
  searchOptionOnlyLabel?: boolean;
42
55
  searchDelay?: number;
43
56
  fieldNames?: CascaderFieldNames;
@@ -273,7 +273,19 @@ var color_picker_default = /* @__PURE__ */ defineComponent({
273
273
  "content": readonlyTipText.value,
274
274
  "position": "top"
275
275
  }, { default: () => [createVNode(Trigger, mergeProps({ "onPopupVisibleChange": onPopupVisibleChange }, mergedTriggerProps.value), {
276
- default: () => [slots.default ? slots.default() : renderTriggerInput()],
276
+ default: () => {
277
+ var _ref, _slots$trigger, _slots$trigger2, _slots$default;
278
+ return [(_ref = (_slots$trigger = (_slots$trigger2 = slots.trigger) === null || _slots$trigger2 === void 0 ? void 0 : _slots$trigger2.call(slots, {
279
+ value: mergedValue.value,
280
+ displayValue: triggerInputValue.value,
281
+ color: getColorObject(colorState.value),
282
+ popupVisible: popupVisible.value,
283
+ disabled: props.disabled,
284
+ readonly: Boolean(props.readonly),
285
+ format: normalizedFormat.value,
286
+ previewStyle: previewStyle.value
287
+ })) !== null && _slots$trigger !== void 0 ? _slots$trigger : (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)) !== null && _ref !== void 0 ? _ref : renderTriggerInput()];
288
+ },
277
289
  content: renderPanel
278
290
  })] });
279
291
  };
@@ -311,6 +311,6 @@ declare const ColorPicker: {
311
311
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
312
312
  install: (app: App, options?: SDOptions) => void;
313
313
  };
314
- export type { RGB, HSV, HSVA, Color, ColorMode, ColorModes, ColorFormat, ColorObject, ColorValueState, ColorPickerChangeTrigger, GradientColorPoint, RecentColorsValue, } from './interface';
314
+ export type { RGB, HSV, HSVA, Color, ColorMode, ColorModes, ColorFormat, ColorObject, ColorValueState, ColorPickerChangeTrigger, ColorPickerTriggerSlotProps, GradientColorPoint, RecentColorsValue, } from './interface';
315
315
  export type ColorPickerInstance = InstanceType<typeof _ColorPicker>;
316
316
  export default ColorPicker;
@@ -35,6 +35,16 @@ export type ColorFormat = 'HEX' | 'HEX8' | 'RGB' | 'RGBA' | 'HSL' | 'HSLA' | 'HS
35
35
  export type RecentColorsValue = string[] | boolean | null;
36
36
  export type ColorModes = ColorMode[];
37
37
  export type ColorPickerChangeTrigger = 'palette-saturation-brightness' | 'palette-saturation' | 'palette-brightness' | 'palette-hue-bar' | 'palette-alpha-bar' | 'input' | 'preset' | 'recent' | 'clear';
38
+ export interface ColorPickerTriggerSlotProps {
39
+ value: string;
40
+ displayValue: string;
41
+ color: ColorObject;
42
+ popupVisible: boolean;
43
+ disabled: boolean;
44
+ readonly: boolean;
45
+ format: ColorFormat;
46
+ previewStyle: Record<string, string>;
47
+ }
38
48
  export interface ColorObject {
39
49
  alpha: number;
40
50
  css: string;