@covalent/core 6.4.0 → 6.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/breadcrumbs/breadcrumbs.component.d.ts +1 -1
- package/common/styles/font/_font.scss +1 -35
- package/dialogs/src/README.md +223 -0
- 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/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +92 -0
- package/esm2020/breadcrumbs/breadcrumbs.component.mjs +131 -0
- package/{esm2022 → esm2020}/breadcrumbs/breadcrumbs.module.mjs +5 -5
- package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +41 -0
- package/esm2020/common/behaviors/disable-ripple.mixin.mjs +24 -0
- package/{esm2022 → esm2020}/common/behaviors/disabled.mixin.mjs +2 -2
- package/{esm2022 → esm2020}/common/common.module.mjs +17 -17
- package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +85 -0
- package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +36 -0
- package/esm2020/common/functions/convert.mjs +84 -0
- package/esm2020/common/functions/download.mjs +75 -0
- package/esm2020/common/pipes/bytes/bytes.pipe.mjs +42 -0
- package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +42 -0
- package/esm2020/common/pipes/digits/digits.pipe.mjs +39 -0
- package/{esm2022 → esm2020}/common/pipes/time-ago/time-ago.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/common/pipes/time-difference/time-difference.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/common/pipes/time-until/time-until.pipe.mjs +4 -4
- package/esm2020/common/pipes/truncate/truncate.pipe.mjs +27 -0
- package/esm2020/common/services/icon.service.mjs +1089 -0
- package/esm2020/common/services/router-path.service.mjs +29 -0
- package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +23 -0
- package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +28 -0
- package/esm2020/dialogs/dialog.component.mjs +57 -0
- package/{esm2022 → esm2020}/dialogs/dialogs.module.mjs +39 -39
- package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +75 -0
- package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +216 -0
- package/esm2020/dialogs/services/dialog.service.mjs +174 -0
- package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +38 -0
- package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +30 -0
- package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +24 -0
- package/esm2020/dynamic-menu/dynamic-menu.component.mjs +28 -0
- package/{esm2022 → esm2020}/dynamic-menu/dynamic-menu.module.mjs +19 -19
- package/esm2020/file/directives/file-drop.directive.mjs +139 -0
- package/esm2020/file/directives/file-select.directive.mjs +77 -0
- package/esm2020/file/file-input/file-input.component.mjs +128 -0
- package/esm2020/file/file-upload/file-upload.component.mjs +174 -0
- package/{esm2022 → esm2020}/file/file.module.mjs +21 -21
- package/esm2020/file/services/file.service.mjs +64 -0
- package/esm2020/json-formatter/json-formatter.component.mjs +217 -0
- package/{esm2022 → esm2020}/json-formatter/json-formatter.module.mjs +5 -5
- package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +40 -0
- package/esm2020/layout/layout-footer/layout-footer.component.mjs +33 -0
- package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +93 -0
- package/{esm2022 → esm2020}/layout/layout-manage-list/layout-manage-list.directives.mjs +10 -10
- package/esm2020/layout/layout-nav/layout-nav.component.mjs +50 -0
- package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +128 -0
- package/{esm2022 → esm2020}/layout/layout-nav-list/layout-nav-list.directives.mjs +10 -10
- package/esm2020/layout/layout-toggle.class.mjs +92 -0
- package/esm2020/layout/layout.component.mjs +92 -0
- package/{esm2022 → esm2020}/layout/layout.directives.mjs +10 -10
- package/{esm2022 → esm2020}/layout/layout.module.mjs +55 -55
- package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +163 -0
- package/esm2020/loading/directives/loading.directive.mjs +126 -0
- package/esm2020/loading/loading.component.mjs +187 -0
- package/{esm2022 → esm2020}/loading/loading.module.mjs +13 -13
- package/esm2020/loading/services/loading.factory.mjs +207 -0
- package/esm2020/loading/services/loading.service.mjs +213 -0
- package/{esm2022 → esm2020}/menu/menu.component.mjs +4 -4
- package/{esm2022 → esm2020}/menu/menu.module.mjs +5 -5
- package/esm2020/message/message.component.mjs +203 -0
- package/{esm2022 → esm2020}/message/message.module.mjs +7 -7
- package/esm2020/search/search-box/search-box.component.mjs +194 -0
- package/esm2020/search/search-input/search-input.component.mjs +207 -0
- package/{esm2022 → esm2020}/search/search.module.mjs +13 -13
- package/esm2020/side-sheet/side-sheet-container.mjs +274 -0
- package/esm2020/side-sheet/side-sheet-ref.mjs +26 -0
- package/{esm2022 → esm2020}/side-sheet/side-sheet.config.mjs +5 -2
- package/esm2020/side-sheet/side-sheet.content-directives.mjs +201 -0
- package/esm2020/side-sheet/side-sheet.mjs +228 -0
- package/{esm2022 → esm2020}/side-sheet/side-sheet.module.mjs +14 -14
- package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +23 -0
- package/esm2020/user-profile/user-profile.component.mjs +19 -0
- package/{esm2022 → esm2020}/user-profile/user-profile.module.mjs +15 -15
- package/{fesm2022 → fesm2015}/covalent-core-breadcrumbs.mjs +22 -28
- package/{fesm2022 → fesm2015}/covalent-core-breadcrumbs.mjs.map +1 -1
- package/fesm2015/covalent-core-common.mjs +2281 -0
- package/fesm2015/covalent-core-common.mjs.map +1 -0
- package/fesm2015/covalent-core-dialogs.mjs +668 -0
- package/fesm2015/covalent-core-dialogs.mjs.map +1 -0
- package/fesm2015/covalent-core-dynamic-menu.mjs +126 -0
- package/fesm2015/covalent-core-dynamic-menu.mjs.map +1 -0
- package/fesm2015/covalent-core-file.mjs +621 -0
- package/fesm2015/covalent-core-file.mjs.map +1 -0
- package/fesm2015/covalent-core-json-formatter.mjs +298 -0
- package/fesm2015/covalent-core-json-formatter.mjs.map +1 -0
- package/fesm2015/covalent-core-layout.mjs +1024 -0
- package/{fesm2022 → fesm2015}/covalent-core-layout.mjs.map +1 -1
- package/fesm2015/covalent-core-loading.mjs +766 -0
- package/fesm2015/covalent-core-loading.mjs.map +1 -0
- package/{fesm2022 → fesm2015}/covalent-core-menu.mjs +7 -7
- package/{fesm2022 → fesm2015}/covalent-core-menu.mjs.map +1 -1
- package/fesm2015/covalent-core-message.mjs +284 -0
- package/fesm2015/covalent-core-message.mjs.map +1 -0
- package/fesm2015/covalent-core-search.mjs +430 -0
- package/fesm2015/covalent-core-search.mjs.map +1 -0
- package/fesm2015/covalent-core-side-sheet.mjs +784 -0
- package/fesm2015/covalent-core-side-sheet.mjs.map +1 -0
- package/fesm2015/covalent-core-user-profile.mjs +83 -0
- package/fesm2015/covalent-core-user-profile.mjs.map +1 -0
- package/fesm2020/covalent-core-breadcrumbs.mjs +243 -0
- package/fesm2020/covalent-core-breadcrumbs.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/covalent-core-common.mjs +1125 -1131
- package/fesm2020/covalent-core-common.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/covalent-core-dialogs.mjs +82 -111
- package/fesm2020/covalent-core-dialogs.mjs.map +1 -0
- package/fesm2020/covalent-core-dynamic-menu.mjs +126 -0
- package/{fesm2022 → fesm2020}/covalent-core-dynamic-menu.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/covalent-core-file.mjs +110 -148
- package/{fesm2022 → fesm2020}/covalent-core-file.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/covalent-core-json-formatter.mjs +21 -26
- package/{fesm2022 → fesm2020}/covalent-core-json-formatter.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/covalent-core-layout.mjs +271 -396
- package/fesm2020/covalent-core-layout.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/covalent-core-loading.mjs +78 -100
- package/{fesm2022 → fesm2020}/covalent-core-loading.mjs.map +1 -1
- package/fesm2020/covalent-core-menu.mjs +37 -0
- package/fesm2020/covalent-core-menu.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/covalent-core-message.mjs +23 -42
- package/{fesm2022 → fesm2020}/covalent-core-message.mjs.map +1 -1
- package/fesm2020/covalent-core-search.mjs +427 -0
- package/fesm2020/covalent-core-search.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/covalent-core-side-sheet.mjs +99 -124
- package/{fesm2022 → fesm2020}/covalent-core-side-sheet.mjs.map +1 -1
- package/fesm2020/covalent-core-user-profile.mjs +83 -0
- package/fesm2020/covalent-core-user-profile.mjs.map +1 -0
- package/fesm2020/covalent-core.mjs +4 -0
- package/fesm2020/covalent-core.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/file/src/file-input/README.md +147 -0
- package/file/src/file-upload/README.md +136 -0
- 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/layout/src/layout-card-over/README.md +43 -0
- package/layout/src/layout-manage-list/README.md +80 -0
- package/layout/src/layout-nav/README.md +50 -0
- package/layout/src/layout-nav-list/README.md +105 -0
- package/loading/directives/loading.directive.d.ts +1 -1
- package/message/message.component.d.ts +1 -1
- package/package.json +91 -55
- package/search/search-box/search-box.component.d.ts +1 -1
- package/search/search-input/search-input.component.d.ts +1 -1
- package/search/src/search-box/README.md +73 -0
- package/search/src/search-input/README.md +74 -0
- 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/MaterialIcons-Regular-v48.woff2 +0 -0
- package/esm2022/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -94
- package/esm2022/breadcrumbs/breadcrumbs.component.mjs +0 -135
- package/esm2022/common/behaviors/control-value-accesor.mixin.mjs +0 -43
- package/esm2022/common/behaviors/disable-ripple.mixin.mjs +0 -24
- package/esm2022/common/directives/fullscreen/fullscreen.directive.mjs +0 -87
- package/esm2022/common/forms/auto-trim/auto-trim.directive.mjs +0 -37
- package/esm2022/common/functions/convert.mjs +0 -84
- package/esm2022/common/functions/download.mjs +0 -75
- package/esm2022/common/pipes/bytes/bytes.pipe.mjs +0 -42
- package/esm2022/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +0 -42
- package/esm2022/common/pipes/digits/digits.pipe.mjs +0 -41
- package/esm2022/common/pipes/truncate/truncate.pipe.mjs +0 -27
- package/esm2022/common/services/icon.service.mjs +0 -1087
- package/esm2022/common/services/router-path.service.mjs +0 -30
- package/esm2022/dialogs/alert-dialog/alert-dialog.component.mjs +0 -26
- package/esm2022/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -31
- package/esm2022/dialogs/dialog.component.mjs +0 -60
- package/esm2022/dialogs/prompt-dialog/prompt-dialog.component.mjs +0 -84
- package/esm2022/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +0 -220
- package/esm2022/dialogs/services/dialog.service.mjs +0 -179
- package/esm2022/dialogs/window-dialog/window-dialog.component.mjs +0 -40
- package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +0 -30
- package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +0 -23
- package/esm2022/dynamic-menu/dynamic-menu.component.mjs +0 -28
- package/esm2022/file/directives/file-drop.directive.mjs +0 -145
- package/esm2022/file/directives/file-select.directive.mjs +0 -78
- package/esm2022/file/file-input/file-input.component.mjs +0 -146
- package/esm2022/file/file-upload/file-upload.component.mjs +0 -185
- package/esm2022/file/services/file.service.mjs +0 -66
- package/esm2022/json-formatter/json-formatter.component.mjs +0 -222
- package/esm2022/layout/layout-card-over/layout-card-over.component.mjs +0 -50
- package/esm2022/layout/layout-footer/layout-footer.component.mjs +0 -36
- package/esm2022/layout/layout-manage-list/layout-manage-list.component.mjs +0 -92
- package/esm2022/layout/layout-nav/layout-nav.component.mjs +0 -76
- package/esm2022/layout/layout-nav-list/layout-nav-list.component.mjs +0 -154
- package/esm2022/layout/layout-toggle.class.mjs +0 -96
- package/esm2022/layout/layout.component.mjs +0 -91
- package/esm2022/layout/navigation-drawer/navigation-drawer.component.mjs +0 -221
- package/esm2022/loading/directives/loading.directive.mjs +0 -133
- package/esm2022/loading/loading.component.mjs +0 -193
- package/esm2022/loading/services/loading.factory.mjs +0 -210
- package/esm2022/loading/services/loading.service.mjs +0 -219
- package/esm2022/message/message.component.mjs +0 -222
- package/esm2022/search/search-box/search-box.component.mjs +0 -198
- package/esm2022/search/search-input/search-input.component.mjs +0 -214
- package/esm2022/side-sheet/side-sheet-container.mjs +0 -285
- package/esm2022/side-sheet/side-sheet-ref.mjs +0 -30
- package/esm2022/side-sheet/side-sheet.content-directives.mjs +0 -206
- package/esm2022/side-sheet/side-sheet.mjs +0 -236
- package/esm2022/user-profile/user-profile-menu/user-profile-menu.component.mjs +0 -25
- package/esm2022/user-profile/user-profile.component.mjs +0 -21
- package/fesm2022/covalent-core-common.mjs.map +0 -1
- package/fesm2022/covalent-core-dialogs.mjs.map +0 -1
- package/fesm2022/covalent-core-dynamic-menu.mjs +0 -125
- package/fesm2022/covalent-core-search.mjs +0 -438
- package/fesm2022/covalent-core-search.mjs.map +0 -1
- package/fesm2022/covalent-core-user-profile.mjs +0 -87
- package/fesm2022/covalent-core-user-profile.mjs.map +0 -1
- /package/{esm2022 → esm2020}/breadcrumbs/covalent-core-breadcrumbs.mjs +0 -0
- /package/{esm2022 → esm2020}/breadcrumbs/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/common/animations/bounce/bounce.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/common/animations/collapse/collapse.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/common/animations/common/interfaces.mjs +0 -0
- /package/{esm2022 → esm2020}/common/animations/fade/fadeInOut.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/common/animations/flash/flash.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/common/animations/headshake/headshake.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/common/animations/jello/jello.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/common/animations/pulse/pulse.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/common/animations/rotate/rotate.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/common/covalent-core-common.mjs +0 -0
- /package/{esm2022 → esm2020}/common/forms/validators/validators.mjs +0 -0
- /package/{esm2022 → esm2020}/common/functions/clipboard.mjs +0 -0
- /package/{esm2022 → esm2020}/common/functions/file.mjs +0 -0
- /package/{esm2022 → esm2020}/common/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/covalent-core.mjs +0 -0
- /package/{esm2022 → esm2020}/dialogs/covalent-core-dialogs.mjs +0 -0
- /package/{esm2022 → esm2020}/dialogs/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/dynamic-menu/covalent-core-dynamic-menu.mjs +0 -0
- /package/{esm2022 → esm2020}/dynamic-menu/dynamic-menu.menu.mjs +0 -0
- /package/{esm2022 → esm2020}/dynamic-menu/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/file/covalent-core-file.mjs +0 -0
- /package/{esm2022 → esm2020}/file/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/json-formatter/collapse.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/json-formatter/covalent-core-json-formatter.mjs +0 -0
- /package/{esm2022 → esm2020}/json-formatter/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/layout/covalent-core-layout.mjs +0 -0
- /package/{esm2022 → esm2020}/layout/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/loading/covalent-core-loading.mjs +0 -0
- /package/{esm2022 → esm2020}/loading/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/menu/covalent-core-menu.mjs +0 -0
- /package/{esm2022 → esm2020}/menu/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/message/collapse.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/message/covalent-core-message.mjs +0 -0
- /package/{esm2022 → esm2020}/message/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/search/covalent-core-search.mjs +0 -0
- /package/{esm2022 → esm2020}/search/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/side-sheet/covalent-core-side-sheet.mjs +0 -0
- /package/{esm2022 → esm2020}/side-sheet/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/side-sheet/side-sheet.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/user-profile/covalent-core-user-profile.mjs +0 -0
- /package/{esm2022 → esm2020}/user-profile/public_api.mjs +0 -0
- /package/{fesm2022 → fesm2015}/covalent-core.mjs +0 -0
- /package/{fesm2022 → fesm2015}/covalent-core.mjs.map +0 -0
@@ -1,222 +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
|
-
_changeDetectorRef;
|
11
|
-
_dir;
|
12
|
-
/**
|
13
|
-
* Max length for property names. Any names bigger than this get trunctated.
|
14
|
-
*/
|
15
|
-
static KEY_MAX_LENGTH = 30;
|
16
|
-
/**
|
17
|
-
* Max length for preview string. Any names bigger than this get trunctated.
|
18
|
-
*/
|
19
|
-
static PREVIEW_STRING_MAX_LENGTH = 80;
|
20
|
-
/**
|
21
|
-
* Max tooltip preview elements.
|
22
|
-
*/
|
23
|
-
static PREVIEW_LIMIT = 5;
|
24
|
-
_key;
|
25
|
-
_data;
|
26
|
-
_children;
|
27
|
-
_open = false;
|
28
|
-
_levelsOpen = 0;
|
29
|
-
/**
|
30
|
-
* levelsOpen?: number
|
31
|
-
* Levels opened by default when JS object is formatted and rendered.
|
32
|
-
*/
|
33
|
-
set levelsOpen(levelsOpen) {
|
34
|
-
if (!Number.isInteger(levelsOpen)) {
|
35
|
-
throw new Error('[levelsOpen] needs to be an integer.');
|
36
|
-
}
|
37
|
-
this._levelsOpen = levelsOpen;
|
38
|
-
this._open = levelsOpen > 0;
|
39
|
-
}
|
40
|
-
get levelsOpen() {
|
41
|
-
return this._levelsOpen;
|
42
|
-
}
|
43
|
-
get open() {
|
44
|
-
return this._open;
|
45
|
-
}
|
46
|
-
/**
|
47
|
-
* key?: string
|
48
|
-
* Tag to be displayed next to formatted object.
|
49
|
-
*/
|
50
|
-
set key(key) {
|
51
|
-
this._key = key;
|
52
|
-
}
|
53
|
-
get key() {
|
54
|
-
const elipsis = this._key && this._key.length > TdJsonFormatterComponent.KEY_MAX_LENGTH
|
55
|
-
? '…'
|
56
|
-
: '';
|
57
|
-
return this._key
|
58
|
-
? this._key.substring(0, TdJsonFormatterComponent.KEY_MAX_LENGTH) +
|
59
|
-
elipsis
|
60
|
-
: this._key ?? '';
|
61
|
-
}
|
62
|
-
/**
|
63
|
-
* data: any
|
64
|
-
* JS object to be formatted.
|
65
|
-
*/
|
66
|
-
set data(data) {
|
67
|
-
this._data = data;
|
68
|
-
this.parseChildren();
|
69
|
-
}
|
70
|
-
get data() {
|
71
|
-
return this._data;
|
72
|
-
}
|
73
|
-
get children() {
|
74
|
-
return this._children ?? [];
|
75
|
-
}
|
76
|
-
get isRTL() {
|
77
|
-
if (this._dir) {
|
78
|
-
return this._dir.dir === 'rtl';
|
79
|
-
}
|
80
|
-
return false;
|
81
|
-
}
|
82
|
-
constructor(_changeDetectorRef, _dir) {
|
83
|
-
this._changeDetectorRef = _changeDetectorRef;
|
84
|
-
this._dir = _dir;
|
85
|
-
}
|
86
|
-
/**
|
87
|
-
* Refreshes json-formatter and rerenders [data]
|
88
|
-
*/
|
89
|
-
refresh() {
|
90
|
-
this._changeDetectorRef.markForCheck();
|
91
|
-
}
|
92
|
-
/**
|
93
|
-
* Toggles collapse/expanded state of component.
|
94
|
-
*/
|
95
|
-
toggle() {
|
96
|
-
this._open = !this._open;
|
97
|
-
}
|
98
|
-
isObject() {
|
99
|
-
return this.getType(this._data) === 'object';
|
100
|
-
}
|
101
|
-
isArray() {
|
102
|
-
return Array.isArray(this._data);
|
103
|
-
}
|
104
|
-
hasChildren() {
|
105
|
-
return (this._children && this._children.length > 0) ?? false;
|
106
|
-
}
|
107
|
-
/**
|
108
|
-
* Gets parsed value depending on value type.
|
109
|
-
*/
|
110
|
-
getValue(value) {
|
111
|
-
const type = this.getType(value);
|
112
|
-
if (type === 'undefined' || type === 'null') {
|
113
|
-
return type;
|
114
|
-
}
|
115
|
-
else if (type === 'date') {
|
116
|
-
value = new Date(value).toString();
|
117
|
-
}
|
118
|
-
else if (type === 'string') {
|
119
|
-
value = '"' + value + '"';
|
120
|
-
}
|
121
|
-
else if (type === 'function') {
|
122
|
-
// Remove content of the function
|
123
|
-
return (value
|
124
|
-
.toString()
|
125
|
-
.replace(/[\r\n]/g, '')
|
126
|
-
.replace(/\{.*\}/, '') + '{…}');
|
127
|
-
}
|
128
|
-
else if (Array.isArray(value)) {
|
129
|
-
return this.getObjectName() + ' [' + value.length + ']';
|
130
|
-
}
|
131
|
-
return value;
|
132
|
-
}
|
133
|
-
/**
|
134
|
-
* Gets type of object.
|
135
|
-
* returns 'null' if object is null and 'date' if value is object and can be parsed to a date.
|
136
|
-
*/
|
137
|
-
getType(object) {
|
138
|
-
if (typeof object === 'object') {
|
139
|
-
if (!object) {
|
140
|
-
return 'null';
|
141
|
-
}
|
142
|
-
if (Array.isArray(object)) {
|
143
|
-
return 'object';
|
144
|
-
}
|
145
|
-
const date = new Date(object);
|
146
|
-
if (Object.prototype.toString.call(date) === '[object Date]' &&
|
147
|
-
!Number.isNaN(date.getTime())) {
|
148
|
-
return 'date';
|
149
|
-
}
|
150
|
-
}
|
151
|
-
return typeof object;
|
152
|
-
}
|
153
|
-
/**
|
154
|
-
* Generates string representation depending if its an object or function.
|
155
|
-
* see: http://stackoverflow.com/a/332429
|
156
|
-
*/
|
157
|
-
getObjectName() {
|
158
|
-
const object = this._data;
|
159
|
-
if (this.isObject() && !object.constructor) {
|
160
|
-
return 'Object';
|
161
|
-
}
|
162
|
-
const funcNameRegex = /function (.{1,})\(/;
|
163
|
-
const results = funcNameRegex.exec(object.constructor.toString());
|
164
|
-
if (results && results.length > 1) {
|
165
|
-
return results[1];
|
166
|
-
}
|
167
|
-
else {
|
168
|
-
return '';
|
169
|
-
}
|
170
|
-
}
|
171
|
-
/**
|
172
|
-
* Creates preview of nodes children to render in tooltip depending if its an array or an object.
|
173
|
-
*/
|
174
|
-
getPreview() {
|
175
|
-
let previewData;
|
176
|
-
let startChar = '{ ';
|
177
|
-
let endChar = ' }';
|
178
|
-
if (this.isArray()) {
|
179
|
-
const previewArray = Object.entries(this._data).slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT) ?? [];
|
180
|
-
previewData = previewArray.map((obj) => {
|
181
|
-
return this.getValue(obj);
|
182
|
-
});
|
183
|
-
startChar = '[';
|
184
|
-
endChar = ']';
|
185
|
-
}
|
186
|
-
else {
|
187
|
-
const previewKeys = this._children?.slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT) ?? [];
|
188
|
-
previewData = previewKeys.map((key) => {
|
189
|
-
return key + ': ' + this.getValue(this._data[key] ?? undefined);
|
190
|
-
});
|
191
|
-
}
|
192
|
-
const previewString = previewData.join(', ');
|
193
|
-
const ellipsis = previewData.length >= TdJsonFormatterComponent.PREVIEW_LIMIT ||
|
194
|
-
previewString.length > TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH
|
195
|
-
? '…'
|
196
|
-
: '';
|
197
|
-
return (startChar +
|
198
|
-
previewString.substring(0, TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH) +
|
199
|
-
ellipsis +
|
200
|
-
endChar);
|
201
|
-
}
|
202
|
-
parseChildren() {
|
203
|
-
if (this.isObject()) {
|
204
|
-
this._children = Object.keys(this._data ?? {});
|
205
|
-
}
|
206
|
-
}
|
207
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdJsonFormatterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Dir, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
208
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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 });
|
209
|
-
}
|
210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdJsonFormatterComponent, decorators: [{
|
211
|
-
type: Component,
|
212
|
-
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"] }]
|
213
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Dir, decorators: [{
|
214
|
-
type: Optional
|
215
|
-
}] }]; }, propDecorators: { levelsOpen: [{
|
216
|
-
type: Input
|
217
|
-
}], key: [{
|
218
|
-
type: Input
|
219
|
-
}], data: [{
|
220
|
-
type: Input
|
221
|
-
}] } });
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1mb3JtYXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2pzb24tZm9ybWF0dGVyL3NyYy9qc29uLWZvcm1hdHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvanNvbi1mb3JtYXR0ZXIvc3JjL2pzb24tZm9ybWF0dGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUzNELE1BQU0sT0FBTyx3QkFBd0I7SUFzRnpCO0lBQ1k7SUF0RnRCOztPQUVHO0lBQ0ssTUFBTSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFFbkM7O09BRUc7SUFDSyxNQUFNLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDO0lBRTlDOztPQUVHO0lBQ0ssTUFBTSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFFekIsSUFBSSxDQUFVO0lBQ2QsS0FBSyxDQUF1QjtJQUM1QixTQUFTLENBQVk7SUFDckIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFFeEI7OztPQUdHO0lBQ0gsSUFDSSxVQUFVLENBQUMsVUFBa0I7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxD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QUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUM7WUFDbEUsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE1BQU0sYUFBYSxHQUFXLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsTUFBTSxRQUFRLEdBQ1osV0FBVyxDQUFDLE1BQU0sSUFBSSx3QkFBd0IsQ0FBQyxhQUFhO1lBQzVELGFBQWEsQ0FBQyxNQUFNLEdBQUcsd0JBQXdCLENBQUMseUJBQXlCO1lBQ3ZFLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNULE9BQU8sQ0FDTCxTQUFTO1lBQ1QsYUFBYSxDQUFDLFNBQVMsQ0FDckIsQ0FBQyxFQUNELHdCQUF3QixDQUFDLHlCQUF5QixDQUNuRDtZQUNELFFBQVE7WUFDUixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzt1R0FwT1Usd0JBQXdCOzJGQUF4Qix3QkFBd0IseUhDakJyQyxrNENBOENBLHc3REQ3QmEsd0JBQXdCLHVGQUZ2QixDQUFDLG1CQUFtQixDQUFDOzsyRkFFdEIsd0JBQXdCO2tCQVBwQyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsbUJBQW1CLGNBR2pCLENBQUMsbUJBQW1CLENBQUM7OzBCQXlGOUIsUUFBUTs0Q0E1RFAsVUFBVTtzQkFEYixLQUFLO2dCQXFCRixHQUFHO3NCQUROLEtBQUs7Z0JBb0JGLElBQUk7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgdGRDb2xsYXBzZUFuaW1hdGlvbiB9IGZyb20gJy4vY29sbGFwc2UuYW5pbWF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ3RkLWpzb24tZm9ybWF0dGVyJyxcbiAgc3R5bGVVcmxzOiBbJy4vanNvbi1mb3JtYXR0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2pzb24tZm9ybWF0dGVyLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW3RkQ29sbGFwc2VBbmltYXRpb25dLFxufSlcbmV4cG9ydCBjbGFzcyBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQge1xuICAvKipcbiAgICogTWF4IGxlbmd0aCBmb3IgcHJvcGVydHkgbmFtZXMuIEFueSBuYW1lcyBiaWdnZXIgdGhhbiB0aGlzIGdldCB0cnVuY3RhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgS0VZX01BWF9MRU5HVEggPSAzMDtcblxuICAvKipcbiAgICogTWF4IGxlbmd0aCBmb3IgcHJldmlldyBzdHJpbmcuIEFueSBuYW1lcyBiaWdnZXIgdGhhbiB0aGlzIGdldCB0cnVuY3RhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgUFJFVklFV19TVFJJTkdfTUFYX0xFTkdUSCA9IDgwO1xuXG4gIC8qKlxuICAgKiBNYXggdG9vbHRpcCBwcmV2aWV3IGVsZW1lbnRzLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgUFJFVklFV19MSU1JVCA9IDU7XG5cbiAgcHJpdmF0ZSBfa2V5Pzogc3RyaW5nO1xuICBwcml2YXRlIF9kYXRhITogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgcHJpdmF0ZSBfY2hpbGRyZW4/OiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBfb3BlbiA9IGZhbHNlO1xuICBwcml2YXRlIF9sZXZlbHNPcGVuID0gMDtcblxuICAvKipcbiAgICogbGV2ZWxzT3Blbj86IG51bWJlclxuICAgKiBMZXZlbHMgb3BlbmVkIGJ5IGRlZmF1bHQgd2hlbiBKUyBvYmplY3QgaXMgZm9ybWF0dGVkIGFuZCByZW5kZXJlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBsZXZlbHNPcGVuKGxldmVsc09wZW46IG51bWJlcikge1xuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihsZXZlbHNPcGVuKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdbbGV2ZWxzT3Blbl0gbmVlZHMgdG8gYmUgYW4gaW50ZWdlci4nKTtcbiAgICB9XG4gICAgdGhpcy5fbGV2ZWxzT3BlbiA9IGxldmVsc09wZW47XG4gICAgdGhpcy5fb3BlbiA9IGxldmVsc09wZW4gPiAwO1xuICB9XG4gIGdldCBsZXZlbHNPcGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xldmVsc09wZW47XG4gIH1cblxuICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBrZXk/OiBzdHJpbmdcbiAgICogVGFnIHRvIGJlIGRpc3BsYXllZCBuZXh0IHRvIGZvcm1hdHRlZCBvYmplY3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQga2V5KGtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5fa2V5ID0ga2V5O1xuICB9XG4gIGdldCBrZXkoKTogc3RyaW5nIHtcbiAgICBjb25zdCBlbGlwc2lzOiBzdHJpbmcgPVxuICAgICAgdGhpcy5fa2V5ICYmIHRoaXMuX2tleS5sZW5ndGggPiBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuS0VZX01BWF9MRU5HVEhcbiAgICAgICAgPyAn4oCmJ1xuICAgICAgICA6ICcnO1xuICAgIHJldHVybiB0aGlzLl9rZXlcbiAgICAgID8gdGhpcy5fa2V5LnN1YnN0cmluZygwLCBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuS0VZX01BWF9MRU5HVEgpICtcbiAgICAgICAgICBlbGlwc2lzXG4gICAgICA6IHRoaXMuX2tleSA/PyAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBkYXRhOiBhbnlcbiAgICogSlMgb2JqZWN0IHRvIGJlIGZvcm1hdHRlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBkYXRhKGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgICB0aGlzLnBhcnNlQ2hpbGRyZW4oKTtcbiAgfVxuICBnZXQgZGF0YSgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIGdldCBjaGlsZHJlbigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuID8/IFtdO1xuICB9XG5cbiAgZ2V0IGlzUlRMKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9kaXIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kaXIuZGlyID09PSAncnRsJztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RpcjogRGlyXG4gICkge31cblxuICAvKipcbiAgICogUmVmcmVzaGVzIGpzb24tZm9ybWF0dGVyIGFuZCByZXJlbmRlcnMgW2RhdGFdXG4gICAqL1xuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgY29sbGFwc2UvZXhwYW5kZWQgc3RhdGUgb2YgY29tcG9uZW50LlxuICAgKi9cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuX29wZW4gPSAhdGhpcy5fb3BlbjtcbiAgfVxuXG4gIGlzT2JqZWN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldFR5cGUodGhpcy5fZGF0YSkgPT09ICdvYmplY3QnO1xuICB9XG5cbiAgaXNBcnJheSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLl9kYXRhKTtcbiAgfVxuXG4gIGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fY2hpbGRyZW4gJiYgdGhpcy5fY2hpbGRyZW4ubGVuZ3RoID4gMCkgPz8gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBwYXJzZWQgdmFsdWUgZGVwZW5kaW5nIG9uIHZhbHVlIHR5cGUuXG4gICAqL1xuICBnZXRWYWx1ZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlOiBzdHJpbmcgPSB0aGlzLmdldFR5cGUodmFsdWUpO1xuICAgIGlmICh0eXBlID09PSAndW5kZWZpbmVkJyB8fCB0eXBlID09PSAnbnVsbCcpIHtcbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKS50b1N0cmluZygpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gJ1wiJyArIHZhbHVlICsgJ1wiJztcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIC8vIFJlbW92ZSBjb250ZW50IG9mIHRoZSBmdW5jdGlvblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgdmFsdWVcbiAgICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAgIC5yZXBsYWNlKC9bXFxyXFxuXS9nLCAnJylcbiAgICAgICAgICAucmVwbGFjZSgvXFx7LipcXH0vLCAnJykgKyAne+KApn0nXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE9iamVjdE5hbWUoKSArICcgWycgKyB2YWx1ZS5sZW5ndGggKyAnXSc7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHR5cGUgb2Ygb2JqZWN0LlxuICAgKiByZXR1cm5zICdudWxsJyBpZiBvYmplY3QgaXMgbnVsbCBhbmQgJ2RhdGUnIGlmIHZhbHVlIGlzIG9iamVjdCBhbmQgY2FuIGJlIHBhcnNlZCB0byBhIGRhdGUuXG4gICAqL1xuICBnZXRUeXBlKG9iamVjdDogYW55KTogc3RyaW5nIHtcbiAgICBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmICghb2JqZWN0KSB7XG4gICAgICAgIHJldHVybiAnbnVsbCc7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QpKSB7XG4gICAgICAgIHJldHVybiAnb2JqZWN0JztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZShvYmplY3QpO1xuICAgICAgaWYgKFxuICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZGF0ZSkgPT09ICdbb2JqZWN0IERhdGVdJyAmJlxuICAgICAgICAhTnVtYmVyLmlzTmFOKGRhdGUuZ2V0VGltZSgpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAnZGF0ZSc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2Ygb2JqZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBzdHJpbmcgcmVwcmVzZW50YXRpb24gZGVwZW5kaW5nIGlmIGl0cyBhbiBvYmplY3Qgb3IgZnVuY3Rpb24uXG4gICAqIHNlZTogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzMyNDI5XG4gICAqL1xuICBnZXRPYmplY3ROYW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgb2JqZWN0OiBhbnkgPSB0aGlzLl9kYXRhO1xuICAgIGlmICh0aGlzLmlzT2JqZWN0KCkgJiYgIW9iamVjdC5jb25zdHJ1Y3Rvcikge1xuICAgICAgcmV0dXJuICdPYmplY3QnO1xuICAgIH1cbiAgICBjb25zdCBmdW5jTmFtZVJlZ2V4ID0gL2Z1bmN0aW9uICguezEsfSlcXCgvO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBmdW5jTmFtZVJlZ2V4LmV4ZWMob2JqZWN0LmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkpO1xuICAgIGlmIChyZXN1bHRzICYmIHJlc3VsdHMubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIHJlc3VsdHNbMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBwcmV2aWV3IG9mIG5vZGVzIGNoaWxkcmVuIHRvIHJlbmRlciBpbiB0b29sdGlwIGRlcGVuZGluZyBpZiBpdHMgYW4gYXJyYXkgb3IgYW4gb2JqZWN0LlxuICAgKi9cbiAgZ2V0UHJldmlldygpOiBzdHJpbmcge1xuICAgIGxldCBwcmV2aWV3RGF0YTogc3RyaW5nW107XG4gICAgbGV0IHN0YXJ0Q2hhciA9ICd7ICc7XG4gICAgbGV0IGVuZENoYXIgPSAnIH0nO1xuICAgIGlmICh0aGlzLmlzQXJyYXkoKSkge1xuICAgICAgY29uc3QgcHJldmlld0FycmF5OiBhbnlbXSA9XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuX2RhdGEpLnNsaWNlKFxuICAgICAgICAgIDAsXG4gICAgICAgICAgVGRKc29uRm9ybWF0dGVyQ29tcG9uZW50LlBSRVZJRVdfTElNSVRcbiAgICAgICAgKSA/PyBbXTtcbiAgICAgIHByZXZpZXdEYXRhID0gcHJldmlld0FycmF5Lm1hcCgob2JqOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUob2JqKTtcbiAgICAgIH0pO1xuICAgICAgc3RhcnRDaGFyID0gJ1snO1xuICAgICAgZW5kQ2hhciA9ICddJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJldmlld0tleXM6IHN0cmluZ1tdID1cbiAgICAgICAgdGhpcy5fY2hpbGRyZW4/LnNsaWNlKDAsIFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5QUkVWSUVXX0xJTUlUKSA/PyBbXTtcbiAgICAgIHByZXZpZXdEYXRhID0gcHJldmlld0tleXMubWFwKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4ga2V5ICsgJzogJyArIHRoaXMuZ2V0VmFsdWUodGhpcy5fZGF0YVtrZXldID8/IHVuZGVmaW5lZCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgcHJldmlld1N0cmluZzogc3RyaW5nID0gcHJldmlld0RhdGEuam9pbignLCAnKTtcbiAgICBjb25zdCBlbGxpcHNpczogc3RyaW5nID1cbiAgICAgIHByZXZpZXdEYXRhLmxlbmd0aCA+PSBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuUFJFVklFV19MSU1JVCB8fFxuICAgICAgcHJldmlld1N0cmluZy5sZW5ndGggPiBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuUFJFVklFV19TVFJJTkdfTUFYX0xFTkdUSFxuICAgICAgICA/ICfigKYnXG4gICAgICAgIDogJyc7XG4gICAgcmV0dXJuIChcbiAgICAgIHN0YXJ0Q2hhciArXG4gICAgICBwcmV2aWV3U3RyaW5nLnN1YnN0cmluZyhcbiAgICAgICAgMCxcbiAgICAgICAgVGRKc29uRm9ybWF0dGVyQ29tcG9uZW50LlBSRVZJRVdfU1RSSU5HX01BWF9MRU5HVEhcbiAgICAgICkgK1xuICAgICAgZWxsaXBzaXMgK1xuICAgICAgZW5kQ2hhclxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlQ2hpbGRyZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPYmplY3QoKSkge1xuICAgICAgdGhpcy5fY2hpbGRyZW4gPSBPYmplY3Qua2V5cyh0aGlzLl9kYXRhID8/IHt9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0ZC1qc29uLWZvcm1hdHRlci13cmFwcGVyXCI+XG4gIDxhXG4gICAgY2xhc3M9XCJ0ZC1rZXlcIlxuICAgIFtjbGFzcy50ZC1rZXktbm9kZV09XCJoYXNDaGlsZHJlbigpXCJcbiAgICBbY2xhc3MudGQta2V5LWxlYWZdPVwiIWhhc0NoaWxkcmVuKClcIlxuICAgIFt0YWJJbmRleF09XCJpc09iamVjdCgpID8gMCA6IC0xXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJ0b2dnbGUoKVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cInRkLW5vZGUtaWNvblwiICpuZ0lmPVwiaGFzQ2hpbGRyZW4oKVwiPlxuICAgICAge3tcbiAgICAgICAgb3BlblxuICAgICAgICAgID8gJ2tleWJvYXJkX2Fycm93X2Rvd24nXG4gICAgICAgICAgOiBpc1JUTFxuICAgICAgICAgID8gJ2tleWJvYXJkX2Fycm93X2xlZnQnXG4gICAgICAgICAgOiAna2V5Ym9hcmRfYXJyb3dfcmlnaHQnXG4gICAgICB9fVxuICAgIDwvbWF0LWljb24+XG4gICAgPHNwYW4gKm5nSWY9XCJrZXlcIiBjbGFzcz1cImtleVwiPnt7IGtleSB9fTo8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgW2NsYXNzLnRkLWVtcHR5XT1cIiFoYXNDaGlsZHJlbigpXCJcbiAgICAgICAgKm5nSWY9XCJpc09iamVjdCgpXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0UHJldmlldygpXCJcbiAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRkLW9iamVjdC1uYW1lXCI+e3sgZ2V0T2JqZWN0TmFtZSgpIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRkLWFycmF5LWxlbmd0aFwiICpuZ0lmPVwiaXNBcnJheSgpXCJcbiAgICAgICAgICA+W3t7IGRhdGFbJ2xlbmd0aCddIH19XTwvc3BhblxuICAgICAgICA+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFpc09iamVjdCgpXCIgW2NsYXNzXT1cImdldFR5cGUoZGF0YSlcIj57e1xuICAgICAgICBnZXRWYWx1ZShkYXRhKVxuICAgICAgfX08L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8L2E+XG4gIDxkaXYgY2xhc3M9XCJ0ZC1vYmplY3QtY2hpbGRyZW5cIiBbQHRkQ29sbGFwc2VdPVwiIShoYXNDaGlsZHJlbigpICYmIG9wZW4pXCI+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1rZXkgbmdGb3IgW25nRm9yT2ZdPVwiY2hpbGRyZW5cIj5cbiAgICAgIDx0ZC1qc29uLWZvcm1hdHRlclxuICAgICAgICBba2V5XT1cImtleVwiXG4gICAgICAgIFtkYXRhXT1cImRhdGFba2V5XVwiXG4gICAgICAgIFtsZXZlbHNPcGVuXT1cImxldmVsc09wZW4gLSAxXCJcbiAgICAgID48L3RkLWpzb24tZm9ybWF0dGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
@@ -1,50 +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
|
-
/**
|
10
|
-
* cardTitle?: string
|
11
|
-
*
|
12
|
-
* Title set in card.
|
13
|
-
*/
|
14
|
-
cardTitle;
|
15
|
-
/**
|
16
|
-
* cardSubtitle?: string
|
17
|
-
*
|
18
|
-
* Subtitle set in card.
|
19
|
-
*/
|
20
|
-
cardSubtitle;
|
21
|
-
/**
|
22
|
-
* cardWidth?: string
|
23
|
-
*
|
24
|
-
* Card flex width in %.
|
25
|
-
* Defaults to 70%.
|
26
|
-
*/
|
27
|
-
cardWidth = 70;
|
28
|
-
/**
|
29
|
-
* color?: 'accent' | 'primary' | 'warn'
|
30
|
-
*
|
31
|
-
* toolbar color option: primary | accent | warn.
|
32
|
-
* If [color] is not set, primary is used.
|
33
|
-
*/
|
34
|
-
color = 'primary';
|
35
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutCardOverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
36
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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"] }] });
|
37
|
-
}
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutCardOverComponent, decorators: [{
|
39
|
-
type: Component,
|
40
|
-
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"] }]
|
41
|
-
}], propDecorators: { cardTitle: [{
|
42
|
-
type: Input
|
43
|
-
}], cardSubtitle: [{
|
44
|
-
type: Input
|
45
|
-
}], cardWidth: [{
|
46
|
-
type: Input
|
47
|
-
}], color: [{
|
48
|
-
type: Input
|
49
|
-
}] } });
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNhcmQtb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbGF5b3V0L3NyYy9sYXlvdXQtY2FyZC1vdmVyL2xheW91dC1jYXJkLW92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LWNhcmQtb3Zlci9sYXlvdXQtY2FyZC1vdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT3RDLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEM7Ozs7T0FJRztJQUNNLFNBQVMsQ0FBVTtJQUU1Qjs7OztPQUlHO0lBQ00sWUFBWSxDQUFVO0lBRS9COzs7OztPQUtHO0lBQ00sU0FBUyxHQUFJLEVBQUUsQ0FBQztJQUV6Qjs7Ozs7T0FLRztJQUNNLEtBQUssR0FBa0MsU0FBUyxDQUFDO3VHQTdCL0MseUJBQXlCOzJGQUF6Qix5QkFBeUIscUtDUnRDLGsxQkF3QkE7OzJGRGhCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQVV0QixTQUFTO3NCQUFqQixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWxheW91dC1jYXJkLW92ZXInLFxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQtY2FyZC1vdmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtY2FyZC1vdmVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGRMYXlvdXRDYXJkT3ZlckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBjYXJkVGl0bGU/OiBzdHJpbmdcbiAgICpcbiAgICogVGl0bGUgc2V0IGluIGNhcmQuXG4gICAqL1xuICBASW5wdXQoKSBjYXJkVGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNhcmRTdWJ0aXRsZT86IHN0cmluZ1xuICAgKlxuICAgKiBTdWJ0aXRsZSBzZXQgaW4gY2FyZC5cbiAgICovXG4gIEBJbnB1dCgpIGNhcmRTdWJ0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogY2FyZFdpZHRoPzogc3RyaW5nXG4gICAqXG4gICAqIENhcmQgZmxleCB3aWR0aCBpbiAlLlxuICAgKiBEZWZhdWx0cyB0byA3MCUuXG4gICAqL1xuICBASW5wdXQoKSBjYXJkV2lkdGg/ID0gNzA7XG5cbiAgLyoqXG4gICAqIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybidcbiAgICpcbiAgICogdG9vbGJhciBjb2xvciBvcHRpb246IHByaW1hcnkgfCBhY2NlbnQgfCB3YXJuLlxuICAgKiBJZiBbY29sb3JdIGlzIG5vdCBzZXQsIHByaW1hcnkgaXMgdXNlZC5cbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yOiAnYWNjZW50JyB8ICdwcmltYXJ5JyB8ICd3YXJuJyA9ICdwcmltYXJ5Jztcbn1cbiIsIjxtYXQtdG9vbGJhciBjbGFzcz1cInRkLWxheW91dC10b29sYmFyXCIgW2NvbG9yXT1cImNvbG9yXCI+PC9tYXQtdG9vbGJhcj5cbjxkaXYgY2xhc3M9XCJ0ZC1sYXlvdXQtY2FyZC1vdmVyLXdyYXBwZXJcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidGQtbGF5b3V0LWNhcmQtb3ZlclwiXG4gICAgW3N0eWxlLm1heC13aWR0aC4lXT1cImNhcmRXaWR0aFwiXG4gICAgW3N0eWxlLmZsZXhdPVwiJzEgMSAnICsgY2FyZFdpZHRoICsgJyUnXCJcbiAgICBbc3R5bGUuLW1zLWZsZXhdPVwiJzEgMSAnICsgY2FyZFdpZHRoICsgJyUnXCJcbiAgICBbc3R5bGUuLXdlYmtpdC1ib3gtZmxleF09XCIxXCJcbiAgPlxuICAgIDxtYXQtY2FyZD5cbiAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgIDxtYXQtY2FyZC10aXRsZSAqbmdJZj1cImNhcmRUaXRsZVwiPnt7IGNhcmRUaXRsZSB9fTwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgIDxtYXQtY2FyZC1zdWJ0aXRsZSAqbmdJZj1cImNhcmRTdWJ0aXRsZVwiPnt7XG4gICAgICAgICAgY2FyZFN1YnRpdGxlXG4gICAgICAgIH19PC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiY2FyZFRpdGxlIHx8IGNhcmRTdWJ0aXRsZVwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgIDwvbWF0LWNhcmQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RkLWFmdGVyLWNhcmRdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
@@ -1,36 +0,0 @@
|
|
1
|
-
import { Component, Input, Renderer2, ElementRef } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class TdLayoutFooterComponent {
|
4
|
-
_renderer;
|
5
|
-
_elementRef;
|
6
|
-
_color;
|
7
|
-
/**
|
8
|
-
* color?: 'accent' | 'primary' | 'warn'
|
9
|
-
*
|
10
|
-
* Optional color option: primary | accent | warn.
|
11
|
-
*/
|
12
|
-
set color(color) {
|
13
|
-
if (color) {
|
14
|
-
this._renderer.removeClass(this._elementRef.nativeElement, 'mat-' + this._color);
|
15
|
-
this._color = color;
|
16
|
-
this._renderer.addClass(this._elementRef.nativeElement, 'mat-' + this._color);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
get color() {
|
20
|
-
return this._color;
|
21
|
-
}
|
22
|
-
constructor(_renderer, _elementRef) {
|
23
|
-
this._renderer = _renderer;
|
24
|
-
this._elementRef = _elementRef;
|
25
|
-
this._renderer.addClass(this._elementRef.nativeElement, 'td-layout-footer');
|
26
|
-
}
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutFooterComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
28
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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"] });
|
29
|
-
}
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutFooterComponent, decorators: [{
|
31
|
-
type: Component,
|
32
|
-
args: [{ selector: 'td-layout-footer,td-layout-footer-inner', template: "<ng-content></ng-content>\n", styles: [":host{display:block;padding:10px 16px}\n"] }]
|
33
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { color: [{
|
34
|
-
type: Input
|
35
|
-
}] } });
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbGF5b3V0L3NyYy9sYXlvdXQtZm9vdGVyL2xheW91dC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LWZvb3Rlci9sYXlvdXQtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUXhFLE1BQU0sT0FBTyx1QkFBdUI7SUEwQmQ7SUFBOEI7SUF6QjFDLE1BQU0sQ0FBaUM7SUFFL0M7Ozs7T0FJRztJQUNILElBQ0ksS0FBSyxDQUFDLEtBQWdEO1FBQ3hELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FDckIsQ0FBQztZQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFDOUIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQ3JCLENBQUM7U0FDSDtJQUNILENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQW9CLFNBQW9CLEVBQVUsV0FBdUI7UUFBckQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDOUUsQ0FBQzt1R0E1QlUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsMkdDUnBDLDZCQUNBOzsyRkRPYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBRUUseUNBQXlDO3lIQWEvQyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSAqL1xuICBzZWxlY3RvcjogJ3RkLWxheW91dC1mb290ZXIsdGQtbGF5b3V0LWZvb3Rlci1pbm5lcicsXG4gIHN0eWxlVXJsczogWycuL2xheW91dC1mb290ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUZExheW91dEZvb3RlckNvbXBvbmVudCB7XG4gIHByaXZhdGUgX2NvbG9yPzogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XG5cbiAgLyoqXG4gICAqIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybidcbiAgICpcbiAgICogT3B0aW9uYWwgY29sb3Igb3B0aW9uOiBwcmltYXJ5IHwgYWNjZW50IHwgd2Fybi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBjb2xvcihjb2xvcjogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2FybicgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoY29sb3IpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdtYXQtJyArIHRoaXMuX2NvbG9yXG4gICAgICApO1xuICAgICAgdGhpcy5fY29sb3IgPSBjb2xvcjtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdtYXQtJyArIHRoaXMuX2NvbG9yXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBnZXQgY29sb3IoKTogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2FybicgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0ZC1sYXlvdXQtZm9vdGVyJyk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
@@ -1,92 +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
|
-
sidenav;
|
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
|
-
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
|
-
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
|
-
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
|
-
containerAutosize = false;
|
49
|
-
/**
|
50
|
-
* Checks if `ESC` should close the sidenav
|
51
|
-
* Should only close it for `push` and `over` modes
|
52
|
-
*/
|
53
|
-
get disableClose() {
|
54
|
-
return this.mode === 'side';
|
55
|
-
}
|
56
|
-
/**
|
57
|
-
* Proxy toggle method to access sidenav from outside (from td-layout template).
|
58
|
-
*/
|
59
|
-
toggle() {
|
60
|
-
return this.sidenav.toggle(!this.sidenav.opened);
|
61
|
-
}
|
62
|
-
/**
|
63
|
-
* Proxy open method to access sidenav from outside (from td-layout template).
|
64
|
-
*/
|
65
|
-
open() {
|
66
|
-
return this.sidenav.open();
|
67
|
-
}
|
68
|
-
/**
|
69
|
-
* Proxy close method to access sidenav from outside (from td-layout template).
|
70
|
-
*/
|
71
|
-
close() {
|
72
|
-
return this.sidenav.close();
|
73
|
-
}
|
74
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutManageListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
75
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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"] }] });
|
76
|
-
}
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutManageListComponent, decorators: [{
|
78
|
-
type: Component,
|
79
|
-
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"] }]
|
80
|
-
}], propDecorators: { sidenav: [{
|
81
|
-
type: ViewChild,
|
82
|
-
args: [MatSidenav, { static: true }]
|
83
|
-
}], mode: [{
|
84
|
-
type: Input
|
85
|
-
}], opened: [{
|
86
|
-
type: Input
|
87
|
-
}], sidenavWidth: [{
|
88
|
-
type: Input
|
89
|
-
}], containerAutosize: [{
|
90
|
-
type: Input
|
91
|
-
}] } });
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9sYXlvdXQvc3JjL2xheW91dC1tYW5hZ2UtbGlzdC9sYXlvdXQtbWFuYWdlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LW1hbmFnZS1saXN0L2xheW91dC1tYW5hZ2UtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLFVBQVUsRUFBeUIsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQVM5RSxNQUFNLE9BQU8sMkJBQTJCO0lBQ0csT0FBTyxDQUFjO0lBRTlEOzs7Ozs7OztPQVFHO0lBQ00sSUFBSSxHQUE2QixNQUFNLENBQUM7SUFFakQ7Ozs7Ozs7OztPQVNHO0lBQ00sTUFBTSxHQUFHLElBQUksQ0FBQztJQUV2Qjs7Ozs7OztPQU9HO0lBQ00sWUFBWSxHQUFHLE9BQU8sQ0FBQztJQUVoQzs7Ozs7Ozs7O09BU0c7SUFDTSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFFbkM7OztPQUdHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7dUdBM0VVLDJCQUEyQjsyRkFBM0IsMkJBQTJCLHdOQUMzQixVQUFVLDhEQ1p2QixpM0JBMkJBOzsyRkRoQmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFLUSxPQUFPO3NCQUEvQyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBVzlCLElBQUk7c0JBQVosS0FBSztnQkFZRyxNQUFNO3NCQUFkLEtBQUs7Z0JBVUcsWUFBWTtzQkFBcEIsS0FBSztnQkFZRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0U2lkZW5hdiwgTWF0RHJhd2VyVG9nZ2xlUmVzdWx0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5cbmltcG9ydCB7IElMYXlvdXRUb2dnbGFibGUgfSBmcm9tICcuLi9sYXlvdXQtdG9nZ2xlLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtbGF5b3V0LW1hbmFnZS1saXN0JyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtbWFuYWdlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUZExheW91dE1hbmFnZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBJTGF5b3V0VG9nZ2xhYmxlIHtcbiAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7IHN0YXRpYzogdHJ1ZSB9KSBzaWRlbmF2ITogTWF0U2lkZW5hdjtcblxuICAvKipcbiAgICogbW9kZT86ICdzaWRlJywgJ3B1c2gnIG9yICdvdmVyJ1xuICAgKlxuICAgKiBUaGUgbW9kZSBvciBzdHlsaW5nIG9mIHRoZSBzaWRlbmF2LlxuICAgKiBEZWZhdWx0cyB0byBcInNpZGVcIi5cbiAgICogU2VlIFwiTWF0U2lkZW5hdlwiIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mby5cbiAgICpcbiAgICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWwyL3RyZWUvbWFpbi9zcmMvbGliL3NpZGVuYXZcbiAgICovXG4gIEBJbnB1dCgpIG1vZGU6ICdzaWRlJyB8ICdwdXNoJyB8ICdvdmVyJyA9ICdzaWRlJztcblxuICAvKipcbiAgICogb3BlbmVkPzogYm9vbGVhblxuICAgKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc2lkZW5hdiBpcyBvcGVuZWQuIFVzZSB0aGlzIGJpbmRpbmcgdG8gb3Blbi9jbG9zZSB0aGUgc2lkZW5hdi5cbiAgICogRGVmYXVsdHMgdG8gXCJ0cnVlXCIuXG4gICAqXG4gICAqIFNlZSBcIk1hdFNpZGVuYXZcIiBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm8uXG4gICAqXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21haW4vc3JjL2xpYi9zaWRlbmF2XG4gICAqL1xuICBASW5wdXQoKSBvcGVuZWQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBzaWRlbmF2V2lkdGg/OiBzdHJpbmdcbiAgICpcbiAgICogU2V0cyB0aGUgXCJ3aWR0aFwiIG9mIHRoZSBzaWRlbmF2IGluIGVpdGhlciBcInB4XCIgb3IgXCIlXCJcbiAgICogRGVmYXVsdHMgdG8gXCIyNTdweFwiLlxuICAgKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvdHJlZS9tYWluL3NyYy9saWIvc2lkZW5hdlxuICAgKi9cbiAgQElucHV0KCkgc2lkZW5hdldpZHRoID0gJzI1N3B4JztcblxuICAvKipcbiAgICogY29udGFpbmVyQXV0b3NpemU/OiBib29sZWFuXG4gICAqXG4gICAqIFNldHMgXCJhdXRvc2l6ZVwiIG9mIHRoZSBzaWRlbmF2LWNvbnRhaW5lci5cbiAgICogRGVmYXVsdHMgdG8gXCJmYWxzZVwiLlxuICAgKlxuICAgKiBTZWUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvIGFuZCBwb3RlbnRpYWwgcGVyZm9ybWFuY2Ugcmlza3MuXG4gICAqXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi9ibG9iL21haW4vc3JjL2xpYi9zaWRlbmF2L3NpZGVuYXYubWQjcmVzaXppbmctYW4tb3Blbi1zaWRlbmF2XG4gICAqL1xuICBASW5wdXQoKSBjb250YWluZXJBdXRvc2l6ZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYEVTQ2Agc2hvdWxkIGNsb3NlIHRoZSBzaWRlbmF2XG4gICAqIFNob3VsZCBvbmx5IGNsb3NlIGl0IGZvciBgcHVzaGAgYW5kIGBvdmVyYCBtb2Rlc1xuICAgKi9cbiAgZ2V0IGRpc2FibGVDbG9zZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnc2lkZSc7XG4gIH1cblxuICAvKipcbiAgICogUHJveHkgdG9nZ2xlIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdGQtbGF5b3V0IHRlbXBsYXRlKS5cbiAgICovXG4gIHB1YmxpYyB0b2dnbGUoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zaWRlbmF2LnRvZ2dsZSghdGhpcy5zaWRlbmF2Lm9wZW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogUHJveHkgb3BlbiBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHRkLWxheW91dCB0ZW1wbGF0ZSkuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnNpZGVuYXYub3BlbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3h5IGNsb3NlIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdGQtbGF5b3V0IHRlbXBsYXRlKS5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnNpZGVuYXYuY2xvc2UoKTtcbiAgfVxufVxuIiwiPG1hdC1zaWRlbmF2LWNvbnRhaW5lclxuICBmdWxsc2NyZWVuXG4gIFthdXRvc2l6ZV09XCJjb250YWluZXJBdXRvc2l6ZVwiXG4gIGNsYXNzPVwidGQtbGF5b3V0LW1hbmFnZS1saXN0XCJcbj5cbiAgPG1hdC1zaWRlbmF2XG4gICAgI3NpZGVuYXZcbiAgICBwb3NpdGlvbj1cInN0YXJ0XCJcbiAgICBbbW9kZV09XCJtb2RlXCJcbiAgICBbb3BlbmVkXT1cIm9wZW5lZFwiXG4gICAgW2Rpc2FibGVDbG9zZV09XCJkaXNhYmxlQ2xvc2VcIlxuICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwic2lkZW5hdldpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cInNpZGVuYXZXaWR0aFwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtdG9vbGJhclt0ZC1zaWRlbmF2LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJ0ZC1sYXlvdXQtbWFuYWdlLWxpc3Qtc2lkZW5hdlwiIGNka1Njcm9sbGFibGU+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtc2lkZW5hdj5cbiAgPGRpdiBjbGFzcz1cInRkLWxheW91dC1tYW5hZ2UtbGlzdC1tYWluXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cInRkLWxheW91dC1tYW5hZ2UtbGlzdC1jb250ZW50XCIgY2RrU2Nyb2xsYWJsZT5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0ZC1sYXlvdXQtZm9vdGVyLWlubmVyXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuIl19
|
@@ -1,76 +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
|
-
_router;
|
11
|
-
/**
|
12
|
-
* toolbarTitle?: string
|
13
|
-
*
|
14
|
-
* Title set in toolbar.
|
15
|
-
*/
|
16
|
-
toolbarTitle;
|
17
|
-
/**
|
18
|
-
* icon?: string
|
19
|
-
*
|
20
|
-
* icon name to be displayed before the title
|
21
|
-
*/
|
22
|
-
icon;
|
23
|
-
/**
|
24
|
-
* logo?: string
|
25
|
-
*
|
26
|
-
* logo icon name to be displayed before the title.
|
27
|
-
* If [icon] is set, then this will not be shown.
|
28
|
-
*/
|
29
|
-
logo;
|
30
|
-
/**
|
31
|
-
* color?: 'accent' | 'primary' | 'warn'
|
32
|
-
*
|
33
|
-
* toolbar color option: primary | accent | warn.
|
34
|
-
* If [color] is not set, primary is used.
|
35
|
-
*/
|
36
|
-
color = 'primary';
|
37
|
-
/**
|
38
|
-
* navigationRoute?: string
|
39
|
-
*
|
40
|
-
* option to set the combined route for the icon, logo, and toolbarTitle.
|
41
|
-
*/
|
42
|
-
navigationRoute;
|
43
|
-
/**
|
44
|
-
* Checks if router was injected.
|
45
|
-
*/
|
46
|
-
get routerEnabled() {
|
47
|
-
return !!this._router && !!this.navigationRoute;
|
48
|
-
}
|
49
|
-
constructor(_router) {
|
50
|
-
this._router = _router;
|
51
|
-
}
|
52
|
-
handleNavigationClick() {
|
53
|
-
if (this.routerEnabled && this.navigationRoute) {
|
54
|
-
this._router.navigateByUrl(this.navigationRoute);
|
55
|
-
}
|
56
|
-
}
|
57
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutNavComponent, deps: [{ token: i1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
58
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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"] }] });
|
59
|
-
}
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutNavComponent, decorators: [{
|
61
|
-
type: Component,
|
62
|
-
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"] }]
|
63
|
-
}], ctorParameters: function () { return [{ type: i1.Router, decorators: [{
|
64
|
-
type: Optional
|
65
|
-
}] }]; }, propDecorators: { toolbarTitle: [{
|
66
|
-
type: Input
|
67
|
-
}], icon: [{
|
68
|
-
type: Input
|
69
|
-
}], logo: [{
|
70
|
-
type: Input
|
71
|
-
}], color: [{
|
72
|
-
type: Input
|
73
|
-
}], navigationRoute: [{
|
74
|
-
type: Input
|
75
|
-
}] } });
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbGF5b3V0L3NyYy9sYXlvdXQtbmF2L2xheW91dC1uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LW5hdi9sYXlvdXQtbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFPekMsTUFBTSxPQUFPLG9CQUFvQjtJQTZDQztJQTVDaEM7Ozs7T0FJRztJQUNNLFlBQVksQ0FBVTtJQUUvQjs7OztPQUlHO0lBQ00sSUFBSSxDQUFVO0lBRXZCOzs7OztPQUtHO0lBQ00sSUFBSSxDQUFVO0lBRXZCOzs7OztPQUtHO0lBQ00sS0FBSyxHQUFtQyxTQUFTLENBQUM7SUFFM0Q7Ozs7T0FJRztJQUNNLGVBQWUsQ0FBVTtJQUVsQzs7T0FFRztJQUNILElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQWdDLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztJQUVuRCxxQkFBcUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQzt1R0FuRFUsb0JBQW9COzJGQUFwQixvQkFBb0IsK0tDUmpDLG0yQkF3QkE7OzJGRGhCYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsZUFBZTs7MEJBaURaLFFBQVE7NENBdkNaLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1sYXlvdXQtbmF2JyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LW5hdi5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LW5hdi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRkTGF5b3V0TmF2Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIHRvb2xiYXJUaXRsZT86IHN0cmluZ1xuICAgKlxuICAgKiBUaXRsZSBzZXQgaW4gdG9vbGJhci5cbiAgICovXG4gIEBJbnB1dCgpIHRvb2xiYXJUaXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogaWNvbj86IHN0cmluZ1xuICAgKlxuICAgKiBpY29uIG5hbWUgdG8gYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgdGl0bGVcbiAgICovXG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGxvZ28/OiBzdHJpbmdcbiAgICpcbiAgICogbG9nbyBpY29uIG5hbWUgdG8gYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgdGl0bGUuXG4gICAqIElmIFtpY29uXSBpcyBzZXQsIHRoZW4gdGhpcyB3aWxsIG5vdCBiZSBzaG93bi5cbiAgICovXG4gIEBJbnB1dCgpIGxvZ28/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybidcbiAgICpcbiAgICogdG9vbGJhciBjb2xvciBvcHRpb246IHByaW1hcnkgfCBhY2NlbnQgfCB3YXJuLlxuICAgKiBJZiBbY29sb3JdIGlzIG5vdCBzZXQsIHByaW1hcnkgaXMgdXNlZC5cbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybicgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIG5hdmlnYXRpb25Sb3V0ZT86IHN0cmluZ1xuICAgKlxuICAgKiBvcHRpb24gdG8gc2V0IHRoZSBjb21iaW5lZCByb3V0ZSBmb3IgdGhlIGljb24sIGxvZ28sIGFuZCB0b29sYmFyVGl0bGUuXG4gICAqL1xuICBASW5wdXQoKSBuYXZpZ2F0aW9uUm91dGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiByb3V0ZXIgd2FzIGluamVjdGVkLlxuICAgKi9cbiAgZ2V0IHJvdXRlckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fcm91dGVyICYmICEhdGhpcy5uYXZpZ2F0aW9uUm91dGU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcikge31cblxuICBoYW5kbGVOYXZpZ2F0aW9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm91dGVyRW5hYmxlZCAmJiB0aGlzLm5hdmlnYXRpb25Sb3V0ZSkge1xuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5uYXZpZ2F0aW9uUm91dGUpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRkLWxheW91dC1uYXYtd3JhcHBlclwiPlxuICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJ0ZC1sYXlvdXQtdG9vbGJhclwiIFtjb2xvcl09XCJjb2xvclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0ZC1tZW51LWJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPHNwYW5cbiAgICAgICpuZ0lmPVwiaWNvbiB8fCBsb2dvIHx8IHRvb2xiYXJUaXRsZVwiXG4gICAgICBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwicm91dGVyRW5hYmxlZFwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlTmF2aWdhdGlvbkNsaWNrKClcIlxuICAgICAgY2xhc3M9XCJ0ZC1sYXlvdXQtbmF2LXRvb2xiYXItY29udGVudFwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiPnt7IGljb24gfX08L21hdC1pY29uPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgICpuZ0lmPVwibG9nbyAmJiAhaWNvblwiXG4gICAgICAgIGNsYXNzPVwibWF0LWljb24tbG9nb1wiXG4gICAgICAgIFtzdmdJY29uXT1cImxvZ29cIlxuICAgICAgPjwvbWF0LWljb24+XG4gICAgICA8c3BhbiAqbmdJZj1cInRvb2xiYXJUaXRsZVwiPnt7IHRvb2xiYXJUaXRsZSB9fTwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RkLXRvb2xiYXItY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgY2xhc3M9XCJ0ZC1sYXlvdXQtbmF2LWNvbnRlbnRcIiBjZGtTY3JvbGxhYmxlPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInRkLWxheW91dC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|