@delon/theme 15.2.1 → 16.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/compact.css +5 -14
  2. package/compact.min.css +1 -1
  3. package/dark.css +5 -14
  4. package/dark.min.css +1 -1
  5. package/default.css +5 -14
  6. package/default.min.css +1 -1
  7. package/esm2022/layout-default/layout-header-item-trigger.directive.mjs +17 -0
  8. package/esm2022/layout-default/layout-header-item.component.mjs +34 -0
  9. package/esm2022/layout-default/layout-header.component.mjs +127 -0
  10. package/esm2022/layout-default/layout-nav.component.mjs +295 -0
  11. package/esm2022/layout-default/layout-top-menu-item.mjs +40 -0
  12. package/esm2022/layout-default/layout.component.mjs +163 -0
  13. package/esm2022/layout-default/layout.module.mjs +72 -0
  14. package/esm2022/layout-default/layout.service.mjs +66 -0
  15. package/esm2022/setting-drawer/setting-drawer-item.component.mjs +36 -0
  16. package/esm2022/setting-drawer/setting-drawer.component.mjs +195 -0
  17. package/esm2022/setting-drawer/setting-drawer.module.mjs +67 -0
  18. package/esm2022/src/locale/locale.module.mjs +18 -0
  19. package/esm2022/src/locale/locale.service.mjs +46 -0
  20. package/esm2022/src/pipes/date/date.pipe.mjs +25 -0
  21. package/esm2022/src/pipes/keys/keys.pipe.mjs +22 -0
  22. package/esm2022/src/pipes/safe/html.pipe.mjs +19 -0
  23. package/esm2022/src/pipes/safe/url.pipe.mjs +19 -0
  24. package/esm2022/src/pipes/yn/yn.pipe.mjs +39 -0
  25. package/esm2022/src/services/drawer/drawer.helper.mjs +92 -0
  26. package/esm2022/src/services/http/http.client.mjs +154 -0
  27. package/esm2022/src/services/http/http.decorator.mjs +216 -0
  28. package/esm2022/src/services/i18n/i18n-url.guard.mjs +37 -0
  29. package/esm2022/src/services/i18n/i18n.mjs +98 -0
  30. package/esm2022/src/services/i18n/i18n.pipe.mjs +22 -0
  31. package/esm2022/src/services/menu/menu.service.mjs +302 -0
  32. package/esm2022/src/services/modal/modal.helper.mjs +107 -0
  33. package/esm2022/src/services/responsive/responsive.mjs +47 -0
  34. package/esm2022/src/services/rtl/rtl.service.mjs +102 -0
  35. package/esm2022/src/services/settings/settings.service.mjs +101 -0
  36. package/esm2022/src/services/title/title.service.mjs +147 -0
  37. package/esm2022/src/theme.module.mjs +77 -0
  38. package/{esm2020 → esm2022}/src/version.mjs +1 -1
  39. package/esm2022/theme-btn/theme-btn.component.mjs +110 -0
  40. package/esm2022/theme-btn/theme-btn.module.mjs +33 -0
  41. package/{fesm2020 → fesm2022}/layout-default.mjs +55 -55
  42. package/{fesm2015 → fesm2022}/layout-default.mjs.map +1 -1
  43. package/{fesm2020 → fesm2022}/setting-drawer.mjs +32 -32
  44. package/{fesm2015 → fesm2022}/setting-drawer.mjs.map +1 -1
  45. package/{fesm2020 → fesm2022}/theme-btn.mjs +12 -12
  46. package/fesm2022/theme-btn.mjs.map +1 -0
  47. package/{fesm2020 → fesm2022}/theme.mjs +75 -75
  48. package/{fesm2020 → fesm2022}/theme.mjs.map +1 -1
  49. package/layout-default/layout-header-item.component.d.ts +1 -1
  50. package/layout-default/layout-header.component.d.ts +1 -1
  51. package/layout-default/layout-nav.component.d.ts +1 -1
  52. package/layout-default/layout-top-menu-item.d.ts +1 -1
  53. package/layout-default/layout.component.d.ts +1 -1
  54. package/package.json +20 -34
  55. package/setting-drawer/setting-drawer-item.component.d.ts +1 -1
  56. package/setting-drawer/setting-drawer.component.d.ts +1 -1
  57. package/system/utils/_other.less +1 -4
  58. package/system/widgets/_abs.less +1 -4
  59. package/theme-btn/theme-btn.component.d.ts +1 -1
  60. package/esm2020/layout-default/layout-header-item-trigger.directive.mjs +0 -16
  61. package/esm2020/layout-default/layout-header-item.component.mjs +0 -33
  62. package/esm2020/layout-default/layout-header.component.mjs +0 -126
  63. package/esm2020/layout-default/layout-nav.component.mjs +0 -294
  64. package/esm2020/layout-default/layout-top-menu-item.mjs +0 -39
  65. package/esm2020/layout-default/layout.component.mjs +0 -162
  66. package/esm2020/layout-default/layout.module.mjs +0 -71
  67. package/esm2020/layout-default/layout.service.mjs +0 -65
  68. package/esm2020/setting-drawer/setting-drawer-item.component.mjs +0 -35
  69. package/esm2020/setting-drawer/setting-drawer.component.mjs +0 -194
  70. package/esm2020/setting-drawer/setting-drawer.module.mjs +0 -66
  71. package/esm2020/src/locale/locale.module.mjs +0 -17
  72. package/esm2020/src/locale/locale.service.mjs +0 -45
  73. package/esm2020/src/pipes/date/date.pipe.mjs +0 -24
  74. package/esm2020/src/pipes/keys/keys.pipe.mjs +0 -21
  75. package/esm2020/src/pipes/safe/html.pipe.mjs +0 -18
  76. package/esm2020/src/pipes/safe/url.pipe.mjs +0 -18
  77. package/esm2020/src/pipes/yn/yn.pipe.mjs +0 -38
  78. package/esm2020/src/services/drawer/drawer.helper.mjs +0 -91
  79. package/esm2020/src/services/http/http.client.mjs +0 -153
  80. package/esm2020/src/services/http/http.decorator.mjs +0 -215
  81. package/esm2020/src/services/i18n/i18n-url.guard.mjs +0 -36
  82. package/esm2020/src/services/i18n/i18n.mjs +0 -96
  83. package/esm2020/src/services/i18n/i18n.pipe.mjs +0 -21
  84. package/esm2020/src/services/menu/menu.service.mjs +0 -301
  85. package/esm2020/src/services/modal/modal.helper.mjs +0 -106
  86. package/esm2020/src/services/responsive/responsive.mjs +0 -46
  87. package/esm2020/src/services/rtl/rtl.service.mjs +0 -101
  88. package/esm2020/src/services/settings/settings.service.mjs +0 -100
  89. package/esm2020/src/services/title/title.service.mjs +0 -146
  90. package/esm2020/src/theme.module.mjs +0 -76
  91. package/esm2020/theme-btn/theme-btn.component.mjs +0 -109
  92. package/esm2020/theme-btn/theme-btn.module.mjs +0 -32
  93. package/fesm2015/layout-default.mjs +0 -773
  94. package/fesm2015/setting-drawer.mjs +0 -487
  95. package/fesm2015/theme-btn.mjs +0 -147
  96. package/fesm2015/theme-btn.mjs.map +0 -1
  97. package/fesm2015/theme.mjs +0 -2696
  98. package/fesm2015/theme.mjs.map +0 -1
  99. package/fesm2020/layout-blank.mjs +0 -7
  100. package/fesm2020/layout-blank.mjs.map +0 -1
  101. package/fesm2020/layout-default.mjs.map +0 -1
  102. package/fesm2020/setting-drawer.mjs.map +0 -1
  103. package/fesm2020/theme-btn.mjs.map +0 -1
  104. /package/{esm2020 → esm2022}/layout-blank/layout-blank.mjs +0 -0
  105. /package/{esm2020 → esm2022}/layout-blank/public_api.mjs +0 -0
  106. /package/{esm2020 → esm2022}/layout-default/layout-default.mjs +0 -0
  107. /package/{esm2020 → esm2022}/layout-default/public_api.mjs +0 -0
  108. /package/{esm2020 → esm2022}/layout-default/types.mjs +0 -0
  109. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  110. /package/{esm2020 → esm2022}/setting-drawer/public_api.mjs +0 -0
  111. /package/{esm2020 → esm2022}/setting-drawer/setting-drawer.mjs +0 -0
  112. /package/{esm2020 → esm2022}/setting-drawer/setting-drawer.types.mjs +0 -0
  113. /package/{esm2020 → esm2022}/src/config.mjs +0 -0
  114. /package/{esm2020 → esm2022}/src/locale/index.mjs +0 -0
  115. /package/{esm2020 → esm2022}/src/locale/languages/el-GR.mjs +0 -0
  116. /package/{esm2020 → esm2022}/src/locale/languages/en-US.mjs +0 -0
  117. /package/{esm2020 → esm2022}/src/locale/languages/es-ES.mjs +0 -0
  118. /package/{esm2020 → esm2022}/src/locale/languages/fr-FR.mjs +0 -0
  119. /package/{esm2020 → esm2022}/src/locale/languages/hr-HR.mjs +0 -0
  120. /package/{esm2020 → esm2022}/src/locale/languages/it-IT.mjs +0 -0
  121. /package/{esm2020 → esm2022}/src/locale/languages/ja-JP.mjs +0 -0
  122. /package/{esm2020 → esm2022}/src/locale/languages/ko-KR.mjs +0 -0
  123. /package/{esm2020 → esm2022}/src/locale/languages/pl-PL.mjs +0 -0
  124. /package/{esm2020 → esm2022}/src/locale/languages/sl-SI.mjs +0 -0
  125. /package/{esm2020 → esm2022}/src/locale/languages/tr-TR.mjs +0 -0
  126. /package/{esm2020 → esm2022}/src/locale/languages/zh-CN.mjs +0 -0
  127. /package/{esm2020 → esm2022}/src/locale/languages/zh-TW.mjs +0 -0
  128. /package/{esm2020 → esm2022}/src/locale/locale.tokens.mjs +0 -0
  129. /package/{esm2020 → esm2022}/src/locale/locale.types.mjs +0 -0
  130. /package/{esm2020 → esm2022}/src/locale/public_api.mjs +0 -0
  131. /package/{esm2020 → esm2022}/src/router/optional-preloader.mjs +0 -0
  132. /package/{esm2020 → esm2022}/src/services/http/http.token.mjs +0 -0
  133. /package/{esm2020 → esm2022}/src/services/http/index.mjs +0 -0
  134. /package/{esm2020 → esm2022}/src/services/i18n/index.mjs +0 -0
  135. /package/{esm2020 → esm2022}/src/services/menu/interface.mjs +0 -0
  136. /package/{esm2020 → esm2022}/src/services/preloader/preloader.mjs +0 -0
  137. /package/{esm2020 → esm2022}/src/services/settings/types.mjs +0 -0
  138. /package/{esm2020 → esm2022}/theme-btn/public_api.mjs +0 -0
  139. /package/{esm2020 → esm2022}/theme-btn/theme-btn.mjs +0 -0
  140. /package/{esm2020 → esm2022}/theme.mjs +0 -0
  141. /package/{fesm2015 → fesm2022}/layout-blank.mjs +0 -0
  142. /package/{fesm2015 → fesm2022}/layout-blank.mjs.map +0 -0
