[Feature Request] createTour: headless tour primitive — mask cutout, passthrough, per-step a11y
Open
@johnleider is already working on this.
Since Jul 6, 2026.
E: createTour
T: feature
- Dominant language
- TypeScript
- Stars
- 735
- Forks
- 10
- Avg merge
- 10h 47m
- Merged PRs (30d)
- 72
Description
Build the createTour composable — step orchestration, target-rect tracking, SVG-mask cutout geometry, interaction passthrough, and per-step a11y, composing createStep / usePopover / useRovingFocus / observers.
Part of the v1.2.0 epic (#508). The Tour component shell builds on this.
Category
semanticand the namecreateTourare provisional — adjust at implementation.
Checklist — new-feature checklist, composables
-
packages/0/src/composables/createTour/—index.ts(+index.test.ts) -
packages/0/src/composables/index.ts— addexport * from './createTour'(alphabetical) -
packages/0/src/maturity.json— addcreateTourentry:level: preview,since: null,category: semantic,description -
apps/docs/src/pages/composables/semantic/tour.md— docs page with frontmatter -
apps/docs/src/examples/composables/tour/basic.vue— basic example -
apps/docs/src/pages/composables/index.md— table entry (semantic section) -
packages/0/README.md— What's Included table - root
README.md— keep in sync -
packages/0/src/surface.test.ts— add exports toCOMPOSABLESfreeze array (sorted) -
<DocsApi />renders + feature appears inapi-whitelist.tsafter build -
pnpm build:0 && pnpm typecheck && pnpm lint:fix && pnpm build:docsgreen
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.