@flywheel-io/vision 0.2.3 → 0.3.1
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.
- package/bundles/flywheel-io-vision-elements.umd.js +12 -3
- package/bundles/flywheel-io-vision-elements.umd.js.map +1 -1
- package/bundles/flywheel-io-vision-elements.umd.min.js +1 -15
- package/bundles/flywheel-io-vision-elements.umd.min.js.map +1 -1
- package/bundles/flywheel-io-vision.umd.js +31 -21
- package/bundles/flywheel-io-vision.umd.js.map +1 -1
- package/bundles/flywheel-io-vision.umd.min.js +1 -16
- package/bundles/flywheel-io-vision.umd.min.js.map +1 -1
- package/components/notification/notification-container/notification-container.component.d.ts +2 -2
- package/esm2015/components/notification/notification/notification.component.js +3 -3
- package/esm2015/components/notification/notification-container/notification-container.component.js +18 -17
- package/esm2015/components/popover/popover.component.js +1 -1
- package/fesm2015/flywheel-io-vision.js +20 -19
- package/fesm2015/flywheel-io-vision.js.map +1 -1
- package/flywheel-io-vision.metadata.json +1 -1
- package/package.json +12 -12
- package/scss/config/colors.scss +87 -87
- package/scss/config/config.scss +1 -1
- package/scss/config/theme.scss +34 -34
- package/styles.css +446 -291
- package/styles.scss +11 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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","../../../node_modules/tslib/tslib.es6.js","../../../src/components/notification/notification.service.ts","../../../src/components/notification/notification-container/notification-container.component.ts","../../../src/components/notification/notification/notification.model.ts","../../../src/components/notification/notification-timer.service.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"],"names":["this","layout","size","Component","args","host","class","[class.small]","[class.medium]","[class.large]","[class.compact]","selector","template","encapsulation","ViewEncapsulation","None","Input","NgModule","exports","FwButtonGroupComponent","declarations","entryComponents","type","imports","CommonModule","MatButtonModule","FwButtonComponent","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","TypeError","genId","String","padStart","Math","floor","random","Date","now","toString","FwNotificationService","notifications$","BehaviorSubject","notificationQueue","show","notification","id","push","dismiss","notificationId","filter","v","dismissAll","Injectable","providedIn","FwNotificationContainerComponent","cdr","notificationService","_this","limit","notifications","showMore","showLess","subscriptions","Subscription","EMPTY","subscribe","markForCheck","ngOnDestroy","_b","values","_c","unsubscribe","notificationClass","index","level","onReady","ref","startTimer","onDismiss","find","currentNotification","stopTimer","clearAll","onShowMore","onShowLess","[class.duo]","[class.triple]","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","FwNotificationType","FwNotificationTimerService","remainingDuration","start","duration","Promise","resolve","resolver","continue","stop","clearTimeout","timerId","pause","getTime","window","setTimeout","FwNotificationComponent","timerService","notificationDuration","ready","EventEmitter","defineProperty","cssClass","_a","Error","Info","Success","Wait","Warning","ngAfterViewInit","emit","then","onClickDismiss","(click)","providers","Output","HostBinding","FwButtonModule","FwButtonGroupModule","MatIconModule","FwPopoverTriggerDirective","element","overlay","viewContainerRef","popoverMargin","positionMap","left","originX","originY","overlayX","overlayY","right","above","below","position","positionChanges","ngOnChanges","changes","overlayRef","dispose","_d","showPopover","popover","templateRef","getOverlay","attach","TemplatePortal","hidePopover","e","relatedTarget","classList","contains","detach","setPopoverCaretPosition","caret","overlayElement","querySelector","caretRect","getBoundingClientRect","triggerRect","nativeElement","style","margin","includes","top","height","width","setPopoverPosition","positionChange","mainPosition","connectionPair","fallbackPosition","removePanelClass","addPanelClass","positionStrategy","flexibleConnectedTo","withPositions","getPositions","panelClass","addEventListener","getConfig","getMainPosition","getFallbackPosition","Directive","(mouseenter)","(mouseleave)","exportAs","ElementRef","Overlay","ViewContainerRef","FwPopoverTriggerComponent","_super","__","constructor","__extends","popoverId","popoverHTML","document","innerHTML","popoverTemplateRef","ViewChild","TemplateRef","FwPopoverComponent","FwTableComponent","changeDetectorRef","columns","dataSource","pageSize","webCompPageSize","sort","sortColumn","sortOrder","displayedColumns","filters","FormGroup","trackByIndex","ngOnInit","setDataSource","setColumns","addFilterControls","setFilter","matDataSource","filterPredicate","row","JSON","parse","filter_1","filterValue","rowValue","isArray","toLowerCase","valueChanges","pipe","debounceTime","setSort","setPaginator","column","addControl","key","FormControl","MatTableDataSource","map","stringify","matSort","sortSplit","split","console","warn","disableClear","sortHeader","sortables","get","_setAnimationTransitionState","toState","detectChanges","paginator","matPaginator","onInputFilter","event","setValue","target","onSelectFilter","innerText","onMultiSelectFilter","controls","parentElement","MatPaginator","MatSort","FormsModule","ReactiveFormsModule","MatInputModule","MatPaginatorModule","MatSelectModule","MatSortModule","MatTableModule"],"mappings":"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","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","/*! *****************************************************************************\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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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 || 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","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 showMore = false;\n showLess = 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 this.showMore = this.notifications.length > 1;\n this.showLess = false;\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.showLess) {\n cssClass = 'default';\n } else {\n cssClass = level >= 0 ? `level-${level}` : 'hidden';\n }\n\n return cssClass;\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) {\n notification.ref.stopTimer();\n }\n\n this.notificationService.dismiss(notification.id);\n this.cdr.markForCheck();\n }\n\n clearAll(): void {\n this.showMore = false;\n this.showLess = false;\n this.notificationService.dismissAll();\n this.cdr.markForCheck();\n }\n\n onShowMore(): void {\n this.showLess = true;\n this.showMore = false;\n this.cdr.markForCheck();\n }\n\n onShowLess(): void {\n this.showMore = true;\n this.showLess = false;\n this.cdr.markForCheck();\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}","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 { 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: `<ng-container>{{ notification?.message }}</ng-container>`,\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"]}
|
|
1
|
+
{"version":3,"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","../../../node_modules/tslib/tslib.es6.js","../../../src/components/notification/notification.service.ts","../../../src/components/notification/notification-container/notification-container.component.ts","../../../src/components/notification/notification/notification.model.ts","../../../src/components/notification/notification-timer.service.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"],"names":["this","layout","size","Component","args","host","class","[class.small]","[class.medium]","[class.large]","[class.compact]","selector","template","encapsulation","ViewEncapsulation","None","Input","NgModule","exports","FwButtonGroupComponent","declarations","entryComponents","type","imports","CommonModule","MatButtonModule","FwButtonComponent","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","TypeError","genId","String","padStart","Math","floor","random","Date","now","toString","FwNotificationService","notifications$","BehaviorSubject","notificationQueue","show","notification","id","push","dismiss","notificationId","filter","v","dismissAll","Injectable","providedIn","FwNotificationContainerComponent","cdr","notificationService","_this","limit","notifications","expanded","subscriptions","Subscription","EMPTY","subscribe","markForCheck","ngOnDestroy","_b","values","_c","unsubscribe","notificationClass","index","level","getEmptyNotification","assign","message","onReady","ref","startTimer","onDismiss","find","currentNotification","stopTimer","clearAll","onShowMore","onShowLess","[class.duo]","[class.triple]","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","FwNotificationType","FwNotificationTimerService","remainingDuration","start","duration","Promise","resolve","resolver","continue","stop","clearTimeout","timerId","pause","getTime","window","setTimeout","FwNotificationComponent","timerService","notificationDuration","ready","EventEmitter","defineProperty","cssClass","_a","Error","Info","Success","Wait","Warning","ngAfterViewInit","emit","then","onClickDismiss","(click)","providers","Output","HostBinding","FwButtonModule","FwButtonGroupModule","MatIconModule","FwPopoverTriggerDirective","element","overlay","viewContainerRef","popoverMargin","positionMap","left","originX","originY","overlayX","overlayY","right","above","below","position","positionChanges","ngOnChanges","changes","overlayRef","dispose","_d","showPopover","popover","templateRef","getOverlay","attach","TemplatePortal","hidePopover","e","relatedTarget","classList","contains","detach","setPopoverCaretPosition","caret","overlayElement","querySelector","caretRect","getBoundingClientRect","triggerRect","nativeElement","style","margin","includes","top","height","width","setPopoverPosition","positionChange","mainPosition","connectionPair","fallbackPosition","removePanelClass","addPanelClass","positionStrategy","flexibleConnectedTo","withPositions","getPositions","panelClass","addEventListener","getConfig","getMainPosition","getFallbackPosition","Directive","(mouseenter)","(mouseleave)","exportAs","ElementRef","Overlay","ViewContainerRef","FwPopoverTriggerComponent","_super","__","constructor","__extends","popoverId","popoverHTML","document","innerHTML","popoverTemplateRef","ViewChild","TemplateRef","FwPopoverComponent","FwTableComponent","changeDetectorRef","columns","dataSource","pageSize","webCompPageSize","sort","sortColumn","sortOrder","displayedColumns","filters","FormGroup","trackByIndex","ngOnInit","setDataSource","setColumns","addFilterControls","setFilter","matDataSource","filterPredicate","row","JSON","parse","filter_1","filterValue","rowValue","isArray","toLowerCase","valueChanges","pipe","debounceTime","setSort","setPaginator","column","addControl","key","FormControl","MatTableDataSource","map","stringify","matSort","sortSplit","split","console","warn","disableClear","sortHeader","sortables","get","_setAnimationTransitionState","toState","detectChanges","paginator","matPaginator","onInputFilter","event","setValue","target","onSelectFilter","innerText","onMultiSelectFilter","controls","parentElement","MatPaginator","MatSort","FormsModule","ReactiveFormsModule","MatInputModule","MatPaginatorModule","MatSelectModule","MatSortModule","MatTableModule"],"mappings":"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","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","/******************************************************************************\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 { 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","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}","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 { 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"]}
|
package/components/notification/notification-container/notification-container.component.d.ts
CHANGED
|
@@ -7,12 +7,12 @@ export declare class FwNotificationContainerComponent implements OnDestroy {
|
|
|
7
7
|
private notificationService;
|
|
8
8
|
limit: number;
|
|
9
9
|
notifications: Notification[];
|
|
10
|
-
|
|
11
|
-
showLess: boolean;
|
|
10
|
+
expanded: boolean;
|
|
12
11
|
private subscriptions;
|
|
13
12
|
constructor(cdr: ChangeDetectorRef, notificationService: FwNotificationService);
|
|
14
13
|
ngOnDestroy(): void;
|
|
15
14
|
notificationClass(index: number): string;
|
|
15
|
+
getEmptyNotification(notification: Notification): Notification;
|
|
16
16
|
onReady(notification: FwNotificationComponent): void;
|
|
17
17
|
onDismiss(notificationId: string): void;
|
|
18
18
|
clearAll(): void;
|
|
@@ -52,11 +52,11 @@ FwNotificationComponent.decorators = [
|
|
|
52
52
|
'(click)': 'onClickDismiss()'
|
|
53
53
|
},
|
|
54
54
|
selector: 'fw-notification',
|
|
55
|
-
template:
|
|
55
|
+
template: `{{ notification?.message }}`,
|
|
56
56
|
providers: [FwNotificationTimerService],
|
|
57
57
|
encapsulation: ViewEncapsulation.None,
|
|
58
58
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
59
|
-
styles: ["fw-notification{display:block;border-radius:4px;box-sizing:border-box;margin:5px 24px;max-width:33vw;min-width:344px;padding:14px 16px;
|
|
59
|
+
styles: ["fw-notification{display:block;border-radius:4px;box-sizing:border-box;margin:5px 24px;max-width:33vw;min-width:344px;padding:14px 16px;transform-origin:center;background-color:#2f96b4;border:1px solid hsla(0,0%,100%,.7019607843137254);box-shadow:0 0 12px #999;color:#fff;opacity:.99;white-space:pre-wrap}fw-notification.error{background-color:#bd362f}fw-notification.info{background-color:#2f96b4}fw-notification.success{background-color:#51a351}fw-notification.wait{background-color:#2f96b4}fw-notification.warning{background-color:#f89406}"]
|
|
60
60
|
},] }
|
|
61
61
|
];
|
|
62
62
|
FwNotificationComponent.ctorParameters = () => [
|
|
@@ -70,4 +70,4 @@ FwNotificationComponent.propDecorators = {
|
|
|
70
70
|
dismiss: [{ type: Output }],
|
|
71
71
|
cssClass: [{ type: HostBinding, args: ['class',] }]
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEssT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBY3hFLE1BQU0sT0FBTyx1QkFBdUI7SUF3QmxDLFlBQW9CLEdBQXNCLEVBQVUsWUFBd0M7UUFBeEUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBNEI7UUF0Qm5GLHlCQUFvQixHQUFXLElBQUksQ0FBQztRQUNuQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUE7UUFDbkQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7SUFvQmlELENBQUM7SUFsQmhHLElBQTBCLFFBQVE7O1FBQ2hDLElBQUksUUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBQ2pDLGNBQVEsSUFBSSxDQUFDLFlBQVksMENBQUUsSUFBSSxFQUFFO1lBQy9CLEtBQUssa0JBQWtCLENBQUMsS0FBSztnQkFDM0IsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDO1lBQzlCLEtBQUssa0JBQWtCLENBQUMsSUFBSTtnQkFDMUIsT0FBTyxRQUFRLElBQUksT0FBTyxDQUFDO1lBQzdCLEtBQUssa0JBQWtCLENBQUMsT0FBTztnQkFDN0IsT0FBTyxRQUFRLElBQUksVUFBVSxDQUFDO1lBQ2hDLEtBQUssa0JBQWtCLENBQUMsSUFBSTtnQkFDMUIsT0FBTyxRQUFRLElBQUksT0FBTyxDQUFDO1lBQzdCLEtBQUssa0JBQWtCLENBQUMsT0FBTztnQkFDN0IsT0FBTyxRQUFRLElBQUksVUFBVSxDQUFDO1lBQ2hDO2dCQUNFLE9BQU8sUUFBUSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUlELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMzRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7OztZQTFERixTQUFTLFNBQUM7Z0JBQ1QsSUFBSSxFQUFFO29CQUNKLFNBQVMsRUFBRSxrQkFBa0I7aUJBQzlCO2dCQUNELFFBQVEsRUFBRSxpQkFBaUI7Z0JBRTNCLFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2dCQUN2QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFmZ0QsaUJBQWlCO1lBRXpELDBCQUEwQjs7OzJCQWdCaEMsS0FBSzttQ0FDTCxLQUFLO29CQUNMLE1BQU07c0JBQ04sTUFBTTt1QkFFTixXQUFXLFNBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd05vdGlmaWNhdGlvblRpbWVyU2VydmljZSB9IGZyb20gJy4uL25vdGlmaWNhdGlvbi10aW1lci5zZXJ2aWNlJztcbmltcG9ydCB7IEZ3Tm90aWZpY2F0aW9uVHlwZSwgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ29uQ2xpY2tEaXNtaXNzKCknXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctbm90aWZpY2F0aW9uJyxcbiAgc3R5bGVVcmxzOiBbICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcycgXSxcbiAgdGVtcGxhdGU6IGB7eyBub3RpZmljYXRpb24/Lm1lc3NhZ2UgfX1gLFxuICBwcm92aWRlcnM6IFtGd05vdGlmaWNhdGlvblRpbWVyU2VydmljZV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcblxuZXhwb3J0IGNsYXNzIEZ3Tm90aWZpY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uXG4gIEBJbnB1dCgpIG5vdGlmaWNhdGlvbkR1cmF0aW9uOiBudW1iZXIgPSA5MDAwO1xuICBAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPEZ3Tm90aWZpY2F0aW9uQ29tcG9uZW50PigpXG4gIEBPdXRwdXQoKSBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNzc0NsYXNzKCkge1xuICAgIGxldCBjc3NDbGFzcyA9ICdmdy1ub3RpZmljYXRpb24nO1xuICAgIHN3aXRjaCAodGhpcy5ub3RpZmljYXRpb24/LnR5cGUpIHtcbiAgICAgIGNhc2UgRndOb3RpZmljYXRpb25UeXBlLkVycm9yOlxuICAgICAgICByZXR1cm4gY3NzQ2xhc3MgKz0gJyBlcnJvcic7XG4gICAgICBjYXNlIEZ3Tm90aWZpY2F0aW9uVHlwZS5JbmZvOlxuICAgICAgICByZXR1cm4gY3NzQ2xhc3MgKz0gJyBpbmZvJztcbiAgICAgIGNhc2UgRndOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3M6XG4gICAgICAgIHJldHVybiBjc3NDbGFzcyArPSAnIHN1Y2Nlc3MnO1xuICAgICAgY2FzZSBGd05vdGlmaWNhdGlvblR5cGUuV2FpdDpcbiAgICAgICAgcmV0dXJuIGNzc0NsYXNzICs9ICcgd2FpdCc7XG4gICAgICBjYXNlIEZ3Tm90aWZpY2F0aW9uVHlwZS5XYXJuaW5nOlxuICAgICAgICByZXR1cm4gY3NzQ2xhc3MgKz0gJyB3YXJuaW5nJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBjc3NDbGFzcztcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgdGltZXJTZXJ2aWNlOiBGd05vdGlmaWNhdGlvblRpbWVyU2VydmljZSkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWFkeS5lbWl0KHRoaXMpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgc3RhcnRUaW1lcigpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWVyU2VydmljZS5zdGFydCh0aGlzLm5vdGlmaWNhdGlvbkR1cmF0aW9uKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMub25DbGlja0Rpc21pc3MoKTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RvcFRpbWVyKCk6IHZvaWQge1xuICAgIHRoaXMudGltZXJTZXJ2aWNlLnN0b3AoKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uQ2xpY2tEaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KHRoaXMubm90aWZpY2F0aW9uLmlkKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
|
package/esm2015/components/notification/notification-container/notification-container.component.js
CHANGED
|
@@ -7,15 +7,15 @@ export class FwNotificationContainerComponent {
|
|
|
7
7
|
this.notificationService = notificationService;
|
|
8
8
|
this.limit = 3;
|
|
9
9
|
this.notifications = [];
|
|
10
|
-
this.
|
|
11
|
-
this.showLess = false;
|
|
10
|
+
this.expanded = false;
|
|
12
11
|
this.subscriptions = {
|
|
13
|
-
notifications: Subscription.EMPTY
|
|
12
|
+
notifications: Subscription.EMPTY,
|
|
14
13
|
};
|
|
15
14
|
this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications) => {
|
|
16
15
|
this.notifications = notifications;
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
if (notifications.length === 0) {
|
|
17
|
+
this.expanded = false;
|
|
18
|
+
}
|
|
19
19
|
this.cdr.markForCheck();
|
|
20
20
|
});
|
|
21
21
|
}
|
|
@@ -29,7 +29,7 @@ export class FwNotificationContainerComponent {
|
|
|
29
29
|
const level = this.notifications.length > this.limit
|
|
30
30
|
? index - (this.notifications.length - this.limit)
|
|
31
31
|
: index;
|
|
32
|
-
if (this.
|
|
32
|
+
if (this.expanded) {
|
|
33
33
|
cssClass = 'default';
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
@@ -37,33 +37,34 @@ export class FwNotificationContainerComponent {
|
|
|
37
37
|
}
|
|
38
38
|
return cssClass;
|
|
39
39
|
}
|
|
40
|
+
getEmptyNotification(notification) {
|
|
41
|
+
return Object.assign(Object.assign({}, notification), { message: ' ' }); // take up a line but show no content
|
|
42
|
+
}
|
|
40
43
|
onReady(notification) {
|
|
41
44
|
const currentNotification = this.notifications[this.notifications.length - 1];
|
|
42
45
|
currentNotification.ref = notification;
|
|
43
46
|
notification.startTimer();
|
|
44
47
|
}
|
|
45
48
|
onDismiss(notificationId) {
|
|
46
|
-
const notification = this.notifications.find(
|
|
47
|
-
if (notification) {
|
|
49
|
+
const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);
|
|
50
|
+
if (notification === null || notification === void 0 ? void 0 : notification.ref) {
|
|
48
51
|
notification.ref.stopTimer();
|
|
49
52
|
}
|
|
50
|
-
|
|
53
|
+
if (notification === null || notification === void 0 ? void 0 : notification.id) {
|
|
54
|
+
this.notificationService.dismiss(notification.id);
|
|
55
|
+
}
|
|
51
56
|
this.cdr.markForCheck();
|
|
52
57
|
}
|
|
53
58
|
clearAll() {
|
|
54
|
-
this.showMore = false;
|
|
55
|
-
this.showLess = false;
|
|
56
59
|
this.notificationService.dismissAll();
|
|
57
60
|
this.cdr.markForCheck();
|
|
58
61
|
}
|
|
59
62
|
onShowMore() {
|
|
60
|
-
this.
|
|
61
|
-
this.showMore = false;
|
|
63
|
+
this.expanded = true;
|
|
62
64
|
this.cdr.markForCheck();
|
|
63
65
|
}
|
|
64
66
|
onShowLess() {
|
|
65
|
-
this.
|
|
66
|
-
this.showLess = false;
|
|
67
|
+
this.expanded = false;
|
|
67
68
|
this.cdr.markForCheck();
|
|
68
69
|
}
|
|
69
70
|
}
|
|
@@ -75,7 +76,7 @@ FwNotificationContainerComponent.decorators = [
|
|
|
75
76
|
'[class.triple]': 'notifications.length >= 3',
|
|
76
77
|
},
|
|
77
78
|
selector: 'fw-notification-container',
|
|
78
|
-
template: "<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as
|
|
79
|
+
template: "<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",
|
|
79
80
|
encapsulation: ViewEncapsulation.None,
|
|
80
81
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
81
82
|
styles: ["fw-notification-container{position:absolute;right:0;top:0;margin-top:20px;z-index:999999}fw-notification-container>div{display:flex;flex-direction:column-reverse}fw-notification-container .buttons{display:none;position:absolute;top:-5px;right:25px}fw-notification-container .buttons button{color:#fff;background-color:#919292;margin-left:2px}fw-notification-container .buttons button.mat-button{line-height:24px!important;margin:0 0 0 2px!important}fw-notification-container:hover .buttons{display:flex}fw-notification-container .hidden{display:none}fw-notification-container fw-notification:last-of-type{margin-top:24px}fw-notification-container.duo fw-notification.level-0,fw-notification-container.triple fw-notification.level-1{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-0{transform:scale(.9) translateY(-108px)}"]
|
|
@@ -85,4 +86,4 @@ FwNotificationContainerComponent.ctorParameters = () => [
|
|
|
85
86
|
{ type: ChangeDetectorRef },
|
|
86
87
|
{ type: FwNotificationService }
|
|
87
88
|
];
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWNvbnRhaW5lci9ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFnQmhFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFTM0MsWUFBb0IsR0FBc0IsRUFBVSxtQkFBMEM7UUFBMUUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXVCO1FBUjlGLFVBQUssR0FBRyxDQUFDLENBQUE7UUFDVCxrQkFBYSxHQUFtQixFQUFFLENBQUE7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUVSLGtCQUFhLEdBQUc7WUFDdEIsYUFBYSxFQUFFLFlBQVksQ0FBQyxLQUFLO1NBQ2xDLENBQUE7UUFHQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUNySCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUNuQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzthQUN2QjtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFD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ImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRndOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRndOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZnctbm90aWZpY2F0aW9uLWNvbnRhaW5lcicsXG4gICAgJ1tjbGFzcy5kdW9dJzogJ25vdGlmaWNhdGlvbnMubGVuZ3RoID09PSAyJyxcbiAgICAnW2NsYXNzLnRyaXBsZV0nOiAnbm90aWZpY2F0aW9ucy5sZW5ndGggPj0gMycsXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctbm90aWZpY2F0aW9uLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRndOb3RpZmljYXRpb25Db250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBsaW1pdCA9IDNcbiAgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uW10gPSBbXVxuICBleHBhbmRlZCA9IGZhbHNlXG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0ge1xuICAgIG5vdGlmaWNhdGlvbnM6IFN1YnNjcmlwdGlvbi5FTVBUWSxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBGd05vdGlmaWNhdGlvblNlcnZpY2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMubm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5ub3RpZmljYXRpb25zJC5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbltdKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSBub3RpZmljYXRpb25zO1xuICAgICAgaWYgKG5vdGlmaWNhdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnN1YnNjcmlwdGlvbnMpKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBub3RpZmljYXRpb25DbGFzcyhpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgY3NzQ2xhc3M6IHN0cmluZztcbiAgICBjb25zdCBsZXZlbCA9IHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggPiB0aGlzLmxpbWl0XG4gICAgICA/IGluZGV4IC0gKHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggLSB0aGlzLmxpbWl0KVxuICAgICAgOiBpbmRleDtcblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICBjc3NDbGFzcyA9ICdkZWZhdWx0JztcbiAgICB9IGVsc2Uge1xuICAgICAgY3NzQ2xhc3MgPSBsZXZlbCA+PSAwID8gYGxldmVsLSR7bGV2ZWx9YCA6ICdoaWRkZW4nO1xuICAgIH1cblxuICAgIHJldHVybiBjc3NDbGFzcztcbiAgfVxuXG4gIGdldEVtcHR5Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogTm90aWZpY2F0aW9uIHtcbiAgICByZXR1cm4geyAuLi5ub3RpZmljYXRpb24sIG1lc3NhZ2U6ICcgJyB9OyAvLyB0YWtlIHVwIGEgbGluZSBidXQgc2hvdyBubyBjb250ZW50XG4gIH1cblxuICBvblJlYWR5KG5vdGlmaWNhdGlvbjogRndOb3RpZmljYXRpb25Db21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Tm90aWZpY2F0aW9uID0gdGhpcy5ub3RpZmljYXRpb25zW3RoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggLSAxXTtcbiAgICBjdXJyZW50Tm90aWZpY2F0aW9uLnJlZiA9IG5vdGlmaWNhdGlvbjtcbiAgICBub3RpZmljYXRpb24uc3RhcnRUaW1lcigpO1xuICB9XG5cbiAgb25EaXNtaXNzKG5vdGlmaWNhdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3RpZmljYXRpb24gPSB0aGlzLm5vdGlmaWNhdGlvbnMuZmluZChjdXJyZW50Tm90aWZpY2F0aW9uID0+IGN1cnJlbnROb3RpZmljYXRpb24uaWQgPT09IG5vdGlmaWNhdGlvbklkKTtcbiAgICBpZiAobm90aWZpY2F0aW9uPy5yZWYpIHtcbiAgICAgIG5vdGlmaWNhdGlvbi5yZWYuc3RvcFRpbWVyKCk7XG4gICAgfVxuICAgIGlmIChub3RpZmljYXRpb24/LmlkKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZGlzbWlzcyhub3RpZmljYXRpb24uaWQpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5kaXNtaXNzQWxsKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvblNob3dNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25TaG93TGVzcygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -14,7 +14,7 @@ FwPopoverComponent.decorators = [
|
|
|
14
14
|
</div>
|
|
15
15
|
</ng-template>`,
|
|
16
16
|
encapsulation: ViewEncapsulation.None,
|
|
17
|
-
styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-top-white,.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black,.border-top-black{border-color:#000!important}.border-top-black{border-top:1px solid}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green,.border-top-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange,.border-top-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#d22239!important}.fill-red{background-color:#d22239!important}.border-red,.border-top-red{border-color:#d22239!important}.border-top-red{border-top:1px solid}.border-right-red{border-right:1px solid;border-color:#d22239!important}.border-bottom-red{border-bottom:1px solid;border-color:#d22239!important}.border-left-red{border-left:1px solid;border-color:#d22239!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue,.border-top-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue,.border-top-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue,.border-top-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7f0fc!important}.fill-light-blue{background-color:#e7f0fc!important}.border-light-blue,.border-top-light-blue{border-color:#e7f0fc!important}.border-top-light-blue{border-top:1px solid}.border-right-light-blue{border-right:1px solid;border-color:#e7f0fc!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7f0fc!important}.border-left-light-blue{border-left:1px solid;border-color:#e7f0fc!important}.bright-blue{color:#2e72f6!important}.fill-bright-blue{background-color:#2e72f6!important}.border-bright-blue,.border-top-bright-blue{border-color:#2e72f6!important}.border-top-bright-blue{border-top:1px solid}.border-right-bright-blue{border-right:1px solid;border-color:#2e72f6!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#2e72f6!important}.border-left-bright-blue{border-left:1px solid;border-color:#2e72f6!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey,.border-top-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey,.border-top-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey,.border-top-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey,.border-top-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey,.border-top-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.iron-grey{color:#d3d6db!important}.fill-iron-grey{background-color:#d3d6db!important}.border-iron-grey,.border-top-iron-grey{border-color:#d3d6db!important}.border-top-iron-grey{border-top:1px solid}.border-right-iron-grey{border-right:1px solid;border-color:#d3d6db!important}.border-bottom-iron-grey{border-bottom:1px solid;border-color:#d3d6db!important}.border-left-iron-grey{border-left:1px solid;border-color:#d3d6db!important}.bombay-grey{color:#aaacb0!important}.fill-bombay-grey{background-color:#aaacb0!important}.border-bombay-grey,.border-top-bombay-grey{border-color:#aaacb0!important}.border-top-bombay-grey{border-top:1px solid}.border-right-bombay-grey{border-right:1px solid;border-color:#aaacb0!important}.border-bottom-bombay-grey{border-bottom:1px solid;border-color:#aaacb0!important}.border-left-bombay-grey{border-left:1px solid;border-color:#aaacb0!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue,.border-top-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.darker-soft-blue{color:#e9ecf1!important}.fill-darker-soft-blue{background-color:#e9ecf1!important}.border-darker-soft-blue,.border-top-darker-soft-blue{border-color:#e9ecf1!important}.border-top-darker-soft-blue{border-top:1px solid}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.lighter-soft-blue{color:#f5f6f9!important}.fill-lighter-soft-blue{background-color:#f5f6f9!important}.border-lighter-soft-blue,.border-top-lighter-soft-blue{border-color:#f5f6f9!important}.border-top-lighter-soft-blue{border-top:1px solid}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}:root{--color-gray:var(--color-gray-100);--color-gray-50:#f6f7f8;--color-gray-100:#eff1f4;--color-gray-200:#e3e5e8;--color-gray-300:#d7d9dc;--color-gray-400:#cbcdcf;--color-gray-500:#bfc1c3;--color-primary:var(--color-primary-1000);--color-primary-100:#eaf1fe;--color-primary-200:#d5e3fd;--color-primary-300:#c0d5fc;--color-primary-400:#abc7fb;--color-primary-500:#97b9fb;--color-primary-600:#82aafa;--color-primary-700:#6da2ff;--color-primary-800:#588ef8;--color-primary-900:#4380f7;--color-primary-1000:#2e72f6;--color-primary-1100:#2967dd;--color-primary-1200:#255bc5;--color-primary-1300:#2050ac;--color-primary-1400:#1c4494;--color-primary-1500:#083076;--color-primary-1600:#122e62;--color-primary-1700:#0e224a;--color-primary-1800:#061734;--color-primary-1900:#050b19;--color-secondary:var(--color-secondary-900);--color-secondary-100:#ccf1e4;--color-secondary-200:#b3e9d7;--color-secondary-300:#99e2c9;--color-secondary-400:#80dbbc;--color-secondary-500:#66d4ae;--color-secondary-600:#4dcda1;--color-secondary-700:#33c593;--color-secondary-800:#1abe86;--color-secondary-900:#00b778;--color-secondary-1000:#00a56c;--color-secondary-1100:#009260;--color-secondary-1200:#008054;--color-secondary-1300:#006e48;--color-secondary-1400:#005c3c;--color-secondary-1500:#004930;--color-secondary-1600:#002518;--color-secondary-1700:#00120c}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#fff;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.15)!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15)!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}"]
|
|
17
|
+
styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-top-white,.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black,.border-top-black{border-color:#000!important}.border-top-black{border-top:1px solid}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green,.border-top-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange,.border-top-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#d22239!important}.fill-red{background-color:#d22239!important}.border-red,.border-top-red{border-color:#d22239!important}.border-top-red{border-top:1px solid}.border-right-red{border-right:1px solid;border-color:#d22239!important}.border-bottom-red{border-bottom:1px solid;border-color:#d22239!important}.border-left-red{border-left:1px solid;border-color:#d22239!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue,.border-top-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue,.border-top-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue,.border-top-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7f0fc!important}.fill-light-blue{background-color:#e7f0fc!important}.border-light-blue,.border-top-light-blue{border-color:#e7f0fc!important}.border-top-light-blue{border-top:1px solid}.border-right-light-blue{border-right:1px solid;border-color:#e7f0fc!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7f0fc!important}.border-left-light-blue{border-left:1px solid;border-color:#e7f0fc!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue,.border-top-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black,.border-top-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple,.border-top-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey,.border-top-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey,.border-top-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey,.border-top-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey,.border-top-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey,.border-top-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue,.border-top-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue,.border-top-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue,.border-top-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue,.border-top-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue,.border-top-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}:root{--color-gray:var(--color-gray-100);--color-gray-50:#f6f7f8;--color-gray-100:#eff1f4;--color-gray-200:#e3e5e8;--color-gray-300:#d7d9dc;--color-gray-400:#cbcdcf;--color-gray-500:#bfc1c3;--color-primary:var(--color-primary-500);--color-primary-50:#e4edfe;--color-primary-100:#bbd2fe;--color-primary-200:#8db4fd;--color-primary-300:#5f95fc;--color-primary-400:#3d7ffb;--color-primary-500:#1b68fa;--color-primary-600:#1860f9;--color-primary-700:#1455f9;--color-primary-800:#104bf8;--color-primary-900:#083af6;--color-primary-A100:#fff;--color-primary-A200:#ebefff;--color-primary-A400:#b8c4ff;--color-primary-A700:#9fafff;--color-secondary:var(--color-secondary-500);--color-secondary-50:#ebf7ed;--color-secondary-100:#cdead3;--color-secondary-200:#acdcb5;--color-secondary-300:#8bce97;--color-secondary-400:#72c481;--color-secondary-500:#59b96b;--color-secondary-600:#51b263;--color-secondary-700:#48aa58;--color-secondary-800:#3ea24e;--color-secondary-900:#2e933c;--color-secondary-A100:#d9ffde;--color-secondary-A200:#a6ffb1;--color-secondary-A400:#73ff84;--color-secondary-A700:#59ff6e}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#fff;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.15)!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15)!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}"]
|
|
18
18
|
},] }
|
|
19
19
|
];
|
|
20
20
|
FwPopoverComponent.propDecorators = {
|