├── site
├── vendor
│ └── .gitkeep
├── app
│ ├── components
│ │ ├── .gitkeep
│ │ └── demo
│ │ │ ├── example1.js
│ │ │ └── example1.hbs
│ ├── helpers
│ │ └── .gitkeep
│ ├── models
│ │ └── .gitkeep
│ ├── routes
│ │ ├── .gitkeep
│ │ └── application.js
│ ├── controllers
│ │ └── .gitkeep
│ ├── templates
│ │ ├── docs.hbs
│ │ ├── application.hbs
│ │ └── index.hbs
│ ├── router.js
│ ├── app.js
│ ├── styles
│ │ ├── docfy-demo.css
│ │ ├── app.css
│ │ └── highlight.css
│ └── index.html
├── tests
│ ├── helpers
│ │ └── .gitkeep
│ ├── unit
│ │ ├── .gitkeep
│ │ └── routes
│ │ │ └── index-test.js
│ ├── integration
│ │ └── .gitkeep
│ ├── test-helper.js
│ └── index.html
├── .watchmanconfig
├── public
│ └── robots.txt
├── config
│ ├── optional-features.json
│ ├── targets.js
│ ├── ember-cli-update.json
│ └── environment.js
├── .ember-cli
├── .editorconfig
├── testem.js
├── .docfy-config.js
├── .github
│ └── workflows
│ │ └── ci.yml
├── ember-cli-build.js
├── README.md
├── package.json
└── tailwind.config.js
├── packages
├── test-app
│ ├── app
│ │ ├── helpers
│ │ │ └── .gitkeep
│ │ ├── models
│ │ │ └── .gitkeep
│ │ ├── routes
│ │ │ └── .gitkeep
│ │ ├── components
│ │ │ └── .gitkeep
│ │ ├── controllers
│ │ │ └── .gitkeep
│ │ ├── templates
│ │ │ └── application.hbs
│ │ ├── styles
│ │ │ └── app.css
│ │ ├── router.js
│ │ ├── app.js
│ │ └── index.html
│ ├── tests
│ │ ├── unit
│ │ │ └── .gitkeep
│ │ ├── integration
│ │ │ ├── .gitkeep
│ │ │ └── modifiers
│ │ │ │ └── focus-trap-test.js
│ │ ├── test-helper.js
│ │ ├── index.html
│ │ └── helpers
│ │ │ └── index.js
│ ├── .watchmanconfig
│ ├── public
│ │ └── robots.txt
│ ├── .template-lintrc.js
│ ├── .stylelintrc.js
│ ├── .stylelintignore
│ ├── .prettierignore
│ ├── config
│ │ ├── targets.js
│ │ ├── optional-features.json
│ │ ├── ember-cli-update.json
│ │ ├── ember-try.js
│ │ └── environment.js
│ ├── .ember-cli
│ ├── ember-cli-build.js
│ ├── .gitignore
│ ├── .prettierrc.js
│ ├── .editorconfig
│ ├── testem.js
│ ├── tsconfig.json
│ ├── README.md
│ ├── eslint.config.mjs
│ └── package.json
└── ember-focus-trap
│ ├── src
│ ├── index.ts
│ ├── template-registry.ts
│ └── modifiers
│ │ └── focus-trap.js
│ ├── addon-main.cjs
│ ├── .prettierignore
│ ├── .prettierrc.cjs
│ ├── .gitignore
│ ├── babel.config.json
│ ├── unpublished-development-types
│ └── index.d.ts
│ ├── LICENSE.md
│ ├── tsconfig.json
│ ├── rollup.config.mjs
│ ├── package.json
│ └── eslint.config.mjs
├── pnpm-workspace.yaml
├── .prettierrc.js
├── lerna.json
├── jsconfig.json
├── docs
├── examples.md
├── installation.md
├── acknowledgments.md
├── index.md
├── examples-demo
│ ├── initial-focus.md
│ ├── container-self-focus.md
│ └── activated-on-render.md
└── arguments.md
├── .template-lintrc.js
├── tsconfig.eslint.json
├── .github
├── workflows
│ ├── release-drafter.yml
│ └── ci.yml
└── release-drafter.yml
├── .editorconfig
├── .prettierignore
├── .eslintignore
├── .gitignore
├── .npmignore
├── CONTRIBUTING.md
├── tsconfig.base.json
├── .npmrc
├── LICENSE.md
├── package.json
├── .eslintrc.js
├── CHANGELOG.md
└── README.md
/site/vendor/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/app/components/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/app/helpers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/app/models/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/app/routes/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/tests/helpers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/tests/unit/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/app/controllers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/tests/integration/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/test-app/app/helpers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/test-app/app/models/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/test-app/app/routes/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/test-app/tests/unit/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/test-app/app/components/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/test-app/app/controllers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/test-app/tests/integration/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - packages/*
3 | - site
4 |
--------------------------------------------------------------------------------
/site/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {
2 | "ignore_dirs": ["tmp", "dist"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/test-app/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {
2 | "ignore_dirs": ["dist"]
3 | }
4 |
--------------------------------------------------------------------------------
/site/app/templates/docs.hbs:
--------------------------------------------------------------------------------
1 |
37 | Here is a focus trap
38 | with
39 | some
40 | focusable
41 | parts.
42 |
43 |
44 | Initially focused input
45 |
46 |
2 |
3 |
43 | Here is a focus trap 44 | with 45 | some 46 | focusable 47 | parts. 48 |
49 |50 | 51 |
52 |67 | Here is a focus trap 68 | with 69 | some 70 | focusable 71 | parts. 72 |
73 |74 | 75 |
76 |13 | A Ember modifier to trap your focus. 14 |
15 | 16 |We use 43 | focus-trap 44 | as a lower-level implementation. It is super lightweight and has minimal 45 | dependencies.
46 |Trap focus within a DOM node.
47 |There may come a time when you find it important to trap focus within a
48 | DOM node — so that when a user hits
49 | Tab
50 | or
51 | Shift+Tab
52 | or clicks around, she can"t escape a certain cycle of focusable elements.
Please read the 54 | focus-trap 55 | documentation to understand what a focus trap is, what happens when a 56 | focus trap is activated, and what happens when one is deactivated.
57 |