@deep-eye/core 1.3.1 → 1.3.3

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 (89) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +1 -1
  3. package/dist/components/chat/ChatApp.vue.d.ts +65 -8
  4. package/dist/components/chat/ChatApp.vue.d.ts.map +1 -1
  5. package/dist/components/chat/ChatBot.vue.d.ts +5 -1
  6. package/dist/components/chat/ChatBot.vue.d.ts.map +1 -1
  7. package/dist/components/chat/attachments.d.ts +3 -1
  8. package/dist/components/chat/attachments.d.ts.map +1 -1
  9. package/dist/components/chat/cloudConfig.d.ts +6 -0
  10. package/dist/components/chat/cloudConfig.d.ts.map +1 -1
  11. package/dist/components/chat/components/ChatSender.vue.d.ts +14 -2
  12. package/dist/components/chat/components/ChatSender.vue.d.ts.map +1 -1
  13. package/dist/components/chat/components/ChatSessionSidebar.vue.d.ts +6 -2
  14. package/dist/components/chat/components/ChatSessionSidebar.vue.d.ts.map +1 -1
  15. package/dist/components/chat/components/ChatTipMenu.vue.d.ts +4 -3
  16. package/dist/components/chat/components/ChatTipMenu.vue.d.ts.map +1 -1
  17. package/dist/components/chat/components/index.d.ts +1 -1
  18. package/dist/components/chat/components/index.d.ts.map +1 -1
  19. package/dist/components/chat/composables/chatHistoryApi.d.ts +1 -1
  20. package/dist/components/chat/composables/chatHistoryApi.d.ts.map +1 -1
  21. package/dist/components/chat/composables/useChatSessionHistory.d.ts.map +1 -1
  22. package/dist/components/chat/composables/useChatSessionSwitch.d.ts.map +1 -1
  23. package/dist/components/chat/composables/useChatTipMenu.d.ts +4 -2
  24. package/dist/components/chat/composables/useChatTipMenu.d.ts.map +1 -1
  25. package/dist/components/chat/harness/Tooltip.vue.d.ts +1 -1
  26. package/dist/components/chat/harness/Tooltip.vue.d.ts.map +1 -1
  27. package/dist/components/chat/icons/{ChatTipMenuLucideIcon.vue.d.ts → ChatTipMenuAssetIcon.vue.d.ts} +2 -3
  28. package/dist/components/chat/icons/ChatTipMenuAssetIcon.vue.d.ts.map +1 -0
  29. package/dist/components/chat/icons/ChatTipMenuExpertIcon.vue.d.ts +1 -3
  30. package/dist/components/chat/icons/ChatTipMenuExpertIcon.vue.d.ts.map +1 -1
  31. package/dist/components/chat/icons/tipMenuItemIcons.d.ts +1 -3
  32. package/dist/components/chat/icons/tipMenuItemIcons.d.ts.map +1 -1
  33. package/dist/components/chat/mentionEditor.d.ts +7 -2
  34. package/dist/components/chat/mentionEditor.d.ts.map +1 -1
  35. package/dist/components/chat/types.d.ts +46 -13
  36. package/dist/components/chat/types.d.ts.map +1 -1
  37. package/dist/components/chat/utils/tipMenuBuiltin.d.ts +2 -0
  38. package/dist/components/chat/utils/tipMenuBuiltin.d.ts.map +1 -0
  39. package/dist/components/skill/api/skillCloudUrl.d.ts.map +1 -1
  40. package/dist/components/skill/components/ChatSkillCard.vue.d.ts.map +1 -1
  41. package/dist/components/skill/components/ChatSkillCardSkeleton.vue.d.ts.map +1 -1
  42. package/dist/components/skill/components/ChatSkillDetailDialog.vue.d.ts.map +1 -1
  43. package/dist/components/skill/types.d.ts +1 -0
  44. package/dist/components/skill/types.d.ts.map +1 -1
  45. package/dist/components/ui/components/UiDialog.vue.d.ts +1 -1
  46. package/dist/components/ui/components/UiDialog.vue.d.ts.map +1 -1
  47. package/dist/components/ui/components/UiDropdown.vue.d.ts +63 -0
  48. package/dist/components/ui/components/UiDropdown.vue.d.ts.map +1 -0
  49. package/dist/components/ui/components/UiMenu.vue.d.ts +14 -4
  50. package/dist/components/ui/components/UiMenu.vue.d.ts.map +1 -1
  51. package/dist/components/ui/components/UiMenuColumn.vue.d.ts.map +1 -1
  52. package/dist/components/ui/components/UiMenuNestedSubmenu.vue.d.ts +57 -0
  53. package/dist/components/ui/components/UiMenuNestedSubmenu.vue.d.ts.map +1 -0
  54. package/dist/components/ui/components/UiMenuSubmenuColumn.vue.d.ts +14 -4
  55. package/dist/components/ui/components/UiMenuSubmenuColumn.vue.d.ts.map +1 -1
  56. package/dist/components/ui/components/UiMenuSubmenuList.vue.d.ts +26 -0
  57. package/dist/components/ui/components/UiMenuSubmenuList.vue.d.ts.map +1 -0
  58. package/dist/components/ui/components/UiTabs.vue.d.ts.map +1 -1
  59. package/dist/components/ui/components/index.d.ts +1 -0
  60. package/dist/components/ui/components/index.d.ts.map +1 -1
  61. package/dist/components/ui/composables/floatingPosition.d.ts +8 -1
  62. package/dist/components/ui/composables/floatingPosition.d.ts.map +1 -1
  63. package/dist/components/ui/composables/index.d.ts +3 -0
  64. package/dist/components/ui/composables/index.d.ts.map +1 -1
  65. package/dist/components/ui/composables/useUiDropdown.d.ts +48 -0
  66. package/dist/components/ui/composables/useUiDropdown.d.ts.map +1 -0
  67. package/dist/components/ui/composables/useUiMenuFloating.d.ts +30 -7
  68. package/dist/components/ui/composables/useUiMenuFloating.d.ts.map +1 -1
  69. package/dist/components/ui/index.d.ts +1 -0
  70. package/dist/components/ui/index.d.ts.map +1 -1
  71. package/dist/components/ui/types.d.ts +68 -3
  72. package/dist/components/ui/types.d.ts.map +1 -1
  73. package/dist/components/ui/utils/index.d.ts +3 -0
  74. package/dist/components/ui/utils/index.d.ts.map +1 -0
  75. package/dist/components/ui/utils/mapDropdownMenuItems.d.ts +13 -0
  76. package/dist/components/ui/utils/mapDropdownMenuItems.d.ts.map +1 -0
  77. package/dist/components/ui/utils/menuSubmenu.d.ts +6 -0
  78. package/dist/components/ui/utils/menuSubmenu.d.ts.map +1 -0
  79. package/dist/{index-DIqXNj0-.cjs → index-B9PZy7-X.cjs} +1 -1
  80. package/dist/{index-Fh8kY_oA.js → index-BzC5q4TB.js} +1 -1
  81. package/dist/{index-D5HjpyfA.js → index-ChJLMu-n.js} +30482 -29845
  82. package/dist/{index-CU9fl-AE.js → index-CzUk6DJO.js} +1 -1
  83. package/dist/{index-B6ipa11F.cjs → index-DWgzqR7o.cjs} +1 -1
  84. package/dist/{index-CQAo2jP4.cjs → index-Dsb0ILVU.cjs} +177 -182
  85. package/dist/index.cjs +1 -1
  86. package/dist/index.js +248 -237
  87. package/dist/style.css +2 -2
  88. package/package.json +1 -1
  89. package/dist/components/chat/icons/ChatTipMenuLucideIcon.vue.d.ts.map +0 -1
