aico-cli 2.1.1 → 2.1.23

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 (549) hide show
  1. package/bin/cli/README.md +1 -1
  2. package/bin/cli/cli.js +9391 -3999
  3. package/bin/cli/package.json +1 -1
  4. package/bin/cli/sdk-tools.d.ts +83 -15
  5. package/dist/chunks/simple-config.mjs +1 -1
  6. package/package.json +2 -2
  7. package/templates/cursor.md +72 -15
  8. package/templates/personality.md +37 -13
  9. package/templates/skills/antfu/SKILL.md +222 -0
  10. package/templates/skills/antfu/references/antfu-eslint-config.md +328 -0
  11. package/templates/skills/antfu/references/app-development.md +60 -0
  12. package/templates/skills/antfu/references/github-actions.md +68 -0
  13. package/templates/skills/antfu/references/gitignore.md +29 -0
  14. package/templates/skills/antfu/references/library-development.md +85 -0
  15. package/templates/skills/antfu/references/monorepo.md +126 -0
  16. package/templates/skills/antfu/references/vscode-extensions.md +34 -0
  17. package/templates/skills/nuxt/GENERATION.md +5 -0
  18. package/templates/skills/nuxt/SKILL.md +55 -0
  19. package/templates/skills/nuxt/references/advanced-hooks.md +289 -0
  20. package/templates/skills/nuxt/references/advanced-layers.md +299 -0
  21. package/templates/skills/nuxt/references/advanced-module-authoring.md +554 -0
  22. package/templates/skills/nuxt/references/best-practices-data-fetching.md +357 -0
  23. package/templates/skills/nuxt/references/best-practices-ssr.md +355 -0
  24. package/templates/skills/nuxt/references/core-cli.md +263 -0
  25. package/templates/skills/nuxt/references/core-config.md +162 -0
  26. package/templates/skills/nuxt/references/core-data-fetching.md +236 -0
  27. package/templates/skills/nuxt/references/core-deployment.md +224 -0
  28. package/templates/skills/nuxt/references/core-directory-structure.md +269 -0
  29. package/templates/skills/nuxt/references/core-modules.md +292 -0
  30. package/templates/skills/nuxt/references/core-routing.md +226 -0
  31. package/templates/skills/nuxt/references/features-components-autoimport.md +328 -0
  32. package/templates/skills/nuxt/references/features-components.md +264 -0
  33. package/templates/skills/nuxt/references/features-composables.md +276 -0
  34. package/templates/skills/nuxt/references/features-server.md +265 -0
  35. package/templates/skills/nuxt/references/features-state.md +194 -0
  36. package/templates/skills/nuxt/references/rendering-modes.md +237 -0
  37. package/templates/skills/pinia/GENERATION.md +5 -0
  38. package/templates/skills/pinia/SKILL.md +59 -0
  39. package/templates/skills/pinia/references/advanced-hmr.md +61 -0
  40. package/templates/skills/pinia/references/advanced-nuxt.md +119 -0
  41. package/templates/skills/pinia/references/advanced-ssr.md +121 -0
  42. package/templates/skills/pinia/references/best-practices-outside-component.md +115 -0
  43. package/templates/skills/pinia/references/best-practices-testing.md +212 -0
  44. package/templates/skills/pinia/references/core-stores.md +389 -0
  45. package/templates/skills/pinia/references/features-composables.md +114 -0
  46. package/templates/skills/pinia/references/features-composing-stores.md +134 -0
  47. package/templates/skills/pinia/references/features-plugins.md +203 -0
  48. package/templates/skills/pnpm/GENERATION.md +5 -0
  49. package/templates/skills/pnpm/SKILL.md +42 -0
  50. package/templates/skills/pnpm/references/best-practices-ci.md +285 -0
  51. package/templates/skills/pnpm/references/best-practices-migration.md +291 -0
  52. package/templates/skills/pnpm/references/best-practices-performance.md +284 -0
  53. package/templates/skills/pnpm/references/core-cli.md +229 -0
  54. package/templates/skills/pnpm/references/core-config.md +188 -0
  55. package/templates/skills/pnpm/references/core-store.md +179 -0
  56. package/templates/skills/pnpm/references/core-workspaces.md +205 -0
  57. package/templates/skills/pnpm/references/features-aliases.md +168 -0
  58. package/templates/skills/pnpm/references/features-catalogs.md +159 -0
  59. package/templates/skills/pnpm/references/features-hooks.md +233 -0
  60. package/templates/skills/pnpm/references/features-overrides.md +184 -0
  61. package/templates/skills/pnpm/references/features-patches.md +201 -0
  62. package/templates/skills/pnpm/references/features-peer-deps.md +250 -0
  63. package/templates/skills/slidev/LICENSE.md +21 -0
  64. package/templates/skills/slidev/README.md +61 -0
  65. package/templates/skills/slidev/SKILL.md +183 -0
  66. package/templates/skills/slidev/SYNC.md +5 -0
  67. package/templates/skills/slidev/references/animation-click-marker.md +37 -0
  68. package/templates/skills/slidev/references/animation-drawing.md +68 -0
  69. package/templates/skills/slidev/references/animation-rough-marker.md +53 -0
  70. package/templates/skills/slidev/references/api-slide-hooks.md +37 -0
  71. package/templates/skills/slidev/references/build-og-image.md +36 -0
  72. package/templates/skills/slidev/references/build-pdf.md +40 -0
  73. package/templates/skills/slidev/references/build-remote-assets.md +34 -0
  74. package/templates/skills/slidev/references/build-seo-meta.md +43 -0
  75. package/templates/skills/slidev/references/code-groups.md +64 -0
  76. package/templates/skills/slidev/references/code-import-snippet.md +55 -0
  77. package/templates/skills/slidev/references/code-line-highlighting.md +50 -0
  78. package/templates/skills/slidev/references/code-line-numbers.md +46 -0
  79. package/templates/skills/slidev/references/code-magic-move.md +57 -0
  80. package/templates/skills/slidev/references/code-max-height.md +37 -0
  81. package/templates/skills/slidev/references/code-twoslash.md +42 -0
  82. package/templates/skills/slidev/references/core-animations.md +196 -0
  83. package/templates/skills/slidev/references/core-cli.md +140 -0
  84. package/templates/skills/slidev/references/core-components.md +197 -0
  85. package/templates/skills/slidev/references/core-exporting.md +148 -0
  86. package/templates/skills/slidev/references/core-frontmatter.md +195 -0
  87. package/templates/skills/slidev/references/core-global-context.md +155 -0
  88. package/templates/skills/slidev/references/core-headmatter.md +188 -0
  89. package/templates/skills/slidev/references/core-hosting.md +152 -0
  90. package/templates/skills/slidev/references/core-layouts.md +286 -0
  91. package/templates/skills/slidev/references/core-syntax.md +155 -0
  92. package/templates/skills/slidev/references/diagram-latex.md +55 -0
  93. package/templates/skills/slidev/references/diagram-mermaid.md +44 -0
  94. package/templates/skills/slidev/references/diagram-plantuml.md +45 -0
  95. package/templates/skills/slidev/references/editor-monaco-run.md +44 -0
  96. package/templates/skills/slidev/references/editor-monaco-write.md +24 -0
  97. package/templates/skills/slidev/references/editor-monaco.md +50 -0
  98. package/templates/skills/slidev/references/editor-prettier.md +40 -0
  99. package/templates/skills/slidev/references/editor-side.md +23 -0
  100. package/templates/skills/slidev/references/editor-vscode.md +55 -0
  101. package/templates/skills/slidev/references/layout-canvas-size.md +25 -0
  102. package/templates/skills/slidev/references/layout-draggable.md +57 -0
  103. package/templates/skills/slidev/references/layout-global-layers.md +50 -0
  104. package/templates/skills/slidev/references/layout-slots.md +75 -0
  105. package/templates/skills/slidev/references/layout-transform.md +33 -0
  106. package/templates/skills/slidev/references/layout-zoom.md +39 -0
  107. package/templates/skills/slidev/references/presenter-notes-ruby.md +35 -0
  108. package/templates/skills/slidev/references/presenter-recording.md +30 -0
  109. package/templates/skills/slidev/references/presenter-remote.md +40 -0
  110. package/templates/skills/slidev/references/presenter-timer.md +34 -0
  111. package/templates/skills/slidev/references/style-direction.md +34 -0
  112. package/templates/skills/slidev/references/style-icons.md +46 -0
  113. package/templates/skills/slidev/references/style-scoped.md +50 -0
  114. package/templates/skills/slidev/references/syntax-block-frontmatter.md +39 -0
  115. package/templates/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
  116. package/templates/skills/slidev/references/syntax-importing-slides.md +60 -0
  117. package/templates/skills/slidev/references/syntax-mdc.md +51 -0
  118. package/templates/skills/slidev/references/tool-eject-theme.md +27 -0
  119. package/templates/skills/tech-whitepaper/SKILL.md +102 -15
  120. package/templates/skills/tsdown/GENERATION.md +5 -0
  121. package/templates/skills/tsdown/SKILL.md +59 -0
  122. package/templates/skills/tsdown/references/advanced-hooks.md +87 -0
  123. package/templates/skills/tsdown/references/advanced-plugins.md +97 -0
  124. package/templates/skills/tsdown/references/advanced-programmatic.md +78 -0
  125. package/templates/skills/tsdown/references/advanced-rolldown-options.md +114 -0
  126. package/templates/skills/tsdown/references/core-cli.md +116 -0
  127. package/templates/skills/tsdown/references/core-config.md +86 -0
  128. package/templates/skills/tsdown/references/core-entry.md +74 -0
  129. package/templates/skills/tsdown/references/features-optimization.md +83 -0
  130. package/templates/skills/tsdown/references/features-shims.md +92 -0
  131. package/templates/skills/tsdown/references/features-unbundle.md +63 -0
  132. package/templates/skills/tsdown/references/features-watch.md +60 -0
  133. package/templates/skills/tsdown/references/options-dependencies.md +88 -0
  134. package/templates/skills/tsdown/references/options-dts.md +104 -0
  135. package/templates/skills/tsdown/references/options-output.md +124 -0
  136. package/templates/skills/tsdown/references/options-package-exports.md +114 -0
  137. package/templates/skills/tsdown/references/recipes-frameworks.md +109 -0
  138. package/templates/skills/tsdown/references/recipes-migration.md +84 -0
  139. package/templates/skills/turborepo/LICENSE.md +7 -0
  140. package/templates/skills/turborepo/SKILL.md +914 -0
  141. package/templates/skills/turborepo/SYNC.md +5 -0
  142. package/templates/skills/turborepo/command/turborepo.md +70 -0
  143. package/templates/skills/turborepo/references/best-practices/README.md +241 -0
  144. package/templates/skills/turborepo/references/best-practices/dependencies.md +246 -0
  145. package/templates/skills/turborepo/references/best-practices/packages.md +335 -0
  146. package/templates/skills/turborepo/references/best-practices/structure.md +269 -0
  147. package/templates/skills/turborepo/references/boundaries/README.md +126 -0
  148. package/templates/skills/turborepo/references/caching/README.md +107 -0
  149. package/templates/skills/turborepo/references/caching/gotchas.md +169 -0
  150. package/templates/skills/turborepo/references/caching/remote-cache.md +127 -0
  151. package/templates/skills/turborepo/references/ci/README.md +79 -0
  152. package/templates/skills/turborepo/references/ci/github-actions.md +162 -0
  153. package/templates/skills/turborepo/references/ci/patterns.md +145 -0
  154. package/templates/skills/turborepo/references/ci/vercel.md +103 -0
  155. package/templates/skills/turborepo/references/cli/README.md +100 -0
  156. package/templates/skills/turborepo/references/cli/commands.md +297 -0
  157. package/templates/skills/turborepo/references/configuration/README.md +211 -0
  158. package/templates/skills/turborepo/references/configuration/global-options.md +195 -0
  159. package/templates/skills/turborepo/references/configuration/gotchas.md +348 -0
  160. package/templates/skills/turborepo/references/configuration/tasks.md +285 -0
  161. package/templates/skills/turborepo/references/environment/README.md +96 -0
  162. package/templates/skills/turborepo/references/environment/gotchas.md +145 -0
  163. package/templates/skills/turborepo/references/environment/modes.md +101 -0
  164. package/templates/skills/turborepo/references/filtering/README.md +148 -0
  165. package/templates/skills/turborepo/references/filtering/patterns.md +152 -0
  166. package/templates/skills/turborepo/references/watch/README.md +99 -0
  167. package/templates/skills/unocss/GENERATION.md +5 -0
  168. package/templates/skills/unocss/SKILL.md +64 -0
  169. package/templates/skills/unocss/references/core-config.md +187 -0
  170. package/templates/skills/unocss/references/core-extracting.md +137 -0
  171. package/templates/skills/unocss/references/core-layers.md +104 -0
  172. package/templates/skills/unocss/references/core-rules.md +166 -0
  173. package/templates/skills/unocss/references/core-safelist.md +105 -0
  174. package/templates/skills/unocss/references/core-shortcuts.md +89 -0
  175. package/templates/skills/unocss/references/core-theme.md +172 -0
  176. package/templates/skills/unocss/references/core-variants.md +175 -0
  177. package/templates/skills/unocss/references/integrations-nuxt.md +199 -0
  178. package/templates/skills/unocss/references/integrations-vite.md +283 -0
  179. package/templates/skills/unocss/references/preset-attributify.md +142 -0
  180. package/templates/skills/unocss/references/preset-icons.md +184 -0
  181. package/templates/skills/unocss/references/preset-mini.md +158 -0
  182. package/templates/skills/unocss/references/preset-rem-to-px.md +97 -0
  183. package/templates/skills/unocss/references/preset-tagify.md +134 -0
  184. package/templates/skills/unocss/references/preset-typography.md +95 -0
  185. package/templates/skills/unocss/references/preset-web-fonts.md +91 -0
  186. package/templates/skills/unocss/references/preset-wind3.md +194 -0
  187. package/templates/skills/unocss/references/preset-wind4.md +247 -0
  188. package/templates/skills/unocss/references/transformer-attributify-jsx.md +156 -0
  189. package/templates/skills/unocss/references/transformer-compile-class.md +128 -0
  190. package/templates/skills/unocss/references/transformer-directives.md +157 -0
  191. package/templates/skills/unocss/references/transformer-variant-group.md +97 -0
  192. package/templates/skills/vite/GENERATION.md +5 -0
  193. package/templates/skills/vite/SKILL.md +50 -0
  194. package/templates/skills/vite/references/advanced-api.md +218 -0
  195. package/templates/skills/vite/references/advanced-backend.md +164 -0
  196. package/templates/skills/vite/references/advanced-performance.md +168 -0
  197. package/templates/skills/vite/references/advanced-plugin-api.md +258 -0
  198. package/templates/skills/vite/references/build-library.md +172 -0
  199. package/templates/skills/vite/references/build-production.md +220 -0
  200. package/templates/skills/vite/references/build-ssr.md +194 -0
  201. package/templates/skills/vite/references/core-cli.md +137 -0
  202. package/templates/skills/vite/references/core-config.md +176 -0
  203. package/templates/skills/vite/references/core-features.md +170 -0
  204. package/templates/skills/vite/references/core-plugins.md +154 -0
  205. package/templates/skills/vite/references/features-assets.md +138 -0
  206. package/templates/skills/vite/references/features-css.md +215 -0
  207. package/templates/skills/vite/references/features-dep-bundling.md +148 -0
  208. package/templates/skills/vite/references/features-env.md +161 -0
  209. package/templates/skills/vite/references/features-glob-import.md +161 -0
  210. package/templates/skills/vite/references/features-hmr.md +200 -0
  211. package/templates/skills/vite/references/features-workers.md +115 -0
  212. package/templates/skills/vitepress/GENERATION.md +5 -0
  213. package/templates/skills/vitepress/SKILL.md +65 -0
  214. package/templates/skills/vitepress/references/advanced-i18n.md +299 -0
  215. package/templates/skills/vitepress/references/advanced-ssr.md +228 -0
  216. package/templates/skills/vitepress/references/core-cli.md +119 -0
  217. package/templates/skills/vitepress/references/core-config.md +189 -0
  218. package/templates/skills/vitepress/references/core-markdown.md +277 -0
  219. package/templates/skills/vitepress/references/core-routing.md +169 -0
  220. package/templates/skills/vitepress/references/features-code-blocks.md +243 -0
  221. package/templates/skills/vitepress/references/features-data-loading.md +220 -0
  222. package/templates/skills/vitepress/references/features-dynamic-routes.md +235 -0
  223. package/templates/skills/vitepress/references/features-vue.md +224 -0
  224. package/templates/skills/vitepress/references/recipes-deploy.md +240 -0
  225. package/templates/skills/vitepress/references/theme-config.md +315 -0
  226. package/templates/skills/vitepress/references/theme-custom.md +269 -0
  227. package/templates/skills/vitepress/references/theme-customization.md +290 -0
  228. package/templates/skills/vitest/GENERATION.md +5 -0
  229. package/templates/skills/vitest/SKILL.md +52 -0
  230. package/templates/skills/vitest/references/advanced-environments.md +264 -0
  231. package/templates/skills/vitest/references/advanced-projects.md +300 -0
  232. package/templates/skills/vitest/references/advanced-type-testing.md +237 -0
  233. package/templates/skills/vitest/references/advanced-vi.md +249 -0
  234. package/templates/skills/vitest/references/core-cli.md +166 -0
  235. package/templates/skills/vitest/references/core-config.md +174 -0
  236. package/templates/skills/vitest/references/core-describe.md +193 -0
  237. package/templates/skills/vitest/references/core-expect.md +219 -0
  238. package/templates/skills/vitest/references/core-hooks.md +244 -0
  239. package/templates/skills/vitest/references/core-test-api.md +233 -0
  240. package/templates/skills/vitest/references/features-concurrency.md +250 -0
  241. package/templates/skills/vitest/references/features-context.md +238 -0
  242. package/templates/skills/vitest/references/features-coverage.md +207 -0
  243. package/templates/skills/vitest/references/features-filtering.md +211 -0
  244. package/templates/skills/vitest/references/features-mocking.md +265 -0
  245. package/templates/skills/vitest/references/features-snapshots.md +207 -0
  246. package/templates/skills/vue/GENERATION.md +5 -0
  247. package/templates/skills/vue/SKILL.md +63 -0
  248. package/templates/skills/vue/references/advanced-async-suspense.md +246 -0
  249. package/templates/skills/vue/references/advanced-provide-inject.md +174 -0
  250. package/templates/skills/vue/references/components-emits.md +139 -0
  251. package/templates/skills/vue/references/components-lifecycle.md +192 -0
  252. package/templates/skills/vue/references/components-props.md +211 -0
  253. package/templates/skills/vue/references/components-slots.md +201 -0
  254. package/templates/skills/vue/references/components-v-model.md +183 -0
  255. package/templates/skills/vue/references/core-reactivity.md +289 -0
  256. package/templates/skills/vue/references/features-composables.md +262 -0
  257. package/templates/skills/vue/references/features-directives.md +224 -0
  258. package/templates/skills/vue/references/features-script-setup.md +247 -0
  259. package/templates/skills/vue/references/features-template-refs.md +212 -0
  260. package/templates/skills/vue/references/features-typescript.md +274 -0
  261. package/templates/skills/vue-best-practices/LICENSE.md +21 -0
  262. package/templates/skills/vue-best-practices/SKILL.md +38 -0
  263. package/templates/skills/vue-best-practices/SYNC.md +5 -0
  264. package/templates/skills/vue-best-practices/rules/codeactions-save-performance.md +79 -0
  265. package/templates/skills/vue-best-practices/rules/data-attributes-config.md +74 -0
  266. package/templates/skills/vue-best-practices/rules/deep-watch-numeric.md +97 -0
  267. package/templates/skills/vue-best-practices/rules/define-model-update-event.md +79 -0
  268. package/templates/skills/vue-best-practices/rules/duplicate-plugin-detection.md +102 -0
  269. package/templates/skills/vue-best-practices/rules/extract-component-props.md +57 -0
  270. package/templates/skills/vue-best-practices/rules/fallthrough-attributes.md +63 -0
  271. package/templates/skills/vue-best-practices/rules/hmr-vue-ssr.md +124 -0
  272. package/templates/skills/vue-best-practices/rules/module-resolution-bundler.md +81 -0
  273. package/templates/skills/vue-best-practices/rules/pinia-store-mocking.md +159 -0
  274. package/templates/skills/vue-best-practices/rules/script-setup-jsdoc.md +85 -0
  275. package/templates/skills/vue-best-practices/rules/strict-css-modules.md +68 -0
  276. package/templates/skills/vue-best-practices/rules/volar-3-breaking-changes.md +65 -0
  277. package/templates/skills/vue-best-practices/rules/vue-directive-comments.md +73 -0
  278. package/templates/skills/vue-best-practices/rules/vue-router-typed-params.md +81 -0
  279. package/templates/skills/vue-best-practices/rules/vue-tsc-strict-templates.md +69 -0
  280. package/templates/skills/vue-best-practices/rules/with-defaults-union-types.md +102 -0
  281. package/templates/skills/vueuse-functions/LICENSE.md +21 -0
  282. package/templates/skills/vueuse-functions/SKILL.md +418 -0
  283. package/templates/skills/vueuse-functions/SYNC.md +5 -0
  284. package/templates/skills/vueuse-functions/references/computedAsync.md +159 -0
  285. package/templates/skills/vueuse-functions/references/computedEager.md +62 -0
  286. package/templates/skills/vueuse-functions/references/computedInject.md +86 -0
  287. package/templates/skills/vueuse-functions/references/computedWithControl.md +100 -0
  288. package/templates/skills/vueuse-functions/references/createEventHook.md +86 -0
  289. package/templates/skills/vueuse-functions/references/createGenericProjection.md +25 -0
  290. package/templates/skills/vueuse-functions/references/createGlobalState.md +95 -0
  291. package/templates/skills/vueuse-functions/references/createInjectionState.md +215 -0
  292. package/templates/skills/vueuse-functions/references/createProjection.md +31 -0
  293. package/templates/skills/vueuse-functions/references/createRef.md +54 -0
  294. package/templates/skills/vueuse-functions/references/createReusableTemplate.md +357 -0
  295. package/templates/skills/vueuse-functions/references/createSharedComposable.md +42 -0
  296. package/templates/skills/vueuse-functions/references/createTemplatePromise.md +259 -0
  297. package/templates/skills/vueuse-functions/references/createUnrefFn.md +51 -0
  298. package/templates/skills/vueuse-functions/references/extendRef.md +76 -0
  299. package/templates/skills/vueuse-functions/references/from.md +48 -0
  300. package/templates/skills/vueuse-functions/references/get.md +30 -0
  301. package/templates/skills/vueuse-functions/references/injectLocal.md +35 -0
  302. package/templates/skills/vueuse-functions/references/isDefined.md +31 -0
  303. package/templates/skills/vueuse-functions/references/logicAnd.md +40 -0
  304. package/templates/skills/vueuse-functions/references/logicNot.md +36 -0
  305. package/templates/skills/vueuse-functions/references/logicOr.md +40 -0
  306. package/templates/skills/vueuse-functions/references/makeDestructurable.md +41 -0
  307. package/templates/skills/vueuse-functions/references/onClickOutside.md +187 -0
  308. package/templates/skills/vueuse-functions/references/onElementRemoval.md +64 -0
  309. package/templates/skills/vueuse-functions/references/onKeyStroke.md +176 -0
  310. package/templates/skills/vueuse-functions/references/onLongPress.md +170 -0
  311. package/templates/skills/vueuse-functions/references/onStartTyping.md +43 -0
  312. package/templates/skills/vueuse-functions/references/provideLocal.md +37 -0
  313. package/templates/skills/vueuse-functions/references/reactify.md +144 -0
  314. package/templates/skills/vueuse-functions/references/reactifyObject.md +61 -0
  315. package/templates/skills/vueuse-functions/references/reactiveComputed.md +34 -0
  316. package/templates/skills/vueuse-functions/references/reactiveOmit.md +86 -0
  317. package/templates/skills/vueuse-functions/references/reactivePick.md +106 -0
  318. package/templates/skills/vueuse-functions/references/refAutoReset.md +44 -0
  319. package/templates/skills/vueuse-functions/references/refDebounced.md +81 -0
  320. package/templates/skills/vueuse-functions/references/refDefault.md +36 -0
  321. package/templates/skills/vueuse-functions/references/refManualReset.md +44 -0
  322. package/templates/skills/vueuse-functions/references/refThrottled.md +99 -0
  323. package/templates/skills/vueuse-functions/references/refWithControl.md +146 -0
  324. package/templates/skills/vueuse-functions/references/set.md +30 -0
  325. package/templates/skills/vueuse-functions/references/syncRef.md +195 -0
  326. package/templates/skills/vueuse-functions/references/syncRefs.md +128 -0
  327. package/templates/skills/vueuse-functions/references/templateRef.md +86 -0
  328. package/templates/skills/vueuse-functions/references/toObserver.md +38 -0
  329. package/templates/skills/vueuse-functions/references/toReactive.md +41 -0
  330. package/templates/skills/vueuse-functions/references/toRef.md +75 -0
  331. package/templates/skills/vueuse-functions/references/toRefs.md +81 -0
  332. package/templates/skills/vueuse-functions/references/tryOnBeforeMount.md +34 -0
  333. package/templates/skills/vueuse-functions/references/tryOnBeforeUnmount.md +32 -0
  334. package/templates/skills/vueuse-functions/references/tryOnMounted.md +34 -0
  335. package/templates/skills/vueuse-functions/references/tryOnScopeDispose.md +31 -0
  336. package/templates/skills/vueuse-functions/references/tryOnUnmounted.md +32 -0
  337. package/templates/skills/vueuse-functions/references/unrefElement.md +54 -0
  338. package/templates/skills/vueuse-functions/references/until.md +165 -0
  339. package/templates/skills/vueuse-functions/references/useAbs.md +31 -0
  340. package/templates/skills/vueuse-functions/references/useActiveElement.md +65 -0
  341. package/templates/skills/vueuse-functions/references/useAnimate.md +140 -0
  342. package/templates/skills/vueuse-functions/references/useArrayDifference.md +84 -0
  343. package/templates/skills/vueuse-functions/references/useArrayEvery.md +59 -0
  344. package/templates/skills/vueuse-functions/references/useArrayFilter.md +63 -0
  345. package/templates/skills/vueuse-functions/references/useArrayFind.md +50 -0
  346. package/templates/skills/vueuse-functions/references/useArrayFindIndex.md +59 -0
  347. package/templates/skills/vueuse-functions/references/useArrayFindLast.md +52 -0
  348. package/templates/skills/vueuse-functions/references/useArrayIncludes.md +63 -0
  349. package/templates/skills/vueuse-functions/references/useArrayJoin.md +74 -0
  350. package/templates/skills/vueuse-functions/references/useArrayMap.md +59 -0
  351. package/templates/skills/vueuse-functions/references/useArrayReduce.md +81 -0
  352. package/templates/skills/vueuse-functions/references/useArraySome.md +59 -0
  353. package/templates/skills/vueuse-functions/references/useArrayUnique.md +76 -0
  354. package/templates/skills/vueuse-functions/references/useAsyncQueue.md +87 -0
  355. package/templates/skills/vueuse-functions/references/useAsyncState.md +140 -0
  356. package/templates/skills/vueuse-functions/references/useAsyncValidator.md +70 -0
  357. package/templates/skills/vueuse-functions/references/useAuth.md +114 -0
  358. package/templates/skills/vueuse-functions/references/useAverage.md +36 -0
  359. package/templates/skills/vueuse-functions/references/useAxios.md +292 -0
  360. package/templates/skills/vueuse-functions/references/useBase64.md +88 -0
  361. package/templates/skills/vueuse-functions/references/useBattery.md +67 -0
  362. package/templates/skills/vueuse-functions/references/useBluetooth.md +161 -0
  363. package/templates/skills/vueuse-functions/references/useBreakpoints.md +128 -0
  364. package/templates/skills/vueuse-functions/references/useBroadcastChannel.md +74 -0
  365. package/templates/skills/vueuse-functions/references/useBrowserLocation.md +83 -0
  366. package/templates/skills/vueuse-functions/references/useCached.md +53 -0
  367. package/templates/skills/vueuse-functions/references/useCeil.md +31 -0
  368. package/templates/skills/vueuse-functions/references/useChangeCase.md +79 -0
  369. package/templates/skills/vueuse-functions/references/useClamp.md +51 -0
  370. package/templates/skills/vueuse-functions/references/useClipboard.md +99 -0
  371. package/templates/skills/vueuse-functions/references/useClipboardItems.md +93 -0
  372. package/templates/skills/vueuse-functions/references/useCloned.md +91 -0
  373. package/templates/skills/vueuse-functions/references/useColorMode.md +171 -0
  374. package/templates/skills/vueuse-functions/references/useConfirmDialog.md +159 -0
  375. package/templates/skills/vueuse-functions/references/useCookies.md +162 -0
  376. package/templates/skills/vueuse-functions/references/useCountdown.md +102 -0
  377. package/templates/skills/vueuse-functions/references/useCounter.md +86 -0
  378. package/templates/skills/vueuse-functions/references/useCssVar.md +50 -0
  379. package/templates/skills/vueuse-functions/references/useCurrentElement.md +61 -0
  380. package/templates/skills/vueuse-functions/references/useCycleList.md +75 -0
  381. package/templates/skills/vueuse-functions/references/useDark.md +142 -0
  382. package/templates/skills/vueuse-functions/references/useDateFormat.md +145 -0
  383. package/templates/skills/vueuse-functions/references/useDebounceFn.md +100 -0
  384. package/templates/skills/vueuse-functions/references/useDebouncedRefHistory.md +40 -0
  385. package/templates/skills/vueuse-functions/references/useDeviceMotion.md +87 -0
  386. package/templates/skills/vueuse-functions/references/useDeviceOrientation.md +62 -0
  387. package/templates/skills/vueuse-functions/references/useDevicePixelRatio.md +44 -0
  388. package/templates/skills/vueuse-functions/references/useDevicesList.md +90 -0
  389. package/templates/skills/vueuse-functions/references/useDisplayMedia.md +71 -0
  390. package/templates/skills/vueuse-functions/references/useDocumentVisibility.md +45 -0
  391. package/templates/skills/vueuse-functions/references/useDraggable.md +210 -0
  392. package/templates/skills/vueuse-functions/references/useDrauu.md +65 -0
  393. package/templates/skills/vueuse-functions/references/useDropZone.md +83 -0
  394. package/templates/skills/vueuse-functions/references/useElementBounding.md +131 -0
  395. package/templates/skills/vueuse-functions/references/useElementByPoint.md +45 -0
  396. package/templates/skills/vueuse-functions/references/useElementHover.md +79 -0
  397. package/templates/skills/vueuse-functions/references/useElementSize.md +78 -0
  398. package/templates/skills/vueuse-functions/references/useElementVisibility.md +126 -0
  399. package/templates/skills/vueuse-functions/references/useEventBus.md +101 -0
  400. package/templates/skills/vueuse-functions/references/useEventListener.md +184 -0
  401. package/templates/skills/vueuse-functions/references/useEventSource.md +204 -0
  402. package/templates/skills/vueuse-functions/references/useExtractedObservable.md +185 -0
  403. package/templates/skills/vueuse-functions/references/useEyeDropper.md +71 -0
  404. package/templates/skills/vueuse-functions/references/useFavicon.md +67 -0
  405. package/templates/skills/vueuse-functions/references/useFetch.md +546 -0
  406. package/templates/skills/vueuse-functions/references/useFileDialog.md +91 -0
  407. package/templates/skills/vueuse-functions/references/useFileSystemAccess.md +162 -0
  408. package/templates/skills/vueuse-functions/references/useFirestore.md +104 -0
  409. package/templates/skills/vueuse-functions/references/useFloor.md +31 -0
  410. package/templates/skills/vueuse-functions/references/useFocus.md +99 -0
  411. package/templates/skills/vueuse-functions/references/useFocusTrap.md +245 -0
  412. package/templates/skills/vueuse-functions/references/useFocusWithin.md +57 -0
  413. package/templates/skills/vueuse-functions/references/useFps.md +28 -0
  414. package/templates/skills/vueuse-functions/references/useFullscreen.md +75 -0
  415. package/templates/skills/vueuse-functions/references/useFuse.md +107 -0
  416. package/templates/skills/vueuse-functions/references/useGamepad.md +223 -0
  417. package/templates/skills/vueuse-functions/references/useGeolocation.md +86 -0
  418. package/templates/skills/vueuse-functions/references/useIDBKeyval.md +93 -0
  419. package/templates/skills/vueuse-functions/references/useIdle.md +89 -0
  420. package/templates/skills/vueuse-functions/references/useImage.md +86 -0
  421. package/templates/skills/vueuse-functions/references/useInfiniteScroll.md +157 -0
  422. package/templates/skills/vueuse-functions/references/useIntersectionObserver.md +118 -0
  423. package/templates/skills/vueuse-functions/references/useInterval.md +69 -0
  424. package/templates/skills/vueuse-functions/references/useIntervalFn.md +50 -0
  425. package/templates/skills/vueuse-functions/references/useIpcRenderer.md +118 -0
  426. package/templates/skills/vueuse-functions/references/useIpcRendererInvoke.md +58 -0
  427. package/templates/skills/vueuse-functions/references/useIpcRendererOn.md +52 -0
  428. package/templates/skills/vueuse-functions/references/useJwt.md +57 -0
  429. package/templates/skills/vueuse-functions/references/useKeyModifier.md +87 -0
  430. package/templates/skills/vueuse-functions/references/useLastChanged.md +63 -0
  431. package/templates/skills/vueuse-functions/references/useLocalStorage.md +41 -0
  432. package/templates/skills/vueuse-functions/references/useMagicKeys.md +217 -0
  433. package/templates/skills/vueuse-functions/references/useManualRefHistory.md +204 -0
  434. package/templates/skills/vueuse-functions/references/useMath.md +47 -0
  435. package/templates/skills/vueuse-functions/references/useMax.md +36 -0
  436. package/templates/skills/vueuse-functions/references/useMediaControls.md +571 -0
  437. package/templates/skills/vueuse-functions/references/useMediaQuery.md +53 -0
  438. package/templates/skills/vueuse-functions/references/useMemoize.md +175 -0
  439. package/templates/skills/vueuse-functions/references/useMemory.md +56 -0
  440. package/templates/skills/vueuse-functions/references/useMin.md +36 -0
  441. package/templates/skills/vueuse-functions/references/useMounted.md +38 -0
  442. package/templates/skills/vueuse-functions/references/useMouse.md +114 -0
  443. package/templates/skills/vueuse-functions/references/useMouseInElement.md +123 -0
  444. package/templates/skills/vueuse-functions/references/useMousePressed.md +112 -0
  445. package/templates/skills/vueuse-functions/references/useMutationObserver.md +62 -0
  446. package/templates/skills/vueuse-functions/references/useNProgress.md +78 -0
  447. package/templates/skills/vueuse-functions/references/useNavigatorLanguage.md +57 -0
  448. package/templates/skills/vueuse-functions/references/useNetwork.md +106 -0
  449. package/templates/skills/vueuse-functions/references/useNow.md +75 -0
  450. package/templates/skills/vueuse-functions/references/useObjectUrl.md +55 -0
  451. package/templates/skills/vueuse-functions/references/useObservable.md +67 -0
  452. package/templates/skills/vueuse-functions/references/useOffsetPagination.md +199 -0
  453. package/templates/skills/vueuse-functions/references/useOnline.md +41 -0
  454. package/templates/skills/vueuse-functions/references/usePageLeave.md +42 -0
  455. package/templates/skills/vueuse-functions/references/useParallax.md +58 -0
  456. package/templates/skills/vueuse-functions/references/useParentElement.md +54 -0
  457. package/templates/skills/vueuse-functions/references/usePerformanceObserver.md +48 -0
  458. package/templates/skills/vueuse-functions/references/usePermission.md +78 -0
  459. package/templates/skills/vueuse-functions/references/usePointer.md +89 -0
  460. package/templates/skills/vueuse-functions/references/usePointerLock.md +60 -0
  461. package/templates/skills/vueuse-functions/references/usePointerSwipe.md +80 -0
  462. package/templates/skills/vueuse-functions/references/usePrecision.md +49 -0
  463. package/templates/skills/vueuse-functions/references/usePreferredColorScheme.md +42 -0
  464. package/templates/skills/vueuse-functions/references/usePreferredContrast.md +42 -0
  465. package/templates/skills/vueuse-functions/references/usePreferredDark.md +41 -0
  466. package/templates/skills/vueuse-functions/references/usePreferredLanguages.md +41 -0
  467. package/templates/skills/vueuse-functions/references/usePreferredReducedMotion.md +42 -0
  468. package/templates/skills/vueuse-functions/references/usePreferredReducedTransparency.md +42 -0
  469. package/templates/skills/vueuse-functions/references/usePrevious.md +40 -0
  470. package/templates/skills/vueuse-functions/references/useProjection.md +38 -0
  471. package/templates/skills/vueuse-functions/references/useQRCode.md +53 -0
  472. package/templates/skills/vueuse-functions/references/useRTDB.md +70 -0
  473. package/templates/skills/vueuse-functions/references/useRafFn.md +68 -0
  474. package/templates/skills/vueuse-functions/references/useRefHistory.md +292 -0
  475. package/templates/skills/vueuse-functions/references/useResizeObserver.md +110 -0
  476. package/templates/skills/vueuse-functions/references/useRound.md +31 -0
  477. package/templates/skills/vueuse-functions/references/useRouteHash.md +27 -0
  478. package/templates/skills/vueuse-functions/references/useRouteParams.md +38 -0
  479. package/templates/skills/vueuse-functions/references/useRouteQuery.md +38 -0
  480. package/templates/skills/vueuse-functions/references/useSSRWidth.md +47 -0
  481. package/templates/skills/vueuse-functions/references/useScreenOrientation.md +96 -0
  482. package/templates/skills/vueuse-functions/references/useScreenSafeArea.md +60 -0
  483. package/templates/skills/vueuse-functions/references/useScriptTag.md +116 -0
  484. package/templates/skills/vueuse-functions/references/useScroll.md +238 -0
  485. package/templates/skills/vueuse-functions/references/useScrollLock.md +66 -0
  486. package/templates/skills/vueuse-functions/references/useSessionStorage.md +41 -0
  487. package/templates/skills/vueuse-functions/references/useShare.md +68 -0
  488. package/templates/skills/vueuse-functions/references/useSortable.md +177 -0
  489. package/templates/skills/vueuse-functions/references/useSorted.md +90 -0
  490. package/templates/skills/vueuse-functions/references/useSpeechRecognition.md +94 -0
  491. package/templates/skills/vueuse-functions/references/useSpeechSynthesis.md +105 -0
  492. package/templates/skills/vueuse-functions/references/useStepper.md +137 -0
  493. package/templates/skills/vueuse-functions/references/useStorage.md +219 -0
  494. package/templates/skills/vueuse-functions/references/useStorageAsync.md +134 -0
  495. package/templates/skills/vueuse-functions/references/useStyleTag.md +131 -0
  496. package/templates/skills/vueuse-functions/references/useSubject.md +52 -0
  497. package/templates/skills/vueuse-functions/references/useSubscription.md +33 -0
  498. package/templates/skills/vueuse-functions/references/useSum.md +36 -0
  499. package/templates/skills/vueuse-functions/references/useSupported.md +29 -0
  500. package/templates/skills/vueuse-functions/references/useSwipe.md +75 -0
  501. package/templates/skills/vueuse-functions/references/useTemplateRefsList.md +37 -0
  502. package/templates/skills/vueuse-functions/references/useTextDirection.md +75 -0
  503. package/templates/skills/vueuse-functions/references/useTextSelection.md +40 -0
  504. package/templates/skills/vueuse-functions/references/useTextareaAutosize.md +97 -0
  505. package/templates/skills/vueuse-functions/references/useThrottleFn.md +57 -0
  506. package/templates/skills/vueuse-functions/references/useThrottledRefHistory.md +47 -0
  507. package/templates/skills/vueuse-functions/references/useTimeAgo.md +152 -0
  508. package/templates/skills/vueuse-functions/references/useTimeAgoIntl.md +116 -0
  509. package/templates/skills/vueuse-functions/references/useTimeout.md +75 -0
  510. package/templates/skills/vueuse-functions/references/useTimeoutFn.md +51 -0
  511. package/templates/skills/vueuse-functions/references/useTimeoutPoll.md +47 -0
  512. package/templates/skills/vueuse-functions/references/useTimestamp.md +85 -0
  513. package/templates/skills/vueuse-functions/references/useTitle.md +113 -0
  514. package/templates/skills/vueuse-functions/references/useToNumber.md +54 -0
  515. package/templates/skills/vueuse-functions/references/useToString.md +34 -0
  516. package/templates/skills/vueuse-functions/references/useToggle.md +56 -0
  517. package/templates/skills/vueuse-functions/references/useTransition.md +265 -0
  518. package/templates/skills/vueuse-functions/references/useTrunc.md +33 -0
  519. package/templates/skills/vueuse-functions/references/useUrlSearchParams.md +121 -0
  520. package/templates/skills/vueuse-functions/references/useUserMedia.md +1138 -0
  521. package/templates/skills/vueuse-functions/references/useVModel.md +116 -0
  522. package/templates/skills/vueuse-functions/references/useVModels.md +67 -0
  523. package/templates/skills/vueuse-functions/references/useVibrate.md +83 -0
  524. package/templates/skills/vueuse-functions/references/useVirtualList.md +184 -0
  525. package/templates/skills/vueuse-functions/references/useWakeLock.md +50 -0
  526. package/templates/skills/vueuse-functions/references/useWebNotification.md +177 -0
  527. package/templates/skills/vueuse-functions/references/useWebSocket.md +268 -0
  528. package/templates/skills/vueuse-functions/references/useWebWorker.md +60 -0
  529. package/templates/skills/vueuse-functions/references/useWebWorkerFn.md +102 -0
  530. package/templates/skills/vueuse-functions/references/useWindowFocus.md +46 -0
  531. package/templates/skills/vueuse-functions/references/useWindowScroll.md +62 -0
  532. package/templates/skills/vueuse-functions/references/useWindowSize.md +76 -0
  533. package/templates/skills/vueuse-functions/references/useZoomFactor.md +53 -0
  534. package/templates/skills/vueuse-functions/references/useZoomLevel.md +53 -0
  535. package/templates/skills/vueuse-functions/references/watchArray.md +53 -0
  536. package/templates/skills/vueuse-functions/references/watchAtMost.md +54 -0
  537. package/templates/skills/vueuse-functions/references/watchDebounced.md +72 -0
  538. package/templates/skills/vueuse-functions/references/watchDeep.md +54 -0
  539. package/templates/skills/vueuse-functions/references/watchExtractedObservable.md +167 -0
  540. package/templates/skills/vueuse-functions/references/watchIgnorable.md +120 -0
  541. package/templates/skills/vueuse-functions/references/watchImmediate.md +44 -0
  542. package/templates/skills/vueuse-functions/references/watchOnce.md +41 -0
  543. package/templates/skills/vueuse-functions/references/watchPausable.md +86 -0
  544. package/templates/skills/vueuse-functions/references/watchThrottled.md +73 -0
  545. package/templates/skills/vueuse-functions/references/watchTriggerable.md +97 -0
  546. package/templates/skills/vueuse-functions/references/watchWithFilter.md +55 -0
  547. package/templates/skills/vueuse-functions/references/whenever.md +100 -0
  548. package/templates/skills/web-design-guidelines/SKILL.md +39 -0
  549. package/templates/skills/web-design-guidelines/SYNC.md +5 -0
