├── .editorconfig ├── .eslintrc.json ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── pull_request_template.md └── workflows │ └── deploy-docs.yml ├── .gitignore ├── .husky └── pre-commit ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .prettierrc.js ├── .stylelintrc.json ├── .verdaccio └── config.yml ├── .vscode ├── extensions.json └── settings.json ├── LICENSE ├── README.md ├── apps ├── cookies-test │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── jest.config.ts │ ├── project.json │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.ts │ │ │ ├── app.config.ts │ │ │ ├── app.routes.ts │ │ │ ├── cookies.component.ts │ │ │ └── session.service.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── nl │ │ │ │ └── consent.json │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── main.ts │ │ ├── styles.scss │ │ └── test-setup.ts │ ├── tsconfig.app.json │ └── tsconfig.spec.json ├── docs │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── project.json │ ├── public │ │ ├── D—Heavy.webp │ │ ├── arrow.svg │ │ ├── favicon.ico │ │ ├── github.svg │ │ ├── layout-dashboard.svg │ │ ├── logo-full.svg │ │ ├── team.webp │ │ └── zap.svg │ ├── server.ts │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.ts │ │ │ ├── app.config.server.ts │ │ │ ├── app.config.ts │ │ │ ├── app.routes.ts │ │ │ ├── categories │ │ │ │ ├── angular │ │ │ │ │ ├── authentication │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── cookies │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── core │ │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ │ └── sub-categories │ │ │ │ │ │ │ └── services │ │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── forms │ │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ │ └── sub-categories │ │ │ │ │ │ │ └── implementation │ │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── government │ │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ │ └── sub-categories │ │ │ │ │ │ │ └── flanders │ │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── i18n │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── inform │ │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ │ └── sub-categories │ │ │ │ │ │ │ └── implementation │ │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── layout │ │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ │ └── sub-categories │ │ │ │ │ │ │ └── implementation │ │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ ├── store │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── table │ │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ │ └── sub-categories │ │ │ │ │ │ │ └── implementation │ │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── tour │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ └── utils │ │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ │ └── sub-categories │ │ │ │ │ │ ├── abstracts │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ │ ├── directives │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ │ ├── injects │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ │ ├── pipes │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ │ ├── providers │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ │ ├── services │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ │ └── utils │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ ├── express │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ └── status │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ └── javascript │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ ├── pagination │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── regex │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ └── sub-categories │ │ │ │ │ │ └── expressions │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── rxjs │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ └── sub-categories │ │ │ │ │ │ └── operators │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── testing │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ └── sub-categories │ │ │ │ │ │ └── factories │ │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── types │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ └── utils │ │ │ │ │ ├── ng-doc.category.ts │ │ │ │ │ └── sub-categories │ │ │ │ │ ├── file │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── number │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ ├── object │ │ │ │ │ └── ng-doc.category.ts │ │ │ │ │ └── string │ │ │ │ │ └── ng-doc.category.ts │ │ │ ├── pages │ │ │ │ ├── docs │ │ │ │ │ ├── angular │ │ │ │ │ │ ├── authentication │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── cookies │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── core │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── services │ │ │ │ │ │ │ │ └── window-service │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── forms │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── form-accessor-container │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── form-accessor-container │ │ │ │ │ │ │ │ │ │ │ ├── date-input │ │ │ │ │ │ │ │ │ │ │ │ └── date-input.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── depended-dates │ │ │ │ │ │ │ │ │ │ │ │ ├── depended-dates.component.html │ │ │ │ │ │ │ │ │ │ │ │ ├── depended-dates.component.ts │ │ │ │ │ │ │ │ │ │ │ │ └── depended-dates.validator.ts │ │ │ │ │ │ │ │ │ │ │ ├── form-accessor-container.demo.component.html │ │ │ │ │ │ │ │ │ │ │ ├── form-accessor-container.demo.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── form-accessor.component.html │ │ │ │ │ │ │ │ │ │ │ └── form-accessor.component.ts │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── form-accessor │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── data-form-accessor │ │ │ │ │ │ │ │ │ │ │ ├── data-form-accessor.demo.component.html │ │ │ │ │ │ │ │ │ │ │ ├── data-form-accessor.demo.component.ts │ │ │ │ │ │ │ │ │ │ │ └── survey-form │ │ │ │ │ │ │ │ │ │ │ │ ├── survey-question.interface.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── survey.component.html │ │ │ │ │ │ │ │ │ │ │ │ └── survey.component.ts │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── mapper │ │ │ │ │ │ │ │ │ │ │ ├── mapper.demo.component.html │ │ │ │ │ │ │ │ │ │ │ ├── mapper.demo.component.ts │ │ │ │ │ │ │ │ │ │ │ └── user-name-form │ │ │ │ │ │ │ │ │ │ │ │ ├── user-name.form.component.html │ │ │ │ │ │ │ │ │ │ │ │ └── user-name.form.component.ts │ │ │ │ │ │ │ │ │ │ ├── overwrite │ │ │ │ │ │ │ │ │ │ │ ├── overwrite.demo.component.html │ │ │ │ │ │ │ │ │ │ │ ├── overwrite.demo.component.ts │ │ │ │ │ │ │ │ │ │ │ └── user-name-form │ │ │ │ │ │ │ │ │ │ │ │ ├── user-name.form.component.html │ │ │ │ │ │ │ │ │ │ │ │ └── user-name.form.component.ts │ │ │ │ │ │ │ │ │ │ └── simple │ │ │ │ │ │ │ │ │ │ │ ├── date-input │ │ │ │ │ │ │ │ │ │ │ ├── date-input.component.html │ │ │ │ │ │ │ │ │ │ │ └── date-input.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── simple.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── simple.demo.component.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── ngxerrors │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ └── ngxerrors │ │ │ │ │ │ │ │ │ │ │ ├── date-input │ │ │ │ │ │ │ │ │ │ │ └── date-input.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── error │ │ │ │ │ │ │ │ │ │ │ ├── error.component.scss │ │ │ │ │ │ │ │ │ │ │ └── error.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── form-accessor.component.html │ │ │ │ │ │ │ │ │ │ │ ├── form-accessor.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── ngxerrors.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── ngxerrors.demo.component.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── save-on-exit │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ └── validators │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── all-or-nothing-required │ │ │ │ │ │ │ │ │ │ ├── all-or-nothing-required.demo.component.html │ │ │ │ │ │ │ │ │ │ └── all-or-nothing-required.demo.component.ts │ │ │ │ │ │ │ │ │ ├── at-least-one-required │ │ │ │ │ │ │ │ │ │ ├── at-least-one-required.demo.component.html │ │ │ │ │ │ │ │ │ │ └── at-least-one-required.demo.component.ts │ │ │ │ │ │ │ │ │ ├── chronological-dates │ │ │ │ │ │ │ │ │ │ ├── chronological-dates.demo.component.html │ │ │ │ │ │ │ │ │ │ └── chronological-dates.demo.component.ts │ │ │ │ │ │ │ │ │ ├── compare │ │ │ │ │ │ │ │ │ │ ├── compare.demo.component.html │ │ │ │ │ │ │ │ │ │ └── compare.demo.component.ts │ │ │ │ │ │ │ │ │ ├── date-range │ │ │ │ │ │ │ │ │ │ ├── date-range.demo.component.html │ │ │ │ │ │ │ │ │ │ └── date-range.demo.component.ts │ │ │ │ │ │ │ │ │ ├── decimals-after-comma │ │ │ │ │ │ │ │ │ │ ├── decimals-after-comma.demo.component.html │ │ │ │ │ │ │ │ │ │ └── decimals-after-comma.demo.component.ts │ │ │ │ │ │ │ │ │ ├── depended-required │ │ │ │ │ │ │ │ │ │ ├── depended-required.demo.component.html │ │ │ │ │ │ │ │ │ │ └── depended-required.demo.component.ts │ │ │ │ │ │ │ │ │ ├── extended-email │ │ │ │ │ │ │ │ │ │ ├── extended-email.demo.component.html │ │ │ │ │ │ │ │ │ │ └── extended-email.demo.component.ts │ │ │ │ │ │ │ │ │ ├── has-no-future-date │ │ │ │ │ │ │ │ │ │ ├── has-no-future-date.demo.component.html │ │ │ │ │ │ │ │ │ │ └── has-no-future-date.demo.component.ts │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── word-count │ │ │ │ │ │ │ │ │ │ ├── word-count.demo.component.html │ │ │ │ │ │ │ │ │ │ └── word-count.demo.component.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── government │ │ │ │ │ │ │ └── flanders │ │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── i18n │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ ├── inform │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── directives │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ └── tooltip │ │ │ │ │ │ │ │ │ │ │ ├── bootstrap.demo.ts │ │ │ │ │ │ │ │ │ │ │ ├── custom-tooltip.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── tooltip.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── tooltip.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── tooltip.demo.component.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ └── services │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── modal │ │ │ │ │ │ │ │ │ │ ├── bootstrap.demo.ts │ │ │ │ │ │ │ │ │ │ ├── confirm.component.ts │ │ │ │ │ │ │ │ │ │ ├── modal.component.ts │ │ │ │ │ │ │ │ │ │ ├── modal.demo.component.html │ │ │ │ │ │ │ │ │ │ └── modal.demo.component.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── layout │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── accordion │ │ │ │ │ │ │ │ │ │ │ ├── accordion.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── accordion.demo.component.ts │ │ │ │ │ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ │ │ │ │ │ ├── configurable │ │ │ │ │ │ │ │ │ │ │ ├── configurable.demo.component.html │ │ │ │ │ │ │ │ │ │ │ ├── configurable.demo.component.scss │ │ │ │ │ │ │ │ │ │ │ └── configurable.demo.component.ts │ │ │ │ │ │ │ │ │ │ ├── drag-and-drop.service.ts │ │ │ │ │ │ │ │ │ │ ├── editable │ │ │ │ │ │ │ │ │ │ │ ├── editable.demo.component.html │ │ │ │ │ │ │ │ │ │ │ ├── editable.demo.component.scss │ │ │ │ │ │ │ │ │ │ │ └── editable.demo.component.ts │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── directives │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ │ │ │ │ │ ├── display-content │ │ │ │ │ │ │ │ │ │ │ ├── display-content.demo.component.html │ │ │ │ │ │ │ │ │ │ │ ├── display-content.demo.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── error.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── loading.component.ts │ │ │ │ │ │ │ │ │ │ │ └── offline.component.ts │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── drag-and-drop │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ └── services │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ ├── accordion │ │ │ │ │ │ │ │ │ ├── accordion.component.html │ │ │ │ │ │ │ │ │ ├── accordion.component.scss │ │ │ │ │ │ │ │ │ └── accordion.component.ts │ │ │ │ │ │ │ │ ├── annotation │ │ │ │ │ │ │ │ │ ├── annotation.component.html │ │ │ │ │ │ │ │ │ ├── annotation.component.scss │ │ │ │ │ │ │ │ │ └── annotation.component.ts │ │ │ │ │ │ │ │ ├── data.demo.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── offline │ │ │ │ │ │ │ │ │ └── offline.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── ng-doc.page.ts │ │ │ │ │ │ ├── store │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── table │ │ │ │ │ │ │ ├── acknowledgement │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── accessibility │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── custom-cells │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── custom-cells │ │ │ │ │ │ │ │ │ │ │ ├── btw-cell.component.ts │ │ │ │ │ │ │ │ │ │ │ ├── custom-cells.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── custom-cells.demo.component.ts │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── defaults-and-ngx-table-config │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── detail-row │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── detail-row-1 │ │ │ │ │ │ │ │ │ │ │ ├── detail-row-one.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── detail-row-one.demo.component.ts │ │ │ │ │ │ │ │ │ │ ├── detail-row-2 │ │ │ │ │ │ │ │ │ │ │ ├── detail-row-two.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── detail-row-two.demo.component.ts │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── header │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── header-empty-state │ │ │ │ │ │ │ │ │ │ │ ├── header-empty-state.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── header-empty-state.demo.component.ts │ │ │ │ │ │ │ │ │ │ ├── header-loading-state │ │ │ │ │ │ │ │ │ │ │ ├── header-loading-state.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── header-loading-state.demo.component.ts │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── loading-and-empty-state │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── empty-state │ │ │ │ │ │ │ │ │ │ │ ├── empty-state.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── empty-state.demo.component.ts │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ └── loading-state │ │ │ │ │ │ │ │ │ │ │ ├── loading-state.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── loading-state.demo.component.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── simple-example │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── custom-cells │ │ │ │ │ │ │ │ │ │ │ ├── custom-cells.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── custom-cells.demo.component.ts │ │ │ │ │ │ │ │ │ │ ├── custom-columns │ │ │ │ │ │ │ │ │ │ │ ├── custom-columns.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── custom-columns.demo.component.ts │ │ │ │ │ │ │ │ │ │ ├── default-templates │ │ │ │ │ │ │ │ │ │ │ ├── default-templates.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── default-templates.demo.component.ts │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── sorting-selecting-row-actions │ │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ │ ├── actions │ │ │ │ │ │ │ │ │ │ │ ├── actions.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── actions.demo.component.ts │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── selectable-checkbox │ │ │ │ │ │ │ │ │ │ │ ├── selectable-checkbox.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── selectable-checkbox.demo.component.ts │ │ │ │ │ │ │ │ │ │ ├── selectable-radiobutton │ │ │ │ │ │ │ │ │ │ │ ├── selectable-radiobutton.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── selectable-radiobutton.demo.component.ts │ │ │ │ │ │ │ │ │ │ └── sorting │ │ │ │ │ │ │ │ │ │ │ ├── sorting.demo.component.html │ │ │ │ │ │ │ │ │ │ │ └── sorting.demo.component.ts │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ └── styling │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ ├── configuration │ │ │ │ │ │ │ │ │ ├── table-configuration.demo.component.html │ │ │ │ │ │ │ │ │ ├── table-configuration.demo.component.scss │ │ │ │ │ │ │ │ │ └── table-configuration.demo.component.ts │ │ │ │ │ │ │ │ ├── data.demo.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── styling │ │ │ │ │ │ │ │ │ ├── table-styling.demo.component.html │ │ │ │ │ │ │ │ │ ├── table-styling.demo.component.scss │ │ │ │ │ │ │ │ │ └── table-styling.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── tour │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── app.config.ts │ │ │ │ │ │ │ │ │ └── tour │ │ │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ │ ├── special-tour.component.ts │ │ │ │ │ │ │ │ │ │ └── tour.component.ts │ │ │ │ │ │ │ │ │ │ ├── pages │ │ │ │ │ │ │ │ │ │ ├── main │ │ │ │ │ │ │ │ │ │ │ ├── main.component.html │ │ │ │ │ │ │ │ │ │ │ ├── main.component.scss │ │ │ │ │ │ │ │ │ │ │ └── main.component.ts │ │ │ │ │ │ │ │ │ │ └── secondary │ │ │ │ │ │ │ │ │ │ │ ├── secondary.component.html │ │ │ │ │ │ │ │ │ │ │ └── secondary.component.ts │ │ │ │ │ │ │ │ │ │ └── start-demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── known-issues │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ ├── abstracts │ │ │ │ │ │ │ └── query-param-form-sync │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── directives │ │ │ │ │ │ │ └── focus-click │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ ├── click-focus │ │ │ │ │ │ │ │ │ ├── click-focus.demo.component.html │ │ │ │ │ │ │ │ │ └── click-focus.demo.component.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── injects │ │ │ │ │ │ │ └── get-query-params │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── pipes │ │ │ │ │ │ │ ├── array-contains-one │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ └── array-contains-one │ │ │ │ │ │ │ │ │ │ ├── array-contains-one.demo.component.html │ │ │ │ │ │ │ │ │ │ └── array-contains-one.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── btw │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ └── btw-pipe │ │ │ │ │ │ │ │ │ │ ├── btw-pipe.demo.component.html │ │ │ │ │ │ │ │ │ │ └── btw-pipe.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── clean-array │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── clean-array │ │ │ │ │ │ │ │ │ │ ├── clean-array.demo.component.html │ │ │ │ │ │ │ │ │ │ └── clean-array.demo.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── entries │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── entries │ │ │ │ │ │ │ │ │ │ ├── entries.demo.component.html │ │ │ │ │ │ │ │ │ │ └── entries.demo.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── has-observers │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── has-observers-component │ │ │ │ │ │ │ │ │ │ ├── has-observers.demo.component.html │ │ │ │ │ │ │ │ │ │ └── has-observers.demo.component.ts │ │ │ │ │ │ │ │ │ ├── has-observers-parent-component │ │ │ │ │ │ │ │ │ │ ├── has-observers-parent.demo.component.html │ │ │ │ │ │ │ │ │ │ └── has-observers-parent.demo.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── has-own-property │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── has-own-property │ │ │ │ │ │ │ │ │ │ ├── has-own-property.demo.component.html │ │ │ │ │ │ │ │ │ │ └── has-own-property.demo.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── has-values │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── has-values │ │ │ │ │ │ │ │ │ │ ├── has-values.demo.component.html │ │ │ │ │ │ │ │ │ │ └── has-values.demo.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── highlight │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── highlight-custom │ │ │ │ │ │ │ │ │ │ ├── highlight-custom.demo.component.html │ │ │ │ │ │ │ │ │ │ └── highlight-custom.demo.component.ts │ │ │ │ │ │ │ │ │ ├── highlight │ │ │ │ │ │ │ │ │ │ ├── highlight.demo.component.html │ │ │ │ │ │ │ │ │ │ └── highlight.demo.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── iban │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── iban │ │ │ │ │ │ │ │ │ │ ├── iban.demo.component.html │ │ │ │ │ │ │ │ │ │ └── iban.demo.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── is-not-empty │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── is-not-empty │ │ │ │ │ │ │ │ │ │ ├── is-not-empty.demo.component.html │ │ │ │ │ │ │ │ │ │ └── is-not-empty.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── join │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── join │ │ │ │ │ │ │ │ │ │ ├── join.demo.component.html │ │ │ │ │ │ │ │ │ │ └── join.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── limit-to │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── limit-to │ │ │ │ │ │ │ │ │ │ ├── limit-to.demo.component.html │ │ │ │ │ │ │ │ │ │ └── limit-to.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── log │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── log │ │ │ │ │ │ │ │ │ │ ├── log.demo.component.html │ │ │ │ │ │ │ │ │ │ └── log.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── merge-arrays │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── merge-arrays │ │ │ │ │ │ │ │ │ │ ├── merge-arrays.demo.component.html │ │ │ │ │ │ │ │ │ │ └── merge-arrays.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── replace-elements │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── safe-html │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── safe-html │ │ │ │ │ │ │ │ │ │ ├── safe-html.demo.component.html │ │ │ │ │ │ │ │ │ │ └── safe-html.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── strip-html │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── strip-html │ │ │ │ │ │ │ │ │ │ ├── strip-html.demo.component.html │ │ │ │ │ │ │ │ │ │ └── strip-html.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── to-array │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── to-array │ │ │ │ │ │ │ │ │ │ ├── to-array.demo.component.html │ │ │ │ │ │ │ │ │ │ └── to-array.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── transform │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── transform │ │ │ │ │ │ │ │ │ │ ├── transform.demo.component.html │ │ │ │ │ │ │ │ │ │ └── transform.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── truncate-text │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── truncate-text │ │ │ │ │ │ │ │ │ │ ├── truncate-text.demo.component.html │ │ │ │ │ │ │ │ │ │ └── truncate-text.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── unique-by │ │ │ │ │ │ │ │ ├── demos │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── unique-by │ │ │ │ │ │ │ │ │ │ ├── unique-by.demo.component.html │ │ │ │ │ │ │ │ │ │ └── unique-by.demo.component.ts │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── with-router-links │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── services │ │ │ │ │ │ │ ├── broadcast-channel │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── media-query │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── storage-service │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── subscription-service │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── window-service │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ └── simple-changes │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ ├── demos │ │ │ │ │ │ ├── demos-page.component.html │ │ │ │ │ │ ├── demos-page.component.scss │ │ │ │ │ │ └── demos-page.component.ts │ │ │ │ │ ├── documentation │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ ├── express │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ ├── ng-doc.page.ts │ │ │ │ │ │ └── status │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ ├── javascript │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ ├── ng-doc.page.ts │ │ │ │ │ │ ├── pagination │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── regex │ │ │ │ │ │ │ ├── expressions │ │ │ │ │ │ │ │ └── bePhoneBinFormatted │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── rxjs │ │ │ │ │ │ │ ├── expressions │ │ │ │ │ │ │ │ ├── catchAndCallThrough │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── combineBoolean │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── fetchIf │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── pluck │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── pluckOr │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ ├── populate │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ └── validateContent │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── types │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── testing │ │ │ │ │ │ │ ├── factories │ │ │ │ │ │ │ │ ├── earlyReturnEmptyArrayValue │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ │ └── earlyReturnOnFalsyValue │ │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ ├── types │ │ │ │ │ │ │ ├── authentication │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── introduction │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ ├── file │ │ │ │ │ │ │ └── openFile │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── installation │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── introduction │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── number │ │ │ │ │ │ │ └── inRange │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── object │ │ │ │ │ │ │ ├── getKeyByValue │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── merge │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── search-recursively │ │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── string │ │ │ │ │ │ │ ├── camelCaseToSentence │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── normalize-string │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── replaceHtmlWhitespace │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ ├── search-string │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ │ │ └── stringComparator │ │ │ │ │ │ │ ├── index.md │ │ │ │ │ │ │ └── ng-doc.page.ts │ │ │ │ │ └── landing │ │ │ │ │ │ ├── docs-page.component.html │ │ │ │ │ │ └── docs-page.component.ts │ │ │ │ └── landing │ │ │ │ │ ├── landing-page.component.html │ │ │ │ │ ├── landing-page.component.scss │ │ │ │ │ └── landing-page.component.ts │ │ │ └── shared │ │ │ │ ├── components │ │ │ │ ├── custom-checkbox │ │ │ │ │ └── custom-checkbox.component.ts │ │ │ │ ├── custom-radio-button │ │ │ │ │ └── custom-radio-button.component.ts │ │ │ │ └── index.ts │ │ │ │ └── types │ │ │ │ ├── index.ts │ │ │ │ └── routes.type.ts │ │ ├── index.html │ │ ├── main.server.ts │ │ ├── main.ts │ │ ├── ng-doc.config.ts │ │ └── styles.scss │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ └── tsconfig.server.json ├── form-test │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── project.json │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ └── app.component.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── date-input │ │ │ ├── date-input.component.html │ │ │ └── date-input.component.ts │ │ ├── depended-dates │ │ │ ├── depended-dates.component.html │ │ │ ├── depended-dates.component.ts │ │ │ └── depended-dates.validator.ts │ │ ├── error │ │ │ ├── error.component.scss │ │ │ └── error.component.ts │ │ ├── favicon.ico │ │ ├── form-accessor │ │ │ └── form-accessor.component.ts │ │ ├── index.html │ │ ├── main.ts │ │ └── styles.scss │ └── tsconfig.app.json ├── i18n-test │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── karma.conf.js │ ├── project.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.ts │ │ │ └── placeholder.spec.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── feature │ │ │ │ └── nl.json │ │ │ └── shared │ │ │ │ └── nl.json │ │ ├── favicon.ico │ │ ├── feature │ │ │ ├── feature.routes.ts │ │ │ ├── pages │ │ │ │ └── feature.component.ts │ │ │ └── translation.loader.ts │ │ ├── index.html │ │ ├── main.ts │ │ ├── styles.scss │ │ └── test.ts │ ├── tsconfig.app.json │ └── tsconfig.spec.json ├── layout-test │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── project.json │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.ts │ │ │ └── app.config.ts │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── klimmuur.webp │ │ ├── display-content │ │ │ ├── error.component.ts │ │ │ ├── index.ts │ │ │ ├── loading.component.ts │ │ │ └── offline.component.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── main.ts │ │ ├── modal │ │ │ ├── confirm.component.ts │ │ │ ├── modal.component.scss │ │ │ └── modal.component.ts │ │ ├── pages │ │ │ ├── image-marker │ │ │ │ ├── image-marker.component.html │ │ │ │ └── image-marker.component.ts │ │ │ ├── main │ │ │ │ ├── main.component.html │ │ │ │ ├── main.component.scss │ │ │ │ └── main.component.ts │ │ │ ├── mediaquery │ │ │ │ └── mediaquery.component.ts │ │ │ └── secondary │ │ │ │ ├── secondary.component.html │ │ │ │ └── secondary.component.ts │ │ ├── routes.ts │ │ ├── services │ │ │ └── drag-and-drop.service.ts │ │ ├── styles.scss │ │ ├── tooltip │ │ │ ├── tooltip.component.scss │ │ │ └── tooltip.component.ts │ │ └── tour │ │ │ ├── special-tour.component.scss │ │ │ ├── special-tour.component.ts │ │ │ ├── tour.component.scss │ │ │ └── tour.component.ts │ ├── tsconfig.app.json │ └── tsconfig.spec.json ├── store-test │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── project.json │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ └── app.component.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── interface │ │ │ ├── authentication.types.ts │ │ │ └── user.interface.ts │ │ ├── main.ts │ │ ├── services │ │ │ ├── authentication.service.ts │ │ │ ├── courses.service.ts │ │ │ └── users.service.ts │ │ ├── store │ │ │ ├── courses.store.ts │ │ │ ├── user.effects.ts │ │ │ └── user.store.ts │ │ └── styles.scss │ ├── tsconfig.app.json │ └── tsconfig.spec.json └── table-test │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── karma.conf.js │ ├── project.json │ ├── src │ ├── app │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── app.component.ts │ │ ├── placeholder.spec.ts │ │ └── wrapper │ │ │ └── wrapper.component.ts │ ├── assets │ │ └── .gitkeep │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── styles.scss │ └── test.ts │ ├── tsconfig.app.json │ └── tsconfig.spec.json ├── jest.config.ts ├── jest.preset.js ├── karma.conf.js ├── libs ├── angular │ ├── authentication │ │ ├── .eslintrc.json │ │ ├── README.md │ │ ├── jest.config.ts │ │ ├── ng-package.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── index.ts │ │ │ ├── lib │ │ │ │ ├── abstracts │ │ │ │ │ ├── authentication.service.spec.ts │ │ │ │ │ ├── authentication.service.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── directives │ │ │ │ │ ├── has-feature │ │ │ │ │ │ └── has-feature.directive.ts │ │ │ │ │ ├── has-permission │ │ │ │ │ │ └── has-permission.directive.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── is-authenticated │ │ │ │ │ │ └── is-authenticated.directive.ts │ │ │ │ ├── guards │ │ │ │ │ ├── has-feature │ │ │ │ │ │ ├── has-feature.guard.spec.ts │ │ │ │ │ │ └── has-feature.guard.ts │ │ │ │ │ ├── has-permission │ │ │ │ │ │ ├── has-permission.guard.spec.ts │ │ │ │ │ │ └── has-permission.guard.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── is-authenticated │ │ │ │ │ │ ├── is-authenticated.guard.spec.ts │ │ │ │ │ │ └── is-authenticated.guard.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interceptors │ │ │ │ │ ├── authentication │ │ │ │ │ │ ├── authentication.interceptor.spec.ts │ │ │ │ │ │ └── authentication.interceptor.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── mocks │ │ │ │ │ ├── authenticated-http-client.mock.ts │ │ │ │ │ ├── authentication.response.mock.ts │ │ │ │ │ ├── authentication.service.mock.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── pipes │ │ │ │ │ ├── has-feature │ │ │ │ │ │ ├── has-feature.pipe.spec.ts │ │ │ │ │ │ └── has-feature.pipe.ts │ │ │ │ │ ├── has-permission │ │ │ │ │ │ ├── has-permission.pipe.spec.ts │ │ │ │ │ │ └── has-permission.pipe.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── providers │ │ │ │ │ ├── authentication-configuration.provider.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── services │ │ │ │ │ ├── authenticated-http-client │ │ │ │ │ │ ├── authenticated-http-client.service.spec.ts │ │ │ │ │ │ └── authenticated-http-client.service.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tokens │ │ │ │ │ ├── authentication-configuration.token.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── types │ │ │ │ │ ├── authenticated-route.types.ts │ │ │ │ │ ├── authentication-configuration.types.ts │ │ │ │ │ ├── authentication-status.types.ts │ │ │ │ │ ├── authentication.types.ts │ │ │ │ │ └── index.ts │ │ │ │ └── utils │ │ │ │ │ ├── convert-to-array.util.ts │ │ │ │ │ └── index.ts │ │ │ └── test-setup.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ ├── cookies │ │ ├── .eslintrc.json │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── jest.config.ts │ │ ├── ng-package.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── index.ts │ │ │ ├── lib │ │ │ │ ├── abstracts │ │ │ │ │ ├── cookie-fallback │ │ │ │ │ │ └── cookie-fallback.component.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── directives │ │ │ │ │ ├── has-cookie │ │ │ │ │ │ └── has-cookie.directive.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── services │ │ │ │ │ ├── cookie │ │ │ │ │ │ └── cookie.service.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tokens │ │ │ │ │ ├── has-cookies-fallback │ │ │ │ │ │ └── has-cookies-fallback.ts │ │ │ │ │ └── index.ts │ │ │ │ └── types │ │ │ │ │ ├── cookie-configuration.ts │ │ │ │ │ ├── has-cookie-configuration.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── set-cookie.ts │ │ │ └── test-setup.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ ├── core │ │ ├── .eslintrc.json │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── jest.config.ts │ │ ├── ng-package.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── index.ts │ │ │ ├── lib │ │ │ │ ├── services │ │ │ │ │ ├── index.ts │ │ │ │ │ └── window │ │ │ │ │ │ ├── window.service.md │ │ │ │ │ │ ├── window.service.mock.ts │ │ │ │ │ │ ├── window.service.spec.ts │ │ │ │ │ │ └── window.service.ts │ │ │ │ └── utils │ │ │ │ │ ├── index.ts │ │ │ │ │ └── simple-changes │ │ │ │ │ ├── simple-changes.util.md │ │ │ │ │ ├── simple-changes.util.spec.ts │ │ │ │ │ └── simple-changes.util.ts │ │ │ └── test-setup.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ ├── forms │ │ ├── .eslintrc.json │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── karma.conf.js │ │ ├── ng-package.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── lib │ │ │ │ ├── abstracts │ │ │ │ │ ├── base-form │ │ │ │ │ │ └── base-form.accessor.ts │ │ │ │ │ ├── custom-control-value-accessor │ │ │ │ │ │ ├── custom-control-value-accessor.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── data-form │ │ │ │ │ │ ├── data-form.accessor.spec.ts │ │ │ │ │ │ └── data-form.accessor.ts │ │ │ │ │ ├── error │ │ │ │ │ │ └── error.component.abstract.ts │ │ │ │ │ ├── form-accessor-container │ │ │ │ │ │ └── form-accessor-container.ts │ │ │ │ │ ├── form │ │ │ │ │ │ ├── form.accessor.spec.ts │ │ │ │ │ │ └── form.accessor.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── save-on-exit │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── save-on-exit.component.abstract.ts │ │ │ │ │ │ └── save-on-exit.service.abstract.ts │ │ │ │ ├── directives │ │ │ │ │ ├── errors │ │ │ │ │ │ ├── errors.directive.spec.ts │ │ │ │ │ │ └── errors.directive.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── guards │ │ │ │ │ ├── index.ts │ │ │ │ │ └── save-on-exit │ │ │ │ │ │ └── save-on-exit.guard.ts │ │ │ │ ├── interfaces │ │ │ │ │ ├── errors.interface.ts │ │ │ │ │ ├── form-accessor-control-keys.ts │ │ │ │ │ ├── form-state-options.interface.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tokens │ │ │ │ │ ├── errors-config.token.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── utils │ │ │ │ │ ├── accessor-providers │ │ │ │ │ │ └── accessor-providers.util.ts │ │ │ │ │ ├── custom-update-value-and-validity │ │ │ │ │ │ ├── custom-update-value-and-validity.util.spec.ts │ │ │ │ │ │ └── custom-update-value-and-validity.util.ts │ │ │ │ │ ├── form-accessor │ │ │ │ │ │ ├── form-accessor.utils.spec.ts │ │ │ │ │ │ └── form-accessor.utils.ts │ │ │ │ │ ├── has-errors │ │ │ │ │ │ ├── has-errors.util.spec.ts │ │ │ │ │ │ └── has-errors.util.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── mark-all-as-dirty │ │ │ │ │ │ ├── mark-all-as-dirty.util.spec.ts │ │ │ │ │ │ └── mark-all-as-dirty.util.ts │ │ │ │ │ └── touched-event-listener │ │ │ │ │ │ ├── touched-event-listener.spec.ts │ │ │ │ │ │ └── touched-event-listener.ts │ │ │ │ └── validators │ │ │ │ │ ├── all-or-nothing-required │ │ │ │ │ ├── all-or-nothing-required.validator.spec.ts │ │ │ │ │ └── all-or-nothing-required.validator.ts │ │ │ │ │ ├── at-least-one-required │ │ │ │ │ ├── at-least-one-required.validator.spec.ts │ │ │ │ │ └── at-least-one-required.validator.ts │ │ │ │ │ ├── chronological-dates │ │ │ │ │ ├── chronological-dates.validator.spec.ts │ │ │ │ │ └── chronological-dates.validator.ts │ │ │ │ │ ├── compare │ │ │ │ │ ├── compare.validator.spec.ts │ │ │ │ │ └── compare.validator.ts │ │ │ │ │ ├── date-range │ │ │ │ │ ├── date-range.validator.spec.ts │ │ │ │ │ └── date-range.validator.ts │ │ │ │ │ ├── decimals-after-comma │ │ │ │ │ ├── decimals-after-comma.validator.spec.ts │ │ │ │ │ └── decimals-after-comma.validator.ts │ │ │ │ │ ├── depended-required │ │ │ │ │ ├── depended-required.validator.spec.ts │ │ │ │ │ └── depended-required.validator.ts │ │ │ │ │ ├── email │ │ │ │ │ ├── extended-email.validator.spec.ts │ │ │ │ │ └── extended-email.validator.ts │ │ │ │ │ ├── has-no-future-date │ │ │ │ │ ├── has-no-future-date.validator.spec.ts │ │ │ │ │ └── has-no-future-date.validator.ts │ │ │ │ │ ├── max-word-count │ │ │ │ │ ├── word-count.validator.spec.ts │ │ │ │ │ └── word-count.validator.ts │ │ │ │ │ ├── utils │ │ │ │ │ ├── form-error.util.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── is-empty-input-value.util.ts │ │ │ │ │ └── validators.ts │ │ │ ├── public-api.ts │ │ │ └── test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ ├── gov │ │ └── flanders │ │ │ ├── .eslintrc.json │ │ │ ├── README.md │ │ │ ├── jest.config.ts │ │ │ ├── ng-package.json │ │ │ ├── package.json │ │ │ ├── project.json │ │ │ ├── src │ │ │ ├── index.ts │ │ │ ├── lib │ │ │ │ ├── index.ts │ │ │ │ ├── services │ │ │ │ │ ├── acm-component-injection.service.ts │ │ │ │ │ └── index.ts │ │ │ │ └── types │ │ │ │ │ ├── acm-component-injection-configuration.type.ts │ │ │ │ │ └── index.ts │ │ │ └── test-setup.ts │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.lib.json │ │ │ ├── tsconfig.lib.prod.json │ │ │ └── tsconfig.spec.json │ ├── i18n │ │ ├── .eslintrc.json │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── karma.conf.js │ │ ├── ng-package.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── lib │ │ │ │ ├── abstracts │ │ │ │ │ ├── i18n-service.abstract.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── components │ │ │ │ │ ├── empty-component │ │ │ │ │ │ └── empty.component.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── guards │ │ │ │ │ ├── i18n │ │ │ │ │ │ ├── i18n.guard.spec.ts │ │ │ │ │ │ └── i18n.guard.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── set-language │ │ │ │ │ │ └── set-language.guard.ts │ │ │ │ │ └── translation-loader │ │ │ │ │ │ ├── translation-loader.guard.spec.ts │ │ │ │ │ │ └── translation-loader.guard.ts │ │ │ │ ├── i18n.module.ts │ │ │ │ ├── i18n.types.ts │ │ │ │ ├── index.ts │ │ │ │ ├── loader │ │ │ │ │ ├── index.ts │ │ │ │ │ └── multi-translation │ │ │ │ │ │ └── multi-translation.loader.ts │ │ │ │ ├── providers │ │ │ │ │ ├── i18n.providers.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── resolvers │ │ │ │ │ ├── i18n │ │ │ │ │ │ ├── i18n.resolver.spec.ts │ │ │ │ │ │ └── i18n.resolver.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── services │ │ │ │ │ ├── i18n-loading │ │ │ │ │ │ ├── i18n-loading.service.spec.ts │ │ │ │ │ │ ├── i18n-loading.service.ts │ │ │ │ │ │ └── i18n-loading.types.ts │ │ │ │ │ ├── i18n │ │ │ │ │ │ ├── i18n.service.spec.ts │ │ │ │ │ │ └── i18n.service.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── root-i18n │ │ │ │ │ │ └── root-i18n.service.ts │ │ │ │ └── tokens │ │ │ │ │ ├── i18n.token.ts │ │ │ │ │ └── index.ts │ │ │ ├── public-api.ts │ │ │ └── test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ ├── inform │ │ ├── .eslintrc.json │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── jest.config.ts │ │ ├── ng-package.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── index.ts │ │ │ ├── lib │ │ │ │ ├── abstracts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── modal │ │ │ │ │ │ └── modal.abstract.component.ts │ │ │ │ │ └── tooltip │ │ │ │ │ │ └── tooltip.abstract.component.ts │ │ │ │ ├── directives │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tooltip │ │ │ │ │ │ └── tooltip.directive.ts │ │ │ │ ├── index.ts │ │ │ │ ├── providers │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── modal │ │ │ │ │ │ └── modal-configuration.provider.ts │ │ │ │ │ └── tooltip │ │ │ │ │ │ └── tooltip-configuration.provider.ts │ │ │ │ ├── services │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── modal │ │ │ │ │ │ └── modal.service.ts │ │ │ │ │ └── tooltip │ │ │ │ │ │ ├── tooltip.service.spec.ts │ │ │ │ │ │ └── tooltip.service.ts │ │ │ │ ├── tokens │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── modal │ │ │ │ │ │ └── modal-configuration.token.ts │ │ │ │ │ └── tooltip │ │ │ │ │ │ └── tooltip-configuration.token.ts │ │ │ │ └── types │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── modal.types.ts │ │ │ │ │ └── tooltip.types.ts │ │ │ └── test-setup.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ ├── layout │ │ ├── .eslintrc.json │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── karma.conf.js │ │ ├── ng-package.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── lib │ │ │ │ ├── abstracts │ │ │ │ │ ├── display-content │ │ │ │ │ │ └── display-content.component.ts │ │ │ │ │ ├── drag-and-drop │ │ │ │ │ │ ├── drag-and-drop-item.directive.ts │ │ │ │ │ │ ├── drag-and-drop.service.ts │ │ │ │ │ │ ├── has-focus.directive.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── components │ │ │ │ │ ├── accordion │ │ │ │ │ │ ├── accordion.component.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── item │ │ │ │ │ │ │ ├── accordion-item.component.html │ │ │ │ │ │ │ ├── accordion-item.component.scss │ │ │ │ │ │ │ └── accordion-item.component.ts │ │ │ │ │ ├── configurable-layout-item │ │ │ │ │ │ ├── configurable-layout-item.component.html │ │ │ │ │ │ └── configurable-layout-item.component.ts │ │ │ │ │ ├── configurable-layout │ │ │ │ │ │ ├── configurable-layout.component.html │ │ │ │ │ │ ├── configurable-layout.component.scss │ │ │ │ │ │ └── configurable-layout.component.ts │ │ │ │ │ ├── image-marker │ │ │ │ │ │ ├── image-marker.component.scss │ │ │ │ │ │ └── image-marker.component.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── const │ │ │ │ │ ├── drag-and-drop │ │ │ │ │ │ └── drag-and-drop-message.const.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── directives │ │ │ │ │ ├── display-content │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── display-content-test.component.ts │ │ │ │ │ │ ├── display-content.directive.spec.ts │ │ │ │ │ │ └── display-content.directive.ts │ │ │ │ │ ├── drag-and-drop │ │ │ │ │ │ ├── drag-and-drop-container.directive.ts │ │ │ │ │ │ ├── drag-and-drop-host.directive.ts │ │ │ │ │ │ ├── drag-and-drop-item.directive.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── pipes │ │ │ │ │ ├── index.ts │ │ │ │ │ └── item-size │ │ │ │ │ │ ├── item-size.pipe.spec.ts │ │ │ │ │ │ └── item-size.pipe.ts │ │ │ │ ├── providers │ │ │ │ │ ├── display-content │ │ │ │ │ │ └── display-content.provider.ts │ │ │ │ │ ├── drag-and-drop │ │ │ │ │ │ └── drag-and-drop.provider.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── services │ │ │ │ │ ├── image-marker │ │ │ │ │ │ └── image-marker.service.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── online-service │ │ │ │ │ │ └── online.service.ts │ │ │ │ ├── tokens │ │ │ │ │ ├── display-content-configuration.token.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── types │ │ │ │ │ ├── accordion.types.ts │ │ │ │ │ ├── configurable-layout.ts │ │ │ │ │ ├── display-content.types.ts │ │ │ │ │ ├── drag-and-drop.types.ts │ │ │ │ │ ├── image-marker.types.ts │ │ │ │ │ └── index.ts │ │ │ │ └── utils │ │ │ │ │ ├── hide-element │ │ │ │ │ └── hide-element.util.ts │ │ │ │ │ └── index.ts │ │ │ └── public-api.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ ├── store │ │ ├── .eslintrc.json │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── karma.conf.js │ │ ├── ng-package.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── lib │ │ │ │ └── store │ │ │ │ │ ├── abstracts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── store.service.ts │ │ │ │ │ ├── interfaces │ │ │ │ │ ├── base-store.ts │ │ │ │ │ ├── effects.ts │ │ │ │ │ ├── entity-adapter-reducers.ts │ │ │ │ │ ├── entity-store-assets.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── require-at-least-one.ts │ │ │ │ │ ├── store-assets-generator-options.ts │ │ │ │ │ ├── store-generator.ts │ │ │ │ │ ├── store-state.ts │ │ │ │ │ └── store.ts │ │ │ │ │ ├── operators │ │ │ │ │ ├── handle-effect.operator.ts │ │ │ │ │ └── index.ts │ │ │ │ │ ├── spec │ │ │ │ │ ├── effects.service.ts │ │ │ │ │ ├── effects.ts │ │ │ │ │ ├── store-assets.ts │ │ │ │ │ ├── store-service.ts │ │ │ │ │ ├── store-state.service.ts │ │ │ │ │ ├── store.spec.ts │ │ │ │ │ └── store.state.spec.ts │ │ │ │ │ └── utils │ │ │ │ │ ├── base-store │ │ │ │ │ ├── base-store.util.spec.ts │ │ │ │ │ └── base-store.util.ts │ │ │ │ │ ├── dispatch-data-to-store │ │ │ │ │ └── dispatch-data-to-store.util.ts │ │ │ │ │ ├── entity-store │ │ │ │ │ ├── entity-adapter.util.spec.ts │ │ │ │ │ └── entity-adapter.util.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── store-generator.util │ │ │ │ │ └── store-generator.util.ts │ │ │ ├── public-api.ts │ │ │ └── test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ ├── table │ │ ├── .eslintrc.json │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── karma.conf.js │ │ ├── ng-package.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── lib │ │ │ │ ├── cell │ │ │ │ │ ├── cell.directive.ts │ │ │ │ │ ├── currency-cell.component.ts │ │ │ │ │ ├── date-cell.component.ts │ │ │ │ │ ├── generic-cell.directive.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── directives │ │ │ │ │ ├── has-focus-action │ │ │ │ │ │ ├── has-focus.directive.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tree-grid │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── tree-grid-row.directive.ts │ │ │ │ │ │ ├── tree-grid.cell.directive.ts │ │ │ │ │ │ └── tree-grid.directive.ts │ │ │ │ ├── enums │ │ │ │ │ ├── index.ts │ │ │ │ │ └── sort-direction.enum.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interfaces │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── internal-helpers.ts │ │ │ │ │ ├── show-header-requirements.ts │ │ │ │ │ ├── sort-event.ts │ │ │ │ │ └── tree-grid.types.ts │ │ │ │ ├── pipes │ │ │ │ │ ├── aria-sort │ │ │ │ │ │ └── aria-sort.pipe.ts │ │ │ │ │ ├── get-pipe │ │ │ │ │ │ ├── get.pipe.spec.ts │ │ │ │ │ │ └── get.pipe.ts │ │ │ │ │ ├── has-observers.pipe.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── show-header │ │ │ │ │ │ ├── show-header.pipe.spec.ts │ │ │ │ │ │ └── show-header.pipe.ts │ │ │ │ │ └── sort-icon.pipe.ts │ │ │ │ ├── table │ │ │ │ │ ├── ngx-table.component.html │ │ │ │ │ ├── ngx-table.component.scss │ │ │ │ │ └── ngx-table.component.ts │ │ │ │ ├── token │ │ │ │ │ ├── index.ts │ │ │ │ │ └── ngx-table-config.token.ts │ │ │ │ └── utils │ │ │ │ │ ├── generate-form.util.ts │ │ │ │ │ ├── handle-form-changes.util.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── reset-form.util.ts │ │ │ ├── public-api.ts │ │ │ └── test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ ├── tour │ │ ├── .eslintrc.json │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── jest.config.ts │ │ ├── ng-package.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ │ ├── index.ts │ │ │ ├── lib │ │ │ │ ├── abstracts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tour-step │ │ │ │ │ │ └── tour-step.component.ts │ │ │ │ ├── directives │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tour-item │ │ │ │ │ │ └── tour-item.directive.ts │ │ │ │ ├── mocks │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── overlay.mock.ts │ │ │ │ │ ├── tour-holder.component.mock.ts │ │ │ │ │ └── tour-step.component.mock.ts │ │ │ │ ├── operators │ │ │ │ │ ├── index.ts │ │ │ │ │ └── use-mock-data-during-tour │ │ │ │ │ │ ├── use-mock-data-during-tour.operator.spec.ts │ │ │ │ │ │ └── use-mock-data-during-tour.operator.ts │ │ │ │ ├── providers │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tour │ │ │ │ │ │ └── provide-tour.util.ts │ │ │ │ ├── services │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tour-service │ │ │ │ │ │ ├── tour-server.spec.ts │ │ │ │ │ │ ├── tour.service.spec.ts │ │ │ │ │ │ └── tour.service.ts │ │ │ │ ├── tokens │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tour-step.token.ts │ │ │ │ ├── types │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── tour.token.type.ts │ │ │ │ │ └── tour.types.ts │ │ │ │ └── utils │ │ │ │ │ ├── element-visible-in-viewport │ │ │ │ │ └── element-visible-in-viewport.util.ts │ │ │ │ │ └── index.ts │ │ │ └── test-setup.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json │ └── utils │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── .stylelintrc.json │ │ ├── README.md │ │ ├── karma.conf.js │ │ ├── ng-package.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ ├── lib │ │ │ ├── abstracts │ │ │ │ ├── index.ts │ │ │ │ └── query-param-form-sync │ │ │ │ │ ├── query-param-form-sync.component.abstract.md │ │ │ │ │ └── query-param-form-sync.component.abstract.ts │ │ │ ├── directives │ │ │ │ ├── focus-click │ │ │ │ │ ├── focus-click.directive.md │ │ │ │ │ └── focus-click.directive.ts │ │ │ │ └── index.ts │ │ │ ├── injects │ │ │ │ ├── index.ts │ │ │ │ └── query-params │ │ │ │ │ ├── query-params.inject.md │ │ │ │ │ └── query-params.inject.ts │ │ │ ├── pipes │ │ │ │ ├── array-contains-one │ │ │ │ │ ├── array-contains-one.md │ │ │ │ │ ├── array-contains-one.pipe.ts │ │ │ │ │ └── array-contains-one.spec.ts │ │ │ │ ├── btw │ │ │ │ │ ├── btw.pipe.md │ │ │ │ │ ├── btw.pipe.spec.ts │ │ │ │ │ └── btw.pipe.ts │ │ │ │ ├── clean-array │ │ │ │ │ ├── clean-array.pipe.md │ │ │ │ │ ├── clean-array.pipe.spec.ts │ │ │ │ │ └── clean-array.pipe.ts │ │ │ │ ├── entries │ │ │ │ │ ├── entries.pipe.md │ │ │ │ │ ├── entries.pipe.spec.ts │ │ │ │ │ └── entries.pipe.ts │ │ │ │ ├── has-observers │ │ │ │ │ ├── has-observers.pipe.md │ │ │ │ │ ├── has-observers.pipe.spec.ts │ │ │ │ │ └── has-observers.pipe.ts │ │ │ │ ├── has-own-property │ │ │ │ │ ├── has-own-property.pipe.md │ │ │ │ │ ├── has-own-property.pipe.spec.ts │ │ │ │ │ └── has-own-property.pipe.ts │ │ │ │ ├── has-values │ │ │ │ │ ├── has-values.pipe.md │ │ │ │ │ ├── has-values.pipe.spec.ts │ │ │ │ │ └── has-values.pipe.ts │ │ │ │ ├── highlight │ │ │ │ │ ├── ngx-highlight.pipe.md │ │ │ │ │ ├── ngx-highlight.pipe.spec.ts │ │ │ │ │ └── ngx-highlight.pipe.ts │ │ │ │ ├── iban │ │ │ │ │ ├── iban.pipe.md │ │ │ │ │ ├── iban.pipe.spec.ts │ │ │ │ │ └── iban.pipe.ts │ │ │ │ ├── index.ts │ │ │ │ ├── is-not-empty │ │ │ │ │ ├── is-not-empty.pipe.md │ │ │ │ │ ├── is-not-empty.pipe.spec.ts │ │ │ │ │ └── is-not-empty.pipe.ts │ │ │ │ ├── join │ │ │ │ │ ├── join.pipe.md │ │ │ │ │ ├── join.pipe.spec.ts │ │ │ │ │ └── join.pipe.ts │ │ │ │ ├── limit-to │ │ │ │ │ ├── limit-to.pipe.md │ │ │ │ │ ├── limit-to.pipe.spec.ts │ │ │ │ │ └── limit-to.pipe.ts │ │ │ │ ├── log │ │ │ │ │ ├── log.pipe.md │ │ │ │ │ └── log.pipe.ts │ │ │ │ ├── merge-arrays │ │ │ │ │ ├── merge-arrays.pipe.md │ │ │ │ │ ├── merge-arrays.pipe.spec.ts │ │ │ │ │ └── merge-arrays.pipe.ts │ │ │ │ ├── replace-elements │ │ │ │ │ ├── replace-elements.pipe.md │ │ │ │ │ ├── replace-elements.pipe.spec.ts │ │ │ │ │ └── replace-elements.pipe.ts │ │ │ │ ├── safe-html │ │ │ │ │ ├── safe-html.pipe.md │ │ │ │ │ ├── safe-html.pipe.spec.ts │ │ │ │ │ └── safe-html.pipe.ts │ │ │ │ ├── strip-html │ │ │ │ │ ├── strip-html.pipe.md │ │ │ │ │ ├── strip-html.pipe.spec.ts │ │ │ │ │ └── strip-html.pipe.ts │ │ │ │ ├── to-array │ │ │ │ │ ├── to-array.pipe.md │ │ │ │ │ ├── to-array.pipe.spec.ts │ │ │ │ │ └── to-array.pipe.ts │ │ │ │ ├── transform │ │ │ │ │ ├── transform.pipe.md │ │ │ │ │ ├── transform.pipe.spec.ts │ │ │ │ │ └── transform.pipe.ts │ │ │ │ ├── truncate-text │ │ │ │ │ ├── truncate-text.pipe.md │ │ │ │ │ ├── truncate-text.pipe.spec.ts │ │ │ │ │ └── truncate-text.pipe.ts │ │ │ │ ├── unique-by │ │ │ │ │ ├── uniq-by.pipe.md │ │ │ │ │ ├── uniq-by.pipe.spec.ts │ │ │ │ │ └── uniq-by.pipe.ts │ │ │ │ └── with-router-links │ │ │ │ │ ├── with-router-links.config.ts │ │ │ │ │ ├── with-router-links.md │ │ │ │ │ ├── with-router-links.pipe.spec.ts │ │ │ │ │ └── with-router-links.pipe.ts │ │ │ ├── providers │ │ │ │ ├── index.ts │ │ │ │ └── replace-elements │ │ │ │ │ └── replace-elements.provider.ts │ │ │ ├── services │ │ │ │ ├── broadcast-channel │ │ │ │ │ ├── broadcast-channel.md │ │ │ │ │ ├── broadcast-channel.service.spec.ts │ │ │ │ │ └── broadcast-channel.service.ts │ │ │ │ ├── index.ts │ │ │ │ ├── media-query │ │ │ │ │ ├── mediaquery.service.ts │ │ │ │ │ └── query.service.md │ │ │ │ ├── storage-service │ │ │ │ │ ├── storage.service.md │ │ │ │ │ ├── storage.service.spec.ts │ │ │ │ │ └── storage.service.ts │ │ │ │ ├── subscription-service │ │ │ │ │ ├── subscription.service.md │ │ │ │ │ ├── subscription.service.spec.ts │ │ │ │ │ └── subscription.service.ts │ │ │ │ └── window-service │ │ │ │ │ ├── window.service.md │ │ │ │ │ ├── window.service.spec.ts │ │ │ │ │ └── window.service.ts │ │ │ ├── tokens │ │ │ │ ├── index.ts │ │ │ │ └── replace-elements.token.ts │ │ │ ├── types │ │ │ │ ├── highlight.types.ts │ │ │ │ ├── index.ts │ │ │ │ ├── replace-elements.types.ts │ │ │ │ ├── signals.ts │ │ │ │ ├── storage.types.ts │ │ │ │ └── with-router-links.types.ts │ │ │ ├── utils.const.ts │ │ │ └── utils │ │ │ │ ├── index.ts │ │ │ │ └── simple-changes │ │ │ │ ├── simple-changes.util.md │ │ │ │ ├── simple-changes.util.spec.ts │ │ │ │ └── simple-changes.util.ts │ │ ├── public-api.ts │ │ └── test.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.lib.prod.json │ │ └── tsconfig.spec.json ├── express │ └── status │ │ ├── .eslintrc.json │ │ ├── README.md │ │ ├── jest.config.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ ├── controllers │ │ │ ├── express-status.controller.spec.ts │ │ │ └── express-status.controller.ts │ │ ├── express-status.types.ts │ │ ├── index.ts │ │ ├── routers │ │ │ └── express-status.router.ts │ │ └── types │ │ │ └── globals.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ ├── tsconfig.spec.json │ │ └── vite.config.ts └── javascript │ ├── pagination │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── README.md │ ├── jest.config.ts │ ├── package.json │ ├── project.json │ ├── src │ │ ├── hal-format.helper.spec.ts │ │ ├── hal-format.helper.ts │ │ ├── hal-format.types.ts │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json │ ├── regex │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── README.md │ ├── jest.config.ts │ ├── package-lock.json │ ├── package.json │ ├── project.json │ ├── src │ │ ├── index.ts │ │ └── lib │ │ │ ├── index.ts │ │ │ └── patterns │ │ │ ├── index.ts │ │ │ └── regional │ │ │ ├── be-phone-bin-formatted │ │ │ ├── be-phone-bin-formatted.spec.ts │ │ │ └── be-phone-bin-formatted.ts │ │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.spec.json │ └── vite.config.ts │ ├── rxjs │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── project.json │ ├── src │ │ ├── index.ts │ │ └── lib │ │ │ ├── index.ts │ │ │ ├── operators │ │ │ ├── array │ │ │ │ ├── array.operators.spec.ts │ │ │ │ ├── index.ts │ │ │ │ ├── map.operator.ts │ │ │ │ ├── slice.operator.ts │ │ │ │ └── sort.operator.ts │ │ │ ├── catch-and-call-through │ │ │ │ ├── catch-and-call-through.operator.md │ │ │ │ ├── catch-and-call-through.operator.spec.ts │ │ │ │ └── catch-and-call-through.operator.ts │ │ │ ├── combine-boolean │ │ │ │ ├── combine-boolean.operator.md │ │ │ │ ├── combine-boolean.operator.spec.ts │ │ │ │ └── combine-boolean.operator.ts │ │ │ ├── fetch-if │ │ │ │ ├── fetch-if.operator.md │ │ │ │ ├── fetch-if.operator.spec.ts │ │ │ │ └── fetch-if.operator.ts │ │ │ ├── index.ts │ │ │ ├── pluck-or │ │ │ │ ├── pluck-or.operator.md │ │ │ │ ├── pluck-or.operator.spec.ts │ │ │ │ └── pluck-or.operator.ts │ │ │ ├── pluck │ │ │ │ ├── pluck.operator.md │ │ │ │ ├── pluck.operator.spec.ts │ │ │ │ └── pluck.operator.ts │ │ │ ├── populate │ │ │ │ ├── populate.operator.md │ │ │ │ ├── populate.operator.spec.ts │ │ │ │ └── populate.operator.ts │ │ │ └── validate-content │ │ │ │ ├── validate-content.operator.md │ │ │ │ ├── validate-content.operator.spec.ts │ │ │ │ └── validate-content.operator.ts │ │ │ └── types │ │ │ ├── index.ts │ │ │ └── observable │ │ │ ├── observable.types.md │ │ │ └── observable.types.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.spec.json │ └── vite.config.ts │ ├── testing │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── README.md │ ├── jest.config.ts │ ├── package-lock.json │ ├── package.json │ ├── project.json │ ├── src │ │ ├── index.ts │ │ └── lib │ │ │ └── factories │ │ │ ├── early-return-empty-array-value │ │ │ ├── early-return-empty-array-value.spec.ts │ │ │ └── early-return-empty-array-value.ts │ │ │ ├── early-return-on-falsy-value │ │ │ ├── early-return-on-falsy-value.spec.ts │ │ │ └── early-return-on-falsy-value.ts │ │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.spec.json │ └── vite.config.ts │ ├── types │ └── auth │ │ ├── .eslintrc.json │ │ ├── README.md │ │ ├── package.json │ │ ├── project.json │ │ ├── src │ │ ├── index.ts │ │ └── lib │ │ │ ├── index.ts │ │ │ └── types │ │ │ ├── index.ts │ │ │ └── user.types.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.lib.json │ │ └── vite.config.ts │ └── utils │ ├── .eslintrc.json │ ├── .stylelintrc.json │ ├── README.md │ ├── jest.config.ts │ ├── package-lock.json │ ├── package.json │ ├── project.json │ ├── src │ ├── index.ts │ └── lib │ │ ├── file │ │ ├── index.ts │ │ └── open │ │ │ ├── open-file.util.md │ │ │ ├── open-file.util.spec.ts │ │ │ └── open-file.util.ts │ │ ├── index.ts │ │ ├── number │ │ └── in-range │ │ │ ├── in-range.util.md │ │ │ ├── in-range.util.spec.ts │ │ │ └── in-range.util.ts │ │ ├── object │ │ ├── get-key-by-value │ │ │ ├── get-key-by-value.util.md │ │ │ ├── get-key-by-value.util.spec.ts │ │ │ └── get-key-by-value.util.ts │ │ ├── index.ts │ │ ├── merge │ │ │ ├── merge.util.md │ │ │ ├── merge.util.spec.ts │ │ │ └── merge.util.ts │ │ └── search-recursively │ │ │ ├── search-recursively.util.md │ │ │ ├── search-recursively.util.spec.ts │ │ │ └── search-recursively.util.ts │ │ └── string │ │ ├── camel-case-to-sentence │ │ ├── camel-case-to-sentence.util.md │ │ ├── camel-case-to-sentence.util.spec.ts │ │ └── camel-case-to-sentence.util.ts │ │ ├── index.ts │ │ ├── normalize-string │ │ ├── normalize-string.util.md │ │ ├── normalize-string.util.spec.ts │ │ └── normalize-string.util.ts │ │ ├── replace-whitespace │ │ ├── replace-whitespace.util.md │ │ ├── replace-whitespace.util.spec.ts │ │ └── replace-whitespace.util.ts │ │ ├── search-string │ │ ├── search-string.util.md │ │ ├── search-string.util.spec.ts │ │ └── search-string.util.ts │ │ └── string-comparator │ │ ├── string-comparator.util.md │ │ ├── string-comparator.util.spec.ts │ │ └── string-comparator.util.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.spec.json │ └── vite.config.ts ├── nx.json ├── package-lock.json ├── package.json ├── project.json ├── tools ├── generators │ └── .gitkeep └── tsconfig.tools.json ├── tsconfig.base.json └── tsconfig.json /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | **Description** 2 | _Describe the changes you made_ 3 | 4 | **Requirements** 5 | 6 | - [ ] Correct label have been assigned 7 | - [ ] Project has been assigned 8 | - [ ] Milestone has been (created/)assigned 9 | 10 | **Attachments** 11 | _Attach a video/screenshot/other attachment if necessary_ 12 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | if command -v nvm &> /dev/null 5 | then 6 | nvm use 7 | fi 8 | 9 | if command -v fnm &> /dev/null 10 | then 11 | fnm use 12 | fi 13 | 14 | npm run lint:all && npm run format && npm run test:all 15 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | # Set the default prefix for packages to "none". 2 | # ~ Matches the most recent patch version 3 | # e.g. : ~2.4.1 means it will check for 2.4.x where x is anything 4 | # --- 5 | # ^ Matches the most recent minor version 6 | # e.g. : ^2.4.1 means it will check for 2.x.x where x is anything 7 | save-prefix="" 8 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | lts/hydrogen 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Add files here to ignore them from prettier formatting 2 | /dist 3 | /coverage 4 | /.nx/cache 5 | .angular 6 | 7 | /.nx/workspace-data -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "nrwl.angular-console", 4 | "angular.ng-template", 5 | "dbaeumer.vscode-eslint", 6 | "esbenp.prettier-vscode", 7 | "firsttris.vscode-jest-runner", 8 | "stylelint.vscode-stylelint" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": ["WCAG"] 3 | } 4 | -------------------------------------------------------------------------------- /apps/cookies-test/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/cookies-test/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

