devskill 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. package/README.md +123 -0
  2. package/README.vn.md +104 -0
  3. package/SKILL_GUIDE.vn.md +252 -0
  4. package/bin/devskill.js +11 -0
  5. package/meta.ts +123 -0
  6. package/package.json +21 -0
  7. package/publish.sh +50 -0
  8. package/scripts/cli.ts +556 -0
  9. package/skills/builderx_api-contexts/SKILL.md +63 -0
  10. package/skills/builderx_api-contexts/references/core-multi-outbox.md +57 -0
  11. package/skills/builderx_api-controllers/SKILL.md +49 -0
  12. package/skills/builderx_api-controllers/references/core-fallback.md +62 -0
  13. package/skills/builderx_api-schemas/SKILL.md +76 -0
  14. package/skills/builderx_api-schemas/references/core-schema.md +78 -0
  15. package/skills/builderx_spa-api/SKILL.md +67 -0
  16. package/skills/builderx_spa-api/references/base-api.md +97 -0
  17. package/skills/builderx_spa-api/references/fetch.md +70 -0
  18. package/skills/builderx_spa-design/SKILL.md +82 -0
  19. package/skills/builderx_spa-design/references/core-text-design.md +64 -0
  20. package/skills/builderx_spa-design/references/features-feedback-actions.md +76 -0
  21. package/skills/builderx_spa-design/references/features-forms.md +91 -0
  22. package/skills/builderx_spa-design/references/features-layout-navigation.md +121 -0
  23. package/skills/builderx_spa-permission/SKILL.md +38 -0
  24. package/skills/builderx_spa-permission/references/has-permission.md +34 -0
  25. package/skills/composition-patterns/AGENTS.md +946 -0
  26. package/skills/composition-patterns/README.md +60 -0
  27. package/skills/composition-patterns/SKILL.md +89 -0
  28. package/skills/composition-patterns/SYNC.md +5 -0
  29. package/skills/composition-patterns/metadata.json +11 -0
  30. package/skills/composition-patterns/rules/_sections.md +29 -0
  31. package/skills/composition-patterns/rules/_template.md +24 -0
  32. package/skills/composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  33. package/skills/composition-patterns/rules/architecture-compound-components.md +112 -0
  34. package/skills/composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  35. package/skills/composition-patterns/rules/patterns-explicit-variants.md +100 -0
  36. package/skills/composition-patterns/rules/react19-no-forwardref.md +42 -0
  37. package/skills/composition-patterns/rules/state-context-interface.md +191 -0
  38. package/skills/composition-patterns/rules/state-decouple-implementation.md +113 -0
  39. package/skills/composition-patterns/rules/state-lift-state.md +125 -0
  40. package/skills/deploy-to-vercel/Archive.zip +0 -0
  41. package/skills/deploy-to-vercel/SKILL.md +296 -0
  42. package/skills/deploy-to-vercel/SYNC.md +5 -0
  43. package/skills/deploy-to-vercel/resources/deploy-codex.sh +301 -0
  44. package/skills/deploy-to-vercel/resources/deploy.sh +301 -0
  45. package/skills/pinia/SKILL.md +105 -0
  46. package/skills/pinia/references/api-in-composables.md +139 -0
  47. package/skills/pinia/references/setup-stores.md +105 -0
  48. package/skills/pinia/references/using-in-components.md +91 -0
  49. package/skills/pinia-options/SKILL.md +72 -0
  50. package/skills/pinia-options/references/core-option-stores.md +149 -0
  51. package/skills/pinia-options/references/using-in-options-api.md +105 -0
  52. package/skills/react-best-practices/AGENTS.md +3373 -0
  53. package/skills/react-best-practices/README.md +123 -0
  54. package/skills/react-best-practices/SKILL.md +143 -0
  55. package/skills/react-best-practices/SYNC.md +5 -0
  56. package/skills/react-best-practices/metadata.json +15 -0
  57. package/skills/react-best-practices/rules/_sections.md +46 -0
  58. package/skills/react-best-practices/rules/_template.md +28 -0
  59. package/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  60. package/skills/react-best-practices/rules/advanced-init-once.md +42 -0
  61. package/skills/react-best-practices/rules/advanced-use-latest.md +39 -0
  62. package/skills/react-best-practices/rules/async-api-routes.md +38 -0
  63. package/skills/react-best-practices/rules/async-defer-await.md +80 -0
  64. package/skills/react-best-practices/rules/async-dependencies.md +51 -0
  65. package/skills/react-best-practices/rules/async-parallel.md +28 -0
  66. package/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  67. package/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  68. package/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  69. package/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  70. package/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  71. package/skills/react-best-practices/rules/bundle-preload.md +50 -0
  72. package/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  73. package/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  74. package/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  75. package/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  76. package/skills/react-best-practices/rules/js-batch-dom-css.md +107 -0
  77. package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  78. package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  79. package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  80. package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  81. package/skills/react-best-practices/rules/js-early-exit.md +50 -0
  82. package/skills/react-best-practices/rules/js-flatmap-filter.md +60 -0
  83. package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  84. package/skills/react-best-practices/rules/js-index-maps.md +37 -0
  85. package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  86. package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  87. package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  88. package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  89. package/skills/react-best-practices/rules/rendering-activity.md +26 -0
  90. package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  91. package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  92. package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  93. package/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  94. package/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  95. package/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  96. package/skills/react-best-practices/rules/rendering-resource-hints.md +85 -0
  97. package/skills/react-best-practices/rules/rendering-script-defer-async.md +68 -0
  98. package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  99. package/skills/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  100. package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  101. package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  102. package/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  103. package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  104. package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  105. package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  106. package/skills/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  107. package/skills/react-best-practices/rules/rerender-memo.md +44 -0
  108. package/skills/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  109. package/skills/react-best-practices/rules/rerender-no-inline-components.md +82 -0
  110. package/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  111. package/skills/react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
  112. package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  113. package/skills/react-best-practices/rules/rerender-use-deferred-value.md +59 -0
  114. package/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  115. package/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  116. package/skills/react-best-practices/rules/server-auth-actions.md +96 -0
  117. package/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  118. package/skills/react-best-practices/rules/server-cache-react.md +76 -0
  119. package/skills/react-best-practices/rules/server-dedup-props.md +65 -0
  120. package/skills/react-best-practices/rules/server-hoist-static-io.md +142 -0
  121. package/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  122. package/skills/react-best-practices/rules/server-serialization.md +38 -0
  123. package/skills/react-native-skills/AGENTS.md +2897 -0
  124. package/skills/react-native-skills/README.md +165 -0
  125. package/skills/react-native-skills/SKILL.md +121 -0
  126. package/skills/react-native-skills/SYNC.md +5 -0
  127. package/skills/react-native-skills/metadata.json +16 -0
  128. package/skills/react-native-skills/rules/_sections.md +86 -0
  129. package/skills/react-native-skills/rules/_template.md +28 -0
  130. package/skills/react-native-skills/rules/animation-derived-value.md +53 -0
  131. package/skills/react-native-skills/rules/animation-gesture-detector-press.md +95 -0
  132. package/skills/react-native-skills/rules/animation-gpu-properties.md +65 -0
  133. package/skills/react-native-skills/rules/design-system-compound-components.md +66 -0
  134. package/skills/react-native-skills/rules/fonts-config-plugin.md +71 -0
  135. package/skills/react-native-skills/rules/imports-design-system-folder.md +68 -0
  136. package/skills/react-native-skills/rules/js-hoist-intl.md +61 -0
  137. package/skills/react-native-skills/rules/list-performance-callbacks.md +44 -0
  138. package/skills/react-native-skills/rules/list-performance-function-references.md +132 -0
  139. package/skills/react-native-skills/rules/list-performance-images.md +53 -0
  140. package/skills/react-native-skills/rules/list-performance-inline-objects.md +97 -0
  141. package/skills/react-native-skills/rules/list-performance-item-expensive.md +94 -0
  142. package/skills/react-native-skills/rules/list-performance-item-memo.md +82 -0
  143. package/skills/react-native-skills/rules/list-performance-item-types.md +104 -0
  144. package/skills/react-native-skills/rules/list-performance-virtualize.md +67 -0
  145. package/skills/react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
  146. package/skills/react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
  147. package/skills/react-native-skills/rules/navigation-native-navigators.md +188 -0
  148. package/skills/react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
  149. package/skills/react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
  150. package/skills/react-native-skills/rules/react-state-dispatcher.md +91 -0
  151. package/skills/react-native-skills/rules/react-state-fallback.md +56 -0
  152. package/skills/react-native-skills/rules/react-state-minimize.md +65 -0
  153. package/skills/react-native-skills/rules/rendering-no-falsy-and.md +74 -0
  154. package/skills/react-native-skills/rules/rendering-text-in-text-component.md +36 -0
  155. package/skills/react-native-skills/rules/scroll-position-no-state.md +82 -0
  156. package/skills/react-native-skills/rules/state-ground-truth.md +80 -0
  157. package/skills/react-native-skills/rules/ui-expo-image.md +66 -0
  158. package/skills/react-native-skills/rules/ui-image-gallery.md +104 -0
  159. package/skills/react-native-skills/rules/ui-measure-views.md +78 -0
  160. package/skills/react-native-skills/rules/ui-menus.md +174 -0
  161. package/skills/react-native-skills/rules/ui-native-modals.md +77 -0
  162. package/skills/react-native-skills/rules/ui-pressable.md +61 -0
  163. package/skills/react-native-skills/rules/ui-safe-area-scroll.md +65 -0
  164. package/skills/react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
  165. package/skills/react-native-skills/rules/ui-styling.md +87 -0
  166. package/skills/slidev/LICENSE.md +21 -0
  167. package/skills/slidev/README.md +61 -0
  168. package/skills/slidev/SKILL.md +189 -0
  169. package/skills/slidev/SYNC.md +5 -0
  170. package/skills/slidev/references/animation-click-marker.md +37 -0
  171. package/skills/slidev/references/animation-drawing.md +68 -0
  172. package/skills/slidev/references/animation-rough-marker.md +53 -0
  173. package/skills/slidev/references/api-slide-hooks.md +37 -0
  174. package/skills/slidev/references/build-og-image.md +36 -0
  175. package/skills/slidev/references/build-pdf.md +40 -0
  176. package/skills/slidev/references/build-remote-assets.md +34 -0
  177. package/skills/slidev/references/build-seo-meta.md +43 -0
  178. package/skills/slidev/references/code-groups.md +64 -0
  179. package/skills/slidev/references/code-import-snippet.md +55 -0
  180. package/skills/slidev/references/code-line-highlighting.md +50 -0
  181. package/skills/slidev/references/code-line-numbers.md +46 -0
  182. package/skills/slidev/references/code-magic-move.md +57 -0
  183. package/skills/slidev/references/code-max-height.md +37 -0
  184. package/skills/slidev/references/code-twoslash.md +42 -0
  185. package/skills/slidev/references/core-animations.md +196 -0
  186. package/skills/slidev/references/core-cli.md +140 -0
  187. package/skills/slidev/references/core-components.md +197 -0
  188. package/skills/slidev/references/core-exporting.md +148 -0
  189. package/skills/slidev/references/core-frontmatter.md +195 -0
  190. package/skills/slidev/references/core-global-context.md +155 -0
  191. package/skills/slidev/references/core-headmatter.md +188 -0
  192. package/skills/slidev/references/core-hosting.md +152 -0
  193. package/skills/slidev/references/core-layouts.md +286 -0
  194. package/skills/slidev/references/core-syntax.md +155 -0
  195. package/skills/slidev/references/diagram-latex.md +55 -0
  196. package/skills/slidev/references/diagram-mermaid.md +44 -0
  197. package/skills/slidev/references/diagram-plantuml.md +45 -0
  198. package/skills/slidev/references/editor-monaco-run.md +44 -0
  199. package/skills/slidev/references/editor-monaco-write.md +24 -0
  200. package/skills/slidev/references/editor-monaco.md +50 -0
  201. package/skills/slidev/references/editor-prettier.md +40 -0
  202. package/skills/slidev/references/editor-side.md +23 -0
  203. package/skills/slidev/references/editor-vscode.md +55 -0
  204. package/skills/slidev/references/layout-canvas-size.md +25 -0
  205. package/skills/slidev/references/layout-draggable.md +57 -0
  206. package/skills/slidev/references/layout-global-layers.md +50 -0
  207. package/skills/slidev/references/layout-slots.md +75 -0
  208. package/skills/slidev/references/layout-transform.md +33 -0
  209. package/skills/slidev/references/layout-zoom.md +39 -0
  210. package/skills/slidev/references/presenter-notes-ruby.md +35 -0
  211. package/skills/slidev/references/presenter-recording.md +30 -0
  212. package/skills/slidev/references/presenter-remote.md +40 -0
  213. package/skills/slidev/references/presenter-timer.md +34 -0
  214. package/skills/slidev/references/style-direction.md +34 -0
  215. package/skills/slidev/references/style-icons.md +46 -0
  216. package/skills/slidev/references/style-scoped.md +50 -0
  217. package/skills/slidev/references/syntax-block-frontmatter.md +39 -0
  218. package/skills/slidev/references/syntax-frontmatter-merging.md +49 -0
  219. package/skills/slidev/references/syntax-importing-slides.md +60 -0
  220. package/skills/slidev/references/syntax-mdc.md +51 -0
  221. package/skills/slidev/references/tool-eject-theme.md +27 -0
  222. package/skills/tsdown/LICENSE.md +22 -0
  223. package/skills/tsdown/README.md +77 -0
  224. package/skills/tsdown/SKILL.md +407 -0
  225. package/skills/tsdown/SYNC.md +5 -0
  226. package/skills/tsdown/references/README.md +139 -0
  227. package/skills/tsdown/references/advanced-benchmark.md +8 -0
  228. package/skills/tsdown/references/advanced-ci.md +89 -0
  229. package/skills/tsdown/references/advanced-hooks.md +363 -0
  230. package/skills/tsdown/references/advanced-plugins.md +381 -0
  231. package/skills/tsdown/references/advanced-programmatic.md +378 -0
  232. package/skills/tsdown/references/advanced-rolldown-options.md +117 -0
  233. package/skills/tsdown/references/guide-getting-started.md +178 -0
  234. package/skills/tsdown/references/guide-introduction.md +42 -0
  235. package/skills/tsdown/references/guide-migrate-from-tsup.md +189 -0
  236. package/skills/tsdown/references/option-cjs-default.md +98 -0
  237. package/skills/tsdown/references/option-cleaning.md +275 -0
  238. package/skills/tsdown/references/option-config-file.md +281 -0
  239. package/skills/tsdown/references/option-css.md +301 -0
  240. package/skills/tsdown/references/option-dependencies.md +385 -0
  241. package/skills/tsdown/references/option-dts.md +251 -0
  242. package/skills/tsdown/references/option-entry.md +211 -0
  243. package/skills/tsdown/references/option-exe.md +120 -0
  244. package/skills/tsdown/references/option-lint.md +127 -0
  245. package/skills/tsdown/references/option-log-level.md +91 -0
  246. package/skills/tsdown/references/option-minification.md +177 -0
  247. package/skills/tsdown/references/option-output-directory.md +270 -0
  248. package/skills/tsdown/references/option-output-format.md +181 -0
  249. package/skills/tsdown/references/option-package-exports.md +320 -0
  250. package/skills/tsdown/references/option-platform.md +256 -0
  251. package/skills/tsdown/references/option-root.md +88 -0
  252. package/skills/tsdown/references/option-shims.md +299 -0
  253. package/skills/tsdown/references/option-sourcemap.md +301 -0
  254. package/skills/tsdown/references/option-target.md +222 -0
  255. package/skills/tsdown/references/option-tree-shaking.md +335 -0
  256. package/skills/tsdown/references/option-unbundle.md +310 -0
  257. package/skills/tsdown/references/option-watch-mode.md +261 -0
  258. package/skills/tsdown/references/recipe-react.md +338 -0
  259. package/skills/tsdown/references/recipe-solid.md +46 -0
  260. package/skills/tsdown/references/recipe-svelte.md +54 -0
  261. package/skills/tsdown/references/recipe-vue.md +387 -0
  262. package/skills/tsdown/references/recipe-wasm.md +125 -0
  263. package/skills/tsdown/references/reference-cli.md +472 -0
  264. package/skills/turborepo/LICENSE.md +7 -0
  265. package/skills/turborepo/SKILL.md +951 -0
  266. package/skills/turborepo/SYNC.md +5 -0
  267. package/skills/turborepo/command/turborepo.md +70 -0
  268. package/skills/turborepo/references/best-practices/RULE.md +241 -0
  269. package/skills/turborepo/references/best-practices/dependencies.md +246 -0
  270. package/skills/turborepo/references/best-practices/packages.md +335 -0
  271. package/skills/turborepo/references/best-practices/structure.md +297 -0
  272. package/skills/turborepo/references/boundaries/RULE.md +126 -0
  273. package/skills/turborepo/references/caching/RULE.md +153 -0
  274. package/skills/turborepo/references/caching/gotchas.md +190 -0
  275. package/skills/turborepo/references/caching/remote-cache.md +127 -0
  276. package/skills/turborepo/references/ci/RULE.md +79 -0
  277. package/skills/turborepo/references/ci/github-actions.md +162 -0
  278. package/skills/turborepo/references/ci/patterns.md +145 -0
  279. package/skills/turborepo/references/ci/vercel.md +103 -0
  280. package/skills/turborepo/references/cli/RULE.md +100 -0
  281. package/skills/turborepo/references/cli/commands.md +297 -0
  282. package/skills/turborepo/references/configuration/RULE.md +235 -0
  283. package/skills/turborepo/references/configuration/global-options.md +239 -0
  284. package/skills/turborepo/references/configuration/gotchas.md +368 -0
  285. package/skills/turborepo/references/configuration/tasks.md +325 -0
  286. package/skills/turborepo/references/environment/RULE.md +123 -0
  287. package/skills/turborepo/references/environment/gotchas.md +175 -0
  288. package/skills/turborepo/references/environment/modes.md +101 -0
  289. package/skills/turborepo/references/filtering/RULE.md +148 -0
  290. package/skills/turborepo/references/filtering/patterns.md +152 -0
  291. package/skills/turborepo/references/watch/RULE.md +99 -0
  292. package/skills/vercel-cli-with-tokens/SKILL.md +328 -0
  293. package/skills/vercel-cli-with-tokens/SYNC.md +5 -0
  294. package/skills/vue/SKILL.md +90 -0
  295. package/skills/vue/references/composables.md +54 -0
  296. package/skills/vue/references/lifecycle.md +31 -0
  297. package/skills/vue/references/props-emits.md +62 -0
  298. package/skills/vue/references/provide-inject.md +47 -0
  299. package/skills/vue/references/state.md +65 -0
  300. package/skills/vue-antdv-tailwind/SKILL.md +33 -0
  301. package/skills/vue-antdv-tailwind/references/styling-rules.md +61 -0
  302. package/skills/vue-best-practices/LICENSE.md +21 -0
  303. package/skills/vue-best-practices/SKILL.md +154 -0
  304. package/skills/vue-best-practices/SYNC.md +5 -0
  305. package/skills/vue-best-practices/references/animation-class-based-technique.md +254 -0
  306. package/skills/vue-best-practices/references/animation-state-driven-technique.md +291 -0
  307. package/skills/vue-best-practices/references/component-async.md +97 -0
  308. package/skills/vue-best-practices/references/component-data-flow.md +307 -0
  309. package/skills/vue-best-practices/references/component-fallthrough-attrs.md +174 -0
  310. package/skills/vue-best-practices/references/component-keep-alive.md +137 -0
  311. package/skills/vue-best-practices/references/component-slots.md +216 -0
  312. package/skills/vue-best-practices/references/component-suspense.md +228 -0
  313. package/skills/vue-best-practices/references/component-teleport.md +108 -0
  314. package/skills/vue-best-practices/references/component-transition-group.md +128 -0
  315. package/skills/vue-best-practices/references/component-transition.md +125 -0
  316. package/skills/vue-best-practices/references/composables.md +290 -0
  317. package/skills/vue-best-practices/references/directives.md +162 -0
  318. package/skills/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +159 -0
  319. package/skills/vue-best-practices/references/perf-v-once-v-memo-directives.md +182 -0
  320. package/skills/vue-best-practices/references/perf-virtualize-large-lists.md +187 -0
  321. package/skills/vue-best-practices/references/plugins.md +166 -0
  322. package/skills/vue-best-practices/references/reactivity.md +344 -0
  323. package/skills/vue-best-practices/references/render-functions.md +201 -0
  324. package/skills/vue-best-practices/references/sfc.md +310 -0
  325. package/skills/vue-best-practices/references/state-management.md +135 -0
  326. package/skills/vue-best-practices/references/updated-hook-performance.md +187 -0
  327. package/skills/vue-jsx-best-practices/LICENSE.md +21 -0
  328. package/skills/vue-jsx-best-practices/SKILL.md +12 -0
  329. package/skills/vue-jsx-best-practices/SYNC.md +5 -0
  330. package/skills/vue-jsx-best-practices/reference/render-function-jsx-vue-vs-react.md +141 -0
  331. package/skills/vue-options/SKILL.md +98 -0
  332. package/skills/vue-options/references/lifecycle.md +107 -0
  333. package/skills/vue-options/references/mixins.md +96 -0
  334. package/skills/vue-options/references/props-emits.md +106 -0
  335. package/skills/vue-options/references/provide-inject.md +92 -0
  336. package/skills/vue-options/references/state.md +115 -0
  337. package/skills/vue-options-api-best-practices/LICENSE.md +21 -0
  338. package/skills/vue-options-api-best-practices/SKILL.md +23 -0
  339. package/skills/vue-options-api-best-practices/SYNC.md +5 -0
  340. package/skills/vue-options-api-best-practices/reference/no-arrow-functions-in-lifecycle-hooks.md +95 -0
  341. package/skills/vue-options-api-best-practices/reference/no-arrow-functions-in-methods.md +68 -0
  342. package/skills/vue-options-api-best-practices/reference/stateful-methods-lifecycle.md +61 -0
  343. package/skills/vue-options-api-best-practices/reference/ts-options-api-arrow-functions-validators.md +141 -0
  344. package/skills/vue-options-api-best-practices/reference/ts-options-api-computed-return-types.md +192 -0
  345. package/skills/vue-options-api-best-practices/reference/ts-options-api-proptype-complex-types.md +212 -0
  346. package/skills/vue-options-api-best-practices/reference/ts-options-api-provide-inject-limitations.md +135 -0
  347. package/skills/vue-options-api-best-practices/reference/ts-options-api-type-event-handlers.md +202 -0
  348. package/skills/vue-options-api-best-practices/reference/ts-options-api-use-definecomponent.md +172 -0
  349. package/skills/vue-options-api-best-practices/reference/ts-strict-mode-options-api.md +197 -0
  350. package/skills/vue-pinia-best-practices/LICENSE.md +21 -0
  351. package/skills/vue-pinia-best-practices/SKILL.md +21 -0
  352. package/skills/vue-pinia-best-practices/SYNC.md +5 -0
  353. package/skills/vue-pinia-best-practices/reference/pinia-no-active-pinia-error.md +248 -0
  354. package/skills/vue-pinia-best-practices/reference/pinia-setup-store-return-all-state.md +227 -0
  355. package/skills/vue-pinia-best-practices/reference/pinia-store-destructuring-breaks-reactivity.md +193 -0
  356. package/skills/vue-pinia-best-practices/reference/state-url-for-ephemeral-filters.md +238 -0
  357. package/skills/vue-pinia-best-practices/reference/state-use-pinia-for-large-apps.md +262 -0
  358. package/skills/vue-pinia-best-practices/reference/store-method-binding-parentheses.md +191 -0
  359. package/skills/vue-router-best-practices/LICENSE.md +21 -0
  360. package/skills/vue-router-best-practices/SKILL.md +23 -0
  361. package/skills/vue-router-best-practices/SYNC.md +5 -0
  362. package/skills/vue-router-best-practices/reference/router-beforeenter-no-param-trigger.md +167 -0
  363. package/skills/vue-router-best-practices/reference/router-beforerouteenter-no-this.md +176 -0
  364. package/skills/vue-router-best-practices/reference/router-guard-async-await-pattern.md +227 -0
  365. package/skills/vue-router-best-practices/reference/router-navigation-guard-infinite-loop.md +187 -0
  366. package/skills/vue-router-best-practices/reference/router-navigation-guard-next-deprecated.md +150 -0
  367. package/skills/vue-router-best-practices/reference/router-param-change-no-lifecycle.md +181 -0
  368. package/skills/vue-router-best-practices/reference/router-simple-routing-cleanup.md +209 -0
  369. package/skills/vue-router-best-practices/reference/router-use-vue-router-for-production.md +183 -0
  370. package/skills/vue-testing-best-practices/LICENSE.md +21 -0
  371. package/skills/vue-testing-best-practices/SKILL.md +29 -0
  372. package/skills/vue-testing-best-practices/SYNC.md +5 -0
  373. package/skills/vue-testing-best-practices/reference/async-component-testing.md +163 -0
  374. package/skills/vue-testing-best-practices/reference/teleport-testing-complexity.md +158 -0
  375. package/skills/vue-testing-best-practices/reference/testing-async-await-flushpromises.md +175 -0
  376. package/skills/vue-testing-best-practices/reference/testing-browser-vs-node-runners.md +208 -0
  377. package/skills/vue-testing-best-practices/reference/testing-component-blackbox-approach.md +144 -0
  378. package/skills/vue-testing-best-practices/reference/testing-composables-helper-wrapper.md +238 -0
  379. package/skills/vue-testing-best-practices/reference/testing-e2e-playwright-recommended.md +242 -0
  380. package/skills/vue-testing-best-practices/reference/testing-no-snapshot-only.md +197 -0
  381. package/skills/vue-testing-best-practices/reference/testing-pinia-store-setup.md +228 -0
  382. package/skills/vue-testing-best-practices/reference/testing-suspense-async-components.md +229 -0
  383. package/skills/vue-testing-best-practices/reference/testing-vitest-recommended-for-vue.md +204 -0
  384. package/skills/vueuse-functions/LICENSE.md +21 -0
  385. package/skills/vueuse-functions/SKILL.md +419 -0
  386. package/skills/vueuse-functions/SYNC.md +5 -0
  387. package/skills/vueuse-functions/references/computedAsync.md +195 -0
  388. package/skills/vueuse-functions/references/computedEager.md +62 -0
  389. package/skills/vueuse-functions/references/computedInject.md +137 -0
  390. package/skills/vueuse-functions/references/computedWithControl.md +98 -0
  391. package/skills/vueuse-functions/references/createEventHook.md +86 -0
  392. package/skills/vueuse-functions/references/createGenericProjection.md +25 -0
  393. package/skills/vueuse-functions/references/createGlobalState.md +95 -0
  394. package/skills/vueuse-functions/references/createInjectionState.md +215 -0
  395. package/skills/vueuse-functions/references/createProjection.md +31 -0
  396. package/skills/vueuse-functions/references/createRef.md +54 -0
  397. package/skills/vueuse-functions/references/createReusableTemplate.md +357 -0
  398. package/skills/vueuse-functions/references/createSharedComposable.md +42 -0
  399. package/skills/vueuse-functions/references/createTemplatePromise.md +306 -0
  400. package/skills/vueuse-functions/references/createUnrefFn.md +51 -0
  401. package/skills/vueuse-functions/references/extendRef.md +76 -0
  402. package/skills/vueuse-functions/references/from.md +80 -0
  403. package/skills/vueuse-functions/references/get.md +30 -0
  404. package/skills/vueuse-functions/references/injectLocal.md +35 -0
  405. package/skills/vueuse-functions/references/isDefined.md +31 -0
  406. package/skills/vueuse-functions/references/logicAnd.md +40 -0
  407. package/skills/vueuse-functions/references/logicNot.md +36 -0
  408. package/skills/vueuse-functions/references/logicOr.md +40 -0
  409. package/skills/vueuse-functions/references/makeDestructurable.md +41 -0
  410. package/skills/vueuse-functions/references/onClickOutside.md +221 -0
  411. package/skills/vueuse-functions/references/onElementRemoval.md +88 -0
  412. package/skills/vueuse-functions/references/onKeyStroke.md +211 -0
  413. package/skills/vueuse-functions/references/onLongPress.md +227 -0
  414. package/skills/vueuse-functions/references/onStartTyping.md +53 -0
  415. package/skills/vueuse-functions/references/provideLocal.md +37 -0
  416. package/skills/vueuse-functions/references/reactify.md +144 -0
  417. package/skills/vueuse-functions/references/reactifyObject.md +62 -0
  418. package/skills/vueuse-functions/references/reactiveComputed.md +34 -0
  419. package/skills/vueuse-functions/references/reactiveOmit.md +86 -0
  420. package/skills/vueuse-functions/references/reactivePick.md +106 -0
  421. package/skills/vueuse-functions/references/refAutoReset.md +46 -0
  422. package/skills/vueuse-functions/references/refDebounced.md +81 -0
  423. package/skills/vueuse-functions/references/refDefault.md +36 -0
  424. package/skills/vueuse-functions/references/refManualReset.md +44 -0
  425. package/skills/vueuse-functions/references/refThrottled.md +99 -0
  426. package/skills/vueuse-functions/references/refWithControl.md +146 -0
  427. package/skills/vueuse-functions/references/set.md +30 -0
  428. package/skills/vueuse-functions/references/syncRef.md +195 -0
  429. package/skills/vueuse-functions/references/syncRefs.md +128 -0
  430. package/skills/vueuse-functions/references/templateRef.md +86 -0
  431. package/skills/vueuse-functions/references/toObserver.md +38 -0
  432. package/skills/vueuse-functions/references/toReactive.md +41 -0
  433. package/skills/vueuse-functions/references/toRef.md +75 -0
  434. package/skills/vueuse-functions/references/toRefs.md +81 -0
  435. package/skills/vueuse-functions/references/tryOnBeforeMount.md +34 -0
  436. package/skills/vueuse-functions/references/tryOnBeforeUnmount.md +32 -0
  437. package/skills/vueuse-functions/references/tryOnMounted.md +34 -0
  438. package/skills/vueuse-functions/references/tryOnScopeDispose.md +31 -0
  439. package/skills/vueuse-functions/references/tryOnUnmounted.md +32 -0
  440. package/skills/vueuse-functions/references/unrefElement.md +54 -0
  441. package/skills/vueuse-functions/references/until.md +161 -0
  442. package/skills/vueuse-functions/references/useAbs.md +31 -0
  443. package/skills/vueuse-functions/references/useActiveElement.md +85 -0
  444. package/skills/vueuse-functions/references/useAnimate.md +181 -0
  445. package/skills/vueuse-functions/references/useArrayDifference.md +84 -0
  446. package/skills/vueuse-functions/references/useArrayEvery.md +59 -0
  447. package/skills/vueuse-functions/references/useArrayFilter.md +63 -0
  448. package/skills/vueuse-functions/references/useArrayFind.md +50 -0
  449. package/skills/vueuse-functions/references/useArrayFindIndex.md +59 -0
  450. package/skills/vueuse-functions/references/useArrayFindLast.md +52 -0
  451. package/skills/vueuse-functions/references/useArrayIncludes.md +63 -0
  452. package/skills/vueuse-functions/references/useArrayJoin.md +74 -0
  453. package/skills/vueuse-functions/references/useArrayMap.md +59 -0
  454. package/skills/vueuse-functions/references/useArrayReduce.md +81 -0
  455. package/skills/vueuse-functions/references/useArraySome.md +59 -0
  456. package/skills/vueuse-functions/references/useArrayUnique.md +76 -0
  457. package/skills/vueuse-functions/references/useAsyncQueue.md +136 -0
  458. package/skills/vueuse-functions/references/useAsyncState.md +185 -0
  459. package/skills/vueuse-functions/references/useAsyncValidator.md +70 -0
  460. package/skills/vueuse-functions/references/useAuth.md +123 -0
  461. package/skills/vueuse-functions/references/useAverage.md +36 -0
  462. package/skills/vueuse-functions/references/useAxios.md +325 -0
  463. package/skills/vueuse-functions/references/useBase64.md +136 -0
  464. package/skills/vueuse-functions/references/useBattery.md +78 -0
  465. package/skills/vueuse-functions/references/useBluetooth.md +175 -0
  466. package/skills/vueuse-functions/references/useBreakpoints.md +172 -0
  467. package/skills/vueuse-functions/references/useBroadcastChannel.md +74 -0
  468. package/skills/vueuse-functions/references/useBrowserLocation.md +83 -0
  469. package/skills/vueuse-functions/references/useCached.md +52 -0
  470. package/skills/vueuse-functions/references/useCeil.md +31 -0
  471. package/skills/vueuse-functions/references/useChangeCase.md +79 -0
  472. package/skills/vueuse-functions/references/useClamp.md +85 -0
  473. package/skills/vueuse-functions/references/useClipboard.md +123 -0
  474. package/skills/vueuse-functions/references/useClipboardItems.md +94 -0
  475. package/skills/vueuse-functions/references/useCloned.md +91 -0
  476. package/skills/vueuse-functions/references/useColorMode.md +172 -0
  477. package/skills/vueuse-functions/references/useConfirmDialog.md +159 -0
  478. package/skills/vueuse-functions/references/useCookies.md +162 -0
  479. package/skills/vueuse-functions/references/useCountdown.md +105 -0
  480. package/skills/vueuse-functions/references/useCounter.md +86 -0
  481. package/skills/vueuse-functions/references/useCssSupports.md +35 -0
  482. package/skills/vueuse-functions/references/useCssVar.md +50 -0
  483. package/skills/vueuse-functions/references/useCurrentElement.md +61 -0
  484. package/skills/vueuse-functions/references/useCycleList.md +75 -0
  485. package/skills/vueuse-functions/references/useDark.md +144 -0
  486. package/skills/vueuse-functions/references/useDateFormat.md +145 -0
  487. package/skills/vueuse-functions/references/useDebounceFn.md +100 -0
  488. package/skills/vueuse-functions/references/useDebouncedRefHistory.md +40 -0
  489. package/skills/vueuse-functions/references/useDeviceMotion.md +86 -0
  490. package/skills/vueuse-functions/references/useDeviceOrientation.md +62 -0
  491. package/skills/vueuse-functions/references/useDevicePixelRatio.md +44 -0
  492. package/skills/vueuse-functions/references/useDevicesList.md +90 -0
  493. package/skills/vueuse-functions/references/useDisplayMedia.md +71 -0
  494. package/skills/vueuse-functions/references/useDocumentVisibility.md +45 -0
  495. package/skills/vueuse-functions/references/useDraggable.md +317 -0
  496. package/skills/vueuse-functions/references/useDrauu.md +65 -0
  497. package/skills/vueuse-functions/references/useDropZone.md +83 -0
  498. package/skills/vueuse-functions/references/useElementBounding.md +131 -0
  499. package/skills/vueuse-functions/references/useElementByPoint.md +48 -0
  500. package/skills/vueuse-functions/references/useElementHover.md +79 -0
  501. package/skills/vueuse-functions/references/useElementSize.md +78 -0
  502. package/skills/vueuse-functions/references/useElementVisibility.md +123 -0
  503. package/skills/vueuse-functions/references/useEventBus.md +101 -0
  504. package/skills/vueuse-functions/references/useEventListener.md +226 -0
  505. package/skills/vueuse-functions/references/useEventSource.md +204 -0
  506. package/skills/vueuse-functions/references/useExtractedObservable.md +198 -0
  507. package/skills/vueuse-functions/references/useEyeDropper.md +71 -0
  508. package/skills/vueuse-functions/references/useFavicon.md +67 -0
  509. package/skills/vueuse-functions/references/useFetch.md +546 -0
  510. package/skills/vueuse-functions/references/useFileDialog.md +91 -0
  511. package/skills/vueuse-functions/references/useFileSystemAccess.md +162 -0
  512. package/skills/vueuse-functions/references/useFirestore.md +129 -0
  513. package/skills/vueuse-functions/references/useFloor.md +31 -0
  514. package/skills/vueuse-functions/references/useFocus.md +99 -0
  515. package/skills/vueuse-functions/references/useFocusTrap.md +245 -0
  516. package/skills/vueuse-functions/references/useFocusWithin.md +57 -0
  517. package/skills/vueuse-functions/references/useFps.md +28 -0
  518. package/skills/vueuse-functions/references/useFullscreen.md +75 -0
  519. package/skills/vueuse-functions/references/useFuse.md +107 -0
  520. package/skills/vueuse-functions/references/useGamepad.md +222 -0
  521. package/skills/vueuse-functions/references/useGeolocation.md +85 -0
  522. package/skills/vueuse-functions/references/useIDBKeyval.md +93 -0
  523. package/skills/vueuse-functions/references/useIdle.md +88 -0
  524. package/skills/vueuse-functions/references/useImage.md +86 -0
  525. package/skills/vueuse-functions/references/useInfiniteScroll.md +157 -0
  526. package/skills/vueuse-functions/references/useIntersectionObserver.md +118 -0
  527. package/skills/vueuse-functions/references/useInterval.md +112 -0
  528. package/skills/vueuse-functions/references/useIntervalFn.md +50 -0
  529. package/skills/vueuse-functions/references/useIpcRenderer.md +144 -0
  530. package/skills/vueuse-functions/references/useIpcRendererInvoke.md +58 -0
  531. package/skills/vueuse-functions/references/useIpcRendererOn.md +52 -0
  532. package/skills/vueuse-functions/references/useJwt.md +57 -0
  533. package/skills/vueuse-functions/references/useKeyModifier.md +87 -0
  534. package/skills/vueuse-functions/references/useLastChanged.md +63 -0
  535. package/skills/vueuse-functions/references/useLocalStorage.md +41 -0
  536. package/skills/vueuse-functions/references/useMagicKeys.md +245 -0
  537. package/skills/vueuse-functions/references/useManualRefHistory.md +204 -0
  538. package/skills/vueuse-functions/references/useMath.md +47 -0
  539. package/skills/vueuse-functions/references/useMax.md +36 -0
  540. package/skills/vueuse-functions/references/useMediaControls.md +571 -0
  541. package/skills/vueuse-functions/references/useMediaQuery.md +53 -0
  542. package/skills/vueuse-functions/references/useMemoize.md +175 -0
  543. package/skills/vueuse-functions/references/useMemory.md +71 -0
  544. package/skills/vueuse-functions/references/useMin.md +36 -0
  545. package/skills/vueuse-functions/references/useMounted.md +38 -0
  546. package/skills/vueuse-functions/references/useMouse.md +113 -0
  547. package/skills/vueuse-functions/references/useMouseInElement.md +123 -0
  548. package/skills/vueuse-functions/references/useMousePressed.md +112 -0
  549. package/skills/vueuse-functions/references/useMutationObserver.md +61 -0
  550. package/skills/vueuse-functions/references/useNProgress.md +78 -0
  551. package/skills/vueuse-functions/references/useNavigatorLanguage.md +57 -0
  552. package/skills/vueuse-functions/references/useNetwork.md +106 -0
  553. package/skills/vueuse-functions/references/useNow.md +79 -0
  554. package/skills/vueuse-functions/references/useObjectUrl.md +55 -0
  555. package/skills/vueuse-functions/references/useObservable.md +91 -0
  556. package/skills/vueuse-functions/references/useOffsetPagination.md +199 -0
  557. package/skills/vueuse-functions/references/useOnline.md +41 -0
  558. package/skills/vueuse-functions/references/usePageLeave.md +42 -0
  559. package/skills/vueuse-functions/references/useParallax.md +58 -0
  560. package/skills/vueuse-functions/references/useParentElement.md +54 -0
  561. package/skills/vueuse-functions/references/usePerformanceObserver.md +48 -0
  562. package/skills/vueuse-functions/references/usePermission.md +79 -0
  563. package/skills/vueuse-functions/references/usePointer.md +89 -0
  564. package/skills/vueuse-functions/references/usePointerLock.md +60 -0
  565. package/skills/vueuse-functions/references/usePointerSwipe.md +80 -0
  566. package/skills/vueuse-functions/references/usePrecision.md +49 -0
  567. package/skills/vueuse-functions/references/usePreferredColorScheme.md +42 -0
  568. package/skills/vueuse-functions/references/usePreferredContrast.md +42 -0
  569. package/skills/vueuse-functions/references/usePreferredDark.md +41 -0
  570. package/skills/vueuse-functions/references/usePreferredLanguages.md +41 -0
  571. package/skills/vueuse-functions/references/usePreferredReducedMotion.md +42 -0
  572. package/skills/vueuse-functions/references/usePreferredReducedTransparency.md +42 -0
  573. package/skills/vueuse-functions/references/usePrevious.md +40 -0
  574. package/skills/vueuse-functions/references/useProjection.md +38 -0
  575. package/skills/vueuse-functions/references/useQRCode.md +53 -0
  576. package/skills/vueuse-functions/references/useRTDB.md +83 -0
  577. package/skills/vueuse-functions/references/useRafFn.md +68 -0
  578. package/skills/vueuse-functions/references/useRefHistory.md +285 -0
  579. package/skills/vueuse-functions/references/useResizeObserver.md +109 -0
  580. package/skills/vueuse-functions/references/useRound.md +31 -0
  581. package/skills/vueuse-functions/references/useRouteHash.md +27 -0
  582. package/skills/vueuse-functions/references/useRouteParams.md +38 -0
  583. package/skills/vueuse-functions/references/useRouteQuery.md +79 -0
  584. package/skills/vueuse-functions/references/useSSRWidth.md +47 -0
  585. package/skills/vueuse-functions/references/useScreenOrientation.md +96 -0
  586. package/skills/vueuse-functions/references/useScreenSafeArea.md +60 -0
  587. package/skills/vueuse-functions/references/useScriptTag.md +116 -0
  588. package/skills/vueuse-functions/references/useScroll.md +238 -0
  589. package/skills/vueuse-functions/references/useScrollLock.md +66 -0
  590. package/skills/vueuse-functions/references/useSessionStorage.md +41 -0
  591. package/skills/vueuse-functions/references/useShare.md +68 -0
  592. package/skills/vueuse-functions/references/useSortable.md +235 -0
  593. package/skills/vueuse-functions/references/useSorted.md +90 -0
  594. package/skills/vueuse-functions/references/useSpeechRecognition.md +94 -0
  595. package/skills/vueuse-functions/references/useSpeechSynthesis.md +105 -0
  596. package/skills/vueuse-functions/references/useStepper.md +137 -0
  597. package/skills/vueuse-functions/references/useStorage.md +278 -0
  598. package/skills/vueuse-functions/references/useStorageAsync.md +136 -0
  599. package/skills/vueuse-functions/references/useStyleTag.md +131 -0
  600. package/skills/vueuse-functions/references/useSubject.md +77 -0
  601. package/skills/vueuse-functions/references/useSubscription.md +33 -0
  602. package/skills/vueuse-functions/references/useSum.md +36 -0
  603. package/skills/vueuse-functions/references/useSupported.md +29 -0
  604. package/skills/vueuse-functions/references/useSwipe.md +75 -0
  605. package/skills/vueuse-functions/references/useTemplateRefsList.md +37 -0
  606. package/skills/vueuse-functions/references/useTextDirection.md +75 -0
  607. package/skills/vueuse-functions/references/useTextSelection.md +40 -0
  608. package/skills/vueuse-functions/references/useTextareaAutosize.md +97 -0
  609. package/skills/vueuse-functions/references/useThrottleFn.md +57 -0
  610. package/skills/vueuse-functions/references/useThrottledRefHistory.md +47 -0
  611. package/skills/vueuse-functions/references/useTimeAgo.md +154 -0
  612. package/skills/vueuse-functions/references/useTimeAgoIntl.md +117 -0
  613. package/skills/vueuse-functions/references/useTimeout.md +113 -0
  614. package/skills/vueuse-functions/references/useTimeoutFn.md +51 -0
  615. package/skills/vueuse-functions/references/useTimeoutPoll.md +47 -0
  616. package/skills/vueuse-functions/references/useTimestamp.md +89 -0
  617. package/skills/vueuse-functions/references/useTitle.md +113 -0
  618. package/skills/vueuse-functions/references/useToNumber.md +54 -0
  619. package/skills/vueuse-functions/references/useToString.md +34 -0
  620. package/skills/vueuse-functions/references/useToggle.md +103 -0
  621. package/skills/vueuse-functions/references/useTransition.md +265 -0
  622. package/skills/vueuse-functions/references/useTrunc.md +33 -0
  623. package/skills/vueuse-functions/references/useUrlSearchParams.md +121 -0
  624. package/skills/vueuse-functions/references/useUserMedia.md +1138 -0
  625. package/skills/vueuse-functions/references/useVModel.md +182 -0
  626. package/skills/vueuse-functions/references/useVModels.md +67 -0
  627. package/skills/vueuse-functions/references/useVibrate.md +87 -0
  628. package/skills/vueuse-functions/references/useVirtualList.md +182 -0
  629. package/skills/vueuse-functions/references/useWakeLock.md +50 -0
  630. package/skills/vueuse-functions/references/useWebNotification.md +176 -0
  631. package/skills/vueuse-functions/references/useWebSocket.md +299 -0
  632. package/skills/vueuse-functions/references/useWebWorker.md +60 -0
  633. package/skills/vueuse-functions/references/useWebWorkerFn.md +102 -0
  634. package/skills/vueuse-functions/references/useWindowFocus.md +46 -0
  635. package/skills/vueuse-functions/references/useWindowScroll.md +61 -0
  636. package/skills/vueuse-functions/references/useWindowSize.md +76 -0
  637. package/skills/vueuse-functions/references/useZoomFactor.md +53 -0
  638. package/skills/vueuse-functions/references/useZoomLevel.md +53 -0
  639. package/skills/vueuse-functions/references/watchArray.md +53 -0
  640. package/skills/vueuse-functions/references/watchAtMost.md +55 -0
  641. package/skills/vueuse-functions/references/watchDebounced.md +101 -0
  642. package/skills/vueuse-functions/references/watchDeep.md +54 -0
  643. package/skills/vueuse-functions/references/watchExtractedObservable.md +192 -0
  644. package/skills/vueuse-functions/references/watchIgnorable.md +120 -0
  645. package/skills/vueuse-functions/references/watchImmediate.md +44 -0
  646. package/skills/vueuse-functions/references/watchOnce.md +41 -0
  647. package/skills/vueuse-functions/references/watchPausable.md +86 -0
  648. package/skills/vueuse-functions/references/watchThrottled.md +108 -0
  649. package/skills/vueuse-functions/references/watchTriggerable.md +98 -0
  650. package/skills/vueuse-functions/references/watchWithFilter.md +54 -0
  651. package/skills/vueuse-functions/references/whenever.md +100 -0
  652. package/skills/web-design-guidelines/SKILL.md +39 -0
  653. package/skills/web-design-guidelines/SYNC.md +5 -0
  654. package/tsconfig.json +17 -0
