@flywheel-io/vision 0.6.0 → 0.7.0

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 (65) hide show
  1. package/components/dialog/choice-dialog.component.d.ts +8 -5
  2. package/elements/README.md +20 -0
  3. package/elements/package.json +5 -5
  4. package/{esm2015/components/button/button.component.js → esm2020/components/button/button.component.mjs} +6 -11
  5. package/{esm2015/components/button/button.module.js → esm2020/components/button/button.module.mjs} +4 -4
  6. package/{esm2015/components/button-group/button-group.component.js → esm2020/components/button-group/button-group.component.mjs} +6 -12
  7. package/{esm2015/components/button-group/button-group.module.js → esm2020/components/button-group/button-group.module.mjs} +4 -4
  8. package/esm2020/components/dialog/choice-dialog.component.mjs +90 -0
  9. package/{esm2015/components/dialog/confirm-dialog.component.js → esm2020/components/dialog/confirm-dialog.component.mjs} +4 -4
  10. package/{esm2015/components/dialog/dialog.module.js → esm2020/components/dialog/dialog.module.mjs} +4 -4
  11. package/esm2020/components/dialog/dialog.service.mjs +72 -0
  12. package/{esm2015/components/dialog/error-dialog.component.js → esm2020/components/dialog/error-dialog.component.mjs} +4 -4
  13. package/esm2020/components/dialog/portal-dialog.component.mjs +112 -0
  14. package/{esm2015/components/icon/icon.component.js → esm2020/components/icon/icon.component.mjs} +3 -3
  15. package/{esm2015/components/icon/icon.module.js → esm2020/components/icon/icon.module.mjs} +4 -4
  16. package/esm2020/components/notification/notification/notification.component.mjs +69 -0
  17. package/{esm2015/components/notification/notification/notification.model.js → esm2020/components/notification/notification/notification.model.mjs} +0 -0
  18. package/esm2020/components/notification/notification-container/notification-container.component.mjs +86 -0
  19. package/{esm2015/components/notification/notification-timer.service.js → esm2020/components/notification/notification-timer.service.mjs} +0 -0
  20. package/{esm2015/components/notification/notification.module.js → esm2020/components/notification/notification.module.mjs} +4 -4
  21. package/{esm2015/components/notification/notification.service.js → esm2020/components/notification/notification.service.mjs} +3 -3
  22. package/{esm2015/components/popover/popover-trigger.component.js → esm2020/components/popover/popover-trigger.component.mjs} +3 -3
  23. package/esm2020/components/popover/popover-trigger.directive.mjs +133 -0
  24. package/esm2020/components/popover/popover.component.mjs +29 -0
  25. package/{esm2015/components/popover/popover.module.js → esm2020/components/popover/popover.module.mjs} +4 -4
  26. package/{esm2015/components/shared/pipes/pipes.module.js → esm2020/components/shared/pipes/pipes.module.mjs} +4 -4
  27. package/{esm2015/components/shared/pipes/translate.pipe.js → esm2020/components/shared/pipes/translate.pipe.mjs} +3 -3
  28. package/{esm2015/components/shared/pipes/trusthtml.pipe.js → esm2020/components/shared/pipes/trusthtml.pipe.mjs} +3 -3
  29. package/{esm2015/components/shared/translation.service.js → esm2020/components/shared/translation.service.mjs} +3 -3
  30. package/esm2020/components/table/table.component.mjs +179 -0
  31. package/{esm2015/components/table/table.module.js → esm2020/components/table/table.module.mjs} +4 -4
  32. package/{esm2015/elements/elements.js → esm2020/elements/elements.mjs} +4 -4
  33. package/{esm2015/elements/flywheel-io-vision-elements.js → esm2020/elements/flywheel-io-vision-elements.mjs} +0 -0
  34. package/{esm2015/elements/polyfills.js → esm2020/elements/polyfills.mjs} +0 -0
  35. package/{esm2015/elements/public-api.js → esm2020/elements/public-api.mjs} +0 -0
  36. package/{esm2015/flywheel-io-vision.js → esm2020/flywheel-io-vision.mjs} +0 -0
  37. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  38. package/fesm2015/{flywheel-io-vision-elements.js → flywheel-io-vision-elements.mjs} +5 -5
  39. package/fesm2015/flywheel-io-vision-elements.mjs.map +1 -0
  40. package/fesm2015/{flywheel-io-vision.js → flywheel-io-vision.mjs} +148 -165
  41. package/fesm2015/flywheel-io-vision.mjs.map +1 -0
  42. package/fesm2020/flywheel-io-vision-elements.mjs +85 -0
  43. package/fesm2020/flywheel-io-vision-elements.mjs.map +1 -0
  44. package/fesm2020/flywheel-io-vision.mjs +1392 -0
  45. package/fesm2020/flywheel-io-vision.mjs.map +1 -0
  46. package/package.json +43 -18
  47. package/scss/atoms/ghost.scss +30 -0
  48. package/scss/config/theme.scss +6 -6
  49. package/scss/material/overrides.scss +6 -1
  50. package/styles.css +156 -94
  51. package/styles.scss +8 -9
  52. package/bundles/flywheel-io-vision-elements.umd.js +0 -449
  53. package/bundles/flywheel-io-vision-elements.umd.js.map +0 -1
  54. package/bundles/flywheel-io-vision.umd.js +0 -1800
  55. package/bundles/flywheel-io-vision.umd.js.map +0 -1
  56. package/esm2015/components/dialog/choice-dialog.component.js +0 -78
  57. package/esm2015/components/dialog/dialog.service.js +0 -69
  58. package/esm2015/components/dialog/portal-dialog.component.js +0 -113
  59. package/esm2015/components/notification/notification/notification.component.js +0 -78
  60. package/esm2015/components/notification/notification-container/notification-container.component.js +0 -93
  61. package/esm2015/components/popover/popover-trigger.directive.js +0 -135
  62. package/esm2015/components/popover/popover.component.js +0 -35
  63. package/esm2015/components/table/table.component.js +0 -184
  64. package/fesm2015/flywheel-io-vision-elements.js.map +0 -1
  65. package/fesm2015/flywheel-io-vision.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class FwPopoverComponent {
5
+ }
6
+ FwPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ FwPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwPopoverComponent, selector: "fw-popover", host: { classAttribute: "fw-popover" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
8
+ <ng-container *ngTemplateOutlet="content"></ng-container>
9
+ <ng-template #content>
10
+ <div class="fw-popover-content-wrapper">
11
+ <ng-content></ng-content>
12
+ <div class="fw-popover-caret"></div>
13
+ </div>
14
+ </ng-template>`, isInline: true, styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}:root{--color-gray: var(--color-gray-100);--color-gray-50: #f6f7f8;--color-gray-100: #eff1f4;--color-gray-200: #e3e5e8;--color-gray-300: #d7d9dc;--color-gray-400: #cbcdcf;--color-gray-500: #bfc1c3;--color-primary: var(--color-primary-500);--color-primary-50: #e4edfe;--color-primary-100: #bbd2fe;--color-primary-200: #8db4fd;--color-primary-300: #5f95fc;--color-primary-400: #3d7ffb;--color-primary-500: #1b68fa;--color-primary-600: #1860f9;--color-primary-700: #1455f9;--color-primary-800: #104bf8;--color-primary-900: #083af6;--color-primary-A100: #ffffff;--color-primary-A200: #ebefff;--color-primary-A400: #b8c4ff;--color-primary-A700: #9fafff;--color-secondary: var(--color-secondary-500);--color-secondary-50: #ebf7ed;--color-secondary-100: #cdead3;--color-secondary-200: #acdcb5;--color-secondary-300: #8bce97;--color-secondary-400: #72c481;--color-secondary-500: #59b96b;--color-secondary-600: #51b263;--color-secondary-700: #48aa58;--color-secondary-800: #3ea24e;--color-secondary-900: #2e933c;--color-secondary-A100: #d9ffde;--color-secondary-A200: #a6ffb1;--color-secondary-A400: #73ff84;--color-secondary-A700: #59ff6e}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#ffffff;border-radius:4px;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#ffffff;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ host: { 'class': 'fw-popover' }, selector: 'fw-popover', template: `
18
+ <ng-container *ngTemplateOutlet="content"></ng-container>
19
+ <ng-template #content>
20
+ <div class="fw-popover-content-wrapper">
21
+ <ng-content></ng-content>
22
+ <div class="fw-popover-caret"></div>
23
+ </div>
24
+ </ng-template>`, encapsulation: ViewEncapsulation.None, styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}:root{--color-gray: var(--color-gray-100);--color-gray-50: #f6f7f8;--color-gray-100: #eff1f4;--color-gray-200: #e3e5e8;--color-gray-300: #d7d9dc;--color-gray-400: #cbcdcf;--color-gray-500: #bfc1c3;--color-primary: var(--color-primary-500);--color-primary-50: #e4edfe;--color-primary-100: #bbd2fe;--color-primary-200: #8db4fd;--color-primary-300: #5f95fc;--color-primary-400: #3d7ffb;--color-primary-500: #1b68fa;--color-primary-600: #1860f9;--color-primary-700: #1455f9;--color-primary-800: #104bf8;--color-primary-900: #083af6;--color-primary-A100: #ffffff;--color-primary-A200: #ebefff;--color-primary-A400: #b8c4ff;--color-primary-A700: #9fafff;--color-secondary: var(--color-secondary-500);--color-secondary-50: #ebf7ed;--color-secondary-100: #cdead3;--color-secondary-200: #acdcb5;--color-secondary-300: #8bce97;--color-secondary-400: #72c481;--color-secondary-500: #59b96b;--color-secondary-600: #51b263;--color-secondary-700: #48aa58;--color-secondary-800: #3ea24e;--color-secondary-900: #2e933c;--color-secondary-A100: #d9ffde;--color-secondary-A200: #a6ffb1;--color-secondary-A400: #73ff84;--color-secondary-A700: #59ff6e}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#ffffff;border-radius:4px;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#ffffff;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}\n"] }]
25
+ }], propDecorators: { templateRef: [{
26
+ type: ViewChild,
27
+ args: ['content']
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFnQnJGLE1BQU0sT0FBTyxrQkFBa0I7O2dIQUFsQixrQkFBa0I7b0dBQWxCLGtCQUFrQixrTUFWbkI7Ozs7Ozs7aUJBT0s7NEZBR0osa0JBQWtCO2tCQWQ5QixTQUFTOzJCQUNGLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUNyQixZQUFZLFlBRVo7Ozs7Ozs7aUJBT0ssaUJBQ0EsaUJBQWlCLENBQUMsSUFBSTs4QkFJZixXQUFXO3NCQUFoQyxTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7ICdjbGFzcyc6ICdmdy1wb3BvdmVyJyB9LFxuICBzZWxlY3RvcjogJ2Z3LXBvcG92ZXInLFxuICBzdHlsZVVybHM6IFsgJy4vcG9wb3Zlci5jb21wb25lbnQuc2NzcycgXSxcbiAgdGVtcGxhdGU6IGBcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJmdy1wb3BvdmVyLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImZ3LXBvcG92ZXItY2FyZXRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5gLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBGd1BvcG92ZXJDb21wb25lbnQge1xuICAvLyBVc2VkIGZvciBUZW1wbGF0ZVBvcnRhbCBpbiAuL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUudHNcbiAgQFZpZXdDaGlsZCgnY29udGVudCcpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxufVxuIl19
@@ -7,18 +7,18 @@ import { FwPopoverComponent } from './popover.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class FwPopoverModule {
9
9
  }
10
- FwPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- FwPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverModule, declarations: [FwPopoverComponent,
10
+ FwPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ FwPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, declarations: [FwPopoverComponent,
12
12
  FwPopoverTriggerComponent,
13
13
  FwPopoverTriggerDirective], imports: [CommonModule], exports: [FwPopoverComponent,
14
14
  FwPopoverTriggerComponent,
15
15
  FwPopoverTriggerDirective] });
16
- FwPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverModule, providers: [
16
+ FwPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, providers: [
17
17
  Overlay,
18
18
  ], imports: [[
19
19
  CommonModule,
20
20
  ]] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverModule, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  imports: [
@@ -9,17 +9,17 @@ const exports = [
9
9
  ];
10
10
  export class PipesModule {
11
11
  }
12
- PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PipesModule, declarations: [TranslatePipe,
12
+ PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, declarations: [TranslatePipe,
14
14
  TrustHtmlPipe], exports: [TranslatePipe,
15
15
  TrustHtmlPipe] });
16
- PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PipesModule, providers: [
16
+ PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, providers: [
17
17
  {
18
18
  provide: TranslationService,
19
19
  useClass: MinimalTranslationService,
20
20
  },
21
21
  ] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PipesModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  declarations: exports,
@@ -27,9 +27,9 @@ export class TranslatePipe {
27
27
  return this.messages[key] || '';
28
28
  }
29
29
  }
30
- TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TranslatePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Pipe });
31
- TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TranslatePipe, decorators: [{
30
+ TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Pipe });
31
+ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, decorators: [{
33
33
  type: Pipe,
34
34
  args: [{
35
35
  name: 'translate',
@@ -9,9 +9,9 @@ export class TrustHtmlPipe {
9
9
  return this.sanitizer.bypassSecurityTrustHtml(html);
10
10
  }
11
11
  }
12
- TrustHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TrustHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
13
- TrustHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TrustHtmlPipe, name: "trusthtml" });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TrustHtmlPipe, decorators: [{
12
+ TrustHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
13
+ TrustHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, name: "trusthtml" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'trusthtml',
@@ -17,9 +17,9 @@ MinimalTranslationService.messages = {
17
17
  'confirmDialog.no': 'No',
18
18
  'confirmDialog.yes': 'Yes',
19
19
  };
20
- MinimalTranslationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MinimalTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
- MinimalTranslationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MinimalTranslationService });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MinimalTranslationService, decorators: [{
20
+ MinimalTranslationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
+ MinimalTranslationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, decorators: [{
23
23
  type: Injectable
24
24
  }] });
25
25
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NoYXJlZC90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHMUIsTUFBTSxPQUFnQixrQkFBa0I7Q0FFdkM7QUFFRDs7R0FFRztBQUVGLE1BQU0sT0FBTyx5QkFBeUI7SUFRcEMsVUFBVSxDQUFDLEdBQVcsRUFBRSxNQUFnQjtRQUN0QyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOztBQVRjLGtDQUFRLEdBQUc7SUFDeEIsc0JBQXNCLEVBQUUsT0FBTztJQUMvQixvQkFBb0IsRUFBRSxlQUFlO0lBQ3JDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsbUJBQW1CLEVBQUUsS0FBSztDQUMzQixDQUFBO3VIQU5VLHlCQUF5QjsySEFBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNsYXRpb25TZXJ2aWNlIHtcbiAgYWJzdHJhY3QgZ2V0TWVzc2FnZShrZXk6IHN0cmluZywgc2lsZW50PzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nPlxufVxuXG4vKipcbiAqIFZlcnkgYmFzaWMgaTE4biBpbXBsZW1lbnRhdGlvbi4gQ29uc3VtZXIgYXBwcyBjYW4gcHJvdmlkZSB0aGVpciBvd24gaW1wbGVtZW50YXRpb24gb2YgVHJhbnNsYXRpb25TZXJ2aWNlIHRvIG92ZXJyaWRlLlxuICovXG4gQEluamVjdGFibGUoKVxuIGV4cG9ydCBjbGFzcyBNaW5pbWFsVHJhbnNsYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgVHJhbnNsYXRpb25TZXJ2aWNlIHtcbiAgIHByaXZhdGUgc3RhdGljIG1lc3NhZ2VzID0ge1xuICAgICAnY29tbW9uLmFjdGlvbnMuY2xvc2UnOiAnQ2xvc2UnLFxuICAgICAnY29uZmlybURpYWxvZy5ib2R5JzogJ0FyZSB5b3Ugc3VyZT8nLFxuICAgICAnY29uZmlybURpYWxvZy5ubyc6ICdObycsXG4gICAgICdjb25maXJtRGlhbG9nLnllcyc6ICdZZXMnLFxuICAgfVxuXG4gICBnZXRNZXNzYWdlKGtleTogc3RyaW5nLCBzaWxlbnQ/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgcmV0dXJuIG9mKE1pbmltYWxUcmFuc2xhdGlvblNlcnZpY2UubWVzc2FnZXNba2V5XSk7XG4gICB9XG4gfVxuIl19
@@ -0,0 +1,179 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
+ import { MatPaginator } from '@angular/material/paginator';
4
+ import { MatSort } from '@angular/material/sort';
5
+ import { MatTableDataSource } from '@angular/material/table';
6
+ import { debounceTime } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/table";
9
+ import * as i2 from "@angular/material/form-field";
10
+ import * as i3 from "@angular/material/select";
11
+ import * as i4 from "@angular/material/core";
12
+ import * as i5 from "@angular/material/sort";
13
+ import * as i6 from "@angular/material/paginator";
14
+ import * as i7 from "@angular/common";
15
+ import * as i8 from "@angular/material/input";
16
+ import * as i9 from "@angular/forms";
17
+ export class FwTableComponent {
18
+ constructor(changeDetectorRef) {
19
+ this.changeDetectorRef = changeDetectorRef;
20
+ this.columns = [];
21
+ this.dataSource = [];
22
+ this.layout = 'basic';
23
+ this.pageSize = null;
24
+ this.webCompPageSize = null;
25
+ this.sort = null;
26
+ this.sortColumn = '';
27
+ this.sortOrder = 'asc';
28
+ this.displayedColumns = [];
29
+ this.filters = new FormGroup({});
30
+ // to support updating column header labels
31
+ this.trackByIndex = i => i;
32
+ }
33
+ ngOnInit() {
34
+ this.setDataSource();
35
+ this.setColumns();
36
+ this.addFilterControls();
37
+ this.setFilter();
38
+ this.matDataSource.filterPredicate = (row, filter) => {
39
+ const filters = JSON.parse(filter);
40
+ for (const filter in filters) {
41
+ const filterValue = filters[filter];
42
+ const rowValue = row[filter];
43
+ // multi-select
44
+ if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {
45
+ return false;
46
+ }
47
+ // input or select
48
+ if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue ?? '').toLowerCase())) {
49
+ return false;
50
+ }
51
+ }
52
+ return true;
53
+ };
54
+ this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());
55
+ }
56
+ ngAfterViewInit() {
57
+ this.setSort();
58
+ this.setPaginator();
59
+ }
60
+ ngOnChanges(changes) {
61
+ if (changes.columns) {
62
+ this.setColumns();
63
+ }
64
+ if (changes.dataSource) {
65
+ this.setDataSource();
66
+ }
67
+ if (changes.sort || changes.dataSource) {
68
+ this.setSort();
69
+ }
70
+ if (changes.pageSize || changes['page-size']) {
71
+ this.setPaginator();
72
+ }
73
+ }
74
+ get isCompact() {
75
+ return this.layout === 'compact';
76
+ }
77
+ get paginationSize() {
78
+ return this.pageSize || this.webCompPageSize || 0;
79
+ }
80
+ get isSortEnabled() {
81
+ return this.sort !== null;
82
+ }
83
+ addFilterControls() {
84
+ for (const column of this.columns) {
85
+ this.filters.addControl(column.key, new FormControl());
86
+ }
87
+ }
88
+ setDataSource() {
89
+ this.matDataSource = new MatTableDataSource(this.dataSource);
90
+ }
91
+ setColumns() {
92
+ this.displayedColumns = this.columns.map(column => column.key);
93
+ }
94
+ setFilter() {
95
+ this.matDataSource.filter = JSON.stringify(this.filters.value);
96
+ }
97
+ setSort() {
98
+ if (!this.matSort || this.sort === null) {
99
+ return;
100
+ }
101
+ const sortSplit = this.sort.split(' ');
102
+ this.sortColumn = sortSplit[0];
103
+ if (['asc', 'desc'].includes(sortSplit[1])) {
104
+ this.sortOrder = sortSplit[1];
105
+ }
106
+ else {
107
+ console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);
108
+ }
109
+ if (this.sortColumn) {
110
+ this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });
111
+ const sortHeader = this.matSort.sortables.get(this.sortColumn);
112
+ if (sortHeader) {
113
+ sortHeader._setAnimationTransitionState({ toState: 'active' });
114
+ }
115
+ else {
116
+ console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);
117
+ }
118
+ }
119
+ this.matDataSource.sort = this.matSort;
120
+ }
121
+ setPaginator() {
122
+ // ensures ui updates correctly when paginator options change
123
+ this.changeDetectorRef.detectChanges();
124
+ this.matDataSource.paginator = this.matPaginator;
125
+ }
126
+ // necessary for web component to trigger this.filter.valueChanges
127
+ onInputFilter(event, column) {
128
+ // defer setting filter control as event.target.value is not set yet
129
+ setTimeout(() => this.filters.get(column.key).setValue(event.target.value));
130
+ }
131
+ // necessary for web component to trigger this.filter.valueChanges
132
+ onSelectFilter(event, column) {
133
+ const innerText = event.target.innerText;
134
+ this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);
135
+ }
136
+ // necessary for web component to trigger this.filter.valueChanges
137
+ onMultiSelectFilter(event, column) {
138
+ let value = this.filters.controls[column.key].value || [];
139
+ const innerText = event.target.parentElement.innerText;
140
+ if (value.includes(innerText)) {
141
+ value = value.filter(v => v !== innerText);
142
+ }
143
+ else {
144
+ value.push(innerText);
145
+ }
146
+ this.filters.get(column.key).setValue(value.length === 1 && innerText === ''
147
+ ? null // when all checboxes have been deselected
148
+ : value);
149
+ }
150
+ }
151
+ FwTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
152
+ FwTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwTableComponent, selector: "fw-table", inputs: { columns: "columns", dataSource: "dataSource", layout: "layout", pageSize: "pageSize", webCompPageSize: ["page-size", "webCompPageSize"], sort: "sort" }, host: { properties: { "class.compact": "isCompact" }, classAttribute: "fw-table" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n", styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"], components: [{ type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i5.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.MatCellDef, selector: "[matCellDef]" }, { type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }] });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, decorators: [{
154
+ type: Component,
155
+ args: [{ host: {
156
+ 'class': 'fw-table',
157
+ '[class.compact]': 'isCompact',
158
+ }, selector: 'fw-table', template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n", styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"] }]
159
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
160
+ type: Input
161
+ }], dataSource: [{
162
+ type: Input
163
+ }], layout: [{
164
+ type: Input
165
+ }], pageSize: [{
166
+ type: Input
167
+ }], webCompPageSize: [{
168
+ type: Input,
169
+ args: ['page-size']
170
+ }], sort: [{
171
+ type: Input
172
+ }], matPaginator: [{
173
+ type: ViewChild,
174
+ args: [MatPaginator]
175
+ }], matSort: [{
176
+ type: ViewChild,
177
+ args: [MatSort]
178
+ }] } });
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFvQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBeUI5QyxNQUFNLE9BQU8sZ0JBQWdCO0lBcUIzQixZQUNVLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBckJyQyxZQUFPLEdBQWEsRUFBRSxDQUFBO1FBQ3RCLGVBQVUsR0FBVSxFQUFFLENBQUE7UUFDdEIsV0FBTSxHQUF5QixPQUFPLENBQUE7UUFDdEMsYUFBUSxHQUFHLElBQUksQ0FBQTtRQUNKLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBQ2pDLFNBQUksR0FBRyxJQUFJLENBQUE7UUFFWixlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YsY0FBUyxHQUFjLEtBQUssQ0FBQTtRQUVwQyxxQkFBZ0IsR0FBYSxFQUFFLENBQUE7UUFDL0IsWUFBTyxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBR3RDLDJDQUEyQztRQUMzQyxpQkFBWSxHQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBT3RCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDNUIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzdCLGVBQWU7Z0JBQ2YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDM0YsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7Z0JBQ0Qsa0JBQWtCO2dCQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO29CQUNwSCxPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtRQUNELElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7UUFDRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN0QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEI7UUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUN2QyxPQUFPO1NBQ1I7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQWMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLFNBQVMsQ0FBQyxDQUFDLENBQUMsK0NBQStDLENBQUMsQ0FBQztTQUMxRjtRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFrQixDQUFDO1lBQ2hGLElBQUksVUFBVSxFQUFFO2dCQUNkLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ2hFO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLElBQUksQ0FBQyxVQUFVLHlCQUF5QixDQUFDLENBQUM7YUFDdkY7U0FDRjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQUVELFlBQVk7UUFDViw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDbkQsQ0FBQztJQUVELGtFQUFrRTtJQUNsRSxhQUFhLENBQUMsS0FBb0IsRUFBRSxNQUFjO1FBQ2hELG9FQUFvRTtRQUNwRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBRSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsY0FBYyxDQUFDLEtBQWlCLEVBQUUsTUFBYztRQUM5QyxNQUFNLFNBQVMsR0FBSSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxTQUFTLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsbUJBQW1CLENBQUMsS0FBaUIsRUFBRSxNQUFjO1FBQ25ELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzFELE1BQU0sU0FBUyxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDN0UsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdCLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FDbkMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksU0FBUyxLQUFLLEVBQUU7WUFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQywwQ0FBMEM7WUFDakQsQ0FBQyxDQUFDLEtBQUssQ0FDVixDQUFDO0lBQ0osQ0FBQzs7OEdBMUpVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHFWQWtCaEIsWUFBWSwwRUFDWixPQUFPLHFFQ2pEcEIsMC9GQXVEQTs0RkR6QmEsZ0JBQWdCO2tCQVQ1QixTQUFTOzJCQUNGO3dCQUNKLE9BQU8sRUFBRSxVQUFVO3dCQUNuQixpQkFBaUIsRUFBRSxXQUFXO3FCQUMvQixZQUNTLFVBQVU7d0dBS1gsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ2MsZUFBZTtzQkFBbEMsS0FBSzt1QkFBQyxXQUFXO2dCQUNULElBQUk7c0JBQVosS0FBSztnQkFZbUIsWUFBWTtzQkFBcEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNILE9BQU87c0JBQTFCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNvcnQsIE1hdFNvcnRIZWFkZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxudHlwZSBTb3J0T3JkZXIgPSAnYXNjJyB8ICdkZXNjJ1xuXG5pbnRlcmZhY2UgQ29sdW1uRmlsdGVyIHtcbiAgY29udHJvbDogJ2lucHV0JyB8ICdzZWxlY3QnIHwgJ211bHRpLXNlbGVjdCcsXG4gIG9wdGlvbnM/OiBzdHJpbmdbXSxcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXG59XG5cbmludGVyZmFjZSBDb2x1bW4ge1xuICBsYWJlbDogc3RyaW5nLFxuICBrZXk6IHN0cmluZyxcbiAgZmlsdGVyPzogQ29sdW1uRmlsdGVyLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmdy10YWJsZScsXG4gICAgJ1tjbGFzcy5jb21wYWN0XSc6ICdpc0NvbXBhY3QnLFxuICB9LFxuICBzZWxlY3RvcjogJ2Z3LXRhYmxlJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRndUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29sdW1uczogQ29sdW1uW10gPSBbXVxuICBASW5wdXQoKSBkYXRhU291cmNlOiBhbnlbXSA9IFtdXG4gIEBJbnB1dCgpIGxheW91dD86ICdiYXNpYycgfCAnY29tcGFjdCcgPSAnYmFzaWMnXG4gIEBJbnB1dCgpIHBhZ2VTaXplID0gbnVsbFxuICBASW5wdXQoJ3BhZ2Utc2l6ZScpIHdlYkNvbXBQYWdlU2l6ZSA9IG51bGxcbiAgQElucHV0KCkgc29ydCA9IG51bGxcblxuICBwcml2YXRlIHNvcnRDb2x1bW4gPSAnJ1xuICBwcml2YXRlIHNvcnRPcmRlcjogU29ydE9yZGVyID0gJ2FzYydcblxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdXG4gIGZpbHRlcnM6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pXG4gIG1hdERhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+XG5cbiAgLy8gdG8gc3VwcG9ydCB1cGRhdGluZyBjb2x1bW4gaGVhZGVyIGxhYmVsc1xuICB0cmFja0J5SW5kZXg6IGFueSA9IGkgPT4gaVxuXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBtYXRQYWdpbmF0b3I6IE1hdFBhZ2luYXRvclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIG1hdFNvcnQ6IE1hdFNvcnRcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGFTb3VyY2UoKTtcbiAgICB0aGlzLnNldENvbHVtbnMoKTtcbiAgICB0aGlzLmFkZEZpbHRlckNvbnRyb2xzKCk7XG4gICAgdGhpcy5zZXRGaWx0ZXIoKTtcbiAgICB0aGlzLm1hdERhdGFTb3VyY2UuZmlsdGVyUHJlZGljYXRlID0gKHJvdywgZmlsdGVyKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJzID0gSlNPTi5wYXJzZShmaWx0ZXIpO1xuICAgICAgZm9yIChjb25zdCBmaWx0ZXIgaW4gZmlsdGVycykge1xuICAgICAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGZpbHRlcnNbZmlsdGVyXTtcbiAgICAgICAgY29uc3Qgcm93VmFsdWUgPSByb3dbZmlsdGVyXTtcbiAgICAgICAgLy8gbXVsdGktc2VsZWN0XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpbHRlclZhbHVlKSAmJiBmaWx0ZXJWYWx1ZS5sZW5ndGggPiAwICYmICFmaWx0ZXJWYWx1ZS5pbmNsdWRlcyhyb3dWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5wdXQgb3Igc2VsZWN0XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWx0ZXJWYWx1ZSkgJiYgIVN0cmluZyhyb3dWYWx1ZSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhTdHJpbmcoZmlsdGVyVmFsdWUgPz8gJycpLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICAgIHRoaXMuZmlsdGVycy52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0RmlsdGVyKCkpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U29ydCgpO1xuICAgIHRoaXMuc2V0UGFnaW5hdG9yKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuY29sdW1ucykge1xuICAgICAgdGhpcy5zZXRDb2x1bW5zKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuc2V0RGF0YVNvdXJjZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5zb3J0IHx8IGNoYW5nZXMuZGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5zZXRTb3J0KCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnBhZ2VTaXplIHx8IGNoYW5nZXNbJ3BhZ2Utc2l6ZSddKSB7XG4gICAgICB0aGlzLnNldFBhZ2luYXRvcigpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpc0NvbXBhY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSAnY29tcGFjdCc7XG4gIH1cblxuICBnZXQgcGFnaW5hdGlvblNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlU2l6ZSB8fCB0aGlzLndlYkNvbXBQYWdlU2l6ZSB8fCAwO1xuICB9XG5cbiAgZ2V0IGlzU29ydEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc29ydCAhPT0gbnVsbDtcbiAgfVxuXG4gIGFkZEZpbHRlckNvbnRyb2xzKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIHRoaXMuY29sdW1ucykge1xuICAgICAgdGhpcy5maWx0ZXJzLmFkZENvbnRyb2woY29sdW1uLmtleSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIH1cbiAgfVxuXG4gIHNldERhdGFTb3VyY2UoKTogdm9pZCB7XG4gICAgdGhpcy5tYXREYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmRhdGFTb3VyY2UpO1xuICB9XG5cbiAgc2V0Q29sdW1ucygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ua2V5KTtcbiAgfVxuXG4gIHNldEZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLm1hdERhdGFTb3VyY2UuZmlsdGVyID0gSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJzLnZhbHVlKTtcbiAgfVxuXG4gIHNldFNvcnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hdFNvcnQgfHwgdGhpcy5zb3J0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNvcnRTcGxpdCA9IHRoaXMuc29ydC5zcGxpdCgnICcpO1xuICAgIHRoaXMuc29ydENvbHVtbiA9IHNvcnRTcGxpdFswXTtcbiAgICBpZiAoWydhc2MnLCAnZGVzYyddLmluY2x1ZGVzKHNvcnRTcGxpdFsxXSkpIHtcbiAgICAgIHRoaXMuc29ydE9yZGVyID0gc29ydFNwbGl0WzFdIGFzIFNvcnRPcmRlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKGBTb3J0IG9yZGVyICcke3NvcnRTcGxpdFsxXX0nIGlzIG5vdCAnYXNjJyBvciAnZGVzYycsIGRlZmF1bHRpbmcgdG8gJ2FzYydgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc29ydENvbHVtbikge1xuICAgICAgdGhpcy5tYXRTb3J0LnNvcnQoeyBpZDogdGhpcy5zb3J0Q29sdW1uLCBzdGFydDogdGhpcy5zb3J0T3JkZXIsIGRpc2FibGVDbGVhcjogZmFsc2UgfSk7XG4gICAgICBjb25zdCBzb3J0SGVhZGVyID0gdGhpcy5tYXRTb3J0LnNvcnRhYmxlcy5nZXQodGhpcy5zb3J0Q29sdW1uKSBhcyBNYXRTb3J0SGVhZGVyO1xuICAgICAgaWYgKHNvcnRIZWFkZXIpIHtcbiAgICAgICAgc29ydEhlYWRlci5fc2V0QW5pbWF0aW9uVHJhbnNpdGlvblN0YXRlKHsgdG9TdGF0ZTogJ2FjdGl2ZScgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oYFVuYWJsZSB0byBmaW5kIHNvcnQgY29sdW1uICcke3RoaXMuc29ydENvbHVtbn0nLiBJbml0aWFsIHNvcnQgZmFpbGVkLmApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm1hdERhdGFTb3VyY2Uuc29ydCA9IHRoaXMubWF0U29ydDtcbiAgfVxuXG4gIHNldFBhZ2luYXRvcigpOiB2b2lkIHtcbiAgICAvLyBlbnN1cmVzIHVpIHVwZGF0ZXMgY29ycmVjdGx5IHdoZW4gcGFnaW5hdG9yIG9wdGlvbnMgY2hhbmdlXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXREYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMubWF0UGFnaW5hdG9yO1xuICB9XG5cbiAgLy8gbmVjZXNzYXJ5IGZvciB3ZWIgY29tcG9uZW50IHRvIHRyaWdnZXIgdGhpcy5maWx0ZXIudmFsdWVDaGFuZ2VzXG4gIG9uSW5wdXRGaWx0ZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGNvbHVtbjogQ29sdW1uKTogdm9pZCB7XG4gICAgLy8gZGVmZXIgc2V0dGluZyBmaWx0ZXIgY29udHJvbCBhcyBldmVudC50YXJnZXQudmFsdWUgaXMgbm90IHNldCB5ZXRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmlsdGVycy5nZXQoY29sdW1uLmtleSkuc2V0VmFsdWUoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSkpO1xuICB9XG5cbiAgLy8gbmVjZXNzYXJ5IGZvciB3ZWIgY29tcG9uZW50IHRvIHRyaWdnZXIgdGhpcy5maWx0ZXIudmFsdWVDaGFuZ2VzXG4gIG9uU2VsZWN0RmlsdGVyKGV2ZW50OiBNb3VzZUV2ZW50LCBjb2x1bW46IENvbHVtbik6IHZvaWQge1xuICAgIGNvbnN0IGlubmVyVGV4dCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuaW5uZXJUZXh0O1xuICAgIHRoaXMuZmlsdGVycy5nZXQoY29sdW1uLmtleSkuc2V0VmFsdWUoaW5uZXJUZXh0ID09PSAnLSBub25lIC0nID8gbnVsbCA6IGlubmVyVGV4dCk7XG4gIH1cblxuICAvLyBuZWNlc3NhcnkgZm9yIHdlYiBjb21wb25lbnQgdG8gdHJpZ2dlciB0aGlzLmZpbHRlci52YWx1ZUNoYW5nZXNcbiAgb25NdWx0aVNlbGVjdEZpbHRlcihldmVudDogTW91c2VFdmVudCwgY29sdW1uOiBDb2x1bW4pOiB2b2lkIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmZpbHRlcnMuY29udHJvbHNbY29sdW1uLmtleV0udmFsdWUgfHwgW107XG4gICAgY29uc3QgaW5uZXJUZXh0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5wYXJlbnRFbGVtZW50LmlubmVyVGV4dDtcbiAgICBpZiAodmFsdWUuaW5jbHVkZXMoaW5uZXJUZXh0KSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5maWx0ZXIodiA9PiB2ICE9PSBpbm5lclRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZS5wdXNoKGlubmVyVGV4dCk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVycy5nZXQoY29sdW1uLmtleSkuc2V0VmFsdWUoXG4gICAgICB2YWx1ZS5sZW5ndGggPT09IDEgJiYgaW5uZXJUZXh0ID09PSAnJ1xuICAgICAgICA/IG51bGwgLy8gd2hlbiBhbGwgY2hlY2JveGVzIGhhdmUgYmVlbiBkZXNlbGVjdGVkXG4gICAgICAgIDogdmFsdWVcbiAgICApO1xuICB9XG59XG4iLCI8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1hdERhdGFTb3VyY2VcIiBtYXRTb3J0PlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5rZXlcIj5cblxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUhlYWRlcnM+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbi5maWx0ZXI/LmNvbnRyb2xcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5wdXQnXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJmaWx0ZXJzLmdldChjb2x1bW4ua2V5KSBhcyBjb250cm9sXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCIhaXNDb21wYWN0XCI+e3sgY29sdW1uLmxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJjb2x1bW4uZmlsdGVyLnBsYWNlaG9sZGVyXCIgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBvbklucHV0RmlsdGVyKCRldmVudCwgY29sdW1uKTtcIj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImZpbHRlcnMuZ2V0KGNvbHVtbi5rZXkpIGFzIGNvbnRyb2xcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cIiFpc0NvbXBhY3RcIj57eyBjb2x1bW4ubGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwiY29sdW1uLmZpbHRlci5wbGFjZWhvbGRlclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIChjbGljayk9XCJvblNlbGVjdEZpbHRlcigkZXZlbnQsIGNvbHVtbik7XCI+LSBub25lIC08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjb2x1bW4uZmlsdGVyLm9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCIgKGNsaWNrKT1cIm9uU2VsZWN0RmlsdGVyKCRldmVudCwgY29sdW1uKTtcIj57eyBvcHRpb24gfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ211bHRpLXNlbGVjdCdcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImZpbHRlcnMuZ2V0KGNvbHVtbi5rZXkpIGFzIGNvbnRyb2xcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cIiFpc0NvbXBhY3RcIj57eyBjb2x1bW4ubGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwiY29sdW1uLmZpbHRlci5wbGFjZWhvbGRlclwiIG11bHRpcGxlPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29sdW1uLmZpbHRlci5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiIChjbGljayk9XCJvbk11bHRpU2VsZWN0RmlsdGVyKCRldmVudCwgY29sdW1uKTtcIj57eyBvcHRpb24gfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0Pnt7IGNvbHVtbi5sYWJlbCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NvcnRFbmFibGVkXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVIZWFkZXJzXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1NvcnRFbmFibGVkXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUhlYWRlcnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90aD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7eyBlbGVtZW50W2NvbHVtbi5rZXldIH19IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuPC90YWJsZT5cbjxtYXQtcGFnaW5hdG9yICpuZ0lmPVwicGFnaW5hdGlvblNpemUgPiAwXCIgW3BhZ2VTaXplXT1cInBhZ2luYXRpb25TaXplXCI+PC9tYXQtcGFnaW5hdG9yPlxuXG5cblxuIl19
@@ -10,8 +10,8 @@ import { FwTableComponent } from './table.component';
10
10
  import * as i0 from "@angular/core";
11
11
  export class FwTableModule {
12
12
  }
13
- FwTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- FwTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableModule, declarations: [FwTableComponent], imports: [CommonModule,
13
+ FwTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ FwTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, declarations: [FwTableComponent], imports: [CommonModule,
15
15
  FormsModule,
16
16
  ReactiveFormsModule,
17
17
  MatInputModule,
@@ -19,7 +19,7 @@ FwTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
19
19
  MatSelectModule,
20
20
  MatSortModule,
21
21
  MatTableModule], exports: [FwTableComponent] });
22
- FwTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableModule, imports: [[
22
+ FwTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, imports: [[
23
23
  CommonModule,
24
24
  FormsModule,
25
25
  ReactiveFormsModule,
@@ -29,7 +29,7 @@ FwTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
29
29
  MatSortModule,
30
30
  MatTableModule,
31
31
  ]] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableModule, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, decorators: [{
33
33
  type: NgModule,
34
34
  args: [{
35
35
  imports: [
@@ -14,14 +14,14 @@ class ElementAppModule {
14
14
  }
15
15
  ngDoBootstrap() { }
16
16
  }
17
- ElementAppModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementAppModule, deps: [{ token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
18
- ElementAppModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementAppModule, imports: [BrowserAnimationsModule,
17
+ ElementAppModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, deps: [{ token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
18
+ ElementAppModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, imports: [BrowserAnimationsModule,
19
19
  BrowserModule] });
20
- ElementAppModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementAppModule, imports: [[
20
+ ElementAppModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, imports: [[
21
21
  BrowserAnimationsModule,
22
22
  BrowserModule,
23
23
  ]] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementAppModule, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  imports: [
@@ -32,14 +32,14 @@ class ElementAppModule {
32
32
  }
33
33
  ngDoBootstrap() { }
34
34
  }
35
- ElementAppModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementAppModule, deps: [{ token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
36
- ElementAppModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementAppModule, imports: [BrowserAnimationsModule,
35
+ ElementAppModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, deps: [{ token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
36
+ ElementAppModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, imports: [BrowserAnimationsModule,
37
37
  BrowserModule] });
38
- ElementAppModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementAppModule, imports: [[
38
+ ElementAppModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, imports: [[
39
39
  BrowserAnimationsModule,
40
40
  BrowserModule,
41
41
  ]] });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ElementAppModule, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, decorators: [{
43
43
  type: NgModule,
44
44
  args: [{
45
45
  imports: [
@@ -82,4 +82,4 @@ function registerElements(...modules) {
82
82
  */
83
83
 
84
84
  export { registerElements };
85
- //# sourceMappingURL=flywheel-io-vision-elements.js.map
85
+ //# sourceMappingURL=flywheel-io-vision-elements.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flywheel-io-vision-elements.mjs","sources":["../../../elements/src/polyfills.ts","../../../elements/src/elements.ts","../../../elements/src/flywheel-io-vision-elements.ts"],"sourcesContent":["/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/**\n * IE11 requires the following for NgClass support on SVG elements\n */\n// import 'classlist.js'; // Run `npm install --save classlist.js`.\n\n/**\n * Web Animations `@angular/platform-browser/animations`\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\n */\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n * because those flags need to be set before `zone.js` being loaded, and webpack\n * will put import in the top of bundle, so user need to create a separate file\n * in this directory (for example: zone-flags.ts), and put the following flags\n * into that file, and then add the following code before importing zone.js.\n * import './zone-flags';\n *\n * The flags allowed in zone-flags.ts are listed here.\n *\n * The following flags will work for all browsers.\n *\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n *\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n *\n * (window as any).__Zone_enable_cross_context_check = true;\n *\n */\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\n\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\nimport 'document-register-element';\n","import './polyfills';\nimport { Compiler, DoBootstrap, enableProdMode, Injector, NgModule, Type } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nlet elementAppModule: ElementAppModule;\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n BrowserModule,\n ],\n})\nclass ElementAppModule implements DoBootstrap {\n constructor(\n public compiler: Compiler,\n public injector: Injector,\n ) {\n elementAppModule = this;\n }\n\n ngDoBootstrap(): void {}\n}\n\nfunction initializeApp(): Promise<void> {\n enableProdMode();\n return platformBrowserDynamic().bootstrapModule(ElementAppModule)\n .catch(error => {\n console.error(error);\n throw error;\n }).then(() => void 0);\n}\n\nlet initPromise: Promise<void>;\n\n// https://github.com/angular/angular/blob/a92a89b0eb127a59d7e071502b5850e57618ec2d/aio/src/app/custom-elements/elements-loader.ts#L70\nexport function registerElements(...modules: Type<unknown>[]): Promise<string[]> {\n if (!initPromise) {\n initPromise = initializeApp();\n }\n const elementSelectors = [];\n return initPromise.then(() => Promise.all(modules.map(module => {\n return elementAppModule.compiler.compileModuleAndAllComponentsAsync(module).then(compiledModule => {\n const moduleRef = compiledModule.ngModuleFactory.create(elementAppModule.injector);\n for (const { selector, componentType } of compiledModule.componentFactories) {\n if (selector.startsWith('fw-')) {\n const element = createCustomElement(componentType, { injector: moduleRef.injector });\n customElements.define(selector, element);\n elementSelectors.push(selector);\n }\n }\n });\n }))).then(() => elementSelectors);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}