@porscheinformatik/material-addons 10.2.1 → 10.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/bundles/porscheinformatik-material-addons.umd.js +465 -5
  2. package/bundles/porscheinformatik-material-addons.umd.js.map +1 -1
  3. package/bundles/porscheinformatik-material-addons.umd.min.js +2 -2
  4. package/bundles/porscheinformatik-material-addons.umd.min.js.map +1 -1
  5. package/esm2015/lib/content-panel/content-header/content-header.component.js +15 -0
  6. package/esm2015/lib/content-panel/content-panel-container/content-panel-container.component.js +15 -0
  7. package/esm2015/lib/content-panel/content-panel-container-content/content-panel-container-content.component.js +15 -0
  8. package/esm2015/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.js +15 -0
  9. package/esm2015/lib/content-panel/content-panel.module.js +29 -0
  10. package/esm2015/lib/content-panel/main-container/main-container.component.js +15 -0
  11. package/esm2015/lib/data-table/data-table-action.js +1 -0
  12. package/esm2015/lib/data-table/data-table-column-header.js +1 -0
  13. package/esm2015/lib/data-table/data-table.component.js +103 -0
  14. package/esm2015/lib/data-table/data-table.js +1 -0
  15. package/esm2015/lib/data-table/data-table.module.js +33 -0
  16. package/esm2015/lib/flowbar/flowbar.component.js +186 -0
  17. package/esm2015/lib/flowbar/flowbar.module.js +14 -0
  18. package/esm2015/lib/table/table.component.js +1 -1
  19. package/esm2015/lib/table/table.module.js +3 -3
  20. package/esm2015/porscheinformatik-material-addons.js +2 -1
  21. package/esm2015/public-api.js +11 -1
  22. package/fesm2015/porscheinformatik-material-addons.js +409 -2
  23. package/fesm2015/porscheinformatik-material-addons.js.map +1 -1
  24. package/lib/content-panel/content-header/content-header.component.d.ts +5 -0
  25. package/lib/content-panel/content-panel-container/content-panel-container.component.d.ts +5 -0
  26. package/lib/content-panel/content-panel-container-content/content-panel-container-content.component.d.ts +5 -0
  27. package/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.d.ts +5 -0
  28. package/lib/content-panel/content-panel.module.d.ts +2 -0
  29. package/lib/content-panel/main-container/main-container.component.d.ts +5 -0
  30. package/lib/data-table/data-table-action.d.ts +5 -0
  31. package/lib/data-table/data-table-column-header.d.ts +6 -0
  32. package/lib/data-table/data-table.component.d.ts +39 -0
  33. package/lib/data-table/data-table.d.ts +2 -0
  34. package/lib/data-table/data-table.module.d.ts +2 -0
  35. package/lib/flowbar/flowbar.component.d.ts +42 -0
  36. package/lib/flowbar/flowbar.module.d.ts +2 -0
  37. package/package.json +1 -1
  38. package/porscheinformatik-material-addons.d.ts +1 -0
  39. package/porscheinformatik-material-addons.metadata.json +1 -1
  40. package/public-api.d.ts +10 -0
@@ -9,9 +9,10 @@ export { MadBasicButton as ɵb } from './lib/button/mad-basic-button';
9
9
  export { OutlineButtonComponent as ɵc } from './lib/button/outline-button/outline-button.component';
10
10
  export { PrimaryButtonComponent as ɵa } from './lib/button/primary-button/primary-button.component';
11
11
  export { CardComponent as ɵh } from './lib/card/card.component';
12
+ export { DataTableComponent as ɵm } from './lib/data-table/data-table.component';
12
13
  export { NumericFieldDirective as ɵg } from './lib/numeric-field/numeric-field.directive';
13
14
  export { BaseQuickListComponent as ɵj } from './lib/quick-list/base-quick-list.component';
14
15
  export { QuickListCompactComponent as ɵk } from './lib/quick-list/quick-list-compact/quick-list-compact.component';
15
16
  export { QuickListComponent as ɵi } from './lib/quick-list/quick-list.component';
