@delon/theme 12.4.2 → 13.1.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 (219) hide show
  1. package/compact.css +1278 -750
  2. package/compact.min.css +1 -1
  3. package/dark.css +1325 -797
  4. package/dark.min.css +1 -1
  5. package/default.css +1286 -758
  6. package/default.min.css +1 -1
  7. package/{esm2015/layout-blank/layout-blank.js → esm2020/layout-blank/layout-blank.mjs} +0 -0
  8. package/{esm2015/layout-blank/public_api.js → esm2020/layout-blank/public_api.mjs} +0 -0
  9. package/{esm2015/layout-default/layout-default.js → esm2020/layout-default/layout-default.mjs} +0 -0
  10. package/esm2020/layout-default/layout-header-item-trigger.directive.mjs +16 -0
  11. package/esm2020/layout-default/layout-header-item.component.mjs +33 -0
  12. package/esm2020/layout-default/layout-header.component.mjs +123 -0
  13. package/esm2020/layout-default/layout-nav.component.mjs +307 -0
  14. package/esm2020/layout-default/layout.component.mjs +132 -0
  15. package/esm2020/layout-default/layout.module.mjs +69 -0
  16. package/{esm2015/layout-default/public_api.js → esm2020/layout-default/public_api.mjs} +0 -0
  17. package/{esm2015/layout-default/types.js → esm2020/layout-default/types.mjs} +0 -0
  18. package/esm2020/public_api.mjs +25 -0
  19. package/{esm2015/setting-drawer/public_api.js → esm2020/setting-drawer/public_api.mjs} +0 -0
  20. package/esm2020/setting-drawer/setting-drawer-item.component.mjs +35 -0
  21. package/esm2020/setting-drawer/setting-drawer.component.mjs +192 -0
  22. package/{esm2015/setting-drawer/setting-drawer.js → esm2020/setting-drawer/setting-drawer.mjs} +0 -0
  23. package/esm2020/setting-drawer/setting-drawer.module.mjs +68 -0
  24. package/{esm2015/setting-drawer/setting-drawer.types.js → esm2020/setting-drawer/setting-drawer.types.mjs} +0 -0
  25. package/{esm2015/src/config.js → esm2020/src/config.mjs} +0 -0
  26. package/{esm2015/src/locale/index.js → esm2020/src/locale/index.mjs} +0 -0
  27. package/{esm2015/src/locale/languages/el-GR.js → esm2020/src/locale/languages/el-GR.mjs} +0 -0
  28. package/{esm2015/src/locale/languages/en-US.js → esm2020/src/locale/languages/en-US.mjs} +0 -0
  29. package/{esm2015/src/locale/languages/es-ES.js → esm2020/src/locale/languages/es-ES.mjs} +0 -0
  30. package/{esm2015/src/locale/languages/fr-FR.js → esm2020/src/locale/languages/fr-FR.mjs} +0 -0
  31. package/{esm2015/src/locale/languages/hr-HR.js → esm2020/src/locale/languages/hr-HR.mjs} +0 -0
  32. package/{esm2015/src/locale/languages/it-IT.js → esm2020/src/locale/languages/it-IT.mjs} +0 -0
  33. package/{esm2015/src/locale/languages/ja-JP.js → esm2020/src/locale/languages/ja-JP.mjs} +0 -0
  34. package/{esm2015/src/locale/languages/ko-KR.js → esm2020/src/locale/languages/ko-KR.mjs} +0 -0
  35. package/{esm2015/src/locale/languages/pl-PL.js → esm2020/src/locale/languages/pl-PL.mjs} +0 -0
  36. package/{esm2015/src/locale/languages/sl-SI.js → esm2020/src/locale/languages/sl-SI.mjs} +0 -0
  37. package/{esm2015/src/locale/languages/tr-TR.js → esm2020/src/locale/languages/tr-TR.mjs} +0 -0
  38. package/{esm2015/src/locale/languages/zh-CN.js → esm2020/src/locale/languages/zh-CN.mjs} +0 -0
  39. package/{esm2015/src/locale/languages/zh-TW.js → esm2020/src/locale/languages/zh-TW.mjs} +0 -0
  40. package/esm2020/src/locale/locale.module.mjs +17 -0
  41. package/esm2020/src/locale/locale.service.mjs +45 -0
  42. package/{esm2015/src/locale/locale.tokens.js → esm2020/src/locale/locale.tokens.mjs} +0 -0
  43. package/{esm2015/src/locale/locale.types.js → esm2020/src/locale/locale.types.mjs} +0 -0
  44. package/{esm2015/src/locale/public_api.js → esm2020/src/locale/public_api.mjs} +0 -0
  45. package/esm2020/src/pipes/date/date.pipe.mjs +24 -0
  46. package/esm2020/src/pipes/keys/keys.pipe.mjs +21 -0
  47. package/esm2020/src/pipes/safe/html.pipe.mjs +18 -0
  48. package/esm2020/src/pipes/safe/url.pipe.mjs +18 -0
  49. package/esm2020/src/pipes/yn/yn.pipe.mjs +38 -0
  50. package/esm2020/src/router/optional-preloader.mjs +22 -0
  51. package/esm2020/src/services/drawer/drawer.helper.mjs +91 -0
  52. package/esm2020/src/services/http/http.client.mjs +154 -0
  53. package/esm2020/src/services/http/http.decorator.mjs +215 -0
  54. package/esm2020/src/services/i18n/i18n.mjs +97 -0
  55. package/esm2020/src/services/i18n/i18n.pipe.mjs +21 -0
  56. package/{esm2015/src/services/menu/interface.js → esm2020/src/services/menu/interface.mjs} +0 -0
  57. package/esm2020/src/services/menu/menu.service.mjs +252 -0
  58. package/esm2020/src/services/modal/modal.helper.mjs +106 -0
  59. package/{esm2015/src/services/preloader/preloader.js → esm2020/src/services/preloader/preloader.mjs} +0 -0
  60. package/esm2020/src/services/responsive/responsive.mjs +46 -0
  61. package/esm2020/src/services/rtl/rtl.service.mjs +101 -0
  62. package/esm2020/src/services/settings/settings.service.mjs +100 -0
  63. package/{esm2015/src/services/settings/types.js → esm2020/src/services/settings/types.mjs} +0 -0
  64. package/esm2020/src/services/title/title.service.mjs +124 -0
  65. package/esm2020/src/theme.module.mjs +76 -0
  66. package/{esm2015/src/version.js → esm2020/src/version.mjs} +1 -1
  67. package/{esm2015/theme-btn/public_api.js → esm2020/theme-btn/public_api.mjs} +0 -0
  68. package/esm2020/theme-btn/theme-btn.component.mjs +106 -0
  69. package/esm2020/theme-btn/theme-btn.mjs +5 -0
  70. package/esm2020/theme-btn/theme-btn.module.mjs +32 -0
  71. package/esm2020/theme.mjs +5 -0
  72. package/fesm2015/{layout-blank.js → layout-blank.mjs} +1 -1
  73. package/fesm2015/layout-blank.mjs.map +1 -0
  74. package/fesm2015/layout-default.mjs +654 -0
  75. package/fesm2015/layout-default.mjs.map +1 -0
  76. package/fesm2015/setting-drawer.mjs +487 -0
  77. package/fesm2015/setting-drawer.mjs.map +1 -0
  78. package/fesm2015/theme-btn.mjs +144 -0
  79. package/fesm2015/theme-btn.mjs.map +1 -0
  80. package/fesm2015/{theme.js → theme.mjs} +226 -188
  81. package/fesm2015/theme.mjs.map +1 -0
  82. package/fesm2020/layout-blank.mjs +7 -0
  83. package/fesm2020/layout-blank.mjs.map +1 -0
  84. package/fesm2020/layout-default.mjs +654 -0
  85. package/fesm2020/layout-default.mjs.map +1 -0
  86. package/fesm2020/setting-drawer.mjs +482 -0
  87. package/fesm2020/setting-drawer.mjs.map +1 -0
  88. package/fesm2020/theme-btn.mjs +141 -0
  89. package/fesm2020/theme-btn.mjs.map +1 -0
  90. package/fesm2020/theme.mjs +2575 -0
  91. package/fesm2020/theme.mjs.map +1 -0
  92. package/layout-blank/layout-blank.d.ts +1 -0
  93. package/layout-blank/package.json +5 -6
  94. package/layout-default/layout-default.d.ts +1 -0
  95. package/layout-default/layout-header-item-trigger.directive.d.ts +3 -0
  96. package/layout-default/layout-header-item.component.d.ts +3 -0
  97. package/layout-default/layout-header.component.d.ts +8 -5
  98. package/layout-default/layout-nav.component.d.ts +4 -1
  99. package/layout-default/layout.component.d.ts +6 -3
  100. package/layout-default/layout.module.d.ts +17 -0
  101. package/layout-default/package.json +5 -6
  102. package/layout-default/style/_aside.less +7 -10
  103. package/layout-default/style/_fixed.less +2 -0
  104. package/layout-default/style/_header.less +21 -0
  105. package/layout-default/style/_layout.less +7 -0
  106. package/layout-default/style/_progress-bar.less +6 -0
  107. package/layout-default/style/fix/_full-content.less +4 -0
  108. package/layout-default/style/widgets/_app-icons.less +3 -0
  109. package/layout-default/style/widgets/_user.less +5 -0
  110. package/package.json +55 -11
  111. package/public_api.d.ts +1 -0
  112. package/setting-drawer/package.json +5 -6
  113. package/setting-drawer/setting-drawer-item.component.d.ts +3 -0
  114. package/setting-drawer/setting-drawer.component.d.ts +3 -0
  115. package/setting-drawer/setting-drawer.d.ts +1 -0
  116. package/setting-drawer/setting-drawer.module.d.ts +18 -0
  117. package/setting-drawer/style/index.less +9 -0
  118. package/setting-drawer/style/rtl.less +1 -0
  119. package/src/locale/locale.module.d.ts +4 -0
  120. package/src/locale/locale.service.d.ts +3 -0
  121. package/src/pipes/date/date.pipe.d.ts +3 -0
  122. package/src/pipes/keys/keys.pipe.d.ts +3 -0
  123. package/src/pipes/safe/html.pipe.d.ts +3 -0
  124. package/src/pipes/safe/url.pipe.d.ts +3 -0
  125. package/src/pipes/yn/style/index.less +3 -0
  126. package/src/pipes/yn/yn.pipe.d.ts +3 -0
  127. package/src/services/drawer/drawer.helper.d.ts +3 -0
  128. package/src/services/http/http.client.d.ts +3 -0
  129. package/src/services/http/http.decorator.d.ts +3 -0
  130. package/src/services/i18n/i18n.d.ts +5 -0
  131. package/src/services/i18n/i18n.pipe.d.ts +3 -0
  132. package/src/services/menu/menu.service.d.ts +5 -0
  133. package/src/services/modal/modal.helper.d.ts +3 -0
  134. package/src/services/responsive/responsive.d.ts +3 -0
  135. package/src/services/rtl/rtl.service.d.ts +3 -0
  136. package/src/services/settings/settings.service.d.ts +9 -0
  137. package/src/services/title/title.service.d.ts +3 -0
  138. package/src/theme.module.d.ts +15 -0
  139. package/system/_preloader.less +10 -0
  140. package/system/_type.less +5 -0
  141. package/system/antd/_modal.less +5 -0
  142. package/system/antd/_table.less +7 -0
  143. package/system/index.less +3 -3
  144. package/system/mixins/_freak.less +2 -2
  145. package/system/mixins/_text-truncate.less +2 -0
  146. package/system/ng/_form.less +1 -0
  147. package/system/theme-default.less +3 -1
  148. package/system/utils/_display.less +9 -0
  149. package/system/utils/_other.less +2 -0
  150. package/system/utils/_scrollbar.less +3 -0
  151. package/system/widgets/_abs.less +3 -0
  152. package/system/widgets/_half-float.less +2 -0
  153. package/system/widgets/_masonry-grid.less +2 -0
  154. package/theme-btn/package.json +6 -7
  155. package/theme-btn/style/index.less +1 -0
  156. package/theme-btn/theme-btn.component.d.ts +3 -0
  157. package/theme-btn/{layout-theme-btn.d.ts → theme-btn.d.ts} +1 -0
  158. package/theme-btn/theme-btn.module.d.ts +8 -0
  159. package/theme-compact.less +1 -1
  160. package/theme-dark.less +1 -1
  161. package/theme-default.less +1 -1
  162. package/theme.d.ts +1 -1
  163. package/bundles/layout-blank.umd.js +0 -19
  164. package/bundles/layout-blank.umd.js.map +0 -1
  165. package/bundles/layout-default.umd.js +0 -876
  166. package/bundles/layout-default.umd.js.map +0 -1
  167. package/bundles/layout-theme-btn.umd.js +0 -141
  168. package/bundles/layout-theme-btn.umd.js.map +0 -1
  169. package/bundles/setting-drawer.umd.js +0 -789
  170. package/bundles/setting-drawer.umd.js.map +0 -1
  171. package/bundles/theme.umd.js +0 -3075
  172. package/bundles/theme.umd.js.map +0 -1
  173. package/esm2015/layout-default/layout-header-item-trigger.directive.js +0 -12
  174. package/esm2015/layout-default/layout-header-item.component.js +0 -23
  175. package/esm2015/layout-default/layout-header.component.js +0 -94
  176. package/esm2015/layout-default/layout-nav.component.js +0 -306
  177. package/esm2015/layout-default/layout.component.js +0 -102
  178. package/esm2015/layout-default/layout.module.js +0 -40
  179. package/esm2015/public_api.js +0 -24
  180. package/esm2015/setting-drawer/setting-drawer-item.component.js +0 -30
  181. package/esm2015/setting-drawer/setting-drawer.component.js +0 -185
  182. package/esm2015/setting-drawer/setting-drawer.module.js +0 -39
  183. package/esm2015/src/locale/locale.module.js +0 -14
  184. package/esm2015/src/locale/locale.service.js +0 -42
  185. package/esm2015/src/pipes/date/date.pipe.js +0 -23
  186. package/esm2015/src/pipes/keys/keys.pipe.js +0 -17
  187. package/esm2015/src/pipes/safe/html.pipe.js +0 -17
  188. package/esm2015/src/pipes/safe/url.pipe.js +0 -17
  189. package/esm2015/src/pipes/yn/yn.pipe.js +0 -37
  190. package/esm2015/src/router/optional-preloader.js +0 -23
  191. package/esm2015/src/services/drawer/drawer.helper.js +0 -90
  192. package/esm2015/src/services/http/http.client.js +0 -138
  193. package/esm2015/src/services/http/http.decorator.js +0 -207
  194. package/esm2015/src/services/i18n/i18n.js +0 -96
  195. package/esm2015/src/services/i18n/i18n.pipe.js +0 -17
  196. package/esm2015/src/services/menu/menu.service.js +0 -252
  197. package/esm2015/src/services/modal/modal.helper.js +0 -105
  198. package/esm2015/src/services/responsive/responsive.js +0 -48
  199. package/esm2015/src/services/rtl/rtl.service.js +0 -110
  200. package/esm2015/src/services/settings/settings.service.js +0 -82
  201. package/esm2015/src/services/title/title.service.js +0 -125
  202. package/esm2015/src/theme.module.js +0 -67
  203. package/esm2015/theme-btn/layout-theme-btn.js +0 -5
  204. package/esm2015/theme-btn/theme-btn.component.js +0 -103
  205. package/esm2015/theme-btn/theme-btn.module.js +0 -22
  206. package/esm2015/theme.js +0 -6
  207. package/fesm2015/layout-blank.js.map +0 -1
  208. package/fesm2015/layout-default.js +0 -561
  209. package/fesm2015/layout-default.js.map +0 -1
  210. package/fesm2015/layout-theme-btn.js +0 -129
  211. package/fesm2015/layout-theme-btn.js.map +0 -1
  212. package/fesm2015/setting-drawer.js +0 -448
  213. package/fesm2015/setting-drawer.js.map +0 -1
  214. package/fesm2015/theme.js.map +0 -1
  215. package/layout-blank/layout-blank.metadata.json +0 -1
  216. package/layout-default/layout-default.metadata.json +0 -1
  217. package/setting-drawer/setting-drawer.metadata.json +0 -1
  218. package/theme-btn/layout-theme-btn.metadata.json +0 -1
  219. package/theme.metadata.json +0 -1