MyAwesomeDoc

4 |
5 | 6 | 7 |
8 | -------------------------------------------------------------------------------- /apps/cookies-test/src/app/app.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/cookies-test/src/app/app.component.scss -------------------------------------------------------------------------------- /apps/cookies-test/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Route } from '@angular/router'; 2 | 3 | export const appRoutes: Route[] = []; 4 | -------------------------------------------------------------------------------- /apps/cookies-test/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/cookies-test/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/cookies-test/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/cookies-test/src/favicon.ico -------------------------------------------------------------------------------- /apps/cookies-test/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | cookies-test 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/cookies-test/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)); 6 | -------------------------------------------------------------------------------- /apps/cookies-test/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /apps/cookies-test/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | // @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment 2 | globalThis.ngJest = { 3 | testEnvironmentOptions: { 4 | errorOnUnknownElements: true, 5 | errorOnUnknownProperties: true, 6 | }, 7 | }; 8 | import 'jest-preset-angular/setup-jest'; 9 | -------------------------------------------------------------------------------- /apps/cookies-test/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.app.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /apps/docs/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/docs/public/D—Heavy.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/docs/public/D—Heavy.webp -------------------------------------------------------------------------------- /apps/docs/public/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/docs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/docs/public/favicon.ico -------------------------------------------------------------------------------- /apps/docs/public/team.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/docs/public/team.webp -------------------------------------------------------------------------------- /apps/docs/public/zap.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/docs/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/app.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/docs/src/app/app.component.scss -------------------------------------------------------------------------------- /apps/docs/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { RouterModule } from '@angular/router'; 3 | 4 | @Component({ 5 | imports: [RouterModule], 6 | selector: 'app-root', 7 | templateUrl: './app.component.html', 8 | styleUrl: './app.component.scss', 9 | }) 10 | export class AppComponent {} 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/app.config.server.ts: -------------------------------------------------------------------------------- 1 | import { mergeApplicationConfig, ApplicationConfig } from '@angular/core'; 2 | import { provideServerRendering } from '@angular/platform-server'; 3 | import { appConfig } from './app.config'; 4 | 5 | const serverConfig: ApplicationConfig = { 6 | providers: [provideServerRendering()], 7 | }; 8 | 9 | export const config = mergeApplicationConfig(appConfig, serverConfig); 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/authentication/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const AuthenticationCategory: NgDocCategory = { 5 | title: 'Authentication', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default AuthenticationCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/cookies/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const CookiesCategory: NgDocCategory = { 5 | title: 'Cookies', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default CookiesCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/core/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const CoreCategory: NgDocCategory = { 5 | title: 'Core', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default CoreCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/core/sub-categories/services/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import CoreCategory from '../../ng-doc.category'; 3 | 4 | const CoreServicesCategory: NgDocCategory = { 5 | title: 'Services', 6 | category: CoreCategory, 7 | }; 8 | 9 | export default CoreServicesCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/forms/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const FormsCategory: NgDocCategory = { 5 | title: 'Forms', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default FormsCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/forms/sub-categories/implementation/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import FormsCategory from '../../ng-doc.category'; 3 | 4 | const FormsImplementationCategory: NgDocCategory = { 5 | title: 'Implementation', 6 | category: FormsCategory, 7 | order: 2, 8 | }; 9 | 10 | export default FormsImplementationCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/government/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const GovernmentCategory: NgDocCategory = { 5 | title: 'Government', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default GovernmentCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/government/sub-categories/flanders/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import GovernmentCategory from '../../ng-doc.category'; 3 | 4 | const FlemishGovernmentCategory: NgDocCategory = { 5 | title: 'Flanders', 6 | category: GovernmentCategory, 7 | order: 2, 8 | }; 9 | 10 | export default FlemishGovernmentCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/i18n/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const I18nCategory: NgDocCategory = { 5 | title: 'i18n', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default I18nCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/inform/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const InformCategory: NgDocCategory = { 5 | title: 'Inform', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default InformCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/inform/sub-categories/implementation/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import InformCategory from '../../ng-doc.category'; 3 | 4 | const InformImplementationCategory: NgDocCategory = { 5 | title: 'Implementation', 6 | category: InformCategory, 7 | order: 2, 8 | }; 9 | 10 | export default InformImplementationCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/layout/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const LayoutCategory: NgDocCategory = { 5 | title: 'Layout', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default LayoutCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/layout/sub-categories/implementation/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import LayoutCategory from '../../ng-doc.category'; 3 | 4 | const LayoutImplementationCategory: NgDocCategory = { 5 | title: 'Implementation', 6 | category: LayoutCategory, 7 | order: 2, 8 | }; 9 | 10 | export default LayoutImplementationCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | 3 | const AngularCategory: NgDocCategory = { 4 | title: 'Angular', 5 | expanded: true, 6 | }; 7 | 8 | export default AngularCategory; 9 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/store/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const StoreCategory: NgDocCategory = { 5 | title: 'Store', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default StoreCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/table/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const TableCategory: NgDocCategory = { 5 | title: 'Table', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default TableCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/table/sub-categories/implementation/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import TableCategory from '../../ng-doc.category'; 3 | 4 | const TableImplementationCategory: NgDocCategory = { 5 | title: 'Implementation', 6 | category: TableCategory, 7 | order: 2, 8 | }; 9 | 10 | export default TableImplementationCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/tour/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const TourCategory: NgDocCategory = { 5 | title: 'Tour', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default TourCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/utils/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import AngularCategory from '../ng-doc.category'; 3 | 4 | const UtilsCategory: NgDocCategory = { 5 | title: 'Utils', 6 | category: AngularCategory, 7 | }; 8 | 9 | export default UtilsCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/utils/sub-categories/abstracts/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const AbstractsCategory: NgDocCategory = { 5 | title: 'Abstracts', 6 | category: UtilsCategory, 7 | }; 8 | 9 | export default AbstractsCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/utils/sub-categories/directives/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const DirectivesCategory: NgDocCategory = { 5 | title: 'Directives', 6 | category: UtilsCategory, 7 | }; 8 | 9 | export default DirectivesCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/utils/sub-categories/injects/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const InjectsCategory: NgDocCategory = { 5 | title: 'Injects', 6 | category: UtilsCategory, 7 | }; 8 | 9 | export default InjectsCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/utils/sub-categories/pipes/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const PipesCategory: NgDocCategory = { 5 | title: 'Pipes', 6 | category: UtilsCategory, 7 | }; 8 | 9 | export default PipesCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/utils/sub-categories/providers/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const ProvidersCategory: NgDocCategory = { 5 | title: 'providers', 6 | category: UtilsCategory, 7 | }; 8 | 9 | export default ProvidersCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/utils/sub-categories/services/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const UtilsServicesCategory: NgDocCategory = { 5 | title: 'Services', 6 | category: UtilsCategory, 7 | }; 8 | 9 | export default UtilsServicesCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/angular/utils/sub-categories/utils/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const UtilsUtilsCategory: NgDocCategory = { 5 | title: 'Utils', 6 | category: UtilsCategory, 7 | }; 8 | 9 | export default UtilsUtilsCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/express/index.ts: -------------------------------------------------------------------------------- 1 | import ExpressStatusCategory from './status/ng-doc.category'; 2 | 3 | export { ExpressStatusCategory }; 4 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/express/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | 3 | const ExpressCategory: NgDocCategory = { 4 | title: 'Express', 5 | expanded: true, 6 | }; 7 | 8 | export default ExpressCategory; 9 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/express/status/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import ExpressCategory from '../ng-doc.category'; 3 | 4 | const ExpressStatusCategory: NgDocCategory = { 5 | title: 'Status', 6 | category: ExpressCategory, 7 | }; 8 | 9 | export default ExpressStatusCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | 3 | const JavascriptCategory: NgDocCategory = { 4 | title: 'Javascript', 5 | expanded: true, 6 | }; 7 | 8 | export default JavascriptCategory; 9 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/pagination/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import JavascriptCategory from '../ng-doc.category'; 3 | 4 | const PaginationCategory: NgDocCategory = { 5 | title: 'Pagination', 6 | category: JavascriptCategory, 7 | }; 8 | 9 | export default PaginationCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/regex/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import JavascriptCategory from '../ng-doc.category'; 3 | 4 | const RegexCategory: NgDocCategory = { 5 | title: 'Regex', 6 | category: JavascriptCategory, 7 | }; 8 | 9 | export default RegexCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/regex/sub-categories/expressions/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import RegexCategory from '../../ng-doc.category'; 3 | 4 | const ExpressionsCategory: NgDocCategory = { 5 | title: 'Expressions', 6 | category: RegexCategory, 7 | }; 8 | 9 | export default ExpressionsCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/rxjs/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import JavascriptCategory from '../ng-doc.category'; 3 | 4 | const RxJSCategory: NgDocCategory = { 5 | title: 'RxJS', 6 | category: JavascriptCategory, 7 | }; 8 | 9 | export default RxJSCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/rxjs/sub-categories/operators/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import RxJSCategory from '../../ng-doc.category'; 3 | 4 | const OperatorsCategory: NgDocCategory = { 5 | title: 'Operators', 6 | category: RxJSCategory, 7 | order: 2, 8 | }; 9 | 10 | export default OperatorsCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/testing/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import JavascriptCategory from '../ng-doc.category'; 3 | 4 | const TestingCategory: NgDocCategory = { 5 | title: 'Testing', 6 | category: JavascriptCategory, 7 | }; 8 | 9 | export default TestingCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/testing/sub-categories/factories/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import RxJSCategory from '../../ng-doc.category'; 3 | 4 | const FactoriesCategory: NgDocCategory = { 5 | title: 'Factories', 6 | category: RxJSCategory, 7 | order: 2, 8 | }; 9 | 10 | export default FactoriesCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/types/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import JavascriptCategory from '../ng-doc.category'; 3 | 4 | const TypesCategory: NgDocCategory = { 5 | title: 'Types', 6 | category: JavascriptCategory, 7 | }; 8 | 9 | export default TypesCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/utils/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import JavascriptCategory from '../ng-doc.category'; 3 | 4 | const UtilsCategory: NgDocCategory = { 5 | title: 'Utils', 6 | category: JavascriptCategory, 7 | }; 8 | 9 | export default UtilsCategory; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/utils/sub-categories/file/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const FileCategory: NgDocCategory = { 5 | title: 'File', 6 | category: UtilsCategory, 7 | order: 5, 8 | }; 9 | 10 | export default FileCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/utils/sub-categories/number/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const NumberCategory: NgDocCategory = { 5 | title: 'Number', 6 | category: UtilsCategory, 7 | order: 4, 8 | }; 9 | 10 | export default NumberCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/utils/sub-categories/object/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const ObjectCategory: NgDocCategory = { 5 | title: 'Object', 6 | category: UtilsCategory, 7 | order: 2, 8 | }; 9 | 10 | export default ObjectCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/categories/javascript/utils/sub-categories/string/ng-doc.category.ts: -------------------------------------------------------------------------------- 1 | import { NgDocCategory } from '@ng-doc/core'; 2 | import UtilsCategory from '../../ng-doc.category'; 3 | 4 | const StringCategory: NgDocCategory = { 5 | title: 'String', 6 | category: UtilsCategory, 7 | order: 3, 8 | }; 9 | 10 | export default StringCategory; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/authentication/implementation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { AuthenticationCategory } from '../../../../../categories/angular'; 3 | 4 | const ImplementationPage: NgDocPage = { 5 | title: `Implementation`, 6 | mdFile: './index.md', 7 | category: AuthenticationCategory, 8 | order: 3, 9 | }; 10 | 11 | export default ImplementationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/authentication/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { AuthenticationCategory } from '../../../../../categories/angular'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: AuthenticationCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/cookies/implementation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { CookiesCategory } from '../../../../../categories/angular'; 3 | 4 | const ImplementationPage: NgDocPage = { 5 | title: `Implementation`, 6 | mdFile: './index.md', 7 | category: CookiesCategory, 8 | order: 2, 9 | }; 10 | 11 | export default ImplementationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/cookies/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { CookiesCategory } from '../../../../../categories/angular'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: CookiesCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/cookies/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { CookiesCategory } from '../../../../../categories/angular'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: CookiesCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/core/services/window-service/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { CoreServicesCategory } from '../../../../../../categories/angular'; 3 | 4 | const WindowServicePage: NgDocPage = { 5 | title: `NgxWindowService`, 6 | mdFile: './index.md', 7 | category: CoreServicesCategory, 8 | }; 9 | 10 | export default WindowServicePage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/implementation/form-accessor-container/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './form-accessor-container/form-accessor-container.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/implementation/form-accessor/demos/data-form-accessor/survey-form/survey-question.interface.ts: -------------------------------------------------------------------------------- 1 | export interface SurveyQuestion { 2 | name: string; 3 | id: string; 4 | } 5 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/implementation/form-accessor/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './simple/simple.demo.component'; 2 | export * from './mapper/mapper.demo.component'; 3 | export * from './overwrite/overwrite.demo.component'; 4 | export * from './data-form-accessor/data-form-accessor.demo.component'; 5 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/implementation/form-accessor/demos/mapper/user-name-form/user-name.form.component.html: -------------------------------------------------------------------------------- 1 | 2 |

