@pixelium/web-vue 0.0.2-fix → 0.0.3-beta

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 (285) hide show
  1. package/README.md +42 -0
  2. package/README.zh.md +6 -3
  3. package/coverage/base.css +224 -0
  4. package/coverage/block-navigation.js +87 -0
  5. package/coverage/coverage-final.json +106 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +926 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +210 -0
  12. package/dist/font.css +1 -1
  13. package/dist/index.d.ts +1593 -248
  14. package/dist/normalize.css +2 -0
  15. package/dist/pixelium-vue-icon-hn.cjs +1 -1
  16. package/dist/pixelium-vue-icon-hn.css +2 -1
  17. package/dist/pixelium-vue-icon-hn.js +8533 -8154
  18. package/dist/pixelium-vue-icon-hn.umd.cjs +1 -1
  19. package/dist/pixelium-vue-icon-pa.cjs +1 -1
  20. package/dist/pixelium-vue-icon-pa.css +2 -1
  21. package/dist/pixelium-vue-icon-pa.js +10625 -10143
  22. package/dist/pixelium-vue-icon-pa.umd.cjs +1 -1
  23. package/dist/pixelium-vue.cjs +2 -2
  24. package/dist/pixelium-vue.css +2 -1
  25. package/dist/pixelium-vue.js +7402 -5854
  26. package/dist/pixelium-vue.umd.cjs +2 -2
  27. package/es/aside/index.js +46 -151
  28. package/es/auto-complete/draw.d.ts +1 -1
  29. package/es/auto-complete/draw.js +26 -51
  30. package/es/auto-complete/index.css +92 -32
  31. package/es/auto-complete/index.d.ts +12 -15
  32. package/es/auto-complete/index.js +338 -400
  33. package/es/auto-complete/type.d.ts +25 -13
  34. package/es/avatar/css.js +2 -0
  35. package/es/avatar/draw.d.ts +2 -0
  36. package/es/avatar/draw.js +11 -0
  37. package/es/avatar/index.css +49 -0
  38. package/es/avatar/index.d.ts +15 -0
  39. package/es/avatar/index.js +110 -0
  40. package/es/avatar/type.d.ts +34 -0
  41. package/es/button/draw.d.ts +4 -4
  42. package/es/button/draw.js +213 -297
  43. package/es/button/index.css +40 -30
  44. package/es/button/index.d.ts +0 -4
  45. package/es/button/index.js +230 -256
  46. package/es/button/type.d.ts +3 -3
  47. package/es/button-group/index.css +0 -3
  48. package/es/button-group/index.d.ts +1 -2
  49. package/es/button-group/index.js +59 -31
  50. package/es/button-group/type.d.ts +21 -4
  51. package/es/checkbox/css.js +2 -0
  52. package/es/checkbox/draw.d.ts +4 -0
  53. package/es/checkbox/draw.js +46 -0
  54. package/es/checkbox/index.css +85 -0
  55. package/es/checkbox/index.d.ts +31 -0
  56. package/es/checkbox/index.js +206 -0
  57. package/es/checkbox/type.d.ts +88 -0
  58. package/es/checkbox-group/css.js +2 -0
  59. package/es/checkbox-group/index.css +20 -0
  60. package/es/checkbox-group/index.d.ts +23 -0
  61. package/es/checkbox-group/index.js +84 -0
  62. package/es/checkbox-group/type.d.ts +78 -0
  63. package/es/col/index.d.ts +2 -2
  64. package/es/col/index.js +43 -58
  65. package/es/container/index.js +18 -31
  66. package/es/divider/index.js +39 -53
  67. package/es/empty/index.css +4 -4
  68. package/es/empty/index.js +16 -71
  69. package/es/entry.js +102 -0
  70. package/es/footer/index.js +31 -40
  71. package/es/form/css.js +1 -0
  72. package/es/form/index.d.ts +27 -0
  73. package/es/form/index.js +125 -0
  74. package/es/form/type.d.ts +238 -0
  75. package/es/form/use-form.d.ts +4 -0
  76. package/es/form/use-form.js +48 -0
  77. package/es/form-item/css.js +2 -0
  78. package/es/form-item/index.css +77 -0
  79. package/es/form-item/index.d.ts +37 -0
  80. package/es/form-item/index.js +318 -0
  81. package/es/form-item/type.d.ts +96 -0
  82. package/es/grid/index.js +56 -75
  83. package/es/grid-item/css.js +0 -1
  84. package/es/grid-item/index.d.ts +1 -1
  85. package/es/grid-item/index.js +85 -121
  86. package/es/header/index.js +31 -40
  87. package/es/icon/index.js +44 -55
  88. package/es/icons/css-hn.js +0 -1
  89. package/es/icons/css-pa.js +0 -1
  90. package/es/icons/icon-hn.js +10337 -15986
  91. package/es/icons/icon-pa.js +12573 -17447
  92. package/es/image/css.js +2 -0
  93. package/es/image/index.css +69 -0
  94. package/es/image/index.d.ts +35 -0
  95. package/es/image/index.js +199 -0
  96. package/es/image/type.d.ts +126 -0
  97. package/es/index.css +1 -515
  98. package/es/index.d.ts +22 -2
  99. package/es/index.js +143 -123
  100. package/es/input/draw.d.ts +1 -1
  101. package/es/input/draw.js +26 -51
  102. package/es/input/index.css +85 -33
  103. package/es/input/index.d.ts +9 -16
  104. package/es/input/index.js +319 -423
  105. package/es/input/type.d.ts +3 -3
  106. package/es/input-group/index.css +0 -1
  107. package/es/input-group/index.d.ts +2 -2
  108. package/es/input-group/index.js +66 -37
  109. package/es/input-group/type.d.ts +16 -4
  110. package/es/input-group-label/draw.d.ts +1 -1
  111. package/es/input-group-label/draw.js +26 -51
  112. package/es/input-group-label/index.css +33 -22
  113. package/es/input-group-label/index.d.ts +1 -4
  114. package/es/input-group-label/index.js +104 -127
  115. package/es/input-group-label/type.d.ts +3 -3
  116. package/es/input-number/draw.d.ts +1 -1
  117. package/es/input-number/draw.js +26 -51
  118. package/es/input-number/index.css +90 -35
  119. package/es/input-number/index.d.ts +9 -16
  120. package/es/input-number/index.js +428 -536
  121. package/es/input-number/type.d.ts +3 -3
  122. package/es/input-tag/draw.d.ts +1 -1
  123. package/es/input-tag/draw.js +26 -48
  124. package/es/input-tag/index.css +100 -33
  125. package/es/input-tag/index.d.ts +7 -13
  126. package/es/input-tag/index.js +442 -467
  127. package/es/input-tag/type.d.ts +24 -13
  128. package/es/link/index.js +75 -106
  129. package/es/main/index.js +11 -15
  130. package/es/mask/index.js +94 -115
  131. package/es/message/index.css +1 -1
  132. package/es/message/index.js +168 -346
  133. package/es/message-box/css.js +1 -1
  134. package/es/message-box/index.js +98 -114
  135. package/es/message-box/message-box-wrapped.js +33 -46
  136. package/es/message-box/message-box.js +79 -111
  137. package/es/option-list/index.css +13 -13
  138. package/es/option-list/index.d.ts +4 -31
  139. package/es/option-list/index.js +99 -167
  140. package/es/option-list/type.d.ts +5 -1
  141. package/es/pixelate/pixel.d.ts +5 -0
  142. package/es/pixelate/pixel.js +70 -0
  143. package/es/pixelate/pixelate.worker.d.ts +1 -0
  144. package/es/popover/index.d.ts +13 -99
  145. package/es/popover/index.js +75 -238
  146. package/es/popover/type.d.ts +7 -2
  147. package/es/popup/css.js +1 -0
  148. package/es/popup/index.d.ts +210 -0
  149. package/es/popup/index.js +203 -0
  150. package/es/popup/type.d.ts +105 -0
  151. package/es/popup-content/draw.d.ts +2 -2
  152. package/es/popup-content/draw.js +98 -143
  153. package/es/popup-content/index.css +11 -11
  154. package/es/popup-content/index.d.ts +1 -0
  155. package/es/popup-content/index.js +253 -1576
  156. package/es/popup-content/type.d.ts +1 -0
  157. package/es/popup-trigger/index.d.ts +8 -2
  158. package/es/popup-trigger/index.js +122 -95
  159. package/es/popup-trigger/type.d.ts +4 -1
  160. package/es/popup-wrapper/css.js +2 -0
  161. package/es/popup-wrapper/index.css +14 -0
  162. package/es/popup-wrapper/index.d.ts +18 -0
  163. package/es/popup-wrapper/index.js +67 -0
  164. package/es/popup-wrapper/type.d.ts +9 -0
  165. package/es/radio/css.js +1 -0
  166. package/es/radio/draw.d.ts +4 -0
  167. package/es/radio/draw.js +47 -0
  168. package/es/radio/index.d.ts +30 -0
  169. package/es/radio/index.js +190 -0
  170. package/es/radio/style.css +73 -0
  171. package/es/radio/type.d.ts +76 -0
  172. package/es/radio-group/css.js +2 -0
  173. package/es/radio-group/index.css +20 -0
  174. package/es/radio-group/index.d.ts +23 -0
  175. package/es/radio-group/index.js +77 -0
  176. package/es/radio-group/type.d.ts +77 -0
  177. package/es/row/index.js +56 -70
  178. package/es/select/draw.d.ts +1 -1
  179. package/es/select/draw.js +26 -51
  180. package/es/select/index.css +118 -36
  181. package/es/select/index.d.ts +14 -16
  182. package/es/select/index.js +625 -675
  183. package/es/select/type.d.ts +60 -25
  184. package/es/share/const/event-bus-key.js +1 -6
  185. package/es/share/const/index.d.ts +4 -0
  186. package/es/share/const/index.js +22 -24
  187. package/es/share/const/provide-key.d.ts +5 -0
  188. package/es/share/const/provide-key.js +6 -5
  189. package/es/share/const/style.d.ts +6 -0
  190. package/es/share/const/style.js +7 -0
  191. package/es/share/hook/use-cancelable-delay.d.ts +1 -0
  192. package/es/share/hook/use-cancelable-delay.js +42 -0
  193. package/es/share/hook/use-click-outside-listener.d.ts +1 -1
  194. package/es/share/hook/use-click-outside-listener.js +28 -41
  195. package/es/share/hook/use-composition.js +17 -15
  196. package/es/share/hook/use-controlled-mode.d.ts +3 -3
  197. package/es/share/hook/use-controlled-mode.js +20 -23
  198. package/es/share/hook/use-dark-mode.js +51 -65
  199. package/es/share/hook/use-index-of-children.d.ts +2 -1
  200. package/es/share/hook/use-index-of-children.js +47 -45
  201. package/es/share/hook/use-lazy-load.d.ts +10 -0
  202. package/es/share/hook/use-lazy-load.js +133 -0
  203. package/es/share/hook/use-props-detect.d.ts +2 -0
  204. package/es/share/hook/use-resize-observer.d.ts +1 -2
  205. package/es/share/hook/use-resize-observer.js +28 -20
  206. package/es/share/hook/use-screen-width.js +27 -36
  207. package/es/share/hook/use-smooth-transition.d.ts +2 -0
  208. package/es/share/hook/use-smooth-transition.js +65 -0
  209. package/es/share/hook/use-textarea-height.js +86 -92
  210. package/es/share/hook/use-theme-mode.js +41 -42
  211. package/es/share/hook/use-transition-end.d.ts +2 -0
  212. package/es/share/hook/use-transition-end.js +12 -0
  213. package/es/share/hook/use-watch-global-css-var.js +12 -16
  214. package/es/share/hook/use-window-resize-listener.d.ts +1 -0
  215. package/es/share/hook/use-window-resize-listener.js +15 -0
  216. package/es/share/hook/use-z-index.js +30 -27
  217. package/es/share/type/index.d.ts +18 -3
  218. package/es/share/util/color.d.ts +5 -3
  219. package/es/share/util/color.js +156 -149
  220. package/es/share/util/common.d.ts +7 -2
  221. package/es/share/util/common.js +127 -65
  222. package/es/share/util/console.d.ts +3 -3
  223. package/es/share/util/console.js +10 -7
  224. package/es/share/util/dom.d.ts +19 -0
  225. package/es/share/util/dom.js +88 -0
  226. package/es/share/util/env.d.ts +1 -0
  227. package/es/share/util/env.js +5 -4
  228. package/es/share/util/event-bus.js +3 -20
  229. package/es/share/util/lru-cache.js +29 -33
  230. package/es/share/util/pixel.d.ts +4 -0
  231. package/es/share/util/plot.d.ts +8 -3
  232. package/es/share/util/plot.js +457 -229
  233. package/es/share/util/reactivity.d.ts +8 -0
  234. package/es/share/util/reactivity.js +23 -0
  235. package/es/share/util/render.js +31 -41
  236. package/es/share/util/theme.d.ts +3 -0
  237. package/es/share/util/theme.js +77 -57
  238. package/es/slider/css.js +2 -0
  239. package/es/slider/draw.d.ts +25 -0
  240. package/es/slider/draw.js +113 -0
  241. package/es/slider/index.css +119 -0
  242. package/es/slider/index.d.ts +66 -0
  243. package/es/slider/index.js +503 -0
  244. package/es/slider/type.d.ts +162 -0
  245. package/es/slider/util.d.ts +37 -0
  246. package/es/slider/util.js +130 -0
  247. package/es/space/index.css +24 -29
  248. package/es/space/index.js +73 -97
  249. package/es/spin/index.css +18 -17
  250. package/es/spin/index.js +72 -102
  251. package/es/spin/type.d.ts +11 -5
  252. package/es/switch/css.js +2 -0
  253. package/es/switch/draw.d.ts +2 -0
  254. package/es/switch/draw.js +18 -0
  255. package/es/switch/index.css +121 -0
  256. package/es/switch/index.d.ts +42 -0
  257. package/es/switch/index.js +259 -0
  258. package/es/switch/type.d.ts +133 -0
  259. package/es/tag/draw.d.ts +2 -2
  260. package/es/tag/draw.js +80 -127
  261. package/es/tag/index.css +38 -22
  262. package/es/tag/index.d.ts +2 -2
  263. package/es/tag/index.js +121 -190
  264. package/es/tag/type.d.ts +3 -3
  265. package/es/text-outline/css.js +2 -0
  266. package/es/text-outline/index.css +4 -0
  267. package/es/text-outline/index.d.ts +17 -0
  268. package/es/text-outline/index.js +33 -0
  269. package/es/text-outline/type.d.ts +23 -0
  270. package/es/textarea/draw.js +9 -11
  271. package/es/textarea/index.css +37 -23
  272. package/es/textarea/index.d.ts +8 -14
  273. package/es/textarea/index.js +274 -262
  274. package/es/tooltip/index.d.ts +100 -4
  275. package/es/tooltip/index.js +70 -226
  276. package/es/tooltip/type.d.ts +7 -2
  277. package/es/vendor.js +504 -0
  278. package/es/virtual-list/css.js +2 -0
  279. package/es/virtual-list/index.css +25 -0
  280. package/es/virtual-list/index.d.ts +11 -0
  281. package/es/virtual-list/index.js +313 -0
  282. package/es/virtual-list/type.d.ts +26 -0
  283. package/package.json +10 -16
  284. package/es/grid-item/index.css +0 -0
  285. /package/es/message-box/{message-box.css → index.css} +0 -0
