pxd 0.0.64 → 0.1.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 (545) hide show
  1. package/README.md +21 -10
  2. package/dist/components/_internal/calendar-day.d.vue.ts +33 -0
  3. package/dist/components/_internal/calendar-day.vue +85 -0
  4. package/dist/components/_internal/dismiss-container.d.vue.ts +1 -1
  5. package/dist/components/_internal/dismiss-container.vue +74 -127
  6. package/dist/components/_internal/fragment-container.vue +3 -3
  7. package/dist/components/_internal/loading-mask.d.vue.ts +8 -0
  8. package/dist/components/_internal/loading-mask.vue +33 -0
  9. package/dist/components/_internal/mention-editor.d.vue.ts +42 -0
  10. package/dist/components/_internal/mention-editor.vue +114 -0
  11. package/dist/components/_internal/popover-arrow.d.vue.ts +1 -1
  12. package/dist/components/_internal/popover-arrow.vue +9 -6
  13. package/dist/components/_internal/step-item.d.vue.ts +24 -0
  14. package/dist/components/_internal/step-item.vue +86 -0
  15. package/dist/components/_internal/tree-node.d.vue.ts +72 -0
  16. package/dist/components/_internal/tree-node.vue +268 -0
  17. package/dist/components/active-graph/index.d.vue.ts +4 -4
  18. package/dist/components/active-graph/index.vue +381 -239
  19. package/dist/components/active-graph/types.d.ts +2 -1
  20. package/dist/components/approval-card/index.d.vue.ts +28 -0
  21. package/dist/components/approval-card/index.vue +252 -0
  22. package/dist/components/approval-card/types.d.ts +37 -0
  23. package/dist/components/avatar/index.vue +43 -72
  24. package/dist/components/avatar-group/index.d.vue.ts +1 -1
  25. package/dist/components/avatar-group/index.vue +38 -25
  26. package/dist/components/backtop/index.d.vue.ts +10 -3
  27. package/dist/components/backtop/index.vue +97 -54
  28. package/dist/components/backtop/types.d.ts +10 -3
  29. package/dist/components/badge/index.d.vue.ts +6 -3
  30. package/dist/components/badge/index.vue +126 -79
  31. package/dist/components/badge/types.d.ts +3 -2
  32. package/dist/components/book/index.vue +57 -162
  33. package/dist/components/book/types.d.ts +1 -1
  34. package/dist/components/border-beam/index.d.vue.ts +18 -0
  35. package/dist/components/border-beam/index.vue +64 -0
  36. package/dist/components/border-beam/types.d.ts +8 -0
  37. package/dist/components/{resizable-panel → breadcrumb}/index.d.vue.ts +3 -4
  38. package/dist/components/breadcrumb/index.vue +32 -0
  39. package/dist/components/breadcrumb/types.d.ts +6 -0
  40. package/dist/components/breadcrumb-item/index.d.vue.ts +16 -0
  41. package/dist/components/breadcrumb-item/index.vue +50 -0
  42. package/dist/components/breadcrumb-item/types.d.ts +4 -0
  43. package/dist/components/browser/index.d.vue.ts +2 -2
  44. package/dist/components/browser/index.vue +13 -28
  45. package/dist/components/bubble/index.d.vue.ts +6 -3
  46. package/dist/components/bubble/index.vue +85 -18
  47. package/dist/components/bubble/types.d.ts +3 -1
  48. package/dist/components/bubble-group/index.d.vue.ts +19 -0
  49. package/dist/components/bubble-group/index.vue +86 -0
  50. package/dist/components/bubble-group/types.d.ts +6 -0
  51. package/dist/components/bubble-group/types.js +0 -0
  52. package/dist/components/button/index.d.vue.ts +6 -5
  53. package/dist/components/button/index.vue +121 -86
  54. package/dist/components/button/types.d.ts +1 -1
  55. package/dist/components/button-group/index.vue +20 -7
  56. package/dist/components/button-group/types.d.ts +1 -1
  57. package/dist/components/calendar/index.d.vue.ts +41 -0
  58. package/dist/components/calendar/index.vue +247 -0
  59. package/dist/components/calendar/types.d.ts +37 -0
  60. package/dist/components/card/index.d.vue.ts +21 -0
  61. package/dist/components/card/index.vue +47 -0
  62. package/dist/components/card/types.d.ts +6 -0
  63. package/dist/components/carousel/index.d.vue.ts +11 -7
  64. package/dist/components/carousel/index.vue +232 -283
  65. package/dist/components/carousel/types.d.ts +15 -1
  66. package/dist/components/checkbox/index.d.vue.ts +6 -5
  67. package/dist/components/checkbox/index.vue +107 -90
  68. package/dist/components/checkbox/types.d.ts +7 -5
  69. package/dist/components/checkbox-group/index.d.vue.ts +8 -8
  70. package/dist/components/checkbox-group/index.vue +26 -11
  71. package/dist/components/checkbox-group/types.d.ts +4 -2
  72. package/dist/components/checkerboard/index.d.vue.ts +14 -0
  73. package/dist/components/checkerboard/index.vue +37 -0
  74. package/dist/components/checkerboard/types.d.ts +5 -0
  75. package/dist/components/chip/index.d.vue.ts +3 -1
  76. package/dist/components/chip/index.vue +49 -46
  77. package/dist/components/chip/types.d.ts +1 -1
  78. package/dist/components/choicebox/index.d.vue.ts +7 -7
  79. package/dist/components/choicebox/index.vue +52 -30
  80. package/dist/components/choicebox/types.d.ts +1 -1
  81. package/dist/components/choicebox-item/index.d.vue.ts +7 -5
  82. package/dist/components/choicebox-item/index.vue +172 -53
  83. package/dist/components/choicebox-item/types.d.ts +3 -7
  84. package/dist/components/collapse/index.d.vue.ts +2 -2
  85. package/dist/components/collapse/index.vue +73 -99
  86. package/dist/components/collapse-group/index.vue +43 -32
  87. package/dist/components/collapse-group/types.d.ts +1 -1
  88. package/dist/components/color-selector/index.vue +45 -41
  89. package/dist/components/command-menu/index.d.vue.ts +10 -7
  90. package/dist/components/command-menu/index.vue +111 -46
  91. package/dist/components/command-menu/types.d.ts +3 -2
  92. package/dist/components/config-provider/index.d.vue.ts +116 -7
  93. package/dist/components/config-provider/index.vue +54 -11
  94. package/dist/components/config-provider/types.d.ts +6 -3
  95. package/dist/components/confirm-popover/index.d.vue.ts +39 -0
  96. package/dist/components/confirm-popover/index.vue +177 -0
  97. package/dist/components/confirm-popover/types.d.ts +23 -0
  98. package/dist/components/copy-button/index.d.vue.ts +20 -0
  99. package/dist/components/copy-button/index.vue +38 -0
  100. package/dist/components/copy-button/types.d.ts +7 -0
  101. package/dist/components/countdown/index.d.vue.ts +1 -1
  102. package/dist/components/countdown/index.vue +77 -29
  103. package/dist/components/dash-line/index.d.vue.ts +2 -1
  104. package/dist/components/dash-line/index.vue +78 -76
  105. package/dist/components/dash-line/types.d.ts +1 -1
  106. package/dist/components/date-picker/index.d.vue.ts +16 -0
  107. package/dist/components/date-picker/index.vue +295 -0
  108. package/dist/components/date-picker/types.d.ts +20 -0
  109. package/dist/components/description/index.vue +16 -7
  110. package/dist/components/drawer/index.d.vue.ts +11 -11
  111. package/dist/components/drawer/index.vue +156 -70
  112. package/dist/components/drawer/types.d.ts +3 -2
  113. package/dist/components/effort-slider/index.d.vue.ts +10 -0
  114. package/dist/components/effort-slider/index.vue +341 -0
  115. package/dist/components/effort-slider/types.d.ts +14 -0
  116. package/dist/components/ellipsis-text/index.d.vue.ts +1 -1
  117. package/dist/components/ellipsis-text/index.vue +209 -166
  118. package/dist/components/empty-state/index.vue +11 -4
  119. package/dist/components/error/index.d.vue.ts +3 -1
  120. package/dist/components/error/index.vue +42 -28
  121. package/dist/components/error/types.d.ts +2 -1
  122. package/dist/components/fader/index.d.vue.ts +1 -1
  123. package/dist/components/fader/index.vue +58 -114
  124. package/dist/components/fader/types.d.ts +3 -2
  125. package/dist/components/feedback-bar/index.d.vue.ts +12 -0
  126. package/dist/components/feedback-bar/index.vue +81 -0
  127. package/dist/components/feedback-bar/types.d.ts +9 -0
  128. package/dist/components/gauge/index.vue +91 -71
  129. package/dist/components/gauge/types.d.ts +1 -1
  130. package/dist/components/grid/index.vue +58 -52
  131. package/dist/components/grid/types.d.ts +1 -1
  132. package/dist/components/grid-item/index.vue +44 -39
  133. package/dist/components/grid-item/types.d.ts +1 -1
  134. package/dist/components/hint/index.d.vue.ts +32 -0
  135. package/dist/components/hint/index.vue +239 -0
  136. package/dist/components/hint/types.d.ts +17 -0
  137. package/dist/components/hold-button/index.d.vue.ts +4 -4
  138. package/dist/components/hold-button/index.vue +114 -118
  139. package/dist/components/hue-text/index.d.vue.ts +16 -0
  140. package/dist/components/hue-text/index.vue +48 -0
  141. package/dist/components/hue-text/types.d.ts +4 -0
  142. package/dist/components/index.d.ts +44 -5
  143. package/dist/components/index.js +44 -5
  144. package/dist/components/input/index.d.vue.ts +6 -5
  145. package/dist/components/input/index.vue +259 -136
  146. package/dist/components/input/types.d.ts +10 -7
  147. package/dist/components/intersection-observer/index.vue +65 -42
  148. package/dist/components/kbd/index.vue +47 -25
  149. package/dist/components/kbd/types.d.ts +1 -1
  150. package/dist/components/label/index.vue +7 -3
  151. package/dist/components/link-button/index.d.vue.ts +5 -5
  152. package/dist/components/link-button/index.vue +49 -32
  153. package/dist/components/list/index.d.vue.ts +22 -14
  154. package/dist/components/list/index.vue +318 -78
  155. package/dist/components/list/types.d.ts +39 -11
  156. package/dist/components/list-group/index.d.vue.ts +4 -0
  157. package/dist/components/list-group/index.vue +22 -0
  158. package/dist/components/list-group/types.d.ts +5 -0
  159. package/dist/components/list-item/index.d.vue.ts +7 -7
  160. package/dist/components/list-item/index.vue +95 -75
  161. package/dist/components/list-item/types.d.ts +7 -4
  162. package/dist/components/loading-bar/index.vue +148 -141
  163. package/dist/components/loading-dots/index.d.vue.ts +1 -13
  164. package/dist/components/loading-dots/index.vue +13 -15
  165. package/dist/components/marching-ants/index.d.vue.ts +25 -0
  166. package/dist/components/marching-ants/index.vue +486 -0
  167. package/dist/components/marching-ants/types.d.ts +9 -0
  168. package/dist/components/marquee/index.d.vue.ts +37 -0
  169. package/dist/components/marquee/index.vue +242 -0
  170. package/dist/components/marquee/types.d.ts +18 -0
  171. package/dist/components/material/index.d.vue.ts +3 -3
  172. package/dist/components/material/index.vue +22 -28
  173. package/dist/components/mention/index.d.vue.ts +38 -0
  174. package/dist/components/mention/index.vue +251 -0
  175. package/dist/components/mention/types.d.ts +35 -0
  176. package/dist/components/menu/index.d.vue.ts +17 -10
  177. package/dist/components/menu/index.vue +99 -28
  178. package/dist/components/menu/types.d.ts +8 -6
  179. package/dist/components/message/index.d.vue.ts +7 -7
  180. package/dist/components/message/index.vue +140 -239
  181. package/dist/components/message/types.d.ts +1 -1
  182. package/dist/components/message-item/index.vue +46 -62
  183. package/dist/components/modal/index.d.vue.ts +10 -10
  184. package/dist/components/modal/index.vue +143 -66
  185. package/dist/components/modal/types.d.ts +3 -5
  186. package/dist/components/more-button/index.vue +25 -13
  187. package/dist/components/noise-background/index.d.vue.ts +0 -16
  188. package/dist/components/noise-background/index.vue +70 -9
  189. package/dist/components/noise-background/types.d.ts +5 -1
  190. package/dist/components/note/index.d.vue.ts +1 -1
  191. package/dist/components/note/index.vue +114 -100
  192. package/dist/components/note/types.d.ts +3 -1
  193. package/dist/components/number-input/index.d.vue.ts +12 -9
  194. package/dist/components/number-input/index.vue +241 -165
  195. package/dist/components/number-input/types.d.ts +3 -3
  196. package/dist/components/overlay/index.d.vue.ts +3 -4
  197. package/dist/components/overlay/index.vue +85 -95
  198. package/dist/components/overlay/types.d.ts +0 -2
  199. package/dist/components/page-number/index.d.vue.ts +18 -0
  200. package/dist/components/page-number/index.vue +233 -0
  201. package/dist/components/page-number/types.d.ts +18 -0
  202. package/dist/components/pagination/index.vue +14 -7
  203. package/dist/components/pin-input/index.d.vue.ts +2 -2
  204. package/dist/components/pin-input/index.vue +197 -179
  205. package/dist/components/pin-input/types.d.ts +1 -1
  206. package/dist/components/placeholder/index.vue +22 -32
  207. package/dist/components/popover/index.d.vue.ts +0 -47
  208. package/dist/components/popover/index.vue +558 -347
  209. package/dist/components/popover/types.d.ts +10 -1
  210. package/dist/components/progress/index.d.vue.ts +3 -9
  211. package/dist/components/progress/index.vue +85 -63
  212. package/dist/components/progress/types.d.ts +1 -6
  213. package/dist/components/project-banner/index.d.vue.ts +3 -1
  214. package/dist/components/project-banner/index.vue +36 -34
  215. package/dist/components/project-banner/types.d.ts +2 -2
  216. package/dist/components/questionnaire/index.d.vue.ts +10 -0
  217. package/dist/components/questionnaire/index.vue +353 -0
  218. package/dist/components/questionnaire/types.d.ts +30 -0
  219. package/dist/components/radial-burst/index.d.vue.ts +14 -0
  220. package/dist/components/radial-burst/index.vue +53 -0
  221. package/dist/components/radial-burst/types.d.ts +5 -0
  222. package/dist/components/radio/index.d.vue.ts +4 -4
  223. package/dist/components/radio/index.vue +56 -74
  224. package/dist/components/radio/types.d.ts +1 -1
  225. package/dist/components/radio-group/index.d.vue.ts +6 -6
  226. package/dist/components/radio-group/index.vue +26 -12
  227. package/dist/components/radio-group/types.d.ts +1 -1
  228. package/dist/components/rating/index.d.vue.ts +17 -0
  229. package/dist/components/rating/index.vue +253 -0
  230. package/dist/components/rating/types.d.ts +18 -0
  231. package/dist/components/reasoning/index.d.vue.ts +16 -0
  232. package/dist/components/reasoning/index.vue +68 -0
  233. package/dist/components/reasoning/types.d.ts +3 -0
  234. package/dist/components/resizable/index.d.vue.ts +28 -4
  235. package/dist/components/resizable/index.vue +339 -158
  236. package/dist/components/resizable/types.d.ts +13 -14
  237. package/dist/components/reveal/index.d.vue.ts +22 -0
  238. package/dist/components/reveal/index.vue +100 -0
  239. package/dist/components/reveal/types.d.ts +15 -0
  240. package/dist/components/rolling-number/index.d.vue.ts +17 -0
  241. package/dist/components/rolling-number/index.vue +252 -0
  242. package/dist/components/rolling-number/types.d.ts +11 -0
  243. package/dist/components/scalable-text/index.vue +116 -113
  244. package/dist/components/scroll-progress/index.d.vue.ts +22 -0
  245. package/dist/components/scroll-progress/index.vue +75 -0
  246. package/dist/components/scroll-progress/types.d.ts +9 -0
  247. package/dist/components/scroll-text/index.d.vue.ts +18 -0
  248. package/dist/components/scroll-text/index.vue +123 -0
  249. package/dist/components/scroll-text/types.d.ts +7 -0
  250. package/dist/components/scrollable/index.d.vue.ts +3 -3
  251. package/dist/components/scrollable/index.vue +281 -222
  252. package/dist/components/scrollable/types.d.ts +2 -1
  253. package/dist/components/search-input/index.d.vue.ts +152 -0
  254. package/dist/components/search-input/index.vue +56 -0
  255. package/dist/components/search-input/types.d.ts +7 -0
  256. package/dist/components/select/index.d.vue.ts +36 -0
  257. package/dist/components/select/index.vue +257 -0
  258. package/dist/components/select/types.d.ts +25 -0
  259. package/dist/components/separator/index.d.vue.ts +1 -1
  260. package/dist/components/separator/index.vue +9 -6
  261. package/dist/components/separator/types.d.ts +1 -1
  262. package/dist/components/shimmer-text/index.d.vue.ts +18 -0
  263. package/dist/components/shimmer-text/index.vue +216 -0
  264. package/dist/components/shimmer-text/types.d.ts +14 -0
  265. package/dist/components/skeleton/index.d.vue.ts +1 -1
  266. package/dist/components/skeleton/index.vue +59 -51
  267. package/dist/components/skeleton/types.d.ts +1 -1
  268. package/dist/components/slider/index.d.vue.ts +2 -2
  269. package/dist/components/slider/index.vue +391 -261
  270. package/dist/components/slider/types.d.ts +4 -2
  271. package/dist/components/snippet/index.d.vue.ts +3 -2
  272. package/dist/components/snippet/index.vue +83 -70
  273. package/dist/components/snippet/types.d.ts +4 -4
  274. package/dist/components/spinner/index.vue +13 -8
  275. package/dist/components/spinner-dots/index.d.vue.ts +7 -0
  276. package/dist/components/spinner-dots/index.vue +232 -0
  277. package/dist/components/spinner-dots/types.d.ts +9 -0
  278. package/dist/components/split-button/index.d.vue.ts +31 -0
  279. package/dist/components/split-button/index.vue +93 -0
  280. package/dist/components/split-button/types.d.ts +18 -0
  281. package/dist/components/stack/index.d.vue.ts +4 -4
  282. package/dist/components/stack/index.vue +98 -85
  283. package/dist/components/stack/types.d.ts +1 -1
  284. package/dist/components/status-dot/index.d.vue.ts +1 -1
  285. package/dist/components/status-dot/index.vue +34 -20
  286. package/dist/components/status-dot/types.d.ts +1 -1
  287. package/dist/components/steps/index.d.vue.ts +28 -0
  288. package/dist/components/steps/index.vue +143 -0
  289. package/dist/components/steps/types.d.ts +25 -0
  290. package/dist/components/stick-to-bottom/index.d.vue.ts +35 -0
  291. package/dist/components/stick-to-bottom/index.vue +78 -0
  292. package/dist/components/stick-to-bottom/types.d.ts +13 -0
  293. package/dist/components/swipe-cell/index.d.vue.ts +53 -0
  294. package/dist/components/swipe-cell/index.vue +412 -0
  295. package/dist/components/swipe-cell/types.d.ts +53 -0
  296. package/dist/components/switch/index.d.vue.ts +1 -1
  297. package/dist/components/switch/index.vue +43 -22
  298. package/dist/components/switch/types.d.ts +1 -1
  299. package/dist/components/switch-item/index.vue +36 -37
  300. package/dist/components/switch-item/types.d.ts +1 -1
  301. package/dist/components/tabs/index.d.vue.ts +8 -6
  302. package/dist/components/tabs/index.vue +241 -198
  303. package/dist/components/tabs/tab-slot.d.ts +24 -0
  304. package/dist/components/tabs/tab-slot.js +13 -0
  305. package/dist/components/tabs/types.d.ts +11 -5
  306. package/dist/components/teleport/index.vue +69 -60
  307. package/dist/components/text/index.d.vue.ts +4 -4
  308. package/dist/components/text/index.vue +68 -57
  309. package/dist/components/text/types.d.ts +1 -1
  310. package/dist/components/textarea/index.d.vue.ts +7 -5
  311. package/dist/components/textarea/index.vue +148 -71
  312. package/dist/components/textarea/types.d.ts +6 -3
  313. package/dist/components/theme-switcher/index.d.vue.ts +3 -2
  314. package/dist/components/theme-switcher/index.vue +19 -15
  315. package/dist/components/theme-switcher/types.d.ts +2 -2
  316. package/dist/components/time-ago/index.d.vue.ts +6 -0
  317. package/dist/components/time-ago/index.vue +143 -0
  318. package/dist/components/time-ago/types.d.ts +4 -0
  319. package/dist/components/time-picker/index.d.vue.ts +8 -9
  320. package/dist/components/time-picker/index.vue +249 -186
  321. package/dist/components/time-picker/types.d.ts +7 -7
  322. package/dist/components/timeline/index.d.vue.ts +6 -0
  323. package/dist/components/timeline/index.vue +52 -0
  324. package/dist/components/timeline/types.d.ts +6 -0
  325. package/dist/components/timeline-item/index.d.vue.ts +22 -0
  326. package/dist/components/timeline-item/index.vue +110 -0
  327. package/dist/components/timeline-item/types.d.ts +16 -0
  328. package/dist/components/toc/index.d.vue.ts +37 -0
  329. package/dist/components/toc/index.vue +199 -0
  330. package/dist/components/toc/types.d.ts +28 -0
  331. package/dist/components/todo-list/index.d.vue.ts +64 -0
  332. package/dist/components/todo-list/index.vue +357 -0
  333. package/dist/components/todo-list/types.d.ts +53 -0
  334. package/dist/components/toggle/index.d.vue.ts +6 -6
  335. package/dist/components/toggle/index.vue +95 -44
  336. package/dist/components/toggle/types.d.ts +2 -2
  337. package/dist/components/toggle-button/index.d.vue.ts +5 -5
  338. package/dist/components/toggle-button/index.vue +125 -86
  339. package/dist/components/toggle-button/types.d.ts +8 -6
  340. package/dist/components/toggle-button-group/index.d.vue.ts +9 -8
  341. package/dist/components/toggle-button-group/index.vue +63 -43
  342. package/dist/components/toggle-button-group/types.d.ts +2 -2
  343. package/dist/components/tool-call/index.d.vue.ts +6 -0
  344. package/dist/components/tool-call/index.vue +209 -0
  345. package/dist/components/tool-call/types.d.ts +8 -0
  346. package/dist/components/tooltip/index.d.vue.ts +8 -6
  347. package/dist/components/tooltip/index.vue +65 -55
  348. package/dist/components/tooltip/types.d.ts +3 -6
  349. package/dist/components/tour/index.d.vue.ts +33 -0
  350. package/dist/components/tour/index.vue +302 -0
  351. package/dist/components/tour/types.d.ts +29 -0
  352. package/dist/components/tree/index.d.vue.ts +104 -0
  353. package/dist/components/tree/index.vue +751 -0
  354. package/dist/components/tree/types.d.ts +151 -0
  355. package/dist/components/virtual-list/index.d.vue.ts +11 -13
  356. package/dist/components/virtual-list/index.vue +120 -54
  357. package/dist/components/virtual-list/types.d.ts +0 -1
  358. package/dist/composables/_internal/use-collapse-motion.d.ts +6 -0
  359. package/dist/composables/_internal/use-collapse-motion.js +85 -0
  360. package/dist/composables/{use-focus-trap.d.ts → _internal/use-focus-trap.d.ts} +2 -2
  361. package/dist/composables/_internal/use-focus-trap.js +64 -0
  362. package/dist/composables/{use-forward-ref-expose.js → _internal/use-forward-ref-expose.js} +1 -1
  363. package/dist/composables/_internal/use-list-filter.d.ts +15 -0
  364. package/dist/composables/_internal/use-list-filter.js +48 -0
  365. package/dist/composables/_internal/use-list-keyboard-controller.d.ts +21 -0
  366. package/dist/composables/_internal/use-list-keyboard-controller.js +26 -0
  367. package/dist/composables/_internal/use-list-navigation.d.ts +25 -0
  368. package/dist/composables/_internal/use-list-navigation.js +141 -0
  369. package/dist/composables/_internal/use-list-rows.d.ts +33 -0
  370. package/dist/composables/_internal/use-list-rows.js +66 -0
  371. package/dist/composables/_internal/use-list-selection.d.ts +23 -0
  372. package/dist/composables/_internal/use-list-selection.js +41 -0
  373. package/dist/composables/_internal/use-lock-scroll.d.ts +12 -0
  374. package/dist/composables/_internal/use-lock-scroll.js +78 -0
  375. package/dist/composables/_internal/use-mention-editor.d.ts +35 -0
  376. package/dist/composables/_internal/use-mention-editor.js +508 -0
  377. package/dist/composables/_internal/use-mention-suggest.d.ts +23 -0
  378. package/dist/composables/_internal/use-mention-suggest.js +113 -0
  379. package/dist/composables/_internal/use-message-group.d.ts +22 -0
  380. package/dist/composables/_internal/use-message-group.js +143 -0
  381. package/dist/composables/{use-model-value.d.ts → _internal/use-model-value.d.ts} +1 -1
  382. package/dist/composables/_internal/use-model-value.js +13 -0
  383. package/dist/composables/_internal/use-overlay-dialog.d.ts +25 -0
  384. package/dist/composables/_internal/use-overlay-dialog.js +23 -0
  385. package/dist/composables/{use-overlay-manager.d.ts → _internal/use-overlay-manager.d.ts} +4 -1
  386. package/dist/composables/_internal/use-overlay-manager.js +139 -0
  387. package/dist/composables/{use-popover-responsive.js → _internal/use-popover-responsive.js} +1 -1
  388. package/dist/composables/_internal/use-selected-list-item.d.ts +6 -0
  389. package/dist/composables/_internal/use-selected-list-item.js +36 -0
  390. package/dist/composables/_internal/use-swipe-gesture.d.ts +88 -0
  391. package/dist/composables/_internal/use-swipe-gesture.js +345 -0
  392. package/dist/composables/_internal/use-tailwind-variant.d.ts +31 -0
  393. package/dist/composables/_internal/use-tailwind-variant.js +62 -0
  394. package/dist/composables/_internal/use-tour-target.d.ts +29 -0
  395. package/dist/composables/_internal/use-tour-target.js +201 -0
  396. package/dist/composables/_internal/use-tree.d.ts +103 -0
  397. package/dist/composables/_internal/use-tree.js +676 -0
  398. package/dist/composables/_internal/use-word-limit.d.ts +24 -0
  399. package/dist/composables/_internal/use-word-limit.js +36 -0
  400. package/dist/composables/index.d.ts +8 -10
  401. package/dist/composables/index.js +8 -10
  402. package/dist/composables/use-backoff-retry.d.ts +51 -0
  403. package/dist/composables/use-backoff-retry.js +116 -0
  404. package/dist/composables/use-color-scheme.d.ts +1 -1
  405. package/dist/composables/use-color-scheme.js +35 -31
  406. package/dist/composables/use-copy-click.d.ts +2 -1
  407. package/dist/composables/use-copy-click.js +21 -18
  408. package/dist/composables/use-countdown.d.ts +0 -9
  409. package/dist/composables/use-countdown.js +12 -4
  410. package/dist/composables/use-deferred-value.js +1 -1
  411. package/dist/composables/use-delay-change.js +6 -2
  412. package/dist/composables/use-delay-destroy.d.ts +2 -2
  413. package/dist/composables/use-delay-destroy.js +16 -9
  414. package/dist/composables/use-document-hidden.d.ts +1 -1
  415. package/dist/composables/use-intersection-observer.d.ts +6 -0
  416. package/dist/composables/use-intersection-observer.js +38 -0
  417. package/dist/composables/use-media-query.d.ts +0 -3
  418. package/dist/composables/use-media-query.js +19 -19
  419. package/dist/composables/use-motion-reduce.d.ts +6 -0
  420. package/dist/composables/use-motion-reduce.js +40 -0
  421. package/dist/composables/use-mutation-observer.d.ts +6 -0
  422. package/dist/composables/use-mutation-observer.js +42 -0
  423. package/dist/composables/use-outside-click.d.ts +6 -4
  424. package/dist/composables/use-outside-click.js +18 -10
  425. package/dist/composables/use-repeat-action.js +31 -20
  426. package/dist/composables/use-resize-observer.d.ts +6 -0
  427. package/dist/composables/use-resize-observer.js +22 -0
  428. package/dist/composables/use-scrollspy.d.ts +15 -0
  429. package/dist/composables/use-scrollspy.js +98 -0
  430. package/dist/composables/use-stick-to-bottom.d.ts +32 -0
  431. package/dist/composables/use-stick-to-bottom.js +106 -0
  432. package/dist/composables/use-view-transition.d.ts +20 -0
  433. package/dist/composables/use-view-transition.js +80 -0
  434. package/dist/composables/use-virtual-list.d.ts +9 -6
  435. package/dist/composables/use-virtual-list.js +86 -19
  436. package/dist/constants/tooltip-variants.d.ts +28 -0
  437. package/dist/constants/tooltip-variants.js +27 -0
  438. package/dist/contexts/avatar.js +1 -1
  439. package/dist/contexts/breadcrumb.d.ts +2 -0
  440. package/dist/contexts/breadcrumb.js +2 -0
  441. package/dist/contexts/button.js +1 -1
  442. package/dist/contexts/checkbox.js +1 -1
  443. package/dist/contexts/choicebox.d.ts +1 -0
  444. package/dist/contexts/choicebox.js +1 -1
  445. package/dist/contexts/collapse.js +1 -1
  446. package/dist/contexts/config-provider.d.ts +3 -2
  447. package/dist/contexts/config-provider.js +5 -4
  448. package/dist/contexts/list.d.ts +4 -25
  449. package/dist/contexts/list.js +1 -9
  450. package/dist/contexts/radio.js +1 -1
  451. package/dist/contexts/switch.js +1 -1
  452. package/dist/contexts/toggle-button.js +1 -1
  453. package/dist/index.d.ts +2 -1
  454. package/dist/locales/en-us.d.ts +90 -27
  455. package/dist/locales/en-us.js +75 -27
  456. package/dist/locales/index.d.ts +1 -0
  457. package/dist/locales/zh-cn.d.ts +89 -27
  458. package/dist/locales/zh-cn.js +88 -27
  459. package/dist/plugins/dayjs-millisecond-token.d.ts +2 -4
  460. package/dist/plugins/dayjs-millisecond-token.js +1 -2
  461. package/dist/styles/styles.css +2 -2
  462. package/dist/styles/tw.css +97 -50
  463. package/dist/types/shared/props.d.ts +5 -3
  464. package/dist/types/shared/utils.d.ts +7 -0
  465. package/dist/utils/{context.js → _internal/context.js} +2 -1
  466. package/dist/utils/_internal/mention-html.d.ts +33 -0
  467. package/dist/utils/_internal/mention-html.js +146 -0
  468. package/dist/utils/_internal/observer.d.ts +42 -0
  469. package/dist/utils/_internal/observer.js +173 -0
  470. package/dist/utils/_internal/swipe-cell-instances.d.ts +7 -0
  471. package/dist/utils/_internal/swipe-cell-instances.js +17 -0
  472. package/dist/utils/date.d.ts +1 -15
  473. package/dist/utils/date.js +2 -11
  474. package/dist/utils/dom.d.ts +19 -21
  475. package/dist/utils/dom.js +57 -28
  476. package/dist/utils/event.d.ts +15 -2
  477. package/dist/utils/event.js +68 -27
  478. package/dist/utils/format.d.ts +5 -4
  479. package/dist/utils/format.js +33 -13
  480. package/dist/utils/fuzzy-match.d.ts +2 -0
  481. package/dist/utils/fuzzy-match.js +182 -0
  482. package/dist/utils/helper.d.ts +17 -0
  483. package/dist/utils/helper.js +57 -0
  484. package/dist/utils/is.d.ts +5 -1
  485. package/dist/utils/is.js +10 -2
  486. package/dist/utils/merge.d.ts +1 -0
  487. package/dist/utils/merge.js +19 -0
  488. package/dist/utils/timing.d.ts +19 -6
  489. package/dist/utils/timing.js +74 -16
  490. package/package.json +49 -62
  491. package/volar.d.ts +44 -5
  492. package/dist/components/carousel-item/index.d.vue.ts +0 -13
  493. package/dist/components/carousel-item/index.vue +0 -54
  494. package/dist/components/command-menu-group/index.d.vue.ts +0 -14
  495. package/dist/components/command-menu-group/index.vue +0 -31
  496. package/dist/components/command-menu-group/types.d.ts +0 -5
  497. package/dist/components/message/composables/use-group-expand.d.ts +0 -13
  498. package/dist/components/message/composables/use-group-expand.js +0 -50
  499. package/dist/components/message/composables/use-message-timer.d.ts +0 -9
  500. package/dist/components/message/composables/use-message-timer.js +0 -61
  501. package/dist/components/message/composables/use-promise-message.d.ts +0 -4
  502. package/dist/components/message/composables/use-promise-message.js +0 -49
  503. package/dist/components/resizable-handle/index.d.vue.ts +0 -6
  504. package/dist/components/resizable-handle/index.vue +0 -116
  505. package/dist/components/resizable-panel/index.vue +0 -57
  506. package/dist/components/resizable-panel/types.d.ts +0 -4
  507. package/dist/components/tabs-item/index.d.vue.ts +0 -4
  508. package/dist/components/tabs-item/index.vue +0 -16
  509. package/dist/components/tabs-item/types.d.ts +0 -10
  510. package/dist/composables/use-browser-observer.d.ts +0 -12
  511. package/dist/composables/use-browser-observer.js +0 -74
  512. package/dist/composables/use-focus-trap.js +0 -54
  513. package/dist/composables/use-list-filter.d.ts +0 -11
  514. package/dist/composables/use-list-filter.js +0 -56
  515. package/dist/composables/use-list-navigation.d.ts +0 -27
  516. package/dist/composables/use-list-navigation.js +0 -159
  517. package/dist/composables/use-lock-scroll.d.ts +0 -5
  518. package/dist/composables/use-lock-scroll.js +0 -37
  519. package/dist/composables/use-model-value.js +0 -13
  520. package/dist/composables/use-overlay-manager.js +0 -80
  521. package/dist/composables/use-swipe-gesture.d.ts +0 -65
  522. package/dist/composables/use-swipe-gesture.js +0 -98
  523. package/dist/contexts/carousel.d.ts +0 -14
  524. package/dist/contexts/carousel.js +0 -2
  525. package/dist/contexts/resizable.d.ts +0 -27
  526. package/dist/contexts/resizable.js +0 -2
  527. package/dist/contexts/tabs.d.ts +0 -15
  528. package/dist/contexts/tabs.js +0 -2
  529. package/dist/plugins/any-touch.d.ts +0 -213
  530. package/dist/plugins/any-touch.js +0 -592
  531. package/dist/styles/source.css +0 -640
  532. package/dist/types/shared/index.d.ts +0 -2
  533. package/dist/utils/fuzzy-search.d.ts +0 -7
  534. package/dist/utils/fuzzy-search.js +0 -61
  535. package/dist/utils/get.d.ts +0 -9
  536. package/dist/utils/get.js +0 -55
  537. package/dist/utils/index.d.ts +0 -10
  538. package/dist/utils/index.js +0 -10
  539. package/dist/utils/ref.d.ts +0 -5
  540. package/dist/utils/ref.js +0 -8
  541. package/dist/utils/uid.d.ts +0 -1
  542. package/dist/utils/uid.js +0 -4
  543. /package/dist/composables/{use-forward-ref-expose.d.ts → _internal/use-forward-ref-expose.d.ts} +0 -0
  544. /package/dist/composables/{use-popover-responsive.d.ts → _internal/use-popover-responsive.d.ts} +0 -0
  545. /package/dist/utils/{context.d.ts → _internal/context.d.ts} +0 -0