3 | Firstname 4 | 5 |

6 |

7 | Name 8 | 9 |

10 |
11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/implementation/form-accessor/demos/overwrite/user-name-form/user-name.form.component.html: -------------------------------------------------------------------------------- 1 | 2 |

3 | Firstname 4 | 5 |

6 |

7 | Name 8 | 9 |

10 |
11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/implementation/form-accessor/demos/simple/date-input/date-input.component.html: -------------------------------------------------------------------------------- 1 | Internal control touched: 2 | {{ form.touched }} 3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/implementation/ngxerrors/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ngxerrors/ngxerrors.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/implementation/ngxerrors/demos/ngxerrors/error/error.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | color: red; 4 | font-weight: bold; 5 | margin-top: 5px; 6 | } 7 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/implementation/save-on-exit/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { FormsImplementationCategory } from '../../../../../../categories/angular'; 3 | 4 | const SaveOnExitPage: NgDocPage = { 5 | title: `Save on exit`, 6 | mdFile: './index.md', 7 | category: FormsImplementationCategory, 8 | order: 4, 9 | }; 10 | 11 | export default SaveOnExitPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { FormsCategory } from '../../../../../categories/angular'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: FormsCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/forms/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { FormsCategory } from '../../../../../categories/angular'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: FormsCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/government/flanders/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { FlemishGovernmentCategory } from '../../../../../../categories/angular'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: FlemishGovernmentCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/government/flanders/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { FlemishGovernmentCategory } from '../../../../../../categories/angular'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: FlemishGovernmentCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/i18n/implementation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { I18nCategory } from '../../../../../categories/angular'; 3 | 4 | const ImplementationPage: NgDocPage = { 5 | title: `Implementation`, 6 | mdFile: './index.md', 7 | category: I18nCategory, 8 | order: 2, 9 | }; 10 | 11 | export default ImplementationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/i18n/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { I18nCategory } from '../../../../../categories/angular'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: I18nCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/i18n/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { I18nCategory } from '../../../../../categories/angular'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: I18nCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: AngularPage 3 | --- 4 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/inform/implementation/directives/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tooltip/tooltip.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/inform/implementation/services/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './modal/modal.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/inform/implementation/services/demos/modal/modal.demo.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/inform/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { InformCategory } from '../../../../../categories/angular'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: InformCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/inform/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { InformCategory } from '../../../../../categories/angular'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: InformCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/layout/implementation/components/demos/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | 3 | import { DragAndDropService } from './drag-and-drop.service'; 4 | import { provideNgxDragAndDropService } from '@ngx/layout'; 5 | 6 | export const layoutComponentsConfig: ApplicationConfig = { 7 | providers: [provideNgxDragAndDropService(DragAndDropService)], 8 | }; 9 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/layout/implementation/components/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './accordion/accordion.demo.component'; 2 | export * from './configurable/configurable.demo.component'; 3 | export * from './editable/editable.demo.component'; 4 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/layout/implementation/directives/demos/display-content/loading.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxDisplayContentComponent } from '@ngx/layout'; 3 | 4 | @Component({ 5 | selector: 'app-loading', 6 | standalone: true, 7 | template: 'Loading ...', 8 | }) 9 | export class DisplayContentLoadingComponent extends NgxDisplayContentComponent {} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/layout/implementation/directives/demos/display-content/offline.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxDisplayContentComponent } from '@ngx/layout'; 3 | 4 | @Component({ 5 | selector: 'app-offline', 6 | standalone: true, 7 | template: 'You are offline!', 8 | }) 9 | export class DisplayContentOfflineComponent extends NgxDisplayContentComponent {} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/layout/implementation/directives/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './display-content/display-content.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/layout/implementation/services/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: ServicesPage 3 | --- 4 | 5 | ## NgxOnlineService 6 | 7 | `ngx-layout` provides a root service `NgxOnlineService` that offers a SSR friendly approach to the online status of the application. Listening to the `online$` Observable will provide you with a simple true or false based on the current status. 8 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/layout/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { LayoutCategory } from '../../../../../categories/angular'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: LayoutCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/layout/introduction/demos/annotation/annotation.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | width: 100%; 4 | 5 | div { 6 | position: relative; 7 | width: 100%; 8 | 9 | ngx-image-marker { 10 | width: 100%; 11 | 12 | ::ng-deep { 13 | .ngx-image-marker-image { 14 | width: 100%; 15 | } 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/layout/introduction/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './accordion/accordion.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | 3 | const AngularPage: NgDocPage = { 4 | title: `Angular`, 5 | mdFile: './index.md', 6 | expanded: true, // Not available on NgDocPage but needed to have the category open by default 7 | } as NgDocPage; 8 | 9 | export default AngularPage; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/store/implementation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | 3 | import { StoreCategory } from '../../../../../categories/angular'; 4 | 5 | const ImplementationPage: NgDocPage = { 6 | title: `Implementation`, 7 | mdFile: './index.md', 8 | category: StoreCategory, 9 | order: 2, 10 | }; 11 | 12 | export default ImplementationPage; 13 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/store/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { StoreCategory } from '../../../../../categories/angular'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: StoreCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/store/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { StoreCategory } from '../../../../../categories/angular'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: StoreCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/acknowledgement/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: AcknowledgementPage 3 | --- 4 | 5 | A big thanks goes out to [Sam Verschueren](https://github.com/SamVerschueren) for his help with the initial implementation of this table. Without his help, this table would not have existed. 6 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/acknowledgement/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TableCategory } from '../../../../../categories/angular'; 3 | 4 | const AcknowledgementPage: NgDocPage = { 5 | title: `Acknowledgements`, 6 | mdFile: './index.md', 7 | category: TableCategory, 8 | order: 3, 9 | }; 10 | 11 | export default AcknowledgementPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/accessibility/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: AccessibilityPage 3 | --- 4 | 5 | `ngx-table` provides a WCAG and ARIA compliant implementation to tables. When a table has a detail row or is selectable, the role of the table switches from `table` to `treegrid`. Because of that, `ngx-table` follows the [WAI ARIA Treegrid Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/treegrid/). 6 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/custom-cells/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './custom-cells/custom-cells.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/detail-row/demos/detail-row-2/detail-row-two.demo.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxTable } from '@ngx/table'; 3 | 4 | @Component({ 5 | imports: [NgxTable], 6 | selector: 'detail-row-two-demo', 7 | templateUrl: './detail-row-two.demo.component.html', 8 | }) 9 | export class DetailRowTwoDemoComponent {} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/detail-row/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './detail-row-1/detail-row-one.demo.component'; 2 | export * from './detail-row-2/detail-row-two.demo.component'; 3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/header/demos/header-empty-state/header-empty-state.demo.component.html: -------------------------------------------------------------------------------- 1 | 7 | There are no users in your system! 8 | 9 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/header/demos/header-empty-state/header-empty-state.demo.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxTable } from '@ngx/table'; 3 | 4 | @Component({ 5 | imports: [NgxTable], 6 | selector: 'header-empty-state-demo', 7 | templateUrl: './header-empty-state.demo.component.html', 8 | }) 9 | export class HeaderEmptyStateDemoComponent {} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/header/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './header-loading-state/header-loading-state.demo.component'; 2 | export * from './header-empty-state/header-empty-state.demo.component'; 3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/loading-and-empty-state/demos/empty-state/empty-state.demo.component.html: -------------------------------------------------------------------------------- 1 | 2 | There are no users in your system! 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/loading-and-empty-state/demos/empty-state/empty-state.demo.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxTable } from '@ngx/table'; 3 | 4 | @Component({ 5 | imports: [NgxTable], 6 | selector: 'empty-state-demo', 7 | templateUrl: './empty-state.demo.component.html', 8 | }) 9 | export class EmptyStateDemoComponent {} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/loading-and-empty-state/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './loading-state/loading-state.demo.component'; 2 | export * from './empty-state/empty-state.demo.component'; 3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/simple-example/demos/custom-cells/custom-cells.demo.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxTable } from '@ngx/table'; 3 | 4 | @Component({ 5 | imports: [NgxTable], 6 | selector: 'custom-cells-demo', 7 | templateUrl: './custom-cells.demo.component.html', 8 | }) 9 | export class CustomCellsDemoComponent {} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/simple-example/demos/custom-columns/custom-columns.demo.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxTable } from '@ngx/table'; 3 | 4 | @Component({ 5 | imports: [NgxTable], 6 | selector: 'custom-columns-demo', 7 | templateUrl: './custom-columns.demo.component.html', 8 | }) 9 | export class CustomColumnsDemoComponent {} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/simple-example/demos/default-templates/default-templates.demo.component.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/simple-example/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './default-templates/default-templates.demo.component'; 2 | export * from './custom-cells/custom-cells.demo.component'; 3 | export * from './custom-columns/custom-columns.demo.component'; 4 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/sorting-selecting-row-actions/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './sorting/sorting.demo.component'; 2 | export * from './selectable-checkbox/selectable-checkbox.demo.component'; 3 | export * from './selectable-radiobutton/selectable-radiobutton.demo.component'; 4 | export * from './actions/actions.demo.component'; 5 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/implementation/styling/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TableImplementationCategory } from '../../../../../../categories/angular'; 3 | 4 | const StylingPage: NgDocPage = { 5 | title: `Styling`, 6 | mdFile: './index.md', 7 | category: TableImplementationCategory, 8 | order: 7, 9 | }; 10 | 11 | export default StylingPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TableCategory } from '../../../../../categories/angular'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: TableCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/table/introduction/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './styling/table-styling.demo.component'; 2 | export * from './configuration/table-configuration.demo.component'; 3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/tour/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TourCategory } from '../../../../../categories/angular'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: TourCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/tour/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TourCategory } from '../../../../../categories/angular'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: TourCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/tour/known-issues/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TourCategory } from '../../../../../categories/angular'; 3 | 4 | const KnownIssuesPage: NgDocPage = { 5 | title: `Known issues`, 6 | mdFile: './index.md', 7 | category: TourCategory, 8 | order: 3, 9 | }; 10 | 11 | export default KnownIssuesPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/directives/focus-click/demos/click-focus/click-focus.demo.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/directives/focus-click/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './click-focus/click-focus.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/injects/get-query-params/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: getQueryParamsInjectPage 3 | --- 4 | 5 | The getQueryParams helper will use Angular's `inject` function to get the queryParams from the ActivatedRoute. 6 | 7 | ## How to use 8 | 9 | ```typescript 10 | class MyClass { 11 | public readonly params$: Observable = getQueryParams(); 12 | } 13 | ``` 14 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/injects/get-query-params/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { InjectsCategory } from '../../../../../../categories/angular'; 3 | 4 | const QueryParamsInjectPage: NgDocPage = { 5 | title: `getQueryParams`, 6 | mdFile: './index.md', 7 | category: InjectsCategory, 8 | }; 9 | 10 | export default QueryParamsInjectPage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/array-contains-one/demos/array-contains-one/array-contains-one.demo.component.html: -------------------------------------------------------------------------------- 1 | 2 | {{ 3 | [ 4 | { title: 'This is the title', description: 'This is the description' }, 5 | { title: 'This is the title' }, 6 | ] | arrayContainsOne: [checkProperty] 7 | }} 8 | 9 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/btw/demos/btw-pipe/btw-pipe.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ vatNumber | btw }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/btw/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: BtwPipePage 3 | --- 4 | 5 | The BtwPipe will format Belgian VAT numbers. 6 | 7 | For example 8 | `474603875` will format to `474.603.875`. 9 | 10 | ## Example 11 | 12 | {{ NgDocActions.playground("BtwPipePlayground") }} 13 | 14 | ## How to use 15 | 16 | {{ NgDocActions.demo("BtwPipeDemoComponent", { expanded: true }) }} 17 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/clean-array/demos/clean-array/clean-array.demo.component.html: -------------------------------------------------------------------------------- 1 |

