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.
- package/bin/cli/README.md +1 -1
- package/bin/cli/cli.js +8672 -3345
- package/bin/cli/package.json +1 -1
- package/bin/cli/sdk-tools.d.ts +41 -5
- package/dist/chunks/simple-config.mjs +1 -1
- package/package.json +2 -2
- package/templates/skills/antfu/SKILL.md +222 -0
- package/templates/skills/antfu/references/antfu-eslint-config.md +328 -0
- package/templates/skills/antfu/references/app-development.md +60 -0
- package/templates/skills/antfu/references/github-actions.md +68 -0
- package/templates/skills/antfu/references/gitignore.md +29 -0
- package/templates/skills/antfu/references/library-development.md +85 -0
- package/templates/skills/antfu/references/monorepo.md +126 -0
- package/templates/skills/antfu/references/vscode-extensions.md +34 -0
- package/templates/skills/nuxt/GENERATION.md +5 -0
- package/templates/skills/nuxt/SKILL.md +55 -0
- package/templates/skills/nuxt/references/advanced-hooks.md +289 -0
- package/templates/skills/nuxt/references/advanced-layers.md +299 -0
- package/templates/skills/nuxt/references/advanced-module-authoring.md +554 -0
- package/templates/skills/nuxt/references/best-practices-data-fetching.md +357 -0
- package/templates/skills/nuxt/references/best-practices-ssr.md +355 -0
- package/templates/skills/nuxt/references/core-cli.md +263 -0
- package/templates/skills/nuxt/references/core-config.md +162 -0
- package/templates/skills/nuxt/references/core-data-fetching.md +236 -0
- package/templates/skills/nuxt/references/core-deployment.md +224 -0
- package/templates/skills/nuxt/references/core-directory-structure.md +269 -0
- package/templates/skills/nuxt/references/core-modules.md +292 -0
- package/templates/skills/nuxt/references/core-routing.md +226 -0
- package/templates/skills/nuxt/references/features-components-autoimport.md +328 -0
- package/templates/skills/nuxt/references/features-components.md +264 -0
- package/templates/skills/nuxt/references/features-composables.md +276 -0
- package/templates/skills/nuxt/references/features-server.md +265 -0
- package/templates/skills/nuxt/references/features-state.md +194 -0
- package/templates/skills/nuxt/references/rendering-modes.md +237 -0
- package/templates/skills/pinia/GENERATION.md +5 -0
- package/templates/skills/pinia/SKILL.md +59 -0
- package/templates/skills/pinia/references/advanced-hmr.md +61 -0
- package/templates/skills/pinia/references/advanced-nuxt.md +119 -0
- package/templates/skills/pinia/references/advanced-ssr.md +121 -0
- package/templates/skills/pinia/references/best-practices-outside-component.md +115 -0
- package/templates/skills/pinia/references/best-practices-testing.md +212 -0
- package/templates/skills/pinia/references/core-stores.md +389 -0
- package/templates/skills/pinia/references/features-composables.md +114 -0
- package/templates/skills/pinia/references/features-composing-stores.md +134 -0
- package/templates/skills/pinia/references/features-plugins.md +203 -0
- package/templates/skills/pnpm/GENERATION.md +5 -0
- package/templates/skills/pnpm/SKILL.md +42 -0
- package/templates/skills/pnpm/references/best-practices-ci.md +285 -0
- package/templates/skills/pnpm/references/best-practices-migration.md +291 -0
- package/templates/skills/pnpm/references/best-practices-performance.md +284 -0
- package/templates/skills/pnpm/references/core-cli.md +229 -0
- package/templates/skills/pnpm/references/core-config.md +188 -0
- package/templates/skills/pnpm/references/core-store.md +179 -0
- package/templates/skills/pnpm/references/core-workspaces.md +205 -0
- package/templates/skills/pnpm/references/features-aliases.md +168 -0
- package/templates/skills/pnpm/references/features-catalogs.md +159 -0
- package/templates/skills/pnpm/references/features-hooks.md +233 -0
- package/templates/skills/pnpm/references/features-overrides.md +184 -0
- package/templates/skills/pnpm/references/features-patches.md +201 -0
- package/templates/skills/pnpm/references/features-peer-deps.md +250 -0
- package/templates/skills/slidev/LICENSE.md +21 -0
- package/templates/skills/slidev/README.md +61 -0
- package/templates/skills/slidev/SKILL.md +183 -0
- package/templates/skills/slidev/SYNC.md +5 -0
- package/templates/skills/slidev/references/animation-click-marker.md +37 -0
- package/templates/skills/slidev/references/animation-drawing.md +68 -0
- package/templates/skills/slidev/references/animation-rough-marker.md +53 -0
- package/templates/skills/slidev/references/api-slide-hooks.md +37 -0
- package/templates/skills/slidev/references/build-og-image.md +36 -0
- package/templates/skills/slidev/references/build-pdf.md +40 -0
- package/templates/skills/slidev/references/build-remote-assets.md +34 -0
- package/templates/skills/slidev/references/build-seo-meta.md +43 -0
- package/templates/skills/slidev/references/code-groups.md +64 -0
- package/templates/skills/slidev/references/code-import-snippet.md +55 -0
- package/templates/skills/slidev/references/code-line-highlighting.md +50 -0
- package/templates/skills/slidev/references/code-line-numbers.md +46 -0
- package/templates/skills/slidev/references/code-magic-move.md +57 -0
- package/templates/skills/slidev/references/code-max-height.md +37 -0
- package/templates/skills/slidev/references/code-twoslash.md +42 -0
- package/templates/skills/slidev/references/core-animations.md +196 -0
- package/templates/skills/slidev/references/core-cli.md +140 -0
- package/templates/skills/slidev/references/core-components.md +197 -0
- package/templates/skills/slidev/references/core-exporting.md +148 -0
- package/templates/skills/slidev/references/core-frontmatter.md +195 -0
- package/templates/skills/slidev/references/core-global-context.md +155 -0
- package/templates/skills/slidev/references/core-headmatter.md +188 -0
- package/templates/skills/slidev/references/core-hosting.md +152 -0
- package/templates/skills/slidev/references/core-layouts.md +286 -0
- package/templates/skills/slidev/references/core-syntax.md +155 -0
- package/templates/skills/slidev/references/diagram-latex.md +55 -0
- package/templates/skills/slidev/references/diagram-mermaid.md +44 -0
- package/templates/skills/slidev/references/diagram-plantuml.md +45 -0
- package/templates/skills/slidev/references/editor-monaco-run.md +44 -0
- package/templates/skills/slidev/references/editor-monaco-write.md +24 -0
- package/templates/skills/slidev/references/editor-monaco.md +50 -0
- package/templates/skills/slidev/references/editor-prettier.md +40 -0
- package/templates/skills/slidev/references/editor-side.md +23 -0
- package/templates/skills/slidev/references/editor-vscode.md +55 -0
- package/templates/skills/slidev/references/layout-canvas-size.md +25 -0
- package/templates/skills/slidev/references/layout-draggable.md +57 -0
- package/templates/skills/slidev/references/layout-global-layers.md +50 -0
- package/templates/skills/slidev/references/layout-slots.md +75 -0
- package/templates/skills/slidev/references/layout-transform.md +33 -0
- package/templates/skills/slidev/references/layout-zoom.md +39 -0
- package/templates/skills/slidev/references/presenter-notes-ruby.md +35 -0
- package/templates/skills/slidev/references/presenter-recording.md +30 -0
- package/templates/skills/slidev/references/presenter-remote.md +40 -0
- package/templates/skills/slidev/references/presenter-timer.md +34 -0
- package/templates/skills/slidev/references/style-direction.md +34 -0
- package/templates/skills/slidev/references/style-icons.md +46 -0
- package/templates/skills/slidev/references/style-scoped.md +50 -0
- package/templates/skills/slidev/references/syntax-block-frontmatter.md +39 -0
- package/templates/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
- package/templates/skills/slidev/references/syntax-importing-slides.md +60 -0
- package/templates/skills/slidev/references/syntax-mdc.md +51 -0
- package/templates/skills/slidev/references/tool-eject-theme.md +27 -0
- package/templates/skills/tech-whitepaper/SKILL.md +102 -15
- package/templates/skills/tsdown/GENERATION.md +5 -0
- package/templates/skills/tsdown/SKILL.md +59 -0
- package/templates/skills/tsdown/references/advanced-hooks.md +87 -0
- package/templates/skills/tsdown/references/advanced-plugins.md +97 -0
- package/templates/skills/tsdown/references/advanced-programmatic.md +78 -0
- package/templates/skills/tsdown/references/advanced-rolldown-options.md +114 -0
- package/templates/skills/tsdown/references/core-cli.md +116 -0
- package/templates/skills/tsdown/references/core-config.md +86 -0
- package/templates/skills/tsdown/references/core-entry.md +74 -0
- package/templates/skills/tsdown/references/features-optimization.md +83 -0
- package/templates/skills/tsdown/references/features-shims.md +92 -0
- package/templates/skills/tsdown/references/features-unbundle.md +63 -0
- package/templates/skills/tsdown/references/features-watch.md +60 -0
- package/templates/skills/tsdown/references/options-dependencies.md +88 -0
- package/templates/skills/tsdown/references/options-dts.md +104 -0
- package/templates/skills/tsdown/references/options-output.md +124 -0
- package/templates/skills/tsdown/references/options-package-exports.md +114 -0
- package/templates/skills/tsdown/references/recipes-frameworks.md +109 -0
- package/templates/skills/tsdown/references/recipes-migration.md +84 -0
- package/templates/skills/turborepo/LICENSE.md +7 -0
- package/templates/skills/turborepo/SKILL.md +914 -0
- package/templates/skills/turborepo/SYNC.md +5 -0
- package/templates/skills/turborepo/command/turborepo.md +70 -0
- package/templates/skills/turborepo/references/best-practices/README.md +241 -0
- package/templates/skills/turborepo/references/best-practices/dependencies.md +246 -0
- package/templates/skills/turborepo/references/best-practices/packages.md +335 -0
- package/templates/skills/turborepo/references/best-practices/structure.md +269 -0
- package/templates/skills/turborepo/references/boundaries/README.md +126 -0
- package/templates/skills/turborepo/references/caching/README.md +107 -0
- package/templates/skills/turborepo/references/caching/gotchas.md +169 -0
- package/templates/skills/turborepo/references/caching/remote-cache.md +127 -0
- package/templates/skills/turborepo/references/ci/README.md +79 -0
- package/templates/skills/turborepo/references/ci/github-actions.md +162 -0
- package/templates/skills/turborepo/references/ci/patterns.md +145 -0
- package/templates/skills/turborepo/references/ci/vercel.md +103 -0
- package/templates/skills/turborepo/references/cli/README.md +100 -0
- package/templates/skills/turborepo/references/cli/commands.md +297 -0
- package/templates/skills/turborepo/references/configuration/README.md +211 -0
- package/templates/skills/turborepo/references/configuration/global-options.md +195 -0
- package/templates/skills/turborepo/references/configuration/gotchas.md +348 -0
- package/templates/skills/turborepo/references/configuration/tasks.md +285 -0
- package/templates/skills/turborepo/references/environment/README.md +96 -0
- package/templates/skills/turborepo/references/environment/gotchas.md +145 -0
- package/templates/skills/turborepo/references/environment/modes.md +101 -0
- package/templates/skills/turborepo/references/filtering/README.md +148 -0
- package/templates/skills/turborepo/references/filtering/patterns.md +152 -0
- package/templates/skills/turborepo/references/watch/README.md +99 -0
- package/templates/skills/unocss/GENERATION.md +5 -0
- package/templates/skills/unocss/SKILL.md +64 -0
- package/templates/skills/unocss/references/core-config.md +187 -0
- package/templates/skills/unocss/references/core-extracting.md +137 -0
- package/templates/skills/unocss/references/core-layers.md +104 -0
- package/templates/skills/unocss/references/core-rules.md +166 -0
- package/templates/skills/unocss/references/core-safelist.md +105 -0
- package/templates/skills/unocss/references/core-shortcuts.md +89 -0
- package/templates/skills/unocss/references/core-theme.md +172 -0
- package/templates/skills/unocss/references/core-variants.md +175 -0
- package/templates/skills/unocss/references/integrations-nuxt.md +199 -0
- package/templates/skills/unocss/references/integrations-vite.md +283 -0
- package/templates/skills/unocss/references/preset-attributify.md +142 -0
- package/templates/skills/unocss/references/preset-icons.md +184 -0
- package/templates/skills/unocss/references/preset-mini.md +158 -0
- package/templates/skills/unocss/references/preset-rem-to-px.md +97 -0
- package/templates/skills/unocss/references/preset-tagify.md +134 -0
- package/templates/skills/unocss/references/preset-typography.md +95 -0
- package/templates/skills/unocss/references/preset-web-fonts.md +91 -0
- package/templates/skills/unocss/references/preset-wind3.md +194 -0
- package/templates/skills/unocss/references/preset-wind4.md +247 -0
- package/templates/skills/unocss/references/transformer-attributify-jsx.md +156 -0
- package/templates/skills/unocss/references/transformer-compile-class.md +128 -0
- package/templates/skills/unocss/references/transformer-directives.md +157 -0
- package/templates/skills/unocss/references/transformer-variant-group.md +97 -0
- package/templates/skills/vite/GENERATION.md +5 -0
- package/templates/skills/vite/SKILL.md +50 -0
- package/templates/skills/vite/references/advanced-api.md +218 -0
- package/templates/skills/vite/references/advanced-backend.md +164 -0
- package/templates/skills/vite/references/advanced-performance.md +168 -0
- package/templates/skills/vite/references/advanced-plugin-api.md +258 -0
- package/templates/skills/vite/references/build-library.md +172 -0
- package/templates/skills/vite/references/build-production.md +220 -0
- package/templates/skills/vite/references/build-ssr.md +194 -0
- package/templates/skills/vite/references/core-cli.md +137 -0
- package/templates/skills/vite/references/core-config.md +176 -0
- package/templates/skills/vite/references/core-features.md +170 -0
- package/templates/skills/vite/references/core-plugins.md +154 -0
- package/templates/skills/vite/references/features-assets.md +138 -0
- package/templates/skills/vite/references/features-css.md +215 -0
- package/templates/skills/vite/references/features-dep-bundling.md +148 -0
- package/templates/skills/vite/references/features-env.md +161 -0
- package/templates/skills/vite/references/features-glob-import.md +161 -0
- package/templates/skills/vite/references/features-hmr.md +200 -0
- package/templates/skills/vite/references/features-workers.md +115 -0
- package/templates/skills/vitepress/GENERATION.md +5 -0
- package/templates/skills/vitepress/SKILL.md +65 -0
- package/templates/skills/vitepress/references/advanced-i18n.md +299 -0
- package/templates/skills/vitepress/references/advanced-ssr.md +228 -0
- package/templates/skills/vitepress/references/core-cli.md +119 -0
- package/templates/skills/vitepress/references/core-config.md +189 -0
- package/templates/skills/vitepress/references/core-markdown.md +277 -0
- package/templates/skills/vitepress/references/core-routing.md +169 -0
- package/templates/skills/vitepress/references/features-code-blocks.md +243 -0
- package/templates/skills/vitepress/references/features-data-loading.md +220 -0
- package/templates/skills/vitepress/references/features-dynamic-routes.md +235 -0
- package/templates/skills/vitepress/references/features-vue.md +224 -0
- package/templates/skills/vitepress/references/recipes-deploy.md +240 -0
- package/templates/skills/vitepress/references/theme-config.md +315 -0
- package/templates/skills/vitepress/references/theme-custom.md +269 -0
- package/templates/skills/vitepress/references/theme-customization.md +290 -0
- package/templates/skills/vitest/GENERATION.md +5 -0
- package/templates/skills/vitest/SKILL.md +52 -0
- package/templates/skills/vitest/references/advanced-environments.md +264 -0
- package/templates/skills/vitest/references/advanced-projects.md +300 -0
- package/templates/skills/vitest/references/advanced-type-testing.md +237 -0
- package/templates/skills/vitest/references/advanced-vi.md +249 -0
- package/templates/skills/vitest/references/core-cli.md +166 -0
- package/templates/skills/vitest/references/core-config.md +174 -0
- package/templates/skills/vitest/references/core-describe.md +193 -0
- package/templates/skills/vitest/references/core-expect.md +219 -0
- package/templates/skills/vitest/references/core-hooks.md +244 -0
- package/templates/skills/vitest/references/core-test-api.md +233 -0
- package/templates/skills/vitest/references/features-concurrency.md +250 -0
- package/templates/skills/vitest/references/features-context.md +238 -0
- package/templates/skills/vitest/references/features-coverage.md +207 -0
- package/templates/skills/vitest/references/features-filtering.md +211 -0
- package/templates/skills/vitest/references/features-mocking.md +265 -0
- package/templates/skills/vitest/references/features-snapshots.md +207 -0
- package/templates/skills/vue/GENERATION.md +5 -0
- package/templates/skills/vue/SKILL.md +63 -0
- package/templates/skills/vue/references/advanced-async-suspense.md +246 -0
- package/templates/skills/vue/references/advanced-provide-inject.md +174 -0
- package/templates/skills/vue/references/components-emits.md +139 -0
- package/templates/skills/vue/references/components-lifecycle.md +192 -0
- package/templates/skills/vue/references/components-props.md +211 -0
- package/templates/skills/vue/references/components-slots.md +201 -0
- package/templates/skills/vue/references/components-v-model.md +183 -0
- package/templates/skills/vue/references/core-reactivity.md +289 -0
- package/templates/skills/vue/references/features-composables.md +262 -0
- package/templates/skills/vue/references/features-directives.md +224 -0
- package/templates/skills/vue/references/features-script-setup.md +247 -0
- package/templates/skills/vue/references/features-template-refs.md +212 -0
- package/templates/skills/vue/references/features-typescript.md +274 -0
- package/templates/skills/vue-best-practices/LICENSE.md +21 -0
- package/templates/skills/vue-best-practices/SKILL.md +38 -0
- package/templates/skills/vue-best-practices/SYNC.md +5 -0
- package/templates/skills/vue-best-practices/rules/codeactions-save-performance.md +79 -0
- package/templates/skills/vue-best-practices/rules/data-attributes-config.md +74 -0
- package/templates/skills/vue-best-practices/rules/deep-watch-numeric.md +97 -0
- package/templates/skills/vue-best-practices/rules/define-model-update-event.md +79 -0
- package/templates/skills/vue-best-practices/rules/duplicate-plugin-detection.md +102 -0
- package/templates/skills/vue-best-practices/rules/extract-component-props.md +57 -0
- package/templates/skills/vue-best-practices/rules/fallthrough-attributes.md +63 -0
- package/templates/skills/vue-best-practices/rules/hmr-vue-ssr.md +124 -0
- package/templates/skills/vue-best-practices/rules/module-resolution-bundler.md +81 -0
- package/templates/skills/vue-best-practices/rules/pinia-store-mocking.md +159 -0
- package/templates/skills/vue-best-practices/rules/script-setup-jsdoc.md +85 -0
- package/templates/skills/vue-best-practices/rules/strict-css-modules.md +68 -0
- package/templates/skills/vue-best-practices/rules/volar-3-breaking-changes.md +65 -0
- package/templates/skills/vue-best-practices/rules/vue-directive-comments.md +73 -0
- package/templates/skills/vue-best-practices/rules/vue-router-typed-params.md +81 -0
- package/templates/skills/vue-best-practices/rules/vue-tsc-strict-templates.md +69 -0
- package/templates/skills/vue-best-practices/rules/with-defaults-union-types.md +102 -0
- package/templates/skills/vueuse-functions/LICENSE.md +21 -0
- package/templates/skills/vueuse-functions/SKILL.md +418 -0
- package/templates/skills/vueuse-functions/SYNC.md +5 -0
- package/templates/skills/vueuse-functions/references/computedAsync.md +159 -0
- package/templates/skills/vueuse-functions/references/computedEager.md +62 -0
- package/templates/skills/vueuse-functions/references/computedInject.md +86 -0
- package/templates/skills/vueuse-functions/references/computedWithControl.md +100 -0
- package/templates/skills/vueuse-functions/references/createEventHook.md +86 -0
- package/templates/skills/vueuse-functions/references/createGenericProjection.md +25 -0
- package/templates/skills/vueuse-functions/references/createGlobalState.md +95 -0
- package/templates/skills/vueuse-functions/references/createInjectionState.md +215 -0
- package/templates/skills/vueuse-functions/references/createProjection.md +31 -0
- package/templates/skills/vueuse-functions/references/createRef.md +54 -0
- package/templates/skills/vueuse-functions/references/createReusableTemplate.md +357 -0
- package/templates/skills/vueuse-functions/references/createSharedComposable.md +42 -0
- package/templates/skills/vueuse-functions/references/createTemplatePromise.md +259 -0
- package/templates/skills/vueuse-functions/references/createUnrefFn.md +51 -0
- package/templates/skills/vueuse-functions/references/extendRef.md +76 -0
- package/templates/skills/vueuse-functions/references/from.md +48 -0
- package/templates/skills/vueuse-functions/references/get.md +30 -0
- package/templates/skills/vueuse-functions/references/injectLocal.md +35 -0
- package/templates/skills/vueuse-functions/references/isDefined.md +31 -0
- package/templates/skills/vueuse-functions/references/logicAnd.md +40 -0
- package/templates/skills/vueuse-functions/references/logicNot.md +36 -0
- package/templates/skills/vueuse-functions/references/logicOr.md +40 -0
- package/templates/skills/vueuse-functions/references/makeDestructurable.md +41 -0
- package/templates/skills/vueuse-functions/references/onClickOutside.md +187 -0
- package/templates/skills/vueuse-functions/references/onElementRemoval.md +64 -0
- package/templates/skills/vueuse-functions/references/onKeyStroke.md +176 -0
- package/templates/skills/vueuse-functions/references/onLongPress.md +170 -0
- package/templates/skills/vueuse-functions/references/onStartTyping.md +43 -0
- package/templates/skills/vueuse-functions/references/provideLocal.md +37 -0
- package/templates/skills/vueuse-functions/references/reactify.md +144 -0
- package/templates/skills/vueuse-functions/references/reactifyObject.md +61 -0
- package/templates/skills/vueuse-functions/references/reactiveComputed.md +34 -0
- package/templates/skills/vueuse-functions/references/reactiveOmit.md +86 -0
- package/templates/skills/vueuse-functions/references/reactivePick.md +106 -0
- package/templates/skills/vueuse-functions/references/refAutoReset.md +44 -0
- package/templates/skills/vueuse-functions/references/refDebounced.md +81 -0
- package/templates/skills/vueuse-functions/references/refDefault.md +36 -0
- package/templates/skills/vueuse-functions/references/refManualReset.md +44 -0
- package/templates/skills/vueuse-functions/references/refThrottled.md +99 -0
- package/templates/skills/vueuse-functions/references/refWithControl.md +146 -0
- package/templates/skills/vueuse-functions/references/set.md +30 -0
- package/templates/skills/vueuse-functions/references/syncRef.md +195 -0
- package/templates/skills/vueuse-functions/references/syncRefs.md +128 -0
- package/templates/skills/vueuse-functions/references/templateRef.md +86 -0
- package/templates/skills/vueuse-functions/references/toObserver.md +38 -0
- package/templates/skills/vueuse-functions/references/toReactive.md +41 -0
- package/templates/skills/vueuse-functions/references/toRef.md +75 -0
- package/templates/skills/vueuse-functions/references/toRefs.md +81 -0
- package/templates/skills/vueuse-functions/references/tryOnBeforeMount.md +34 -0
- package/templates/skills/vueuse-functions/references/tryOnBeforeUnmount.md +32 -0
- package/templates/skills/vueuse-functions/references/tryOnMounted.md +34 -0
- package/templates/skills/vueuse-functions/references/tryOnScopeDispose.md +31 -0
- package/templates/skills/vueuse-functions/references/tryOnUnmounted.md +32 -0
- package/templates/skills/vueuse-functions/references/unrefElement.md +54 -0
- package/templates/skills/vueuse-functions/references/until.md +165 -0
- package/templates/skills/vueuse-functions/references/useAbs.md +31 -0
- package/templates/skills/vueuse-functions/references/useActiveElement.md +65 -0
- package/templates/skills/vueuse-functions/references/useAnimate.md +140 -0
- package/templates/skills/vueuse-functions/references/useArrayDifference.md +84 -0
- package/templates/skills/vueuse-functions/references/useArrayEvery.md +59 -0
- package/templates/skills/vueuse-functions/references/useArrayFilter.md +63 -0
- package/templates/skills/vueuse-functions/references/useArrayFind.md +50 -0
- package/templates/skills/vueuse-functions/references/useArrayFindIndex.md +59 -0
- package/templates/skills/vueuse-functions/references/useArrayFindLast.md +52 -0
- package/templates/skills/vueuse-functions/references/useArrayIncludes.md +63 -0
- package/templates/skills/vueuse-functions/references/useArrayJoin.md +74 -0
- package/templates/skills/vueuse-functions/references/useArrayMap.md +59 -0
- package/templates/skills/vueuse-functions/references/useArrayReduce.md +81 -0
- package/templates/skills/vueuse-functions/references/useArraySome.md +59 -0
- package/templates/skills/vueuse-functions/references/useArrayUnique.md +76 -0
- package/templates/skills/vueuse-functions/references/useAsyncQueue.md +87 -0
- package/templates/skills/vueuse-functions/references/useAsyncState.md +140 -0
- package/templates/skills/vueuse-functions/references/useAsyncValidator.md +70 -0
- package/templates/skills/vueuse-functions/references/useAuth.md +114 -0
- package/templates/skills/vueuse-functions/references/useAverage.md +36 -0
- package/templates/skills/vueuse-functions/references/useAxios.md +292 -0
- package/templates/skills/vueuse-functions/references/useBase64.md +88 -0
- package/templates/skills/vueuse-functions/references/useBattery.md +67 -0
- package/templates/skills/vueuse-functions/references/useBluetooth.md +161 -0
- package/templates/skills/vueuse-functions/references/useBreakpoints.md +128 -0
- package/templates/skills/vueuse-functions/references/useBroadcastChannel.md +74 -0
- package/templates/skills/vueuse-functions/references/useBrowserLocation.md +83 -0
- package/templates/skills/vueuse-functions/references/useCached.md +53 -0
- package/templates/skills/vueuse-functions/references/useCeil.md +31 -0
- package/templates/skills/vueuse-functions/references/useChangeCase.md +79 -0
- package/templates/skills/vueuse-functions/references/useClamp.md +51 -0
- package/templates/skills/vueuse-functions/references/useClipboard.md +99 -0
- package/templates/skills/vueuse-functions/references/useClipboardItems.md +93 -0
- package/templates/skills/vueuse-functions/references/useCloned.md +91 -0
- package/templates/skills/vueuse-functions/references/useColorMode.md +171 -0
- package/templates/skills/vueuse-functions/references/useConfirmDialog.md +159 -0
- package/templates/skills/vueuse-functions/references/useCookies.md +162 -0
- package/templates/skills/vueuse-functions/references/useCountdown.md +102 -0
- package/templates/skills/vueuse-functions/references/useCounter.md +86 -0
- package/templates/skills/vueuse-functions/references/useCssVar.md +50 -0
- package/templates/skills/vueuse-functions/references/useCurrentElement.md +61 -0
- package/templates/skills/vueuse-functions/references/useCycleList.md +75 -0
- package/templates/skills/vueuse-functions/references/useDark.md +142 -0
- package/templates/skills/vueuse-functions/references/useDateFormat.md +145 -0
- package/templates/skills/vueuse-functions/references/useDebounceFn.md +100 -0
- package/templates/skills/vueuse-functions/references/useDebouncedRefHistory.md +40 -0
- package/templates/skills/vueuse-functions/references/useDeviceMotion.md +87 -0
- package/templates/skills/vueuse-functions/references/useDeviceOrientation.md +62 -0
- package/templates/skills/vueuse-functions/references/useDevicePixelRatio.md +44 -0
- package/templates/skills/vueuse-functions/references/useDevicesList.md +90 -0
- package/templates/skills/vueuse-functions/references/useDisplayMedia.md +71 -0
- package/templates/skills/vueuse-functions/references/useDocumentVisibility.md +45 -0
- package/templates/skills/vueuse-functions/references/useDraggable.md +210 -0
- package/templates/skills/vueuse-functions/references/useDrauu.md +65 -0
- package/templates/skills/vueuse-functions/references/useDropZone.md +83 -0
- package/templates/skills/vueuse-functions/references/useElementBounding.md +131 -0
- package/templates/skills/vueuse-functions/references/useElementByPoint.md +45 -0
- package/templates/skills/vueuse-functions/references/useElementHover.md +79 -0
- package/templates/skills/vueuse-functions/references/useElementSize.md +78 -0
- package/templates/skills/vueuse-functions/references/useElementVisibility.md +126 -0
- package/templates/skills/vueuse-functions/references/useEventBus.md +101 -0
- package/templates/skills/vueuse-functions/references/useEventListener.md +184 -0
- package/templates/skills/vueuse-functions/references/useEventSource.md +204 -0
- package/templates/skills/vueuse-functions/references/useExtractedObservable.md +185 -0
- package/templates/skills/vueuse-functions/references/useEyeDropper.md +71 -0
- package/templates/skills/vueuse-functions/references/useFavicon.md +67 -0
- package/templates/skills/vueuse-functions/references/useFetch.md +546 -0
- package/templates/skills/vueuse-functions/references/useFileDialog.md +91 -0
- package/templates/skills/vueuse-functions/references/useFileSystemAccess.md +162 -0
- package/templates/skills/vueuse-functions/references/useFirestore.md +104 -0
- package/templates/skills/vueuse-functions/references/useFloor.md +31 -0
- package/templates/skills/vueuse-functions/references/useFocus.md +99 -0
- package/templates/skills/vueuse-functions/references/useFocusTrap.md +245 -0
- package/templates/skills/vueuse-functions/references/useFocusWithin.md +57 -0
- package/templates/skills/vueuse-functions/references/useFps.md +28 -0
- package/templates/skills/vueuse-functions/references/useFullscreen.md +75 -0
- package/templates/skills/vueuse-functions/references/useFuse.md +107 -0
- package/templates/skills/vueuse-functions/references/useGamepad.md +223 -0
- package/templates/skills/vueuse-functions/references/useGeolocation.md +86 -0
- package/templates/skills/vueuse-functions/references/useIDBKeyval.md +93 -0
- package/templates/skills/vueuse-functions/references/useIdle.md +89 -0
- package/templates/skills/vueuse-functions/references/useImage.md +86 -0
- package/templates/skills/vueuse-functions/references/useInfiniteScroll.md +157 -0
- package/templates/skills/vueuse-functions/references/useIntersectionObserver.md +118 -0
- package/templates/skills/vueuse-functions/references/useInterval.md +69 -0
- package/templates/skills/vueuse-functions/references/useIntervalFn.md +50 -0
- package/templates/skills/vueuse-functions/references/useIpcRenderer.md +118 -0
- package/templates/skills/vueuse-functions/references/useIpcRendererInvoke.md +58 -0
- package/templates/skills/vueuse-functions/references/useIpcRendererOn.md +52 -0
- package/templates/skills/vueuse-functions/references/useJwt.md +57 -0
- package/templates/skills/vueuse-functions/references/useKeyModifier.md +87 -0
- package/templates/skills/vueuse-functions/references/useLastChanged.md +63 -0
- package/templates/skills/vueuse-functions/references/useLocalStorage.md +41 -0
- package/templates/skills/vueuse-functions/references/useMagicKeys.md +217 -0
- package/templates/skills/vueuse-functions/references/useManualRefHistory.md +204 -0
- package/templates/skills/vueuse-functions/references/useMath.md +47 -0
- package/templates/skills/vueuse-functions/references/useMax.md +36 -0
- package/templates/skills/vueuse-functions/references/useMediaControls.md +571 -0
- package/templates/skills/vueuse-functions/references/useMediaQuery.md +53 -0
- package/templates/skills/vueuse-functions/references/useMemoize.md +175 -0
- package/templates/skills/vueuse-functions/references/useMemory.md +56 -0
- package/templates/skills/vueuse-functions/references/useMin.md +36 -0
- package/templates/skills/vueuse-functions/references/useMounted.md +38 -0
- package/templates/skills/vueuse-functions/references/useMouse.md +114 -0
- package/templates/skills/vueuse-functions/references/useMouseInElement.md +123 -0
- package/templates/skills/vueuse-functions/references/useMousePressed.md +112 -0
- package/templates/skills/vueuse-functions/references/useMutationObserver.md +62 -0
- package/templates/skills/vueuse-functions/references/useNProgress.md +78 -0
- package/templates/skills/vueuse-functions/references/useNavigatorLanguage.md +57 -0
- package/templates/skills/vueuse-functions/references/useNetwork.md +106 -0
- package/templates/skills/vueuse-functions/references/useNow.md +75 -0
- package/templates/skills/vueuse-functions/references/useObjectUrl.md +55 -0
- package/templates/skills/vueuse-functions/references/useObservable.md +67 -0
- package/templates/skills/vueuse-functions/references/useOffsetPagination.md +199 -0
- package/templates/skills/vueuse-functions/references/useOnline.md +41 -0
- package/templates/skills/vueuse-functions/references/usePageLeave.md +42 -0
- package/templates/skills/vueuse-functions/references/useParallax.md +58 -0
- package/templates/skills/vueuse-functions/references/useParentElement.md +54 -0
- package/templates/skills/vueuse-functions/references/usePerformanceObserver.md +48 -0
- package/templates/skills/vueuse-functions/references/usePermission.md +78 -0
- package/templates/skills/vueuse-functions/references/usePointer.md +89 -0
- package/templates/skills/vueuse-functions/references/usePointerLock.md +60 -0
- package/templates/skills/vueuse-functions/references/usePointerSwipe.md +80 -0
- package/templates/skills/vueuse-functions/references/usePrecision.md +49 -0
- package/templates/skills/vueuse-functions/references/usePreferredColorScheme.md +42 -0
- package/templates/skills/vueuse-functions/references/usePreferredContrast.md +42 -0
- package/templates/skills/vueuse-functions/references/usePreferredDark.md +41 -0
- package/templates/skills/vueuse-functions/references/usePreferredLanguages.md +41 -0
- package/templates/skills/vueuse-functions/references/usePreferredReducedMotion.md +42 -0
- package/templates/skills/vueuse-functions/references/usePreferredReducedTransparency.md +42 -0
- package/templates/skills/vueuse-functions/references/usePrevious.md +40 -0
- package/templates/skills/vueuse-functions/references/useProjection.md +38 -0
- package/templates/skills/vueuse-functions/references/useQRCode.md +53 -0
- package/templates/skills/vueuse-functions/references/useRTDB.md +70 -0
- package/templates/skills/vueuse-functions/references/useRafFn.md +68 -0
- package/templates/skills/vueuse-functions/references/useRefHistory.md +292 -0
- package/templates/skills/vueuse-functions/references/useResizeObserver.md +110 -0
- package/templates/skills/vueuse-functions/references/useRound.md +31 -0
- package/templates/skills/vueuse-functions/references/useRouteHash.md +27 -0
- package/templates/skills/vueuse-functions/references/useRouteParams.md +38 -0
- package/templates/skills/vueuse-functions/references/useRouteQuery.md +38 -0
- package/templates/skills/vueuse-functions/references/useSSRWidth.md +47 -0
- package/templates/skills/vueuse-functions/references/useScreenOrientation.md +96 -0
- package/templates/skills/vueuse-functions/references/useScreenSafeArea.md +60 -0
- package/templates/skills/vueuse-functions/references/useScriptTag.md +116 -0
- package/templates/skills/vueuse-functions/references/useScroll.md +238 -0
- package/templates/skills/vueuse-functions/references/useScrollLock.md +66 -0
- package/templates/skills/vueuse-functions/references/useSessionStorage.md +41 -0
- package/templates/skills/vueuse-functions/references/useShare.md +68 -0
- package/templates/skills/vueuse-functions/references/useSortable.md +177 -0
- package/templates/skills/vueuse-functions/references/useSorted.md +90 -0
- package/templates/skills/vueuse-functions/references/useSpeechRecognition.md +94 -0
- package/templates/skills/vueuse-functions/references/useSpeechSynthesis.md +105 -0
- package/templates/skills/vueuse-functions/references/useStepper.md +137 -0
- package/templates/skills/vueuse-functions/references/useStorage.md +219 -0
- package/templates/skills/vueuse-functions/references/useStorageAsync.md +134 -0
- package/templates/skills/vueuse-functions/references/useStyleTag.md +131 -0
- package/templates/skills/vueuse-functions/references/useSubject.md +52 -0
- package/templates/skills/vueuse-functions/references/useSubscription.md +33 -0
- package/templates/skills/vueuse-functions/references/useSum.md +36 -0
- package/templates/skills/vueuse-functions/references/useSupported.md +29 -0
- package/templates/skills/vueuse-functions/references/useSwipe.md +75 -0
- package/templates/skills/vueuse-functions/references/useTemplateRefsList.md +37 -0
- package/templates/skills/vueuse-functions/references/useTextDirection.md +75 -0
- package/templates/skills/vueuse-functions/references/useTextSelection.md +40 -0
- package/templates/skills/vueuse-functions/references/useTextareaAutosize.md +97 -0
- package/templates/skills/vueuse-functions/references/useThrottleFn.md +57 -0
- package/templates/skills/vueuse-functions/references/useThrottledRefHistory.md +47 -0
- package/templates/skills/vueuse-functions/references/useTimeAgo.md +152 -0
- package/templates/skills/vueuse-functions/references/useTimeAgoIntl.md +116 -0
- package/templates/skills/vueuse-functions/references/useTimeout.md +75 -0
- package/templates/skills/vueuse-functions/references/useTimeoutFn.md +51 -0
- package/templates/skills/vueuse-functions/references/useTimeoutPoll.md +47 -0
- package/templates/skills/vueuse-functions/references/useTimestamp.md +85 -0
- package/templates/skills/vueuse-functions/references/useTitle.md +113 -0
- package/templates/skills/vueuse-functions/references/useToNumber.md +54 -0
- package/templates/skills/vueuse-functions/references/useToString.md +34 -0
- package/templates/skills/vueuse-functions/references/useToggle.md +56 -0
- package/templates/skills/vueuse-functions/references/useTransition.md +265 -0
- package/templates/skills/vueuse-functions/references/useTrunc.md +33 -0
- package/templates/skills/vueuse-functions/references/useUrlSearchParams.md +121 -0
- package/templates/skills/vueuse-functions/references/useUserMedia.md +1138 -0
- package/templates/skills/vueuse-functions/references/useVModel.md +116 -0
- package/templates/skills/vueuse-functions/references/useVModels.md +67 -0
- package/templates/skills/vueuse-functions/references/useVibrate.md +83 -0
- package/templates/skills/vueuse-functions/references/useVirtualList.md +184 -0
- package/templates/skills/vueuse-functions/references/useWakeLock.md +50 -0
- package/templates/skills/vueuse-functions/references/useWebNotification.md +177 -0
- package/templates/skills/vueuse-functions/references/useWebSocket.md +268 -0
- package/templates/skills/vueuse-functions/references/useWebWorker.md +60 -0
- package/templates/skills/vueuse-functions/references/useWebWorkerFn.md +102 -0
- package/templates/skills/vueuse-functions/references/useWindowFocus.md +46 -0
- package/templates/skills/vueuse-functions/references/useWindowScroll.md +62 -0
- package/templates/skills/vueuse-functions/references/useWindowSize.md +76 -0
- package/templates/skills/vueuse-functions/references/useZoomFactor.md +53 -0
- package/templates/skills/vueuse-functions/references/useZoomLevel.md +53 -0
- package/templates/skills/vueuse-functions/references/watchArray.md +53 -0
- package/templates/skills/vueuse-functions/references/watchAtMost.md +54 -0
- package/templates/skills/vueuse-functions/references/watchDebounced.md +72 -0
- package/templates/skills/vueuse-functions/references/watchDeep.md +54 -0
- package/templates/skills/vueuse-functions/references/watchExtractedObservable.md +167 -0
- package/templates/skills/vueuse-functions/references/watchIgnorable.md +120 -0
- package/templates/skills/vueuse-functions/references/watchImmediate.md +44 -0
- package/templates/skills/vueuse-functions/references/watchOnce.md +41 -0
- package/templates/skills/vueuse-functions/references/watchPausable.md +86 -0
- package/templates/skills/vueuse-functions/references/watchThrottled.md +73 -0
- package/templates/skills/vueuse-functions/references/watchTriggerable.md +97 -0
- package/templates/skills/vueuse-functions/references/watchWithFilter.md +55 -0
- package/templates/skills/vueuse-functions/references/whenever.md +100 -0
- package/templates/skills/web-design-guidelines/SKILL.md +39 -0
- 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
|
+
```
|