@moubing/bing-ui 0.5.3 → 0.7.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 (68) hide show
  1. package/README.md +157 -93
  2. package/dist/bing-ui.css +1 -1
  3. package/dist/bing-ui.es.js +12362 -10240
  4. package/dist/bing-ui.umd.js +47 -42
  5. package/dist/components/BingAppSwitcherTransition/BingAppSwitcherTransition.vue.d.ts +2 -2
  6. package/dist/components/BingButton/BingButton.types.d.ts +1 -0
  7. package/dist/components/BingButton/BingButton.vue.d.ts +2 -2
  8. package/dist/components/BingCarouselTransition/BingCarouselTransition.vue.d.ts +2 -2
  9. package/dist/components/BingCheckbox/BingCheckbox.vue.d.ts +7 -7
  10. package/dist/components/BingCheckboxGroup/BingCheckboxGroup.vue.d.ts +6 -6
  11. package/dist/components/BingColorPicker/BingColorPicker.vue.d.ts +4 -4
  12. package/dist/components/BingCursor/BingCursor.controller.d.ts +13 -0
  13. package/dist/components/BingCursor/BingCursor.native.d.ts +3 -0
  14. package/dist/components/BingCursor/BingCursor.presets.d.ts +5 -0
  15. package/dist/components/BingCursor/BingCursor.shapes.d.ts +10 -0
  16. package/dist/components/BingCursor/BingCursor.styleSource.d.ts +5 -0
  17. package/dist/components/BingCursor/BingCursor.types.d.ts +22 -0
  18. package/dist/components/BingCursor/BingCursor.vue.d.ts +22 -0
  19. package/dist/components/BingCursor/index.d.ts +2 -0
  20. package/dist/components/BingDatePicker/BingDatePicker.types.d.ts +1 -0
  21. package/dist/components/BingDatePicker/BingDatePicker.vue.d.ts +4 -4
  22. package/dist/components/BingDeckTransition/BingDeckTransition.vue.d.ts +2 -2
  23. package/dist/components/BingDialog/BingDialog.vue.d.ts +3 -3
  24. package/dist/components/BingDropDown/BingDropDown.context.d.ts +1 -0
  25. package/dist/components/BingDropDown/BingDropDown.vue.d.ts +2 -2
  26. package/dist/components/BingDropDown/BingDropDownItem.vue.d.ts +1 -1
  27. package/dist/components/BingFilePreview/BingFilePreview.vue.d.ts +6 -6
  28. package/dist/components/BingForm/BingForm.context.d.ts +19 -2
  29. package/dist/components/BingForm/BingForm.types.d.ts +6 -1
  30. package/dist/components/BingForm/BingForm.vue.d.ts +4 -2
  31. package/dist/components/BingForm/formFocus.d.ts +3 -0
  32. package/dist/components/BingForm/formTabOrder.d.ts +2 -0
  33. package/dist/components/BingForm/useFormControl.d.ts +21 -0
  34. package/dist/components/BingForm/useFormNextHint.d.ts +16 -0
  35. package/dist/components/BingFormItem/BingFormItem.vue.d.ts +1 -1
  36. package/dist/components/BingImagePreview/BingImagePreview.vue.d.ts +3 -3
  37. package/dist/components/BingInput/BingInput.types.d.ts +11 -3
  38. package/dist/components/BingInput/BingInput.vue.d.ts +9 -7
  39. package/dist/components/BingInput/useInputCaret.d.ts +3 -0
  40. package/dist/components/BingRadio/BingRadio.vue.d.ts +7 -7
  41. package/dist/components/BingRadioGroup/BingRadioGroup.vue.d.ts +6 -6
  42. package/dist/components/BingResizable/BingResizable.vue.d.ts +1 -1
  43. package/dist/components/BingScrollbar/BingScrollbar.types.d.ts +17 -0
  44. package/dist/components/BingScrollbar/BingScrollbar.vue.d.ts +6 -9
  45. package/dist/components/BingScrollbar/index.d.ts +1 -1
  46. package/dist/components/BingSelect/BingSelect.vue.d.ts +8 -8
  47. package/dist/components/BingSortableList/BingSortableList.types.d.ts +2 -0
  48. package/dist/components/BingSortableList/BingSortableList.vue.d.ts +1 -0
  49. package/dist/components/BingTable/BingTable.measurements.d.ts +11 -0
  50. package/dist/components/BingTable/BingTable.vue.d.ts +10 -10
  51. package/dist/components/BingTable/BingTableCellValue.vue.d.ts +20 -0
  52. package/dist/components/BingTable/BingTableHeaderContent.vue.d.ts +39 -0
  53. package/dist/components/BingTabs/BingTabs.vue.d.ts +6 -6
  54. package/dist/components/BingTextarea/BingTextarea.types.d.ts +1 -0
  55. package/dist/components/BingTextarea/BingTextarea.vue.d.ts +7 -6
  56. package/dist/components/BingTooltip/BingTooltip.shared.d.ts +1 -0
  57. package/dist/components/BingTooltip/BingTooltip.vue.d.ts +4 -4
  58. package/dist/components/BingTreeSelect/BingTreeSelect.vue.d.ts +8 -8
  59. package/dist/components/index.d.ts +1 -0
  60. package/dist/motion/clickParticles.d.ts +4 -0
  61. package/dist/motion/liquidHover.d.ts +4 -0
  62. package/dist/motion/panelMotion.d.ts +14 -0
  63. package/dist/motion/selectPanelMotion.d.ts +16 -0
  64. package/dist/motion/useClickFeedback.d.ts +6 -0
  65. package/dist/utils/controlAttrs.d.ts +8 -0
  66. package/dist/utils/overlay.d.ts +28 -0
  67. package/dist/utils/scrollLock.d.ts +5 -0
  68. package/package.json +1 -1
