mis-crystal-design-system 1.1.9 → 1.1.91
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/mis-crystal-design-system-src-datepicker.umd.js +1 -1
- package/bundles/mis-crystal-design-system-src-datepicker.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-src-datepicker.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system.umd.js +437 -30
- package/bundles/mis-crystal-design-system.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system.umd.min.js +6 -6
- package/bundles/mis-crystal-design-system.umd.min.js.map +1 -1
- package/drawer/drawer-body/drawer-body.component.d.ts +12 -0
- package/drawer/drawer-constants.d.ts +3 -0
- package/drawer/drawer-ref.d.ts +13 -0
- package/drawer/drawer.module.d.ts +5 -0
- package/drawer/drawer.scss +20 -0
- package/drawer/drawer.service.d.ts +18 -0
- package/drawer/index.d.ts +1 -0
- package/drawer/public_api.d.ts +4 -0
- package/esm2015/chip/chip.module.js +1 -1
- package/esm2015/drawer/drawer-body/drawer-body.component.js +44 -0
- package/esm2015/drawer/drawer-constants.js +4 -0
- package/esm2015/drawer/drawer-ref.js +28 -0
- package/esm2015/drawer/drawer.module.js +28 -0
- package/esm2015/drawer/drawer.service.js +59 -0
- package/esm2015/drawer/index.js +2 -0
- package/esm2015/drawer/public_api.js +5 -0
- package/esm2015/fab/fab.component.js +66 -0
- package/esm2015/fab/fab.module.js +16 -0
- package/esm2015/fab/index.js +2 -0
- package/esm2015/fab/public_api.js +3 -0
- package/esm2015/mis-crystal-design-system.js +1 -23
- package/esm2015/multi-select-dropdown/multi-select-dropdown.component.js +1 -1
- package/esm2015/nested-multi-select-dropdown/nested-multi-select-dropdown.component.js +1 -1
- package/esm2015/public-api.js +16 -13
- package/esm2015/table/table.component.js +1 -1
- package/esm2015/toast/index.js +2 -0
- package/esm2015/toast/public_api.js +3 -0
- package/esm2015/toast/toast.component.js +30 -0
- package/esm2015/toast/toast.data.service.js +29 -0
- package/esm2015/toast/toast.module.js +28 -0
- package/esm2015/toast/toast.service.js +99 -0
- package/fab/fab.component.d.ts +29 -0
- package/fab/fab.module.d.ts +4 -0
- package/fab/index.d.ts +1 -0
- package/fab/public_api.d.ts +2 -0
- package/fesm2015/mis-crystal-design-system.js +396 -8
- package/fesm2015/mis-crystal-design-system.js.map +1 -1
- package/mis-crystal-design-system.d.ts +0 -22
- package/mis-crystal-design-system.metadata.json +1 -1
- package/package.json +3 -2
- package/public-api.d.ts +15 -12
- package/toast/index.d.ts +1 -0
- package/toast/public_api.d.ts +2 -0
- package/toast/toast.component.d.ts +5 -0
- package/toast/toast.data.service.d.ts +8 -0
- package/toast/toast.module.d.ts +5 -0
- package/toast/toast.service.d.ts +35 -0
|
@@ -172,7 +172,7 @@ TableComponent.decorators = [
|
|
|
172
172
|
{ type: Component, args: [{
|
|
173
173
|
selector: 'mis-table',
|
|
174
174
|
template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth()\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter\"\n [containerStyles]=\"filterContainerStyles\"\n [filtersData]=\"filterData\"\n [appliedFilters]=\"getAppliedFilters(filterName)\"\n ></mis-table-filter>\n <div #table id=\"table-container\">\n <div\n [ngStyle]=\"{\n height: getColHeadersRowHeight(),\n 'border-top': getColHeadersRowBorderTop(),\n 'border-bottom': getColHeadersRowBorderBottom()\n }\"\n id=\"col-headers-container\"\n >\n <div\n #colHeader\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config?.colHeaderConfig\"\n class=\"col-header\"\n [style]=\"colHeader?.style\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent ? colHeader?.style?.justifyContent :\n colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\">\n <p *ngIf=\"colHeader?.type !== 'custom'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"\n toggleFilter(colHeader.data, colHeader.filters);\n $event.stopPropagation()\n \"\n *ngIf=\"\n colHeader?.type !== 'custom' &&\n colHeader?.filters &&\n colHeader?.filters?.length > 0\n \"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg\n fill=\"none\"\n height=\"10\"\n viewBox=\"0 0 13 10\"\n width=\"13\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <ng-template\n *ngIf=\"colHeader?.type === 'custom'\"\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n <div id=\"data-container\">\n <div *ngFor=\"let row of tableData; let i = index\" class=\"row-wrapper\">\n <div class=\"t-row\">\n <div\n (click)=\"\n config?.colConfig[i]?.action\n ? config?.colConfig[i]?.action(col)\n : null\n \"\n *ngFor=\"let col of row; let i = index\"\n [ngStyle]=\"{\n width: config?.colConfig[i]?.style?.width || config?.colHeaderConfig[i]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n >\n <div\n class=\"t-col\"\n [style]=\"config.colConfig[i]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: config.colConfig[i].action ? 'pointer' : 'default',\n 'justify-content': config.colConfig[i]?.style?.justifyContent ? config.colConfig[i]?.style?.justifyContent :\n config.colConfig[i].type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\">\n <p\n *ngIf=\"config.colConfig[i].type !== 'custom'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color\n ? config?.colConfig[i]?.style?.color\n : ''\n }\"\n class=\"t-col-text\"\n >\n {{ col }}\n </p>\n <ng-template\n *ngIf=\"config.colConfig[i].type === 'custom'\"\n [customComponent]=\"config.colConfig[i].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.canExpand && expandedIndex === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading\">\n <div\n style=\"\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 16px;\n \"\n >\n Loading...\n </div>\n </ng-container>\n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length === 0\">\n <div\n style=\"\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 16px;\n \"\n >\n No Data Available...\n </div>\n </ng-container>\n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length > 0\">\n <sub-table [config]=\"subTableconfig\" [tableData]=\"subTableData\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.paginationConfig\" id=\"pagination-container\">\n <p id=\"pagination-text\">\n Showing\n {{ (selectedPage - 1) * config.paginationConfig.rowsPerPage + 1 }}-{{\n (selectedPage - 1) * config.paginationConfig.rowsPerPage +\n tableData.length\n }}\n of {{ config.paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"updateSelectedPage(selectedPage - 1)\" class=\"page\">\n <svg\n fill=\"none\"\n height=\"10\"\n viewBox=\"0 0 7 10\"\n width=\"7\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <div *ngFor=\"let pageNumber of pages\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == selectedPage }\"\n class=\"page\"\n >{{ pageNumber }}</span\n >\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div style=\"display: flex\">\n <span class=\"dot\" style=\"margin-right: 4px\"></span>\n <span class=\"dot\" style=\"margin-right: 4px\"></span>\n <span class=\"dot\"></span>\n </div>\n </span>\n </div>\n <span (click)=\"updateSelectedPage(selectedPage + 1)\" class=\"page\">\n <svg\n fill=\"none\"\n height=\"10\"\n viewBox=\"0 0 7 10\"\n width=\"7\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n</div>\n",
|
|
175
|
-
styles: ["#main-container{font-family:Lato,sans-serif;position:relative}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:4px}#table-container{height:inherit;overflow-y:auto}#col-headers-container{display:flex;position:sticky;background-color:#fff;height:44px;width:100%;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header{padding:0 16px;height:100%}.col-header,.col-header-text{display:flex;align-items:center}.col-header-text{font-style:normal;font-weight:700;font-size:14px;line-height:20px;letter-spacing:.2px;margin:0}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:0;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#0937b2}.t-row{display:flex;align-items:center;background-color:#fff;height:44px;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#f1fdf8}.t-col-container{padding:0 16px;height:100%}.t-col{height:100%}.t-col,.t-col-text{display:flex;align-items:center}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;margin:0}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container{display:flex;margin-right:32px}.page{border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;cursor:pointer}.page,.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active{color:#0937b2;border:1px solid #0937b2}"]
|
|
175
|
+
styles: ["#main-container{font-family:Lato,sans-serif;position:relative}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:4px}#table-container{height:inherit;overflow-y:auto}#col-headers-container{display:flex;position:-webkit-sticky;position:sticky;background-color:#fff;height:44px;width:100%;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header{padding:0 16px;height:100%}.col-header,.col-header-text{display:flex;align-items:center}.col-header-text{font-style:normal;font-weight:700;font-size:14px;line-height:20px;letter-spacing:.2px;margin:0}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:0;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#0937b2}.t-row{display:flex;align-items:center;background-color:#fff;height:44px;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#f1fdf8}.t-col-container{padding:0 16px;height:100%}.t-col{height:100%}.t-col,.t-col-text{display:flex;align-items:center}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;margin:0}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container{display:flex;margin-right:32px}.page{border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;cursor:pointer}.page,.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active{color:#0937b2;border:1px solid #0937b2}"]
|
|
176
176
|
},] }
|
|
177
177
|
];
|
|
178
178
|
TableComponent.ctorParameters = () => [
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public_api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9zcmMvdG9hc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './toast.service';
|
|
2
|
+
export * from './toast.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3NyYy90b2FzdC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdG9hc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RvYXN0Lm1vZHVsZSc7Il19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { ToastDataService } from './toast.data.service';
|
|
4
|
+
export class ToastComponent {
|
|
5
|
+
constructor(data) {
|
|
6
|
+
this.data = data;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
ToastComponent.decorators = [
|
|
10
|
+
{ type: Component, args: [{
|
|
11
|
+
selector: 'mis-teams-toast',
|
|
12
|
+
template: "<div class=\"toast-container\">\n <div *ngFor=\"let msg of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\">\n <div class=\"msg\">{{msg}}</div>\n </div>\n </div>\n</div>",
|
|
13
|
+
animations: [
|
|
14
|
+
trigger('fadeInOut', [
|
|
15
|
+
transition(':enter', [
|
|
16
|
+
style({ opacity: '0', transform: 'translateY(-50%)', height: '0' }),
|
|
17
|
+
animate('300ms ease-in', style({ opacity: '1', transform: 'translateY(0)', height: '*' })),
|
|
18
|
+
]),
|
|
19
|
+
transition(':leave', [
|
|
20
|
+
animate('300ms ease-in', style({ opacity: '0', transform: 'translateY(50%)' })),
|
|
21
|
+
]),
|
|
22
|
+
]),
|
|
23
|
+
],
|
|
24
|
+
styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:20px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px rgba(0,0,0,.14),0 5px 22px rgba(0,0,0,.12),0 7px 8px rgba(0,0,0,.2);border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width:360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}"]
|
|
25
|
+
},] }
|
|
26
|
+
];
|
|
27
|
+
ToastComponent.ctorParameters = () => [
|
|
28
|
+
{ type: ToastDataService }
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvc3JjL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQXdCeEQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBbUIsSUFBc0I7UUFBdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7SUFBRyxDQUFDOzs7WUF2QjlDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQiw0TUFBcUM7Z0JBRXJDLFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsV0FBVyxFQUFFO3dCQUNuQixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7NEJBQ25FLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUNqRTt5QkFDRixDQUFDO3dCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQ25CLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUN0RDt5QkFDRixDQUFDO3FCQUNILENBQUM7aUJBQ0g7O2FBQ0Y7OztZQXZCUSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdERhdGFTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5kYXRhLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtaXMtdGVhbXMtdG9hc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2FzdC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZUluT3V0JywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6ICcwJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtNTAlKScsIGhlaWdodDogJzAnIH0pLFxuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICczMDBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6ICcxJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsIGhlaWdodDogJyonIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMzAwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoNTAlKScgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhOiBUb2FzdERhdGFTZXJ2aWNlKSB7fVxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ToastDataService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.messageMap = new Map();
|
|
6
|
+
}
|
|
7
|
+
get messages() {
|
|
8
|
+
return Array.from(this.messageMap.values()).reverse();
|
|
9
|
+
}
|
|
10
|
+
updateMessage(msg) {
|
|
11
|
+
const id = new Date().getTime();
|
|
12
|
+
this.messageMap.set(id, msg);
|
|
13
|
+
return id;
|
|
14
|
+
}
|
|
15
|
+
removeMessage(id) {
|
|
16
|
+
this.messageMap.delete(id);
|
|
17
|
+
}
|
|
18
|
+
hasMessage() {
|
|
19
|
+
return this.messageMap.size > 0;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ToastDataService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToastDataService_Factory() { return new ToastDataService(); }, token: ToastDataService, providedIn: "root" });
|
|
23
|
+
ToastDataService.decorators = [
|
|
24
|
+
{ type: Injectable, args: [{
|
|
25
|
+
providedIn: 'root',
|
|
26
|
+
},] }
|
|
27
|
+
];
|
|
28
|
+
ToastDataService.ctorParameters = () => [];
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvc3JjL3RvYXN0L3RvYXN0LmRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCO1FBTFEsZUFBVSxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBS3JDLENBQUM7SUFKaEIsSUFBSSxRQUFRO1FBQ1YsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBSUQsYUFBYSxDQUFDLEdBQVc7UUFDdkIsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVU7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7O1lBdkJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0RGF0YVNlcnZpY2Uge1xuICBwcml2YXRlIG1lc3NhZ2VNYXA6IE1hcDxudW1iZXIsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG4gIGdldCBtZXNzYWdlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5tZXNzYWdlTWFwLnZhbHVlcygpKS5yZXZlcnNlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdXBkYXRlTWVzc2FnZShtc2c6IHN0cmluZyk6IG51bWJlciB7XG4gICAgY29uc3QgaWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICB0aGlzLm1lc3NhZ2VNYXAuc2V0KGlkLCBtc2cpO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIHJlbW92ZU1lc3NhZ2UoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZU1hcC5kZWxldGUoaWQpO1xuICB9XG5cbiAgaGFzTWVzc2FnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlTWFwLnNpemUgPiAwO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { ToastComponent } from './toast.component';
|
|
5
|
+
import { ToastDataService } from './toast.data.service';
|
|
6
|
+
import { ToastService } from './toast.service';
|
|
7
|
+
export class ToastModule {
|
|
8
|
+
static forRoot() {
|
|
9
|
+
return {
|
|
10
|
+
ngModule: ToastModule,
|
|
11
|
+
providers: [ToastDataService, ToastService],
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
static forChild() {
|
|
15
|
+
return {
|
|
16
|
+
ngModule: ToastModule,
|
|
17
|
+
providers: [ToastDataService, ToastService],
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ToastModule.decorators = [
|
|
22
|
+
{ type: NgModule, args: [{
|
|
23
|
+
declarations: [ToastComponent],
|
|
24
|
+
imports: [CommonModule, OverlayModule],
|
|
25
|
+
entryComponents: [ToastComponent]
|
|
26
|
+
},] }
|
|
27
|
+
];
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvc3JjL3RvYXN0L3RvYXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFPL0MsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPO1lBQ0wsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDOzs7WUFsQkYsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDOUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztnQkFDdEMsZUFBZSxFQUFFLENBQUMsY0FBYyxDQUFDO2FBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2FzdERhdGFTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVG9hc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlXSxcbiAgZW50cnlDb21wb25lbnRzOiBbVG9hc3RDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUb2FzdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVG9hc3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtUb2FzdERhdGFTZXJ2aWNlLCBUb2FzdFNlcnZpY2VdLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yQ2hpbGQoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUb2FzdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVG9hc3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtUb2FzdERhdGFTZXJ2aWNlLCBUb2FzdFNlcnZpY2VdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
2
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { ToastComponent } from './toast.component';
|
|
5
|
+
import { ToastDataService } from './toast.data.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
8
|
+
import * as i2 from "./toast.data.service";
|
|
9
|
+
export class ToastService {
|
|
10
|
+
constructor(overlay, data) {
|
|
11
|
+
this.overlay = overlay;
|
|
12
|
+
this.data = data;
|
|
13
|
+
this.messagePromises = [];
|
|
14
|
+
this.messageBuilder = {
|
|
15
|
+
error: {
|
|
16
|
+
simple: 'Something went wrong. Please try again later.',
|
|
17
|
+
400: 'Bad Request! We are working to fix this.',
|
|
18
|
+
401: 'UNAUTHORISED',
|
|
19
|
+
403: 'Sorry for the interruption but seems like your session has expired. Please login again and continue',
|
|
20
|
+
404: 'Unable to find resource. Please try again later',
|
|
21
|
+
},
|
|
22
|
+
item: (item) => {
|
|
23
|
+
return {
|
|
24
|
+
action: (act = 'updated') => {
|
|
25
|
+
const success = `Successfully ${act} ${item}.`;
|
|
26
|
+
const failure = `Failed to ${act} ${item}.`;
|
|
27
|
+
return {
|
|
28
|
+
success,
|
|
29
|
+
failure,
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
short: (act = 'updated') => {
|
|
35
|
+
const success = `Successfully ${act}.`;
|
|
36
|
+
const failure = `Failed to ${act}.`;
|
|
37
|
+
return {
|
|
38
|
+
success,
|
|
39
|
+
failure,
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
simple: (...args) => args.join(' '),
|
|
43
|
+
simplest: 'Done!',
|
|
44
|
+
};
|
|
45
|
+
this.userProfilePortal = new ComponentPortal(ToastComponent);
|
|
46
|
+
}
|
|
47
|
+
displayMsg(msg, timeout = 3000) {
|
|
48
|
+
var _a;
|
|
49
|
+
const positionStrategy = this.overlay
|
|
50
|
+
.position()
|
|
51
|
+
.global()
|
|
52
|
+
.centerHorizontally();
|
|
53
|
+
if ((window === null || window === void 0 ? void 0 : window.innerWidth) < 600) {
|
|
54
|
+
positionStrategy.bottom('48px');
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
positionStrategy.top('80px');
|
|
58
|
+
}
|
|
59
|
+
const config = new OverlayConfig({
|
|
60
|
+
hasBackdrop: false,
|
|
61
|
+
positionStrategy,
|
|
62
|
+
});
|
|
63
|
+
if (!((_a = this.toastWrapperRef) === null || _a === void 0 ? void 0 : _a.hasAttached())) {
|
|
64
|
+
this.toastWrapperRef = this.overlay.create(config);
|
|
65
|
+
this.toastWrapperRef.attach(this.userProfilePortal);
|
|
66
|
+
}
|
|
67
|
+
const messageId = this.data.updateMessage(msg);
|
|
68
|
+
this.messagePromises.push(new Promise((resolve, reject) => {
|
|
69
|
+
setTimeout(() => {
|
|
70
|
+
resolve(this.data.removeMessage(messageId));
|
|
71
|
+
if (!this.data.hasMessage()) {
|
|
72
|
+
this.closeToastOverlay();
|
|
73
|
+
}
|
|
74
|
+
// adding 300ms for entry animation
|
|
75
|
+
}, timeout + 300);
|
|
76
|
+
}));
|
|
77
|
+
Promise.race(this.messagePromises).then(() => { });
|
|
78
|
+
}
|
|
79
|
+
// tslint:disable-next-line
|
|
80
|
+
closeToastOverlay() {
|
|
81
|
+
return setTimeout(() => {
|
|
82
|
+
var _a;
|
|
83
|
+
this.messagePromises = [];
|
|
84
|
+
(_a = this.toastWrapperRef) === null || _a === void 0 ? void 0 : _a.detach();
|
|
85
|
+
// adding 300ms for exit animation
|
|
86
|
+
}, 300);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
ToastService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToastService_Factory() { return new ToastService(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i2.ToastDataService)); }, token: ToastService, providedIn: "root" });
|
|
90
|
+
ToastService.decorators = [
|
|
91
|
+
{ type: Injectable, args: [{
|
|
92
|
+
providedIn: 'root',
|
|
93
|
+
},] }
|
|
94
|
+
];
|
|
95
|
+
ToastService.ctorParameters = () => [
|
|
96
|
+
{ type: Overlay },
|
|
97
|
+
{ type: ToastDataService }
|
|
98
|
+
];
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3NyYy90b2FzdC90b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBYXhELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW9CLE9BQWdCLEVBQVUsSUFBc0I7UUFBaEQsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLFNBQUksR0FBSixJQUFJLENBQWtCO1FBSTVELG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQUc5QyxtQkFBYyxHQUFHO1lBQ2YsS0FBSyxFQUFFO2dCQUNMLE1BQU0sRUFBRSwrQ0FBK0M7Z0JBQ3ZELEdBQUcsRUFBRSwwQ0FBMEM7Z0JBQy9DLEdBQUcsRUFBRSxjQUFjO2dCQUNuQixHQUFHLEVBQUUscUdBQXFHO2dCQUMxRyxHQUFHLEVBQUUsaURBQWlEO2FBQ3ZEO1lBQ0QsSUFBSSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUU7Z0JBQ3JCLE9BQU87b0JBQ0wsTUFBTSxFQUFFLENBQUMsTUFBa0IsU0FBUyxFQUFFLEVBQUU7d0JBQ3RDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixHQUFHLElBQUksSUFBSSxHQUFHLENBQUM7d0JBQy9DLE1BQU0sT0FBTyxHQUFHLGFBQWEsR0FBRyxJQUFJLElBQUksR0FBRyxDQUFDO3dCQUM1QyxPQUFPOzRCQUNMLE9BQU87NEJBQ1AsT0FBTzt5QkFD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IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9hc3REYXRhU2VydmljZSB9IGZyb20gJy4vdG9hc3QuZGF0YS5zZXJ2aWNlJztcblxudHlwZSBPcGVyYXRpb25zID1cbiAgfCAnY3JlYXRlZCdcbiAgfCAndXBkYXRlZCdcbiAgfCAnZGVsZXRlZCdcbiAgfCAnY3JlYXRlJ1xuICB8ICd1cGRhdGUnXG4gIHwgJ2RlbGV0ZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgZGF0YTogVG9hc3REYXRhU2VydmljZSkge1xuICAgIHRoaXMudXNlclByb2ZpbGVQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRvYXN0Q29tcG9uZW50KTtcbiAgfVxuICBwcml2YXRlIHRvYXN0V3JhcHBlclJlZjogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSBtZXNzYWdlUHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXSA9IFtdO1xuICBwcml2YXRlIHVzZXJQcm9maWxlUG9ydGFsOiBDb21wb25lbnRQb3J0YWw8VG9hc3RDb21wb25lbnQ+O1xuXG4gIG1lc3NhZ2VCdWlsZGVyID0ge1xuICAgIGVycm9yOiB7XG4gICAgICBzaW1wbGU6ICdTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nLFxuICAgICAgNDAwOiAnQmFkIFJlcXVlc3QhIFdlIGFyZSB3b3JraW5nIHRvIGZpeCB0aGlzLicsXG4gICAgICA0MDE6ICdVTkFVVEhPUklTRUQnLFxuICAgICAgNDAzOiAnU29ycnkgZm9yIHRoZSBpbnRlcnJ1cHRpb24gYnV0IHNlZW1zIGxpa2UgeW91ciBzZXNzaW9uIGhhcyBleHBpcmVkLiBQbGVhc2UgbG9naW4gYWdhaW4gYW5kIGNvbnRpbnVlJyxcbiAgICAgIDQwNDogJ1VuYWJsZSB0byBmaW5kIHJlc291cmNlLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyJyxcbiAgICB9LFxuICAgIGl0ZW06IChpdGVtOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjdGlvbjogKGFjdDogT3BlcmF0aW9ucyA9ICd1cGRhdGVkJykgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBgU3VjY2Vzc2Z1bGx5ICR7YWN0fSAke2l0ZW19LmA7XG4gICAgICAgICAgY29uc3QgZmFpbHVyZSA9IGBGYWlsZWQgdG8gJHthY3R9ICR7aXRlbX0uYDtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3VjY2VzcyxcbiAgICAgICAgICAgIGZhaWx1cmUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSxcbiAgICBzaG9ydDogKGFjdDogT3BlcmF0aW9ucyA9ICd1cGRhdGVkJykgPT4ge1xuICAgICAgY29uc3Qgc3VjY2VzcyA9IGBTdWNjZXNzZnVsbHkgJHthY3R9LmA7XG4gICAgICBjb25zdCBmYWlsdXJlID0gYEZhaWxlZCB0byAke2FjdH0uYDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3MsXG4gICAgICAgIGZhaWx1cmUsXG4gICAgICB9O1xuICAgIH0sXG4gICAgc2ltcGxlOiAoLi4uYXJnczogc3RyaW5nW10pID0+IGFyZ3Muam9pbignICcpLFxuICAgIHNpbXBsZXN0OiAnRG9uZSEnLFxuICB9O1xuXG4gIGRpc3BsYXlNc2cobXNnOiBzdHJpbmcsIHRpbWVvdXQgPSAzMDAwKTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5nbG9iYWwoKVxuICAgICAgLmNlbnRlckhvcml6b250YWxseSgpO1xuXG4gICAgaWYgKHdpbmRvdz8uaW5uZXJXaWR0aCA8IDYwMCkge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS5ib3R0b20oJzQ4cHgnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS50b3AoJzgwcHgnKTtcbiAgICB9XG4gICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMudG9hc3RXcmFwcGVyUmVmPy5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICB0aGlzLnRvYXN0V3JhcHBlclJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICAgIHRoaXMudG9hc3RXcmFwcGVyUmVmLmF0dGFjaCh0aGlzLnVzZXJQcm9maWxlUG9ydGFsKTtcbiAgICB9XG4gICAgY29uc3QgbWVzc2FnZUlkID0gdGhpcy5kYXRhLnVwZGF0ZU1lc3NhZ2UobXNnKTtcbiAgICB0aGlzLm1lc3NhZ2VQcm9taXNlcy5wdXNoKFxuICAgICAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKHRoaXMuZGF0YS5yZW1vdmVNZXNzYWdlKG1lc3NhZ2VJZCkpO1xuICAgICAgICAgIGlmICghdGhpcy5kYXRhLmhhc01lc3NhZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRvYXN0T3ZlcmxheSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBhZGRpbmcgMzAwbXMgZm9yIGVudHJ5IGFuaW1hdGlvblxuICAgICAgICB9LCB0aW1lb3V0ICsgMzAwKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBQcm9taXNlLnJhY2UodGhpcy5tZXNzYWdlUHJvbWlzZXMpLnRoZW4oKCkgPT4ge30pO1xuICB9XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIHByaXZhdGUgY2xvc2VUb2FzdE92ZXJsYXkoKTogYW55IHtcbiAgICByZXR1cm4gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1lc3NhZ2VQcm9taXNlcyA9IFtdO1xuICAgICAgdGhpcy50b2FzdFdyYXBwZXJSZWY/LmRldGFjaCgpO1xuICAgICAgLy8gYWRkaW5nIDMwMG1zIGZvciBleGl0IGFuaW1hdGlvblxuICAgIH0sIDMwMCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
import { ElementRef, OnDestroy, OnInit } from "@angular/core";
|
|
3
|
+
export declare type FabOptions = {
|
|
4
|
+
backgroundColorClosed?: string;
|
|
5
|
+
backgroundColorOpened?: string;
|
|
6
|
+
size?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare type FabItem = {
|
|
9
|
+
label?: string;
|
|
10
|
+
icon: string;
|
|
11
|
+
backgroundColor?: string;
|
|
12
|
+
id?: string;
|
|
13
|
+
click?: () => any;
|
|
14
|
+
};
|
|
15
|
+
export declare type FabItems = FabItem[];
|
|
16
|
+
export declare class FabComponent implements OnInit, OnDestroy {
|
|
17
|
+
private eRef;
|
|
18
|
+
show: boolean;
|
|
19
|
+
options: FabOptions;
|
|
20
|
+
items: FabItems;
|
|
21
|
+
isOpen: boolean;
|
|
22
|
+
constructor(eRef: ElementRef);
|
|
23
|
+
clickout(event: any): void;
|
|
24
|
+
ngOnInit(): void;
|
|
25
|
+
ngOnDestroy(): void;
|
|
26
|
+
clickItem(item: FabItem): void;
|
|
27
|
+
closeFab(): void;
|
|
28
|
+
toogleFab(): void;
|
|
29
|
+
}
|
package/fab/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './public_api';
|