@flywheel-io/vision 0.4.2 → 0.6.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 (86) hide show
  1. package/README.md +1 -19
  2. package/assets/fonts/Flywheel-Vision-Icons.svg +239 -0
  3. package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
  4. package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
  5. package/bundles/flywheel-io-vision-elements.umd.js +40 -16
  6. package/bundles/flywheel-io-vision-elements.umd.js.map +1 -1
  7. package/bundles/flywheel-io-vision.umd.js +884 -662
  8. package/bundles/flywheel-io-vision.umd.js.map +1 -1
  9. package/components/button/button.component.d.ts +3 -0
  10. package/components/button/button.module.d.ts +7 -0
  11. package/components/button-group/button-group.component.d.ts +3 -0
  12. package/components/button-group/button-group.module.d.ts +5 -0
  13. package/components/dialog/choice-dialog.component.d.ts +3 -0
  14. package/components/dialog/confirm-dialog.component.d.ts +3 -0
  15. package/components/dialog/dialog.module.d.ts +14 -0
  16. package/components/dialog/dialog.service.d.ts +3 -0
  17. package/components/dialog/error-dialog.component.d.ts +3 -0
  18. package/components/dialog/portal-dialog.component.d.ts +3 -0
  19. package/components/icon/icon.component.d.ts +5 -0
  20. package/components/icon/icon.module.d.ts +8 -0
  21. package/components/notification/notification/notification.component.d.ts +3 -0
  22. package/components/notification/notification-container/notification-container.component.d.ts +3 -0
  23. package/components/notification/notification.module.d.ts +11 -0
  24. package/components/notification/notification.service.d.ts +3 -0
  25. package/components/popover/popover-trigger.component.d.ts +3 -0
  26. package/components/popover/popover-trigger.directive.d.ts +3 -0
  27. package/components/popover/popover.component.d.ts +3 -0
  28. package/components/popover/popover.module.d.ts +8 -0
  29. package/components/shared/pipes/pipes.module.d.ts +6 -0
  30. package/components/shared/pipes/translate.pipe.d.ts +3 -0
  31. package/components/shared/pipes/trusthtml.pipe.d.ts +3 -0
  32. package/components/shared/translation.service.d.ts +3 -0
  33. package/components/table/table.component.d.ts +3 -0
  34. package/components/table/table.module.d.ts +12 -0
  35. package/elements/flywheel-io-vision-elements.d.ts +1 -0
  36. package/elements/package.json +0 -1
  37. package/esm2015/components/button/button.component.js +29 -21
  38. package/esm2015/components/button/button.module.js +27 -18
  39. package/esm2015/components/button-group/button-group.component.js +24 -20
  40. package/esm2015/components/button-group/button-group.module.js +19 -14
  41. package/esm2015/components/dialog/choice-dialog.component.js +41 -15
  42. package/esm2015/components/dialog/confirm-dialog.component.js +33 -16
  43. package/esm2015/components/dialog/dialog.module.js +58 -31
  44. package/esm2015/components/dialog/dialog.service.js +8 -8
  45. package/esm2015/components/dialog/error-dialog.component.js +30 -17
  46. package/esm2015/components/dialog/portal-dialog.component.js +43 -18
  47. package/esm2015/components/icon/icon.component.js +19 -0
  48. package/esm2015/components/icon/icon.module.js +26 -0
  49. package/esm2015/components/notification/notification/notification.component.js +31 -26
  50. package/esm2015/components/notification/notification-container/notification-container.component.js +25 -21
  51. package/esm2015/components/notification/notification.module.js +45 -26
  52. package/esm2015/components/notification/notification.service.js +9 -7
  53. package/esm2015/components/popover/popover-trigger.component.js +32 -25
  54. package/esm2015/components/popover/popover-trigger.directive.js +24 -23
  55. package/esm2015/components/popover/popover.component.js +25 -13
  56. package/esm2015/components/popover/popover.module.js +38 -25
  57. package/esm2015/components/shared/pipes/pipes.module.js +25 -13
  58. package/esm2015/components/shared/pipes/translate.pipe.js +12 -13
  59. package/esm2015/components/shared/pipes/trusthtml.pipe.js +12 -11
  60. package/esm2015/components/shared/translation.service.js +7 -4
  61. package/esm2015/components/table/table.component.js +45 -26
  62. package/esm2015/components/table/table.module.js +45 -24
  63. package/esm2015/elements/elements.js +19 -14
  64. package/esm2015/flywheel-io-vision.js +1 -5
  65. package/esm2015/public-api.js +3 -1
  66. package/fesm2015/flywheel-io-vision-elements.js +18 -13
  67. package/fesm2015/flywheel-io-vision-elements.js.map +1 -1
  68. package/fesm2015/flywheel-io-vision.js +775 -524
  69. package/fesm2015/flywheel-io-vision.js.map +1 -1
  70. package/flywheel-io-vision.d.ts +1 -4
  71. package/package.json +11 -12
  72. package/public-api.d.ts +2 -0
  73. package/scss/atoms/cards.scss +12 -0
  74. package/scss/atoms/grid.scss +21 -0
  75. package/scss/atoms/typography.scss +16 -0
  76. package/scss/icons/_icon-font-face.scss +10 -0
  77. package/scss/icons/_icon-glyphs.scss +370 -0
  78. package/scss/icons/icons.scss +3 -0
  79. package/styles.css +118 -108
  80. package/styles.scss +3 -3
  81. package/bundles/flywheel-io-vision-elements.umd.min.js +0 -2
  82. package/bundles/flywheel-io-vision-elements.umd.min.js.map +0 -1
  83. package/bundles/flywheel-io-vision.umd.min.js +0 -2
  84. package/bundles/flywheel-io-vision.umd.min.js.map +0 -1
  85. package/elements/flywheel-io-vision-elements.metadata.json +0 -1
  86. package/flywheel-io-vision.metadata.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"flywheel-io-vision.umd.js","sources":["../../../src/components/button-group/button-group.component.ts","../../../src/components/button-group/button-group.module.ts","../../../src/components/button/button.component.ts","../../../src/components/button/button.module.ts","../../../src/components/dialog/choice-dialog.component.ts","../../../src/components/dialog/confirm-dialog.component.ts","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/error-dialog.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../src/components/dialog/portal-dialog.component.ts","../../../src/components/shared/translation.service.ts","../../../src/components/shared/pipes/translate.pipe.ts","../../../src/components/shared/pipes/trusthtml.pipe.ts","../../../src/components/shared/pipes/pipes.module.ts","../../../src/components/dialog/dialog.module.ts","../../../src/components/notification/notification.service.ts","../../../src/components/notification/notification-container/notification-container.component.ts","../../../src/components/notification/notification-timer.service.ts","../../../src/components/notification/notification/notification.model.ts","../../../src/components/notification/notification/notification.component.ts","../../../src/components/notification/notification.module.ts","../../../src/components/popover/popover-trigger.directive.ts","../../../src/components/popover/popover-trigger.component.ts","../../../src/components/popover/popover.component.ts","../../../src/components/popover/popover.module.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.module.ts","../../../src/flywheel-io-vision.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n host: {\n 'class': 'fw-button-group',\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.compact]': 'layout === \"compact\"',\n },\n selector: 'fw-button-group',\n styleUrls: [ './button-group.component.scss' ],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwButtonGroupComponent {\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() size?: 'small' | 'medium' | 'large' = 'medium'\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n exports: [\n FwButtonGroupComponent,\n ],\n declarations: [\n FwButtonGroupComponent,\n ],\n entryComponents: [\n FwButtonGroupComponent,\n ]\n})\nexport class FwButtonGroupModule {}","import { Component, Input } from '@angular/core';\nimport type { ThemePalette } from '@angular/material/core';\n\n@Component({\n host: {\n 'class': 'fw-button',\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.compact]': 'layout === \"compact\"',\n },\n selector: 'fw-button',\n styleUrls: ['./button.component.scss'],\n templateUrl: './button.component.html',\n})\nexport class FwButtonComponent {\n @Input() color?: ThemePalette\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() size?: 'small' | 'medium' | 'large' = 'medium'\n @Input() type?: 'basic' | 'flat' | 'raised' | 'stroked' = 'basic'\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { FwButtonComponent } from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n ],\n exports: [\n FwButtonComponent,\n ],\n declarations: [\n FwButtonComponent,\n ],\n entryComponents: [\n FwButtonComponent,\n ],\n})\nexport class FwButtonModule {}\n","import { Component, Inject } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\ninterface Choice {\n color?: ThemePalette\n label: string\n testId?: string\n value: any\n variant?: 'raised' | 'stroked' | 'flat'\n}\n\nexport interface FwChoiceDialogData {\n alignActions: 'start' | 'center' | 'end'\n choices: Choice[]\n content: string\n title?: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'choice-dialog',\n },\n selector: 'fw-choice-dialog',\n template: `\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content>{{ content }}</div>\n <div mat-dialog-actions [align]=\"alignActions\">\n <ng-container *ngFor=\"let choice of choices\" [ngSwitch]=\"choice.variant\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <ng-container *ngSwitchDefault>\n <button *ngIf=\"choice.color\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngIf=\"!choice.color\" mat-stroked-button [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n </ng-container>\n </ng-container>\n </div>\n `,\n})\nexport class FwChoiceDialog {\n alignActions = this.data.alignActions\n ? this.data.alignActions === 'start'\n ? null\n : this.data.alignActions\n : 'center'\n choices = this.data.choices\n content = this.data.content\n title = this.data.title\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwChoiceDialogData,\n ) {}\n\n getTestId(choice): string {\n return choice.testId || `${String(choice.label ?? choice.value).toLowerCase()}-button`;\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nexport interface FwConfirmDialogData {\n title?: string,\n content?: string,\n html?: string,\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'confirm-dialog',\n },\n selector: 'fw-confirm-dialog',\n template: `\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content *ngIf=\"html\" class=\"markup\" [innerHTML]=\"html | trusthtml\"></div>\n <div mat-dialog-content *ngIf=\"!html\">{{ content || ('confirmDialog.body' | translate ) }}</div>\n <div mat-dialog-actions align=\"center\">\n <button test-id=\"no-button\" mat-stroked-button [mat-dialog-close]=\"false\">{{ 'confirmDialog.no' | translate }}</button>\n <button test-id=\"yes-button\" mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\">{{ 'confirmDialog.yes' | translate }}</button>\n </div>\n `,\n styles: [`\n [mat-dialog-content] {\n text-align: center;\n }\n [mat-dialog-content].markup {\n text-align: inherit;\n }\n `],\n})\nexport class FwConfirmDialog {\n title = this.data.title\n content = this.data.content\n html = this.data.html\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwConfirmDialogData,\n ) {}\n}\n","\nimport { Injectable, Type } from '@angular/core';\nimport {\n MatDialog,\n MatDialogConfig,\n MatDialogRef,\n} from '@angular/material/dialog';\n\n/*\n* type StackingStrategy\n* allow - will allow multiple instances of the same dialog to display at once\n* replace - will close existing dialogs of the same type and open a new one\n* ignore - will keep a dialog of the same type open\n*/\nexport type StackingStrategy = 'allow' | 'replace' | 'ignore'\nexport interface DialogConfig<T> extends MatDialogConfig<T> {\n multi: StackingStrategy\n}\nexport interface OpenDialog<T> {\n component: Type<T>\n ref: MatDialogRef<T>\n}\n\n@Injectable()\nexport class FwDialogService {\n readonly dialogs: OpenDialog<any>[] = [];\n\n private config = new Map<Type<unknown>, DialogConfig<unknown>>();\n\n constructor(\n private matDialog: MatDialog,\n ) {}\n\n closeAll(component?: Type<unknown>): void {\n if (component) {\n this.dialogs\n .filter((el) => el.component === component)\n .forEach((el) => el.ref.close());\n } else {\n this.matDialog.closeAll();\n }\n }\n\n open<T, D, R>(component: Type<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R> {\n const index = this.dialogs.findIndex(el => el.component === component);\n let ref: MatDialogRef<T, R> = null;\n const baseConfig = {\n multi: 'allow',\n ...this.config.get(component),\n };\n\n switch (baseConfig.multi) {\n case 'ignore':\n // if an existing dialog of the same type doesn't exist, open one\n if (index === -1) {\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n }\n break;\n case 'replace':\n // if an existing dialog of the same type exists, replace it.\n if (index > -1) {\n this.dialogs[index].ref.close();\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.splice(index, 1, { component, ref });\n } else {\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n }\n break;\n default:\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n break;\n }\n\n if (ref) {\n ref.afterClosed().subscribe(() => {\n // clean up open dialog reference\n const index = this.dialogs.findIndex(el => el.ref === ref);\n if (index >= 0) {\n this.dialogs.splice(index, 1);\n }\n });\n }\n\n return ref;\n }\n\n registerDialog(component: Type<unknown>, config: DialogConfig<unknown>): void {\n this.config.set(component, config);\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nexport interface FwErrorDialogData {\n message: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'error-dialog',\n },\n selector: 'fw-error-dialog',\n template: `\n <div mat-dialog-content>{{ message }}</div>\n <div mat-dialog-actions align=\"end\">\n <button test-id=\"close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </div>\n `,\n})\nexport class FwErrorDialog {\n public message = this.data.message\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwErrorDialogData,\n private ref: MatDialogRef<FwErrorDialog>,\n ) {\n this.ref.disableClose = false;\n }\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ComponentRef, EventEmitter, Inject, OnDestroy, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\ninterface ComponentSpec {\n type: ComponentType<unknown>,\n inputs?: Record<string, unknown>\n outputs?: Record<string, (value: unknown) => void>\n}\n\nexport interface FwPortalDialogData {\n component?: ComponentSpec\n content?: string\n template?: TemplateRef<unknown>\n title?: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'portal-dialog',\n },\n selector: 'fw-portal-dialog',\n template: `\n <ng-container *ngIf=\"title\">\n <h1 mat-dialog-title>{{ title }}</h1>\n <button test-id=\"dialog-close-corner\" mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n </ng-container>\n <mat-dialog-content>\n <p *ngIf=\"content\" class=\"content\">{{ content }}</p>\n <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-template>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button test-id=\"dialog-close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </mat-dialog-actions>\n `,\n styles: [`\n :host {\n min-width: 200px;\n }\n .content {\n margin-bottom: 30px;\n }\n `],\n})\nexport class FwPortalDialog implements OnDestroy {\n content = this.data.content\n portal: Portal<any>\n title = this.data.title\n\n private destroyed$ = new Subject()\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwPortalDialogData,\n private viewContainerRef: ViewContainerRef,\n ) {\n if (this.data.component) {\n this.portal = new ComponentPortal(this.data.component.type, this.viewContainerRef);\n } else if (this.data.template) {\n this.portal = new TemplatePortal(this.data.template, this.viewContainerRef);\n } else {\n throw new Error('One of [component, template] was not provided.');\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n }\n\n attached(ref: CdkPortalOutletAttachedRef): void {\n if (this.data.component) {\n ref = ref as ComponentRef<any>;\n if (this.data.component.outputs) {\n for (const [key, observer] of Object.entries(this.data.component.outputs)) {\n const output$: EventEmitter<unknown> = ref[key];\n if (typeof output$?.pipe === 'function' && typeof output$.subscribe === 'function') {\n output$.pipe(takeUntil(this.destroyed$)).subscribe(observer);\n }\n }\n }\n if (this.data.component.inputs) {\n const changes: SimpleChanges = {};\n for (const [key, value] of Object.entries(this.data.component.inputs)) {\n ref.instance[key] = value;\n changes[key] = new SimpleChange(value, value, true);\n }\n ref.instance.ngOnChanges?.(changes);\n ref.changeDetectorRef.markForCheck();\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nexport abstract class TranslationService {\n abstract getMessage(key: string, silent?: boolean): Observable<string>\n}\n\n/**\n * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.\n */\n @Injectable()\n export class MinimalTranslationService implements TranslationService {\n private static messages = {\n 'common.actions.close': 'Close',\n 'confirmDialog.body': 'Are you sure?',\n 'confirmDialog.no': 'No',\n 'confirmDialog.yes': 'Yes',\n }\n\n getMessage(key: string, silent?: boolean): Observable<string> {\n return of(MinimalTranslationService.messages[key]);\n }\n }\n","import { ChangeDetectorRef, OnDestroy } from '@angular/core';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TranslationService } from '../translation.service';\n\n/**\n * Translate a message given a nested key to a location in the loaded locale copy.\n */\n @Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private subscriptions: { [key: string]: Subscription } = {}\n private messages: { [key: string]: string } = {}\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translationService: TranslationService,\n ) {}\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n transform(key: string, silent = false): string {\n if (!(key in this.subscriptions)) {\n this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {\n this.messages[key] = message;\n // trigger change detection to support components with ChangeDetectionStrategy.OnPush\n this.cdr.markForCheck();\n });\n }\n return this.messages[key] || '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trusthtml',\n pure: true,\n})\nexport class TrustHtmlPipe implements PipeTransform {\n constructor (private sanitizer: DomSanitizer) { }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { TranslatePipe } from './translate.pipe';\nimport { TranslationService, MinimalTranslationService } from '../translation.service';\nimport { TrustHtmlPipe } from './trusthtml.pipe';\n\nconst exports = [\n TranslatePipe,\n TrustHtmlPipe,\n];\n\n@NgModule({\n declarations: exports,\n exports: exports,\n providers: [\n {\n provide: TranslationService,\n useClass: MinimalTranslationService,\n },\n ],\n})\nexport class PipesModule {}\n\nexport { TranslationService }\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FwChoiceDialog } from './choice-dialog.component';\nimport { FwConfirmDialog } from './confirm-dialog.component';\nimport { FwDialogService } from './dialog.service';\nimport { FwErrorDialog } from './error-dialog.component';\nimport { FwPortalDialog } from './portal-dialog.component';\nimport { PipesModule } from '../shared/pipes/pipes.module';\n\n@NgModule({\n declarations: [\n FwChoiceDialog,\n FwConfirmDialog,\n FwErrorDialog,\n FwPortalDialog,\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n PipesModule,\n PortalModule,\n ],\n providers: [\n FwDialogService,\n {\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\n useValue: {\n disableClose: true,\n hasBackdrop: true,\n }\n }\n ],\n})\nexport class FwDialogModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Notification } from './notification/notification.model';\n\nexport function genId(): string {\n return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FwNotificationService {\n readonly notifications$ = new BehaviorSubject<Notification[]>([]);\n private notificationQueue: Notification[] = [];\n\n show(notification: Notification): void {\n if (!notification.id) {\n notification.id = genId();\n }\n\n this.notificationQueue.push(notification);\n this.notifications$.next(this.notificationQueue);\n }\n\n dismiss(notificationId: string): void {\n this.notificationQueue = this.notificationQueue.filter((v) => v.id !== notificationId);\n this.notifications$.next(this.notificationQueue);\n }\n\n dismissAll(): void {\n this.notificationQueue = [];\n this.notifications$.next(this.notificationQueue);\n }\n}\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwNotificationService } from '../notification.service';\nimport { FwNotificationComponent } from '../notification/notification.component';\nimport { Notification } from '../notification/notification.model';\n\n@Component({\n host: {\n 'class': 'fw-notification-container',\n '[class.duo]': 'notifications.length === 2',\n '[class.triple]': 'notifications.length >= 3',\n },\n selector: 'fw-notification-container',\n templateUrl: './notification-container.component.html',\n styleUrls: ['./notification-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwNotificationContainerComponent implements OnDestroy {\n limit = 3\n notifications: Notification[] = []\n expanded = false\n\n private subscriptions = {\n notifications: Subscription.EMPTY,\n }\n\n constructor(private cdr: ChangeDetectorRef, private notificationService: FwNotificationService) {\n this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications: Notification[]) => {\n this.notifications = notifications;\n if (notifications.length === 0) {\n this.expanded = false;\n }\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n notificationClass(index: number): string {\n let cssClass: string;\n const level = this.notifications.length > this.limit\n ? index - (this.notifications.length - this.limit)\n : index;\n\n if (this.expanded) {\n cssClass = 'default';\n } else {\n cssClass = level >= 0 ? `level-${level}` : 'hidden';\n }\n\n return cssClass;\n }\n\n getEmptyNotification(notification: Notification): Notification {\n return { ...notification, message: ' ' }; // take up a line but show no content\n }\n\n onReady(notification: FwNotificationComponent): void {\n const currentNotification = this.notifications[this.notifications.length - 1];\n currentNotification.ref = notification;\n notification.startTimer();\n }\n\n onDismiss(notificationId: string): void {\n const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);\n if (notification?.ref) {\n notification.ref.stopTimer();\n }\n if (notification?.id) {\n this.notificationService.dismiss(notification.id);\n }\n this.cdr.markForCheck();\n }\n\n clearAll(): void {\n this.notificationService.dismissAll();\n this.cdr.markForCheck();\n }\n\n onShowMore(): void {\n this.expanded = true;\n this.cdr.markForCheck();\n }\n\n onShowLess(): void {\n this.expanded = false;\n this.cdr.markForCheck();\n }\n}\n","export class FwNotificationTimerService {\n private timerId: number;\n private now = 0;\n private remainingDuration = 0;\n private resolver: () => void;\n\n start(duration: number): Promise<void> {\n return new Promise<void>((resolve) => {\n this.remainingDuration = duration;\n this.resolver = resolve;\n this.continue();\n });\n }\n\n stop(): void {\n clearTimeout(this.timerId);\n this.remainingDuration = 0;\n }\n\n pause(): void {\n clearTimeout(this.timerId);\n this.remainingDuration =\n this.remainingDuration - new Date().getTime() - this.now;\n }\n\n continue(): void {\n this.now = new Date().getTime();\n this.timerId = window.setTimeout(() => {\n this.resolver();\n }, this.remainingDuration);\n }\n}\n","import { FwNotificationComponent } from './notification.component';\n\nexport enum FwNotificationType {\n Error = 'error',\n Info = 'info',\n Success = 'success',\n Wait = 'wait',\n Warning = 'warning',\n}\n\nexport interface Notification {\n id?: string\n message: string\n type: FwNotificationType\n ref?: FwNotificationComponent\n}","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { FwNotificationTimerService } from '../notification-timer.service';\nimport { FwNotificationType, Notification } from './notification.model';\n\n@Component({\n host: {\n '(click)': 'onClickDismiss()'\n },\n selector: 'fw-notification',\n styleUrls: [ './notification.component.scss' ],\n template: `{{ notification?.message }}`,\n providers: [FwNotificationTimerService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class FwNotificationComponent implements AfterViewInit {\n @Input() notification: Notification\n @Input() notificationDuration: number = 9000;\n @Output() ready = new EventEmitter<FwNotificationComponent>()\n @Output() dismiss = new EventEmitter<string>()\n\n @HostBinding('class') get cssClass() {\n let cssClass = 'fw-notification';\n switch (this.notification?.type) {\n case FwNotificationType.Error:\n return cssClass += ' error';\n case FwNotificationType.Info:\n return cssClass += ' info';\n case FwNotificationType.Success:\n return cssClass += ' success';\n case FwNotificationType.Wait:\n return cssClass += ' wait';\n case FwNotificationType.Warning:\n return cssClass += ' warning';\n default:\n return cssClass;\n }\n }\n\n constructor(private cdr: ChangeDetectorRef, private timerService: FwNotificationTimerService) {}\n\n ngAfterViewInit(): void {\n this.ready.emit(this);\n this.cdr.markForCheck();\n }\n\n startTimer(): void {\n this.timerService.start(this.notificationDuration).then(() => {\n this.onClickDismiss();\n this.cdr.markForCheck();\n });\n }\n\n stopTimer(): void {\n this.timerService.stop();\n this.cdr.markForCheck();\n }\n\n onClickDismiss(): void {\n this.dismiss.emit(this.notification.id);\n this.cdr.markForCheck();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FwButtonGroupModule } from '../button-group/button-group.module';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwNotificationContainerComponent } from './notification-container/notification-container.component';\nimport { FwNotificationService } from './notification.service';\nimport { FwNotificationComponent } from './notification/notification.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwButtonGroupModule,\n MatButtonModule,\n MatIconModule,\n ],\n exports: [\n FwNotificationComponent,\n FwNotificationContainerComponent\n ],\n declarations: [\n FwNotificationComponent,\n FwNotificationContainerComponent,\n ],\n entryComponents: [\n FwNotificationComponent,\n ],\n providers: [\n FwNotificationService,\n ]\n})\nexport class FwNotificationModule {}","import { ConnectedOverlayPositionChange, ConnectedPosition, FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Directive, ElementRef, Input, OnChanges, OnDestroy, SimpleChanges, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwPopoverComponent } from './popover.component';\n\nexport type FwPopoverPosition = 'left' | 'right' | 'above' | 'below' | 'before' | 'after';\n\n@Directive({\n host: {\n 'class': 'fw-popover-trigger',\n '(mouseenter)': 'showPopover()',\n '(mouseleave)': 'hidePopover($event)',\n },\n selector: '[fwPopoverTriggerFor]',\n exportAs: 'fwPopoverTrigger',\n})\nexport class FwPopoverTriggerDirective implements OnChanges, OnDestroy {\n public popoverId: string\n private popoverMargin = 15\n private fallbackPosition: FwPopoverPosition\n private mainPosition: FwPopoverPosition\n private overlayRef: OverlayRef\n private positionMap: { [key: string]: ConnectedPosition } = {\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n }\n\n @Input('fwPopoverTriggerFor') popover: FwPopoverComponent\n @Input('fwPopoverPosition') position: FwPopoverPosition = 'below'\n\n private subscriptions = {\n positionChanges: Subscription.EMPTY,\n };\n\n constructor(\n public element: ElementRef,\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.position && this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n ngOnDestroy(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n showPopover(): void {\n if (this.popover?.templateRef) {\n this.getOverlay().attach(new TemplatePortal(this.popover.templateRef, this.viewContainerRef));\n }\n }\n\n hidePopover(e: MouseEvent): void {\n if (!(e.relatedTarget as HTMLElement)?.classList.contains('fw-popover-panel')) {\n this.getOverlay().detach();\n }\n }\n\n private setPopoverCaretPosition(position: FwPopoverPosition): void {\n const caret = this.overlayRef.overlayElement.querySelector('.fw-popover-caret') as HTMLElement;\n const caretRect = this.overlayRef.overlayElement.getBoundingClientRect();\n const triggerRect = this.element.nativeElement.getBoundingClientRect();\n (this.overlayRef.overlayElement.querySelector('.fw-popover-content-wrapper') as HTMLElement).style.margin = `${this.popoverMargin}px`;\n if (['left', 'right', 'before', 'after'].includes(position)) {\n caret.style.top = `${triggerRect.top - caretRect.top - this.popoverMargin + (triggerRect.height / 2)}px`;\n } else {\n caret.style.left = `${triggerRect.left - caretRect.left - this.popoverMargin + (triggerRect.width / 2)}px`;\n }\n }\n\n private setPopoverPosition(positionChange: ConnectedOverlayPositionChange): void {\n const position = this.positionMap[this.mainPosition] === positionChange.connectionPair\n ? this.mainPosition\n : this.positionMap[this.fallbackPosition] === positionChange.connectionPair\n ? this.fallbackPosition\n : this.mainPosition;\n this.overlayRef.removePanelClass(['fw-popover-above', 'fw-popover-below', 'fw-popover-left', 'fw-popover-right']);\n this.overlayRef.addPanelClass(`fw-popover-${position}`);\n this.setPopoverCaretPosition(position);\n }\n\n public getOverlay(): OverlayRef {\n if (!this.overlayRef) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(this.element)\n .withPositions(this.getPositions()),\n panelClass: 'fw-popover-panel',\n });\n this.overlayRef.overlayElement.addEventListener('mouseleave', e => this.hidePopover(e));\n this.subscriptions.positionChanges = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy).positionChanges\n .subscribe(positionChange => this.setPopoverPosition(positionChange));\n }\n return this.overlayRef;\n }\n\n private getMainPosition(): FwPopoverPosition {\n return this.mainPosition =\n ['left', 'before'].includes(this.position)\n ? 'left'\n : ['right', 'after'].includes(this.position)\n ? 'right'\n : this.position === 'above'\n ? 'above'\n : 'below';\n }\n\n private getFallbackPosition(): FwPopoverPosition {\n return this.fallbackPosition =\n ['left', 'before'].includes(this.position)\n ? 'right'\n : ['right', 'after'].includes(this.position)\n ? 'left'\n : this.position === 'above'\n ? 'below'\n : 'above';\n }\n\n private getPositions(): ConnectedPosition[] {\n return [\n // main position\n this.positionMap[this.getMainPosition()],\n // fallback position (inverse of main)\n this.positionMap[this.getFallbackPosition()],\n ];\n }\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { ElementRef, Input, ViewContainerRef } from '@angular/core';\n\nimport { FwPopoverPosition, FwPopoverTriggerDirective } from './popover-trigger.directive';\n\n@Component({\n host: {\n 'class': 'fw-popover-trigger',\n '(mouseenter)': 'showPopover()',\n '(mouseleave)': 'hidePopover($event)',\n },\n selector: 'fw-popover-trigger',\n template: `<ng-content></ng-content>\n <!-- for web component support -->\n <ng-template>\n <div [innerHTML]=\"popoverHTML\"></div>\n </ng-template>`,\n})\nexport class FwPopoverTriggerComponent extends FwPopoverTriggerDirective {\n @Input('trigger-for') popoverId: string\n @Input('position') position: FwPopoverPosition = 'below'\n\n // for web component support\n @ViewChild(TemplateRef) popoverTemplateRef: TemplateRef<any> // eslint-disable-line @typescript-eslint/no-explicit-any\n popoverHTML: string\n\n constructor(\n public element: ElementRef,\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n ) {\n super(element, overlay, viewContainerRef);\n }\n\n showPopover(): void {\n const overlay = this.getOverlay();\n overlay.detach();\n if (this.popoverId) {\n // as a web component it is not possible to have a reference to this.popover\n this.popoverHTML = document.querySelector(`fw-popover#${this.popoverId}`).innerHTML;\n overlay.attach(new TemplatePortal(this.popoverTemplateRef, this.viewContainerRef));\n }\n }\n}\n","import { Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n host: { 'class': 'fw-popover' },\n selector: 'fw-popover',\n styleUrls: [ './popover.component.scss' ],\n template: `\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-template #content>\n <div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div class=\"fw-popover-caret\"></div>\n </div>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwPopoverComponent {\n // Used for TemplatePortal in ./popover-trigger.directive.ts\n @ViewChild('content') templateRef: TemplateRef<any> // eslint-disable-line @typescript-eslint/no-explicit-any\n}\n","import { CommonModule } from '@angular/common';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\n\nimport { FwPopoverTriggerComponent } from './popover-trigger.component';\nimport { FwPopoverTriggerDirective } from './popover-trigger.directive';\nimport { FwPopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n FwPopoverTriggerDirective,\n ],\n declarations: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n FwPopoverTriggerDirective,\n ],\n entryComponents: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwPopoverModule {}\n","import { ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, MatSortHeader } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { debounceTime } from 'rxjs/operators';\n\ntype SortOrder = 'asc' | 'desc'\n\ninterface ColumnFilter {\n control: 'input' | 'select' | 'multi-select',\n options?: string[],\n placeholder?: string,\n}\n\ninterface Column {\n label: string,\n key: string,\n filter?: ColumnFilter,\n}\n\n@Component({\n host: {\n 'class': 'fw-table',\n '[class.compact]': 'isCompact',\n },\n selector: 'fw-table',\n styleUrls: ['./table.component.scss'],\n templateUrl: './table.component.html',\n})\nexport class FwTableComponent implements OnInit, OnChanges {\n @Input() columns: Column[] = []\n @Input() dataSource: any[] = []\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() pageSize = null\n @Input('page-size') webCompPageSize = null\n @Input() sort = null\n\n private sortColumn = ''\n private sortOrder: SortOrder = 'asc'\n\n displayedColumns: string[] = []\n filters: FormGroup = new FormGroup({})\n matDataSource: MatTableDataSource<any>\n\n // to support updating column header labels\n trackByIndex: any = i => i\n\n @ViewChild(MatPaginator) matPaginator: MatPaginator\n @ViewChild(MatSort) matSort: MatSort\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n ) { }\n\n ngOnInit(): void {\n this.setDataSource();\n this.setColumns();\n this.addFilterControls();\n this.setFilter();\n this.matDataSource.filterPredicate = (row, filter) => {\n const filters = JSON.parse(filter);\n for (const filter in filters) {\n const filterValue = filters[filter];\n const rowValue = row[filter];\n // multi-select\n if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {\n return false;\n }\n // input or select\n if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue ?? '').toLowerCase())) {\n return false;\n }\n }\n return true;\n };\n this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());\n }\n\n ngAfterViewInit(): void {\n this.setSort();\n this.setPaginator();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columns) {\n this.setColumns();\n }\n if (changes.dataSource) {\n this.setDataSource();\n }\n if (changes.sort || changes.dataSource) {\n this.setSort();\n }\n if (changes.pageSize || changes['page-size']) {\n this.setPaginator();\n }\n }\n\n get isCompact(): boolean {\n return this.layout === 'compact';\n }\n\n get paginationSize(): number {\n return this.pageSize || this.webCompPageSize || 0;\n }\n\n get isSortEnabled(): boolean {\n return this.sort !== null;\n }\n\n addFilterControls(): void {\n for (const column of this.columns) {\n this.filters.addControl(column.key, new FormControl());\n }\n }\n\n setDataSource(): void {\n this.matDataSource = new MatTableDataSource(this.dataSource);\n }\n\n setColumns(): void {\n this.displayedColumns = this.columns.map(column => column.key);\n }\n\n setFilter(): void {\n this.matDataSource.filter = JSON.stringify(this.filters.value);\n }\n\n setSort(): void {\n if (!this.matSort || this.sort === null) {\n return;\n }\n const sortSplit = this.sort.split(' ');\n this.sortColumn = sortSplit[0];\n if (['asc', 'desc'].includes(sortSplit[1])) {\n this.sortOrder = sortSplit[1] as SortOrder;\n } else {\n console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);\n }\n if (this.sortColumn) {\n this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });\n const sortHeader = this.matSort.sortables.get(this.sortColumn) as MatSortHeader;\n if (sortHeader) {\n sortHeader._setAnimationTransitionState({ toState: 'active' });\n } else {\n console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);\n }\n }\n this.matDataSource.sort = this.matSort;\n }\n\n setPaginator(): void {\n // ensures ui updates correctly when paginator options change\n this.changeDetectorRef.detectChanges();\n this.matDataSource.paginator = this.matPaginator;\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onInputFilter(event: KeyboardEvent, column: Column): void {\n // defer setting filter control as event.target.value is not set yet\n setTimeout(() => this.filters.get(column.key).setValue((event.target as HTMLInputElement).value));\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onSelectFilter(event: MouseEvent, column: Column): void {\n const innerText = (event.target as HTMLInputElement).innerText;\n this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onMultiSelectFilter(event: MouseEvent, column: Column): void {\n let value = this.filters.controls[column.key].value || [];\n const innerText = (event.target as HTMLInputElement).parentElement.innerText;\n if (value.includes(innerText)) {\n value = value.filter(v => v !== innerText);\n } else {\n value.push(innerText);\n }\n this.filters.get(column.key).setValue(\n value.length === 1 && innerText === ''\n ? null // when all checboxes have been deselected\n : value\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\n\nimport { FwTableComponent } from './table.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatInputModule,\n MatPaginatorModule,\n MatSelectModule,\n MatSortModule,\n MatTableModule,\n ],\n exports: [\n FwTableComponent,\n ],\n declarations: [\n FwTableComponent,\n ],\n entryComponents: [\n FwTableComponent,\n ]\n})\nexport class FwTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {FwNotificationTimerService as ɵd} from './components/notification/notification-timer.service';\nexport {PipesModule as ɵa} from './components/shared/pipes/pipes.module';\nexport {TranslatePipe as ɵb} from './components/shared/pipes/translate.pipe';\nexport {TrustHtmlPipe as ɵc} from './components/shared/pipes/trusthtml.pipe';"],"names":["Component","ViewEncapsulation","Input","NgModule","CommonModule","MatButtonModule","Inject","MAT_DIALOG_DATA","Injectable","MatDialog","MatDialogRef","Subject","ComponentPortal","TemplatePortal","takeUntil","SimpleChange","ViewContainerRef","of","Pipe","ChangeDetectorRef","DomSanitizer","exports","MatDialogModule","MatIconModule","PortalModule","MAT_DIALOG_DEFAULT_OPTIONS","BehaviorSubject","Subscription","ChangeDetectionStrategy","FwNotificationType","EventEmitter","Output","HostBinding","Directive","ElementRef","Overlay","ViewChild","TemplateRef","FormGroup","debounceTime","FormControl","MatTableDataSource","MatPaginator","MatSort","FormsModule","ReactiveFormsModule","MatInputModule","MatPaginatorModule","MatSelectModule","MatSortModule","MatTableModule"],"mappings":"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"}