Original array: {{ array }}

2 |

Clean array: {{ array | cleanArray }}

3 |

Clean array as JSON: {{ array | cleanArray | json }}

4 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/clean-array/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './clean-array/clean-array.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/entries/demos/entries/entries.demo.component.html: -------------------------------------------------------------------------------- 1 |

{{ object | entries }}

2 |

{{ object | entries | json }}

3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/entries/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './entries/entries.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/has-observers/demos/has-observers-component/has-observers.demo.component.html: -------------------------------------------------------------------------------- 1 | 2 | {{ somethingHasCompleted | hasObservers }} 3 | 4 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/has-observers/demos/has-observers-parent-component/has-observers-parent.demo.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/has-observers/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-observers-component/has-observers.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/has-own-property/demos/has-own-property/has-own-property.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ sourceObject | hasOwnProperty: checkProperty }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/has-own-property/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-own-property/has-own-property.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/has-values/demos/has-values/has-values.demo.component.html: -------------------------------------------------------------------------------- 1 |

{{ emptyObject | hasValues }}

2 |

{{ object | hasValues }}

3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/has-values/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-values/has-values.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/highlight/demos/highlight-custom/highlight-custom.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ value | highlight: textToHighlight : config }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/highlight/demos/highlight/highlight.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ value | highlight: 'text to highlight' }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/highlight/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './highlight/highlight.demo.component'; 2 | export * from './highlight-custom/highlight-custom.demo.component'; 3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/iban/demos/iban/iban.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ ibanNumber | IBAN }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/iban/demos/iban/iban.demo.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { IbanPipe } from '@ngx/utils'; 3 | 4 | @Component({ 5 | imports: [IbanPipe], 6 | selector: 'iban-demo', 7 | templateUrl: 'iban.demo.component.html', 8 | }) 9 | export class IbanPipeDemoComponent { 10 | public ibanNumber = 'BE62510007547061'; 11 | } 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/iban/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './iban/iban.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/iban/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: IbanPipePage 3 | --- 4 | 5 | The IbanPipe will format an IBAN number. 6 | 7 | For example 8 | `BE62510007547061` will format to `BE62 5100 0754 7061`. 9 | 10 | ## How to use 11 | 12 | {{ NgDocActions.demo("IbanPipeDemoComponent", { expanded: true }) }} 13 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/is-not-empty/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './is-not-empty/is-not-empty.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/is-not-empty/demos/is-not-empty/is-not-empty.demo.component.html: -------------------------------------------------------------------------------- 1 |

