aico-cli 2.1.7 → 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 (547) hide show
  1. package/bin/cli/README.md +1 -1
  2. package/bin/cli/cli.js +8672 -3345
  3. package/bin/cli/package.json +1 -1
  4. package/bin/cli/sdk-tools.d.ts +41 -5
  5. package/dist/chunks/simple-config.mjs +1 -1
  6. package/package.json +2 -2
  7. package/templates/skills/antfu/SKILL.md +222 -0
  8. package/templates/skills/antfu/references/antfu-eslint-config.md +328 -0
  9. package/templates/skills/antfu/references/app-development.md +60 -0
  10. package/templates/skills/antfu/references/github-actions.md +68 -0
  11. package/templates/skills/antfu/references/gitignore.md +29 -0
  12. package/templates/skills/antfu/references/library-development.md +85 -0
  13. package/templates/skills/antfu/references/monorepo.md +126 -0
  14. package/templates/skills/antfu/references/vscode-extensions.md +34 -0
  15. package/templates/skills/nuxt/GENERATION.md +5 -0
  16. package/templates/skills/nuxt/SKILL.md +55 -0
  17. package/templates/skills/nuxt/references/advanced-hooks.md +289 -0
  18. package/templates/skills/nuxt/references/advanced-layers.md +299 -0
  19. package/templates/skills/nuxt/references/advanced-module-authoring.md +554 -0
  20. package/templates/skills/nuxt/references/best-practices-data-fetching.md +357 -0
  21. package/templates/skills/nuxt/references/best-practices-ssr.md +355 -0
  22. package/templates/skills/nuxt/references/core-cli.md +263 -0
  23. package/templates/skills/nuxt/references/core-config.md +162 -0
  24. package/templates/skills/nuxt/references/core-data-fetching.md +236 -0
  25. package/templates/skills/nuxt/references/core-deployment.md +224 -0
  26. package/templates/skills/nuxt/references/core-directory-structure.md +269 -0
  27. package/templates/skills/nuxt/references/core-modules.md +292 -0
  28. package/templates/skills/nuxt/references/core-routing.md +226 -0
  29. package/templates/skills/nuxt/references/features-components-autoimport.md +328 -0
  30. package/templates/skills/nuxt/references/features-components.md +264 -0
  31. package/templates/skills/nuxt/references/features-composables.md +276 -0
  32. package/templates/skills/nuxt/references/features-server.md +265 -0
  33. package/templates/skills/nuxt/references/features-state.md +194 -0
  34. package/templates/skills/nuxt/references/rendering-modes.md +237 -0
  35. package/templates/skills/pinia/GENERATION.md +5 -0
  36. package/templates/skills/pinia/SKILL.md +59 -0
  37. package/templates/skills/pinia/references/advanced-hmr.md +61 -0
  38. package/templates/skills/pinia/references/advanced-nuxt.md +119 -0
  39. package/templates/skills/pinia/references/advanced-ssr.md +121 -0
  40. package/templates/skills/pinia/references/best-practices-outside-component.md +115 -0
  41. package/templates/skills/pinia/references/best-practices-testing.md +212 -0
  42. package/templates/skills/pinia/references/core-stores.md +389 -0
  43. package/templates/skills/pinia/references/features-composables.md +114 -0
  44. package/templates/skills/pinia/references/features-composing-stores.md +134 -0
  45. package/templates/skills/pinia/references/features-plugins.md +203 -0
  46. package/templates/skills/pnpm/GENERATION.md +5 -0
  47. package/templates/skills/pnpm/SKILL.md +42 -0
  48. package/templates/skills/pnpm/references/best-practices-ci.md +285 -0
  49. package/templates/skills/pnpm/references/best-practices-migration.md +291 -0
  50. package/templates/skills/pnpm/references/best-practices-performance.md +284 -0
  51. package/templates/skills/pnpm/references/core-cli.md +229 -0
  52. package/templates/skills/pnpm/references/core-config.md +188 -0
  53. package/templates/skills/pnpm/references/core-store.md +179 -0
  54. package/templates/skills/pnpm/references/core-workspaces.md +205 -0
  55. package/templates/skills/pnpm/references/features-aliases.md +168 -0
  56. package/templates/skills/pnpm/references/features-catalogs.md +159 -0
  57. package/templates/skills/pnpm/references/features-hooks.md +233 -0
  58. package/templates/skills/pnpm/references/features-overrides.md +184 -0
  59. package/templates/skills/pnpm/references/features-patches.md +201 -0
  60. package/templates/skills/pnpm/references/features-peer-deps.md +250 -0
  61. package/templates/skills/slidev/LICENSE.md +21 -0
  62. package/templates/skills/slidev/README.md +61 -0
  63. package/templates/skills/slidev/SKILL.md +183 -0
  64. package/templates/skills/slidev/SYNC.md +5 -0
  65. package/templates/skills/slidev/references/animation-click-marker.md +37 -0
  66. package/templates/skills/slidev/references/animation-drawing.md +68 -0
  67. package/templates/skills/slidev/references/animation-rough-marker.md +53 -0
  68. package/templates/skills/slidev/references/api-slide-hooks.md +37 -0
  69. package/templates/skills/slidev/references/build-og-image.md +36 -0
  70. package/templates/skills/slidev/references/build-pdf.md +40 -0
  71. package/templates/skills/slidev/references/build-remote-assets.md +34 -0
  72. package/templates/skills/slidev/references/build-seo-meta.md +43 -0
  73. package/templates/skills/slidev/references/code-groups.md +64 -0
  74. package/templates/skills/slidev/references/code-import-snippet.md +55 -0
  75. package/templates/skills/slidev/references/code-line-highlighting.md +50 -0
  76. package/templates/skills/slidev/references/code-line-numbers.md +46 -0
  77. package/templates/skills/slidev/references/code-magic-move.md +57 -0
  78. package/templates/skills/slidev/references/code-max-height.md +37 -0
  79. package/templates/skills/slidev/references/code-twoslash.md +42 -0
  80. package/templates/skills/slidev/references/core-animations.md +196 -0
  81. package/templates/skills/slidev/references/core-cli.md +140 -0
  82. package/templates/skills/slidev/references/core-components.md +197 -0
  83. package/templates/skills/slidev/references/core-exporting.md +148 -0
  84. package/templates/skills/slidev/references/core-frontmatter.md +195 -0
  85. package/templates/skills/slidev/references/core-global-context.md +155 -0
  86. package/templates/skills/slidev/references/core-headmatter.md +188 -0
  87. package/templates/skills/slidev/references/core-hosting.md +152 -0
  88. package/templates/skills/slidev/references/core-layouts.md +286 -0
  89. package/templates/skills/slidev/references/core-syntax.md +155 -0
  90. package/templates/skills/slidev/references/diagram-latex.md +55 -0
  91. package/templates/skills/slidev/references/diagram-mermaid.md +44 -0
  92. package/templates/skills/slidev/references/diagram-plantuml.md +45 -0
  93. package/templates/skills/slidev/references/editor-monaco-run.md +44 -0
  94. package/templates/skills/slidev/references/editor-monaco-write.md +24 -0
  95. package/templates/skills/slidev/references/editor-monaco.md +50 -0
  96. package/templates/skills/slidev/references/editor-prettier.md +40 -0
  97. package/templates/skills/slidev/references/editor-side.md +23 -0
  98. package/templates/skills/slidev/references/editor-vscode.md +55 -0
  99. package/templates/skills/slidev/references/layout-canvas-size.md +25 -0
  100. package/templates/skills/slidev/references/layout-draggable.md +57 -0
  101. package/templates/skills/slidev/references/layout-global-layers.md +50 -0
  102. package/templates/skills/slidev/references/layout-slots.md +75 -0
  103. package/templates/skills/slidev/references/layout-transform.md +33 -0
  104. package/templates/skills/slidev/references/layout-zoom.md +39 -0
  105. package/templates/skills/slidev/references/presenter-notes-ruby.md +35 -0
  106. package/templates/skills/slidev/references/presenter-recording.md +30 -0
  107. package/templates/skills/slidev/references/presenter-remote.md +40 -0
  108. package/templates/skills/slidev/references/presenter-timer.md +34 -0
  109. package/templates/skills/slidev/references/style-direction.md +34 -0
  110. package/templates/skills/slidev/references/style-icons.md +46 -0
  111. package/templates/skills/slidev/references/style-scoped.md +50 -0
  112. package/templates/skills/slidev/references/syntax-block-frontmatter.md +39 -0
  113. package/templates/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
  114. package/templates/skills/slidev/references/syntax-importing-slides.md +60 -0
  115. package/templates/skills/slidev/references/syntax-mdc.md +51 -0
  116. package/templates/skills/slidev/references/tool-eject-theme.md +27 -0
  117. package/templates/skills/tech-whitepaper/SKILL.md +102 -15
  118. package/templates/skills/tsdown/GENERATION.md +5 -0
  119. package/templates/skills/tsdown/SKILL.md +59 -0
  120. package/templates/skills/tsdown/references/advanced-hooks.md +87 -0
  121. package/templates/skills/tsdown/references/advanced-plugins.md +97 -0
  122. package/templates/skills/tsdown/references/advanced-programmatic.md +78 -0
  123. package/templates/skills/tsdown/references/advanced-rolldown-options.md +114 -0
  124. package/templates/skills/tsdown/references/core-cli.md +116 -0
  125. package/templates/skills/tsdown/references/core-config.md +86 -0
  126. package/templates/skills/tsdown/references/core-entry.md +74 -0
  127. package/templates/skills/tsdown/references/features-optimization.md +83 -0
  128. package/templates/skills/tsdown/references/features-shims.md +92 -0
  129. package/templates/skills/tsdown/references/features-unbundle.md +63 -0
  130. package/templates/skills/tsdown/references/features-watch.md +60 -0
  131. package/templates/skills/tsdown/references/options-dependencies.md +88 -0
  132. package/templates/skills/tsdown/references/options-dts.md +104 -0
  133. package/templates/skills/tsdown/references/options-output.md +124 -0
  134. package/templates/skills/tsdown/references/options-package-exports.md +114 -0
  135. package/templates/skills/tsdown/references/recipes-frameworks.md +109 -0
  136. package/templates/skills/tsdown/references/recipes-migration.md +84 -0
  137. package/templates/skills/turborepo/LICENSE.md +7 -0
  138. package/templates/skills/turborepo/SKILL.md +914 -0
  139. package/templates/skills/turborepo/SYNC.md +5 -0
  140. package/templates/skills/turborepo/command/turborepo.md +70 -0
  141. package/templates/skills/turborepo/references/best-practices/README.md +241 -0
  142. package/templates/skills/turborepo/references/best-practices/dependencies.md +246 -0
  143. package/templates/skills/turborepo/references/best-practices/packages.md +335 -0
  144. package/templates/skills/turborepo/references/best-practices/structure.md +269 -0
  145. package/templates/skills/turborepo/references/boundaries/README.md +126 -0
  146. package/templates/skills/turborepo/references/caching/README.md +107 -0
  147. package/templates/skills/turborepo/references/caching/gotchas.md +169 -0
  148. package/templates/skills/turborepo/references/caching/remote-cache.md +127 -0
  149. package/templates/skills/turborepo/references/ci/README.md +79 -0
  150. package/templates/skills/turborepo/references/ci/github-actions.md +162 -0
  151. package/templates/skills/turborepo/references/ci/patterns.md +145 -0
  152. package/templates/skills/turborepo/references/ci/vercel.md +103 -0
  153. package/templates/skills/turborepo/references/cli/README.md +100 -0
  154. package/templates/skills/turborepo/references/cli/commands.md +297 -0
  155. package/templates/skills/turborepo/references/configuration/README.md +211 -0
  156. package/templates/skills/turborepo/references/configuration/global-options.md +195 -0
  157. package/templates/skills/turborepo/references/configuration/gotchas.md +348 -0
  158. package/templates/skills/turborepo/references/configuration/tasks.md +285 -0
  159. package/templates/skills/turborepo/references/environment/README.md +96 -0
  160. package/templates/skills/turborepo/references/environment/gotchas.md +145 -0
  161. package/templates/skills/turborepo/references/environment/modes.md +101 -0
  162. package/templates/skills/turborepo/references/filtering/README.md +148 -0
  163. package/templates/skills/turborepo/references/filtering/patterns.md +152 -0
  164. package/templates/skills/turborepo/references/watch/README.md +99 -0
  165. package/templates/skills/unocss/GENERATION.md +5 -0
  166. package/templates/skills/unocss/SKILL.md +64 -0
  167. package/templates/skills/unocss/references/core-config.md +187 -0
  168. package/templates/skills/unocss/references/core-extracting.md +137 -0
  169. package/templates/skills/unocss/references/core-layers.md +104 -0
  170. package/templates/skills/unocss/references/core-rules.md +166 -0
  171. package/templates/skills/unocss/references/core-safelist.md +105 -0
  172. package/templates/skills/unocss/references/core-shortcuts.md +89 -0
  173. package/templates/skills/unocss/references/core-theme.md +172 -0
  174. package/templates/skills/unocss/references/core-variants.md +175 -0
  175. package/templates/skills/unocss/references/integrations-nuxt.md +199 -0
  176. package/templates/skills/unocss/references/integrations-vite.md +283 -0
  177. package/templates/skills/unocss/references/preset-attributify.md +142 -0
  178. package/templates/skills/unocss/references/preset-icons.md +184 -0
  179. package/templates/skills/unocss/references/preset-mini.md +158 -0
  180. package/templates/skills/unocss/references/preset-rem-to-px.md +97 -0
  181. package/templates/skills/unocss/references/preset-tagify.md +134 -0
  182. package/templates/skills/unocss/references/preset-typography.md +95 -0
  183. package/templates/skills/unocss/references/preset-web-fonts.md +91 -0
  184. package/templates/skills/unocss/references/preset-wind3.md +194 -0
  185. package/templates/skills/unocss/references/preset-wind4.md +247 -0
  186. package/templates/skills/unocss/references/transformer-attributify-jsx.md +156 -0
  187. package/templates/skills/unocss/references/transformer-compile-class.md +128 -0
  188. package/templates/skills/unocss/references/transformer-directives.md +157 -0
  189. package/templates/skills/unocss/references/transformer-variant-group.md +97 -0
  190. package/templates/skills/vite/GENERATION.md +5 -0
  191. package/templates/skills/vite/SKILL.md +50 -0
  192. package/templates/skills/vite/references/advanced-api.md +218 -0
  193. package/templates/skills/vite/references/advanced-backend.md +164 -0
  194. package/templates/skills/vite/references/advanced-performance.md +168 -0
  195. package/templates/skills/vite/references/advanced-plugin-api.md +258 -0
  196. package/templates/skills/vite/references/build-library.md +172 -0
  197. package/templates/skills/vite/references/build-production.md +220 -0
  198. package/templates/skills/vite/references/build-ssr.md +194 -0
  199. package/templates/skills/vite/references/core-cli.md +137 -0
  200. package/templates/skills/vite/references/core-config.md +176 -0
  201. package/templates/skills/vite/references/core-features.md +170 -0
  202. package/templates/skills/vite/references/core-plugins.md +154 -0
  203. package/templates/skills/vite/references/features-assets.md +138 -0
  204. package/templates/skills/vite/references/features-css.md +215 -0
  205. package/templates/skills/vite/references/features-dep-bundling.md +148 -0
  206. package/templates/skills/vite/references/features-env.md +161 -0
  207. package/templates/skills/vite/references/features-glob-import.md +161 -0
  208. package/templates/skills/vite/references/features-hmr.md +200 -0
  209. package/templates/skills/vite/references/features-workers.md +115 -0
  210. package/templates/skills/vitepress/GENERATION.md +5 -0
  211. package/templates/skills/vitepress/SKILL.md +65 -0
  212. package/templates/skills/vitepress/references/advanced-i18n.md +299 -0
  213. package/templates/skills/vitepress/references/advanced-ssr.md +228 -0
  214. package/templates/skills/vitepress/references/core-cli.md +119 -0
  215. package/templates/skills/vitepress/references/core-config.md +189 -0
  216. package/templates/skills/vitepress/references/core-markdown.md +277 -0
  217. package/templates/skills/vitepress/references/core-routing.md +169 -0
  218. package/templates/skills/vitepress/references/features-code-blocks.md +243 -0
  219. package/templates/skills/vitepress/references/features-data-loading.md +220 -0
  220. package/templates/skills/vitepress/references/features-dynamic-routes.md +235 -0
  221. package/templates/skills/vitepress/references/features-vue.md +224 -0
  222. package/templates/skills/vitepress/references/recipes-deploy.md +240 -0
  223. package/templates/skills/vitepress/references/theme-config.md +315 -0
  224. package/templates/skills/vitepress/references/theme-custom.md +269 -0
  225. package/templates/skills/vitepress/references/theme-customization.md +290 -0
  226. package/templates/skills/vitest/GENERATION.md +5 -0
  227. package/templates/skills/vitest/SKILL.md +52 -0
  228. package/templates/skills/vitest/references/advanced-environments.md +264 -0
  229. package/templates/skills/vitest/references/advanced-projects.md +300 -0
  230. package/templates/skills/vitest/references/advanced-type-testing.md +237 -0
  231. package/templates/skills/vitest/references/advanced-vi.md +249 -0
  232. package/templates/skills/vitest/references/core-cli.md +166 -0
  233. package/templates/skills/vitest/references/core-config.md +174 -0
  234. package/templates/skills/vitest/references/core-describe.md +193 -0
  235. package/templates/skills/vitest/references/core-expect.md +219 -0
  236. package/templates/skills/vitest/references/core-hooks.md +244 -0
  237. package/templates/skills/vitest/references/core-test-api.md +233 -0
  238. package/templates/skills/vitest/references/features-concurrency.md +250 -0
  239. package/templates/skills/vitest/references/features-context.md +238 -0
  240. package/templates/skills/vitest/references/features-coverage.md +207 -0
  241. package/templates/skills/vitest/references/features-filtering.md +211 -0
  242. package/templates/skills/vitest/references/features-mocking.md +265 -0
  243. package/templates/skills/vitest/references/features-snapshots.md +207 -0
  244. package/templates/skills/vue/GENERATION.md +5 -0
  245. package/templates/skills/vue/SKILL.md +63 -0
  246. package/templates/skills/vue/references/advanced-async-suspense.md +246 -0
  247. package/templates/skills/vue/references/advanced-provide-inject.md +174 -0
  248. package/templates/skills/vue/references/components-emits.md +139 -0
  249. package/templates/skills/vue/references/components-lifecycle.md +192 -0
  250. package/templates/skills/vue/references/components-props.md +211 -0
  251. package/templates/skills/vue/references/components-slots.md +201 -0
  252. package/templates/skills/vue/references/components-v-model.md +183 -0
  253. package/templates/skills/vue/references/core-reactivity.md +289 -0
  254. package/templates/skills/vue/references/features-composables.md +262 -0
  255. package/templates/skills/vue/references/features-directives.md +224 -0
  256. package/templates/skills/vue/references/features-script-setup.md +247 -0
  257. package/templates/skills/vue/references/features-template-refs.md +212 -0
  258. package/templates/skills/vue/references/features-typescript.md +274 -0
  259. package/templates/skills/vue-best-practices/LICENSE.md +21 -0
  260. package/templates/skills/vue-best-practices/SKILL.md +38 -0
  261. package/templates/skills/vue-best-practices/SYNC.md +5 -0
  262. package/templates/skills/vue-best-practices/rules/codeactions-save-performance.md +79 -0
  263. package/templates/skills/vue-best-practices/rules/data-attributes-config.md +74 -0
  264. package/templates/skills/vue-best-practices/rules/deep-watch-numeric.md +97 -0
  265. package/templates/skills/vue-best-practices/rules/define-model-update-event.md +79 -0
  266. package/templates/skills/vue-best-practices/rules/duplicate-plugin-detection.md +102 -0
  267. package/templates/skills/vue-best-practices/rules/extract-component-props.md +57 -0
  268. package/templates/skills/vue-best-practices/rules/fallthrough-attributes.md +63 -0
  269. package/templates/skills/vue-best-practices/rules/hmr-vue-ssr.md +124 -0
  270. package/templates/skills/vue-best-practices/rules/module-resolution-bundler.md +81 -0
  271. package/templates/skills/vue-best-practices/rules/pinia-store-mocking.md +159 -0
  272. package/templates/skills/vue-best-practices/rules/script-setup-jsdoc.md +85 -0
  273. package/templates/skills/vue-best-practices/rules/strict-css-modules.md +68 -0
  274. package/templates/skills/vue-best-practices/rules/volar-3-breaking-changes.md +65 -0
  275. package/templates/skills/vue-best-practices/rules/vue-directive-comments.md +73 -0
  276. package/templates/skills/vue-best-practices/rules/vue-router-typed-params.md +81 -0
  277. package/templates/skills/vue-best-practices/rules/vue-tsc-strict-templates.md +69 -0
  278. package/templates/skills/vue-best-practices/rules/with-defaults-union-types.md +102 -0
  279. package/templates/skills/vueuse-functions/LICENSE.md +21 -0
  280. package/templates/skills/vueuse-functions/SKILL.md +418 -0
  281. package/templates/skills/vueuse-functions/SYNC.md +5 -0
  282. package/templates/skills/vueuse-functions/references/computedAsync.md +159 -0
  283. package/templates/skills/vueuse-functions/references/computedEager.md +62 -0
  284. package/templates/skills/vueuse-functions/references/computedInject.md +86 -0
  285. package/templates/skills/vueuse-functions/references/computedWithControl.md +100 -0
  286. package/templates/skills/vueuse-functions/references/createEventHook.md +86 -0
  287. package/templates/skills/vueuse-functions/references/createGenericProjection.md +25 -0
  288. package/templates/skills/vueuse-functions/references/createGlobalState.md +95 -0
  289. package/templates/skills/vueuse-functions/references/createInjectionState.md +215 -0
  290. package/templates/skills/vueuse-functions/references/createProjection.md +31 -0
  291. package/templates/skills/vueuse-functions/references/createRef.md +54 -0
  292. package/templates/skills/vueuse-functions/references/createReusableTemplate.md +357 -0
  293. package/templates/skills/vueuse-functions/references/createSharedComposable.md +42 -0
  294. package/templates/skills/vueuse-functions/references/createTemplatePromise.md +259 -0
  295. package/templates/skills/vueuse-functions/references/createUnrefFn.md +51 -0
  296. package/templates/skills/vueuse-functions/references/extendRef.md +76 -0
  297. package/templates/skills/vueuse-functions/references/from.md +48 -0
  298. package/templates/skills/vueuse-functions/references/get.md +30 -0
  299. package/templates/skills/vueuse-functions/references/injectLocal.md +35 -0
  300. package/templates/skills/vueuse-functions/references/isDefined.md +31 -0
  301. package/templates/skills/vueuse-functions/references/logicAnd.md +40 -0
  302. package/templates/skills/vueuse-functions/references/logicNot.md +36 -0
  303. package/templates/skills/vueuse-functions/references/logicOr.md +40 -0
  304. package/templates/skills/vueuse-functions/references/makeDestructurable.md +41 -0
  305. package/templates/skills/vueuse-functions/references/onClickOutside.md +187 -0
  306. package/templates/skills/vueuse-functions/references/onElementRemoval.md +64 -0
  307. package/templates/skills/vueuse-functions/references/onKeyStroke.md +176 -0
  308. package/templates/skills/vueuse-functions/references/onLongPress.md +170 -0
  309. package/templates/skills/vueuse-functions/references/onStartTyping.md +43 -0
  310. package/templates/skills/vueuse-functions/references/provideLocal.md +37 -0
  311. package/templates/skills/vueuse-functions/references/reactify.md +144 -0
  312. package/templates/skills/vueuse-functions/references/reactifyObject.md +61 -0
  313. package/templates/skills/vueuse-functions/references/reactiveComputed.md +34 -0
  314. package/templates/skills/vueuse-functions/references/reactiveOmit.md +86 -0
  315. package/templates/skills/vueuse-functions/references/reactivePick.md +106 -0
  316. package/templates/skills/vueuse-functions/references/refAutoReset.md +44 -0
  317. package/templates/skills/vueuse-functions/references/refDebounced.md +81 -0
  318. package/templates/skills/vueuse-functions/references/refDefault.md +36 -0
  319. package/templates/skills/vueuse-functions/references/refManualReset.md +44 -0
  320. package/templates/skills/vueuse-functions/references/refThrottled.md +99 -0
  321. package/templates/skills/vueuse-functions/references/refWithControl.md +146 -0
  322. package/templates/skills/vueuse-functions/references/set.md +30 -0
  323. package/templates/skills/vueuse-functions/references/syncRef.md +195 -0
  324. package/templates/skills/vueuse-functions/references/syncRefs.md +128 -0
  325. package/templates/skills/vueuse-functions/references/templateRef.md +86 -0
  326. package/templates/skills/vueuse-functions/references/toObserver.md +38 -0
  327. package/templates/skills/vueuse-functions/references/toReactive.md +41 -0
  328. package/templates/skills/vueuse-functions/references/toRef.md +75 -0
  329. package/templates/skills/vueuse-functions/references/toRefs.md +81 -0
  330. package/templates/skills/vueuse-functions/references/tryOnBeforeMount.md +34 -0
  331. package/templates/skills/vueuse-functions/references/tryOnBeforeUnmount.md +32 -0
  332. package/templates/skills/vueuse-functions/references/tryOnMounted.md +34 -0
  333. package/templates/skills/vueuse-functions/references/tryOnScopeDispose.md +31 -0
  334. package/templates/skills/vueuse-functions/references/tryOnUnmounted.md +32 -0
  335. package/templates/skills/vueuse-functions/references/unrefElement.md +54 -0
  336. package/templates/skills/vueuse-functions/references/until.md +165 -0
  337. package/templates/skills/vueuse-functions/references/useAbs.md +31 -0
  338. package/templates/skills/vueuse-functions/references/useActiveElement.md +65 -0
  339. package/templates/skills/vueuse-functions/references/useAnimate.md +140 -0
  340. package/templates/skills/vueuse-functions/references/useArrayDifference.md +84 -0
  341. package/templates/skills/vueuse-functions/references/useArrayEvery.md +59 -0
  342. package/templates/skills/vueuse-functions/references/useArrayFilter.md +63 -0
  343. package/templates/skills/vueuse-functions/references/useArrayFind.md +50 -0
  344. package/templates/skills/vueuse-functions/references/useArrayFindIndex.md +59 -0
  345. package/templates/skills/vueuse-functions/references/useArrayFindLast.md +52 -0
  346. package/templates/skills/vueuse-functions/references/useArrayIncludes.md +63 -0
  347. package/templates/skills/vueuse-functions/references/useArrayJoin.md +74 -0
  348. package/templates/skills/vueuse-functions/references/useArrayMap.md +59 -0
  349. package/templates/skills/vueuse-functions/references/useArrayReduce.md +81 -0
  350. package/templates/skills/vueuse-functions/references/useArraySome.md +59 -0
  351. package/templates/skills/vueuse-functions/references/useArrayUnique.md +76 -0
  352. package/templates/skills/vueuse-functions/references/useAsyncQueue.md +87 -0
  353. package/templates/skills/vueuse-functions/references/useAsyncState.md +140 -0
  354. package/templates/skills/vueuse-functions/references/useAsyncValidator.md +70 -0
  355. package/templates/skills/vueuse-functions/references/useAuth.md +114 -0
  356. package/templates/skills/vueuse-functions/references/useAverage.md +36 -0
  357. package/templates/skills/vueuse-functions/references/useAxios.md +292 -0
  358. package/templates/skills/vueuse-functions/references/useBase64.md +88 -0
  359. package/templates/skills/vueuse-functions/references/useBattery.md +67 -0
  360. package/templates/skills/vueuse-functions/references/useBluetooth.md +161 -0
  361. package/templates/skills/vueuse-functions/references/useBreakpoints.md +128 -0
  362. package/templates/skills/vueuse-functions/references/useBroadcastChannel.md +74 -0
  363. package/templates/skills/vueuse-functions/references/useBrowserLocation.md +83 -0
  364. package/templates/skills/vueuse-functions/references/useCached.md +53 -0
  365. package/templates/skills/vueuse-functions/references/useCeil.md +31 -0
  366. package/templates/skills/vueuse-functions/references/useChangeCase.md +79 -0
  367. package/templates/skills/vueuse-functions/references/useClamp.md +51 -0
  368. package/templates/skills/vueuse-functions/references/useClipboard.md +99 -0
  369. package/templates/skills/vueuse-functions/references/useClipboardItems.md +93 -0
  370. package/templates/skills/vueuse-functions/references/useCloned.md +91 -0
  371. package/templates/skills/vueuse-functions/references/useColorMode.md +171 -0
  372. package/templates/skills/vueuse-functions/references/useConfirmDialog.md +159 -0
  373. package/templates/skills/vueuse-functions/references/useCookies.md +162 -0
  374. package/templates/skills/vueuse-functions/references/useCountdown.md +102 -0
  375. package/templates/skills/vueuse-functions/references/useCounter.md +86 -0
  376. package/templates/skills/vueuse-functions/references/useCssVar.md +50 -0
  377. package/templates/skills/vueuse-functions/references/useCurrentElement.md +61 -0
  378. package/templates/skills/vueuse-functions/references/useCycleList.md +75 -0
  379. package/templates/skills/vueuse-functions/references/useDark.md +142 -0
  380. package/templates/skills/vueuse-functions/references/useDateFormat.md +145 -0
  381. package/templates/skills/vueuse-functions/references/useDebounceFn.md +100 -0
  382. package/templates/skills/vueuse-functions/references/useDebouncedRefHistory.md +40 -0
  383. package/templates/skills/vueuse-functions/references/useDeviceMotion.md +87 -0
  384. package/templates/skills/vueuse-functions/references/useDeviceOrientation.md +62 -0
  385. package/templates/skills/vueuse-functions/references/useDevicePixelRatio.md +44 -0
  386. package/templates/skills/vueuse-functions/references/useDevicesList.md +90 -0
  387. package/templates/skills/vueuse-functions/references/useDisplayMedia.md +71 -0
  388. package/templates/skills/vueuse-functions/references/useDocumentVisibility.md +45 -0
  389. package/templates/skills/vueuse-functions/references/useDraggable.md +210 -0
  390. package/templates/skills/vueuse-functions/references/useDrauu.md +65 -0
  391. package/templates/skills/vueuse-functions/references/useDropZone.md +83 -0
  392. package/templates/skills/vueuse-functions/references/useElementBounding.md +131 -0
  393. package/templates/skills/vueuse-functions/references/useElementByPoint.md +45 -0
  394. package/templates/skills/vueuse-functions/references/useElementHover.md +79 -0
  395. package/templates/skills/vueuse-functions/references/useElementSize.md +78 -0
  396. package/templates/skills/vueuse-functions/references/useElementVisibility.md +126 -0
  397. package/templates/skills/vueuse-functions/references/useEventBus.md +101 -0
  398. package/templates/skills/vueuse-functions/references/useEventListener.md +184 -0
  399. package/templates/skills/vueuse-functions/references/useEventSource.md +204 -0
  400. package/templates/skills/vueuse-functions/references/useExtractedObservable.md +185 -0
  401. package/templates/skills/vueuse-functions/references/useEyeDropper.md +71 -0
  402. package/templates/skills/vueuse-functions/references/useFavicon.md +67 -0
  403. package/templates/skills/vueuse-functions/references/useFetch.md +546 -0
  404. package/templates/skills/vueuse-functions/references/useFileDialog.md +91 -0
  405. package/templates/skills/vueuse-functions/references/useFileSystemAccess.md +162 -0
  406. package/templates/skills/vueuse-functions/references/useFirestore.md +104 -0
  407. package/templates/skills/vueuse-functions/references/useFloor.md +31 -0
  408. package/templates/skills/vueuse-functions/references/useFocus.md +99 -0
  409. package/templates/skills/vueuse-functions/references/useFocusTrap.md +245 -0
  410. package/templates/skills/vueuse-functions/references/useFocusWithin.md +57 -0
  411. package/templates/skills/vueuse-functions/references/useFps.md +28 -0
  412. package/templates/skills/vueuse-functions/references/useFullscreen.md +75 -0
  413. package/templates/skills/vueuse-functions/references/useFuse.md +107 -0
  414. package/templates/skills/vueuse-functions/references/useGamepad.md +223 -0
  415. package/templates/skills/vueuse-functions/references/useGeolocation.md +86 -0
  416. package/templates/skills/vueuse-functions/references/useIDBKeyval.md +93 -0
  417. package/templates/skills/vueuse-functions/references/useIdle.md +89 -0
  418. package/templates/skills/vueuse-functions/references/useImage.md +86 -0
  419. package/templates/skills/vueuse-functions/references/useInfiniteScroll.md +157 -0
  420. package/templates/skills/vueuse-functions/references/useIntersectionObserver.md +118 -0
  421. package/templates/skills/vueuse-functions/references/useInterval.md +69 -0
  422. package/templates/skills/vueuse-functions/references/useIntervalFn.md +50 -0
  423. package/templates/skills/vueuse-functions/references/useIpcRenderer.md +118 -0
  424. package/templates/skills/vueuse-functions/references/useIpcRendererInvoke.md +58 -0
  425. package/templates/skills/vueuse-functions/references/useIpcRendererOn.md +52 -0
  426. package/templates/skills/vueuse-functions/references/useJwt.md +57 -0
  427. package/templates/skills/vueuse-functions/references/useKeyModifier.md +87 -0
  428. package/templates/skills/vueuse-functions/references/useLastChanged.md +63 -0
  429. package/templates/skills/vueuse-functions/references/useLocalStorage.md +41 -0
  430. package/templates/skills/vueuse-functions/references/useMagicKeys.md +217 -0
  431. package/templates/skills/vueuse-functions/references/useManualRefHistory.md +204 -0
  432. package/templates/skills/vueuse-functions/references/useMath.md +47 -0
  433. package/templates/skills/vueuse-functions/references/useMax.md +36 -0
  434. package/templates/skills/vueuse-functions/references/useMediaControls.md +571 -0
  435. package/templates/skills/vueuse-functions/references/useMediaQuery.md +53 -0
  436. package/templates/skills/vueuse-functions/references/useMemoize.md +175 -0
  437. package/templates/skills/vueuse-functions/references/useMemory.md +56 -0
  438. package/templates/skills/vueuse-functions/references/useMin.md +36 -0
  439. package/templates/skills/vueuse-functions/references/useMounted.md +38 -0
  440. package/templates/skills/vueuse-functions/references/useMouse.md +114 -0
  441. package/templates/skills/vueuse-functions/references/useMouseInElement.md +123 -0
  442. package/templates/skills/vueuse-functions/references/useMousePressed.md +112 -0
  443. package/templates/skills/vueuse-functions/references/useMutationObserver.md +62 -0
  444. package/templates/skills/vueuse-functions/references/useNProgress.md +78 -0
  445. package/templates/skills/vueuse-functions/references/useNavigatorLanguage.md +57 -0
  446. package/templates/skills/vueuse-functions/references/useNetwork.md +106 -0
  447. package/templates/skills/vueuse-functions/references/useNow.md +75 -0
  448. package/templates/skills/vueuse-functions/references/useObjectUrl.md +55 -0
  449. package/templates/skills/vueuse-functions/references/useObservable.md +67 -0
  450. package/templates/skills/vueuse-functions/references/useOffsetPagination.md +199 -0
  451. package/templates/skills/vueuse-functions/references/useOnline.md +41 -0
  452. package/templates/skills/vueuse-functions/references/usePageLeave.md +42 -0
  453. package/templates/skills/vueuse-functions/references/useParallax.md +58 -0
  454. package/templates/skills/vueuse-functions/references/useParentElement.md +54 -0
  455. package/templates/skills/vueuse-functions/references/usePerformanceObserver.md +48 -0
  456. package/templates/skills/vueuse-functions/references/usePermission.md +78 -0
  457. package/templates/skills/vueuse-functions/references/usePointer.md +89 -0
  458. package/templates/skills/vueuse-functions/references/usePointerLock.md +60 -0
  459. package/templates/skills/vueuse-functions/references/usePointerSwipe.md +80 -0
  460. package/templates/skills/vueuse-functions/references/usePrecision.md +49 -0
  461. package/templates/skills/vueuse-functions/references/usePreferredColorScheme.md +42 -0
  462. package/templates/skills/vueuse-functions/references/usePreferredContrast.md +42 -0
  463. package/templates/skills/vueuse-functions/references/usePreferredDark.md +41 -0
  464. package/templates/skills/vueuse-functions/references/usePreferredLanguages.md +41 -0
  465. package/templates/skills/vueuse-functions/references/usePreferredReducedMotion.md +42 -0
  466. package/templates/skills/vueuse-functions/references/usePreferredReducedTransparency.md +42 -0
  467. package/templates/skills/vueuse-functions/references/usePrevious.md +40 -0
  468. package/templates/skills/vueuse-functions/references/useProjection.md +38 -0
  469. package/templates/skills/vueuse-functions/references/useQRCode.md +53 -0
  470. package/templates/skills/vueuse-functions/references/useRTDB.md +70 -0
  471. package/templates/skills/vueuse-functions/references/useRafFn.md +68 -0
  472. package/templates/skills/vueuse-functions/references/useRefHistory.md +292 -0
  473. package/templates/skills/vueuse-functions/references/useResizeObserver.md +110 -0
  474. package/templates/skills/vueuse-functions/references/useRound.md +31 -0
  475. package/templates/skills/vueuse-functions/references/useRouteHash.md +27 -0
  476. package/templates/skills/vueuse-functions/references/useRouteParams.md +38 -0
  477. package/templates/skills/vueuse-functions/references/useRouteQuery.md +38 -0
  478. package/templates/skills/vueuse-functions/references/useSSRWidth.md +47 -0
  479. package/templates/skills/vueuse-functions/references/useScreenOrientation.md +96 -0
  480. package/templates/skills/vueuse-functions/references/useScreenSafeArea.md +60 -0
  481. package/templates/skills/vueuse-functions/references/useScriptTag.md +116 -0
  482. package/templates/skills/vueuse-functions/references/useScroll.md +238 -0
  483. package/templates/skills/vueuse-functions/references/useScrollLock.md +66 -0
  484. package/templates/skills/vueuse-functions/references/useSessionStorage.md +41 -0
  485. package/templates/skills/vueuse-functions/references/useShare.md +68 -0
  486. package/templates/skills/vueuse-functions/references/useSortable.md +177 -0
  487. package/templates/skills/vueuse-functions/references/useSorted.md +90 -0
  488. package/templates/skills/vueuse-functions/references/useSpeechRecognition.md +94 -0
  489. package/templates/skills/vueuse-functions/references/useSpeechSynthesis.md +105 -0
  490. package/templates/skills/vueuse-functions/references/useStepper.md +137 -0
  491. package/templates/skills/vueuse-functions/references/useStorage.md +219 -0
  492. package/templates/skills/vueuse-functions/references/useStorageAsync.md +134 -0
  493. package/templates/skills/vueuse-functions/references/useStyleTag.md +131 -0
  494. package/templates/skills/vueuse-functions/references/useSubject.md +52 -0
  495. package/templates/skills/vueuse-functions/references/useSubscription.md +33 -0
  496. package/templates/skills/vueuse-functions/references/useSum.md +36 -0
  497. package/templates/skills/vueuse-functions/references/useSupported.md +29 -0
  498. package/templates/skills/vueuse-functions/references/useSwipe.md +75 -0
  499. package/templates/skills/vueuse-functions/references/useTemplateRefsList.md +37 -0
  500. package/templates/skills/vueuse-functions/references/useTextDirection.md +75 -0
  501. package/templates/skills/vueuse-functions/references/useTextSelection.md +40 -0
  502. package/templates/skills/vueuse-functions/references/useTextareaAutosize.md +97 -0
  503. package/templates/skills/vueuse-functions/references/useThrottleFn.md +57 -0
  504. package/templates/skills/vueuse-functions/references/useThrottledRefHistory.md +47 -0
  505. package/templates/skills/vueuse-functions/references/useTimeAgo.md +152 -0
  506. package/templates/skills/vueuse-functions/references/useTimeAgoIntl.md +116 -0
  507. package/templates/skills/vueuse-functions/references/useTimeout.md +75 -0
  508. package/templates/skills/vueuse-functions/references/useTimeoutFn.md +51 -0
  509. package/templates/skills/vueuse-functions/references/useTimeoutPoll.md +47 -0
  510. package/templates/skills/vueuse-functions/references/useTimestamp.md +85 -0
  511. package/templates/skills/vueuse-functions/references/useTitle.md +113 -0
  512. package/templates/skills/vueuse-functions/references/useToNumber.md +54 -0
  513. package/templates/skills/vueuse-functions/references/useToString.md +34 -0
  514. package/templates/skills/vueuse-functions/references/useToggle.md +56 -0
  515. package/templates/skills/vueuse-functions/references/useTransition.md +265 -0
  516. package/templates/skills/vueuse-functions/references/useTrunc.md +33 -0
  517. package/templates/skills/vueuse-functions/references/useUrlSearchParams.md +121 -0
  518. package/templates/skills/vueuse-functions/references/useUserMedia.md +1138 -0
  519. package/templates/skills/vueuse-functions/references/useVModel.md +116 -0
  520. package/templates/skills/vueuse-functions/references/useVModels.md +67 -0
  521. package/templates/skills/vueuse-functions/references/useVibrate.md +83 -0
  522. package/templates/skills/vueuse-functions/references/useVirtualList.md +184 -0
  523. package/templates/skills/vueuse-functions/references/useWakeLock.md +50 -0
  524. package/templates/skills/vueuse-functions/references/useWebNotification.md +177 -0
  525. package/templates/skills/vueuse-functions/references/useWebSocket.md +268 -0
  526. package/templates/skills/vueuse-functions/references/useWebWorker.md +60 -0
  527. package/templates/skills/vueuse-functions/references/useWebWorkerFn.md +102 -0
  528. package/templates/skills/vueuse-functions/references/useWindowFocus.md +46 -0
  529. package/templates/skills/vueuse-functions/references/useWindowScroll.md +62 -0
  530. package/templates/skills/vueuse-functions/references/useWindowSize.md +76 -0
  531. package/templates/skills/vueuse-functions/references/useZoomFactor.md +53 -0
  532. package/templates/skills/vueuse-functions/references/useZoomLevel.md +53 -0
  533. package/templates/skills/vueuse-functions/references/watchArray.md +53 -0
  534. package/templates/skills/vueuse-functions/references/watchAtMost.md +54 -0
  535. package/templates/skills/vueuse-functions/references/watchDebounced.md +72 -0
  536. package/templates/skills/vueuse-functions/references/watchDeep.md +54 -0
  537. package/templates/skills/vueuse-functions/references/watchExtractedObservable.md +167 -0
  538. package/templates/skills/vueuse-functions/references/watchIgnorable.md +120 -0
  539. package/templates/skills/vueuse-functions/references/watchImmediate.md +44 -0
  540. package/templates/skills/vueuse-functions/references/watchOnce.md +41 -0
  541. package/templates/skills/vueuse-functions/references/watchPausable.md +86 -0
  542. package/templates/skills/vueuse-functions/references/watchThrottled.md +73 -0
  543. package/templates/skills/vueuse-functions/references/watchTriggerable.md +97 -0
  544. package/templates/skills/vueuse-functions/references/watchWithFilter.md +55 -0
  545. package/templates/skills/vueuse-functions/references/whenever.md +100 -0
  546. package/templates/skills/web-design-guidelines/SKILL.md +39 -0
  547. package/templates/skills/web-design-guidelines/SYNC.md +5 -0
