straw-ui-vue 0.1.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 (200) hide show
  1. package/README.md +42 -0
  2. package/dist/_virtual/_plugin-vue_export-helper.cjs +1 -0
  3. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  4. package/dist/components/st-button/index.d.ts +162 -0
  5. package/dist/components/st-button/st-button.vue.cjs +1 -0
  6. package/dist/components/st-button/st-button.vue.d.ts +29 -0
  7. package/dist/components/st-button/st-button.vue.js +5 -0
  8. package/dist/components/st-button/st-button.vue_vue_type_script_setup_true_lang.cjs +1 -0
  9. package/dist/components/st-button/st-button.vue_vue_type_script_setup_true_lang.js +81 -0
  10. package/dist/components/st-button/types.d.ts +49 -0
  11. package/dist/components/st-button.cjs +1 -0
  12. package/dist/components/st-button.js +6 -0
  13. package/dist/components/st-checkbox/index.d.ts +153 -0
  14. package/dist/components/st-checkbox/st-checkbox.vue.cjs +1 -0
  15. package/dist/components/st-checkbox/st-checkbox.vue.d.ts +27 -0
  16. package/dist/components/st-checkbox/st-checkbox.vue.js +5 -0
  17. package/dist/components/st-checkbox/st-checkbox.vue_vue_type_script_setup_true_lang.cjs +1 -0
  18. package/dist/components/st-checkbox/st-checkbox.vue_vue_type_script_setup_true_lang.js +109 -0
  19. package/dist/components/st-checkbox/types.d.ts +20 -0
  20. package/dist/components/st-checkbox-group/index.d.ts +171 -0
  21. package/dist/components/st-checkbox-group/st-checkbox-group.vue.cjs +1 -0
  22. package/dist/components/st-checkbox-group/st-checkbox-group.vue.d.ts +29 -0
  23. package/dist/components/st-checkbox-group/st-checkbox-group.vue.js +5 -0
  24. package/dist/components/st-checkbox-group/st-checkbox-group.vue_vue_type_script_setup_true_lang.cjs +1 -0
  25. package/dist/components/st-checkbox-group/st-checkbox-group.vue_vue_type_script_setup_true_lang.js +63 -0
  26. package/dist/components/st-checkbox-group/types.d.ts +43 -0
  27. package/dist/components/st-checkbox-group.cjs +1 -0
  28. package/dist/components/st-checkbox-group.js +6 -0
  29. package/dist/components/st-checkbox.cjs +1 -0
  30. package/dist/components/st-checkbox.js +6 -0
  31. package/dist/components/st-dialog/index.d.ts +243 -0
  32. package/dist/components/st-dialog/st-dialog.vue.cjs +1 -0
  33. package/dist/components/st-dialog/st-dialog.vue.d.ts +41 -0
  34. package/dist/components/st-dialog/st-dialog.vue.js +5 -0
  35. package/dist/components/st-dialog/st-dialog.vue_vue_type_script_setup_true_lang.cjs +1 -0
  36. package/dist/components/st-dialog/st-dialog.vue_vue_type_script_setup_true_lang.js +175 -0
  37. package/dist/components/st-dialog/types.d.ts +29 -0
  38. package/dist/components/st-dialog.cjs +1 -0
  39. package/dist/components/st-dialog.js +6 -0
  40. package/dist/components/st-input/index.d.ts +315 -0
  41. package/dist/components/st-input/st-input.vue.cjs +1 -0
  42. package/dist/components/st-input/st-input.vue.d.ts +48 -0
  43. package/dist/components/st-input/st-input.vue.js +7 -0
  44. package/dist/components/st-input/st-input.vue_vue_type_script_setup_true_lang.cjs +1 -0
  45. package/dist/components/st-input/st-input.vue_vue_type_script_setup_true_lang.js +146 -0
  46. package/dist/components/st-input/types.d.ts +68 -0
  47. package/dist/components/st-input.cjs +1 -0
  48. package/dist/components/st-input.js +6 -0
  49. package/dist/components/st-menu/index.d.ts +217 -0
  50. package/dist/components/st-menu/st-menu-node.vue.cjs +1 -0
  51. package/dist/components/st-menu/st-menu-node.vue.d.ts +14 -0
  52. package/dist/components/st-menu/st-menu-node.vue.js +5 -0
  53. package/dist/components/st-menu/st-menu-node.vue_vue_type_script_setup_true_lang.cjs +1 -0
  54. package/dist/components/st-menu/st-menu-node.vue_vue_type_script_setup_true_lang.js +107 -0
  55. package/dist/components/st-menu/st-menu.vue.cjs +1 -0
  56. package/dist/components/st-menu/st-menu.vue.d.ts +26 -0
  57. package/dist/components/st-menu/st-menu.vue.js +5 -0
  58. package/dist/components/st-menu/st-menu.vue_vue_type_script_setup_true_lang.cjs +1 -0
  59. package/dist/components/st-menu/st-menu.vue_vue_type_script_setup_true_lang.js +86 -0
  60. package/dist/components/st-menu/types.d.ts +82 -0
  61. package/dist/components/st-menu.cjs +1 -0
  62. package/dist/components/st-menu.js +7 -0
  63. package/dist/components/st-popover/index.d.ts +243 -0
  64. package/dist/components/st-popover/st-popover.vue.cjs +1 -0
  65. package/dist/components/st-popover/st-popover.vue.d.ts +37 -0
  66. package/dist/components/st-popover/st-popover.vue.js +5 -0
  67. package/dist/components/st-popover/st-popover.vue_vue_type_script_setup_true_lang.cjs +1 -0
  68. package/dist/components/st-popover/st-popover.vue_vue_type_script_setup_true_lang.js +355 -0
  69. package/dist/components/st-popover/types.d.ts +103 -0
  70. package/dist/components/st-popover.cjs +1 -0
  71. package/dist/components/st-popover.js +6 -0
  72. package/dist/components/st-radio/index.d.ts +135 -0
  73. package/dist/components/st-radio/st-radio.vue.cjs +1 -0
  74. package/dist/components/st-radio/st-radio.vue.d.ts +28 -0
  75. package/dist/components/st-radio/st-radio.vue.js +5 -0
  76. package/dist/components/st-radio/st-radio.vue_vue_type_script_setup_true_lang.cjs +1 -0
  77. package/dist/components/st-radio/st-radio.vue_vue_type_script_setup_true_lang.js +88 -0
  78. package/dist/components/st-radio/types.d.ts +15 -0
  79. package/dist/components/st-radio-group/index.d.ts +180 -0
  80. package/dist/components/st-radio-group/st-radio-group.vue.cjs +1 -0
  81. package/dist/components/st-radio-group/st-radio-group.vue.d.ts +35 -0
  82. package/dist/components/st-radio-group/st-radio-group.vue.js +5 -0
  83. package/dist/components/st-radio-group/st-radio-group.vue_vue_type_script_setup_true_lang.cjs +1 -0
  84. package/dist/components/st-radio-group/st-radio-group.vue_vue_type_script_setup_true_lang.js +66 -0
  85. package/dist/components/st-radio-group/types.d.ts +43 -0
  86. package/dist/components/st-radio-group.cjs +1 -0
  87. package/dist/components/st-radio-group.js +6 -0
  88. package/dist/components/st-radio.cjs +1 -0
  89. package/dist/components/st-radio.js +6 -0
  90. package/dist/components/st-select/index.d.ts +306 -0
  91. package/dist/components/st-select/st-select.vue.cjs +1 -0
  92. package/dist/components/st-select/st-select.vue.d.ts +47 -0
  93. package/dist/components/st-select/st-select.vue.js +5 -0
  94. package/dist/components/st-select/st-select.vue_vue_type_script_setup_true_lang.cjs +1 -0
  95. package/dist/components/st-select/st-select.vue_vue_type_script_setup_true_lang.js +200 -0
  96. package/dist/components/st-select/types.d.ts +85 -0
  97. package/dist/components/st-select.cjs +1 -0
  98. package/dist/components/st-select.js +6 -0
  99. package/dist/components/st-sidebar/index.d.ts +63 -0
  100. package/dist/components/st-sidebar/st-sidebar.vue.cjs +1 -0
  101. package/dist/components/st-sidebar/st-sidebar.vue.d.ts +11 -0
  102. package/dist/components/st-sidebar/st-sidebar.vue.js +5 -0
  103. package/dist/components/st-sidebar/st-sidebar.vue_vue_type_script_setup_true_lang.cjs +1 -0
  104. package/dist/components/st-sidebar/st-sidebar.vue_vue_type_script_setup_true_lang.js +108 -0
  105. package/dist/components/st-sidebar/types.d.ts +56 -0
  106. package/dist/components/st-sidebar-item/index.d.ts +63 -0
  107. package/dist/components/st-sidebar-item/st-sidebar-item.vue.cjs +1 -0
  108. package/dist/components/st-sidebar-item/st-sidebar-item.vue.d.ts +11 -0
  109. package/dist/components/st-sidebar-item/st-sidebar-item.vue.js +5 -0
  110. package/dist/components/st-sidebar-item/st-sidebar-item.vue_vue_type_script_setup_true_lang.cjs +1 -0
  111. package/dist/components/st-sidebar-item/st-sidebar-item.vue_vue_type_script_setup_true_lang.js +38 -0
  112. package/dist/components/st-sidebar-item/types.d.ts +19 -0
  113. package/dist/components/st-sidebar-item.cjs +1 -0
  114. package/dist/components/st-sidebar-item.js +6 -0
  115. package/dist/components/st-sidebar.cjs +1 -0
  116. package/dist/components/st-sidebar.js +6 -0
  117. package/dist/components/st-splitter/index.d.ts +88 -0
  118. package/dist/components/st-splitter/st-splitter.vue.cjs +1 -0
  119. package/dist/components/st-splitter/st-splitter.vue.d.ts +16 -0
  120. package/dist/components/st-splitter/st-splitter.vue.js +5 -0
  121. package/dist/components/st-splitter/st-splitter.vue_vue_type_script_setup_true_lang.cjs +1 -0
  122. package/dist/components/st-splitter/st-splitter.vue_vue_type_script_setup_true_lang.js +29 -0
  123. package/dist/components/st-splitter/types.d.ts +192 -0
  124. package/dist/components/st-splitter/useSplitter.cjs +1 -0
  125. package/dist/components/st-splitter/useSplitter.d.ts +24 -0
  126. package/dist/components/st-splitter/useSplitter.js +129 -0
  127. package/dist/components/st-splitter-panel/index.d.ts +180 -0
  128. package/dist/components/st-splitter-panel/st-splitter-panel.vue.cjs +1 -0
  129. package/dist/components/st-splitter-panel/st-splitter-panel.vue.d.ts +33 -0
  130. package/dist/components/st-splitter-panel/st-splitter-panel.vue.js +5 -0
  131. package/dist/components/st-splitter-panel/st-splitter-panel.vue_vue_type_script_setup_true_lang.cjs +1 -0
  132. package/dist/components/st-splitter-panel/st-splitter-panel.vue_vue_type_script_setup_true_lang.js +164 -0
  133. package/dist/components/st-splitter-panel/types.d.ts +27 -0
  134. package/dist/components/st-splitter-panel.cjs +1 -0
  135. package/dist/components/st-splitter-panel.js +6 -0
  136. package/dist/components/st-splitter.cjs +1 -0
  137. package/dist/components/st-splitter.js +7 -0
  138. package/dist/components/st-toggle/index.d.ts +159 -0
  139. package/dist/components/st-toggle/st-toggle.vue.cjs +1 -0
  140. package/dist/components/st-toggle/st-toggle.vue.d.ts +25 -0
  141. package/dist/components/st-toggle/st-toggle.vue.js +5 -0
  142. package/dist/components/st-toggle/st-toggle.vue_vue_type_script_setup_true_lang.cjs +1 -0
  143. package/dist/components/st-toggle/st-toggle.vue_vue_type_script_setup_true_lang.js +62 -0
  144. package/dist/components/st-toggle/types.d.ts +38 -0
  145. package/dist/components/st-toggle.cjs +1 -0
  146. package/dist/components/st-toggle.js +6 -0
  147. package/dist/components/st-tooltip/index.d.ts +183 -0
  148. package/dist/components/st-tooltip/st-tooltip.vue.cjs +1 -0
  149. package/dist/components/st-tooltip/st-tooltip.vue.d.ts +29 -0
  150. package/dist/components/st-tooltip/st-tooltip.vue.js +5 -0
  151. package/dist/components/st-tooltip/st-tooltip.vue_vue_type_script_setup_true_lang.cjs +1 -0
  152. package/dist/components/st-tooltip/st-tooltip.vue_vue_type_script_setup_true_lang.js +71 -0
  153. package/dist/components/st-tooltip/types.d.ts +79 -0
  154. package/dist/components/st-tooltip.cjs +1 -0
  155. package/dist/components/st-tooltip.js +6 -0
  156. package/dist/components/st-tree/index.d.ts +114 -0
  157. package/dist/components/st-tree/st-tree-node.vue.cjs +1 -0
  158. package/dist/components/st-tree/st-tree-node.vue.d.ts +4 -0
  159. package/dist/components/st-tree/st-tree-node.vue.js +5 -0
  160. package/dist/components/st-tree/st-tree-node.vue_vue_type_script_setup_true_lang.cjs +1 -0
  161. package/dist/components/st-tree/st-tree-node.vue_vue_type_script_setup_true_lang.js +87 -0
  162. package/dist/components/st-tree/st-tree.vue.cjs +1 -0
  163. package/dist/components/st-tree/st-tree.vue.d.ts +50 -0
  164. package/dist/components/st-tree/st-tree.vue.js +5 -0
  165. package/dist/components/st-tree/st-tree.vue_vue_type_script_setup_true_lang.cjs +1 -0
  166. package/dist/components/st-tree/st-tree.vue_vue_type_script_setup_true_lang.js +59 -0
  167. package/dist/components/st-tree/types.d.ts +87 -0
  168. package/dist/components/st-tree.cjs +1 -0
  169. package/dist/components/st-tree.js +6 -0
  170. package/dist/components/types.d.ts +41 -0
  171. package/dist/index.cjs +1 -0
  172. package/dist/index.css +2 -0
  173. package/dist/index.d.ts +3005 -0
  174. package/dist/index.js +47 -0
  175. package/dist/utils/cn.cjs +1 -0
  176. package/dist/utils/cn.d.ts +11 -0
  177. package/dist/utils/cn.js +8 -0
  178. package/dist/utils/cva/index.cjs +1 -0
  179. package/dist/utils/cva/index.d.ts +9 -0
  180. package/dist/utils/cva/index.js +25 -0
  181. package/dist/utils/cva/types.d.ts +45 -0
  182. package/dist/utils/directive/index.cjs +1 -0
  183. package/dist/utils/directive/index.d.ts +4 -0
  184. package/dist/utils/directive/index.js +10 -0
  185. package/dist/utils/directive/intersection.cjs +1 -0
  186. package/dist/utils/directive/intersection.d.ts +6 -0
  187. package/dist/utils/directive/intersection.js +20 -0
  188. package/dist/utils/directive/interval.cjs +1 -0
  189. package/dist/utils/directive/interval.d.ts +6 -0
  190. package/dist/utils/directive/interval.js +14 -0
  191. package/dist/utils/directive/move.cjs +1 -0
  192. package/dist/utils/directive/move.d.ts +6 -0
  193. package/dist/utils/directive/move.js +42 -0
  194. package/dist/utils/directive/resize.cjs +1 -0
  195. package/dist/utils/directive/resize.d.ts +6 -0
  196. package/dist/utils/directive/resize.js +17 -0
  197. package/dist/utils/with-install.cjs +1 -0
  198. package/dist/utils/with-install.d.ts +4 -0
  199. package/dist/utils/with-install.js +10 -0
  200. package/package.json +87 -0
