An Angular wrapper for the Shepherd site tour library, providing guided tours and step-by-step walkthroughs for Angular applications.
angular-shepherd is an Angular wrapper for the Shepherd library that allows developers to create interactive site tours and step-by-step walkthroughs within Angular applications. It provides a service-based API to integrate guided tours seamlessly, helping users navigate and understand complex web interfaces.
Angular developers building applications that require user onboarding, feature introductions, or interactive tutorials to improve user experience and reduce support overhead.
Developers choose angular-shepherd because it offers a native Angular integration of the popular Shepherd library, with additional features like required element validation and modal overlays, making it easier to implement and manage tours within Angular's ecosystem.
An Angular wrapper for the site tour library Shepherd
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a dedicated ShepherdService that aligns with Angular's dependency injection and lifecycle hooks, making it seamless to integrate tours into Angular apps without hacking around framework constraints.
Includes requiredElements validation to ensure DOM elements are visible before starting tours, preventing broken tours and improving user experience with custom error messages.
Offers modal functionality to highlight current elements and grey out the rest of the screen, enhancing focus and clarity during guided walkthroughs, as noted in the configuration options.
Supports full Shepherd step options with attach points, buttons, scroll behavior, and event hooks, allowing detailed tour design based on the extensive Step docs linked in the README.
The maintainer admits to not being an Angular expert, which may lead to suboptimal patterns or integration issues in complex Angular applications, as hinted in the usage notes.
AGPL-3.0 license requires purchasing a commercial license for revenue-generating projects, adding cost and administrative burden compared to permissively licensed alternatives.
Requires manual CSS inclusion in angular.json and careful service injection at the app level for optimal performance, which can be error-prone and adds initial setup time.