@@ -1,240 +1,77 @@
1
1
  import './css.js'
2
- import { defineComponent, computed, ref, shallowRef, watch, onMounted, nextTick, useSlots, createVNode, Fragment } from "vue";
3
- import { N } from "../aside/index.js";
4
- import { _ as _sfc_main$2 } from "../popup-content/index.js";
5
- import { _ as _sfc_main$1 } from "../popup-trigger/index.js";
6
- import { i as inBrowser } from "../share/util/env.js";
7
- const BORDER_RADIUS = 16;
8
- const HOVER_CLOSE_DELAY = 300;
9
- const _sfc_main = /* @__PURE__ */ defineComponent({
10
- ...{
11
- name: "Popover"
12
- },
13
- __name: "index",
14
- props: {
15
- content: null,
16
- visible: {
17
- type: Boolean,
18
- default: void 0
19
- },
20
- defaultVisible: {
21
- type: Boolean,
22
- default: void 0
23
- },
24
- placement: {
25
- default: "top"
26
- },
27
- trigger: {
28
- default: "hover"
29
- },
30
- offset: {
31
- default: 8
32
- },
33
- variant: {
34
- default: "light"
35
- },
36
- arrow: {
37
- type: Boolean,
38
- default: true
39
- },
40
- disabled: {
41
- type: Boolean
42
- },
43
- zIndex: null,
44
- root: {
45
- default: "body"
46
- },
47
- widthEqual: {
48
- type: Boolean,
49
- default: false
50
- },
51
- contentStyle: null
52
- },
53
- emits: ["update:visible", "close", "open"],
54
- setup(__props, {
55
- expose: __expose,
56
- emit: __emit
57
- }) {
58
- const props = __props;
59
- const controlledMode = computed(() => {
60
- return props.visible !== void 0;
61
- });
62
- const preDisplay = controlledMode.value ? props.visible : props.defaultVisible;
63
- const display = ref(N(preDisplay) ? false : preDisplay);
64
- const contentRef = shallowRef();
65
- const triggerRef = shallowRef();
66
- const emits = __emit;
67
- const currentTrigger = shallowRef(null);
68
- let closeDelayPromiseReject;
69
- async function openHandler(node, e) {
70
- if (closeDelayPromiseReject) {
71
- closeDelayPromiseReject();
72
- closeDelayPromiseReject = void 0;
73
- }
74
- await openHandlerImpl(node);
75
- emits("open", e);
76
- }
77
- async function openHandlerImpl(node, controlled = false) {
78
- if (inBrowser()) {
79
- resizeObserver == null ? void 0 : resizeObserver.disconnect();
80
- if (node.el instanceof HTMLElement) {
81
- currentTrigger.value = node;
82
- } else {
83
- currentTrigger.value = null;
84
- }
85
- if (currentTrigger.value && currentTrigger.value.el instanceof HTMLElement) {
86
- resizeObserver == null ? void 0 : resizeObserver.observe(currentTrigger.value.el);
87
- }
88
- }
89
- if (controlledMode.value && !controlled) {
90
- emits("update:visible", true);
91
- await nextTick(() => {
92
- });
93
- display.value = !!props.visible;
94
- } else {
95
- display.value = true;
96
- }
97
- }
98
- async function closeHandler(e) {
99
- if (props.trigger === "click") {
100
- const clickContent = contentRef.value && contentRef.value.content && contentRef.value.content.contains(e.target);
101
- if (clickContent || !display.value) {
102
- return;
103
- }
104
- } else {
105
- if (closeDelayPromiseReject) {
106
- closeDelayPromiseReject();
107
- closeDelayPromiseReject = void 0;
108
- }
109
- const {
110
- resolve,
111
- reject,
112
- promise
113
- } = Promise.withResolvers();
114
- closeDelayPromiseReject = reject;
115
- setTimeout(() => {
116
- resolve();
117
- }, HOVER_CLOSE_DELAY);
118
- try {
119
- await promise;
120
- } catch {
121
- return;
122
- }
123
- }
124
- if (controlledMode.value) {
125
- emits("update:visible", false);
126
- await nextTick(() => {
127
- });
128
- display.value = !!props.visible;
129
- } else {
130
- display.value = false;
131
- }
132
- emits("close", e);
133
- }
134
- const contentMouseenterHandler = () => {
135
- if (props.trigger === "click") {
136
- return;
137
- }
138
- if (closeDelayPromiseReject) {
139
- closeDelayPromiseReject();
140
- closeDelayPromiseReject = void 0;
141
- }
142
- };
143
- const contentMouseleaveHandler = (e) => {
144
- if (props.trigger === "click") {
145
- return;
146
- }
147
- closeHandler(e);
148
- };
149
- const preprocessCurrentTrigger = () => {
150
- if (!inBrowser()) {
151
- return;
152
- }
153
- if (!currentTrigger.value && triggerRef.value && triggerRef.value.firstVNode) {
154
- resizeObserver == null ? void 0 : resizeObserver.disconnect();
155
- currentTrigger.value = triggerRef.value.firstVNode;
156
- if (currentTrigger.value.el instanceof HTMLElement) {
157
- resizeObserver == null ? void 0 : resizeObserver.observe(currentTrigger.value.el);
158
- }
159
- }
160
- };
161
- const processVisible = (value) => {
162
- if (value) {
163
- preprocessCurrentTrigger();
164
- if (currentTrigger.value) {
165
- openHandlerImpl(currentTrigger.value, true);
166
- }
167
- } else {
168
- display.value = false;
169
- }
170
- };
171
- watch(() => props.visible, () => {
172
- processVisible(!!props.visible);
173
- });
174
- const resizeObserver = inBrowser() ? new ResizeObserver(() => {
175
- updateRenderState();
176
- }) : null;
177
- onMounted(() => {
178
- nextTick(() => {
179
- if (display.value) {
180
- updateRenderState();
181
- }
182
- });
183
- });
184
- const updateRenderState = () => {
185
- var _a;
186
- preprocessCurrentTrigger();
187
- if (inBrowser()) {
188
- (_a = contentRef.value) == null ? void 0 : _a.updateRenderState();
189
- }
190
- };
191
- __expose({
192
- triggerContent: contentRef,
193
- updateRenderState
194
- });
195
- const slots = useSlots();
196
- const checkCurrentTrigger = (_) => {
197
- var _a;
198
- if (!inBrowser()) {
199
- return false;
200
- }
201
- return ((_a = currentTrigger.value) == null ? void 0 : _a.el) instanceof HTMLElement;
202
- };
203
- return () => {
204
- var _a;
205
- return createVNode(Fragment, null, [createVNode(_sfc_main$1, {
206
- "trigger": props.trigger,
207
- "disabled": props.disabled,
208
- "onClose": closeHandler,
209
- "onOpen": openHandler,
210
- "ref": (node) => triggerRef.value = node
211
- }, {
212
- default: () => {
213
- var _a2;
214
- return [(_a2 = slots.default) == null ? void 0 : _a2.call(slots)];
215
- }
216
- }), createVNode(_sfc_main$2, {
217
- "visible": display.value,
218
- "content": props.content,
219
- "zIndex": props.zIndex,
220
- "variant": props.variant,
221
- "placement": props.placement,
222
- "arrow": props.arrow,
223
- "offset": props.offset,
224
- "borderRadius": BORDER_RADIUS,
225
- "root": props.root,
226
- "widthEqual": props.widthEqual,
227
- "target": checkCurrentTrigger((_a = currentTrigger.value) == null ? void 0 : _a.el) ? currentTrigger.value.el : null,
228
- "onContentMouseenter": contentMouseenterHandler,
229
- "onContentMouseleave": contentMouseleaveHandler,
230
- "contentStyle": props.contentStyle,
231
- "ref": (node) => contentRef.value = node
232
- }, {
233
- content: slots.content
234
- })]);
235
- };
236
- }
2
+ import { n as forwardEmits } from "../share/util/reactivity.js";
3
+ import { t as popup_default } from "../popup/index.js";
4
+ import { createVNode, defineComponent, mergeProps, shallowRef, useAttrs, useSlots } from "vue";
5
+ var popover_default = /* @__PURE__ */ defineComponent({
6
+ name: "Popover",
7
+ __name: "index",
8
+ props: {
9
+ content: null,
10
+ visible: {
11
+ type: Boolean,
12
+ default: void 0
13
+ },
14
+ defaultVisible: {
15
+ type: Boolean,
16
+ default: void 0
17
+ },
18
+ placement: { default: "top" },
19
+ trigger: { default: "hover" },
20
+ offset: { default: 8 },
21
+ variant: { default: "light" },
22
+ arrow: {
23
+ type: Boolean,
24
+ default: true
25
+ },
26
+ disabled: { type: Boolean },
27
+ zIndex: null,
28
+ root: { default: "body" },
29
+ widthEqual: {
30
+ type: Boolean,
31
+ default: false
32
+ },
33
+ contentStyle: null,
34
+ destroyOnHide: {
35
+ type: Boolean,
36
+ default: false
37
+ }
38
+ },
39
+ emits: [
40
+ "update:visible",
41
+ "close",
42
+ "open"
43
+ ],
44
+ setup(__props, { expose: __expose, emit: __emit }) {
45
+ const props = __props;
46
+ const attrs = useAttrs();
47
+ const emits = __emit;
48
+ const popupRef = shallowRef(null);
49
+ __expose({
50
+ get triggerContent() {
51
+ var _popupRef$value;
52
+ return (_popupRef$value = popupRef.value) === null || _popupRef$value === void 0 ? void 0 : _popupRef$value.triggerContent;
53
+ },
54
+ updateRenderState() {
55
+ var _popupRef$value2;
56
+ (_popupRef$value2 = popupRef.value) === null || _popupRef$value2 === void 0 || _popupRef$value2.updateRenderState();
57
+ }
58
+ });
59
+ const slots = useSlots();
60
+ const forward = forwardEmits(emits, [
61
+ "open",
62
+ "close",
63
+ "update:visible"
64
+ ]);
65
+ return () => {
66
+ return createVNode(popup_default, mergeProps({ "ref": popupRef }, {
67
+ ...props,
68
+ ...forward,
69
+ ...attrs
70
+ }), {
71
+ default: slots.default,
72
+ content: slots.content
73
+ });
74
+ };
75
+ }
237
76
  });
238
- export {
239
- _sfc_main as _
240
- };
77
+ export { popover_default as t };
@@ -46,7 +46,7 @@ export type PopoverProps = {
46
46
  */
47
47
  disabled?: boolean;
48
48
  /**
49
- * @property {number} [disabled]
49
+ * @property {number} [zIndex]
50
50
  * @version 0.0.2
51
51
  */
52
52
  zIndex?: number;
@@ -65,6 +65,11 @@ export type PopoverProps = {
65
65
  * @version 0.0.2
66
66
  */
67
67
  contentStyle?: CSSProperties;
68
+ /**
69
+ * @property {boolean} [destroyOnHide=false]
70
+ * @version 0.0.3
71
+ */
72
+ destroyOnHide?: boolean;
68
73
  };
69
74
  export type PopoverEvents = {
70
75
  /**
@@ -78,7 +83,7 @@ export type PopoverEvents = {
78
83
  * @param {MouseEvent} e
79
84
  * @version 0.0.2
80
85
  */
81
- close: [e: MouseEvent];
86
+ close: [e: MouseEvent | TouchEvent];
82
87
  /**
83
88
  * @event open
84
89
  * @param {MouseEvent} e
@@ -0,0 +1 @@
1
+ import '../index.css'
@@ -0,0 +1,210 @@
1
+ import { nextTick, type VNode } from 'vue';
2
+ import type { PopupProps } from './type';
3
+ declare const _default: import("vue").DefineComponent<PopupProps, {
4
+ triggerContent: import("vue").ShallowRef<({
5
+ $: import("vue").ComponentInternalInstance;
6
+ $data: {};
7
+ $props: {
8
+ readonly content?: string | undefined;
9
+ readonly visible?: boolean | null | undefined;
10
+ readonly defaultVisible?: boolean | null | undefined;
11
+ readonly placement?: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
12
+ readonly offset?: number | undefined;
13
+ readonly variant?: "dark" | "light" | undefined;
14
+ readonly arrow?: boolean | undefined;
15
+ readonly zIndex?: number | undefined;
16
+ readonly target?: (HTMLElement | VNode | null) | undefined;
17
+ readonly root?: (HTMLElement | string) | undefined;
18
+ readonly borderRadius?: number | undefined;
19
+ readonly widthEqual?: boolean | undefined;
20
+ readonly contentStyle?: import("vue").CSSProperties | undefined;
21
+ readonly destroyOnHide?: boolean | undefined;
22
+ readonly onContentMouseenter?: ((e: MouseEvent) => any) | undefined;
23
+ readonly onContentMouseleave?: ((e: MouseEvent) => any) | undefined;
24
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
25
+ $attrs: {
26
+ [x: string]: unknown;
27
+ };
28
+ $refs: {
29
+ [x: string]: unknown;
30
+ };
31
+ $slots: Readonly<{
32
+ [name: string]: import("vue").Slot<any> | undefined;
33
+ }>;
34
+ $root: import("vue").ComponentPublicInstance | null;
35
+ $parent: import("vue").ComponentPublicInstance | null;
36
+ $host: Element | null;
37
+ $emit: ((event: "contentMouseenter", e: MouseEvent) => void) & ((event: "contentMouseleave", e: MouseEvent) => void);
38
+ $el: any;
39
+ $options: import("vue").ComponentOptionsBase<Readonly<import("../popup-content/type.ts").PopupContentProps> & Readonly<{
40
+ onContentMouseenter?: ((e: MouseEvent) => any) | undefined;
41
+ onContentMouseleave?: ((e: MouseEvent) => any) | undefined;
42
+ }>, {
43
+ updateRenderState: () => void;
44
+ content: import("vue").ShallowRef<HTMLDivElement | null, HTMLDivElement | null>;
45
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
46
+ contentMouseenter: (e: MouseEvent) => any;
47
+ contentMouseleave: (e: MouseEvent) => any;
48
+ }, string, {
49
+ variant: "dark" | "light";
50
+ placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
51
+ root: HTMLElement | string;
52
+ offset: number;
53
+ visible: boolean | null;
54
+ arrow: boolean;
55
+ widthEqual: boolean;
56
+ destroyOnHide: boolean;
57
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
58
+ beforeCreate?: (() => void) | (() => void)[];
59
+ created?: (() => void) | (() => void)[];
60
+ beforeMount?: (() => void) | (() => void)[];
61
+ mounted?: (() => void) | (() => void)[];
62
+ beforeUpdate?: (() => void) | (() => void)[];
63
+ updated?: (() => void) | (() => void)[];
64
+ activated?: (() => void) | (() => void)[];
65
+ deactivated?: (() => void) | (() => void)[];
66
+ beforeDestroy?: (() => void) | (() => void)[];
67
+ beforeUnmount?: (() => void) | (() => void)[];
68
+ destroyed?: (() => void) | (() => void)[];
69
+ unmounted?: (() => void) | (() => void)[];
70
+ renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
71
+ renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
72
+ errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
73
+ };
74
+ $forceUpdate: () => void;
75
+ $nextTick: typeof nextTick;
76
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, ((cleanupFn: () => void) => void)]) => any : (...args: [any, any, ((cleanupFn: () => void) => void)]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
77
+ } & Readonly<{
78
+ variant: "dark" | "light";
79
+ placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
80
+ root: HTMLElement | string;
81
+ offset: number;
82
+ visible: boolean | null;
83
+ arrow: boolean;
84
+ widthEqual: boolean;
85
+ destroyOnHide: boolean;
86
+ }> & Omit<Readonly<import("../popup-content/type.ts").PopupContentProps> & Readonly<{
87
+ onContentMouseenter?: ((e: MouseEvent) => any) | undefined;
88
+ onContentMouseleave?: ((e: MouseEvent) => any) | undefined;
89
+ }>, "content" | "updateRenderState" | ("variant" | "placement" | "root" | "offset" | "visible" | "arrow" | "widthEqual" | "destroyOnHide")> & import("vue").ShallowUnwrapRef<{
90
+ updateRenderState: () => void;
91
+ content: import("vue").ShallowRef<HTMLDivElement | null, HTMLDivElement | null>;
92
+ }> & {} & import("vue").ComponentCustomProperties & {} & {
93
+ $slots: {
94
+ content?: (props: {}) => any;
95
+ };
96
+ }) | undefined, ({
97
+ $: import("vue").ComponentInternalInstance;
98
+ $data: {};
99
+ $props: {
100
+ readonly content?: string | undefined;
101
+ readonly visible?: boolean | null | undefined;
102
+ readonly defaultVisible?: boolean | null | undefined;
103
+ readonly placement?: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
104
+ readonly offset?: number | undefined;
105
+ readonly variant?: "dark" | "light" | undefined;
106
+ readonly arrow?: boolean | undefined;
107
+ readonly zIndex?: number | undefined;
108
+ readonly target?: (HTMLElement | VNode | null) | undefined;
109
+ readonly root?: (HTMLElement | string) | undefined;
110
+ readonly borderRadius?: number | undefined;
111
+ readonly widthEqual?: boolean | undefined;
112
+ readonly contentStyle?: import("vue").CSSProperties | undefined;
113
+ readonly destroyOnHide?: boolean | undefined;
114
+ readonly onContentMouseenter?: ((e: MouseEvent) => any) | undefined;
115
+ readonly onContentMouseleave?: ((e: MouseEvent) => any) | undefined;
116
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
117
+ $attrs: {
118
+ [x: string]: unknown;
119
+ };
120
+ $refs: {
121
+ [x: string]: unknown;
122
+ };
123
+ $slots: Readonly<{
124
+ [name: string]: import("vue").Slot<any> | undefined;
125
+ }>;
126
+ $root: import("vue").ComponentPublicInstance | null;
127
+ $parent: import("vue").ComponentPublicInstance | null;
128
+ $host: Element | null;
129
+ $emit: ((event: "contentMouseenter", e: MouseEvent) => void) & ((event: "contentMouseleave", e: MouseEvent) => void);
130
+ $el: any;
131
+ $options: import("vue").ComponentOptionsBase<Readonly<import("../popup-content/type.ts").PopupContentProps> & Readonly<{
132
+ onContentMouseenter?: ((e: MouseEvent) => any) | undefined;
133
+ onContentMouseleave?: ((e: MouseEvent) => any) | undefined;
134
+ }>, {
135
+ updateRenderState: () => void;
136
+ content: import("vue").ShallowRef<HTMLDivElement | null, HTMLDivElement | null>;
137
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
138
+ contentMouseenter: (e: MouseEvent) => any;
139
+ contentMouseleave: (e: MouseEvent) => any;
140
+ }, string, {
141
+ variant: "dark" | "light";
142
+ placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
143
+ root: HTMLElement | string;
144
+ offset: number;
145
+ visible: boolean | null;
146
+ arrow: boolean;
147
+ widthEqual: boolean;
148
+ destroyOnHide: boolean;
149
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
150
+ beforeCreate?: (() => void) | (() => void)[];
151
+ created?: (() => void) | (() => void)[];
152
+ beforeMount?: (() => void) | (() => void)[];
153
+ mounted?: (() => void) | (() => void)[];
154
+ beforeUpdate?: (() => void) | (() => void)[];
155
+ updated?: (() => void) | (() => void)[];
156
+ activated?: (() => void) | (() => void)[];
157
+ deactivated?: (() => void) | (() => void)[];
158
+ beforeDestroy?: (() => void) | (() => void)[];
159
+ beforeUnmount?: (() => void) | (() => void)[];
160
+ destroyed?: (() => void) | (() => void)[];
161
+ unmounted?: (() => void) | (() => void)[];
162
+ renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
163
+ renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
164
+ errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
165
+ };
166
+ $forceUpdate: () => void;
167
+ $nextTick: typeof nextTick;
168
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, ((cleanupFn: () => void) => void)]) => any : (...args: [any, any, ((cleanupFn: () => void) => void)]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
169
+ } & Readonly<{
170
+ variant: "dark" | "light";
171
+ placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
172
+ root: HTMLElement | string;
173
+ offset: number;
174
+ visible: boolean | null;
175
+ arrow: boolean;
176
+ widthEqual: boolean;
177
+ destroyOnHide: boolean;
178
+ }> & Omit<Readonly<import("../popup-content/type.ts").PopupContentProps> & Readonly<{
179
+ onContentMouseenter?: ((e: MouseEvent) => any) | undefined;
180
+ onContentMouseleave?: ((e: MouseEvent) => any) | undefined;
181
+ }>, "content" | "updateRenderState" | ("variant" | "placement" | "root" | "offset" | "visible" | "arrow" | "widthEqual" | "destroyOnHide")> & import("vue").ShallowUnwrapRef<{
182
+ updateRenderState: () => void;
183
+ content: import("vue").ShallowRef<HTMLDivElement | null, HTMLDivElement | null>;
184
+ }> & {} & import("vue").ComponentCustomProperties & {} & {
185
+ $slots: {
186
+ content?: (props: {}) => any;
187
+ };
188
+ }) | undefined>;
189
+ updateRenderState: () => void;
190
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
191
+ close: (e: MouseEvent | TouchEvent) => any;
192
+ open: (e: MouseEvent) => any;
193
+ "update:visible": (value: boolean) => any;
194
+ }, string, import("vue").PublicProps, Readonly<PopupProps> & Readonly<{
195
+ onClose?: ((e: MouseEvent | TouchEvent) => any) | undefined;
196
+ onOpen?: ((e: MouseEvent) => any) | undefined;
197
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
198
+ }>, {
199
+ variant: "dark" | "light";
200
+ placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
201
+ root: HTMLElement | string;
202
+ offset: number;
203
+ visible: boolean | null;
204
+ defaultVisible: boolean | null;
205
+ trigger: "hover" | "click";
206
+ arrow: boolean;
207
+ widthEqual: boolean;
208
+ destroyOnHide: boolean;
209
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
210
+ export default _default;