@covalent/core 6.3.0 → 7.0.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.
- package/breadcrumbs/breadcrumbs.component.d.ts +1 -1
- package/dialogs/window-dialog/window-dialog.component.d.ts +1 -1
- package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +1 -1
- package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +1 -1
- package/dynamic-menu/dynamic-menu.component.d.ts +1 -1
- package/esm2022/breadcrumbs/breadcrumb/breadcrumb.component.mjs +94 -0
- package/esm2022/breadcrumbs/breadcrumbs.component.mjs +135 -0
- package/{esm2020 → esm2022}/breadcrumbs/breadcrumbs.module.mjs +5 -5
- package/esm2022/common/behaviors/control-value-accesor.mixin.mjs +43 -0
- package/esm2022/common/behaviors/disable-ripple.mixin.mjs +24 -0
- package/{esm2020 → esm2022}/common/behaviors/disabled.mixin.mjs +2 -2
- package/{esm2020 → esm2022}/common/common.module.mjs +17 -17
- package/esm2022/common/directives/fullscreen/fullscreen.directive.mjs +87 -0
- package/esm2022/common/forms/auto-trim/auto-trim.directive.mjs +37 -0
- package/esm2022/common/functions/convert.mjs +84 -0
- package/esm2022/common/functions/download.mjs +75 -0
- package/esm2022/common/pipes/bytes/bytes.pipe.mjs +42 -0
- package/esm2022/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +42 -0
- package/esm2022/common/pipes/digits/digits.pipe.mjs +41 -0
- package/{esm2020 → esm2022}/common/pipes/time-ago/time-ago.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/common/pipes/time-difference/time-difference.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/common/pipes/time-until/time-until.pipe.mjs +4 -4
- package/esm2022/common/pipes/truncate/truncate.pipe.mjs +27 -0
- package/esm2022/common/services/icon.service.mjs +1087 -0
- package/esm2022/common/services/router-path.service.mjs +30 -0
- package/esm2022/dialogs/alert-dialog/alert-dialog.component.mjs +26 -0
- package/esm2022/dialogs/confirm-dialog/confirm-dialog.component.mjs +31 -0
- package/esm2022/dialogs/dialog.component.mjs +60 -0
- package/{esm2020 → esm2022}/dialogs/dialogs.module.mjs +39 -39
- package/esm2022/dialogs/prompt-dialog/prompt-dialog.component.mjs +84 -0
- package/esm2022/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +220 -0
- package/esm2022/dialogs/services/dialog.service.mjs +179 -0
- package/esm2022/dialogs/window-dialog/window-dialog.component.mjs +40 -0
- package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +30 -0
- package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +23 -0
- package/esm2022/dynamic-menu/dynamic-menu.component.mjs +28 -0
- package/{esm2020 → esm2022}/dynamic-menu/dynamic-menu.module.mjs +19 -19
- package/esm2022/file/directives/file-drop.directive.mjs +145 -0
- package/esm2022/file/directives/file-select.directive.mjs +78 -0
- package/esm2022/file/file-input/file-input.component.mjs +146 -0
- package/esm2022/file/file-upload/file-upload.component.mjs +185 -0
- package/{esm2020 → esm2022}/file/file.module.mjs +21 -21
- package/esm2022/file/services/file.service.mjs +66 -0
- package/esm2022/json-formatter/json-formatter.component.mjs +222 -0
- package/{esm2020 → esm2022}/json-formatter/json-formatter.module.mjs +5 -5
- package/esm2022/layout/layout-card-over/layout-card-over.component.mjs +50 -0
- package/esm2022/layout/layout-footer/layout-footer.component.mjs +36 -0
- package/esm2022/layout/layout-manage-list/layout-manage-list.component.mjs +92 -0
- package/{esm2020 → esm2022}/layout/layout-manage-list/layout-manage-list.directives.mjs +10 -10
- package/esm2022/layout/layout-nav/layout-nav.component.mjs +76 -0
- package/esm2022/layout/layout-nav-list/layout-nav-list.component.mjs +154 -0
- package/{esm2020 → esm2022}/layout/layout-nav-list/layout-nav-list.directives.mjs +10 -10
- package/esm2022/layout/layout-toggle.class.mjs +96 -0
- package/esm2022/layout/layout.component.mjs +91 -0
- package/{esm2020 → esm2022}/layout/layout.directives.mjs +10 -10
- package/{esm2020 → esm2022}/layout/layout.module.mjs +55 -55
- package/esm2022/layout/navigation-drawer/navigation-drawer.component.mjs +221 -0
- package/esm2022/loading/directives/loading.directive.mjs +133 -0
- package/esm2022/loading/loading.component.mjs +193 -0
- package/{esm2020 → esm2022}/loading/loading.module.mjs +13 -13
- package/esm2022/loading/services/loading.factory.mjs +210 -0
- package/esm2022/loading/services/loading.service.mjs +219 -0
- package/{esm2020 → esm2022}/menu/menu.component.mjs +4 -4
- package/{esm2020 → esm2022}/menu/menu.module.mjs +5 -5
- package/esm2022/message/message.component.mjs +222 -0
- package/{esm2020 → esm2022}/message/message.module.mjs +7 -7
- package/esm2022/search/search-box/search-box.component.mjs +198 -0
- package/esm2022/search/search-input/search-input.component.mjs +214 -0
- package/{esm2020 → esm2022}/search/search.module.mjs +13 -13
- package/esm2022/side-sheet/side-sheet-container.mjs +285 -0
- package/esm2022/side-sheet/side-sheet-ref.mjs +30 -0
- package/{esm2020 → esm2022}/side-sheet/side-sheet.config.mjs +2 -5
- package/esm2022/side-sheet/side-sheet.content-directives.mjs +206 -0
- package/esm2022/side-sheet/side-sheet.mjs +236 -0
- package/{esm2020 → esm2022}/side-sheet/side-sheet.module.mjs +14 -14
- package/esm2022/user-profile/user-profile-menu/user-profile-menu.component.mjs +25 -0
- package/esm2022/user-profile/user-profile.component.mjs +21 -0
- package/{esm2020 → esm2022}/user-profile/user-profile.module.mjs +15 -15
- package/{fesm2015 → fesm2022}/covalent-core-breadcrumbs.mjs +28 -22
- package/{fesm2015 → fesm2022}/covalent-core-breadcrumbs.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/covalent-core-common.mjs +1131 -1125
- package/fesm2022/covalent-core-common.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/covalent-core-dialogs.mjs +109 -80
- package/{fesm2020 → fesm2022}/covalent-core-dialogs.mjs.map +1 -1
- package/fesm2022/covalent-core-dynamic-menu.mjs +125 -0
- package/{fesm2015 → fesm2022}/covalent-core-dynamic-menu.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/covalent-core-file.mjs +148 -110
- package/{fesm2020 → fesm2022}/covalent-core-file.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/covalent-core-json-formatter.mjs +26 -21
- package/{fesm2020 → fesm2022}/covalent-core-json-formatter.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/covalent-core-layout.mjs +396 -271
- package/{fesm2015 → fesm2022}/covalent-core-layout.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/covalent-core-loading.mjs +100 -78
- package/{fesm2020 → fesm2022}/covalent-core-loading.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/covalent-core-menu.mjs +7 -7
- package/{fesm2015 → fesm2022}/covalent-core-menu.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/covalent-core-message.mjs +42 -23
- package/{fesm2020 → fesm2022}/covalent-core-message.mjs.map +1 -1
- package/fesm2022/covalent-core-search.mjs +438 -0
- package/fesm2022/covalent-core-search.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/covalent-core-side-sheet.mjs +124 -99
- package/{fesm2020 → fesm2022}/covalent-core-side-sheet.mjs.map +1 -1
- package/fesm2022/covalent-core-user-profile.mjs +87 -0
- package/fesm2022/covalent-core-user-profile.mjs.map +1 -0
- package/file/directives/file-drop.directive.d.ts +1 -1
- package/file/directives/file-select.directive.d.ts +1 -1
- package/file/file-input/file-input.component.d.ts +1 -1
- package/file/file-upload/file-upload.component.d.ts +1 -1
- package/json-formatter/json-formatter.component.d.ts +1 -1
- package/layout/layout-card-over/layout-card-over.component.d.ts +1 -1
- package/layout/layout-footer/layout-footer.component.d.ts +1 -1
- package/layout/layout-manage-list/layout-manage-list.component.d.ts +1 -1
- package/layout/layout-manage-list/layout-manage-list.directives.d.ts +3 -3
- package/layout/layout-nav/layout-nav.component.d.ts +1 -1
- package/layout/layout-nav-list/layout-nav-list.component.d.ts +1 -1
- package/layout/layout-nav-list/layout-nav-list.directives.d.ts +3 -3
- package/layout/layout-toggle.class.d.ts +1 -1
- package/layout/layout.component.d.ts +1 -1
- package/layout/layout.directives.d.ts +3 -3
- package/layout/navigation-drawer/navigation-drawer.component.d.ts +1 -1
- package/loading/directives/loading.directive.d.ts +1 -1
- package/message/message.component.d.ts +1 -1
- package/package.json +55 -91
- package/search/search-box/search-box.component.d.ts +1 -1
- package/search/search-input/search-input.component.d.ts +1 -1
- package/side-sheet/side-sheet.content-directives.d.ts +2 -2
- package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +1 -1
- package/user-profile/user-profile.component.d.ts +1 -1
- package/common/styles/font/README.md +0 -11
- package/dialogs/src/README.md +0 -223
- package/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -92
- package/esm2020/breadcrumbs/breadcrumbs.component.mjs +0 -131
- package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +0 -41
- package/esm2020/common/behaviors/disable-ripple.mixin.mjs +0 -24
- package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +0 -85
- package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +0 -36
- package/esm2020/common/functions/convert.mjs +0 -84
- package/esm2020/common/functions/download.mjs +0 -75
- package/esm2020/common/pipes/bytes/bytes.pipe.mjs +0 -42
- package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +0 -42
- package/esm2020/common/pipes/digits/digits.pipe.mjs +0 -39
- package/esm2020/common/pipes/truncate/truncate.pipe.mjs +0 -27
- package/esm2020/common/services/icon.service.mjs +0 -1089
- package/esm2020/common/services/router-path.service.mjs +0 -29
- package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +0 -23
- package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -28
- package/esm2020/dialogs/dialog.component.mjs +0 -57
- package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +0 -75
- package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +0 -216
- package/esm2020/dialogs/services/dialog.service.mjs +0 -174
- package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +0 -38
- package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +0 -30
- package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +0 -24
- package/esm2020/dynamic-menu/dynamic-menu.component.mjs +0 -28
- package/esm2020/file/directives/file-drop.directive.mjs +0 -139
- package/esm2020/file/directives/file-select.directive.mjs +0 -77
- package/esm2020/file/file-input/file-input.component.mjs +0 -128
- package/esm2020/file/file-upload/file-upload.component.mjs +0 -174
- package/esm2020/file/services/file.service.mjs +0 -64
- package/esm2020/json-formatter/json-formatter.component.mjs +0 -217
- package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +0 -40
- package/esm2020/layout/layout-footer/layout-footer.component.mjs +0 -33
- package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +0 -93
- package/esm2020/layout/layout-nav/layout-nav.component.mjs +0 -50
- package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +0 -128
- package/esm2020/layout/layout-toggle.class.mjs +0 -92
- package/esm2020/layout/layout.component.mjs +0 -92
- package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +0 -163
- package/esm2020/loading/directives/loading.directive.mjs +0 -126
- package/esm2020/loading/loading.component.mjs +0 -187
- package/esm2020/loading/services/loading.factory.mjs +0 -207
- package/esm2020/loading/services/loading.service.mjs +0 -213
- package/esm2020/message/message.component.mjs +0 -203
- package/esm2020/search/search-box/search-box.component.mjs +0 -194
- package/esm2020/search/search-input/search-input.component.mjs +0 -207
- package/esm2020/side-sheet/side-sheet-container.mjs +0 -274
- package/esm2020/side-sheet/side-sheet-ref.mjs +0 -26
- package/esm2020/side-sheet/side-sheet.content-directives.mjs +0 -201
- package/esm2020/side-sheet/side-sheet.mjs +0 -228
- package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +0 -23
- package/esm2020/user-profile/user-profile.component.mjs +0 -19
- package/fesm2015/covalent-core-common.mjs +0 -2281
- package/fesm2015/covalent-core-common.mjs.map +0 -1
- package/fesm2015/covalent-core-dialogs.mjs +0 -668
- package/fesm2015/covalent-core-dialogs.mjs.map +0 -1
- package/fesm2015/covalent-core-dynamic-menu.mjs +0 -126
- package/fesm2015/covalent-core-file.mjs +0 -621
- package/fesm2015/covalent-core-file.mjs.map +0 -1
- package/fesm2015/covalent-core-json-formatter.mjs +0 -298
- package/fesm2015/covalent-core-json-formatter.mjs.map +0 -1
- package/fesm2015/covalent-core-layout.mjs +0 -1024
- package/fesm2015/covalent-core-loading.mjs +0 -766
- package/fesm2015/covalent-core-loading.mjs.map +0 -1
- package/fesm2015/covalent-core-message.mjs +0 -284
- package/fesm2015/covalent-core-message.mjs.map +0 -1
- package/fesm2015/covalent-core-search.mjs +0 -430
- package/fesm2015/covalent-core-search.mjs.map +0 -1
- package/fesm2015/covalent-core-side-sheet.mjs +0 -784
- package/fesm2015/covalent-core-side-sheet.mjs.map +0 -1
- package/fesm2015/covalent-core-user-profile.mjs +0 -83
- package/fesm2015/covalent-core-user-profile.mjs.map +0 -1
- package/fesm2020/covalent-core-breadcrumbs.mjs +0 -243
- package/fesm2020/covalent-core-breadcrumbs.mjs.map +0 -1
- package/fesm2020/covalent-core-common.mjs.map +0 -1
- package/fesm2020/covalent-core-dynamic-menu.mjs +0 -126
- package/fesm2020/covalent-core-dynamic-menu.mjs.map +0 -1
- package/fesm2020/covalent-core-layout.mjs.map +0 -1
- package/fesm2020/covalent-core-menu.mjs +0 -37
- package/fesm2020/covalent-core-menu.mjs.map +0 -1
- package/fesm2020/covalent-core-search.mjs +0 -427
- package/fesm2020/covalent-core-search.mjs.map +0 -1
- package/fesm2020/covalent-core-user-profile.mjs +0 -83
- package/fesm2020/covalent-core-user-profile.mjs.map +0 -1
- package/fesm2020/covalent-core.mjs +0 -4
- package/fesm2020/covalent-core.mjs.map +0 -1
- package/file/src/file-input/README.md +0 -147
- package/file/src/file-upload/README.md +0 -136
- package/layout/src/layout-card-over/README.md +0 -43
- package/layout/src/layout-manage-list/README.md +0 -80
- package/layout/src/layout-nav/README.md +0 -50
- package/layout/src/layout-nav-list/README.md +0 -105
- package/search/src/search-box/README.md +0 -73
- package/search/src/search-input/README.md +0 -74
- /package/{esm2020 → esm2022}/breadcrumbs/covalent-core-breadcrumbs.mjs +0 -0
- /package/{esm2020 → esm2022}/breadcrumbs/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/animations/bounce/bounce.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/common/animations/collapse/collapse.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/common/animations/common/interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/common/animations/fade/fadeInOut.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/common/animations/flash/flash.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/common/animations/headshake/headshake.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/common/animations/jello/jello.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/common/animations/pulse/pulse.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/common/animations/rotate/rotate.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/common/covalent-core-common.mjs +0 -0
- /package/{esm2020 → esm2022}/common/forms/validators/validators.mjs +0 -0
- /package/{esm2020 → esm2022}/common/functions/clipboard.mjs +0 -0
- /package/{esm2020 → esm2022}/common/functions/file.mjs +0 -0
- /package/{esm2020 → esm2022}/common/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/covalent-core.mjs +0 -0
- /package/{esm2020 → esm2022}/dialogs/covalent-core-dialogs.mjs +0 -0
- /package/{esm2020 → esm2022}/dialogs/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/dynamic-menu/covalent-core-dynamic-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/dynamic-menu/dynamic-menu.menu.mjs +0 -0
- /package/{esm2020 → esm2022}/dynamic-menu/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/file/covalent-core-file.mjs +0 -0
- /package/{esm2020 → esm2022}/file/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/json-formatter/collapse.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/json-formatter/covalent-core-json-formatter.mjs +0 -0
- /package/{esm2020 → esm2022}/json-formatter/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/layout/covalent-core-layout.mjs +0 -0
- /package/{esm2020 → esm2022}/layout/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/loading/covalent-core-loading.mjs +0 -0
- /package/{esm2020 → esm2022}/loading/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/menu/covalent-core-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/menu/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/message/collapse.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/message/covalent-core-message.mjs +0 -0
- /package/{esm2020 → esm2022}/message/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/search/covalent-core-search.mjs +0 -0
- /package/{esm2020 → esm2022}/search/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/side-sheet/covalent-core-side-sheet.mjs +0 -0
- /package/{esm2020 → esm2022}/side-sheet/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/side-sheet/side-sheet.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/user-profile/covalent-core-user-profile.mjs +0 -0
- /package/{esm2020 → esm2022}/user-profile/public_api.mjs +0 -0
- /package/{fesm2015 → fesm2022}/covalent-core.mjs +0 -0
- /package/{fesm2015 → fesm2022}/covalent-core.mjs.map +0 -0
@@ -1,217 +0,0 @@
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef, Optional, } from '@angular/core';
|
2
|
-
import { Dir } from '@angular/cdk/bidi';
|
3
|
-
import { tdCollapseAnimation } from './collapse.animation';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@angular/cdk/bidi";
|
6
|
-
import * as i2 from "@angular/common";
|
7
|
-
import * as i3 from "@angular/material/tooltip";
|
8
|
-
import * as i4 from "@angular/material/icon";
|
9
|
-
export class TdJsonFormatterComponent {
|
10
|
-
/**
|
11
|
-
* levelsOpen?: number
|
12
|
-
* Levels opened by default when JS object is formatted and rendered.
|
13
|
-
*/
|
14
|
-
set levelsOpen(levelsOpen) {
|
15
|
-
if (!Number.isInteger(levelsOpen)) {
|
16
|
-
throw new Error('[levelsOpen] needs to be an integer.');
|
17
|
-
}
|
18
|
-
this._levelsOpen = levelsOpen;
|
19
|
-
this._open = levelsOpen > 0;
|
20
|
-
}
|
21
|
-
get levelsOpen() {
|
22
|
-
return this._levelsOpen;
|
23
|
-
}
|
24
|
-
get open() {
|
25
|
-
return this._open;
|
26
|
-
}
|
27
|
-
/**
|
28
|
-
* key?: string
|
29
|
-
* Tag to be displayed next to formatted object.
|
30
|
-
*/
|
31
|
-
set key(key) {
|
32
|
-
this._key = key;
|
33
|
-
}
|
34
|
-
get key() {
|
35
|
-
const elipsis = this._key && this._key.length > TdJsonFormatterComponent.KEY_MAX_LENGTH
|
36
|
-
? '…'
|
37
|
-
: '';
|
38
|
-
return this._key
|
39
|
-
? this._key.substring(0, TdJsonFormatterComponent.KEY_MAX_LENGTH) +
|
40
|
-
elipsis
|
41
|
-
: this._key ?? '';
|
42
|
-
}
|
43
|
-
/**
|
44
|
-
* data: any
|
45
|
-
* JS object to be formatted.
|
46
|
-
*/
|
47
|
-
set data(data) {
|
48
|
-
this._data = data;
|
49
|
-
this.parseChildren();
|
50
|
-
}
|
51
|
-
get data() {
|
52
|
-
return this._data;
|
53
|
-
}
|
54
|
-
get children() {
|
55
|
-
return this._children ?? [];
|
56
|
-
}
|
57
|
-
get isRTL() {
|
58
|
-
if (this._dir) {
|
59
|
-
return this._dir.dir === 'rtl';
|
60
|
-
}
|
61
|
-
return false;
|
62
|
-
}
|
63
|
-
constructor(_changeDetectorRef, _dir) {
|
64
|
-
this._changeDetectorRef = _changeDetectorRef;
|
65
|
-
this._dir = _dir;
|
66
|
-
this._open = false;
|
67
|
-
this._levelsOpen = 0;
|
68
|
-
}
|
69
|
-
/**
|
70
|
-
* Refreshes json-formatter and rerenders [data]
|
71
|
-
*/
|
72
|
-
refresh() {
|
73
|
-
this._changeDetectorRef.markForCheck();
|
74
|
-
}
|
75
|
-
/**
|
76
|
-
* Toggles collapse/expanded state of component.
|
77
|
-
*/
|
78
|
-
toggle() {
|
79
|
-
this._open = !this._open;
|
80
|
-
}
|
81
|
-
isObject() {
|
82
|
-
return this.getType(this._data) === 'object';
|
83
|
-
}
|
84
|
-
isArray() {
|
85
|
-
return Array.isArray(this._data);
|
86
|
-
}
|
87
|
-
hasChildren() {
|
88
|
-
return (this._children && this._children.length > 0) ?? false;
|
89
|
-
}
|
90
|
-
/**
|
91
|
-
* Gets parsed value depending on value type.
|
92
|
-
*/
|
93
|
-
getValue(value) {
|
94
|
-
const type = this.getType(value);
|
95
|
-
if (type === 'undefined' || type === 'null') {
|
96
|
-
return type;
|
97
|
-
}
|
98
|
-
else if (type === 'date') {
|
99
|
-
value = new Date(value).toString();
|
100
|
-
}
|
101
|
-
else if (type === 'string') {
|
102
|
-
value = '"' + value + '"';
|
103
|
-
}
|
104
|
-
else if (type === 'function') {
|
105
|
-
// Remove content of the function
|
106
|
-
return (value
|
107
|
-
.toString()
|
108
|
-
.replace(/[\r\n]/g, '')
|
109
|
-
.replace(/\{.*\}/, '') + '{…}');
|
110
|
-
}
|
111
|
-
else if (Array.isArray(value)) {
|
112
|
-
return this.getObjectName() + ' [' + value.length + ']';
|
113
|
-
}
|
114
|
-
return value;
|
115
|
-
}
|
116
|
-
/**
|
117
|
-
* Gets type of object.
|
118
|
-
* returns 'null' if object is null and 'date' if value is object and can be parsed to a date.
|
119
|
-
*/
|
120
|
-
getType(object) {
|
121
|
-
if (typeof object === 'object') {
|
122
|
-
if (!object) {
|
123
|
-
return 'null';
|
124
|
-
}
|
125
|
-
if (Array.isArray(object)) {
|
126
|
-
return 'object';
|
127
|
-
}
|
128
|
-
const date = new Date(object);
|
129
|
-
if (Object.prototype.toString.call(date) === '[object Date]' &&
|
130
|
-
!Number.isNaN(date.getTime())) {
|
131
|
-
return 'date';
|
132
|
-
}
|
133
|
-
}
|
134
|
-
return typeof object;
|
135
|
-
}
|
136
|
-
/**
|
137
|
-
* Generates string representation depending if its an object or function.
|
138
|
-
* see: http://stackoverflow.com/a/332429
|
139
|
-
*/
|
140
|
-
getObjectName() {
|
141
|
-
const object = this._data;
|
142
|
-
if (this.isObject() && !object.constructor) {
|
143
|
-
return 'Object';
|
144
|
-
}
|
145
|
-
const funcNameRegex = /function (.{1,})\(/;
|
146
|
-
const results = funcNameRegex.exec(object.constructor.toString());
|
147
|
-
if (results && results.length > 1) {
|
148
|
-
return results[1];
|
149
|
-
}
|
150
|
-
else {
|
151
|
-
return '';
|
152
|
-
}
|
153
|
-
}
|
154
|
-
/**
|
155
|
-
* Creates preview of nodes children to render in tooltip depending if its an array or an object.
|
156
|
-
*/
|
157
|
-
getPreview() {
|
158
|
-
let previewData;
|
159
|
-
let startChar = '{ ';
|
160
|
-
let endChar = ' }';
|
161
|
-
if (this.isArray()) {
|
162
|
-
const previewArray = Object.entries(this._data).slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT) ?? [];
|
163
|
-
previewData = previewArray.map((obj) => {
|
164
|
-
return this.getValue(obj);
|
165
|
-
});
|
166
|
-
startChar = '[';
|
167
|
-
endChar = ']';
|
168
|
-
}
|
169
|
-
else {
|
170
|
-
const previewKeys = this._children?.slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT) ?? [];
|
171
|
-
previewData = previewKeys.map((key) => {
|
172
|
-
return key + ': ' + this.getValue(this._data[key] ?? undefined);
|
173
|
-
});
|
174
|
-
}
|
175
|
-
const previewString = previewData.join(', ');
|
176
|
-
const ellipsis = previewData.length >= TdJsonFormatterComponent.PREVIEW_LIMIT ||
|
177
|
-
previewString.length > TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH
|
178
|
-
? '…'
|
179
|
-
: '';
|
180
|
-
return (startChar +
|
181
|
-
previewString.substring(0, TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH) +
|
182
|
-
ellipsis +
|
183
|
-
endChar);
|
184
|
-
}
|
185
|
-
parseChildren() {
|
186
|
-
if (this.isObject()) {
|
187
|
-
this._children = Object.keys(this._data ?? {});
|
188
|
-
}
|
189
|
-
}
|
190
|
-
}
|
191
|
-
/**
|
192
|
-
* Max length for property names. Any names bigger than this get trunctated.
|
193
|
-
*/
|
194
|
-
TdJsonFormatterComponent.KEY_MAX_LENGTH = 30;
|
195
|
-
/**
|
196
|
-
* Max length for preview string. Any names bigger than this get trunctated.
|
197
|
-
*/
|
198
|
-
TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH = 80;
|
199
|
-
/**
|
200
|
-
* Max tooltip preview elements.
|
201
|
-
*/
|
202
|
-
TdJsonFormatterComponent.PREVIEW_LIMIT = 5;
|
203
|
-
TdJsonFormatterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdJsonFormatterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Dir, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
204
|
-
TdJsonFormatterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TdJsonFormatterComponent, selector: "td-json-formatter", inputs: { levelsOpen: "levelsOpen", key: "key", data: "data" }, ngImport: i0, template: "<div class=\"td-json-formatter-wrapper\">\n <a\n class=\"td-key\"\n [class.td-key-node]=\"hasChildren()\"\n [class.td-key-leaf]=\"!hasChildren()\"\n [tabIndex]=\"isObject() ? 0 : -1\"\n (keydown.enter)=\"toggle()\"\n (click)=\"toggle()\"\n >\n <mat-icon class=\"td-node-icon\" *ngIf=\"hasChildren()\">\n {{\n open\n ? 'keyboard_arrow_down'\n : isRTL\n ? 'keyboard_arrow_left'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n <span *ngIf=\"key\" class=\"key\">{{ key }}:</span>\n <span class=\"value\">\n <span\n [class.td-empty]=\"!hasChildren()\"\n *ngIf=\"isObject()\"\n [matTooltip]=\"getPreview()\"\n matTooltipPosition=\"after\"\n >\n <span class=\"td-object-name\">{{ getObjectName() }}</span>\n <span class=\"td-array-length\" *ngIf=\"isArray()\"\n >[{{ data['length'] }}]</span\n >\n </span>\n <span *ngIf=\"!isObject()\" [class]=\"getType(data)\">{{\n getValue(data)\n }}</span>\n </span>\n </a>\n <div class=\"td-object-children\" [@tdCollapse]=\"!(hasChildren() && open)\">\n <ng-template let-key ngFor [ngForOf]=\"children\">\n <td-json-formatter\n [key]=\"key\"\n [data]=\"data[key]\"\n [levelsOpen]=\"levelsOpen - 1\"\n ></td-json-formatter>\n </ng-template>\n </div>\n</div>\n", styles: [":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{box-sizing:border-box;display:flex;flex-direction:row;align-items:flex-start;align-content:center;max-width:100%;justify-content:flex-start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .string,.td-json-formatter-wrapper .value .date{word-break:break-word}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: TdJsonFormatterComponent, selector: "td-json-formatter", inputs: ["levelsOpen", "key", "data"] }], animations: [tdCollapseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdJsonFormatterComponent, decorators: [{
|
206
|
-
type: Component,
|
207
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'td-json-formatter', animations: [tdCollapseAnimation], template: "<div class=\"td-json-formatter-wrapper\">\n <a\n class=\"td-key\"\n [class.td-key-node]=\"hasChildren()\"\n [class.td-key-leaf]=\"!hasChildren()\"\n [tabIndex]=\"isObject() ? 0 : -1\"\n (keydown.enter)=\"toggle()\"\n (click)=\"toggle()\"\n >\n <mat-icon class=\"td-node-icon\" *ngIf=\"hasChildren()\">\n {{\n open\n ? 'keyboard_arrow_down'\n : isRTL\n ? 'keyboard_arrow_left'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n <span *ngIf=\"key\" class=\"key\">{{ key }}:</span>\n <span class=\"value\">\n <span\n [class.td-empty]=\"!hasChildren()\"\n *ngIf=\"isObject()\"\n [matTooltip]=\"getPreview()\"\n matTooltipPosition=\"after\"\n >\n <span class=\"td-object-name\">{{ getObjectName() }}</span>\n <span class=\"td-array-length\" *ngIf=\"isArray()\"\n >[{{ data['length'] }}]</span\n >\n </span>\n <span *ngIf=\"!isObject()\" [class]=\"getType(data)\">{{\n getValue(data)\n }}</span>\n </span>\n </a>\n <div class=\"td-object-children\" [@tdCollapse]=\"!(hasChildren() && open)\">\n <ng-template let-key ngFor [ngForOf]=\"children\">\n <td-json-formatter\n [key]=\"key\"\n [data]=\"data[key]\"\n [levelsOpen]=\"levelsOpen - 1\"\n ></td-json-formatter>\n </ng-template>\n </div>\n</div>\n", styles: [":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{box-sizing:border-box;display:flex;flex-direction:row;align-items:flex-start;align-content:center;max-width:100%;justify-content:flex-start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .string,.td-json-formatter-wrapper .value .date{word-break:break-word}\n"] }]
|
208
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Dir, decorators: [{
|
209
|
-
type: Optional
|
210
|
-
}] }]; }, propDecorators: { levelsOpen: [{
|
211
|
-
type: Input
|
212
|
-
}], key: [{
|
213
|
-
type: Input
|
214
|
-
}], data: [{
|
215
|
-
type: Input
|
216
|
-
}] } });
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1mb3JtYXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2pzb24tZm9ybWF0dGVyL3NyYy9qc29uLWZvcm1hdHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvanNvbi1mb3JtYXR0ZXIvc3JjL2pzb24tZm9ybWF0dGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUzNELE1BQU0sT0FBTyx3QkFBd0I7SUFzQm5DOzs7T0FHRztJQUNILElBQ0ksVUFBVSxDQUFDLFVBQWtCO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztTQUN6RDtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksR0FBRyxDQUFDLEdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUNELElBQUksR0FB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d0JBQXdCLENBQUMsYUFBYTtZQUM1RCxhQUFhLENBQUMsTUFBTSxHQUFHLHdCQUF3QixDQUFDLHlCQUF5QjtZQUN2RSxDQUFDLENBQUMsR0FBRztZQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDVCxPQUFPLENBQ0wsU0FBUztZQUNULGFBQWEsQ0FBQyxTQUFTLENBQ3JCLENBQUMsRUFDRCx3QkFBd0IsQ0FBQyx5QkFBeUIsQ0FDbkQ7WUFDRCxRQUFRO1lBQ1IsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7O0FBbk9EOztHQUVHO0FBQ1ksdUNBQWMsR0FBRyxFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFDWSxrREFBeUIsR0FBRyxFQUFFLENBQUM7QUFFOUM7O0dBRUc7QUFDWSxzQ0FBYSxHQUFHLENBQUMsQ0FBQztxSEFkdEIsd0JBQXdCO3lHQUF4Qix3QkFBd0IseUhDakJyQyxrNENBOENBLHc3REQ3QmEsd0JBQXdCLHVGQUZ2QixDQUFDLG1CQUFtQixDQUFDOzJGQUV0Qix3QkFBd0I7a0JBUHBDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxtQkFBbUIsY0FHakIsQ0FBQyxtQkFBbUIsQ0FBQzs7MEJBeUY5QixRQUFROzRDQTVEUCxVQUFVO3NCQURiLEtBQUs7Z0JBcUJGLEdBQUc7c0JBRE4sS0FBSztnQkFvQkYsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyB0ZENvbGxhcHNlQW5pbWF0aW9uIH0gZnJvbSAnLi9jb2xsYXBzZS5hbmltYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAndGQtanNvbi1mb3JtYXR0ZXInLFxuICBzdHlsZVVybHM6IFsnLi9qc29uLWZvcm1hdHRlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vanNvbi1mb3JtYXR0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbdGRDb2xsYXBzZUFuaW1hdGlvbl0sXG59KVxuZXhwb3J0IGNsYXNzIFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBNYXggbGVuZ3RoIGZvciBwcm9wZXJ0eSBuYW1lcy4gQW55IG5hbWVzIGJpZ2dlciB0aGFuIHRoaXMgZ2V0IHRydW5jdGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBLRVlfTUFYX0xFTkdUSCA9IDMwO1xuXG4gIC8qKlxuICAgKiBNYXggbGVuZ3RoIGZvciBwcmV2aWV3IHN0cmluZy4gQW55IG5hbWVzIGJpZ2dlciB0aGFuIHRoaXMgZ2V0IHRydW5jdGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBQUkVWSUVXX1NUUklOR19NQVhfTEVOR1RIID0gODA7XG5cbiAgLyoqXG4gICAqIE1heCB0b29sdGlwIHByZXZpZXcgZWxlbWVudHMuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBQUkVWSUVXX0xJTUlUID0gNTtcblxuICBwcml2YXRlIF9rZXk/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2RhdGEhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBwcml2YXRlIF9jaGlsZHJlbj86IHN0cmluZ1tdO1xuICBwcml2YXRlIF9vcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgX2xldmVsc09wZW4gPSAwO1xuXG4gIC8qKlxuICAgKiBsZXZlbHNPcGVuPzogbnVtYmVyXG4gICAqIExldmVscyBvcGVuZWQgYnkgZGVmYXVsdCB3aGVuIEpTIG9iamVjdCBpcyBmb3JtYXR0ZWQgYW5kIHJlbmRlcmVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGxldmVsc09wZW4obGV2ZWxzT3BlbjogbnVtYmVyKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGxldmVsc09wZW4pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tsZXZlbHNPcGVuXSBuZWVkcyB0byBiZSBhbiBpbnRlZ2VyLicpO1xuICAgIH1cbiAgICB0aGlzLl9sZXZlbHNPcGVuID0gbGV2ZWxzT3BlbjtcbiAgICB0aGlzLl9vcGVuID0gbGV2ZWxzT3BlbiA+IDA7XG4gIH1cbiAgZ2V0IGxldmVsc09wZW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbGV2ZWxzT3BlbjtcbiAgfVxuXG4gIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9vcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIGtleT86IHN0cmluZ1xuICAgKiBUYWcgdG8gYmUgZGlzcGxheWVkIG5leHQgdG8gZm9ybWF0dGVkIG9iamVjdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBrZXkoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9rZXkgPSBrZXk7XG4gIH1cbiAgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGVsaXBzaXM6IHN0cmluZyA9XG4gICAgICB0aGlzLl9rZXkgJiYgdGhpcy5fa2V5Lmxlbmd0aCA+IFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5LRVlfTUFYX0xFTkdUSFxuICAgICAgICA/ICfigKYnXG4gICAgICAgIDogJyc7XG4gICAgcmV0dXJuIHRoaXMuX2tleVxuICAgICAgPyB0aGlzLl9rZXkuc3Vic3RyaW5nKDAsIFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5LRVlfTUFYX0xFTkdUSCkgK1xuICAgICAgICAgIGVsaXBzaXNcbiAgICAgIDogdGhpcy5fa2V5ID8/ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIGRhdGE6IGFueVxuICAgKiBKUyBvYmplY3QgdG8gYmUgZm9ybWF0dGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICAgIHRoaXMucGFyc2VDaGlsZHJlbigpO1xuICB9XG4gIGdldCBkYXRhKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG5cbiAgZ2V0IGNoaWxkcmVuKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpbGRyZW4gPz8gW107XG4gIH1cblxuICBnZXQgaXNSVEwoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2Rpcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2Rpci5kaXIgPT09ICdydGwnO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZGlyOiBEaXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMganNvbi1mb3JtYXR0ZXIgYW5kIHJlcmVuZGVycyBbZGF0YV1cbiAgICovXG4gIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyBjb2xsYXBzZS9leHBhbmRlZCBzdGF0ZSBvZiBjb21wb25lbnQuXG4gICAqL1xuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5fb3BlbiA9ICF0aGlzLl9vcGVuO1xuICB9XG5cbiAgaXNPYmplY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VHlwZSh0aGlzLl9kYXRhKSA9PT0gJ29iamVjdCc7XG4gIH1cblxuICBpc0FycmF5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuX2RhdGEpO1xuICB9XG5cbiAgaGFzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLl9jaGlsZHJlbiAmJiB0aGlzLl9jaGlsZHJlbi5sZW5ndGggPiAwKSA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHBhcnNlZCB2YWx1ZSBkZXBlbmRpbmcgb24gdmFsdWUgdHlwZS5cbiAgICovXG4gIGdldFZhbHVlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGU6IHN0cmluZyA9IHRoaXMuZ2V0VHlwZSh2YWx1ZSk7XG4gICAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnIHx8IHR5cGUgPT09ICdudWxsJykge1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnZGF0ZScpIHtcbiAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpLnRvU3RyaW5nKCk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgdmFsdWUgPSAnXCInICsgdmFsdWUgKyAnXCInO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gUmVtb3ZlIGNvbnRlbnQgb2YgdGhlIGZ1bmN0aW9uXG4gICAgICByZXR1cm4gKFxuICAgICAgICB2YWx1ZVxuICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgLnJlcGxhY2UoL1tcXHJcXG5dL2csICcnKVxuICAgICAgICAgIC5yZXBsYWNlKC9cXHsuKlxcfS8sICcnKSArICd74oCmfSdcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0T2JqZWN0TmFtZSgpICsgJyBbJyArIHZhbHVlLmxlbmd0aCArICddJztcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdHlwZSBvZiBvYmplY3QuXG4gICAqIHJldHVybnMgJ251bGwnIGlmIG9iamVjdCBpcyBudWxsIGFuZCAnZGF0ZScgaWYgdmFsdWUgaXMgb2JqZWN0IGFuZCBjYW4gYmUgcGFyc2VkIHRvIGEgZGF0ZS5cbiAgICovXG4gIGdldFR5cGUob2JqZWN0OiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0Jykge1xuICAgICAgaWYgKCFvYmplY3QpIHtcbiAgICAgICAgcmV0dXJuICdudWxsJztcbiAgICAgIH1cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuICdvYmplY3QnO1xuICAgICAgfVxuICAgICAgY29uc3QgZGF0ZTogRGF0ZSA9IG5ldyBEYXRlKG9iamVjdCk7XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkYXRlKSA9PT0gJ1tvYmplY3QgRGF0ZV0nICYmXG4gICAgICAgICFOdW1iZXIuaXNOYU4oZGF0ZS5nZXRUaW1lKCkpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuICdkYXRlJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGVvZiBvYmplY3Q7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIHN0cmluZyByZXByZXNlbnRhdGlvbiBkZXBlbmRpbmcgaWYgaXRzIGFuIG9iamVjdCBvciBmdW5jdGlvbi5cbiAgICogc2VlOiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zMzI0MjlcbiAgICovXG4gIGdldE9iamVjdE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBvYmplY3Q6IGFueSA9IHRoaXMuX2RhdGE7XG4gICAgaWYgKHRoaXMuaXNPYmplY3QoKSAmJiAhb2JqZWN0LmNvbnN0cnVjdG9yKSB7XG4gICAgICByZXR1cm4gJ09iamVjdCc7XG4gICAgfVxuICAgIGNvbnN0IGZ1bmNOYW1lUmVnZXggPSAvZnVuY3Rpb24gKC57MSx9KVxcKC87XG4gICAgY29uc3QgcmVzdWx0cyA9IGZ1bmNOYW1lUmVnZXguZXhlYyhvYmplY3QuY29uc3RydWN0b3IudG9TdHJpbmcoKSk7XG4gICAgaWYgKHJlc3VsdHMgJiYgcmVzdWx0cy5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gcmVzdWx0c1sxXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHByZXZpZXcgb2Ygbm9kZXMgY2hpbGRyZW4gdG8gcmVuZGVyIGluIHRvb2x0aXAgZGVwZW5kaW5nIGlmIGl0cyBhbiBhcnJheSBvciBhbiBvYmplY3QuXG4gICAqL1xuICBnZXRQcmV2aWV3KCk6IHN0cmluZyB7XG4gICAgbGV0IHByZXZpZXdEYXRhOiBzdHJpbmdbXTtcbiAgICBsZXQgc3RhcnRDaGFyID0gJ3sgJztcbiAgICBsZXQgZW5kQ2hhciA9ICcgfSc7XG4gICAgaWYgKHRoaXMuaXNBcnJheSgpKSB7XG4gICAgICBjb25zdCBwcmV2aWV3QXJyYXk6IGFueVtdID1cbiAgICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5fZGF0YSkuc2xpY2UoXG4gICAgICAgICAgMCxcbiAgICAgICAgICBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuUFJFVklFV19MSU1JVFxuICAgICAgICApID8/IFtdO1xuICAgICAgcHJldmlld0RhdGEgPSBwcmV2aWV3QXJyYXkubWFwKChvYmo6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZShvYmopO1xuICAgICAgfSk7XG4gICAgICBzdGFydENoYXIgPSAnWyc7XG4gICAgICBlbmRDaGFyID0gJ10nO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcmV2aWV3S2V5czogc3RyaW5nW10gPVxuICAgICAgICB0aGlzLl9jaGlsZHJlbj8uc2xpY2UoMCwgVGRKc29uRm9ybWF0dGVyQ29tcG9uZW50LlBSRVZJRVdfTElNSVQpID8/IFtdO1xuICAgICAgcHJldmlld0RhdGEgPSBwcmV2aWV3S2V5cy5tYXAoKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBrZXkgKyAnOiAnICsgdGhpcy5nZXRWYWx1ZSh0aGlzLl9kYXRhW2tleV0gPz8gdW5kZWZpbmVkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBwcmV2aWV3U3RyaW5nOiBzdHJpbmcgPSBwcmV2aWV3RGF0YS5qb2luKCcsICcpO1xuICAgIGNvbnN0IGVsbGlwc2lzOiBzdHJpbmcgPVxuICAgICAgcHJldmlld0RhdGEubGVuZ3RoID49IFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5QUkVWSUVXX0xJTUlUIHx8XG4gICAgICBwcmV2aWV3U3RyaW5nLmxlbmd0aCA+IFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5QUkVWSUVXX1NUUklOR19NQVhfTEVOR1RIXG4gICAgICAgID8gJ+KApidcbiAgICAgICAgOiAnJztcbiAgICByZXR1cm4gKFxuICAgICAgc3RhcnRDaGFyICtcbiAgICAgIHByZXZpZXdTdHJpbmcuc3Vic3RyaW5nKFxuICAgICAgICAwLFxuICAgICAgICBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuUFJFVklFV19TVFJJTkdfTUFYX0xFTkdUSFxuICAgICAgKSArXG4gICAgICBlbGxpcHNpcyArXG4gICAgICBlbmRDaGFyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDaGlsZHJlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09iamVjdCgpKSB7XG4gICAgICB0aGlzLl9jaGlsZHJlbiA9IE9iamVjdC5rZXlzKHRoaXMuX2RhdGEgPz8ge30pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRkLWpzb24tZm9ybWF0dGVyLXdyYXBwZXJcIj5cbiAgPGFcbiAgICBjbGFzcz1cInRkLWtleVwiXG4gICAgW2NsYXNzLnRkLWtleS1ub2RlXT1cImhhc0NoaWxkcmVuKClcIlxuICAgIFtjbGFzcy50ZC1rZXktbGVhZl09XCIhaGFzQ2hpbGRyZW4oKVwiXG4gICAgW3RhYkluZGV4XT1cImlzT2JqZWN0KCkgPyAwIDogLTFcIlxuICAgIChrZXlkb3duLmVudGVyKT1cInRvZ2dsZSgpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICA+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwidGQtbm9kZS1pY29uXCIgKm5nSWY9XCJoYXNDaGlsZHJlbigpXCI+XG4gICAgICB7e1xuICAgICAgICBvcGVuXG4gICAgICAgICAgPyAna2V5Ym9hcmRfYXJyb3dfZG93bidcbiAgICAgICAgICA6IGlzUlRMXG4gICAgICAgICAgPyAna2V5Ym9hcmRfYXJyb3dfbGVmdCdcbiAgICAgICAgICA6ICdrZXlib2FyZF9hcnJvd19yaWdodCdcbiAgICAgIH19XG4gICAgPC9tYXQtaWNvbj5cbiAgICA8c3BhbiAqbmdJZj1cImtleVwiIGNsYXNzPVwia2V5XCI+e3sga2V5IH19Ojwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICA8c3BhblxuICAgICAgICBbY2xhc3MudGQtZW1wdHldPVwiIWhhc0NoaWxkcmVuKClcIlxuICAgICAgICAqbmdJZj1cImlzT2JqZWN0KClcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJnZXRQcmV2aWV3KClcIlxuICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhZnRlclwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGQtb2JqZWN0LW5hbWVcIj57eyBnZXRPYmplY3ROYW1lKCkgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGQtYXJyYXktbGVuZ3RoXCIgKm5nSWY9XCJpc0FycmF5KClcIlxuICAgICAgICAgID5be3sgZGF0YVsnbGVuZ3RoJ10gfX1dPC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWlzT2JqZWN0KClcIiBbY2xhc3NdPVwiZ2V0VHlwZShkYXRhKVwiPnt7XG4gICAgICAgIGdldFZhbHVlKGRhdGEpXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gIDwvYT5cbiAgPGRpdiBjbGFzcz1cInRkLW9iamVjdC1jaGlsZHJlblwiIFtAdGRDb2xsYXBzZV09XCIhKGhhc0NoaWxkcmVuKCkgJiYgb3BlbilcIj5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWtleSBuZ0ZvciBbbmdGb3JPZl09XCJjaGlsZHJlblwiPlxuICAgICAgPHRkLWpzb24tZm9ybWF0dGVyXG4gICAgICAgIFtrZXldPVwia2V5XCJcbiAgICAgICAgW2RhdGFdPVwiZGF0YVtrZXldXCJcbiAgICAgICAgW2xldmVsc09wZW5dPVwibGV2ZWxzT3BlbiAtIDFcIlxuICAgICAgPjwvdGQtanNvbi1mb3JtYXR0ZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
@@ -1,40 +0,0 @@
|
|
1
|
-
import { Component } from '@angular/core';
|
2
|
-
import { Input } from '@angular/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@angular/common";
|
5
|
-
import * as i2 from "@angular/material/toolbar";
|
6
|
-
import * as i3 from "@angular/material/card";
|
7
|
-
import * as i4 from "@angular/material/divider";
|
8
|
-
export class TdLayoutCardOverComponent {
|
9
|
-
constructor() {
|
10
|
-
/**
|
11
|
-
* cardWidth?: string
|
12
|
-
*
|
13
|
-
* Card flex width in %.
|
14
|
-
* Defaults to 70%.
|
15
|
-
*/
|
16
|
-
this.cardWidth = 70;
|
17
|
-
/**
|
18
|
-
* color?: 'accent' | 'primary' | 'warn'
|
19
|
-
*
|
20
|
-
* toolbar color option: primary | accent | warn.
|
21
|
-
* If [color] is not set, primary is used.
|
22
|
-
*/
|
23
|
-
this.color = 'primary';
|
24
|
-
}
|
25
|
-
}
|
26
|
-
TdLayoutCardOverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdLayoutCardOverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
27
|
-
TdLayoutCardOverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TdLayoutCardOverComponent, selector: "td-layout-card-over", inputs: { cardTitle: "cardTitle", cardSubtitle: "cardSubtitle", cardWidth: "cardWidth", color: "color" }, ngImport: i0, template: "<mat-toolbar class=\"td-layout-toolbar\" [color]=\"color\"></mat-toolbar>\n<div class=\"td-layout-card-over-wrapper\">\n <div\n class=\"td-layout-card-over\"\n [style.max-width.%]=\"cardWidth\"\n [style.flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-ms-flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <mat-card>\n <mat-card-header>\n <mat-card-title *ngIf=\"cardTitle\">{{ cardTitle }}</mat-card-title>\n <mat-card-subtitle *ngIf=\"cardSubtitle\">{{\n cardSubtitle\n }}</mat-card-subtitle>\n </mat-card-header>\n <mat-divider *ngIf=\"cardTitle || cardSubtitle\"></mat-divider>\n <mat-card-content>\n <ng-content></ng-content>\n </mat-card-content>\n </mat-card>\n <ng-content select=\"[td-after-card]\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;z-index:2;width:100%;min-height:100%;height:100%}:host [td-after-card]{display:block}.td-layout-card-over-wrapper{margin:-64px 0;width:100%;min-height:100%;height:100%}@media (min-width: 600px){.td-layout-card-over-wrapper{flex-direction:row;box-sizing:border-box;display:flex;align-items:flex-start;align-content:flex-start;justify-content:center}.td-layout-card-over-wrapper .td-layout-card-over{max-height:100%;box-sizing:border-box}}@media (max-width: 599px){.td-layout-card-over-wrapper .td-layout-card-over{max-width:100%!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] });
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdLayoutCardOverComponent, decorators: [{
|
29
|
-
type: Component,
|
30
|
-
args: [{ selector: 'td-layout-card-over', template: "<mat-toolbar class=\"td-layout-toolbar\" [color]=\"color\"></mat-toolbar>\n<div class=\"td-layout-card-over-wrapper\">\n <div\n class=\"td-layout-card-over\"\n [style.max-width.%]=\"cardWidth\"\n [style.flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-ms-flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <mat-card>\n <mat-card-header>\n <mat-card-title *ngIf=\"cardTitle\">{{ cardTitle }}</mat-card-title>\n <mat-card-subtitle *ngIf=\"cardSubtitle\">{{\n cardSubtitle\n }}</mat-card-subtitle>\n </mat-card-header>\n <mat-divider *ngIf=\"cardTitle || cardSubtitle\"></mat-divider>\n <mat-card-content>\n <ng-content></ng-content>\n </mat-card-content>\n </mat-card>\n <ng-content select=\"[td-after-card]\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;z-index:2;width:100%;min-height:100%;height:100%}:host [td-after-card]{display:block}.td-layout-card-over-wrapper{margin:-64px 0;width:100%;min-height:100%;height:100%}@media (min-width: 600px){.td-layout-card-over-wrapper{flex-direction:row;box-sizing:border-box;display:flex;align-items:flex-start;align-content:flex-start;justify-content:center}.td-layout-card-over-wrapper .td-layout-card-over{max-height:100%;box-sizing:border-box}}@media (max-width: 599px){.td-layout-card-over-wrapper .td-layout-card-over{max-width:100%!important}}\n"] }]
|
31
|
-
}], propDecorators: { cardTitle: [{
|
32
|
-
type: Input
|
33
|
-
}], cardSubtitle: [{
|
34
|
-
type: Input
|
35
|
-
}], cardWidth: [{
|
36
|
-
type: Input
|
37
|
-
}], color: [{
|
38
|
-
type: Input
|
39
|
-
}] } });
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNhcmQtb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbGF5b3V0L3NyYy9sYXlvdXQtY2FyZC1vdmVyL2xheW91dC1jYXJkLW92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LWNhcmQtb3Zlci9sYXlvdXQtY2FyZC1vdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT3RDLE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFvQkU7Ozs7O1dBS0c7UUFDTSxjQUFTLEdBQUksRUFBRSxDQUFDO1FBRXpCOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFrQyxTQUFTLENBQUM7S0FDM0Q7O3NIQTlCWSx5QkFBeUI7MEdBQXpCLHlCQUF5QixxS0NSdEMsazFCQXdCQTsyRkRoQmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHFCQUFxQjs4QkFVdEIsU0FBUztzQkFBakIsS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1sYXlvdXQtY2FyZC1vdmVyJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LWNhcmQtb3Zlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LWNhcmQtb3Zlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRkTGF5b3V0Q2FyZE92ZXJDb21wb25lbnQge1xuICAvKipcbiAgICogY2FyZFRpdGxlPzogc3RyaW5nXG4gICAqXG4gICAqIFRpdGxlIHNldCBpbiBjYXJkLlxuICAgKi9cbiAgQElucHV0KCkgY2FyZFRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBjYXJkU3VidGl0bGU/OiBzdHJpbmdcbiAgICpcbiAgICogU3VidGl0bGUgc2V0IGluIGNhcmQuXG4gICAqL1xuICBASW5wdXQoKSBjYXJkU3VidGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNhcmRXaWR0aD86IHN0cmluZ1xuICAgKlxuICAgKiBDYXJkIGZsZXggd2lkdGggaW4gJS5cbiAgICogRGVmYXVsdHMgdG8gNzAlLlxuICAgKi9cbiAgQElucHV0KCkgY2FyZFdpZHRoPyA9IDcwO1xuXG4gIC8qKlxuICAgKiBjb2xvcj86ICdhY2NlbnQnIHwgJ3ByaW1hcnknIHwgJ3dhcm4nXG4gICAqXG4gICAqIHRvb2xiYXIgY29sb3Igb3B0aW9uOiBwcmltYXJ5IHwgYWNjZW50IHwgd2Fybi5cbiAgICogSWYgW2NvbG9yXSBpcyBub3Qgc2V0LCBwcmltYXJ5IGlzIHVzZWQuXG4gICAqL1xuICBASW5wdXQoKSBjb2xvcjogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybicgPSAncHJpbWFyeSc7XG59XG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJ0ZC1sYXlvdXQtdG9vbGJhclwiIFtjb2xvcl09XCJjb2xvclwiPjwvbWF0LXRvb2xiYXI+XG48ZGl2IGNsYXNzPVwidGQtbGF5b3V0LWNhcmQtb3Zlci13cmFwcGVyXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInRkLWxheW91dC1jYXJkLW92ZXJcIlxuICAgIFtzdHlsZS5tYXgtd2lkdGguJV09XCJjYXJkV2lkdGhcIlxuICAgIFtzdHlsZS5mbGV4XT1cIicxIDEgJyArIGNhcmRXaWR0aCArICclJ1wiXG4gICAgW3N0eWxlLi1tcy1mbGV4XT1cIicxIDEgJyArIGNhcmRXaWR0aCArICclJ1wiXG4gICAgW3N0eWxlLi13ZWJraXQtYm94LWZsZXhdPVwiMVwiXG4gID5cbiAgICA8bWF0LWNhcmQ+XG4gICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICA8bWF0LWNhcmQtdGl0bGUgKm5nSWY9XCJjYXJkVGl0bGVcIj57eyBjYXJkVGl0bGUgfX08L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICA8bWF0LWNhcmQtc3VidGl0bGUgKm5nSWY9XCJjYXJkU3VidGl0bGVcIj57e1xuICAgICAgICAgIGNhcmRTdWJ0aXRsZVxuICAgICAgICB9fTwvbWF0LWNhcmQtc3VidGl0bGU+XG4gICAgICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cImNhcmRUaXRsZSB8fCBjYXJkU3VidGl0bGVcIj48L21hdC1kaXZpZGVyPlxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8L21hdC1jYXJkPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0ZC1hZnRlci1jYXJkXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { Component, Input, Renderer2, ElementRef } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class TdLayoutFooterComponent {
|
4
|
-
/**
|
5
|
-
* color?: 'accent' | 'primary' | 'warn'
|
6
|
-
*
|
7
|
-
* Optional color option: primary | accent | warn.
|
8
|
-
*/
|
9
|
-
set color(color) {
|
10
|
-
if (color) {
|
11
|
-
this._renderer.removeClass(this._elementRef.nativeElement, 'mat-' + this._color);
|
12
|
-
this._color = color;
|
13
|
-
this._renderer.addClass(this._elementRef.nativeElement, 'mat-' + this._color);
|
14
|
-
}
|
15
|
-
}
|
16
|
-
get color() {
|
17
|
-
return this._color;
|
18
|
-
}
|
19
|
-
constructor(_renderer, _elementRef) {
|
20
|
-
this._renderer = _renderer;
|
21
|
-
this._elementRef = _elementRef;
|
22
|
-
this._renderer.addClass(this._elementRef.nativeElement, 'td-layout-footer');
|
23
|
-
}
|
24
|
-
}
|
25
|
-
TdLayoutFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdLayoutFooterComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
26
|
-
TdLayoutFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TdLayoutFooterComponent, selector: "td-layout-footer,td-layout-footer-inner", inputs: { color: "color" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block;padding:10px 16px}\n"] });
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdLayoutFooterComponent, decorators: [{
|
28
|
-
type: Component,
|
29
|
-
args: [{ selector: 'td-layout-footer,td-layout-footer-inner', template: "<ng-content></ng-content>\n", styles: [":host{display:block;padding:10px 16px}\n"] }]
|
30
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { color: [{
|
31
|
-
type: Input
|
32
|
-
}] } });
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbGF5b3V0L3NyYy9sYXlvdXQtZm9vdGVyL2xheW91dC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LWZvb3Rlci9sYXlvdXQtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUXhFLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEM7Ozs7T0FJRztJQUNILElBQ0ksS0FBSyxDQUFDLEtBQWdEO1FBQ3hELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FDckIsQ0FBQztZQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFDOUIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQ3JCLENBQUM7U0FDSDtJQUNILENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQW9CLFNBQW9CLEVBQVUsV0FBdUI7UUFBckQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDOUUsQ0FBQzs7b0hBNUJVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDJHQ1JwQyw2QkFDQTsyRkRPYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBRUUseUNBQXlDO3lIQWEvQyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSAqL1xuICBzZWxlY3RvcjogJ3RkLWxheW91dC1mb290ZXIsdGQtbGF5b3V0LWZvb3Rlci1pbm5lcicsXG4gIHN0eWxlVXJsczogWycuL2xheW91dC1mb290ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUZExheW91dEZvb3RlckNvbXBvbmVudCB7XG4gIHByaXZhdGUgX2NvbG9yPzogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XG5cbiAgLyoqXG4gICAqIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybidcbiAgICpcbiAgICogT3B0aW9uYWwgY29sb3Igb3B0aW9uOiBwcmltYXJ5IHwgYWNjZW50IHwgd2Fybi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBjb2xvcihjb2xvcjogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2FybicgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoY29sb3IpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdtYXQtJyArIHRoaXMuX2NvbG9yXG4gICAgICApO1xuICAgICAgdGhpcy5fY29sb3IgPSBjb2xvcjtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdtYXQtJyArIHRoaXMuX2NvbG9yXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBnZXQgY29sb3IoKTogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2FybicgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0ZC1sYXlvdXQtZm9vdGVyJyk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
@@ -1,93 +0,0 @@
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
2
|
-
import { MatSidenav } from '@angular/material/sidenav';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@angular/cdk/scrolling";
|
5
|
-
import * as i2 from "@angular/material/sidenav";
|
6
|
-
export class TdLayoutManageListComponent {
|
7
|
-
constructor() {
|
8
|
-
/**
|
9
|
-
* mode?: 'side', 'push' or 'over'
|
10
|
-
*
|
11
|
-
* The mode or styling of the sidenav.
|
12
|
-
* Defaults to "side".
|
13
|
-
* See "MatSidenav" documentation for more info.
|
14
|
-
*
|
15
|
-
* https://github.com/angular/material2/tree/main/src/lib/sidenav
|
16
|
-
*/
|
17
|
-
this.mode = 'side';
|
18
|
-
/**
|
19
|
-
* opened?: boolean
|
20
|
-
*
|
21
|
-
* Whether or not the sidenav is opened. Use this binding to open/close the sidenav.
|
22
|
-
* Defaults to "true".
|
23
|
-
*
|
24
|
-
* See "MatSidenav" documentation for more info.
|
25
|
-
*
|
26
|
-
* https://github.com/angular/material2/tree/main/src/lib/sidenav
|
27
|
-
*/
|
28
|
-
this.opened = true;
|
29
|
-
/**
|
30
|
-
* sidenavWidth?: string
|
31
|
-
*
|
32
|
-
* Sets the "width" of the sidenav in either "px" or "%"
|
33
|
-
* Defaults to "257px".
|
34
|
-
*
|
35
|
-
* https://github.com/angular/material2/tree/main/src/lib/sidenav
|
36
|
-
*/
|
37
|
-
this.sidenavWidth = '257px';
|
38
|
-
/**
|
39
|
-
* containerAutosize?: boolean
|
40
|
-
*
|
41
|
-
* Sets "autosize" of the sidenav-container.
|
42
|
-
* Defaults to "false".
|
43
|
-
*
|
44
|
-
* See documentation for more info and potential performance risks.
|
45
|
-
*
|
46
|
-
* https://github.com/angular/material2/blob/main/src/lib/sidenav/sidenav.md#resizing-an-open-sidenav
|
47
|
-
*/
|
48
|
-
this.containerAutosize = false;
|
49
|
-
}
|
50
|
-
/**
|
51
|
-
* Checks if `ESC` should close the sidenav
|
52
|
-
* Should only close it for `push` and `over` modes
|
53
|
-
*/
|
54
|
-
get disableClose() {
|
55
|
-
return this.mode === 'side';
|
56
|
-
}
|
57
|
-
/**
|
58
|
-
* Proxy toggle method to access sidenav from outside (from td-layout template).
|
59
|
-
*/
|
60
|
-
toggle() {
|
61
|
-
return this.sidenav.toggle(!this.sidenav.opened);
|
62
|
-
}
|
63
|
-
/**
|
64
|
-
* Proxy open method to access sidenav from outside (from td-layout template).
|
65
|
-
*/
|
66
|
-
open() {
|
67
|
-
return this.sidenav.open();
|
68
|
-
}
|
69
|
-
/**
|
70
|
-
* Proxy close method to access sidenav from outside (from td-layout template).
|
71
|
-
*/
|
72
|
-
close() {
|
73
|
-
return this.sidenav.close();
|
74
|
-
}
|
75
|
-
}
|
76
|
-
TdLayoutManageListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdLayoutManageListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
77
|
-
TdLayoutManageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TdLayoutManageListComponent, selector: "td-layout-manage-list", inputs: { mode: "mode", opened: "opened", sidenavWidth: "sidenavWidth", containerAutosize: "containerAutosize" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container\n fullscreen\n [autosize]=\"containerAutosize\"\n class=\"td-layout-manage-list\"\n>\n <mat-sidenav\n #sidenav\n position=\"start\"\n [mode]=\"mode\"\n [opened]=\"opened\"\n [disableClose]=\"disableClose\"\n [style.max-width]=\"sidenavWidth\"\n [style.min-width]=\"sidenavWidth\"\n >\n <ng-content select=\"mat-toolbar[td-sidenav-content]\"></ng-content>\n <div class=\"td-layout-manage-list-sidenav\" cdkScrollable>\n <ng-content select=\"[td-sidenav-content]\"></ng-content>\n </div>\n </mat-sidenav>\n <div class=\"td-layout-manage-list-main\">\n <ng-content select=\"mat-toolbar\"></ng-content>\n <div class=\"td-layout-manage-list-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer-inner\"></ng-content>\n </div>\n</mat-sidenav-container>\n", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.td-layout-manage-list{flex:1}:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opened,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opening,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closed,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .td-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .td-layout-manage-list-main .td-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep mat-nav-list a[mat-list-item] .mat-list-item-content{font-size:14px}:host ::ng-deep .mat-toolbar{font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i2.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i2.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }] });
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdLayoutManageListComponent, decorators: [{
|
79
|
-
type: Component,
|
80
|
-
args: [{ selector: 'td-layout-manage-list', template: "<mat-sidenav-container\n fullscreen\n [autosize]=\"containerAutosize\"\n class=\"td-layout-manage-list\"\n>\n <mat-sidenav\n #sidenav\n position=\"start\"\n [mode]=\"mode\"\n [opened]=\"opened\"\n [disableClose]=\"disableClose\"\n [style.max-width]=\"sidenavWidth\"\n [style.min-width]=\"sidenavWidth\"\n >\n <ng-content select=\"mat-toolbar[td-sidenav-content]\"></ng-content>\n <div class=\"td-layout-manage-list-sidenav\" cdkScrollable>\n <ng-content select=\"[td-sidenav-content]\"></ng-content>\n </div>\n </mat-sidenav>\n <div class=\"td-layout-manage-list-main\">\n <ng-content select=\"mat-toolbar\"></ng-content>\n <div class=\"td-layout-manage-list-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer-inner\"></ng-content>\n </div>\n</mat-sidenav-container>\n", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.td-layout-manage-list{flex:1}:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opened,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opening,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closed,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .td-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .td-layout-manage-list-main .td-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep mat-nav-list a[mat-list-item] .mat-list-item-content{font-size:14px}:host ::ng-deep .mat-toolbar{font-weight:400}\n"] }]
|
81
|
-
}], propDecorators: { sidenav: [{
|
82
|
-
type: ViewChild,
|
83
|
-
args: [MatSidenav, { static: true }]
|
84
|
-
}], mode: [{
|
85
|
-
type: Input
|
86
|
-
}], opened: [{
|
87
|
-
type: Input
|
88
|
-
}], sidenavWidth: [{
|
89
|
-
type: Input
|
90
|
-
}], containerAutosize: [{
|
91
|
-
type: Input
|
92
|
-
}] } });
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9sYXlvdXQvc3JjL2xheW91dC1tYW5hZ2UtbGlzdC9sYXlvdXQtbWFuYWdlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LW1hbmFnZS1saXN0L2xheW91dC1tYW5hZ2UtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLFVBQVUsRUFBeUIsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQVM5RSxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBUUU7Ozs7Ozs7O1dBUUc7UUFDTSxTQUFJLEdBQTZCLE1BQU0sQ0FBQztRQUVqRDs7Ozs7Ozs7O1dBU0c7UUFDTSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBRXZCOzs7Ozs7O1dBT0c7UUFDTSxpQkFBWSxHQUFHLE9BQU8sQ0FBQztRQUVoQzs7Ozs7Ozs7O1dBU0c7UUFDTSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7S0E4QnBDO0lBNUJDOzs7T0FHRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM5QixDQUFDOzt3SEEzRVUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsd05BQzNCLFVBQVUsOERDWnZCLGkzQkEyQkE7MkZEaEJhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx1QkFBdUI7OEJBS1EsT0FBTztzQkFBL0MsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVc5QixJQUFJO3NCQUFaLEtBQUs7Z0JBWUcsTUFBTTtzQkFBZCxLQUFLO2dCQVVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBWUcsaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdFNpZGVuYXYsIE1hdERyYXdlclRvZ2dsZVJlc3VsdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuXG5pbXBvcnQgeyBJTGF5b3V0VG9nZ2xhYmxlIH0gZnJvbSAnLi4vbGF5b3V0LXRvZ2dsZS5jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWxheW91dC1tYW5hZ2UtbGlzdCcsXG4gIHN0eWxlVXJsczogWycuL2xheW91dC1tYW5hZ2UtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGRMYXlvdXRNYW5hZ2VMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgSUxheW91dFRvZ2dsYWJsZSB7XG4gIEBWaWV3Q2hpbGQoTWF0U2lkZW5hdiwgeyBzdGF0aWM6IHRydWUgfSkgc2lkZW5hdiE6IE1hdFNpZGVuYXY7XG5cbiAgLyoqXG4gICAqIG1vZGU/OiAnc2lkZScsICdwdXNoJyBvciAnb3ZlcidcbiAgICpcbiAgICogVGhlIG1vZGUgb3Igc3R5bGluZyBvZiB0aGUgc2lkZW5hdi5cbiAgICogRGVmYXVsdHMgdG8gXCJzaWRlXCIuXG4gICAqIFNlZSBcIk1hdFNpZGVuYXZcIiBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm8uXG4gICAqXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21haW4vc3JjL2xpYi9zaWRlbmF2XG4gICAqL1xuICBASW5wdXQoKSBtb2RlOiAnc2lkZScgfCAncHVzaCcgfCAnb3ZlcicgPSAnc2lkZSc7XG5cbiAgLyoqXG4gICAqIG9wZW5lZD86IGJvb2xlYW5cbiAgICpcbiAgICogV2hldGhlciBvciBub3QgdGhlIHNpZGVuYXYgaXMgb3BlbmVkLiBVc2UgdGhpcyBiaW5kaW5nIHRvIG9wZW4vY2xvc2UgdGhlIHNpZGVuYXYuXG4gICAqIERlZmF1bHRzIHRvIFwidHJ1ZVwiLlxuICAgKlxuICAgKiBTZWUgXCJNYXRTaWRlbmF2XCIgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvLlxuICAgKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvdHJlZS9tYWluL3NyYy9saWIvc2lkZW5hdlxuICAgKi9cbiAgQElucHV0KCkgb3BlbmVkID0gdHJ1ZTtcblxuICAvKipcbiAgICogc2lkZW5hdldpZHRoPzogc3RyaW5nXG4gICAqXG4gICAqIFNldHMgdGhlIFwid2lkdGhcIiBvZiB0aGUgc2lkZW5hdiBpbiBlaXRoZXIgXCJweFwiIG9yIFwiJVwiXG4gICAqIERlZmF1bHRzIHRvIFwiMjU3cHhcIi5cbiAgICpcbiAgICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWwyL3RyZWUvbWFpbi9zcmMvbGliL3NpZGVuYXZcbiAgICovXG4gIEBJbnB1dCgpIHNpZGVuYXZXaWR0aCA9ICcyNTdweCc7XG5cbiAgLyoqXG4gICAqIGNvbnRhaW5lckF1dG9zaXplPzogYm9vbGVhblxuICAgKlxuICAgKiBTZXRzIFwiYXV0b3NpemVcIiBvZiB0aGUgc2lkZW5hdi1jb250YWluZXIuXG4gICAqIERlZmF1bHRzIHRvIFwiZmFsc2VcIi5cbiAgICpcbiAgICogU2VlIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mbyBhbmQgcG90ZW50aWFsIHBlcmZvcm1hbmNlIHJpc2tzLlxuICAgKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvYmxvYi9tYWluL3NyYy9saWIvc2lkZW5hdi9zaWRlbmF2Lm1kI3Jlc2l6aW5nLWFuLW9wZW4tc2lkZW5hdlxuICAgKi9cbiAgQElucHV0KCkgY29udGFpbmVyQXV0b3NpemUgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGBFU0NgIHNob3VsZCBjbG9zZSB0aGUgc2lkZW5hdlxuICAgKiBTaG91bGQgb25seSBjbG9zZSBpdCBmb3IgYHB1c2hgIGFuZCBgb3ZlcmAgbW9kZXNcbiAgICovXG4gIGdldCBkaXNhYmxlQ2xvc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gJ3NpZGUnO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3h5IHRvZ2dsZSBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHRkLWxheW91dCB0ZW1wbGF0ZSkuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2lkZW5hdi50b2dnbGUoIXRoaXMuc2lkZW5hdi5vcGVuZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3h5IG9wZW4gbWV0aG9kIHRvIGFjY2VzcyBzaWRlbmF2IGZyb20gb3V0c2lkZSAoZnJvbSB0ZC1sYXlvdXQgdGVtcGxhdGUpLlxuICAgKi9cbiAgcHVibGljIG9wZW4oKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zaWRlbmF2Lm9wZW4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm94eSBjbG9zZSBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHRkLWxheW91dCB0ZW1wbGF0ZSkuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zaWRlbmF2LmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxtYXQtc2lkZW5hdi1jb250YWluZXJcbiAgZnVsbHNjcmVlblxuICBbYXV0b3NpemVdPVwiY29udGFpbmVyQXV0b3NpemVcIlxuICBjbGFzcz1cInRkLWxheW91dC1tYW5hZ2UtbGlzdFwiXG4+XG4gIDxtYXQtc2lkZW5hdlxuICAgICNzaWRlbmF2XG4gICAgcG9zaXRpb249XCJzdGFydFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgW29wZW5lZF09XCJvcGVuZWRcIlxuICAgIFtkaXNhYmxlQ2xvc2VdPVwiZGlzYWJsZUNsb3NlXCJcbiAgICBbc3R5bGUubWF4LXdpZHRoXT1cInNpZGVuYXZXaWR0aFwiXG4gICAgW3N0eWxlLm1pbi13aWR0aF09XCJzaWRlbmF2V2lkdGhcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LXRvb2xiYXJbdGQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwidGQtbGF5b3V0LW1hbmFnZS1saXN0LXNpZGVuYXZcIiBjZGtTY3JvbGxhYmxlPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RkLXNpZGVuYXYtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXNpZGVuYXY+XG4gIDxkaXYgY2xhc3M9XCJ0ZC1sYXlvdXQtbWFuYWdlLWxpc3QtbWFpblwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdC10b29sYmFyXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJ0ZC1sYXlvdXQtbWFuYWdlLWxpc3QtY29udGVudFwiIGNka1Njcm9sbGFibGU+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidGQtbGF5b3V0LWZvb3Rlci1pbm5lclwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cbiJdfQ==
|
@@ -1,50 +0,0 @@
|
|
1
|
-
import { Component, Input, Optional } from '@angular/core';
|
2
|
-
import { Router } from '@angular/router';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@angular/router";
|
5
|
-
import * as i2 from "@angular/common";
|
6
|
-
import * as i3 from "@angular/cdk/scrolling";
|
7
|
-
import * as i4 from "@angular/material/toolbar";
|
8
|
-
import * as i5 from "@angular/material/icon";
|
9
|
-
export class TdLayoutNavComponent {
|
10
|
-
/**
|
11
|
-
* Checks if router was injected.
|
12
|
-
*/
|
13
|
-
get routerEnabled() {
|
14
|
-
return !!this._router && !!this.navigationRoute;
|
15
|
-
}
|
16
|
-
constructor(_router) {
|
17
|
-
this._router = _router;
|
18
|
-
/**
|
19
|
-
* color?: 'accent' | 'primary' | 'warn'
|
20
|
-
*
|
21
|
-
* toolbar color option: primary | accent | warn.
|
22
|
-
* If [color] is not set, primary is used.
|
23
|
-
*/
|
24
|
-
this.color = 'primary';
|
25
|
-
}
|
26
|
-
handleNavigationClick() {
|
27
|
-
if (this.routerEnabled && this.navigationRoute) {
|
28
|
-
this._router.navigateByUrl(this.navigationRoute);
|
29
|
-
}
|
30
|
-
}
|
31
|
-
}
|
32
|
-
TdLayoutNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdLayoutNavComponent, deps: [{ token: i1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
33
|
-
TdLayoutNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TdLayoutNavComponent, selector: "td-layout-nav", inputs: { toolbarTitle: "toolbarTitle", icon: "icon", logo: "logo", color: "color", navigationRoute: "navigationRoute" }, ngImport: i0, template: "<div class=\"td-layout-nav-wrapper\">\n <mat-toolbar class=\"td-layout-toolbar\" [color]=\"color\">\n <ng-content select=\"[td-menu-button]\"></ng-content>\n <span\n *ngIf=\"icon || logo || toolbarTitle\"\n [class.cursor-pointer]=\"routerEnabled\"\n (click)=\"handleNavigationClick()\"\n class=\"td-layout-nav-toolbar-content\"\n >\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\n <mat-icon\n *ngIf=\"logo && !icon\"\n class=\"mat-icon-logo\"\n [svgIcon]=\"logo\"\n ></mat-icon>\n <span *ngIf=\"toolbarTitle\">{{ toolbarTitle }}</span>\n </span>\n <ng-content select=\"[td-toolbar-content]\"></ng-content>\n </mat-toolbar>\n <div class=\"td-layout-nav-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer\"></ng-content>\n</div>\n", styles: [".td-menu-button{margin-left:0}::ng-deep [dir=rtl] .td-menu-button{margin-right:0;margin-left:6px}:host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host .td-layout-nav-wrapper{flex-direction:column;box-sizing:border-box;display:flex;margin:0;width:100%;min-height:100%;height:100%}:host .td-layout-nav-wrapper .td-layout-nav-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host .td-layout-nav-wrapper .td-layout-nav-content{flex-direction:column;box-sizing:border-box;display:flex;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TdLayoutNavComponent, decorators: [{
|
35
|
-
type: Component,
|
36
|
-
args: [{ selector: 'td-layout-nav', template: "<div class=\"td-layout-nav-wrapper\">\n <mat-toolbar class=\"td-layout-toolbar\" [color]=\"color\">\n <ng-content select=\"[td-menu-button]\"></ng-content>\n <span\n *ngIf=\"icon || logo || toolbarTitle\"\n [class.cursor-pointer]=\"routerEnabled\"\n (click)=\"handleNavigationClick()\"\n class=\"td-layout-nav-toolbar-content\"\n >\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\n <mat-icon\n *ngIf=\"logo && !icon\"\n class=\"mat-icon-logo\"\n [svgIcon]=\"logo\"\n ></mat-icon>\n <span *ngIf=\"toolbarTitle\">{{ toolbarTitle }}</span>\n </span>\n <ng-content select=\"[td-toolbar-content]\"></ng-content>\n </mat-toolbar>\n <div class=\"td-layout-nav-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer\"></ng-content>\n</div>\n", styles: [".td-menu-button{margin-left:0}::ng-deep [dir=rtl] .td-menu-button{margin-right:0;margin-left:6px}:host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host .td-layout-nav-wrapper{flex-direction:column;box-sizing:border-box;display:flex;margin:0;width:100%;min-height:100%;height:100%}:host .td-layout-nav-wrapper .td-layout-nav-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host .td-layout-nav-wrapper .td-layout-nav-content{flex-direction:column;box-sizing:border-box;display:flex;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}\n"] }]
|
37
|
-
}], ctorParameters: function () { return [{ type: i1.Router, decorators: [{
|
38
|
-
type: Optional
|
39
|
-
}] }]; }, propDecorators: { toolbarTitle: [{
|
40
|
-
type: Input
|
41
|
-
}], icon: [{
|
42
|
-
type: Input
|
43
|
-
}], logo: [{
|
44
|
-
type: Input
|
45
|
-
}], color: [{
|
46
|
-
type: Input
|
47
|
-
}], navigationRoute: [{
|
48
|
-
type: Input
|
49
|
-
}] } });
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbGF5b3V0L3NyYy9sYXlvdXQtbmF2L2xheW91dC1uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LW5hdi9sYXlvdXQtbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFPekMsTUFBTSxPQUFPLG9CQUFvQjtJQXNDL0I7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFnQyxPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQXRCL0M7Ozs7O1dBS0c7UUFDTSxVQUFLLEdBQW1DLFNBQVMsQ0FBQztJQWdCVCxDQUFDO0lBRW5ELHFCQUFxQjtRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDOztpSEFuRFUsb0JBQW9CO3FHQUFwQixvQkFBb0IsK0tDUmpDLG0yQkF3QkE7MkZEaEJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlOzswQkFpRFosUUFBUTs0Q0F2Q1osWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsSUFBSTtzQkFBWixLQUFLO2dCQVFHLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWxheW91dC1uYXYnLFxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQtbmF2LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtbmF2LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGRMYXlvdXROYXZDb21wb25lbnQge1xuICAvKipcbiAgICogdG9vbGJhclRpdGxlPzogc3RyaW5nXG4gICAqXG4gICAqIFRpdGxlIHNldCBpbiB0b29sYmFyLlxuICAgKi9cbiAgQElucHV0KCkgdG9vbGJhclRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBpY29uPzogc3RyaW5nXG4gICAqXG4gICAqIGljb24gbmFtZSB0byBiZSBkaXNwbGF5ZWQgYmVmb3JlIHRoZSB0aXRsZVxuICAgKi9cbiAgQElucHV0KCkgaWNvbj86IHN0cmluZztcblxuICAvKipcbiAgICogbG9nbz86IHN0cmluZ1xuICAgKlxuICAgKiBsb2dvIGljb24gbmFtZSB0byBiZSBkaXNwbGF5ZWQgYmVmb3JlIHRoZSB0aXRsZS5cbiAgICogSWYgW2ljb25dIGlzIHNldCwgdGhlbiB0aGlzIHdpbGwgbm90IGJlIHNob3duLlxuICAgKi9cbiAgQElucHV0KCkgbG9nbz86IHN0cmluZztcblxuICAvKipcbiAgICogY29sb3I/OiAnYWNjZW50JyB8ICdwcmltYXJ5JyB8ICd3YXJuJ1xuICAgKlxuICAgKiB0b29sYmFyIGNvbG9yIG9wdGlvbjogcHJpbWFyeSB8IGFjY2VudCB8IHdhcm4uXG4gICAqIElmIFtjb2xvcl0gaXMgbm90IHNldCwgcHJpbWFyeSBpcyB1c2VkLlxuICAgKi9cbiAgQElucHV0KCkgY29sb3I/OiAnYWNjZW50JyB8ICdwcmltYXJ5JyB8ICd3YXJuJyA9ICdwcmltYXJ5JztcblxuICAvKipcbiAgICogbmF2aWdhdGlvblJvdXRlPzogc3RyaW5nXG4gICAqXG4gICAqIG9wdGlvbiB0byBzZXQgdGhlIGNvbWJpbmVkIHJvdXRlIGZvciB0aGUgaWNvbiwgbG9nbywgYW5kIHRvb2xiYXJUaXRsZS5cbiAgICovXG4gIEBJbnB1dCgpIG5hdmlnYXRpb25Sb3V0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHJvdXRlciB3YXMgaW5qZWN0ZWQuXG4gICAqL1xuICBnZXQgcm91dGVyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9yb3V0ZXIgJiYgISF0aGlzLm5hdmlnYXRpb25Sb3V0ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgX3JvdXRlcjogUm91dGVyKSB7fVxuXG4gIGhhbmRsZU5hdmlnYXRpb25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yb3V0ZXJFbmFibGVkICYmIHRoaXMubmF2aWdhdGlvblJvdXRlKSB7XG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLm5hdmlnYXRpb25Sb3V0ZSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGQtbGF5b3V0LW5hdi13cmFwcGVyXCI+XG4gIDxtYXQtdG9vbGJhciBjbGFzcz1cInRkLWxheW91dC10b29sYmFyXCIgW2NvbG9yXT1cImNvbG9yXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RkLW1lbnUtYnV0dG9uXVwiPjwvbmctY29udGVudD5cbiAgICA8c3BhblxuICAgICAgKm5nSWY9XCJpY29uIHx8IGxvZ28gfHwgdG9vbGJhclRpdGxlXCJcbiAgICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCJyb3V0ZXJFbmFibGVkXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVOYXZpZ2F0aW9uQ2xpY2soKVwiXG4gICAgICBjbGFzcz1cInRkLWxheW91dC1uYXYtdG9vbGJhci1jb250ZW50XCJcbiAgICA+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uXCI+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgKm5nSWY9XCJsb2dvICYmICFpY29uXCJcbiAgICAgICAgY2xhc3M9XCJtYXQtaWNvbi1sb2dvXCJcbiAgICAgICAgW3N2Z0ljb25dPVwibG9nb1wiXG4gICAgICA+PC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwidG9vbGJhclRpdGxlXCI+e3sgdG9vbGJhclRpdGxlIH19PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGQtdG9vbGJhci1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgPC9tYXQtdG9vbGJhcj5cbiAgPGRpdiBjbGFzcz1cInRkLWxheW91dC1uYXYtY29udGVudFwiIGNka1Njcm9sbGFibGU+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidGQtbGF5b3V0LWZvb3RlclwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|