@@ -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,152 @@
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
+ > extends FormatTimeAgoOptions<UnitNames> {
100
+ /**
101
+ * Expose more controls
102
+ *
103
+ * @default false
104
+ */
105
+ controls?: Controls
106
+ /**
107
+ * Intervals to update, set 0 to disable auto update
108
+ *
109
+ * @default 30_000
110
+ */
111
+ updateInterval?: number
112
+ }
113
+ export interface UseTimeAgoUnit<
114
+ Unit extends string = UseTimeAgoUnitNamesDefault,
115
+ > {
116
+ max: number
117
+ value: number
118
+ name: Unit
119
+ }
120
+ export type UseTimeAgoReturn<Controls extends boolean = false> =
121
+ Controls extends true
122
+ ? {
123
+ timeAgo: ComputedRef<string>
124
+ } & Pausable
125
+ : ComputedRef<string>
126
+ /**
127
+ * Reactive time ago formatter.
128
+ *
129
+ * @see https://vueuse.org/useTimeAgo
130
+ *
131
+ * @__NO_SIDE_EFFECTS__
132
+ */
133
+ export declare function useTimeAgo<
134
+ UnitNames extends string = UseTimeAgoUnitNamesDefault,
135
+ >(
136
+ time: MaybeRefOrGetter<Date | number | string>,
137
+ options?: UseTimeAgoOptions<false, UnitNames>,
138
+ ): UseTimeAgoReturn<false>
139
+ export declare function useTimeAgo<
140
+ UnitNames extends string = UseTimeAgoUnitNamesDefault,
141
+ >(
142
+ time: MaybeRefOrGetter<Date | number | string>,
143
+ options: UseTimeAgoOptions<true, UnitNames>,
144
+ ): UseTimeAgoReturn<true>
145
+ export declare function formatTimeAgo<
146
+ UnitNames extends string = UseTimeAgoUnitNamesDefault,
147
+ >(
148
+ from: Date,
149
+ options?: FormatTimeAgoOptions<UnitNames>,
150
+ now?: Date | number,
151
+ ): string
152
+ ```
@@ -0,0 +1,116 @@
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 {
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
+ * @default 30_000
77
+ */
78
+ updateInterval?: number
79
+ }
80
+ type UseTimeAgoReturn<Controls extends boolean = false> = Controls extends true
81
+ ? {
82
+ timeAgoIntl: ComputedRef<string>
83
+ parts: ComputedRef<Intl.RelativeTimeFormatPart[]>
84
+ } & Pausable
85
+ : ComputedRef<string>
86
+ export interface TimeAgoUnit {
87
+ name: Intl.RelativeTimeFormatUnit
88
+ ms: number
89
+ }
90
+ /**
91
+ * A reactive wrapper for `Intl.RelativeTimeFormat`.
92
+ */
93
+ export declare function useTimeAgoIntl(
94
+ time: MaybeRefOrGetter<Date | number | string>,
95
+ options?: UseTimeAgoIntlOptions<false>,
96
+ ): UseTimeAgoReturn<false>
97
+ export declare function useTimeAgoIntl(
98
+ time: MaybeRefOrGetter<Date | number | string>,
99
+ options: UseTimeAgoIntlOptions<true>,
100
+ ): UseTimeAgoReturn<true>
101
+ /**
102
+ * Non-reactive version of useTimeAgoIntl
103
+ */
104
+ export declare function formatTimeAgoIntl(
105
+ from: Date,
106
+ options?: FormatTimeAgoIntlOptions,
107
+ now?: Date | number,
108
+ ): string
109
+ /**
110
+ * Format parts into a string
111
+ */
112
+ export declare function formatTimeAgoIntlParts(
113
+ parts: Intl.RelativeTimeFormatPart[],
114
+ options?: FormatTimeAgoIntlOptions,
115
+ ): string
116
+ ```
@@ -0,0 +1,75 @@
1
+ ---
2
+ category: Animation
3
+ ---
4
+
5
+ # useTimeout
6
+
7
+ Update value after a given time with controls.
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useTimeout } from '@vueuse/core'
13
+
14
+ const ready = useTimeout(1000)
15
+ ```
16
+
17
+ ```ts
18
+ import { useTimeout } from '@vueuse/core'
19
+ // ---cut---
20
+ const { ready, start, stop } = useTimeout(1000, { controls: true })
21
+ ```
22
+
23
+ ```ts
24
+ import { promiseTimeout } from '@vueuse/core'
25
+
26
+ console.log(ready.value) // false
27
+
28
+ await promiseTimeout(1200)
29
+
30
+ console.log(ready.value) // true
31
+ ```
32
+
33
+ ## Type Declarations
34
+
35
+ ```ts
36
+ export interface UseTimeoutOptions<Controls extends boolean>
37
+ extends UseTimeoutFnOptions {
38
+ /**
39
+ * Expose more controls
40
+ *
41
+ * @default false
42
+ */
43
+ controls?: Controls
44
+ /**
45
+ * Callback on timeout
46
+ */
47
+ callback?: Fn
48
+ }
49
+ export type UseTimeoutReturn =
50
+ | ComputedRef<boolean>
51
+ | ({
52
+ readonly ready: ComputedRef<boolean>
53
+ } & Stoppable)
54
+ /**
55
+ * @deprecated use UseTimeoutReturn instead
56
+ */
57
+ export type UseTimoutReturn = UseTimeoutReturn
58
+ /**
59
+ * Update value after a given time with controls.
60
+ *
61
+ * @see {@link https://vueuse.org/useTimeout}
62
+ * @param interval
63
+ * @param options
64
+ */
65
+ export declare function useTimeout(
66
+ interval?: MaybeRefOrGetter<number>,
67
+ options?: UseTimeoutOptions<false>,
68
+ ): ComputedRef<boolean>
69
+ export declare function useTimeout(
70
+ interval: MaybeRefOrGetter<number>,
71
+ options: UseTimeoutOptions<true>,
72
+ ): {
73
+ ready: ComputedRef<boolean>
74
+ } & Stoppable
75
+ ```
@@ -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
+ ```
@@ -0,0 +1,85 @@
1
+ ---
2
+ category: Animation
3
+ ---
4
+
5
+ # useTimestamp
6
+
7
+ Reactive current timestamp
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useTimestamp } from '@vueuse/core'
13
+
14
+ const timestamp = useTimestamp({ offset: 0 })
15
+ ```
16
+
17
+ ```ts
18
+ import { useTimestamp } from '@vueuse/core'
19
+ // ---cut---
20
+ const { timestamp, pause, resume } = useTimestamp({ controls: true })
21
+ ```
22
+
23
+ ## Component Usage
24
+
25
+ ```vue
26
+ <template>
27
+ <UseTimestamp v-slot="{ timestamp, pause, resume }">
28
+ Current Time: {{ timestamp }}
29
+ <button @click="pause()">
30
+ Pause
31
+ </button>
32
+ <button @click="resume()">
33
+ Resume
34
+ </button>
35
+ </UseTimestamp>
36
+ </template>
37
+ ```
38
+
39
+ ## Type Declarations
40
+
41
+ ```ts
42
+ export interface UseTimestampOptions<Controls extends boolean> {
43
+ /**
44
+ * Expose more controls
45
+ *
46
+ * @default false
47
+ */
48
+ controls?: Controls
49
+ /**
50
+ * Offset value adding to the value
51
+ *
52
+ * @default 0
53
+ */
54
+ offset?: number
55
+ /**
56
+ * Update the timestamp immediately
57
+ *
58
+ * @default true
59
+ */
60
+ immediate?: boolean
61
+ /**
62
+ * Update interval, or use requestAnimationFrame
63
+ *
64
+ * @default requestAnimationFrame
65
+ */
66
+ interval?: "requestAnimationFrame" | number
67
+ /**
68
+ * Callback on each update
69
+ */
70
+ callback?: (timestamp: number) => void
71
+ }
72
+ /**
73
+ * Reactive current timestamp.
74
+ *
75
+ * @see https://vueuse.org/useTimestamp
76
+ * @param options
77
+ */
78
+ export declare function useTimestamp(
79
+ options?: UseTimestampOptions<false>,
80
+ ): ShallowRef<number>
81
+ export declare function useTimestamp(options: UseTimestampOptions<true>): {
82
+ timestamp: ShallowRef<number>
83
+ } & Pausable
84
+ export type UseTimestampReturn = ReturnType<typeof useTimestamp>
85
+ ```
@@ -0,0 +1,113 @@
1
+ ---
2
+ category: Browser
3
+ ---
4
+
5
+ # useTitle
6
+
7
+ Reactive document title.
8
+
9
+ ::: warning
10
+ This composable isn't compatible with SSR.
11
+ :::
12
+
13
+ ## Usage
14
+
15
+ ```ts
16
+ import { useTitle } from '@vueuse/core'
17
+
18
+ const title = useTitle()
19
+ console.log(title.value) // print current title
20
+ title.value = 'Hello' // change current title
21
+ ```
22
+
23
+ Set initial title immediately:
24
+
25
+ ```ts
26
+ import { useTitle } from '@vueuse/core'
27
+ // ---cut---
28
+ const title = useTitle('New Title')
29
+ ```
30
+
31
+ Pass a `ref` and the title will be updated when the source ref changes:
32
+
33
+ ```ts
34
+ import { useTitle } from '@vueuse/core'
35
+ import { shallowRef } from 'vue'
36
+
37
+ const messages = shallowRef(0)
38
+
39
+ const title = computed(() => {
40
+ return !messages.value ? 'No message' : `${messages.value} new messages`
41
+ })
42
+
43
+ useTitle(title) // document title will match with the ref "title"
44
+ ```
45
+
46
+ Pass an optional template tag [Vue Meta Title Template](https://vue-meta.nuxtjs.org/guide/metainfo.html) to update the title to be injected into this template:
47
+
48
+ ```ts
49
+ import { useTitle } from '@vueuse/core'
50
+ // ---cut---
51
+ const title = useTitle('New Title', {
52
+ titleTemplate: '%s | My Awesome Website'
53
+ })
54
+ ```
55
+
56
+ ::: warning
57
+ `observe` is incompatible with `titleTemplate`.
58
+ :::
59
+
60
+ ## Type Declarations
61
+
62
+ ```ts
63
+ export type UseTitleOptionsBase = {
64
+ /**
65
+ * Restore the original title when unmounted
66
+ * @param originTitle original title
67
+ * @returns restored title
68
+ */
69
+ restoreOnUnmount?:
70
+ | false
71
+ | ((
72
+ originalTitle: string,
73
+ currentTitle: string,
74
+ ) => string | null | undefined)
75
+ } & (
76
+ | {
77
+ /**
78
+ * Observe `document.title` changes using MutationObserve
79
+ * Cannot be used together with `titleTemplate` option.
80
+ *
81
+ * @default false
82
+ */
83
+ observe?: boolean
84
+ }
85
+ | {
86
+ /**
87
+ * The template string to parse the title (e.g., '%s | My Website')
88
+ * Cannot be used together with `observe` option.
89
+ *
90
+ * @default '%s'
91
+ */
92
+ titleTemplate?: MaybeRef<string> | ((title: string) => string)
93
+ }
94
+ )
95
+ export type UseTitleOptions = ConfigurableDocument & UseTitleOptionsBase
96
+ /**
97
+ * Reactive document title.
98
+ *
99
+ * @see https://vueuse.org/useTitle
100
+ * @param newTitle
101
+ * @param options
102
+ * @description It's not SSR compatible. Your value will be applied only on client-side.
103
+ */
104
+ export declare function useTitle(
105
+ newTitle: ReadonlyRefOrGetter<string | null | undefined>,
106
+ options?: UseTitleOptions,
107
+ ): ComputedRef<string | null | undefined>
108
+ export declare function useTitle(
109
+ newTitle?: MaybeRef<string | null | undefined>,
110
+ options?: UseTitleOptions,
111
+ ): Ref<string | null | undefined>
112
+ export type UseTitleReturn = ReturnType<typeof useTitle>
113
+ ```