dify/web/app/components/step-by-step-tour
2026-08-22 23:54:08 +00:00
..
__tests__ refactor(dify-ui): simplify overlay content APIs (#41098) 2026-08-22 23:54:08 +00:00
analytics.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
coachmark.tsx fix(web): keep workflow ref updates out of render (#40428) 2026-08-10 14:38:04 +00:00
dropdown-menu.ts refactor(dify-ui): simplify overlay content APIs (#41098) 2026-08-22 23:54:08 +00:00
floating-widget.tsx refactor(web): migrate app icon commands (#40646) 2026-08-13 06:44:00 +00:00
mount.tsx fix(web): prevent Safari clipping tour recovery prompt (#41060) 2026-08-21 09:19:38 +00:00
README.md docs(web): consolidate maintainer guidance (#40758) 2026-08-14 03:40:05 +00:00
state.ts refactor(web): align query client ownership (#40024) 2026-08-05 07:02:09 +00:00
storage.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
target-registry.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
tasks.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
types.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
use-coachmark-position.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
use-target-rect.ts fix(web): keep workflow ref updates out of render (#40428) 2026-08-10 14:38:04 +00:00
use-tour-target.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00

Step-by-step Tour

This directory owns the cross-route Step-by-step Tour capability.

  • state.ts owns the server query graph, the in-memory tour session, and domain commands.
  • storage.ts owns only the persisted shell preference.
  • target-registry.ts owns guide target registration and lookup across route content.
  • mount.tsx composes the checklist, coachmarks, navigation, and analytics.
  • coachmark.tsx owns the feature-specific portal, spotlight geometry, pointer blockers, and target interaction policy.
  • Route consumers resolve only the guide branch and targets that depend on their page data.

Server state remains canonical in the TanStack Query cache. Components consume narrow derived atoms and write-only commands instead of a combined account-state facade.

The checklist uses Dify UI Popover. The coachmark is a deliberate feature-owned exception because ordinary overlay primitives do not model an arbitrary-page spotlight; it is not a reusable overlay primitive.