homebridge-config-ui-x 5.0.0-beta.76 → 5.0.0-beta.77
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/CHANGELOG.md +1 -0
- package/dist/modules/server/server.controller.d.ts +5 -1
- package/dist/modules/server/server.controller.js +43 -2
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +2 -0
- package/dist/modules/server/server.service.js +16 -0
- package/dist/modules/server/server.service.js.map +1 -1
- package/package.json +1 -1
- package/public/{chunk-5W6SCDV6.js → chunk-25ISVLXC.js} +1 -1
- package/public/{chunk-DONFV37G.js → chunk-2MSFZNDZ.js} +1 -1
- package/public/{chunk-OVVOFARC.js → chunk-2UWTSMX3.js} +1 -1
- package/public/{chunk-FPB7CGNC.js → chunk-2ZEWMLQG.js} +1 -1
- package/public/{chunk-ZHNSZ7X2.js → chunk-37FVXLTH.js} +1 -1
- package/public/{chunk-6A5CZTWZ.js → chunk-3S5DXXOF.js} +1 -1
- package/public/{chunk-ZRQ5KKRJ.js → chunk-3TQRIWPA.js} +1 -1
- package/public/chunk-3YH76G4Q.js +1 -0
- package/public/chunk-4AUMYN6J.js +1 -0
- package/public/{chunk-U6S6F3SC.js → chunk-4VIXAFH5.js} +1 -1
- package/public/{chunk-SB7IBDLB.js → chunk-55BN66AX.js} +1 -1
- package/public/{chunk-GKWVMOET.js → chunk-5X2MRBQA.js} +1 -1
- package/public/{chunk-ETPKWO5V.js → chunk-6FASN3MD.js} +1 -1
- package/public/{chunk-3HFD5GJN.js → chunk-6HKI724F.js} +1 -1
- package/public/{chunk-5BL6PCNR.js → chunk-7GYDUXMU.js} +1 -1
- package/public/{chunk-7S7G7E6P.js → chunk-7TVHJ2GH.js} +1 -1
- package/public/chunk-AWO5LOJT.js +1 -0
- package/public/{chunk-5NGLQJJS.js → chunk-C375S7ZB.js} +1 -1
- package/public/{chunk-PWSUWMHH.js → chunk-CQ242CGY.js} +1 -1
- package/public/{chunk-CNVA3LLU.js → chunk-CZLQGA7E.js} +1 -1
- package/public/{chunk-V2SMMSMC.js → chunk-DG3NLZF3.js} +1 -1
- package/public/chunk-DGB4Z6YE.js +1 -0
- package/public/{chunk-2VTMBAA3.js → chunk-EP6Z6H7W.js} +1 -1
- package/public/{chunk-A3GH5UM5.js → chunk-EPVBHJMO.js} +1 -1
- package/public/{chunk-OOXWGEYZ.js → chunk-ESOONFXO.js} +1 -1
- package/public/{chunk-DTEN7TFT.js → chunk-GJSBDQUE.js} +1 -1
- package/public/{chunk-HVJ23MRE.js → chunk-HOS4YIX7.js} +1 -1
- package/public/chunk-I3CUYGV7.js +1 -0
- package/public/{chunk-Z3ALWMOS.js → chunk-IBU5YEEM.js} +1 -1
- package/public/{chunk-XH4RYJ6Y.js → chunk-IEZW2VEP.js} +1 -1
- package/public/chunk-IMOI4TFW.js +1 -0
- package/public/{chunk-ILUFFLLG.js → chunk-JOVQADHI.js} +1 -1
- package/public/{chunk-T6FL3CCM.js → chunk-KXCGRB3G.js} +1 -1
- package/public/{chunk-GSNP5K6X.js → chunk-LHN4UAQA.js} +1 -1
- package/public/{chunk-BW24SUSK.js → chunk-LNYT3SKC.js} +1 -1
- package/public/{chunk-6ROJUYIC.js → chunk-M2R6QPFI.js} +1 -1
- package/public/chunk-MTQTKA5O.js +1 -0
- package/public/chunk-NMIYLSIZ.js +1 -0
- package/public/chunk-OC33GC55.js +1 -0
- package/public/chunk-PGKEDZHN.js +1 -0
- package/public/{chunk-LUWQZ3SC.js → chunk-PZKA3UJH.js} +1 -1
- package/public/chunk-PZUTTO4V.js +1 -0
- package/public/chunk-QIFR6XR6.js +1 -0
- package/public/{chunk-MYN3AAWO.js → chunk-QIV7YSY4.js} +1 -1
- package/public/chunk-QQOK3KJT.js +1 -0
- package/public/{chunk-IP3KHS2K.js → chunk-S54GY5PX.js} +1 -1
- package/public/{chunk-TCJEY6SZ.js → chunk-SBMAEWZL.js} +1 -1
- package/public/{chunk-UHL5ARSB.js → chunk-SGZRBB5V.js} +1 -1
- package/public/{chunk-J4USS3TJ.js → chunk-SOF2B4MD.js} +1 -1
- package/public/{chunk-3TXWUXFU.js → chunk-SX6UWGJ4.js} +1 -1
- package/public/{chunk-4RLAAHQO.js → chunk-TE7XO5CJ.js} +1 -1
- package/public/{chunk-GFBM6MCU.js → chunk-UFV3R2Q7.js} +1 -1
- package/public/chunk-VEN3Q2Q4.js +1 -0
- package/public/{chunk-2UMHCTKQ.js → chunk-VS5PRHN6.js} +1 -1
- package/public/{chunk-G43HU5Q5.js → chunk-WP2UTBVE.js} +1 -1
- package/public/chunk-WTFNIBFS.js +1 -0
- package/public/{chunk-66WXYXRV.js → chunk-XPN5TMQN.js} +1 -1
- package/public/chunk-YKWTDK3T.js +1 -0
- package/public/{chunk-3KEKNJHK.js → chunk-Z7KU3HYE.js} +1 -1
- package/public/{chunk-WNQ3ZPRR.js → chunk-ZSBJ7N3G.js} +1 -1
- package/public/index.html +1 -1
- package/public/main-QPGMWLZX.js +1 -0
- package/public/chunk-2IFXAVZX.js +0 -1
- package/public/chunk-2LXRWE65.js +0 -1
- package/public/chunk-2WSC6B2N.js +0 -1
- package/public/chunk-4PXS64Y6.js +0 -1
- package/public/chunk-BCSWG6SE.js +0 -1
- package/public/chunk-CX3YFWUG.js +0 -1
- package/public/chunk-CZCRTSM7.js +0 -1
- package/public/chunk-HLYXUMFJ.js +0 -1
- package/public/chunk-ILS4HCUL.js +0 -1
- package/public/chunk-IZSJEHPY.js +0 -1
- package/public/chunk-S7QXG5F2.js +0 -1
- package/public/chunk-T34MBGSG.js +0 -1
- package/public/chunk-WXKGTM52.js +0 -1
- package/public/chunk-X63C4XBV.js +0 -1
- package/public/chunk-YXX7ION6.js +0 -1
- package/public/chunk-Z26UR5NK.js +0 -1
- package/public/main-RD7O64IM.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -43,6 +43,7 @@ All notable changes to `homebridge-config-ui-x` will be documented in this file.
|
|
|
43
43
|
- use `ajv-keywords` to allow validation of unique properties in arrays
|
|
44
44
|
- fix form field error state font colour (make it red)
|
|
45
45
|
- redesigned login page
|
|
46
|
+
- improve wallpaper selection with new modal to upload a file
|
|
46
47
|
|
|
47
48
|
### Other Changes
|
|
48
49
|
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import type { FastifyRequest } from 'fastify';
|
|
2
|
+
import { Logger } from '../../core/logger/logger.service';
|
|
1
3
|
import { ChildBridgesService } from '../child-bridges/child-bridges.service';
|
|
2
4
|
import { HomebridgeMdnsSettingDto, HomebridgeNetworkInterfacesDto } from './server.dto';
|
|
3
5
|
import { ServerService } from './server.service';
|
|
4
6
|
export declare class ServerController {
|
|
5
7
|
private serverService;
|
|
6
8
|
private childBridgesService;
|
|
7
|
-
|
|
9
|
+
private logger;
|
|
10
|
+
constructor(serverService: ServerService, childBridgesService: ChildBridgesService, logger: Logger);
|
|
8
11
|
restartServer(): Promise<{
|
|
9
12
|
ok: boolean;
|
|
10
13
|
command: string;
|
|
@@ -71,4 +74,5 @@ export declare class ServerController {
|
|
|
71
74
|
setHomebridgePort(body: {
|
|
72
75
|
port: number;
|
|
73
76
|
}): Promise<void>;
|
|
77
|
+
uploadWallpaper(req: FastifyRequest): Promise<void>;
|
|
74
78
|
}
|
|
@@ -17,13 +17,15 @@ const common_1 = require("@nestjs/common");
|
|
|
17
17
|
const passport_1 = require("@nestjs/passport");
|
|
18
18
|
const swagger_1 = require("@nestjs/swagger");
|
|
19
19
|
const admin_guard_1 = require("../../core/auth/guards/admin.guard");
|
|
20
|
+
const logger_service_1 = require("../../core/logger/logger.service");
|
|
20
21
|
const child_bridges_service_1 = require("../child-bridges/child-bridges.service");
|
|
21
22
|
const server_dto_1 = require("./server.dto");
|
|
22
23
|
const server_service_1 = require("./server.service");
|
|
23
24
|
let ServerController = class ServerController {
|
|
24
|
-
constructor(serverService, childBridgesService) {
|
|
25
|
+
constructor(serverService, childBridgesService, logger) {
|
|
25
26
|
this.serverService = serverService;
|
|
26
27
|
this.childBridgesService = childBridgesService;
|
|
28
|
+
this.logger = logger;
|
|
27
29
|
}
|
|
28
30
|
restartServer() {
|
|
29
31
|
return this.serverService.restartServer();
|
|
@@ -101,6 +103,21 @@ let ServerController = class ServerController {
|
|
|
101
103
|
setHomebridgePort(body) {
|
|
102
104
|
return this.serverService.setHomebridgePort(body.port);
|
|
103
105
|
}
|
|
106
|
+
async uploadWallpaper(req) {
|
|
107
|
+
try {
|
|
108
|
+
const data = await req.file();
|
|
109
|
+
if (data.file.truncated) {
|
|
110
|
+
throw new common_1.InternalServerErrorException(`Restore file exceeds maximum size ${globalThis.backup.maxBackupSizeText}.`);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
await this.serverService.uploadWallpaper(data);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
this.logger.error(`Wallpaper upload failed as ${err.message}`);
|
|
118
|
+
throw new common_1.InternalServerErrorException(err.message);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
104
121
|
};
|
|
105
122
|
exports.ServerController = ServerController;
|
|
106
123
|
__decorate([
|
|
@@ -351,12 +368,36 @@ __decorate([
|
|
|
351
368
|
__metadata("design:paramtypes", [Object]),
|
|
352
369
|
__metadata("design:returntype", void 0)
|
|
353
370
|
], ServerController.prototype, "setHomebridgePort", null);
|
|
371
|
+
__decorate([
|
|
372
|
+
(0, common_1.UseGuards)(admin_guard_1.AdminGuard),
|
|
373
|
+
(0, common_1.Post)('/wallpaper'),
|
|
374
|
+
(0, swagger_1.ApiOperation)({
|
|
375
|
+
summary: 'Upload and set a new wallpaper.',
|
|
376
|
+
}),
|
|
377
|
+
(0, swagger_1.ApiConsumes)('multipart/form-data'),
|
|
378
|
+
(0, swagger_1.ApiBody)({
|
|
379
|
+
schema: {
|
|
380
|
+
type: 'object',
|
|
381
|
+
properties: {
|
|
382
|
+
file: {
|
|
383
|
+
type: 'string',
|
|
384
|
+
format: 'binary',
|
|
385
|
+
},
|
|
386
|
+
},
|
|
387
|
+
},
|
|
388
|
+
}),
|
|
389
|
+
__param(0, (0, common_1.Req)()),
|
|
390
|
+
__metadata("design:type", Function),
|
|
391
|
+
__metadata("design:paramtypes", [Object]),
|
|
392
|
+
__metadata("design:returntype", Promise)
|
|
393
|
+
], ServerController.prototype, "uploadWallpaper", null);
|
|
354
394
|
exports.ServerController = ServerController = __decorate([
|
|
355
395
|
(0, swagger_1.ApiTags)('Homebridge'),
|
|
356
396
|
(0, swagger_1.ApiBearerAuth)(),
|
|
357
397
|
(0, common_1.UseGuards)((0, passport_1.AuthGuard)()),
|
|
358
398
|
(0, common_1.Controller)('server'),
|
|
359
399
|
__metadata("design:paramtypes", [server_service_1.ServerService,
|
|
360
|
-
child_bridges_service_1.ChildBridgesService
|
|
400
|
+
child_bridges_service_1.ChildBridgesService,
|
|
401
|
+
logger_service_1.Logger])
|
|
361
402
|
], ServerController);
|
|
362
403
|
//# sourceMappingURL=server.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.controller.js","sourceRoot":"","sources":["../../../src/modules/server/server.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"server.controller.js","sourceRoot":"","sources":["../../../src/modules/server/server.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { MultipartFile } from '@fastify/multipart';
|
|
1
2
|
import type { Systeminformation } from 'systeminformation';
|
|
2
3
|
import { ServiceUnavailableException } from '@nestjs/common';
|
|
3
4
|
import { ConfigService } from '../../core/config/config.service';
|
|
@@ -76,4 +77,5 @@ export declare class ServerService {
|
|
|
76
77
|
setHomebridgeName(name: string): Promise<void>;
|
|
77
78
|
setHomebridgePort(port: number): Promise<void>;
|
|
78
79
|
private nodeVersionChanged;
|
|
80
|
+
uploadWallpaper(data: MultipartFile): Promise<void>;
|
|
79
81
|
}
|
|
@@ -17,6 +17,8 @@ const node_buffer_1 = require("node:buffer");
|
|
|
17
17
|
const node_child_process_1 = require("node:child_process");
|
|
18
18
|
const node_path_1 = require("node:path");
|
|
19
19
|
const node_process_1 = __importDefault(require("node:process"));
|
|
20
|
+
const node_stream_1 = require("node:stream");
|
|
21
|
+
const node_util_1 = require("node:util");
|
|
20
22
|
const hap_types_1 = require("@homebridge/hap-client/dist/hap-types");
|
|
21
23
|
const common_1 = require("@nestjs/common");
|
|
22
24
|
const fs_extra_1 = require("fs-extra");
|
|
@@ -28,6 +30,7 @@ const homebridge_ipc_service_1 = require("../../core/homebridge-ipc/homebridge-i
|
|
|
28
30
|
const logger_service_1 = require("../../core/logger/logger.service");
|
|
29
31
|
const accessories_service_1 = require("../accessories/accessories.service");
|
|
30
32
|
const config_editor_service_1 = require("../config-editor/config-editor.service");
|
|
33
|
+
const pump = (0, node_util_1.promisify)(node_stream_1.pipeline);
|
|
31
34
|
let ServerService = class ServerService {
|
|
32
35
|
constructor(configService, configEditorService, accessoriesService, homebridgeIpcService, logger) {
|
|
33
36
|
this.configService = configService;
|
|
@@ -440,6 +443,19 @@ let ServerService = class ServerService {
|
|
|
440
443
|
});
|
|
441
444
|
});
|
|
442
445
|
}
|
|
446
|
+
async uploadWallpaper(data) {
|
|
447
|
+
const configFile = await this.configEditorService.getConfigFile();
|
|
448
|
+
const uiConfigBlock = configFile.platforms.find(x => x.platform === 'config');
|
|
449
|
+
if (uiConfigBlock) {
|
|
450
|
+
const fileExtension = (0, node_path_1.extname)(data.filename);
|
|
451
|
+
const targetPath = (0, node_path_1.join)(this.configService.storagePath, `ui-wallpaper${fileExtension}`);
|
|
452
|
+
const writeStream = (0, fs_extra_1.createWriteStream)(targetPath);
|
|
453
|
+
await pump(data.file, writeStream);
|
|
454
|
+
uiConfigBlock.loginWallpaper = (0, node_path_1.resolve)(this.configService.storagePath, `ui-wallpaper${fileExtension}`);
|
|
455
|
+
await this.configEditorService.updateConfigFile(configFile);
|
|
456
|
+
this.logger.log('Wallpaper uploaded and set in the config file.');
|
|
457
|
+
}
|
|
458
|
+
}
|
|
443
459
|
};
|
|
444
460
|
exports.ServerService = ServerService;
|
|
445
461
|
exports.ServerService = ServerService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.service.js","sourceRoot":"","sources":["../../../src/modules/server/server.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.service.js","sourceRoot":"","sources":["../../../src/modules/server/server.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-config-ui-x",
|
|
3
3
|
"displayName": "Homebridge UI",
|
|
4
|
-
"version": "5.0.0-beta.
|
|
4
|
+
"version": "5.0.0-beta.77",
|
|
5
5
|
"description": "A web based management, configuration and control platform for Homebridge.",
|
|
6
6
|
"author": "oznu <dev@oz.nu>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as n}from"./chunk-QR7L4UUP.js";import{b as s}from"./chunk-
|
|
1
|
+
import{d as n}from"./chunk-QR7L4UUP.js";import{b as s}from"./chunk-WP2UTBVE.js";import{ga as o,h as r,la as e,w as i}from"./chunk-U4V4ICSI.js";var l=(()=>{class t{$router=e(n);$settings=e(s);constructor(){}canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as w,k as S}from"./chunk-
|
|
1
|
+
import{h as w,k as S}from"./chunk-37FVXLTH.js";import{a as _,b as h}from"./chunk-DJKI5XBW.js";import{$a as e,Ac as s,Bc as m,Hb as d,Ib as c,Ob as n,Pb as i,Qb as u,Yb as v,jc as o,kc as a,la as p,lb as f}from"./chunk-U4V4ICSI.js";function y(t,C){t&1&&(n(0,"p",7),o(1),s(2,"translate"),i()),t&2&&(e(),a(m(2,1,"platform.linux.server_will_power_down")))}function g(t,C){if(t&1&&(n(0,"div",8),o(1),i()),t&2){let r=v();e(),a(r.error)}}var B=(()=>{class t{$api=p(S);$toastr=p(w);$translate=p(_);error=!1;constructor(){}ngOnInit(){this.$api.put("/platform-tools/linux/shutdown-host",{}).subscribe({error:r=>{console.error(r),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=f({type:t,selectors:[["ng-component"]],decls:13,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"]],template:function(l,x){l&1&&(n(0,"div",0)(1,"h3",1),o(2),s(3,"translate"),i()(),n(4,"div",2)(5,"div",3),u(6,"i",4),i(),n(7,"div",5)(8,"h4",6),o(9),s(10,"translate"),i(),d(11,y,3,3,"p",7),d(12,g,2,1,"div",8),i()()),l&2&&(e(2),a(m(3,4,"menu.restart.title")),e(7),a(m(10,6,"platform.linux.shutting_down_server")),e(2),c(x.error?-1:11),e(),c(x.error?12:-1))},dependencies:[h],encapsulation:2})}return t})();export{B as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as i}from"./chunk-QR7L4UUP.js";import{c as s}from"./chunk-
|
|
1
|
+
import{d as i}from"./chunk-QR7L4UUP.js";import{c as s}from"./chunk-7GYDUXMU.js";import{h as o}from"./chunk-37FVXLTH.js";import{a}from"./chunk-DJKI5XBW.js";import{ga as e,la as r}from"./chunk-U4V4ICSI.js";var v=(()=>{class t{$auth=r(s);$router=r(i);$translate=r(a);$toastr=r(o);constructor(){}canActivate(){return this.$auth.user&&this.$auth.user.admin?!0:(this.$toastr.error(this.$translate.instant("toast.no_auth"),this.$translate.instant("toast.title_error")),this.$router.navigate(["/"]),!1)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=e({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{v as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as X}from"./chunk-3TXWUXFU.js";import{n as j}from"./chunk-7S2SCSTB.js";import{A as G,c as B,d as v,e as P,f as V,g as O,j as z,m as R,p as W,q as N,z as D}from"./chunk-HLSZVFAU.js";import{e as L}from"./chunk-QR7L4UUP.js";import{c as Q}from"./chunk-5BL6PCNR.js";import{b as J}from"./chunk-G43HU5Q5.js";import{h as q,j as T,k as K}from"./chunk-ZHNSZ7X2.js";import{l as M}from"./chunk-ASBFWS7L.js";import{a as H,b as A}from"./chunk-DJKI5XBW.js";import{$a as i,Ac as s,Bc as l,Hb as _,Ib as f,Nb as h,Ob as n,Pb as o,Qb as d,Ub as k,Xb as b,Yb as m,bd as I,h as y,jc as p,kc as c,la as g,lb as E,lc as w,ra as C,sa as x,w as S,wc as $,xc as F}from"./chunk-U4V4ICSI.js";var U=(t,u)=>({"is-valid":t,"is-invalid":u}),Z=t=>({"button-loading":t});function ee(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",3),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"button",5),b("click",function(){C(e);let a=m();return x(a.onClickGettingStarted())}),p(6),s(7,"translate"),o(),n(8,"small",6)(9,"a",7),b("click",function(){C(e);let a=m();return x(a.onClickRestoreBackup())}),p(10),s(11,"translate"),o()()()}t&2&&(i(3),c(l(4,3,"setup.welcome_to_homebridge")),i(3),w(" ",l(7,5,"setup.button_get_started")," "),i(4),c(l(11,7,"setup_wizard_message_restore")))}function te(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"div",9)(6,"p"),p(7),s(8,"translate"),o(),n(9,"form",10),b("ngSubmit",function(){C(e);let a=m();return x(a.createFirstUser())}),n(10,"div",11)(11,"span",12),d(12,"i",13),o(),d(13,"input",14),s(14,"translate"),o(),n(15,"div",11)(16,"span",12),d(17,"i",15),o(),d(18,"input",16),s(19,"translate"),o(),n(20,"div",17)(21,"span",12),d(22,"i",15),o(),d(23,"input",18),s(24,"translate"),o(),n(25,"div",19)(26,"button",20),p(27),s(28,"translate"),d(29,"i",21),o()()()()()}if(t&2){let e=m();i(3),c(l(4,15,"setup.create_account")),i(4),c(l(8,17,"setup.create_account_reason")),i(2),h("formGroup",e.createUserForm),i(4),h("placeholder",l(14,19,"users.label_username"))("readonly",e.loading)("ngClass",F(27,U,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid)),i(5),h("placeholder",l(19,21,"users.label_password"))("readonly",e.loading)("ngClass",F(30,U,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors)),i(5),h("placeholder",l(24,23,"users.label_confirm_password"))("readonly",e.loading)("ngClass",F(33,U,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors)),i(3),h("disabled",e.createUserForm.invalid||e.loading)("ngClass",$(36,Z,e.loading)),i(),w(" ",l(28,25,"setup.create_account")," ")}}function ie(t,u){t&1&&(n(0,"span"),d(1,"i",26),p(2),s(3,"translate"),o()),t&2&&(i(2),w(" ",l(3,1,"backup.label_uploading")," "))}function ne(t,u){t&1&&(p(0),s(1,"translate")),t&2&&w(" ",l(1,1,"backup.button_restore_backup")," ")}function oe(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"p"),p(6),s(7,"translate"),o(),n(8,"input",22),b("change",function(a){C(e);let Y=m();return x(Y.handleRestoreFileInput(a.target.files))}),o(),n(9,"div",23)(10,"button",24),b("click",function(){C(e);let a=m();return x(a.onClickCancelRestore())}),p(11),s(12,"translate"),o(),n(13,"button",25),b("click",function(){C(e);let a=m();return x(a.onRestoreBackupClick())}),_(14,ie,4,3,"span"),_(15,ne,2,3),o()()()}if(t&2){let e=m();i(3),c(l(4,7,"form.button_restore")),i(3),c(l(7,9,"backup.restore_help_one")),i(4),h("disabled",e.restoreUploading),i(),w(" ",l(12,11,"form.button_cancel")," "),i(2),h("disabled",e.restoreUploading||!e.selectedFile),i(),f(e.restoreUploading?14:-1),i(),f(e.restoreUploading?-1:15)}}function re(t,u){t&1&&(n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"h1"),d(6,"i",26),o()()),t&2&&(i(3),c(l(4,1,"restart.title_restart")))}function ae(t,u){t&1&&(n(0,"div",2),d(1,"img",8),n(2,"h3",27),p(3),s(4,"translate"),o(),n(5,"p",28),p(6),s(7,"translate"),o(),n(8,"a",29),p(9),s(10,"translate"),o()()),t&2&&(i(3),c(l(4,3,"setup_wizard_message_complete_title")),i(3),c(l(7,5,"setup_wizard_message_complete_message")),i(3),c(l(10,7,"setup.open_dashboard")))}var Se=(()=>{class t{$api=g(K);$auth=g(Q);$modal=g(j);$settings=g(J);$title=g(M);$toastr=g(q);$translate=g(H);previousTitle;step="welcome";createUserForm=new O({username:new z("",[v.required]),password:new z("",[v.compose([v.required,v.minLength(4)])]),passwordConfirm:new z("",[v.required])},this.matchPassword);loading=!1;selectedFile;restoreUploading=!1;constructor(){}ngOnInit(){this.previousTitle=this.$title.getTitle(),this.$title.setTitle("Setup Homebridge")}matchPassword(e){let r=e.get("password").value,a=e.get("passwordConfirm").value;if(r!==a)e.get("passwordConfirm").setErrors({matchPassword:!0});else return null}ngOnDestroy(){this.$title.setTitle(this.previousTitle)}onClickGettingStarted(){this.step="create-account"}onClickRestoreBackup(){this.step="restore-backup"}onClickCancelRestore(){this.selectedFile=null,this.step="welcome"}createFirstUser(){this.loading=!0;let e=this.createUserForm.getRawValue();e.name=e.username,this.$api.post("/setup-wizard/create-first-user",e).subscribe({next:()=>y(this,null,function*(){this.$settings.env.setupWizardComplete=!0,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}),error:r=>{this.loading=!1,console.error(r),this.$toastr.error(r.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?this.selectedFile=e[0]:delete this.selectedFile}onRestoreBackupClick(){this.restoreUploading=!0,this.uploadHomebridgeArchive()}uploadHomebridgeArchive(){return y(this,null,function*(){try{let e=yield S(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(T.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token;let r=new FormData;r.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield S(this.$api.post("/backup/restore",r)),this.openRestoreModal(),this.restoreUploading=!1}catch(e){this.restoreUploading=!1,console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}openRestoreModal(){let e=this.$modal.open(X,{size:"lg",backdrop:"static"});e.componentInstance.setupWizardRestore=!0,e.result.then(r=>{r===!0&&this.waitForHomebridgeToRestart()})}waitForHomebridgeToRestart(){return y(this,null,function*(){this.step="restarting",window.localStorage.removeItem(T.jwt.tokenKey),this.$auth.token=null,yield new Promise(r=>setTimeout(r,15e3));let e=setInterval(()=>y(this,null,function*(){try{yield S(this.$api.get("/auth/settings")),clearInterval(e),location.reload()}catch{}}),1e3)})}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=E({type:t,selectors:[["ng-component"]],decls:7,vars:5,consts:[[1,"setup-container","d-flex","align-items-center","justify-content-center"],[1,"w-100","setup-card","d-flex","py-5"],[1,"w-100","d-flex","flex-column","align-items-center"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","mx-auto"],[1,"pt-4","pb-3","text-center"],["type","button",1,"btn","btn-lg","btn-primary",3,"click"],[1,"mt-3"],["href","javascript:void(0)",1,"grey-text",3,"click"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","homebridge-logo-small","mx-auto"],[1,"w-100"],["novalidate","",3,"ngSubmit","formGroup"],[1,"md-form","input-group","mb-3"],[1,"input-group-text","custom-input"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","new-password","tabindex","2",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"md-form","input-group","mb-4"],["formControlName","passwordConfirm","type","password","id","form-pass-confirm","autocomplete","new-password","tabindex","2",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"w-100","text-center"],["type","submit",1,"btn","btn-primary",3,"disabled","ngClass"],[1,"button-loading-overlay","fas","fa-fw","fa-spinner","fa-pulse"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz",1,"form-control",3,"change"],[1,"mt-3","w-100","d-flex","justify-content-between"],["type","button",1,"btn","btn-elegant","ms-0",3,"click","disabled"],["type","button",1,"btn","btn-primary","me-0",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"pt-4","pb-3"],[1,"text-center"],["routerLink","/",1,"btn","btn-lg","btn-primary","mt-3"]],template:function(r,a){r&1&&(n(0,"div",0)(1,"div",1),_(2,ee,12,9,"div",2),_(3,te,30,38,"div",2),_(4,oe,16,13,"div",2),_(5,re,7,3,"div",2),_(6,ae,11,9,"div",2),o()()),r&2&&(i(2),f(a.step==="welcome"?2:-1),i(),f(a.step==="create-account"?3:-1),i(),f(a.step==="restore-backup"?4:-1),i(),f(a.step==="restarting"?5:-1),i(),f(a.step==="setup-complete"?6:-1))},dependencies:[D,R,B,P,V,G,W,N,I,L,A],styles:[".setup-container[_ngcontent-%COMP%]{background-size:cover;z-index:-1;padding-top:1em;padding-bottom:1em}@media screen and (min-height: 500px) and (min-width: 600px){.setup-container[_ngcontent-%COMP%]{padding-top:4em}}.setup-card[_ngcontent-%COMP%]{max-width:600px;border-radius:15px;background-color:#fff;padding-right:25px;padding-left:25px}.setup-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 600px){.setup-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}} body.dark-mode .setup-card{background-color:#2b2b2b;color:#fff}.homebridge-logo[_ngcontent-%COMP%]{margin-right:10px;height:200px}@media screen and (max-height: 500px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}@media screen and (max-width: 600px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}.homebridge-logo-small[_ngcontent-%COMP%]{height:50px}.button-loading[_ngcontent-%COMP%]{position:relative;color:#0000}.button-loading[_ngcontent-%COMP%] .button-loading-overlay[_ngcontent-%COMP%]{display:block;color:#fff}.button-loading-overlay[_ngcontent-%COMP%]{display:none;position:absolute;top:9px;left:0;right:0}small[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})}return t})();export{Se as a};
|
|
1
|
+
import{b as X}from"./chunk-SX6UWGJ4.js";import{n as j}from"./chunk-7S2SCSTB.js";import{A as G,c as B,d as v,e as P,f as V,g as O,j as z,m as R,p as W,q as N,z as D}from"./chunk-HLSZVFAU.js";import{e as L}from"./chunk-QR7L4UUP.js";import{c as Q}from"./chunk-7GYDUXMU.js";import{b as J}from"./chunk-WP2UTBVE.js";import{h as q,j as T,k as K}from"./chunk-37FVXLTH.js";import{l as M}from"./chunk-ASBFWS7L.js";import{a as H,b as A}from"./chunk-DJKI5XBW.js";import{$a as i,Ac as s,Bc as l,Hb as _,Ib as f,Nb as h,Ob as n,Pb as o,Qb as d,Ub as k,Xb as b,Yb as m,bd as I,h as y,jc as p,kc as c,la as g,lb as E,lc as w,ra as C,sa as x,w as S,wc as $,xc as F}from"./chunk-U4V4ICSI.js";var U=(t,u)=>({"is-valid":t,"is-invalid":u}),Z=t=>({"button-loading":t});function ee(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",3),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"button",5),b("click",function(){C(e);let a=m();return x(a.onClickGettingStarted())}),p(6),s(7,"translate"),o(),n(8,"small",6)(9,"a",7),b("click",function(){C(e);let a=m();return x(a.onClickRestoreBackup())}),p(10),s(11,"translate"),o()()()}t&2&&(i(3),c(l(4,3,"setup.welcome_to_homebridge")),i(3),w(" ",l(7,5,"setup.button_get_started")," "),i(4),c(l(11,7,"setup_wizard_message_restore")))}function te(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"div",9)(6,"p"),p(7),s(8,"translate"),o(),n(9,"form",10),b("ngSubmit",function(){C(e);let a=m();return x(a.createFirstUser())}),n(10,"div",11)(11,"span",12),d(12,"i",13),o(),d(13,"input",14),s(14,"translate"),o(),n(15,"div",11)(16,"span",12),d(17,"i",15),o(),d(18,"input",16),s(19,"translate"),o(),n(20,"div",17)(21,"span",12),d(22,"i",15),o(),d(23,"input",18),s(24,"translate"),o(),n(25,"div",19)(26,"button",20),p(27),s(28,"translate"),d(29,"i",21),o()()()()()}if(t&2){let e=m();i(3),c(l(4,15,"setup.create_account")),i(4),c(l(8,17,"setup.create_account_reason")),i(2),h("formGroup",e.createUserForm),i(4),h("placeholder",l(14,19,"users.label_username"))("readonly",e.loading)("ngClass",F(27,U,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid)),i(5),h("placeholder",l(19,21,"users.label_password"))("readonly",e.loading)("ngClass",F(30,U,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors)),i(5),h("placeholder",l(24,23,"users.label_confirm_password"))("readonly",e.loading)("ngClass",F(33,U,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors)),i(3),h("disabled",e.createUserForm.invalid||e.loading)("ngClass",$(36,Z,e.loading)),i(),w(" ",l(28,25,"setup.create_account")," ")}}function ie(t,u){t&1&&(n(0,"span"),d(1,"i",26),p(2),s(3,"translate"),o()),t&2&&(i(2),w(" ",l(3,1,"backup.label_uploading")," "))}function ne(t,u){t&1&&(p(0),s(1,"translate")),t&2&&w(" ",l(1,1,"backup.button_restore_backup")," ")}function oe(t,u){if(t&1){let e=k();n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"p"),p(6),s(7,"translate"),o(),n(8,"input",22),b("change",function(a){C(e);let Y=m();return x(Y.handleRestoreFileInput(a.target.files))}),o(),n(9,"div",23)(10,"button",24),b("click",function(){C(e);let a=m();return x(a.onClickCancelRestore())}),p(11),s(12,"translate"),o(),n(13,"button",25),b("click",function(){C(e);let a=m();return x(a.onRestoreBackupClick())}),_(14,ie,4,3,"span"),_(15,ne,2,3),o()()()}if(t&2){let e=m();i(3),c(l(4,7,"form.button_restore")),i(3),c(l(7,9,"backup.restore_help_one")),i(4),h("disabled",e.restoreUploading),i(),w(" ",l(12,11,"form.button_cancel")," "),i(2),h("disabled",e.restoreUploading||!e.selectedFile),i(),f(e.restoreUploading?14:-1),i(),f(e.restoreUploading?-1:15)}}function re(t,u){t&1&&(n(0,"div",2),d(1,"img",8),n(2,"h3",4),p(3),s(4,"translate"),o(),n(5,"h1"),d(6,"i",26),o()()),t&2&&(i(3),c(l(4,1,"restart.title_restart")))}function ae(t,u){t&1&&(n(0,"div",2),d(1,"img",8),n(2,"h3",27),p(3),s(4,"translate"),o(),n(5,"p",28),p(6),s(7,"translate"),o(),n(8,"a",29),p(9),s(10,"translate"),o()()),t&2&&(i(3),c(l(4,3,"setup_wizard_message_complete_title")),i(3),c(l(7,5,"setup_wizard_message_complete_message")),i(3),c(l(10,7,"setup.open_dashboard")))}var Se=(()=>{class t{$api=g(K);$auth=g(Q);$modal=g(j);$settings=g(J);$title=g(M);$toastr=g(q);$translate=g(H);previousTitle;step="welcome";createUserForm=new O({username:new z("",[v.required]),password:new z("",[v.compose([v.required,v.minLength(4)])]),passwordConfirm:new z("",[v.required])},this.matchPassword);loading=!1;selectedFile;restoreUploading=!1;constructor(){}ngOnInit(){this.previousTitle=this.$title.getTitle(),this.$title.setTitle("Setup Homebridge")}matchPassword(e){let r=e.get("password").value,a=e.get("passwordConfirm").value;if(r!==a)e.get("passwordConfirm").setErrors({matchPassword:!0});else return null}ngOnDestroy(){this.$title.setTitle(this.previousTitle)}onClickGettingStarted(){this.step="create-account"}onClickRestoreBackup(){this.step="restore-backup"}onClickCancelRestore(){this.selectedFile=null,this.step="welcome"}createFirstUser(){this.loading=!0;let e=this.createUserForm.getRawValue();e.name=e.username,this.$api.post("/setup-wizard/create-first-user",e).subscribe({next:()=>y(this,null,function*(){this.$settings.env.setupWizardComplete=!0,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}),error:r=>{this.loading=!1,console.error(r),this.$toastr.error(r.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?this.selectedFile=e[0]:delete this.selectedFile}onRestoreBackupClick(){this.restoreUploading=!0,this.uploadHomebridgeArchive()}uploadHomebridgeArchive(){return y(this,null,function*(){try{let e=yield S(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(T.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token;let r=new FormData;r.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield S(this.$api.post("/backup/restore",r)),this.openRestoreModal(),this.restoreUploading=!1}catch(e){this.restoreUploading=!1,console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}openRestoreModal(){let e=this.$modal.open(X,{size:"lg",backdrop:"static"});e.componentInstance.setupWizardRestore=!0,e.result.then(r=>{r===!0&&this.waitForHomebridgeToRestart()})}waitForHomebridgeToRestart(){return y(this,null,function*(){this.step="restarting",window.localStorage.removeItem(T.jwt.tokenKey),this.$auth.token=null,yield new Promise(r=>setTimeout(r,15e3));let e=setInterval(()=>y(this,null,function*(){try{yield S(this.$api.get("/auth/settings")),clearInterval(e),location.reload()}catch{}}),1e3)})}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=E({type:t,selectors:[["ng-component"]],decls:7,vars:5,consts:[[1,"setup-container","d-flex","align-items-center","justify-content-center"],[1,"w-100","setup-card","d-flex","py-5"],[1,"w-100","d-flex","flex-column","align-items-center"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","mx-auto"],[1,"pt-4","pb-3","text-center"],["type","button",1,"btn","btn-lg","btn-primary",3,"click"],[1,"mt-3"],["href","javascript:void(0)",1,"grey-text",3,"click"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","homebridge-logo-small","mx-auto"],[1,"w-100"],["novalidate","",3,"ngSubmit","formGroup"],[1,"md-form","input-group","mb-3"],[1,"input-group-text","custom-input"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","new-password","tabindex","2",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"md-form","input-group","mb-4"],["formControlName","passwordConfirm","type","password","id","form-pass-confirm","autocomplete","new-password","tabindex","2",1,"form-control","py-2",3,"placeholder","readonly","ngClass"],[1,"w-100","text-center"],["type","submit",1,"btn","btn-primary",3,"disabled","ngClass"],[1,"button-loading-overlay","fas","fa-fw","fa-spinner","fa-pulse"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz",1,"form-control",3,"change"],[1,"mt-3","w-100","d-flex","justify-content-between"],["type","button",1,"btn","btn-elegant","ms-0",3,"click","disabled"],["type","button",1,"btn","btn-primary","me-0",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"pt-4","pb-3"],[1,"text-center"],["routerLink","/",1,"btn","btn-lg","btn-primary","mt-3"]],template:function(r,a){r&1&&(n(0,"div",0)(1,"div",1),_(2,ee,12,9,"div",2),_(3,te,30,38,"div",2),_(4,oe,16,13,"div",2),_(5,re,7,3,"div",2),_(6,ae,11,9,"div",2),o()()),r&2&&(i(2),f(a.step==="welcome"?2:-1),i(),f(a.step==="create-account"?3:-1),i(),f(a.step==="restore-backup"?4:-1),i(),f(a.step==="restarting"?5:-1),i(),f(a.step==="setup-complete"?6:-1))},dependencies:[D,R,B,P,V,G,W,N,I,L,A],styles:[".setup-container[_ngcontent-%COMP%]{background-size:cover;z-index:-1;padding-top:1em;padding-bottom:1em}@media screen and (min-height: 500px) and (min-width: 600px){.setup-container[_ngcontent-%COMP%]{padding-top:4em}}.setup-card[_ngcontent-%COMP%]{max-width:600px;border-radius:15px;background-color:#fff;padding-right:25px;padding-left:25px}.setup-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 600px){.setup-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}} body.dark-mode .setup-card{background-color:#2b2b2b;color:#fff}.homebridge-logo[_ngcontent-%COMP%]{margin-right:10px;height:200px}@media screen and (max-height: 500px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}@media screen and (max-width: 600px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}.homebridge-logo-small[_ngcontent-%COMP%]{height:50px}.button-loading[_ngcontent-%COMP%]{position:relative;color:#0000}.button-loading[_ngcontent-%COMP%] .button-loading-overlay[_ngcontent-%COMP%]{display:block;color:#fff}.button-loading-overlay[_ngcontent-%COMP%]{display:none;position:absolute;top:9px;left:0;right:0}small[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})}return t})();export{Se as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as ft,m as gt}from"./chunk-ASBFWS7L.js";import{$a as r,Fb as M,Gb as E,Nb as l,Ob as h,Pb as p,Qb as F,Rb as Y,Sb as K,Ub as Q,Wa as ht,Wb as mt,Xa as q,Xb as j,Yb as c,a as u,b as T,cb as dt,dd as J,e as xt,fb as y,ga as C,gc as A,ha as lt,ic as m,ja as ct,jc as f,ka as w,la as _,lb as G,lc as b,ma as ut,mb as pt,n as g,ra as V,rb as S,sa as z,ua as N,ub as U,va as Z,za as O}from"./chunk-U4V4ICSI.js";var Tt=xt((De,Ut)=>{Ut.exports={name:"homebridge-config-ui-x",displayName:"Homebridge UI",version:"5.0.0-beta.76",description:"A web based management, configuration and control platform for Homebridge.",author:"oznu <dev@oz.nu>",license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/oznu"},{type:"paypal",url:"https://paypal.me/oznu"}],repository:{type:"git",url:"git+https://github.com/homebridge/homebridge-config-ui-x.git"},bugs:{url:"https://github.com/homebridge/homebridge-config-ui-x/issues"},keywords:["homebridge-plugin","ui","gui","web","homebridge","homebridge-config-ui-x","ui-x","config-ui-x","homebridge-x","homebridge server","homebridge ui","homebridge-ui","homebridge gui","homebridge-gui","web interface","config ui","management","config editor","linux","macOS","osx","windows","raspberry pi","accessory control","smart home","hb-service"],main:"./dist/index.js",bin:{"homebridge-config-ui-x":"dist/bin/standalone.js","hb-service":"dist/bin/hb-service.js"},engines:{node:"^20 || ^22",homebridge:"^1.8.0 || ^2.0.0-beta.0"},scripts:{build:"npm run build:server && npm run build:ui","build:server":"rimraf dist && tsc -p tsconfig.build.json","build:ui":"npm run build --prefix ui",check:"npm run check:server && npm run check:ui","check:server":"npm install && npm outdated","check:ui":"npm install --prefix ui && npm outdated --prefix ui","lang-sync":"ts-node scripts/lang-sync.ts",lint:"eslint . --max-warnings=0","lint:fix":"npm run lint -- --fix",prepublishOnly:"npm i --package-lock-only && npm run lint && npm run build",start:"ts-node -r tsconfig-paths/register src/main.ts",test:"vitest run","test-coverage":"npm run test -- --coverage","upgrade-install":"./scripts/upgrade-install.sh",watch:'concurrently "npm run watch:ui" "npm run watch:server"',"watch:server":"nodemon","watch:ui":"npm run start --prefix ui"},dependencies:{"@fastify/helmet":"13.0.1","@fastify/multipart":"9.0.3","@fastify/static":"8.2.0","@homebridge/hap-client":"2.2.0","@homebridge/node-pty-prebuilt-multiarch":"0.12.0","@nestjs/axios":"4.0.0","@nestjs/common":"11.1.2","@nestjs/core":"11.1.2","@nestjs/jwt":"11.0.0","@nestjs/passport":"11.0.5","@nestjs/platform-fastify":"11.1.2","@nestjs/platform-socket.io":"11.1.2","@nestjs/swagger":"11.2.0","@nestjs/websockets":"11.1.2",axios:"1.9.0","bash-color":"0.0.4","class-transformer":"0.5.1","class-validator":"0.14.2",commander:"14.0.0",dayjs:"1.11.13",fastify:"5.3.3","fs-extra":"11.3.0",jsonwebtoken:"9.0.2",lodash:"4.17.21","node-cache":"5.1.2","node-schedule":"2.1.1",ora:"5.4.1",otplib:"12.0.1","p-limit":"3.1.0",passport:"0.7.0","passport-jwt":"4.0.1","reflect-metadata":"0.2.2",rxjs:"7.8.2",semver:"7.7.2",systeminformation:"5.27.1",tail:"2.2.6",tar:"7.4.3","tcp-port-used":"1.0.2",unzipper:"0.12.3"},devDependencies:{"@antfu/eslint-config":"^4.13.2","@nestjs/testing":"^11.1.1","@prettier/plugin-xml":"^3.4.1","@types/fs-extra":"^11.0.4","@types/lodash":"^4.17.17","@types/node":"^22.15.29","@types/node-schedule":"^2.1.7","@types/passport-jwt":"^4.0.1","@types/semver":"^7.7.0","@types/tail":"^2.2.3","@types/tcp-port-used":"^1.0.4","@types/unzipper":"^0.10.11","@vitest/coverage-v8":"^3.2.0",concurrently:"^9.1.2","eslint-plugin-format":"^1.0.1","form-data":"^4.0.2",nodemon:"^3.1.10",rimraf:"^6.0.1","ts-loader":"^9.5.2","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0",typescript:"^5.8.3","unplugin-swc":"^1.5.4",vitest:"^3.2.0"},maintainers:[{email:"bwp91@icloud.com",name:"bwp91"},{email:"dev@oz.nu",name:"oznu"},{email:"northern.man1@gmail.com",name:"northernman"},{email:"mail@anderl-bauer.de",name:"supereg"},{email:"khaos.tian@gmail.com",name:"khaost"},{email:"erik.baauw@xs4all.nl",name:"ebaauw"},{email:"donavan.becker@icloud.com",name:"donavanbecker"},{email:"dustin.greif@gmail.com",name:"dustin.greif"},{email:"nfarina@gmail.com",name:"nfarina"}],scarfSettings:{enabled:!1}}});var v=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(v||{}),It="*";function tt(i,s){return{type:v.Trigger,name:i,definitions:s,options:{}}}function P(i,s=null){return{type:v.Animate,styles:s,timings:i}}function Yt(i,s=null){return{type:v.Sequence,steps:i,options:s}}function R(i){return{type:v.Style,styles:i,offset:null}}function H(i,s,t){return{type:v.State,name:i,styles:s,options:t}}function B(i,s,t=null){return{type:v.Transition,expr:i,animation:s,options:t}}var W=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(s=0,t=0){this.totalTime=s+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}onStart(s){this._originalOnStartFns.push(s),this._onStartFns.push(s)}onDone(s){this._originalOnDoneFns.push(s),this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(s=>s()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(s){this._position=this.totalTime?s*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},X=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(s){this.players=s;let t=0,e=0,n=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++t==o&&this._onFinish()}),a.onDestroy(()=>{++e==o&&this._onDestroy()}),a.onStart(()=>{++n==o&&this._onStart()})}),this.totalTime=this.players.reduce((a,d)=>Math.max(a,d.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}init(){this.players.forEach(s=>s.init())}onStart(s){this._onStartFns.push(s)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(s=>s()),this._onStartFns=[])}onDone(s){this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(s=>s.play())}pause(){this.players.forEach(s=>s.pause())}restart(){this.players.forEach(s=>s.restart())}finish(){this._onFinish(),this.players.forEach(s=>s.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(s=>s.destroy()),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this.players.forEach(s=>s.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(s){let t=s*this.totalTime;this.players.forEach(e=>{let n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}getPosition(){let s=this.players.reduce((t,e)=>t===null||e.totalTime>t.totalTime?e:t,null);return s!=null?s.getPosition():0}beforeDestroy(){this.players.forEach(s=>{s.beforeDestroy&&s.beforeDestroy()})}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},Ot="!";var _t=["toast-component",""];function Et(i,s){if(i&1){let t=Q();h(0,"button",5),j("click",function(){V(t);let n=c();return z(n.remove())}),h(1,"span",6),f(2,"\xD7"),p()()}}function Ft(i,s){if(i&1&&(Y(0),f(1),K()),i&2){let t=c(2);r(),b("[",t.duplicatesCount+1,"]")}}function jt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Ft,2,1,"ng-container",4),p()),i&2){let t=c();m(t.options.titleClass),E("aria-label",t.title),r(),b(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function At(i,s){if(i&1&&F(0,"div",7),i&2){let t=c();m(t.options.messageClass),l("innerHTML",t.message,q)}}function Rt(i,s){if(i&1&&(h(0,"div",8),f(1),p()),i&2){let t=c();m(t.options.messageClass),E("aria-label",t.message),r(),b(" ",t.message," ")}}function Ht(i,s){if(i&1&&(h(0,"div"),F(1,"div",9),p()),i&2){let t=c();r(),A("width",t.width()+"%")}}function kt(i,s){if(i&1){let t=Q();h(0,"button",5),j("click",function(){V(t);let n=c();return z(n.remove())}),h(1,"span",6),f(2,"\xD7"),p()()}}function Nt(i,s){if(i&1&&(Y(0),f(1),K()),i&2){let t=c(2);r(),b("[",t.duplicatesCount+1,"]")}}function Mt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Nt,2,1,"ng-container",4),p()),i&2){let t=c();m(t.options.titleClass),E("aria-label",t.title),r(),b(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function Pt(i,s){if(i&1&&F(0,"div",7),i&2){let t=c();m(t.options.messageClass),l("innerHTML",t.message,q)}}function Bt(i,s){if(i&1&&(h(0,"div",8),f(1),p()),i&2){let t=c();m(t.options.messageClass),E("aria-label",t.message),r(),b(" ",t.message," ")}}function $t(i,s){if(i&1&&(h(0,"div"),F(1,"div",9),p()),i&2){let t=c();r(),A("width",t.width()+"%")}}var et=class{_attachedHost;component;viewContainerRef;injector;constructor(s,t){this.component=s,this.injector=t}attach(s,t){return this._attachedHost=s,s.attach(this,t)}detach(){let s=this._attachedHost;if(s)return this._attachedHost=void 0,s.detach()}get isAttached(){return this._attachedHost!=null}setAttachedHost(s){this._attachedHost=s}},it=class{_attachedPortal;_disposeFn;attach(s,t){return this._attachedPortal=s,this.attachComponentPortal(s,t)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(s){this._disposeFn=s}},st=class{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new g;_activate=new g;_manualClose=new g;_resetTimeout=new g;_countDuplicate=new g;constructor(s){this._overlayRef=s}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(s,t){s&&this._resetTimeout.next(),t&&this._countDuplicate.next(++this.duplicatesCount)}},D=class{toastId;config;message;title;toastType;toastRef;_onTap=new g;_onAction=new g;constructor(s,t,e,n,o,a){this.toastId=s,this.config=t,this.message=e,this.title=n,this.toastType=o,this.toastRef=a,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(s){this._onAction.next(s)}onAction(){return this._onAction.asObservable()}},vt={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},yt=new ct("ToastConfig"),nt=class extends it{_hostDomElement;_componentFactoryResolver;_appRef;constructor(s,t,e){super(),this._hostDomElement=s,this._componentFactoryResolver=t,this._appRef=e}attachComponentPortal(s,t){let e=this._componentFactoryResolver.resolveComponentFactory(s.component),n;return n=e.create(s.injector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()}),t?this._hostDomElement.insertBefore(this._getComponentRootNode(n),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(n)),n}_getComponentRootNode(s){return s.hostView.rootNodes[0]}},Lt=(()=>{class i{_document=_(Z);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let t=this._document.createElement("div");t.classList.add("overlay-container"),t.setAttribute("aria-live","polite"),this._document.body.appendChild(t),this._containerElement=t}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),ot=class{_portalHost;constructor(s){this._portalHost=s}attach(s,t=!0){return this._portalHost.attach(s,t)}detach(){return this._portalHost.detach()}},Vt=(()=>{class i{_overlayContainer=_(Lt);_componentFactoryResolver=_(dt);_appRef=_(M);_document=_(Z);_paneElements=new Map;create(t,e){return this._createOverlayRef(this.getPaneElement(t,e))}getPaneElement(t="",e){return this._paneElements.get(e)||this._paneElements.set(e,{}),this._paneElements.get(e)[t]||(this._paneElements.get(e)[t]=this._createPaneElement(t,e)),this._paneElements.get(e)[t]}_createPaneElement(t,e){let n=this._document.createElement("div");return n.id="toast-container",n.classList.add(t),n.classList.add("toast-container"),e?e.getContainerElement().appendChild(n):this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalHost(t){return new nt(t,this._componentFactoryResolver,this._appRef)}_createOverlayRef(t){return new ot(this._createPortalHost(t))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),bt=(()=>{class i{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(t,e,n,o,a){this.overlay=e,this._injector=n,this.sanitizer=o,this.ngZone=a,this.toastrConfig=u(u({},t.default),t.config),t.config.iconClasses&&(this.toastrConfig.iconClasses=u(u({},t.default.iconClasses),t.config.iconClasses))}show(t,e,n={},o=""){return this._preBuildNotification(o,t,e,this.applyConfig(n))}success(t,e,n={}){let o=this.toastrConfig.iconClasses.success||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}error(t,e,n={}){let o=this.toastrConfig.iconClasses.error||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}info(t,e,n={}){let o=this.toastrConfig.iconClasses.info||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}warning(t,e,n={}){let o=this.toastrConfig.iconClasses.warning||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}clear(t){for(let e of this.toasts)if(t!==void 0){if(e.toastId===t){e.toastRef.manualClose();return}}else e.toastRef.manualClose()}remove(t){let e=this._findToast(t);if(!e||(e.activeToast.toastRef.close(),this.toasts.splice(e.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){let n=this.toasts[this.currentlyActive].toastRef;n.isInactive()||(this.currentlyActive=this.currentlyActive+1,n.activate())}return!0}findDuplicate(t="",e="",n,o){let{includeTitleDuplicates:a}=this.toastrConfig;for(let d of this.toasts){let k=a&&d.title===t;if((!a||k)&&d.message===e)return d.toastRef.onDuplicate(n,o),d}return null}applyConfig(t={}){return u(u({},this.toastrConfig),t)}_findToast(t){for(let e=0;e<this.toasts.length;e++)if(this.toasts[e].toastId===t)return{index:e,activeToast:this.toasts[e]};return null}_preBuildNotification(t,e,n,o){return o.onActivateTick?this.ngZone.run(()=>this._buildNotification(t,e,n,o)):this._buildNotification(t,e,n,o)}_buildNotification(t,e,n,o){if(!o.toastComponent)throw new Error("toastComponent required");let a=this.findDuplicate(n,e,this.toastrConfig.resetTimeoutOnDuplicate&&o.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&n||e)&&this.toastrConfig.preventDuplicates&&a!==null)return a;this.previousToastMessage=e;let d=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(d=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));let k=this.overlay.create(o.positionClass,this.overlayContainer);this.index=this.index+1;let rt=e;e&&o.enableHtml&&(rt=this.sanitizer.sanitize(ht.HTML,e));let I=new st(k),$=new D(this.index,o,rt,n,t,I),Ct=[{provide:D,useValue:$}],wt=N.create({providers:Ct,parent:this._injector}),Dt=new et(o.toastComponent,wt),at=k.attach(Dt,o.newestOnTop);I.componentInstance=at.instance;let L={toastId:this.index,title:n||"",message:e||"",toastRef:I,onShown:I.afterActivate(),onHidden:I.afterClosed(),onTap:$.onTap(),onAction:$.onAction(),portal:at};return d||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{L.toastRef.activate()})),this.toasts.push(L),L}static \u0275fac=function(e){return new(e||i)(w(yt),w(Vt),w(N),w(gt),w(U))};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),zt=(()=>{class i{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";state;get _state(){return this.state()}get displayStyle(){if(this.state().value==="inactive")return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.ngZone=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o}),this.state=O({value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.update(t=>T(u({},t),{value:"active"})),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.update(t=>T(u({},t),{value:"active"})),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){this.state().value!=="removed"&&(clearTimeout(this.timeout),this.state.update(t=>T(u({},t),{value:"removed"})),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){this.state().value!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state().value!=="removed"&&this.options.disableTimeOut!=="extendedTimeOut"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state().value==="removed"||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(t),e)):this.timeout=setTimeout(()=>t(),e)}outsideInterval(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(t),e)):this.intervalId=setInterval(()=>t(),e)}runInsideAngular(t){this.ngZone?this.ngZone.run(()=>t()):t()}static \u0275fac=function(e){return new(e||i)(y(bt),y(D),y(U))};static \u0275cmp=G({type:i,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(e,n){e&1&&j("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(mt("@flyInOut",n._state),m(n.toastClasses),A("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,Et,3,0,"button",0)(1,jt,3,5,"div",1)(2,At,1,3,"div",2)(3,Rt,2,4,"div",3)(4,Ht,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[J],encapsulation:2,data:{animation:[tt("flyInOut",[H("inactive",R({opacity:0})),H("active",R({opacity:1})),H("removed",R({opacity:0})),B("inactive => active",P("{{ easeTime }}ms {{ easing }}")),B("active => removed",P("{{ easeTime }}ms {{ easing }}"))])]},changeDetection:0})}return i})(),Zt=T(u({},vt),{toastComponent:zt}),qt=(i={})=>ut([{provide:yt,useValue:{default:Zt,config:i}}]),be=(()=>{class i{static forRoot(t={}){return{ngModule:i,providers:[qt(t)]}}static \u0275fac=function(e){return new(e||i)};static \u0275mod=pt({type:i});static \u0275inj=lt({})}return i})();var Gt=(()=>{class i{toastrService;toastPackage;appRef;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";get displayStyle(){return this.state()==="inactive"?"none":null}state=O("inactive");timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.appRef=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.set("active"),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.set("active"),this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=new Date().getTime()+(this.originalTimeout||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.state.set("removed"),this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){this.state()!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state()==="removed"||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}static \u0275fac=function(e){return new(e||i)(y(bt),y(D),y(M))};static \u0275cmp=G({type:i,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(e,n){e&1&&j("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(m(n.toastClasses),A("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,kt,3,0,"button",0)(1,Mt,3,5,"div",1)(2,Pt,1,3,"div",2)(3,Bt,2,4,"div",3)(4,$t,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[J],encapsulation:2,changeDetection:0})}return i})(),Te=T(u({},vt),{toastComponent:Gt});var x={serverTarget:Tt().version,production:!0,socket:"",api:{base:"/api",socket:`${window.location.protocol==="http:"?"ws://":"wss://"}${window.location.host}`,origin:window.location.origin},jwt:{tokenKey:"access_token",allowedDomains:[document.location.host],disallowedRoutes:[`${window.location.protocol}//${document.location.host}/api/auth/login`]},apiHttpOptions:{},owm:{appid:"fec67b55f7f74deaa28df89ba6a60821"}};var Fe=(()=>{class i{$http=_(ft);constructor(){}get(t,e){return this.$http.get(`${x.api.base}${t}`,e)}post(t,e,n){return this.$http.post(`${x.api.base}${t}`,e,n)}put(t,e,n){return this.$http.put(`${x.api.base}${t}`,e,n)}patch(t,e,n){return this.$http.patch(`${x.api.base}${t}`,e,n)}delete(t,e){return this.$http.delete(`${x.api.base}${t}`,e)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{v as a,It as b,Yt as c,R as d,W as e,X as f,Ot as g,bt as h,be as i,x as j,Fe as k};
|
|
1
|
+
import{e as ft,m as gt}from"./chunk-ASBFWS7L.js";import{$a as r,Fb as M,Gb as E,Nb as l,Ob as h,Pb as p,Qb as F,Rb as Y,Sb as K,Ub as Q,Wa as ht,Wb as mt,Xa as q,Xb as j,Yb as c,a as u,b as T,cb as dt,dd as J,e as xt,fb as y,ga as C,gc as A,ha as lt,ic as m,ja as ct,jc as f,ka as w,la as _,lb as G,lc as b,ma as ut,mb as pt,n as g,ra as V,rb as S,sa as z,ua as N,ub as U,va as Z,za as O}from"./chunk-U4V4ICSI.js";var Tt=xt((De,Ut)=>{Ut.exports={name:"homebridge-config-ui-x",displayName:"Homebridge UI",version:"5.0.0-beta.77",description:"A web based management, configuration and control platform for Homebridge.",author:"oznu <dev@oz.nu>",license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/oznu"},{type:"paypal",url:"https://paypal.me/oznu"}],repository:{type:"git",url:"git+https://github.com/homebridge/homebridge-config-ui-x.git"},bugs:{url:"https://github.com/homebridge/homebridge-config-ui-x/issues"},keywords:["homebridge-plugin","ui","gui","web","homebridge","homebridge-config-ui-x","ui-x","config-ui-x","homebridge-x","homebridge server","homebridge ui","homebridge-ui","homebridge gui","homebridge-gui","web interface","config ui","management","config editor","linux","macOS","osx","windows","raspberry pi","accessory control","smart home","hb-service"],main:"./dist/index.js",bin:{"homebridge-config-ui-x":"dist/bin/standalone.js","hb-service":"dist/bin/hb-service.js"},engines:{node:"^20 || ^22",homebridge:"^1.8.0 || ^2.0.0-beta.0"},scripts:{build:"npm run build:server && npm run build:ui","build:server":"rimraf dist && tsc -p tsconfig.build.json","build:ui":"npm run build --prefix ui",check:"npm run check:server && npm run check:ui","check:server":"npm install && npm outdated","check:ui":"npm install --prefix ui && npm outdated --prefix ui","lang-sync":"ts-node scripts/lang-sync.ts",lint:"eslint . --max-warnings=0","lint:fix":"npm run lint -- --fix",prepublishOnly:"npm i --package-lock-only && npm run lint && npm run build",start:"ts-node -r tsconfig-paths/register src/main.ts",test:"vitest run","test-coverage":"npm run test -- --coverage","upgrade-install":"./scripts/upgrade-install.sh",watch:'concurrently "npm run watch:ui" "npm run watch:server"',"watch:server":"nodemon","watch:ui":"npm run start --prefix ui"},dependencies:{"@fastify/helmet":"13.0.1","@fastify/multipart":"9.0.3","@fastify/static":"8.2.0","@homebridge/hap-client":"2.2.0","@homebridge/node-pty-prebuilt-multiarch":"0.12.0","@nestjs/axios":"4.0.0","@nestjs/common":"11.1.2","@nestjs/core":"11.1.2","@nestjs/jwt":"11.0.0","@nestjs/passport":"11.0.5","@nestjs/platform-fastify":"11.1.2","@nestjs/platform-socket.io":"11.1.2","@nestjs/swagger":"11.2.0","@nestjs/websockets":"11.1.2",axios:"1.9.0","bash-color":"0.0.4","class-transformer":"0.5.1","class-validator":"0.14.2",commander:"14.0.0",dayjs:"1.11.13",fastify:"5.3.3","fs-extra":"11.3.0",jsonwebtoken:"9.0.2",lodash:"4.17.21","node-cache":"5.1.2","node-schedule":"2.1.1",ora:"5.4.1",otplib:"12.0.1","p-limit":"3.1.0",passport:"0.7.0","passport-jwt":"4.0.1","reflect-metadata":"0.2.2",rxjs:"7.8.2",semver:"7.7.2",systeminformation:"5.27.1",tail:"2.2.6",tar:"7.4.3","tcp-port-used":"1.0.2",unzipper:"0.12.3"},devDependencies:{"@antfu/eslint-config":"^4.13.2","@nestjs/testing":"^11.1.1","@prettier/plugin-xml":"^3.4.1","@types/fs-extra":"^11.0.4","@types/lodash":"^4.17.17","@types/node":"^22.15.29","@types/node-schedule":"^2.1.7","@types/passport-jwt":"^4.0.1","@types/semver":"^7.7.0","@types/tail":"^2.2.3","@types/tcp-port-used":"^1.0.4","@types/unzipper":"^0.10.11","@vitest/coverage-v8":"^3.2.0",concurrently:"^9.1.2","eslint-plugin-format":"^1.0.1","form-data":"^4.0.2",nodemon:"^3.1.10",rimraf:"^6.0.1","ts-loader":"^9.5.2","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0",typescript:"^5.8.3","unplugin-swc":"^1.5.4",vitest:"^3.2.0"},maintainers:[{email:"bwp91@icloud.com",name:"bwp91"},{email:"dev@oz.nu",name:"oznu"},{email:"northern.man1@gmail.com",name:"northernman"},{email:"mail@anderl-bauer.de",name:"supereg"},{email:"khaos.tian@gmail.com",name:"khaost"},{email:"erik.baauw@xs4all.nl",name:"ebaauw"},{email:"donavan.becker@icloud.com",name:"donavanbecker"},{email:"dustin.greif@gmail.com",name:"dustin.greif"},{email:"nfarina@gmail.com",name:"nfarina"}],scarfSettings:{enabled:!1}}});var v=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(v||{}),It="*";function tt(i,s){return{type:v.Trigger,name:i,definitions:s,options:{}}}function P(i,s=null){return{type:v.Animate,styles:s,timings:i}}function Yt(i,s=null){return{type:v.Sequence,steps:i,options:s}}function R(i){return{type:v.Style,styles:i,offset:null}}function H(i,s,t){return{type:v.State,name:i,styles:s,options:t}}function B(i,s,t=null){return{type:v.Transition,expr:i,animation:s,options:t}}var W=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(s=0,t=0){this.totalTime=s+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}onStart(s){this._originalOnStartFns.push(s),this._onStartFns.push(s)}onDone(s){this._originalOnDoneFns.push(s),this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(s=>s()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(s){this._position=this.totalTime?s*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},X=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(s){this.players=s;let t=0,e=0,n=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++t==o&&this._onFinish()}),a.onDestroy(()=>{++e==o&&this._onDestroy()}),a.onStart(()=>{++n==o&&this._onStart()})}),this.totalTime=this.players.reduce((a,d)=>Math.max(a,d.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}init(){this.players.forEach(s=>s.init())}onStart(s){this._onStartFns.push(s)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(s=>s()),this._onStartFns=[])}onDone(s){this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(s=>s.play())}pause(){this.players.forEach(s=>s.pause())}restart(){this.players.forEach(s=>s.restart())}finish(){this._onFinish(),this.players.forEach(s=>s.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(s=>s.destroy()),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this.players.forEach(s=>s.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(s){let t=s*this.totalTime;this.players.forEach(e=>{let n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}getPosition(){let s=this.players.reduce((t,e)=>t===null||e.totalTime>t.totalTime?e:t,null);return s!=null?s.getPosition():0}beforeDestroy(){this.players.forEach(s=>{s.beforeDestroy&&s.beforeDestroy()})}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},Ot="!";var _t=["toast-component",""];function Et(i,s){if(i&1){let t=Q();h(0,"button",5),j("click",function(){V(t);let n=c();return z(n.remove())}),h(1,"span",6),f(2,"\xD7"),p()()}}function Ft(i,s){if(i&1&&(Y(0),f(1),K()),i&2){let t=c(2);r(),b("[",t.duplicatesCount+1,"]")}}function jt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Ft,2,1,"ng-container",4),p()),i&2){let t=c();m(t.options.titleClass),E("aria-label",t.title),r(),b(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function At(i,s){if(i&1&&F(0,"div",7),i&2){let t=c();m(t.options.messageClass),l("innerHTML",t.message,q)}}function Rt(i,s){if(i&1&&(h(0,"div",8),f(1),p()),i&2){let t=c();m(t.options.messageClass),E("aria-label",t.message),r(),b(" ",t.message," ")}}function Ht(i,s){if(i&1&&(h(0,"div"),F(1,"div",9),p()),i&2){let t=c();r(),A("width",t.width()+"%")}}function kt(i,s){if(i&1){let t=Q();h(0,"button",5),j("click",function(){V(t);let n=c();return z(n.remove())}),h(1,"span",6),f(2,"\xD7"),p()()}}function Nt(i,s){if(i&1&&(Y(0),f(1),K()),i&2){let t=c(2);r(),b("[",t.duplicatesCount+1,"]")}}function Mt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Nt,2,1,"ng-container",4),p()),i&2){let t=c();m(t.options.titleClass),E("aria-label",t.title),r(),b(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function Pt(i,s){if(i&1&&F(0,"div",7),i&2){let t=c();m(t.options.messageClass),l("innerHTML",t.message,q)}}function Bt(i,s){if(i&1&&(h(0,"div",8),f(1),p()),i&2){let t=c();m(t.options.messageClass),E("aria-label",t.message),r(),b(" ",t.message," ")}}function $t(i,s){if(i&1&&(h(0,"div"),F(1,"div",9),p()),i&2){let t=c();r(),A("width",t.width()+"%")}}var et=class{_attachedHost;component;viewContainerRef;injector;constructor(s,t){this.component=s,this.injector=t}attach(s,t){return this._attachedHost=s,s.attach(this,t)}detach(){let s=this._attachedHost;if(s)return this._attachedHost=void 0,s.detach()}get isAttached(){return this._attachedHost!=null}setAttachedHost(s){this._attachedHost=s}},it=class{_attachedPortal;_disposeFn;attach(s,t){return this._attachedPortal=s,this.attachComponentPortal(s,t)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(s){this._disposeFn=s}},st=class{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new g;_activate=new g;_manualClose=new g;_resetTimeout=new g;_countDuplicate=new g;constructor(s){this._overlayRef=s}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(s,t){s&&this._resetTimeout.next(),t&&this._countDuplicate.next(++this.duplicatesCount)}},D=class{toastId;config;message;title;toastType;toastRef;_onTap=new g;_onAction=new g;constructor(s,t,e,n,o,a){this.toastId=s,this.config=t,this.message=e,this.title=n,this.toastType=o,this.toastRef=a,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(s){this._onAction.next(s)}onAction(){return this._onAction.asObservable()}},vt={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},yt=new ct("ToastConfig"),nt=class extends it{_hostDomElement;_componentFactoryResolver;_appRef;constructor(s,t,e){super(),this._hostDomElement=s,this._componentFactoryResolver=t,this._appRef=e}attachComponentPortal(s,t){let e=this._componentFactoryResolver.resolveComponentFactory(s.component),n;return n=e.create(s.injector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()}),t?this._hostDomElement.insertBefore(this._getComponentRootNode(n),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(n)),n}_getComponentRootNode(s){return s.hostView.rootNodes[0]}},Lt=(()=>{class i{_document=_(Z);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let t=this._document.createElement("div");t.classList.add("overlay-container"),t.setAttribute("aria-live","polite"),this._document.body.appendChild(t),this._containerElement=t}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),ot=class{_portalHost;constructor(s){this._portalHost=s}attach(s,t=!0){return this._portalHost.attach(s,t)}detach(){return this._portalHost.detach()}},Vt=(()=>{class i{_overlayContainer=_(Lt);_componentFactoryResolver=_(dt);_appRef=_(M);_document=_(Z);_paneElements=new Map;create(t,e){return this._createOverlayRef(this.getPaneElement(t,e))}getPaneElement(t="",e){return this._paneElements.get(e)||this._paneElements.set(e,{}),this._paneElements.get(e)[t]||(this._paneElements.get(e)[t]=this._createPaneElement(t,e)),this._paneElements.get(e)[t]}_createPaneElement(t,e){let n=this._document.createElement("div");return n.id="toast-container",n.classList.add(t),n.classList.add("toast-container"),e?e.getContainerElement().appendChild(n):this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalHost(t){return new nt(t,this._componentFactoryResolver,this._appRef)}_createOverlayRef(t){return new ot(this._createPortalHost(t))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),bt=(()=>{class i{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(t,e,n,o,a){this.overlay=e,this._injector=n,this.sanitizer=o,this.ngZone=a,this.toastrConfig=u(u({},t.default),t.config),t.config.iconClasses&&(this.toastrConfig.iconClasses=u(u({},t.default.iconClasses),t.config.iconClasses))}show(t,e,n={},o=""){return this._preBuildNotification(o,t,e,this.applyConfig(n))}success(t,e,n={}){let o=this.toastrConfig.iconClasses.success||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}error(t,e,n={}){let o=this.toastrConfig.iconClasses.error||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}info(t,e,n={}){let o=this.toastrConfig.iconClasses.info||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}warning(t,e,n={}){let o=this.toastrConfig.iconClasses.warning||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}clear(t){for(let e of this.toasts)if(t!==void 0){if(e.toastId===t){e.toastRef.manualClose();return}}else e.toastRef.manualClose()}remove(t){let e=this._findToast(t);if(!e||(e.activeToast.toastRef.close(),this.toasts.splice(e.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){let n=this.toasts[this.currentlyActive].toastRef;n.isInactive()||(this.currentlyActive=this.currentlyActive+1,n.activate())}return!0}findDuplicate(t="",e="",n,o){let{includeTitleDuplicates:a}=this.toastrConfig;for(let d of this.toasts){let k=a&&d.title===t;if((!a||k)&&d.message===e)return d.toastRef.onDuplicate(n,o),d}return null}applyConfig(t={}){return u(u({},this.toastrConfig),t)}_findToast(t){for(let e=0;e<this.toasts.length;e++)if(this.toasts[e].toastId===t)return{index:e,activeToast:this.toasts[e]};return null}_preBuildNotification(t,e,n,o){return o.onActivateTick?this.ngZone.run(()=>this._buildNotification(t,e,n,o)):this._buildNotification(t,e,n,o)}_buildNotification(t,e,n,o){if(!o.toastComponent)throw new Error("toastComponent required");let a=this.findDuplicate(n,e,this.toastrConfig.resetTimeoutOnDuplicate&&o.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&n||e)&&this.toastrConfig.preventDuplicates&&a!==null)return a;this.previousToastMessage=e;let d=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(d=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));let k=this.overlay.create(o.positionClass,this.overlayContainer);this.index=this.index+1;let rt=e;e&&o.enableHtml&&(rt=this.sanitizer.sanitize(ht.HTML,e));let I=new st(k),$=new D(this.index,o,rt,n,t,I),Ct=[{provide:D,useValue:$}],wt=N.create({providers:Ct,parent:this._injector}),Dt=new et(o.toastComponent,wt),at=k.attach(Dt,o.newestOnTop);I.componentInstance=at.instance;let L={toastId:this.index,title:n||"",message:e||"",toastRef:I,onShown:I.afterActivate(),onHidden:I.afterClosed(),onTap:$.onTap(),onAction:$.onAction(),portal:at};return d||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{L.toastRef.activate()})),this.toasts.push(L),L}static \u0275fac=function(e){return new(e||i)(w(yt),w(Vt),w(N),w(gt),w(U))};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),zt=(()=>{class i{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";state;get _state(){return this.state()}get displayStyle(){if(this.state().value==="inactive")return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.ngZone=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o}),this.state=O({value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.update(t=>T(u({},t),{value:"active"})),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.update(t=>T(u({},t),{value:"active"})),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){this.state().value!=="removed"&&(clearTimeout(this.timeout),this.state.update(t=>T(u({},t),{value:"removed"})),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){this.state().value!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state().value!=="removed"&&this.options.disableTimeOut!=="extendedTimeOut"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state().value==="removed"||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(t),e)):this.timeout=setTimeout(()=>t(),e)}outsideInterval(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(t),e)):this.intervalId=setInterval(()=>t(),e)}runInsideAngular(t){this.ngZone?this.ngZone.run(()=>t()):t()}static \u0275fac=function(e){return new(e||i)(y(bt),y(D),y(U))};static \u0275cmp=G({type:i,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(e,n){e&1&&j("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(mt("@flyInOut",n._state),m(n.toastClasses),A("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,Et,3,0,"button",0)(1,jt,3,5,"div",1)(2,At,1,3,"div",2)(3,Rt,2,4,"div",3)(4,Ht,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[J],encapsulation:2,data:{animation:[tt("flyInOut",[H("inactive",R({opacity:0})),H("active",R({opacity:1})),H("removed",R({opacity:0})),B("inactive => active",P("{{ easeTime }}ms {{ easing }}")),B("active => removed",P("{{ easeTime }}ms {{ easing }}"))])]},changeDetection:0})}return i})(),Zt=T(u({},vt),{toastComponent:zt}),qt=(i={})=>ut([{provide:yt,useValue:{default:Zt,config:i}}]),be=(()=>{class i{static forRoot(t={}){return{ngModule:i,providers:[qt(t)]}}static \u0275fac=function(e){return new(e||i)};static \u0275mod=pt({type:i});static \u0275inj=lt({})}return i})();var Gt=(()=>{class i{toastrService;toastPackage;appRef;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";get displayStyle(){return this.state()==="inactive"?"none":null}state=O("inactive");timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.appRef=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.set("active"),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.set("active"),this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=new Date().getTime()+(this.originalTimeout||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.state.set("removed"),this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){this.state()!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state()==="removed"||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}static \u0275fac=function(e){return new(e||i)(y(bt),y(D),y(M))};static \u0275cmp=G({type:i,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(e,n){e&1&&j("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(m(n.toastClasses),A("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,kt,3,0,"button",0)(1,Mt,3,5,"div",1)(2,Pt,1,3,"div",2)(3,Bt,2,4,"div",3)(4,$t,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[J],encapsulation:2,changeDetection:0})}return i})(),Te=T(u({},vt),{toastComponent:Gt});var x={serverTarget:Tt().version,production:!0,socket:"",api:{base:"/api",socket:`${window.location.protocol==="http:"?"ws://":"wss://"}${window.location.host}`,origin:window.location.origin},jwt:{tokenKey:"access_token",allowedDomains:[document.location.host],disallowedRoutes:[`${window.location.protocol}//${document.location.host}/api/auth/login`]},apiHttpOptions:{},owm:{appid:"fec67b55f7f74deaa28df89ba6a60821"}};var Fe=(()=>{class i{$http=_(ft);constructor(){}get(t,e){return this.$http.get(`${x.api.base}${t}`,e)}post(t,e,n){return this.$http.post(`${x.api.base}${t}`,e,n)}put(t,e,n){return this.$http.put(`${x.api.base}${t}`,e,n)}patch(t,e,n){return this.$http.patch(`${x.api.base}${t}`,e,n)}delete(t,e){return this.$http.delete(`${x.api.base}${t}`,e)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{v as a,It as b,Yt as c,R as d,W as e,X as f,Ot as g,bt as h,be as i,x as j,Fe as k};
|