1
+ {"version":3,"file":"flywheel-io-vision.umd.js","sources":["../../../src/components/button-group/button-group.component.ts","../../../src/components/button-group/button-group.module.ts","../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/button/button.module.ts","../../../src/components/dialog/choice-dialog.component.ts","../../../src/components/shared/pipes/trusthtml.pipe.ts","../../../node_modules/tslib/tslib.es6.js","../../../src/components/shared/translation.service.ts","../../../src/components/shared/pipes/translate.pipe.ts","../../../src/components/dialog/confirm-dialog.component.ts","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/error-dialog.component.ts","../../../src/components/dialog/portal-dialog.component.ts","../../../src/components/shared/pipes/pipes.module.ts","../../../src/components/dialog/dialog.module.ts","../../../src/components/icon/icon.component.ts","../../../src/components/icon/icon.module.ts","../../../src/components/notification/notification.service.ts","../../../src/components/notification/notification-timer.service.ts","../../../src/components/notification/notification/notification.model.ts","../../../src/components/notification/notification/notification.component.ts","../../../src/components/notification/notification-container/notification-container.component.ts","../../../src/components/notification/notification-container/notification-container.component.html","../../../src/components/notification/notification.module.ts","../../../src/components/popover/popover-trigger.directive.ts","../../../src/components/popover/popover-trigger.component.ts","../../../src/components/popover/popover.component.ts","../../../src/components/popover/popover.module.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.component.html","../../../src/components/table/table.module.ts","../../../src/flywheel-io-vision.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n host: {\n 'class': 'fw-button-group',\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.compact]': 'layout === \"compact\"',\n },\n selector: 'fw-button-group',\n styleUrls: [ './button-group.component.scss' ],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwButtonGroupComponent {\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() size?: 'small' | 'medium' | 'large' = 'medium'\n}\n","import { NgModule } from '@angular/core';\n\nimport { FwButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n exports: [\n FwButtonGroupComponent,\n ],\n declarations: [\n FwButtonGroupComponent,\n ],\n entryComponents: [\n FwButtonGroupComponent,\n ]\n})\nexport class FwButtonGroupModule {}","import { Component, Input } from '@angular/core';\nimport type { ThemePalette } from '@angular/material/core';\n\n@Component({\n host: {\n 'class': 'fw-button',\n '[class.small]': 'size === \"small\"',\n '[class.medium]': 'size === \"medium\"',\n '[class.large]': 'size === \"large\"',\n '[class.compact]': 'layout === \"compact\"',\n },\n selector: 'fw-button',\n styleUrls: ['./button.component.scss'],\n templateUrl: './button.component.html',\n})\nexport class FwButtonComponent {\n @Input() color?: ThemePalette\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() size?: 'small' | 'medium' | 'large' = 'medium'\n @Input() type?: 'basic' | 'flat' | 'raised' | 'stroked' = 'basic'\n}\n","<ng-container [ngSwitch]=\"type\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchDefault mat-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { FwButtonComponent } from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n ],\n exports: [\n FwButtonComponent,\n ],\n declarations: [\n FwButtonComponent,\n ],\n entryComponents: [\n FwButtonComponent,\n ],\n})\nexport class FwButtonModule {}\n","import { Component, Inject } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\ninterface Choice {\n color?: ThemePalette\n label: string\n testId?: string\n value: any\n variant?: 'raised' | 'stroked' | 'flat'\n}\n\nexport interface FwChoiceDialogData {\n alignActions: 'start' | 'center' | 'end'\n choices: Choice[]\n content: string\n title?: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'choice-dialog',\n },\n selector: 'fw-choice-dialog',\n template: `\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content>{{ content }}</div>\n <div mat-dialog-actions [align]=\"alignActions\">\n <ng-container *ngFor=\"let choice of choices\" [ngSwitch]=\"choice.variant\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <ng-container *ngSwitchDefault>\n <button *ngIf=\"choice.color\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngIf=\"!choice.color\" mat-stroked-button [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n </ng-container>\n </ng-container>\n </div>\n `,\n})\nexport class FwChoiceDialog {\n alignActions = this.data.alignActions\n ? this.data.alignActions === 'start'\n ? null\n : this.data.alignActions\n : 'center'\n choices = this.data.choices\n content = this.data.content\n title = this.data.title\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwChoiceDialogData,\n ) {}\n\n getTestId(choice): string {\n return choice.testId || `${String(choice.label ?? choice.value).toLowerCase()}-button`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'trusthtml',\n pure: true,\n})\nexport class TrustHtmlPipe implements PipeTransform {\n constructor (private sanitizer: DomSanitizer) { }\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { of } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nexport abstract class TranslationService {\n abstract getMessage(key: string, silent?: boolean): Observable<string>\n}\n\n/**\n * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.\n */\n @Injectable()\n export class MinimalTranslationService implements TranslationService {\n private static messages = {\n 'common.actions.close': 'Close',\n 'confirmDialog.body': 'Are you sure?',\n 'confirmDialog.no': 'No',\n 'confirmDialog.yes': 'Yes',\n }\n\n getMessage(key: string, silent?: boolean): Observable<string> {\n return of(MinimalTranslationService.messages[key]);\n }\n }\n","import { ChangeDetectorRef, OnDestroy } from '@angular/core';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { TranslationService } from '../translation.service';\n\n/**\n * Translate a message given a nested key to a location in the loaded locale copy.\n */\n @Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private subscriptions: { [key: string]: Subscription } = {}\n private messages: { [key: string]: string } = {}\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translationService: TranslationService,\n ) {}\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n transform(key: string, silent = false): string {\n if (!(key in this.subscriptions)) {\n this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {\n this.messages[key] = message;\n // trigger change detection to support components with ChangeDetectionStrategy.OnPush\n this.cdr.markForCheck();\n });\n }\n return this.messages[key] || '';\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nexport interface FwConfirmDialogData {\n title?: string,\n content?: string,\n html?: string,\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'confirm-dialog',\n },\n selector: 'fw-confirm-dialog',\n template: `\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content *ngIf=\"html\" class=\"markup\" [innerHTML]=\"html | trusthtml\"></div>\n <div mat-dialog-content *ngIf=\"!html\">{{ content || ('confirmDialog.body' | translate ) }}</div>\n <div mat-dialog-actions align=\"center\">\n <button test-id=\"no-button\" mat-stroked-button [mat-dialog-close]=\"false\">{{ 'confirmDialog.no' | translate }}</button>\n <button test-id=\"yes-button\" mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\">{{ 'confirmDialog.yes' | translate }}</button>\n </div>\n `,\n styles: [`\n [mat-dialog-content] {\n text-align: center;\n }\n [mat-dialog-content].markup {\n text-align: inherit;\n }\n `],\n})\nexport class FwConfirmDialog {\n title = this.data.title\n content = this.data.content\n html = this.data.html\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwConfirmDialogData,\n ) {}\n}\n","\nimport { Injectable, Type } from '@angular/core';\nimport {\n MatDialog,\n MatDialogConfig,\n MatDialogRef,\n} from '@angular/material/dialog';\n\n/*\n* type StackingStrategy\n* allow - will allow multiple instances of the same dialog to display at once\n* replace - will close existing dialogs of the same type and open a new one\n* ignore - will keep a dialog of the same type open\n*/\nexport type StackingStrategy = 'allow' | 'replace' | 'ignore'\nexport interface DialogConfig<T> extends MatDialogConfig<T> {\n multi: StackingStrategy\n}\nexport interface OpenDialog<T> {\n component: Type<T>\n ref: MatDialogRef<T>\n}\n\n@Injectable()\nexport class FwDialogService {\n readonly dialogs: OpenDialog<any>[] = [];\n\n private config = new Map<Type<unknown>, DialogConfig<unknown>>();\n\n constructor(\n private matDialog: MatDialog,\n ) {}\n\n closeAll(component?: Type<unknown>): void {\n if (component) {\n this.dialogs\n .filter((el) => el.component === component)\n .forEach((el) => el.ref.close());\n } else {\n this.matDialog.closeAll();\n }\n }\n\n open<T, D, R>(component: Type<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R> {\n const index = this.dialogs.findIndex(el => el.component === component);\n let ref: MatDialogRef<T, R> = null;\n const baseConfig = {\n multi: 'allow',\n ...this.config.get(component),\n };\n\n switch (baseConfig.multi) {\n case 'ignore':\n // if an existing dialog of the same type doesn't exist, open one\n if (index === -1) {\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n }\n break;\n case 'replace':\n // if an existing dialog of the same type exists, replace it.\n if (index > -1) {\n this.dialogs[index].ref.close();\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.splice(index, 1, { component, ref });\n } else {\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n }\n break;\n default:\n ref = this.matDialog.open(component, { ...baseConfig, ...config });\n this.dialogs.push({ component, ref });\n break;\n }\n\n if (ref) {\n ref.afterClosed().subscribe(() => {\n // clean up open dialog reference\n const index = this.dialogs.findIndex(el => el.ref === ref);\n if (index >= 0) {\n this.dialogs.splice(index, 1);\n }\n });\n }\n\n return ref;\n }\n\n registerDialog(component: Type<unknown>, config: DialogConfig<unknown>): void {\n this.config.set(component, config);\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nexport interface FwErrorDialogData {\n message: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'error-dialog',\n },\n selector: 'fw-error-dialog',\n template: `\n <div mat-dialog-content>{{ message }}</div>\n <div mat-dialog-actions align=\"end\">\n <button test-id=\"close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </div>\n `,\n})\nexport class FwErrorDialog {\n public message = this.data.message\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwErrorDialogData,\n private ref: MatDialogRef<FwErrorDialog>,\n ) {\n this.ref.disableClose = false;\n }\n}\n","import { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ComponentRef, EventEmitter, Inject, OnDestroy, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\ninterface ComponentSpec {\n type: ComponentType<unknown>,\n inputs?: Record<string, unknown>\n outputs?: Record<string, (value: unknown) => void>\n}\n\nexport interface FwPortalDialogData {\n component?: ComponentSpec\n content?: string\n template?: TemplateRef<unknown>\n title?: string\n}\n\n@Component({\n host: {\n class: 'mat-dialog-component',\n 'test-id': 'portal-dialog',\n },\n selector: 'fw-portal-dialog',\n template: `\n <ng-container *ngIf=\"title\">\n <h1 mat-dialog-title>{{ title }}</h1>\n <button test-id=\"dialog-close-corner\" mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n </ng-container>\n <mat-dialog-content>\n <p *ngIf=\"content\" class=\"content\">{{ content }}</p>\n <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-template>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button test-id=\"dialog-close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </mat-dialog-actions>\n `,\n styles: [`\n :host {\n min-width: 200px;\n }\n .content {\n margin-bottom: 30px;\n }\n `],\n})\nexport class FwPortalDialog implements OnDestroy {\n content = this.data.content\n portal: Portal<any>\n title = this.data.title\n\n private destroyed$ = new Subject()\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: FwPortalDialogData,\n private viewContainerRef: ViewContainerRef,\n ) {\n if (this.data.component) {\n this.portal = new ComponentPortal(this.data.component.type, this.viewContainerRef);\n } else if (this.data.template) {\n this.portal = new TemplatePortal(this.data.template, this.viewContainerRef);\n } else {\n throw new Error('One of [component, template] was not provided.');\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n }\n\n attached(ref: CdkPortalOutletAttachedRef): void {\n if (this.data.component) {\n ref = ref as ComponentRef<any>;\n if (this.data.component.outputs) {\n for (const [key, observer] of Object.entries(this.data.component.outputs)) {\n const output$: EventEmitter<unknown> = ref[key];\n if (typeof output$?.pipe === 'function' && typeof output$.subscribe === 'function') {\n output$.pipe(takeUntil(this.destroyed$)).subscribe(observer);\n }\n }\n }\n if (this.data.component.inputs) {\n const changes: SimpleChanges = {};\n for (const [key, value] of Object.entries(this.data.component.inputs)) {\n ref.instance[key] = value;\n changes[key] = new SimpleChange(value, value, true);\n }\n ref.instance.ngOnChanges?.(changes);\n ref.changeDetectorRef.markForCheck();\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { TranslatePipe } from './translate.pipe';\nimport { TranslationService, MinimalTranslationService } from '../translation.service';\nimport { TrustHtmlPipe } from './trusthtml.pipe';\n\nconst exports = [\n TranslatePipe,\n TrustHtmlPipe,\n];\n\n@NgModule({\n declarations: exports,\n exports: exports,\n providers: [\n {\n provide: TranslationService,\n useClass: MinimalTranslationService,\n },\n ],\n})\nexport class PipesModule {}\n\nexport { TranslationService }\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FwChoiceDialog } from './choice-dialog.component';\nimport { FwConfirmDialog } from './confirm-dialog.component';\nimport { FwDialogService } from './dialog.service';\nimport { FwErrorDialog } from './error-dialog.component';\nimport { FwPortalDialog } from './portal-dialog.component';\nimport { PipesModule } from '../shared/pipes/pipes.module';\n\n@NgModule({\n declarations: [\n FwChoiceDialog,\n FwConfirmDialog,\n FwErrorDialog,\n FwPortalDialog,\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n PipesModule,\n PortalModule,\n ],\n providers: [\n FwDialogService,\n {\n provide: MAT_DIALOG_DEFAULT_OPTIONS,\n useValue: {\n disableClose: true,\n hasBackdrop: true,\n }\n }\n ],\n})\nexport class FwDialogModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n host: {\n 'role': 'img',\n 'class': 'vision-icon', // apply icon font to glyph content\n },\n selector: 'fw-icon',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwIconComponent {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FwIconComponent } from './icon.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwIconComponent,\n ],\n declarations: [\n FwIconComponent,\n ],\n})\nexport class FwIconModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Notification } from './notification/notification.model';\n\nexport function genId(): string {\n return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FwNotificationService {\n readonly notifications$ = new BehaviorSubject<Notification[]>([]);\n private notificationQueue: Notification[] = [];\n\n show(notification: Notification): void {\n if (!notification.id) {\n notification.id = genId();\n }\n\n this.notificationQueue.push(notification);\n this.notifications$.next(this.notificationQueue);\n }\n\n dismiss(notificationId: string): void {\n this.notificationQueue = this.notificationQueue.filter((v) => v.id !== notificationId);\n this.notifications$.next(this.notificationQueue);\n }\n\n dismissAll(): void {\n this.notificationQueue = [];\n this.notifications$.next(this.notificationQueue);\n }\n}\n\n","export class FwNotificationTimerService {\n private timerId: number;\n private now = 0;\n private remainingDuration = 0;\n private resolver: () => void;\n\n start(duration: number): Promise<void> {\n return new Promise<void>((resolve) => {\n this.remainingDuration = duration;\n this.resolver = resolve;\n this.continue();\n });\n }\n\n stop(): void {\n clearTimeout(this.timerId);\n this.remainingDuration = 0;\n }\n\n pause(): void {\n clearTimeout(this.timerId);\n this.remainingDuration =\n this.remainingDuration - new Date().getTime() - this.now;\n }\n\n continue(): void {\n this.now = new Date().getTime();\n this.timerId = window.setTimeout(() => {\n this.resolver();\n }, this.remainingDuration);\n }\n}\n","import { FwNotificationComponent } from './notification.component';\n\nexport enum FwNotificationType {\n Error = 'error',\n Info = 'info',\n Success = 'success',\n Wait = 'wait',\n Warning = 'warning',\n}\n\nexport interface Notification {\n id?: string\n message: string\n type: FwNotificationType\n ref?: FwNotificationComponent\n}","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { FwNotificationTimerService } from '../notification-timer.service';\nimport { FwNotificationType, Notification } from './notification.model';\n\n@Component({\n host: {\n '(click)': 'onClickDismiss()'\n },\n selector: 'fw-notification',\n styleUrls: [ './notification.component.scss' ],\n template: `{{ notification?.message }}`,\n providers: [FwNotificationTimerService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class FwNotificationComponent implements AfterViewInit {\n @Input() notification: Notification\n @Input() notificationDuration: number = 9000;\n @Output() ready = new EventEmitter<FwNotificationComponent>()\n @Output() dismiss = new EventEmitter<string>()\n\n @HostBinding('class') get cssClass() {\n let cssClass = 'fw-notification';\n switch (this.notification?.type) {\n case FwNotificationType.Error:\n return cssClass += ' error';\n case FwNotificationType.Info:\n return cssClass += ' info';\n case FwNotificationType.Success:\n return cssClass += ' success';\n case FwNotificationType.Wait:\n return cssClass += ' wait';\n case FwNotificationType.Warning:\n return cssClass += ' warning';\n default:\n return cssClass;\n }\n }\n\n constructor(private cdr: ChangeDetectorRef, private timerService: FwNotificationTimerService) {}\n\n ngAfterViewInit(): void {\n this.ready.emit(this);\n this.cdr.markForCheck();\n }\n\n startTimer(): void {\n this.timerService.start(this.notificationDuration).then(() => {\n this.onClickDismiss();\n this.cdr.markForCheck();\n });\n }\n\n stopTimer(): void {\n this.timerService.stop();\n this.cdr.markForCheck();\n }\n\n onClickDismiss(): void {\n this.dismiss.emit(this.notification.id);\n this.cdr.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwNotificationService } from '../notification.service';\nimport { FwNotificationComponent } from '../notification/notification.component';\nimport { Notification } from '../notification/notification.model';\n\n@Component({\n host: {\n 'class': 'fw-notification-container',\n '[class.duo]': 'notifications.length === 2',\n '[class.triple]': 'notifications.length >= 3',\n },\n selector: 'fw-notification-container',\n templateUrl: './notification-container.component.html',\n styleUrls: ['./notification-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FwNotificationContainerComponent implements OnDestroy {\n limit = 3\n notifications: Notification[] = []\n expanded = false\n\n private subscriptions = {\n notifications: Subscription.EMPTY,\n }\n\n constructor(private cdr: ChangeDetectorRef, private notificationService: FwNotificationService) {\n this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications: Notification[]) => {\n this.notifications = notifications;\n if (notifications.length === 0) {\n this.expanded = false;\n }\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n notificationClass(index: number): string {\n let cssClass: string;\n const level = this.notifications.length > this.limit\n ? index - (this.notifications.length - this.limit)\n : index;\n\n if (this.expanded) {\n cssClass = 'default';\n } else {\n cssClass = level >= 0 ? `level-${level}` : 'hidden';\n }\n\n return cssClass;\n }\n\n getEmptyNotification(notification: Notification): Notification {\n return { ...notification, message: ' ' }; // take up a line but show no content\n }\n\n onReady(notification: FwNotificationComponent): void {\n const currentNotification = this.notifications[this.notifications.length - 1];\n currentNotification.ref = notification;\n notification.startTimer();\n }\n\n onDismiss(notificationId: string): void {\n const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);\n if (notification?.ref) {\n notification.ref.stopTimer();\n }\n if (notification?.id) {\n this.notificationService.dismiss(notification.id);\n }\n this.cdr.markForCheck();\n }\n\n clearAll(): void {\n this.notificationService.dismissAll();\n this.cdr.markForCheck();\n }\n\n onShowMore(): void {\n this.expanded = true;\n this.cdr.markForCheck();\n }\n\n onShowLess(): void {\n this.expanded = false;\n this.cdr.markForCheck();\n }\n}\n","<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" mat-button aria-label=\"show more\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button (click)=\"clearAll()\" mat-button class=\"clear-all\" aria-label=\"clear all\" layout=\"compact\" size=\"small\">\n Clear All\n </fw-button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FwButtonGroupModule } from '../button-group/button-group.module';\nimport { FwButtonModule } from '../button/button.module';\nimport { FwNotificationContainerComponent } from './notification-container/notification-container.component';\nimport { FwNotificationService } from './notification.service';\nimport { FwNotificationComponent } from './notification/notification.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FwButtonModule,\n FwButtonGroupModule,\n MatButtonModule,\n MatIconModule,\n ],\n exports: [\n FwNotificationComponent,\n FwNotificationContainerComponent\n ],\n declarations: [\n FwNotificationComponent,\n FwNotificationContainerComponent,\n ],\n entryComponents: [\n FwNotificationComponent,\n ],\n providers: [\n FwNotificationService,\n ]\n})\nexport class FwNotificationModule {}","import { ConnectedOverlayPositionChange, ConnectedPosition, FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Directive, ElementRef, Input, OnChanges, OnDestroy, SimpleChanges, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { FwPopoverComponent } from './popover.component';\n\nexport type FwPopoverPosition = 'left' | 'right' | 'above' | 'below' | 'before' | 'after';\n\n@Directive({\n host: {\n 'class': 'fw-popover-trigger',\n '(mouseenter)': 'showPopover()',\n '(mouseleave)': 'hidePopover($event)',\n },\n selector: '[fwPopoverTriggerFor]',\n exportAs: 'fwPopoverTrigger',\n})\nexport class FwPopoverTriggerDirective implements OnChanges, OnDestroy {\n public popoverId: string\n private popoverMargin = 15\n private fallbackPosition: FwPopoverPosition\n private mainPosition: FwPopoverPosition\n private overlayRef: OverlayRef\n private positionMap: { [key: string]: ConnectedPosition } = {\n 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },\n 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },\n 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },\n 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },\n }\n\n @Input('fwPopoverTriggerFor') popover: FwPopoverComponent\n @Input('fwPopoverPosition') position: FwPopoverPosition = 'below'\n\n private subscriptions = {\n positionChanges: Subscription.EMPTY,\n };\n\n constructor(\n public element: ElementRef,\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.position && this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n ngOnDestroy(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n for (const subscription of Object.values(this.subscriptions)) {\n subscription.unsubscribe();\n }\n }\n\n showPopover(): void {\n if (this.popover?.templateRef) {\n this.getOverlay().attach(new TemplatePortal(this.popover.templateRef, this.viewContainerRef));\n }\n }\n\n hidePopover(e: MouseEvent): void {\n if (!(e.relatedTarget as HTMLElement)?.classList.contains('fw-popover-panel')) {\n this.getOverlay().detach();\n }\n }\n\n private setPopoverCaretPosition(position: FwPopoverPosition): void {\n const caret = this.overlayRef.overlayElement.querySelector('.fw-popover-caret') as HTMLElement;\n const caretRect = this.overlayRef.overlayElement.getBoundingClientRect();\n const triggerRect = this.element.nativeElement.getBoundingClientRect();\n (this.overlayRef.overlayElement.querySelector('.fw-popover-content-wrapper') as HTMLElement).style.margin = `${this.popoverMargin}px`;\n if (['left', 'right', 'before', 'after'].includes(position)) {\n caret.style.top = `${triggerRect.top - caretRect.top - this.popoverMargin + (triggerRect.height / 2)}px`;\n } else {\n caret.style.left = `${triggerRect.left - caretRect.left - this.popoverMargin + (triggerRect.width / 2)}px`;\n }\n }\n\n private setPopoverPosition(positionChange: ConnectedOverlayPositionChange): void {\n const position = this.positionMap[this.mainPosition] === positionChange.connectionPair\n ? this.mainPosition\n : this.positionMap[this.fallbackPosition] === positionChange.connectionPair\n ? this.fallbackPosition\n : this.mainPosition;\n this.overlayRef.removePanelClass(['fw-popover-above', 'fw-popover-below', 'fw-popover-left', 'fw-popover-right']);\n this.overlayRef.addPanelClass(`fw-popover-${position}`);\n this.setPopoverCaretPosition(position);\n }\n\n public getOverlay(): OverlayRef {\n if (!this.overlayRef) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(this.element)\n .withPositions(this.getPositions()),\n panelClass: 'fw-popover-panel',\n });\n this.overlayRef.overlayElement.addEventListener('mouseleave', e => this.hidePopover(e));\n this.subscriptions.positionChanges = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy).positionChanges\n .subscribe(positionChange => this.setPopoverPosition(positionChange));\n }\n return this.overlayRef;\n }\n\n private getMainPosition(): FwPopoverPosition {\n return this.mainPosition =\n ['left', 'before'].includes(this.position)\n ? 'left'\n : ['right', 'after'].includes(this.position)\n ? 'right'\n : this.position === 'above'\n ? 'above'\n : 'below';\n }\n\n private getFallbackPosition(): FwPopoverPosition {\n return this.fallbackPosition =\n ['left', 'before'].includes(this.position)\n ? 'right'\n : ['right', 'after'].includes(this.position)\n ? 'left'\n : this.position === 'above'\n ? 'below'\n : 'above';\n }\n\n private getPositions(): ConnectedPosition[] {\n return [\n // main position\n this.positionMap[this.getMainPosition()],\n // fallback position (inverse of main)\n this.positionMap[this.getFallbackPosition()],\n ];\n }\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, TemplateRef, ViewChild } from '@angular/core';\nimport { ElementRef, Input, ViewContainerRef } from '@angular/core';\n\nimport { FwPopoverPosition, FwPopoverTriggerDirective } from './popover-trigger.directive';\n\n@Component({\n host: {\n 'class': 'fw-popover-trigger',\n '(mouseenter)': 'showPopover()',\n '(mouseleave)': 'hidePopover($event)',\n },\n selector: 'fw-popover-trigger',\n template: `<ng-content></ng-content>\n <!-- for web component support -->\n <ng-template>\n <div [innerHTML]=\"popoverHTML\"></div>\n </ng-template>`,\n})\nexport class FwPopoverTriggerComponent extends FwPopoverTriggerDirective {\n @Input('trigger-for') popoverId: string\n @Input('position') position: FwPopoverPosition = 'below'\n\n // for web component support\n @ViewChild(TemplateRef) popoverTemplateRef: TemplateRef<any> // eslint-disable-line @typescript-eslint/no-explicit-any\n popoverHTML: string\n\n constructor(\n public element: ElementRef,\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n ) {\n super(element, overlay, viewContainerRef);\n }\n\n showPopover(): void {\n const overlay = this.getOverlay();\n overlay.detach();\n if (this.popoverId) {\n // as a web component it is not possible to have a reference to this.popover\n this.popoverHTML = document.querySelector(`fw-popover#${this.popoverId}`).innerHTML;\n overlay.attach(new TemplatePortal(this.popoverTemplateRef, this.viewContainerRef));\n }\n }\n}\n","import { Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n host: { 'class': 'fw-popover' },\n selector: 'fw-popover',\n styleUrls: [ './popover.component.scss' ],\n template: `\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-template #content>\n <div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div class=\"fw-popover-caret\"></div>\n </div>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FwPopoverComponent {\n // Used for TemplatePortal in ./popover-trigger.directive.ts\n @ViewChild('content') templateRef: TemplateRef<any> // eslint-disable-line @typescript-eslint/no-explicit-any\n}\n","import { CommonModule } from '@angular/common';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\n\nimport { FwPopoverTriggerComponent } from './popover-trigger.component';\nimport { FwPopoverTriggerDirective } from './popover-trigger.directive';\nimport { FwPopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n FwPopoverTriggerDirective,\n ],\n declarations: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n FwPopoverTriggerDirective,\n ],\n entryComponents: [\n FwPopoverComponent,\n FwPopoverTriggerComponent,\n ],\n providers: [\n Overlay,\n ],\n})\nexport class FwPopoverModule {}\n","import { ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, MatSortHeader } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { debounceTime } from 'rxjs/operators';\n\ntype SortOrder = 'asc' | 'desc'\n\ninterface ColumnFilter {\n control: 'input' | 'select' | 'multi-select',\n options?: string[],\n placeholder?: string,\n}\n\ninterface Column {\n label: string,\n key: string,\n filter?: ColumnFilter,\n}\n\n@Component({\n host: {\n 'class': 'fw-table',\n '[class.compact]': 'isCompact',\n },\n selector: 'fw-table',\n styleUrls: ['./table.component.scss'],\n templateUrl: './table.component.html',\n})\nexport class FwTableComponent implements OnInit, OnChanges {\n @Input() columns: Column[] = []\n @Input() dataSource: any[] = []\n @Input() layout?: 'basic' | 'compact' = 'basic'\n @Input() pageSize = null\n @Input('page-size') webCompPageSize = null\n @Input() sort = null\n\n private sortColumn = ''\n private sortOrder: SortOrder = 'asc'\n\n displayedColumns: string[] = []\n filters: FormGroup = new FormGroup({})\n matDataSource: MatTableDataSource<any>\n\n // to support updating column header labels\n trackByIndex: any = i => i\n\n @ViewChild(MatPaginator) matPaginator: MatPaginator\n @ViewChild(MatSort) matSort: MatSort\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n ) { }\n\n ngOnInit(): void {\n this.setDataSource();\n this.setColumns();\n this.addFilterControls();\n this.setFilter();\n this.matDataSource.filterPredicate = (row, filter) => {\n const filters = JSON.parse(filter);\n for (const filter in filters) {\n const filterValue = filters[filter];\n const rowValue = row[filter];\n // multi-select\n if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {\n return false;\n }\n // input or select\n if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue ?? '').toLowerCase())) {\n return false;\n }\n }\n return true;\n };\n this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());\n }\n\n ngAfterViewInit(): void {\n this.setSort();\n this.setPaginator();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columns) {\n this.setColumns();\n }\n if (changes.dataSource) {\n this.setDataSource();\n }\n if (changes.sort || changes.dataSource) {\n this.setSort();\n }\n if (changes.pageSize || changes['page-size']) {\n this.setPaginator();\n }\n }\n\n get isCompact(): boolean {\n return this.layout === 'compact';\n }\n\n get paginationSize(): number {\n return this.pageSize || this.webCompPageSize || 0;\n }\n\n get isSortEnabled(): boolean {\n return this.sort !== null;\n }\n\n addFilterControls(): void {\n for (const column of this.columns) {\n this.filters.addControl(column.key, new FormControl());\n }\n }\n\n setDataSource(): void {\n this.matDataSource = new MatTableDataSource(this.dataSource);\n }\n\n setColumns(): void {\n this.displayedColumns = this.columns.map(column => column.key);\n }\n\n setFilter(): void {\n this.matDataSource.filter = JSON.stringify(this.filters.value);\n }\n\n setSort(): void {\n if (!this.matSort || this.sort === null) {\n return;\n }\n const sortSplit = this.sort.split(' ');\n this.sortColumn = sortSplit[0];\n if (['asc', 'desc'].includes(sortSplit[1])) {\n this.sortOrder = sortSplit[1] as SortOrder;\n } else {\n console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);\n }\n if (this.sortColumn) {\n this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });\n const sortHeader = this.matSort.sortables.get(this.sortColumn) as MatSortHeader;\n if (sortHeader) {\n sortHeader._setAnimationTransitionState({ toState: 'active' });\n } else {\n console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);\n }\n }\n this.matDataSource.sort = this.matSort;\n }\n\n setPaginator(): void {\n // ensures ui updates correctly when paginator options change\n this.changeDetectorRef.detectChanges();\n this.matDataSource.paginator = this.matPaginator;\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onInputFilter(event: KeyboardEvent, column: Column): void {\n // defer setting filter control as event.target.value is not set yet\n setTimeout(() => this.filters.get(column.key).setValue((event.target as HTMLInputElement).value));\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onSelectFilter(event: MouseEvent, column: Column): void {\n const innerText = (event.target as HTMLInputElement).innerText;\n this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);\n }\n\n // necessary for web component to trigger this.filter.valueChanges\n onMultiSelectFilter(event: MouseEvent, column: Column): void {\n let value = this.filters.controls[column.key].value || [];\n const innerText = (event.target as HTMLInputElement).parentElement.innerText;\n if (value.includes(innerText)) {\n value = value.filter(v => v !== innerText);\n } else {\n value.push(innerText);\n }\n this.filters.get(column.key).setValue(\n value.length === 1 && innerText === ''\n ? null // when all checboxes have been deselected\n : value\n );\n }\n}\n","<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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\n\nimport { FwTableComponent } from './table.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatInputModule,\n MatPaginatorModule,\n MatSelectModule,\n MatSortModule,\n MatTableModule,\n ],\n exports: [\n FwTableComponent,\n ],\n declarations: [\n FwTableComponent,\n ],\n entryComponents: [\n FwTableComponent,\n ]\n})\nexport class FwTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Component","ViewEncapsulation","Input","NgModule","i1","i2","CommonModule","MatButtonModule","MAT_DIALOG_DATA","i3","Inject","Pipe","of","Injectable","i1.TranslationService","i4.TrustHtmlPipe","i5.TranslatePipe","i3.TranslatePipe","Subject","ComponentPortal","TemplatePortal","takeUntil","SimpleChange","i4","i5","i6.TranslatePipe","exports","MatDialogModule","MatIconModule","PortalModule","MAT_DIALOG_DEFAULT_OPTIONS","ChangeDetectionStrategy","BehaviorSubject","FwNotificationType","EventEmitter","i1.FwNotificationTimerService","Output","HostBinding","Subscription","i1.FwNotificationService","i2.FwNotificationComponent","i3.FwButtonComponent","Directive","TemplateRef","ViewChild","Overlay","FormGroup","debounceTime","FormControl","MatTableDataSource","MatPaginator","MatSort","i6","i7","i8","i9","FormsModule","ReactiveFormsModule","MatInputModule","MatPaginatorModule","MatSelectModule","MatSortModule","MatTableModule"],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import type { ThemePalette } from '@angular/material/core';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class FwButtonComponent {
3
4
  color?: ThemePalette;
4
5
  layout?: 'basic' | 'compact';
5
6
  size?: 'small' | 'medium' | 'large';
6
7
  type?: 'basic' | 'flat' | 'raised' | 'stroked';
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwButtonComponent, "fw-button", never, { "color": "color"; "layout": "layout"; "size": "size"; "type": "type"; }, {}, never, ["*"]>;
7
10
  }