{{ emptyObject | isNotEmpty }}

2 |

{{ object | isNotEmpty }}

3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/is-not-empty/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: IsNotEmptyPipePage 3 | --- 4 | 5 | The IsNotEmptyPipe checks if a given argument is an object or array and if it is empty. 6 | 7 | ## How to use 8 | 9 | {{ NgDocActions.demo("IsNotEmptyPipeDemoComponent", { expanded: true }) }} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/join/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './join/join.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/join/demos/join/join.demo.component.html: -------------------------------------------------------------------------------- 1 |

{{ array | join }}

2 |

{{ array | join | json }}

3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/join/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: JoinPipePage 3 | --- 4 | 5 | The JoinPipe will join values in an array. 6 | 7 | This pipe assumes the provided value to be of type `Array`. 8 | 9 | For example 10 | `['a', 'b', 'c']` will format to `abc`. 11 | 12 | ## How to use 13 | 14 | {{ NgDocActions.demo("JoinPipeDemoComponent", { expanded: true }) }} 15 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/limit-to/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './limit-to/limit-to.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/limit-to/demos/limit-to/limit-to.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ array | limitTo: limit }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/log/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './log/log.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/log/demos/log/log.demo.component.html: -------------------------------------------------------------------------------- 1 | Open the dev tools in order to see the logged value 2 | 3 | {{ value | log }} 4 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/log/demos/log/log.demo.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { LogPipe } from '@ngx/utils'; 3 | 4 | @Component({ 5 | imports: [LogPipe], 6 | selector: 'log-demo', 7 | templateUrl: 'log.demo.component.html', 8 | }) 9 | export class LogPipeDemoComponent { 10 | public value = 'Hello, World!'; 11 | } 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/log/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: LogPipePage 3 | --- 4 | 5 | The LogPipe will print the provided value to the console, it will not render the value on the page itself. 6 | 7 | Mainly used for debugging. 8 | 9 | ## How to use 10 | 11 | {{ NgDocActions.demo("LogPipeDemoComponent", { expanded: true }) }} 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/merge-arrays/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './merge-arrays/merge-arrays.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/merge-arrays/demos/merge-arrays/merge-arrays.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ sourceArray | mergeArrays: firstArray : nhtArray }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/merge-arrays/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: MergeArraysPipePage 3 | --- 4 | 5 | The MergeArraysPipe is a wrapper around the JS native Array.concat with some added safety. 6 | 7 | It will start from a source array and concat n-amount of additional arrays into it. 8 | 9 | ## How to use 10 | 11 | {{ NgDocActions.demo("MergeArraysPipeDemoComponent", { expanded: true }) }} 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/replace-elements/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { PipesCategory } from '../../../../../../categories/angular'; 3 | 4 | const ReplaceElementsPipePage: NgDocPage = { 5 | title: `ReplaceElements`, 6 | mdFile: './index.md', 7 | category: PipesCategory, 8 | }; 9 | 10 | export default ReplaceElementsPipePage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/safe-html/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './safe-html/safe-html.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/safe-html/demos/safe-html/safe-html.demo.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/safe-html/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: SafeHtmlPipePage 3 | --- 4 | 5 | The SafeHtmlPipe will sanitize a given value with the DomSanitizer. 6 | 7 | It uses the `DomSanitizer.sanitize()` with `SecurityContext.HTML`. 8 | 9 | ## How to use 10 | 11 | {{ NgDocActions.demo("SafeHtmlPipeDemoComponent", { expanded: true }) }} 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/strip-html/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './strip-html/strip-html.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/strip-html/demos/strip-html/strip-html.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ value | stripHtml }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/strip-html/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: StripHtmlPipePage 3 | --- 4 | 5 | The StripHtmlPipe will strip HTML from a given value. 6 | 7 | It will strip tags, nbsp and escaped characters. 8 | 9 | ## How to use 10 | 11 | {{ NgDocActions.demo("StripHtmlPipeDemoComponent", { expanded: true }) }} 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/to-array/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './to-array/to-array.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/to-array/demos/to-array/to-array.demo.component.html: -------------------------------------------------------------------------------- 1 |

{{ sourceValue | toArray }}

2 |

{{ sourceValue | toArray | json }}