@@ -0,0 +1,1138 @@
1
+ ---
2
+ category: Sensors
3
+ related: useDevicesList, usePermission
4
+ ---
5
+
6
+ # useUserMedia
7
+
8
+ Reactive [`mediaDevices.getUserMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia) streaming.
9
+
10
+ ## Usage
11
+
12
+ ```vue
13
+ <script setup lang="ts">
14
+ import { useUserMedia } from '@vueuse/core'
15
+ import { useTemplateRef, watchEffect } from 'vue'
16
+
17
+ const { stream, start } = useUserMedia()
18
+ start()
19
+
20
+ const videoRef = useTemplateRef('video')
21
+ watchEffect(() => {
22
+ // preview on a video element
23
+ videoRef.value.srcObject = stream.value
24
+ })
25
+ </script>
26
+
27
+ <template>
28
+ <video ref="video" />
29
+ </template>
30
+ ```
31
+
32
+ ### Devices
33
+
34
+ ```ts
35
+ import { useDevicesList, useUserMedia } from '@vueuse/core'
36
+ import { computed, reactive } from 'vue'
37
+
38
+ const {
39
+ videoInputs: cameras,
40
+ audioInputs: microphones,
41
+ } = useDevicesList({
42
+ requestPermissions: true,
43
+ })
44
+ const currentCamera = computed(() => cameras.value[0]?.deviceId)
45
+ const currentMicrophone = computed(() => microphones.value[0]?.deviceId)
46
+
47
+ const { stream } = useUserMedia({
48
+ constraints: reactive({
49
+ video: { deviceId: currentCamera },
50
+ audio: { deviceId: currentMicrophone, }
51
+ })
52
+ })
53
+ ```
54
+
55
+ ## Type Declarations
56
+
57
+ ```ts
58
+ export interface UseUserMediaOptions extends ConfigurableNavigator {
59
+ /**
60
+ * If the stream is enabled
61
+ * @default false
62
+ */
63
+ enabled?: MaybeRef<boolean>
64
+ /**
65
+ * Recreate stream when deviceIds or constraints changed
66
+ *
67
+ * @default true
68
+ */
69
+ autoSwitch?: MaybeRef<boolean>
70
+ /**
71
+ * MediaStreamConstraints to be applied to the requested MediaStream
72
+ * If provided, the constraints will override videoDeviceId and audioDeviceId
73
+ *
74
+ * @default {}
75
+ */
76
+ constraints?: MaybeRef<MediaStreamConstraints>
77
+ }
78
+ /**
79
+ * Reactive `mediaDevices.getUserMedia` streaming
80
+ *
81
+ * @see https://vueuse.org/useUserMedia
82
+ * @param options
83
+ */
84
+ export declare function useUserMedia(options?: UseUserMediaOptions): {
85
+ isSupported: ComputedRef<boolean>
86
+ stream: Ref<MediaStream | undefined, MediaStream | undefined>
87
+ start: () => Promise<MediaStream | undefined>
88
+ stop: () => void
89
+ restart: () => Promise<MediaStream | undefined>
90
+ constraints: Ref<
91
+ | MediaStreamConstraints
92
+ | {
93
+ audio?:
94
+ | boolean
95
+ | {
96
+ advanced?:
97
+ | {
98
+ aspectRatio?:
99
+ | number
100
+ | {
101
+ exact?: number | undefined
102
+ ideal?: number | undefined
103
+ max?: number | undefined
104
+ min?: number | undefined
105
+ }
106
+ | undefined
107
+ autoGainControl?:
108
+ | boolean
109
+ | {
110
+ exact?: boolean | undefined
111
+ ideal?: boolean | undefined
112
+ }
113
+ | undefined
114
+ backgroundBlur?:
115
+ | boolean
116
+ | {
117
+ exact?: boolean | undefined
118
+ ideal?: boolean | undefined
119
+ }
120
+ | undefined
121
+ channelCount?:
122
+ | number
123
+ | {
124
+ exact?: number | undefined
125
+ ideal?: number | undefined
126
+ max?: number | undefined
127
+ min?: number | undefined
128
+ }
129
+ | undefined
130
+ deviceId?:
131
+ | string
132
+ | string[]
133
+ | {
134
+ exact?: string | string[] | undefined
135
+ ideal?: string | string[] | undefined
136
+ }
137
+ | undefined
138
+ displaySurface?:
139
+ | string
140
+ | string[]
141
+ | {
142
+ exact?: string | string[] | undefined
143
+ ideal?: string | string[] | undefined
144
+ }
145
+ | undefined
146
+ echoCancellation?:
147
+ | boolean
148
+ | {
149
+ exact?: boolean | undefined
150
+ ideal?: boolean | undefined
151
+ }
152
+ | undefined
153
+ facingMode?:
154
+ | string
155
+ | string[]
156
+ | {
157
+ exact?: string | string[] | undefined
158
+ ideal?: string | string[] | undefined
159
+ }
160
+ | undefined
161
+ frameRate?:
162
+ | number
163
+ | {
164
+ exact?: number | undefined
165
+ ideal?: number | undefined
166
+ max?: number | undefined
167
+ min?: number | undefined
168
+ }
169
+ | undefined
170
+ groupId?:
171
+ | string
172
+ | string[]
173
+ | {
174
+ exact?: string | string[] | undefined
175
+ ideal?: string | string[] | undefined
176
+ }
177
+ | undefined
178
+ height?:
179
+ | number
180
+ | {
181
+ exact?: number | undefined
182
+ ideal?: number | undefined
183
+ max?: number | undefined
184
+ min?: number | undefined
185
+ }
186
+ | undefined
187
+ noiseSuppression?:
188
+ | boolean
189
+ | {
190
+ exact?: boolean | undefined
191
+ ideal?: boolean | undefined
192
+ }
193
+ | undefined
194
+ sampleRate?:
195
+ | number
196
+ | {
197
+ exact?: number | undefined
198
+ ideal?: number | undefined
199
+ max?: number | undefined
200
+ min?: number | undefined
201
+ }
202
+ | undefined
203
+ sampleSize?:
204
+ | number
205
+ | {
206
+ exact?: number | undefined
207
+ ideal?: number | undefined
208
+ max?: number | undefined
209
+ min?: number | undefined
210
+ }
211
+ | undefined
212
+ width?:
213
+ | number
214
+ | {
215
+ exact?: number | undefined
216
+ ideal?: number | undefined
217
+ max?: number | undefined
218
+ min?: number | undefined
219
+ }
220
+ | undefined
221
+ }[]
222
+ | undefined
223
+ aspectRatio?:
224
+ | number
225
+ | {
226
+ exact?: number | undefined
227
+ ideal?: number | undefined
228
+ max?: number | undefined
229
+ min?: number | undefined
230
+ }
231
+ | undefined
232
+ autoGainControl?:
233
+ | boolean
234
+ | {
235
+ exact?: boolean | undefined
236
+ ideal?: boolean | undefined
237
+ }
238
+ | undefined
239
+ backgroundBlur?:
240
+ | boolean
241
+ | {
242
+ exact?: boolean | undefined
243
+ ideal?: boolean | undefined
244
+ }
245
+ | undefined
246
+ channelCount?:
247
+ | number
248
+ | {
249
+ exact?: number | undefined
250
+ ideal?: number | undefined
251
+ max?: number | undefined
252
+ min?: number | undefined
253
+ }
254
+ | undefined
255
+ deviceId?:
256
+ | string
257
+ | string[]
258
+ | {
259
+ exact?: string | string[] | undefined
260
+ ideal?: string | string[] | undefined
261
+ }
262
+ | undefined
263
+ displaySurface?:
264
+ | string
265
+ | string[]
266
+ | {
267
+ exact?: string | string[] | undefined
268
+ ideal?: string | string[] | undefined
269
+ }
270
+ | undefined
271
+ echoCancellation?:
272
+ | boolean
273
+ | {
274
+ exact?: boolean | undefined
275
+ ideal?: boolean | undefined
276
+ }
277
+ | undefined
278
+ facingMode?:
279
+ | string
280
+ | string[]
281
+ | {
282
+ exact?: string | string[] | undefined
283
+ ideal?: string | string[] | undefined
284
+ }
285
+ | undefined
286
+ frameRate?:
287
+ | number
288
+ | {
289
+ exact?: number | undefined
290
+ ideal?: number | undefined
291
+ max?: number | undefined
292
+ min?: number | undefined
293
+ }
294
+ | undefined
295
+ groupId?:
296
+ | string
297
+ | string[]
298
+ | {
299
+ exact?: string | string[] | undefined
300
+ ideal?: string | string[] | undefined
301
+ }
302
+ | undefined
303
+ height?:
304
+ | number
305
+ | {
306
+ exact?: number | undefined
307
+ ideal?: number | undefined
308
+ max?: number | undefined
309
+ min?: number | undefined
310
+ }
311
+ | undefined
312
+ noiseSuppression?:
313
+ | boolean
314
+ | {
315
+ exact?: boolean | undefined
316
+ ideal?: boolean | undefined
317
+ }
318
+ | undefined
319
+ sampleRate?:
320
+ | number
321
+ | {
322
+ exact?: number | undefined
323
+ ideal?: number | undefined
324
+ max?: number | undefined
325
+ min?: number | undefined
326
+ }
327
+ | undefined
328
+ sampleSize?:
329
+ | number
330
+ | {
331
+ exact?: number | undefined
332
+ ideal?: number | undefined
333
+ max?: number | undefined
334
+ min?: number | undefined
335
+ }
336
+ | undefined
337
+ width?:
338
+ | number
339
+ | {
340
+ exact?: number | undefined
341
+ ideal?: number | undefined
342
+ max?: number | undefined
343
+ min?: number | undefined
344
+ }
345
+ | undefined
346
+ }
347
+ | undefined
348
+ peerIdentity?: string | undefined
349
+ preferCurrentTab?: boolean | undefined
350
+ video?:
351
+ | boolean
352
+ | {
353
+ advanced?:
354
+ | {
355
+ aspectRatio?:
356
+ | number
357
+ | {
358
+ exact?: number | undefined
359
+ ideal?: number | undefined
360
+ max?: number | undefined
361
+ min?: number | undefined
362
+ }
363
+ | undefined
364
+ autoGainControl?:
365
+ | boolean
366
+ | {
367
+ exact?: boolean | undefined
368
+ ideal?: boolean | undefined
369
+ }
370
+ | undefined
371
+ backgroundBlur?:
372
+ | boolean
373
+ | {
374
+ exact?: boolean | undefined
375
+ ideal?: boolean | undefined
376
+ }
377
+ | undefined
378
+ channelCount?:
379
+ | number
380
+ | {
381
+ exact?: number | undefined
382
+ ideal?: number | undefined
383
+ max?: number | undefined
384
+ min?: number | undefined
385
+ }
386
+ | undefined
387
+ deviceId?:
388
+ | string
389
+ | string[]
390
+ | {
391
+ exact?: string | string[] | undefined
392
+ ideal?: string | string[] | undefined
393
+ }
394
+ | undefined
395
+ displaySurface?:
396
+ | string
397
+ | string[]
398
+ | {
399
+ exact?: string | string[] | undefined
400
+ ideal?: string | string[] | undefined
401
+ }
402
+ | undefined
403
+ echoCancellation?:
404
+ | boolean
405
+ | {
406
+ exact?: boolean | undefined
407
+ ideal?: boolean | undefined
408
+ }
409
+ | undefined
410
+ facingMode?:
411
+ | string
412
+ | string[]
413
+ | {
414
+ exact?: string | string[] | undefined
415
+ ideal?: string | string[] | undefined
416
+ }
417
+ | undefined
418
+ frameRate?:
419
+ | number
420
+ | {
421
+ exact?: number | undefined
422
+ ideal?: number | undefined
423
+ max?: number | undefined
424
+ min?: number | undefined
425
+ }
426
+ | undefined
427
+ groupId?:
428
+ | string
429
+ | string[]
430
+ | {
431
+ exact?: string | string[] | undefined
432
+ ideal?: string | string[] | undefined
433
+ }
434
+ | undefined
435
+ height?:
436
+ | number
437
+ | {
438
+ exact?: number | undefined
439
+ ideal?: number | undefined
440
+ max?: number | undefined
441
+ min?: number | undefined
442
+ }
443
+ | undefined
444
+ noiseSuppression?:
445
+ | boolean
446
+ | {
447
+ exact?: boolean | undefined
448
+ ideal?: boolean | undefined
449
+ }
450
+ | undefined
451
+ sampleRate?:
452
+ | number
453
+ | {
454
+ exact?: number | undefined
455
+ ideal?: number | undefined
456
+ max?: number | undefined
457
+ min?: number | undefined
458
+ }
459
+ | undefined
460
+ sampleSize?:
461
+ | number
462
+ | {
463
+ exact?: number | undefined
464
+ ideal?: number | undefined
465
+ max?: number | undefined
466
+ min?: number | undefined
467
+ }
468
+ | undefined
469
+ width?:
470
+ | number
471
+ | {
472
+ exact?: number | undefined
473
+ ideal?: number | undefined
474
+ max?: number | undefined
475
+ min?: number | undefined
476
+ }
477
+ | undefined
478
+ }[]
479
+ | undefined
480
+ aspectRatio?:
481
+ | number
482
+ | {
483
+ exact?: number | undefined
484
+ ideal?: number | undefined
485
+ max?: number | undefined
486
+ min?: number | undefined
487
+ }
488
+ | undefined
489
+ autoGainControl?:
490
+ | boolean
491
+ | {
492
+ exact?: boolean | undefined
493
+ ideal?: boolean | undefined
494
+ }
495
+ | undefined
496
+ backgroundBlur?:
497
+ | boolean
498
+ | {
499
+ exact?: boolean | undefined
500
+ ideal?: boolean | undefined
501
+ }
502
+ | undefined
503
+ channelCount?:
504
+ | number
505
+ | {
506
+ exact?: number | undefined
507
+ ideal?: number | undefined
508
+ max?: number | undefined
509
+ min?: number | undefined
510
+ }
511
+ | undefined
512
+ deviceId?:
513
+ | string
514
+ | string[]
515
+ | {
516
+ exact?: string | string[] | undefined
517
+ ideal?: string | string[] | undefined
518
+ }
519
+ | undefined
520
+ displaySurface?:
521
+ | string
522
+ | string[]
523
+ | {
524
+ exact?: string | string[] | undefined
525
+ ideal?: string | string[] | undefined
526
+ }
527
+ | undefined
528
+ echoCancellation?:
529
+ | boolean
530
+ | {
531
+ exact?: boolean | undefined
532
+ ideal?: boolean | undefined
533
+ }
534
+ | undefined
535
+ facingMode?:
536
+ | string
537
+ | string[]
538
+ | {
539
+ exact?: string | string[] | undefined
540
+ ideal?: string | string[] | undefined
541
+ }
542
+ | undefined
543
+ frameRate?:
544
+ | number
545
+ | {
546
+ exact?: number | undefined
547
+ ideal?: number | undefined
548
+ max?: number | undefined
549
+ min?: number | undefined
550
+ }
551
+ | undefined
552
+ groupId?:
553
+ | string
554
+ | string[]
555
+ | {
556
+ exact?: string | string[] | undefined
557
+ ideal?: string | string[] | undefined
558
+ }
559
+ | undefined
560
+ height?:
561
+ | number
562
+ | {
563
+ exact?: number | undefined
564
+ ideal?: number | undefined
565
+ max?: number | undefined
566
+ min?: number | undefined
567
+ }
568
+ | undefined
569
+ noiseSuppression?:
570
+ | boolean
571
+ | {
572
+ exact?: boolean | undefined
573
+ ideal?: boolean | undefined
574
+ }
575
+ | undefined
576
+ sampleRate?:
577
+ | number
578
+ | {
579
+ exact?: number | undefined
580
+ ideal?: number | undefined
581
+ max?: number | undefined
582
+ min?: number | undefined
583
+ }
584
+ | undefined
585
+ sampleSize?:
586
+ | number
587
+ | {
588
+ exact?: number | undefined
589
+ ideal?: number | undefined
590
+ max?: number | undefined
591
+ min?: number | undefined
592
+ }
593
+ | undefined
594
+ width?:
595
+ | number
596
+ | {
597
+ exact?: number | undefined
598
+ ideal?: number | undefined
599
+ max?: number | undefined
600
+ min?: number | undefined
601
+ }
602
+ | undefined
603
+ }
604
+ | undefined
605
+ }
606
+ | undefined,
607
+ | MaybeRef<MediaStreamConstraints>
608
+ | {
609
+ audio?:
610
+ | boolean
611
+ | {
612
+ advanced?:
613
+ | {
614
+ aspectRatio?:
615
+ | number
616
+ | {
617
+ exact?: number | undefined
618
+ ideal?: number | undefined
619
+ max?: number | undefined
620
+ min?: number | undefined
621
+ }
622
+ | undefined
623
+ autoGainControl?:
624
+ | boolean
625
+ | {
626
+ exact?: boolean | undefined
627
+ ideal?: boolean | undefined
628
+ }
629
+ | undefined
630
+ backgroundBlur?:
631
+ | boolean
632
+ | {
633
+ exact?: boolean | undefined
634
+ ideal?: boolean | undefined
635
+ }
636
+ | undefined
637
+ channelCount?:
638
+ | number
639
+ | {
640
+ exact?: number | undefined
641
+ ideal?: number | undefined
642
+ max?: number | undefined
643
+ min?: number | undefined
644
+ }
645
+ | undefined
646
+ deviceId?:
647
+ | string
648
+ | string[]
649
+ | {
650
+ exact?: string | string[] | undefined
651
+ ideal?: string | string[] | undefined
652
+ }
653
+ | undefined
654
+ displaySurface?:
655
+ | string
656
+ | string[]
657
+ | {
658
+ exact?: string | string[] | undefined
659
+ ideal?: string | string[] | undefined
660
+ }
661
+ | undefined
662
+ echoCancellation?:
663
+ | boolean
664
+ | {
665
+ exact?: boolean | undefined
666
+ ideal?: boolean | undefined
667
+ }
668
+ | undefined
669
+ facingMode?:
670
+ | string
671
+ | string[]
672
+ | {
673
+ exact?: string | string[] | undefined
674
+ ideal?: string | string[] | undefined
675
+ }
676
+ | undefined
677
+ frameRate?:
678
+ | number
679
+ | {
680
+ exact?: number | undefined
681
+ ideal?: number | undefined
682
+ max?: number | undefined
683
+ min?: number | undefined
684
+ }
685
+ | undefined
686
+ groupId?:
687
+ | string
688
+ | string[]
689
+ | {
690
+ exact?: string | string[] | undefined
691
+ ideal?: string | string[] | undefined
692
+ }
693
+ | undefined
694
+ height?:
695
+ | number
696
+ | {
697
+ exact?: number | undefined
698
+ ideal?: number | undefined
699
+ max?: number | undefined
700
+ min?: number | undefined
701
+ }
702
+ | undefined
703
+ noiseSuppression?:
704
+ | boolean
705
+ | {
706
+ exact?: boolean | undefined
707
+ ideal?: boolean | undefined
708
+ }
709
+ | undefined
710
+ sampleRate?:
711
+ | number
712
+ | {
713
+ exact?: number | undefined
714
+ ideal?: number | undefined
715
+ max?: number | undefined
716
+ min?: number | undefined
717
+ }
718
+ | undefined
719
+ sampleSize?:
720
+ | number
721
+ | {
722
+ exact?: number | undefined
723
+ ideal?: number | undefined
724
+ max?: number | undefined
725
+ min?: number | undefined
726
+ }
727
+ | undefined
728
+ width?:
729
+ | number
730
+ | {
731
+ exact?: number | undefined
732
+ ideal?: number | undefined
733
+ max?: number | undefined
734
+ min?: number | undefined
735
+ }
736
+ | undefined
737
+ }[]
738
+ | undefined
739
+ aspectRatio?:
740
+ | number
741
+ | {
742
+ exact?: number | undefined
743
+ ideal?: number | undefined
744
+ max?: number | undefined
745
+ min?: number | undefined
746
+ }
747
+ | undefined
748
+ autoGainControl?:
749
+ | boolean
750
+ | {
751
+ exact?: boolean | undefined
752
+ ideal?: boolean | undefined
753
+ }
754
+ | undefined
755
+ backgroundBlur?:
756
+ | boolean
757
+ | {
758
+ exact?: boolean | undefined
759
+ ideal?: boolean | undefined
760
+ }
761
+ | undefined
762
+ channelCount?:
763
+ | number
764
+ | {
765
+ exact?: number | undefined
766
+ ideal?: number | undefined
767
+ max?: number | undefined
768
+ min?: number | undefined
769
+ }
770
+ | undefined
771
+ deviceId?:
772
+ | string
773
+ | string[]
774
+ | {
775
+ exact?: string | string[] | undefined
776
+ ideal?: string | string[] | undefined
777
+ }
778
+ | undefined
779
+ displaySurface?:
780
+ | string
781
+ | string[]
782
+ | {
783
+ exact?: string | string[] | undefined
784
+ ideal?: string | string[] | undefined
785
+ }
786
+ | undefined
787
+ echoCancellation?:
788
+ | boolean
789
+ | {
790
+ exact?: boolean | undefined
791
+ ideal?: boolean | undefined
792
+ }
793
+ | undefined
794
+ facingMode?:
795
+ | string
796
+ | string[]
797
+ | {
798
+ exact?: string | string[] | undefined
799
+ ideal?: string | string[] | undefined
800
+ }
801
+ | undefined
802
+ frameRate?:
803
+ | number
804
+ | {
805
+ exact?: number | undefined
806
+ ideal?: number | undefined
807
+ max?: number | undefined
808
+ min?: number | undefined
809
+ }
810
+ | undefined
811
+ groupId?:
812
+ | string
813
+ | string[]
814
+ | {
815
+ exact?: string | string[] | undefined
816
+ ideal?: string | string[] | undefined
817
+ }
818
+ | undefined
819
+ height?:
820
+ | number
821
+ | {
822
+ exact?: number | undefined
823
+ ideal?: number | undefined
824
+ max?: number | undefined
825
+ min?: number | undefined
826
+ }
827
+ | undefined
828
+ noiseSuppression?:
829
+ | boolean
830
+ | {
831
+ exact?: boolean | undefined
832
+ ideal?: boolean | undefined
833
+ }
834
+ | undefined
835
+ sampleRate?:
836
+ | number
837
+ | {
838
+ exact?: number | undefined
839
+ ideal?: number | undefined
840
+ max?: number | undefined
841
+ min?: number | undefined
842
+ }
843
+ | undefined
844
+ sampleSize?:
845
+ | number
846
+ | {
847
+ exact?: number | undefined
848
+ ideal?: number | undefined
849
+ max?: number | undefined
850
+ min?: number | undefined
851
+ }
852
+ | undefined
853
+ width?:
854
+ | number
855
+ | {
856
+ exact?: number | undefined
857
+ ideal?: number | undefined
858
+ max?: number | undefined
859
+ min?: number | undefined
860
+ }
861
+ | undefined
862
+ }
863
+ | undefined
864
+ peerIdentity?: string | undefined
865
+ preferCurrentTab?: boolean | undefined
866
+ video?:
867
+ | boolean
868
+ | {
869
+ advanced?:
870
+ | {
871
+ aspectRatio?:
872
+ | number
873
+ | {
874
+ exact?: number | undefined
875
+ ideal?: number | undefined
876
+ max?: number | undefined
877
+ min?: number | undefined
878
+ }
879
+ | undefined
880
+ autoGainControl?:
881
+ | boolean
882
+ | {
883
+ exact?: boolean | undefined
884
+ ideal?: boolean | undefined
885
+ }
886
+ | undefined
887
+ backgroundBlur?:
888
+ | boolean
889
+ | {
890
+ exact?: boolean | undefined
891
+ ideal?: boolean | undefined
892
+ }
893
+ | undefined
894
+ channelCount?:
895
+ | number
896
+ | {
897
+ exact?: number | undefined
898
+ ideal?: number | undefined
899
+ max?: number | undefined
900
+ min?: number | undefined
901
+ }
902
+ | undefined
903
+ deviceId?:
904
+ | string
905
+ | string[]
906
+ | {
907
+ exact?: string | string[] | undefined
908
+ ideal?: string | string[] | undefined
909
+ }
910
+ | undefined
911
+ displaySurface?:
912
+ | string
913
+ | string[]
914
+ | {
915
+ exact?: string | string[] | undefined
916
+ ideal?: string | string[] | undefined
917
+ }
918
+ | undefined
919
+ echoCancellation?:
920
+ | boolean
921
+ | {
922
+ exact?: boolean | undefined
923
+ ideal?: boolean | undefined
924
+ }
925
+ | undefined
926
+ facingMode?:
927
+ | string
928
+ | string[]
929
+ | {
930
+ exact?: string | string[] | undefined
931
+ ideal?: string | string[] | undefined
932
+ }
933
+ | undefined
934
+ frameRate?:
935
+ | number
936
+ | {
937
+ exact?: number | undefined
938
+ ideal?: number | undefined
939
+ max?: number | undefined
940
+ min?: number | undefined
941
+ }
942
+ | undefined
943
+ groupId?:
944
+ | string
945
+ | string[]
946
+ | {
947
+ exact?: string | string[] | undefined
948
+ ideal?: string | string[] | undefined
949
+ }
950
+ | undefined
951
+ height?:
952
+ | number
953
+ | {
954
+ exact?: number | undefined
955
+ ideal?: number | undefined
956
+ max?: number | undefined
957
+ min?: number | undefined
958
+ }
959
+ | undefined
960
+ noiseSuppression?:
961
+ | boolean
962
+ | {
963
+ exact?: boolean | undefined
964
+ ideal?: boolean | undefined
965
+ }
966
+ | undefined
967
+ sampleRate?:
968
+ | number
969
+ | {
970
+ exact?: number | undefined
971
+ ideal?: number | undefined
972
+ max?: number | undefined
973
+ min?: number | undefined
974
+ }
975
+ | undefined
976
+ sampleSize?:
977
+ | number
978
+ | {
979
+ exact?: number | undefined
980
+ ideal?: number | undefined
981
+ max?: number | undefined
982
+ min?: number | undefined
983
+ }
984
+ | undefined
985
+ width?:
986
+ | number
987
+ | {
988
+ exact?: number | undefined
989
+ ideal?: number | undefined
990
+ max?: number | undefined
991
+ min?: number | undefined
992
+ }
993
+ | undefined
994
+ }[]
995
+ | undefined
996
+ aspectRatio?:
997
+ | number
998
+ | {
999
+ exact?: number | undefined
1000
+ ideal?: number | undefined
1001
+ max?: number | undefined
1002
+ min?: number | undefined
1003
+ }
1004
+ | undefined
1005
+ autoGainControl?:
1006
+ | boolean
1007
+ | {
1008
+ exact?: boolean | undefined
1009
+ ideal?: boolean | undefined
1010
+ }
1011
+ | undefined
1012
+ backgroundBlur?:
1013
+ | boolean
1014
+ | {
1015
+ exact?: boolean | undefined
1016
+ ideal?: boolean | undefined
1017
+ }
1018
+ | undefined
1019
+ channelCount?:
1020
+ | number
1021
+ | {
1022
+ exact?: number | undefined
1023
+ ideal?: number | undefined
1024
+ max?: number | undefined
1025
+ min?: number | undefined
1026
+ }
1027
+ | undefined
1028
+ deviceId?:
1029
+ | string
1030
+ | string[]
1031
+ | {
1032
+ exact?: string | string[] | undefined
1033
+ ideal?: string | string[] | undefined
1034
+ }
1035
+ | undefined
1036
+ displaySurface?:
1037
+ | string
1038
+ | string[]
1039
+ | {
1040
+ exact?: string | string[] | undefined
1041
+ ideal?: string | string[] | undefined
1042
+ }
1043
+ | undefined
1044
+ echoCancellation?:
1045
+ | boolean
1046
+ | {
1047
+ exact?: boolean | undefined
1048
+ ideal?: boolean | undefined
1049
+ }
1050
+ | undefined
1051
+ facingMode?:
1052
+ | string
1053
+ | string[]
1054
+ | {
1055
+ exact?: string | string[] | undefined
1056
+ ideal?: string | string[] | undefined
1057
+ }
1058
+ | undefined
1059
+ frameRate?:
1060
+ | number
1061
+ | {
1062
+ exact?: number | undefined
1063
+ ideal?: number | undefined
1064
+ max?: number | undefined
1065
+ min?: number | undefined
1066
+ }
1067
+ | undefined
1068
+ groupId?:
1069
+ | string
1070
+ | string[]
1071
+ | {
1072
+ exact?: string | string[] | undefined
1073
+ ideal?: string | string[] | undefined
1074
+ }
1075
+ | undefined
1076
+ height?:
1077
+ | number
1078
+ | {
1079
+ exact?: number | undefined
1080
+ ideal?: number | undefined
1081
+ max?: number | undefined
1082
+ min?: number | undefined
1083
+ }
1084
+ | undefined
1085
+ noiseSuppression?:
1086
+ | boolean
1087
+ | {
1088
+ exact?: boolean | undefined
1089
+ ideal?: boolean | undefined
1090
+ }
1091
+ | undefined
1092
+ sampleRate?:
1093
+ | number
1094
+ | {
1095
+ exact?: number | undefined
1096
+ ideal?: number | undefined
1097
+ max?: number | undefined
1098
+ min?: number | undefined
1099
+ }
1100
+ | undefined
1101
+ sampleSize?:
1102
+ | number
1103
+ | {
1104
+ exact?: number | undefined
1105
+ ideal?: number | undefined
1106
+ max?: number | undefined
1107
+ min?: number | undefined
1108
+ }
1109
+ | undefined
1110
+ width?:
1111
+ | number
1112
+ | {
1113
+ exact?: number | undefined
1114
+ ideal?: number | undefined
1115
+ max?: number | undefined
1116
+ min?: number | undefined
1117
+ }
1118
+ | undefined
1119
+ }
1120
+ | undefined
1121
+ }
1122
+ | undefined
1123
+ >
1124
+ enabled:
1125
+ | Ref<boolean, boolean>
1126
+ | ShallowRef<boolean, boolean>
1127
+ | WritableComputedRef<boolean, boolean>
1128
+ | ShallowRef<true, true>
1129
+ | ShallowRef<false, false>
1130
+ autoSwitch:
1131
+ | Ref<boolean, boolean>
1132
+ | ShallowRef<boolean, boolean>
1133
+ | WritableComputedRef<boolean, boolean>
1134
+ | ShallowRef<true, true>
1135
+ | ShallowRef<false, false>
1136
+ }
1137
+ export type UseUserMediaReturn = ReturnType<typeof useUserMedia>
1138
+ ```