ads-fe 0.0.1

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 (608) hide show
  1. package/README.md +99 -0
  2. package/dist/cli.js +545 -0
  3. package/dist/meta.js +93 -0
  4. package/package.json +43 -0
  5. package/skill.md +66 -0
  6. package/skills/core/SKILL.md +66 -0
  7. package/skills/core/references/app-development.md +45 -0
  8. package/skills/core/references/git.md +66 -0
  9. package/skills/core/references/monorepo.md +124 -0
  10. package/skills/element-plus-vue3/LICENSE.md +405 -0
  11. package/skills/element-plus-vue3/LICENSE.txt +202 -0
  12. package/skills/element-plus-vue3/SKILL.md +218 -0
  13. package/skills/element-plus-vue3/SYNC.md +5 -0
  14. package/skills/element-plus-vue3/api/component-api.md +94 -0
  15. package/skills/element-plus-vue3/api/global-config.md +89 -0
  16. package/skills/element-plus-vue3/api/props-and-events.md +101 -0
  17. package/skills/element-plus-vue3/examples/components/button.md +99 -0
  18. package/skills/element-plus-vue3/examples/components/date-picker.md +115 -0
  19. package/skills/element-plus-vue3/examples/components/dialog.md +106 -0
  20. package/skills/element-plus-vue3/examples/components/form.md +127 -0
  21. package/skills/element-plus-vue3/examples/components/input.md +123 -0
  22. package/skills/element-plus-vue3/examples/components/message.md +93 -0
  23. package/skills/element-plus-vue3/examples/components/overview.md +59 -0
  24. package/skills/element-plus-vue3/examples/components/select.md +133 -0
  25. package/skills/element-plus-vue3/examples/components/table.md +166 -0
  26. package/skills/element-plus-vue3/examples/guide/design.md +68 -0
  27. package/skills/element-plus-vue3/examples/guide/global-config.md +95 -0
  28. package/skills/element-plus-vue3/examples/guide/i18n.md +95 -0
  29. package/skills/element-plus-vue3/examples/guide/installation.md +110 -0
  30. package/skills/element-plus-vue3/examples/guide/quick-start.md +103 -0
  31. package/skills/element-plus-vue3/examples/guide/theme.md +78 -0
  32. package/skills/element-plus-vue3/templates/component-usage.md +92 -0
  33. package/skills/element-plus-vue3/templates/installation.md +82 -0
  34. package/skills/element-plus-vue3/templates/project-setup.md +83 -0
  35. package/skills/node/LICENSE.md +21 -0
  36. package/skills/node/SKILL.md +94 -0
  37. package/skills/node/SYNC.md +5 -0
  38. package/skills/node/rules/assets/graceful-server.test.ts +88 -0
  39. package/skills/node/rules/assets/graceful-server.ts +80 -0
  40. package/skills/node/rules/async-patterns.md +136 -0
  41. package/skills/node/rules/caching.md +198 -0
  42. package/skills/node/rules/environment.md +253 -0
  43. package/skills/node/rules/error-handling.md +164 -0
  44. package/skills/node/rules/flaky-tests.md +439 -0
  45. package/skills/node/rules/graceful-shutdown.md +204 -0
  46. package/skills/node/rules/logging.md +205 -0
  47. package/skills/node/rules/modules.md +105 -0
  48. package/skills/node/rules/node-modules-exploration.md +172 -0
  49. package/skills/node/rules/performance.md +130 -0
  50. package/skills/node/rules/profiling.md +183 -0
  51. package/skills/node/rules/streams.md +213 -0
  52. package/skills/node/rules/stuck-processes-and-tests.md +124 -0
  53. package/skills/node/rules/testing.md +218 -0
  54. package/skills/node/rules/typescript.md +262 -0
  55. package/skills/node/tile.json +11 -0
  56. package/skills/nuxt/GENERATION.md +5 -0
  57. package/skills/nuxt/LICENSE.md +21 -0
  58. package/skills/nuxt/SKILL.md +55 -0
  59. package/skills/nuxt/SYNC.md +5 -0
  60. package/skills/nuxt/references/advanced-hooks.md +289 -0
  61. package/skills/nuxt/references/advanced-layers.md +299 -0
  62. package/skills/nuxt/references/advanced-module-authoring.md +554 -0
  63. package/skills/nuxt/references/best-practices-data-fetching.md +357 -0
  64. package/skills/nuxt/references/best-practices-ssr.md +355 -0
  65. package/skills/nuxt/references/core-cli.md +263 -0
  66. package/skills/nuxt/references/core-config.md +162 -0
  67. package/skills/nuxt/references/core-data-fetching.md +236 -0
  68. package/skills/nuxt/references/core-deployment.md +224 -0
  69. package/skills/nuxt/references/core-directory-structure.md +269 -0
  70. package/skills/nuxt/references/core-modules.md +292 -0
  71. package/skills/nuxt/references/core-routing.md +226 -0
  72. package/skills/nuxt/references/features-components-autoimport.md +328 -0
  73. package/skills/nuxt/references/features-components.md +264 -0
  74. package/skills/nuxt/references/features-composables.md +276 -0
  75. package/skills/nuxt/references/features-server.md +265 -0
  76. package/skills/nuxt/references/features-state.md +194 -0
  77. package/skills/nuxt/references/rendering-modes.md +237 -0
  78. package/skills/pinia/GENERATION.md +5 -0
  79. package/skills/pinia/LICENSE.md +21 -0
  80. package/skills/pinia/SKILL.md +59 -0
  81. package/skills/pinia/SYNC.md +5 -0
  82. package/skills/pinia/references/advanced-hmr.md +61 -0
  83. package/skills/pinia/references/advanced-nuxt.md +119 -0
  84. package/skills/pinia/references/advanced-ssr.md +121 -0
  85. package/skills/pinia/references/best-practices-outside-component.md +115 -0
  86. package/skills/pinia/references/best-practices-testing.md +212 -0
  87. package/skills/pinia/references/core-stores.md +389 -0
  88. package/skills/pinia/references/features-composables.md +114 -0
  89. package/skills/pinia/references/features-composing-stores.md +134 -0
  90. package/skills/pinia/references/features-plugins.md +203 -0
  91. package/skills/pnpm/GENERATION.md +5 -0
  92. package/skills/pnpm/LICENSE.md +21 -0
  93. package/skills/pnpm/SKILL.md +42 -0
  94. package/skills/pnpm/SYNC.md +5 -0
  95. package/skills/pnpm/references/best-practices-ci.md +285 -0
  96. package/skills/pnpm/references/best-practices-migration.md +291 -0
  97. package/skills/pnpm/references/best-practices-performance.md +284 -0
  98. package/skills/pnpm/references/core-cli.md +229 -0
  99. package/skills/pnpm/references/core-config.md +188 -0
  100. package/skills/pnpm/references/core-store.md +179 -0
  101. package/skills/pnpm/references/core-workspaces.md +205 -0
  102. package/skills/pnpm/references/features-aliases.md +168 -0
  103. package/skills/pnpm/references/features-catalogs.md +159 -0
  104. package/skills/pnpm/references/features-hooks.md +233 -0
  105. package/skills/pnpm/references/features-overrides.md +184 -0
  106. package/skills/pnpm/references/features-patches.md +201 -0
  107. package/skills/pnpm/references/features-peer-deps.md +250 -0
  108. package/skills/slidev/LICENSE.md +21 -0
  109. package/skills/slidev/README.md +61 -0
  110. package/skills/slidev/SKILL.md +189 -0
  111. package/skills/slidev/SYNC.md +5 -0
  112. package/skills/slidev/references/animation-click-marker.md +37 -0
  113. package/skills/slidev/references/animation-drawing.md +68 -0
  114. package/skills/slidev/references/animation-rough-marker.md +53 -0
  115. package/skills/slidev/references/api-slide-hooks.md +37 -0
  116. package/skills/slidev/references/build-og-image.md +36 -0
  117. package/skills/slidev/references/build-pdf.md +40 -0
  118. package/skills/slidev/references/build-remote-assets.md +34 -0
  119. package/skills/slidev/references/build-seo-meta.md +43 -0
  120. package/skills/slidev/references/code-groups.md +64 -0
  121. package/skills/slidev/references/code-import-snippet.md +55 -0
  122. package/skills/slidev/references/code-line-highlighting.md +50 -0
  123. package/skills/slidev/references/code-line-numbers.md +46 -0
  124. package/skills/slidev/references/code-magic-move.md +57 -0
  125. package/skills/slidev/references/code-max-height.md +37 -0
  126. package/skills/slidev/references/code-twoslash.md +42 -0
  127. package/skills/slidev/references/core-animations.md +196 -0
  128. package/skills/slidev/references/core-cli.md +140 -0
  129. package/skills/slidev/references/core-components.md +197 -0
  130. package/skills/slidev/references/core-exporting.md +148 -0
  131. package/skills/slidev/references/core-frontmatter.md +195 -0
  132. package/skills/slidev/references/core-global-context.md +155 -0
  133. package/skills/slidev/references/core-headmatter.md +188 -0
  134. package/skills/slidev/references/core-hosting.md +152 -0
  135. package/skills/slidev/references/core-layouts.md +286 -0
  136. package/skills/slidev/references/core-syntax.md +155 -0
  137. package/skills/slidev/references/diagram-latex.md +55 -0
  138. package/skills/slidev/references/diagram-mermaid.md +44 -0
  139. package/skills/slidev/references/diagram-plantuml.md +45 -0
  140. package/skills/slidev/references/editor-monaco-run.md +44 -0
  141. package/skills/slidev/references/editor-monaco-write.md +24 -0
  142. package/skills/slidev/references/editor-monaco.md +50 -0
  143. package/skills/slidev/references/editor-prettier.md +40 -0
  144. package/skills/slidev/references/editor-side.md +23 -0
  145. package/skills/slidev/references/editor-vscode.md +55 -0
  146. package/skills/slidev/references/layout-canvas-size.md +25 -0
  147. package/skills/slidev/references/layout-draggable.md +57 -0
  148. package/skills/slidev/references/layout-global-layers.md +50 -0
  149. package/skills/slidev/references/layout-slots.md +75 -0
  150. package/skills/slidev/references/layout-transform.md +33 -0
  151. package/skills/slidev/references/layout-zoom.md +39 -0
  152. package/skills/slidev/references/presenter-notes-ruby.md +35 -0
  153. package/skills/slidev/references/presenter-recording.md +30 -0
  154. package/skills/slidev/references/presenter-remote.md +40 -0
  155. package/skills/slidev/references/presenter-timer.md +34 -0
  156. package/skills/slidev/references/style-direction.md +34 -0
  157. package/skills/slidev/references/style-icons.md +46 -0
  158. package/skills/slidev/references/style-scoped.md +50 -0
  159. package/skills/slidev/references/syntax-block-frontmatter.md +39 -0
  160. package/skills/slidev/references/syntax-comark.md +51 -0
  161. package/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
  162. package/skills/slidev/references/syntax-importing-slides.md +60 -0
  163. package/skills/slidev/references/tool-eject-theme.md +27 -0
  164. package/skills/tsdown/LICENSE.md +22 -0
  165. package/skills/tsdown/README.md +77 -0
  166. package/skills/tsdown/SKILL.md +416 -0
  167. package/skills/tsdown/SYNC.md +5 -0
  168. package/skills/tsdown/references/README.md +139 -0
  169. package/skills/tsdown/references/advanced-benchmark.md +8 -0
  170. package/skills/tsdown/references/advanced-ci.md +89 -0
  171. package/skills/tsdown/references/advanced-hooks.md +363 -0
  172. package/skills/tsdown/references/advanced-plugins.md +381 -0
  173. package/skills/tsdown/references/advanced-programmatic.md +378 -0
  174. package/skills/tsdown/references/advanced-rolldown-options.md +117 -0
  175. package/skills/tsdown/references/guide-getting-started.md +183 -0
  176. package/skills/tsdown/references/guide-introduction.md +42 -0
  177. package/skills/tsdown/references/guide-migrate-from-tsup.md +199 -0
  178. package/skills/tsdown/references/option-cjs-default.md +98 -0
  179. package/skills/tsdown/references/option-cleaning.md +275 -0
  180. package/skills/tsdown/references/option-config-file.md +291 -0
  181. package/skills/tsdown/references/option-css.md +301 -0
  182. package/skills/tsdown/references/option-dependencies.md +385 -0
  183. package/skills/tsdown/references/option-dts.md +251 -0
  184. package/skills/tsdown/references/option-entry.md +211 -0
  185. package/skills/tsdown/references/option-exe.md +120 -0
  186. package/skills/tsdown/references/option-lint.md +127 -0
  187. package/skills/tsdown/references/option-log-level.md +91 -0
  188. package/skills/tsdown/references/option-minification.md +177 -0
  189. package/skills/tsdown/references/option-output-directory.md +272 -0
  190. package/skills/tsdown/references/option-output-format.md +183 -0
  191. package/skills/tsdown/references/option-package-exports.md +320 -0
  192. package/skills/tsdown/references/option-platform.md +256 -0
  193. package/skills/tsdown/references/option-root.md +88 -0
  194. package/skills/tsdown/references/option-shims.md +299 -0
  195. package/skills/tsdown/references/option-sourcemap.md +301 -0
  196. package/skills/tsdown/references/option-target.md +222 -0
  197. package/skills/tsdown/references/option-tree-shaking.md +335 -0
  198. package/skills/tsdown/references/option-unbundle.md +310 -0
  199. package/skills/tsdown/references/option-watch-mode.md +261 -0
  200. package/skills/tsdown/references/recipe-react.md +338 -0
  201. package/skills/tsdown/references/recipe-solid.md +42 -0
  202. package/skills/tsdown/references/recipe-svelte.md +54 -0
  203. package/skills/tsdown/references/recipe-vue.md +387 -0
  204. package/skills/tsdown/references/recipe-wasm.md +125 -0
  205. package/skills/tsdown/references/reference-cli.md +472 -0
  206. package/skills/turborepo/LICENSE.md +7 -0
  207. package/skills/turborepo/SKILL.md +951 -0
  208. package/skills/turborepo/SYNC.md +5 -0
  209. package/skills/turborepo/command/turborepo.md +70 -0
  210. package/skills/turborepo/references/best-practices/RULE.md +241 -0
  211. package/skills/turborepo/references/best-practices/dependencies.md +246 -0
  212. package/skills/turborepo/references/best-practices/packages.md +335 -0
  213. package/skills/turborepo/references/best-practices/structure.md +297 -0
  214. package/skills/turborepo/references/boundaries/RULE.md +126 -0
  215. package/skills/turborepo/references/caching/RULE.md +153 -0
  216. package/skills/turborepo/references/caching/gotchas.md +190 -0
  217. package/skills/turborepo/references/caching/remote-cache.md +127 -0
  218. package/skills/turborepo/references/ci/RULE.md +79 -0
  219. package/skills/turborepo/references/ci/github-actions.md +162 -0
  220. package/skills/turborepo/references/ci/patterns.md +145 -0
  221. package/skills/turborepo/references/ci/vercel.md +103 -0
  222. package/skills/turborepo/references/cli/RULE.md +100 -0
  223. package/skills/turborepo/references/cli/commands.md +297 -0
  224. package/skills/turborepo/references/configuration/RULE.md +235 -0
  225. package/skills/turborepo/references/configuration/global-options.md +239 -0
  226. package/skills/turborepo/references/configuration/gotchas.md +368 -0
  227. package/skills/turborepo/references/configuration/tasks.md +325 -0
  228. package/skills/turborepo/references/environment/RULE.md +123 -0
  229. package/skills/turborepo/references/environment/gotchas.md +175 -0
  230. package/skills/turborepo/references/environment/modes.md +101 -0
  231. package/skills/turborepo/references/filtering/RULE.md +148 -0
  232. package/skills/turborepo/references/filtering/patterns.md +152 -0
  233. package/skills/turborepo/references/watch/RULE.md +99 -0
  234. package/skills/vite/GENERATION.md +5 -0
  235. package/skills/vite/LICENSE.md +21 -0
  236. package/skills/vite/SKILL.md +72 -0
  237. package/skills/vite/SYNC.md +5 -0
  238. package/skills/vite/references/build-and-ssr.md +164 -0
  239. package/skills/vite/references/core-config.md +162 -0
  240. package/skills/vite/references/core-features.md +205 -0
  241. package/skills/vite/references/core-plugin-api.md +235 -0
  242. package/skills/vite/references/environment-api.md +108 -0
  243. package/skills/vite/references/rolldown-migration.md +157 -0
  244. package/skills/vitepress/GENERATION.md +5 -0
  245. package/skills/vitepress/LICENSE.md +21 -0
  246. package/skills/vitepress/SKILL.md +65 -0
  247. package/skills/vitepress/SYNC.md +5 -0
  248. package/skills/vitepress/references/advanced-i18n.md +299 -0
  249. package/skills/vitepress/references/advanced-ssr.md +228 -0
  250. package/skills/vitepress/references/core-cli.md +119 -0
  251. package/skills/vitepress/references/core-config.md +189 -0
  252. package/skills/vitepress/references/core-markdown.md +277 -0
  253. package/skills/vitepress/references/core-routing.md +169 -0
  254. package/skills/vitepress/references/features-code-blocks.md +243 -0
  255. package/skills/vitepress/references/features-data-loading.md +220 -0
  256. package/skills/vitepress/references/features-dynamic-routes.md +235 -0
  257. package/skills/vitepress/references/features-vue.md +224 -0
  258. package/skills/vitepress/references/recipes-deploy.md +240 -0
  259. package/skills/vitepress/references/theme-config.md +315 -0
  260. package/skills/vitepress/references/theme-custom.md +269 -0
  261. package/skills/vitepress/references/theme-customization.md +290 -0
  262. package/skills/vitest/GENERATION.md +5 -0
  263. package/skills/vitest/LICENSE.md +21 -0
  264. package/skills/vitest/SKILL.md +52 -0
  265. package/skills/vitest/SYNC.md +5 -0
  266. package/skills/vitest/references/advanced-environments.md +264 -0
  267. package/skills/vitest/references/advanced-projects.md +300 -0
  268. package/skills/vitest/references/advanced-type-testing.md +237 -0
  269. package/skills/vitest/references/advanced-vi.md +249 -0
  270. package/skills/vitest/references/core-cli.md +166 -0
  271. package/skills/vitest/references/core-config.md +174 -0
  272. package/skills/vitest/references/core-describe.md +193 -0
  273. package/skills/vitest/references/core-expect.md +219 -0
  274. package/skills/vitest/references/core-hooks.md +244 -0
  275. package/skills/vitest/references/core-test-api.md +233 -0
  276. package/skills/vitest/references/features-concurrency.md +250 -0
  277. package/skills/vitest/references/features-context.md +238 -0
  278. package/skills/vitest/references/features-coverage.md +207 -0
  279. package/skills/vitest/references/features-filtering.md +211 -0
  280. package/skills/vitest/references/features-mocking.md +265 -0
  281. package/skills/vitest/references/features-snapshots.md +207 -0
  282. package/skills/vue/GENERATION.md +5 -0
  283. package/skills/vue/LICENSE.md +21 -0
  284. package/skills/vue/SKILL.md +84 -0
  285. package/skills/vue/SYNC.md +5 -0
  286. package/skills/vue/references/advanced-patterns.md +314 -0
  287. package/skills/vue/references/core-new-apis.md +264 -0
  288. package/skills/vue/references/script-setup-macros.md +204 -0
  289. package/skills/vue-best-practices/LICENSE.md +21 -0
  290. package/skills/vue-best-practices/SKILL.md +154 -0
  291. package/skills/vue-best-practices/SYNC.md +5 -0
  292. package/skills/vue-best-practices/references/animation-class-based-technique.md +254 -0
  293. package/skills/vue-best-practices/references/animation-state-driven-technique.md +291 -0
  294. package/skills/vue-best-practices/references/component-async.md +97 -0
  295. package/skills/vue-best-practices/references/component-data-flow.md +307 -0
  296. package/skills/vue-best-practices/references/component-fallthrough-attrs.md +174 -0
  297. package/skills/vue-best-practices/references/component-keep-alive.md +137 -0
  298. package/skills/vue-best-practices/references/component-slots.md +216 -0
  299. package/skills/vue-best-practices/references/component-suspense.md +228 -0
  300. package/skills/vue-best-practices/references/component-teleport.md +108 -0
  301. package/skills/vue-best-practices/references/component-transition-group.md +128 -0
  302. package/skills/vue-best-practices/references/component-transition.md +125 -0
  303. package/skills/vue-best-practices/references/composables.md +290 -0
  304. package/skills/vue-best-practices/references/directives.md +162 -0
  305. package/skills/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +159 -0
  306. package/skills/vue-best-practices/references/perf-v-once-v-memo-directives.md +182 -0
  307. package/skills/vue-best-practices/references/perf-virtualize-large-lists.md +187 -0
  308. package/skills/vue-best-practices/references/plugins.md +166 -0
  309. package/skills/vue-best-practices/references/reactivity.md +344 -0
  310. package/skills/vue-best-practices/references/render-functions.md +201 -0
  311. package/skills/vue-best-practices/references/sfc.md +310 -0
  312. package/skills/vue-best-practices/references/state-management.md +135 -0
  313. package/skills/vue-best-practices/references/updated-hook-performance.md +187 -0
  314. package/skills/vue-router-best-practices/LICENSE.md +21 -0
  315. package/skills/vue-router-best-practices/SKILL.md +23 -0
  316. package/skills/vue-router-best-practices/SYNC.md +5 -0
  317. package/skills/vue-router-best-practices/reference/router-beforeenter-no-param-trigger.md +167 -0
  318. package/skills/vue-router-best-practices/reference/router-beforerouteenter-no-this.md +176 -0
  319. package/skills/vue-router-best-practices/reference/router-guard-async-await-pattern.md +227 -0
  320. package/skills/vue-router-best-practices/reference/router-navigation-guard-infinite-loop.md +187 -0
  321. package/skills/vue-router-best-practices/reference/router-navigation-guard-next-deprecated.md +150 -0
  322. package/skills/vue-router-best-practices/reference/router-param-change-no-lifecycle.md +181 -0
  323. package/skills/vue-router-best-practices/reference/router-simple-routing-cleanup.md +209 -0
  324. package/skills/vue-router-best-practices/reference/router-use-vue-router-for-production.md +183 -0
  325. package/skills/vue-testing-best-practices/LICENSE.md +21 -0
  326. package/skills/vue-testing-best-practices/SKILL.md +29 -0
  327. package/skills/vue-testing-best-practices/SYNC.md +5 -0
  328. package/skills/vue-testing-best-practices/reference/async-component-testing.md +163 -0
  329. package/skills/vue-testing-best-practices/reference/teleport-testing-complexity.md +158 -0
  330. package/skills/vue-testing-best-practices/reference/testing-async-await-flushpromises.md +175 -0
  331. package/skills/vue-testing-best-practices/reference/testing-browser-vs-node-runners.md +208 -0
  332. package/skills/vue-testing-best-practices/reference/testing-component-blackbox-approach.md +144 -0
  333. package/skills/vue-testing-best-practices/reference/testing-composables-helper-wrapper.md +238 -0
  334. package/skills/vue-testing-best-practices/reference/testing-e2e-playwright-recommended.md +242 -0
  335. package/skills/vue-testing-best-practices/reference/testing-no-snapshot-only.md +197 -0
  336. package/skills/vue-testing-best-practices/reference/testing-pinia-store-setup.md +228 -0
  337. package/skills/vue-testing-best-practices/reference/testing-suspense-async-components.md +229 -0
  338. package/skills/vue-testing-best-practices/reference/testing-vitest-recommended-for-vue.md +204 -0
  339. package/skills/vueuse-functions/LICENSE.md +21 -0
  340. package/skills/vueuse-functions/SKILL.md +419 -0
  341. package/skills/vueuse-functions/SYNC.md +5 -0
  342. package/skills/vueuse-functions/references/computedAsync.md +195 -0
  343. package/skills/vueuse-functions/references/computedEager.md +62 -0
  344. package/skills/vueuse-functions/references/computedInject.md +137 -0
  345. package/skills/vueuse-functions/references/computedWithControl.md +98 -0
  346. package/skills/vueuse-functions/references/createEventHook.md +86 -0
  347. package/skills/vueuse-functions/references/createGenericProjection.md +25 -0
  348. package/skills/vueuse-functions/references/createGlobalState.md +95 -0
  349. package/skills/vueuse-functions/references/createInjectionState.md +226 -0
  350. package/skills/vueuse-functions/references/createProjection.md +31 -0
  351. package/skills/vueuse-functions/references/createRef.md +54 -0
  352. package/skills/vueuse-functions/references/createReusableTemplate.md +361 -0
  353. package/skills/vueuse-functions/references/createSharedComposable.md +42 -0
  354. package/skills/vueuse-functions/references/createTemplatePromise.md +306 -0
  355. package/skills/vueuse-functions/references/createUnrefFn.md +51 -0
  356. package/skills/vueuse-functions/references/extendRef.md +76 -0
  357. package/skills/vueuse-functions/references/from.md +80 -0
  358. package/skills/vueuse-functions/references/get.md +30 -0
  359. package/skills/vueuse-functions/references/injectLocal.md +35 -0
  360. package/skills/vueuse-functions/references/isDefined.md +31 -0
  361. package/skills/vueuse-functions/references/logicAnd.md +40 -0
  362. package/skills/vueuse-functions/references/logicNot.md +36 -0
  363. package/skills/vueuse-functions/references/logicOr.md +40 -0
  364. package/skills/vueuse-functions/references/makeDestructurable.md +41 -0
  365. package/skills/vueuse-functions/references/onClickOutside.md +228 -0
  366. package/skills/vueuse-functions/references/onElementRemoval.md +88 -0
  367. package/skills/vueuse-functions/references/onKeyStroke.md +212 -0
  368. package/skills/vueuse-functions/references/onLongPress.md +235 -0
  369. package/skills/vueuse-functions/references/onStartTyping.md +53 -0
  370. package/skills/vueuse-functions/references/provideLocal.md +37 -0
  371. package/skills/vueuse-functions/references/reactify.md +144 -0
  372. package/skills/vueuse-functions/references/reactifyObject.md +62 -0
  373. package/skills/vueuse-functions/references/reactiveComputed.md +34 -0
  374. package/skills/vueuse-functions/references/reactiveOmit.md +86 -0
  375. package/skills/vueuse-functions/references/reactivePick.md +106 -0
  376. package/skills/vueuse-functions/references/refAutoReset.md +46 -0
  377. package/skills/vueuse-functions/references/refDebounced.md +81 -0
  378. package/skills/vueuse-functions/references/refDefault.md +36 -0
  379. package/skills/vueuse-functions/references/refManualReset.md +48 -0
  380. package/skills/vueuse-functions/references/refThrottled.md +99 -0
  381. package/skills/vueuse-functions/references/refWithControl.md +146 -0
  382. package/skills/vueuse-functions/references/set.md +30 -0
  383. package/skills/vueuse-functions/references/syncRef.md +195 -0
  384. package/skills/vueuse-functions/references/syncRefs.md +128 -0
  385. package/skills/vueuse-functions/references/templateRef.md +86 -0
  386. package/skills/vueuse-functions/references/toObserver.md +38 -0
  387. package/skills/vueuse-functions/references/toReactive.md +41 -0
  388. package/skills/vueuse-functions/references/toRef.md +74 -0
  389. package/skills/vueuse-functions/references/toRefs.md +78 -0
  390. package/skills/vueuse-functions/references/tryOnBeforeMount.md +34 -0
  391. package/skills/vueuse-functions/references/tryOnBeforeUnmount.md +32 -0
  392. package/skills/vueuse-functions/references/tryOnMounted.md +34 -0
  393. package/skills/vueuse-functions/references/tryOnScopeDispose.md +31 -0
  394. package/skills/vueuse-functions/references/tryOnUnmounted.md +32 -0
  395. package/skills/vueuse-functions/references/unrefElement.md +54 -0
  396. package/skills/vueuse-functions/references/until.md +161 -0
  397. package/skills/vueuse-functions/references/useAbs.md +31 -0
  398. package/skills/vueuse-functions/references/useActiveElement.md +86 -0
  399. package/skills/vueuse-functions/references/useAnimate.md +180 -0
  400. package/skills/vueuse-functions/references/useArrayDifference.md +84 -0
  401. package/skills/vueuse-functions/references/useArrayEvery.md +59 -0
  402. package/skills/vueuse-functions/references/useArrayFilter.md +63 -0
  403. package/skills/vueuse-functions/references/useArrayFind.md +50 -0
  404. package/skills/vueuse-functions/references/useArrayFindIndex.md +59 -0
  405. package/skills/vueuse-functions/references/useArrayFindLast.md +52 -0
  406. package/skills/vueuse-functions/references/useArrayIncludes.md +63 -0
  407. package/skills/vueuse-functions/references/useArrayJoin.md +74 -0
  408. package/skills/vueuse-functions/references/useArrayMap.md +59 -0
  409. package/skills/vueuse-functions/references/useArrayReduce.md +81 -0
  410. package/skills/vueuse-functions/references/useArraySome.md +59 -0
  411. package/skills/vueuse-functions/references/useArrayUnique.md +76 -0
  412. package/skills/vueuse-functions/references/useAsyncQueue.md +136 -0
  413. package/skills/vueuse-functions/references/useAsyncState.md +185 -0
  414. package/skills/vueuse-functions/references/useAsyncValidator.md +70 -0
  415. package/skills/vueuse-functions/references/useAuth.md +123 -0
  416. package/skills/vueuse-functions/references/useAverage.md +36 -0
  417. package/skills/vueuse-functions/references/useAxios.md +325 -0
  418. package/skills/vueuse-functions/references/useBase64.md +136 -0
  419. package/skills/vueuse-functions/references/useBattery.md +80 -0
  420. package/skills/vueuse-functions/references/useBluetooth.md +174 -0
  421. package/skills/vueuse-functions/references/useBreakpoints.md +176 -0
  422. package/skills/vueuse-functions/references/useBroadcastChannel.md +73 -0
  423. package/skills/vueuse-functions/references/useBrowserLocation.md +56 -0
  424. package/skills/vueuse-functions/references/useCached.md +52 -0
  425. package/skills/vueuse-functions/references/useCeil.md +31 -0
  426. package/skills/vueuse-functions/references/useChangeCase.md +79 -0
  427. package/skills/vueuse-functions/references/useClamp.md +85 -0
  428. package/skills/vueuse-functions/references/useClipboard.md +122 -0
  429. package/skills/vueuse-functions/references/useClipboardItems.md +93 -0
  430. package/skills/vueuse-functions/references/useCloned.md +91 -0
  431. package/skills/vueuse-functions/references/useColorMode.md +172 -0
  432. package/skills/vueuse-functions/references/useConfirmDialog.md +159 -0
  433. package/skills/vueuse-functions/references/useCookies.md +162 -0
  434. package/skills/vueuse-functions/references/useCountdown.md +105 -0
  435. package/skills/vueuse-functions/references/useCounter.md +86 -0
  436. package/skills/vueuse-functions/references/useCssSupports.md +33 -0
  437. package/skills/vueuse-functions/references/useCssVar.md +50 -0
  438. package/skills/vueuse-functions/references/useCurrentElement.md +61 -0
  439. package/skills/vueuse-functions/references/useCycleList.md +75 -0
  440. package/skills/vueuse-functions/references/useDark.md +142 -0
  441. package/skills/vueuse-functions/references/useDateFormat.md +145 -0
  442. package/skills/vueuse-functions/references/useDebounceFn.md +100 -0
  443. package/skills/vueuse-functions/references/useDebouncedRefHistory.md +40 -0
  444. package/skills/vueuse-functions/references/useDeviceMotion.md +80 -0
  445. package/skills/vueuse-functions/references/useDeviceOrientation.md +64 -0
  446. package/skills/vueuse-functions/references/useDevicePixelRatio.md +47 -0
  447. package/skills/vueuse-functions/references/useDevicesList.md +89 -0
  448. package/skills/vueuse-functions/references/useDisplayMedia.md +67 -0
  449. package/skills/vueuse-functions/references/useDocumentVisibility.md +44 -0
  450. package/skills/vueuse-functions/references/useDraggable.md +289 -0
  451. package/skills/vueuse-functions/references/useDrauu.md +65 -0
  452. package/skills/vueuse-functions/references/useDropZone.md +83 -0
  453. package/skills/vueuse-functions/references/useElementBounding.md +131 -0
  454. package/skills/vueuse-functions/references/useElementByPoint.md +46 -0
  455. package/skills/vueuse-functions/references/useElementHover.md +79 -0
  456. package/skills/vueuse-functions/references/useElementSize.md +79 -0
  457. package/skills/vueuse-functions/references/useElementVisibility.md +163 -0
  458. package/skills/vueuse-functions/references/useEventBus.md +101 -0
  459. package/skills/vueuse-functions/references/useEventListener.md +226 -0
  460. package/skills/vueuse-functions/references/useEventSource.md +204 -0
  461. package/skills/vueuse-functions/references/useExtractedObservable.md +198 -0
  462. package/skills/vueuse-functions/references/useEyeDropper.md +72 -0
  463. package/skills/vueuse-functions/references/useFavicon.md +69 -0
  464. package/skills/vueuse-functions/references/useFetch.md +546 -0
  465. package/skills/vueuse-functions/references/useFileDialog.md +91 -0
  466. package/skills/vueuse-functions/references/useFileSystemAccess.md +161 -0
  467. package/skills/vueuse-functions/references/useFirestore.md +129 -0
  468. package/skills/vueuse-functions/references/useFloor.md +31 -0
  469. package/skills/vueuse-functions/references/useFocus.md +99 -0
  470. package/skills/vueuse-functions/references/useFocusTrap.md +245 -0
  471. package/skills/vueuse-functions/references/useFocusWithin.md +57 -0
  472. package/skills/vueuse-functions/references/useFps.md +28 -0
  473. package/skills/vueuse-functions/references/useFullscreen.md +74 -0
  474. package/skills/vueuse-functions/references/useFuse.md +75 -0
  475. package/skills/vueuse-functions/references/useGamepad.md +176 -0
  476. package/skills/vueuse-functions/references/useGeolocation.md +63 -0
  477. package/skills/vueuse-functions/references/useIDBKeyval.md +93 -0
  478. package/skills/vueuse-functions/references/useIdle.md +88 -0
  479. package/skills/vueuse-functions/references/useImage.md +90 -0
  480. package/skills/vueuse-functions/references/useInfiniteScroll.md +156 -0
  481. package/skills/vueuse-functions/references/useIntersectionObserver.md +117 -0
  482. package/skills/vueuse-functions/references/useInterval.md +112 -0
  483. package/skills/vueuse-functions/references/useIntervalFn.md +50 -0
  484. package/skills/vueuse-functions/references/useIpcRenderer.md +144 -0
  485. package/skills/vueuse-functions/references/useIpcRendererInvoke.md +58 -0
  486. package/skills/vueuse-functions/references/useIpcRendererOn.md +52 -0
  487. package/skills/vueuse-functions/references/useJwt.md +57 -0
  488. package/skills/vueuse-functions/references/useKeyModifier.md +87 -0
  489. package/skills/vueuse-functions/references/useLastChanged.md +63 -0
  490. package/skills/vueuse-functions/references/useLocalStorage.md +41 -0
  491. package/skills/vueuse-functions/references/useMagicKeys.md +245 -0
  492. package/skills/vueuse-functions/references/useManualRefHistory.md +204 -0
  493. package/skills/vueuse-functions/references/useMath.md +47 -0
  494. package/skills/vueuse-functions/references/useMax.md +36 -0
  495. package/skills/vueuse-functions/references/useMediaControls.md +201 -0
  496. package/skills/vueuse-functions/references/useMediaQuery.md +53 -0
  497. package/skills/vueuse-functions/references/useMemoize.md +175 -0
  498. package/skills/vueuse-functions/references/useMemory.md +70 -0
  499. package/skills/vueuse-functions/references/useMin.md +36 -0
  500. package/skills/vueuse-functions/references/useMounted.md +38 -0
  501. package/skills/vueuse-functions/references/useMouse.md +113 -0
  502. package/skills/vueuse-functions/references/useMouseInElement.md +132 -0
  503. package/skills/vueuse-functions/references/useMousePressed.md +116 -0
  504. package/skills/vueuse-functions/references/useMutationObserver.md +60 -0
  505. package/skills/vueuse-functions/references/useNProgress.md +78 -0
  506. package/skills/vueuse-functions/references/useNavigatorLanguage.md +57 -0
  507. package/skills/vueuse-functions/references/useNetwork.md +106 -0
  508. package/skills/vueuse-functions/references/useNow.md +83 -0
  509. package/skills/vueuse-functions/references/useObjectUrl.md +55 -0
  510. package/skills/vueuse-functions/references/useObservable.md +91 -0
  511. package/skills/vueuse-functions/references/useOffsetPagination.md +199 -0
  512. package/skills/vueuse-functions/references/useOnline.md +41 -0
  513. package/skills/vueuse-functions/references/usePageLeave.md +43 -0
  514. package/skills/vueuse-functions/references/useParallax.md +58 -0
  515. package/skills/vueuse-functions/references/useParentElement.md +54 -0
  516. package/skills/vueuse-functions/references/usePerformanceObserver.md +48 -0
  517. package/skills/vueuse-functions/references/usePermission.md +78 -0
  518. package/skills/vueuse-functions/references/usePointer.md +91 -0
  519. package/skills/vueuse-functions/references/usePointerLock.md +59 -0
  520. package/skills/vueuse-functions/references/usePointerSwipe.md +80 -0
  521. package/skills/vueuse-functions/references/usePrecision.md +49 -0
  522. package/skills/vueuse-functions/references/usePreferredColorScheme.md +42 -0
  523. package/skills/vueuse-functions/references/usePreferredContrast.md +42 -0
  524. package/skills/vueuse-functions/references/usePreferredDark.md +41 -0
  525. package/skills/vueuse-functions/references/usePreferredLanguages.md +41 -0
  526. package/skills/vueuse-functions/references/usePreferredReducedMotion.md +42 -0
  527. package/skills/vueuse-functions/references/usePreferredReducedTransparency.md +42 -0
  528. package/skills/vueuse-functions/references/usePrevious.md +40 -0
  529. package/skills/vueuse-functions/references/useProjection.md +38 -0
  530. package/skills/vueuse-functions/references/useQRCode.md +53 -0
  531. package/skills/vueuse-functions/references/useRTDB.md +83 -0
  532. package/skills/vueuse-functions/references/useRafFn.md +68 -0
  533. package/skills/vueuse-functions/references/useRefHistory.md +285 -0
  534. package/skills/vueuse-functions/references/useResizeObserver.md +108 -0
  535. package/skills/vueuse-functions/references/useRound.md +31 -0
  536. package/skills/vueuse-functions/references/useRouteHash.md +27 -0
  537. package/skills/vueuse-functions/references/useRouteParams.md +38 -0
  538. package/skills/vueuse-functions/references/useRouteQuery.md +79 -0
  539. package/skills/vueuse-functions/references/useSSRWidth.md +47 -0
  540. package/skills/vueuse-functions/references/useScreenOrientation.md +98 -0
  541. package/skills/vueuse-functions/references/useScreenSafeArea.md +60 -0
  542. package/skills/vueuse-functions/references/useScriptTag.md +116 -0
  543. package/skills/vueuse-functions/references/useScroll.md +238 -0
  544. package/skills/vueuse-functions/references/useScrollLock.md +66 -0
  545. package/skills/vueuse-functions/references/useSessionStorage.md +41 -0
  546. package/skills/vueuse-functions/references/useShare.md +67 -0
  547. package/skills/vueuse-functions/references/useSortable.md +276 -0
  548. package/skills/vueuse-functions/references/useSorted.md +90 -0
  549. package/skills/vueuse-functions/references/useSpeechRecognition.md +90 -0
  550. package/skills/vueuse-functions/references/useSpeechSynthesis.md +101 -0
  551. package/skills/vueuse-functions/references/useStepper.md +137 -0
  552. package/skills/vueuse-functions/references/useStorage.md +278 -0
  553. package/skills/vueuse-functions/references/useStorageAsync.md +136 -0
  554. package/skills/vueuse-functions/references/useStyleTag.md +131 -0
  555. package/skills/vueuse-functions/references/useSubject.md +77 -0
  556. package/skills/vueuse-functions/references/useSubscription.md +33 -0
  557. package/skills/vueuse-functions/references/useSum.md +36 -0
  558. package/skills/vueuse-functions/references/useSupported.md +29 -0
  559. package/skills/vueuse-functions/references/useSwipe.md +75 -0
  560. package/skills/vueuse-functions/references/useTemplateRefsList.md +37 -0
  561. package/skills/vueuse-functions/references/useTextDirection.md +75 -0
  562. package/skills/vueuse-functions/references/useTextSelection.md +43 -0
  563. package/skills/vueuse-functions/references/useTextareaAutosize.md +94 -0
  564. package/skills/vueuse-functions/references/useThrottleFn.md +57 -0
  565. package/skills/vueuse-functions/references/useThrottledRefHistory.md +47 -0
  566. package/skills/vueuse-functions/references/useTimeAgo.md +154 -0
  567. package/skills/vueuse-functions/references/useTimeAgoIntl.md +117 -0
  568. package/skills/vueuse-functions/references/useTimeout.md +113 -0
  569. package/skills/vueuse-functions/references/useTimeoutFn.md +51 -0
  570. package/skills/vueuse-functions/references/useTimeoutPoll.md +47 -0
  571. package/skills/vueuse-functions/references/useTimestamp.md +93 -0
  572. package/skills/vueuse-functions/references/useTitle.md +115 -0
  573. package/skills/vueuse-functions/references/useToNumber.md +54 -0
  574. package/skills/vueuse-functions/references/useToString.md +34 -0
  575. package/skills/vueuse-functions/references/useToggle.md +103 -0
  576. package/skills/vueuse-functions/references/useTransition.md +265 -0
  577. package/skills/vueuse-functions/references/useTrunc.md +33 -0
  578. package/skills/vueuse-functions/references/useUrlSearchParams.md +121 -0
  579. package/skills/vueuse-functions/references/useUserMedia.md +96 -0
  580. package/skills/vueuse-functions/references/useVModel.md +182 -0
  581. package/skills/vueuse-functions/references/useVModels.md +67 -0
  582. package/skills/vueuse-functions/references/useVibrate.md +86 -0
  583. package/skills/vueuse-functions/references/useVirtualList.md +182 -0
  584. package/skills/vueuse-functions/references/useWakeLock.md +51 -0
  585. package/skills/vueuse-functions/references/useWebNotification.md +175 -0
  586. package/skills/vueuse-functions/references/useWebSocket.md +299 -0
  587. package/skills/vueuse-functions/references/useWebWorker.md +60 -0
  588. package/skills/vueuse-functions/references/useWebWorkerFn.md +102 -0
  589. package/skills/vueuse-functions/references/useWindowFocus.md +46 -0
  590. package/skills/vueuse-functions/references/useWindowScroll.md +46 -0
  591. package/skills/vueuse-functions/references/useWindowSize.md +78 -0
  592. package/skills/vueuse-functions/references/useZoomFactor.md +53 -0
  593. package/skills/vueuse-functions/references/useZoomLevel.md +53 -0
  594. package/skills/vueuse-functions/references/watchArray.md +53 -0
  595. package/skills/vueuse-functions/references/watchAtMost.md +63 -0
  596. package/skills/vueuse-functions/references/watchDebounced.md +101 -0
  597. package/skills/vueuse-functions/references/watchDeep.md +54 -0
  598. package/skills/vueuse-functions/references/watchExtractedObservable.md +192 -0
  599. package/skills/vueuse-functions/references/watchIgnorable.md +120 -0
  600. package/skills/vueuse-functions/references/watchImmediate.md +44 -0
  601. package/skills/vueuse-functions/references/watchOnce.md +41 -0
  602. package/skills/vueuse-functions/references/watchPausable.md +86 -0
  603. package/skills/vueuse-functions/references/watchThrottled.md +108 -0
  604. package/skills/vueuse-functions/references/watchTriggerable.md +98 -0
  605. package/skills/vueuse-functions/references/watchWithFilter.md +54 -0
  606. package/skills/vueuse-functions/references/whenever.md +108 -0
  607. package/skills/web-design-guidelines/SKILL.md +39 -0
  608. package/skills/web-design-guidelines/SYNC.md +5 -0
