├── .prettierrc ├── .husky ├── pre-commit └── commit-msg ├── .prettierignore ├── commitlint.config.js ├── public └── favicon.ico ├── projects └── ngxpert │ └── input-otp │ ├── schematics │ ├── ng-add │ │ ├── schema.ts │ │ ├── schema.json │ │ ├── index.ts │ │ └── package-config.ts │ └── collection.json │ ├── src │ ├── lib │ │ ├── regexp.ts │ │ ├── sync-timeouts.ts │ │ ├── control-value-signal.ts │ │ ├── components │ │ │ └── input-otp │ │ │ │ ├── input-otp.component.html │ │ │ │ ├── input-otp.component.css │ │ │ │ └── input-otp.component.ts │ │ └── types.ts │ └── public-api.ts │ ├── ng-package.json │ ├── tsconfig.lib.prod.json │ ├── tsconfig.spec.json │ ├── tsconfig.lib.json │ ├── eslint.config.js │ ├── tsconfig.schematics.json │ ├── package.json │ └── README.md ├── src ├── app │ ├── app.component.html │ ├── components │ │ ├── fake-dash │ │ │ ├── fake-dash.component.html │ │ │ └── fake-dash.component.ts │ │ ├── fake-caret │ │ │ ├── fake-caret.component.ts │ │ │ └── fake-caret.component.html │ │ ├── site-footer │ │ │ ├── site-footer.component.ts │ │ │ └── site-footer.component.html │ │ ├── copy-button │ │ │ ├── copy-button.component.html │ │ │ └── copy-button.component.ts │ │ ├── mode-toggle │ │ │ ├── mode-toggle.component.html │ │ │ └── mode-toggle.component.ts │ │ ├── site-header │ │ │ ├── site-header.component.ts │ │ │ └── site-header.component.html │ │ ├── code │ │ │ ├── code.component.html │ │ │ └── code.component.ts │ │ ├── slot │ │ │ ├── slot.component.html │ │ │ └── slot.component.ts │ │ ├── showcase │ │ │ ├── showcase.component.html │ │ │ └── showcase.component.ts │ │ ├── ui │ │ │ └── button │ │ │ │ └── button.component.ts │ │ ├── page-header │ │ │ └── page-header.component.ts │ │ └── icons.ts │ ├── lib │ │ └── utils.ts │ ├── pages │ │ ├── tests │ │ │ ├── copy-paste │ │ │ │ ├── copy-paste.component.html │ │ │ │ └── copy-paste.component.ts │ │ │ ├── with-focus-afterinit │ │ │ │ ├── with-focus-afterinit.component.html │ │ │ │ └── with-focus-afterinit.component.ts │ │ │ ├── with-on-complete │ │ │ │ ├── with-on-complete.component.html │ │ │ │ └── with-on-complete.component.ts │ │ │ ├── base │ │ │ │ ├── base.component.html │ │ │ │ └── base.component.ts │ │ │ ├── inputs │ │ │ │ ├── inputs.component.ts │ │ │ │ └── inputs.component.html │ │ │ └── components │ │ │ │ └── base-input │ │ │ │ ├── base-input.component.ts │ │ │ │ └── base-input.component.html │ │ ├── examples │ │ │ └── main │ │ │ │ ├── utils.ts │ │ │ │ ├── fake-components.ts │ │ │ │ ├── slot.component.ts │ │ │ │ └── main.component.ts │ │ └── home │ │ │ ├── home.component.ts │ │ │ └── home.component.html │ ├── shared │ │ ├── components │ │ │ └── component-w-class │ │ │ │ └── component-w-class.directive.ts │ │ └── pipes │ │ │ ├── safe-html.pipe.ts │ │ │ └── code-highlight.pipe.ts │ ├── app.component.ts │ ├── config │ │ └── site.ts │ ├── app.config.ts │ ├── core │ │ ├── local-storage.service.ts │ │ └── theme-changer.service.ts │ └── app.routes.ts ├── main.ts ├── custom-theme.scss ├── index.html └── styles.css ├── .postcssrc.json ├── .vscode ├── extensions.json ├── launch.json └── tasks.json ├── cypress.config.ts ├── cypress ├── e2e │ ├── with-focus-afterinit.spec.cy.ts │ ├── with-on-complete.spec.cy.ts │ ├── base.copy-paste.spec.cy.ts │ ├── base.typing.spec.cy.ts │ ├── base.selection.spec.cy.ts │ ├── base.slot.spec.cy.ts │ ├── base.inputs.spec.cy.ts │ ├── base.render.spec.cy.ts │ ├── base.delete-word.spec.cy.ts │ └── permissions-spec.cy.ts └── support │ └── e2e.ts ├── .editorconfig ├── tsconfig.app.json ├── tsconfig.spec.json ├── .github ├── dependabot.yml ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── FUNDING.yml └── workflows │ ├── release.yaml │ └── test.yaml ├── .gitignore ├── .releaserc.json ├── .all-contributorsrc ├── CHANGELOG.md ├── LICENSE ├── eslint.config.js ├── tsconfig.json ├── CONTRIBUTING.md ├── package.json ├── .cursor └── rules ├── angular.json ├── CODE_OF_CONDUCT.md └── README.md /.prettierrc: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | # npm test 2 | npx lint-staged 3 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | npx --no -- commitlint --edit ${1} 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | build 3 | coverage 4 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | export default { extends: ['@commitlint/config-conventional'] }; 2 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngxpert/input-otp/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /projects/ngxpert/input-otp/schematics/ng-add/schema.ts: -------------------------------------------------------------------------------- 1 | export interface Schema { 2 | /** Name of the project to target. */ 3 | project: string; 4 | } 5 | -------------------------------------------------------------------------------- /src/app/app.component.html: -------------------------------------------------------------------------------- 1 |
53 |