@skyux/tiles 5.0.3 → 5.5.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +6 -4
  2. package/documentation.json +94 -11
  3. package/esm2015/index.js +24 -0
  4. package/esm2015/index.js.map +1 -0
  5. package/esm2015/lib/modules/shared/sky-tiles-resources.module.js +60 -0
  6. package/esm2015/lib/modules/shared/sky-tiles-resources.module.js.map +1 -0
  7. package/esm2015/lib/modules/tiles/tile/tile-summary.component.js +19 -0
  8. package/esm2015/lib/modules/tiles/tile/tile-summary.component.js.map +1 -0
  9. package/esm2015/{modules → lib/modules}/tiles/tile/tile-title.component.js +1 -1
  10. package/esm2015/lib/modules/tiles/tile/tile-title.component.js.map +1 -0
  11. package/esm2015/lib/modules/tiles/tile/tile.component.js +165 -0
  12. package/esm2015/lib/modules/tiles/tile/tile.component.js.map +1 -0
  13. package/esm2015/lib/modules/tiles/tile/tile.module.js +53 -0
  14. package/esm2015/lib/modules/tiles/tile/tile.module.js.map +1 -0
  15. package/esm2015/{modules → lib/modules}/tiles/tile-content/tile-content-section.component.js +1 -1
  16. package/esm2015/lib/modules/tiles/tile-content/tile-content-section.component.js.map +1 -0
  17. package/esm2015/lib/modules/tiles/tile-content/tile-content.component.js +18 -0
  18. package/esm2015/lib/modules/tiles/tile-content/tile-content.component.js.map +1 -0
  19. package/esm2015/lib/modules/tiles/tile-content/tile-content.module.js +20 -0
  20. package/esm2015/lib/modules/tiles/tile-content/tile-content.module.js.map +1 -0
  21. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard-message-type.js +15 -0
  22. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard-message-type.js.map +1 -0
  23. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard-message.js +2 -0
  24. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard-message.js.map +1 -0
  25. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard.component.js +133 -0
  26. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard.component.js.map +1 -0
  27. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard.module.js +32 -0
  28. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard.module.js.map +1 -0
  29. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard.service.js +523 -0
  30. package/esm2015/lib/modules/tiles/tile-dashboard/tile-dashboard.service.js.map +1 -0
  31. package/esm2015/{modules → lib/modules}/tiles/tile-dashboard-column/tile-dashboard-column.component.js +3 -2
  32. package/esm2015/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.component.js.map +1 -0
  33. package/esm2015/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.module.js +19 -0
  34. package/esm2015/lib/modules/tiles/tile-dashboard-column/tile-dashboard-column.module.js.map +1 -0
  35. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-layout-column.js +2 -0
  36. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-layout-column.js.map +1 -0
  37. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-layout-tile.js +2 -0
  38. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-layout-tile.js.map +1 -0
  39. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-layout.js +2 -0
  40. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-layout.js.map +1 -0
  41. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-reorder-data.js +2 -0
  42. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-reorder-data.js.map +1 -0
  43. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-tile.js +2 -0
  44. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config-tile.js.map +1 -0
  45. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config.js +2 -0
  46. package/esm2015/lib/modules/tiles/tile-dashboard-config/tile-dashboard-config.js.map +1 -0
  47. package/esm2015/lib/modules/tiles/tiles.module.js +31 -0
  48. package/esm2015/lib/modules/tiles/tiles.module.js.map +1 -0
  49. package/esm2015/skyux-tiles.js +2 -2
  50. package/esm2015/skyux-tiles.js.map +1 -0
  51. package/fesm2015/skyux-tiles.js +2 -2
  52. package/fesm2015/skyux-tiles.js.map +1 -1
  53. package/index.d.ts +21 -0
  54. package/{modules → lib/modules}/shared/sky-tiles-resources.module.d.ts +0 -0
  55. package/{modules → lib/modules}/tiles/tile/tile-summary.component.d.ts +0 -0
  56. package/{modules → lib/modules}/tiles/tile/tile-title.component.d.ts +0 -0
  57. package/{modules → lib/modules}/tiles/tile/tile.component.d.ts +0 -0
  58. package/{modules → lib/modules}/tiles/tile/tile.module.d.ts +0 -0
  59. package/{modules → lib/modules}/tiles/tile-content/tile-content-section.component.d.ts +0 -0
  60. package/{modules → lib/modules}/tiles/tile-content/tile-content.component.d.ts +0 -0
  61. package/{modules → lib/modules}/tiles/tile-content/tile-content.module.d.ts +0 -0
  62. package/{modules → lib/modules}/tiles/tile-dashboard/tile-dashboard-message-type.d.ts +0 -0
  63. package/{modules → lib/modules}/tiles/tile-dashboard/tile-dashboard-message.d.ts +0 -0
  64. package/{modules → lib/modules}/tiles/tile-dashboard/tile-dashboard.component.d.ts +0 -0
  65. package/{modules → lib/modules}/tiles/tile-dashboard/tile-dashboard.module.d.ts +0 -0
  66. package/{modules → lib/modules}/tiles/tile-dashboard/tile-dashboard.service.d.ts +0 -0
  67. package/{modules → lib/modules}/tiles/tile-dashboard-column/tile-dashboard-column.component.d.ts +0 -0
  68. package/{modules → lib/modules}/tiles/tile-dashboard-column/tile-dashboard-column.module.d.ts +0 -0
  69. package/{modules → lib/modules}/tiles/tile-dashboard-config/tile-dashboard-config-layout-column.d.ts +0 -0
  70. package/{modules → lib/modules}/tiles/tile-dashboard-config/tile-dashboard-config-layout-tile.d.ts +0 -0
  71. package/{modules → lib/modules}/tiles/tile-dashboard-config/tile-dashboard-config-layout.d.ts +0 -0
  72. package/{modules → lib/modules}/tiles/tile-dashboard-config/tile-dashboard-config-reorder-data.d.ts +0 -0
  73. package/{modules → lib/modules}/tiles/tile-dashboard-config/tile-dashboard-config-tile.d.ts +0 -0
  74. package/{modules → lib/modules}/tiles/tile-dashboard-config/tile-dashboard-config.d.ts +0 -0
  75. package/{modules → lib/modules}/tiles/tiles.module.d.ts +0 -0
  76. package/package.json +5 -5
  77. package/skyux-tiles.d.ts +1 -1
  78. package/LICENSE +0 -21
  79. package/esm2015/modules/shared/sky-tiles-resources.module.js +0 -60
  80. package/esm2015/modules/tiles/tile/tile-summary.component.js +0 -19
  81. package/esm2015/modules/tiles/tile/tile.component.js +0 -164
  82. package/esm2015/modules/tiles/tile/tile.module.js +0 -53
  83. package/esm2015/modules/tiles/tile-content/tile-content.component.js +0 -18
  84. package/esm2015/modules/tiles/tile-content/tile-content.module.js +0 -20
  85. package/esm2015/modules/tiles/tile-dashboard/tile-dashboard-message-type.js +0 -15
  86. package/esm2015/modules/tiles/tile-dashboard/tile-dashboard-message.js +0 -2
  87. package/esm2015/modules/tiles/tile-dashboard/tile-dashboard.component.js +0 -132
  88. package/esm2015/modules/tiles/tile-dashboard/tile-dashboard.module.js +0 -32
  89. package/esm2015/modules/tiles/tile-dashboard/tile-dashboard.service.js +0 -522
  90. package/esm2015/modules/tiles/tile-dashboard-column/tile-dashboard-column.module.js +0 -19
  91. package/esm2015/modules/tiles/tile-dashboard-config/tile-dashboard-config-layout-column.js +0 -2
  92. package/esm2015/modules/tiles/tile-dashboard-config/tile-dashboard-config-layout-tile.js +0 -2
  93. package/esm2015/modules/tiles/tile-dashboard-config/tile-dashboard-config-layout.js +0 -2
  94. package/esm2015/modules/tiles/tile-dashboard-config/tile-dashboard-config-reorder-data.js +0 -2
  95. package/esm2015/modules/tiles/tile-dashboard-config/tile-dashboard-config-tile.js +0 -2
  96. package/esm2015/modules/tiles/tile-dashboard-config/tile-dashboard-config.js +0 -2
  97. package/esm2015/modules/tiles/tiles.module.js +0 -31
  98. package/esm2015/public-api.js +0 -24
  99. package/public-api.d.ts +0 -21