@@ -0,0 +1,217 @@
1
+ export declare const StMenu: {
2
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
3
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
4
+ list: import("./types.d.ts").MenuItem[];
5
+ placement?: import("./types.d.ts").MenuPlacement;
6
+ trigger?: import("./types.d.ts").MenuTrigger;
7
+ }> & Readonly<{
8
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
9
+ }>, import("./types.d.ts").MenuExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ select: (item: import("./types.d.ts").MenuItem) => any;
11
+ }, import("vue").PublicProps, {
12
+ trigger: import("./types.d.ts").MenuTrigger;
13
+ placement: import("./types.d.ts").MenuPlacement;
14
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
15
+ P: {};
16
+ B: {};
17
+ D: {};
18
+ C: {};
19
+ M: {};
20
+ Defaults: {};
21
+ }, Readonly<{
22
+ list: import("./types.d.ts").MenuItem[];
23
+ placement?: import("./types.d.ts").MenuPlacement;
24
+ trigger?: import("./types.d.ts").MenuTrigger;
25
+ }> & Readonly<{
26
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
27
+ }>, import("./types.d.ts").MenuExpose, {}, {}, {}, {
28
+ trigger: import("./types.d.ts").MenuTrigger;
29
+ placement: import("./types.d.ts").MenuPlacement;
30
+ }>;
31
+ __isFragment?: never;
32
+ __isTeleport?: never;
33
+ __isSuspense?: never;
34
+ } & import("vue").ComponentOptionsBase<Readonly<{
35
+ list: import("./types.d.ts").MenuItem[];
36
+ placement?: import("./types.d.ts").MenuPlacement;
37
+ trigger?: import("./types.d.ts").MenuTrigger;
38
+ }> & Readonly<{
39
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
40
+ }>, import("./types.d.ts").MenuExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
41
+ select: (item: import("./types.d.ts").MenuItem) => any;
42
+ }, string, {
43
+ trigger: import("./types.d.ts").MenuTrigger;
44
+ placement: import("./types.d.ts").MenuPlacement;
45
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
46
+ $slots: {
47
+ default?: (props: {}) => any;
48
+ };
49
+ })>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
50
+ [x: string]: any;
51
+ }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
52
+ P: {};
53
+ B: {};
54
+ D: {};
55
+ C: {};
56
+ M: {};
57
+ Defaults: {};
58
+ }, Readonly<import("vue").ExtractPropTypes<{
59
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
60
+ list: import("./types.d.ts").MenuItem[];
61
+ placement?: import("./types.d.ts").MenuPlacement;
62
+ trigger?: import("./types.d.ts").MenuTrigger;
63
+ }> & Readonly<{
64
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
65
+ }>, import("./types.d.ts").MenuExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
66
+ select: (item: import("./types.d.ts").MenuItem) => any;
67
+ }, import("vue").PublicProps, {
68
+ trigger: import("./types.d.ts").MenuTrigger;
69
+ placement: import("./types.d.ts").MenuPlacement;
70
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
71
+ P: {};
72
+ B: {};
73
+ D: {};
74
+ C: {};
75
+ M: {};
76
+ Defaults: {};
77
+ }, Readonly<{
78
+ list: import("./types.d.ts").MenuItem[];
79
+ placement?: import("./types.d.ts").MenuPlacement;
80
+ trigger?: import("./types.d.ts").MenuTrigger;
81
+ }> & Readonly<{
82
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
83
+ }>, import("./types.d.ts").MenuExpose, {}, {}, {}, {
84
+ trigger: import("./types.d.ts").MenuTrigger;
85
+ placement: import("./types.d.ts").MenuPlacement;
86
+ }>;
87
+ __isFragment?: never;
88
+ __isTeleport?: never;
89
+ __isSuspense?: never;
90
+ } & import("vue").ComponentOptionsBase<Readonly<{
91
+ list: import("./types.d.ts").MenuItem[];
92
+ placement?: import("./types.d.ts").MenuPlacement;
93
+ trigger?: import("./types.d.ts").MenuTrigger;
94
+ }> & Readonly<{
95
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
96
+ }>, import("./types.d.ts").MenuExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
97
+ select: (item: import("./types.d.ts").MenuItem) => any;
98
+ }, string, {
99
+ trigger: import("./types.d.ts").MenuTrigger;
100
+ placement: import("./types.d.ts").MenuPlacement;
101
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
102
+ $slots: {
103
+ default?: (props: {}) => any;
104
+ };
105
+ })>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, {
106
+ [x: string]: any;
107
+ }>;
108
+ __isFragment?: never;
109
+ __isTeleport?: never;
110
+ __isSuspense?: never;
111
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
112
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
113
+ list: import("./types.d.ts").MenuItem[];
114
+ placement?: import("./types.d.ts").MenuPlacement;
115
+ trigger?: import("./types.d.ts").MenuTrigger;
116
+ }> & Readonly<{
117
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
118
+ }>, import("./types.d.ts").MenuExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
119
+ select: (item: import("./types.d.ts").MenuItem) => any;
120
+ }, import("vue").PublicProps, {
121
+ trigger: import("./types.d.ts").MenuTrigger;
122
+ placement: import("./types.d.ts").MenuPlacement;
123
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
124
+ P: {};
125
+ B: {};
126
+ D: {};
127
+ C: {};
128
+ M: {};
129
+ Defaults: {};
130
+ }, Readonly<{
131
+ list: import("./types.d.ts").MenuItem[];
132
+ placement?: import("./types.d.ts").MenuPlacement;
133
+ trigger?: import("./types.d.ts").MenuTrigger;
134
+ }> & Readonly<{
135
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
136
+ }>, import("./types.d.ts").MenuExpose, {}, {}, {}, {
137
+ trigger: import("./types.d.ts").MenuTrigger;
138
+ placement: import("./types.d.ts").MenuPlacement;
139
+ }>;
140
+ __isFragment?: never;
141
+ __isTeleport?: never;
142
+ __isSuspense?: never;
143
+ } & import("vue").ComponentOptionsBase<Readonly<{
144
+ list: import("./types.d.ts").MenuItem[];
145
+ placement?: import("./types.d.ts").MenuPlacement;
146
+ trigger?: import("./types.d.ts").MenuTrigger;
147
+ }> & Readonly<{
148
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
149
+ }>, import("./types.d.ts").MenuExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
150
+ select: (item: import("./types.d.ts").MenuItem) => any;
151
+ }, string, {
152
+ trigger: import("./types.d.ts").MenuTrigger;
153
+ placement: import("./types.d.ts").MenuPlacement;
154
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
155
+ $slots: {
156
+ default?: (props: {}) => any;
157
+ };
158
+ })>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
159
+ [x: string]: any;
160
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & (import("vue").VNodeProps & (import("vue").AllowedComponentProps & (import("vue").ComponentCustomProps & import("vue").Plugin)));
161
+ export declare const StMenuNode: {
162
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<import("vue").DefineComponent<{
163
+ item: import("./types.d.ts").MenuItem;
164
+ depth?: number;
165
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
166
+ select: (item: import("./types.d.ts").MenuItem) => any;
167
+ }, string, import("vue").PublicProps, Readonly<{
168
+ item: import("./types.d.ts").MenuItem;
169
+ depth?: number;
170
+ }> & Readonly<{
171
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
172
+ }>, {
173
+ depth: number;
174
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
175
+ [x: string]: any;
176
+ }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
177
+ P: {};
178
+ B: {};
179
+ D: {};
180
+ C: {};
181
+ M: {};
182
+ Defaults: {};
183
+ }, Readonly<import("vue").ExtractPropTypes<import("vue").DefineComponent<{
184
+ item: import("./types.d.ts").MenuItem;
185
+ depth?: number;
186
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
187
+ select: (item: import("./types.d.ts").MenuItem) => any;
188
+ }, string, import("vue").PublicProps, Readonly<{
189
+ item: import("./types.d.ts").MenuItem;
190
+ depth?: number;
191
+ }> & Readonly<{
192
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
193
+ }>, {
194
+ depth: number;
195
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, {
196
+ [x: string]: any;
197
+ }>;
198
+ __isFragment?: never;
199
+ __isTeleport?: never;
200
+ __isSuspense?: never;
201
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<import("vue").DefineComponent<{
202
+ item: import("./types.d.ts").MenuItem;
203
+ depth?: number;
204
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
205
+ select: (item: import("./types.d.ts").MenuItem) => any;
206
+ }, string, import("vue").PublicProps, Readonly<{
207
+ item: import("./types.d.ts").MenuItem;
208
+ depth?: number;
209
+ }> & Readonly<{
210
+ onSelect?: (item: import("./types.d.ts").MenuItem) => any;
211
+ }>, {
212
+ depth: number;
213
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
214
+ [x: string]: any;
215
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & (import("vue").VNodeProps & (import("vue").AllowedComponentProps & (import("vue").ComponentCustomProps & import("vue").Plugin)));
216
+ export default StMenu;
217
+ export type * from './types.d.ts';
@@ -0,0 +1 @@
1
+ var e=require("./st-menu-node.vue_vue_type_script_setup_true_lang.cjs").default;exports.default=e;
@@ -0,0 +1,14 @@
1
+ import type { MenuItem } from './types.d.ts';
2
+ type __VLS_Props = {
3
+ item: MenuItem;
4
+ depth?: number;
5
+ };
6
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ select: (item: MenuItem) => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ onSelect?: (item: MenuItem) => any;
10
+ }>, {
11
+ depth: number;
12
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import e from "./st-menu-node.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/st-menu/st-menu-node.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1 @@
1
+ const e=require("../../utils/cn.cjs"),t=require("../st-popover/st-popover.vue.cjs");let n=require("vue");var r={key:0,class:`h-px my-1 mx-2 bg-border`},i={key:1,class:`block`},a={key:0,class:`px-3 pt-1.5 pb-0.5 text-2.5 font-semibold tracking-wide uppercase text-muted-foreground select-none`},o={class:`flex items-center gap-2 px-3 py-1.25 rounded-radius cursor-pointer transition-colors duration-100 select-none whitespace-nowrap text-3.25 leading-5 text-foreground hover:bg-accent`},s={key:0,class:`inline-flex items-center justify-center w-4.5 h-4.5 text-4 flex-shrink-0`},c={class:`flex-1 min-w-0 min-h-0 truncate`},l={key:1,class:`text-3 text-muted-foreground ml-3 flex-shrink-0`},u={class:`flex items-center gap-2 px-3 py-1.25 rounded-radius cursor-pointer transition-colors duration-100 select-none whitespace-nowrap text-3.25 leading-5 text-foreground hover:bg-accent`},d={key:0,class:`inline-flex items-center justify-center w-4.5 h-4.5 text-4 flex-shrink-0`},f={class:`flex-1 min-w-0 min-h-0 truncate`},p={key:1,class:`text-3 text-muted-foreground ml-3 flex-shrink-0`},m=(0,n.defineComponent)({name:`StMenuNode`,inheritAttrs:!1,__name:`st-menu-node`,props:{item:{},depth:{default:0}},emits:[`select`],setup(m,{emit:h}){let g=(0,n.useAttrs)(),_=m,v=h,y=(0,n.inject)(`st-menu-hide`,()=>{}),b=(0,n.inject)(`st-menu-has-icon`,(0,n.ref)(!1)),x=(0,n.computed)(()=>!!(_.item.children&&_.item.children.length>0));(0,n.provide)(`st-menu-has-icon`,(0,n.computed)(()=>{if(!x.value)return!1;for(let e of _.item.children??[])if(e.type!==`divider`){if(e.type===`group`){for(let t of e.children??[])if(t.icon)return!0}else if(e.icon)return!0}return!1}));let S=(0,n.computed)(()=>e.cn(`relative rounded-radius`,`block`,{"opacity-40 cursor-not-allowed":_.item.disabled},g.class)),C=(0,n.computed)(()=>[`min-w-35`,`max-w-80`,`p-1`,`backdrop-blur-16`]);function w(){_.item.disabled||(_.item.action&&_.item.action(),v(`select`,_.item),y())}function T(e){v(`select`,e)}return(e,h)=>{let g=(0,n.resolveComponent)(`StMenuNode`,!0);return m.item.type===`divider`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,r)):m.item.type===`group`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,i,[m.item.label?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,a,(0,n.toDisplayString)(m.item.label),1)):(0,n.createCommentVNode)(``,!0),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.item.children??[],(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(g,{key:e.key??t,depth:m.depth+1,item:e,onSelect:T},null,8,[`depth`,`item`]))),128))])):x.value?((0,n.openBlock)(),(0,n.createBlock)(t.default,{key:2,class:(0,n.normalizeClass)(C.value),"close-delay":200,"open-delay":150,"show-arrow":!1,"trigger-class":`block`,placement:`right-top`,trigger:`hover`},{trigger:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)(S.value)},[(0,n.createElementVNode)(`div`,o,[(0,n.unref)(b)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,s,[m.item.icon?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:0,class:(0,n.normalizeClass)(m.item.icon)},null,2)):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`span`,c,(0,n.toDisplayString)(m.item.label),1),m.item.shortcut?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,l,(0,n.toDisplayString)(m.item.shortcut),1)):(0,n.createCommentVNode)(``,!0),h[0]||=(0,n.createElementVNode)(`span`,{class:`inline-flex items-center justify-center w-4 h-4 text-3.5 flex-shrink-0 ml-auto opacity-50`},[(0,n.createElementVNode)(`span`,{class:`i-ri-arrow-right-s-line`})],-1)])],2)]),content:(0,n.withCtx)(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(m.item.children,(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(g,{key:e.key??t,depth:m.depth+1,item:e,onSelect:T},null,8,[`depth`,`item`]))),128))]),_:1},8,[`class`])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:3,class:(0,n.normalizeClass)(S.value),onClick:w},[(0,n.createElementVNode)(`div`,u,[(0,n.unref)(b)?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,d,[m.item.icon?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:0,class:(0,n.normalizeClass)(m.item.icon)},null,2)):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`span`,f,(0,n.toDisplayString)(m.item.label),1),m.item.shortcut?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,p,(0,n.toDisplayString)(m.item.shortcut),1)):(0,n.createCommentVNode)(``,!0)])],2))}}});exports.default=m;
@@ -0,0 +1,107 @@
1
+ import { cn as e } from "../../utils/cn.js";
2
+ import t from "../st-popover/st-popover.vue.js";
3
+ import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, defineComponent as c, inject as l, normalizeClass as u, openBlock as d, provide as f, ref as p, renderList as m, resolveComponent as h, toDisplayString as g, unref as _, useAttrs as v, withCtx as y } from "vue";
4
+ //#region src/components/st-menu/st-menu-node.vue?vue&type=script&setup=true&lang.ts
5
+ var b = {
6
+ key: 0,
7
+ class: "h-px my-1 mx-2 bg-border"
8
+ }, x = {
9
+ key: 1,
10
+ class: "block"
11
+ }, S = {
12
+ key: 0,
13
+ class: "px-3 pt-1.5 pb-0.5 text-2.5 font-semibold tracking-wide uppercase text-muted-foreground select-none"
14
+ }, C = { class: "flex items-center gap-2 px-3 py-1.25 rounded-radius cursor-pointer transition-colors duration-100 select-none whitespace-nowrap text-3.25 leading-5 text-foreground hover:bg-accent" }, w = {
15
+ key: 0,
16
+ class: "inline-flex items-center justify-center w-4.5 h-4.5 text-4 flex-shrink-0"
17
+ }, T = { class: "flex-1 min-w-0 min-h-0 truncate" }, E = {
18
+ key: 1,
19
+ class: "text-3 text-muted-foreground ml-3 flex-shrink-0"
20
+ }, D = { class: "flex items-center gap-2 px-3 py-1.25 rounded-radius cursor-pointer transition-colors duration-100 select-none whitespace-nowrap text-3.25 leading-5 text-foreground hover:bg-accent" }, O = {
21
+ key: 0,
22
+ class: "inline-flex items-center justify-center w-4.5 h-4.5 text-4 flex-shrink-0"
23
+ }, k = { class: "flex-1 min-w-0 min-h-0 truncate" }, A = {
24
+ key: 1,
25
+ class: "text-3 text-muted-foreground ml-3 flex-shrink-0"
26
+ }, j = /*@__PURE__*/ c({
27
+ name: "StMenuNode",
28
+ inheritAttrs: !1,
29
+ __name: "st-menu-node",
30
+ props: {
31
+ item: {},
32
+ depth: { default: 0 }
33
+ },
34
+ emits: ["select"],
35
+ setup(c, { emit: j }) {
36
+ let M = v(), N = c, P = j, F = l("st-menu-hide", () => {}), I = l("st-menu-has-icon", p(!1)), L = r(() => !!(N.item.children && N.item.children.length > 0));
37
+ f("st-menu-has-icon", r(() => {
38
+ if (!L.value) return !1;
39
+ for (let e of N.item.children ?? []) if (e.type !== "divider") {
40
+ if (e.type === "group") {
41
+ for (let t of e.children ?? []) if (t.icon) return !0;
42
+ } else if (e.icon) return !0;
43
+ }
44
+ return !1;
45
+ }));
46
+ let R = r(() => e("relative rounded-radius", "block", { "opacity-40 cursor-not-allowed": N.item.disabled }, M.class)), z = r(() => [
47
+ "min-w-35",
48
+ "max-w-80",
49
+ "p-1",
50
+ "backdrop-blur-16"
51
+ ]);
52
+ function B() {
53
+ N.item.disabled || (N.item.action && N.item.action(), P("select", N.item), F());
54
+ }
55
+ function V(e) {
56
+ P("select", e);
57
+ }
58
+ return (e, r) => {
59
+ let l = h("StMenuNode", !0);
60
+ return c.item.type === "divider" ? (d(), o("div", b)) : c.item.type === "group" ? (d(), o("div", x, [c.item.label ? (d(), o("div", S, g(c.item.label), 1)) : a("", !0), (d(!0), o(n, null, m(c.item.children ?? [], (e, t) => (d(), i(l, {
61
+ key: e.key ?? t,
62
+ depth: c.depth + 1,
63
+ item: e,
64
+ onSelect: V
65
+ }, null, 8, ["depth", "item"]))), 128))])) : L.value ? (d(), i(t, {
66
+ key: 2,
67
+ class: u(z.value),
68
+ "close-delay": 200,
69
+ "open-delay": 150,
70
+ "show-arrow": !1,
71
+ "trigger-class": "block",
72
+ placement: "right-top",
73
+ trigger: "hover"
74
+ }, {
75
+ trigger: y(() => [s("div", { class: u(R.value) }, [s("div", C, [
76
+ _(I) ? (d(), o("span", w, [c.item.icon ? (d(), o("span", {
77
+ key: 0,
78
+ class: u(c.item.icon)
79
+ }, null, 2)) : a("", !0)])) : a("", !0),
80
+ s("span", T, g(c.item.label), 1),
81
+ c.item.shortcut ? (d(), o("span", E, g(c.item.shortcut), 1)) : a("", !0),
82
+ r[0] ||= s("span", { class: "inline-flex items-center justify-center w-4 h-4 text-3.5 flex-shrink-0 ml-auto opacity-50" }, [s("span", { class: "i-ri-arrow-right-s-line" })], -1)
83
+ ])], 2)]),
84
+ content: y(() => [(d(!0), o(n, null, m(c.item.children, (e, t) => (d(), i(l, {
85
+ key: e.key ?? t,
86
+ depth: c.depth + 1,
87
+ item: e,
88
+ onSelect: V
89
+ }, null, 8, ["depth", "item"]))), 128))]),
90
+ _: 1
91
+ }, 8, ["class"])) : (d(), o("div", {
92
+ key: 3,
93
+ class: u(R.value),
94
+ onClick: B
95
+ }, [s("div", D, [
96
+ _(I) ? (d(), o("span", O, [c.item.icon ? (d(), o("span", {
97
+ key: 0,
98
+ class: u(c.item.icon)
99
+ }, null, 2)) : a("", !0)])) : a("", !0),
100
+ s("span", k, g(c.item.label), 1),
101
+ c.item.shortcut ? (d(), o("span", A, g(c.item.shortcut), 1)) : a("", !0)
102
+ ])], 2));
103
+ };
104
+ }
105
+ });
106
+ //#endregion
107
+ export { j as default };
@@ -0,0 +1 @@
1
+ var e=require("./st-menu.vue_vue_type_script_setup_true_lang.cjs").default;exports.default=e;
@@ -0,0 +1,26 @@
1
+ import type { MenuExpose, MenuItem, MenuPlacement, MenuTrigger } from './types.d.ts';
2
+ type __VLS_Props = {
3
+ list: MenuItem[];
4
+ placement?: MenuPlacement;
5
+ trigger?: MenuTrigger;
6
+ };
7
+ declare var __VLS_10: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_10) => any;
10
+ };
11
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, MenuExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
+ select: (item: MenuItem) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ onSelect?: (item: MenuItem) => any;
15
+ }>, {
16
+ trigger: MenuTrigger;
17
+ placement: MenuPlacement;
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
22
+ type __VLS_WithSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,5 @@
1
+ import e from "./st-menu.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/st-menu/st-menu.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1 @@
1
+ const e=require("../../utils/cn.cjs"),t=require("../st-popover/st-popover.vue.cjs"),n=require("./st-menu-node.vue.cjs");let r=require("vue");var i=(0,r.defineComponent)({name:`StMenu`,inheritAttrs:!1,__name:`st-menu`,props:{list:{},placement:{default:`bottom`},trigger:{default:`click`}},emits:[`select`],setup(i,{expose:a,emit:o}){let s=(0,r.useAttrs)(),c=new Set;function l(e){for(let t of c)t!==e&&t()}function u(e){for(let t of e)if(t.type!==`divider`){if(t.type===`group`){if(u(t.children??[]))return!0}else if(t.icon)return!0}return!1}function d(e){return{top:`top-left`,bottom:`bottom-left`,left:`left-top`,right:`right-top`}[e]}let f=i,p=o,m=(0,r.ref)(null);function h(){m.value?.hide(),c.delete(h)}(0,r.provide)(`st-menu-hide`,h),(0,r.provide)(`st-menu-has-icon`,(0,r.computed)(()=>u(f.list)));let g=(0,r.computed)(()=>e.cn([`min-w-35`,`max-w-80`,`p-1`,`rounded-radius`,`bg-popover`,`backdrop-blur-16`,`border`,`border-border`,`shadow-lg`],s.class)),_=(0,r.computed)(()=>f.trigger),v=(0,r.computed)(()=>d(f.placement));function y(e){l(h),m.value?.show(e),c.add(h)}function b(e){p(`select`,e),h()}return a({show:y,hide:h}),(e,a)=>((0,r.openBlock)(),(0,r.createBlock)(t.default,{ref_key:`popoverRef`,ref:m,trigger:_.value,placement:v.value,"show-arrow":!1},{trigger:(0,r.withCtx)(()=>[(0,r.renderSlot)(e.$slots,`default`)]),content:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,{class:(0,r.normalizeClass)(g.value),style:(0,r.normalizeStyle)((0,r.unref)(s).style),onClick:a[0]||=(0,r.withModifiers)(()=>{},[`stop`]),onContextmenu:a[1]||=(0,r.withModifiers)(()=>{},[`prevent`])},[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(i.list,(e,t)=>((0,r.openBlock)(),(0,r.createBlock)(n.default,{key:e.key??t,depth:0,item:e,onSelect:b},null,8,[`item`]))),128))],38)]),_:3},8,[`trigger`,`placement`]))}});exports.default=i;
@@ -0,0 +1,86 @@
1
+ import { cn as e } from "../../utils/cn.js";
2
+ import t from "../st-popover/st-popover.vue.js";
3
+ import n from "./st-menu-node.vue.js";
4
+ import { Fragment as r, computed as i, createBlock as a, createElementBlock as o, createElementVNode as s, defineComponent as c, normalizeClass as l, normalizeStyle as u, openBlock as d, provide as f, ref as p, renderList as m, renderSlot as h, unref as g, useAttrs as _, withCtx as v, withModifiers as y } from "vue";
5
+ //#region src/components/st-menu/st-menu.vue?vue&type=script&setup=true&lang.ts
6
+ var b = /*@__PURE__*/ c({
7
+ name: "StMenu",
8
+ inheritAttrs: !1,
9
+ __name: "st-menu",
10
+ props: {
11
+ list: {},
12
+ placement: { default: "bottom" },
13
+ trigger: { default: "click" }
14
+ },
15
+ emits: ["select"],
16
+ setup(c, { expose: b, emit: x }) {
17
+ let S = _(), C = /* @__PURE__ */ new Set();
18
+ function w(e) {
19
+ for (let t of C) t !== e && t();
20
+ }
21
+ function T(e) {
22
+ for (let t of e) if (t.type !== "divider") {
23
+ if (t.type === "group") {
24
+ if (T(t.children ?? [])) return !0;
25
+ } else if (t.icon) return !0;
26
+ }
27
+ return !1;
28
+ }
29
+ function E(e) {
30
+ return {
31
+ top: "top-left",
32
+ bottom: "bottom-left",
33
+ left: "left-top",
34
+ right: "right-top"
35
+ }[e];
36
+ }
37
+ let D = c, O = x, k = p(null);
38
+ function A() {
39
+ k.value?.hide(), C.delete(A);
40
+ }
41
+ f("st-menu-hide", A), f("st-menu-has-icon", i(() => T(D.list)));
42
+ let j = i(() => e([
43
+ "min-w-35",
44
+ "max-w-80",
45
+ "p-1",
46
+ "rounded-radius",
47
+ "bg-popover",
48
+ "backdrop-blur-16",
49
+ "border",
50
+ "border-border",
51
+ "shadow-lg"
52
+ ], S.class)), M = i(() => D.trigger), N = i(() => E(D.placement));
53
+ function P(e) {
54
+ w(A), k.value?.show(e), C.add(A);
55
+ }
56
+ function F(e) {
57
+ O("select", e), A();
58
+ }
59
+ return b({
60
+ show: P,
61
+ hide: A
62
+ }), (e, i) => (d(), a(t, {
63
+ ref_key: "popoverRef",
64
+ ref: k,
65
+ trigger: M.value,
66
+ placement: N.value,
67
+ "show-arrow": !1
68
+ }, {
69
+ trigger: v(() => [h(e.$slots, "default")]),
70
+ content: v(() => [s("div", {
71
+ class: l(j.value),
72
+ style: u(g(S).style),
73
+ onClick: i[0] ||= y(() => {}, ["stop"]),
74
+ onContextmenu: i[1] ||= y(() => {}, ["prevent"])
75
+ }, [(d(!0), o(r, null, m(c.list, (e, t) => (d(), a(n, {
76
+ key: e.key ?? t,
77
+ depth: 0,
78
+ item: e,
79
+ onSelect: F
80
+ }, null, 8, ["item"]))), 128))], 38)]),
81
+ _: 3
82
+ }, 8, ["trigger", "placement"]));
83
+ }
84
+ });
85
+ //#endregion
86
+ export { b as default };
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Menu 菜单弹出方向类型
3
+ */
4
+ export type MenuPlacement = 'top' | 'bottom' | 'left' | 'right';
5
+
6
+ /**
7
+ * Menu 菜单触发方式类型
8
+ */
9
+ export type MenuTrigger = 'click' | 'contextmenu';
10
+
11
+ /**
12
+ * Menu 菜单项类型
13
+ */
14
+ export type MenuItemType = 'item' | 'divider' | 'group';
15
+
16
+ /**
17
+ * Menu 菜单项接口
18
+ */
19
+ export interface MenuItem {
20
+ /** 唯一标识 */
21
+ key?: string | number;
22
+ /** 显示标签 */
23
+ label?: string;
24
+ /** 图标类名 */
25
+ icon?: string;
26
+ /** 是否禁用 */
27
+ disabled?: boolean;
28
+ /** 点击回调函数 */
29
+ action?: () => void | Promise<void>;
30
+ /** 子菜单项 */
31
+ children?: MenuItem[];
32
+ /** 菜单项类型 */
33
+ type?: MenuItemType;
34
+ /** 快捷键提示 */
35
+ shortcut?: string;
36
+ }
37
+
38
+ /**
39
+ * Menu 组件属性接口
40
+ */
41
+ export interface MenuProps {
42
+ /** 菜单项列表 */
43
+ list: MenuItem[];
44
+ /** 弹出方向 */
45
+ placement?: MenuPlacement;
46
+ /** 触发方式 */
47
+ trigger?: MenuTrigger;
48
+ }
49
+
50
+ /**
51
+ * Menu 组件事件接口
52
+ */
53
+ export interface MenuEmits {
54
+ select: [item: MenuItem];
55
+ }
56
+
57
+ /**
58
+ * Menu 组件暴露的方法接口
59
+ */
60
+ export interface MenuExpose {
61
+ show: (e?: MouseEvent) => void;
62
+ hide: () => void;
63
+ }
64
+
65
+ /**
66
+ * MenuNode 组件属性接口
67
+ */
68
+ export interface MenuNodeProps {
69
+ /** 菜单项 */
70
+ item: MenuItem;
71
+ /** 嵌套深度 */
72
+ depth?: number;
73
+ }
74
+
75
+ /**
76
+ * MenuNode 组件事件接口
77
+ */
78
+ export interface MenuNodeEmits {
79
+ select: [item: MenuItem];
80
+ }
81
+
82
+ export {};
@@ -0,0 +1 @@
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../utils/with-install.cjs"),t=require("./st-menu/st-menu-node.vue.cjs"),n=require("./st-menu/st-menu.vue.cjs");var r=e.withInstall(n.default),i=e.withInstall(t.default);exports.StMenu=r,exports.default=r,exports.StMenuNode=i;
@@ -0,0 +1,7 @@
1
+ import { withInstall as e } from "../utils/with-install.js";
2
+ import t from "./st-menu/st-menu-node.vue.js";
3
+ import n from "./st-menu/st-menu.vue.js";
4
+ //#region src/components/st-menu/index.ts
5
+ var r = e(n), i = e(t);
6
+ //#endregion
7
+ export { r as StMenu, r as default, i as StMenuNode };