@@ -1,129 +0,0 @@
1
- import { Directionality } from '@angular/cdk/bidi';
2
- import { Platform } from '@angular/cdk/platform';
3
- import { DOCUMENT, CommonModule } from '@angular/common';
4
- import { InjectionToken, isDevMode, Component, ChangeDetectionStrategy, Renderer2, Inject, Optional, Input, NgModule } from '@angular/core';
5
- import { Subject } from 'rxjs';
6
- import { takeUntil } from 'rxjs/operators';
7
- import { AlainConfigService } from '@delon/util/config';
8
- import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
9
- import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
10
-
11
- const ALAIN_THEME_BTN_KEYS = new InjectionToken('ALAIN_THEME_BTN_KEYS');
12
- class ThemeBtnComponent {
13
- constructor(renderer, configSrv, platform, doc, directionality, KEYS) {
14
- this.renderer = renderer;
15
- this.configSrv = configSrv;
16
- this.platform = platform;
17
- this.doc = doc;
18
- this.directionality = directionality;
19
- this.KEYS = KEYS;
20
- this.theme = 'default';
21
- this.isDev = isDevMode();
22
- this.types = [
23
- { key: 'default', text: 'Default Theme' },
24
- { key: 'dark', text: 'Dark Theme' },
25
- { key: 'compact', text: 'Compact Theme' }
26
- ];
27
- this.devTips = `When the dark.css file can't be found, you need to run it once: npm run theme`;
28
- this.deployUrl = '';
29
- this.destroy$ = new Subject();
30
- this.dir = 'ltr';
31
- }
32
- ngOnInit() {
33
- var _a;
34
- this.dir = this.directionality.value;
35
- (_a = this.directionality.change) === null || _a === void 0 ? void 0 : _a.pipe(takeUntil(this.destroy$)).subscribe((direction) => {
36
- this.dir = direction;
37
- });
38
- this.initTheme();
39
- }
40
- initTheme() {
41
- if (!this.platform.isBrowser) {
42
- return;
43
- }
44
- this.theme = localStorage.getItem(this.KEYS) || 'default';
45
- this.updateChartTheme();
46
- this.onThemeChange(this.theme);
47
- }
48
- updateChartTheme() {
49
- this.configSrv.set('chart', { theme: this.theme === 'dark' ? 'dark' : '' });
50
- }
51
- onThemeChange(theme) {
52
- if (!this.platform.isBrowser) {
53
- return;
54
- }
55
- this.theme = theme;
56
- this.renderer.setAttribute(this.doc.body, 'data-theme', theme);
57
- const dom = this.doc.getElementById(this.KEYS);
58
- if (dom) {
59
- dom.remove();
60
- }
61
- localStorage.removeItem(this.KEYS);
62
- if (theme !== 'default') {
63
- const el = this.doc.createElement('link');
64
- el.type = 'text/css';
65
- el.rel = 'stylesheet';
66
- el.id = this.KEYS;
67
- el.href = `${this.deployUrl}assets/style.${theme}.css`;
68
- localStorage.setItem(this.KEYS, theme);
69
- this.doc.body.append(el);
70
- }
71
- this.updateChartTheme();
72
- }
73
- ngOnDestroy() {
74
- const el = this.doc.getElementById(this.KEYS);
75
- if (el != null) {
76
- this.doc.body.removeChild(el);
77
- }
78
- this.destroy$.next();
79
- this.destroy$.complete();
80
- }
81
- }
82
- ThemeBtnComponent.decorators = [
83
- { type: Component, args: [{
84
- selector: 'theme-btn',
85
- template: "<div\n class=\"ant-avatar ant-avatar-circle ant-avatar-icon\"\n nz-dropdown\n nzPlacement=\"topCenter\"\n [nzDropdownMenu]=\"types.length > 0 ? menu : null\"\n>\n <svg\n nz-tooltip\n [nzTooltipTitle]=\"isDev ? devTips : null\"\n class=\"anticon\"\n role=\"img\"\n width=\"21\"\n height=\"21\"\n viewBox=\"0 0 21 21\"\n fill=\"currentColor\"\n >\n <g fill-rule=\"evenodd\">\n <g fill-rule=\"nonzero\">\n <path\n d=\"M7.02 3.635l12.518 12.518a1.863 1.863 0 010 2.635l-1.317 1.318a1.863 1.863 0 01-2.635 0L3.068 7.588A2.795 2.795 0 117.02 3.635zm2.09 14.428a.932.932 0 110 1.864.932.932 0 010-1.864zm-.043-9.747L7.75 9.635l9.154 9.153 1.318-1.317-9.154-9.155zM3.52 12.473c.514 0 .931.417.931.931v.932h.932a.932.932 0 110 1.864h-.932v.931a.932.932 0 01-1.863 0l-.001-.931h-.93a.932.932 0 010-1.864h.93v-.932c0-.514.418-.931.933-.931zm15.374-3.727a1.398 1.398 0 110 2.795 1.398 1.398 0 010-2.795zM4.385 4.953a.932.932 0 000 1.317l2.046 2.047L7.75 7 5.703 4.953a.932.932 0 00-1.318 0zM14.701.36a.932.932 0 01.931.932v.931h.932a.932.932 0 010 1.864h-.933l.001.932a.932.932 0 11-1.863 0l-.001-.932h-.93a.932.932 0 110-1.864h.93v-.931a.932.932 0 01.933-.932z\"\n ></path>\n </g>\n </g>\n </svg>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu nzSelectable>\n <li nz-menu-item *ngFor=\"let i of types\" (click)=\"onThemeChange(i.key)\">{{ i.text }}</li>\n </ul>\n </nz-dropdown-menu>\n</div>\n",
86
- host: {
87
- '[class.theme-btn]': `true`,
88
- '[class.theme-btn-rtl]': `dir === 'rtl'`
89
- },
90
- changeDetection: ChangeDetectionStrategy.OnPush
91
- },] }
92
- ];
93
- ThemeBtnComponent.ctorParameters = () => [
94
- { type: Renderer2 },
95
- { type: AlainConfigService },
96
- { type: Platform },
97
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
98
- { type: Directionality, decorators: [{ type: Optional }] },
99
- { type: String, decorators: [{ type: Inject, args: [ALAIN_THEME_BTN_KEYS,] }] }
100
- ];
101
- ThemeBtnComponent.propDecorators = {
102
- types: [{ type: Input }],
103
- devTips: [{ type: Input }],
104
- deployUrl: [{ type: Input }]
105
- };
106
-
107
- const COMPONENTS = [ThemeBtnComponent];
108
- class ThemeBtnModule {
109
- }
110
- ThemeBtnModule.decorators = [
111
- { type: NgModule, args: [{
112
- imports: [CommonModule, NzDropDownModule, NzToolTipModule],
113
- providers: [
114
- {
115
- provide: ALAIN_THEME_BTN_KEYS,
116
- useValue: 'site-theme'
117
- }
118
- ],
119
- declarations: COMPONENTS,
120
- exports: COMPONENTS
121
- },] }
122
- ];
123
-
124
- /**
125
- * Generated bundle index. Do not edit.
126
- */
127
-
128
- export { ALAIN_THEME_BTN_KEYS, ThemeBtnComponent, ThemeBtnModule };
129
- //# sourceMappingURL=layout-theme-btn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-theme-btn.js","sources":["../../../../packages/theme/theme-btn/theme-btn.component.ts","../../../../packages/theme/theme-btn/theme-btn.module.ts","../../../../packages/theme/theme-btn/layout-theme-btn.ts"],"sourcesContent":["import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Inject,\n InjectionToken,\n Input,\n isDevMode,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface ThemeBtnType {\n key: string;\n text: string;\n}\n\nexport const ALAIN_THEME_BTN_KEYS = new InjectionToken<string>('ALAIN_THEME_BTN_KEYS');\n\n@Component({\n selector: 'theme-btn',\n templateUrl: './theme-btn.component.html',\n host: {\n '[class.theme-btn]': `true`,\n '[class.theme-btn-rtl]': `dir === 'rtl'`\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThemeBtnComponent implements OnInit, OnDestroy {\n private theme = 'default';\n isDev = isDevMode();\n @Input() types: ThemeBtnType[] = [\n { key: 'default', text: 'Default Theme' },\n { key: 'dark', text: 'Dark Theme' },\n { key: 'compact', text: 'Compact Theme' }\n ];\n @Input() devTips = `When the dark.css file can't be found, you need to run it once: npm run theme`;\n @Input() deployUrl = '';\n private destroy$ = new Subject<void>();\n dir: Direction = 'ltr';\n\n constructor(\n private renderer: Renderer2,\n private configSrv: AlainConfigService,\n private platform: Platform,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n @Optional() private directionality: Directionality,\n @Inject(ALAIN_THEME_BTN_KEYS) private KEYS: string\n ) {}\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n });\n this.initTheme();\n }\n\n private initTheme(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.theme = localStorage.getItem(this.KEYS) || 'default';\n this.updateChartTheme();\n this.onThemeChange(this.theme);\n }\n\n private updateChartTheme(): void {\n this.configSrv.set('chart', { theme: this.theme === 'dark' ? 'dark' : '' });\n }\n\n onThemeChange(theme: string): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.theme = theme;\n this.renderer.setAttribute(this.doc.body, 'data-theme', theme);\n const dom = this.doc.getElementById(this.KEYS);\n if (dom) {\n dom.remove();\n }\n localStorage.removeItem(this.KEYS);\n if (theme !== 'default') {\n const el = this.doc.createElement('link');\n el.type = 'text/css';\n el.rel = 'stylesheet';\n el.id = this.KEYS;\n el.href = `${this.deployUrl}assets/style.${theme}.css`;\n\n localStorage.setItem(this.KEYS, theme);\n this.doc.body.append(el);\n }\n this.updateChartTheme();\n }\n\n ngOnDestroy(): void {\n const el = this.doc.getElementById(this.KEYS);\n if (el != null) {\n this.doc.body.removeChild(el);\n }\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { ALAIN_THEME_BTN_KEYS, ThemeBtnComponent } from './theme-btn.component';\n\nconst COMPONENTS = [ThemeBtnComponent];\n\n@NgModule({\n imports: [CommonModule, NzDropDownModule, NzToolTipModule],\n providers: [\n {\n provide: ALAIN_THEME_BTN_KEYS,\n useValue: 'site-theme'\n }\n ],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class ThemeBtnModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,448 +0,0 @@
1
- import { Component, Input, isDevMode, ChangeDetectionStrategy, ChangeDetectorRef, NgZone, Inject, Optional, NgModule } from '@angular/core';
2
- import { __awaiter, __decorate } from 'tslib';
3
- import { Directionality } from '@angular/cdk/bidi';
4
- import { DOCUMENT, CommonModule } from '@angular/common';
5
- import { Subject } from 'rxjs';
6
- import { takeUntil } from 'rxjs/operators';
7
- import { SettingsService } from '@delon/theme';
8
- import { copy } from '@delon/util/browser';
9
- import { InputBoolean, ZoneOutside } from '@delon/util/decorator';
10
- import { deepCopy, LazyService } from '@delon/util/other';
11
- import { NzMessageService } from 'ng-zorro-antd/message';
12
- import { FormsModule } from '@angular/forms';
13
- import { NzAlertModule } from 'ng-zorro-antd/alert';
14
- import { NzButtonModule } from 'ng-zorro-antd/button';
15
- import { NzDividerModule } from 'ng-zorro-antd/divider';
16
- import { NzDrawerModule } from 'ng-zorro-antd/drawer';
17
- import { NzIconModule } from 'ng-zorro-antd/icon';
18
- import { NzInputModule } from 'ng-zorro-antd/input';
19
- import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
20
- import { NzSwitchModule } from 'ng-zorro-antd/switch';
21
- import { NzTabsModule } from 'ng-zorro-antd/tabs';
22
- import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
23
-
24
- class SettingDrawerItemComponent {
25
- constructor() {
26
- this.i = {};
27
- this.pxVal = 0;
28
- this.format = (value) => `${value} px`;
29
- }
30
- set data(val) {
31
- this.i = val;
32
- if (val.type === 'px') {
33
- this.pxVal = +val.value.replace('px', '');
34
- }
35
- }
36
- pxChange(val) {
37
- this.i.value = `${val}px`;
38
- }
39
- }
40
- SettingDrawerItemComponent.decorators = [
41
- { type: Component, args: [{
42
- selector: 'setting-drawer-item',
43
- template: "<span>\n {{ i.label }}\n <span class=\"pl-sm text-grey\">{{ i.tip }}</span>\n</span>\n<div [ngSwitch]=\"i.type\">\n <ng-container *ngSwitchCase=\"'color'\">\n <input\n nz-input\n type=\"color\"\n style=\"min-width: 88px\"\n [(ngModel)]=\"i.value\"\n [ngModelOptions]=\"{ standalone: true }\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'input'\">\n <input nz-input style=\"min-width: 88px\" [(ngModel)]=\"i.value\" [ngModelOptions]=\"{ standalone: true }\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"'px'\">\n <nz-input-number\n [(ngModel)]=\"pxVal\"\n (ngModelChange)=\"pxChange($event)\"\n [nzMin]=\"i.min\"\n [nzMax]=\"i.max\"\n [nzStep]=\"i.step || 2\"\n [nzFormatter]=\"format\"\n ></nz-input-number>\n </ng-container>\n <ng-container *ngSwitchCase=\"'switch'\">\n <nz-switch nzSize=\"small\" [(ngModel)]=\"i.value\" [ngModelOptions]=\"{ standalone: true }\"></nz-switch>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-template nzDrawerContent></ng-template>\n </ng-container>\n</div>\n",
44
- host: {
45
- '[class.setting-drawer__body-item]': 'true'
46
- }
47
- },] }
48
- ];
49
- SettingDrawerItemComponent.propDecorators = {
50
- data: [{ type: Input }]
51
- };
52
-
53
- const ALAINDEFAULTVAR = 'alain-default-vars';
54
- const DEFAULT_COLORS = [
55
- {
56
- key: 'dust',
57
- color: '#F5222D'
58
- },
59
- {
60
- key: 'volcano',
61
- color: '#FA541C'
62
- },
63
- {
64
- key: 'sunset',
65
- color: '#FAAD14'
66
- },
67
- {
68
- key: 'cyan',
69
- color: '#13C2C2'
70
- },
71
- {
72
- key: 'green',
73
- color: '#52C41A'
74
- },
75
- {
76
- key: 'daybreak',
77
- color: '#1890ff'
78
- },
79
- {
80
- key: 'geekblue',
81
- color: '#2F54EB'
82
- },
83
- {
84
- key: 'purple',
85
- color: '#722ED1'
86
- },
87
- {
88
- key: 'black',
89
- color: '#001529'
90
- }
91
- ];
92
- const DEFAULT_VARS = {
93
- 'primary-color': { label: '主颜色', type: 'color', default: '#1890ff' },
94
- 'alain-default-header-hg': {
95
- label: '高',
96
- type: 'px',
97
- default: '64px',
98
- max: 300,
99
- min: 24
100
- },
101
- 'alain-default-header-bg': {
102
- label: '背景色',
103
- type: 'color',
104
- default: '@primary-color',
105
- tip: '默认同主色系'
106
- },
107
- 'alain-default-header-padding': {
108
- label: '顶部左右内边距',
109
- type: 'px',
110
- default: '16px'
111
- },
112
- // 侧边栏
113
- 'alain-default-aside-wd': { label: '宽度', type: 'px', default: '200px' },
114
- 'alain-default-aside-bg': {
115
- label: '背景',
116
- type: 'color',
117
- default: '#ffffff'
118
- },
119
- 'alain-default-aside-collapsed-wd': {
120
- label: '收缩宽度',
121
- type: 'px',
122
- default: '64px'
123
- },
124
- 'alain-default-aside-nav-padding-top-bottom': {
125
- label: '项上下内边距',
126
- type: 'px',
127
- default: '8px',
128
- step: 8
129
- },
130
- // 主菜单
131
- 'alain-default-aside-nav-fs': {
132
- label: '菜单字号',
133
- type: 'px',
134
- default: '14px',
135
- min: 14,
136
- max: 30
137
- },
138
- 'alain-default-aside-collapsed-nav-fs': {
139
- label: '收缩菜单字号',
140
- type: 'px',
141
- default: '24px',
142
- min: 24,
143
- max: 32
144
- },
145
- 'alain-default-aside-nav-item-height': {
146
- label: '菜单项高度',
147
- type: 'px',
148
- default: '38px',
149
- min: 24,
150
- max: 64
151
- },
152
- 'alain-default-aside-nav-text-color': {
153
- label: '菜单文本颜色',
154
- type: 'color',
155
- default: 'rgba(0, 0, 0, 0.65)',
156
- rgba: true
157
- },
158
- 'alain-default-aside-nav-text-hover-color': {
159
- label: '菜单文本悬停颜色',
160
- type: 'color',
161
- default: '@primary-color',
162
- tip: '默认同主色系'
163
- },
164
- 'alain-default-aside-nav-group-text-color': {
165
- label: '菜单分组文本颜色',
166
- type: 'color',
167
- default: 'rgba(0, 0, 0, 0.43)',
168
- rgba: true
169
- },
170
- 'alain-default-aside-nav-selected-text-color': {
171
- label: '菜单激活时文本颜色',
172
- type: 'color',
173
- default: '@primary-color',
174
- tip: '默认同主色系'
175
- },
176
- 'alain-default-aside-nav-selected-bg': {
177
- label: '菜单激活时背景颜色',
178
- type: 'color',
179
- default: '#fcfcfc'
180
- },
181
- // 内容
182
- 'alain-default-content-bg': {
183
- label: '背景色',
184
- type: 'color',
185
- default: '#f5f7fa'
186
- },
187
- 'alain-default-content-heading-bg': {
188
- label: '标题背景色',
189
- type: 'color',
190
- default: '#fafbfc'
191
- },
192
- 'alain-default-content-heading-border': {
193
- label: '标题底部边框色',
194
- type: 'color',
195
- default: '#efe3e5'
196
- },
197
- 'alain-default-content-padding': {
198
- label: '内边距',
199
- type: 'px',
200
- default: '24px',
201
- min: 0,
202
- max: 128,
203
- step: 8
204
- },
205
- // zorro组件修正
206
- 'form-state-visual-feedback-enabled': {
207
- label: '开启表单元素的视觉反馈',
208
- type: 'switch',
209
- default: true
210
- },
211
- 'preserve-white-spaces-enabled': {
212
- label: '开启 preserveWhitespaces',
213
- type: 'switch',
214
- default: true
215
- },
216
- 'nz-table-img-radius': {
217
- label: '表格中:图片圆角',
218
- type: 'px',
219
- default: '4px',
220
- min: 0,
221
- max: 128
222
- },
223
- 'nz-table-img-margin-right': {
224
- label: '表格中:图片右外边距',
225
- type: 'px',
226
- default: '4px',
227
- min: 0,
228
- max: 128
229
- },
230
- 'nz-table-img-max-width': {
231
- label: '表格中:图片最大宽度',
232
- type: 'px',
233
- default: '32px',
234
- min: 8,
235
- max: 128
236
- },
237
- 'nz-table-img-max-height': {
238
- label: '表格中:图片最大高度',
239
- type: 'px',
240
- default: '32px',
241
- min: 8,
242
- max: 128
243
- }
244
- };
245
-
246
- class SettingDrawerComponent {
247
- constructor(cdr, msg, settingSrv, lazy, ngZone, doc, directionality) {
248
- this.cdr = cdr;
249
- this.msg = msg;
250
- this.settingSrv = settingSrv;
251
- this.lazy = lazy;
252
- this.ngZone = ngZone;
253
- this.doc = doc;
254
- this.directionality = directionality;
255
- this.autoApplyColor = true;
256
- this.compilingText = 'Compiling...';
257
- this.devTips = `When the color can't be switched, you need to run it once: npm run color-less`;
258
- this.loadedLess = false;
259
- this.destroy$ = new Subject();
260
- this.dir = 'ltr';
261
- this.isDev = isDevMode();
262
- this.collapse = false;
263
- this.data = {};
264
- this.colors = DEFAULT_COLORS;
265
- this.color = this.cachedData['@primary-color'] || this.DEFAULT_PRIMARY;
266
- this.resetData(this.cachedData, false);
267
- }
268
- get layout() {
269
- return this.settingSrv.layout;
270
- }
271
- get cachedData() {
272
- return this.settingSrv.layout[ALAINDEFAULTVAR] || {};
273
- }
274
- get DEFAULT_PRIMARY() {
275
- return DEFAULT_VARS['primary-color'].default;
276
- }
277
- ngOnInit() {
278
- var _a;
279
- this.dir = this.directionality.value;
280
- (_a = this.directionality.change) === null || _a === void 0 ? void 0 : _a.pipe(takeUntil(this.destroy$)).subscribe((direction) => {
281
- this.dir = direction;
282
- });
283
- if (this.autoApplyColor && this.color !== this.DEFAULT_PRIMARY) {
284
- this.changeColor(this.color);
285
- this.runLess();
286
- }
287
- }
288
- loadLess() {
289
- return __awaiter(this, void 0, void 0, function* () {
290
- if (this.loadedLess) {
291
- return Promise.resolve();
292
- }
293
- return this.lazy
294
- .loadStyle('./assets/color.less', 'stylesheet/less')
295
- .then(() => {
296
- const lessConfigNode = this.doc.createElement('script');
297
- lessConfigNode.innerHTML = `
298
- window.less = {
299
- async: true,
300
- env: 'production',
301
- javascriptEnabled: true
302
- };
303
- `;
304
- this.doc.body.appendChild(lessConfigNode);
305
- })
306
- .then(() => this.lazy.loadScript('https://gw.alipayobjects.com/os/lib/less.js/3.8.1/less.min.js'))
307
- .then(() => {
308
- this.loadedLess = true;
309
- });
310
- });
311
- }
312
- genVars() {
313
- const { data, color, validKeys } = this;
314
- const vars = {
315
- [`@primary-color`]: color
316
- };
317
- validKeys.filter(key => key !== 'primary-color').forEach(key => (vars[`@${key}`] = data[key].value));
318
- this.setLayout(ALAINDEFAULTVAR, vars);
319
- return vars;
320
- }
321
- runLess() {
322
- const { ngZone, msg, cdr } = this;
323
- const msgId = msg.loading(this.compilingText, { nzDuration: 0 }).messageId;
324
- setTimeout(() => {
325
- this.loadLess().then(() => {
326
- window.less.modifyVars(this.genVars()).then(() => {
327
- msg.success('成功');
328
- msg.remove(msgId);
329
- ngZone.run(() => cdr.detectChanges());
330
- });
331
- });
332
- }, 200);
333
- }
334
- toggle() {
335
- this.collapse = !this.collapse;
336
- }
337
- changeColor(color) {
338
- this.color = color;
339
- Object.keys(DEFAULT_VARS)
340
- .filter(key => DEFAULT_VARS[key].default === '@primary-color')
341
- .forEach(key => delete this.cachedData[`@${key}`]);
342
- this.resetData(this.cachedData, false);
343
- }
344
- setLayout(name, value) {
345
- this.settingSrv.setLayout(name, value);
346
- }
347
- resetData(nowData, run = true) {
348
- nowData = nowData || {};
349
- const data = deepCopy(DEFAULT_VARS);
350
- Object.keys(data).forEach(key => {
351
- const value = nowData[`@${key}`] || data[key].default || '';
352
- data[key].value = value === `@primary-color` ? this.color : value;
353
- });
354
- this.data = data;
355
- if (run) {
356
- this.cdr.detectChanges();
357
- this.runLess();
358
- }
359
- }
360
- get validKeys() {
361
- return Object.keys(this.data).filter(key => this.data[key].value !== this.data[key].default);
362
- }
363
- apply() {
364
- this.runLess();
365
- }
366
- reset() {
367
- this.color = this.DEFAULT_PRIMARY;
368
- this.settingSrv.setLayout(ALAINDEFAULTVAR, {});
369
- this.resetData({});
370
- }
371
- copyVar() {
372
- const vars = this.genVars();
373
- const copyContent = Object.keys(vars)
374
- .map(key => `${key}: ${vars[key]};`)
375
- .join('\n');
376
- copy(copyContent);
377
- this.msg.success('Copy success');
378
- }
379
- ngOnDestroy() {
380
- this.destroy$.next();
381
- this.destroy$.complete();
382
- }
383
- }
384
- SettingDrawerComponent.decorators = [
385
- { type: Component, args: [{
386
- selector: 'setting-drawer',
387
- template: "<nz-drawer\n [nzVisible]=\"collapse\"\n [nzPlacement]=\"dir === 'rtl' ? 'left' : 'right'\"\n [nzWidth]=\"500\"\n (nzOnClose)=\"toggle()\"\n>\n <div *nzDrawerContent class=\"setting-drawer__content\">\n <div class=\"setting-drawer__body setting-drawer__theme\">\n <h3 class=\"setting-drawer__title\">\u4E3B\u9898\u8272</h3>\n <span\n *ngFor=\"let c of colors\"\n [style]=\"{ 'background-color': c.color }\"\n (click)=\"changeColor(c.color)\"\n nz-tooltip\n [nzTooltipTitle]=\"c.key\"\n class=\"setting-drawer__theme-tag\"\n >\n <i *ngIf=\"color === c.color\" nz-icon nzType=\"check\"></i>\n </span>\n </div>\n <nz-divider></nz-divider>\n <div class=\"setting-drawer__body\">\n <h3 class=\"setting-drawer__title\">\u8BBE\u7F6E</h3>\n <nz-tabset>\n <nz-tab nzTitle=\"\u9876\u90E8\">\n <div class=\"setting-drawer__body\">\n <setting-drawer-item [data]=\"data['alain-default-header-hg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-header-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-header-padding']\"></setting-drawer-item>\n </div>\n </nz-tab>\n <nz-tab nzTitle=\"\u4FA7\u8FB9\u680F\">\n <setting-drawer-item [data]=\"data['alain-default-aside-wd']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-aside-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-aside-collapsed-wd']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-aside-nav-padding-top-bottom']\"></setting-drawer-item>\n </nz-tab>\n <nz-tab nzTitle=\"\u5185\u5BB9\">\n <setting-drawer-item [data]=\"data['alain-default-content-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-content-heading-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-content-heading-border']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-content-padding']\"></setting-drawer-item>\n </nz-tab>\n <nz-tab nzTitle=\"\u5176\u5B83\">\n <setting-drawer-item [data]=\"data['form-state-visual-feedback-enabled']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['preserve-white-spaces-enabled']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-radius']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-margin-right']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-max-width']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-max-height']\"></setting-drawer-item>\n </nz-tab>\n </nz-tabset>\n </div>\n <nz-divider></nz-divider>\n <div class=\"setting-drawer__body\">\n <div class=\"setting-drawer__body-item\">\n \u56FA\u5B9A\u5934\u548C\u4FA7\u8FB9\u680F\n <nz-switch\n nzSize=\"small\"\n [(ngModel)]=\"layout.fixed\"\n (ngModelChange)=\"setLayout('fixed', layout.fixed)\"\n ></nz-switch>\n </div>\n <div class=\"setting-drawer__body-item\">\n \u8272\u5F31\u6A21\u5F0F\n <nz-switch\n nzSize=\"small\"\n [(ngModel)]=\"layout.colorWeak\"\n (ngModelChange)=\"setLayout('colorWeak', layout.colorWeak)\"\n ></nz-switch>\n </div>\n </div>\n <nz-divider></nz-divider>\n <button (click)=\"apply()\" type=\"button\" nz-button nzType=\"primary\">\u9884\u89C8</button>\n <button (click)=\"reset()\" type=\"button\" nz-button>\u91CD\u7F6E</button>\n <button (click)=\"copyVar()\" type=\"button\" nz-button>\u62F7\u8D1D</button>\n <nz-alert\n class=\"mt-md\"\n nzType=\"warning\"\n nzMessage=\"\u914D\u7F6E\u680F\u53EA\u5728\u5F00\u53D1\u73AF\u5883\u7528\u4E8E\u9884\u89C8\uFF0C\u751F\u4EA7\u73AF\u5883\u4E0D\u4F1A\u5C55\u73B0\uFF0C\u8BF7\u62F7\u8D1D\u540E\u624B\u52A8\u4FEE\u6539\u53C2\u6570\u914D\u7F6E\u6587\u4EF6 src/styles/theme.less\"\n ></nz-alert>\n </div>\n</nz-drawer>\n<div\n class=\"setting-drawer__handle\"\n [ngClass]=\"{ 'setting-drawer__handle-opened': collapse }\"\n (click)=\"toggle()\"\n nz-tooltip\n [nzTooltipTitle]=\"isDev ? devTips : null\"\n>\n <i nz-icon [nzType]=\"!collapse ? 'setting' : 'close'\" class=\"setting-drawer__handle-icon\"></i>\n</div>\n",
388
- host: {
389
- '[class.setting-drawer]': 'true',
390
- '[class.setting-drawer-rtl]': `dir === 'rtl'`
391
- },
392
- changeDetection: ChangeDetectionStrategy.OnPush
393
- },] }
394
- ];
395
- SettingDrawerComponent.ctorParameters = () => [
396
- { type: ChangeDetectorRef },
397
- { type: NzMessageService },
398
- { type: SettingsService },
399
- { type: LazyService },
400
- { type: NgZone },
401
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
402
- { type: Directionality, decorators: [{ type: Optional }] }
403
- ];
404
- SettingDrawerComponent.propDecorators = {
405
- autoApplyColor: [{ type: Input }],
406
- compilingText: [{ type: Input }],
407
- devTips: [{ type: Input }]
408
- };
409
- __decorate([
410
- InputBoolean()
411
- ], SettingDrawerComponent.prototype, "autoApplyColor", void 0);
412
- __decorate([
413
- ZoneOutside()
414
- ], SettingDrawerComponent.prototype, "loadLess", null);
415
- __decorate([
416
- ZoneOutside()
417
- ], SettingDrawerComponent.prototype, "runLess", null);
418
-
419
- const COMPONENTS = [SettingDrawerItemComponent, SettingDrawerComponent];
420
- class SettingDrawerModule {
421
- }
422
- SettingDrawerModule.decorators = [
423
- { type: NgModule, args: [{
424
- imports: [
425
- CommonModule,
426
- FormsModule,
427
- NzDrawerModule,
428
- NzToolTipModule,
429
- NzDividerModule,
430
- NzTabsModule,
431
- NzSwitchModule,
432
- NzAlertModule,
433
- NzIconModule,
434
- NzInputModule,
435
- NzInputNumberModule,
436
- NzButtonModule
437
- ],
438
- declarations: COMPONENTS,
439
- exports: COMPONENTS
440
- },] }
441
- ];
442
-
443
- /**
444
- * Generated bundle index. Do not edit.
445
- */
446
-
447
- export { SettingDrawerComponent, SettingDrawerItemComponent, SettingDrawerModule };
448
- //# sourceMappingURL=setting-drawer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setting-drawer.js","sources":["../../../../packages/theme/setting-drawer/setting-drawer-item.component.ts","../../../../packages/theme/setting-drawer/setting-drawer.types.ts","../../../../packages/theme/setting-drawer/setting-drawer.component.ts","../../../../packages/theme/setting-drawer/setting-drawer.module.ts","../../../../packages/theme/setting-drawer/setting-drawer.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n selector: 'setting-drawer-item',\n templateUrl: './setting-drawer-item.component.html',\n host: {\n '[class.setting-drawer__body-item]': 'true'\n }\n})\nexport class SettingDrawerItemComponent {\n i: NzSafeAny = {};\n\n @Input()\n set data(val: NzSafeAny) {\n this.i = val;\n if (val.type === 'px') {\n this.pxVal = +val.value.replace('px', '');\n }\n }\n\n pxVal = 0;\n\n pxChange(val: number): void {\n this.i.value = `${val}px`;\n }\n\n format = (value: number): string => `${value} px`;\n}\n","import type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport const ALAINDEFAULTVAR = 'alain-default-vars';\nexport const DEFAULT_COLORS = [\n {\n key: 'dust',\n color: '#F5222D'\n },\n {\n key: 'volcano',\n color: '#FA541C'\n },\n {\n key: 'sunset',\n color: '#FAAD14'\n },\n {\n key: 'cyan',\n color: '#13C2C2'\n },\n {\n key: 'green',\n color: '#52C41A'\n },\n {\n key: 'daybreak',\n color: '#1890ff'\n },\n {\n key: 'geekblue',\n color: '#2F54EB'\n },\n {\n key: 'purple',\n color: '#722ED1'\n },\n {\n key: 'black',\n color: '#001529'\n }\n];\nexport const DEFAULT_VARS: { [key: string]: NzSafeAny } = {\n 'primary-color': { label: '主颜色', type: 'color', default: '#1890ff' },\n 'alain-default-header-hg': {\n label: '高',\n type: 'px',\n default: '64px',\n max: 300,\n min: 24\n },\n 'alain-default-header-bg': {\n label: '背景色',\n type: 'color',\n default: '@primary-color',\n tip: '默认同主色系'\n },\n 'alain-default-header-padding': {\n label: '顶部左右内边距',\n type: 'px',\n default: '16px'\n },\n // 侧边栏\n 'alain-default-aside-wd': { label: '宽度', type: 'px', default: '200px' },\n 'alain-default-aside-bg': {\n label: '背景',\n type: 'color',\n default: '#ffffff'\n },\n 'alain-default-aside-collapsed-wd': {\n label: '收缩宽度',\n type: 'px',\n default: '64px'\n },\n 'alain-default-aside-nav-padding-top-bottom': {\n label: '项上下内边距',\n type: 'px',\n default: '8px',\n step: 8\n },\n // 主菜单\n 'alain-default-aside-nav-fs': {\n label: '菜单字号',\n type: 'px',\n default: '14px',\n min: 14,\n max: 30\n },\n 'alain-default-aside-collapsed-nav-fs': {\n label: '收缩菜单字号',\n type: 'px',\n default: '24px',\n min: 24,\n max: 32\n },\n 'alain-default-aside-nav-item-height': {\n label: '菜单项高度',\n type: 'px',\n default: '38px',\n min: 24,\n max: 64\n },\n 'alain-default-aside-nav-text-color': {\n label: '菜单文本颜色',\n type: 'color',\n default: 'rgba(0, 0, 0, 0.65)',\n rgba: true\n },\n 'alain-default-aside-nav-text-hover-color': {\n label: '菜单文本悬停颜色',\n type: 'color',\n default: '@primary-color',\n tip: '默认同主色系'\n },\n 'alain-default-aside-nav-group-text-color': {\n label: '菜单分组文本颜色',\n type: 'color',\n default: 'rgba(0, 0, 0, 0.43)',\n rgba: true\n },\n 'alain-default-aside-nav-selected-text-color': {\n label: '菜单激活时文本颜色',\n type: 'color',\n default: '@primary-color',\n tip: '默认同主色系'\n },\n 'alain-default-aside-nav-selected-bg': {\n label: '菜单激活时背景颜色',\n type: 'color',\n default: '#fcfcfc'\n },\n // 内容\n 'alain-default-content-bg': {\n label: '背景色',\n type: 'color',\n default: '#f5f7fa'\n },\n 'alain-default-content-heading-bg': {\n label: '标题背景色',\n type: 'color',\n default: '#fafbfc'\n },\n 'alain-default-content-heading-border': {\n label: '标题底部边框色',\n type: 'color',\n default: '#efe3e5'\n },\n 'alain-default-content-padding': {\n label: '内边距',\n type: 'px',\n default: '24px',\n min: 0,\n max: 128,\n step: 8\n },\n // zorro组件修正\n 'form-state-visual-feedback-enabled': {\n label: '开启表单元素的视觉反馈',\n type: 'switch',\n default: true\n },\n 'preserve-white-spaces-enabled': {\n label: '开启 preserveWhitespaces',\n type: 'switch',\n default: true\n },\n 'nz-table-img-radius': {\n label: '表格中:图片圆角',\n type: 'px',\n default: '4px',\n min: 0,\n max: 128\n },\n 'nz-table-img-margin-right': {\n label: '表格中:图片右外边距',\n type: 'px',\n default: '4px',\n min: 0,\n max: 128\n },\n 'nz-table-img-max-width': {\n label: '表格中:图片最大宽度',\n type: 'px',\n default: '32px',\n min: 8,\n max: 128\n },\n 'nz-table-img-max-height': {\n label: '表格中:图片最大高度',\n type: 'px',\n default: '32px',\n min: 8,\n max: 128\n }\n};\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n isDevMode,\n NgZone,\n OnDestroy,\n OnInit,\n Optional\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Layout, SettingsService } from '@delon/theme';\nimport { copy } from '@delon/util/browser';\nimport { InputBoolean, ZoneOutside } from '@delon/util/decorator';\nimport { deepCopy, LazyService } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { ALAINDEFAULTVAR, DEFAULT_COLORS, DEFAULT_VARS } from './setting-drawer.types';\n\n@Component({\n selector: 'setting-drawer',\n templateUrl: './setting-drawer.component.html',\n host: {\n '[class.setting-drawer]': 'true',\n '[class.setting-drawer-rtl]': `dir === 'rtl'`\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SettingDrawerComponent implements OnInit, OnDestroy {\n @Input() @InputBoolean() autoApplyColor = true;\n @Input() compilingText = 'Compiling...';\n @Input() devTips = `When the color can't be switched, you need to run it once: npm run color-less`;\n\n private loadedLess = false;\n private destroy$ = new Subject<void>();\n dir: Direction = 'ltr';\n isDev = isDevMode();\n collapse = false;\n get layout(): Layout {\n return this.settingSrv.layout;\n }\n data: NzSafeAny = {};\n color: string;\n colors = DEFAULT_COLORS;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private msg: NzMessageService,\n private settingSrv: SettingsService,\n private lazy: LazyService,\n private ngZone: NgZone,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n @Optional() private directionality: Directionality\n ) {\n this.color = this.cachedData['@primary-color'] || this.DEFAULT_PRIMARY;\n this.resetData(this.cachedData, false);\n }\n\n private get cachedData(): { [key: string]: NzSafeAny } {\n return this.settingSrv.layout[ALAINDEFAULTVAR] || {};\n }\n\n private get DEFAULT_PRIMARY(): string {\n return DEFAULT_VARS['primary-color'].default;\n }\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n });\n if (this.autoApplyColor && this.color !== this.DEFAULT_PRIMARY) {\n this.changeColor(this.color);\n this.runLess();\n }\n }\n\n @ZoneOutside()\n private async loadLess(): Promise<void> {\n if (this.loadedLess) {\n return Promise.resolve();\n }\n return this.lazy\n .loadStyle('./assets/color.less', 'stylesheet/less')\n .then(() => {\n const lessConfigNode = this.doc.createElement('script');\n lessConfigNode.innerHTML = `\n window.less = {\n async: true,\n env: 'production',\n javascriptEnabled: true\n };\n `;\n this.doc.body.appendChild(lessConfigNode);\n })\n .then(() => this.lazy.loadScript('https://gw.alipayobjects.com/os/lib/less.js/3.8.1/less.min.js'))\n .then(() => {\n this.loadedLess = true;\n });\n }\n\n private genVars(): NzSafeAny {\n const { data, color, validKeys } = this;\n const vars: { [key: string]: string } = {\n [`@primary-color`]: color\n };\n validKeys.filter(key => key !== 'primary-color').forEach(key => (vars[`@${key}`] = data[key].value));\n this.setLayout(ALAINDEFAULTVAR, vars);\n return vars;\n }\n\n @ZoneOutside()\n private runLess(): void {\n const { ngZone, msg, cdr } = this;\n const msgId = msg.loading(this.compilingText, { nzDuration: 0 }).messageId;\n setTimeout(() => {\n this.loadLess().then(() => {\n (window as NzSafeAny).less.modifyVars(this.genVars()).then(() => {\n msg.success('成功');\n msg.remove(msgId);\n ngZone.run(() => cdr.detectChanges());\n });\n });\n }, 200);\n }\n\n toggle(): void {\n this.collapse = !this.collapse;\n }\n\n changeColor(color: string): void {\n this.color = color;\n Object.keys(DEFAULT_VARS)\n .filter(key => DEFAULT_VARS[key].default === '@primary-color')\n .forEach(key => delete this.cachedData[`@${key}`]);\n this.resetData(this.cachedData, false);\n }\n\n setLayout(name: string, value: NzSafeAny): void {\n this.settingSrv.setLayout(name, value);\n }\n\n private resetData(nowData?: { [key: string]: NzSafeAny }, run: boolean = true): void {\n nowData = nowData || {};\n const data = deepCopy(DEFAULT_VARS);\n Object.keys(data).forEach(key => {\n const value = nowData![`@${key}`] || data[key].default || '';\n data[key].value = value === `@primary-color` ? this.color : value;\n });\n this.data = data;\n if (run) {\n this.cdr.detectChanges();\n this.runLess();\n }\n }\n\n private get validKeys(): string[] {\n return Object.keys(this.data).filter(key => this.data[key].value !== this.data[key].default);\n }\n\n apply(): void {\n this.runLess();\n }\n\n reset(): void {\n this.color = this.DEFAULT_PRIMARY;\n this.settingSrv.setLayout(ALAINDEFAULTVAR, {});\n this.resetData({});\n }\n\n copyVar(): void {\n const vars = this.genVars();\n const copyContent = Object.keys(vars)\n .map(key => `${key}: ${vars[key]};`)\n .join('\\n');\n copy(copyContent);\n this.msg.success('Copy success');\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzAlertModule } from 'ng-zorro-antd/alert';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSwitchModule } from 'ng-zorro-antd/switch';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { SettingDrawerItemComponent } from './setting-drawer-item.component';\nimport { SettingDrawerComponent } from './setting-drawer.component';\n\nconst COMPONENTS = [SettingDrawerItemComponent, SettingDrawerComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n NzDrawerModule,\n NzToolTipModule,\n NzDividerModule,\n NzTabsModule,\n NzSwitchModule,\n NzAlertModule,\n NzIconModule,\n NzInputModule,\n NzInputNumberModule,\n NzButtonModule\n ],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class SettingDrawerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}