ads-fe 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -0
- package/dist/cli.js +545 -0
- package/dist/meta.js +93 -0
- package/package.json +43 -0
- package/skill.md +66 -0
- package/skills/core/SKILL.md +66 -0
- package/skills/core/references/app-development.md +45 -0
- package/skills/core/references/git.md +66 -0
- package/skills/core/references/monorepo.md +124 -0
- package/skills/element-plus-vue3/LICENSE.md +405 -0
- package/skills/element-plus-vue3/LICENSE.txt +202 -0
- package/skills/element-plus-vue3/SKILL.md +218 -0
- package/skills/element-plus-vue3/SYNC.md +5 -0
- package/skills/element-plus-vue3/api/component-api.md +94 -0
- package/skills/element-plus-vue3/api/global-config.md +89 -0
- package/skills/element-plus-vue3/api/props-and-events.md +101 -0
- package/skills/element-plus-vue3/examples/components/button.md +99 -0
- package/skills/element-plus-vue3/examples/components/date-picker.md +115 -0
- package/skills/element-plus-vue3/examples/components/dialog.md +106 -0
- package/skills/element-plus-vue3/examples/components/form.md +127 -0
- package/skills/element-plus-vue3/examples/components/input.md +123 -0
- package/skills/element-plus-vue3/examples/components/message.md +93 -0
- package/skills/element-plus-vue3/examples/components/overview.md +59 -0
- package/skills/element-plus-vue3/examples/components/select.md +133 -0
- package/skills/element-plus-vue3/examples/components/table.md +166 -0
- package/skills/element-plus-vue3/examples/guide/design.md +68 -0
- package/skills/element-plus-vue3/examples/guide/global-config.md +95 -0
- package/skills/element-plus-vue3/examples/guide/i18n.md +95 -0
- package/skills/element-plus-vue3/examples/guide/installation.md +110 -0
- package/skills/element-plus-vue3/examples/guide/quick-start.md +103 -0
- package/skills/element-plus-vue3/examples/guide/theme.md +78 -0
- package/skills/element-plus-vue3/templates/component-usage.md +92 -0
- package/skills/element-plus-vue3/templates/installation.md +82 -0
- package/skills/element-plus-vue3/templates/project-setup.md +83 -0
- package/skills/node/LICENSE.md +21 -0
- package/skills/node/SKILL.md +94 -0
- package/skills/node/SYNC.md +5 -0
- package/skills/node/rules/assets/graceful-server.test.ts +88 -0
- package/skills/node/rules/assets/graceful-server.ts +80 -0
- package/skills/node/rules/async-patterns.md +136 -0
- package/skills/node/rules/caching.md +198 -0
- package/skills/node/rules/environment.md +253 -0
- package/skills/node/rules/error-handling.md +164 -0
- package/skills/node/rules/flaky-tests.md +439 -0
- package/skills/node/rules/graceful-shutdown.md +204 -0
- package/skills/node/rules/logging.md +205 -0
- package/skills/node/rules/modules.md +105 -0
- package/skills/node/rules/node-modules-exploration.md +172 -0
- package/skills/node/rules/performance.md +130 -0
- package/skills/node/rules/profiling.md +183 -0
- package/skills/node/rules/streams.md +213 -0
- package/skills/node/rules/stuck-processes-and-tests.md +124 -0
- package/skills/node/rules/testing.md +218 -0
- package/skills/node/rules/typescript.md +262 -0
- package/skills/node/tile.json +11 -0
- package/skills/nuxt/GENERATION.md +5 -0
- package/skills/nuxt/LICENSE.md +21 -0
- package/skills/nuxt/SKILL.md +55 -0
- package/skills/nuxt/SYNC.md +5 -0
- package/skills/nuxt/references/advanced-hooks.md +289 -0
- package/skills/nuxt/references/advanced-layers.md +299 -0
- package/skills/nuxt/references/advanced-module-authoring.md +554 -0
- package/skills/nuxt/references/best-practices-data-fetching.md +357 -0
- package/skills/nuxt/references/best-practices-ssr.md +355 -0
- package/skills/nuxt/references/core-cli.md +263 -0
- package/skills/nuxt/references/core-config.md +162 -0
- package/skills/nuxt/references/core-data-fetching.md +236 -0
- package/skills/nuxt/references/core-deployment.md +224 -0
- package/skills/nuxt/references/core-directory-structure.md +269 -0
- package/skills/nuxt/references/core-modules.md +292 -0
- package/skills/nuxt/references/core-routing.md +226 -0
- package/skills/nuxt/references/features-components-autoimport.md +328 -0
- package/skills/nuxt/references/features-components.md +264 -0
- package/skills/nuxt/references/features-composables.md +276 -0
- package/skills/nuxt/references/features-server.md +265 -0
- package/skills/nuxt/references/features-state.md +194 -0
- package/skills/nuxt/references/rendering-modes.md +237 -0
- package/skills/pinia/GENERATION.md +5 -0
- package/skills/pinia/LICENSE.md +21 -0
- package/skills/pinia/SKILL.md +59 -0
- package/skills/pinia/SYNC.md +5 -0
- package/skills/pinia/references/advanced-hmr.md +61 -0
- package/skills/pinia/references/advanced-nuxt.md +119 -0
- package/skills/pinia/references/advanced-ssr.md +121 -0
- package/skills/pinia/references/best-practices-outside-component.md +115 -0
- package/skills/pinia/references/best-practices-testing.md +212 -0
- package/skills/pinia/references/core-stores.md +389 -0
- package/skills/pinia/references/features-composables.md +114 -0
- package/skills/pinia/references/features-composing-stores.md +134 -0
- package/skills/pinia/references/features-plugins.md +203 -0
- package/skills/pnpm/GENERATION.md +5 -0
- package/skills/pnpm/LICENSE.md +21 -0
- package/skills/pnpm/SKILL.md +42 -0
- package/skills/pnpm/SYNC.md +5 -0
- package/skills/pnpm/references/best-practices-ci.md +285 -0
- package/skills/pnpm/references/best-practices-migration.md +291 -0
- package/skills/pnpm/references/best-practices-performance.md +284 -0
- package/skills/pnpm/references/core-cli.md +229 -0
- package/skills/pnpm/references/core-config.md +188 -0
- package/skills/pnpm/references/core-store.md +179 -0
- package/skills/pnpm/references/core-workspaces.md +205 -0
- package/skills/pnpm/references/features-aliases.md +168 -0
- package/skills/pnpm/references/features-catalogs.md +159 -0
- package/skills/pnpm/references/features-hooks.md +233 -0
- package/skills/pnpm/references/features-overrides.md +184 -0
- package/skills/pnpm/references/features-patches.md +201 -0
- package/skills/pnpm/references/features-peer-deps.md +250 -0
- package/skills/slidev/LICENSE.md +21 -0
- package/skills/slidev/README.md +61 -0
- package/skills/slidev/SKILL.md +189 -0
- package/skills/slidev/SYNC.md +5 -0
- package/skills/slidev/references/animation-click-marker.md +37 -0
- package/skills/slidev/references/animation-drawing.md +68 -0
- package/skills/slidev/references/animation-rough-marker.md +53 -0
- package/skills/slidev/references/api-slide-hooks.md +37 -0
- package/skills/slidev/references/build-og-image.md +36 -0
- package/skills/slidev/references/build-pdf.md +40 -0
- package/skills/slidev/references/build-remote-assets.md +34 -0
- package/skills/slidev/references/build-seo-meta.md +43 -0
- package/skills/slidev/references/code-groups.md +64 -0
- package/skills/slidev/references/code-import-snippet.md +55 -0
- package/skills/slidev/references/code-line-highlighting.md +50 -0
- package/skills/slidev/references/code-line-numbers.md +46 -0
- package/skills/slidev/references/code-magic-move.md +57 -0
- package/skills/slidev/references/code-max-height.md +37 -0
- package/skills/slidev/references/code-twoslash.md +42 -0
- package/skills/slidev/references/core-animations.md +196 -0
- package/skills/slidev/references/core-cli.md +140 -0
- package/skills/slidev/references/core-components.md +197 -0
- package/skills/slidev/references/core-exporting.md +148 -0
- package/skills/slidev/references/core-frontmatter.md +195 -0
- package/skills/slidev/references/core-global-context.md +155 -0
- package/skills/slidev/references/core-headmatter.md +188 -0
- package/skills/slidev/references/core-hosting.md +152 -0
- package/skills/slidev/references/core-layouts.md +286 -0
- package/skills/slidev/references/core-syntax.md +155 -0
- package/skills/slidev/references/diagram-latex.md +55 -0
- package/skills/slidev/references/diagram-mermaid.md +44 -0
- package/skills/slidev/references/diagram-plantuml.md +45 -0
- package/skills/slidev/references/editor-monaco-run.md +44 -0
- package/skills/slidev/references/editor-monaco-write.md +24 -0
- package/skills/slidev/references/editor-monaco.md +50 -0
- package/skills/slidev/references/editor-prettier.md +40 -0
- package/skills/slidev/references/editor-side.md +23 -0
- package/skills/slidev/references/editor-vscode.md +55 -0
- package/skills/slidev/references/layout-canvas-size.md +25 -0
- package/skills/slidev/references/layout-draggable.md +57 -0
- package/skills/slidev/references/layout-global-layers.md +50 -0
- package/skills/slidev/references/layout-slots.md +75 -0
- package/skills/slidev/references/layout-transform.md +33 -0
- package/skills/slidev/references/layout-zoom.md +39 -0
- package/skills/slidev/references/presenter-notes-ruby.md +35 -0
- package/skills/slidev/references/presenter-recording.md +30 -0
- package/skills/slidev/references/presenter-remote.md +40 -0
- package/skills/slidev/references/presenter-timer.md +34 -0
- package/skills/slidev/references/style-direction.md +34 -0
- package/skills/slidev/references/style-icons.md +46 -0
- package/skills/slidev/references/style-scoped.md +50 -0
- package/skills/slidev/references/syntax-block-frontmatter.md +39 -0
- package/skills/slidev/references/syntax-comark.md +51 -0
- package/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
- package/skills/slidev/references/syntax-importing-slides.md +60 -0
- package/skills/slidev/references/tool-eject-theme.md +27 -0
- package/skills/tsdown/LICENSE.md +22 -0
- package/skills/tsdown/README.md +77 -0
- package/skills/tsdown/SKILL.md +416 -0
- package/skills/tsdown/SYNC.md +5 -0
- package/skills/tsdown/references/README.md +139 -0
- package/skills/tsdown/references/advanced-benchmark.md +8 -0
- package/skills/tsdown/references/advanced-ci.md +89 -0
- package/skills/tsdown/references/advanced-hooks.md +363 -0
- package/skills/tsdown/references/advanced-plugins.md +381 -0
- package/skills/tsdown/references/advanced-programmatic.md +378 -0
- package/skills/tsdown/references/advanced-rolldown-options.md +117 -0
- package/skills/tsdown/references/guide-getting-started.md +183 -0
- package/skills/tsdown/references/guide-introduction.md +42 -0
- package/skills/tsdown/references/guide-migrate-from-tsup.md +199 -0
- package/skills/tsdown/references/option-cjs-default.md +98 -0
- package/skills/tsdown/references/option-cleaning.md +275 -0
- package/skills/tsdown/references/option-config-file.md +291 -0
- package/skills/tsdown/references/option-css.md +301 -0
- package/skills/tsdown/references/option-dependencies.md +385 -0
- package/skills/tsdown/references/option-dts.md +251 -0
- package/skills/tsdown/references/option-entry.md +211 -0
- package/skills/tsdown/references/option-exe.md +120 -0
- package/skills/tsdown/references/option-lint.md +127 -0
- package/skills/tsdown/references/option-log-level.md +91 -0
- package/skills/tsdown/references/option-minification.md +177 -0
- package/skills/tsdown/references/option-output-directory.md +272 -0
- package/skills/tsdown/references/option-output-format.md +183 -0
- package/skills/tsdown/references/option-package-exports.md +320 -0
- package/skills/tsdown/references/option-platform.md +256 -0
- package/skills/tsdown/references/option-root.md +88 -0
- package/skills/tsdown/references/option-shims.md +299 -0
- package/skills/tsdown/references/option-sourcemap.md +301 -0
- package/skills/tsdown/references/option-target.md +222 -0
- package/skills/tsdown/references/option-tree-shaking.md +335 -0
- package/skills/tsdown/references/option-unbundle.md +310 -0
- package/skills/tsdown/references/option-watch-mode.md +261 -0
- package/skills/tsdown/references/recipe-react.md +338 -0
- package/skills/tsdown/references/recipe-solid.md +42 -0
- package/skills/tsdown/references/recipe-svelte.md +54 -0
- package/skills/tsdown/references/recipe-vue.md +387 -0
- package/skills/tsdown/references/recipe-wasm.md +125 -0
- package/skills/tsdown/references/reference-cli.md +472 -0
- package/skills/turborepo/LICENSE.md +7 -0
- package/skills/turborepo/SKILL.md +951 -0
- package/skills/turborepo/SYNC.md +5 -0
- package/skills/turborepo/command/turborepo.md +70 -0
- package/skills/turborepo/references/best-practices/RULE.md +241 -0
- package/skills/turborepo/references/best-practices/dependencies.md +246 -0
- package/skills/turborepo/references/best-practices/packages.md +335 -0
- package/skills/turborepo/references/best-practices/structure.md +297 -0
- package/skills/turborepo/references/boundaries/RULE.md +126 -0
- package/skills/turborepo/references/caching/RULE.md +153 -0
- package/skills/turborepo/references/caching/gotchas.md +190 -0
- package/skills/turborepo/references/caching/remote-cache.md +127 -0
- package/skills/turborepo/references/ci/RULE.md +79 -0
- package/skills/turborepo/references/ci/github-actions.md +162 -0
- package/skills/turborepo/references/ci/patterns.md +145 -0
- package/skills/turborepo/references/ci/vercel.md +103 -0
- package/skills/turborepo/references/cli/RULE.md +100 -0
- package/skills/turborepo/references/cli/commands.md +297 -0
- package/skills/turborepo/references/configuration/RULE.md +235 -0
- package/skills/turborepo/references/configuration/global-options.md +239 -0
- package/skills/turborepo/references/configuration/gotchas.md +368 -0
- package/skills/turborepo/references/configuration/tasks.md +325 -0
- package/skills/turborepo/references/environment/RULE.md +123 -0
- package/skills/turborepo/references/environment/gotchas.md +175 -0
- package/skills/turborepo/references/environment/modes.md +101 -0
- package/skills/turborepo/references/filtering/RULE.md +148 -0
- package/skills/turborepo/references/filtering/patterns.md +152 -0
- package/skills/turborepo/references/watch/RULE.md +99 -0
- package/skills/vite/GENERATION.md +5 -0
- package/skills/vite/LICENSE.md +21 -0
- package/skills/vite/SKILL.md +72 -0
- package/skills/vite/SYNC.md +5 -0
- package/skills/vite/references/build-and-ssr.md +164 -0
- package/skills/vite/references/core-config.md +162 -0
- package/skills/vite/references/core-features.md +205 -0
- package/skills/vite/references/core-plugin-api.md +235 -0
- package/skills/vite/references/environment-api.md +108 -0
- package/skills/vite/references/rolldown-migration.md +157 -0
- package/skills/vitepress/GENERATION.md +5 -0
- package/skills/vitepress/LICENSE.md +21 -0
- package/skills/vitepress/SKILL.md +65 -0
- package/skills/vitepress/SYNC.md +5 -0
- package/skills/vitepress/references/advanced-i18n.md +299 -0
- package/skills/vitepress/references/advanced-ssr.md +228 -0
- package/skills/vitepress/references/core-cli.md +119 -0
- package/skills/vitepress/references/core-config.md +189 -0
- package/skills/vitepress/references/core-markdown.md +277 -0
- package/skills/vitepress/references/core-routing.md +169 -0
- package/skills/vitepress/references/features-code-blocks.md +243 -0
- package/skills/vitepress/references/features-data-loading.md +220 -0
- package/skills/vitepress/references/features-dynamic-routes.md +235 -0
- package/skills/vitepress/references/features-vue.md +224 -0
- package/skills/vitepress/references/recipes-deploy.md +240 -0
- package/skills/vitepress/references/theme-config.md +315 -0
- package/skills/vitepress/references/theme-custom.md +269 -0
- package/skills/vitepress/references/theme-customization.md +290 -0
- package/skills/vitest/GENERATION.md +5 -0
- package/skills/vitest/LICENSE.md +21 -0
- package/skills/vitest/SKILL.md +52 -0
- package/skills/vitest/SYNC.md +5 -0
- package/skills/vitest/references/advanced-environments.md +264 -0
- package/skills/vitest/references/advanced-projects.md +300 -0
- package/skills/vitest/references/advanced-type-testing.md +237 -0
- package/skills/vitest/references/advanced-vi.md +249 -0
- package/skills/vitest/references/core-cli.md +166 -0
- package/skills/vitest/references/core-config.md +174 -0
- package/skills/vitest/references/core-describe.md +193 -0
- package/skills/vitest/references/core-expect.md +219 -0
- package/skills/vitest/references/core-hooks.md +244 -0
- package/skills/vitest/references/core-test-api.md +233 -0
- package/skills/vitest/references/features-concurrency.md +250 -0
- package/skills/vitest/references/features-context.md +238 -0
- package/skills/vitest/references/features-coverage.md +207 -0
- package/skills/vitest/references/features-filtering.md +211 -0
- package/skills/vitest/references/features-mocking.md +265 -0
- package/skills/vitest/references/features-snapshots.md +207 -0
- package/skills/vue/GENERATION.md +5 -0
- package/skills/vue/LICENSE.md +21 -0
- package/skills/vue/SKILL.md +84 -0
- package/skills/vue/SYNC.md +5 -0
- package/skills/vue/references/advanced-patterns.md +314 -0
- package/skills/vue/references/core-new-apis.md +264 -0
- package/skills/vue/references/script-setup-macros.md +204 -0
- package/skills/vue-best-practices/LICENSE.md +21 -0
- package/skills/vue-best-practices/SKILL.md +154 -0
- package/skills/vue-best-practices/SYNC.md +5 -0
- package/skills/vue-best-practices/references/animation-class-based-technique.md +254 -0
- package/skills/vue-best-practices/references/animation-state-driven-technique.md +291 -0
- package/skills/vue-best-practices/references/component-async.md +97 -0
- package/skills/vue-best-practices/references/component-data-flow.md +307 -0
- package/skills/vue-best-practices/references/component-fallthrough-attrs.md +174 -0
- package/skills/vue-best-practices/references/component-keep-alive.md +137 -0
- package/skills/vue-best-practices/references/component-slots.md +216 -0
- package/skills/vue-best-practices/references/component-suspense.md +228 -0
- package/skills/vue-best-practices/references/component-teleport.md +108 -0
- package/skills/vue-best-practices/references/component-transition-group.md +128 -0
- package/skills/vue-best-practices/references/component-transition.md +125 -0
- package/skills/vue-best-practices/references/composables.md +290 -0
- package/skills/vue-best-practices/references/directives.md +162 -0
- package/skills/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +159 -0
- package/skills/vue-best-practices/references/perf-v-once-v-memo-directives.md +182 -0
- package/skills/vue-best-practices/references/perf-virtualize-large-lists.md +187 -0
- package/skills/vue-best-practices/references/plugins.md +166 -0
- package/skills/vue-best-practices/references/reactivity.md +344 -0
- package/skills/vue-best-practices/references/render-functions.md +201 -0
- package/skills/vue-best-practices/references/sfc.md +310 -0
- package/skills/vue-best-practices/references/state-management.md +135 -0
- package/skills/vue-best-practices/references/updated-hook-performance.md +187 -0
- package/skills/vue-router-best-practices/LICENSE.md +21 -0
- package/skills/vue-router-best-practices/SKILL.md +23 -0
- package/skills/vue-router-best-practices/SYNC.md +5 -0
- package/skills/vue-router-best-practices/reference/router-beforeenter-no-param-trigger.md +167 -0
- package/skills/vue-router-best-practices/reference/router-beforerouteenter-no-this.md +176 -0
- package/skills/vue-router-best-practices/reference/router-guard-async-await-pattern.md +227 -0
- package/skills/vue-router-best-practices/reference/router-navigation-guard-infinite-loop.md +187 -0
- package/skills/vue-router-best-practices/reference/router-navigation-guard-next-deprecated.md +150 -0
- package/skills/vue-router-best-practices/reference/router-param-change-no-lifecycle.md +181 -0
- package/skills/vue-router-best-practices/reference/router-simple-routing-cleanup.md +209 -0
- package/skills/vue-router-best-practices/reference/router-use-vue-router-for-production.md +183 -0
- package/skills/vue-testing-best-practices/LICENSE.md +21 -0
- package/skills/vue-testing-best-practices/SKILL.md +29 -0
- package/skills/vue-testing-best-practices/SYNC.md +5 -0
- package/skills/vue-testing-best-practices/reference/async-component-testing.md +163 -0
- package/skills/vue-testing-best-practices/reference/teleport-testing-complexity.md +158 -0
- package/skills/vue-testing-best-practices/reference/testing-async-await-flushpromises.md +175 -0
- package/skills/vue-testing-best-practices/reference/testing-browser-vs-node-runners.md +208 -0
- package/skills/vue-testing-best-practices/reference/testing-component-blackbox-approach.md +144 -0
- package/skills/vue-testing-best-practices/reference/testing-composables-helper-wrapper.md +238 -0
- package/skills/vue-testing-best-practices/reference/testing-e2e-playwright-recommended.md +242 -0
- package/skills/vue-testing-best-practices/reference/testing-no-snapshot-only.md +197 -0
- package/skills/vue-testing-best-practices/reference/testing-pinia-store-setup.md +228 -0
- package/skills/vue-testing-best-practices/reference/testing-suspense-async-components.md +229 -0
- package/skills/vue-testing-best-practices/reference/testing-vitest-recommended-for-vue.md +204 -0
- package/skills/vueuse-functions/LICENSE.md +21 -0
- package/skills/vueuse-functions/SKILL.md +419 -0
- package/skills/vueuse-functions/SYNC.md +5 -0
- package/skills/vueuse-functions/references/computedAsync.md +195 -0
- package/skills/vueuse-functions/references/computedEager.md +62 -0
- package/skills/vueuse-functions/references/computedInject.md +137 -0
- package/skills/vueuse-functions/references/computedWithControl.md +98 -0
- package/skills/vueuse-functions/references/createEventHook.md +86 -0
- package/skills/vueuse-functions/references/createGenericProjection.md +25 -0
- package/skills/vueuse-functions/references/createGlobalState.md +95 -0
- package/skills/vueuse-functions/references/createInjectionState.md +226 -0
- package/skills/vueuse-functions/references/createProjection.md +31 -0
- package/skills/vueuse-functions/references/createRef.md +54 -0
- package/skills/vueuse-functions/references/createReusableTemplate.md +361 -0
- package/skills/vueuse-functions/references/createSharedComposable.md +42 -0
- package/skills/vueuse-functions/references/createTemplatePromise.md +306 -0
- package/skills/vueuse-functions/references/createUnrefFn.md +51 -0
- package/skills/vueuse-functions/references/extendRef.md +76 -0
- package/skills/vueuse-functions/references/from.md +80 -0
- package/skills/vueuse-functions/references/get.md +30 -0
- package/skills/vueuse-functions/references/injectLocal.md +35 -0
- package/skills/vueuse-functions/references/isDefined.md +31 -0
- package/skills/vueuse-functions/references/logicAnd.md +40 -0
- package/skills/vueuse-functions/references/logicNot.md +36 -0
- package/skills/vueuse-functions/references/logicOr.md +40 -0
- package/skills/vueuse-functions/references/makeDestructurable.md +41 -0
- package/skills/vueuse-functions/references/onClickOutside.md +228 -0
- package/skills/vueuse-functions/references/onElementRemoval.md +88 -0
- package/skills/vueuse-functions/references/onKeyStroke.md +212 -0
- package/skills/vueuse-functions/references/onLongPress.md +235 -0
- package/skills/vueuse-functions/references/onStartTyping.md +53 -0
- package/skills/vueuse-functions/references/provideLocal.md +37 -0
- package/skills/vueuse-functions/references/reactify.md +144 -0
- package/skills/vueuse-functions/references/reactifyObject.md +62 -0
- package/skills/vueuse-functions/references/reactiveComputed.md +34 -0
- package/skills/vueuse-functions/references/reactiveOmit.md +86 -0
- package/skills/vueuse-functions/references/reactivePick.md +106 -0
- package/skills/vueuse-functions/references/refAutoReset.md +46 -0
- package/skills/vueuse-functions/references/refDebounced.md +81 -0
- package/skills/vueuse-functions/references/refDefault.md +36 -0
- package/skills/vueuse-functions/references/refManualReset.md +48 -0
- package/skills/vueuse-functions/references/refThrottled.md +99 -0
- package/skills/vueuse-functions/references/refWithControl.md +146 -0
- package/skills/vueuse-functions/references/set.md +30 -0
- package/skills/vueuse-functions/references/syncRef.md +195 -0
- package/skills/vueuse-functions/references/syncRefs.md +128 -0
- package/skills/vueuse-functions/references/templateRef.md +86 -0
- package/skills/vueuse-functions/references/toObserver.md +38 -0
- package/skills/vueuse-functions/references/toReactive.md +41 -0
- package/skills/vueuse-functions/references/toRef.md +74 -0
- package/skills/vueuse-functions/references/toRefs.md +78 -0
- package/skills/vueuse-functions/references/tryOnBeforeMount.md +34 -0
- package/skills/vueuse-functions/references/tryOnBeforeUnmount.md +32 -0
- package/skills/vueuse-functions/references/tryOnMounted.md +34 -0
- package/skills/vueuse-functions/references/tryOnScopeDispose.md +31 -0
- package/skills/vueuse-functions/references/tryOnUnmounted.md +32 -0
- package/skills/vueuse-functions/references/unrefElement.md +54 -0
- package/skills/vueuse-functions/references/until.md +161 -0
- package/skills/vueuse-functions/references/useAbs.md +31 -0
- package/skills/vueuse-functions/references/useActiveElement.md +86 -0
- package/skills/vueuse-functions/references/useAnimate.md +180 -0
- package/skills/vueuse-functions/references/useArrayDifference.md +84 -0
- package/skills/vueuse-functions/references/useArrayEvery.md +59 -0
- package/skills/vueuse-functions/references/useArrayFilter.md +63 -0
- package/skills/vueuse-functions/references/useArrayFind.md +50 -0
- package/skills/vueuse-functions/references/useArrayFindIndex.md +59 -0
- package/skills/vueuse-functions/references/useArrayFindLast.md +52 -0
- package/skills/vueuse-functions/references/useArrayIncludes.md +63 -0
- package/skills/vueuse-functions/references/useArrayJoin.md +74 -0
- package/skills/vueuse-functions/references/useArrayMap.md +59 -0
- package/skills/vueuse-functions/references/useArrayReduce.md +81 -0
- package/skills/vueuse-functions/references/useArraySome.md +59 -0
- package/skills/vueuse-functions/references/useArrayUnique.md +76 -0
- package/skills/vueuse-functions/references/useAsyncQueue.md +136 -0
- package/skills/vueuse-functions/references/useAsyncState.md +185 -0
- package/skills/vueuse-functions/references/useAsyncValidator.md +70 -0
- package/skills/vueuse-functions/references/useAuth.md +123 -0
- package/skills/vueuse-functions/references/useAverage.md +36 -0
- package/skills/vueuse-functions/references/useAxios.md +325 -0
- package/skills/vueuse-functions/references/useBase64.md +136 -0
- package/skills/vueuse-functions/references/useBattery.md +80 -0
- package/skills/vueuse-functions/references/useBluetooth.md +174 -0
- package/skills/vueuse-functions/references/useBreakpoints.md +176 -0
- package/skills/vueuse-functions/references/useBroadcastChannel.md +73 -0
- package/skills/vueuse-functions/references/useBrowserLocation.md +56 -0
- package/skills/vueuse-functions/references/useCached.md +52 -0
- package/skills/vueuse-functions/references/useCeil.md +31 -0
- package/skills/vueuse-functions/references/useChangeCase.md +79 -0
- package/skills/vueuse-functions/references/useClamp.md +85 -0
- package/skills/vueuse-functions/references/useClipboard.md +122 -0
- package/skills/vueuse-functions/references/useClipboardItems.md +93 -0
- package/skills/vueuse-functions/references/useCloned.md +91 -0
- package/skills/vueuse-functions/references/useColorMode.md +172 -0
- package/skills/vueuse-functions/references/useConfirmDialog.md +159 -0
- package/skills/vueuse-functions/references/useCookies.md +162 -0
- package/skills/vueuse-functions/references/useCountdown.md +105 -0
- package/skills/vueuse-functions/references/useCounter.md +86 -0
- package/skills/vueuse-functions/references/useCssSupports.md +33 -0
- package/skills/vueuse-functions/references/useCssVar.md +50 -0
- package/skills/vueuse-functions/references/useCurrentElement.md +61 -0
- package/skills/vueuse-functions/references/useCycleList.md +75 -0
- package/skills/vueuse-functions/references/useDark.md +142 -0
- package/skills/vueuse-functions/references/useDateFormat.md +145 -0
- package/skills/vueuse-functions/references/useDebounceFn.md +100 -0
- package/skills/vueuse-functions/references/useDebouncedRefHistory.md +40 -0
- package/skills/vueuse-functions/references/useDeviceMotion.md +80 -0
- package/skills/vueuse-functions/references/useDeviceOrientation.md +64 -0
- package/skills/vueuse-functions/references/useDevicePixelRatio.md +47 -0
- package/skills/vueuse-functions/references/useDevicesList.md +89 -0
- package/skills/vueuse-functions/references/useDisplayMedia.md +67 -0
- package/skills/vueuse-functions/references/useDocumentVisibility.md +44 -0
- package/skills/vueuse-functions/references/useDraggable.md +289 -0
- package/skills/vueuse-functions/references/useDrauu.md +65 -0
- package/skills/vueuse-functions/references/useDropZone.md +83 -0
- package/skills/vueuse-functions/references/useElementBounding.md +131 -0
- package/skills/vueuse-functions/references/useElementByPoint.md +46 -0
- package/skills/vueuse-functions/references/useElementHover.md +79 -0
- package/skills/vueuse-functions/references/useElementSize.md +79 -0
- package/skills/vueuse-functions/references/useElementVisibility.md +163 -0
- package/skills/vueuse-functions/references/useEventBus.md +101 -0
- package/skills/vueuse-functions/references/useEventListener.md +226 -0
- package/skills/vueuse-functions/references/useEventSource.md +204 -0
- package/skills/vueuse-functions/references/useExtractedObservable.md +198 -0
- package/skills/vueuse-functions/references/useEyeDropper.md +72 -0
- package/skills/vueuse-functions/references/useFavicon.md +69 -0
- package/skills/vueuse-functions/references/useFetch.md +546 -0
- package/skills/vueuse-functions/references/useFileDialog.md +91 -0
- package/skills/vueuse-functions/references/useFileSystemAccess.md +161 -0
- package/skills/vueuse-functions/references/useFirestore.md +129 -0
- package/skills/vueuse-functions/references/useFloor.md +31 -0
- package/skills/vueuse-functions/references/useFocus.md +99 -0
- package/skills/vueuse-functions/references/useFocusTrap.md +245 -0
- package/skills/vueuse-functions/references/useFocusWithin.md +57 -0
- package/skills/vueuse-functions/references/useFps.md +28 -0
- package/skills/vueuse-functions/references/useFullscreen.md +74 -0
- package/skills/vueuse-functions/references/useFuse.md +75 -0
- package/skills/vueuse-functions/references/useGamepad.md +176 -0
- package/skills/vueuse-functions/references/useGeolocation.md +63 -0
- package/skills/vueuse-functions/references/useIDBKeyval.md +93 -0
- package/skills/vueuse-functions/references/useIdle.md +88 -0
- package/skills/vueuse-functions/references/useImage.md +90 -0
- package/skills/vueuse-functions/references/useInfiniteScroll.md +156 -0
- package/skills/vueuse-functions/references/useIntersectionObserver.md +117 -0
- package/skills/vueuse-functions/references/useInterval.md +112 -0
- package/skills/vueuse-functions/references/useIntervalFn.md +50 -0
- package/skills/vueuse-functions/references/useIpcRenderer.md +144 -0
- package/skills/vueuse-functions/references/useIpcRendererInvoke.md +58 -0
- package/skills/vueuse-functions/references/useIpcRendererOn.md +52 -0
- package/skills/vueuse-functions/references/useJwt.md +57 -0
- package/skills/vueuse-functions/references/useKeyModifier.md +87 -0
- package/skills/vueuse-functions/references/useLastChanged.md +63 -0
- package/skills/vueuse-functions/references/useLocalStorage.md +41 -0
- package/skills/vueuse-functions/references/useMagicKeys.md +245 -0
- package/skills/vueuse-functions/references/useManualRefHistory.md +204 -0
- package/skills/vueuse-functions/references/useMath.md +47 -0
- package/skills/vueuse-functions/references/useMax.md +36 -0
- package/skills/vueuse-functions/references/useMediaControls.md +201 -0
- package/skills/vueuse-functions/references/useMediaQuery.md +53 -0
- package/skills/vueuse-functions/references/useMemoize.md +175 -0
- package/skills/vueuse-functions/references/useMemory.md +70 -0
- package/skills/vueuse-functions/references/useMin.md +36 -0
- package/skills/vueuse-functions/references/useMounted.md +38 -0
- package/skills/vueuse-functions/references/useMouse.md +113 -0
- package/skills/vueuse-functions/references/useMouseInElement.md +132 -0
- package/skills/vueuse-functions/references/useMousePressed.md +116 -0
- package/skills/vueuse-functions/references/useMutationObserver.md +60 -0
- package/skills/vueuse-functions/references/useNProgress.md +78 -0
- package/skills/vueuse-functions/references/useNavigatorLanguage.md +57 -0
- package/skills/vueuse-functions/references/useNetwork.md +106 -0
- package/skills/vueuse-functions/references/useNow.md +83 -0
- package/skills/vueuse-functions/references/useObjectUrl.md +55 -0
- package/skills/vueuse-functions/references/useObservable.md +91 -0
- package/skills/vueuse-functions/references/useOffsetPagination.md +199 -0
- package/skills/vueuse-functions/references/useOnline.md +41 -0
- package/skills/vueuse-functions/references/usePageLeave.md +43 -0
- package/skills/vueuse-functions/references/useParallax.md +58 -0
- package/skills/vueuse-functions/references/useParentElement.md +54 -0
- package/skills/vueuse-functions/references/usePerformanceObserver.md +48 -0
- package/skills/vueuse-functions/references/usePermission.md +78 -0
- package/skills/vueuse-functions/references/usePointer.md +91 -0
- package/skills/vueuse-functions/references/usePointerLock.md +59 -0
- package/skills/vueuse-functions/references/usePointerSwipe.md +80 -0
- package/skills/vueuse-functions/references/usePrecision.md +49 -0
- package/skills/vueuse-functions/references/usePreferredColorScheme.md +42 -0
- package/skills/vueuse-functions/references/usePreferredContrast.md +42 -0
- package/skills/vueuse-functions/references/usePreferredDark.md +41 -0
- package/skills/vueuse-functions/references/usePreferredLanguages.md +41 -0
- package/skills/vueuse-functions/references/usePreferredReducedMotion.md +42 -0
- package/skills/vueuse-functions/references/usePreferredReducedTransparency.md +42 -0
- package/skills/vueuse-functions/references/usePrevious.md +40 -0
- package/skills/vueuse-functions/references/useProjection.md +38 -0
- package/skills/vueuse-functions/references/useQRCode.md +53 -0
- package/skills/vueuse-functions/references/useRTDB.md +83 -0
- package/skills/vueuse-functions/references/useRafFn.md +68 -0
- package/skills/vueuse-functions/references/useRefHistory.md +285 -0
- package/skills/vueuse-functions/references/useResizeObserver.md +108 -0
- package/skills/vueuse-functions/references/useRound.md +31 -0
- package/skills/vueuse-functions/references/useRouteHash.md +27 -0
- package/skills/vueuse-functions/references/useRouteParams.md +38 -0
- package/skills/vueuse-functions/references/useRouteQuery.md +79 -0
- package/skills/vueuse-functions/references/useSSRWidth.md +47 -0
- package/skills/vueuse-functions/references/useScreenOrientation.md +98 -0
- package/skills/vueuse-functions/references/useScreenSafeArea.md +60 -0
- package/skills/vueuse-functions/references/useScriptTag.md +116 -0
- package/skills/vueuse-functions/references/useScroll.md +238 -0
- package/skills/vueuse-functions/references/useScrollLock.md +66 -0
- package/skills/vueuse-functions/references/useSessionStorage.md +41 -0
- package/skills/vueuse-functions/references/useShare.md +67 -0
- package/skills/vueuse-functions/references/useSortable.md +276 -0
- package/skills/vueuse-functions/references/useSorted.md +90 -0
- package/skills/vueuse-functions/references/useSpeechRecognition.md +90 -0
- package/skills/vueuse-functions/references/useSpeechSynthesis.md +101 -0
- package/skills/vueuse-functions/references/useStepper.md +137 -0
- package/skills/vueuse-functions/references/useStorage.md +278 -0
- package/skills/vueuse-functions/references/useStorageAsync.md +136 -0
- package/skills/vueuse-functions/references/useStyleTag.md +131 -0
- package/skills/vueuse-functions/references/useSubject.md +77 -0
- package/skills/vueuse-functions/references/useSubscription.md +33 -0
- package/skills/vueuse-functions/references/useSum.md +36 -0
- package/skills/vueuse-functions/references/useSupported.md +29 -0
- package/skills/vueuse-functions/references/useSwipe.md +75 -0
- package/skills/vueuse-functions/references/useTemplateRefsList.md +37 -0
- package/skills/vueuse-functions/references/useTextDirection.md +75 -0
- package/skills/vueuse-functions/references/useTextSelection.md +43 -0
- package/skills/vueuse-functions/references/useTextareaAutosize.md +94 -0
- package/skills/vueuse-functions/references/useThrottleFn.md +57 -0
- package/skills/vueuse-functions/references/useThrottledRefHistory.md +47 -0
- package/skills/vueuse-functions/references/useTimeAgo.md +154 -0
- package/skills/vueuse-functions/references/useTimeAgoIntl.md +117 -0
- package/skills/vueuse-functions/references/useTimeout.md +113 -0
- package/skills/vueuse-functions/references/useTimeoutFn.md +51 -0
- package/skills/vueuse-functions/references/useTimeoutPoll.md +47 -0
- package/skills/vueuse-functions/references/useTimestamp.md +93 -0
- package/skills/vueuse-functions/references/useTitle.md +115 -0
- package/skills/vueuse-functions/references/useToNumber.md +54 -0
- package/skills/vueuse-functions/references/useToString.md +34 -0
- package/skills/vueuse-functions/references/useToggle.md +103 -0
- package/skills/vueuse-functions/references/useTransition.md +265 -0
- package/skills/vueuse-functions/references/useTrunc.md +33 -0
- package/skills/vueuse-functions/references/useUrlSearchParams.md +121 -0
- package/skills/vueuse-functions/references/useUserMedia.md +96 -0
- package/skills/vueuse-functions/references/useVModel.md +182 -0
- package/skills/vueuse-functions/references/useVModels.md +67 -0
- package/skills/vueuse-functions/references/useVibrate.md +86 -0
- package/skills/vueuse-functions/references/useVirtualList.md +182 -0
- package/skills/vueuse-functions/references/useWakeLock.md +51 -0
- package/skills/vueuse-functions/references/useWebNotification.md +175 -0
- package/skills/vueuse-functions/references/useWebSocket.md +299 -0
- package/skills/vueuse-functions/references/useWebWorker.md +60 -0
- package/skills/vueuse-functions/references/useWebWorkerFn.md +102 -0
- package/skills/vueuse-functions/references/useWindowFocus.md +46 -0
- package/skills/vueuse-functions/references/useWindowScroll.md +46 -0
- package/skills/vueuse-functions/references/useWindowSize.md +78 -0
- package/skills/vueuse-functions/references/useZoomFactor.md +53 -0
- package/skills/vueuse-functions/references/useZoomLevel.md +53 -0
- package/skills/vueuse-functions/references/watchArray.md +53 -0
- package/skills/vueuse-functions/references/watchAtMost.md +63 -0
- package/skills/vueuse-functions/references/watchDebounced.md +101 -0
- package/skills/vueuse-functions/references/watchDeep.md +54 -0
- package/skills/vueuse-functions/references/watchExtractedObservable.md +192 -0
- package/skills/vueuse-functions/references/watchIgnorable.md +120 -0
- package/skills/vueuse-functions/references/watchImmediate.md +44 -0
- package/skills/vueuse-functions/references/watchOnce.md +41 -0
- package/skills/vueuse-functions/references/watchPausable.md +86 -0
- package/skills/vueuse-functions/references/watchThrottled.md +108 -0
- package/skills/vueuse-functions/references/watchTriggerable.md +98 -0
- package/skills/vueuse-functions/references/watchWithFilter.md +54 -0
- package/skills/vueuse-functions/references/whenever.md +108 -0
- package/skills/web-design-guidelines/SKILL.md +39 -0
- package/skills/web-design-guidelines/SYNC.md +5 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: Sensors
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# useFocusWithin
|
|
6
|
+
|
|
7
|
+
Reactive utility to track if an element or one of its descendants has focus. It is meant to match the behavior of the `:focus-within` CSS pseudo-class. A common use case would be on a form element to see if any of its inputs currently have focus.
|
|
8
|
+
|
|
9
|
+
## Basic Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<script setup lang="ts">
|
|
13
|
+
import { useFocusWithin } from '@vueuse/core'
|
|
14
|
+
import { ref, watch } from 'vue'
|
|
15
|
+
|
|
16
|
+
const target = ref()
|
|
17
|
+
const { focused } = useFocusWithin(target)
|
|
18
|
+
|
|
19
|
+
watch(focused, (focused) => {
|
|
20
|
+
if (focused)
|
|
21
|
+
console.log('Target contains the focused element')
|
|
22
|
+
else
|
|
23
|
+
console.log('Target does NOT contain the focused element')
|
|
24
|
+
})
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<template>
|
|
28
|
+
<form ref="target">
|
|
29
|
+
<input type="text" placeholder="First Name">
|
|
30
|
+
<input type="text" placeholder="Last Name">
|
|
31
|
+
<input type="text" placeholder="Email">
|
|
32
|
+
<input type="text" placeholder="Password">
|
|
33
|
+
</form>
|
|
34
|
+
</template>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Type Declarations
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
export interface UseFocusWithinReturn {
|
|
41
|
+
/**
|
|
42
|
+
* True if the element or any of its descendants are focused
|
|
43
|
+
*/
|
|
44
|
+
focused: ComputedRef<boolean>
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Track if focus is contained within the target element
|
|
48
|
+
*
|
|
49
|
+
* @see https://vueuse.org/useFocusWithin
|
|
50
|
+
* @param target The target element to track
|
|
51
|
+
* @param options Focus within options
|
|
52
|
+
*/
|
|
53
|
+
export declare function useFocusWithin(
|
|
54
|
+
target: MaybeElementRef,
|
|
55
|
+
options?: ConfigurableWindow,
|
|
56
|
+
): UseFocusWithinReturn
|
|
57
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: Sensors
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# useFps
|
|
6
|
+
|
|
7
|
+
Reactive FPS (frames per second).
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { useFps } from '@vueuse/core'
|
|
13
|
+
|
|
14
|
+
const fps = useFps()
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Type Declarations
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
export interface UseFpsOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Calculate the FPS on every x frames.
|
|
23
|
+
* @default 10
|
|
24
|
+
*/
|
|
25
|
+
every?: number
|
|
26
|
+
}
|
|
27
|
+
export declare function useFps(options?: UseFpsOptions): ShallowRef<number>
|
|
28
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: Browser
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# useFullscreen
|
|
6
|
+
|
|
7
|
+
Reactive [Fullscreen API](https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API). It adds methods to present a specific Element (and its descendants) in full-screen mode, and to exit full-screen mode once it is no longer needed. This makes it possible to present desired content—such as an online game—using the user's entire screen, removing all browser user interface elements and other applications from the screen until full-screen mode is shut off.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { useFullscreen } from '@vueuse/core'
|
|
13
|
+
|
|
14
|
+
const { isFullscreen, enter, exit, toggle } = useFullscreen()
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Fullscreen specified element. Some platforms (like iOS's Safari) only allow fullscreen on video elements.
|
|
18
|
+
|
|
19
|
+
```vue
|
|
20
|
+
<script setup lang="ts">
|
|
21
|
+
import { useFullscreen } from '@vueuse/core'
|
|
22
|
+
import { useTemplateRef } from 'vue'
|
|
23
|
+
|
|
24
|
+
const el = useTemplateRef('el')
|
|
25
|
+
const { isFullscreen, enter, exit, toggle } = useFullscreen(el)
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<template>
|
|
29
|
+
<video ref="el" />
|
|
30
|
+
</template>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Component Usage
|
|
34
|
+
|
|
35
|
+
```vue
|
|
36
|
+
<template>
|
|
37
|
+
<UseFullscreen v-slot="{ toggle }">
|
|
38
|
+
<video />
|
|
39
|
+
<button @click="toggle">
|
|
40
|
+
Go Fullscreen
|
|
41
|
+
</button>
|
|
42
|
+
</UseFullscreen>
|
|
43
|
+
</template>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Type Declarations
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
export interface UseFullscreenOptions extends ConfigurableDocument {
|
|
50
|
+
/**
|
|
51
|
+
* Automatically exit fullscreen when component is unmounted
|
|
52
|
+
*
|
|
53
|
+
* @default false
|
|
54
|
+
*/
|
|
55
|
+
autoExit?: boolean
|
|
56
|
+
}
|
|
57
|
+
export interface UseFullscreenReturn extends Supportable {
|
|
58
|
+
isFullscreen: ShallowRef<boolean>
|
|
59
|
+
enter: () => Promise<void>
|
|
60
|
+
exit: () => Promise<void>
|
|
61
|
+
toggle: () => Promise<void>
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Reactive Fullscreen API.
|
|
65
|
+
*
|
|
66
|
+
* @see https://vueuse.org/useFullscreen
|
|
67
|
+
* @param target
|
|
68
|
+
* @param options
|
|
69
|
+
*/
|
|
70
|
+
export declare function useFullscreen(
|
|
71
|
+
target?: MaybeElementRef,
|
|
72
|
+
options?: UseFullscreenOptions,
|
|
73
|
+
): UseFullscreenReturn
|
|
74
|
+
```
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: '@Integrations'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# useFuse
|
|
6
|
+
|
|
7
|
+
Easily implement fuzzy search using a composable with [Fuse.js](https://github.com/krisk/fuse).
|
|
8
|
+
|
|
9
|
+
From the Fuse.js website:
|
|
10
|
+
|
|
11
|
+
> What is fuzzy searching?
|
|
12
|
+
>
|
|
13
|
+
> Generally speaking, fuzzy searching (more formally known as approximate string matching) is the technique of finding strings that are approximately equal to a given pattern (rather than exactly).
|
|
14
|
+
|
|
15
|
+
## Install Fuse.js as a peer dependency
|
|
16
|
+
|
|
17
|
+
### NPM
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install fuse.js@^7
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Yarn
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
yarn add fuse.js
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Usage
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
import { useFuse } from '@vueuse/integrations/useFuse'
|
|
33
|
+
import { shallowRef } from 'vue'
|
|
34
|
+
|
|
35
|
+
const data = [
|
|
36
|
+
'John Smith',
|
|
37
|
+
'John Doe',
|
|
38
|
+
'Jane Doe',
|
|
39
|
+
'Phillip Green',
|
|
40
|
+
'Peter Brown',
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
const input = shallowRef('Jhon D')
|
|
44
|
+
|
|
45
|
+
const { results } = useFuse(input, data)
|
|
46
|
+
|
|
47
|
+
/*
|
|
48
|
+
* Results:
|
|
49
|
+
*
|
|
50
|
+
* { "item": "John Doe", "index": 1 }
|
|
51
|
+
* { "item": "John Smith", "index": 0 }
|
|
52
|
+
* { "item": "Jane Doe", "index": 2 }
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Type Declarations
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
export type FuseOptions<T> = IFuseOptions<T>
|
|
61
|
+
export interface UseFuseOptions<T> {
|
|
62
|
+
fuseOptions?: FuseOptions<T>
|
|
63
|
+
resultLimit?: number
|
|
64
|
+
matchAllWhenSearchEmpty?: boolean
|
|
65
|
+
}
|
|
66
|
+
export interface UseFuseReturn<DataItem> {
|
|
67
|
+
fuse: Ref<Fuse<DataItem>>
|
|
68
|
+
results: ComputedRef<FuseResult<DataItem>[]>
|
|
69
|
+
}
|
|
70
|
+
export declare function useFuse<DataItem>(
|
|
71
|
+
search: MaybeRefOrGetter<string>,
|
|
72
|
+
data: MaybeRefOrGetter<DataItem[]>,
|
|
73
|
+
options?: MaybeRefOrGetter<UseFuseOptions<DataItem>>,
|
|
74
|
+
): UseFuseReturn<DataItem>
|
|
75
|
+
```
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: Browser
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# useGamepad
|
|
6
|
+
|
|
7
|
+
Provides reactive bindings for the [Gamepad API](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API).
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
> Due to how the Gamepad API works, you must interact with the page using the gamepad before it will be detected.
|
|
12
|
+
|
|
13
|
+
```vue
|
|
14
|
+
<script setup lang="ts">
|
|
15
|
+
import { useGamepad } from '@vueuse/core'
|
|
16
|
+
import { computed } from 'vue'
|
|
17
|
+
|
|
18
|
+
const { isSupported, gamepads } = useGamepad()
|
|
19
|
+
const gamepad = computed(() => gamepads.value.find(g => g.mapping === 'standard'))
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<template>
|
|
23
|
+
<span>
|
|
24
|
+
{{ gamepad.id }}
|
|
25
|
+
</span>
|
|
26
|
+
</template>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Gamepad Updates
|
|
30
|
+
|
|
31
|
+
Currently the Gamepad API does not have event support to update the state of the gamepad. To update the gamepad state, `requestAnimationFrame` is used to poll for gamepad changes. You can control this polling by using the `pause` and `resume` functions provided by `useGamepad`
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import { useGamepad } from '@vueuse/core'
|
|
35
|
+
|
|
36
|
+
const { pause, resume, gamepads } = useGamepad()
|
|
37
|
+
|
|
38
|
+
pause()
|
|
39
|
+
|
|
40
|
+
// gamepads object will not update
|
|
41
|
+
|
|
42
|
+
resume()
|
|
43
|
+
|
|
44
|
+
// gamepads object will update on user input
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Gamepad Connect & Disconnect Events
|
|
48
|
+
|
|
49
|
+
The `onConnected` and `onDisconnected` events will trigger when a gamepad is connected or disconnected.
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
import { useGamepad } from '@vueuse/core'
|
|
53
|
+
// ---cut---
|
|
54
|
+
const { gamepads, onConnected, onDisconnected } = useGamepad()
|
|
55
|
+
|
|
56
|
+
onConnected((index) => {
|
|
57
|
+
console.log(`${gamepads.value[index].id} connected`)
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
onDisconnected((index) => {
|
|
61
|
+
console.log(`${index} disconnected`)
|
|
62
|
+
})
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Vibration
|
|
66
|
+
|
|
67
|
+
> The Gamepad Haptics API is sparse, so check the [compatibility table](https://developer.mozilla.org/en-US/docs/Web/API/GamepadHapticActuator#browser_compatibility) before using.
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
import { useGamepad } from '@vueuse/core'
|
|
71
|
+
// ---cut---
|
|
72
|
+
import { computed } from 'vue'
|
|
73
|
+
|
|
74
|
+
const { gamepads, onConnected, onDisconnected } = useGamepad()
|
|
75
|
+
const gamepad = gamepads.value[0]!
|
|
76
|
+
|
|
77
|
+
const supportsVibration = computed(() => gamepad.hapticActuators.length > 0)
|
|
78
|
+
function vibrate() {
|
|
79
|
+
if (supportsVibration.value) {
|
|
80
|
+
const actuator = gamepad.hapticActuators[0]
|
|
81
|
+
actuator.playEffect('dual-rumble', {
|
|
82
|
+
startDelay: 0,
|
|
83
|
+
duration: 1000,
|
|
84
|
+
weakMagnitude: 1,
|
|
85
|
+
strongMagnitude: 1,
|
|
86
|
+
})
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Mappings
|
|
92
|
+
|
|
93
|
+
To make the Gamepad API easier to use, we provide mappings to map a controller to a controllers button layout.
|
|
94
|
+
|
|
95
|
+
#### Xbox360 Controller
|
|
96
|
+
|
|
97
|
+
```vue
|
|
98
|
+
<script setup>
|
|
99
|
+
import { mapGamepadToXbox360Controller } from '@vueuse/core'
|
|
100
|
+
|
|
101
|
+
const controller = mapGamepadToXbox360Controller(gamepad)
|
|
102
|
+
</script>
|
|
103
|
+
|
|
104
|
+
<template>
|
|
105
|
+
<span>{{ controller.buttons.a.pressed }}</span>
|
|
106
|
+
<span>{{ controller.buttons.b.pressed }}</span>
|
|
107
|
+
<span>{{ controller.buttons.x.pressed }}</span>
|
|
108
|
+
<span>{{ controller.buttons.y.pressed }}</span>
|
|
109
|
+
</template>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Currently there are only mappings for the Xbox 360 controller. If you have controller you want to add mappings for, feel free to open a PR for more controller mappings!
|
|
113
|
+
|
|
114
|
+
### SSR Compatibility
|
|
115
|
+
|
|
116
|
+
This component is designed to be used in the client side. In some cases, SSR might cause some hydration mismatches.
|
|
117
|
+
|
|
118
|
+
If you are using Nuxt, you can simply rename your component file with the `.client.vue` suffix (e.g., `GamepadComponent.client.vue`) which will automatically make it render only on the client side, avoiding hydration mismatches.
|
|
119
|
+
|
|
120
|
+
In other frameworks or plain Vue, you can wrap your usage component with a `<ClientOnly>` component to ensure it is only rendered on the client side.
|
|
121
|
+
|
|
122
|
+
## Type Declarations
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
export interface UseGamepadOptions
|
|
126
|
+
extends ConfigurableWindow, ConfigurableNavigator {}
|
|
127
|
+
export interface UseGamepadReturn extends Supportable, Pausable {
|
|
128
|
+
onConnected: EventHookOn<number>
|
|
129
|
+
onDisconnected: EventHookOn<number>
|
|
130
|
+
gamepads: Ref<Gamepad[]>
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Maps a standard standard gamepad to an Xbox 360 Controller.
|
|
134
|
+
*/
|
|
135
|
+
export declare function mapGamepadToXbox360Controller(
|
|
136
|
+
gamepad: Ref<Gamepad | undefined>,
|
|
137
|
+
): ComputedRef<{
|
|
138
|
+
buttons: {
|
|
139
|
+
a: GamepadButton
|
|
140
|
+
b: GamepadButton
|
|
141
|
+
x: GamepadButton
|
|
142
|
+
y: GamepadButton
|
|
143
|
+
}
|
|
144
|
+
bumper: {
|
|
145
|
+
left: GamepadButton
|
|
146
|
+
right: GamepadButton
|
|
147
|
+
}
|
|
148
|
+
triggers: {
|
|
149
|
+
left: GamepadButton
|
|
150
|
+
right: GamepadButton
|
|
151
|
+
}
|
|
152
|
+
stick: {
|
|
153
|
+
left: {
|
|
154
|
+
horizontal: number
|
|
155
|
+
vertical: number
|
|
156
|
+
button: GamepadButton
|
|
157
|
+
}
|
|
158
|
+
right: {
|
|
159
|
+
horizontal: number
|
|
160
|
+
vertical: number
|
|
161
|
+
button: GamepadButton
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
dpad: {
|
|
165
|
+
up: GamepadButton
|
|
166
|
+
down: GamepadButton
|
|
167
|
+
left: GamepadButton
|
|
168
|
+
right: GamepadButton
|
|
169
|
+
}
|
|
170
|
+
back: GamepadButton
|
|
171
|
+
start: GamepadButton
|
|
172
|
+
} | null>
|
|
173
|
+
export declare function useGamepad(
|
|
174
|
+
options?: UseGamepadOptions,
|
|
175
|
+
): UseGamepadReturn
|
|
176
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: Sensors
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# useGeolocation
|
|
6
|
+
|
|
7
|
+
Reactive [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API). It allows the user to provide their location to web applications if they so desire. For privacy reasons, the user is asked for permission to report location information.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { useGeolocation } from '@vueuse/core'
|
|
13
|
+
|
|
14
|
+
const { coords, locatedAt, error, resume, pause } = useGeolocation()
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
| State | Type | Description |
|
|
18
|
+
| --------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
|
19
|
+
| coords | [`Coordinates`](https://developer.mozilla.org/en-US/docs/Web/API/Coordinates) | information about the position retrieved like the latitude and longitude |
|
|
20
|
+
| locatedAt | `Date` | The time of the last geolocation call |
|
|
21
|
+
| error | `string` | An error message in case geolocation API fails. |
|
|
22
|
+
| resume | `function` | Control function to resume updating geolocation |
|
|
23
|
+
| pause | `function` | Control function to pause updating geolocation |
|
|
24
|
+
|
|
25
|
+
## Config
|
|
26
|
+
|
|
27
|
+
`useGeolocation` function takes [PositionOptions](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions) object as an optional parameter.
|
|
28
|
+
|
|
29
|
+
## Component Usage
|
|
30
|
+
|
|
31
|
+
```vue
|
|
32
|
+
<template>
|
|
33
|
+
<UseGeolocation v-slot="{ coords: { latitude, longitude } }">
|
|
34
|
+
Latitude: {{ latitude }}
|
|
35
|
+
Longitude: {{ longitude }}
|
|
36
|
+
</UseGeolocation>
|
|
37
|
+
</template>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Type Declarations
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
export interface UseGeolocationOptions
|
|
44
|
+
extends Partial<PositionOptions>, ConfigurableNavigator {
|
|
45
|
+
immediate?: boolean
|
|
46
|
+
}
|
|
47
|
+
export interface UseGeolocationReturn extends Supportable {
|
|
48
|
+
coords: ShallowRef<Omit<GeolocationPosition["coords"], "toJSON">>
|
|
49
|
+
locatedAt: ShallowRef<number | null>
|
|
50
|
+
error: ShallowRef<GeolocationPositionError | null>
|
|
51
|
+
resume: () => void
|
|
52
|
+
pause: () => void
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Reactive Geolocation API.
|
|
56
|
+
*
|
|
57
|
+
* @see https://vueuse.org/useGeolocation
|
|
58
|
+
* @param options
|
|
59
|
+
*/
|
|
60
|
+
export declare function useGeolocation(
|
|
61
|
+
options?: UseGeolocationOptions,
|
|
62
|
+
): UseGeolocationReturn
|
|
63
|
+
```
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: '@Integrations'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# useIDBKeyval
|
|
6
|
+
|
|
7
|
+
Wrapper for [`idb-keyval`](https://www.npmjs.com/package/idb-keyval).
|
|
8
|
+
|
|
9
|
+
## Install idb-keyval as a peer dependency
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install idb-keyval@^6
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { useIDBKeyval } from '@vueuse/integrations/useIDBKeyval'
|
|
19
|
+
|
|
20
|
+
// bind object
|
|
21
|
+
const { data: storedObject, isFinished } = useIDBKeyval('my-idb-keyval-store', { hello: 'hi', greeting: 'Hello' })
|
|
22
|
+
|
|
23
|
+
// update object
|
|
24
|
+
storedObject.value.hello = 'hola'
|
|
25
|
+
|
|
26
|
+
// bind boolean
|
|
27
|
+
const flag = useIDBKeyval('my-flag', true) // returns Ref<boolean>
|
|
28
|
+
|
|
29
|
+
// bind number
|
|
30
|
+
const count = useIDBKeyval('my-count', 0) // returns Ref<number>
|
|
31
|
+
|
|
32
|
+
// awaiting IDB transaction
|
|
33
|
+
await count.set(10)
|
|
34
|
+
console.log('IDB transaction finished!')
|
|
35
|
+
|
|
36
|
+
// delete data from idb storage
|
|
37
|
+
storedObject.value = null
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Type Declarations
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
interface Serializer<T> {
|
|
44
|
+
read: (raw: unknown) => T
|
|
45
|
+
write: (value: T) => unknown
|
|
46
|
+
}
|
|
47
|
+
export interface UseIDBOptions<T> extends ConfigurableFlush {
|
|
48
|
+
/**
|
|
49
|
+
* Watch for deep changes
|
|
50
|
+
*
|
|
51
|
+
* @default true
|
|
52
|
+
*/
|
|
53
|
+
deep?: boolean
|
|
54
|
+
/**
|
|
55
|
+
* On error callback
|
|
56
|
+
*
|
|
57
|
+
* Default log error to `console.error`
|
|
58
|
+
*/
|
|
59
|
+
onError?: (error: unknown) => void
|
|
60
|
+
/**
|
|
61
|
+
* Use shallow ref as reference
|
|
62
|
+
*
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
65
|
+
shallow?: boolean
|
|
66
|
+
/**
|
|
67
|
+
* Write the default value to the storage when it does not exist
|
|
68
|
+
*
|
|
69
|
+
* @default true
|
|
70
|
+
*/
|
|
71
|
+
writeDefaults?: boolean
|
|
72
|
+
/**
|
|
73
|
+
* Custom data serialization
|
|
74
|
+
*/
|
|
75
|
+
serializer?: Serializer<T>
|
|
76
|
+
}
|
|
77
|
+
export interface UseIDBKeyvalReturn<T> {
|
|
78
|
+
data: RemovableRef<T>
|
|
79
|
+
isFinished: ShallowRef<boolean>
|
|
80
|
+
set: (value: T) => Promise<void>
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
* @param key
|
|
85
|
+
* @param initialValue
|
|
86
|
+
* @param options
|
|
87
|
+
*/
|
|
88
|
+
export declare function useIDBKeyval<T>(
|
|
89
|
+
key: IDBValidKey,
|
|
90
|
+
initialValue: MaybeRefOrGetter<T>,
|
|
91
|
+
options?: UseIDBOptions<T>,
|
|
92
|
+
): UseIDBKeyvalReturn<T>
|
|
93
|
+
```
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
category: Sensors
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# useIdle
|
|
6
|
+
|
|
7
|
+
Tracks whether the user is being inactive.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { useIdle } from '@vueuse/core'
|
|
13
|
+
|
|
14
|
+
const { idle, lastActive } = useIdle(5 * 60 * 1000) // 5 min
|
|
15
|
+
|
|
16
|
+
console.log(idle.value) // true or false
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Programatically resetting:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { useCounter, useIdle } from '@vueuse/core'
|
|
23
|
+
import { watch } from 'vue'
|
|
24
|
+
|
|
25
|
+
const { inc, count } = useCounter()
|
|
26
|
+
|
|
27
|
+
const { idle, lastActive, reset } = useIdle(5 * 60 * 1000) // 5 min
|
|
28
|
+
|
|
29
|
+
watch(idle, (idleValue) => {
|
|
30
|
+
if (idleValue) {
|
|
31
|
+
inc()
|
|
32
|
+
console.log(`Triggered ${count.value} times`)
|
|
33
|
+
reset() // restarts the idle timer. Does not change lastActive value
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Component Usage
|
|
39
|
+
|
|
40
|
+
```vue
|
|
41
|
+
<template>
|
|
42
|
+
<UseIdle v-slot="{ idle }" :timeout="5 * 60 * 1000">
|
|
43
|
+
Is Idle: {{ idle }}
|
|
44
|
+
</UseIdle>
|
|
45
|
+
</template>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Type Declarations
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
export interface UseIdleOptions
|
|
52
|
+
extends ConfigurableWindow, ConfigurableEventFilter {
|
|
53
|
+
/**
|
|
54
|
+
* Event names that listen to for detected user activity
|
|
55
|
+
*
|
|
56
|
+
* @default ['mousemove', 'mousedown', 'resize', 'keydown', 'touchstart', 'wheel']
|
|
57
|
+
*/
|
|
58
|
+
events?: WindowEventName[]
|
|
59
|
+
/**
|
|
60
|
+
* Listen for document visibility change
|
|
61
|
+
*
|
|
62
|
+
* @default true
|
|
63
|
+
*/
|
|
64
|
+
listenForVisibilityChange?: boolean
|
|
65
|
+
/**
|
|
66
|
+
* Initial state of the ref idle
|
|
67
|
+
*
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
70
|
+
initialState?: boolean
|
|
71
|
+
}
|
|
72
|
+
export interface UseIdleReturn extends Stoppable {
|
|
73
|
+
idle: ShallowRef<boolean>
|
|
74
|
+
lastActive: ShallowRef<number>
|
|
75
|
+
reset: () => void
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Tracks whether the user is being inactive.
|
|
79
|
+
*
|
|
80
|
+
* @see https://vueuse.org/useIdle
|
|
81
|
+
* @param timeout default to 1 minute
|
|
82
|
+
* @param options IdleOptions
|
|
83
|
+
*/
|
|
84
|
+
export declare function useIdle(
|
|
85
|
+
timeout?: number,
|
|
86
|
+
options?: UseIdleOptions,
|
|
87
|
+
): UseIdleReturn
|
|
88
|
+
```
|