3 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/to-array/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: ToArrayPipePage 3 | --- 4 | 5 | The ToArrayPipe will check if a value is defined and then wrap it in a new array before returning it. 6 | 7 | ## How to use 8 | 9 | {{ NgDocActions.demo("ToArrayPipeDemoComponent", { expanded: true }) }} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/transform/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './transform/transform.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/transform/demos/transform/transform.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ value | transform: toUpperCase }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/transform/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: TransformPipePage 3 | --- 4 | 5 | The TransformPipe will transform a given value with the provided transform-function. 6 | 7 | ## How to use 8 | 9 | {{ NgDocActions.demo("TransformPipeDemoComponent", { expanded: true }) }} 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/truncate-text/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './truncate-text/truncate-text.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/truncate-text/demos/truncate-text/truncate-text.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ value | truncateText: 10 }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/truncate-text/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: TruncateTextPipePage 3 | --- 4 | 5 | The TruncateTextPipe will truncate a given text to a given number of characters and suffix it with an ellipsis. 6 | 7 | It assumes that the provided value is a string. 8 | 9 | ## How to use 10 | 11 | {{ NgDocActions.demo("TruncateTextPipeDemoComponent", { expanded: true }) }} 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/unique-by/demos/index.ts: -------------------------------------------------------------------------------- 1 | export * from './unique-by/unique-by.demo.component'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/unique-by/demos/unique-by/unique-by.demo.component.html: -------------------------------------------------------------------------------- 1 | {{ array | uniqBy: checkProperty | json }} 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/pipes/with-router-links/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { PipesCategory } from '../../../../../../categories/angular'; 3 | 4 | const WithRouterLinksPipePage: NgDocPage = { 5 | title: `WithRouterLinksPipe`, 6 | mdFile: './index.md', 7 | category: PipesCategory, 8 | }; 9 | 10 | export default WithRouterLinksPipePage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/services/media-query/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { UtilsServicesCategory } from '../../../../../../categories/angular'; 3 | 4 | const MediaQueryServicePage: NgDocPage = { 5 | title: `NgxMediaQueryService`, 6 | mdFile: './index.md', 7 | category: UtilsServicesCategory, 8 | }; 9 | 10 | export default MediaQueryServicePage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/services/storage-service/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { UtilsServicesCategory } from '../../../../../../categories/angular'; 3 | 4 | const StorageServicePage: NgDocPage = { 5 | title: `NgxStorageService`, 6 | mdFile: './index.md', 7 | category: UtilsServicesCategory, 8 | }; 9 | 10 | export default StorageServicePage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/services/window-service/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: UtilsWindowServicePage 3 | --- 4 | 5 | > **Warning** 6 | > This is deprecated in favor of the `*NgxWindowServicePage` in Core 7 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/services/window-service/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { UtilsServicesCategory } from '../../../../../../categories/angular'; 3 | 4 | const UtilsWindowServicePage: NgDocPage = { 5 | title: `NgxWindowService`, 6 | mdFile: './index.md', 7 | category: UtilsServicesCategory, 8 | }; 9 | 10 | export default UtilsWindowServicePage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/angular/utils/utils/simple-changes/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { UtilsUtilsCategory } from '../../../../../../categories/angular'; 3 | 4 | const simpleChangeHasChangedPage: NgDocPage = { 5 | title: `simpleChangeHasChanged`, 6 | mdFile: './index.md', 7 | category: UtilsUtilsCategory, 8 | }; 9 | 10 | export default simpleChangeHasChangedPage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/documentation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | 3 | const DocumentationPage: NgDocPage = { 4 | title: `Documentation`, 5 | mdFile: './index.md', 6 | hidden: true, 7 | }; 8 | 9 | export default DocumentationPage; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/express/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: ExpressPage 3 | --- 4 | 5 | It's time to write some awesome docs! 6 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/express/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | 3 | const ExpressPage: NgDocPage = { 4 | title: `Express`, 5 | mdFile: './index.md', 6 | }; 7 | 8 | export default ExpressPage; 9 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/express/status/implementation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { ExpressStatusCategory } from '../../../../../categories/express'; 3 | 4 | const ImplementationPage: NgDocPage = { 5 | title: `Implementation`, 6 | mdFile: './index.md', 7 | category: ExpressStatusCategory, 8 | order: 2, 9 | }; 10 | 11 | export default ImplementationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/express/status/installation/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: InstallationPage 3 | --- 4 | 5 | ## Install the package 6 | 7 | ```bash 8 | # NPM 9 | npm install --save @studiohyperdrive/express-status 10 | 11 | # Yarn 12 | yarn add --save @studiohyperdrive/express-status 13 | ``` 14 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/express/status/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { ExpressStatusCategory } from '../../../../../categories/express'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: ExpressStatusCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/express/status/introduction/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: IntroductionPage 3 | --- 4 | 5 | Express status-page solution 6 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/express/status/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { ExpressStatusCategory } from '../../../../../categories/express/'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: ExpressStatusCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: JavascriptPage 3 | --- 4 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | 3 | const JavascriptPage: NgDocPage = { 4 | title: `Javascript`, 5 | mdFile: './index.md', 6 | expanded: true, // Not available on NgDocPage but needed to have the category open by default 7 | } as NgDocPage; 8 | 9 | export default JavascriptPage; 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/pagination/implementation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { PaginationCategory } from '../../../../../categories/javascript'; 3 | 4 | const ImplementationPage: NgDocPage = { 5 | title: `Implementation`, 6 | mdFile: './index.md', 7 | category: PaginationCategory, 8 | order: 2, 9 | }; 10 | 11 | export default ImplementationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/pagination/installation/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: InstallationPage 3 | --- 4 | 5 | You can install this package by doing: 6 | 7 | ```bash 8 | $ npm install @studiohyperdrive/nodejs-hal-tools 9 | ``` 10 | 11 | or if you use Yarn: 12 | 13 | ```bash 14 | $ yarn add @studiohyperdrive/nodejs-hal-tools 15 | ``` 16 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/pagination/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { PaginationCategory } from '../../../../../categories/javascript'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: PaginationCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/pagination/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { PaginationCategory } from '../../../../../categories/javascript'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: PaginationCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/regex/installation/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: InstallationPage 3 | --- 4 | 5 | You can install this package by doing: 6 | 7 | ```shell 8 | npm install @studiohyperdrive/regex-common 9 | ``` 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/regex/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { RegexCategory } from '../../../../../categories/javascript'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: RegexCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/regex/introduction/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: IntroductionPage 3 | --- 4 | 5 | A set of common regex patterns. 6 | 7 | ## 1. Expressions 8 | 9 | ### `*bePhoneBinFormattedPage` 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/regex/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { RegexCategory } from '../../../../../categories/javascript'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: RegexCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/expressions/catchAndCallThrough/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { OperatorsCategory } from '../../../../../../categories/javascript'; 3 | 4 | const catchAndCallThroughPage: NgDocPage = { 5 | title: `catchAndCallThrough`, 6 | mdFile: './index.md', 7 | category: OperatorsCategory, 8 | }; 9 | 10 | export default catchAndCallThroughPage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/expressions/combineBoolean/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { OperatorsCategory } from '../../../../../../categories/javascript'; 3 | 4 | const combineBooleanPage: NgDocPage = { 5 | title: `combineBoolean`, 6 | mdFile: './index.md', 7 | category: OperatorsCategory, 8 | }; 9 | 10 | export default combineBooleanPage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/expressions/fetchIf/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { OperatorsCategory } from '../../../../../../categories/javascript'; 3 | 4 | const fetchIfPage: NgDocPage = { 5 | title: `fetchIf`, 6 | mdFile: './index.md', 7 | category: OperatorsCategory, 8 | }; 9 | 10 | export default fetchIfPage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/expressions/pluck/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { OperatorsCategory } from '../../../../../../categories/javascript'; 3 | 4 | const pluckPage: NgDocPage = { 5 | title: `pluck`, 6 | mdFile: './index.md', 7 | category: OperatorsCategory, 8 | }; 9 | 10 | export default pluckPage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/expressions/pluckOr/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { OperatorsCategory } from '../../../../../../categories/javascript'; 3 | 4 | const pluckOrPage: NgDocPage = { 5 | title: `pluckOr`, 6 | mdFile: './index.md', 7 | category: OperatorsCategory, 8 | }; 9 | 10 | export default pluckOrPage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/expressions/populate/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { OperatorsCategory } from '../../../../../../categories/javascript'; 3 | 4 | const populatePage: NgDocPage = { 5 | title: `populate`, 6 | mdFile: './index.md', 7 | category: OperatorsCategory, 8 | }; 9 | 10 | export default populatePage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/expressions/validateContent/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { OperatorsCategory } from '../../../../../../categories/javascript'; 3 | 4 | const validateContentPage: NgDocPage = { 5 | title: `validateContent`, 6 | mdFile: './index.md', 7 | category: OperatorsCategory, 8 | }; 9 | 10 | export default validateContentPage; 11 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/installation/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: InstallationPage 3 | --- 4 | 5 | You can install this package by doing: 6 | 7 | ```shell 8 | npm install @studiohyperdrive/rxjs-utils 9 | ``` 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { RxJSCategory } from '../../../../../categories/javascript'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: RxJSCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { RxJSCategory } from '../../../../../categories/javascript'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: RxJSCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/rxjs/types/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { RxJSCategory } from '../../../../../categories/javascript'; 3 | 4 | const ObservableTypesPage: NgDocPage = { 5 | title: `Types`, 6 | mdFile: './index.md', 7 | category: RxJSCategory, 8 | order: 3, 9 | }; 10 | 11 | export default ObservableTypesPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/testing/installation/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: InstallationPage 3 | --- 4 | 5 | You can install this package by doing: 6 | 7 | ```shell 8 | npm install @studiohyperdrive/testing 9 | ``` 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/testing/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TestingCategory } from '../../../../../categories/javascript'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: TestingCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/testing/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TestingCategory } from '../../../../../categories/javascript'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: TestingCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/types/authentication/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TypesCategory } from '../../../../../categories/javascript'; 3 | 4 | const AuthenticationPage: NgDocPage = { 5 | title: `Authentication`, 6 | mdFile: './index.md', 7 | category: TypesCategory, 8 | order: 1, 9 | }; 10 | 11 | export default AuthenticationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/types/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { TypesCategory } from '../../../../../categories/javascript'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: TypesCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/file/openFile/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { FileCategory } from '../../../../../../categories/javascript'; 3 | 4 | const openFilePage: NgDocPage = { 5 | title: `openFile`, 6 | mdFile: './index.md', 7 | category: FileCategory, 8 | order: 0, 9 | }; 10 | 11 | export default openFilePage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/installation/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | keyword: InstallationPage 3 | --- 4 | 5 | You can install this package by doing: 6 | 7 | ```shell 8 | npm install @studiohyperdrive/utils 9 | ``` 10 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/installation/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { UtilsCategory } from '../../../../../categories/javascript'; 3 | 4 | const InstallationPage: NgDocPage = { 5 | title: `Installation`, 6 | mdFile: './index.md', 7 | category: UtilsCategory, 8 | order: 1, 9 | }; 10 | 11 | export default InstallationPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/introduction/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { UtilsCategory } from '../../../../../categories/javascript'; 3 | 4 | const IntroductionPage: NgDocPage = { 5 | title: `Introduction`, 6 | mdFile: './index.md', 7 | category: UtilsCategory, 8 | order: 0, 9 | }; 10 | 11 | export default IntroductionPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/number/inRange/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { NumberCategory } from '../../../../../../categories/javascript'; 3 | 4 | const inRangePage: NgDocPage = { 5 | title: `inRange`, 6 | mdFile: './index.md', 7 | category: NumberCategory, 8 | order: 0, 9 | }; 10 | 11 | export default inRangePage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/object/getKeyByValue/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { ObjectCategory } from '../../../../../../categories/javascript'; 3 | 4 | const getKeyByValuePage: NgDocPage = { 5 | title: `getKeyByValue`, 6 | mdFile: './index.md', 7 | category: ObjectCategory, 8 | order: 0, 9 | }; 10 | 11 | export default getKeyByValuePage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/object/merge/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { ObjectCategory } from '../../../../../../categories/javascript'; 3 | 4 | const mergePage: NgDocPage = { 5 | title: `merge`, 6 | mdFile: './index.md', 7 | category: ObjectCategory, 8 | order: 1, 9 | }; 10 | 11 | export default mergePage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/object/search-recursively/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { ObjectCategory } from '../../../../../../categories/javascript'; 3 | 4 | const searchRecursivelyPage: NgDocPage = { 5 | title: `searchRecursively`, 6 | mdFile: './index.md', 7 | category: ObjectCategory, 8 | order: 2, 9 | }; 10 | 11 | export default searchRecursivelyPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/string/normalize-string/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { StringCategory } from '../../../../../../categories/javascript'; 3 | 4 | const normalizeStringPage: NgDocPage = { 5 | title: `normalizeString`, 6 | mdFile: './index.md', 7 | category: StringCategory, 8 | order: 1, 9 | }; 10 | 11 | export default normalizeStringPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/string/search-string/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { StringCategory } from '../../../../../../categories/javascript'; 3 | 4 | const searchStringPage: NgDocPage = { 5 | title: `searchString`, 6 | mdFile: './index.md', 7 | category: StringCategory, 8 | order: 3, 9 | }; 10 | 11 | export default searchStringPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/javascript/utils/string/stringComparator/ng-doc.page.ts: -------------------------------------------------------------------------------- 1 | import { NgDocPage } from '@ng-doc/core'; 2 | import { StringCategory } from '../../../../../../categories/javascript'; 3 | 4 | const stringComparatorPage: NgDocPage = { 5 | title: `stringComparator`, 6 | mdFile: './index.md', 7 | category: StringCategory, 8 | order: 4, 9 | }; 10 | 11 | export default stringComparatorPage; 12 | -------------------------------------------------------------------------------- /apps/docs/src/app/pages/docs/landing/docs-page.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Hyperdrive Open Source