@@ -0,0 +1,165 @@
1
+ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Optional, Output, ViewChild, } from '@angular/core';
2
+ import { skyAnimationSlide } from '@skyux/animations';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { SkyTileDashboardService } from '../tile-dashboard/tile-dashboard.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../tile-dashboard/tile-dashboard.service";
8
+ import * as i2 from "@skyux/indicators";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@skyux/theme";
11
+ import * as i5 from "@skyux/core";
12
+ import * as i6 from "@skyux/i18n";
13
+ /**
14
+ * Provides a common look-and-feel for tab content.
15
+ */
16
+ export class SkyTileComponent {
17
+ constructor(elementRef, changeDetector, dashboardService) {
18
+ this.elementRef = elementRef;
19
+ this.changeDetector = changeDetector;
20
+ this.dashboardService = dashboardService;
21
+ /**
22
+ * Indicates whether to display a settings button in the tile header. To display the
23
+ * button, you must also listen for the `settingsClick` event.
24
+ * @default true
25
+ */
26
+ this.showSettings = true;
27
+ /**
28
+ * Indicates whether to display a help button in the tile header. To display the
29
+ * button, you must also listen for the `helpClick` event.
30
+ * @default true
31
+ */
32
+ this.showHelp = true;
33
+ /**
34
+ * Fires when users select the settings button in the tile header. The settings
35
+ * button only appears when the `showSettings` property is set to `true`.
36
+ */
37
+ this.settingsClick = new EventEmitter();
38
+ /**
39
+ * Fires when the tile's collapsed state changes. Returns `true` when the tile
40
+ * collapses and `false` when it expands.
41
+ */
42
+ this.isCollapsedChange = new EventEmitter();
43
+ /**
44
+ * Fires when users select the help button in the tile header. The help
45
+ * button only appears when the `showHelp` property is set to `true`.
46
+ */
47
+ this.helpClick = new EventEmitter();
48
+ this.isInDashboardColumn = false;
49
+ this.ngUnsubscribe = new Subject();
50
+ this._isCollapsed = false;
51
+ this.isInDashboardColumn = !!dashboardService;
52
+ if (this.dashboardService) {
53
+ /**
54
+ * This subscription ensures that if any values which come in from the dashboard service are
55
+ * updated that the component will update if the tile's parent component utilizes OnPush
56
+ * change detection.
57
+ */
58
+ this.dashboardService.configChange
59
+ .pipe(takeUntil(this.ngUnsubscribe))
60
+ .subscribe(() => {
61
+ this.changeDetector.markForCheck();
62
+ });
63
+ }
64
+ }
65
+ get isCollapsed() {
66
+ if (this.dashboardService) {
67
+ const configCollapsedState = this.dashboardService.tileIsCollapsed(this);
68
+ this._isCollapsed = configCollapsedState;
69
+ }
70
+ return this._isCollapsed;
71
+ }
72
+ /**
73
+ * Indicates whether the tile is in a collapsed state.
74
+ * @default false
75
+ */
76
+ set isCollapsed(value) {
77
+ if (this.dashboardService) {
78
+ this.dashboardService.setTileCollapsed(this, value);
79
+ }
80
+ this._isCollapsed = value;
81
+ this.isCollapsedChange.emit(value);
82
+ }
83
+ ngOnDestroy() {
84
+ this.ngUnsubscribe.next();
85
+ this.ngUnsubscribe.complete();
86
+ }
87
+ settingsButtonClicked() {
88
+ this.settingsClick.emit(undefined);
89
+ }
90
+ helpButtonClicked() {
91
+ this.helpClick.emit(undefined);
92
+ }
93
+ get hasSettings() {
94
+ return this.settingsClick.observers.length > 0 && this.showSettings;
95
+ }
96
+ get hasHelp() {
97
+ return this.helpClick.observers.length > 0 && this.showHelp;
98
+ }
99
+ titleClick() {
100
+ this.isCollapsed = !this.isCollapsed;
101
+ }
102
+ chevronDirectionChange(direction) {
103
+ this.isCollapsed = direction === 'down';
104
+ }
105
+ moveTile(event) {
106
+ /* istanbul ignore else */
107
+ if (this.isInDashboardColumn) {
108
+ let direction = event.key.toLowerCase().replace('arrow', '');
109
+ /* istanbul ignore else */
110
+ if (direction === 'up' ||
111
+ direction === 'down' ||
112
+ direction === 'left' ||
113
+ direction === 'right') {
114
+ this.dashboardService.moveTileOnKeyDown(this, direction, this.title
115
+ ? this.title.nativeElement.innerText
116
+ : /* istanbul ignore next */
117
+ undefined);
118
+ this.focusHandle();
119
+ }
120
+ }
121
+ }
122
+ focusHandle() {
123
+ this.grabHandle.nativeElement.focus();
124
+ }
125
+ }
126
+ SkyTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.SkyTileDashboardService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
127
+ SkyTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyTileComponent, selector: "sky-tile", inputs: { showSettings: "showSettings", showHelp: "showHelp", tileName: "tileName", isCollapsed: "isCollapsed" }, outputs: { settingsClick: "settingsClick", isCollapsedChange: "isCollapsedChange", helpClick: "helpClick" }, viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "title", first: true, predicate: ["titleContainer"], descendants: true, read: ElementRef }], ngImport: i0, template: "<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick()\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\"></ng-content>\n </div>\n <div\n class=\"sky-tile-summary\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern',\n 'sky-headline': 'default'\n }\"\n >\n <ng-content select=\"sky-tile-summary\"></ng-content>\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"cog\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"cog-line\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"\n dashboardService?.bagId + '-move-instructions'\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"th\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"tile-drag\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\"></ng-content>\n </div>\n</section>\n", styles: [".sky-tile{background-color:#fff;margin-bottom:20px}.sky-tile-header{border-color:#cdcfd2;border-style:solid solid none;border-width:4px 0 0;display:flex}.sky-tile-header-content{display:flex;flex:1;align-items:baseline;cursor:pointer}.sky-tile-header-title{display:inline-flex}.sky-tile-summary{color:#0974a1;opacity:0;padding-right:15px;transition:opacity .25s;max-height:30px;overflow:hidden}.sky-tile-collapsed .sky-tile-summary{opacity:1}.sky-tile-header-column-tools{display:flex;align-items:center;flex:0 0 auto}.sky-tile-tools{display:flex;padding-right:15px}.sky-tile-tools-control{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;padding:0;display:block;margin:0 0 0 9px}.sky-tile-tools-control:hover{color:#979ba2;transition:color .15s}.sky-tile-grab-handle{cursor:move;cursor:-moz-grab;font-size:15px}.sky-tile-content{border-color:#e2e3e4;border-image:none;border-style:solid solid none;border-width:1px 0}:host-context(.sky-theme-modern) .sky-tile-header,:host-context(.sky-theme-modern) .sky-tile-content{border:none}:host-context(.sky-theme-modern) .sky-tile-header-column-tools{align-items:flex-start}:host-context(.sky-theme-modern) .sky-tile-tools{padding:0}:host-context(.sky-theme-modern) .sky-tile-tools-control{font-size:18px;color:#686c73}:host-context(.sky-theme-modern) .sky-tile-grab-handle{font-size:16px}:host-context(.sky-theme-modern) .sky-tile-content ::ng-deep .sky-tile-content-section{border-bottom:1px dotted #c0c2c5}:host-context(.sky-theme-modern) .sky-tile-content ::ng-deep sky-tile-content-section:first-child .sky-tile-content-section{margin-top:15px}:host-context(.sky-theme-modern) .sky-tile-content ::ng-deep sky-tile-content-section:last-child .sky-tile-content-section{padding-bottom:0;border-bottom:none}:host-context(.sky-theme-modern) :host .sky-tile{border-radius:0}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-xs) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile{border-radius:6px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}.sky-theme-modern .sky-tile-header,.sky-theme-modern .sky-tile-content{border:none}.sky-theme-modern .sky-tile-header-column-tools{align-items:flex-start}.sky-theme-modern .sky-tile-tools{padding:0}.sky-theme-modern .sky-tile-tools-control{font-size:18px;color:#686c73}.sky-theme-modern .sky-tile-grab-handle{font-size:16px}.sky-theme-modern .sky-tile-content ::ng-deep .sky-tile-content-section{border-bottom:1px dotted #c0c2c5}.sky-theme-modern .sky-tile-content ::ng-deep sky-tile-content-section:first-child .sky-tile-content-section{margin-top:15px}.sky-theme-modern .sky-tile-content ::ng-deep sky-tile-content-section:last-child .sky-tile-content-section{padding-bottom:0;border-bottom:none}.sky-theme-modern :host .sky-tile{border-radius:0}.sky-theme-modern :host-context(.sky-responsive-container-xs) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){.sky-theme-modern :host .sky-tile{border-radius:6px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i2.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i4.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.λ2, selector: "[skyId]", exportAs: ["skyId"] }], pipes: { "skyLibResources": i6.SkyLibResourcesPipe }, animations: [skyAnimationSlide] });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileComponent, decorators: [{
129
+ type: Component,
130
+ args: [{
131
+ selector: 'sky-tile',
132
+ styleUrls: ['./tile.component.scss'],
133
+ templateUrl: './tile.component.html',
134
+ animations: [skyAnimationSlide],
135
+ }]
136
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.SkyTileDashboardService, decorators: [{
137
+ type: Optional
138
+ }] }]; }, propDecorators: { showSettings: [{
139
+ type: Input
140
+ }], showHelp: [{
141
+ type: Input
142
+ }], tileName: [{
143
+ type: Input
144
+ }], settingsClick: [{
145
+ type: Output
146
+ }], isCollapsedChange: [{
147
+ type: Output
148
+ }], helpClick: [{
149
+ type: Output
150
+ }], isCollapsed: [{
151
+ type: Input
152
+ }], grabHandle: [{
153
+ type: ViewChild,
154
+ args: ['grabHandle', {
155
+ read: ElementRef,
156
+ static: false,
157
+ }]
158
+ }], title: [{
159
+ type: ViewChild,
160
+ args: ['titleContainer', {
161
+ read: ElementRef,
162
+ static: false,
163
+ }]
164
+ }] } });
165
+ //# sourceMappingURL=tile.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile.component.ts","../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile.component.html"],"names":[],"mappings":"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","sourcesContent":["import { AnimationEvent } from '@angular/animations';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { skyAnimationSlide } from '@skyux/animations';\n\nimport { Subject } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyTileDashboardService } from '../tile-dashboard/tile-dashboard.service';\n\n/**\n * Provides a common look-and-feel for tab content.\n */\n@Component({\n selector: 'sky-tile',\n styleUrls: ['./tile.component.scss'],\n templateUrl: './tile.component.html',\n animations: [skyAnimationSlide],\n})\nexport class SkyTileComponent implements OnDestroy {\n /**\n * Indicates whether to display a settings button in the tile header. To display the\n * button, you must also listen for the `settingsClick` event.\n * @default true\n */\n @Input()\n public showSettings = true;\n\n /**\n * Indicates whether to display a help button in the tile header. To display the\n * button, you must also listen for the `helpClick` event.\n * @default true\n */\n @Input()\n public showHelp = true;\n\n /**\n * Specifies a human-readable name for the tile that is available for multiple purposes, such as accessibility and instrumentation. For example, the component uses the name to construct ARIA labels for tile controls to [support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n */\n @Input()\n public tileName;\n\n /**\n * Fires when users select the settings button in the tile header. The settings\n * button only appears when the `showSettings` property is set to `true`.\n */\n @Output()\n public settingsClick = new EventEmitter();\n\n /**\n * Fires when the tile's collapsed state changes. Returns `true` when the tile\n * collapses and `false` when it expands.\n */\n @Output()\n public isCollapsedChange = new EventEmitter<boolean>();\n\n /**\n * Fires when users select the help button in the tile header. The help\n * button only appears when the `showHelp` property is set to `true`.\n */\n @Output()\n public helpClick = new EventEmitter();\n\n public get isCollapsed(): boolean {\n if (this.dashboardService) {\n const configCollapsedState = this.dashboardService.tileIsCollapsed(this);\n this._isCollapsed = configCollapsedState;\n }\n\n return this._isCollapsed;\n }\n\n /**\n * Indicates whether the tile is in a collapsed state.\n * @default false\n */\n @Input()\n public set isCollapsed(value: boolean) {\n if (this.dashboardService) {\n this.dashboardService.setTileCollapsed(this, value);\n }\n\n this._isCollapsed = value;\n\n this.isCollapsedChange.emit(value);\n }\n\n public isInDashboardColumn = false;\n\n @ViewChild('grabHandle', {\n read: ElementRef,\n static: false,\n })\n private grabHandle: ElementRef;\n\n @ViewChild('titleContainer', {\n read: ElementRef,\n static: false,\n })\n private title: ElementRef;\n\n private ngUnsubscribe = new Subject();\n\n private _isCollapsed = false;\n\n constructor(\n public elementRef: ElementRef,\n private changeDetector: ChangeDetectorRef,\n @Optional() private dashboardService: SkyTileDashboardService\n ) {\n this.isInDashboardColumn = !!dashboardService;\n\n if (this.dashboardService) {\n /**\n * This subscription ensures that if any values which come in from the dashboard service are\n * updated that the component will update if the tile's parent component utilizes OnPush\n * change detection.\n */\n this.dashboardService.configChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.changeDetector.markForCheck();\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public settingsButtonClicked(): void {\n this.settingsClick.emit(undefined);\n }\n\n public helpButtonClicked(): void {\n this.helpClick.emit(undefined);\n }\n\n public get hasSettings(): boolean {\n return this.settingsClick.observers.length > 0 && this.showSettings;\n }\n\n public get hasHelp(): boolean {\n return this.helpClick.observers.length > 0 && this.showHelp;\n }\n\n public titleClick(): void {\n this.isCollapsed = !this.isCollapsed;\n }\n\n public chevronDirectionChange(direction: string): void {\n this.isCollapsed = direction === 'down';\n }\n\n public moveTile(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (this.isInDashboardColumn) {\n let direction = event.key.toLowerCase().replace('arrow', '');\n /* istanbul ignore else */\n if (\n direction === 'up' ||\n direction === 'down' ||\n direction === 'left' ||\n direction === 'right'\n ) {\n this.dashboardService.moveTileOnKeyDown(\n this,\n direction,\n this.title\n ? this.title.nativeElement.innerText\n : /* istanbul ignore next */\n undefined\n );\n this.focusHandle();\n }\n }\n }\n\n private focusHandle(): void {\n this.grabHandle.nativeElement.focus();\n }\n}\n","<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick()\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\"></ng-content>\n </div>\n <div\n class=\"sky-tile-summary\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern',\n 'sky-headline': 'default'\n }\"\n >\n <ng-content select=\"sky-tile-summary\"></ng-content>\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"cog\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"cog-line\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"\n dashboardService?.bagId + '-move-instructions'\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"th\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"tile-drag\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\"></ng-content>\n </div>\n</section>\n"]}
@@ -0,0 +1,53 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SkyI18nModule } from '@skyux/i18n';
4
+ import { SkyChevronModule, SkyIconModule } from '@skyux/indicators';
5
+ import { SkyThemeModule } from '@skyux/theme';
6
+ import { SkyTilesResourcesModule } from '../../shared/sky-tiles-resources.module';
7
+ import { SkyTileComponent } from './tile.component';
8
+ import { SkyTileSummaryComponent } from './tile-summary.component';
9
+ import { SkyTileTitleComponent } from './tile-title.component';
10
+ import { SkyIdModule } from '@skyux/core';
11
+ import * as i0 from "@angular/core";
12
+ export class SkyTileModule {
13
+ }
14
+ SkyTileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ SkyTileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileModule, declarations: [SkyTileComponent,
16
+ SkyTileSummaryComponent,
17
+ SkyTileTitleComponent], imports: [CommonModule,
18
+ SkyChevronModule,
19
+ SkyIdModule,
20
+ SkyI18nModule,
21
+ SkyIconModule,
22
+ SkyThemeModule,
23
+ SkyTilesResourcesModule], exports: [SkyTileComponent, SkyTileSummaryComponent, SkyTileTitleComponent] });
24
+ SkyTileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileModule, imports: [[
25
+ CommonModule,
26
+ SkyChevronModule,
27
+ SkyIdModule,
28
+ SkyI18nModule,
29
+ SkyIconModule,
30
+ SkyThemeModule,
31
+ SkyTilesResourcesModule,
32
+ ]] });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileModule, decorators: [{
34
+ type: NgModule,
35
+ args: [{
36
+ declarations: [
37
+ SkyTileComponent,
38
+ SkyTileSummaryComponent,
39
+ SkyTileTitleComponent,
40
+ ],
41
+ imports: [
42
+ CommonModule,
43
+ SkyChevronModule,
44
+ SkyIdModule,
45
+ SkyI18nModule,
46
+ SkyIconModule,
47
+ SkyThemeModule,
48
+ SkyTilesResourcesModule,
49
+ ],
50
+ exports: [SkyTileComponent, SkyTileSummaryComponent, SkyTileTitleComponent],
51
+ }]
52
+ }] });
53
+ //# sourceMappingURL=tile.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile.module.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile/tile.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAmB1C,MAAM,OAAO,aAAa;;2GAAb,aAAa;4GAAb,aAAa,iBAftB,gBAAgB;QAChB,uBAAuB;QACvB,qBAAqB,aAGrB,YAAY;QACZ,gBAAgB;QAChB,WAAW;QACX,aAAa;QACb,aAAa;QACb,cAAc;QACd,uBAAuB,aAEf,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB;4GAE/D,aAAa,YAXf;YACP,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,aAAa;YACb,aAAa;YACb,cAAc;YACd,uBAAuB;SACxB;4FAGU,aAAa;kBAjBzB,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,gBAAgB;wBAChB,uBAAuB;wBACvB,qBAAqB;qBACtB;oBACD,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,aAAa;wBACb,aAAa;wBACb,cAAc;wBACd,uBAAuB;qBACxB;oBACD,OAAO,EAAE,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB,CAAC;iBAC5E","sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\n\nimport { SkyI18nModule } from '@skyux/i18n';\n\nimport { SkyChevronModule, SkyIconModule } from '@skyux/indicators';\n\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyTilesResourcesModule } from '../../shared/sky-tiles-resources.module';\n\nimport { SkyTileComponent } from './tile.component';\n\nimport { SkyTileSummaryComponent } from './tile-summary.component';\n\nimport { SkyTileTitleComponent } from './tile-title.component';\nimport { SkyIdModule } from '@skyux/core';\n\n@NgModule({\n declarations: [\n SkyTileComponent,\n SkyTileSummaryComponent,\n SkyTileTitleComponent,\n ],\n imports: [\n CommonModule,\n SkyChevronModule,\n SkyIdModule,\n SkyI18nModule,\n SkyIconModule,\n SkyThemeModule,\n SkyTilesResourcesModule,\n ],\n exports: [SkyTileComponent, SkyTileSummaryComponent, SkyTileTitleComponent],\n})\nexport class SkyTileModule {}\n"]}
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
16
16
  templateUrl: './tile-content-section.component.html',
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1jb250ZW50LXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGlsZXMvc3JjL21vZHVsZXMvdGlsZXMvdGlsZS1jb250ZW50L3RpbGUtY29udGVudC1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RpbGVzL3NyYy9tb2R1bGVzL3RpbGVzL3RpbGUtY29udGVudC90aWxlLWNvbnRlbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFMUM7O0dBRUc7QUFNSCxNQUFNLE9BQU8sOEJBQThCOzs0SEFBOUIsOEJBQThCO2dIQUE5Qiw4QkFBOEIsZ0VDVjNDLDZKQVFBOzRGREVhLDhCQUE4QjtrQkFMMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztvQkFDcEQsV0FBVyxFQUFFLHVDQUF1QztpQkFDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgY29udGVudCB0byBkaXNwbGF5IGluc2lkZSBhIHBhZGRlZCBzZWN0aW9uIG9mIGEgU2t5VGlsZUNvbnRlbnRDb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10aWxlLWNvbnRlbnQtc2VjdGlvbicsXG4gIHN0eWxlVXJsczogWycuL3RpbGUtY29udGVudC1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi90aWxlLWNvbnRlbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVDb250ZW50U2VjdGlvbkNvbXBvbmVudCB7fVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS10aWxlLWNvbnRlbnQtc2VjdGlvblwiXG4gIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAnc2t5LXBhZGRpbmctZXZlbi1sYXJnZSc6ICdkZWZhdWx0J1xuICB9XCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
19
+ //# sourceMappingURL=tile-content-section.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-content-section.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content-section.component.ts","../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content-section.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;;AAE1C;;GAEG;AAMH,MAAM,OAAO,8BAA8B;;4HAA9B,8BAA8B;gHAA9B,8BAA8B,gECV3C,6JAQA;4FDEa,8BAA8B;kBAL1C,SAAS;mBAAC;oBACT,QAAQ,EAAE,0BAA0B;oBACpC,SAAS,EAAE,CAAC,uCAAuC,CAAC;oBACpD,WAAW,EAAE,uCAAuC;iBACrD","sourcesContent":["import { Component } from '@angular/core';\n\n/**\n * Specifies content to display inside a padded section of a SkyTileContentComponent.\n */\n@Component({\n selector: 'sky-tile-content-section',\n styleUrls: ['./tile-content-section.component.scss'],\n templateUrl: './tile-content-section.component.html',\n})\nexport class SkyTileContentSectionComponent {}\n","<div\n class=\"sky-tile-content-section\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n>\n <ng-content></ng-content>\n</div>\n"]}
@@ -0,0 +1,18 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Specifies content to display in the tile's body.
5
+ */
6
+ export class SkyTileContentComponent {
7
+ }
8
+ SkyTileContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ SkyTileContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyTileContentComponent, selector: "sky-tile-content", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host ::ng-deep sky-tile-content-section:not(:last-child) .sky-tile-content-section{border-bottom:1px solid #e2e3e4}\n"] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileContentComponent, decorators: [{
11
+ type: Component,
12
+ args: [{
13
+ selector: 'sky-tile-content',
14
+ styleUrls: ['./tile-content.component.scss'],
15
+ templateUrl: 'tile-content.component.html',
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=tile-content.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-content.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content.component.ts","../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;AAE1C;;GAEG;AAMH,MAAM,OAAO,uBAAuB;;qHAAvB,uBAAuB;yGAAvB,uBAAuB,wDCVpC,6BACA;4FDSa,uBAAuB;kBALnC,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,CAAC,+BAA+B,CAAC;oBAC5C,WAAW,EAAE,6BAA6B;iBAC3C","sourcesContent":["import { Component } from '@angular/core';\n\n/**\n * Specifies content to display in the tile's body.\n */\n@Component({\n selector: 'sky-tile-content',\n styleUrls: ['./tile-content.component.scss'],\n templateUrl: 'tile-content.component.html',\n})\nexport class SkyTileContentComponent {}\n","<ng-content></ng-content>\n"]}
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SkyThemeModule } from '@skyux/theme';
4
+ import { SkyTileContentSectionComponent } from './tile-content-section.component';
5
+ import { SkyTileContentComponent } from './tile-content.component';
6
+ import * as i0 from "@angular/core";
7
+ export class SkyTileContentModule {
8
+ }
9
+ SkyTileContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ SkyTileContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileContentModule, declarations: [SkyTileContentComponent, SkyTileContentSectionComponent], imports: [CommonModule, SkyThemeModule], exports: [SkyTileContentComponent, SkyTileContentSectionComponent] });
11
+ SkyTileContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileContentModule, imports: [[CommonModule, SkyThemeModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileContentModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [SkyTileContentComponent, SkyTileContentSectionComponent],
16
+ imports: [CommonModule, SkyThemeModule],
17
+ exports: [SkyTileContentComponent, SkyTileContentSectionComponent],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=tile-content.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-content.module.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-content/tile-content.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;;AAOnE,MAAM,OAAO,oBAAoB;;kHAApB,oBAAoB;mHAApB,oBAAoB,iBAJhB,uBAAuB,EAAE,8BAA8B,aAC5D,YAAY,EAAE,cAAc,aAC5B,uBAAuB,EAAE,8BAA8B;mHAEtD,oBAAoB,YAHtB,CAAC,YAAY,EAAE,cAAc,CAAC;4FAG5B,oBAAoB;kBALhC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;oBACvE,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;oBACvC,OAAO,EAAE,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;iBACnE","sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\n\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyTileContentSectionComponent } from './tile-content-section.component';\n\nimport { SkyTileContentComponent } from './tile-content.component';\n\n@NgModule({\n declarations: [SkyTileContentComponent, SkyTileContentSectionComponent],\n imports: [CommonModule, SkyThemeModule],\n exports: [SkyTileContentComponent, SkyTileContentSectionComponent],\n})\nexport class SkyTileContentModule {}\n"]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Specifies the type of message to send to the tile dashboard component.
3
+ */
4
+ export var SkyTileDashboardMessageType;
5
+ (function (SkyTileDashboardMessageType) {
6
+ /**
7
+ * Expands all tiles within the tile dashboard.
8
+ */
9
+ SkyTileDashboardMessageType[SkyTileDashboardMessageType["ExpandAll"] = 0] = "ExpandAll";
10
+ /**
11
+ * Collapses all tiles within the tile dashboard.
12
+ */
13
+ SkyTileDashboardMessageType[SkyTileDashboardMessageType["CollapseAll"] = 1] = "CollapseAll";
14
+ })(SkyTileDashboardMessageType || (SkyTileDashboardMessageType = {}));
15
+ //# sourceMappingURL=tile-dashboard-message-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-dashboard-message-type.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard-message-type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,2BAUX;AAVD,WAAY,2BAA2B;IACrC;;OAEG;IACH,uFAAa,CAAA;IAEb;;OAEG;IACH,2FAAe,CAAA;AACjB,CAAC,EAVW,2BAA2B,KAA3B,2BAA2B,QAUtC","sourcesContent":["/**\n * Specifies the type of message to send to the tile dashboard component.\n */\nexport enum SkyTileDashboardMessageType {\n /**\n * Expands all tiles within the tile dashboard.\n */\n ExpandAll = 0,\n\n /**\n * Collapses all tiles within the tile dashboard.\n */\n CollapseAll = 1,\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tile-dashboard-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-dashboard-message.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard-message.ts"],"names":[],"mappings":"","sourcesContent":["import { SkyTileDashboardMessageType } from './tile-dashboard-message-type';\n\n/**\n * Specifies the messages to be sent to the tile dashboard component.\n */\nexport interface SkyTileDashboardMessage {\n /**\n * The type of message to send.\n */\n type?: SkyTileDashboardMessageType;\n}\n"]}
@@ -0,0 +1,133 @@
1
+ import { Component, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren, Optional, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { take, takeUntil } from 'rxjs/operators';
4
+ import { SkyMediaQueryService, SkyMediaBreakpoints } from '@skyux/core';
5
+ import { SkyLibResourcesService } from '@skyux/i18n';
6
+ import { SkyTileDashboardColumnComponent } from '../tile-dashboard-column/tile-dashboard-column.component';
7
+ import { SkyTileDashboardService } from './tile-dashboard.service';
8
+ import { SkyTileDashboardMessageType } from './tile-dashboard-message-type';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./tile-dashboard.service";
11
+ import * as i2 from "@skyux/core";
12
+ import * as i3 from "@skyux/i18n";
13
+ import * as i4 from "../tile-dashboard-column/tile-dashboard-column.component";
14
+ import * as i5 from "@angular/common";
15
+ /**
16
+ * Specifies a container to group multiple tiles.
17
+ */
18
+ export class SkyTileDashboardComponent {
19
+ constructor(dashboardService, mediaQuery, resourcesService) {
20
+ this.dashboardService = dashboardService;
21
+ this.mediaQuery = mediaQuery;
22
+ this.resourcesService = resourcesService;
23
+ /**
24
+ * Provides an observable to send commands to the tile dashboard. The commands should respect the
25
+ * `SkyTileDashboardMessage` type.
26
+ */
27
+ this.messageStream = new Subject();
28
+ /**
29
+ * Fires when the tile dashboard changes state and emits a SkyTileDashboardConfig
30
+ * object. This occurs when tiles collapse or expand and when users drag and drop
31
+ * tiles to rearrange them.
32
+ */
33
+ this.configChange = new EventEmitter();
34
+ this.moveInstructionsId = this.dashboardService.bagId + '-move-instructions';
35
+ this.configSet = false;
36
+ this.ngUnsubscribe = new Subject();
37
+ this.viewReady = false;
38
+ this.dashboardService.configChange.subscribe((config) => {
39
+ this.configChange.emit(config);
40
+ // Update aria live region with tile drag info
41
+ if (config.movedTile && this.resourcesService) {
42
+ let messageObservable;
43
+ if (this.mediaQuery.current === SkyMediaBreakpoints.xs ||
44
+ this.mediaQuery.current === SkyMediaBreakpoints.sm) {
45
+ messageObservable = this.resourcesService.getString('skyux_tile_moved_assistive_text', config.movedTile.tileDescription, '1', '1', config.movedTile.position.toString(), config.layout.singleColumn.tiles.length.toString());
46
+ }
47
+ else {
48
+ messageObservable = this.resourcesService.getString('skyux_tile_moved_assistive_text', config.movedTile.tileDescription, config.movedTile.column.toString(), config.layout.multiColumn.length.toString(), config.movedTile.position.toString(), config.layout.multiColumn[config.movedTile.column - 1].tiles.length.toString());
49
+ }
50
+ messageObservable.pipe(take(1)).subscribe((message) => {
51
+ this.tileMovedReport = message;
52
+ });
53
+ }
54
+ });
55
+ }
56
+ /**
57
+ * Populates the tile dashboard based on the `SkyTileDashboardConfig` object.
58
+ * @required
59
+ */
60
+ set config(value) {
61
+ if (value && !this.configSet) {
62
+ this._config = value;
63
+ this.configSet = true;
64
+ this.checkReady();
65
+ }
66
+ }
67
+ get config() {
68
+ return this._config;
69
+ }
70
+ ngAfterViewInit() {
71
+ this.messageStream
72
+ .pipe(takeUntil(this.ngUnsubscribe))
73
+ .subscribe((message) => {
74
+ this.handleIncomingMessages(message);
75
+ });
76
+ this.viewReady = true;
77
+ this.checkReady();
78
+ }
79
+ ngOnDestroy() {
80
+ this.ngUnsubscribe.next();
81
+ this.ngUnsubscribe.complete();
82
+ this.dashboardService.destroy();
83
+ }
84
+ checkReady() {
85
+ if (this.viewReady && this.config) {
86
+ setTimeout(() => {
87
+ this.dashboardService.init(this.config, this.columns, this.singleColumn, this.settingsKey);
88
+ }, 0);
89
+ }
90
+ }
91
+ handleIncomingMessages(message) {
92
+ /* tslint:disable-next-line:switch-default */
93
+ switch (message.type) {
94
+ case SkyTileDashboardMessageType.ExpandAll:
95
+ this.dashboardService.setAllTilesCollapsed(false);
96
+ break;
97
+ case SkyTileDashboardMessageType.CollapseAll:
98
+ this.dashboardService.setAllTilesCollapsed(true);
99
+ break;
100
+ }
101
+ }
102
+ }
103
+ SkyTileDashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileDashboardComponent, deps: [{ token: i1.SkyTileDashboardService }, { token: i2.SkyMediaQueryService }, { token: i3.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
104
+ SkyTileDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyTileDashboardComponent, selector: "sky-tile-dashboard", inputs: { config: "config", messageStream: "messageStream", settingsKey: "settingsKey" }, outputs: { configChange: "configChange" }, providers: [SkyTileDashboardService], viewQueries: [{ propertyName: "singleColumn", first: true, predicate: ["singleColumn"], descendants: true, read: SkyTileDashboardColumnComponent }, { propertyName: "columns", predicate: SkyTileDashboardColumnComponent, descendants: true }], ngImport: i0, template: "<span aria-live=\"assertive\" class=\"sky-assistive-text\">\n {{ tileMovedReport }}\n</span>\n<sky-tile-dashboard-column\n *ngFor=\"let column of config?.layout?.multiColumn\"\n class=\"sky-tile-dashboard-layout-multi\"\n [ngStyle]=\"{\n 'flex-basis': 100 / config?.layout?.multiColumn.length + '%'\n }\"\n>\n</sky-tile-dashboard-column>\n<sky-tile-dashboard-column\n class=\"sky-tile-dashboard-layout-single\"\n #singleColumn\n>\n</sky-tile-dashboard-column>\n<span class=\"sky-screen-reader-only\" [id]=\"moveInstructionsId\">{{\n 'skyux_tile_move_instructions' | skyLibResources\n}}</span>\n<ng-content></ng-content>\n", styles: [":host{display:block;padding:0}:host .sky-tile-dashboard-layout-multi{display:none}:host .sky-tile-dashboard-layout-single{display:block}:host .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile{margin-bottom:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){display:block;padding:0}:host-context(.sky-responsive-container-xs) .sky-tile-dashboard-layout-multi,:host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-multi,:host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-multi,:host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-multi{display:none}:host-context(.sky-responsive-container-xs) .sky-tile-dashboard-layout-single,:host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-single,:host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-single,:host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-single{display:block}:host-context(.sky-responsive-container-xs) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-responsive-container-xs) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile,:host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile,:host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile,:host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile{margin-bottom:0}@media (min-width: 768px){:host .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile{margin-bottom:20px}:host :host-context(.sky-theme-default){padding-top:20px}}:host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile,:host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile,:host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile{margin-bottom:20px}:host-context(.sky-responsive-container-sm) :host-context(.sky-theme-default),:host-context(.sky-responsive-container-md) :host-context(.sky-theme-default),:host-context(.sky-responsive-container-lg) :host-context(.sky-theme-default){padding-top:20px}@media (min-width: 992px){:host{display:flex;padding:0 10px}:host .sky-tile-dashboard-layout-multi{display:block}:host .sky-tile-dashboard-layout-single{display:none}}:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){display:flex;padding:0 10px}:host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-multi,:host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-multi{display:block}:host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-single,:host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-single{display:none}@media screen{.sky-assistive-text{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}}:host-context(.sky-theme-default){background-color:#eeeeef}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-theme-modern) :host .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile{margin-bottom:30px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile{margin-bottom:30px}@media (min-width: 768px){.sky-theme-modern :host .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,.sky-theme-modern :host .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile{margin-bottom:30px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-single ::ng-deep .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile-dashboard-layout-multi ::ng-deep .sky-tile{margin-bottom:30px}\n"], components: [{ type: i4.SkyTileDashboardColumnComponent, selector: "sky-tile-dashboard-column" }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe } });
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileDashboardComponent, decorators: [{
106
+ type: Component,
107
+ args: [{
108
+ selector: 'sky-tile-dashboard',
109
+ styleUrls: ['./tile-dashboard.component.scss'],
110
+ templateUrl: './tile-dashboard.component.html',
111
+ providers: [SkyTileDashboardService],
112
+ }]
113
+ }], ctorParameters: function () { return [{ type: i1.SkyTileDashboardService }, { type: i2.SkyMediaQueryService }, { type: i3.SkyLibResourcesService, decorators: [{
114
+ type: Optional
115
+ }] }]; }, propDecorators: { config: [{
116
+ type: Input
117
+ }], messageStream: [{
118
+ type: Input
119
+ }], settingsKey: [{
120
+ type: Input
121
+ }], configChange: [{
122
+ type: Output
123
+ }], columns: [{
124
+ type: ViewChildren,
125
+ args: [SkyTileDashboardColumnComponent]
126
+ }], singleColumn: [{
127
+ type: ViewChild,
128
+ args: ['singleColumn', {
129
+ read: SkyTileDashboardColumnComponent,
130
+ static: false,
131
+ }]
132
+ }] } });
133
+ //# sourceMappingURL=tile-dashboard.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-dashboard.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.component.ts","../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n Optional,\n} from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkyMediaQueryService, SkyMediaBreakpoints } from '@skyux/core';\n\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { SkyTileDashboardColumnComponent } from '../tile-dashboard-column/tile-dashboard-column.component';\nimport { SkyTileDashboardConfig } from '../tile-dashboard-config/tile-dashboard-config';\nimport { SkyTileDashboardService } from './tile-dashboard.service';\n\nimport { SkyTileDashboardMessage } from './tile-dashboard-message';\n\nimport { SkyTileDashboardMessageType } from './tile-dashboard-message-type';\n\n/**\n * Specifies a container to group multiple tiles.\n */\n@Component({\n selector: 'sky-tile-dashboard',\n styleUrls: ['./tile-dashboard.component.scss'],\n templateUrl: './tile-dashboard.component.html',\n providers: [SkyTileDashboardService],\n})\nexport class SkyTileDashboardComponent implements AfterViewInit, OnDestroy {\n /**\n * Populates the tile dashboard based on the `SkyTileDashboardConfig` object.\n * @required\n */\n @Input()\n public set config(value: SkyTileDashboardConfig) {\n if (value && !this.configSet) {\n this._config = value;\n this.configSet = true;\n this.checkReady();\n }\n }\n\n public get config(): SkyTileDashboardConfig {\n return this._config;\n }\n\n /**\n * Provides an observable to send commands to the tile dashboard. The commands should respect the\n * `SkyTileDashboardMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkyTileDashboardMessage>();\n\n /**\n * Specifies a unique key for the UI Config Service to retrieve stored settings\n * from a database. The UI Config Service saves configuration settings for users\n * to preserve the layout and collapsed state of tile dashboards. For more information\n * about the UI Config Service, see the\n * [sticky settings documentation](https://developer.blackbaud.com/skyux/learn/get-started/advanced/sticky-settings).\n */\n @Input()\n public settingsKey: string;\n\n /**\n * Fires when the tile dashboard changes state and emits a SkyTileDashboardConfig\n * object. This occurs when tiles collapse or expand and when users drag and drop\n * tiles to rearrange them.\n */\n @Output()\n public configChange = new EventEmitter<SkyTileDashboardConfig>();\n\n @ViewChildren(SkyTileDashboardColumnComponent)\n private columns: QueryList<SkyTileDashboardColumnComponent>;\n\n @ViewChild('singleColumn', {\n read: SkyTileDashboardColumnComponent,\n static: false,\n })\n public singleColumn: SkyTileDashboardColumnComponent;\n\n public tileMovedReport: string;\n\n public moveInstructionsId =\n this.dashboardService.bagId + '-move-instructions';\n\n private _config: SkyTileDashboardConfig;\n\n private configSet = false;\n\n private ngUnsubscribe = new Subject();\n\n private viewReady = false;\n\n constructor(\n private dashboardService: SkyTileDashboardService,\n private mediaQuery: SkyMediaQueryService,\n @Optional() private resourcesService?: SkyLibResourcesService\n ) {\n this.dashboardService.configChange.subscribe(\n (config: SkyTileDashboardConfig) => {\n this.configChange.emit(config);\n\n // Update aria live region with tile drag info\n if (config.movedTile && this.resourcesService) {\n let messageObservable: Observable<string>;\n if (\n this.mediaQuery.current === SkyMediaBreakpoints.xs ||\n this.mediaQuery.current === SkyMediaBreakpoints.sm\n ) {\n messageObservable = this.resourcesService.getString(\n 'skyux_tile_moved_assistive_text',\n config.movedTile.tileDescription,\n '1',\n '1',\n config.movedTile.position.toString(),\n config.layout.singleColumn.tiles.length.toString()\n );\n } else {\n messageObservable = this.resourcesService.getString(\n 'skyux_tile_moved_assistive_text',\n config.movedTile.tileDescription,\n config.movedTile.column.toString(),\n config.layout.multiColumn.length.toString(),\n config.movedTile.position.toString(),\n config.layout.multiColumn[\n config.movedTile.column - 1\n ].tiles.length.toString()\n );\n }\n messageObservable.pipe(take(1)).subscribe((message: string) => {\n this.tileMovedReport = message;\n });\n }\n }\n );\n }\n\n public ngAfterViewInit(): void {\n this.messageStream\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((message: SkyTileDashboardMessage) => {\n this.handleIncomingMessages(message);\n });\n\n this.viewReady = true;\n this.checkReady();\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.dashboardService.destroy();\n }\n\n private checkReady(): void {\n if (this.viewReady && this.config) {\n setTimeout(() => {\n this.dashboardService.init(\n this.config,\n this.columns,\n this.singleColumn,\n this.settingsKey\n );\n }, 0);\n }\n }\n\n private handleIncomingMessages(message: SkyTileDashboardMessage): void {\n /* tslint:disable-next-line:switch-default */\n switch (message.type) {\n case SkyTileDashboardMessageType.ExpandAll:\n this.dashboardService.setAllTilesCollapsed(false);\n break;\n\n case SkyTileDashboardMessageType.CollapseAll:\n this.dashboardService.setAllTilesCollapsed(true);\n break;\n }\n }\n}\n","<span aria-live=\"assertive\" class=\"sky-assistive-text\">\n {{ tileMovedReport }}\n</span>\n<sky-tile-dashboard-column\n *ngFor=\"let column of config?.layout?.multiColumn\"\n class=\"sky-tile-dashboard-layout-multi\"\n [ngStyle]=\"{\n 'flex-basis': 100 / config?.layout?.multiColumn.length + '%'\n }\"\n>\n</sky-tile-dashboard-column>\n<sky-tile-dashboard-column\n class=\"sky-tile-dashboard-layout-single\"\n #singleColumn\n>\n</sky-tile-dashboard-column>\n<span class=\"sky-screen-reader-only\" [id]=\"moveInstructionsId\">{{\n 'skyux_tile_move_instructions' | skyLibResources\n}}</span>\n<ng-content></ng-content>\n"]}
@@ -0,0 +1,32 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DragulaService } from 'ng2-dragula';
4
+ import { SkyTileDashboardComponent } from './tile-dashboard.component';
5
+ import { SkyTileDashboardColumnModule } from '../tile-dashboard-column/tile-dashboard-column.module';
6
+ import { SkyTilesResourcesModule } from '../../shared/sky-tiles-resources.module';
7
+ import * as i0 from "@angular/core";
8
+ export class SkyTileDashboardModule {
9
+ }
10
+ SkyTileDashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ SkyTileDashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileDashboardModule, declarations: [SkyTileDashboardComponent], imports: [CommonModule,
12
+ SkyTileDashboardColumnModule,
13
+ SkyTilesResourcesModule], exports: [SkyTileDashboardComponent] });
14
+ SkyTileDashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileDashboardModule, providers: [DragulaService], imports: [[
15
+ CommonModule,
16
+ SkyTileDashboardColumnModule,
17
+ SkyTilesResourcesModule,
18
+ ]] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyTileDashboardModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ declarations: [SkyTileDashboardComponent],
23
+ providers: [DragulaService],
24
+ imports: [
25
+ CommonModule,
26
+ SkyTileDashboardColumnModule,
27
+ SkyTilesResourcesModule,
28
+ ],
29
+ exports: [SkyTileDashboardComponent],
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=tile-dashboard.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-dashboard.module.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/tiles/src/lib/modules/tiles/tile-dashboard/tile-dashboard.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;;AAYlF,MAAM,OAAO,sBAAsB;;oHAAtB,sBAAsB;qHAAtB,sBAAsB,iBATlB,yBAAyB,aAGtC,YAAY;QACZ,4BAA4B;QAC5B,uBAAuB,aAEf,yBAAyB;qHAExB,sBAAsB,aARtB,CAAC,cAAc,CAAC,YAClB;YACP,YAAY;YACZ,4BAA4B;YAC5B,uBAAuB;SACxB;4FAGU,sBAAsB;kBAVlC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;oBACzC,SAAS,EAAE,CAAC,cAAc,CAAC;oBAC3B,OAAO,EAAE;wBACP,YAAY;wBACZ,4BAA4B;wBAC5B,uBAAuB;qBACxB;oBACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;iBACrC","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { DragulaService } from 'ng2-dragula';\n\nimport { SkyTileDashboardComponent } from './tile-dashboard.component';\nimport { SkyTileDashboardColumnModule } from '../tile-dashboard-column/tile-dashboard-column.module';\nimport { SkyTilesResourcesModule } from '../../shared/sky-tiles-resources.module';\n\n@NgModule({\n declarations: [SkyTileDashboardComponent],\n providers: [DragulaService],\n imports: [\n CommonModule,\n SkyTileDashboardColumnModule,\n SkyTilesResourcesModule,\n ],\n exports: [SkyTileDashboardComponent],\n})\nexport class SkyTileDashboardModule {}\n"]}