gitextract_xaiikd27/ ├── .browserslistrc ├── .eslintignore ├── .eslintrc.js ├── .github/ │ ├── CODEOWNERS │ ├── dependabot.yml │ ├── stale.yml │ └── workflows/ │ ├── plan-release.yml │ ├── publish.yml │ └── test.yml ├── .gitignore ├── .nojekyll ├── .prettierrc.js ├── .release-plan.json ├── .tool-versions ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── RELEASE.md ├── docs-src/ │ ├── .dockerignore │ ├── .gitignore │ ├── .vscode/ │ │ ├── extensions.json │ │ └── launch.json │ ├── Dockerfile │ ├── README.md │ ├── astro.config.mjs │ ├── fly.toml │ ├── package.json │ ├── src/ │ │ ├── components/ │ │ │ ├── HeadWithPosthog.astro │ │ │ └── Posthog.astro │ │ ├── content/ │ │ │ ├── config.ts │ │ │ └── docs/ │ │ │ ├── api/ │ │ │ │ └── README.md │ │ │ ├── guides/ │ │ │ │ ├── analytics.mdx │ │ │ │ ├── install.mdx │ │ │ │ ├── license.mdx │ │ │ │ ├── styling.md │ │ │ │ └── usage.md │ │ │ └── recipes/ │ │ │ ├── cookbook.md │ │ │ └── react.md │ │ ├── env.d.ts │ │ └── pages/ │ │ └── index.astro │ └── tsconfig.json ├── landing/ │ ├── .gitignore │ ├── .vscode/ │ │ ├── extensions.json │ │ └── launch.json │ ├── README.md │ ├── astro.config.mjs │ ├── package.json │ ├── public/ │ │ ├── CNAME │ │ └── favicons/ │ │ └── site.webmanifest │ ├── src/ │ │ ├── components/ │ │ │ ├── ArticleCard.astro │ │ │ ├── BaseHead.astro │ │ │ ├── Footer.astro │ │ │ ├── FormattedDate.astro │ │ │ ├── GithubButton.astro │ │ │ ├── Header.astro │ │ │ ├── HeaderLink.astro │ │ │ ├── Icon.astro │ │ │ └── Posthog.astro │ │ ├── consts.ts │ │ ├── content/ │ │ │ ├── blog/ │ │ │ │ ├── alpha-launch-pro.md │ │ │ │ ├── secret-handshakes-hidden-passages.md │ │ │ │ ├── shepherd-the-product.md │ │ │ │ └── tale-of-frameworks.md │ │ │ └── config.ts │ │ ├── env.d.ts │ │ ├── layouts/ │ │ │ ├── Base.astro │ │ │ ├── BlogPost.astro │ │ │ └── MainPage.astro │ │ ├── lib/ │ │ │ └── github.ts │ │ ├── pages/ │ │ │ ├── api/ │ │ │ │ └── checkout.ts │ │ │ ├── blog/ │ │ │ │ ├── [...slug].astro │ │ │ │ └── index.astro │ │ │ ├── index.astro │ │ │ ├── pricing.astro │ │ │ └── rss.xml.js │ │ └── styles/ │ │ ├── fonts.css │ │ ├── prism.css │ │ ├── shepherd.css │ │ └── styles.css │ └── tsconfig.json ├── package.json ├── packages/ │ └── react/ │ ├── .gitignore │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src/ │ │ └── index.tsx │ ├── test/ │ │ ├── index.test.tsx │ │ └── setup.ts │ ├── tsconfig.json │ ├── vite.config.ts │ └── vitest.config.ts ├── pnpm-workspace.yaml ├── shepherd.js/ │ ├── .attw.json │ ├── .eslintignore │ ├── .eslintrc.cjs │ ├── .gitignore │ ├── .prettierignore │ ├── babel.config.cjs │ ├── cypress/ │ │ └── downloads/ │ │ └── downloads.html │ ├── dev/ │ │ ├── assets/ │ │ │ └── favicons/ │ │ │ ├── browserconfig.xml │ │ │ └── manifest.json │ │ ├── css/ │ │ │ ├── fonts.css │ │ │ ├── prism.css │ │ │ └── welcome.css │ │ ├── index.html │ │ └── js/ │ │ └── prism.js │ ├── dummy/ │ │ ├── assets/ │ │ │ └── favicons/ │ │ │ ├── browserconfig.xml │ │ │ └── manifest.json │ │ ├── css/ │ │ │ ├── fonts.css │ │ │ ├── prism.css │ │ │ └── welcome.css │ │ ├── index.html │ │ └── js/ │ │ └── prism.js │ ├── eslint.config.js │ ├── package.json │ ├── rollup.config.mjs │ ├── src/ │ │ ├── components/ │ │ │ ├── shepherd-button.css │ │ │ ├── shepherd-button.ts │ │ │ ├── shepherd-cancel-icon.css │ │ │ ├── shepherd-cancel-icon.ts │ │ │ ├── shepherd-content.css │ │ │ ├── shepherd-content.ts │ │ │ ├── shepherd-element.css │ │ │ ├── shepherd-element.ts │ │ │ ├── shepherd-footer.css │ │ │ ├── shepherd-footer.ts │ │ │ ├── shepherd-header.css │ │ │ ├── shepherd-header.ts │ │ │ ├── shepherd-modal.css │ │ │ ├── shepherd-modal.ts │ │ │ ├── shepherd-text.css │ │ │ ├── shepherd-text.ts │ │ │ ├── shepherd-title.css │ │ │ └── shepherd-title.ts │ │ ├── evented.ts │ │ ├── shepherd.ts │ │ ├── step.ts │ │ ├── tour.ts │ │ └── utils/ │ │ ├── auto-bind.ts │ │ ├── bind.ts │ │ ├── cleanup.ts │ │ ├── dom.ts │ │ ├── floating-ui.ts │ │ ├── general.ts │ │ ├── overlay-path.ts │ │ └── type-check.ts │ ├── test/ │ │ ├── cypress/ │ │ │ ├── .gitignore │ │ │ ├── cypress.config.js │ │ │ ├── dummy/ │ │ │ │ ├── assets/ │ │ │ │ │ └── favicons/ │ │ │ │ │ ├── browserconfig.xml │ │ │ │ │ └── manifest.json │ │ │ │ ├── css/ │ │ │ │ │ ├── fonts.css │ │ │ │ │ ├── prism.css │ │ │ │ │ └── welcome.css │ │ │ │ ├── index.html │ │ │ │ └── js/ │ │ │ │ └── prism.js │ │ │ ├── examples/ │ │ │ │ ├── css/ │ │ │ │ │ ├── no-css-import.html │ │ │ │ │ └── with-css-import.html │ │ │ │ └── destroying-elements.html │ │ │ ├── integration/ │ │ │ │ ├── a11y.cy.js │ │ │ │ ├── css.cy.js │ │ │ │ ├── destroying-elements.cy.js │ │ │ │ ├── element-targeting.cy.js │ │ │ │ ├── modal.cy.js │ │ │ │ └── test.acceptance.cy.js │ │ │ ├── support/ │ │ │ │ ├── commands.js │ │ │ │ └── index.js │ │ │ └── utils/ │ │ │ ├── default-buttons.js │ │ │ ├── default-steps.js │ │ │ └── setup-tour.js │ │ └── unit/ │ │ ├── babel.config.cjs │ │ ├── components/ │ │ │ ├── shepherd-button.spec.js │ │ │ ├── shepherd-content.spec.js │ │ │ ├── shepherd-element.spec.js │ │ │ ├── shepherd-footer.spec.js │ │ │ ├── shepherd-header.spec.js │ │ │ ├── shepherd-modal.spec.js │ │ │ ├── shepherd-text.spec.js │ │ │ └── shepherd-title.spec.js │ │ ├── evented.spec.js │ │ ├── server.spec.js │ │ ├── setupTests.js │ │ ├── step.spec.js │ │ ├── tour.spec.js │ │ └── utils/ │ │ ├── bind.spec.js │ │ ├── cleanup.spec.js │ │ └── general.spec.js │ ├── tsconfig.json │ └── vitest.config.ts └── stderr.log