16
17
  export { TableComponent as ɵl } from './lib/table/table.component';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9yc2NoZWluZm9ybWF0aWstbWF0ZXJpYWwtYWRkb25zLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL21hdGVyaWFsLWFkZG9ucy9tYXRlcmlhbC1hZGRvbnMvcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy8iLCJzb3VyY2VzIjpbInBvcnNjaGVpbmZvcm1hdGlrLW1hdGVyaWFsLWFkZG9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUMvRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEYsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0RhbmdlckJ1dHRvbkNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2J1dHRvbi9kYW5nZXItYnV0dG9uL2Rhbmdlci1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7TGlua0J1dHRvbkNvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL2J1dHRvbi9mbGF0LWJ1dHRvbi9saW5rLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtJY29uQnV0dG9uQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvYnV0dG9uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQge01hZEJhc2ljQnV0dG9uIGFzIMm1Yn0gZnJvbSAnLi9saWIvYnV0dG9uL21hZC1iYXNpYy1idXR0b24nO1xuZXhwb3J0IHtPdXRsaW5lQnV0dG9uQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvYnV0dG9uL291dGxpbmUtYnV0dG9uL291dGxpbmUtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQge1ByaW1hcnlCdXR0b25Db21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9idXR0b24vcHJpbWFyeS1idXR0b24vcHJpbWFyeS1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7Q2FyZENvbXBvbmVudCBhcyDJtWh9IGZyb20gJy4vbGliL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtOdW1lcmljRmllbGREaXJlY3RpdmUgYXMgybVnfSBmcm9tICcuL2xpYi9udW1lcmljLWZpZWxkL251bWVyaWMtZmllbGQuZGlyZWN0aXZlJztcbmV4cG9ydCB7QmFzZVF1aWNrTGlzdENvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vbGliL3F1aWNrLWxpc3QvYmFzZS1xdWljay1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1F1aWNrTGlzdENvbXBhY3RDb21wb25lbnQgYXMgybVrfSBmcm9tICcuL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QtY29tcGFjdC9xdWljay1saXN0LWNvbXBhY3QuY29tcG9uZW50JztcbmV4cG9ydCB7UXVpY2tMaXN0Q29tcG9uZW50IGFzIMm1aX0gZnJvbSAnLi9saWIvcXVpY2stbGlzdC9xdWljay1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1RhYmxlQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9saWIvdGFibGUvdGFibGUuY29tcG9uZW50JzsiXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9yc2NoZWluZm9ybWF0aWstbWF0ZXJpYWwtYWRkb25zLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL21hdGVyaWFsLWFkZG9ucy9tYXRlcmlhbC1hZGRvbnMvcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy8iLCJzb3VyY2VzIjpbInBvcnNjaGVpbmZvcm1hdGlrLW1hdGVyaWFsLWFkZG9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUMvRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNqSCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtEYW5nZXJCdXR0b25Db21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9idXR0b24vZGFuZ2VyLWJ1dHRvbi9kYW5nZXItYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQge0xpbmtCdXR0b25Db21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9idXR0b24vZmxhdC1idXR0b24vbGluay1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7SWNvbkJ1dHRvbkNvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2J1dHRvbi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtNYWRCYXNpY0J1dHRvbiBhcyDJtWJ9IGZyb20gJy4vbGliL2J1dHRvbi9tYWQtYmFzaWMtYnV0dG9uJztcbmV4cG9ydCB7T3V0bGluZUJ1dHRvbkNvbXBvbmVudCBhcyDJtWN9IGZyb20gJy4vbGliL2J1dHRvbi9vdXRsaW5lLWJ1dHRvbi9vdXRsaW5lLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtQcmltYXJ5QnV0dG9uQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvYnV0dG9uL3ByaW1hcnktYnV0dG9uL3ByaW1hcnktYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jYXJkL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0YVRhYmxlQ29tcG9uZW50IGFzIMm1bX0gZnJvbSAnLi9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQge051bWVyaWNGaWVsZERpcmVjdGl2ZSBhcyDJtWd9IGZyb20gJy4vbGliL251bWVyaWMtZmllbGQvbnVtZXJpYy1maWVsZC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtCYXNlUXVpY2tMaXN0Q29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvcXVpY2stbGlzdC9iYXNlLXF1aWNrLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7UXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vbGliL3F1aWNrLWxpc3QvcXVpY2stbGlzdC1jb21wYWN0L3F1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtRdWlja0xpc3RDb21wb25lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7VGFibGVDb21wb25lbnQgYXMgybVsfSBmcm9tICcuL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQnOyJdfQ==
@@ -17,11 +17,21 @@ export * from './lib/card/card.module';
17
17
  export * from './lib/quick-list/quick-list.module';
18
18
  export * from './lib/table/table';
19
19
  export * from './lib/table/table.module';
20
+ export * from './lib/data-table/data-table';
21
+ export * from './lib/data-table/data-table.module';
20
22
  export * from './lib/throttle-click/throttle-click.directive';
21
23
  export * from './lib/throttle-click/throttle-click.module';
22
24
  export * from './lib/stepper/stepper.component';
23
25
  export * from './lib/stepper/step-header/step-header.component';
24
26
  export * from './lib/stepper/mad-stepper-animation';
25
27
  export * from './lib/stepper/stepper.module';