@@ -0,0 +1,86 @@
1
+ ---
2
+ category: Utilities
3
+ ---
4
+
5
+ # useCounter
6
+
7
+ Basic counter with utility functions.
8
+
9
+ ## Basic Usage
10
+
11
+ ```ts
12
+ import { useCounter } from '@vueuse/core'
13
+
14
+ const { count, inc, dec, set, reset } = useCounter()
15
+ ```
16
+
17
+ ## Usage with options
18
+
19
+ ```ts
20
+ import { useCounter } from '@vueuse/core'
21
+
22
+ const { count, inc, dec, set, reset } = useCounter(1, { min: 0, max: 16 })
23
+ ```
24
+
25
+ ## Type Declarations
26
+
27
+ ```ts
28
+ export interface UseCounterOptions {
29
+ min?: number
30
+ max?: number
31
+ }
32
+ export interface UseCounterReturn {
33
+ /**
34
+ * The current value of the counter.
35
+ */
36
+ readonly count: Readonly<Ref<number>>
37
+ /**
38
+ * Increment the counter.
39
+ *
40
+ * @param {number} [delta=1] The number to increment.
41
+ */
42
+ inc: (delta?: number) => void
43
+ /**
44
+ * Decrement the counter.
45
+ *
46
+ * @param {number} [delta=1] The number to decrement.
47
+ */
48
+ dec: (delta?: number) => void
49
+ /**
50
+ * Get the current value of the counter.
51
+ */
52
+ get: () => number
53
+ /**
54
+ * Set the counter to a new value.
55
+ *
56
+ * @param val The new value of the counter.
57
+ */
58
+ set: (val: number) => void
59
+ /**
60
+ * Reset the counter to an initial value.
61
+ */
62
+ reset: (val?: number) => number
63
+ }
64
+ /**
65
+ * Basic counter with utility functions.
66
+ *
67
+ * @see https://vueuse.org/useCounter
68
+ * @param [initialValue]
69
+ * @param options
70
+ */
71
+ export declare function useCounter(
72
+ initialValue?: MaybeRef<number>,
73
+ options?: UseCounterOptions,
74
+ ): {
75
+ count: Readonly<
76
+ | Ref<number, number>
77
+ | ShallowRef<number, number>
78
+ | WritableComputedRef<number, number>
79
+ >
80
+ inc: (delta?: number) => number
81
+ dec: (delta?: number) => number
82
+ get: () => number
83
+ set: (val: number) => number
84
+ reset: (val?: number) => number
85
+ }
86
+ ```
@@ -0,0 +1,50 @@
1
+ ---
2
+ category: Browser
3
+ ---
4
+
5
+ # useCssVar
6
+
7
+ Manipulate CSS variables
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useCssVar } from '@vueuse/core'
13
+ import { useTemplateRef } from 'vue'
14
+
15
+ const el = useTemplateRef('el')
16
+ const color1 = useCssVar('--color', el)
17
+
18
+ const elv = useTemplateRef('elv')
19
+ const key = ref('--color')
20
+ const colorVal = useCssVar(key, elv)
21
+
22
+ const someEl = useTemplateRef('someEl')
23
+ const color2 = useCssVar('--color', someEl, { initialValue: '#eee' })
24
+ ```
25
+
26
+ ## Type Declarations
27
+
28
+ ```ts
29
+ export interface UseCssVarOptions extends ConfigurableWindow {
30
+ initialValue?: string
31
+ /**
32
+ * Use MutationObserver to monitor variable changes
33
+ * @default false
34
+ */
35
+ observe?: boolean
36
+ }
37
+ /**
38
+ * Manipulate CSS variables.
39
+ *
40
+ * @see https://vueuse.org/useCssVar
41
+ * @param prop
42
+ * @param target
43
+ * @param options
44
+ */
45
+ export declare function useCssVar(
46
+ prop: MaybeRefOrGetter<string | null | undefined>,
47
+ target?: MaybeElementRef,
48
+ options?: UseCssVarOptions,
49
+ ): ShallowRef<string | undefined, string | undefined>
50
+ ```
@@ -0,0 +1,61 @@
1
+ ---
2
+ category: Component
3
+ ---
4
+
5
+ # useCurrentElement
6
+
7
+ Get the DOM element of current component as a ref.
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useCurrentElement } from '@vueuse/core'
13
+
14
+ const el = useCurrentElement() // ComputedRef<Element>
15
+ ```
16
+
17
+ Or pass a specific vue component
18
+
19
+ ```vue
20
+ <script setup lang="ts">
21
+ import { useCurrentElement, VueInstance } from '@vueuse/core'
22
+ import { shallowRef } from 'vue'
23
+
24
+ const componentRef = shallowRef<VueInstance>(null as unknown as VueInstance)
25
+
26
+ const el = useCurrentElement(componentRef) // ComputedRef<Element>
27
+ </script>
28
+
29
+ <template>
30
+ <div>
31
+ <OtherVueComponent ref="componentRef" />
32
+ <p>Hello world</p>
33
+ </div>
34
+ </template>
35
+ ```
36
+
37
+ ## Caveats
38
+
39
+ This functions uses [`$el` under the hood](https://vuejs.org/api/component-instance.html#el).
40
+
41
+ Value of the ref will be `undefined` until the component is mounted.
42
+
43
+ - For components with a single root element, it will point to that element.
44
+ - For components with text root, it will point to the text node.
45
+ - For components with multiple root nodes, it will be the placeholder DOM node that Vue uses to keep track of the component's position in the DOM.
46
+
47
+ It's recommend to only use this function for components with **a single root element**.
48
+
49
+ ## Type Declarations
50
+
51
+ ```ts
52
+ export declare function useCurrentElement<
53
+ T extends MaybeElement = MaybeElement,
54
+ R extends VueInstance = VueInstance,
55
+ E extends MaybeElement = MaybeElement extends T
56
+ ? IsAny<R["$el"]> extends false
57
+ ? R["$el"]
58
+ : T
59
+ : T,
60
+ >(rootComponent?: MaybeElementRef<R>): ComputedRefWithControl<E>
61
+ ```
@@ -0,0 +1,75 @@
1
+ ---
2
+ category: Utilities
3
+ ---
4
+
5
+ # useCycleList
6
+
7
+ Cycle through a list of items.
8
+
9
+ <CourseLink href="https://vueschool.io/lessons/create-an-image-carousel-with-vueuse?friend=vueuse">Learn how to use useCycleList to create an image carousel with this FREE video lesson from Vue School!</CourseLink>
10
+
11
+ ## Usage
12
+
13
+ ```ts
14
+ import { useCycleList } from '@vueuse/core'
15
+
16
+ const { state, next, prev, go } = useCycleList([
17
+ 'Dog',
18
+ 'Cat',
19
+ 'Lizard',
20
+ 'Shark',
21
+ 'Whale',
22
+ 'Dolphin',
23
+ 'Octopus',
24
+ 'Seal',
25
+ ])
26
+
27
+ console.log(state.value) // 'Dog'
28
+
29
+ prev()
30
+
31
+ console.log(state.value) // 'Seal'
32
+
33
+ go(3)
34
+
35
+ console.log(state.value) // 'Shark'
36
+ ```
37
+
38
+ ## Type Declarations
39
+
40
+ ```ts
41
+ export interface UseCycleListOptions<T> {
42
+ /**
43
+ * The initial value of the state.
44
+ * A ref can be provided to reuse.
45
+ */
46
+ initialValue?: MaybeRef<T>
47
+ /**
48
+ * The default index when
49
+ */
50
+ fallbackIndex?: number
51
+ /**
52
+ * Custom function to get the index of the current value.
53
+ */
54
+ getIndexOf?: (value: T, list: T[]) => number
55
+ }
56
+ /**
57
+ * Cycle through a list of items
58
+ *
59
+ * @see https://vueuse.org/useCycleList
60
+ */
61
+ export declare function useCycleList<T>(
62
+ list: MaybeRefOrGetter<T[]>,
63
+ options?: UseCycleListOptions<T>,
64
+ ): UseCycleListReturn<T>
65
+ export interface UseCycleListReturn<T> {
66
+ state: ShallowRef<T>
67
+ index: WritableComputedRef<number>
68
+ next: (n?: number) => T
69
+ prev: (n?: number) => T
70
+ /**
71
+ * Go to a specific index
72
+ */
73
+ go: (i: number) => T
74
+ }
75
+ ```
@@ -0,0 +1,142 @@
1
+ ---
2
+ category: Browser
3
+ related:
4
+ - useColorMode
5
+ - usePreferredDark
6
+ - useStorage
7
+ ---
8
+
9
+ # useDark
10
+
11
+ Reactive dark mode with auto data persistence.
12
+
13
+ <CourseLink href="https://vueschool.io/lessons/theming-with-vueuse-usedark-and-usecolormode?friend=vueuse">Learn useDark with this FREE video lesson from Vue School!</CourseLink>
14
+
15
+ ## Basic Usage
16
+
17
+ ```ts
18
+ import { useDark, useToggle } from '@vueuse/core'
19
+
20
+ const isDark = useDark()
21
+ const toggleDark = useToggle(isDark)
22
+ ```
23
+
24
+ ## Behavior
25
+
26
+ `useDark` combines with `usePreferredDark` and `useStorage`. On start up, it reads the value from localStorage/sessionStorage (the key is configurable) to see if there is a user configured color scheme, if not, it will use users' system preferences. When you change the `isDark` ref, it will update the corresponding element's attribute and then store the preference to storage (default key: `vueuse-color-scheme`) for persistence.
27
+
28
+ > Please note `useDark` only handles the DOM attribute changes for you to apply proper selector in your CSS. It does NOT handle the actual style, theme or CSS for you.
29
+
30
+ ## Configuration
31
+
32
+ By default, it uses [Tailwind CSS favored dark mode](https://tailwindcss.com/docs/dark-mode#toggling-dark-mode-manually), which enables dark mode when class `dark` is applied to the `html` tag, for example:
33
+
34
+ ```html
35
+ <!--light-->
36
+ <html>
37
+ ...
38
+ </html>
39
+
40
+ <!--dark-->
41
+ <html class="dark">
42
+ ...
43
+ </html>
44
+ ```
45
+
46
+ Still, you can also customize it to make it work with most CSS frameworks.
47
+
48
+ For example:
49
+
50
+ ```ts
51
+ import { useDark } from '@vueuse/core'
52
+ // ---cut---
53
+ const isDark = useDark({
54
+ selector: 'body',
55
+ attribute: 'color-scheme',
56
+ valueDark: 'dark',
57
+ valueLight: 'light',
58
+ })
59
+ ```
60
+
61
+ will work like
62
+
63
+ ```html
64
+ <!--light-->
65
+ <html>
66
+ <body color-scheme="light">
67
+ ...
68
+ </body>
69
+ </html>
70
+
71
+ <!--dark-->
72
+ <html>
73
+ <body color-scheme="dark">
74
+ ...
75
+ </body>
76
+ </html>
77
+ ```
78
+
79
+ If the configuration above still does not fit your needs, you can use the`onChanged` option to take full control over how you handle updates.
80
+
81
+ ```ts
82
+ import { useDark } from '@vueuse/core'
83
+ // ---cut---
84
+ const isDark = useDark({
85
+ onChanged(dark) {
86
+ // update the dom, call the API or something
87
+ },
88
+ })
89
+ ```
90
+
91
+ ## Component Usage
92
+
93
+ ```vue
94
+ <template>
95
+ <UseDark v-slot="{ isDark, toggleDark }">
96
+ <button @click="toggleDark()">
97
+ Is Dark: {{ isDark }}
98
+ </button>
99
+ </UseDark>
100
+ </template>
101
+ ```
102
+
103
+ ## Type Declarations
104
+
105
+ ```ts
106
+ export interface UseDarkOptions
107
+ extends Omit<UseColorModeOptions<BasicColorSchema>, "modes" | "onChanged"> {
108
+ /**
109
+ * Value applying to the target element when isDark=true
110
+ *
111
+ * @default 'dark'
112
+ */
113
+ valueDark?: string
114
+ /**
115
+ * Value applying to the target element when isDark=false
116
+ *
117
+ * @default ''
118
+ */
119
+ valueLight?: string
120
+ /**
121
+ * A custom handler for handle the updates.
122
+ * When specified, the default behavior will be overridden.
123
+ *
124
+ * @default undefined
125
+ */
126
+ onChanged?: (
127
+ isDark: boolean,
128
+ defaultHandler: (mode: BasicColorSchema) => void,
129
+ mode: BasicColorSchema,
130
+ ) => void
131
+ }
132
+ /**
133
+ * Reactive dark mode with auto data persistence.
134
+ *
135
+ * @see https://vueuse.org/useDark
136
+ * @param options
137
+ */
138
+ export declare function useDark(
139
+ options?: UseDarkOptions,
140
+ ): WritableComputedRef<boolean, boolean>
141
+ export type UseDarkReturn = ReturnType<typeof useDark>
142
+ ```
@@ -0,0 +1,145 @@
1
+ ---
2
+ category: Time
3
+ ---
4
+
5
+ # useDateFormat
6
+
7
+ Get the formatted date according to the string of tokens passed in, inspired
8
+ by [dayjs](https://github.com/iamkun/dayjs).
9
+
10
+ **List of all available formats (HH:mm:ss by default):**
11
+
12
+ | Format | Output | Description |
13
+ | ------ | ------------------------ | --------------------------------------- |
14
+ | `Yo` | 2018th | Ordinal formatted year |
15
+ | `YY` | 18 | Two-digit year |
16
+ | `YYYY` | 2018 | Four-digit year |
17
+ | `M` | 1-12 | The month, beginning at 1 |
18
+ | `Mo` | 1st, 2nd, ..., 12th | The month, ordinal formatted |
19
+ | `MM` | 01-12 | The month, 2-digits |
20
+ | `MMM` | Jan-Dec | The abbreviated month name |
21
+ | `MMMM` | January-December | The full month name |
22
+ | `D` | 1-31 | The day of the month |
23
+ | `Do` | 1st, 2nd, ..., 31st | The day of the month, ordinal formatted |
24
+ | `DD` | 01-31 | The day of the month, 2-digits |
25
+ | `H` | 0-23 | The hour |
26
+ | `Ho` | 0th, 1st, 2nd, ..., 23rd | The hour, ordinal formatted |
27
+ | `HH` | 00-23 | The hour, 2-digits |
28
+ | `h` | 1-12 | The hour, 12-hour clock |
29
+ | `ho` | 1st, 2nd, ..., 12th | The hour, 12-hour clock, sorted |
30
+ | `hh` | 01-12 | The hour, 12-hour clock, 2-digits |
31
+ | `m` | 0-59 | The minute |
32
+ | `mo` | 0th, 1st, ..., 59th | The minute, ordinal formatted |
33
+ | `mm` | 00-59 | The minute, 2-digits |
34
+ | `s` | 0-59 | The second |
35
+ | `so` | 0th, 1st, ..., 59th | The second, ordinal formatted |
36
+ | `ss` | 00-59 | The second, 2-digits |
37
+ | `SSS` | 000-999 | The millisecond, 3-digits |
38
+ | `A` | AM PM | The meridiem |
39
+ | `AA` | A.M. P.M. | The meridiem, periods |
40
+ | `a` | am pm | The meridiem, lowercase |
41
+ | `aa` | a.m. p.m. | The meridiem, lowercase and periods |
42
+ | `d` | 0-6 | The day of the week, with Sunday as 0 |
43
+ | `dd` | S-S | The min name of the day of the week |
44
+ | `ddd` | Sun-Sat | The short name of the day of the week |
45
+ | `dddd` | Sunday-Saturday | The name of the day of the week |
46
+ | `z` | GMT, GMT+1 | The timezone with offset |
47
+ | `zz` | GMT, GMT+1 | The timezone with offset |
48
+ | `zzz` | GMT, GMT+1 | The timezone with offset |
49
+ | `zzzz` | GMT, GMT+01:00 | The long timezone with offset |
50
+
51
+ - Meridiem is customizable by defining `customMeridiem` in `options`.
52
+
53
+ ## Usage
54
+
55
+ ### Basic
56
+
57
+ ```vue
58
+ <script setup lang="ts">
59
+ import { useDateFormat, useNow } from '@vueuse/core'
60
+
61
+ const formatted = useDateFormat(useNow(), 'YYYY-MM-DD HH:mm:ss')
62
+ </script>
63
+
64
+ <template>
65
+ <div>{{ formatted }}</div>
66
+ </template>
67
+ ```
68
+
69
+ ### Use with locales
70
+
71
+ ```vue
72
+ <script setup lang="ts">
73
+ import { useDateFormat, useNow } from '@vueuse/core'
74
+
75
+ const formatted = useDateFormat(useNow(), 'YYYY-MM-DD (ddd)', { locales: 'en-US' })
76
+ </script>
77
+
78
+ <template>
79
+ <div>{{ formatted }}</div>
80
+ </template>
81
+ ```
82
+
83
+ ### Use with custom meridiem
84
+
85
+ ```vue
86
+ <script setup lang="ts">
87
+ import { useDateFormat } from '@vueuse/core'
88
+
89
+ function customMeridiem(hours: number, minutes: number, isLowercase?: boolean, hasPeriod?: boolean) {
90
+ const m = hours > 11 ? (isLowercase ? 'μμ' : 'ΜΜ') : (isLowercase ? 'πμ' : 'ΠΜ')
91
+ return hasPeriod ? m.split('').reduce((acc, current) => acc += `${current}.`, '') : m
92
+ }
93
+
94
+ const am = useDateFormat('2022-01-01 05:05:05', 'hh:mm:ss A', { customMeridiem })
95
+ // am.value = '05:05:05 ΠΜ'
96
+ const pm = useDateFormat('2022-01-01 17:05:05', 'hh:mm:ss AA', { customMeridiem })
97
+ // pm.value = '05:05:05 Μ.Μ.'
98
+ </script>
99
+ ```
100
+
101
+ ## Type Declarations
102
+
103
+ ```ts
104
+ export type DateLike = Date | number | string | undefined
105
+ export interface UseDateFormatOptions {
106
+ /**
107
+ * The locale(s) to used for dd/ddd/dddd/MMM/MMMM format
108
+ *
109
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument).
110
+ */
111
+ locales?: MaybeRefOrGetter<Intl.LocalesArgument>
112
+ /**
113
+ * A custom function to re-modify the way to display meridiem
114
+ *
115
+ */
116
+ customMeridiem?: (
117
+ hours: number,
118
+ minutes: number,
119
+ isLowercase?: boolean,
120
+ hasPeriod?: boolean,
121
+ ) => string
122
+ }
123
+ export declare function formatDate(
124
+ date: Date,
125
+ formatStr: string,
126
+ options?: UseDateFormatOptions,
127
+ ): string
128
+ export declare function normalizeDate(date: DateLike): Date
129
+ export type UseDateFormatReturn = ComputedRef<string>
130
+ /**
131
+ * Get the formatted date according to the string of tokens passed in.
132
+ *
133
+ * @see https://vueuse.org/useDateFormat
134
+ * @param date - The date to format, can either be a `Date` object, a timestamp, or a string
135
+ * @param formatStr - The combination of tokens to format the date
136
+ * @param options - UseDateFormatOptions
137
+ *
138
+ * @__NO_SIDE_EFFECTS__
139
+ */
140
+ export declare function useDateFormat(
141
+ date: MaybeRefOrGetter<DateLike>,
142
+ formatStr?: MaybeRefOrGetter<string>,
143
+ options?: UseDateFormatOptions,
144
+ ): UseDateFormatReturn
145
+ ```
@@ -0,0 +1,100 @@
1
+ ---
2
+ category: Utilities
3
+ related: useThrottleFn
4
+ ---
5
+
6
+ # useDebounceFn
7
+
8
+ Debounce execution of a function.
9
+
10
+ > Debounce is an overloaded waiter: if you keep asking, your requests will be ignored until you stop and give them some time to think about your latest inquiry.
11
+
12
+ ## Usage
13
+
14
+ ```ts
15
+ import { useDebounceFn, useEventListener } from '@vueuse/core'
16
+
17
+ const debouncedFn = useDebounceFn(() => {
18
+ // do something
19
+ }, 1000)
20
+
21
+ useEventListener(window, 'resize', debouncedFn)
22
+ ```
23
+
24
+ You can also pass a 3rd parameter to this, with a maximum wait time, similar to [lodash debounce](https://lodash.com/docs/4.17.15#debounce)
25
+
26
+ ```ts
27
+ import { useDebounceFn, useEventListener } from '@vueuse/core'
28
+
29
+ // If no invokation after 5000ms due to repeated input,
30
+ // the function will be called anyway.
31
+ const debouncedFn = useDebounceFn(() => {
32
+ // do something
33
+ }, 1000, { maxWait: 5000 })
34
+
35
+ useEventListener(window, 'resize', debouncedFn)
36
+ ```
37
+
38
+ Optionally, you can get the return value of the function using promise operations.
39
+
40
+ ```ts
41
+ import { useDebounceFn } from '@vueuse/core'
42
+
43
+ const debouncedRequest = useDebounceFn(() => 'response', 1000)
44
+
45
+ debouncedRequest().then((value) => {
46
+ console.log(value) // 'response'
47
+ })
48
+
49
+ // or use async/await
50
+ async function doRequest() {
51
+ const value = await debouncedRequest()
52
+ console.log(value) // 'response'
53
+ }
54
+ ```
55
+
56
+ Since unhandled rejection error is quite annoying when developer doesn't need the return value, the promise will **NOT** be rejected if the function is canceled **by default**. You need to specify the option `rejectOnCancel: true` to capture the rejection.
57
+
58
+ ```ts
59
+ import { useDebounceFn } from '@vueuse/core'
60
+
61
+ const debouncedRequest = useDebounceFn(() => 'response', 1000, { rejectOnCancel: true })
62
+
63
+ debouncedRequest()
64
+ .then((value) => {
65
+ // do something
66
+ })
67
+ .catch(() => {
68
+ // do something when canceled
69
+ })
70
+
71
+ // calling it again will cancel the previous request and gets rejected
72
+ setTimeout(debouncedRequest, 500)
73
+ ```
74
+
75
+ ## Recommended Reading
76
+
77
+ - [**Debounce vs Throttle**: Definitive Visual Guide](https://kettanaito.com/blog/debounce-vs-throttle)
78
+
79
+ ## Type Declarations
80
+
81
+ ```ts
82
+ export type UseDebounceFnReturn<T extends FunctionArgs> = PromisifyFn<T>
83
+ /**
84
+ * Debounce execution of a function.
85
+ *
86
+ * @see https://vueuse.org/useDebounceFn
87
+ * @param fn A function to be executed after delay milliseconds debounced.
88
+ * @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
89
+ * @param options Options
90
+ *
91
+ * @return A new, debounce, function.
92
+ *
93
+ * @__NO_SIDE_EFFECTS__
94
+ */
95
+ export declare function useDebounceFn<T extends FunctionArgs>(
96
+ fn: T,
97
+ ms?: MaybeRefOrGetter<number>,
98
+ options?: DebounceFilterOptions,
99
+ ): UseDebounceFnReturn<T>
100
+ ```
@@ -0,0 +1,40 @@
1
+ ---
2
+ category: State
3
+ related:
4
+ - useRefHistory
5
+ - useThrottledRefHistory
6
+ ---
7
+
8
+ # useDebouncedRefHistory
9
+
10
+ Shorthand for `useRefHistory` with debounced filter.
11
+
12
+ ## Usage
13
+
14
+ This function takes a snapshot of your counter after 1000ms when the value of it starts to change.
15
+
16
+ ```ts
17
+ import { useDebouncedRefHistory } from '@vueuse/core'
18
+ import { shallowRef } from 'vue'
19
+
20
+ const counter = shallowRef(0)
21
+ const { history, undo, redo } = useDebouncedRefHistory(counter, { deep: true, debounce: 1000 })
22
+ ```
23
+
24
+ ## Type Declarations
25
+
26
+ ```ts
27
+ /**
28
+ * Shorthand for [useRefHistory](https://vueuse.org/useRefHistory) with debounce filter.
29
+ *
30
+ * @see https://vueuse.org/useDebouncedRefHistory
31
+ * @param source
32
+ * @param options
33
+ */
34
+ export declare function useDebouncedRefHistory<Raw, Serialized = Raw>(
35
+ source: Ref<Raw>,
36
+ options?: Omit<UseRefHistoryOptions<Raw, Serialized>, "eventFilter"> & {
37
+ debounce?: MaybeRefOrGetter<number>
38
+ },
39
+ ): UseRefHistoryReturn<Raw, Serialized>
40
+ ```