@@ -0,0 +1,57 @@
1
+ import { type UiMenuPlacement } from '../composables';
2
+ import type { UiMenuItem, UiMenuSubItem } from '../types';
3
+ type __VLS_Props = {
4
+ open: boolean;
5
+ anchorRow: HTMLElement | null;
6
+ item: UiMenuItem;
7
+ keyword: string;
8
+ placement?: UiMenuPlacement;
9
+ /** 仅首层 flyout 需避让根级主菜单;深层 nested 只靠 viewport flip */
10
+ avoidRootMenuCollision?: boolean;
11
+ forceHidden?: boolean;
12
+ zIndex?: number;
13
+ };
14
+ declare var __VLS_20: {
15
+ item: UiMenuItem;
16
+ };
17
+ type __VLS_Slots = {} & {
18
+ footer?: (props: typeof __VLS_20) => any;
19
+ };
20
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
21
+ panelRef: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
22
+ referenceHidden: import("vue").Ref<boolean, boolean>;
23
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
+ select: (subItem: UiMenuSubItem) => any;
25
+ "expand-nested": (payload: {
26
+ subItem: UiMenuSubItem;
27
+ row: HTMLElement;
28
+ }) => any;
29
+ "collapse-nested": () => any;
30
+ "load-more": () => any;
31
+ "update:keyword": (value: string) => any;
32
+ "reference-hidden": (hidden: boolean) => any;
33
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
34
+ onSelect?: ((subItem: UiMenuSubItem) => any) | undefined;
35
+ "onExpand-nested"?: ((payload: {
36
+ subItem: UiMenuSubItem;
37
+ row: HTMLElement;
38
+ }) => any) | undefined;
39
+ "onCollapse-nested"?: (() => any) | undefined;
40
+ "onLoad-more"?: (() => any) | undefined;
41
+ "onUpdate:keyword"?: ((value: string) => any) | undefined;
42
+ "onReference-hidden"?: ((hidden: boolean) => any) | undefined;
43
+ }>, {
44
+ zIndex: number;
45
+ placement: UiMenuPlacement;
46
+ avoidRootMenuCollision: boolean;
47
+ forceHidden: boolean;
48
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
49
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
50
+ declare const _default: typeof __VLS_export;
51
+ export default _default;
52
+ type __VLS_WithSlots<T, S> = T & {
53
+ new (): {
54
+ $slots: S;
55
+ };
56
+ };
57
+ //# sourceMappingURL=UiMenuNestedSubmenu.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiMenuNestedSubmenu.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/components/UiMenuNestedSubmenu.vue"],"names":[],"mappings":"AA0JA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAIzD,KAAK,WAAW,GAAG;IACf,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,qDAAqD;IACrD,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC;AAsNJ,QAAA,IAAI,QAAQ;;CAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAO/C,QAAA,MAAM,UAAU;;;;;;iBAjNwB,aAAa;aAAO,WAAW;;;;;;;;;iBAA/B,aAAa;aAAO,WAAW;;;;;;;YAf1D,MAAM;eAJH,eAAe;4BAEF,OAAO;iBAClB,OAAO;6EAsOvB,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -3,20 +3,30 @@ type __VLS_Props = {
3
3
  item: UiMenuItem;
4
4
  keyword: string;
5
5
  };