@@ -6,33 +6,35 @@ type __VLS_Slots = {} & {
6
6
  declare const __VLS_base: import('vue').DefineComponent<BingInputProps, BingInputExpose, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
7
  clear: () => any;
8
8
  input: (value: string, event: Event) => any;
9
- "update:modelValue": (value: string) => any;
10
- focus: (event: FocusEvent) => any;
11
9
  blur: (event: FocusEvent) => any;
10
+ focus: (event: FocusEvent) => any;
12
11
  keydown: (event: KeyboardEvent) => any;
12
+ "update:modelValue": (value: string | number) => any;
13
13
  "debounced-input": (value: string) => any;
14
14
  }, string, import('vue').PublicProps, Readonly<BingInputProps> & Readonly<{
15
15
  onClear?: (() => any) | undefined;
16
16
  onInput?: ((value: string, event: Event) => any) | undefined;
17
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
18
- onFocus?: ((event: FocusEvent) => any) | undefined;
19
17
  onBlur?: ((event: FocusEvent) => any) | undefined;
18
+ onFocus?: ((event: FocusEvent) => any) | undefined;
20
19
  onKeydown?: ((event: KeyboardEvent) => any) | undefined;
20
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
21
21
  "onDebounced-input"?: ((value: string) => any) | undefined;
22
22
  }>, {
23
23
  disabled: boolean;
24
+ id: string;
24
25
  type: import('./BingInput.types').BingInputType;
25
26
  ariaLabel: string;
26
- modelValue: string;
27
+ name: string;
28
+ modelValue: string | number | null;
27
29
  size: import('./BingInput.types').BingInputSize;
28
30
  block: boolean;
29
- name: string;
30
31
  icon: import('vue').Component;
31
- id: string;
32
32
  ariaDescribedby: string;
33
33
  status: "default" | "error" | "success" | "warning";
34
+ readonly: boolean;
34
35
  placeholder: string;
35
36
  clearable: boolean;
37
+ smoothCaret: boolean;
36
38
  iconLabel: string;
37
39
  debounceDelay: number;
38
40
  clearAriaLabel: string;
@@ -0,0 +1,3 @@
1
+ import { Ref } from 'vue';
2
+ /** 真实 input 负责编辑和选区,装饰光标只跟随可准确测量的插入点。 */
3
+ export declare function useInputCaret(inputRef: Ref<HTMLInputElement | null>, layerRef: Ref<HTMLElement | null>, caretRef: Ref<HTMLElement | null>, enabled: () => boolean): void;
@@ -6,25 +6,25 @@ type __VLS_Slots = {} & {
6
6
  description?: (props: typeof __VLS_3) => any;
7
7
  };
8
8
  declare const __VLS_base: import('vue').DefineComponent<BingRadioProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
- "update:modelValue": (value: import('..').BingRadioValue) => any;
10
9
  change: (value: import('..').BingRadioValue, event: Event) => any;
11
- focus: (event: FocusEvent) => any;
12
10
  blur: (event: FocusEvent) => any;
11
+ focus: (event: FocusEvent) => any;
12
+ "update:modelValue": (value: import('..').BingRadioValue) => any;
13
13
  }, string, import('vue').PublicProps, Readonly<BingRadioProps> & Readonly<{
14
- "onUpdate:modelValue"?: ((value: import('..').BingRadioValue) => any) | undefined;
15
14
  onChange?: ((value: import('..').BingRadioValue, event: Event) => any) | undefined;
16
- onFocus?: ((event: FocusEvent) => any) | undefined;
17
15
  onBlur?: ((event: FocusEvent) => any) | undefined;
16
+ onFocus?: ((event: FocusEvent) => any) | undefined;
17
+ "onUpdate:modelValue"?: ((value: import('..').BingRadioValue) => any) | undefined;
18
18
  }>, {
19
19
  disabled: boolean;
20
20
  label: string;
21
- value: import('..').BingRadioValue;
21
+ id: string;
22
22
  ariaLabel: string;
23
+ name: string;
24
+ value: import('..').BingRadioValue;
23
25
  modelValue: import('..').BingRadioValue | null;
24
26
  size: import('./BingRadio.types').BingRadioSize;
25
- name: string;
26
27
  description: string;
27
- id: string;
28
28
  ariaDescribedby: string;
29
29
  status: "default" | "error" | "success" | "warning";
30
30
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -4,23 +4,23 @@ type __VLS_Slots = {} & {
4
4
  default?: (props: typeof __VLS_1) => any;
5
5
  };
6
6
  declare const __VLS_base: import('vue').DefineComponent<BingRadioGroupProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
- "update:modelValue": (value: BingRadioValue) => any;
8
7
  change: (value: BingRadioValue, event: Event) => any;
9
- focus: (event: FocusEvent) => any;
10
8
  blur: (event: FocusEvent) => any;
9
+ focus: (event: FocusEvent) => any;
10
+ "update:modelValue": (value: BingRadioValue) => any;
11
11
  }, string, import('vue').PublicProps, Readonly<BingRadioGroupProps> & Readonly<{
12
- "onUpdate:modelValue"?: ((value: BingRadioValue) => any) | undefined;
13
12
  onChange?: ((value: BingRadioValue, event: Event) => any) | undefined;
14
- onFocus?: ((event: FocusEvent) => any) | undefined;
15
13
  onBlur?: ((event: FocusEvent) => any) | undefined;
14
+ onFocus?: ((event: FocusEvent) => any) | undefined;
15
+ "onUpdate:modelValue"?: ((value: BingRadioValue) => any) | undefined;
16
16
  }>, {
17
17
  disabled: boolean;
18
18
  direction: import('./BingRadioGroup.types').BingRadioGroupDirection;
19
+ id: string;
19
20
  ariaLabel: string;
21
+ name: string;
20
22
  modelValue: BingRadioValue | null;
21
23
  size: import('./BingRadioGroup.types').BingRadioGroupSize;
22
- name: string;
23
- id: string;
24
24
  ariaDescribedby: string;
25
25
  status: "default" | "error" | "success" | "warning";
26
26
  options: BingRadioGroupOption[];
@@ -28,8 +28,8 @@ declare const __VLS_base: import('vue').DefineComponent<BingResizableProps, Bing
28
28
  minWidth: import('./BingResizable.types').BingResizableSizeValue;
29
29
  position: Partial<BingResizablePosition>;
30
30
  ariaLabel: string;
31
- size: BingResizableSize;
32
31
  mode: import('./BingResizable.types').BingResizableMode;
32
+ size: BingResizableSize;
33
33
  defaultSize: BingResizableSize;
34
34
  defaultPosition: Partial<BingResizablePosition>;
35
35
  snapMode: import('./BingResizable.types').BingResizableSnapMode;
@@ -1,3 +1,4 @@
1
+ import { VNode } from 'vue';
1
2
  import { SmoothScrollOptions, SmoothScrollValue } from '../../motion/smoothScroll';
2
3
  export type BingScrollbarSmoothOptions = SmoothScrollOptions;
3
4
  export interface BingScrollbarProps {
@@ -16,6 +17,22 @@ export interface BingScrollbarProps {
16
17
  export interface BingScrollbarEmits {
17
18
  scroll: [event: Event];
18
19
  }
20
+ export interface BingScrollbarViewportSlotProps {
21
+ /** 将实际滚动的 DOM 元素交给滚动条;原生输入控件保留自身语义与焦点。 */
22
+ viewportRef: (element: unknown) => void;
23
+ /** 绑定到同一元素,隐藏原生滚动条并同步滚动、滚轮和输入事件。 */
24
+ viewportAttrs: {
25
+ class: string;
26
+ onScroll: (event: Event) => void;
27
+ onWheel: (event: WheelEvent) => boolean;
28
+ onKeydown: (event: KeyboardEvent) => void;
29
+ onInput: () => void;
30
+ };
31
+ }
32
+ export interface BingScrollbarSlots {
33
+ default?: () => VNode[];
34
+ viewport?: (props: BingScrollbarViewportSlotProps) => VNode[];
35
+ }
19
36
  export interface BingScrollbarExpose {
20
37
  handleWheel: (event: WheelEvent) => boolean;
21
38
  scrollBy: (options: ScrollToOptions | number) => void;
@@ -1,8 +1,5 @@
1
- import { BingScrollbarExpose, BingScrollbarProps } from './BingScrollbar.types';
2
- declare var __VLS_1: {};
3
- type __VLS_Slots = {} & {
4
- default?: (props: typeof __VLS_1) => any;
5
- };
1
+ import { BingScrollbarExpose, BingScrollbarProps, BingScrollbarSlots } from './BingScrollbar.types';
2
+ type __VLS_Slots = BingScrollbarSlots;
6
3
  declare const __VLS_base: import('vue').DefineComponent<BingScrollbarProps, BingScrollbarExpose, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
4
  scroll: (event: Event) => any;
8
5
  }, string, import('vue').PublicProps, Readonly<BingScrollbarProps> & Readonly<{
@@ -12,12 +9,12 @@ declare const __VLS_base: import('vue').DefineComponent<BingScrollbarProps, Bing
12
9
  disabled: boolean;
13
10
  height: string | number;
14
11
  maxHeight: string | number;
15
- ariaLabel: string;
16
- horizontal: boolean;
17
- vertical: boolean;
18
- focusable: boolean;
19
12
  minThumbSize: number;
20
13
  overflowTolerance: number;
14
+ vertical: boolean;
15
+ horizontal: boolean;
16
+ focusable: boolean;
17
+ ariaLabel: string;
21
18
  smooth: import('../..').SmoothScrollValue;
22
19
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
20
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,2 +1,2 @@
1
1
  export { default as BingScrollbar } from './BingScrollbar.vue';
2
- export type { BingScrollbarEmits, BingScrollbarExpose, BingScrollbarProps, BingScrollbarSmoothOptions, } from './BingScrollbar.types';
2
+ export type { BingScrollbarEmits, BingScrollbarExpose, BingScrollbarProps, BingScrollbarSmoothOptions, BingScrollbarSlots, BingScrollbarViewportSlotProps, } from './BingScrollbar.types';
@@ -2,10 +2,10 @@ import { BingSelectChangePayload, BingSelectModelValue, BingSelectOption, BingSe
2
2
  declare var __VLS_1: {
3
3
  selectedOptions: BingSelectOption[];
4
4
  placeholder: string;
5
- }, __VLS_77: {
5
+ }, __VLS_105: {
6
6
  option: BingSelectOption;
7
7
  selected: boolean;
8
- }, __VLS_79: {
8
+ }, __VLS_107: {
9
9
  option: BingSelectOption;
10
10
  selected: boolean;
11
11
  index: number;
@@ -13,28 +13,29 @@ declare var __VLS_1: {
13
13
  type __VLS_Slots = {} & {
14
14
  value?: (props: typeof __VLS_1) => any;
15
15
  } & {
16
- option?: (props: typeof __VLS_77) => any;
16
+ option?: (props: typeof __VLS_105) => any;
17
17
  } & {
18
- 'option-detail'?: (props: typeof __VLS_79) => any;
18
+ 'option-detail'?: (props: typeof __VLS_107) => any;
19
19
  };
20
20
  declare const __VLS_base: import('vue').DefineComponent<BingSelectProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
21
  clear: () => any;
22
- "update:modelValue": (value: BingSelectModelValue) => any;
23
22
  change: (payload: BingSelectChangePayload) => any;
24
23
  close: () => any;
24
+ "update:modelValue": (value: BingSelectModelValue) => any;
25
25
  open: () => any;
26
26
  }, string, import('vue').PublicProps, Readonly<BingSelectProps> & Readonly<{
27
27
  onClear?: (() => any) | undefined;
28
- "onUpdate:modelValue"?: ((value: BingSelectModelValue) => any) | undefined;
29
28
  onChange?: ((payload: BingSelectChangePayload) => any) | undefined;
30
29
  onClose?: (() => any) | undefined;
30
+ "onUpdate:modelValue"?: ((value: BingSelectModelValue) => any) | undefined;
31
31
  onOpen?: (() => any) | undefined;
32
32
  }>, {
33
33
  disabled: boolean;
34
34
  minWidth: string | number;
35
35
  width: string | number;
36
- glass: boolean;
36
+ id: string;
37
37
  ariaLabel: string;
38
+ glass: boolean;
38
39
  modelValue: BingSelectModelValue;
39
40
  size: import('./BingSelect.types').BingSelectSize;
40
41
  block: boolean;
@@ -42,7 +43,6 @@ declare const __VLS_base: import('vue').DefineComponent<BingSelectProps, {}, {},
42
43
  glassBlur: string | number;
43
44
  glassOpacity: number;
44
45
  glassSaturation: number;
45
- id: string;
46
46
  ariaDescribedby: string;
47
47
  status: "default" | "error" | "success" | "warning";
48
48
  placeholder: string;
@@ -33,6 +33,8 @@ export interface BingSortableListProps<T = Record<string, unknown>> {
33
33
  duration?: number;
34
34
  settleDuration?: number;
35
35
  dragThreshold?: number;
36
+ /** 使用浮层展示拖拽项,预览复用默认插槽。 */
37
+ dragOverlay?: boolean;
36
38
  ariaLabel?: string;
37
39
  handleAriaLabel?: string | ((item: T, index: number) => string);
38
40
  }
@@ -39,6 +39,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
39
39
  reorderMode: import('./BingSortableList.types').BingSortableListReorderMode;
40
40
  settleDuration: number;
41
41
  dragThreshold: number;
42
+ dragOverlay: boolean;
42
43
  handleAriaLabel: string | ((item: any, index: number) => string);
43
44
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
44
45
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -0,0 +1,11 @@
1
+ import { InjectionKey, Ref } from 'vue';
2
+ type CommitMeasurement = () => void;
3
+ type ReadMeasurement = () => CommitMeasurement | undefined;
4
+ export interface BingTableMeasurements {
5
+ register: (element: HTMLElement, read: ReadMeasurement) => () => void;
6
+ invalidate: (element?: HTMLElement | null) => void;
7
+ }
8
+ export declare const bingTableMeasurementsKey: InjectionKey<BingTableMeasurements>;
9
+ /** 同一张表共用监听器;一帧内先读完变化的单元格,再提交结果。 */
10
+ export declare function createTableMeasurements(root: Ref<HTMLElement | null>, readLayout?: (elements: HTMLElement[]) => CommitMeasurement | undefined): BingTableMeasurements;
11
+ export {};
@@ -5,33 +5,33 @@ interface BingTableResolvedColumn extends BingTableColumn {
5
5
  declare var __VLS_1: {
6
6
  selectedRowKeys: BingTableKey[];
7
7
  visibleColumns: BingTableResolvedColumn[];
8
- }, __VLS_96: `header-${string}`, __VLS_97: {
8
+ }, __VLS_47: `header-${string}`, __VLS_48: {
9
9
  column: BingTableResolvedColumn;
10
- }, __VLS_105: `header-${string}`, __VLS_106: {
11
- column: BingTableResolvedColumn;
12
- }, __VLS_137: `cell-${string}`, __VLS_138: {
10
+ }, __VLS_78: `cell-${string}`, __VLS_79: {
13
11
  row: BingTableRow;
14
12
  column: BingTableResolvedColumn;
15
13
  value: unknown;
16
14
  rowIndex: number;
17
15
  level: number;
18
- }, __VLS_140: {
16
+ }, __VLS_81: {
19
17
  row: BingTableRow;
20
18
  column: BingTableResolvedColumn;
21
19
  value: unknown;
22
20
  rowIndex: number;
23
21
  level: number;
22
+ }, __VLS_97: `header-${string}`, __VLS_98: {
23
+ column: BingTableColumn;
24
24
  };
25
25
  type __VLS_Slots = {} & {
26
- [K in NonNullable<typeof __VLS_96>]?: (props: typeof __VLS_97) => any;
26
+ [K in NonNullable<typeof __VLS_47>]?: (props: typeof __VLS_48) => any;
27
27
  } & {
28
- [K in NonNullable<typeof __VLS_105>]?: (props: typeof __VLS_106) => any;
28
+ [K in NonNullable<typeof __VLS_78>]?: (props: typeof __VLS_79) => any;
29
29
  } & {
30
- [K in NonNullable<typeof __VLS_137>]?: (props: typeof __VLS_138) => any;
30
+ [K in NonNullable<typeof __VLS_97>]?: (props: typeof __VLS_98) => any;
31
31
  } & {
32
32
  toolbar?: (props: typeof __VLS_1) => any;
33
33
  } & {
34
- cell?: (props: typeof __VLS_140) => any;
34
+ cell?: (props: typeof __VLS_81) => any;
35
35
  };
36
36
  declare const __VLS_base: import('vue').DefineComponent<BingTableProps, BingTableExpose, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
37
37
  scroll: (event: Event) => any;
@@ -89,6 +89,7 @@ declare const __VLS_base: import('vue').DefineComponent<BingTableProps, BingTabl
89
89
  virtual: import('./BingTable.types').BingTableVirtualMode;
90
90
  virtualThreshold: number;
91
91
  virtualOverscan: number;
92
+ sortOrder: BingTableSortOrder;
92
93
  rowKey: string | import('./BingTable.types').BingTableRowKeyGetter;
93
94
  childrenKey: string;
94
95
  bordered: boolean;
@@ -129,7 +130,6 @@ declare const __VLS_base: import('vue').DefineComponent<BingTableProps, BingTabl
129
130
  total: number;
130
131
  sortKey: string | null;
131
132
  defaultSortKey: string | null;
132
- sortOrder: BingTableSortOrder;
133
133
  defaultSortOrder: BingTableSortOrder;
134
134
  rowClass: import('./BingTable.types').BingTableRowClass;
135
135
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,20 @@
1
+ type __VLS_Props = {
2
+ ellipsis?: boolean;
3
+ disabled?: boolean;
4
+ };
5
+ declare var __VLS_8: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_8) => any;
8
+ };
9
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
10
+ disabled: boolean;
11
+ ellipsis: boolean;
12
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,39 @@
1
+ import { BingTableColumn, BingTableSortOrder } from './BingTable.types';
2
+ type __VLS_Props = {
3
+ column: BingTableColumn;
4
+ reorderable?: boolean;
5
+ resizable?: boolean;
6
+ sortOrder?: BingTableSortOrder;
7
+ preview?: boolean;
8
+ };
9
+ declare var __VLS_6: {
10
+ column: BingTableColumn;
11
+ }, __VLS_21: {
12
+ column: BingTableColumn;
13
+ }, __VLS_29: {
14
+ column: BingTableColumn;
15
+ };
16
+ type __VLS_Slots = {} & {
17
+ default?: (props: typeof __VLS_6) => any;
18
+ } & {
19
+ default?: (props: typeof __VLS_21) => any;
20
+ } & {
21
+ default?: (props: typeof __VLS_29) => any;
22
+ };
23
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
24
+ sort: () => any;
25
+ resizeStart: (event: PointerEvent) => any;
26
+ resizeKeydown: (event: KeyboardEvent) => any;
27
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
28
+ onSort?: (() => any) | undefined;
29
+ onResizeStart?: ((event: PointerEvent) => any) | undefined;
30
+ onResizeKeydown?: ((event: KeyboardEvent) => any) | undefined;
31
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
+ declare const _default: typeof __VLS_export;
34
+ export default _default;
35
+ type __VLS_WithSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -1,22 +1,22 @@
1
1
  import { BingTabItem, BingTabValue, BingTabsChangePayload, BingTabsFocusPayload, BingTabsProps } from './BingTabs.types';
2
- declare var __VLS_1: {
2
+ declare var __VLS_10: {
3
3
  item: BingTabItem;
4
4
  active: boolean;
5
5
  disabled: boolean;
6
6
  };
7
7
  type __VLS_Slots = {} & {
8
- item?: (props: typeof __VLS_1) => any;
8
+ item?: (props: typeof __VLS_10) => any;
9
9
  };
10
10
  declare const __VLS_base: import('vue').DefineComponent<BingTabsProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
- "update:modelValue": (value: BingTabValue) => any;
12
11
  change: (payload: BingTabsChangePayload) => any;
13
- focus: (payload: BingTabsFocusPayload) => any;
14
12
  blur: (payload: BingTabsFocusPayload) => any;
13
+ focus: (payload: BingTabsFocusPayload) => any;
14
+ "update:modelValue": (value: BingTabValue) => any;
15
15
  }, string, import('vue').PublicProps, Readonly<BingTabsProps> & Readonly<{
16
- "onUpdate:modelValue"?: ((value: BingTabValue) => any) | undefined;
17
16
  onChange?: ((payload: BingTabsChangePayload) => any) | undefined;
18
- onFocus?: ((payload: BingTabsFocusPayload) => any) | undefined;
19
17
  onBlur?: ((payload: BingTabsFocusPayload) => any) | undefined;
18
+ onFocus?: ((payload: BingTabsFocusPayload) => any) | undefined;
19
+ "onUpdate:modelValue"?: ((value: BingTabValue) => any) | undefined;
20
20
  }>, {
21
21
  disabled: boolean;
22
22
  respectReducedMotion: boolean;
@@ -8,6 +8,7 @@ export interface BingTextareaProps {
8
8
  modelValue?: string;
9
9
  placeholder?: string;
10
10
  disabled?: boolean;
11
+ readonly?: boolean;
11
12
  clearable?: boolean;
12
13
  rows?: number;
13
14
  autosize?: BingTextareaAutosize;
@@ -2,28 +2,29 @@ import { BingTextareaExpose, BingTextareaProps } from './BingTextarea.types';
2
2
  declare const __VLS_export: import('vue').DefineComponent<BingTextareaProps, BingTextareaExpose, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
3
3
  clear: () => any;
4
4
  input: (value: string, event: Event) => any;
5
- "update:modelValue": (value: string) => any;
6
- focus: (event: FocusEvent) => any;
7
5
  blur: (event: FocusEvent) => any;
6
+ focus: (event: FocusEvent) => any;
8
7
  keydown: (event: KeyboardEvent) => any;
8
+ "update:modelValue": (value: string) => any;
9
9
  }, string, import('vue').PublicProps, Readonly<BingTextareaProps> & Readonly<{
10
10
  onClear?: (() => any) | undefined;
11
11
  onInput?: ((value: string, event: Event) => any) | undefined;
12
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
13
- onFocus?: ((event: FocusEvent) => any) | undefined;
14
12
  onBlur?: ((event: FocusEvent) => any) | undefined;
13
+ onFocus?: ((event: FocusEvent) => any) | undefined;
15
14
  onKeydown?: ((event: KeyboardEvent) => any) | undefined;
15
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
16
16
  }>, {
17
17
  disabled: boolean;
18
18
  resize: "none" | "vertical" | "horizontal" | "both";
19
+ id: string;
19
20
  ariaLabel: string;
21
+ name: string;
20
22
  modelValue: string;
21
23
  size: import('./BingTextarea.types').BingTextareaSize;
22
24
  block: boolean;
23
- name: string;
24
- id: string;
25
25
  ariaDescribedby: string;
26
26
  status: "default" | "error" | "success" | "warning";
27
+ readonly: boolean;
27
28
  placeholder: string;
28
29
  clearable: boolean;
29
30
  clearAriaLabel: string;
@@ -19,6 +19,7 @@ export interface BingTooltipSharedOwner {
19
19
  getTooltipId: () => string;
20
20
  getViewportPadding: () => number;
21
21
  getZIndex: () => number;
22
+ isTopLayer: (event: KeyboardEvent) => boolean;
22
23
  hide: (reason?: BingTooltipCloseReason) => void;
23
24
  scheduleClose: (reason: BingTooltipCloseReason) => void;
24
25
  }
@@ -12,12 +12,12 @@ type __VLS_Slots = {} & {
12
12
  default?: (props: typeof __VLS_1) => any;
13
13
  };
14
14
  declare const __VLS_base: import('vue').DefineComponent<BingTooltipProps, BingTooltipExpose, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
- "update:modelValue": (value: boolean) => any;
16
15
  close: (reason: BingTooltipCloseReason) => any;
16
+ "update:modelValue": (value: boolean) => any;
17
17
  open: (reason: BingTooltipOpenReason) => any;
18
18
  }, string, import('vue').PublicProps, Readonly<BingTooltipProps> & Readonly<{
19
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
20
19
  onClose?: ((reason: BingTooltipCloseReason) => any) | undefined;
20
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
21
21
  onOpen?: ((reason: BingTooltipOpenReason) => any) | undefined;
22
22
  }>, {
23
23
  trigger: BingTooltipTrigger | BingTooltipTrigger[];
@@ -25,13 +25,13 @@ declare const __VLS_base: import('vue').DefineComponent<BingTooltipProps, BingTo
25
25
  content: string;
26
26
  maxWidth: string | number;
27
27
  zIndex: number;
28
- glass: boolean;
28
+ id: string;
29
29
  ariaLabel: string;
30
+ glass: boolean;
30
31
  glassBlur: string | number;
31
32
  glassOpacity: number;
32
33
  glassSaturation: number;
33
34
  interactive: boolean;
34
- id: string;
35
35
  offset: number;
36
36
  placement: BingTooltipPlacement;
37
37
  align: BingTooltipAlign;
@@ -2,13 +2,13 @@ import { BingTreeSelectChangePayload, BingTreeSelectModelValue, BingTreeSelectNo
2
2
  declare var __VLS_1: {
3
3
  selectedNodes: BingTreeSelectNode[];
4
4
  placeholder: string;
5
- }, __VLS_83: {
5
+ }, __VLS_130: {
6
6
  node: BingTreeSelectNode;
7
7
  selected: boolean;
8
8
  indeterminate: boolean;
9
9
  depth: number;
10
10
  expanded: boolean;
11
- }, __VLS_90: {
11
+ }, __VLS_137: {
12
12
  node: BingTreeSelectNode;
13
13
  selected: boolean;
14
14
  indeterminate: boolean;
@@ -18,30 +18,31 @@ declare var __VLS_1: {
18
18
  type __VLS_Slots = {} & {
19
19
  value?: (props: typeof __VLS_1) => any;
20
20
  } & {
21
- node?: (props: typeof __VLS_83) => any;
21
+ node?: (props: typeof __VLS_130) => any;
22
22
  } & {
23
- 'node-detail'?: (props: typeof __VLS_90) => any;
23
+ 'node-detail'?: (props: typeof __VLS_137) => any;
24
24
  };
25
25
  declare const __VLS_base: import('vue').DefineComponent<BingTreeSelectProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
26
  clear: () => any;
27
- "update:modelValue": (value: BingTreeSelectModelValue) => any;
28
27
  change: (payload: BingTreeSelectChangePayload) => any;
29
28
  close: () => any;
29
+ "update:modelValue": (value: BingTreeSelectModelValue) => any;
30
30
  open: () => any;
31
31
  collapse: (payload: import('./BingTreeSelect.types').BingTreeSelectExpandPayload) => any;
32
32
  expand: (payload: import('./BingTreeSelect.types').BingTreeSelectExpandPayload) => any;
33
33
  }, string, import('vue').PublicProps, Readonly<BingTreeSelectProps> & Readonly<{
34
34
  onClear?: (() => any) | undefined;
35
- "onUpdate:modelValue"?: ((value: BingTreeSelectModelValue) => any) | undefined;
36
35
  onChange?: ((payload: BingTreeSelectChangePayload) => any) | undefined;
37
36
  onClose?: (() => any) | undefined;
37
+ "onUpdate:modelValue"?: ((value: BingTreeSelectModelValue) => any) | undefined;
38
38
  onOpen?: (() => any) | undefined;
39
39
  onCollapse?: ((payload: import('./BingTreeSelect.types').BingTreeSelectExpandPayload) => any) | undefined;
40
40
  onExpand?: ((payload: import('./BingTreeSelect.types').BingTreeSelectExpandPayload) => any) | undefined;
41
41
  }>, {
42
42
  disabled: boolean;
43
- glass: boolean;
43
+ id: string;
44
44
  ariaLabel: string;
45
+ glass: boolean;
45
46
  modelValue: BingTreeSelectModelValue;
46
47
  size: import('./BingTreeSelect.types').BingTreeSelectSize;
47
48
  block: boolean;
@@ -49,7 +50,6 @@ declare const __VLS_base: import('vue').DefineComponent<BingTreeSelectProps, {},
49
50
  glassBlur: string | number;
50
51
  glassOpacity: number;
51
52
  glassSaturation: number;
52
- id: string;
53
53
  ariaDescribedby: string;
54
54
  status: "default" | "error" | "success" | "warning";
55
55
  placeholder: string;
@@ -5,6 +5,7 @@ export * from './BingCard';
5
5
  export * from './BingCheckbox';
6
6
  export * from './BingCodeBlock';
7
7
  export * from './BingColorPicker';
8
+ export * from './BingCursor';
8
9
  export * from './BingDatePicker';
9
10
  export * from './BingCarouselTransition';
10
11
  export * from './BingDeckTransition';
@@ -0,0 +1,4 @@
1
+ export declare function createClickParticles(): {
2
+ play: (surface: HTMLElement, event: Event) => void;
3
+ clear: () => void;
4
+ };
@@ -0,0 +1,4 @@
1
+ export declare function enterLiquidHover(liquid: HTMLElement): gsap.core.Tween;
2
+ export declare function leaveLiquidHover(liquid: HTMLElement): gsap.core.Tween;
3
+ export declare function resetLiquidHover(liquid: HTMLElement): void;
4
+ export declare function setLiquidHoverOrigin(surface: HTMLElement, liquid: HTMLElement, event: MouseEvent | PointerEvent): void;
@@ -0,0 +1,14 @@
1
+ export declare const panelEnterMotion: {
2
+ readonly duration: 0.18;
3
+ readonly ease: "power3.out";
4
+ };
5
+ export declare const panelLeaveMotion: {
6
+ readonly duration: 0.16;
7
+ readonly ease: "power2.in";
8
+ };
9
+ export declare function getPanelHiddenTransform(placement: 'top' | 'bottom' | 'left' | 'right'): {
10
+ x: number;
11
+ y: number;
12
+ scale: number;
13
+ transformOrigin: string;
14
+ };
@@ -0,0 +1,16 @@
1
+ type PanelPlacement = 'top' | 'bottom' | 'left' | 'right';
2
+ type PanelAlign = 'start' | 'middle' | 'end';
3
+ interface SelectPanelMotionOptions {
4
+ panel: HTMLElement;
5
+ items: HTMLElement[];
6
+ actionRail: HTMLElement | null;
7
+ actionButtons: HTMLElement[];
8
+ placement: PanelPlacement;
9
+ align: PanelAlign;
10
+ /** 密集的文字面板可关闭缩放,仅使用平移和淡入淡出。 */
11
+ scale?: boolean;
12
+ onComplete: () => void;
13
+ }
14
+ export declare function createSelectPanelEnter({ panel, items, actionRail, actionButtons, placement, align, scale, onComplete, }: SelectPanelMotionOptions): gsap.core.Timeline;
15
+ export declare function createSelectPanelLeave({ panel, items, actionRail, actionButtons, placement, scale, onComplete, }: SelectPanelMotionOptions): gsap.core.Timeline;
16
+ export {};
@@ -0,0 +1,6 @@
1
+ import { ObjectDirective } from 'vue';
2
+ /** 碎屑属于应用的短时反馈层,清空键或菜单项卸载不会截断已经接受的点击。 */
3
+ export declare function useClickFeedback(): {
4
+ playClickFeedback: (event: Event, surface?: HTMLElement | null) => void;
5
+ vClickFeedback: ObjectDirective<HTMLElement, boolean | undefined, string, any>;
6
+ };
@@ -0,0 +1,8 @@
1
+ export declare function useControlAttrs(): {
2
+ rootAttrs: () => {
3
+ [k: string]: unknown;
4
+ };
5
+ controlAttrs: () => {
6
+ [k: string]: unknown;
7
+ };
8
+ };