28
+ export * from './lib/content-panel/content-header/content-header.component';
29
+ export * from './lib/content-panel/content-panel-container/content-panel-container.component';
30
+ export * from './lib/content-panel/content-panel-container-content/content-panel-container-content.component';
31
+ export * from './lib/content-panel/content-panel-container-footer/content-panel-container-footer.component';
32
+ export * from './lib/content-panel/main-container/main-container.component';
33
+ export * from './lib/content-panel/content-panel.module';
34
+ export * from './lib/flowbar/flowbar.component';
35
+ export * from './lib/flowbar/flowbar.module';
26
36
  export * from './lib/material-addons.module';
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9tYXRlcmlhbC1hZGRvbnMvbWF0ZXJpYWwtYWRkb25zL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBtYXRlcmlhbC1hZGRvbnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uL21hdGVyaWFsLWFjdGlvbi1idXR0b24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlYWRvbmx5L3JlYWRvbmx5LWZvcm0tZmllbGQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlYWRvbmx5L3JlYWRvbmx5LWZvcm0tZmllbGQtd3JhcHBlci9yZWFkb25seS1mb3JtLWZpZWxkLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlYWRvbmx5L3JlYWRvbmx5LWZvcm0tZmllbGQvcmVhZG9ubHktZm9ybS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9vbGJhci90b29sYmFyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvdG9vbGJhci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvdG9vbGJhci1hY3Rpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL251bWVyaWMtZmllbGQvbnVtZXJpYy1maWVsZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbnVtZXJpYy1maWVsZC9udW1iZXItZm9ybWF0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC9jYXJkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL3RhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL3RhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aHJvdHRsZS1jbGljay90aHJvdHRsZS1jbGljay5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGhyb3R0bGUtY2xpY2svdGhyb3R0bGUtY2xpY2subW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwLWhlYWRlci9zdGVwLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9tYWQtc3RlcHBlci1hbmltYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXRlcmlhbC1hZGRvbnMubW9kdWxlJztcbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9tYXRlcmlhbC1hZGRvbnMvbWF0ZXJpYWwtYWRkb25zL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsK0ZBQStGLENBQUM7QUFDOUcsY0FBYyw2RkFBNkYsQ0FBQztBQUM1RyxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG1hdGVyaWFsLWFkZG9uc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uL21hdGVyaWFsLWFjdGlvbi1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hdGVyaWFsLWFjdGlvbi1idXR0b24vbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVhZG9ubHkvcmVhZG9ubHktZm9ybS1maWVsZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVhZG9ubHkvcmVhZG9ubHktZm9ybS1maWVsZC13cmFwcGVyL3JlYWRvbmx5LWZvcm0tZmllbGQtd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVhZG9ubHkvcmVhZG9ubHktZm9ybS1maWVsZC9yZWFkb25seS1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9vbGJhci90b29sYmFyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9vbGJhci90b29sYmFyLWFjdGlvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbnVtZXJpYy1maWVsZC9udW1lcmljLWZpZWxkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9udW1lcmljLWZpZWxkL251bWJlci1mb3JtYXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2NhcmQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3F1aWNrLWxpc3QvcXVpY2stbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvdGFibGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtdGFibGUvZGF0YS10YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rocm90dGxlLWNsaWNrL3Rocm90dGxlLWNsaWNrLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aHJvdHRsZS1jbGljay90aHJvdHRsZS1jbGljay5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXAtaGVhZGVyL3N0ZXAtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyL21hZC1zdGVwcGVyLWFuaW1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRlbnQtcGFuZWwvY29udGVudC1oZWFkZXIvY29udGVudC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC1jb250YWluZXIvY29udGVudC1wYW5lbC1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZW50LXBhbmVsL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLWZvb3Rlci9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRlbnQtcGFuZWwvbWFpbi1jb250YWluZXIvbWFpbi1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmxvd2Jhci9mbG93YmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mbG93YmFyL2Zsb3diYXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hdGVyaWFsLWFkZG9ucy5tb2R1bGUnO1xuIl19
@@ -24,6 +24,7 @@ import { Directionality } from '@angular/cdk/bidi';
24
24
  import { CdkStepHeader, STEP_STATE, CdkStep, CdkStepper, CdkStepperModule } from '@angular/cdk/stepper';
25
25
  import { FocusMonitor } from '@angular/cdk/a11y';
26
26
  import { FlexModule } from '@angular/flex-layout';
27
+ import { MatStepperModule } from '@angular/material/stepper';
27
28
 
28
29
  class MaterialActionButtonComponent {
29
30
  constructor() {
@@ -1492,12 +1493,132 @@ TableModule.decorators = [
1492
1493
  MatPaginatorModule,
1493
1494
  MatSortModule,
1494
1495
  MatTableModule,
1495
- ButtonModule
1496
+ ButtonModule,
1496
1497
  ],
1497
1498
  exports: [TableComponent],
1498
1499
  },] }
1499
1500
  ];
1500
1501
 