@@ -0,0 +1,94 @@
1
+ ---
2
+ category: Browser
3
+ ---
4
+
5
+ # useTextareaAutosize
6
+
7
+ Automatically update the height of a textarea depending on the content.
8
+
9
+ ## Usage
10
+
11
+ ### Simple example
12
+
13
+ ```vue
14
+ <script setup lang="ts">
15
+ import { useTextareaAutosize } from '@vueuse/core'
16
+
17
+ const { textarea, input } = useTextareaAutosize()
18
+ </script>
19
+
20
+ <template>
21
+ <textarea
22
+ ref="textarea"
23
+ v-model="input"
24
+ class="resize-none"
25
+ placeholder="What's on your mind?"
26
+ />
27
+ </template>
28
+ ```
29
+
30
+ ::: info
31
+
32
+ It's recommended to reset the scrollbar styles for the textarea element to avoid incorrect height values for large amounts of text.
33
+
34
+ ```css
35
+ textarea {
36
+ -ms-overflow-style: none;
37
+ scrollbar-width: none;
38
+ }
39
+
40
+ textarea::-webkit-scrollbar {
41
+ display: none;
42
+ }
43
+ ```
44
+
45
+ :::
46
+
47
+ ### With `rows` attribute
48
+
49
+ If you need support for the rows attribute on a textarea element, then you should set the `styleProp` option to `minHeight`.
50
+
51
+ ```vue
52
+ <script setup lang="ts">
53
+ import { useTextareaAutosize } from '@vueuse/core'
54
+
55
+ const { textarea, input } = useTextareaAutosize({ styleProp: 'minHeight' })
56
+ </script>
57
+
58
+ <template>
59
+ <textarea
60
+ ref="textarea"
61
+ v-model="input"
62
+ class="resize-none"
63
+ placeholder="What's on your mind?"
64
+ rows="3"
65
+ />
66
+ </template>
67
+ ```
68
+
69
+ ## Type Declarations
70
+
71
+ ```ts
72
+ export interface UseTextareaAutosizeOptions extends ConfigurableWindow {
73
+ /** Textarea element to autosize. */
74
+ element?: MaybeRef<HTMLTextAreaElement | undefined | null>
75
+ /** Textarea content. */
76
+ input?: MaybeRef<string>
77
+ /** Watch sources that should trigger a textarea resize. */
78
+ watch?: WatchSource | MultiWatchSources
79
+ /** Function called when the textarea size changes. */
80
+ onResize?: () => void
81
+ /** Specify style target to apply the height based on textarea content. If not provided it will use textarea it self. */
82
+ styleTarget?: MaybeRef<HTMLElement | undefined>
83
+ /** Specify the style property that will be used to manipulate height. Can be `height | minHeight`. Default value is `height`. */
84
+ styleProp?: "height" | "minHeight"
85
+ }
86
+ export interface UseTextareaAutosizeReturn {
87
+ textarea: Ref<HTMLTextAreaElement | undefined | null>
88
+ input: Ref<string>
89
+ triggerResize: () => void
90
+ }
91
+ export declare function useTextareaAutosize(
92
+ options?: UseTextareaAutosizeOptions,
93
+ ): UseTextareaAutosizeReturn
94
+ ```
@@ -0,0 +1,57 @@
1
+ ---
2
+ category: Utilities
3
+ related: refThrottled, refDebounced, useDebounceFn
4
+ ---
5
+
6
+ # useThrottleFn
7
+
8
+ Throttle execution of a function. Especially useful for rate limiting execution of handlers on events like resize and scroll.
9
+
10
+ > Throttle is a spring that throws balls: after a ball flies out it needs some time to shrink back, so it cannot throw any more balls unless it's ready.
11
+
12
+ ## Usage
13
+
14
+ ```ts
15
+ import { useThrottleFn } from '@vueuse/core'
16
+
17
+ const throttledFn = useThrottleFn(() => {
18
+ // do something, it will be called at most 1 time per second
19
+ }, 1000)
20
+
21
+ useEventListener(window, 'resize', throttledFn)
22
+ ```
23
+
24
+ ## Recommended Reading
25
+
26
+ - [**Debounce vs Throttle**: Definitive Visual Guide](https://kettanaito.com/blog/debounce-vs-throttle)
27
+
28
+ ## Type Declarations
29
+
30
+ ```ts
31
+ /**
32
+ * Throttle execution of a function. Especially useful for rate limiting
33
+ * execution of handlers on events like resize and scroll.
34
+ *
35
+ * @param fn A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
36
+ * to `callback` when the throttled-function is executed.
37
+ * @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
38
+ * (default value: 200)
39
+ *
40
+ * @param [trailing] if true, call fn again after the time is up (default value: false)
41
+ *
42
+ * @param [leading] if true, call fn on the leading edge of the ms timeout (default value: true)
43
+ *
44
+ * @param [rejectOnCancel] if true, reject the last call if it's been cancel (default value: false)
45
+ *
46
+ * @return A new, throttled, function.
47
+ *
48
+ * @__NO_SIDE_EFFECTS__
49
+ */
50
+ export declare function useThrottleFn<T extends FunctionArgs>(
51
+ fn: T,
52
+ ms?: MaybeRefOrGetter<number>,
53
+ trailing?: boolean,
54
+ leading?: boolean,
55
+ rejectOnCancel?: boolean,
56
+ ): PromisifyFn<T>
57
+ ```
@@ -0,0 +1,47 @@
1
+ ---
2
+ category: State
3
+ related: useDebouncedRefHistory, useRefHistory
4
+ ---
5
+
6
+ # useThrottledRefHistory
7
+
8
+ Shorthand for `useRefHistory` with throttled filter.
9
+
10
+ ## Usage
11
+
12
+ This function takes the first snapshot right after the counter's value was changed and the second with a delay of 1000ms.
13
+
14
+ ```ts
15
+ import { useThrottledRefHistory } from '@vueuse/core'
16
+ import { shallowRef } from 'vue'
17
+
18
+ const counter = shallowRef(0)
19
+ const { history, undo, redo } = useThrottledRefHistory(counter, { deep: true, throttle: 1000 })
20
+ ```
21
+
22
+ ## Type Declarations
23
+
24
+ ```ts
25
+ export type UseThrottledRefHistoryOptions<Raw, Serialized = Raw> = Omit<
26
+ UseRefHistoryOptions<Raw, Serialized>,
27
+ "eventFilter"
28
+ > & {
29
+ throttle?: MaybeRef<number>
30
+ trailing?: boolean
31
+ }
32
+ export type UseThrottledRefHistoryReturn<
33
+ Raw,
34
+ Serialized = Raw,
35
+ > = UseRefHistoryReturn<Raw, Serialized>
36
+ /**
37
+ * Shorthand for [useRefHistory](https://vueuse.org/useRefHistory) with throttled filter.
38
+ *
39
+ * @see https://vueuse.org/useThrottledRefHistory
40
+ * @param source
41
+ * @param options
42
+ */
43
+ export declare function useThrottledRefHistory<Raw, Serialized = Raw>(
44
+ source: Ref<Raw>,
45
+ options?: UseThrottledRefHistoryOptions<Raw, Serialized>,
46
+ ): UseThrottledRefHistoryReturn<Raw, Serialized>
47
+ ```
@@ -0,0 +1,154 @@
1
+ ---
2
+ category: Time
3
+ ---
4
+
5
+ # useTimeAgo
6
+
7
+ Reactive time ago. Automatically update the time ago string when the time changes.
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useTimeAgo } from '@vueuse/core'
13
+
14
+ const timeAgo = useTimeAgo(new Date(2021, 0, 1))
15
+ ```
16
+
17
+ ## Component Usage
18
+
19
+ ```vue
20
+ <template>
21
+ <UseTimeAgo v-slot="{ timeAgo }" :time="new Date(2021, 0, 1)">
22
+ Time Ago: {{ timeAgo }}
23
+ </UseTimeAgo>
24
+ </template>
25
+ ```
26
+
27
+ ## Non-Reactivity Usage
28
+
29
+ In case you don't need the reactivity, you can use the `formatTimeAgo` function to get the formatted string instead of a Ref.
30
+
31
+ ```ts
32
+ import { formatTimeAgo } from '@vueuse/core'
33
+
34
+ const timeAgo = formatTimeAgo(new Date(2021, 0, 1)) // string
35
+ ```
36
+
37
+ ## Type Declarations
38
+
39
+ ```ts
40
+ export type UseTimeAgoFormatter<T = number> = (
41
+ value: T,
42
+ isPast: boolean,
43
+ ) => string
44
+ export type UseTimeAgoUnitNamesDefault =
45
+ | "second"
46
+ | "minute"
47
+ | "hour"
48
+ | "day"
49
+ | "week"
50
+ | "month"
51
+ | "year"
52
+ export interface UseTimeAgoMessagesBuiltIn {
53
+ justNow: string
54
+ past: string | UseTimeAgoFormatter<string>
55
+ future: string | UseTimeAgoFormatter<string>
56
+ invalid: string
57
+ }
58
+ export type UseTimeAgoMessages<
59
+ UnitNames extends string = UseTimeAgoUnitNamesDefault,
60
+ > = UseTimeAgoMessagesBuiltIn &
61
+ Record<UnitNames, string | UseTimeAgoFormatter<number>>
62
+ export interface FormatTimeAgoOptions<
63
+ UnitNames extends string = UseTimeAgoUnitNamesDefault,
64
+ > {
65
+ /**
66
+ * Maximum unit (of diff in milliseconds) to display the full date instead of relative
67
+ *
68
+ * @default undefined
69
+ */
70
+ max?: UnitNames | number
71
+ /**
72
+ * Formatter for full date
73
+ */
74
+ fullDateFormatter?: (date: Date) => string
75
+ /**
76
+ * Messages for formatting the string
77
+ */
78
+ messages?: UseTimeAgoMessages<UnitNames>
79
+ /**
80
+ * Minimum display time unit (default is minute)
81
+ *
82
+ * @default false
83
+ */
84
+ showSecond?: boolean
85
+ /**
86
+ * Rounding method to apply.
87
+ *
88
+ * @default 'round'
89
+ */
90
+ rounding?: "round" | "ceil" | "floor" | number
91
+ /**
92
+ * Custom units
93
+ */
94
+ units?: UseTimeAgoUnit<UnitNames>[]
95
+ }
96
+ export interface UseTimeAgoOptions<
97
+ Controls extends boolean,
98
+ UnitNames extends string = UseTimeAgoUnitNamesDefault,
99
+ >
100
+ extends FormatTimeAgoOptions<UnitNames>, ConfigurableScheduler {
101
+ /**
102
+ * Expose more controls
103
+ *
104
+ * @default false
105
+ */
106
+ controls?: Controls
107
+ /**
108
+ * Intervals to update, set 0 to disable auto update
109
+ *
110
+ * @deprecated Please use `scheduler` option instead
111
+ * @default 30_000
112
+ */
113
+ updateInterval?: number
114
+ }
115
+ export interface UseTimeAgoUnit<
116
+ Unit extends string = UseTimeAgoUnitNamesDefault,
117
+ > {
118
+ max: number
119
+ value: number
120
+ name: Unit
121
+ }
122
+ export type UseTimeAgoReturn<Controls extends boolean = false> =
123
+ Controls extends true
124
+ ? {
125
+ timeAgo: ComputedRef<string>
126
+ } & Pausable
127
+ : ComputedRef<string>
128
+ /**
129
+ * Reactive time ago formatter.
130
+ *
131
+ * @see https://vueuse.org/useTimeAgo
132
+ *
133
+ * @__NO_SIDE_EFFECTS__
134
+ */
135
+ export declare function useTimeAgo<
136
+ UnitNames extends string = UseTimeAgoUnitNamesDefault,
137
+ >(
138
+ time: MaybeRefOrGetter<Date | number | string>,
139
+ options?: UseTimeAgoOptions<false, UnitNames>,
140
+ ): UseTimeAgoReturn<false>
141
+ export declare function useTimeAgo<
142
+ UnitNames extends string = UseTimeAgoUnitNamesDefault,
143
+ >(
144
+ time: MaybeRefOrGetter<Date | number | string>,
145
+ options: UseTimeAgoOptions<true, UnitNames>,
146
+ ): UseTimeAgoReturn<true>
147
+ export declare function formatTimeAgo<
148
+ UnitNames extends string = UseTimeAgoUnitNamesDefault,
149
+ >(
150
+ from: Date,
151
+ options?: FormatTimeAgoOptions<UnitNames>,
152
+ now?: Date | number,
153
+ ): string
154
+ ```
@@ -0,0 +1,117 @@
1
+ ---
2
+ category: Time
3
+ ---
4
+
5
+ # useTimeAgoIntl
6
+
7
+ Reactive time ago with i18n supported. Automatically update the time ago string when the time changes. Powered by `Intl.RelativeTimeFormat`.
8
+
9
+ ## Usage
10
+
11
+ ```js
12
+ import { useTimeAgoIntl } from '@vueuse/core'
13
+
14
+ const timeAgoIntl = useTimeAgoIntl(new Date(2021, 0, 1))
15
+ ```
16
+
17
+ ## Non-Reactivity Usage
18
+
19
+ In case you don't need the reactivity, you can use the `formatTimeAgo` function to get the formatted string instead of a Ref.
20
+
21
+ ```js
22
+ import { formatTimeAgoIntl } from '@vueuse/core'
23
+
24
+ const timeAgoIntl = formatTimeAgoIntl(new Date(2021, 0, 1)) // string
25
+ ```
26
+
27
+ ## Type Declarations
28
+
29
+ ```ts
30
+ type Locale = Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale
31
+ export interface FormatTimeAgoIntlOptions {
32
+ /**
33
+ * The locale to format with
34
+ *
35
+ * @default undefined
36
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#locales
37
+ */
38
+ locale?: Locale
39
+ /**
40
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat#options
41
+ */
42
+ relativeTimeFormatOptions?: Intl.RelativeTimeFormatOptions
43
+ /**
44
+ * Whether to insert spaces between parts.
45
+ *
46
+ * Ignored if `joinParts` is provided.
47
+ *
48
+ * @default true
49
+ */
50
+ insertSpace?: boolean
51
+ /**
52
+ * Custom function to join the parts returned by `Intl.RelativeTimeFormat.formatToParts`.
53
+ *
54
+ * If provided, it will be used instead of the default join logic.
55
+ */
56
+ joinParts?: (
57
+ parts: Intl.RelativeTimeFormatPart[],
58
+ locale?: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale,
59
+ ) => string
60
+ /**
61
+ * Custom units
62
+ */
63
+ units?: TimeAgoUnit[]
64
+ }
65
+ export interface UseTimeAgoIntlOptions<Controls extends boolean>
66
+ extends FormatTimeAgoIntlOptions, ConfigurableScheduler {
67
+ /**
68
+ * Expose more controls and the raw `parts` result.
69
+ *
70
+ * @default false
71
+ */
72
+ controls?: Controls
73
+ /**
74
+ * Update interval in milliseconds, set 0 to disable auto update
75
+ *
76
+ * @deprecated Please use `scheduler` option instead
77
+ * @default 30_000
78
+ */
79
+ updateInterval?: number
80
+ }
81
+ type UseTimeAgoReturn<Controls extends boolean = false> = Controls extends true
82
+ ? {
83
+ timeAgoIntl: ComputedRef<string>
84
+ parts: ComputedRef<Intl.RelativeTimeFormatPart[]>
85
+ } & Pausable
86
+ : ComputedRef<string>
87
+ export interface TimeAgoUnit {
88
+ name: Intl.RelativeTimeFormatUnit
89
+ ms: number
90
+ }
91
+ /**
92
+ * A reactive wrapper for `Intl.RelativeTimeFormat`.
93
+ */
94
+ export declare function useTimeAgoIntl(
95
+ time: MaybeRefOrGetter<Date | number | string>,
96
+ options?: UseTimeAgoIntlOptions<false>,
97
+ ): UseTimeAgoReturn<false>
98
+ export declare function useTimeAgoIntl(
99
+ time: MaybeRefOrGetter<Date | number | string>,
100
+ options: UseTimeAgoIntlOptions<true>,
101
+ ): UseTimeAgoReturn<true>
102
+ /**
103
+ * Non-reactive version of useTimeAgoIntl
104
+ */
105
+ export declare function formatTimeAgoIntl(
106
+ from: Date,
107
+ options?: FormatTimeAgoIntlOptions,
108
+ now?: Date | number,
109
+ ): string
110
+ /**
111
+ * Format parts into a string
112
+ */
113
+ export declare function formatTimeAgoIntlParts(
114
+ parts: Intl.RelativeTimeFormatPart[],
115
+ options?: FormatTimeAgoIntlOptions,
116
+ ): string
117
+ ```
@@ -0,0 +1,113 @@
1
+ ---
2
+ category: Animation
3
+ ---
4
+
5
+ # useTimeout
6
+
7
+ Reactive value that becomes `true` after a given time.
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useTimeout } from '@vueuse/core'
13
+
14
+ const ready = useTimeout(1000)
15
+ ```
16
+
17
+ After 1 second, `ready.value` becomes `true`.
18
+
19
+ ### With Controls
20
+
21
+ ```ts
22
+ import { useTimeout } from '@vueuse/core'
23
+
24
+ const { ready, start, stop, isPending } = useTimeout(1000, { controls: true })
25
+
26
+ // Check if timeout is pending
27
+ console.log(isPending.value) // true
28
+
29
+ // Stop the timeout
30
+ stop()
31
+
32
+ // Start/restart the timeout
33
+ start()
34
+ ```
35
+
36
+ ### Options
37
+
38
+ | Option | Type | Default | Description |
39
+ | ----------- | ------------ | ------- | ------------------------------------------------ |
40
+ | `controls` | `boolean` | `false` | Expose `start`, `stop`, and `isPending` controls |
41
+ | `immediate` | `boolean` | `true` | Start the timeout immediately |
42
+ | `callback` | `() => void` | — | Called when the timeout completes |
43
+
44
+ ### Callback on Timeout
45
+
46
+ ```ts
47
+ import { useTimeout } from '@vueuse/core'
48
+
49
+ useTimeout(1000, {
50
+ callback: () => {
51
+ console.log('Timeout completed!')
52
+ },
53
+ })
54
+ ```
55
+
56
+ ### Reactive Interval
57
+
58
+ The timeout duration can be reactive:
59
+
60
+ ```ts
61
+ import { useTimeout } from '@vueuse/core'
62
+
63
+ const duration = ref(1000)
64
+ const ready = useTimeout(duration)
65
+
66
+ // Change the duration (only affects future timeouts when using controls)
67
+ duration.value = 2000
68
+ ```
69
+
70
+ ## Type Declarations
71
+
72
+ ```ts
73
+ export interface UseTimeoutOptions<
74
+ Controls extends boolean,
75
+ > extends UseTimeoutFnOptions {
76
+ /**
77
+ * Expose more controls
78
+ *
79
+ * @default false
80
+ */
81
+ controls?: Controls
82
+ /**
83
+ * Callback on timeout
84
+ */
85
+ callback?: Fn
86
+ }
87
+ export type UseTimeoutReturn =
88
+ | ComputedRef<boolean>
89
+ | ({
90
+ readonly ready: ComputedRef<boolean>
91
+ } & Stoppable)
92
+ /**
93
+ * @deprecated use UseTimeoutReturn instead
94
+ */
95
+ export type UseTimoutReturn = UseTimeoutReturn
96
+ /**
97
+ * Update value after a given time with controls.
98
+ *
99
+ * @see {@link https://vueuse.org/useTimeout}
100
+ * @param interval
101
+ * @param options
102
+ */
103
+ export declare function useTimeout(
104
+ interval?: MaybeRefOrGetter<number>,
105
+ options?: UseTimeoutOptions<false>,
106
+ ): ComputedRef<boolean>
107
+ export declare function useTimeout(
108
+ interval: MaybeRefOrGetter<number>,
109
+ options: UseTimeoutOptions<true>,
110
+ ): {
111
+ ready: ComputedRef<boolean>
112
+ } & Stoppable
113
+ ```
@@ -0,0 +1,51 @@
1
+ ---
2
+ category: Animation
3
+ ---
4
+
5
+ # useTimeoutFn
6
+
7
+ Wrapper for `setTimeout` with controls.
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useTimeoutFn } from '@vueuse/core'
13
+
14
+ const { isPending, start, stop } = useTimeoutFn(() => {
15
+ /* ... */
16
+ }, 3000)
17
+ ```
18
+
19
+ ## Type Declarations
20
+
21
+ ```ts
22
+ export interface UseTimeoutFnOptions {
23
+ /**
24
+ * Start the timer immediately
25
+ *
26
+ * @default true
27
+ */
28
+ immediate?: boolean
29
+ /**
30
+ * Execute the callback immediately after calling `start`
31
+ *
32
+ * @default false
33
+ */
34
+ immediateCallback?: boolean
35
+ }
36
+ export type UseTimeoutFnReturn<CallbackFn extends AnyFn> = Stoppable<
37
+ Parameters<CallbackFn> | []
38
+ >
39
+ /**
40
+ * Wrapper for `setTimeout` with controls.
41
+ *
42
+ * @param cb
43
+ * @param interval
44
+ * @param options
45
+ */
46
+ export declare function useTimeoutFn<CallbackFn extends AnyFn>(
47
+ cb: CallbackFn,
48
+ interval: MaybeRefOrGetter<number>,
49
+ options?: UseTimeoutFnOptions,
50
+ ): UseTimeoutFnReturn<CallbackFn>
51
+ ```
@@ -0,0 +1,47 @@
1
+ ---
2
+ category: Utilities
3
+ ---
4
+
5
+ # useTimeoutPoll
6
+
7
+ Use timeout to poll something. It will trigger callback after last task is done.
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useTimeoutPoll } from '@vueuse/core'
13
+
14
+ const count = ref(0)
15
+
16
+ async function fetchData() {
17
+ await new Promise(resolve => setTimeout(resolve, 1000))
18
+ count.value++
19
+ }
20
+
21
+ // Only trigger after last fetch is done
22
+ const { isActive, pause, resume } = useTimeoutPoll(fetchData, 1000)
23
+ ```
24
+
25
+ ## Type Declarations
26
+
27
+ ```ts
28
+ export interface UseTimeoutPollOptions {
29
+ /**
30
+ * Start the timer immediately
31
+ *
32
+ * @default true
33
+ */
34
+ immediate?: boolean
35
+ /**
36
+ * Execute the callback immediately after calling `resume`
37
+ *
38
+ * @default false
39
+ */
40
+ immediateCallback?: boolean
41
+ }
42
+ export declare function useTimeoutPoll(
43
+ fn: () => Awaitable<void>,
44
+ interval: MaybeRefOrGetter<number>,
45
+ options?: UseTimeoutFnOptions,
46
+ ): Pausable
47
+ ```