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,91 @@
1
+ ---
2
+ category: Utilities
3
+ ---
4
+
5
+ # useCloned
6
+
7
+ Reactive clone of a ref. By default, it use `JSON.parse(JSON.stringify())` to do the clone.
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useCloned } from '@vueuse/core'
13
+
14
+ const original = ref({ key: 'value' })
15
+
16
+ const { cloned } = useCloned(original)
17
+
18
+ original.value.key = 'some new value'
19
+
20
+ console.log(cloned.value.key) // 'value'
21
+ ```
22
+
23
+ ## Manual cloning
24
+
25
+ ```ts
26
+ import { useCloned } from '@vueuse/core'
27
+
28
+ const original = ref({ key: 'value' })
29
+
30
+ const { cloned, sync } = useCloned(original, { manual: true })
31
+
32
+ original.value.key = 'manual'
33
+
34
+ console.log(cloned.value.key) // 'value'
35
+
36
+ sync()
37
+
38
+ console.log(cloned.value.key)// 'manual'
39
+ ```
40
+
41
+ ## Custom Clone Function
42
+
43
+ Using [`klona`](https://www.npmjs.com/package/klona) for example:
44
+
45
+ ```ts
46
+ import { useCloned } from '@vueuse/core'
47
+ import { klona } from 'klona'
48
+
49
+ const original = ref({ key: 'value' })
50
+
51
+ const { cloned, isModified, sync } = useCloned(original, { clone: klona })
52
+ ```
53
+
54
+ ## Type Declarations
55
+
56
+ ```ts
57
+ export interface UseClonedOptions<T = any> extends WatchOptions {
58
+ /**
59
+ * Custom clone function.
60
+ *
61
+ * By default, it use `JSON.parse(JSON.stringify(value))` to clone.
62
+ */
63
+ clone?: (source: T) => T
64
+ /**
65
+ * Manually sync the ref
66
+ *
67
+ * @default false
68
+ */
69
+ manual?: boolean
70
+ }
71
+ export interface UseClonedReturn<T> {
72
+ /**
73
+ * Cloned ref
74
+ */
75
+ cloned: Ref<T>
76
+ /**
77
+ * Ref indicates whether the cloned data is modified
78
+ */
79
+ isModified: Ref<boolean>
80
+ /**
81
+ * Sync cloned data with source manually
82
+ */
83
+ sync: () => void
84
+ }
85
+ export type CloneFn<F, T = F> = (x: F) => T
86
+ export declare function cloneFnJSON<T>(source: T): T
87
+ export declare function useCloned<T>(
88
+ source: MaybeRefOrGetter<T>,
89
+ options?: UseClonedOptions,
90
+ ): UseClonedReturn<T>
91
+ ```
@@ -0,0 +1,171 @@
1
+ ---
2
+ category: Browser
3
+ related:
4
+ - useDark
5
+ - usePreferredDark
6
+ - useStorage
7
+ ---
8
+
9
+ # useColorMode
10
+
11
+ Reactive color mode (dark / light / customs) with auto data persistence.
12
+
13
+ ## Basic Usage
14
+
15
+ ```ts
16
+ import { useColorMode } from '@vueuse/core'
17
+
18
+ const mode = useColorMode() // Ref<'dark' | 'light'>
19
+ ```
20
+
21
+ By default, it will match with users' browser preference using `usePreferredDark` (a.k.a `auto` mode). When reading the ref, it will by default return the current color mode (`dark`, `light` or your custom modes). The `auto` mode can be included in the returned modes by enabling the `emitAuto` option. When writing to the ref, it will trigger DOM updates and persist the color mode to local storage (or your custom storage). You can pass `auto` to set back to auto mode.
22
+
23
+ ```ts
24
+ import { useColorMode } from '@vueuse/core'
25
+
26
+ const mode = useColorMode()
27
+ // ---cut---
28
+ mode.value // 'dark' | 'light'
29
+
30
+ mode.value = 'dark' // change to dark mode and persist
31
+
32
+ mode.value = 'auto' // change to auto mode
33
+ ```
34
+
35
+ ## Config
36
+
37
+ ```ts
38
+ import { useColorMode } from '@vueuse/core'
39
+
40
+ const mode = useColorMode({
41
+ attribute: 'theme',
42
+ modes: {
43
+ // custom colors
44
+ dim: 'dim',
45
+ cafe: 'cafe',
46
+ },
47
+ }) // Ref<'dark' | 'light' | 'dim' | 'cafe'>
48
+ ```
49
+
50
+ ## Advanced Usage
51
+
52
+ You can also explicit access to the system preference and storaged user override mode.
53
+
54
+ ```ts
55
+ import { useColorMode } from '@vueuse/core'
56
+
57
+ const { system, store } = useColorMode()
58
+
59
+ system.value // 'dark' | 'light'
60
+ store.value // 'dark' | 'light' | 'auto'
61
+
62
+ const myColorMode = computed(() => store.value === 'auto' ? system.value : store.value)
63
+ ```
64
+
65
+ ## Component Usage
66
+
67
+ ```vue
68
+ <template>
69
+ <UseColorMode v-slot="color">
70
+ <button @click="color.mode = color.mode === 'dark' ? 'light' : 'dark'">
71
+ Mode {{ color.mode }}
72
+ </button>
73
+ </UseColorMode>
74
+ </template>
75
+ ```
76
+
77
+ ## Type Declarations
78
+
79
+ ```ts
80
+ export type BasicColorMode = "light" | "dark"
81
+ export type BasicColorSchema = BasicColorMode | "auto"
82
+ export interface UseColorModeOptions<T extends string = BasicColorMode>
83
+ extends UseStorageOptions<T | BasicColorMode> {
84
+ /**
85
+ * CSS Selector for the target element applying to
86
+ *
87
+ * @default 'html'
88
+ */
89
+ selector?: string | MaybeElementRef
90
+ /**
91
+ * HTML attribute applying the target element
92
+ *
93
+ * @default 'class'
94
+ */
95
+ attribute?: string
96
+ /**
97
+ * The initial color mode
98
+ *
99
+ * @default 'auto'
100
+ */
101
+ initialValue?: MaybeRefOrGetter<T | BasicColorSchema>
102
+ /**
103
+ * Prefix when adding value to the attribute
104
+ */
105
+ modes?: Partial<Record<T | BasicColorSchema, string>>
106
+ /**
107
+ * A custom handler for handle the updates.
108
+ * When specified, the default behavior will be overridden.
109
+ *
110
+ * @default undefined
111
+ */
112
+ onChanged?: (
113
+ mode: T | BasicColorMode,
114
+ defaultHandler: (mode: T | BasicColorMode) => void,
115
+ ) => void
116
+ /**
117
+ * Custom storage ref
118
+ *
119
+ * When provided, `useStorage` will be skipped
120
+ */
121
+ storageRef?: Ref<T | BasicColorSchema>
122
+ /**
123
+ * Key to persist the data into localStorage/sessionStorage.
124
+ *
125
+ * Pass `null` to disable persistence
126
+ *
127
+ * @default 'vueuse-color-scheme'
128
+ */
129
+ storageKey?: string | null
130
+ /**
131
+ * Storage object, can be localStorage or sessionStorage
132
+ *
133
+ * @default localStorage
134
+ */
135
+ storage?: StorageLike
136
+ /**
137
+ * Emit `auto` mode from state
138
+ *
139
+ * When set to `true`, preferred mode won't be translated into `light` or `dark`.
140
+ * This is useful when the fact that `auto` mode was selected needs to be known.
141
+ *
142
+ * @default undefined
143
+ * @deprecated use `store.value` when `auto` mode needs to be known
144
+ * @see https://vueuse.org/core/useColorMode/#advanced-usage
145
+ */
146
+ emitAuto?: boolean
147
+ /**
148
+ * Disable transition on switch
149
+ *
150
+ * @see https://paco.me/writing/disable-theme-transitions
151
+ * @default true
152
+ */
153
+ disableTransition?: boolean
154
+ }
155
+ export type UseColorModeReturn<T extends string = BasicColorMode> = Ref<
156
+ T | BasicColorSchema
157
+ > & {
158
+ store: Ref<T | BasicColorSchema>
159
+ system: ComputedRef<BasicColorMode>
160
+ state: ComputedRef<T | BasicColorMode>
161
+ }
162
+ /**
163
+ * Reactive color mode with auto data persistence.
164
+ *
165
+ * @see https://vueuse.org/useColorMode
166
+ * @param options
167
+ */
168
+ export declare function useColorMode<T extends string = BasicColorMode>(
169
+ options?: UseColorModeOptions<T>,
170
+ ): UseColorModeReturn<T>
171
+ ```
@@ -0,0 +1,159 @@
1
+ ---
2
+ category: Utilities
3
+ ---
4
+
5
+ # useConfirmDialog
6
+
7
+ Creates event hooks to support modals and confirmation dialog chains.
8
+
9
+ Functions can be used on the template, and hooks are a handy skeleton for the business logic of modals dialog or other actions that require user confirmation.
10
+
11
+ ## Functions and hooks
12
+
13
+ - `reveal()` - triggers `onReveal` hook and sets `revealed.value` to `true`. Returns promise that resolves by `confirm()` or `cancel()`.
14
+ - `confirm()` - sets `isRevealed.value` to `false` and triggers `onConfirm` hook.
15
+ - `cancel()` - sets `isRevealed.value` to `false` and triggers `onCancel` hook.
16
+
17
+ ## Basic Usage
18
+
19
+ ### Using hooks
20
+
21
+ ```vue
22
+ <script setup lang="ts">
23
+ import { useConfirmDialog } from '@vueuse/core'
24
+
25
+ const { isRevealed, reveal, confirm, cancel, onReveal, onConfirm, onCancel }
26
+ = useConfirmDialog()
27
+ </script>
28
+
29
+ <template>
30
+ <button @click="reveal">
31
+ Reveal Modal
32
+ </button>
33
+
34
+ <teleport to="body">
35
+ <div v-if="isRevealed" class="modal-bg">
36
+ <div class="modal">
37
+ <h2>Confirm?</h2>
38
+ <button @click="confirm">
39
+ Yes
40
+ </button>
41
+ <button @click="cancel">
42
+ Cancel
43
+ </button>
44
+ </div>
45
+ </div>
46
+ </teleport>
47
+ </template>
48
+ ```
49
+
50
+ ### Promise
51
+
52
+ If you prefer working with promises:
53
+
54
+ ```vue
55
+ <script setup lang="ts">
56
+ import { useConfirmDialog } from '@vueuse/core'
57
+
58
+ const {
59
+ isRevealed,
60
+ reveal,
61
+ confirm,
62
+ cancel,
63
+ } = useConfirmDialog()
64
+
65
+ async function openDialog() {
66
+ const { data, isCanceled } = await reveal()
67
+ if (!isCanceled)
68
+ console.log(data)
69
+ }
70
+ </script>
71
+
72
+ <template>
73
+ <button @click="openDialog">
74
+ Show Modal
75
+ </button>
76
+
77
+ <teleport to="body">
78
+ <div v-if="isRevealed" class="modal-layout">
79
+ <div class="modal">
80
+ <h2>Confirm?</h2>
81
+ <button @click="confirm(true)">
82
+ Yes
83
+ </button>
84
+ <button @click="confirm(false)">
85
+ No
86
+ </button>
87
+ </div>
88
+ </div>
89
+ </teleport>
90
+ </template>
91
+ ```
92
+
93
+ ## Type Declarations
94
+
95
+ ```ts
96
+ export type UseConfirmDialogRevealResult<C, D> =
97
+ | {
98
+ data?: C
99
+ isCanceled: false
100
+ }
101
+ | {
102
+ data?: D
103
+ isCanceled: true
104
+ }
105
+ export interface UseConfirmDialogReturn<RevealData, ConfirmData, CancelData> {
106
+ /**
107
+ * Revealing state
108
+ */
109
+ isRevealed: ComputedRef<boolean>
110
+ /**
111
+ * Opens the dialog.
112
+ * Create promise and return it. Triggers `onReveal` hook.
113
+ */
114
+ reveal: (
115
+ data?: RevealData,
116
+ ) => Promise<UseConfirmDialogRevealResult<ConfirmData, CancelData>>
117
+ /**
118
+ * Confirms and closes the dialog. Triggers a callback inside `onConfirm` hook.
119
+ * Resolves promise from `reveal()` with `data` and `isCanceled` ref with `false` value.
120
+ * Can accept any data and to pass it to `onConfirm` hook.
121
+ */
122
+ confirm: (data?: ConfirmData) => void
123
+ /**
124
+ * Cancels and closes the dialog. Triggers a callback inside `onCancel` hook.
125
+ * Resolves promise from `reveal()` with `data` and `isCanceled` ref with `true` value.
126
+ * Can accept any data and to pass it to `onCancel` hook.
127
+ */
128
+ cancel: (data?: CancelData) => void
129
+ /**
130
+ * Event Hook to be triggered right before dialog creating.
131
+ */
132
+ onReveal: EventHookOn<RevealData>
133
+ /**
134
+ * Event Hook to be called on `confirm()`.
135
+ * Gets data object from `confirm` function.
136
+ */
137
+ onConfirm: EventHookOn<ConfirmData>
138
+ /**
139
+ * Event Hook to be called on `cancel()`.
140
+ * Gets data object from `cancel` function.
141
+ */
142
+ onCancel: EventHookOn<CancelData>
143
+ }
144
+ /**
145
+ * Hooks for creating confirm dialogs. Useful for modal windows, popups and logins.
146
+ *
147
+ * @see https://vueuse.org/useConfirmDialog/
148
+ * @param revealed `boolean` `ref` that handles a modal window
149
+ *
150
+ * @__NO_SIDE_EFFECTS__
151
+ */
152
+ export declare function useConfirmDialog<
153
+ RevealData = any,
154
+ ConfirmData = any,
155
+ CancelData = any,
156
+ >(
157
+ revealed?: ShallowRef<boolean>,
158
+ ): UseConfirmDialogReturn<RevealData, ConfirmData, CancelData>
159
+ ```
@@ -0,0 +1,162 @@
1
+ ---
2
+ category: '@Integrations'
3
+ ---
4
+
5
+ # useCookies
6
+
7
+ Wrapper for [`universal-cookie`](https://www.npmjs.com/package/universal-cookie).
8
+
9
+ ::: tip
10
+ When using with Nuxt 3, this functions will **NOT** be auto imported in favor of Nuxt's built-in [`useCookie()`](https://v3.nuxtjs.org/api/composables/use-cookie). Use explicit import if you want to use the function from VueUse.
11
+ :::
12
+
13
+ ## Install
14
+
15
+ ```bash
16
+ npm i universal-cookie@^7
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ### Common usage
22
+
23
+ ```vue
24
+ <script setup lang="ts">
25
+ import { useCookies } from '@vueuse/integrations/useCookies'
26
+
27
+ const cookies = useCookies(['locale'])
28
+ </script>
29
+
30
+ <template>
31
+ <div>
32
+ <strong>locale</strong>: {{ cookies.get('locale') }}
33
+ <hr>
34
+ <pre>{{ cookies.getAll() }}</pre>
35
+ <button @click="cookies.set('locale', 'ru-RU')">
36
+ Russian
37
+ </button>
38
+ <button @click="cookies.set('locale', 'en-US')">
39
+ English
40
+ </button>
41
+ </div>
42
+ </template>
43
+ ```
44
+
45
+ ## Options
46
+
47
+ Access and modify cookies using vue composition-api.
48
+
49
+ > By default, you should use it inside `setup()`, but this function also works anywhere else.
50
+
51
+ ```ts
52
+ import { useCookies } from '@vueuse/integrations/useCookies'
53
+ // ---cut---
54
+ const {
55
+ get,
56
+ getAll,
57
+ set,
58
+ remove,
59
+ addChangeListener,
60
+ removeChangeListener
61
+ } = useCookies(['cookie-name'], {
62
+ doNotParse: false,
63
+ autoUpdateDependencies: false
64
+ })
65
+ ```
66
+
67
+ ### `dependencies` (optional)
68
+
69
+ Let you optionally specify a list of cookie names your component depend on or that should trigger a re-render. If unspecified, it will render on every cookie change.
70
+
71
+ ### `options` (optional)
72
+
73
+ - `doNotParse` (boolean = false): do not convert the cookie into an object no matter what. **Passed as default value to `get`/`getAll` methods.**
74
+ - `autoUpdateDependencies` (boolean = false): automatically add cookie names ever provided to `get` method. If **true** then you don't need to care about provided `dependencies`.
75
+
76
+ ### `cookies` (optional)
77
+
78
+ Let you provide a `universal-cookie` instance (creates a new instance by default)
79
+
80
+ > Info about methods available in the [universal-cookie api docs](https://www.npmjs.com/package/universal-cookie#api---cookies-class)
81
+
82
+ ## `createCookies([req])`
83
+
84
+ Create a `universal-cookie` instance using request (default is window.document.cookie) and returns `useCookies` function with provided universal-cookie instance
85
+
86
+ - req (object): Node's [http.IncomingMessage](https://nodejs.org/api/http.html#http_class_http_incomingmessage) request object
87
+
88
+ ## Type Declarations
89
+
90
+ ```ts
91
+ /**
92
+ * Creates a new {@link useCookies} function
93
+ * @param req - incoming http request (for SSR)
94
+ * @see https://github.com/reactivestack/cookies/tree/master/packages/universal-cookie universal-cookie
95
+ * @description Creates universal-cookie instance using request (default is window.document.cookie) and returns {@link useCookies} function with provided universal-cookie instance
96
+ */
97
+ export declare function createCookies(req?: IncomingMessage): (
98
+ dependencies?: string[] | null,
99
+ {
100
+ doNotParse,
101
+ autoUpdateDependencies,
102
+ }?: {
103
+ doNotParse?: boolean | undefined
104
+ autoUpdateDependencies?: boolean | undefined
105
+ },
106
+ ) => {
107
+ /**
108
+ * Reactive get cookie by name. If **autoUpdateDependencies = true** then it will update watching dependencies
109
+ */
110
+ get: <T = any>(name: string, options?: CookieGetOptions | undefined) => T
111
+ /**
112
+ * Reactive get all cookies
113
+ */
114
+ getAll: <T = any>(options?: CookieGetOptions | undefined) => T
115
+ set: (
116
+ name: string,
117
+ value: any,
118
+ options?: CookieSetOptions | undefined,
119
+ ) => void
120
+ remove: (name: string, options?: CookieSetOptions | undefined) => void
121
+ addChangeListener: (callback: CookieChangeListener) => void
122
+ removeChangeListener: (callback: CookieChangeListener) => void
123
+ }
124
+ /**
125
+ * Reactive methods to work with cookies (use {@link createCookies} method instead if you are using SSR)
126
+ * @param dependencies - array of watching cookie's names. Pass empty array if don't want to watch cookies changes.
127
+ * @param options
128
+ * @param options.doNotParse - don't try parse value as JSON
129
+ * @param options.autoUpdateDependencies - automatically update watching dependencies
130
+ * @param cookies - universal-cookie instance
131
+ *
132
+ * @__NO_SIDE_EFFECTS__
133
+ */
134
+ export declare function useCookies(
135
+ dependencies?: string[] | null,
136
+ {
137
+ doNotParse,
138
+ autoUpdateDependencies,
139
+ }?: {
140
+ doNotParse?: boolean | undefined
141
+ autoUpdateDependencies?: boolean | undefined
142
+ },
143
+ cookies?: Cookie,
144
+ ): {
145
+ /**
146
+ * Reactive get cookie by name. If **autoUpdateDependencies = true** then it will update watching dependencies
147
+ */
148
+ get: <T = any>(name: string, options?: CookieGetOptions | undefined) => T
149
+ /**
150
+ * Reactive get all cookies
151
+ */
152
+ getAll: <T = any>(options?: CookieGetOptions | undefined) => T
153
+ set: (
154
+ name: string,
155
+ value: any,
156
+ options?: CookieSetOptions | undefined,
157
+ ) => void
158
+ remove: (name: string, options?: CookieSetOptions | undefined) => void
159
+ addChangeListener: (callback: CookieChangeListener) => void
160
+ removeChangeListener: (callback: CookieChangeListener) => void
161
+ }
162
+ ```
@@ -0,0 +1,102 @@
1
+ ---
2
+ category: Time
3
+ ---
4
+
5
+ # useCountdown
6
+
7
+ Wrapper for `useIntervalFn` that provides a countdown timer.
8
+
9
+ ## Usage
10
+
11
+ ```ts
12
+ import { useCountdown } from '@vueuse/core'
13
+
14
+ const countdownSeconds = 5
15
+ const { remaining, start, stop, pause, resume } = useCountdown(countdownSeconds, {
16
+ onComplete() {
17
+
18
+ },
19
+ onTick() {
20
+
21
+ }
22
+ })
23
+ ```
24
+
25
+ You can use a `ref` to change the initial countdown.
26
+ `start()` and `resume()` also accept a new countdown value for the next countdown.
27
+
28
+ ```ts
29
+ import { useCountdown } from '@vueuse/core'
30
+ import { shallowRef } from 'vue'
31
+
32
+ const countdown = shallowRef(5)
33
+ const { start, reset } = useCountdown(countdown, {
34
+ })
35
+
36
+ // change the countdown value
37
+ countdown.value = 10
38
+
39
+ // start a new countdown with 2 seconds
40
+ start(2)
41
+
42
+ // reset the countdown to 4, but do not start it
43
+ reset(4)
44
+
45
+ // start the countdown with the current value of `countdown`
46
+ start()
47
+ ```
48
+
49
+ ## Type Declarations
50
+
51
+ ```ts
52
+ export interface UseCountdownOptions {
53
+ /**
54
+ * Interval for the countdown in milliseconds. Default is 1000ms.
55
+ */
56
+ interval?: MaybeRefOrGetter<number>
57
+ /**
58
+ * Callback function called when the countdown reaches 0.
59
+ */
60
+ onComplete?: () => void
61
+ /**
62
+ * Callback function called on each tick of the countdown.
63
+ */
64
+ onTick?: () => void
65
+ /**
66
+ * Start the countdown immediately
67
+ *
68
+ * @default false
69
+ */
70
+ immediate?: boolean
71
+ }
72
+ export interface UseCountdownReturn extends Pausable {
73
+ /**
74
+ * Current countdown value.
75
+ */
76
+ remaining: ShallowRef<number>
77
+ /**
78
+ * Resets the countdown and repeatsLeft to their initial values.
79
+ */
80
+ reset: (countdown?: MaybeRefOrGetter<number>) => void
81
+ /**
82
+ * Stops the countdown and resets its state.
83
+ */
84
+ stop: () => void
85
+ /**
86
+ * Reset the countdown and start it again.
87
+ */
88
+ start: (countdown?: MaybeRefOrGetter<number>) => void
89
+ }
90
+ /**
91
+ * Wrapper for `useIntervalFn` that provides a countdown timer in seconds.
92
+ *
93
+ * @param initialCountdown
94
+ * @param options
95
+ *
96
+ * @see https://vueuse.org/useCountdown
97
+ */
98
+ export declare function useCountdown(
99
+ initialCountdown: MaybeRefOrGetter<number>,
100
+ options?: UseCountdownOptions,
101
+ ): UseCountdownReturn
102
+ ```