1502
+ class DataTableComponent {
1503
+ constructor() {
1504
+ var _a;
1505
+ this.ACTION_COLUMN_NAME = '__action__';
1506
+ this.columns = [];
1507
+ this.filterLabel = 'NOT SET';
1508
+ this.filterPlaceholder = 'NOT SET';
1509
+ this.pageSizeOptions = [5, 10, 15];
1510
+ this.defaultPageSize = ((_a = this.pageSizeOptions) === null || _a === void 0 ? void 0 : _a[0]) || 10;
1511
+ this.rowActions = [];
1512
+ this.tableActions = [];
1513
+ this.tableAction = new EventEmitter();
1514
+ this.rowAction = new EventEmitter();
1515
+ this.sortEvent = new EventEmitter();
1516
+ this.isFilterEnabled = false;
1517
+ this.isPaginationEnabled = false;
1518
+ }
1519
+ set displayedData(data) {
1520
+ if (!this.dataSource) {
1521
+ this.dataSource = new MatTableDataSource(data);
1522
+ }
1523
+ else {
1524
+ this.dataSource.data = data;
1525
+ }
1526
+ }
1527
+ set paginationEnabled(isPaginationEnabled) {
1528
+ this.isPaginationEnabled = isPaginationEnabled;
1529
+ // eslint-disable-next-line
1530
+ const pageSize = this.isPaginationEnabled ? this.defaultPageSize : Number.MAX_VALUE;
1531
+ if (this.dataSource.paginator) {
1532
+ this.dataSource.paginator._changePageSize(pageSize);
1533
+ }
1534
+ }
1535
+ set filterEnabled(isFilterEnabled) {
1536
+ this.isFilterEnabled = isFilterEnabled;
1537
+ this.setFilterValue(undefined);
1538
+ }
1539
+ ngOnInit() {
1540
+ this.columnNames = this.columns.map(column => column.label);
1541
+ this.isRowClickable = this.rowActions.length > 0;
1542
+ if (this.isRowClickable) {
1543
+ this.columnNames.unshift(this.ACTION_COLUMN_NAME);
1544
+ this.defaultAction = this.rowActions[0];
1545
+ }
1546
+ }
1547
+ ngAfterViewInit() {
1548
+ this.dataSource.paginator = this.paginator;
1549
+ this.dataSource.sort = this.sort;
1550
+ }
1551
+ onFilter(value) {
1552
+ this.setFilterValue(value);
1553
+ }
1554
+ onRowEvent(event, row, action = this.defaultAction) {
1555
+ if (!!action && !this.isClickOnRowMenuIcon(event)) {
1556
+ this.rowAction.emit(Object.assign(Object.assign({}, action), { outputRow: row }));
1557
+ }
1558
+ }
1559
+ onSortingEvent(sortingParams) {
1560
+ this.sortEvent.emit(sortingParams);
1561
+ }
1562
+ onTableAction(tableAction) {
1563
+ if (!!tableAction) {
1564
+ this.tableAction.emit(tableAction);
1565
+ }
1566
+ }
1567
+ setFilterValue(value) {
1568
+ this.dataSource.filter = value === null || value === void 0 ? void 0 : value.trim().toLowerCase();
1569
+ }
1570
+ isClickOnRowMenuIcon(event) {
1571
+ var _a;
1572
+ return (_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.classList.contains('mat-icon');
1573
+ }
1574
+ }
1575
+ DataTableComponent.decorators = [
1576
+ { type: Component, args: [{
1577
+ selector: 'mad-data-table',
1578
+ template: "<!-- Table actions -->\n<div *ngIf=\"tableActions?.length\">\n <mad-primary-button class=\"table-action\" *ngFor=\"let tableAction of tableActions\" (click)=\"onTableAction(tableAction)\">\n {{ tableAction.label }}\n </mad-primary-button>\n</div>\n\n<!-- Row action buttons -->\n<mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent let-element=\"element\">\n <button *ngFor=\"let rowAction of rowActions\" mat-menu-item class=\"row-action\" (click)=\"onRowEvent($event, element, rowAction)\">\n {{ rowAction.label }}\n </button>\n </ng-template>\n</mat-menu>\n\n<!-- Table filter -->\n<mat-form-field *ngIf=\"isFilterEnabled\">\n <mat-label>{{ filterLabel }}</mat-label>\n <input matInput autocomplete=\"off\" (keyup)=\"onFilter($event?.target?.value)\" placeholder=\"{{ filterPlaceholder }}\" />\n</mat-form-field>\n\n<!-- Table -->\n<div *ngIf=\"dataSource?.data?.length > 0; else noData\" class=\"mad-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSortingEvent($event)\">\n <!-- Row actions column -->\n <ng-container [matColumnDef]=\"ACTION_COLUMN_NAME\" *ngIf=\"rowActions?.length\">\n <th scope=\"col\" mat-header-cell *matHeaderCellDef class=\"row-action-button\"></th>\n <td mat-cell *matCellDef=\"let element\" class=\"row-action-button\">\n <mad-icon-button [matMenuTriggerData]=\"{ element: element }\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </mad-icon-button>\n </td>\n </ng-container>\n <!-- Columns with data -->\n <ng-container *ngFor=\"let column of columns\" [matColumnDef]=\"column.label\">\n <ng-container *ngIf=\"column.isSortable; else noSort\">\n <th\n scope=\"col\"\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header=\"{{ column.label }}\"\n [arrowPosition]=\"column.isRightAligned ? 'before' : 'after'\"\n [class.text-right]=\"column.isRightAligned\"\n >\n {{ column.label }}\n </th>\n </ng-container>\n <ng-template #noSort>\n <th scope=\"col\" mat-header-cell *matHeaderCellDef [class.text-right]=\"column.isRightAligned\">\n {{ column.label }}\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" [class.text-right]=\"column.isRightAligned\">\n {{ element[column.dataPropertyName] }}\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnNames\"></tr>\n <tr\n mat-row\n [class.clickable-table-row]=\"isRowClickable\"\n (click)=\"onRowEvent($event, row)\"\n *matRowDef=\"let row; columns: columnNames\"\n ></tr>\n </table>\n\n <!-- Pagination -->\n <mat-paginator\n [style.display]=\"isPaginationEnabled ? 'block' : 'none'\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons\n >\n </mat-paginator>\n</div>\n\n<!-- No data alert -->\n<ng-template #noData>\n <div class=\"noDataText\">\n {{ noDataText }}\n </div>\n</ng-template>\n",
1579
+ styles: [".text-right{padding-right:24px!important;text-align:right!important}.table-action{margin-bottom:.5em;margin-right:.5em}.row-action-button{width:10px}.noDataText{text-align:center;width:100%}.mad-table{overflow-x:auto;width:100%}"]
1580
+ },] }
1581
+ ];
1582
+ DataTableComponent.propDecorators = {
1583
+ columns: [{ type: Input }],
1584
+ filterLabel: [{ type: Input }],
1585
+ filterPlaceholder: [{ type: Input }],
1586
+ noDataText: [{ type: Input }],
1587
+ pageSizeOptions: [{ type: Input }],
1588
+ defaultPageSize: [{ type: Input }],
1589
+ rowActions: [{ type: Input }],
1590
+ tableActions: [{ type: Input }],
1591
+ displayedData: [{ type: Input }],
1592
+ paginationEnabled: [{ type: Input }],
1593
+ filterEnabled: [{ type: Input }],
1594
+ tableAction: [{ type: Output }],
1595
+ rowAction: [{ type: Output }],
1596
+ sortEvent: [{ type: Output }],
1597
+ paginator: [{ type: ViewChild, args: [MatPaginator, { static: false },] }],
1598
+ sort: [{ type: ViewChild, args: [MatSort, { static: true },] }]
1599
+ };
1600
+
1601
+ class DataTableModule {
1602
+ }
1603
+ DataTableModule.decorators = [
1604
+ { type: NgModule, args: [{
1605
+ declarations: [DataTableComponent],
1606
+ imports: [
1607
+ CommonModule,
1608
+ MatButtonModule,
1609
+ MatIconModule,
1610
+ MatFormFieldModule,
1611
+ MatInputModule,
1612
+ MatMenuModule,
1613
+ MatPaginatorModule,
1614
+ MatSortModule,
1615
+ MatTableModule,
1616
+ ButtonModule,
1617
+ ],
1618
+ exports: [DataTableComponent],
1619
+ },] }
1620
+ ];
1621
+
1501
1622
  class StepHeaderComponent extends CdkStepHeader {
1502
1623
  constructor(_focusMonitor, _elementRef) {
1503
1624
  super(_elementRef);
@@ -1751,6 +1872,292 @@ StepperModule.decorators = [
1751
1872
  },] }
1752
1873
  ];