6
- declare var __VLS_37: {
6
+ declare var __VLS_21: {
7
7
  item: UiMenuItem;
8
8
  };
9
9
  type __VLS_Slots = {} & {
10
- footer?: (props: typeof __VLS_37) => any;
10
+ footer?: (props: typeof __VLS_21) => any;
11
11
  };
12
12
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
13
  select: (subItem: UiMenuSubItem) => any;
14
- "update:keyword": (value: string) => any;
14
+ "expand-nested": (payload: {
15
+ subItem: UiMenuSubItem;
16
+ row: HTMLElement;
17
+ }) => any;
18
+ "collapse-nested": () => any;
15
19
  "load-more": () => any;
20
+ "update:keyword": (value: string) => any;
16
21
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
22
  onSelect?: ((subItem: UiMenuSubItem) => any) | undefined;
18
- "onUpdate:keyword"?: ((value: string) => any) | undefined;
23
+ "onExpand-nested"?: ((payload: {
24
+ subItem: UiMenuSubItem;
25
+ row: HTMLElement;
26
+ }) => any) | undefined;
27
+ "onCollapse-nested"?: (() => any) | undefined;
19
28
  "onLoad-more"?: (() => any) | undefined;
29
+ "onUpdate:keyword"?: ((value: string) => any) | undefined;
20
30
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
31
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
32
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"UiMenuSubmenuColumn.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/components/UiMenuSubmenuColumn.vue"],"names":[],"mappings":"AAwYA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAOzD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAC;AAubF,QAAA,IAAI,QAAQ;;CAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU;;;;;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"UiMenuSubmenuColumn.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/components/UiMenuSubmenuColumn.vue"],"names":[],"mappings":"AAkIA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAIzD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAC;AAsMF,QAAA,IAAI,QAAQ;;CAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU;;;iBAvMwB,aAAa;aAAO,WAAW;;;;;;;;iBAA/B,aAAa;aAAO,WAAW;;;;;kFA0MrE,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { UiMenuSubItem, UiMenuSubmenu } from '../types';
2
+ type __VLS_Props = {
3
+ submenu: UiMenuSubmenu;
4
+ selectedId?: string;
5
+ selectedIds?: readonly string[];
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ select: (subItem: UiMenuSubItem) => any;
9
+ "expand-nested": (payload: {
10
+ subItem: UiMenuSubItem;
11
+ row: HTMLElement;
12
+ }) => any;
13
+ "collapse-nested": () => any;
14
+ "load-more": () => any;
15
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ onSelect?: ((subItem: UiMenuSubItem) => any) | undefined;
17
+ "onExpand-nested"?: ((payload: {
18
+ subItem: UiMenuSubItem;
19
+ row: HTMLElement;
20
+ }) => any) | undefined;
21
+ "onCollapse-nested"?: (() => any) | undefined;
22
+ "onLoad-more"?: (() => any) | undefined;
23
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
26
+ //# sourceMappingURL=UiMenuSubmenuList.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiMenuSubmenuList.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/components/UiMenuSubmenuList.vue"],"names":[],"mappings":"AA8XA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAO5D,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,aAAa,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,CAAC;AAkcF,QAAA,MAAM,YAAY;;;iBA7bsB,aAAa;aAAO,WAAW;;;;;;;iBAA/B,aAAa;aAAO,WAAW;;;;kFAgcrE,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UiTabs.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/components/UiTabs.vue"],"names":[],"mappings":"AA4PA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAIrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,KAAK,EAAE,CAAA;CACvB,CAAC;AAkFF,KAAK,gBAAgB,GAAG;IACxB,gBAAgB,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAoHxD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"UiTabs.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/components/UiTabs.vue"],"names":[],"mappings":"AA8RA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAIrC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,KAAK,EAAE,CAAA;CACvB,CAAC;AAkIF,KAAK,gBAAgB,GAAG;IACxB,gBAAgB,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAkHxD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -8,6 +8,7 @@ export { default as UiImage } from './UiImage.vue';
8
8
  export { default as UiMenu } from './UiMenu.vue';
9
9
  export { default as UiMenuColumn } from './UiMenuColumn.vue';
10
10
  export { default as UiMenuSubmenuColumn } from './UiMenuSubmenuColumn.vue';
11
+ export { default as UiDropdown } from './UiDropdown.vue';
11
12
  /** @deprecated 使用 UiDialog */
12
13
  export { default as ChatDialog } from './UiDialog.vue';
13
14
  /** @deprecated 使用 UiTabs */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAE1E,8BAA8B;AAC9B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,4BAA4B;AAC5B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,cAAc,CAAA;AACvD,gCAAgC;AAChC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD,8BAA8B;AAC9B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,4BAA4B;AAC5B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,cAAc,CAAA;AACvD,gCAAgC;AAChC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -6,10 +6,17 @@ interface ComputePositionOptions {
6
6
  placement: UiMenuPlacement;
7
7
  gap?: number;
8
8
  padding?: number;
9
+ /**
10
+ * 水平定位时并入的外边缘(如行所在的父级 `.ui-menu` 面板)。
11
+ * 子菜单若只相对行定位,会因面板 padding 盖住父面板右缘。
12
+ */
13
+ mainAxisEdge?: Element | null;
14
+ /** 避让其它已打开 menu 面板(多级子菜单不与主菜单重叠) */
15
+ collisionElements?: Element[];
9
16
  }
10
17
  /** 参考 @floating-ui/dom getOverflowAncestors */
11
18
  export declare function getOverflowAncestors(element: Element): HTMLElement[];
12
- /** 参考 @floating-ui/core hide middleware:reference 与任一 clipping 边界无交集即视为 hidden */
19
+ /** 参考 @floating-ui/core hide middleware:reference clipping 边界无交集即 hidden */
13
20
  export declare function isReferenceHidden(reference: Element, padding?: number): boolean;
14
21
  export declare function computeFloatingPosition(reference: Element, floating: Element, options: ComputePositionOptions): {
15
22
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"floatingPosition.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/composables/floatingPosition.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAC5D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,CAAA;AAC7C,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,GAAG,UAAU,IAAI,eAAe,EAAE,CAAA;AAS7E,UAAU,sBAAsB;IAC9B,SAAS,EAAE,eAAe,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AA4CD,+CAA+C;AAC/C,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAQpE;AAgBD,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,SAAI,GAAG,OAAO,CAU1E;AAoJD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,sBAAsB,GAC9B;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAsB1B"}
1
+ {"version":3,"file":"floatingPosition.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/composables/floatingPosition.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAC5D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,CAAA;AAC7C,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,GAAG,UAAU,IAAI,eAAe,EAAE,CAAA;AAS7E,UAAU,sBAAsB;IAC9B,SAAS,EAAE,eAAe,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAA;CAC9B;AAyDD,+CAA+C;AAC/C,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAQpE;AAgBD,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,SAAI,GAAG,OAAO,CAyB1E;AAiLD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,sBAAsB,GAC9B;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAkC1B"}
@@ -1,5 +1,8 @@
1
1
  export { useUiMenuPanel, useUiMenuPanelInject, useUiMenuPanelProvide, useExpandingItem, } from './useUiMenuPanel';
2
2
  export type { UiMenuPanelContext } from './useUiMenuPanel';
3
3
  export { useUiMenuFloating } from './useUiMenuFloating';
4
+ export { useFloatingPair } from './useUiMenuFloating';
5
+ export { useUiDropdown } from './useUiDropdown';
4
6
  export type { UiMenuPlacement } from './floatingPosition';
7
+ export type { UseUiDropdownOptions, UseUiDropdownReturn, UiDropdownTriggerAttrs, } from './useUiDropdown';
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { type ComputedRef, type MaybeRefOrGetter, type Ref } from 'vue';
2
+ import type { UiDropdownItemClickPayload, UiDropdownMenuItem, UiMenuItem } from '../types';
3
+ import type { UiMenuPlacement } from './floatingPosition';
4
+ export interface UseUiDropdownOptions {
5
+ items?: MaybeRefOrGetter<readonly UiDropdownMenuItem[]>;
6
+ leadingItems?: MaybeRefOrGetter<readonly UiMenuItem[]>;
7
+ enabled?: MaybeRefOrGetter<boolean>;
8
+ disabled?: MaybeRefOrGetter<boolean>;
9
+ open?: Ref<boolean>;
10
+ /** 外部 trigger;不传时由 Menu 默认插槽自动绑定 */
11
+ triggerRef?: Ref<HTMLElement | null>;
12
+ placement?: MaybeRefOrGetter<UiMenuPlacement>;
13
+ submenuPlacement?: MaybeRefOrGetter<UiMenuPlacement>;
14
+ title?: MaybeRefOrGetter<string>;
15
+ onItemClick?: (payload: UiDropdownItemClickPayload) => void;
16
+ /** 子菜单展开时回调(含多级 path,如 `move/folder1`) */
17
+ onSubmenuOpen?: (itemId: string, path?: string) => void;
18
+ onOpen?: () => void;
19
+ onClose?: () => void;
20
+ }
21
+ export interface UiDropdownTriggerAttrs {
22
+ 'aria-haspopup': 'menu';
23
+ 'aria-expanded': boolean;
24
+ }
25
+ export declare function useUiDropdown(options?: UseUiDropdownOptions): {
26
+ Menu: import("vue").ComponentOptions<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, any, any, any, string, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions> | {
27
+ new (...args: any[]): any;
28
+ __isFragment?: never;
29
+ __isTeleport?: never;
30
+ __isSuspense?: never;
31
+ };
32
+ /** @deprecated 优先使用 Menu 包裹 trigger;Dropdown 仅渲染面板 */
33
+ Dropdown: import("vue").ComponentOptions<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, any, any, any, string, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions> | {
34
+ new (...args: any[]): any;
35
+ __isFragment?: never;
36
+ __isTeleport?: never;
37
+ __isSuspense?: never;
38
+ };
39
+ open: Ref<boolean, boolean>;
40
+ triggerRef: Ref<HTMLElement | null, HTMLElement | null>;
41
+ enabled: ComputedRef<boolean>;
42
+ toggle: () => void;
43
+ close: () => void;
44
+ openDropdown: () => void;
45
+ triggerAttrs: ComputedRef<UiDropdownTriggerAttrs>;
46
+ };
47
+ export type UseUiDropdownReturn = ReturnType<typeof useUiDropdown>;
48
+ //# sourceMappingURL=useUiDropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUiDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/composables/useUiDropdown.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,GAAG,EAET,MAAM,KAAK,CAAA;AAEZ,OAAO,KAAK,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,gBAAgB,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAA;IACvD,YAAY,CAAC,EAAE,gBAAgB,CAAC,SAAS,UAAU,EAAE,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACnB,oCAAoC;IACpC,UAAU,CAAC,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACpC,SAAS,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAA;IAC7C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAA;IACpD,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAChC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,IAAI,CAAA;IAC3D,0CAA0C;IAC1C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB;;;;;;;IA2J5D,sDAAsD;;;;;;;;;;;;;;EAUzD;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA"}
@@ -1,21 +1,44 @@
1
1
  import { type ComputedRef, type MaybeRefOrGetter, type Ref } from 'vue';
2
2
  import { type UiMenuPlacement } from './floatingPosition';
3
3
  export type { UiMenuPlacement } from './floatingPosition';
4
+ /** Floating UI 根菜单常用 mainAxis: 4 */
5
+ declare const MENU_ANCHOR_GAP = 4;
6
+ /** Floating UI nested submenu:mainAxis 小间隙 + mainAxisEdge 贴齐父面板外缘 */
7
+ declare const SUBMENU_GAP = 4;
8
+ export { MENU_ANCHOR_GAP, SUBMENU_GAP };
9
+ interface FloatingPairOptions {
10
+ open: Ref<boolean> | ComputedRef<boolean>;
11
+ reference: MaybeRefOrGetter<HTMLElement | null>;
12
+ floating: Ref<HTMLElement | null>;
13
+ placement: MaybeRefOrGetter<UiMenuPlacement>;
14
+ gap: number;
15
+ padding: number;
16
+ zIndex: number;
17
+ /** 水平定位外边缘(子菜单:行所在的父级面板) */
18
+ mainAxisEdge?: MaybeRefOrGetter<HTMLElement | null>;
19
+ /** 避让其它 menu 面板(多级子菜单) */
20
+ collisionElements?: MaybeRefOrGetter<Element[]>;
21
+ }
22
+ /**
23
+ * 结构对齐 @floating-ui/vue useFloating:
24
+ * - update 只在 reference + floating 齐备时计算
25
+ * - watch flush: 'sync'
26
+ * - whileElementsMounted:scroll / resize / ResizeObserver(VueUse)
27
+ * - transform: false → 用 left/top,避免与 UiMenu Transition 的 transform 入场动画冲突
28
+ */
29
+ export declare function useFloatingPair(options: FloatingPairOptions): {
30
+ floatingStyles: ComputedRef<Record<string, string | number>>;
31
+ referenceHidden: Ref<boolean>;
32
+ update: () => void;
33
+ };
4
34
  export declare function useUiMenuFloating(options: {
5
35
  open: Ref<boolean>;
6
36
  anchor: MaybeRefOrGetter<HTMLElement | null>;
7
37
  menuRef: Ref<HTMLElement | null>;
8
- submenuRef: Ref<HTMLElement | null>;
9
- hoveredRowRef: Ref<HTMLElement | null>;
10
- hasSubmenu: Ref<boolean>;
11
38
  placement?: MaybeRefOrGetter<UiMenuPlacement>;
12
- submenuPlacement?: MaybeRefOrGetter<UiMenuPlacement>;
13
39
  }): {
14
40
  menuStyle: ComputedRef<Record<string, string | number>>;
15
- submenuStyle: ComputedRef<Record<string, string | number>>;
16
41
  menuReferenceHidden: Ref<boolean, boolean>;
17
- submenuReferenceHidden: Ref<boolean, boolean>;
18
42
  updateMenuPosition: () => void;
19
- updateSubmenuPosition: () => void;
20
43
  };
21
44
  //# sourceMappingURL=useUiMenuFloating.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUiMenuFloating.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/composables/useUiMenuFloating.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,GAAG,EAGT,MAAM,KAAK,CAAA;AAEZ,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AA0IzD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAClB,MAAM,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC5C,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAChC,UAAU,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACnC,aAAa,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACtC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACxB,SAAS,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAA;IAC7C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAA;CACrD;;;;;8BAvHe,IAAI;iCAAJ,IAAI;EAsJnB"}
1
+ {"version":3,"file":"useUiMenuFloating.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/composables/useUiMenuFloating.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,GAAG,EAGT,MAAM,KAAK,CAAA;AAEZ,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGzD,oCAAoC;AACpC,QAAA,MAAM,eAAe,IAAI,CAAA;AACzB,qEAAqE;AACrE,QAAA,MAAM,WAAW,IAAI,CAAA;AAGrB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA;AAEvC,UAAU,mBAAmB;IAC3B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IACzC,SAAS,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC/C,QAAQ,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACjC,SAAS,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAA;IAC5C,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACnD,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAA;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG;IAC7D,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;IAC5D,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAyHA;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAClB,MAAM,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC5C,OAAO,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAChC,SAAS,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAA;CAC9C;;;8BAjIe,IAAI;EAiJnB"}
@@ -1,4 +1,5 @@
1
1
  export * from './types';
2
2
  export * from './composables';
3
3
  export * from './components';
4
+ export * from './utils';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"}
@@ -3,11 +3,32 @@ export interface UiTab {
3
3
  key: string;
4
4
  label: string;
5
5
  }
6
+ /** 菜单项交互字段(主菜单 / 子菜单共用) */
7
+ export interface UiMenuItemBehavior {
8
+ /** 点击后是否关闭菜单;默认 leaf 关闭,仅有 submenu 且不可点时保持打开 */
9
+ closeOnClick?: boolean;
10
+ /** 有 submenu 时仍允许点击触发 click/select(如文件夹父节点可移动) */
11
+ clickableWithSubmenu?: boolean;
12
+ /** 行级 loading(如 hover 懒加载文件夹树) */
13
+ loading?: boolean;
14
+ /** 原生 title tooltip */
15
+ title?: string;
16
+ /** 宿主自定义载荷,item-click 原样回传 */
17
+ payload?: unknown;
18
+ }
19
+ /** 菜单图标:Component 或图片 URL 二选一 */
20
+ export interface UiMenuIconFields {
21
+ icon?: Component;
22
+ iconUrl?: string;
23
+ }
6
24
  /** 子菜单选项 */
7
- export interface UiMenuSubItem {
25
+ export interface UiMenuSubItem extends UiMenuItemBehavior {
8
26
  id: string;
9
27
  label: string;
10
28
  avatar?: string;
29
+ disabled?: boolean;
30
+ /** 嵌套子菜单(多级 flyout) */
31
+ submenu?: UiMenuSubmenu;
11
32
  }
12
33
  /** 子菜单配置(由外层 items[].submenu 传入) */
13
34
  export interface UiMenuSubmenu {
@@ -40,16 +61,60 @@ export interface UiMenuSubmenu {
40
61
  height?: number;
41
62
  emptyText?: string;
42
63
  noResultText?: string;
64
+ /** 每次 hover 展开都触发 submenu-open(如移动至文件夹需重复拉树) */
65
+ reloadOnExpand?: boolean;
43
66
  }
44
67
  export type UiImageFit = import('./uiImageLazy').UiImageFit;
68
+ /** Dropdown 子菜单项(支持 children / submenu 嵌套) */
69
+ export interface UiDropdownMenuSubItem extends UiMenuItemBehavior {
70
+ id: string;
71
+ label: string;
72
+ avatar?: string;
73
+ disabled?: boolean;
74
+ children?: readonly UiDropdownMenuSubItem[];
75
+ submenu?: UiDropdownMenuSubmenuOptions;
76
+ }
77
+ /** Dropdown 子菜单配置(loading 等可响应式更新) */
78
+ export interface UiDropdownMenuSubmenuOptions {
79
+ children?: readonly UiDropdownMenuSubItem[];
80
+ loading?: boolean;
81
+ loadingMore?: boolean;
82
+ hasMore?: boolean;
83
+ searchable?: boolean;
84
+ searchPlaceholder?: string;
85
+ lazy?: boolean;
86
+ virtualScroll?: boolean;
87
+ emptyText?: string;
88
+ noResultText?: string;
89
+ reloadOnExpand?: boolean;
90
+ }
91
+ /** Dropdown 菜单项(数据驱动,对齐 EP dropdown items 用法) */
92
+ export interface UiDropdownMenuItem extends UiMenuItemBehavior, UiMenuIconFields {
93
+ id: string;
94
+ label: string;
95
+ disabled?: boolean;
96
+ /** 在此项上方渲染分割线 */
97
+ divided?: boolean;
98
+ /** 子菜单项;与 submenu.children 等价,submenu 可携带 loading 等动态字段 */
99
+ children?: readonly UiDropdownMenuSubItem[];
100
+ submenu?: UiDropdownMenuSubmenuOptions;
101
+ }
45
102
  /** 主菜单项(外层传入数组驱动,对齐 EP dropdown items 数据化用法) */
46
- export interface UiMenuItem {
103
+ export interface UiMenuItem extends UiMenuItemBehavior, UiMenuIconFields {
47
104
  id: string;
48
105
  label: string;
49
- icon?: Component;
50
106
  disabled?: boolean;
51
107
  /** 在此项上方渲染分割线 */
52
108
  divided?: boolean;
53
109
  submenu?: UiMenuSubmenu;
54
110
  }
111
+ /** UiDropdown item-click 事件载荷 */
112
+ export interface UiDropdownItemClickPayload {
113
+ /** 选中 id 或 `root:child:leaf` 路径 */
114
+ id: string;
115
+ path?: string;
116
+ payload?: unknown;
117
+ item: UiMenuItem;
118
+ subItem?: UiMenuSubItem;
119
+ }
55
120
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ui/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAED,YAAY;AACZ,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;IACnC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC/B,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,eAAe,EAAE,UAAU,CAAA;AAE3D,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ui/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './mapDropdownMenuItems';
2
+ export { hasSubmenuContent, isMenuItemClickable, shouldCloseMenuOnItemClick, subItemHasSubmenu, } from './menuSubmenu';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,eAAe,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { UiDropdownMenuItem, UiDropdownItemClickPayload, UiMenuItem, UiMenuSubItem } from '../types';
2
+ export declare function mapDropdownMenuItemToUiMenuItem(item: UiDropdownMenuItem, options?: {
3
+ divided?: boolean;
4
+ }): UiMenuItem;
5
+ export declare function mapDropdownMenuItemsToUiMenuItems(items: readonly UiDropdownMenuItem[], leadingCount?: number): UiMenuItem[];
6
+ /** 子菜单选中 id 路径 → item-click 的 `a:b:c` 格式 */
7
+ export declare function formatDropdownSubmenuSelectionPath(rootItemId: string, path?: string, leafId?: string): string;
8
+ export declare function buildDropdownItemClickPayload(options: {
9
+ item: UiMenuItem;
10
+ subItem?: UiMenuSubItem;
11
+ path?: string;
12
+ }): UiDropdownItemClickPayload;
13
+ //# sourceMappingURL=mapDropdownMenuItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapDropdownMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/utils/mapDropdownMenuItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAElB,0BAA0B,EAC1B,UAAU,EACV,aAAa,EAEd,MAAM,UAAU,CAAA;AAmDjB,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,UAAU,CAYZ;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,SAAS,kBAAkB,EAAE,EACpC,YAAY,SAAI,GACf,UAAU,EAAE,CAMd;AAED,4CAA4C;AAC5C,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAKR;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,0BAA0B,CAS7B"}
@@ -0,0 +1,6 @@
1
+ import type { UiMenuItem, UiMenuSubItem, UiMenuSubmenu } from '../types';
2
+ export declare function subItemHasSubmenu(sub: UiMenuSubItem): boolean;
3
+ export declare function hasSubmenuContent(submenu?: UiMenuSubmenu): boolean;
4
+ export declare function isMenuItemClickable(item: Pick<UiMenuItem, 'submenu' | 'clickableWithSubmenu'>): boolean;
5
+ export declare function shouldCloseMenuOnItemClick(item: Pick<UiMenuItem, 'submenu' | 'closeOnClick' | 'clickableWithSubmenu'>): boolean;
6
+ //# sourceMappingURL=menuSubmenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menuSubmenu.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/utils/menuSubmenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAE7D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAKlE;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,sBAAsB,CAAC,GACzD,OAAO,CAGT;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,cAAc,GAAG,sBAAsB,CAAC,GAC1E,OAAO,CAKT"}
@@ -1,4 +1,4 @@
1
- "use strict";const ap=require("./index-CQAo2jP4.cjs"),Wat=require("./index-Bh4xn5LB.cjs"),jat=require("vue");function Hat(zu,fv){for(var oo=0;oo<fv.length;oo++){const ui=fv[oo];if(typeof ui!="string"&&!Array.isArray(ui)){for(const ao in ui)if(ao!=="default"&&!(ao in zu)){const so=Object.getOwnPropertyDescriptor(ui,ao);so&&Object.defineProperty(zu,ao,so.get?so:{enumerable:!0,get:()=>ui[ao]})}}}return Object.freeze(Object.defineProperty(zu,Symbol.toStringTag,{value:"Module"}))}var BO={exports:{}};(function(zu,fv){(function(oo,ui){zu.exports=ui(Wat.requireLib(),jat)})(ap.commonjsGlobal,function(oo,ui){var ao=function(n,e){return ao=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])},ao(n,e)};function so(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ao(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Dt=function(){return Dt=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},Dt.apply(this,arguments)};function gn(n,e,t,r){function i(o){return o instanceof t?o:new t(function(a){a(o)})}return new(t||(t=Promise))(function(o,a){function s(c){try{u(r.next(c))}catch(h){a(h)}}function l(c){try{u(r.throw(c))}catch(h){a(h)}}function u(c){c.done?o(c.value):i(c.value).then(s,l)}u((r=r.apply(n,[])).next())})}function vn(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(t=0)),t;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){t.label=u[1];break}if(u[0]===6&&t.label<o[1]){t.label=o[1],o=u;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(u);break}o[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(n,t)}catch(c){u=[6,c],i=0}finally{r=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Vu(n,e,t){for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return n.concat(o||Array.prototype.slice.call(e))}typeof SuppressedError=="function"&&SuppressedError;var lo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof ap.commonjsGlobal<"u"?ap.commonjsGlobal:typeof self<"u"?self:{};function GO(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function sp(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var ow={exports:{}};/*!
1
+ "use strict";const ap=require("./index-Dsb0ILVU.cjs"),Wat=require("./index-Bh4xn5LB.cjs"),jat=require("vue");function Hat(zu,fv){for(var oo=0;oo<fv.length;oo++){const ui=fv[oo];if(typeof ui!="string"&&!Array.isArray(ui)){for(const ao in ui)if(ao!=="default"&&!(ao in zu)){const so=Object.getOwnPropertyDescriptor(ui,ao);so&&Object.defineProperty(zu,ao,so.get?so:{enumerable:!0,get:()=>ui[ao]})}}}return Object.freeze(Object.defineProperty(zu,Symbol.toStringTag,{value:"Module"}))}var BO={exports:{}};(function(zu,fv){(function(oo,ui){zu.exports=ui(Wat.requireLib(),jat)})(ap.commonjsGlobal,function(oo,ui){var ao=function(n,e){return ao=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])},ao(n,e)};function so(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ao(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Dt=function(){return Dt=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},Dt.apply(this,arguments)};function gn(n,e,t,r){function i(o){return o instanceof t?o:new t(function(a){a(o)})}return new(t||(t=Promise))(function(o,a){function s(c){try{u(r.next(c))}catch(h){a(h)}}function l(c){try{u(r.throw(c))}catch(h){a(h)}}function u(c){c.done?o(c.value):i(c.value).then(s,l)}u((r=r.apply(n,[])).next())})}function vn(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(t=0)),t;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){t.label=u[1];break}if(u[0]===6&&t.label<o[1]){t.label=o[1],o=u;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(u);break}o[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(n,t)}catch(c){u=[6,c],i=0}finally{r=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Vu(n,e,t){for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return n.concat(o||Array.prototype.slice.call(e))}typeof SuppressedError=="function"&&SuppressedError;var lo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof ap.commonjsGlobal<"u"?ap.commonjsGlobal:typeof self<"u"?self:{};function GO(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function sp(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var ow={exports:{}};/*!
2
2
 
3
3
  JSZip v3.10.1 - A JavaScript class for generating and reading zip files
4
4
  <http://stuartk.com/jszip>
@@ -1,4 +1,4 @@
1
- import { g as Pn, c as it } from "./index-D5HjpyfA.js";
1
+ import { g as Pn, c as it } from "./index-ChJLMu-n.js";
2
2
  import { r as An } from "./index-BuN8GnS7.js";
3
3
  import * as En from "vue";
4
4
  function Tn(Ie, Ye) {