@ifsworld/granite-components 15.0.1 → 15.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/date-picker/lib/date-picker-base.d.ts +3 -3
- package/date-picker/lib/date-picker.module.d.ts +2 -2
- package/esm2022/carousel/ifsworld-granite-components-carousel.mjs +5 -0
- package/esm2022/carousel/index.mjs +3 -0
- package/esm2022/carousel/lib/carousel.component.mjs +156 -0
- package/esm2022/carousel/lib/carousel.module.mjs +31 -0
- package/esm2022/date-picker/ifsworld-granite-components-date-picker.mjs +5 -0
- package/esm2022/date-picker/index.mjs +5 -0
- package/esm2022/date-picker/lib/date-picker-base.mjs +53 -0
- package/esm2022/date-picker/lib/date-picker-trigger-for.directive.mjs +228 -0
- package/esm2022/date-picker/lib/date-picker.component.mjs +30 -0
- package/esm2022/date-picker/lib/date-picker.module.mjs +58 -0
- package/esm2022/date-picker/lib/date-range-picker.component.mjs +46 -0
- package/esm2022/file-upload/ifsworld-granite-components-file-upload.mjs +5 -0
- package/esm2022/file-upload/index.mjs +3 -0
- package/esm2022/file-upload/lib/directives/file-drag-and-drop.directive.mjs +102 -0
- package/esm2022/file-upload/lib/file-upload.component.mjs +182 -0
- package/esm2022/file-upload/lib/file-upload.constants.mjs +45 -0
- package/esm2022/file-upload/lib/file-upload.module.mjs +32 -0
- package/esm2022/file-upload/lib/file-upload.utils.mjs +13 -0
- package/esm2022/ifsworld-granite-components.mjs +5 -0
- package/esm2022/index.mjs +90 -0
- package/esm2022/lib/arrange-grid/arrange-grid-item.component.mjs +44 -0
- package/esm2022/lib/arrange-grid/arrange-grid.component.mjs +125 -0
- package/esm2022/lib/arrange-grid/arrange-grid.module.mjs +19 -0
- package/esm2022/lib/avatar/avatar-default-status/avatar-default-status.component.mjs +36 -0
- package/esm2022/lib/avatar/avatar.component.mjs +68 -0
- package/esm2022/lib/avatar/avatar.component.public-types.mjs +7 -0
- package/esm2022/lib/avatar/avatar.module.mjs +37 -0
- package/esm2022/lib/avatar/custom-avatar-status.directive.mjs +18 -0
- package/esm2022/lib/avatar/empty-avatar/empty-avatar.component.mjs +37 -0
- package/esm2022/lib/badge/badge.component.mjs +39 -0
- package/esm2022/lib/badge/badge.module.mjs +18 -0
- package/esm2022/lib/badge/testing/badge.harness.mjs +25 -0
- package/esm2022/lib/button/button.component.mjs +87 -0
- package/esm2022/lib/button/button.module.mjs +16 -0
- package/esm2022/lib/card-list/card/card-avatar.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-actions.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-body.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-content.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-footer.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-header-subtitle.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-header-title.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-header.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card.component.mjs +11 -0
- package/esm2022/lib/card-list/card-list.component.mjs +24 -0
- package/esm2022/lib/card-list/card-list.module.mjs +68 -0
- package/esm2022/lib/checkbox/checkbox-group.component.mjs +17 -0
- package/esm2022/lib/checkbox/checkbox.component.mjs +99 -0
- package/esm2022/lib/checkbox/checkbox.module.mjs +17 -0
- package/esm2022/lib/chips/chip-input.mjs +195 -0
- package/esm2022/lib/chips/chip-list.component.mjs +567 -0
- package/esm2022/lib/chips/chip.component.mjs +288 -0
- package/esm2022/lib/chips/chips.module.mjs +31 -0
- package/esm2022/lib/collapsible-group/collapsible-group-body.directive.mjs +17 -0
- package/esm2022/lib/collapsible-group/collapsible-group-header.directive.mjs +17 -0
- package/esm2022/lib/collapsible-group/collapsible-group.component.mjs +46 -0
- package/esm2022/lib/collapsible-group/collapsible-group.module.mjs +33 -0
- package/esm2022/lib/contacts/contact-item/contact-item.component.mjs +27 -0
- package/esm2022/lib/contacts/contact-item-default-status/contact-item-default-status.component.mjs +20 -0
- package/esm2022/lib/contacts/contact-item-title/contact-item-title.component.mjs +15 -0
- package/esm2022/lib/contacts/contacts-profile/contacts-profile.component.mjs +18 -0
- package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-data.mjs +24 -0
- package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-for.directive.mjs +231 -0
- package/esm2022/lib/contacts/contacts-types/contacts.component.private-types.mjs +2 -0
- package/esm2022/lib/contacts/contacts-types/contacts.component.public-types.mjs +9 -0
- package/esm2022/lib/contacts/contacts.component.mjs +92 -0
- package/esm2022/lib/contacts/contacts.module.mjs +53 -0
- package/esm2022/lib/contacts/custom-profile.directive.mjs +16 -0
- package/esm2022/lib/contacts/custom-status.directive.mjs +18 -0
- package/esm2022/lib/core/animation.mjs +34 -0
- package/esm2022/lib/core/client-environment.mjs +20 -0
- package/esm2022/lib/core/common-behaviors/disabled.mjs +27 -0
- package/esm2022/lib/core/core.module.mjs +44 -0
- package/esm2022/lib/core/devices/client-input-desktop.directive.mjs +29 -0
- package/esm2022/lib/core/devices/client-input-touch.directive.mjs +29 -0
- package/esm2022/lib/core/devices/client-output-desktop.directive.mjs +29 -0
- package/esm2022/lib/core/devices/client-output-touch.directive.mjs +29 -0
- package/esm2022/lib/core/hide-on-overflow.directive.mjs +83 -0
- package/esm2022/lib/core/overlay-base.mjs +18 -0
- package/esm2022/lib/core/overlay-position-config.mjs +2 -0
- package/esm2022/lib/core/overlay-trigger-for-base.directive.mjs +121 -0
- package/esm2022/lib/core/overlay.service.mjs +90 -0
- package/esm2022/lib/core/pipes/pure-pipes.module.mjs +16 -0
- package/esm2022/lib/core/pipes/title.pipe.mjs +21 -0
- package/esm2022/lib/core/radio-checkbox-base.mjs +19 -0
- package/esm2022/lib/core/services/names-utils-service.mjs +51 -0
- package/esm2022/lib/core/theme.library.mjs +59 -0
- package/esm2022/lib/core/types.mjs +2 -0
- package/esm2022/lib/grid/grid.component.mjs +128 -0
- package/esm2022/lib/grid/grid.module.mjs +18 -0
- package/esm2022/lib/icon/icon.component.mjs +43 -0
- package/esm2022/lib/icon/icon.module.mjs +16 -0
- package/esm2022/lib/input-field/input-field.component.mjs +167 -0
- package/esm2022/lib/input-field/input-field.module.mjs +20 -0
- package/esm2022/lib/label/label.component.mjs +31 -0
- package/esm2022/lib/label/label.module.mjs +18 -0
- package/esm2022/lib/menu/divider.directive.mjs +23 -0
- package/esm2022/lib/menu/menu-base.mjs +364 -0
- package/esm2022/lib/menu/menu-desktop-animations.mjs +23 -0
- package/esm2022/lib/menu/menu-errors.mjs +37 -0
- package/esm2022/lib/menu/menu-item.component.mjs +89 -0
- package/esm2022/lib/menu/menu-panel.mjs +7 -0
- package/esm2022/lib/menu/menu-positions.mjs +9 -0
- package/esm2022/lib/menu/menu-touch-animations.mjs +137 -0
- package/esm2022/lib/menu/menu-touch-close.component.mjs +13 -0
- package/esm2022/lib/menu/menu-touch-title.component.mjs +59 -0
- package/esm2022/lib/menu/menu-trigger-for.directive.mjs +738 -0
- package/esm2022/lib/menu/menu.component.mjs +30 -0
- package/esm2022/lib/menu/menu.module.mjs +55 -0
- package/esm2022/lib/menu/testing/menu.harness.mjs +109 -0
- package/esm2022/lib/menu/title.directive.mjs +17 -0
- package/esm2022/lib/progress-bar/progress-bar-legend/progress-bar-legend.component.mjs +19 -0
- package/esm2022/lib/progress-bar/progress-bar-legend-base.mjs +17 -0
- package/esm2022/lib/progress-bar/progress-bar-legend-trigger-for.directive.mjs +54 -0
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +92 -0
- package/esm2022/lib/progress-bar/progress-bar.model.mjs +2 -0
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +44 -0
- package/esm2022/lib/radio-button/radio-button.component.mjs +119 -0
- package/esm2022/lib/radio-button/radio-button.module.mjs +17 -0
- package/esm2022/lib/radio-button/radio-group.component.mjs +17 -0
- package/esm2022/lib/toggle-switch/toggle-switch.component.mjs +100 -0
- package/esm2022/lib/toggle-switch/toggle-switch.module.mjs +16 -0
- package/esm2022/table/ifsworld-granite-components-table.mjs +5 -0
- package/esm2022/table/index.mjs +5 -0
- package/esm2022/table/lib/cell/cell-align/cell-align-classes.directive.mjs +26 -0
- package/esm2022/table/lib/cell/cell.mjs +15 -0
- package/esm2022/table/lib/cell/table-data-cell.component.mjs +25 -0
- package/esm2022/table/lib/cell/table-header-cell.component.mjs +14 -0
- package/esm2022/table/lib/column/table-column.directive.mjs +33 -0
- package/esm2022/table/lib/column-size/column-size.directive.mjs +34 -0
- package/esm2022/table/lib/table-constants.library.mjs +7 -0
- package/esm2022/table/lib/table.component.mjs +62 -0
- package/esm2022/table/lib/table.model.mjs +2 -0
- package/esm2022/table/lib/table.module.mjs +38 -0
- package/esm2022/tooltip/ifsworld-granite-components-tooltip.mjs +5 -0
- package/esm2022/tooltip/index.mjs +4 -0
- package/esm2022/tooltip/lib/Services/granite-tooltip.service.mjs +28 -0
- package/esm2022/tooltip/lib/tooltip-constants.library.mjs +4 -0
- package/esm2022/tooltip/lib/tooltip-trigger-for.directive.mjs +147 -0
- package/esm2022/tooltip/lib/tooltip.component.mjs +14 -0
- package/esm2022/tooltip/lib/tooltip.module.mjs +19 -0
- package/fesm2022/ifsworld-granite-components-carousel.mjs +9 -9
- package/fesm2022/ifsworld-granite-components-carousel.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components-date-picker.mjs +30 -34
- package/fesm2022/ifsworld-granite-components-date-picker.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components-file-upload.mjs +12 -13
- package/fesm2022/ifsworld-granite-components-file-upload.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components-table.mjs +29 -32
- package/fesm2022/ifsworld-granite-components-table.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components-tooltip.mjs +15 -16
- package/fesm2022/ifsworld-granite-components-tooltip.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components.mjs +321 -340
- package/fesm2022/ifsworld-granite-components.mjs.map +1 -1
- package/lib/contacts/contacts-trigger/contacts-trigger-data.d.ts +1 -1
- package/lib/core/overlay-base.d.ts +1 -1
- package/lib/core/radio-checkbox-base.d.ts +1 -1
- package/lib/menu/menu-base.d.ts +1 -1
- package/lib/progress-bar/progress-bar-legend-base.d.ts +1 -1
- package/package.json +21 -9
- package/src/lib/core/style/_mixins.scss +9 -10
- package/src/lib/core/style/_range-functions.scss +4 -6
- package/src/lib/core/style/_z-index.scss +4 -6
- package/table/lib/cell/cell.d.ts +1 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output, QueryList, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { GraniteTableColumnDirective } from './column/table-column.directive';
|
|
3
|
+
import { GraniteTableCellConstants } from './table-constants.library';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/cdk/table";
|
|
7
|
+
import * as i3 from "./cell/table-header-cell.component";
|
|
8
|
+
import * as i4 from "./cell/table-data-cell.component";
|
|
9
|
+
import * as i5 from "./cell/cell-align/cell-align-classes.directive";
|
|
10
|
+
import * as i6 from "./column-size/column-size.directive";
|
|
11
|
+
import * as i7 from "@ifsworld/granite-components";
|
|
12
|
+
export class GraniteTableComponent {
|
|
13
|
+
constructor(cd) {
|
|
14
|
+
this.cd = cd;
|
|
15
|
+
this.dataSource = [];
|
|
16
|
+
this.horizontalScroll = false;
|
|
17
|
+
this.conditionalRowStyles = [];
|
|
18
|
+
this.rowClick = new EventEmitter();
|
|
19
|
+
this.cellIdPrefix = GraniteTableCellConstants.CELL_ID_PREFIX;
|
|
20
|
+
}
|
|
21
|
+
ngAfterContentChecked() {
|
|
22
|
+
this.refreshData();
|
|
23
|
+
this.cd.markForCheck();
|
|
24
|
+
}
|
|
25
|
+
_trackColumnName(index, column) {
|
|
26
|
+
return column.name;
|
|
27
|
+
}
|
|
28
|
+
handleRowClick(event, row, rowIndex) {
|
|
29
|
+
this.rowClick.emit({ row, rowIndex });
|
|
30
|
+
}
|
|
31
|
+
getStyles(row, rowIndex) {
|
|
32
|
+
return this.conditionalRowStyles
|
|
33
|
+
.filter((item) => item.condition(row, rowIndex))
|
|
34
|
+
.reduce((acc, item) => ({ ...acc, ...item.styles }), {});
|
|
35
|
+
}
|
|
36
|
+
refreshData() {
|
|
37
|
+
this._columns = this.tableColumnsComponent.toArray();
|
|
38
|
+
this._displayedColumns = this.tableColumnsComponent
|
|
39
|
+
.toArray()
|
|
40
|
+
.map((c) => c.name);
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTableComponent, selector: "granite-table", inputs: { dataSource: "dataSource", horizontalScroll: "horizontalScroll", trackBy: "trackBy", conditionalRowStyles: "conditionalRowStyles" }, outputs: { rowClick: "rowClick" }, queries: [{ propertyName: "tableColumnsComponent", predicate: GraniteTableColumnDirective }], ngImport: i0, template: "<div\n class=\"cdk-table-wrapper\"\n data-fnd=\"granite-table-wrapper\"\n [class.horizontal-scroll]=\"horizontalScroll\"\n>\n <table\n class=\"granite-table\"\n cdk-table\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackBy\"\n >\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n [cdkColumnDef]=\"column.name\"\n >\n <th\n tabindex=\"0\"\n cdk-header-cell\n *cdkHeaderCellDef\n data-fnd=\"data-granite-table-header-cell\"\n [graniteColumnSize]=\"column.size\"\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th>\n\n <td\n tabindex=\"0\"\n cdk-cell\n *cdkCellDef=\"let row; let rowIndex = index\"\n data-fnd=\"data-granite-table-row-cell\"\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteColumnSize]=\"column.size\"\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n\n <tr\n tabindex=\"0\"\n cdk-header-row\n *cdkHeaderRowDef=\"_displayedColumns\"\n data-fnd=\"data-granite-table-header\"\n ></tr>\n <tr\n tabindex=\"0\"\n cdk-row\n *cdkRowDef=\"let row; let rowIndex = index; columns: _displayedColumns\"\n data-fnd=\"data-granite-table-row\"\n [ngStyle]=\"getStyles(row, rowIndex)\"\n (click)=\"handleRowClick($event, row, rowIndex)\"\n ></tr>\n </table>\n</div>\n", styles: [".granite-table tr>td.granite-table-cell-center-align,.granite-table tr>th.granite-table-cell-center-align{text-align:center}.granite-table tr>td.granite-table-cell-start-align,.granite-table tr>th.granite-table-cell-start-align{text-align:start}.granite-table tr>td.granite-table-cell-end-align,.granite-table tr>th.granite-table-cell-end-align{text-align:end}.granite-table [cdk-header-cell].column-size-sm,.granite-table [cdk-cell].column-size-sm{padding:.375rem .5rem}.granite-table [cdk-header-cell].column-size-md,.granite-table [cdk-cell].column-size-md{padding:.75rem 1rem}.granite-table [cdk-header-cell].column-size-lg,.granite-table [cdk-cell].column-size-lg{padding:.9375rem 1.25rem}.cdk-table-wrapper{width:100%;overflow-x:hidden}.cdk-table-wrapper .cdk-table{width:100%;border-spacing:0;white-space:nowrap}.cdk-table-wrapper .cdk-table .cdk-header-row,.cdk-table-wrapper .cdk-table cdk-cell{height:2.5rem}.cdk-table-wrapper .cdk-table .cdk-cell{background:transparent}.cdk-table-wrapper .cdk-table .cdk-header-cell,.cdk-table-wrapper .cdk-table cdk-cell{border:none;border-width:0}.cdk-table-wrapper .cdk-table .cdk-row,.cdk-table-wrapper .cdk-table .cdk-header-row{background:var(--granite-color-background-variant);height:2.5rem}.horizontal-scroll{overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.CdkTable, selector: "cdk-table, table[cdk-table]", inputs: ["trackBy", "dataSource", "multiTemplateDataRows", "fixedLayout"], outputs: ["contentChanged"], exportAs: ["cdkTable"] }, { kind: "directive", type: i2.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }, { kind: "directive", type: i2.CdkCellDef, selector: "[cdkCellDef]" }, { kind: "directive", type: i2.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { kind: "directive", type: i2.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["cdkColumnDef", "sticky", "stickyEnd"] }, { kind: "directive", type: i2.CdkCell, selector: "cdk-cell, td[cdk-cell]" }, { kind: "component", type: i2.CdkRow, selector: "cdk-row, tr[cdk-row]" }, { kind: "directive", type: i2.CdkHeaderCell, selector: "cdk-header-cell, th[cdk-header-cell]" }, { kind: "component", type: i2.CdkHeaderRow, selector: "cdk-header-row, tr[cdk-header-row]" }, { kind: "directive", type: i2.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { kind: "component", type: i3.GraniteTableHeaderCellComponent, selector: "th[graniteTableHeaderCell]" }, { kind: "component", type: i4.GraniteTableDataCellComponent, selector: "granite-table-data-cell", inputs: ["value", "rowIndex", "columnIndex", "row", "tableCellTemplateRef"] }, { kind: "directive", type: i5.GraniteCellAlignClassesDirective, selector: "[graniteCellAlignClasses]", inputs: ["graniteCellAlignClasses", "textAlign"] }, { kind: "directive", type: i6.GraniteColumnSizeDirective, selector: "[graniteColumnSize]", inputs: ["graniteColumnSize"] }, { kind: "pipe", type: i7.GraniteTitlePipe, name: "graniteTitle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTableComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'granite-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"cdk-table-wrapper\"\n data-fnd=\"granite-table-wrapper\"\n [class.horizontal-scroll]=\"horizontalScroll\"\n>\n <table\n class=\"granite-table\"\n cdk-table\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackBy\"\n >\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n [cdkColumnDef]=\"column.name\"\n >\n <th\n tabindex=\"0\"\n cdk-header-cell\n *cdkHeaderCellDef\n data-fnd=\"data-granite-table-header-cell\"\n [graniteColumnSize]=\"column.size\"\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th>\n\n <td\n tabindex=\"0\"\n cdk-cell\n *cdkCellDef=\"let row; let rowIndex = index\"\n data-fnd=\"data-granite-table-row-cell\"\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteColumnSize]=\"column.size\"\n graniteCellAlignClasses\n [textAlign]=\"column.textAlign\"\n [class]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n\n <tr\n tabindex=\"0\"\n cdk-header-row\n *cdkHeaderRowDef=\"_displayedColumns\"\n data-fnd=\"data-granite-table-header\"\n ></tr>\n <tr\n tabindex=\"0\"\n cdk-row\n *cdkRowDef=\"let row; let rowIndex = index; columns: _displayedColumns\"\n data-fnd=\"data-granite-table-row\"\n [ngStyle]=\"getStyles(row, rowIndex)\"\n (click)=\"handleRowClick($event, row, rowIndex)\"\n ></tr>\n </table>\n</div>\n", styles: [".granite-table tr>td.granite-table-cell-center-align,.granite-table tr>th.granite-table-cell-center-align{text-align:center}.granite-table tr>td.granite-table-cell-start-align,.granite-table tr>th.granite-table-cell-start-align{text-align:start}.granite-table tr>td.granite-table-cell-end-align,.granite-table tr>th.granite-table-cell-end-align{text-align:end}.granite-table [cdk-header-cell].column-size-sm,.granite-table [cdk-cell].column-size-sm{padding:.375rem .5rem}.granite-table [cdk-header-cell].column-size-md,.granite-table [cdk-cell].column-size-md{padding:.75rem 1rem}.granite-table [cdk-header-cell].column-size-lg,.granite-table [cdk-cell].column-size-lg{padding:.9375rem 1.25rem}.cdk-table-wrapper{width:100%;overflow-x:hidden}.cdk-table-wrapper .cdk-table{width:100%;border-spacing:0;white-space:nowrap}.cdk-table-wrapper .cdk-table .cdk-header-row,.cdk-table-wrapper .cdk-table cdk-cell{height:2.5rem}.cdk-table-wrapper .cdk-table .cdk-cell{background:transparent}.cdk-table-wrapper .cdk-table .cdk-header-cell,.cdk-table-wrapper .cdk-table cdk-cell{border:none;border-width:0}.cdk-table-wrapper .cdk-table .cdk-row,.cdk-table-wrapper .cdk-table .cdk-header-row{background:var(--granite-color-background-variant);height:2.5rem}.horizontal-scroll{overflow-x:auto}\n"] }]
|
|
48
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { dataSource: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], horizontalScroll: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], trackBy: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], conditionalRowStyles: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], rowClick: [{
|
|
57
|
+
type: Output
|
|
58
|
+
}], tableColumnsComponent: [{
|
|
59
|
+
type: ContentChildren,
|
|
60
|
+
args: [GraniteTableColumnDirective]
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvdGFibGUvc3JjL2xpYi90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90YWJsZS9zcmMvbGliL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBVXRFLE1BQU0sT0FBTyxxQkFBcUI7SUF3QmhDLFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBdEJ6QyxlQUFVLEdBQVEsRUFBRSxDQUFDO1FBR3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQU16Qix5QkFBb0IsR0FBcUMsRUFBRSxDQUFDO1FBRzVELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3JCLGlCQUFZLEdBQUcseUJBQXlCLENBQUMsY0FBYyxDQUFDO0lBS3JCLENBQUM7SUFFN0MscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsTUFBbUM7UUFDakUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBWSxFQUFFLEdBQU0sRUFBRSxRQUFnQjtRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBTSxFQUFFLFFBQWdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQjthQUM3QixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQy9DLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMscUJBQXFCO2FBQ2hELE9BQU8sRUFBRTthQUNULEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7K0dBbERVLHFCQUFxQjttR0FBckIscUJBQXFCLDRRQWdCZiwyQkFBMkIsNkJDekM5QywwbkVBeUVBOzs0RkRoRGEscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtzRkFJL0MsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxNQUFNO2dCQUlQLHFCQUFxQjtzQkFEcEIsZUFBZTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4vY29sdW1uL3RhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR3Jhbml0ZVRhYmxlQ2VsbENvbnN0YW50cyB9IGZyb20gJy4vdGFibGUtY29uc3RhbnRzLmxpYnJhcnknO1xuaW1wb3J0IHsgR3Jhbml0ZVRhYmxlUm93U3R5bGVzSW50ZXJmYWNlIH0gZnJvbSAnLi90YWJsZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZVRhYmxlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG4gIEBJbnB1dCgpXG4gIGRhdGFTb3VyY2U6IFRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGhvcml6b250YWxTY3JvbGwgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB0cmFja0J5OiBUcmFja0J5RnVuY3Rpb248VD47XG5cbiAgQElucHV0KClcbiAgY29uZGl0aW9uYWxSb3dTdHlsZXM6IEdyYW5pdGVUYWJsZVJvd1N0eWxlc0ludGVyZmFjZVtdID0gW107XG5cbiAgQE91dHB1dCgpXG4gIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oR3Jhbml0ZVRhYmxlQ29sdW1uRGlyZWN0aXZlKVxuICB0YWJsZUNvbHVtbnNDb21wb25lbnQ6IFF1ZXJ5TGlzdDxHcmFuaXRlVGFibGVDb2x1bW5EaXJlY3RpdmU+O1xuXG4gIHJlYWRvbmx5IGNlbGxJZFByZWZpeCA9IEdyYW5pdGVUYWJsZUNlbGxDb25zdGFudHMuQ0VMTF9JRF9QUkVGSVg7XG5cbiAgX2NvbHVtbnM6IEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZVtdO1xuICBfZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaERhdGEoKTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgX3RyYWNrQ29sdW1uTmFtZShpbmRleDogbnVtYmVyLCBjb2x1bW46IEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbHVtbi5uYW1lO1xuICB9XG5cbiAgaGFuZGxlUm93Q2xpY2soZXZlbnQ6IEV2ZW50LCByb3c6IFQsIHJvd0luZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQoeyByb3csIHJvd0luZGV4IH0pO1xuICB9XG5cbiAgZ2V0U3R5bGVzKHJvdzogVCwgcm93SW5kZXg6IG51bWJlcik6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB0aGlzLmNvbmRpdGlvbmFsUm93U3R5bGVzXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNvbmRpdGlvbihyb3csIHJvd0luZGV4KSlcbiAgICAgIC5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gKHsgLi4uYWNjLCAuLi5pdGVtLnN0eWxlcyB9KSwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb2x1bW5zID0gdGhpcy50YWJsZUNvbHVtbnNDb21wb25lbnQudG9BcnJheSgpO1xuICAgIHRoaXMuX2Rpc3BsYXllZENvbHVtbnMgPSB0aGlzLnRhYmxlQ29sdW1uc0NvbXBvbmVudFxuICAgICAgLnRvQXJyYXkoKVxuICAgICAgLm1hcCgoYykgPT4gYy5uYW1lKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNkay10YWJsZS13cmFwcGVyXCJcbiAgZGF0YS1mbmQ9XCJncmFuaXRlLXRhYmxlLXdyYXBwZXJcIlxuICBbY2xhc3MuaG9yaXpvbnRhbC1zY3JvbGxdPVwiaG9yaXpvbnRhbFNjcm9sbFwiXG4+XG4gIDx0YWJsZVxuICAgIGNsYXNzPVwiZ3Jhbml0ZS10YWJsZVwiXG4gICAgY2RrLXRhYmxlXG4gICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgW3RyYWNrQnldPVwidHJhY2tCeVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGNvbHVtbiBvZiBfY29sdW1ucztcbiAgICAgICAgdHJhY2tCeTogX3RyYWNrQ29sdW1uTmFtZTtcbiAgICAgICAgbGV0IGNvbHVtbkluZGV4ID0gaW5kZXhcbiAgICAgIFwiXG4gICAgICBbY2RrQ29sdW1uRGVmXT1cImNvbHVtbi5uYW1lXCJcbiAgICA+XG4gICAgICA8dGhcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgY2RrLWhlYWRlci1jZWxsXG4gICAgICAgICpjZGtIZWFkZXJDZWxsRGVmXG4gICAgICAgIGRhdGEtZm5kPVwiZGF0YS1ncmFuaXRlLXRhYmxlLWhlYWRlci1jZWxsXCJcbiAgICAgICAgW2dyYW5pdGVDb2x1bW5TaXplXT1cImNvbHVtbi5zaXplXCJcbiAgICAgICAgW2F0dHIuZGF0YS1ncmFuaXRlLXRhYmxlLWhlYWRlci1jZWxsXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgZ3Jhbml0ZVRhYmxlSGVhZGVyQ2VsbFxuICAgICAgICBncmFuaXRlQ2VsbEFsaWduQ2xhc3Nlc1xuICAgICAgICBbdGV4dEFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIlxuICAgICAgICBbY2xhc3NdPVwiY29sdW1uLmhlYWRlckNsYXNzXCJcbiAgICAgID5cbiAgICAgICAge3sgY29sdW1uLnRpdGxlID8/IGNvbHVtbi5uYW1lIHwgZ3Jhbml0ZVRpdGxlIH19XG4gICAgICA8L3RoPlxuXG4gICAgICA8dGRcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgY2RrLWNlbGxcbiAgICAgICAgKmNka0NlbGxEZWY9XCJsZXQgcm93OyBsZXQgcm93SW5kZXggPSBpbmRleFwiXG4gICAgICAgIGRhdGEtZm5kPVwiZGF0YS1ncmFuaXRlLXRhYmxlLXJvdy1jZWxsXCJcbiAgICAgICAgW2F0dHIuZGF0YS1ncmFuaXRlLXRhYmxlLWNlbGxdPVwiY29sdW1uLm5hbWVcIlxuICAgICAgICBbZ3Jhbml0ZUNvbHVtblNpemVdPVwiY29sdW1uLnNpemVcIlxuICAgICAgICBncmFuaXRlQ2VsbEFsaWduQ2xhc3Nlc1xuICAgICAgICBbdGV4dEFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIlxuICAgICAgICBbY2xhc3NdPVwiY29sdW1uLmNsYXNzXCJcbiAgICAgICAgW2lkXT1cImNlbGxJZFByZWZpeCArICctJyArIHJvd0luZGV4ICsgJy0nICsgY29sdW1uSW5kZXhcIlxuICAgICAgPlxuICAgICAgICA8Z3Jhbml0ZS10YWJsZS1kYXRhLWNlbGxcbiAgICAgICAgICBbdmFsdWVdPVwicm93W2NvbHVtbi5uYW1lXVwiXG4gICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICBbcm93SW5kZXhdPVwicm93SW5kZXhcIlxuICAgICAgICAgIFtjb2x1bW5JbmRleF09XCJjb2x1bW5JbmRleFwiXG4gICAgICAgICAgW3RhYmxlQ2VsbFRlbXBsYXRlUmVmXT1cImNvbHVtbi50YWJsZUNlbGxUZW1wbGF0ZVJlZlwiXG4gICAgICAgID48L2dyYW5pdGUtdGFibGUtZGF0YS1jZWxsPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0clxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIGNkay1oZWFkZXItcm93XG4gICAgICAqY2RrSGVhZGVyUm93RGVmPVwiX2Rpc3BsYXllZENvbHVtbnNcIlxuICAgICAgZGF0YS1mbmQ9XCJkYXRhLWdyYW5pdGUtdGFibGUtaGVhZGVyXCJcbiAgICA+PC90cj5cbiAgICA8dHJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBjZGstcm93XG4gICAgICAqY2RrUm93RGVmPVwibGV0IHJvdzsgbGV0IHJvd0luZGV4ID0gaW5kZXg7IGNvbHVtbnM6IF9kaXNwbGF5ZWRDb2x1bW5zXCJcbiAgICAgIGRhdGEtZm5kPVwiZGF0YS1ncmFuaXRlLXRhYmxlLXJvd1wiXG4gICAgICBbbmdTdHlsZV09XCJnZXRTdHlsZXMocm93LCByb3dJbmRleClcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZVJvd0NsaWNrKCRldmVudCwgcm93LCByb3dJbmRleClcIlxuICAgID48L3RyPlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90YWJsZS9zcmMvbGliL3RhYmxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEdyYW5pdGVUYWJsZVJvd1N0eWxlc0ludGVyZmFjZSB7XG4gIGNvbmRpdGlvbjogKHJvdzogYW55LCByb3dJbmRleDogbnVtYmVyKSA9PiBib29sZWFuO1xuICBzdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TableModule } from 'primeng/table';
|
|
4
|
+
import { PurePipesModule } from '@ifsworld/granite-components';
|
|
5
|
+
import { GraniteTableComponent } from './table.component';
|
|
6
|
+
import { GraniteTableColumnDirective } from './column/table-column.directive';
|
|
7
|
+
import { GraniteTableHeaderCellComponent } from './cell/table-header-cell.component';
|
|
8
|
+
import { GraniteTableDataCellComponent } from './cell/table-data-cell.component';
|
|
9
|
+
import { GraniteCellAlignClassesDirective } from './cell/cell-align/cell-align-classes.directive';
|
|
10
|
+
import { CdkTableModule } from '@angular/cdk/table';
|
|
11
|
+
import { GraniteColumnSizeDirective } from './column-size/column-size.directive';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export class GraniteTableModule {
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: GraniteTableModule, declarations: [GraniteTableComponent,
|
|
16
|
+
GraniteTableColumnDirective,
|
|
17
|
+
GraniteTableHeaderCellComponent,
|
|
18
|
+
GraniteTableDataCellComponent,
|
|
19
|
+
GraniteCellAlignClassesDirective,
|
|
20
|
+
GraniteColumnSizeDirective], imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule], exports: [GraniteTableComponent, GraniteTableColumnDirective] }); }
|
|
21
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTableModule, imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule] }); }
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTableModule, decorators: [{
|
|
24
|
+
type: NgModule,
|
|
25
|
+
args: [{
|
|
26
|
+
imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule],
|
|
27
|
+
declarations: [
|
|
28
|
+
GraniteTableComponent,
|
|
29
|
+
GraniteTableColumnDirective,
|
|
30
|
+
GraniteTableHeaderCellComponent,
|
|
31
|
+
GraniteTableDataCellComponent,
|
|
32
|
+
GraniteCellAlignClassesDirective,
|
|
33
|
+
GraniteColumnSizeDirective,
|
|
34
|
+
],
|
|
35
|
+
exports: [GraniteTableComponent, GraniteTableColumnDirective],
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvdGFibGUvc3JjL2xpYi90YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQWNqRixNQUFNLE9BQU8sa0JBQWtCOytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFUM0IscUJBQXFCO1lBQ3JCLDJCQUEyQjtZQUMzQiwrQkFBK0I7WUFDL0IsNkJBQTZCO1lBQzdCLGdDQUFnQztZQUNoQywwQkFBMEIsYUFQbEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsY0FBYyxhQVMxRCxxQkFBcUIsRUFBRSwyQkFBMkI7Z0hBRWpELGtCQUFrQixZQVhuQixZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxjQUFjOzs0RkFXekQsa0JBQWtCO2tCQVo5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQztvQkFDckUsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsMkJBQTJCO3dCQUMzQiwrQkFBK0I7d0JBQy9CLDZCQUE2Qjt3QkFDN0IsZ0NBQWdDO3dCQUNoQywwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDO2lCQUM5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcblxuaW1wb3J0IHsgUHVyZVBpcGVzTW9kdWxlIH0gZnJvbSAnQGlmc3dvcmxkL2dyYW5pdGUtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IEdyYW5pdGVUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4vY29sdW1uL3RhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR3Jhbml0ZVRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC90YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3Jhbml0ZVRhYmxlRGF0YUNlbGxDb21wb25lbnQgfSBmcm9tICcuL2NlbGwvdGFibGUtZGF0YS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmFuaXRlQ2VsbEFsaWduQ2xhc3Nlc0RpcmVjdGl2ZSB9IGZyb20gJy4vY2VsbC9jZWxsLWFsaWduL2NlbGwtYWxpZ24tY2xhc3Nlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2RrVGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHsgR3Jhbml0ZUNvbHVtblNpemVEaXJlY3RpdmUgfSBmcm9tICcuL2NvbHVtbi1zaXplL2NvbHVtbi1zaXplLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRhYmxlTW9kdWxlLCBQdXJlUGlwZXNNb2R1bGUsIENka1RhYmxlTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgR3Jhbml0ZVRhYmxlQ29tcG9uZW50LFxuICAgIEdyYW5pdGVUYWJsZUNvbHVtbkRpcmVjdGl2ZSxcbiAgICBHcmFuaXRlVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50LFxuICAgIEdyYW5pdGVUYWJsZURhdGFDZWxsQ29tcG9uZW50LFxuICAgIEdyYW5pdGVDZWxsQWxpZ25DbGFzc2VzRGlyZWN0aXZlLFxuICAgIEdyYW5pdGVDb2x1bW5TaXplRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbR3Jhbml0ZVRhYmxlQ29tcG9uZW50LCBHcmFuaXRlVGFibGVDb2x1bW5EaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlVGFibGVNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZzd29ybGQtZ3Jhbml0ZS1jb21wb25lbnRzLXRvb2x0aXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9pZnN3b3JsZC1ncmFuaXRlLWNvbXBvbmVudHMtdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './lib/tooltip.module';
|
|
2
|
+
export * from './lib/tooltip.component';
|
|
3
|
+
export * from './lib/tooltip-trigger-for.directive';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2x0aXAubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2x0aXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2x0aXAtdHJpZ2dlci1mb3IuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GraniteTooltipService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._activeTooltip = null;
|
|
6
|
+
}
|
|
7
|
+
setActiveTooltip(tooltip) {
|
|
8
|
+
if (this._activeTooltip && this._activeTooltip !== tooltip) {
|
|
9
|
+
this.clearActiveTooltip();
|
|
10
|
+
}
|
|
11
|
+
this._activeTooltip = tooltip;
|
|
12
|
+
}
|
|
13
|
+
clearActiveTooltip() {
|
|
14
|
+
this._activeTooltip = null;
|
|
15
|
+
}
|
|
16
|
+
get activeTooltip() {
|
|
17
|
+
return this._activeTooltip;
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipService, providedIn: 'root' }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipService, decorators: [{
|
|
23
|
+
type: Injectable,
|
|
24
|
+
args: [{
|
|
25
|
+
providedIn: 'root',
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhbml0ZS10b29sdGlwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvU2VydmljZXMvZ3Jhbml0ZS10b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUhsQztRQUlVLG1CQUFjLEdBQW1DLElBQUksQ0FBQztLQWdCL0Q7SUFkQyxnQkFBZ0IsQ0FBQyxPQUFnQztRQUMvQyxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7K0dBaEJVLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmFuaXRlVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVUb29sdGlwVHJpZ2dlckZvckRpcmVjdGl2ZSB9IGZyb20gJy4uL3Rvb2x0aXAtdHJpZ2dlci1mb3IuZGlyZWN0aXZlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVUb29sdGlwU2VydmljZSB7XG4gIHByaXZhdGUgX2FjdGl2ZVRvb2x0aXA6IEdyYW5pdGVUb29sdGlwQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgc2V0QWN0aXZlVG9vbHRpcCh0b29sdGlwOiBHcmFuaXRlVG9vbHRpcENvbXBvbmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hY3RpdmVUb29sdGlwICYmIHRoaXMuX2FjdGl2ZVRvb2x0aXAgIT09IHRvb2x0aXApIHtcbiAgICAgIHRoaXMuY2xlYXJBY3RpdmVUb29sdGlwKCk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZVRvb2x0aXAgPSB0b29sdGlwO1xuICB9XG5cbiAgY2xlYXJBY3RpdmVUb29sdGlwKCk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2ZVRvb2x0aXAgPSBudWxsO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVRvb2x0aXAoKTogR3Jhbml0ZVRvb2x0aXBDb21wb25lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlVG9vbHRpcDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export class GraniteTooltipConstants {
|
|
2
|
+
static { this.OFFSET_Y = 8; }
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb25zdGFudHMubGlicmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3Rvb2x0aXAvc3JjL2xpYi90b29sdGlwLWNvbnN0YW50cy5saWJyYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx1QkFBdUI7YUFDbEIsYUFBUSxHQUFXLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHcmFuaXRlVG9vbHRpcENvbnN0YW50cyB7XG4gIHN0YXRpYyByZWFkb25seSBPRkZTRVRfWTogbnVtYmVyID0gODtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
2
|
+
import { ConnectionPositionPair, Overlay, } from '@angular/cdk/overlay';
|
|
3
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
4
|
+
import { Directive, ElementRef, Input, ViewContainerRef, } from '@angular/core';
|
|
5
|
+
import { fromEvent, Subject } from 'rxjs';
|
|
6
|
+
import { takeUntil } from 'rxjs/operators';
|
|
7
|
+
import { GraniteTooltipConstants } from './tooltip-constants.library';
|
|
8
|
+
import { GraniteTooltipComponent } from './tooltip.component';
|
|
9
|
+
import { GraniteTooltipService } from './Services/granite-tooltip.service';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
12
|
+
import * as i2 from "@angular/cdk/a11y";
|
|
13
|
+
import * as i3 from "./Services/granite-tooltip.service";
|
|
14
|
+
export class GraniteTooltipTriggerForDirective {
|
|
15
|
+
constructor(_elementRef, _overlay, _viewContainerRef, _focusMonitor, _tooltipService) {
|
|
16
|
+
this._elementRef = _elementRef;
|
|
17
|
+
this._overlay = _overlay;
|
|
18
|
+
this._viewContainerRef = _viewContainerRef;
|
|
19
|
+
this._focusMonitor = _focusMonitor;
|
|
20
|
+
this._tooltipService = _tooltipService;
|
|
21
|
+
this.hideDelay = 0;
|
|
22
|
+
this.showDelay = 500;
|
|
23
|
+
this.showOnKeyboardFocus = false;
|
|
24
|
+
this.showOnClick = false;
|
|
25
|
+
this._destroy = new Subject();
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this._createOverlay();
|
|
29
|
+
}
|
|
30
|
+
ngOnChanges(changes) {
|
|
31
|
+
if (changes.showOnKeyboardFocus) {
|
|
32
|
+
this._handleKeyboardFocus();
|
|
33
|
+
}
|
|
34
|
+
if (changes.showOnClick) {
|
|
35
|
+
this._handleClick();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
ngOnDestroy() {
|
|
39
|
+
this._detachOverlay(this.hideDelay);
|
|
40
|
+
this._destroy.next();
|
|
41
|
+
this._destroy.complete();
|
|
42
|
+
}
|
|
43
|
+
_handleMouseenter() {
|
|
44
|
+
if (!this.showOnClick) {
|
|
45
|
+
this._attachOverlay(this.showDelay);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
_handleMouseleave() {
|
|
49
|
+
this._detachOverlay(this.hideDelay);
|
|
50
|
+
}
|
|
51
|
+
_handleBlur() {
|
|
52
|
+
this._detachOverlay(this.hideDelay);
|
|
53
|
+
}
|
|
54
|
+
_handleClick() {
|
|
55
|
+
fromEvent(this._getTriggerElement(), 'click')
|
|
56
|
+
.pipe(takeUntil(this._destroy))
|
|
57
|
+
.subscribe(() => {
|
|
58
|
+
this._attachOverlay(this.showDelay);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
_handleKeyboardFocus() {
|
|
62
|
+
this._focusMonitor
|
|
63
|
+
.monitor(this._getTriggerElement())
|
|
64
|
+
.pipe(takeUntil(this._destroy))
|
|
65
|
+
.subscribe((origin) => {
|
|
66
|
+
if (!origin) {
|
|
67
|
+
this._detachOverlay(this.hideDelay);
|
|
68
|
+
}
|
|
69
|
+
else if (origin === 'keyboard') {
|
|
70
|
+
this._attachOverlay(this.hideDelay);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
_createOverlay() {
|
|
75
|
+
const scrollStrategy = this._overlay.scrollStrategies.reposition();
|
|
76
|
+
const positionStrategy = this._overlay
|
|
77
|
+
.position()
|
|
78
|
+
.flexibleConnectedTo(this._getTriggerElement())
|
|
79
|
+
.withPositions([
|
|
80
|
+
new ConnectionPositionPair({ originX: 'center', originY: 'bottom' }, { overlayX: 'center', overlayY: 'top' }, undefined, GraniteTooltipConstants.OFFSET_Y, 'granite-tooltip-position-below'),
|
|
81
|
+
new ConnectionPositionPair({ originX: 'center', originY: 'top' }, { overlayX: 'center', overlayY: 'bottom' }, undefined, -GraniteTooltipConstants.OFFSET_Y, 'granite-tooltip-position-above'),
|
|
82
|
+
])
|
|
83
|
+
.withPush(true);
|
|
84
|
+
this._overlayRef = this._overlay.create({
|
|
85
|
+
positionStrategy,
|
|
86
|
+
scrollStrategy,
|
|
87
|
+
});
|
|
88
|
+
this._overlayRef
|
|
89
|
+
.backdropClick()
|
|
90
|
+
.pipe(takeUntil(this._destroy))
|
|
91
|
+
.subscribe(() => {
|
|
92
|
+
this._detachOverlay(this.hideDelay);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
_attachOverlay(delay) {
|
|
96
|
+
clearTimeout(this._detachOverlayTimeoutId);
|
|
97
|
+
if (this._tooltipService.activeTooltip === this.tooltip &&
|
|
98
|
+
this._overlayRef.hasAttached()) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this._tooltipService.setActiveTooltip(this.tooltip);
|
|
102
|
+
this._attachOverlayTimeoutId = window.setTimeout(() => {
|
|
103
|
+
if (!this._overlayRef.hasAttached()) {
|
|
104
|
+
const portal = new TemplatePortal(this.tooltip._templateRef, this._viewContainerRef);
|
|
105
|
+
this._overlayRef.attach(portal);
|
|
106
|
+
}
|
|
107
|
+
}, delay);
|
|
108
|
+
}
|
|
109
|
+
_detachOverlay(delay) {
|
|
110
|
+
clearTimeout(this._attachOverlayTimeoutId);
|
|
111
|
+
this._detachOverlayTimeoutId = window.setTimeout(() => {
|
|
112
|
+
if (this._overlayRef.hasAttached()) {
|
|
113
|
+
this._overlayRef.detach();
|
|
114
|
+
this._detachOverlayTimeoutId = null;
|
|
115
|
+
this._tooltipService.clearActiveTooltip();
|
|
116
|
+
}
|
|
117
|
+
}, delay);
|
|
118
|
+
}
|
|
119
|
+
_getTriggerElement() {
|
|
120
|
+
return this._elementRef.nativeElement;
|
|
121
|
+
}
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipTriggerForDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.FocusMonitor }, { token: i3.GraniteTooltipService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
123
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipTriggerForDirective, selector: "[graniteTooltipTriggerFor]", inputs: { tooltip: ["graniteTooltipTriggerFor", "tooltip"], hideDelay: "hideDelay", showDelay: "showDelay", showOnKeyboardFocus: "showOnKeyboardFocus", showOnClick: "showOnClick" }, host: { listeners: { "mouseenter": "_handleMouseenter($event)", "mouseleave": "_handleMouseleave($event)", "blur": "_handleBlur($event)" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
124
|
+
}
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipTriggerForDirective, decorators: [{
|
|
126
|
+
type: Directive,
|
|
127
|
+
args: [{
|
|
128
|
+
selector: '[graniteTooltipTriggerFor]',
|
|
129
|
+
host: {
|
|
130
|
+
'(mouseenter)': '_handleMouseenter($event)',
|
|
131
|
+
'(mouseleave)': '_handleMouseleave($event)',
|
|
132
|
+
'(blur)': '_handleBlur($event)',
|
|
133
|
+
},
|
|
134
|
+
}]
|
|
135
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.FocusMonitor }, { type: i3.GraniteTooltipService }], propDecorators: { tooltip: [{
|
|
136
|
+
type: Input,
|
|
137
|
+
args: ['graniteTooltipTriggerFor']
|
|
138
|
+
}], hideDelay: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], showDelay: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], showOnKeyboardFocus: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], showOnClick: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}] } });
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLWZvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC10cmlnZ2VyLWZvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsT0FBTyxHQUVSLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFLTCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7OztBQVUzRSxNQUFNLE9BQU8saUNBQWlDO0lBd0I1QyxZQUNVLFdBQXVCLEVBQ3ZCLFFBQWlCLEVBQ2pCLGlCQUFtQyxFQUNuQyxhQUEyQixFQUMzQixlQUFzQztRQUp0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBdEJoRCxjQUFTLEdBQVcsQ0FBQyxD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J0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHcmFuaXRlVG9vbHRpcENvbnN0YW50cyB9IGZyb20gJy4vdG9vbHRpcC1jb25zdGFudHMubGlicmFyeSc7XG5pbXBvcnQgeyBHcmFuaXRlVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3Jhbml0ZVRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnLi9TZXJ2aWNlcy9ncmFuaXRlLXRvb2x0aXAuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tncmFuaXRlVG9vbHRpcFRyaWdnZXJGb3JdJyxcbiAgaG9zdDoge1xuICAgICcobW91c2VlbnRlciknOiAnX2hhbmRsZU1vdXNlZW50ZXIoJGV2ZW50KScsXG4gICAgJyhtb3VzZWxlYXZlKSc6ICdfaGFuZGxlTW91c2VsZWF2ZSgkZXZlbnQpJyxcbiAgICAnKGJsdXIpJzogJ19oYW5kbGVCbHVyKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlVG9vbHRpcFRyaWdnZXJGb3JEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgnZ3Jhbml0ZVRvb2x0aXBUcmlnZ2VyRm9yJylcbiAgdG9vbHRpcDogR3Jhbml0ZVRvb2x0aXBDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgaGlkZURlbGF5OiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dEZWxheTogbnVtYmVyID0gNTAwO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dPbktleWJvYXJkRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaG93T25DbGljazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIHByaXZhdGUgX2Rlc3Ryb3k6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgX2RldGFjaE92ZXJsYXlUaW1lb3V0SWQ6IG51bWJlciB8IG51bGw7XG4gIHByaXZhdGUgX2F0dGFjaE92ZXJsYXlUaW1lb3V0SWQ6IG51bWJlciB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSBfdG9vbHRpcFNlcnZpY2U6IEdyYW5pdGVUb29sdGlwU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY3JlYXRlT3ZlcmxheSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnNob3dPbktleWJvYXJkRm9jdXMpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUtleWJvYXJkRm9jdXMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuc2hvd09uQ2xpY2spIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGV0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgX2hhbmRsZU1vdXNlZW50ZXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNob3dPbkNsaWNrKSB7XG4gICAgICB0aGlzLl9hdHRhY2hPdmVybGF5KHRoaXMuc2hvd0RlbGF5KTtcbiAgICB9XG4gIH1cblxuICBfaGFuZGxlTW91c2VsZWF2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXRhY2hPdmVybGF5KHRoaXMuaGlkZURlbGF5KTtcbiAgfVxuXG4gIF9oYW5kbGVCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuX2RldGFjaE92ZXJsYXkodGhpcy5oaWRlRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KHRoaXMuX2dldFRyaWdnZXJFbGVtZW50KCksICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fYXR0YWNoT3ZlcmxheSh0aGlzLnNob3dEZWxheSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleWJvYXJkRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNNb25pdG9yXG4gICAgICAubW9uaXRvcih0aGlzLl9nZXRUcmlnZ2VyRWxlbWVudCgpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgob3JpZ2luKSA9PiB7XG4gICAgICAgIGlmICghb3JpZ2luKSB7XG4gICAgICAgICAgdGhpcy5fZGV0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgICAgIH0gZWxzZSBpZiAob3JpZ2luID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgdGhpcy5fYXR0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9nZXRUcmlnZ2VyRWxlbWVudCgpKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgICAgICB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJyB9LFxuICAgICAgICAgIHsgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgR3Jhbml0ZVRvb2x0aXBDb25zdGFudHMuT0ZGU0VUX1ksXG4gICAgICAgICAgJ2dyYW5pdGUtdG9vbHRpcC1wb3NpdGlvbi1iZWxvdydcbiAgICAgICAgKSxcbiAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcgfSxcbiAgICAgICAgICB7IG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIC1HcmFuaXRlVG9vbHRpcENvbnN0YW50cy5PRkZTRVRfWSxcbiAgICAgICAgICAnZ3Jhbml0ZS10b29sdGlwLXBvc2l0aW9uLWFib3ZlJ1xuICAgICAgICApLFxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcblxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmXG4gICAgICAuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fZGV0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaE92ZXJsYXkoZGVsYXk6IG51bWJlcik6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9kZXRhY2hPdmVybGF5VGltZW91dElkKTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuX3Rvb2x0aXBTZXJ2aWNlLmFjdGl2ZVRvb2x0aXAgPT09IHRoaXMudG9vbHRpcCAmJlxuICAgICAgdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3Rvb2x0aXBTZXJ2aWNlLnNldEFjdGl2ZVRvb2x0aXAodGhpcy50b29sdGlwKTtcblxuICAgIHRoaXMuX2F0dGFjaE92ZXJsYXlUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgICAgdGhpcy50b29sdGlwLl90ZW1wbGF0ZVJlZixcbiAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG4gICAgICB9XG4gICAgfSwgZGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGV0YWNoT3ZlcmxheShkZWxheTogbnVtYmVyKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2F0dGFjaE92ZXJsYXlUaW1lb3V0SWQpO1xuXG4gICAgdGhpcy5fZGV0YWNoT3ZlcmxheVRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgdGhpcy5fZGV0YWNoT3ZlcmxheVRpbWVvdXRJZCA9IG51bGw7XG4gICAgICAgIHRoaXMuX3Rvb2x0aXBTZXJ2aWNlLmNsZWFyQWN0aXZlVG9vbHRpcCgpO1xuICAgICAgfVxuICAgIH0sIGRlbGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFRyaWdnZXJFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GraniteTooltipComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipComponent, selector: "granite-tooltip", viewQueries: [{ propertyName: "_templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);white-space:nowrap;padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'granite-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);white-space:nowrap;padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"] }]
|
|
10
|
+
}], propDecorators: { _templateRef: [{
|
|
11
|
+
type: ViewChild,
|
|
12
|
+
args: [TemplateRef]
|
|
13
|
+
}] } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOztBQVF2QixNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1QixxR0FDdkIsV0FBVyxnRENkeEIsNkdBS0E7OzRGRFFhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs4QkFHdkIsWUFBWTtzQkFBbkMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtdG9vbHRpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9vbHRpcC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZVRvb2x0aXBDb21wb25lbnQge1xuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKSBfdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG59XG4iLCI8bmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJncmFuaXRlLXRvb2x0aXBcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { GraniteTooltipComponent } from './tooltip.component';
|
|
4
|
+
import { GraniteTooltipTriggerForDirective } from './tooltip-trigger-for.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class GraniteTooltipModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipModule, declarations: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective], imports: [CommonModule], exports: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipModule, imports: [CommonModule] }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
declarations: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],
|
|
16
|
+
exports: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBT3BGLE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQUhoQix1QkFBdUIsRUFBRSxpQ0FBaUMsYUFEL0QsWUFBWSxhQUVaLHVCQUF1QixFQUFFLGlDQUFpQztnSEFFekQsb0JBQW9CLFlBSnJCLFlBQVk7OzRGQUlYLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLHVCQUF1QixFQUFFLGlDQUFpQyxDQUFDO29CQUMxRSxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxpQ0FBaUMsQ0FBQztpQkFDdEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEdyYW5pdGVUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmFuaXRlVG9vbHRpcFRyaWdnZXJGb3JEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2x0aXAtdHJpZ2dlci1mb3IuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0dyYW5pdGVUb29sdGlwQ29tcG9uZW50LCBHcmFuaXRlVG9vbHRpcFRyaWdnZXJGb3JEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbR3Jhbml0ZVRvb2x0aXBDb21wb25lbnQsIEdyYW5pdGVUb29sdGlwVHJpZ2dlckZvckRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVUb29sdGlwTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Component, ChangeDetectionStrategy, Input, ContentChild, ViewChild, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from 'primeng/carousel';
|
|
@@ -124,12 +124,12 @@ class GraniteCarouselComponent {
|
|
|
124
124
|
}
|
|
125
125
|
this.updateVisibleItems();
|
|
126
126
|
}
|
|
127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteCarouselComponent, selector: "granite-carousel", inputs: { items: "items", responsiveOptions: "responsiveOptions", numVisible: "numVisible", numScroll: "numScroll", circular: "circular", prevButtonAriaLabel: "prevButtonAriaLabel", nextButtonAriaLabel: "nextButtonAriaLabel", shrinkToContent: "shrinkToContent" }, host: { listeners: { "window:resize": "onResize()" } }, queries: [{ propertyName: "itemTemplateRef", first: true, predicate: ["itemTemplate"], descendants: true }], viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"carousel-wrapper\">\n <button\n graniteFlatButton\n class=\"arrow-btn\"\n [disabled]=\"carousel.isBackwardNavDisabled()\"\n [attr.aria-label]=\"prevButtonAriaLabel\"\n (click)=\"navBackward($event)\"\n >\n <granite-icon fontIcon=\"icon-caret-left\"></granite-icon>\n </button>\n\n <p-carousel\n #carousel\n [value]=\"visibleItems\"\n [numVisible]=\"numVisible\"\n [numScroll]=\"numScroll\"\n [circular]=\"circular\"\n [responsiveOptions]=\"responsiveOptions\"\n [showNavigators]=\"false\"\n [showIndicators]=\"false\"\n [class.auto-width]=\"shrinkToContent\"\n [class.is-one-item]=\"isOneItemVisible\"\n (keydown)=\"onKeyDown($event)\"\n tabindex=\"0\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div class=\"item-template-wrapper\" *ngIf=\"!item.placeholder\">\n <ng-container\n *ngTemplateOutlet=\"itemTemplateRef; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-template>\n </p-carousel>\n\n <button\n graniteFlatButton\n class=\"arrow-btn\"\n [disabled]=\"carousel.isForwardNavDisabled()\"\n [attr.aria-label]=\"nextButtonAriaLabel\"\n (click)=\"navForward($event)\"\n >\n <granite-icon fontIcon=\"icon-caret-right\"></granite-icon>\n </button>\n</div>\n", styles: [":host{width:100%;overflow:hidden}.carousel-wrapper{display:flex;justify-content:center;align-items:center;gap:var(--granite-spacing-8);padding:var(--granite-spacing-8);width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}p-carousel{flex:1;min-width:0}p-carousel .item-template-wrapper{margin:var(--granite-spacing-4)}.arrow-btn{width:calc(var(--granite-size-base-rem) * 2);height:calc(var(--granite-size-base-rem) * 2)}.arrow-btn granite-icon{font-size:var(--granite-font-size-body);position:relative;top:0}::ng-deep .auto-width .p-carousel-item{flex:0 0 auto!important}::ng-deep .is-one-item .p-carousel-item{flex:1 0 100%!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Carousel, selector: "p-carousel", inputs: ["page", "numVisible", "numScroll", "responsiveOptions", "orientation", "verticalViewPortHeight", "contentClass", "indicatorsContentClass", "indicatorsContentStyle", "indicatorStyleClass", "indicatorStyle", "value", "circular", "showIndicators", "showNavigators", "autoplayInterval", "style", "styleClass"], outputs: ["onPage"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.GraniteButtonComponent, selector: "button[graniteButton], button[granitePrimaryButton], button[graniteFlatButton], button[graniteToolbarButton] ", inputs: ["disabled", "toggled"], exportAs: ["graniteButton"] }, { kind: "component", type: i4.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
129
129
|
}
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCarouselComponent, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
|
-
args: [{ selector: 'granite-carousel', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
132
|
+
args: [{ selector: 'granite-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"carousel-wrapper\">\n <button\n graniteFlatButton\n class=\"arrow-btn\"\n [disabled]=\"carousel.isBackwardNavDisabled()\"\n [attr.aria-label]=\"prevButtonAriaLabel\"\n (click)=\"navBackward($event)\"\n >\n <granite-icon fontIcon=\"icon-caret-left\"></granite-icon>\n </button>\n\n <p-carousel\n #carousel\n [value]=\"visibleItems\"\n [numVisible]=\"numVisible\"\n [numScroll]=\"numScroll\"\n [circular]=\"circular\"\n [responsiveOptions]=\"responsiveOptions\"\n [showNavigators]=\"false\"\n [showIndicators]=\"false\"\n [class.auto-width]=\"shrinkToContent\"\n [class.is-one-item]=\"isOneItemVisible\"\n (keydown)=\"onKeyDown($event)\"\n tabindex=\"0\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div class=\"item-template-wrapper\" *ngIf=\"!item.placeholder\">\n <ng-container\n *ngTemplateOutlet=\"itemTemplateRef; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-template>\n </p-carousel>\n\n <button\n graniteFlatButton\n class=\"arrow-btn\"\n [disabled]=\"carousel.isForwardNavDisabled()\"\n [attr.aria-label]=\"nextButtonAriaLabel\"\n (click)=\"navForward($event)\"\n >\n <granite-icon fontIcon=\"icon-caret-right\"></granite-icon>\n </button>\n</div>\n", styles: [":host{width:100%;overflow:hidden}.carousel-wrapper{display:flex;justify-content:center;align-items:center;gap:var(--granite-spacing-8);padding:var(--granite-spacing-8);width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}p-carousel{flex:1;min-width:0}p-carousel .item-template-wrapper{margin:var(--granite-spacing-4)}.arrow-btn{width:calc(var(--granite-size-base-rem) * 2);height:calc(var(--granite-size-base-rem) * 2)}.arrow-btn granite-icon{font-size:var(--granite-font-size-body);position:relative;top:0}::ng-deep .auto-width .p-carousel-item{flex:0 0 auto!important}::ng-deep .is-one-item .p-carousel-item{flex:1 0 100%!important}\n"] }]
|
|
133
133
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { items: [{
|
|
134
134
|
type: Input
|
|
135
135
|
}], responsiveOptions: [{
|
|
@@ -158,17 +158,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
158
158
|
}] } });
|
|
159
159
|
|
|
160
160
|
class GraniteCarouselModule {
|
|
161
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
162
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
162
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: GraniteCarouselModule, declarations: [GraniteCarouselComponent], imports: [CommonModule,
|
|
163
163
|
CarouselModule,
|
|
164
164
|
GraniteButtonModule,
|
|
165
165
|
GraniteIconModule], exports: [GraniteCarouselComponent] }); }
|
|
166
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
166
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCarouselModule, imports: [CommonModule,
|
|
167
167
|
CarouselModule,
|
|
168
168
|
GraniteButtonModule,
|
|
169
169
|
GraniteIconModule] }); }
|
|
170
170
|
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCarouselModule, decorators: [{
|
|
172
172
|
type: NgModule,
|
|
173
173
|
args: [{
|
|
174
174
|
declarations: [GraniteCarouselComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifsworld-granite-components-carousel.mjs","sources":["../../../../libs/granite-components/carousel/src/lib/carousel.component.ts","../../../../libs/granite-components/carousel/src/lib/carousel.component.html","../../../../libs/granite-components/carousel/src/lib/carousel.module.ts","../../../../libs/granite-components/carousel/src/ifsworld-granite-components-carousel.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Carousel, CarouselResponsiveOptions } from 'primeng/carousel';\n\n@Component({\n selector: 'granite-carousel',\n templateUrl: './carousel.component.html',\n styleUrl: './carousel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class GraniteCarouselComponent<T>\n implements OnChanges, AfterViewInit, OnDestroy\n{\n @Input()\n items: T[] = [];\n\n @Input()\n responsiveOptions: CarouselResponsiveOptions[] = [\n {\n breakpoint: '1024px',\n numVisible: 3,\n numScroll: 1,\n },\n {\n breakpoint: '768px',\n numVisible: 2,\n numScroll: 1,\n },\n {\n breakpoint: '560px',\n numVisible: 1,\n numScroll: 1,\n },\n ];\n\n @Input()\n numVisible: number = 1;\n\n @Input()\n numScroll: number = 1;\n\n @Input()\n circular: boolean = false;\n\n @Input()\n prevButtonAriaLabel: string = 'Previous page';\n\n @Input()\n nextButtonAriaLabel: string = 'Next page';\n\n @Input()\n shrinkToContent: boolean = false;\n\n @ContentChild('itemTemplate', { static: false })\n itemTemplateRef: TemplateRef<any>;\n\n @ViewChild('carousel')\n carousel: Carousel;\n\n visibleItems: T[] = [];\n isOneItemVisible: boolean = false;\n\n private resizeObserver: ResizeObserver;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['items'] && changes['items'].currentValue) {\n this.items = changes['items'].currentValue;\n this.triggerUpdate();\n }\n }\n\n ngAfterViewInit(): void {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver((entries) => {\n this.handleResize(entries);\n });\n\n this.resizeObserver.observe(this.carousel?.el?.nativeElement);\n }\n }\n\n @HostListener('window:resize')\n onResize(): void {\n this.triggerUpdate();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n const mouseEvent = new MouseEvent('click', { cancelable: true });\n if (event.key === 'ArrowRight') {\n this.navForward(mouseEvent);\n } else if (event.key === 'ArrowLeft') {\n this.navBackward(mouseEvent);\n }\n }\n\n navForward(event: MouseEvent): void {\n this.carousel?.navForward(event);\n }\n\n navBackward(event: MouseEvent): void {\n this.carousel?.navBackward(event);\n }\n\n ngOnDestroy(): void {\n this.resizeObserver?.disconnect();\n }\n\n private triggerUpdate(): void {\n if (this.carousel?.el?.nativeElement) {\n const containerWidth = this.carousel.el.nativeElement.offsetWidth;\n this.updateNumVisibleBasedOnWidth(containerWidth);\n } else {\n this.updateVisibleItems();\n }\n }\n\n private handleResize(entries: ResizeObserverEntry[]): void {\n entries.forEach((entry) => {\n if (entry.contentRect) {\n const containerWidth = entry.contentRect.width;\n this.updateNumVisibleBasedOnWidth(containerWidth);\n }\n });\n }\n\n private getDisplayItems(items: T[], numVisible: number): T[] {\n const placeholders = Array(Math.max(0, numVisible - items.length)).fill({\n placeholder: true,\n });\n\n return [...items, ...placeholders];\n }\n\n private updateVisibleItems(): void {\n if (!this.items || !this.carousel) return;\n\n const numVisible = this.carousel.numVisible || this.numVisible;\n this.visibleItems = this.getDisplayItems(this.items, numVisible);\n this.cdr.markForCheck();\n }\n\n private updateNumVisibleBasedOnWidth(containerWidth: number): void {\n if (!this.carousel) return;\n\n let matched: boolean = false;\n const sortedResponsiveOptions = [...this.responsiveOptions].sort(\n (a, b) => parseInt(a.breakpoint) - parseInt(b.breakpoint)\n );\n\n if (containerWidth) {\n for (const option of sortedResponsiveOptions) {\n const breakpoint = parseInt(option.breakpoint);\n\n if (containerWidth <= breakpoint) {\n this.carousel.numVisible = option.numVisible;\n this.isOneItemVisible = option.numVisible === 1;\n matched = true;\n break;\n }\n }\n }\n\n if (!matched) {\n this.carousel.numVisible = this.numVisible;\n }\n\n this.updateVisibleItems();\n }\n}\n","<div class=\"carousel-wrapper\">\n <button\n graniteFlatButton\n class=\"arrow-btn\"\n [disabled]=\"carousel.isBackwardNavDisabled()\"\n [attr.aria-label]=\"prevButtonAriaLabel\"\n (click)=\"navBackward($event)\"\n >\n <granite-icon fontIcon=\"icon-caret-left\"></granite-icon>\n </button>\n\n <p-carousel\n #carousel\n [value]=\"visibleItems\"\n [numVisible]=\"numVisible\"\n [numScroll]=\"numScroll\"\n [circular]=\"circular\"\n [responsiveOptions]=\"responsiveOptions\"\n [showNavigators]=\"false\"\n [showIndicators]=\"false\"\n [class.auto-width]=\"shrinkToContent\"\n [class.is-one-item]=\"isOneItemVisible\"\n (keydown)=\"onKeyDown($event)\"\n tabindex=\"0\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div class=\"item-template-wrapper\" *ngIf=\"!item.placeholder\">\n <ng-container\n *ngTemplateOutlet=\"itemTemplateRef; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-template>\n </p-carousel>\n\n <button\n graniteFlatButton\n class=\"arrow-btn\"\n [disabled]=\"carousel.isForwardNavDisabled()\"\n [attr.aria-label]=\"nextButtonAriaLabel\"\n (click)=\"navForward($event)\"\n >\n <granite-icon fontIcon=\"icon-caret-right\"></granite-icon>\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GraniteCarouselComponent } from './carousel.component';\nimport { CarouselModule } from 'primeng/carousel';\nimport {\n GraniteIconModule,\n GraniteButtonModule,\n} from '@ifsworld/granite-components';\n\n@NgModule({\n declarations: [GraniteCarouselComponent],\n exports: [GraniteCarouselComponent],\n imports: [\n CommonModule,\n CarouselModule,\n GraniteButtonModule,\n GraniteIconModule,\n ],\n})\nexport class GraniteCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifsworld-granite-components-carousel.mjs","sources":["../../../../libs/granite-components/carousel/src/lib/carousel.component.ts","../../../../libs/granite-components/carousel/src/lib/carousel.component.html","../../../../libs/granite-components/carousel/src/lib/carousel.module.ts","../../../../libs/granite-components/carousel/src/ifsworld-granite-components-carousel.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Carousel, CarouselResponsiveOptions } from 'primeng/carousel';\n\n@Component({\n selector: 'granite-carousel',\n templateUrl: './carousel.component.html',\n styleUrl: './carousel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteCarouselComponent<T>\n implements OnChanges, AfterViewInit, OnDestroy\n{\n @Input()\n items: T[] = [];\n\n @Input()\n responsiveOptions: CarouselResponsiveOptions[] = [\n {\n breakpoint: '1024px',\n numVisible: 3,\n numScroll: 1,\n },\n {\n breakpoint: '768px',\n numVisible: 2,\n numScroll: 1,\n },\n {\n breakpoint: '560px',\n numVisible: 1,\n numScroll: 1,\n },\n ];\n\n @Input()\n numVisible: number = 1;\n\n @Input()\n numScroll: number = 1;\n\n @Input()\n circular: boolean = false;\n\n @Input()\n prevButtonAriaLabel: string = 'Previous page';\n\n @Input()\n nextButtonAriaLabel: string = 'Next page';\n\n @Input()\n shrinkToContent: boolean = false;\n\n @ContentChild('itemTemplate', { static: false })\n itemTemplateRef: TemplateRef<any>;\n\n @ViewChild('carousel')\n carousel: Carousel;\n\n visibleItems: T[] = [];\n isOneItemVisible: boolean = false;\n\n private resizeObserver: ResizeObserver;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['items'] && changes['items'].currentValue) {\n this.items = changes['items'].currentValue;\n this.triggerUpdate();\n }\n }\n\n ngAfterViewInit(): void {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver((entries) => {\n this.handleResize(entries);\n });\n\n this.resizeObserver.observe(this.carousel?.el?.nativeElement);\n }\n }\n\n @HostListener('window:resize')\n onResize(): void {\n this.triggerUpdate();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n const mouseEvent = new MouseEvent('click', { cancelable: true });\n if (event.key === 'ArrowRight') {\n this.navForward(mouseEvent);\n } else if (event.key === 'ArrowLeft') {\n this.navBackward(mouseEvent);\n }\n }\n\n navForward(event: MouseEvent): void {\n this.carousel?.navForward(event);\n }\n\n navBackward(event: MouseEvent): void {\n this.carousel?.navBackward(event);\n }\n\n ngOnDestroy(): void {\n this.resizeObserver?.disconnect();\n }\n\n private triggerUpdate(): void {\n if (this.carousel?.el?.nativeElement) {\n const containerWidth = this.carousel.el.nativeElement.offsetWidth;\n this.updateNumVisibleBasedOnWidth(containerWidth);\n } else {\n this.updateVisibleItems();\n }\n }\n\n private handleResize(entries: ResizeObserverEntry[]): void {\n entries.forEach((entry) => {\n if (entry.contentRect) {\n const containerWidth = entry.contentRect.width;\n this.updateNumVisibleBasedOnWidth(containerWidth);\n }\n });\n }\n\n private getDisplayItems(items: T[], numVisible: number): T[] {\n const placeholders = Array(Math.max(0, numVisible - items.length)).fill({\n placeholder: true,\n });\n\n return [...items, ...placeholders];\n }\n\n private updateVisibleItems(): void {\n if (!this.items || !this.carousel) return;\n\n const numVisible = this.carousel.numVisible || this.numVisible;\n this.visibleItems = this.getDisplayItems(this.items, numVisible);\n this.cdr.markForCheck();\n }\n\n private updateNumVisibleBasedOnWidth(containerWidth: number): void {\n if (!this.carousel) return;\n\n let matched: boolean = false;\n const sortedResponsiveOptions = [...this.responsiveOptions].sort(\n (a, b) => parseInt(a.breakpoint) - parseInt(b.breakpoint)\n );\n\n if (containerWidth) {\n for (const option of sortedResponsiveOptions) {\n const breakpoint = parseInt(option.breakpoint);\n\n if (containerWidth <= breakpoint) {\n this.carousel.numVisible = option.numVisible;\n this.isOneItemVisible = option.numVisible === 1;\n matched = true;\n break;\n }\n }\n }\n\n if (!matched) {\n this.carousel.numVisible = this.numVisible;\n }\n\n this.updateVisibleItems();\n }\n}\n","<div class=\"carousel-wrapper\">\n <button\n graniteFlatButton\n class=\"arrow-btn\"\n [disabled]=\"carousel.isBackwardNavDisabled()\"\n [attr.aria-label]=\"prevButtonAriaLabel\"\n (click)=\"navBackward($event)\"\n >\n <granite-icon fontIcon=\"icon-caret-left\"></granite-icon>\n </button>\n\n <p-carousel\n #carousel\n [value]=\"visibleItems\"\n [numVisible]=\"numVisible\"\n [numScroll]=\"numScroll\"\n [circular]=\"circular\"\n [responsiveOptions]=\"responsiveOptions\"\n [showNavigators]=\"false\"\n [showIndicators]=\"false\"\n [class.auto-width]=\"shrinkToContent\"\n [class.is-one-item]=\"isOneItemVisible\"\n (keydown)=\"onKeyDown($event)\"\n tabindex=\"0\"\n >\n <ng-template let-item pTemplate=\"item\">\n <div class=\"item-template-wrapper\" *ngIf=\"!item.placeholder\">\n <ng-container\n *ngTemplateOutlet=\"itemTemplateRef; context: { $implicit: item }\"\n ></ng-container>\n </div>\n </ng-template>\n </p-carousel>\n\n <button\n graniteFlatButton\n class=\"arrow-btn\"\n [disabled]=\"carousel.isForwardNavDisabled()\"\n [attr.aria-label]=\"nextButtonAriaLabel\"\n (click)=\"navForward($event)\"\n >\n <granite-icon fontIcon=\"icon-caret-right\"></granite-icon>\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GraniteCarouselComponent } from './carousel.component';\nimport { CarouselModule } from 'primeng/carousel';\nimport {\n GraniteIconModule,\n GraniteButtonModule,\n} from '@ifsworld/granite-components';\n\n@NgModule({\n declarations: [GraniteCarouselComponent],\n exports: [GraniteCarouselComponent],\n imports: [\n CommonModule,\n CarouselModule,\n GraniteButtonModule,\n GraniteIconModule,\n ],\n})\nexport class GraniteCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|