1753
1874
 
1875
+ class ContentHeaderComponent {
1876
+ constructor() { }
1877
+ ngOnInit() {
1878
+ }
1879
+ }
1880
+ ContentHeaderComponent.decorators = [
1881
+ { type: Component, args: [{
1882
+ selector: 'mad-content-header',
1883
+ template: "<div class=\"content-header\">\n <ng-content></ng-content>\n</div>\n",
1884
+ styles: [".content-header{padding-right:.5rem}"]
1885
+ },] }
1886
+ ];
1887
+ ContentHeaderComponent.ctorParameters = () => [];
1888
+
1889
+ class ContentPanelContainerComponent {
1890
+ constructor() { }
1891
+ ngOnInit() {
1892
+ }
1893
+ }
1894
+ ContentPanelContainerComponent.decorators = [
1895
+ { type: Component, args: [{
1896
+ selector: 'mad-content-panel-container',
1897
+ template: "<div class=\"content-panel-outer-wrapper\">\n <ng-content select=\"mad-content-panel-container-content\"></ng-content>\n <ng-content select=\"mad-content-panel-container-footer\"></ng-content>\n</div>\n",
1898
+ styles: [":host{display:flex;flex:1 1 auto;min-height:.05rem;overflow:hidden;position:relative}.content-panel-outer-wrapper{display:flex;flex:1 1 auto;flex-direction:column}"]
1899
+ },] }
1900
+ ];
1901
+ ContentPanelContainerComponent.ctorParameters = () => [];
1902
+
1903
+ class ContentPanelContainerContentComponent {
1904
+ constructor() { }
1905
+ ngOnInit() {
1906
+ }
1907
+ }
1908
+ ContentPanelContainerContentComponent.decorators = [
1909
+ { type: Component, args: [{
1910
+ selector: 'mad-content-panel-container-content',
1911
+ template: "<ng-content></ng-content>",
1912
+ styles: [":host{border-top:.05rem solid #ccc;flex:1 1 auto;height:1rem;overflow-y:auto;padding:1rem}"]
1913
+ },] }
1914
+ ];
1915
+ ContentPanelContainerContentComponent.ctorParameters = () => [];
1916
+
1917
+ class ContentPanelContainerFooterComponent {
1918
+ constructor() { }
1919
+ ngOnInit() {
1920
+ }
1921
+ }
1922
+ ContentPanelContainerFooterComponent.decorators = [
1923
+ { type: Component, args: [{
1924
+ selector: 'mad-content-panel-container-footer',
1925
+ template: "<ng-content></ng-content>",
1926
+ styles: [":host{align-items:center;border-top:.05rem solid #ccc;display:flex;flex:0 0 auto;min-height:2rem;padding:.25rem 1rem}"]
1927
+ },] }
1928
+ ];
1929
+ ContentPanelContainerFooterComponent.ctorParameters = () => [];
1930
+
1931
+ class MainContainerComponent {
1932
+ constructor() { }
1933
+ ngOnInit() {
1934
+ }
1935
+ }
1936
+ MainContainerComponent.decorators = [
1937
+ { type: Component, args: [{
1938
+ selector: 'mad-main-container',
1939
+ template: "<div class=\"main-container\">\n <ng-content select=\"mad-content-header\"></ng-content>\n <ng-content select=\"mad-flowbar\"></ng-content>\n <ng-content select=\"mad-content-panel-container\"></ng-content>\n</div>\n",
1940
+ styles: [".main-container{display:flex;flex-direction:column;height:100%}"]
1941
+ },] }
1942
+ ];
1943
+ MainContainerComponent.ctorParameters = () => [];
1944
+
1945
+ class ContentPanelModule {
1946
+ }
1947
+ ContentPanelModule.decorators = [
1948
+ { type: NgModule, args: [{
1949
+ declarations: [
1950
+ ContentHeaderComponent,
1951
+ ContentPanelContainerComponent,
1952
+ ContentPanelContainerContentComponent,
1953
+ ContentPanelContainerFooterComponent,
1954
+ MainContainerComponent,
1955
+ ],
1956
+ imports: [CommonModule],
1957
+ exports: [
1958
+ ContentHeaderComponent,
1959
+ ContentPanelContainerComponent,
1960
+ ContentPanelContainerContentComponent,
1961
+ ContentPanelContainerFooterComponent,
1962
+ MainContainerComponent,
1963
+ ],
1964
+ },] }
1965
+ ];
1966
+
1967
+ class FlowbarComponent {
1968
+ constructor() {
1969
+ this._steps = [];
1970
+ this._activeStepChange = new EventEmitter(true);
1971
+ /**
1972
+ * Event emitted when a step header is clicked.
1973
+ * When defined header navigation has to be implemented programmatically.
1974
+ * e.g. {@see changeActiveStepOnHeader}
1975
+ */
1976
+ this._headerClick = new EventEmitter(true);
1977
+ }
1978
+ ngOnInit() {
1979
+ // If no active step is set as input or the active step is not enabled, select the first enabled step
1980
+ if (!this._activeStep || !this._activeStep.enabled) {
1981
+ this._activeStep = this._steps.find(step => {
1982
+ return step.enabled;
1983
+ });
1984
+ if (this._activeStep) {
1985
+ // If sub steps exist then set the first non disabled sub step per default
1986
+ if (this.activeTabHasSubSteps()) {
1987
+ this._activeStep.activeSubStep = this._activeStep.subSteps.find(step => {
1988
+ return step.enabled;
1989
+ });
1990
+ }
1991
+ this._activeStepChange.emit(this._activeStep);
1992
+ }
1993
+ }
1994
+ }
1995
+ ngAfterViewInit() {
1996
+ this.stepper._getIndicatorType = () => 'number';
1997
+ }
1998
+ changeActiveStep(step) {
1999
+ const previousIndex = this._steps.indexOf(this._activeStep);
2000
+ this._activeStep = step;
2001
+ if (this.activeTabHasSubSteps()) {
2002
+ if (previousIndex < this._steps.indexOf(this._activeStep)) {
2003
+ this._activeStep.activeSubStep = this._activeStep.subSteps[0];
2004
+ }
2005
+ else {
2006
+ this._activeStep.activeSubStep = this._activeStep.subSteps[this._activeStep.subSteps.length - 1];
2007
+ }
2008
+ }
2009
+ this._activeStepChange.emit(this._activeStep);
2010
+ }
2011
+ changeActiveStepOnHeader(step) {
2012
+ const stepIndex = this._steps.indexOf(step);
2013
+ this._activeStep = step;
2014
+ this.stepper.selected = this.stepper._steps.find((_, i) => i === stepIndex);
2015
+ }
2016
+ changeActiveSubStep(subStep) {
2017
+ this._activeStep.activeSubStep = subStep;
2018
+ }
2019
+ previous() {
2020
+ if (this.isPreviousAvailable()) {
2021
+ // If active step has no sub steps or first sub step is selected -> go to previous main step
2022
+ if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {
2023
+ const previousEnabledStep = this.findPreviousEnabledStep();
2024
+ this.changeActiveStep(previousEnabledStep);
2025
+ this.stepper.selectedIndex = this._steps.indexOf(previousEnabledStep);
2026
+ }
2027
+ else {
2028
+ const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);
2029
+ this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex - 1];
2030
+ }
2031
+ }
2032
+ }
2033
+ next() {
2034
+ if (this.isNextAvailable()) {
2035
+ // If active step has no sub steps or last sub step is selected -> go to next main step
2036
+ if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {
2037
+ const nextEnabledStep = this.findNextEnabledStep();
2038
+ this.changeActiveStep(nextEnabledStep);
2039
+ this.stepper.selectedIndex = this._steps.indexOf(nextEnabledStep);
2040
+ }
2041
+ else {
2042
+ const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);
2043
+ this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex + 1];
2044
+ }
2045
+ }
2046
+ }
2047
+ isPreviousAvailable() {
2048
+ if (this._activeStep) {
2049
+ if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {
2050
+ const index = this.getCurrentIndex();
2051
+ return index > 0 && this.isAnyPreviousStepEnabled(index);
2052
+ }
2053
+ else {
2054
+ return true;
2055
+ }
2056
+ }
2057
+ return false;
2058
+ }
2059
+ isNextAvailable() {
2060
+ if (this._activeStep) {
2061
+ if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {
2062
+ const index = this.getCurrentIndex();
2063
+ return index < this._steps.length - 1 && this.isAnyFollowingStepEnabled(index);
2064
+ }
2065
+ else {
2066
+ return true;
2067
+ }
2068
+ }
2069
+ return false;
2070
+ }
2071
+ isLastStep() {
2072
+ if (this.getCurrentIndex() === this._steps.length - 1) {
2073
+ if (this.activeTabHasSubSteps()) {
2074
+ return this.isLastSubStep();
2075
+ }
2076
+ else {
2077
+ return true;
2078
+ }
2079
+ }
2080
+ return false;
2081
+ }
2082
+ getCurrentIndex() {
2083
+ return this._steps.findIndex(value => {
2084
+ return value === this._activeStep;
2085
+ });
2086
+ }
2087
+ getCurrentSubStepIndex() {
2088
+ return this._activeStep.subSteps.findIndex(value => {
2089
+ return value === this._activeStep.activeSubStep;
2090
+ });
2091
+ }
2092
+ triggerClick() {
2093
+ const selectedStep = this._steps[this.stepper.selectedIndex];
2094
+ this.changeActiveStep(selectedStep);
2095
+ }
2096
+ headerClick(event, step) {
2097
+ event.stopPropagation(); //stop processing current header click event
2098
+ this._headerClick.emit(step);
2099
+ }
2100
+ get currentStepLabel() {
2101
+ return this._activeStep.label;
2102
+ }
2103
+ get currentSubStepLabel() {
2104
+ var _a;
2105
+ return (_a = this._activeStep.activeSubStep) === null || _a === void 0 ? void 0 : _a.label;
2106
+ }
2107
+ activeTabHasSubSteps() {
2108
+ return this._activeStep.subSteps && this._activeStep.subSteps.length > 0;
2109
+ }
2110
+ isFirstSubStep() {
2111
+ return this._activeStep.activeSubStep === this._activeStep.subSteps[0];
2112
+ }
2113
+ isLastSubStep() {
2114
+ return this._activeStep.activeSubStep === this._activeStep.subSteps[this._activeStep.subSteps.length - 1];
2115
+ }
2116
+ isAnyPreviousStepEnabled(index) {
2117
+ // eslint-disable-next-line id-blacklist
2118
+ return this._steps.slice(0, index).find(step => step.enabled) !== undefined;
2119
+ }
2120
+ isAnyFollowingStepEnabled(index) {
2121
+ // eslint-disable-next-line id-blacklist
2122
+ return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled) !== undefined;
2123
+ }
2124
+ findPreviousEnabledStep() {
2125
+ const index = this.getCurrentIndex();
2126
+ return this._steps
2127
+ .slice(0, index)
2128
+ .reverse()
2129
+ .find(step => step.enabled);
2130
+ }
2131
+ findNextEnabledStep() {
2132
+ const index = this.getCurrentIndex();
2133
+ return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled);
2134
+ }
2135
+ }
2136
+ FlowbarComponent.decorators = [
2137
+ { type: Component, args: [{
2138
+ selector: 'mad-flowbar',
2139
+ template: "<div class=\"stepper-container\">\n <mat-horizontal-stepper #stepper (click)=\"triggerClick()\">\n <mat-step *ngFor=\"let step of _steps\" [aria-labelledby]=\"!step.enabled ? 'disabled' : null\">\n <ng-template matStepLabel>\n <div class=\"step-header-overlay\" *ngIf=\"this._headerClick.observers.length > 0\" (click)=\"headerClick($event, step)\"></div>\n <span>{{step.label}}</span>\n </ng-template>\n </mat-step>\n </mat-horizontal-stepper>\n</div>\n",
2140
+ styles: [".stepper-container{display:flex;padding:0 1rem}::ng-deep .mat-stepper-horizontal .mat-horizontal-stepper-header{height:auto;padding:0}::ng-deep .mat-step-header[aria-labelledby=disabled]{cursor:not-allowed;pointer-events:none!important}::ng-deep .mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 10px}::ng-deep .mat-stepper-horizontal .mat-stepper-horizontal-line{border-top-width:4px;margin:0 5px}.step-header-overlay{height:100%;position:absolute;width:100%}"]
2141
+ },] }
2142
+ ];
2143
+ FlowbarComponent.propDecorators = {
2144
+ stepper: [{ type: ViewChild, args: ['stepper',] }],
2145
+ _steps: [{ type: Input, args: ['steps',] }],
2146
+ _activeStep: [{ type: Input, args: ['activeStep',] }],
2147
+ _activeStepChange: [{ type: Output, args: ['activeStepChange',] }],
2148
+ _headerClick: [{ type: Output, args: ['headerClick',] }]
2149
+ };
2150
+
2151
+ class FlowbarModule {
2152
+ }
2153
+ FlowbarModule.decorators = [
2154
+ { type: NgModule, args: [{
2155
+ declarations: [FlowbarComponent],
2156
+ imports: [CommonModule, MatStepperModule],
2157
+ exports: [FlowbarComponent],
2158
+ },] }
2159
+ ];
2160
+
1754
2161
  class MaterialAddonsModule {
1755
2162
  }