@@ -0,0 +1,17 @@
1
+ const cells = [];
2
+ export function registerSwipeCell(entry) {
3
+ cells.push(entry);
4
+ return () => {
5
+ const index = cells.indexOf(entry);
6
+ if (index >= 0) {
7
+ cells.splice(index, 1);
8
+ }
9
+ };
10
+ }
11
+ export function exclusiveOpen(self) {
12
+ for (const cell of cells) {
13
+ if (cell !== self && cell.getGroup() === self.getGroup()) {
14
+ cell.close("outside");
15
+ }
16
+ }
17
+ }
@@ -1,6 +1,6 @@
1
1
  import dayjs from 'dayjs/esm/index.js';
2
2
  import dayjsDurationPlugin from 'dayjs/esm/plugin/duration/index.js';
3
- import dayjsMillisecondTokenPlugin from '../plugins/dayjs-millisecond-token.js';
3
+ import { dayjsMillisecondTokenPlugin } from '../plugins/dayjs-millisecond-token.js';
4
4
  export { dayjs, dayjsDurationPlugin, dayjsMillisecondTokenPlugin };
5
5
  interface Result<T> {
6
6
  years: number[];
@@ -8,19 +8,5 @@ interface Result<T> {
8
8
  weeks: number[];
9
9
  dates: T[];
10
10
  }
11
- /**
12
- * 获取两个日期之间的所有日期
13
- */
14
11
  export declare function getAllDatesBetween(startDate: Date | string, endDate: Date | string, format?: 'string'): Result<string>;
15
12
  export declare function getAllDatesBetween(startDate: Date | string, endDate: Date | string, format?: 'object'): Result<Date>;
16
- /**
17
- * 获取指定年月的天数、第一天是周几、最后一天是周几
18
- * @param year 年份
19
- * @param month 月份
20
- * @returns 天数、第一天是周几、最后一天是周几
21
- */
22
- export declare function getMonthDays(year: number, month: number): {
23
- days: number;
24
- firstDay: 0 | 1 | 2 | 3 | 4 | 5 | 6;
25
- lastDay: 0 | 1 | 2 | 3 | 4 | 5 | 6;
26
- };
@@ -1,12 +1,12 @@
1
1
  import dayjs from "dayjs/esm/index.js";
2
2
  import dayjsDurationPlugin from "dayjs/esm/plugin/duration/index.js";
3
- import dayjsMillisecondTokenPlugin from "../plugins/dayjs-millisecond-token.js";
3
+ import { dayjsMillisecondTokenPlugin } from "../plugins/dayjs-millisecond-token.js";
4
4
  export { dayjs, dayjsDurationPlugin, dayjsMillisecondTokenPlugin };
5
5
  export function getAllDatesBetween(startDate, endDate, format = "string") {
6
6
  const start = dayjs(startDate);
7
7
  const end = dayjs(endDate);
8
8
  if (!start.isValid() || !end.isValid()) {
9
- throw new TypeError("\u65E0\u6548\u7684\u65E5\u671F\u8F93\u5165");
9
+ throw new TypeError("Invalid date input");
10
10
  }
11
11
  const startDateNormalized = start.isAfter(end) ? end : start;
12
12
  const endDateNormalized = start.isAfter(end) ? start : end;
@@ -34,12 +34,3 @@ export function getAllDatesBetween(startDate, endDate, format = "string") {
34
34
  dates: formattedDates
35
35
  };
36
36
  }
37
- export function getMonthDays(year, month) {
38
- const firstDay = dayjs().year(year).month(month - 1).date(1);
39
- const lastDay = firstDay.endOf("month");
40
- return {
41
- days: lastDay.date(),
42
- firstDay: firstDay.day(),
43
- lastDay: lastDay.day()
44
- };
45
- }
@@ -1,16 +1,14 @@
1
- export declare function getElementRectFromContainer(elementOrRect: Element | DOMRect, viewportOrRect: Element | DOMRect): {
1
+ import type { ComponentPublicInstance, MaybeRefOrGetter } from 'vue';
2
+ type ElementType = null | string | object | SVGElement | HTMLElement | ComponentPublicInstance;
3
+ export declare function getStyle(el: HTMLElement): CSSStyleDeclaration;
4
+ export declare function getElement(el?: MaybeRefOrGetter<ElementType>, from?: MaybeRefOrGetter<HTMLElement>): HTMLElement | null;
5
+ /** Whether the element scrolls with the viewport instead of scrolling on its own. */
6
+ export declare function isViewportScroll(el: HTMLElement): boolean;
7
+ /** Viewport-relative top offset for scrollspy */
8
+ export declare function getElementOffsetFromScrollContainer(element: Element, scrollContainer: HTMLElement): {
2
9
  top: number;
3
- bottom: number;
4
10
  left: number;
5
- right: number;
6
- width: number;
7
- height: number;
8
- scrollTop: number;
9
- scrollBottom: number;
10
- scrollLeft: number;
11
- scrollRight: number;
12
11
  };
13
- export declare function getStyle(el: HTMLElement): CSSStyleDeclaration;
14
12
  export declare function isScrollable(el: HTMLElement): {
15
13
  x: boolean;
16
14
  y: boolean;
@@ -19,24 +17,24 @@ export declare function hasScrollbar(el: HTMLElement): {
19
17
  x: boolean;
20
18
  y: boolean;
21
19
  };
22
- export declare function getScrollContainer(el: HTMLElement, isHorizontal?: boolean): Window | HTMLElement;
23
- export declare function getScrollPositions(el: HTMLElement | Window | Document): {
20
+ export declare function getScrollTarget(el: HTMLElement, isHorizontal?: boolean): Window | HTMLElement;
21
+ export declare function getScrollElement(target?: Window | Document | HTMLElement | null): HTMLElement;
22
+ /** Event target for scroll listeners. Document scrolling fires on `window`, not `documentElement`. */
23
+ export declare function getScrollListener(target?: Window | Document | HTMLElement | null): HTMLElement | (Window & typeof globalThis);
24
+ export declare function getScrollPosition(el: HTMLElement | Window | Document): {
24
25
  scrollTop: number;
25
26
  scrollLeft: number;
26
27
  scrollWidth: number;
27
28
  scrollHeight: number;
29
+ clientWidth: number;
30
+ clientHeight: number;
28
31
  };
29
- export declare function getScrollElByContainer(target: any): HTMLElement;
30
- export interface ScrollbarSize {
32
+ export declare function getScrollbarSize(element?: HTMLElement): {
31
33
  width: number;
32
34
  height: number;
33
- }
34
- /**
35
- * 获取滚动条尺寸(宽度和高度)
36
- * @param element - 要测量的元素,默认为document.body
37
- * @returns 包含滚动条宽度和高度的对象
38
- */
39
- export declare function getScrollbarSize(element?: HTMLElement): ScrollbarSize;
35
+ };
40
36
  export declare function getViewportRect(): DOMRect;
41
37
  export declare function isOverflowScrollable(ele: Element): boolean;
42
38
  export declare function awaitAnimationEnd(element?: Element): Promise<void>;
39
+ export declare function resolveScrollBehavior(behavior: ScrollBehavior, prefersMotionReduce?: MaybeRefOrGetter<boolean>): ScrollBehavior;
40
+ export {};
package/dist/utils/dom.js CHANGED
@@ -1,29 +1,44 @@
1
+ import { toValue } from "./helper.js";
1
2
  import { isServer } from "./is.js";
2
3
  function getWindowTop() {
3
4
  return [window, document, document.documentElement];
4
5
  }
5
- export function getElementRectFromContainer(elementOrRect, viewportOrRect) {
6
- const selfRect = elementOrRect instanceof Element ? elementOrRect.getBoundingClientRect() : elementOrRect;
7
- const wrapRect = viewportOrRect instanceof Element ? viewportOrRect.getBoundingClientRect() : viewportOrRect;
8
- return {
9
- top: selfRect.top,
10
- bottom: selfRect.bottom,
11
- left: selfRect.left,
12
- right: selfRect.right,
13
- width: selfRect.width,
14
- height: selfRect.height,
15
- scrollTop: selfRect.top - wrapRect.top,
16
- scrollBottom: selfRect.bottom - wrapRect.top,
17
- scrollLeft: selfRect.left - wrapRect.left,
18
- scrollRight: selfRect.right - wrapRect.left
19
- };
20
- }
21
6
  export function getStyle(el) {
22
7
  if (isServer() || !el) {
23
8
  return {};
24
9
  }
25
10
  return document.defaultView?.getComputedStyle(el, null) || el.style;
26
11
  }
12
+ export function getElement(el, from) {
13
+ el = toValue(el);
14
+ if (!el || isServer()) {
15
+ return null;
16
+ }
17
+ if (typeof el === "string") {
18
+ return (toValue(from) || document).querySelector(el);
19
+ }
20
+ if (el instanceof Element) {
21
+ return el;
22
+ }
23
+ return el?.$el ?? el;
24
+ }
25
+ export function isViewportScroll(el) {
26
+ return getWindowTop().includes(el) || el === document.body;
27
+ }
28
+ export function getElementOffsetFromScrollContainer(element, scrollContainer) {
29
+ const elementRect = element.getBoundingClientRect();
30
+ if (isViewportScroll(scrollContainer)) {
31
+ return {
32
+ top: elementRect.top,
33
+ left: elementRect.left
34
+ };
35
+ }
36
+ const containerRect = scrollContainer.getBoundingClientRect();
37
+ return {
38
+ top: elementRect.top - containerRect.top,
39
+ left: elementRect.left - containerRect.left
40
+ };
41
+ }
27
42
  export function isScrollable(el) {
28
43
  const { overflowX, overflowY } = getStyle(el);
29
44
  const allowValues = ["scroll", "auto", "overlay"];
@@ -42,7 +57,7 @@ export function hasScrollbar(el) {
42
57
  y: scrollHeight > clientHeight
43
58
  };
44
59
  }
45
- export function getScrollContainer(el, isHorizontal) {
60
+ export function getScrollTarget(el, isHorizontal) {
46
61
  const windowTop = getWindowTop();
47
62
  let parent = el;
48
63
  const direction = isHorizontal ? "x" : "y";
@@ -50,28 +65,36 @@ export function getScrollContainer(el, isHorizontal) {
50
65
  if (windowTop.includes(parent)) {
51
66
  return window;
52
67
  }
53
- if (isScrollable(parent)[direction] && hasScrollbar(parent)[direction]) {
68
+ if (isScrollable(parent)[direction]) {
54
69
  return parent;
55
70
  }
56
71
  parent = parent.parentNode;
57
72
  }
58
73
  return parent;
59
74
  }
60
- export function getScrollPositions(el) {
61
- const targetEl = el instanceof HTMLElement ? el : document.documentElement;
62
- return {
63
- scrollTop: targetEl.scrollTop,
64
- scrollLeft: targetEl.scrollLeft,
65
- scrollWidth: targetEl.scrollWidth,
66
- scrollHeight: targetEl.scrollHeight
67
- };
68
- }
69
- export function getScrollElByContainer(target) {
75
+ export function getScrollElement(target) {
70
76
  if (!target || getWindowTop().includes(target)) {
71
77
  return document.documentElement;
72
78
  }
73
79
  return target;
74
80
  }
81
+ export function getScrollListener(target) {
82
+ if (!target || getWindowTop().includes(target)) {
83
+ return window;
84
+ }
85
+ return target;
86
+ }
87
+ export function getScrollPosition(el) {
88
+ const target = el instanceof HTMLElement ? el : document.documentElement;
89
+ return {
90
+ scrollTop: target.scrollTop,
91
+ scrollLeft: target.scrollLeft,
92
+ scrollWidth: target.scrollWidth,
93
+ scrollHeight: target.scrollHeight,
94
+ clientWidth: target.clientWidth,
95
+ clientHeight: target.clientHeight
96
+ };
97
+ }
75
98
  export function getScrollbarSize(element) {
76
99
  if (!element) {
77
100
  const div = document.createElement("div");
@@ -117,3 +140,9 @@ export async function awaitAnimationEnd(element) {
117
140
  const animations = element?.getAnimations?.() ?? [];
118
141
  await Promise.allSettled(animations.map((a) => a.finished));
119
142
  }
143
+ export function resolveScrollBehavior(behavior, prefersMotionReduce) {
144
+ if (behavior === "auto") {
145
+ return toValue(prefersMotionReduce) ? "instant" : "smooth";
146
+ }
147
+ return behavior;
148
+ }
@@ -1,14 +1,27 @@
1
- import type { Nullable } from '../types/shared';
1
+ import type { Callback, Nullable } from '../types/shared/utils';
2
2
  export declare function NOOP(): void;
3
+ export declare function isCompositionKeydown(ev: KeyboardEvent): boolean;
3
4
  type EventHandler<E extends Event = Event> = (event: E) => void;
4
5
  export declare function on<E extends Event = Event>(el: Nullable<EventTarget>, event: string, handler: EventHandler<E>, options?: AddEventListenerOptions): () => void;
5
6
  export declare function off<E extends Event = Event>(el: Nullable<EventTarget>, event: string, handler: EventHandler<E>, options?: AddEventListenerOptions): void;
6
7
  export declare function once<E extends Event = Event>(el: Nullable<EventTarget>, event: string, handler: EventHandler<E>, options?: AddEventListenerOptions): void;
7
8
  export declare function cachedOn<E extends Event = Event>(el: Nullable<EventTarget>, event: string, handler: EventHandler<E>, options?: AddEventListenerOptions): () => void;
8
9
  export declare function cachedOff<E extends Event = Event>(el: Nullable<EventTarget>, event: string, handler: EventHandler<E>, options?: AddEventListenerOptions): void;
9
- export declare function sleep(ms: number): Promise<unknown>;
10
10
  export declare function preventDefaultScroll(ev: Event): boolean;
11
11
  export declare function raf(fn: FrameRequestCallback): number;
12
12
  export declare function caf(id: number): void;
13
13
  export declare function doubleRaf(fn: FrameRequestCallback): number;
14
+ interface ThrottleByRafReturnType<T extends Callback> {
15
+ (...args: Parameters<T>): void;
16
+ cancel: () => void;
17
+ }
18
+ interface ScheduleByRafOptions {
19
+ defer?: boolean;
20
+ }
21
+ interface ScheduleByRafReturnType {
22
+ (): void;
23
+ cancel: () => void;
24
+ }
25
+ export declare function scheduleByRaf(callback: Callback, options?: ScheduleByRafOptions): ScheduleByRafReturnType;
26
+ export declare function throttleByRaf<T extends Callback>(callback: T): ThrottleByRafReturnType<T>;
14
27
  export {};
@@ -1,8 +1,15 @@
1
+ import { nextTick } from "vue";
1
2
  import { isOverflowScrollable } from "./dom.js";
2
3
  import { isServer } from "./is.js";
3
4
  export function NOOP() {
4
5
  }
6
+ export function isCompositionKeydown(ev) {
7
+ return ev.isComposing || ev.keyCode === 229;
8
+ }
5
9
  const eventCache = /* @__PURE__ */ new WeakMap();
10
+ function getCacheKey(event, options) {
11
+ return `${event}__${options?.capture ? "capture" : "bubble"}`;
12
+ }
6
13
  export function on(el, event, handler, options) {
7
14
  if (!el) {
8
15
  return () => {
@@ -33,25 +40,23 @@ export function cachedOn(el, event, handler, options) {
33
40
  return () => {
34
41
  };
35
42
  }
36
- const cacheKey = `__cached_${event}`;
43
+ const cacheKey = getCacheKey(event, options);
37
44
  let elementCache = eventCache.get(el);
38
45
  if (!elementCache) {
39
- elementCache = {};
46
+ elementCache = /* @__PURE__ */ new Map();
40
47
  eventCache.set(el, elementCache);
41
48
  }
42
- const cachedEventHandlers = elementCache[cacheKey];
43
- if (cachedEventHandlers) {
44
- if (!cachedEventHandlers.includes(handler)) {
45
- cachedEventHandlers.push(handler);
46
- }
49
+ let entry = elementCache.get(cacheKey);
50
+ if (entry) {
51
+ entry.handlers.add(handler);
47
52
  return () => cachedOff(el, event, handler, options);
48
53
  }
54
+ const handlers = /* @__PURE__ */ new Set([handler]);
49
55
  const scheduler = (ev) => {
50
- const list = elementCache?.[cacheKey];
51
- list?.slice(1).forEach((h) => h(ev));
56
+ handlers.forEach((h) => h(ev));
52
57
  };
53
- const handlers = [scheduler, handler];
54
- elementCache[cacheKey] = handlers;
58
+ entry = { scheduler, handlers };
59
+ elementCache.set(cacheKey, entry);
55
60
  el.addEventListener(event, scheduler, options);
56
61
  return () => cachedOff(el, event, handler, options);
57
62
  }
@@ -59,34 +64,26 @@ export function cachedOff(el, event, handler, options) {
59
64
  if (!el) {
60
65
  return;
61
66
  }
62
- const cacheKey = `__cached_${event}`;
63
67
  const elementCache = eventCache.get(el);
64
68
  if (!elementCache) {
65
69
  return;
66
70
  }
67
- const cachedEventHandlers = elementCache[cacheKey];
68
- if (!cachedEventHandlers) {
71
+ const cacheKey = getCacheKey(event, options);
72
+ const entry = elementCache.get(cacheKey);
73
+ if (!entry) {
69
74
  return;
70
75
  }
71
- const index = cachedEventHandlers.indexOf(handler);
72
- if (index === -1) {
76
+ if (!entry.handlers.delete(handler)) {
73
77
  return;
74
78
  }
75
- cachedEventHandlers.splice(index, 1);
76
- if (cachedEventHandlers.length <= 1) {
77
- const scheduler = cachedEventHandlers[0];
78
- if (scheduler) {
79
- el.removeEventListener(event, scheduler, options);
80
- }
81
- delete elementCache[cacheKey];
82
- if (Object.keys(elementCache).length === 0) {
79
+ if (entry.handlers.size === 0) {
80
+ el.removeEventListener(event, entry.scheduler, options);
81
+ elementCache.delete(cacheKey);
82
+ if (elementCache.size === 0) {
83
83
  eventCache.delete(el);
84
84
  }
85
85
  }
86
86
  }
87
- export function sleep(ms) {
88
- return new Promise((resolve) => setTimeout(resolve, ms));
89
- }
90
87
  export function preventDefaultScroll(ev) {
91
88
  const _target = ev.target;
92
89
  if (_target instanceof Element && isOverflowScrollable(_target)) {
@@ -112,3 +109,47 @@ export function caf(id) {
112
109
  export function doubleRaf(fn) {
113
110
  return raf(() => raf(fn));
114
111
  }
112
+ export function scheduleByRaf(callback, options = {}) {
113
+ let animationFrameId = 0;
114
+ const schedule = () => {
115
+ if (isServer() || animationFrameId) {
116
+ return;
117
+ }
118
+ animationFrameId = raf(() => {
119
+ animationFrameId = 0;
120
+ if (options.defer) {
121
+ void nextTick(callback);
122
+ return;
123
+ }
124
+ callback();
125
+ });
126
+ };
127
+ schedule.cancel = () => {
128
+ if (!animationFrameId) {
129
+ return;
130
+ }
131
+ caf(animationFrameId);
132
+ animationFrameId = 0;
133
+ };
134
+ return schedule;
135
+ }
136
+ export function throttleByRaf(callback) {
137
+ let animationFrameId = 0;
138
+ const throttle = (...args) => {
139
+ if (animationFrameId) {
140
+ return;
141
+ }
142
+ animationFrameId = raf(() => {
143
+ animationFrameId = 0;
144
+ callback(...args);
145
+ });
146
+ };
147
+ throttle.cancel = () => {
148
+ if (!animationFrameId) {
149
+ return;
150
+ }
151
+ caf(animationFrameId);
152
+ animationFrameId = 0;
153
+ };
154
+ return throttle;
155
+ }
@@ -1,10 +1,6 @@
1
1
  import type { Nullable } from '../types/shared/utils';
2
2
  /** string -> String */
3
3
  export declare function capitalize(text: string): string;
4
- /** kabab-case -> kababCase */
5
- export declare function camelize(str: string): string;
6
- /** kabab-case -> KababCase */
7
- export declare function pascalize(text: string): string;
8
4
  /** KababCase -> kabab-case */
9
5
  export declare function uncapitalize(text: string): string;
10
6
  /** 'kabab-case' -> 'Kabab Case' */
@@ -13,7 +9,12 @@ export declare function isTruthyProp(value: unknown): boolean;
13
9
  export declare function clampValue(n: number, min: number, max: number): number;
14
10
  export declare function isExternalLink(href: string): boolean;
15
11
  export declare function toArray(value: unknown): any[];
12
+ export declare function toNumber(value: unknown): number;
16
13
  export declare function getCssUnitValue(value: Nullable<string | number>, fallbackValue?: string): string;
14
+ export declare function parseUnitValue(target: string | number): {
15
+ number: number;
16
+ unit: string;
17
+ };
17
18
  /**
18
19
  * Increase string a value with unit
19
20
  *
@@ -1,15 +1,9 @@
1
+ import { isNil } from "../utils/is.js";
1
2
  const INTEGER_REGEX = /^-?\d+$/;
2
3
  const FLOATING_REGEX = /^-?\d+\.?\d*/;
3
4
  export function capitalize(text) {
4
5
  return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();
5
6
  }
6
- const camelizeRE = /-(\w)/g;
7
- export function camelize(str) {
8
- return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
9
- }
10
- export function pascalize(text) {
11
- return text.charAt(0).toUpperCase() + text.slice(1).replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
12
- }
13
7
  export function uncapitalize(text) {
14
8
  return text.charAt(0).toLowerCase() + text.slice(1).replace(/([A-Z])/g, "-$1").toLowerCase();
15
9
  }
@@ -20,9 +14,12 @@ export function isTruthyProp(value) {
20
14
  return Boolean(value) || value === "";
21
15
  }
22
16
  export function clampValue(n, min, max) {
23
- return min != null && max != null ? Math.min(Math.max(n, min), max) : n;
17
+ return Math.min(Math.max(n, min), max);
24
18
  }
25
19
  export function isExternalLink(href) {
20
+ if (href.startsWith("//")) {
21
+ return true;
22
+ }
26
23
  const firstChar = href.slice(0, 1);
27
24
  if (["#", "/"].includes(firstChar)) {
28
25
  return false;
@@ -30,7 +27,7 @@ export function isExternalLink(href) {
30
27
  return true;
31
28
  }
32
29
  export function toArray(value) {
33
- if (value === null || value === void 0) {
30
+ if (isNil(value)) {
34
31
  return [];
35
32
  }
36
33
  if (Array.isArray(value)) {
@@ -44,8 +41,17 @@ export function toArray(value) {
44
41
  }
45
42
  return [value];
46
43
  }
44
+ export function toNumber(value) {
45
+ if (isNil(value)) {
46
+ return 0;
47
+ }
48
+ if (typeof value === "number") {
49
+ return value;
50
+ }
51
+ return Number(value);
52
+ }
47
53
  export function getCssUnitValue(value, fallbackValue) {
48
- if (value == null || value === "") {
54
+ if (isNil(value) || value === "") {
49
55
  return fallbackValue;
50
56
  }
51
57
  if (typeof value === "number" || INTEGER_REGEX.test(String(value))) {
@@ -53,13 +59,27 @@ export function getCssUnitValue(value, fallbackValue) {
53
59
  }
54
60
  return String(value);
55
61
  }
62
+ export function parseUnitValue(target) {
63
+ if (typeof target === "string") {
64
+ const string = String(target);
65
+ const value = string.match(FLOATING_REGEX)?.[0] || "";
66
+ const unit = string.slice(value.length);
67
+ return {
68
+ number: Number.parseFloat(value),
69
+ unit
70
+ };
71
+ }
72
+ return {
73
+ number: target,
74
+ unit: ""
75
+ };
76
+ }
56
77
  export function increaseWithUnit(target, delta) {
57
78
  if (typeof target === "number") {
58
79
  return target + delta;
59
80
  }
60
- const value = String(target).match(FLOATING_REGEX)?.[0] || "";
61
- const unit = String(target).slice(value.length);
62
- const result = Number.parseFloat(value) + delta;
81
+ const { number, unit } = parseUnitValue(target);
82
+ const result = number + delta;
63
83
  if (Number.isNaN(result)) {
64
84
  return target;
65
85
  }
@@ -0,0 +1,2 @@
1
+ export declare function isFuzzyMatch(text: string, search: string, keywords?: string[]): boolean;
2
+ export declare function getFuzzyMatchScore(text: string, search: string, keywords?: string[]): number;