4 |
5 | 6 | 7 |
8 | -------------------------------------------------------------------------------- /apps/docs/src/app/shared/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './custom-checkbox/custom-checkbox.component'; 2 | export * from './custom-radio-button/custom-radio-button.component'; 3 | -------------------------------------------------------------------------------- /apps/docs/src/app/shared/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './routes.type'; 2 | -------------------------------------------------------------------------------- /apps/docs/src/app/shared/types/routes.type.ts: -------------------------------------------------------------------------------- 1 | export enum ERoutes { 2 | DOCS = 'docs', 3 | LANDING = '', 4 | DEMOS = 'demos', 5 | } 6 | -------------------------------------------------------------------------------- /apps/docs/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | docs 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/docs/src/main.server.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { AppComponent } from './app/app.component'; 3 | import { config } from './app/app.config.server'; 4 | 5 | const bootstrap = () => bootstrapApplication(AppComponent, config); 6 | 7 | export default bootstrap; 8 | -------------------------------------------------------------------------------- /apps/docs/src/ng-doc.config.ts: -------------------------------------------------------------------------------- 1 | import { NgDocConfiguration } from '@ng-doc/builder'; 2 | 3 | const config: NgDocConfiguration = { 4 | routePrefix: 'docs', 5 | }; 6 | 7 | export default config; 8 | -------------------------------------------------------------------------------- /apps/docs/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "allowSyntheticDefaultImports": true, 5 | "outDir": "../../dist/out-tsc", 6 | "types": [] 7 | }, 8 | "files": ["src/main.ts", "server.ts"], 9 | "include": ["src/**/*.d.ts", "src/**/*.ts", "server.ts"], 10 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /apps/docs/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["src/**/*.ts"], 4 | "compilerOptions": {}, 5 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 6 | } 7 | -------------------------------------------------------------------------------- /apps/docs/tsconfig.server.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.app.json", 4 | "compilerOptions": { 5 | "outDir": "../../out-tsc/server", 6 | "target": "es2019", 7 | "types": ["node"] 8 | }, 9 | "files": ["src/main.server.ts", "server.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/form-test/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/form-test/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | app-form-accessor { 2 | display: block; 3 | margin-bottom: 30px; 4 | } 5 | -------------------------------------------------------------------------------- /apps/form-test/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/form-test/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/form-test/src/date-input/date-input.component.html: -------------------------------------------------------------------------------- 1 | Internal control touched: 2 | {{ form.touched }} 3 | -------------------------------------------------------------------------------- /apps/form-test/src/error/error.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | color: red; 4 | font-weight: bold; 5 | margin-top: 5px; 6 | } 7 | -------------------------------------------------------------------------------- /apps/form-test/src/error/error.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxFormsErrorAbstractComponent } from '@ngx/forms'; 3 | 4 | @Component({ 5 | selector: 'app-form-error', 6 | template: `Dit is de error: {{ errors[0] }}`, 7 | styleUrls: ['./error.component.scss'], 8 | standalone: true, 9 | }) 10 | export class FormErrorComponent extends NgxFormsErrorAbstractComponent {} 11 | -------------------------------------------------------------------------------- /apps/form-test/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/form-test/src/favicon.ico -------------------------------------------------------------------------------- /apps/form-test/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | FormTest 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/form-test/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /apps/form-test/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": ["src/main.ts"], 4 | "include": ["src/**/*.d.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /apps/i18n-test/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/i18n-test/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | {{ 'hello-world' | translate }} 2 | 3 |
4 | 5 |
6 | -------------------------------------------------------------------------------- /apps/i18n-test/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | div { 2 | padding: 15px; 3 | 4 | color: salmon; 5 | } 6 | -------------------------------------------------------------------------------- /apps/i18n-test/src/app/placeholder.spec.ts: -------------------------------------------------------------------------------- 1 | describe('Placeholder - remove when adding tests to the application', () => { 2 | it('should succeed', () => { 3 | expect(true).toBeTrue(); 4 | }); 5 | }); 6 | -------------------------------------------------------------------------------- /apps/i18n-test/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/i18n-test/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/i18n-test/src/assets/feature/nl.json: -------------------------------------------------------------------------------- 1 | { 2 | "hello-feature": "This is a lazy loaded translation from a feature folder, the current language code is: {{currentLanguage}}!" 3 | } 4 | -------------------------------------------------------------------------------- /apps/i18n-test/src/assets/shared/nl.json: -------------------------------------------------------------------------------- 1 | { 2 | "hello-world": "This is a default loaded translation!" 3 | } 4 | -------------------------------------------------------------------------------- /apps/i18n-test/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/i18n-test/src/favicon.ico -------------------------------------------------------------------------------- /apps/i18n-test/src/feature/translation.loader.ts: -------------------------------------------------------------------------------- 1 | import { HttpBackend } from '@angular/common/http'; 2 | import { NgxI18nMultiTranslationHttpLoader } from '@ngx/i18n'; 3 | 4 | export function FeatureTranslationLoader(http: HttpBackend) { 5 | return new NgxI18nMultiTranslationHttpLoader(http, ['./assets/feature/']); 6 | } 7 | -------------------------------------------------------------------------------- /apps/i18n-test/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | I18nTest 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/i18n-test/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /apps/i18n-test/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts"], 8 | "include": ["src/**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/i18n-test/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "../../tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "../../out-tsc/spec", 6 | "types": ["jasmine", "node"] 7 | }, 8 | "files": ["src/test.ts"], 9 | "include": ["**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/layout-test/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/layout-test/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/layout-test/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/layout-test/src/assets/klimmuur.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/layout-test/src/assets/klimmuur.webp -------------------------------------------------------------------------------- /apps/layout-test/src/display-content/error.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxDisplayContentComponent } from '@ngx/layout'; 3 | 4 | @Component({ 5 | selector: 'app-error', 6 | standalone: true, 7 | template: 'Something went wrong: {{data}}', 8 | }) 9 | export class DisplayContentErrorComponent extends NgxDisplayContentComponent {} 10 | -------------------------------------------------------------------------------- /apps/layout-test/src/display-content/index.ts: -------------------------------------------------------------------------------- 1 | export * from './error.component'; 2 | export * from './loading.component'; 3 | export * from './offline.component'; 4 | -------------------------------------------------------------------------------- /apps/layout-test/src/display-content/loading.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxDisplayContentComponent } from '@ngx/layout'; 3 | 4 | @Component({ 5 | selector: 'app-loading', 6 | standalone: true, 7 | template: 'Loading ...', 8 | }) 9 | export class DisplayContentLoadingComponent extends NgxDisplayContentComponent {} 10 | -------------------------------------------------------------------------------- /apps/layout-test/src/display-content/offline.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxDisplayContentComponent } from '@ngx/layout'; 3 | 4 | @Component({ 5 | selector: 'app-offline', 6 | standalone: true, 7 | template: 'You are offline!', 8 | }) 9 | export class DisplayContentOfflineComponent extends NgxDisplayContentComponent {} 10 | -------------------------------------------------------------------------------- /apps/layout-test/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/layout-test/src/favicon.ico -------------------------------------------------------------------------------- /apps/layout-test/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | LayoutTest 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/layout-test/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)); 6 | -------------------------------------------------------------------------------- /apps/layout-test/src/modal/modal.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | background: white; 4 | border: 1px solid black; 5 | padding: 15px; 6 | } 7 | -------------------------------------------------------------------------------- /apps/layout-test/src/tooltip/tooltip.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxTooltipAbstractComponent } from '@ngx/inform'; 3 | 4 | @Component({ 5 | selector: 'tooltip', 6 | template: `

`, 7 | styleUrl: './tooltip.component.scss', 8 | standalone: true, 9 | }) 10 | export class TooltipComponent extends NgxTooltipAbstractComponent {} 11 | -------------------------------------------------------------------------------- /apps/layout-test/src/tour/special-tour.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | padding: 10px; 4 | background: blue; 5 | color: white; 6 | } 7 | -------------------------------------------------------------------------------- /apps/layout-test/src/tour/tour.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | padding: 10px; 4 | background: white; 5 | } 6 | -------------------------------------------------------------------------------- /apps/layout-test/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts"], 8 | "include": ["src/**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/layout-test/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "../../tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "../../out-tsc/spec", 6 | "types": ["jasmine", "node"] 7 | }, 8 | "files": ["src/test.ts"], 9 | "include": ["**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/store-test/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/store-test/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | .disclaimer { 2 | width: fit-content; 3 | margin-bottom: 15px; 4 | padding: 10px; 5 | 6 | border: 1px solid black; 7 | border-radius: 5px; 8 | 9 | b { 10 | color: darkred; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /apps/store-test/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/store-test/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/store-test/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/store-test/src/favicon.ico -------------------------------------------------------------------------------- /apps/store-test/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | StoreTest 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/store-test/src/interface/user.interface.ts: -------------------------------------------------------------------------------- 1 | export interface User { 2 | name: string; 3 | id: string; 4 | } 5 | -------------------------------------------------------------------------------- /apps/store-test/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /apps/store-test/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts"], 8 | "include": ["src/**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/store-test/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "../../tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "../../out-tsc/spec", 6 | "types": ["jasmine"] 7 | }, 8 | "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/table-test/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/table-test/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | .disclaimer { 2 | width: fit-content; 3 | margin-bottom: 15px; 4 | padding: 10px; 5 | 6 | b { 7 | color: darkred; 8 | } 9 | } 10 | 11 | ::ng-deep { 12 | .ngx-table-row-selected { 13 | outline: 2px dashed red; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /apps/table-test/src/app/placeholder.spec.ts: -------------------------------------------------------------------------------- 1 | describe('Placeholder - remove when adding tests to the application', () => { 2 | it('should succeed', () => { 3 | expect(true).toBeTrue(); 4 | }); 5 | }); 6 | -------------------------------------------------------------------------------- /apps/table-test/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/table-test/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/table-test/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/apps/table-test/src/favicon.ico -------------------------------------------------------------------------------- /apps/table-test/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NGXTable 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/table-test/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /apps/table-test/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts"], 8 | "include": ["src/**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/table-test/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "../../tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "../../out-tsc/spec", 6 | "types": ["jasmine", "node"] 7 | }, 8 | "files": ["src/test.ts"], 9 | "include": ["**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /jest.config.ts: -------------------------------------------------------------------------------- 1 | import { getJestProjectsAsync } from '@nx/jest'; 2 | 3 | export default async () => ({ 4 | projects: await getJestProjectsAsync(), 5 | }); 6 | -------------------------------------------------------------------------------- /jest.preset.js: -------------------------------------------------------------------------------- 1 | const nxPreset = require('@nx/jest/preset').default; 2 | 3 | module.exports = { ...nxPreset }; 4 | -------------------------------------------------------------------------------- /libs/angular/authentication/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/libs/angular/authentication", 4 | "lib": { 5 | "entryFile": "src/index.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; 2 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/abstracts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './authentication.service'; 2 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/directives/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-feature/has-feature.directive'; 2 | export * from './has-permission/has-permission.directive'; 3 | export * from './is-authenticated/is-authenticated.directive'; 4 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/guards/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-feature/has-feature.guard'; 2 | export * from './has-permission/has-permission.guard'; 3 | export * from './is-authenticated/is-authenticated.guard'; 4 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './abstracts'; 2 | export * from './directives'; 3 | export * from './guards'; 4 | export * from './pipes'; 5 | export * from './types'; 6 | export * from './providers'; 7 | export * from './mocks'; 8 | export * from './services'; 9 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/interceptors/index.ts: -------------------------------------------------------------------------------- 1 | export * from './authentication/authentication.interceptor'; 2 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/mocks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './authentication.service.mock'; 2 | export * from './authentication.response.mock'; 3 | export * from './authenticated-http-client.mock'; 4 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/pipes/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-feature/has-feature.pipe'; 2 | export * from './has-permission/has-permission.pipe'; 3 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/providers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './authentication-configuration.provider'; 2 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './authenticated-http-client/authenticated-http-client.service'; 2 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/tokens/index.ts: -------------------------------------------------------------------------------- 1 | export * from './authentication-configuration.token'; 2 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/types/authentication-status.types.ts: -------------------------------------------------------------------------------- 1 | export type NgxAuthenticationStatus = 'unset' | 'signed-in' | 'signed-out'; 2 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/types/authentication.types.ts: -------------------------------------------------------------------------------- 1 | import { AuthenticationResponse } from '@studiohyperdrive/types-auth'; 2 | 3 | export type NgxAuthenticationResponseFeature< 4 | AuthenticationResponseType extends AuthenticationResponse, 5 | > = AuthenticationResponseType['session']['features'] extends (infer FeatureKey)[] 6 | ? FeatureKey 7 | : never; 8 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './authenticated-route.types'; 2 | export * from './authentication-status.types'; 3 | export * from './authentication.types'; 4 | export * from './authentication-configuration.types'; 5 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/utils/convert-to-array.util.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Converts an single item to an array or returns the array as is. This is to help the guards, directives and pipes in this feature due to the typing in the abstract service 3 | */ 4 | export const convertToArray = (item: DataType | DataType[]): DataType[] => { 5 | return Array.isArray(item) ? item : [item]; 6 | }; 7 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/lib/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './convert-to-array.util'; 2 | -------------------------------------------------------------------------------- /libs/angular/authentication/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv({ 4 | errorOnUnknownElements: true, 5 | errorOnUnknownProperties: true, 6 | }); 7 | -------------------------------------------------------------------------------- /libs/angular/authentication/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/authentication/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../../dist/out-tsc", 5 | "declaration": true, 6 | "declarationMap": true, 7 | "inlineSources": true, 8 | "types": [] 9 | }, 10 | "exclude": ["src/**/*.spec.ts", "src/test-setup.ts", "jest.config.ts", "src/**/*.test.ts"], 11 | "include": ["src/**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /libs/angular/authentication/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/authentication/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /libs/angular/cookies/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/cookies/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/angular/cookies", 4 | "lib": { 5 | "entryFile": "src/index.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/cookies/src/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Public API Surface of ngx-cookies 3 | */ 4 | export { NgxCookieService } from './lib/services'; 5 | export { NgxHasCookieDirective } from './lib/directives'; 6 | export { NgxCookiesFallBackComponent } from './lib/abstracts'; 7 | export { NgxCookiesFallbackComponentToken } from './lib/tokens'; 8 | -------------------------------------------------------------------------------- /libs/angular/cookies/src/lib/abstracts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './cookie-fallback/cookie-fallback.component'; 2 | -------------------------------------------------------------------------------- /libs/angular/cookies/src/lib/directives/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-cookie/has-cookie.directive'; 2 | -------------------------------------------------------------------------------- /libs/angular/cookies/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './cookie/cookie.service'; 2 | -------------------------------------------------------------------------------- /libs/angular/cookies/src/lib/tokens/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-cookies-fallback/has-cookies-fallback'; 2 | -------------------------------------------------------------------------------- /libs/angular/cookies/src/lib/types/has-cookie-configuration.ts: -------------------------------------------------------------------------------- 1 | export interface NgxHasCookieConfiguration { 2 | category: string; 3 | services?: string[]; 4 | } 5 | -------------------------------------------------------------------------------- /libs/angular/cookies/src/lib/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './cookie-configuration'; 2 | export * from './has-cookie-configuration'; 3 | export * from './set-cookie'; 4 | -------------------------------------------------------------------------------- /libs/angular/cookies/src/lib/types/set-cookie.ts: -------------------------------------------------------------------------------- 1 | export interface NgxCookieValue { 2 | name: string; 3 | value: DataType; 4 | } 5 | -------------------------------------------------------------------------------- /libs/angular/cookies/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | // @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment 2 | globalThis.ngJest = { 3 | testEnvironmentOptions: { 4 | errorOnUnknownElements: true, 5 | errorOnUnknownProperties: true, 6 | }, 7 | }; 8 | import 'jest-preset-angular/setup-jest'; 9 | -------------------------------------------------------------------------------- /libs/angular/cookies/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/cookies/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../../dist/out-tsc", 5 | "declaration": true, 6 | "declarationMap": true, 7 | "inlineSources": true, 8 | "types": [] 9 | }, 10 | "exclude": ["src/**/*.spec.ts", "src/test-setup.ts", "jest.config.ts", "src/**/*.test.ts"], 11 | "include": ["src/**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /libs/angular/cookies/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/cookies/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /libs/angular/core/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/core/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/libs/angular/core", 4 | "lib": { 5 | "entryFile": "src/index.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/core/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/services'; 2 | export * from './lib/utils'; 3 | -------------------------------------------------------------------------------- /libs/angular/core/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './window/window.service'; 2 | export { NgxWindowMock, NgxWindowServiceMock } from './window/window.service.mock'; 3 | -------------------------------------------------------------------------------- /libs/angular/core/src/lib/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './simple-changes/simple-changes.util'; 2 | -------------------------------------------------------------------------------- /libs/angular/core/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv({ 4 | errorOnUnknownElements: true, 5 | errorOnUnknownProperties: true, 6 | }); 7 | -------------------------------------------------------------------------------- /libs/angular/core/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/core/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../../dist/out-tsc", 5 | "declaration": true, 6 | "declarationMap": true, 7 | "inlineSources": true, 8 | "types": [] 9 | }, 10 | "exclude": ["src/**/*.spec.ts", "src/test-setup.ts", "jest.config.ts", "src/**/*.test.ts"], 11 | "include": ["src/**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /libs/angular/core/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.lib.json", 3 | "compilerOptions": { 4 | "declarationMap": false 5 | }, 6 | "angularCompilerOptions": { 7 | "compilationMode": "partial" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /libs/angular/core/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /libs/angular/forms/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/forms/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/angular/forms", 4 | "lib": { 5 | "entryFile": "src/public-api.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/abstracts/base-form/base-form.accessor.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * In order to select all accessors in a FormContainer, we need this base class to pass to our ViewChildren. 3 | * 4 | * IMPORTANT: This will never be used as an actual functional component 5 | */ 6 | export class BaseFormAccessor {} 7 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/abstracts/custom-control-value-accessor/index.ts: -------------------------------------------------------------------------------- 1 | export * from './custom-control-value-accessor'; 2 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/abstracts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './form/form.accessor'; 2 | export * from './data-form/data-form.accessor'; 3 | export * from './form-accessor-container/form-accessor-container'; 4 | export * from './base-form/base-form.accessor'; 5 | export * from './error/error.component.abstract'; 6 | export * from './save-on-exit'; 7 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/abstracts/save-on-exit/index.ts: -------------------------------------------------------------------------------- 1 | export * from './save-on-exit.component.abstract'; 2 | export * from './save-on-exit.service.abstract'; 3 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/directives/index.ts: -------------------------------------------------------------------------------- 1 | export * from './errors/errors.directive'; 2 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/guards/index.ts: -------------------------------------------------------------------------------- 1 | export * from './save-on-exit/save-on-exit.guard'; 2 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/interfaces/form-state-options.interface.ts: -------------------------------------------------------------------------------- 1 | export interface FormStateOptionsEntity { 2 | onlySelf?: boolean; 3 | emitEvent?: boolean; 4 | } 5 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './form-accessor-control-keys'; 2 | export * from './form-state-options.interface'; 3 | export * from './errors.interface'; 4 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/tokens/errors-config.token.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | import { NgxFormsErrorConfigurationOptions } from '../interfaces'; 3 | 4 | export const NgxFormsErrorsConfigurationToken = 5 | new InjectionToken('NgxFormsErrorsConfiguration'); 6 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/tokens/index.ts: -------------------------------------------------------------------------------- 1 | export * from './errors-config.token'; 2 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/validators/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './is-empty-input-value.util'; 2 | export * from './form-error.util'; 3 | -------------------------------------------------------------------------------- /libs/angular/forms/src/lib/validators/utils/is-empty-input-value.util.ts: -------------------------------------------------------------------------------- 1 | export const isEmptyInputValue = (value: any): boolean => { 2 | // we don't check for string here so it also works with arrays 3 | return value == null || value.length === 0; 4 | }; 5 | -------------------------------------------------------------------------------- /libs/angular/forms/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/forms/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/forms/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/forms/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../../dist/libs/angular/gov/flanders", 4 | "lib": { 5 | "entryFile": "src/index.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; 2 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './services'; 2 | export * from './types'; 3 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './acm-component-injection.service'; 2 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/src/lib/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './acm-component-injection-configuration.type'; 2 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv({ 4 | errorOnUnknownElements: true, 5 | errorOnUnknownProperties: true, 6 | }); 7 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.lib.json", 3 | "compilerOptions": { 4 | "declarationMap": false 5 | }, 6 | "angularCompilerOptions": { 7 | "compilationMode": "partial" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /libs/angular/gov/flanders/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /libs/angular/i18n/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/i18n/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/angular/i18n", 4 | "lib": { 5 | "entryFile": "src/public-api.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/abstracts/i18n-service.abstract.ts: -------------------------------------------------------------------------------- 1 | export abstract class NgxI18nAbstractService { 2 | public abstract get currentLanguage(): Language; 3 | } 4 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/abstracts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i18n-service.abstract'; 2 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/components/empty-component/empty.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | /** 4 | * This is an empty dummy component that can be used in combination with the NgxI18nSetLanguageGuard when needed 5 | */ 6 | @Component({ 7 | selector: 'ngx-i18n-empty', 8 | standalone: true, 9 | template: '', 10 | }) 11 | export class NgxI18nEmptyComponent {} 12 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/components/index.ts: -------------------------------------------------------------------------------- 1 | export * from './empty-component/empty.component'; 2 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/guards/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i18n/i18n.guard'; 2 | export * from './translation-loader/translation-loader.guard'; 3 | export * from './set-language/set-language.guard'; 4 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './abstracts'; 2 | export * from './guards'; 3 | export * from './loader'; 4 | export * from './resolvers'; 5 | export * from './services'; 6 | export * from './components'; 7 | 8 | export * from './tokens/i18n.token'; 9 | export * from './i18n.types'; 10 | 11 | export * from './i18n.module'; 12 | export * from './providers'; 13 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/loader/index.ts: -------------------------------------------------------------------------------- 1 | export * from './multi-translation/multi-translation.loader'; 2 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/providers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i18n.providers'; 2 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/resolvers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i18n/i18n.resolver'; 2 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/services/i18n-loading/i18n-loading.types.ts: -------------------------------------------------------------------------------- 1 | export interface TranslationLoaderActionEntity { 2 | id: string; 3 | state: keyof typeof TranslationLoaderActionStateEnum; 4 | } 5 | 6 | enum TranslationLoaderActionStateEnum { 7 | LOADING = 'LOADING', 8 | LOADED = 'LOADED', 9 | } 10 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i18n/i18n.service'; 2 | 3 | export * from './i18n-loading/i18n-loading.service'; 4 | export * from './i18n-loading/i18n-loading.types'; 5 | export * from './root-i18n/root-i18n.service'; 6 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/tokens/i18n.token.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | 3 | import { NgxI18nConfiguration } from '../i18n.types'; 4 | 5 | export const NgxI18nConfigurationToken = new InjectionToken( 6 | 'NgxI18nConfigurationToken' 7 | ); 8 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/lib/tokens/index.ts: -------------------------------------------------------------------------------- 1 | export * from './i18n.token'; 2 | -------------------------------------------------------------------------------- /libs/angular/i18n/src/public-api.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Public API Surface of i18n 3 | */ 4 | 5 | export * from './lib'; 6 | -------------------------------------------------------------------------------- /libs/angular/i18n/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/i18n/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/i18n/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/i18n/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/angular/inform/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/inform/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/angular/inform", 4 | "lib": { 5 | "entryFile": "src/index.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/inform/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; 2 | -------------------------------------------------------------------------------- /libs/angular/inform/src/lib/abstracts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tooltip/tooltip.abstract.component'; 2 | export * from './modal/modal.abstract.component'; 3 | -------------------------------------------------------------------------------- /libs/angular/inform/src/lib/directives/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tooltip/tooltip.directive'; 2 | -------------------------------------------------------------------------------- /libs/angular/inform/src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types'; 2 | export * from './directives'; 3 | export * from './providers'; 4 | export * from './abstracts'; 5 | export * from './tokens'; 6 | export { NgxModalService } from './services'; 7 | -------------------------------------------------------------------------------- /libs/angular/inform/src/lib/providers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tooltip/tooltip-configuration.provider'; 2 | export * from './modal/modal-configuration.provider'; 3 | -------------------------------------------------------------------------------- /libs/angular/inform/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tooltip/tooltip.service'; 2 | export * from './modal/modal.service'; 3 | -------------------------------------------------------------------------------- /libs/angular/inform/src/lib/tokens/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tooltip/tooltip-configuration.token'; 2 | export * from './modal/modal-configuration.token'; 3 | -------------------------------------------------------------------------------- /libs/angular/inform/src/lib/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tooltip.types'; 2 | export * from './modal.types'; 3 | -------------------------------------------------------------------------------- /libs/angular/inform/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | globalThis.ngJest = { 2 | testEnvironmentOptions: { 3 | errorOnUnknownElements: true, 4 | errorOnUnknownProperties: true, 5 | }, 6 | }; 7 | import 'jest-preset-angular/setup-jest'; 8 | -------------------------------------------------------------------------------- /libs/angular/inform/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/inform/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/inform/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/inform/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 11 | } 12 | -------------------------------------------------------------------------------- /libs/angular/layout/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/layout/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/angular/layout", 4 | "lib": { 5 | "entryFile": "src/public-api.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/abstracts/drag-and-drop/index.ts: -------------------------------------------------------------------------------- 1 | export * from './drag-and-drop-item.directive'; 2 | export * from './has-focus.directive'; 3 | export * from './drag-and-drop.service'; 4 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/abstracts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './display-content/display-content.component'; 2 | export * from './drag-and-drop'; 3 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/components/accordion/index.ts: -------------------------------------------------------------------------------- 1 | import { NgxAccordionComponent } from './accordion.component'; 2 | import { NgxAccordionItemComponent } from './item/accordion-item.component'; 3 | 4 | export * from './accordion.component'; 5 | export * from './item/accordion-item.component'; 6 | export const NgxAccordion = [NgxAccordionComponent, NgxAccordionItemComponent] as const; 7 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/components/accordion/item/accordion-item.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | details > summary { 3 | list-style: none; 4 | } 5 | 6 | details > summary::-webkit-details-marker { 7 | display: none; 8 | } 9 | 10 | summary { 11 | cursor: pointer; 12 | 13 | &.is-disabled { 14 | cursor: not-allowed; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/components/configurable-layout-item/configurable-layout-item.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/components/index.ts: -------------------------------------------------------------------------------- 1 | /// components 2 | export * from './configurable-layout/configurable-layout.component'; 3 | export * from './configurable-layout-item/configurable-layout-item.component'; 4 | export * from './accordion'; 5 | export * from './image-marker/image-marker.component'; 6 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/const/index.ts: -------------------------------------------------------------------------------- 1 | export * from './drag-and-drop/drag-and-drop-message.const'; 2 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/directives/index.ts: -------------------------------------------------------------------------------- 1 | export * from './display-content/display-content.directive'; 2 | export { NgxAccessibleDragAndDrop } from './drag-and-drop'; 3 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/pipes/index.ts: -------------------------------------------------------------------------------- 1 | export * from './item-size/item-size.pipe'; 2 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/providers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './display-content/display-content.provider'; 2 | export * from './drag-and-drop/drag-and-drop.provider'; 3 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './online-service/online.service'; 2 | export * from './image-marker/image-marker.service'; 3 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/tokens/display-content-configuration.token.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | import { NgxDisplayContentConfiguration } from '../types'; 3 | /** 4 | * A token to provide the necessary configuration to the directive 5 | */ 6 | export const NgxDisplayContentConfigurationToken = 7 | new InjectionToken('NgxDisplayContentConfiguration'); 8 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/tokens/index.ts: -------------------------------------------------------------------------------- 1 | export * from './display-content-configuration.token'; 2 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/types/accordion.types.ts: -------------------------------------------------------------------------------- 1 | export type NgxAccordionOpenBehavior = 'first' | 'all' | number | number[]; 2 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './configurable-layout'; 2 | export * from './display-content.types'; 3 | export * from './accordion.types'; 4 | export * from './drag-and-drop.types'; 5 | export * from './image-marker.types'; 6 | -------------------------------------------------------------------------------- /libs/angular/layout/src/lib/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './hide-element/hide-element.util'; 2 | -------------------------------------------------------------------------------- /libs/angular/layout/src/public-api.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Public API Surface of layout 3 | */ 4 | export * from './lib/components'; 5 | export * from './lib/types'; 6 | export * from './lib/abstracts'; 7 | export * from './lib/services'; 8 | export * from './lib/providers'; 9 | export * from './lib/directives'; 10 | -------------------------------------------------------------------------------- /libs/angular/layout/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/layout/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../../dist/out-tsc", 5 | "declaration": true, 6 | "declarationMap": true, 7 | "inlineSources": true, 8 | "types": [] 9 | }, 10 | "exclude": ["**/*.spec.ts"], 11 | "include": ["**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /libs/angular/layout/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/layout/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine"] 6 | }, 7 | "include": ["**/*.spec.ts", "**/*.d.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /libs/angular/store/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/store/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/angular/store", 4 | "lib": { 5 | "entryFile": "src/public-api.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/store/src/lib/store/abstracts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './store.service'; 2 | -------------------------------------------------------------------------------- /libs/angular/store/src/lib/store/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export { BasicEntityAdapterActions, BasicEntityState } from './entity-adapter-reducers'; 2 | export * from './base-store'; 3 | export * from './entity-store-assets'; 4 | export * from './store'; 5 | export * from './store-generator'; 6 | export * from './effects'; 7 | export * from './store-assets-generator-options'; 8 | export * from './store-state'; 9 | -------------------------------------------------------------------------------- /libs/angular/store/src/lib/store/interfaces/store.ts: -------------------------------------------------------------------------------- 1 | import { BaseStoreActions, BaseStoreSelectors } from './base-store'; 2 | import { EntityStoreActions, EntityStoreSelectors } from './entity-store-assets'; 3 | 4 | export type StoreSelectors = BaseStoreSelectors | EntityStoreSelectors; 5 | export type StoreActions = BaseStoreActions | EntityStoreActions; 6 | -------------------------------------------------------------------------------- /libs/angular/store/src/lib/store/operators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './handle-effect.operator'; 2 | -------------------------------------------------------------------------------- /libs/angular/store/src/lib/store/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dispatch-data-to-store/dispatch-data-to-store.util'; 2 | export * from './store-generator.util/store-generator.util'; 3 | export * from './base-store/base-store.util'; 4 | export * from './entity-store/entity-adapter.util'; 5 | -------------------------------------------------------------------------------- /libs/angular/store/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/store/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "declarationMap": true, 7 | "inlineSources": true, 8 | "types": [] 9 | }, 10 | "exclude": ["**/*.spec.ts"], 11 | "include": ["**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /libs/angular/store/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/store/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/angular/table/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/table/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/angular/table", 4 | "lib": { 5 | "entryFile": "src/public-api.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/directives/has-focus-action/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-focus.directive'; 2 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/directives/index.ts: -------------------------------------------------------------------------------- 1 | export * from './has-focus-action'; 2 | export * from './tree-grid'; 3 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/directives/tree-grid/index.ts: -------------------------------------------------------------------------------- 1 | import { NgxTreeGridRowDirective } from './tree-grid-row.directive'; 2 | import { NgxTreeGridCellDirective } from './tree-grid.cell.directive'; 3 | import { NgxTreeGridDirective } from './tree-grid.directive'; 4 | 5 | export const NgxTreeGrid = [ 6 | NgxTreeGridDirective, 7 | NgxTreeGridRowDirective, 8 | NgxTreeGridCellDirective, 9 | ]; 10 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/enums/index.ts: -------------------------------------------------------------------------------- 1 | export * from './sort-direction.enum'; 2 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/enums/sort-direction.enum.ts: -------------------------------------------------------------------------------- 1 | export enum NgxTableSortDirection { 2 | ASCENDING = 'ASCENDING', 3 | DESCENDING = 'DESCENDING', 4 | } 5 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './sort-event'; 2 | export * from './show-header-requirements'; 3 | export * from './tree-grid.types'; 4 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/interfaces/internal-helpers.ts: -------------------------------------------------------------------------------- 1 | // Iben: As seen in https://learn.microsoft.com/en-us/javascript/api/@azure/keyvault-certificates/requireatleastone?view=azure-node-latest 2 | export type RequireAtLeastOne = { 3 | [Key in keyof DataType]-?: Required> & 4 | Partial>>; 5 | }[keyof DataType]; 6 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/interfaces/sort-event.ts: -------------------------------------------------------------------------------- 1 | import { NgxTableSortDirection } from '../enums/sort-direction.enum'; 2 | 3 | export interface NgxTableSortEvent { 4 | direction: NgxTableSortDirection; 5 | column: ColumnKey; 6 | } 7 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/interfaces/tree-grid.types.ts: -------------------------------------------------------------------------------- 1 | export type NgxTreeGridRowTarget = 'current' | 'above' | 'below' | 'first' | 'last'; 2 | export type NgxTreeGridCellTarget = number | 'first' | 'last'; 3 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/token/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ngx-table-config.token'; 2 | -------------------------------------------------------------------------------- /libs/angular/table/src/lib/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './generate-form.util'; 2 | export * from './reset-form.util'; 3 | export * from './handle-form-changes.util'; 4 | -------------------------------------------------------------------------------- /libs/angular/table/src/public-api.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Public API Surface of table 3 | */ 4 | 5 | export * from './lib'; 6 | -------------------------------------------------------------------------------- /libs/angular/table/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/table/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/table/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/table/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/angular/tour/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/tour/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/libs/angular/tour", 4 | "lib": { 5 | "entryFile": "src/index.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/tour/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/abstracts'; 2 | export * from './lib/directives'; 3 | export * from './lib/services'; 4 | export * from './lib/types'; 5 | export * from './lib/providers'; 6 | export * from './lib/operators'; 7 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/abstracts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tour-step/tour-step.component'; 2 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/directives/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tour-item/tour-item.directive'; 2 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/mocks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tour-step.component.mock'; 2 | export * from './overlay.mock'; 3 | export * from './tour-holder.component.mock'; 4 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/mocks/tour-step.component.mock.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { NgxTourStepComponent } from '../abstracts'; 3 | 4 | // Iben: This mock tour step component can be used where needed 5 | @Component({ 6 | selector: 'mock-tour-step-component', 7 | template: '', 8 | standalone: true, 9 | }) 10 | export class MockTourStepComponent extends NgxTourStepComponent {} 11 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/operators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './use-mock-data-during-tour/use-mock-data-during-tour.operator'; 2 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/providers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tour/provide-tour.util'; 2 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tour-service/tour.service'; 2 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/tokens/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tour-step.token'; 2 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/tokens/tour-step.token.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken, Type } from '@angular/core'; 2 | 3 | import { NgxTourStepComponent } from '../abstracts'; 4 | 5 | /** 6 | * A token to provide the necessary configuration to the tour service 7 | */ 8 | export const NgxTourStepToken = new InjectionToken>('NgxTourStepToken'); 9 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './tour.types'; 2 | export * from './tour.token.type'; 3 | -------------------------------------------------------------------------------- /libs/angular/tour/src/lib/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './element-visible-in-viewport/element-visible-in-viewport.util'; 2 | -------------------------------------------------------------------------------- /libs/angular/tour/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; 2 | 3 | setupZoneTestEnv({ 4 | errorOnUnknownElements: true, 5 | errorOnUnknownProperties: true, 6 | }); 7 | -------------------------------------------------------------------------------- /libs/angular/tour/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/tour/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/tour/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/utils/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules -------------------------------------------------------------------------------- /libs/angular/utils/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/utils/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../../dist/angular/utils", 4 | "lib": { 5 | "entryFile": "src/public-api.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/abstracts/index.ts: -------------------------------------------------------------------------------- 1 | export * from './query-param-form-sync/query-param-form-sync.component.abstract'; 2 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/directives/index.ts: -------------------------------------------------------------------------------- 1 | import { FocusClickDirective } from './focus-click/focus-click.directive'; 2 | 3 | export const Directives = [FocusClickDirective]; 4 | 5 | export { FocusClickDirective } from './focus-click/focus-click.directive'; 6 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/injects/index.ts: -------------------------------------------------------------------------------- 1 | export * from './query-params/query-params.inject'; 2 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/injects/query-params/query-params.inject.md: -------------------------------------------------------------------------------- 1 | # getQueryParams 2 | 3 | The getQueryParams helper will use Angular's `inject` function to get the queryParams from the ActivatedRoute. 4 | 5 | ## How to use 6 | 7 | ```typescript 8 | class MyClass { 9 | public readonly params$: Observable = getQueryParams(); 10 | } 11 | ``` 12 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/injects/query-params/query-params.inject.ts: -------------------------------------------------------------------------------- 1 | import { inject } from '@angular/core'; 2 | import { ActivatedRoute } from '@angular/router'; 3 | import { Observable } from 'rxjs'; 4 | 5 | export const getQueryParams = (): Observable => { 6 | return inject(ActivatedRoute).queryParams as Observable; 7 | }; 8 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/btw/btw.pipe.md: -------------------------------------------------------------------------------- 1 | # BtwPipe 2 | 3 | The BtwPipe will format Belgian VAT numbers. 4 | 5 | For example 6 | `474603875` will format to `474.603.875`. 7 | 8 | ## How to use 9 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/has-observers/has-observers.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform, EventEmitter } from '@angular/core'; 2 | 3 | @Pipe({ 4 | name: 'hasObservers', 5 | standalone: true, 6 | }) 7 | export class HasObserversPipe implements PipeTransform { 8 | public transform(output: EventEmitter): boolean { 9 | return output && output.observers.length > 0; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/has-own-property/has-own-property.pipe.md: -------------------------------------------------------------------------------- 1 | # HasOwnProperty 2 | 3 | The HasOwnProperty checks whether the specified property exists within the given object. 4 | It is a wrapper around Object.hasOwnProperty. 5 | 6 | ## How to use 7 | 8 | ```angular2html 9 | 10 | {{ sourceObject | hasOwnProperty: 'property' }} 11 | 12 | ``` 13 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/has-values/has-values.pipe.md: -------------------------------------------------------------------------------- 1 | # HasValuesPipe 2 | 3 | The HasValuesPipe will check if a provided object has values. 4 | 5 | It uses the Object.keys() to validate the object having content. 6 | 7 | If the provided value is not an object, the result will be false. 8 | 9 | ## How to use 10 | 11 | ```angular2html 12 | 13 | {{ object | hasValues }} 14 | 15 | ``` 16 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/iban/iban.pipe.md: -------------------------------------------------------------------------------- 1 | # IbanPipe 2 | 3 | The IbanPipe will format an IBAN number. 4 | 5 | For example 6 | `BE62510007547061` will format to `BE62 5100 0754 7061`. 7 | 8 | ## How to use 9 | 10 | ```angular2html 11 | 12 | {{ ibanNumber | IBAN }} 13 | 14 | ``` 15 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/is-not-empty/is-not-empty.pipe.md: -------------------------------------------------------------------------------- 1 | # IsNotEmptyPipe 2 | 3 | The IsNotEmptyPipe checks if a given argument is an object or array and if it is empty. 4 | 5 | ## How to use 6 | 7 | ```angular2html 8 | 9 | {{ sourceValue | isNotEmpty }} 10 | 11 | ``` 12 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/join/join.pipe.md: -------------------------------------------------------------------------------- 1 | # JoinPipe 2 | 3 | The JoinPipe will join values in an array. 4 | 5 | This pipe assumes the provided value to be of type `Array`. 6 | 7 | For example 8 | `['a', 'b', 'c']` will format to `abc`. 9 | 10 | ## How to use 11 | 12 | ```angular2html 13 | 14 | {{ array | join }} 15 | 16 | ``` 17 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/limit-to/limit-to.pipe.md: -------------------------------------------------------------------------------- 1 | # LimitToPipe 2 | 3 | The LimitToPipe will limit an array to x-amount of values. 4 | 5 | For example 6 | `['a', 'b', 'c']` with a value of 2 will result in `['a', 'b']`. 7 | 8 | A non-Array value will result in an empty array. 9 | 10 | ## How to use 11 | 12 | ```angular2html 13 | 14 | {{ array | limitTo: 2 }} 15 | 16 | ``` 17 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/log/log.pipe.md: -------------------------------------------------------------------------------- 1 | # LogPipe 2 | 3 | The LogPipe will print the provided value to the console, it will not render the value on the page itself. 4 | 5 | Mainly used for debugging. 6 | 7 | ## How to use 8 | 9 | ```angular2html 10 | 11 | {{ value | log }} 12 | 13 | ``` 14 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/safe-html/safe-html.pipe.md: -------------------------------------------------------------------------------- 1 | # SafeHtmlPipe 2 | 3 | The SafeHtmlPipe will sanitize a given value with the DomSanitizer. 4 | 5 | It uses the `DomSanitizer.sanitize()` with `SecurityContext.HTML`. 6 | 7 | ## How to use 8 | 9 | ```angular2html 10 | 11 | {{ value | safeHtml }} 12 | 13 | ``` 14 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/strip-html/strip-html.pipe.md: -------------------------------------------------------------------------------- 1 | # StripHtmlPipe 2 | 3 | The StripHtmlPipe will strip HTML from a given value. 4 | 5 | It will strip tags, nbsp and escaped characters. 6 | 7 | ## How to use 8 | 9 | ```angular2html 10 | 11 | {{ value | stripHtml }} 12 | 13 | ``` 14 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/to-array/to-array.pipe.md: -------------------------------------------------------------------------------- 1 | # ToArrayPipe 2 | 3 | The ToArrayPipe will check if a value is defined and then wrap it in a new array before returning it. 4 | 5 | ## How to use 6 | 7 | ```angular2html 8 | 9 | {{ sourceValue | toArray }} 10 | 11 | ``` 12 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/truncate-text/truncate-text.pipe.spec.ts: -------------------------------------------------------------------------------- 1 | import { TruncateTextPipe } from './truncate-text.pipe'; 2 | 3 | describe('TruncateTextPipe', () => { 4 | const pipe = new TruncateTextPipe(); 5 | 6 | it('truncates text to 5 characters', () => { 7 | expect(pipe.transform("Hello, I'm a test!", 5)).toBe('Hello...'); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/truncate-text/truncate-text.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from '@angular/core'; 2 | 3 | @Pipe({ 4 | name: 'truncateText', 5 | standalone: true, 6 | }) 7 | export class TruncateTextPipe implements PipeTransform { 8 | public transform(value: string, limit = 75): string { 9 | return value.length > limit ? value.substring(0, limit) + '...' : value; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/pipes/with-router-links/with-router-links.config.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | 3 | import { WithRouterLinksConfig } from '../../types'; 4 | 5 | export const WITH_ROUTER_LINKS_CONFIG = new InjectionToken( 6 | 'withRouterLinksConfig' 7 | ); 8 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/providers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './replace-elements/replace-elements.provider'; 2 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/services/window-service/window.service.md: -------------------------------------------------------------------------------- 1 | # Window service 2 | 3 | > This is deprecated in favor of the `NgxWindowService` in ngx-core 4 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/tokens/index.ts: -------------------------------------------------------------------------------- 1 | export * from './replace-elements.token'; 2 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/tokens/replace-elements.token.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | 3 | import { NgxReplaceElementsConfiguration } from '../types'; 4 | 5 | /** The configuration token for the NgxReplaceElementsPipe */ 6 | export const NgxReplaceElementsConfigurationToken = 7 | new InjectionToken('NgxReplaceElementsConfigurationToken'); 8 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './signals'; 2 | export * from './with-router-links.types'; 3 | export * from './storage.types'; 4 | export * from './replace-elements.types'; 5 | export * from './highlight.types'; 6 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/utils.const.ts: -------------------------------------------------------------------------------- 1 | export { WITH_ROUTER_LINKS_CONFIG } from './pipes/with-router-links/with-router-links.config'; 2 | -------------------------------------------------------------------------------- /libs/angular/utils/src/lib/utils/index.ts: -------------------------------------------------------------------------------- 1 | export { simpleChangeHasChanged } from './simple-changes/simple-changes.util'; 2 | -------------------------------------------------------------------------------- /libs/angular/utils/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/utils/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "exclude": ["src/test.ts", "**/*.spec.ts"], 4 | "include": ["**/*.ts"] 5 | } 6 | -------------------------------------------------------------------------------- /libs/angular/utils/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "compilationMode": "partial" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/angular/utils/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/express/status/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'express-status', 4 | preset: '../../../jest.preset.js', 5 | testEnvironment: 'node', 6 | transform: { 7 | '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], 8 | }, 9 | moduleFileExtensions: ['ts', 'js', 'html'], 10 | coverageDirectory: '../../../coverage/libs/express', 11 | }; 12 | -------------------------------------------------------------------------------- /libs/express/status/src/express-status.types.ts: -------------------------------------------------------------------------------- 1 | export interface ExpressStatusResponse { 2 | project: { 3 | name: string; 4 | version: string; 5 | environment: string; 6 | context: string; 7 | }; 8 | node: { 9 | version: string; 10 | timezone: string; 11 | time: string; 12 | }; 13 | success: boolean; 14 | } 15 | -------------------------------------------------------------------------------- /libs/express/status/src/index.ts: -------------------------------------------------------------------------------- 1 | import { ExpressStatusController } from './controllers/express-status.controller'; 2 | import { ExpressStatusResponse } from './express-status.types'; 3 | import { ExpressStatusRouter } from './routers/express-status.router'; 4 | 5 | export { ExpressStatusController, ExpressStatusRouter, type ExpressStatusResponse }; 6 | -------------------------------------------------------------------------------- /libs/express/status/src/routers/express-status.router.ts: -------------------------------------------------------------------------------- 1 | import * as Express from 'express'; 2 | 3 | import { ExpressStatusController } from '../controllers/express-status.controller'; 4 | 5 | const expressStatusController = new ExpressStatusController(); 6 | 7 | export const ExpressStatusRouter = Express.Router(); 8 | 9 | ExpressStatusRouter.route('/status').get(expressStatusController.get); 10 | -------------------------------------------------------------------------------- /libs/express/status/src/types/globals.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /libs/express/status/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["src/**/*.ts", "jest.config.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/express/status/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/javascript/pagination/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/pagination/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'pagination', 4 | preset: '../../../jest.preset.js', 5 | testEnvironment: 'node', 6 | transform: { 7 | '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], 8 | }, 9 | moduleFileExtensions: ['ts', 'js', 'html'], 10 | coverageDirectory: '../../../coverage/libs/nodejs', 11 | }; 12 | -------------------------------------------------------------------------------- /libs/javascript/pagination/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './hal-format.helper'; 2 | export * from './hal-format.types'; 3 | -------------------------------------------------------------------------------- /libs/javascript/pagination/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["src/**/*.ts", "jest.config.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/pagination/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/javascript/regex/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/regex/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'js-regex', 4 | preset: '../../../jest.preset.js', 5 | testEnvironment: 'node', 6 | transform: { 7 | '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], 8 | }, 9 | moduleFileExtensions: ['ts', 'js', 'html'], 10 | coverageDirectory: '../../../coverage/libs/nodejs', 11 | }; 12 | -------------------------------------------------------------------------------- /libs/javascript/regex/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; 2 | -------------------------------------------------------------------------------- /libs/javascript/regex/src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './patterns'; 2 | -------------------------------------------------------------------------------- /libs/javascript/regex/src/lib/patterns/index.ts: -------------------------------------------------------------------------------- 1 | export * from './regional'; 2 | -------------------------------------------------------------------------------- /libs/javascript/regex/src/lib/patterns/regional/be-phone-bin-formatted/be-phone-bin-formatted.ts: -------------------------------------------------------------------------------- 1 | const landlinePattern = /^((\+|00\s?)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/; 2 | const mobilePattern = /^((\+|00\s?)32\s?|0)4(\d{2}\s?)(\d{2}\s?){3}$/; 3 | 4 | export const bePhoneBinFormatted = { 5 | landlinePattern, 6 | mobilePattern, 7 | }; 8 | -------------------------------------------------------------------------------- /libs/javascript/regex/src/lib/patterns/regional/index.ts: -------------------------------------------------------------------------------- 1 | export * from './be-phone-bin-formatted/be-phone-bin-formatted'; 2 | -------------------------------------------------------------------------------- /libs/javascript/regex/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["src/**/*.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/rxjs/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/rxjs/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; 2 | -------------------------------------------------------------------------------- /libs/javascript/rxjs/src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './operators'; 2 | export * from './types'; 3 | -------------------------------------------------------------------------------- /libs/javascript/rxjs/src/lib/operators/array/index.ts: -------------------------------------------------------------------------------- 1 | export * from './map.operator'; 2 | export * from './slice.operator'; 3 | export * from './sort.operator'; 4 | -------------------------------------------------------------------------------- /libs/javascript/rxjs/src/lib/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './observable/observable.types'; 2 | -------------------------------------------------------------------------------- /libs/javascript/rxjs/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["src/**/*.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/testing/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/testing/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'js-testing', 4 | preset: '../../../jest.preset.js', 5 | testEnvironment: 'node', 6 | transform: { 7 | '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], 8 | }, 9 | moduleFileExtensions: ['ts', 'js', 'html'], 10 | coverageDirectory: '../../../coverage/libs/nodejs', 11 | }; 12 | -------------------------------------------------------------------------------- /libs/javascript/testing/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/factories'; 2 | -------------------------------------------------------------------------------- /libs/javascript/testing/src/lib/factories/index.ts: -------------------------------------------------------------------------------- 1 | export * from './early-return-empty-array-value/early-return-empty-array-value'; 2 | export * from './early-return-on-falsy-value/early-return-on-falsy-value'; 3 | -------------------------------------------------------------------------------- /libs/javascript/testing/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"] 7 | }, 8 | "include": ["src/**/*.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/types/auth/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; 2 | -------------------------------------------------------------------------------- /libs/javascript/types/auth/src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types'; 2 | -------------------------------------------------------------------------------- /libs/javascript/types/auth/src/lib/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './user.types'; 2 | -------------------------------------------------------------------------------- /libs/javascript/types/auth/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "strict": true, 6 | "noImplicitOverride": true, 7 | "noPropertyAccessFromIndexSignature": true 8 | }, 9 | "files": [], 10 | "include": [], 11 | "references": [ 12 | { 13 | "path": "./tsconfig.lib.json" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /libs/javascript/types/auth/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node", "vite/client"], 7 | "composite": true 8 | }, 9 | "include": ["src/**/*.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/utils/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../.stylelintrc.json"], 3 | "ignoreFiles": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["**/*.css"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/javascript/utils/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'js-utils', 4 | preset: '../../../jest.preset.js', 5 | testEnvironment: 'jsdom', 6 | transform: { 7 | '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], 8 | }, 9 | moduleFileExtensions: ['ts', 'js', 'html'], 10 | coverageDirectory: '../../../coverage/libs/javascript/utils', 11 | }; 12 | -------------------------------------------------------------------------------- /libs/javascript/utils/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; 2 | -------------------------------------------------------------------------------- /libs/javascript/utils/src/lib/file/index.ts: -------------------------------------------------------------------------------- 1 | export * from './open/open-file.util'; 2 | -------------------------------------------------------------------------------- /libs/javascript/utils/src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './string'; 2 | export * from './object'; 3 | export * from './file'; 4 | -------------------------------------------------------------------------------- /libs/javascript/utils/src/lib/object/index.ts: -------------------------------------------------------------------------------- 1 | export * from './get-key-by-value/get-key-by-value.util'; 2 | export * from './merge/merge.util'; 3 | export * from './search-recursively/search-recursively.util'; 4 | -------------------------------------------------------------------------------- /libs/javascript/utils/src/lib/string/index.ts: -------------------------------------------------------------------------------- 1 | export * from './camel-case-to-sentence/camel-case-to-sentence.util'; 2 | export * from './replace-whitespace/replace-whitespace.util'; 3 | export * from './normalize-string/normalize-string.util'; 4 | export * from './search-string/search-string.util'; 5 | -------------------------------------------------------------------------------- /libs/javascript/utils/src/lib/string/normalize-string/normalize-string.util.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Replaces all special characters to their normal counterparts 3 | * 4 | * @param value - The value you want to normalize 5 | */ 6 | export const normalizeString = (value: string): string => { 7 | return value.normalize('NFD').replace(/([\u0300-\u036f])/g, ''); 8 | }; 9 | -------------------------------------------------------------------------------- /libs/javascript/utils/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": ["node"] 7 | }, 8 | "include": ["src/**/*.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspace", 3 | "$schema": "node_modules/nx/schemas/project-schema.json", 4 | "targets": { 5 | "local-registry": { 6 | "executor": "@nx/js:verdaccio", 7 | "options": { 8 | "port": 4873, 9 | "config": ".verdaccio/config.yml", 10 | "storage": "tmp/local-registry/storage" 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tools/generators/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/studiohyperdrive/hyperdrive-opensource/ab3b0683d4de814a1a6683c0319c46463d80d488/tools/generators/.gitkeep -------------------------------------------------------------------------------- /tools/tsconfig.tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../dist/out-tsc/tools", 5 | "rootDir": ".", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": ["node"], 9 | "importHelpers": false 10 | }, 11 | "include": ["**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base.json" 3 | } 4 | --------------------------------------------------------------------------------