1756
2163
  MaterialAddonsModule.decorators = [
@@ -1776,5 +2183,5 @@ MaterialAddonsModule.decorators = [
1776
2183
  * Generated bundle index. Do not edit.
1777
2184
  */
1778
2185
 
1779
- export { ButtonModule, CardModule, MaterialActionButtonComponent, MaterialActionButtonModule, MaterialAddonsModule, NumberFormatService, NumericFieldModule, QuickListModule, ReadOnlyFormFieldComponent, ReadOnlyFormFieldModule, ReadOnlyFormFieldWrapperComponent, StepComponent, StepHeaderComponent, StepperComponent, StepperModule, TableModule, ThrottleClickDirective, ThrottleClickModule, ToolbarComponent, ToolbarModule, ToolbarService, madStepperAnimations, PrimaryButtonComponent as ɵa, MadBasicButton as ɵb, OutlineButtonComponent as ɵc, LinkButtonComponent as ɵd, DangerButtonComponent as ɵe, IconButtonComponent as ɵf, NumericFieldDirective as ɵg, CardComponent as ɵh, QuickListComponent as ɵi, BaseQuickListComponent as ɵj, QuickListCompactComponent as ɵk, TableComponent as ɵl };
2186
+ export { ButtonModule, CardModule, ContentHeaderComponent, ContentPanelContainerComponent, ContentPanelContainerContentComponent, ContentPanelContainerFooterComponent, ContentPanelModule, DataTableModule, FlowbarComponent, FlowbarModule, MainContainerComponent, MaterialActionButtonComponent, MaterialActionButtonModule, MaterialAddonsModule, NumberFormatService, NumericFieldModule, QuickListModule, ReadOnlyFormFieldComponent, ReadOnlyFormFieldModule, ReadOnlyFormFieldWrapperComponent, StepComponent, StepHeaderComponent, StepperComponent, StepperModule, TableModule, ThrottleClickDirective, ThrottleClickModule, ToolbarComponent, ToolbarModule, ToolbarService, madStepperAnimations, PrimaryButtonComponent as ɵa, MadBasicButton as ɵb, OutlineButtonComponent as ɵc, LinkButtonComponent as ɵd, DangerButtonComponent as ɵe, IconButtonComponent as ɵf, NumericFieldDirective as ɵg, CardComponent as ɵh, QuickListComponent as ɵi, BaseQuickListComponent as ɵj, QuickListCompactComponent as ɵk, TableComponent as ɵl, DataTableComponent as ɵm };
1780
2187
  //# sourceMappingURL=porscheinformatik-material-addons.js.map