├── .editorconfig ├── .gitignore ├── .npmignore ├── .vscode ├── settings.json └── tasks.json ├── LICENSE ├── README.md ├── angular2Migration.md ├── bootstrapper ├── app.html ├── app.ng2.ts ├── app.routing.ts ├── app.ts ├── bootstrapper.css ├── buttons │ ├── buttonBootstrapper.ts │ ├── buttonRoot.ts │ ├── buttons.html │ ├── buttonsNg1.html │ ├── buttonsNg2.html │ └── buttonsNg2Bootstrapper.ts ├── cards │ ├── cardContainerBootstrapper.ts │ ├── cardRoot.ts │ ├── cards.html │ ├── cardsNg1.html │ ├── cardsNg2.html │ ├── cardsNg2Bootstrapper.ts │ ├── cardsSmartData.html │ └── cardsSmartDataBootstrapper.ts ├── forms │ ├── forms.html │ ├── formsBootstrapper.ts │ ├── formsNg1.html │ ├── formsNg2.html │ ├── formsNg2Bootstrapper.ts │ └── formsRoot.ts ├── inputs │ ├── inputBootstrapper.ts │ ├── inputRoot.ts │ ├── inputs.html │ ├── inputsNg1.html │ ├── inputsNg2.html │ └── inputsNg2Bootstrapper.ts ├── main.ts ├── messageLog │ ├── messageLogNg1Bootstrapper.ts │ ├── messageLogNg1Test.html │ ├── messageLogNg2Bootstrapper.html │ ├── messageLogNg2Bootstrapper.ts │ ├── messageLogRoot.html │ └── messageLogRoot.ts ├── misc │ ├── misc.html │ ├── miscBootstrapper.ts │ ├── miscNg1.html │ ├── miscNg2.html │ ├── miscNg2Context.html │ ├── miscNg2Context.ts │ └── miscRoot.ts ├── msi │ ├── msi.ng2.html │ └── msiBootstrapper.ng2.ts ├── popup │ ├── popup.html │ ├── popupBootstrapper.ts │ ├── popupNg1.html │ ├── popupNg2.html │ ├── popupNg2Bootstrapper.ts │ └── popupRoot.ts ├── tabs │ ├── tabRoot.ts │ ├── tabs.html │ ├── tabsBootstrapper.ts │ ├── tabsNg1.html │ ├── tabsNg2.html │ └── tabsNg2Bootstrapper.ts ├── text │ └── text.ts └── welcome.component.ts ├── gulpfile.js ├── index.html ├── karma-test-setup.js ├── karma.conf.js ├── karma.debug.conf.js ├── karma.full.conf.js ├── karma.shared.conf.js ├── karma.tc.conf.js ├── libraries ├── angular-bootstrap-slider │ ├── bootstrap-slider.min.css │ ├── bootstrap-slider.min.js │ └── slider.js ├── bootstrap-datetimepicker │ ├── bootstrap-datetimepicker.css │ ├── bootstrap-datetimepicker.js │ └── index.js ├── bootstrap-touchspin │ ├── index.js │ ├── jquery.bootstrap-touchspin.css │ └── jquery.bootstrap-touchspin.js └── jSignature │ └── jSignature.min.js ├── package.json ├── source ├── animations │ ├── index.ts │ └── slide │ │ └── slide.animate.ts ├── behaviors │ ├── alias │ │ ├── alias.md │ │ ├── alias.tests.ts │ │ └── alias.ts │ ├── alternatingClass │ │ └── alternatingClass.ts │ ├── autosave │ │ ├── autosave.md │ │ ├── autosave.ng1.tests.ts │ │ ├── autosave.ng1.ts │ │ ├── autosave.tests.ts │ │ └── autosave.ts │ ├── behaviors.module.ts │ ├── focusOn │ │ └── focusOn.ng1.ts │ ├── index.ts │ ├── offClick │ │ ├── offClick.ng1.ts │ │ └── offClick.ts │ ├── popover │ │ ├── popover.md │ │ └── popover.ts │ ├── required │ │ ├── required.md │ │ └── required.ts │ └── stopEventPropagation │ │ ├── stopEventPropagation.md │ │ └── stopEventPropagation.ts ├── componentProviders.module.ts ├── components │ ├── busy │ │ ├── busy.css │ │ ├── busy.html │ │ ├── busy.md │ │ ├── busy.module.ts │ │ ├── busy.ng1.ts │ │ ├── busy.tests.ts │ │ └── busy.ts │ ├── buttons │ │ ├── baseButton.tests.ts │ │ ├── baseButton.ts │ │ ├── button.module.ts │ │ ├── button │ │ │ ├── button.html │ │ │ ├── button.md │ │ │ ├── button.ng1.html │ │ │ ├── button.ng1.ts │ │ │ └── button.ts │ │ ├── buttonAsync │ │ │ ├── buttonAsync.html │ │ │ ├── buttonAsync.md │ │ │ ├── buttonAsync.ng1.html │ │ │ ├── buttonAsync.ng1.tests.ts │ │ │ ├── buttonAsync.ng1.ts │ │ │ ├── buttonAsync.tests.ts │ │ │ └── buttonAsync.ts │ │ ├── buttonLink │ │ │ ├── buttonLink.html │ │ │ ├── buttonLink.md │ │ │ ├── buttonLink.ng1.html │ │ │ ├── buttonLink.ng1.ts │ │ │ ├── buttonLink.tests.ts │ │ │ └── buttonLink.ts │ │ ├── buttonLongClick │ │ │ ├── buttonLongClick.html │ │ │ ├── buttonLongClick.md │ │ │ ├── buttonLongClick.ng1.html │ │ │ ├── buttonLongClick.ng1.ts │ │ │ ├── buttonLongClick.tests.ts │ │ │ └── buttonLongClick.ts │ │ ├── buttonRoute │ │ │ ├── buttonRoute.html │ │ │ ├── buttonRoute.tests.ts │ │ │ └── buttonRoute.ts │ │ ├── buttonSubmit │ │ │ ├── buttonSubmit.html │ │ │ ├── buttonSubmit.md │ │ │ ├── buttonSubmit.ng1.html │ │ │ ├── buttonSubmit.ng1.ts │ │ │ ├── buttonSubmit.tests.ts │ │ │ └── buttonSubmit.ts │ │ ├── buttonToggle │ │ │ ├── buttonToggle.html │ │ │ ├── buttonToggle.md │ │ │ ├── buttonToggle.ng1.html │ │ │ ├── buttonToggle.ng1.tests.ts │ │ │ ├── buttonToggle.ng1.ts │ │ │ ├── buttonToggle.tests.ts │ │ │ └── buttonToggle.ts │ │ ├── buttons.md │ │ └── index.ts │ ├── cardContainer │ │ ├── builder │ │ │ ├── cardContainerBuilder.service.ts │ │ │ ├── cardContainerBuilderOld.service.ts │ │ │ ├── dataSourceBuilderOld.service.ts │ │ │ ├── filterBuilderOld.service.ts │ │ │ └── index.ts │ │ ├── card │ │ │ ├── card.html │ │ │ ├── card.ng1.html │ │ │ ├── card.ng1.tests.ts │ │ │ ├── card.ng1.ts │ │ │ ├── card.tests.ts │ │ │ ├── card.ts │ │ │ ├── headerColumn │ │ │ │ ├── headerColumn.html │ │ │ │ ├── headerColumn.module.ts │ │ │ │ ├── headerColumn.ng1.ts │ │ │ │ ├── headerColumn.tests.ts │ │ │ │ ├── headerColumn.ts │ │ │ │ ├── sizeForBreakpoints.ng1.ts │ │ │ │ ├── sizeForBreakpoints.tests.ts │ │ │ │ └── sizeForBreakpoints.ts │ │ │ ├── selectableCard.html │ │ │ ├── selectableCard.tests.ts │ │ │ └── selectableCard.ts │ │ ├── cardContainer.css │ │ ├── cardContainer.html │ │ ├── cardContainer.module.ts │ │ ├── cardContainer.ng1.html │ │ ├── cardContainer.ng1.tests.ts │ │ ├── cardContainer.ng1.ts │ │ ├── cardContainer.tests.ts │ │ ├── cardContainer.ts │ │ ├── column.ts │ │ ├── container │ │ │ ├── cardSearch │ │ │ │ ├── cardSearch.html │ │ │ │ ├── cardSearch.ng1.html │ │ │ │ ├── cardSearch.ng1.tests.ts │ │ │ │ ├── cardSearch.ng1.ts │ │ │ │ ├── cardSearch.tests.ts │ │ │ │ └── cardSearch.ts │ │ │ ├── columnHeader │ │ │ │ ├── columnHeader.html │ │ │ │ ├── columnHeader.ng1.ts │ │ │ │ ├── columnHeader.tests.ts │ │ │ │ └── columnHeader.ts │ │ │ ├── containerFooter.component.html │ │ │ ├── containerFooter.component.ts │ │ │ ├── containerHeader.component.html │ │ │ ├── containerHeader.component.ts │ │ │ ├── defaultCardContainerFooter.html │ │ │ ├── defaultCardContainerHeader.html │ │ │ ├── defaultComponents.ts │ │ │ ├── index.ts │ │ │ ├── itemCount │ │ │ │ ├── itemCount.html │ │ │ │ ├── itemCount.ng1.html │ │ │ │ ├── itemCount.ng1.ts │ │ │ │ ├── itemCount.tests.ts │ │ │ │ └── itemCount.ts │ │ │ ├── selectableContainerFooter.component.html │ │ │ ├── selectableContainerFooter.component.ts │ │ │ └── selectionControl │ │ │ │ ├── selectionControl.html │ │ │ │ ├── selectionControl.ng1.html │ │ │ │ ├── selectionControl.ng1.tests.ts │ │ │ │ ├── selectionControl.ng1.ts │ │ │ │ ├── selectionControl.tests.ts │ │ │ │ └── selectionControl.ts │ │ ├── dataSources │ │ │ ├── asyncDataSource.service.tests.ts │ │ │ ├── asyncDataSource.service.ts │ │ │ ├── asyncTypes.ts │ │ │ ├── clientServerDataSource │ │ │ │ ├── clientServerDataSource.service.tests.ts │ │ │ │ └── clientServerDataSource.service.ts │ │ │ ├── dataServiceDataSource │ │ │ │ ├── dataServiceDataSource.service.tests.ts │ │ │ │ └── dataServiceDataSource.service.ts │ │ │ ├── dataSource.ts │ │ │ ├── dataSourceBase.service.tests.ts │ │ │ ├── dataSourceBase.service.ts │ │ │ ├── dataSourceBaseOld.service.tests.ts │ │ │ ├── dataSourceBaseOld.service.ts │ │ │ ├── index.ts │ │ │ ├── observableDataSource │ │ │ │ ├── observableDataSource.service.tests.ts │ │ │ │ └── observableDataSource.service.ts │ │ │ ├── processor │ │ │ │ ├── dataSourceProcessor.tests.ts │ │ │ │ ├── dataSourceProcessor.ts │ │ │ │ ├── dataSourceProcessorOld.service.tests.ts │ │ │ │ └── dataSourceProcessorOld.service.ts │ │ │ ├── serverSideDataSource │ │ │ │ ├── serverSideDataSource.service.tests.ts │ │ │ │ └── serverSideDataSource.service.ts │ │ │ ├── simpleDataSource │ │ │ │ ├── simpleDataSource.service.tests.ts │ │ │ │ └── simpleDataSource.service.ts │ │ │ └── smartDataSource │ │ │ │ ├── smartDataActions.tests.ts │ │ │ │ ├── smartDataActions.ts │ │ │ │ ├── smartDataSource.service.tests.ts │ │ │ │ ├── smartDataSource.service.ts │ │ │ │ ├── smartDataSourceOld.service.tests.ts │ │ │ │ └── smartDataSourceOld.service.ts │ │ ├── filters │ │ │ ├── cardContainerFilters.html │ │ │ ├── cardContainerFilters.ts │ │ │ ├── columnSearchFilter │ │ │ │ ├── columnSearchFilter.service.tests.ts │ │ │ │ └── columnSearchFilter.service.ts │ │ │ ├── dateFilter │ │ │ │ ├── dateFilter.component.ng1.ts │ │ │ │ ├── dateFilter.component.tests.ts │ │ │ │ ├── dateFilter.component.ts │ │ │ │ ├── dateFilter.html │ │ │ │ ├── dateFilter.module.ts │ │ │ │ ├── dateFilter.ng1.html │ │ │ │ ├── dateFilter.service.tests.ts │ │ │ │ ├── dateFilter.service.ts │ │ │ │ ├── dateFilterOld.service.tests.ts │ │ │ │ ├── dateFilterOld.service.ts │ │ │ │ └── index.ts │ │ │ ├── filter.tests.ts │ │ │ ├── filter.ts │ │ │ ├── filterGroup │ │ │ │ ├── filterGroup.component.html │ │ │ │ ├── filterGroup.component.tests.ts │ │ │ │ ├── filterGroup.component.ts │ │ │ │ ├── filterGroup.directive.ng1.html │ │ │ │ ├── filterGroup.directive.ng1.ts │ │ │ │ ├── filterGroup.module.ts │ │ │ │ ├── filterGroup.service.tests.ts │ │ │ │ ├── filterGroup.service.ts │ │ │ │ ├── filterGroupOld.service.tests.ts │ │ │ │ ├── filterGroupOld.service.ts │ │ │ │ ├── filterOption │ │ │ │ │ ├── filterOption.html │ │ │ │ │ ├── filterOption.ng1.html │ │ │ │ │ ├── filterOption.ng1.ts │ │ │ │ │ └── filterOption.ts │ │ │ │ ├── index.ts │ │ │ │ ├── modeFilterGroup │ │ │ │ │ ├── modeFilterGroup.service.tests.ts │ │ │ │ │ ├── modeFilterGroup.service.ts │ │ │ │ │ ├── modeFilterGroupOld.service.tests.ts │ │ │ │ │ └── modeFilterGroupOld.service.ts │ │ │ │ └── rangeFilterGroup │ │ │ │ │ ├── rangeFilterGroup.service.tests.ts │ │ │ │ │ ├── rangeFilterGroup.service.ts │ │ │ │ │ ├── rangeFilterGroupOld.service.tests.ts │ │ │ │ │ └── rangeFilterGroupOld.service.ts │ │ │ ├── filters.module.ts │ │ │ ├── index.ts │ │ │ ├── searchFilter │ │ │ │ ├── searchFilter.service.tests.ts │ │ │ │ └── searchFilter.service.ts │ │ │ └── selectFilter │ │ │ │ ├── index.ts │ │ │ │ ├── selectFilter.component.ng1.ts │ │ │ │ ├── selectFilter.component.ts │ │ │ │ ├── selectFilter.html │ │ │ │ ├── selectFilter.module.ts │ │ │ │ ├── selectFilter.ng1.html │ │ │ │ ├── selectFilter.service.tests.ts │ │ │ │ ├── selectFilter.service.ts │ │ │ │ ├── selectFilterOld.service.tests.ts │ │ │ │ └── selectFilterOld.service.ts │ │ ├── index.ts │ │ ├── paging │ │ │ ├── dataPager │ │ │ │ ├── dataPager.service.tests.ts │ │ │ │ ├── dataPager.service.ts │ │ │ │ ├── dataPagerOld.service.tests.ts │ │ │ │ └── dataPagerOld.service.ts │ │ │ ├── index.ts │ │ │ ├── pageSize │ │ │ │ ├── pageSize.html │ │ │ │ ├── pageSize.ng1.html │ │ │ │ ├── pageSize.ng1.ts │ │ │ │ ├── pageSize.tests.ts │ │ │ │ └── pageSize.ts │ │ │ └── pager │ │ │ │ ├── pager.html │ │ │ │ ├── pager.ng1.html │ │ │ │ ├── pager.ng1.tests.ts │ │ │ │ ├── pager.ng1.ts │ │ │ │ ├── pager.tests.ts │ │ │ │ └── pager.ts │ │ ├── selectableCardContainer.html │ │ ├── selectableCardContainer.tests.ts │ │ ├── selectableCardContainer.ts │ │ ├── sorts │ │ │ ├── index.ts │ │ │ ├── mergeSort │ │ │ │ ├── mergeSort.service.tests.ts │ │ │ │ └── mergeSort.service.ts │ │ │ ├── sort.ts │ │ │ ├── sortDirection.ts │ │ │ ├── sortManager │ │ │ │ ├── sortManager.service.tests.ts │ │ │ │ └── sortManager.service.ts │ │ │ └── sorter │ │ │ │ ├── sorter.service.tests.ts │ │ │ │ └── sorter.service.ts │ │ └── templates │ │ │ ├── columnContent.template.ts │ │ │ ├── columnHeader.template.ts │ │ │ ├── containerFooter.template.ts │ │ │ ├── containerHeader.template.ts │ │ │ └── index.ts │ ├── cards │ │ ├── cardContent.template.ts │ │ ├── cardFooter.template.ts │ │ ├── cardHeader.template.ts │ │ └── index.ts │ ├── commaList │ │ ├── commaList.html │ │ ├── commaList.md │ │ ├── commaList.ng1.tests.ts │ │ ├── commaList.ng1.ts │ │ ├── commaList.tests.ts │ │ └── commaList.ts │ ├── components.module.ts │ ├── componentsDefaultTheme.ts │ ├── dateTimeStatic │ │ ├── dateTimeStatic.html │ │ ├── dateTimeStatic.md │ │ └── dateTimeStatic.ts │ ├── defaultStyles.css │ ├── dialog │ │ ├── autosaveDialogFooter.html │ │ ├── dialog.md │ │ ├── dialog.ng1.html │ │ ├── dialog.ng1.ts │ │ ├── dialog.tests.ts │ │ ├── dialog.ts │ │ ├── dialogOutlet.html │ │ ├── dialogOutlet.tests.ts │ │ ├── dialogOutlet.ts │ │ ├── dialogRoot.service.tests.ts │ │ ├── dialogRoot.service.ts │ │ ├── index.ts │ │ ├── promptDialog.html │ │ ├── promptDialog.ts │ │ └── templates │ │ │ ├── dialogContent.template.ts │ │ │ ├── dialogFooter.template.ts │ │ │ ├── dialogHeader.template.ts │ │ │ └── index.ts │ ├── form │ │ ├── RecluseForm.ts │ │ ├── form.html │ │ ├── form.md │ │ ├── form.ng1.ts │ │ ├── form.tests.ts │ │ ├── form.ts │ │ └── index.ts │ ├── genericContainer │ │ ├── genericContainer.md │ │ ├── genericContainer.tests.ts │ │ └── genericContainer.ts │ ├── inputs │ │ ├── absoluteTime │ │ │ ├── absoluteTime.html │ │ │ ├── absoluteTime.tests.ts │ │ │ └── absoluteTime.ts │ │ ├── checkbox │ │ │ ├── checkbox.css │ │ │ ├── checkbox.html │ │ │ ├── checkbox.md │ │ │ ├── checkbox.ng1.html │ │ │ ├── checkbox.ng1.tests.ts │ │ │ ├── checkbox.ng1.ts │ │ │ ├── checkbox.tests.ts │ │ │ └── checkbox.ts │ │ ├── dateTime │ │ │ ├── dateTime.html │ │ │ ├── dateTime.md │ │ │ ├── dateTime.ng1.html │ │ │ ├── dateTime.ng1.ts │ │ │ └── dateTime.ts │ │ ├── index.ts │ │ ├── input.md │ │ ├── input.ng1.ts │ │ ├── input.tests.ts │ │ ├── input.ts │ │ ├── radio │ │ │ ├── index.ts │ │ │ ├── radio.css │ │ │ ├── radio.html │ │ │ ├── radio.md │ │ │ ├── radio.module.ts │ │ │ ├── radio.ng1.ts │ │ │ ├── radio.ts │ │ │ ├── radioGroup.ng1.ts │ │ │ └── radioGroup.ts │ │ ├── select │ │ │ ├── select.html │ │ │ ├── select.md │ │ │ ├── select.ng1.html │ │ │ ├── select.ng1.tests.ts │ │ │ ├── select.ng1.ts │ │ │ ├── select.tests.ts │ │ │ └── select.ts │ │ ├── signature │ │ │ ├── emptySignature.ts │ │ │ ├── signature.html │ │ │ ├── signature.tests.ts │ │ │ └── signature.ts │ │ ├── spinner │ │ │ ├── spinner.html │ │ │ ├── spinner.md │ │ │ ├── spinner.ng1.html │ │ │ ├── spinner.ng1.ts │ │ │ └── spinner.ts │ │ ├── textarea │ │ │ ├── textarea.html │ │ │ ├── textarea.md │ │ │ ├── textarea.ng1.html │ │ │ ├── textarea.ng1.ts │ │ │ └── textarea.ts │ │ ├── textbox │ │ │ ├── textbox.html │ │ │ ├── textbox.md │ │ │ ├── textbox.ng1.html │ │ │ ├── textbox.ng1.ts │ │ │ └── textbox.ts │ │ ├── typeahead │ │ │ ├── typeahead.html │ │ │ ├── typeahead.md │ │ │ ├── typeahead.ng1.html │ │ │ ├── typeahead.ng1.tests.ts │ │ │ ├── typeahead.ng1.ts │ │ │ ├── typeahead.tests.ts │ │ │ └── typeahead.ts │ │ ├── typeaheadList │ │ │ ├── defaultListItem.ng1.html │ │ │ ├── index.ts │ │ │ ├── templates │ │ │ │ ├── index.ts │ │ │ │ ├── listHeader.template.ts │ │ │ │ └── listItem.template.ts │ │ │ ├── typeaheadDataItem.ts │ │ │ ├── typeaheadItem.ng1.ts │ │ │ ├── typeaheadList.html │ │ │ ├── typeaheadList.ng1.html │ │ │ ├── typeaheadList.ng1.tests.ts │ │ │ ├── typeaheadList.ng1.ts │ │ │ ├── typeaheadList.tests.ts │ │ │ └── typeaheadList.ts │ │ ├── userRating │ │ │ ├── userRating.css │ │ │ ├── userRating.html │ │ │ ├── userRating.md │ │ │ ├── userRating.ng1.tests.ts │ │ │ ├── userRating.ng1.ts │ │ │ ├── userRating.tests.ts │ │ │ └── userRating.ts │ │ ├── validationInput.tests.ts │ │ └── validationInput.ts │ ├── lazyLoad │ │ ├── lazyLoad.md │ │ ├── lazyLoad.tests.ts │ │ └── lazyLoad.ts │ ├── messageLog │ │ ├── messageLog.component.html │ │ ├── messageLog.component.ts │ │ └── ng1 │ │ │ ├── editableMessageLog.tests.ts │ │ │ ├── editableMessageLog.ts │ │ │ ├── editedByPopover.html │ │ │ ├── messageLog.directive.tests.ts │ │ │ ├── messageLog.directive.ts │ │ │ ├── messageLog.html │ │ │ ├── messageLog.module.ts │ │ │ ├── messageLog.service.tests.ts │ │ │ ├── messageLog.service.ts │ │ │ └── messageLogEditDialog.html │ ├── multiStepIndicator │ │ ├── multiStepIndicator.html │ │ ├── multiStepIndicator.tests.ts │ │ ├── multiStepIndicator.ts │ │ ├── step.component.html │ │ ├── step.component.ts │ │ └── step.tests.ts │ ├── popoutList │ │ ├── index.ts │ │ ├── popoutItem.html │ │ ├── popoutItem.tests.ts │ │ ├── popoutItem.ts │ │ ├── popoutList.css │ │ ├── popoutList.html │ │ ├── popoutList.service.tests.ts │ │ ├── popoutList.service.ts │ │ ├── popoutList.tests.ts │ │ ├── popoutList.ts │ │ └── popoutTrigger.ts │ ├── ratingBar │ │ ├── ratingBar.css │ │ ├── ratingBar.html │ │ ├── ratingBar.ng1.tests.ts │ │ ├── ratingBar.ng1.ts │ │ ├── ratingBar.tests.ts │ │ ├── ratingBar.ts │ │ ├── ratingBarBackgrounds.service.ts │ │ └── ratingBarClass.service.ts │ ├── richTextEditor │ │ ├── editorButtons.css │ │ ├── headerButton.ts │ │ ├── paragraphButton.ts │ │ ├── richTextEditor.config.ts │ │ ├── richTextEditor.html │ │ └── richTextEditor.ts │ ├── simpleCardContainer │ │ ├── simpleCardContainer.html │ │ └── simpleCardContainer.ts │ ├── simpleCardList │ │ ├── index.ts │ │ ├── simpleCard.html │ │ ├── simpleCard.ng1.html │ │ ├── simpleCard.ng1.tests.ts │ │ ├── simpleCard.ng1.ts │ │ ├── simpleCard.tests.ts │ │ ├── simpleCard.ts │ │ ├── simpleCardList.module.ts │ │ ├── simpleCardList.ng1.tests.ts │ │ ├── simpleCardList.ng1.ts │ │ ├── simpleCardList.tests.ts │ │ └── simpleCardList.ts │ ├── stringWithWatermark │ │ ├── stringWithWatermark.html │ │ ├── stringWithWatermark.md │ │ ├── stringWithWatermark.ng1.ts │ │ └── stringWithWatermark.ts │ ├── tabs │ │ ├── ng1 │ │ │ ├── tab.css │ │ │ ├── tab.ng1.html │ │ │ ├── tab.ng1.ts │ │ │ ├── tabs.module.ts │ │ │ ├── tabset.ng1.html │ │ │ ├── tabset.ng1.tests.ts │ │ │ └── tabset.ng1.ts │ │ └── ng2 │ │ │ ├── index.ts │ │ │ ├── tab │ │ │ ├── tab.css │ │ │ ├── tab.html │ │ │ ├── tab.ts │ │ │ ├── tabContent │ │ │ │ ├── index.ts │ │ │ │ ├── tabContent.component.html │ │ │ │ ├── tabContent.component.tests.ts │ │ │ │ └── tabContent.component.ts │ │ │ ├── tabFooter │ │ │ │ ├── index.ts │ │ │ │ ├── tabFooter.component.html │ │ │ │ ├── tabFooter.component.tests.ts │ │ │ │ └── tabFooter.component.ts │ │ │ └── tabHeader │ │ │ │ ├── index.ts │ │ │ │ ├── tabHeader.component.html │ │ │ │ ├── tabHeader.component.tests.ts │ │ │ │ └── tabHeader.component.ts │ │ │ ├── tabset.html │ │ │ ├── tabset.tests.ts │ │ │ └── tabset.ts │ ├── templateRenderer │ │ └── templateRenderer.ng1.ts │ └── validationGroup │ │ ├── validationGroup.html │ │ ├── validationGroup.md │ │ ├── validationGroup.ng1.html │ │ ├── validationGroup.ng1.ts │ │ ├── validationGroup.tests.ts │ │ └── validationGroup.ts ├── componentsDowngrade.ts ├── pipes │ ├── date │ │ ├── date.pipe.md │ │ ├── date.pipe.tests.ts │ │ └── date.pipe.ts │ ├── index.ts │ ├── isEmpty │ │ ├── isEmpty.md │ │ ├── isEmpty.pipe.tests.ts │ │ └── isEmpty.pipe.ts │ ├── localizeStringDates │ │ ├── localizeStringDates.pipe.tests.ts │ │ └── localizeStringDates.pipe.ts │ └── truncate │ │ ├── truncate.md │ │ ├── truncate.pipe.tests.ts │ │ └── truncate.pipe.ts ├── services │ ├── async │ │ ├── async.service.tests.ts │ │ └── async.service.ts │ ├── autosave │ │ ├── autosave.service.tests.ts │ │ ├── autosave.service.ts │ │ └── triggers │ │ │ ├── onChangeTrigger.tests.ts │ │ │ ├── onChangeTrigger.ts │ │ │ ├── trigger.tests.ts │ │ │ ├── trigger.ts │ │ │ ├── triggers.md │ │ │ ├── triggers.service.tests.ts │ │ │ └── triggers.service.ts │ ├── autosaveAction │ │ ├── autosaveAction.service.tests.ts │ │ └── autosaveAction.service.ts │ ├── breakpoints │ │ ├── breakpoint.ts │ │ ├── breakpoints.module.ts │ │ ├── breakpoints.service.ng1.tests.ts │ │ ├── breakpoints.service.ng1.ts │ │ ├── breakpoints.service.tests.ts │ │ ├── breakpoints.service.ts │ │ ├── index.ts │ │ └── visibleBreakpoint.service.ts │ ├── componentValidator │ │ ├── componentValidator.service.ng1.tests.ts │ │ ├── componentValidator.service.ng1.ts │ │ ├── componentValidator.service.tests.ts │ │ └── componentValidator.service.ts │ ├── contentProvider │ │ ├── contentProvider.service.tests.ts │ │ └── contentProvider.service.ts │ ├── dialog │ │ ├── bootstrapModalDialog │ │ │ ├── bootstrapModalDialog.controller.tests.ts │ │ │ ├── bootstrapModalDialog.controller.ts │ │ │ ├── bootstrapModalDialog.module.ts │ │ │ ├── bootstrapModalDialog.service.tests.ts │ │ │ └── bootstrapModalDialog.service.ts │ │ ├── dialog.service.ng1.tests.ts │ │ ├── dialog.service.ng1.ts │ │ ├── dialogTypes.ts │ │ └── promptDialog.html │ ├── document │ │ └── document.provider.ts │ ├── documentWrapper │ │ └── documentWrapper.service.ts │ ├── form │ │ ├── form.service.ng1.tests.ts │ │ ├── form.service.ng1.ts │ │ ├── form.service.tests.ts │ │ └── form.service.ts │ ├── jquery │ │ ├── jquery.provider.ts │ │ ├── jquery.service.tests.ts │ │ └── jquery.service.ts │ ├── parentChild │ │ └── parentChild.service.ts │ ├── promise │ │ ├── promise.service.tests.ts │ │ └── promise.service.ts │ ├── services.module.ts │ ├── templateLoader │ │ └── templateLoader.service.ts │ └── windowWrapper │ │ └── windowWrapper.service.ts ├── types │ ├── changes.ts │ ├── formValidators.ts │ ├── types.module.ts │ └── viewData.ts ├── ui.module.ng1.ts └── ui.module.ts ├── system.config.js ├── tsconfig.json ├── tslint.json └── typings ├── angularExtensions.d.ts ├── angularUIBootstrap.d.ts ├── bootstrapDateTimePicker.d.ts ├── chaiAssertions.d.ts ├── commonjs.d.ts ├── jQuery.d.ts ├── jasmine.d.ts ├── moment.d.ts └── sinon.d.ts /.editorconfig: -------------------------------------------------------------------------------- 1 | ; http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | indent_style = tab 7 | indent_size = 4 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | indent_size = 4 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Don't commit the built files 2 | /dist/ 3 | /source/**/*.js 4 | /source/**/*.d.ts 5 | /bootstrapper/**/*.js 6 | /bootstrapper/**/*.d.ts 7 | /bootstrapper/**/*.js.map 8 | /tests/ 9 | 10 | # Node deps 11 | /node_modules/ 12 | 13 | # Bower deps 14 | /bower_components/ 15 | 16 | # Ignore git conflict / diff files 17 | *.orig 18 | 19 | # Typings files (resolved via typings) 20 | /typings/index.d.ts 21 | /typings/globals/ 22 | /typings/modules/ 23 | 24 | debug.log 25 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # Ignore test files 2 | source/**/*.tests.js 3 | *.tests.d.ts 4 | karma* 5 | /tests/ 6 | 7 | # Bundles 8 | /bootstrapper/*.bundle* 9 | 10 | # NPM 11 | /node_modules/ 12 | npm-debug.log 13 | 14 | # Ignore webpack settings 15 | webpack.* 16 | 17 | # Git 18 | *.orig 19 | 20 | # Nuget bootstrap files 21 | /bootstrapper/nuget/*/ 22 | 23 | # Don't need external typings on npm 24 | /typings/ 25 | 26 | #exlude the .ts files from dist 27 | *.ts 28 | !*.d.ts -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "files.trimTrailingWhitespace": true, 4 | "editor.tabSize": 4, 5 | "editor.formatOnType": true, 6 | "files.exclude": { 7 | "**/.git": true, 8 | "**/.DS_Store": true, 9 | "**/tests/": true, 10 | "source/**/*.js": true, 11 | "source/**/*.js.map": true, 12 | "source/**/*.d.ts": true, 13 | "bootstrapper/**/*.js": true, 14 | "bootstrapper/**/*.js.map": true, 15 | "bootstrapper/**/*.d.ts": true 16 | } 17 | , 18 | "typescript.check.workspaceVersion": false 19 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.1.0", 3 | "command": "npm", 4 | "isShellCommand": true, 5 | "args": [ 6 | "--no-color" 7 | ], 8 | "tasks": [ 9 | { 10 | "taskName": "build", 11 | "args": ["run"], 12 | "isBuildCommand": true, 13 | "isWatching": false, 14 | "problemMatcher": [ 15 | "$lessCompile", 16 | "$tsc", 17 | "$jshint" 18 | ] 19 | }, 20 | { 21 | "taskName": "test", 22 | "args": [], 23 | "isTestCommand": true 24 | }, 25 | { 26 | "taskName": "update", 27 | "args": ["run"] 28 | }, 29 | { 30 | "taskName": "clean", 31 | "args": ["run"] 32 | }, 33 | { 34 | "taskName": "publish.prep", 35 | "args": ["run"] 36 | }, 37 | { 38 | "taskName": "build.all", 39 | "args": ["run"] 40 | } 41 | ], 42 | "problemMatcher": "$tsc" 43 | } -------------------------------------------------------------------------------- /bootstrapper/app.html: -------------------------------------------------------------------------------- 1 |
2 | Showing {{visibleCount$ | async}} of {{totalCount$ | async}} total items 3 |
4 | -------------------------------------------------------------------------------- /source/components/cardContainer/container/itemCount/itemCount.ng1.html: -------------------------------------------------------------------------------- 1 |2 | Showing {{itemCount.cardContainer.dataSource.dataSet.length}} of {{itemCount.cardContainer.dataSource.count}} total items 3 |
-------------------------------------------------------------------------------- /source/components/cardContainer/container/itemCount/itemCount.ng1.ts: -------------------------------------------------------------------------------- 1 | import * as angular from 'angular'; 2 | 3 | export let moduleName: string = 'rl.ui.components.cardContainer.itemCount'; 4 | export let componentName: string = 'rlItemCount'; 5 | 6 | let itemCount: angular.IComponentOptions = { 7 | require: { cardContainer: '?^^rlCardContainer' }, 8 | template: require('./itemCount.ng1.html'), 9 | controllerAs: 'itemCount', 10 | }; 11 | 12 | angular.module(moduleName, []) 13 | .component(componentName, itemCount); 14 | -------------------------------------------------------------------------------- /source/components/cardContainer/container/selectableContainerFooter.component.html: -------------------------------------------------------------------------------- 1 |{{step.count()}}
13 |{{step.title}}
{{step.subtitle}}
15 |{{title}}
5 |