@@ -6,5 +6,5 @@ export declare class LayoutDefaultHeaderItemComponent {
6
6
  hidden: LayoutDefaultHeaderItemHidden;
7
7
  direction: LayoutDefaultHeaderItemDirection;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutDefaultHeaderItemComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultHeaderItemComponent, "layout-default-header-item", never, { "hidden": "hidden"; "direction": "direction"; }, {}, never, ["*"], false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultHeaderItemComponent, "layout-default-header-item", never, { "hidden": { "alias": "hidden"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, {}, never, ["*"], false, never>;
10
10
  }
@@ -29,6 +29,6 @@ export declare class LayoutDefaultHeaderComponent implements AfterViewInit, OnDe
29
29
  toggleCollapsed(): void;
30
30
  ngOnDestroy(): void;
31
31
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutDefaultHeaderComponent, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultHeaderComponent, "layout-default-header", never, { "items": "items"; }, {}, never, never, false, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultHeaderComponent, "layout-default-header", never, { "items": { "alias": "items"; "required": false; }; }, {}, never, never, false, never>;
33
33
  }
34
34
  export {};
@@ -59,5 +59,5 @@ export declare class LayoutDefaultNavComponent implements OnInit, OnDestroy {
59
59
  private underPad;
60
60
  private openAside;
61
61
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutDefaultNavComponent, [null, null, null, null, null, null, null, null, null, { optional: true; }]>;
62
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultNavComponent, "layout-default-nav", never, { "disabledAcl": "disabledAcl"; "autoCloseUnderPad": "autoCloseUnderPad"; "recursivePath": "recursivePath"; "openStrictly": "openStrictly"; "maxLevelIcon": "maxLevelIcon"; }, { "select": "select"; }, never, never, false, never>;
62
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultNavComponent, "layout-default-nav", never, { "disabledAcl": { "alias": "disabledAcl"; "required": false; }; "autoCloseUnderPad": { "alias": "autoCloseUnderPad"; "required": false; }; "recursivePath": { "alias": "recursivePath"; "required": false; }; "openStrictly": { "alias": "openStrictly"; "required": false; }; "maxLevelIcon": { "alias": "maxLevelIcon"; "required": false; }; }, { "select": "select"; }, never, never, false, never>;
63
63
  }
@@ -6,5 +6,5 @@ export declare class LayoutDefaultTopMenuItemComponent {
6
6
  selected: boolean;
7
7
  disabled: boolean;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutDefaultTopMenuItemComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultTopMenuItemComponent, "layout-default-top-menu-item", never, { "selected": "selected"; "disabled": "disabled"; }, {}, never, ["*"], false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultTopMenuItemComponent, "layout-default-top-menu-item", never, { "selected": { "alias": "selected"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], false, never>;
10
10
  }
@@ -32,5 +32,5 @@ export declare class LayoutDefaultComponent implements OnDestroy {
32
32
  private setClass;
33
33
  ngOnDestroy(): void;
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutDefaultComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultComponent, "layout-default", ["layoutDefault"], { "options": "options"; "asideUser": "asideUser"; "asideBottom": "asideBottom"; "nav": "nav"; "content": "content"; "customError": "customError"; }, {}, ["headerItems"], ["*"], false, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutDefaultComponent, "layout-default", ["layoutDefault"], { "options": { "alias": "options"; "required": false; }; "asideUser": { "alias": "asideUser"; "required": false; }; "asideBottom": { "alias": "asideBottom"; "required": false; }; "nav": { "alias": "nav"; "required": false; }; "content": { "alias": "content"; "required": false; }; "customError": { "alias": "customError"; "required": false; }; }, {}, ["headerItems"], ["*"], false, never>;
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delon/theme",
3
- "version": "15.2.1",
3
+ "version": "16.0.0-beta.0",
4
4
  "author": "cipchk<cipchk@qq.com>",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -21,16 +21,12 @@
21
21
  "component"
22
22
  ],
23
23
  "dependencies": {
24
- "ng-zorro-antd": "^15.1.0",
25
- "@delon/acl": "^15.2.1",
26
- "@delon/util": "^15.2.1",
24
+ "ng-zorro-antd": "^16.0.0-beta.0",
25
+ "@delon/acl": "^16.0.0-beta.0",
26
+ "@delon/util": "^16.0.0-beta.0",
27
27
  "tslib": "^2.3.0"
28
28
  },
29
- "module": "fesm2015/theme.mjs",
30
- "es2020": "fesm2020/theme.mjs",
31
- "esm2020": "esm2020/theme.mjs",
32
- "fesm2020": "fesm2020/theme.mjs",
33
- "fesm2015": "fesm2015/theme.mjs",
29
+ "module": "fesm2022/theme.mjs",
34
30
  "typings": "index.d.ts",
35
31
  "exports": {
36
32
  "./package.json": {
@@ -38,43 +34,33 @@
38
34
  },
39
35
  ".": {
40
36
  "types": "./index.d.ts",
41
- "esm2020": "./esm2020/theme.mjs",
42
- "es2020": "./fesm2020/theme.mjs",
43
- "es2015": "./fesm2015/theme.mjs",
44
- "node": "./fesm2015/theme.mjs",
45
- "default": "./fesm2020/theme.mjs"
37
+ "esm2022": "./esm2022/theme.mjs",
38
+ "esm": "./esm2022/theme.mjs",
39
+ "default": "./fesm2022/theme.mjs"
46
40
  },
47
41
  "./layout-blank": {
48
42
  "types": "./layout-blank/index.d.ts",
49
- "esm2020": "./esm2020/layout-blank/layout-blank.mjs",
50
- "es2020": "./fesm2020/layout-blank.mjs",
51
- "es2015": "./fesm2015/layout-blank.mjs",
52
- "node": "./fesm2015/layout-blank.mjs",
53
- "default": "./fesm2020/layout-blank.mjs"
43
+ "esm2022": "./esm2022/layout-blank/layout-blank.mjs",
44
+ "esm": "./esm2022/layout-blank/layout-blank.mjs",
45
+ "default": "./fesm2022/layout-blank.mjs"
54
46
  },
55
47
  "./layout-default": {
56
48
  "types": "./layout-default/index.d.ts",
57
- "esm2020": "./esm2020/layout-default/layout-default.mjs",
58
- "es2020": "./fesm2020/layout-default.mjs",
59
- "es2015": "./fesm2015/layout-default.mjs",
60
- "node": "./fesm2015/layout-default.mjs",
61
- "default": "./fesm2020/layout-default.mjs"
49
+ "esm2022": "./esm2022/layout-default/layout-default.mjs",
50
+ "esm": "./esm2022/layout-default/layout-default.mjs",
51
+ "default": "./fesm2022/layout-default.mjs"
62
52
  },
63
53
  "./setting-drawer": {
64
54
  "types": "./setting-drawer/index.d.ts",
65
- "esm2020": "./esm2020/setting-drawer/setting-drawer.mjs",
66
- "es2020": "./fesm2020/setting-drawer.mjs",
67
- "es2015": "./fesm2015/setting-drawer.mjs",
68
- "node": "./fesm2015/setting-drawer.mjs",
69
- "default": "./fesm2020/setting-drawer.mjs"
55
+ "esm2022": "./esm2022/setting-drawer/setting-drawer.mjs",
56
+ "esm": "./esm2022/setting-drawer/setting-drawer.mjs",
57
+ "default": "./fesm2022/setting-drawer.mjs"
70
58
  },
71
59
  "./theme-btn": {
72
60
  "types": "./theme-btn/index.d.ts",
73
- "esm2020": "./esm2020/theme-btn/theme-btn.mjs",
74
- "es2020": "./fesm2020/theme-btn.mjs",
75
- "es2015": "./fesm2015/theme-btn.mjs",
76
- "node": "./fesm2015/theme-btn.mjs",
77
- "default": "./fesm2020/theme-btn.mjs"
61
+ "esm2022": "./esm2022/theme-btn/theme-btn.mjs",
62
+ "esm": "./esm2022/theme-btn/theme-btn.mjs",
63
+ "default": "./fesm2022/theme-btn.mjs"
78
64
  }
79
65
  },
80
66
  "sideEffects": false
@@ -7,5 +7,5 @@ export declare class SettingDrawerItemComponent {
7
7
  pxChange(val: number): void;
8
8
  format: (value: number) => string;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SettingDrawerItemComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<SettingDrawerItemComponent, "setting-drawer-item", never, { "data": "data"; }, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<SettingDrawerItemComponent, "setting-drawer-item", never, { "data": { "alias": "data"; "required": false; }; }, {}, never, never, false, never>;
11
11
  }
@@ -46,5 +46,5 @@ export declare class SettingDrawerComponent implements OnInit, OnDestroy {
46
46
  copyVar(): void;
47
47
  ngOnDestroy(): void;
48
48
  static ɵfac: i0.ɵɵFactoryDeclaration<SettingDrawerComponent, [null, null, null, null, null, null, { optional: true; }]>;
49
- static ɵcmp: i0.ɵɵComponentDeclaration<SettingDrawerComponent, "setting-drawer", never, { "autoApplyColor": "autoApplyColor"; "compilingText": "compilingText"; "devTips": "devTips"; "lessJs": "lessJs"; }, {}, never, never, false, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<SettingDrawerComponent, "setting-drawer", never, { "autoApplyColor": { "alias": "autoApplyColor"; "required": false; }; "compilingText": { "alias": "compilingText"; "required": false; }; "devTips": { "alias": "devTips"; "required": false; }; "lessJs": { "alias": "lessJs"; "required": false; }; }, {}, never, never, false, never>;
50
50
  }
@@ -65,10 +65,7 @@
65
65
  */
66
66
  .page-loading {
67
67
  position: absolute;
68
- top: 0;
69
- right: 0;
70
- bottom: 0;
71
- left: 0;
68
+ inset: 0;
72
69
  z-index: 10000;
73
70
  padding-top: 200px;
74
71
  text-align: center;
@@ -5,10 +5,7 @@
5
5
 
6
6
  .abs-center {
7
7
  position: absolute;
8
- top: 0;
9
- right: 0;
10
- bottom: 0;
11
- left: 0;
8
+ inset: 0;
12
9
  margin: auto;
13
10
  overflow: auto;
14
11
 
@@ -31,5 +31,5 @@ export declare class ThemeBtnComponent implements OnInit, OnDestroy {
31
31
  onThemeChange(theme: string): void;
32
32
  ngOnDestroy(): void;
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<ThemeBtnComponent, [null, null, null, null, { optional: true; }, null]>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<ThemeBtnComponent, "theme-btn", never, { "types": "types"; "devTips": "devTips"; "deployUrl": "deployUrl"; }, { "themeChange": "themeChange"; }, never, never, false, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<ThemeBtnComponent, "theme-btn", never, { "types": { "alias": "types"; "required": false; }; "devTips": { "alias": "devTips"; "required": false; }; "deployUrl": { "alias": "deployUrl"; "required": false; }; }, { "themeChange": "themeChange"; }, never, never, false, never>;
35
35
  }
@@ -1,16 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LayoutDefaultHeaderItemTriggerDirective {
4
- }
5
- LayoutDefaultHeaderItemTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- LayoutDefaultHeaderItemTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: LayoutDefaultHeaderItemTriggerDirective, selector: "[layout-default-header-item-trigger]", host: { properties: { "class.alain-default__nav-item": "true" } }, ngImport: i0 });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LayoutDefaultHeaderItemTriggerDirective, decorators: [{
8
- type: Directive,
9
- args: [{
10
- selector: '[layout-default-header-item-trigger]',
11
- host: {
12
- '[class.alain-default__nav-item]': `true`
13
- }
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWhlYWRlci1pdGVtLXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUvbGF5b3V0LWRlZmF1bHQvbGF5b3V0LWhlYWRlci1pdGVtLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyx1Q0FBdUM7O29JQUF2Qyx1Q0FBdUM7d0hBQXZDLHVDQUF1QzsyRkFBdkMsdUNBQXVDO2tCQU5uRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELElBQUksRUFBRTt3QkFDSixpQ0FBaUMsRUFBRSxNQUFNO3FCQUMxQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbGF5b3V0LWRlZmF1bHQtaGVhZGVyLWl0ZW0tdHJpZ2dlcl0nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5hbGFpbi1kZWZhdWx0X19uYXYtaXRlbV0nOiBgdHJ1ZWBcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXREZWZhdWx0SGVhZGVySXRlbVRyaWdnZXJEaXJlY3RpdmUge31cbiJdfQ==
@@ -1,33 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LayoutDefaultHeaderItemComponent {
4
- constructor() {
5
- this.hidden = 'none';
6
- this.direction = 'right';
7
- }
8
- }
9
- LayoutDefaultHeaderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LayoutDefaultHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- LayoutDefaultHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: LayoutDefaultHeaderItemComponent, selector: "layout-default-header-item", inputs: { hidden: "hidden", direction: "direction" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true, static: true }], ngImport: i0, template: `
11
- <ng-template #host>
12
- <ng-content></ng-content>
13
- </ng-template>
14
- `, isInline: true });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LayoutDefaultHeaderItemComponent, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'layout-default-header-item',
19
- template: `
20
- <ng-template #host>
21
- <ng-content></ng-content>
22
- </ng-template>
23
- `
24
- }]
25
- }], propDecorators: { host: [{
26
- type: ViewChild,
27
- args: ['host', { static: true }]
28
- }], hidden: [{
29
- type: Input
30
- }], direction: [{
31
- type: Input
32
- }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWhlYWRlci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lL2xheW91dC1kZWZhdWx0L2xheW91dC1oZWFkZXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVl6RSxNQUFNLE9BQU8sZ0NBQWdDO0lBUjdDO1FBV1csV0FBTSxHQUFrQyxNQUFNLENBQUM7UUFDL0MsY0FBUyxHQUFxQyxPQUFPLENBQUM7S0FDaEU7OzZIQUxZLGdDQUFnQztpSEFBaEMsZ0NBQWdDLG9PQU5qQzs7OztHQUlUOzJGQUVVLGdDQUFnQztrQkFSNUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRjs4QkFFc0MsSUFBSTtzQkFBeEMsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUUxQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTGF5b3V0RGVmYXVsdEhlYWRlckl0ZW1EaXJlY3Rpb24sIExheW91dERlZmF1bHRIZWFkZXJJdGVtSGlkZGVuIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xheW91dC1kZWZhdWx0LWhlYWRlci1pdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgI2hvc3Q+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXREZWZhdWx0SGVhZGVySXRlbUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2hvc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBob3N0ITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgQElucHV0KCkgaGlkZGVuOiBMYXlvdXREZWZhdWx0SGVhZGVySXRlbUhpZGRlbiA9ICdub25lJztcbiAgQElucHV0KCkgZGlyZWN0aW9uOiBMYXlvdXREZWZhdWx0SGVhZGVySXRlbURpcmVjdGlvbiA9ICdyaWdodCc7XG59XG4iXX0=
@@ -1,126 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { Subject, takeUntil } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./layout.service";
5
- import * as i2 from "@delon/theme";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/router";
8
- import * as i5 from "ng-zorro-antd/icon";
9
- export class LayoutDefaultHeaderComponent {
10
- get opt() {
11
- return this.srv.options;
12
- }
13
- get app() {
14
- return this.settings.app;
15
- }
16
- get collapsed() {
17
- return this.settings.layout.collapsed;
18
- }
19
- get collapsedIcon() {
20
- return this.srv.collapsedIcon;
21
- }
22
- constructor(srv, settings, cdr) {
23
- this.srv = srv;
24
- this.settings = settings;
25
- this.cdr = cdr;
26
- this.destroy$ = new Subject();
27
- this.left = [];
28
- this.middle = [];
29
- this.right = [];
30
- }
31
- refresh() {
32
- const arr = this.items.toArray();
33
- this.left = arr.filter(i => i.direction === 'left');
34
- this.middle = arr.filter(i => i.direction === 'middle');
35
- this.right = arr.filter(i => i.direction === 'right');
36
- this.cdr.detectChanges();
37
- }
38
- ngAfterViewInit() {
39
- this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.refresh());
40
- this.srv.options$.pipe(takeUntil(this.destroy$)).subscribe(() => this.cdr.detectChanges());
41
- this.refresh();
42
- }
43
- toggleCollapsed() {
44
- this.srv.toggleCollapsed();
45
- }
46
- ngOnDestroy() {
47
- this.destroy$.next();
48
- this.destroy$.complete();
49
- }
50
- }
51
- LayoutDefaultHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LayoutDefaultHeaderComponent, deps: [{ token: i1.LayoutDefaultService }, { token: i2.SettingsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
52
- LayoutDefaultHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: LayoutDefaultHeaderComponent, selector: "layout-default-header", inputs: { items: "items" }, host: { properties: { "class.alain-default__header": "true" } }, ngImport: i0, template: `
53
- <ng-template #render let-ls>
54
- <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
55
- <ng-container *ngTemplateOutlet="i.host"></ng-container>
56
- </li>
57
- </ng-template>
58
- <div class="alain-default__header-logo" [style.width.px]="opt.logoFixWidth">
59
- <ng-container *ngIf="!opt.logo; else opt.logo!">
60
- <a [routerLink]="opt.logoLink" class="alain-default__header-logo-link">
61
- <img class="alain-default__header-logo-expanded" [attr.src]="opt.logoExpanded" [attr.alt]="app.name" />
62
- <img class="alain-default__header-logo-collapsed" [attr.src]="opt.logoCollapsed" [attr.alt]="app.name" />
63
- </a>
64
- </ng-container>
65
- </div>
66
- <div class="alain-default__nav-wrap">
67
- <ul class="alain-default__nav">
68
- <li *ngIf="!opt.hideAside && opt.showHeaderCollapse">
69
- <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
70
- <span nz-icon [nzType]="collapsedIcon"></span>
71
- </div>
72
- </li>
73
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
74
- </ul>
75
- <div *ngIf="middle.length > 0" class="alain-default__nav alain-default__nav-middle">
76
- <ng-container *ngTemplateOutlet="middle[0].host"></ng-container>
77
- </div>
78
- <ul class="alain-default__nav">
79
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: right }"></ng-template>
80
- </ul>
81
- </div>
82
- `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LayoutDefaultHeaderComponent, decorators: [{
84
- type: Component,
85
- args: [{
86
- selector: 'layout-default-header',
87
- template: `
88
- <ng-template #render let-ls>
89
- <li *ngFor="let i of ls" [class.hidden-mobile]="i.hidden === 'mobile'" [class.hidden-pc]="i.hidden === 'pc'">
90
- <ng-container *ngTemplateOutlet="i.host"></ng-container>
91
- </li>
92
- </ng-template>
93
- <div class="alain-default__header-logo" [style.width.px]="opt.logoFixWidth">
94
- <ng-container *ngIf="!opt.logo; else opt.logo!">
95
- <a [routerLink]="opt.logoLink" class="alain-default__header-logo-link">
96
- <img class="alain-default__header-logo-expanded" [attr.src]="opt.logoExpanded" [attr.alt]="app.name" />
97
- <img class="alain-default__header-logo-collapsed" [attr.src]="opt.logoCollapsed" [attr.alt]="app.name" />
98
- </a>
99
- </ng-container>
100
- </div>
101
- <div class="alain-default__nav-wrap">
102
- <ul class="alain-default__nav">
103
- <li *ngIf="!opt.hideAside && opt.showHeaderCollapse">
104
- <div class="alain-default__nav-item alain-default__nav-item--collapse" (click)="toggleCollapsed()">
105
- <span nz-icon [nzType]="collapsedIcon"></span>
106
- </div>
107
- </li>
108
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: left }"></ng-template>
109
- </ul>
110
- <div *ngIf="middle.length > 0" class="alain-default__nav alain-default__nav-middle">
111
- <ng-container *ngTemplateOutlet="middle[0].host"></ng-container>
112
- </div>
113
- <ul class="alain-default__nav">
114
- <ng-template [ngTemplateOutlet]="render" [ngTemplateOutletContext]="{ $implicit: right }"></ng-template>
115
- </ul>
116
- </div>
117
- `,
118
- host: {
119
- '[class.alain-default__header]': `true`
120
- },
121
- changeDetection: ChangeDetectionStrategy.OnPush
122
- }]
123
- }], ctorParameters: function () { return [{ type: i1.LayoutDefaultService }, { type: i2.SettingsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { items: [{
124
- type: Input
125
- }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS9sYXlvdXQtZGVmYXVsdC9sYXlvdXQtaGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFxRDFDLE1BQU0sT0FBTyw0QkFBNEI7SUFTdkMsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW9CLEdBQXlCLEVBQVUsUUFBeUIsRUFBVSxHQUFzQjtRQUE1RixRQUFHLEdBQUgsR0FBRyxDQUFzQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF4QnhHLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSXZDLFNBQUksR0FBOEIsRUFBRSxDQUFDO1FBQ3JDLFdBQU0sR0FBOEIsRUFBRSxDQUFDO1FBQ3ZDLFVBQUssR0FBOEIsRUFBRSxDQUFDO0lBa0I2RSxDQUFDO0lBRTVHLE9BQU87UUFDYixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzt5SEFoRFUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsMEpBcEM3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJUOzJGQU1VLDRCQUE0QjtrQkF0Q3hDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQ7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLCtCQUErQixFQUFFLE1BQU07cUJBQ3hDO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDt5S0FJVSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcHAsIFNldHRpbmdzU2VydmljZSB9IGZyb20gJ0BkZWxvbi90aGVtZSc7XG5pbXBvcnQgdHlwZSB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5cbmltcG9ydCB7IExheW91dERlZmF1bHRIZWFkZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtaGVhZGVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dERlZmF1bHRTZXJ2aWNlIH0gZnJvbSAnLi9sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBMYXlvdXREZWZhdWx0SGVhZGVySXRlbURpcmVjdGlvbiwgTGF5b3V0RGVmYXVsdEhlYWRlckl0ZW1IaWRkZW4sIExheW91dERlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmludGVyZmFjZSBMYXlvdXREZWZhdWx0SGVhZGVySXRlbSB7XG4gIGhvc3Q6IFRlbXBsYXRlUmVmPE56U2FmZUFueT47XG4gIGhpZGRlbj86IExheW91dERlZmF1bHRIZWFkZXJJdGVtSGlkZGVuO1xuICBkaXJlY3Rpb24/OiBMYXlvdXREZWZhdWx0SGVhZGVySXRlbURpcmVjdGlvbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGF5b3V0LWRlZmF1bHQtaGVhZGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgI3JlbmRlciBsZXQtbHM+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGkgb2YgbHNcIiBbY2xhc3MuaGlkZGVuLW1vYmlsZV09XCJpLmhpZGRlbiA9PT0gJ21vYmlsZSdcIiBbY2xhc3MuaGlkZGVuLXBjXT1cImkuaGlkZGVuID09PSAncGMnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpLmhvc3RcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiYWxhaW4tZGVmYXVsdF9faGVhZGVyLWxvZ29cIiBbc3R5bGUud2lkdGgucHhdPVwib3B0LmxvZ29GaXhXaWR0aFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHQubG9nbzsgZWxzZSBvcHQubG9nbyFcIj5cbiAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwib3B0LmxvZ29MaW5rXCIgY2xhc3M9XCJhbGFpbi1kZWZhdWx0X19oZWFkZXItbG9nby1saW5rXCI+XG4gICAgICAgICAgPGltZyBjbGFzcz1cImFsYWluLWRlZmF1bHRfX2hlYWRlci1sb2dvLWV4cGFuZGVkXCIgW2F0dHIuc3JjXT1cIm9wdC5sb2dvRXhwYW5kZWRcIiBbYXR0ci5hbHRdPVwiYXBwLm5hbWVcIiAvPlxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJhbGFpbi1kZWZhdWx0X19oZWFkZXItbG9nby1jb2xsYXBzZWRcIiBbYXR0ci5zcmNdPVwib3B0LmxvZ29Db2xsYXBzZWRcIiBbYXR0ci5hbHRdPVwiYXBwLm5hbWVcIiAvPlxuICAgICAgICA8L2E+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxhaW4tZGVmYXVsdF9fbmF2LXdyYXBcIj5cbiAgICAgIDx1bCBjbGFzcz1cImFsYWluLWRlZmF1bHRfX25hdlwiPlxuICAgICAgICA8bGkgKm5nSWY9XCIhb3B0LmhpZGVBc2lkZSAmJiBvcHQuc2hvd0hlYWRlckNvbGxhcHNlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFsYWluLWRlZmF1bHRfX25hdi1pdGVtIGFsYWluLWRlZmF1bHRfX25hdi1pdGVtLS1jb2xsYXBzZVwiIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZWQoKVwiPlxuICAgICAgICAgICAgPHNwYW4gbnotaWNvbiBbbnpUeXBlXT1cImNvbGxhcHNlZEljb25cIj48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGxlZnQgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L3VsPlxuICAgICAgPGRpdiAqbmdJZj1cIm1pZGRsZS5sZW5ndGggPiAwXCIgY2xhc3M9XCJhbGFpbi1kZWZhdWx0X19uYXYgYWxhaW4tZGVmYXVsdF9fbmF2LW1pZGRsZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWlkZGxlWzBdLmhvc3RcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHVsIGNsYXNzPVwiYWxhaW4tZGVmYXVsdF9fbmF2XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJpZ2h0IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuYWxhaW4tZGVmYXVsdF9faGVhZGVyXSc6IGB0cnVlYFxuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXREZWZhdWx0SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQElucHV0KCkgaXRlbXMhOiBRdWVyeUxpc3Q8TGF5b3V0RGVmYXVsdEhlYWRlckl0ZW1Db21wb25lbnQ+O1xuXG4gIGxlZnQ6IExheW91dERlZmF1bHRIZWFkZXJJdGVtW10gPSBbXTtcbiAgbWlkZGxlOiBMYXlvdXREZWZhdWx0SGVhZGVySXRlbVtdID0gW107XG4gIHJpZ2h0OiBMYXlvdXREZWZhdWx0SGVhZGVySXRlbVtdID0gW107XG5cbiAgZ2V0IG9wdCgpOiBMYXlvdXREZWZhdWx0T3B0aW9ucyB7XG4gICAgcmV0dXJuIHRoaXMuc3J2Lm9wdGlvbnM7XG4gIH1cblxuICBnZXQgYXBwKCk6IEFwcCB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MuYXBwO1xuICB9XG5cbiAgZ2V0IGNvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5sYXlvdXQuY29sbGFwc2VkO1xuICB9XG5cbiAgZ2V0IGNvbGxhcHNlZEljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zcnYuY29sbGFwc2VkSWNvbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3J2OiBMYXlvdXREZWZhdWx0U2VydmljZSwgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcHJpdmF0ZSByZWZyZXNoKCk6IHZvaWQge1xuICAgIGNvbnN0IGFyciA9IHRoaXMuaXRlbXMudG9BcnJheSgpO1xuICAgIHRoaXMubGVmdCA9IGFyci5maWx0ZXIoaSA9PiBpLmRpcmVjdGlvbiA9PT0gJ2xlZnQnKTtcbiAgICB0aGlzLm1pZGRsZSA9IGFyci5maWx0ZXIoaSA9PiBpLmRpcmVjdGlvbiA9PT0gJ21pZGRsZScpO1xuICAgIHRoaXMucmlnaHQgPSBhcnIuZmlsdGVyKGkgPT4gaS5kaXJlY3Rpb24gPT09ICdyaWdodCcpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2goKSk7XG4gICAgdGhpcy5zcnYub3B0aW9ucyQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCkpO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgdG9nZ2xlQ29sbGFwc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuc3J2LnRvZ2dsZUNvbGxhcHNlZCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=