@stemy/ngx-utils 19.9.31 → 19.9.33

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.
@@ -12,9 +12,10 @@ import * as i1 from 'ngx-device-detector';
12
12
  import { DeviceDetectorService } from 'ngx-device-detector';
13
13
  import { DateTime } from 'luxon';
14
14
  import { Invokable } from 'invokable';
15
+ import { __decorate } from 'tslib';
15
16
  import * as i1$1 from '@angular/common/http';
16
17
  import { HttpHeaders, HttpParams, HttpUrlEncodingCodec, HttpClient, HttpEventType, HttpResponse } from '@angular/common/http';
17
- import JSON5 from 'json5';
18
+ import { parse } from 'json5';
18
19
  import * as i1$2 from '@angular/platform-browser';
19
20
  import { ɵDomEventsPlugin as _DomEventsPlugin, EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
20
21
  import elementResizeDetectorMaker from 'element-resize-detector';
@@ -24,6 +25,10 @@ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
24
25
  import { toSignal } from '@angular/core/rxjs-interop';
25
26
 
26
27
  class CanvasColor {
28
+ r;
29
+ g;
30
+ b;
31
+ a;
27
32
  constructor(r, g, b, a = 255) {
28
33
  this.r = r;
29
34
  this.g = g;
@@ -50,6 +55,11 @@ function ObjectType(type) {
50
55
  };
51
56
  }
52
57
  class PaginationItemContext {
58
+ item;
59
+ parallelItem;
60
+ count;
61
+ index;
62
+ dataIndex;
53
63
  constructor(item, parallelItem, count, index, dataIndex) {
54
64
  this.item = item;
55
65
  this.parallelItem = parallelItem;
@@ -80,13 +90,25 @@ class PaginationItemContext {
80
90
  return this.parallelItem;
81
91
  }
82
92
  }
93
+ // --- Code editor ---
94
+ const EDITOR_TYPES = ["php", "json", "html", "css", "scss"];
83
95
  // --- Resource if ---
84
96
  class ResourceIfContext {
97
+ resource;
98
+ url;
85
99
  }
86
100
  class IConfiguration {
101
+ cdnUrl;
102
+ baseUrl;
103
+ baseDomain;
104
+ apiUrl;
105
+ translationUrl;
106
+ translationUrls;
107
+ translationExt;
87
108
  }
88
109
  // --- Valued promise ---
89
110
  class ValuedPromise extends Promise {
111
+ value;
90
112
  }
91
113
 
92
114
  const ICON_TYPE = new InjectionToken("icon-component-type");
@@ -116,15 +138,13 @@ const STATIC_SCHEMAS = new InjectionToken("static-openapi-schemas");
116
138
  const SCHEMA_SELECTOR = new InjectionToken("openapi-schema-selector");
117
139
 
118
140
  class AjaxRequestHandler {
119
- static { this.isOverridden = false; }
141
+ pattern;
142
+ callback;
143
+ static isOverridden = false;
144
+ params;
120
145
  constructor(pattern, callback) {
121
146
  this.pattern = pattern;
122
147
  this.callback = callback;
123
- this.listener = (event) => {
124
- const details = event.detail;
125
- if (this.pattern.test(details.url))
126
- this.callback(details, this.params);
127
- };
128
148
  this.params = {};
129
149
  if (typeof XMLHttpRequest !== "undefined" && !AjaxRequestHandler.isOverridden) {
130
150
  AjaxRequestHandler.isOverridden = true;
@@ -153,6 +173,11 @@ class AjaxRequestHandler {
153
173
  window.removeEventListener("ajaxRequest", this.listener);
154
174
  return this;
155
175
  }
176
+ listener = (event) => {
177
+ const details = event.detail;
178
+ if (this.pattern.test(details.url))
179
+ this.callback(details, this.params);
180
+ };
156
181
  }
157
182
 
158
183
  function defaultPredicate(value, key, target, source) {
@@ -161,6 +186,27 @@ function defaultPredicate(value, key, target, source) {
161
186
  function shouldCopyDefault(key, value) {
162
187
  return true;
163
188
  }
189
+ function getType(obj) {
190
+ const regex = new RegExp("\\s([a-zA-Z]+)");
191
+ const target = !obj ? null : obj.constructor;
192
+ const type = !target ? null : Reflect.getMetadata("objectType", target);
193
+ return (type || Object.prototype.toString.call(obj).match(regex)[1]).toLowerCase();
194
+ }
195
+ function isObject(value) {
196
+ return getType(value) === "object";
197
+ }
198
+ function isString(value) {
199
+ return typeof value === "string";
200
+ }
201
+ function isStringWithValue(value) {
202
+ return isString(value) && value.length > 0;
203
+ }
204
+ function isFunction(value) {
205
+ return typeof value === "function";
206
+ }
207
+ function toStringArray(value) {
208
+ return (Array.isArray(value) ? value : String(value || "").split(",")).filter(isStringWithValue);
209
+ }
164
210
  const hasBlob = typeof Blob !== "undefined" && !!Blob;
165
211
  const hasFile = typeof File !== "undefined" && !!File;
166
212
  class ObjectUtils {
@@ -336,17 +382,14 @@ class ObjectUtils {
336
382
  return ObjectUtils.copyRecursive(target, source, predicate || defaultPredicate, new Map());
337
383
  }
338
384
  static getType(obj) {
339
- const regex = new RegExp("\\s([a-zA-Z]+)");
340
- const target = !obj ? null : obj.constructor;
341
- const type = !target ? null : Reflect.getMetadata("objectType", target);
342
- return (type || Object.prototype.toString.call(obj).match(regex)[1]).toLowerCase();
385
+ return getType(obj);
343
386
  }
344
387
  static isPrimitive(value) {
345
388
  const type = typeof value;
346
389
  return value == null || (type !== "object" && type !== "function");
347
390
  }
348
391
  static isObject(value) {
349
- return ObjectUtils.getType(value) === "object";
392
+ return isObject(value);
350
393
  }
351
394
  static isDefined(value) {
352
395
  return typeof value !== "undefined" && value !== null;
@@ -355,13 +398,13 @@ class ObjectUtils {
355
398
  return typeof value == "undefined" || value == null;
356
399
  }
357
400
  static isString(value) {
358
- return typeof value === "string";
401
+ return isString(value);
359
402
  }
360
403
  static isStringWithValue(value) {
361
- return ObjectUtils.isString(value) && value.length > 0;
404
+ return isStringWithValue(value);
362
405
  }
363
406
  static isFunction(value) {
364
- return typeof value === "function";
407
+ return isFunction(value);
365
408
  }
366
409
  static isDate(value) {
367
410
  return null !== value && !isNaN(value) && "undefined" !== typeof value.getDate;
@@ -626,6 +669,8 @@ class ReflectUtils {
626
669
  * Use this service to determine which is the current environment
627
670
  */
628
671
  class UniversalService {
672
+ platformId;
673
+ dds;
629
674
  get isBrowser() {
630
675
  return isPlatformBrowser(this.platformId);
631
676
  }
@@ -679,6 +724,7 @@ class UniversalService {
679
724
  get isCrawler() {
680
725
  return this.crawler;
681
726
  }
727
+ crawler;
682
728
  constructor(platformId, dds) {
683
729
  this.platformId = platformId;
684
730
  this.dds = dds;
@@ -688,8 +734,8 @@ class UniversalService {
688
734
  checkBrowser(name) {
689
735
  return this.browserName.includes(name) || false;
690
736
  }
691
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UniversalService, deps: [{ token: PLATFORM_ID }, { token: i1.DeviceDetectorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
692
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UniversalService }); }
737
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UniversalService, deps: [{ token: PLATFORM_ID }, { token: i1.DeviceDetectorService }], target: i0.ɵɵFactoryTarget.Injectable });
738
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UniversalService });
693
739
  }
694
740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UniversalService, decorators: [{
695
741
  type: Injectable
@@ -704,6 +750,15 @@ const emptyParams = {};
704
750
  const emptySegments = [];
705
751
  const emptyComponents = [];
706
752
  class StateService {
753
+ injector;
754
+ zone;
755
+ universal;
756
+ router;
757
+ contexts;
758
+ globalExtras;
759
+ $snapshot;
760
+ $component;
761
+ stateInfo;
707
762
  static toPath(route, params) {
708
763
  let path = route.path || "";
709
764
  ObjectUtils.iterate(params, (value, key) => {
@@ -882,8 +937,8 @@ class StateService {
882
937
  }
883
938
  return [url, extras];
884
939
  }
885
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StateService, deps: [{ token: i0.Injector }, { token: i0.NgZone }, { token: UniversalService }, { token: i2.Router, optional: true }, { token: i2.ChildrenOutletContexts, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
886
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StateService }); }
940
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StateService, deps: [{ token: i0.Injector }, { token: i0.NgZone }, { token: UniversalService }, { token: i2.Router, optional: true }, { token: i2.ChildrenOutletContexts, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
941
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StateService });
887
942
  }
888
943
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StateService, decorators: [{
889
944
  type: Injectable
@@ -894,6 +949,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
894
949
  }] }] });
895
950
 
896
951
  class AuthGuard {
952
+ injector;
953
+ state;
954
+ auth;
897
955
  static guardAuthenticated(auth) {
898
956
  return Promise.resolve(auth.isAuthenticated);
899
957
  }
@@ -1002,8 +1060,8 @@ class AuthGuard {
1002
1060
  });
1003
1061
  });
1004
1062
  }
1005
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AuthGuard, deps: [{ token: Injector }, { token: StateService }, { token: AUTH_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
1006
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AuthGuard }); }
1063
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AuthGuard, deps: [{ token: Injector }, { token: StateService }, { token: AUTH_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
1064
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AuthGuard });
1007
1065
  }
1008
1066
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AuthGuard, decorators: [{
1009
1067
  type: Injectable
@@ -1057,13 +1115,11 @@ function cachedFactory(providers) {
1057
1115
  }
1058
1116
 
1059
1117
  class BlurStack {
1060
- constructor() {
1061
- this.r = 0;
1062
- this.g = 0;
1063
- this.b = 0;
1064
- this.a = 0;
1065
- this.next = null;
1066
- }
1118
+ r = 0;
1119
+ g = 0;
1120
+ b = 0;
1121
+ a = 0;
1122
+ next = null;
1067
1123
  }
1068
1124
  const mul_table = [
1069
1125
  512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512,
@@ -1628,8 +1684,8 @@ class DateUtils {
1628
1684
  }
1629
1685
 
1630
1686
  class FileUtils {
1631
- static { this.base64 = /^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/g; }
1632
- static { this.blobCache = new Map(); }
1687
+ static base64 = /^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/g;
1688
+ static blobCache = new Map();
1633
1689
  static readBlob(http, url) {
1634
1690
  if (!FileUtils.blobCache.has(url)) {
1635
1691
  FileUtils.blobCache.set(url, firstValueFrom(http.get(url, {
@@ -1804,6 +1860,7 @@ class GenericValue extends Subject {
1804
1860
  this._value = value;
1805
1861
  this.next(value);
1806
1862
  }
1863
+ _value;
1807
1864
  constructor(value = null) {
1808
1865
  super();
1809
1866
  this._value = value;
@@ -1814,6 +1871,15 @@ class GenericValue extends Subject {
1814
1871
  }
1815
1872
 
1816
1873
  class FileSystemEntry {
1874
+ label;
1875
+ meta;
1876
+ image;
1877
+ data;
1878
+ openCb;
1879
+ result;
1880
+ path;
1881
+ level;
1882
+ classes;
1817
1883
  get parent() {
1818
1884
  return this.level === 0 ? null : this.path[this.level - 1] || null;
1819
1885
  }
@@ -1854,6 +1920,7 @@ class FileSystemEntry {
1854
1920
  }
1855
1921
 
1856
1922
  class HitZoneRenderer {
1923
+ pattern;
1857
1924
  constructor() {
1858
1925
  return Invokable.create(this);
1859
1926
  }
@@ -2060,7 +2127,7 @@ function lerpPts(a, b, t) {
2060
2127
  const diff = subPts(b, a);
2061
2128
  return addPts(a, multiplyPts(diff, t));
2062
2129
  }
2063
- function lengthSq$1(p) {
2130
+ function lengthSq(p) {
2064
2131
  return p.x * p.x + p.y * p.y;
2065
2132
  }
2066
2133
  function lengthOfPt(p) {
@@ -2233,6 +2300,7 @@ class Shape {
2233
2300
  get y() {
2234
2301
  return this.center.y;
2235
2302
  }
2303
+ pt;
2236
2304
  constructor(x, y) {
2237
2305
  this.pt = { x, y };
2238
2306
  }
@@ -2247,7 +2315,7 @@ class Shape {
2247
2315
  }
2248
2316
  }
2249
2317
  class Point extends Shape {
2250
- static { this.Zero = new Point(0, 0); }
2318
+ static Zero = new Point(0, 0);
2251
2319
  get length() {
2252
2320
  return lengthOfPt(this);
2253
2321
  }
@@ -2333,6 +2401,10 @@ class Point extends Shape {
2333
2401
  }
2334
2402
  }
2335
2403
  class Rect extends Shape {
2404
+ width;
2405
+ height;
2406
+ rotation;
2407
+ radius;
2336
2408
  constructor(x, y, width, height, rotation = 0, radius = 0) {
2337
2409
  super(x, y);
2338
2410
  this.width = width;
@@ -2390,6 +2462,9 @@ class Rect extends Shape {
2390
2462
  }
2391
2463
  }
2392
2464
  class Oval extends Shape {
2465
+ width;
2466
+ height;
2467
+ rotation;
2393
2468
  constructor(x, y, width, height, rotation = 0) {
2394
2469
  super(x, y);
2395
2470
  this.width = width;
@@ -2438,6 +2513,7 @@ class Oval extends Shape {
2438
2513
  }
2439
2514
  }
2440
2515
  class Circle extends Oval {
2516
+ radius;
2441
2517
  constructor(x, y, radius, rotation = 0) {
2442
2518
  super(x, y, radius * 2, radius * 2, rotation);
2443
2519
  this.radius = radius;
@@ -2451,6 +2527,7 @@ class Circle extends Oval {
2451
2527
  }
2452
2528
  }
2453
2529
  class ShapeGroup extends Shape {
2530
+ subShapes;
2454
2531
  constructor(x, y, subShapes) {
2455
2532
  super(x, y);
2456
2533
  this.subShapes = subShapes;
@@ -2492,6 +2569,9 @@ class ShapeGroup extends Shape {
2492
2569
  }
2493
2570
 
2494
2571
  class Initializer {
2572
+ callback;
2573
+ shouldInit;
2574
+ initialized;
2495
2575
  get isInitialized() {
2496
2576
  return this.initialized;
2497
2577
  }
@@ -2511,7 +2591,7 @@ class Initializer {
2511
2591
  }
2512
2592
 
2513
2593
  class LoaderUtils {
2514
- static { this.promises = {}; }
2594
+ static promises = {};
2515
2595
  static loadScript(src, async = false, type = "text/javascript", parent, time = false) {
2516
2596
  return LoaderUtils.loadElement(src, parent, time, url => {
2517
2597
  const script = document.createElement("script");
@@ -3049,6 +3129,15 @@ function random4(_, index) {
3049
3129
  .substring(1);
3050
3130
  }
3051
3131
  class SocketClient {
3132
+ url;
3133
+ ioLoader;
3134
+ status;
3135
+ channels;
3136
+ responseHandlers;
3137
+ sid;
3138
+ open;
3139
+ factory;
3140
+ ws;
3052
3141
  get id() {
3053
3142
  return this.open ? this.sid : null;
3054
3143
  }
@@ -3175,17 +3264,9 @@ class UniqueUtils {
3175
3264
  }
3176
3265
  }
3177
3266
 
3178
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3179
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3180
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3181
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3182
- return c > 3 && r && Object.defineProperty(target, key, r), r;
3183
- };
3184
- var __metadata = (this && this.__metadata) || function (k, v) {
3185
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3186
- };
3187
3267
  var Enum_1;
3188
3268
  let Enum = Enum_1 = class Enum {
3269
+ value;
3189
3270
  get length() {
3190
3271
  return this.value?.length ?? 0;
3191
3272
  }
@@ -3212,11 +3293,18 @@ let Enum = Enum_1 = class Enum {
3212
3293
  }
3213
3294
  };
3214
3295
  Enum = Enum_1 = __decorate([
3215
- ObjectType("enum"),
3216
- __metadata("design:paramtypes", [Object])
3296
+ ObjectType("enum")
3217
3297
  ], Enum);
3218
3298
 
3219
3299
  class EventsService {
3300
+ eventForwarded;
3301
+ stickyUpdated;
3302
+ languageChanged;
3303
+ editLanguageChanged;
3304
+ translationsEnabled;
3305
+ userChanged;
3306
+ sticky;
3307
+ user;
3220
3308
  get isSticky() {
3221
3309
  return this.sticky;
3222
3310
  }
@@ -3243,8 +3331,8 @@ class EventsService {
3243
3331
  this.sticky = sticky;
3244
3332
  this.stickyUpdated.next(sticky);
3245
3333
  }
3246
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: EventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3247
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: EventsService }); }
3334
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: EventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3335
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: EventsService });
3248
3336
  }
3249
3337
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: EventsService, decorators: [{
3250
3338
  type: Injectable
@@ -3252,6 +3340,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
3252
3340
 
3253
3341
  const emptyGuards = [];
3254
3342
  class AclService {
3343
+ injector;
3344
+ state;
3345
+ events;
3346
+ components;
3255
3347
  constructor(injector, state, events) {
3256
3348
  this.injector = injector;
3257
3349
  this.state = state;
@@ -3339,14 +3431,17 @@ class AclService {
3339
3431
  info.component = this.state.component;
3340
3432
  return info;
3341
3433
  }
3342
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AclService, deps: [{ token: i0.Injector }, { token: StateService }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3343
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AclService }); }
3434
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AclService, deps: [{ token: i0.Injector }, { token: StateService }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Injectable });
3435
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AclService });
3344
3436
  }
3345
3437
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AclService, decorators: [{
3346
3438
  type: Injectable
3347
3439
  }], ctorParameters: () => [{ type: i0.Injector }, { type: StateService }, { type: EventsService }] });
3348
3440
 
3349
3441
  class RequestBag {
3442
+ source;
3443
+ headers;
3444
+ params;
3350
3445
  get requestHeaders() {
3351
3446
  return this.headers;
3352
3447
  }
@@ -3417,6 +3512,8 @@ class RequestBag {
3417
3512
  }
3418
3513
 
3419
3514
  class BaseHttpClient extends HttpClient {
3515
+ renewTokenFunc;
3516
+ bag;
3420
3517
  constructor(handler) {
3421
3518
  super(handler);
3422
3519
  this.bag = new RequestBag();
@@ -3442,8 +3539,8 @@ class BaseHttpClient extends HttpClient {
3442
3539
  makeHeaders() {
3443
3540
  return this.bag.makeHeaders();
3444
3541
  }
3445
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpClient, deps: [{ token: i1$1.HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
3446
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpClient }); }
3542
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpClient, deps: [{ token: i1$1.HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });
3543
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpClient });
3447
3544
  }
3448
3545
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpClient, decorators: [{
3449
3546
  type: Injectable
@@ -3453,6 +3550,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
3453
3550
  * Use this service instead of Storage to avoid Angular Universal breaks on server environment
3454
3551
  */
3455
3552
  class StorageService {
3553
+ universal;
3456
3554
  constructor(universal) {
3457
3555
  this.universal = universal;
3458
3556
  }
@@ -3486,17 +3584,21 @@ class StorageService {
3486
3584
  const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
3487
3585
  storage.removeItem(key);
3488
3586
  }
3489
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StorageService, deps: [{ token: UniversalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3490
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StorageService }); }
3587
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StorageService, deps: [{ token: UniversalService }], target: i0.ɵɵFactoryTarget.Injectable });
3588
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StorageService });
3491
3589
  }
3492
3590
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StorageService, decorators: [{
3493
3591
  type: Injectable
3494
3592
  }], ctorParameters: () => [{ type: UniversalService }] });
3495
3593
 
3496
3594
  class CacheService {
3595
+ events;
3497
3596
  get userChanged() {
3498
3597
  return this.events.userChanged;
3499
3598
  }
3599
+ ignore;
3600
+ permanent;
3601
+ caches;
3500
3602
  constructor(events) {
3501
3603
  this.events = events;
3502
3604
  this.ignore = new BehaviorSubject(null).pipe(delay(5));
@@ -3525,14 +3627,22 @@ class CacheService {
3525
3627
  });
3526
3628
  return value;
3527
3629
  }
3528
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CacheService, deps: [{ token: EventsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3529
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CacheService }); }
3630
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CacheService, deps: [{ token: EventsService }], target: i0.ɵɵFactoryTarget.Injectable });
3631
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CacheService });
3530
3632
  }
3531
3633
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CacheService, decorators: [{
3532
3634
  type: Injectable
3533
3635
  }], ctorParameters: () => [{ type: EventsService }] });
3534
3636
 
3535
3637
  class BaseHttpService {
3638
+ injector;
3639
+ client;
3640
+ storage;
3641
+ caches;
3642
+ language;
3643
+ toaster;
3644
+ configs;
3645
+ request;
3536
3646
  get name() {
3537
3647
  return "base";
3538
3648
  }
@@ -3548,7 +3658,8 @@ class BaseHttpService {
3548
3658
  get universal() {
3549
3659
  return this.storage.universal;
3550
3660
  }
3551
- static { this.failedRequests = []; }
3661
+ static failedRequests = [];
3662
+ bag;
3552
3663
  static retryFailedRequests() {
3553
3664
  BaseHttpService.failedRequests.forEach(r => r());
3554
3665
  BaseHttpService.failedRequests = [];
@@ -3868,8 +3979,8 @@ class BaseHttpService {
3868
3979
  const separator = url.startsWith("/") ? "" : "/";
3869
3980
  return `${req.protocol}://${req.get("host")}${separator}${url}`;
3870
3981
  }
3871
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpService, deps: [{ token: i0.Injector }, { token: BaseHttpClient }, { token: StorageService }, { token: CacheService }, { token: LANGUAGE_SERVICE }, { token: TOASTER_SERVICE }, { token: CONFIG_SERVICE }, { token: EXPRESS_REQUEST, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3872
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpService }); }
3982
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpService, deps: [{ token: i0.Injector }, { token: BaseHttpClient }, { token: StorageService }, { token: CacheService }, { token: LANGUAGE_SERVICE }, { token: TOASTER_SERVICE }, { token: CONFIG_SERVICE }, { token: EXPRESS_REQUEST, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
3983
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpService });
3873
3984
  }
3874
3985
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseHttpService, decorators: [{
3875
3986
  type: Injectable
@@ -3889,6 +4000,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
3889
4000
  args: [EXPRESS_REQUEST]
3890
4001
  }] }] });
3891
4002
  class HttpPromise extends Promise {
4003
+ rejectHandler;
4004
+ hasRejectHandler;
4005
+ attachCount;
4006
+ runCount;
3892
4007
  constructor(rejectHandler, executor) {
3893
4008
  super(executor);
3894
4009
  this.rejectHandler = rejectHandler;
@@ -3949,8 +4064,8 @@ class ApiService extends BaseHttpService {
3949
4064
  options.params = Object.assign(options.params || {}, params || {});
3950
4065
  return this.listPromise(url, options);
3951
4066
  }
3952
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3953
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ApiService }); }
4067
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4068
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ApiService });
3954
4069
  }
3955
4070
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ApiService, decorators: [{
3956
4071
  type: Injectable
@@ -3966,6 +4081,16 @@ class StaticAuthService {
3966
4081
  }
3967
4082
 
3968
4083
  class ConfigService {
4084
+ http;
4085
+ universal;
4086
+ injector;
4087
+ rootElement;
4088
+ baseUrl;
4089
+ baseConfig;
4090
+ loadedConfig;
4091
+ scriptParameters;
4092
+ loader;
4093
+ loaderFunc;
3969
4094
  get load() {
3970
4095
  return this.loaderFunc;
3971
4096
  }
@@ -4013,7 +4138,7 @@ class ConfigService {
4013
4138
  const configUrl = this.configUrl;
4014
4139
  try {
4015
4140
  const config5 = await firstValueFrom(this.http.get(isDevMode() ? `${configUrl}5` : configUrl, { responseType: "text" }));
4016
- return JSON5.parse(config5);
4141
+ return parse(config5);
4017
4142
  }
4018
4143
  catch (e) {
4019
4144
  try {
@@ -4068,8 +4193,8 @@ class ConfigService {
4068
4193
  return "";
4069
4194
  return decodeURIComponent(results[2].replace(/\+/g, " "));
4070
4195
  }
4071
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ConfigService, deps: [{ token: BaseHttpClient }, { token: UniversalService }, { token: i0.Injector }, { token: ROOT_ELEMENT }, { token: APP_BASE_URL }, { token: BASE_CONFIG, optional: true }, { token: SCRIPT_PARAMS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
4072
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ConfigService }); }
4196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ConfigService, deps: [{ token: BaseHttpClient }, { token: UniversalService }, { token: i0.Injector }, { token: ROOT_ELEMENT }, { token: APP_BASE_URL }, { token: BASE_CONFIG, optional: true }, { token: SCRIPT_PARAMS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
4197
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ConfigService });
4073
4198
  }
4074
4199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ConfigService, decorators: [{
4075
4200
  type: Injectable
@@ -4092,6 +4217,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
4092
4217
  }] }] });
4093
4218
 
4094
4219
  class BaseDialogService {
4220
+ toaster;
4095
4221
  constructor(toaster) {
4096
4222
  this.toaster = toaster;
4097
4223
  }
@@ -4144,8 +4270,8 @@ class BaseDialogService {
4144
4270
  });
4145
4271
  });
4146
4272
  }
4147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseDialogService, deps: [{ token: TOASTER_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
4148
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseDialogService }); }
4273
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseDialogService, deps: [{ token: TOASTER_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
4274
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseDialogService });
4149
4275
  }
4150
4276
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseDialogService, decorators: [{
4151
4277
  type: Injectable
@@ -4155,6 +4281,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
4155
4281
  }] }] });
4156
4282
 
4157
4283
  class ErrorHandlerService extends ErrorHandler {
4284
+ injector;
4285
+ toaster;
4286
+ universal;
4287
+ errorCb;
4288
+ errorMap;
4158
4289
  constructor(injector) {
4159
4290
  super();
4160
4291
  this.injector = injector;
@@ -4187,14 +4318,15 @@ class ErrorHandlerService extends ErrorHandler {
4187
4318
  }
4188
4319
  console.error(`[${date}]: ${error.message}\n${error.stack}`);
4189
4320
  }
4190
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ErrorHandlerService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
4191
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ErrorHandlerService }); }
4321
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ErrorHandlerService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
4322
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ErrorHandlerService });
4192
4323
  }
4193
4324
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ErrorHandlerService, decorators: [{
4194
4325
  type: Injectable
4195
4326
  }], ctorParameters: () => [{ type: i0.Injector }] });
4196
4327
 
4197
4328
  class FormatterService {
4329
+ language;
4198
4330
  get defaultPrecision() {
4199
4331
  return 2;
4200
4332
  }
@@ -4229,8 +4361,8 @@ class FormatterService {
4229
4361
  getPrecision(precision) {
4230
4362
  return ObjectUtils.isNumber(precision) ? precision : this.defaultPrecision;
4231
4363
  }
4232
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FormatterService, deps: [{ token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
4233
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FormatterService }); }
4364
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FormatterService, deps: [{ token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
4365
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FormatterService });
4234
4366
  }
4235
4367
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FormatterService, decorators: [{
4236
4368
  type: Injectable
@@ -4240,6 +4372,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
4240
4372
  }] }] });
4241
4373
 
4242
4374
  class GlobalTemplateService {
4375
+ templatesUpdated;
4376
+ globalTemplates;
4377
+ componentModifiers;
4243
4378
  constructor() {
4244
4379
  this.templatesUpdated = new BehaviorSubject([]);
4245
4380
  this.globalTemplates = {};
@@ -4266,20 +4401,24 @@ class GlobalTemplateService {
4266
4401
  addComponentModifier(id, modifier) {
4267
4402
  this.componentModifiers[id] = modifier;
4268
4403
  }
4269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4270
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplateService }); }
4404
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4405
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplateService });
4271
4406
  }
4272
4407
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplateService, decorators: [{
4273
4408
  type: Injectable
4274
4409
  }], ctorParameters: () => [] });
4275
4410
 
4276
4411
  class HrefSerializer {
4412
+ baseHref;
4413
+ urlSerializer;
4277
4414
  get count() {
4278
4415
  return this.promiseCount;
4279
4416
  }
4280
4417
  get onChanged() {
4281
4418
  return this.promiseChanged;
4282
4419
  }
4420
+ promiseCount;
4421
+ promiseChanged;
4283
4422
  constructor(baseHref, urlSerializer) {
4284
4423
  this.baseHref = baseHref;
4285
4424
  this.urlSerializer = urlSerializer;
@@ -4294,8 +4433,8 @@ class HrefSerializer {
4294
4433
  ? `${this.baseHref}${serialized}`.replace(/\/\/$/, "/")
4295
4434
  : serialized;
4296
4435
  }
4297
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: HrefSerializer, deps: [{ token: APP_BASE_HREF }, { token: i2.UrlSerializer }], target: i0.ɵɵFactoryTarget.Injectable }); }
4298
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: HrefSerializer }); }
4436
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: HrefSerializer, deps: [{ token: APP_BASE_HREF }, { token: i2.UrlSerializer }], target: i0.ɵɵFactoryTarget.Injectable });
4437
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: HrefSerializer });
4299
4438
  }
4300
4439
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: HrefSerializer, decorators: [{
4301
4440
  type: Injectable
@@ -4305,6 +4444,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
4305
4444
  }] }, { type: i2.UrlSerializer }] });
4306
4445
 
4307
4446
  class LocalHttpService extends BaseHttpService {
4447
+ svgs;
4448
+ images;
4308
4449
  get name() {
4309
4450
  return "local-http";
4310
4451
  }
@@ -4392,14 +4533,15 @@ class LocalHttpService extends BaseHttpService {
4392
4533
  throw new Error(`Can't get svg from url: ${url}, Error: ${e?.message}`);
4393
4534
  }
4394
4535
  }
4395
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LocalHttpService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4396
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LocalHttpService }); }
4536
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LocalHttpService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4537
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LocalHttpService });
4397
4538
  }
4398
4539
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LocalHttpService, decorators: [{
4399
4540
  type: Injectable
4400
4541
  }] });
4401
4542
 
4402
4543
  class IconService {
4544
+ http;
4403
4545
  get isDisabled() {
4404
4546
  return this.disabled;
4405
4547
  }
@@ -4407,6 +4549,8 @@ class IconService {
4407
4549
  this.disabled = value;
4408
4550
  this.iconsLoaded.emit();
4409
4551
  }
4552
+ iconsLoaded;
4553
+ disabled;
4410
4554
  constructor(http) {
4411
4555
  this.http = http;
4412
4556
  this.iconsLoaded = new EventEmitter();
@@ -4425,8 +4569,8 @@ class IconService {
4425
4569
  const src = await this.getIcon(icon, icon, false);
4426
4570
  return this.http.svgFromSource(src, modifier);
4427
4571
  }
4428
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconService, deps: [{ token: LocalHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4429
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconService }); }
4572
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconService, deps: [{ token: LocalHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
4573
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconService });
4430
4574
  }
4431
4575
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconService, decorators: [{
4432
4576
  type: Injectable
@@ -4434,6 +4578,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
4434
4578
 
4435
4579
  const EMPTY_DICT = {};
4436
4580
  class StaticLanguageService {
4581
+ events;
4582
+ storage;
4583
+ configs;
4584
+ promises;
4585
+ client;
4437
4586
  get defaultLanguage() {
4438
4587
  return this.configs.getQueryParameter("lang") || this.storage.get("language", this.getDefaultLanguage());
4439
4588
  }
@@ -4483,6 +4632,13 @@ class StaticLanguageService {
4483
4632
  get universal() {
4484
4633
  return this.storage.universal;
4485
4634
  }
4635
+ editLang;
4636
+ currentLang;
4637
+ enableTrans;
4638
+ languageList;
4639
+ translations;
4640
+ overrideTranslations;
4641
+ mergedTranslations;
4486
4642
  constructor(events, storage, configs, promises, client) {
4487
4643
  this.events = events;
4488
4644
  this.storage = storage;
@@ -4621,8 +4777,8 @@ class StaticLanguageService {
4621
4777
  return merged;
4622
4778
  }, {});
4623
4779
  }
4624
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StaticLanguageService, deps: [{ token: EventsService }, { token: StorageService }, { token: CONFIG_SERVICE }, { token: PROMISE_SERVICE }, { token: BaseHttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
4625
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StaticLanguageService }); }
4780
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StaticLanguageService, deps: [{ token: EventsService }, { token: StorageService }, { token: CONFIG_SERVICE }, { token: PROMISE_SERVICE }, { token: BaseHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
4781
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StaticLanguageService });
4626
4782
  }
4627
4783
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StaticLanguageService, decorators: [{
4628
4784
  type: Injectable
@@ -4644,6 +4800,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
4644
4800
  }] }] });
4645
4801
 
4646
4802
  class LanguageService extends StaticLanguageService {
4803
+ translationRequests;
4804
+ settingsPromise;
4805
+ languageSettings;
4647
4806
  get currentLanguage() {
4648
4807
  return this.currentLang || this.defaultLanguage;
4649
4808
  }
@@ -4770,14 +4929,21 @@ class LanguageService extends StaticLanguageService {
4770
4929
  });
4771
4930
  return this.settingsPromise;
4772
4931
  }
4773
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LanguageService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4774
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LanguageService }); }
4932
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LanguageService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4933
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LanguageService });
4775
4934
  }
4776
4935
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: LanguageService, decorators: [{
4777
4936
  type: Injectable
4778
4937
  }] });
4779
4938
 
4780
4939
  class OpenApiService {
4940
+ api;
4941
+ schemaSelector;
4942
+ staticSchemas;
4943
+ injector;
4944
+ apiDocs;
4945
+ schemas;
4946
+ dynamicSchemas;
4781
4947
  constructor(api, schemaSelector, staticSchemas, injector) {
4782
4948
  this.api = api;
4783
4949
  this.schemaSelector = schemaSelector;
@@ -4850,15 +5016,32 @@ class OpenApiService {
4850
5016
  extractSchemas(res) {
4851
5017
  const schemas = Object.assign({}, res.components?.schemas || res.definitions || {});
4852
5018
  Object.entries(schemas).forEach(([name, schema]) => {
5019
+ schema.name = name;
4853
5020
  Object.keys(schema.properties || {}).forEach(p => {
4854
- schema.name = name;
4855
- schema.properties[p].id = p;
5021
+ const prop = schema.properties[p];
5022
+ prop.id = p;
5023
+ prop.discriminatorFn = this.getDiscriminatorFn(prop);
4856
5024
  });
4857
5025
  });
4858
5026
  return schemas;
4859
5027
  }
4860
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: OpenApiService, deps: [{ token: API_SERVICE }, { token: SCHEMA_SELECTOR }, { token: STATIC_SCHEMAS }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
4861
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: OpenApiService }); }
5028
+ getDiscriminatorFn(discriminator) {
5029
+ const opts = discriminator?.discriminator;
5030
+ if (!isObject(opts))
5031
+ return null;
5032
+ const { propertyName, mapping } = opts;
5033
+ if (!isStringWithValue(propertyName) || !isObject(mapping))
5034
+ return null;
5035
+ const map = Object.fromEntries(Object.entries(mapping)
5036
+ .filter(entry => isStringWithValue(entry[1]))
5037
+ .map(entry => [entry[0], entry[1].split("/").pop()]));
5038
+ return (target) => {
5039
+ const value = !target ? null : target[propertyName];
5040
+ return map[value];
5041
+ };
5042
+ }
5043
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: OpenApiService, deps: [{ token: API_SERVICE }, { token: SCHEMA_SELECTOR }, { token: STATIC_SCHEMAS }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
5044
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: OpenApiService });
4862
5045
  }
4863
5046
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: OpenApiService, decorators: [{
4864
5047
  type: Injectable
@@ -4874,6 +5057,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
4874
5057
  }] }, { type: i0.Injector }] });
4875
5058
 
4876
5059
  class BaseToasterService {
5060
+ language;
5061
+ colorMap;
4877
5062
  constructor(language) {
4878
5063
  this.language = language;
4879
5064
  this.colorMap = {
@@ -4933,8 +5118,8 @@ class BaseToasterService {
4933
5118
  console.log(message, `background: ${this.colorMap[type]}; color: #ffffff`, params);
4934
5119
  return null;
4935
5120
  }
4936
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseToasterService, deps: [{ token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
4937
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseToasterService }); }
5121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseToasterService, deps: [{ token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
5122
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseToasterService });
4938
5123
  }
4939
5124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BaseToasterService, decorators: [{
4940
5125
  type: Injectable
@@ -4944,6 +5129,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
4944
5129
  }] }] });
4945
5130
 
4946
5131
  class ComponentLoaderService {
5132
+ appRef;
5133
+ ngModule;
5134
+ rootElement;
5135
+ typeMap;
5136
+ moduleRegistry;
5137
+ moduleMap;
4947
5138
  get injector() {
4948
5139
  return this.ngModule.injector;
4949
5140
  }
@@ -5055,8 +5246,8 @@ class ComponentLoaderService {
5055
5246
  }));
5056
5247
  return this.moduleMap.get(moduleInfo.moduleId);
5057
5248
  }
5058
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ComponentLoaderService, deps: [{ token: i0.ApplicationRef }, { token: i0.NgModuleRef }, { token: ROOT_ELEMENT }, { token: DYNAMIC_MODULE_INFO, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
5059
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ComponentLoaderService }); }
5249
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ComponentLoaderService, deps: [{ token: i0.ApplicationRef }, { token: i0.NgModuleRef }, { token: ROOT_ELEMENT }, { token: DYNAMIC_MODULE_INFO, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
5250
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ComponentLoaderService });
5060
5251
  }
5061
5252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ComponentLoaderService, decorators: [{
5062
5253
  type: Injectable
@@ -5071,6 +5262,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
5071
5262
  }] }] });
5072
5263
 
5073
5264
  class TranslatedUrlSerializer extends DefaultUrlSerializer {
5265
+ language;
5266
+ cache;
5074
5267
  constructor(language) {
5075
5268
  super();
5076
5269
  this.language = language;
@@ -5129,8 +5322,8 @@ class TranslatedUrlSerializer extends DefaultUrlSerializer {
5129
5322
  });
5130
5323
  return newGroup;
5131
5324
  }
5132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatedUrlSerializer, deps: [{ token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
5133
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatedUrlSerializer }); }
5325
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatedUrlSerializer, deps: [{ token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
5326
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatedUrlSerializer });
5134
5327
  }
5135
5328
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatedUrlSerializer, decorators: [{
5136
5329
  type: Injectable
@@ -5140,12 +5333,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
5140
5333
  }] }] });
5141
5334
 
5142
5335
  class PromiseService {
5336
+ zone;
5143
5337
  get count() {
5144
5338
  return this.promiseCount;
5145
5339
  }
5146
5340
  get onChanged() {
5147
5341
  return this.promiseChanged;
5148
5342
  }
5343
+ promiseCount;
5344
+ promiseChanged;
5149
5345
  constructor(zone) {
5150
5346
  this.zone = zone;
5151
5347
  this.promiseCount = 0;
@@ -5182,8 +5378,8 @@ class PromiseService {
5182
5378
  });
5183
5379
  });
5184
5380
  }
5185
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PromiseService, deps: [{ token: NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
5186
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PromiseService }); }
5381
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PromiseService, deps: [{ token: NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
5382
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PromiseService });
5187
5383
  }
5188
5384
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PromiseService, decorators: [{
5189
5385
  type: Injectable
@@ -5193,6 +5389,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
5193
5389
  }] }] });
5194
5390
 
5195
5391
  class SocketService {
5392
+ api;
5393
+ ioPath;
5394
+ events;
5395
+ client;
5396
+ userSub;
5196
5397
  get status() {
5197
5398
  return this.client.status;
5198
5399
  }
@@ -5256,8 +5457,8 @@ class SocketService {
5256
5457
  request(event, content) {
5257
5458
  return this.client.request(event, content);
5258
5459
  }
5259
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SocketService, deps: [{ token: API_SERVICE }, { token: SOCKET_IO_PATH }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5260
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SocketService }); }
5460
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SocketService, deps: [{ token: API_SERVICE }, { token: SOCKET_IO_PATH }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Injectable });
5461
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SocketService });
5261
5462
  }
5262
5463
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SocketService, decorators: [{
5263
5464
  type: Injectable
@@ -5270,6 +5471,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
5270
5471
  }] }, { type: EventsService }] });
5271
5472
 
5272
5473
  class DragDropHandler {
5474
+ el;
5475
+ static handlers;
5476
+ onDragStart;
5477
+ onDragEnter;
5478
+ onDragOver;
5479
+ onDragLeave;
5480
+ onDrop;
5481
+ first;
5482
+ second;
5483
+ dropEffect;
5484
+ effectAllowed;
5485
+ listeners;
5273
5486
  static get(el) {
5274
5487
  if (DragDropHandler.handlers?.has(el)) {
5275
5488
  return DragDropHandler.handlers.get(el);
@@ -5361,7 +5574,8 @@ class DragDropHandler {
5361
5574
  function emptyRemove$2() {
5362
5575
  }
5363
5576
  class DragDropEventPlugin extends _DomEventsPlugin {
5364
- static { this.EVENT_NAMES = ["dragstart", "dragenter", "dragleave", "drop"]; }
5577
+ universal;
5578
+ static EVENT_NAMES = ["dragstart", "dragenter", "dragleave", "drop"];
5365
5579
  constructor(doc, universal) {
5366
5580
  super(doc);
5367
5581
  this.universal = universal;
@@ -5382,8 +5596,8 @@ class DragDropEventPlugin extends _DomEventsPlugin {
5382
5596
  return () => dd.removeListener(eventName, callback);
5383
5597
  });
5384
5598
  }
5385
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DragDropEventPlugin, deps: [{ token: DOCUMENT }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5386
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DragDropEventPlugin }); }
5599
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DragDropEventPlugin, deps: [{ token: DOCUMENT }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Injectable });
5600
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DragDropEventPlugin });
5387
5601
  }
5388
5602
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DragDropEventPlugin, decorators: [{
5389
5603
  type: Injectable
@@ -5393,6 +5607,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
5393
5607
  }] }, { type: UniversalService }] });
5394
5608
 
5395
5609
  class ResizeDetector {
5610
+ resizeStrategy;
5611
+ detector;
5612
+ isObservable;
5613
+ observers;
5396
5614
  constructor(resizeStrategy) {
5397
5615
  this.resizeStrategy = resizeStrategy;
5398
5616
  this.detector = elementResizeDetectorMaker({
@@ -5435,7 +5653,11 @@ function isWindow(el) {
5435
5653
  return typeof window !== "undefined" && el === window;
5436
5654
  }
5437
5655
  class ResizeEventPlugin extends _DomEventsPlugin {
5438
- static { this.EVENT_NAME = "resize"; }
5656
+ resizeDelay;
5657
+ resizeStrategy;
5658
+ universal;
5659
+ static EVENT_NAME = "resize";
5660
+ detector;
5439
5661
  constructor(doc, resizeDelay, resizeStrategy, universal) {
5440
5662
  super(doc);
5441
5663
  this.resizeDelay = resizeDelay;
@@ -5480,8 +5702,8 @@ class ResizeEventPlugin extends _DomEventsPlugin {
5480
5702
  };
5481
5703
  });
5482
5704
  }
5483
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ResizeEventPlugin, deps: [{ token: DOCUMENT }, { token: RESIZE_DELAY }, { token: RESIZE_STRATEGY }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5484
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ResizeEventPlugin }); }
5705
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ResizeEventPlugin, deps: [{ token: DOCUMENT }, { token: RESIZE_DELAY }, { token: RESIZE_STRATEGY }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Injectable });
5706
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ResizeEventPlugin });
5485
5707
  }
5486
5708
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ResizeEventPlugin, decorators: [{
5487
5709
  type: Injectable
@@ -5499,7 +5721,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
5499
5721
  function emptyRemove() {
5500
5722
  }
5501
5723
  class ScrollEventPlugin extends _DomEventsPlugin {
5502
- static { this.EVENT_NAME = "scroll"; }
5724
+ universal;
5725
+ static EVENT_NAME = "scroll";
5503
5726
  constructor(doc, universal) {
5504
5727
  super(doc);
5505
5728
  this.universal = universal;
@@ -5519,8 +5742,8 @@ class ScrollEventPlugin extends _DomEventsPlugin {
5519
5742
  return () => element.removeEventListener(eventName, callback);
5520
5743
  });
5521
5744
  }
5522
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ScrollEventPlugin, deps: [{ token: DOCUMENT }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5523
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ScrollEventPlugin }); }
5745
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ScrollEventPlugin, deps: [{ token: DOCUMENT }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Injectable });
5746
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ScrollEventPlugin });
5524
5747
  }
5525
5748
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ScrollEventPlugin, decorators: [{
5526
5749
  type: Injectable
@@ -5542,8 +5765,8 @@ class ChunkPipe {
5542
5765
  });
5543
5766
  return result;
5544
5767
  }
5545
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ChunkPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5546
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ChunkPipe, isStandalone: false, name: "chunk" }); }
5768
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ChunkPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5769
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ChunkPipe, isStandalone: false, name: "chunk" });
5547
5770
  }
5548
5771
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ChunkPipe, decorators: [{
5549
5772
  type: Pipe,
@@ -5568,8 +5791,8 @@ class EntriesPipe {
5568
5791
  });
5569
5792
  return entries;
5570
5793
  }
5571
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: EntriesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5572
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: EntriesPipe, isStandalone: false, name: "entries" }); }
5794
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: EntriesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5795
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: EntriesPipe, isStandalone: false, name: "entries" });
5573
5796
  }
5574
5797
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: EntriesPipe, decorators: [{
5575
5798
  type: Pipe,
@@ -5597,8 +5820,8 @@ class ExtraItemPropertiesPipe {
5597
5820
  return result;
5598
5821
  }, { ...item }));
5599
5822
  }
5600
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ExtraItemPropertiesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5601
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ExtraItemPropertiesPipe, isStandalone: false, name: "extraItemProperties" }); }
5823
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ExtraItemPropertiesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5824
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ExtraItemPropertiesPipe, isStandalone: false, name: "extraItemProperties" });
5602
5825
  }
5603
5826
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ExtraItemPropertiesPipe, decorators: [{
5604
5827
  type: Pipe,
@@ -5632,8 +5855,8 @@ class FilterPipe {
5632
5855
  return filterFunc(value, key, params, values);
5633
5856
  });
5634
5857
  }
5635
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5636
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: FilterPipe, isStandalone: false, name: "filter" }); }
5858
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5859
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: FilterPipe, isStandalone: false, name: "filter" });
5637
5860
  }
5638
5861
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FilterPipe, decorators: [{
5639
5862
  type: Pipe,
@@ -5659,8 +5882,8 @@ class FindPipe {
5659
5882
  };
5660
5883
  return values.find((value, index) => filterFunc(value, index, params, values));
5661
5884
  }
5662
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FindPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5663
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: FindPipe, isStandalone: false, name: "find" }); }
5885
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FindPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5886
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: FindPipe, isStandalone: false, name: "find" });
5664
5887
  }
5665
5888
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FindPipe, decorators: [{
5666
5889
  type: Pipe,
@@ -5671,14 +5894,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
5671
5894
  }] });
5672
5895
 
5673
5896
  class FormatNumberPipe {
5897
+ formatter;
5674
5898
  constructor(formatter) {
5675
5899
  this.formatter = formatter;
5676
5900
  }
5677
5901
  transform(value, format, precision, divider) {
5678
5902
  return this.formatter.formatNumber(value, format, precision, divider);
5679
5903
  }
5680
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FormatNumberPipe, deps: [{ token: FormatterService }], target: i0.ɵɵFactoryTarget.Pipe }); }
5681
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: FormatNumberPipe, isStandalone: false, name: "formatNumber" }); }
5904
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FormatNumberPipe, deps: [{ token: FormatterService }], target: i0.ɵɵFactoryTarget.Pipe });
5905
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: FormatNumberPipe, isStandalone: false, name: "formatNumber" });
5682
5906
  }
5683
5907
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FormatNumberPipe, decorators: [{
5684
5908
  type: Pipe,
@@ -5692,8 +5916,8 @@ class GetOffsetPipe {
5692
5916
  transform(value, offset) {
5693
5917
  return value ? (ObjectUtils.isNullOrUndefined(offset) ? value : value[offset]) : null;
5694
5918
  }
5695
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GetOffsetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5696
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GetOffsetPipe, isStandalone: false, name: "getOffset" }); }
5919
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GetOffsetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5920
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GetOffsetPipe, isStandalone: false, name: "getOffset" });
5697
5921
  }
5698
5922
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GetOffsetPipe, decorators: [{
5699
5923
  type: Pipe,
@@ -5707,8 +5931,8 @@ class GetTypePipe {
5707
5931
  transform(value) {
5708
5932
  return ObjectUtils.getType(value);
5709
5933
  }
5710
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GetTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5711
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GetTypePipe, isStandalone: false, name: "getType" }); }
5934
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GetTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5935
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GetTypePipe, isStandalone: false, name: "getType" });
5712
5936
  }
5713
5937
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GetTypePipe, decorators: [{
5714
5938
  type: Pipe,
@@ -5722,8 +5946,8 @@ class GetValuePipe {
5722
5946
  transform(value, path, defaultVal = "") {
5723
5947
  return !value ? value : ObjectUtils.getValue(value, path, defaultVal);
5724
5948
  }
5725
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GetValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5726
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GetValuePipe, isStandalone: false, name: "getValue" }); }
5949
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GetValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
5950
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GetValuePipe, isStandalone: false, name: "getValue" });
5727
5951
  }
5728
5952
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GetValuePipe, decorators: [{
5729
5953
  type: Pipe,
@@ -5734,6 +5958,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
5734
5958
  }] });
5735
5959
 
5736
5960
  class GlobalTemplatePipe {
5961
+ globalTemplates;
5962
+ templatesUpdated;
5963
+ cachedTemplateId;
5964
+ cachedTemplate;
5737
5965
  constructor(globalTemplates) {
5738
5966
  this.globalTemplates = globalTemplates;
5739
5967
  this.cachedTemplateId = null;
@@ -5757,8 +5985,8 @@ class GlobalTemplatePipe {
5757
5985
  }
5758
5986
  return this.cachedTemplate;
5759
5987
  }
5760
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplatePipe, deps: [{ token: GlobalTemplateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
5761
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplatePipe, isStandalone: false, name: "globalTemplate", pure: false }); }
5988
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplatePipe, deps: [{ token: GlobalTemplateService }], target: i0.ɵɵFactoryTarget.Pipe });
5989
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplatePipe, isStandalone: false, name: "globalTemplate", pure: false });
5762
5990
  }
5763
5991
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplatePipe, decorators: [{
5764
5992
  type: Pipe,
@@ -5783,8 +6011,8 @@ class GroupByPipe {
5783
6011
  return { group: key, items: groups[key] };
5784
6012
  });
5785
6013
  }
5786
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GroupByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5787
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GroupByPipe, isStandalone: false, name: "groupBy" }); }
6014
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GroupByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6015
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: GroupByPipe, isStandalone: false, name: "groupBy" });
5788
6016
  }
5789
6017
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GroupByPipe, decorators: [{
5790
6018
  type: Pipe,
@@ -5801,8 +6029,8 @@ class IncludesPipe {
5801
6029
  transform(array, ...values) {
5802
6030
  return ObjectUtils.isArray(array) && values.some(v => array.includes(v));
5803
6031
  }
5804
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IncludesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5805
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: IncludesPipe, isStandalone: false, name: "includes" }); }
6032
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IncludesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6033
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: IncludesPipe, isStandalone: false, name: "includes" });
5806
6034
  }
5807
6035
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IncludesPipe, decorators: [{
5808
6036
  type: Pipe,
@@ -5816,8 +6044,8 @@ class IsTypePipe {
5816
6044
  transform(value, type) {
5817
6045
  return ObjectUtils.getType(value) === type;
5818
6046
  }
5819
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IsTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5820
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: IsTypePipe, isStandalone: false, name: "isType" }); }
6047
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IsTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6048
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: IsTypePipe, isStandalone: false, name: "isType" });
5821
6049
  }
5822
6050
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IsTypePipe, decorators: [{
5823
6051
  type: Pipe,
@@ -5833,8 +6061,8 @@ class JoinPipe {
5833
6061
  ? value.join(separator)
5834
6062
  : "";
5835
6063
  }
5836
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: JoinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5837
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: JoinPipe, isStandalone: false, name: "join" }); }
6064
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: JoinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6065
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: JoinPipe, isStandalone: false, name: "join" });
5838
6066
  }
5839
6067
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: JoinPipe, decorators: [{
5840
6068
  type: Pipe,
@@ -5853,8 +6081,8 @@ class KeysPipe {
5853
6081
  ? Array.from(value.keys())
5854
6082
  : Object.keys(value);
5855
6083
  }
5856
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5857
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: KeysPipe, isStandalone: false, name: "keys" }); }
6084
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6085
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: KeysPipe, isStandalone: false, name: "keys" });
5858
6086
  }
5859
6087
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: KeysPipe, decorators: [{
5860
6088
  type: Pipe,
@@ -5880,8 +6108,8 @@ class MapPipe {
5880
6108
  };
5881
6109
  return values.map((value, index) => mapperFunc(value, index, params));
5882
6110
  }
5883
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: MapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5884
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: MapPipe, isStandalone: false, name: "map" }); }
6111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: MapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6112
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: MapPipe, isStandalone: false, name: "map" });
5885
6113
  }
5886
6114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: MapPipe, decorators: [{
5887
6115
  type: Pipe,
@@ -5903,8 +6131,8 @@ class MaxPipe {
5903
6131
  };
5904
6132
  return ArrayUtils.max(value, (item, index) => maxSelector(item, index, params));
5905
6133
  }
5906
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: MaxPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5907
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: MaxPipe, isStandalone: false, name: "max" }); }
6134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: MaxPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6135
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: MaxPipe, isStandalone: false, name: "max" });
5908
6136
  }
5909
6137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: MaxPipe, decorators: [{
5910
6138
  type: Pipe,
@@ -5926,8 +6154,8 @@ class MinPipe {
5926
6154
  };
5927
6155
  return ArrayUtils.min(value, (item, index) => minSelector(item, index, params));
5928
6156
  }
5929
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: MinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5930
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: MinPipe, isStandalone: false, name: "min" }); }
6157
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: MinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6158
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: MinPipe, isStandalone: false, name: "min" });
5931
6159
  }
5932
6160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: MinPipe, decorators: [{
5933
6161
  type: Pipe,
@@ -5941,8 +6169,8 @@ class PopPipe {
5941
6169
  transform(value) {
5942
6170
  return !Array.isArray(value) ? null : Array.from(value).pop();
5943
6171
  }
5944
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PopPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5945
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: PopPipe, isStandalone: false, name: "pop" }); }
6172
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PopPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6173
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: PopPipe, isStandalone: false, name: "pop" });
5946
6174
  }
5947
6175
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PopPipe, decorators: [{
5948
6176
  type: Pipe,
@@ -5969,8 +6197,8 @@ class ReducePipe {
5969
6197
  };
5970
6198
  return values.reduce((result, value, index) => mapperFunc(result, value, index, params), source);
5971
6199
  }
5972
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ReducePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5973
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ReducePipe, isStandalone: false, name: "reduce" }); }
6200
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ReducePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6201
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ReducePipe, isStandalone: false, name: "reduce" });
5974
6202
  }
5975
6203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ReducePipe, decorators: [{
5976
6204
  type: Pipe,
@@ -5999,8 +6227,8 @@ class RemapPipe {
5999
6227
  });
6000
6228
  return remapped.map;
6001
6229
  }
6002
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: RemapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
6003
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: RemapPipe, isStandalone: false, name: "remap" }); }
6230
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: RemapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6231
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: RemapPipe, isStandalone: false, name: "remap" });
6004
6232
  }
6005
6233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: RemapPipe, decorators: [{
6006
6234
  type: Pipe,
@@ -6014,8 +6242,8 @@ class ReplacePipe {
6014
6242
  transform(value, from, to) {
6015
6243
  return ObjectUtils.isDefined(value) ? `${value}`.replace(from, to) : ``;
6016
6244
  }
6017
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ReplacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
6018
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ReplacePipe, isStandalone: false, name: "replace" }); }
6245
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ReplacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6246
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ReplacePipe, isStandalone: false, name: "replace" });
6019
6247
  }
6020
6248
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ReplacePipe, decorators: [{
6021
6249
  type: Pipe,
@@ -6036,8 +6264,8 @@ class ReversePipe {
6036
6264
  }
6037
6265
  return result;
6038
6266
  }
6039
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ReversePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
6040
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ReversePipe, isStandalone: false, name: "reverse" }); }
6267
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ReversePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6268
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ReversePipe, isStandalone: false, name: "reverse" });
6041
6269
  }
6042
6270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ReversePipe, decorators: [{
6043
6271
  type: Pipe,
@@ -6048,14 +6276,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6048
6276
  }] });
6049
6277
 
6050
6278
  class RoundPipe {
6279
+ formatter;
6051
6280
  constructor(formatter) {
6052
6281
  this.formatter = formatter;
6053
6282
  }
6054
6283
  transform(value, precision = 2, divider = 1) {
6055
6284
  return this.formatter.roundNumber(value, precision, divider);
6056
6285
  }
6057
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: RoundPipe, deps: [{ token: FormatterService }], target: i0.ɵɵFactoryTarget.Pipe }); }
6058
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: RoundPipe, isStandalone: false, name: "round" }); }
6286
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: RoundPipe, deps: [{ token: FormatterService }], target: i0.ɵɵFactoryTarget.Pipe });
6287
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: RoundPipe, isStandalone: false, name: "round" });
6059
6288
  }
6060
6289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: RoundPipe, decorators: [{
6061
6290
  type: Pipe,
@@ -6066,6 +6295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6066
6295
  }], ctorParameters: () => [{ type: FormatterService }] });
6067
6296
 
6068
6297
  class SafeHtmlPipe {
6298
+ sanitizer;
6069
6299
  constructor(sanitizer) {
6070
6300
  this.sanitizer = sanitizer;
6071
6301
  }
@@ -6085,8 +6315,8 @@ class SafeHtmlPipe {
6085
6315
  throw new Error(`SafePipe unable to bypass security for invalid type: ${type}`);
6086
6316
  }
6087
6317
  }
6088
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
6089
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: SafeHtmlPipe, isStandalone: false, name: "safe" }); }
6318
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
6319
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: SafeHtmlPipe, isStandalone: false, name: "safe" });
6090
6320
  }
6091
6321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SafeHtmlPipe, decorators: [{
6092
6322
  type: Pipe,
@@ -6100,8 +6330,8 @@ class ShiftPipe {
6100
6330
  transform(value) {
6101
6331
  return !Array.isArray(value) ? null : Array.from(value).shift();
6102
6332
  }
6103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ShiftPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
6104
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ShiftPipe, isStandalone: false, name: "shift" }); }
6333
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ShiftPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6334
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ShiftPipe, isStandalone: false, name: "shift" });
6105
6335
  }
6106
6336
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ShiftPipe, decorators: [{
6107
6337
  type: Pipe,
@@ -6115,8 +6345,8 @@ class SplitPipe {
6115
6345
  transform(value, separator = ".") {
6116
6346
  return `${value}`.split(separator);
6117
6347
  }
6118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SplitPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
6119
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: SplitPipe, isStandalone: false, name: "split" }); }
6348
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SplitPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6349
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: SplitPipe, isStandalone: false, name: "split" });
6120
6350
  }
6121
6351
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SplitPipe, decorators: [{
6122
6352
  type: Pipe,
@@ -6132,8 +6362,8 @@ class SyncAsyncPipe extends AsyncPipe {
6132
6362
  ? super.transform(value)
6133
6363
  : value;
6134
6364
  }
6135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SyncAsyncPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
6136
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: SyncAsyncPipe, isStandalone: false, name: "syncAsync", pure: false }); }
6365
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SyncAsyncPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
6366
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: SyncAsyncPipe, isStandalone: false, name: "syncAsync", pure: false });
6137
6367
  }
6138
6368
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: SyncAsyncPipe, decorators: [{
6139
6369
  type: Pipe,
@@ -6145,6 +6375,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6145
6375
  }] });
6146
6376
 
6147
6377
  class TranslatePipe {
6378
+ cdr;
6379
+ language;
6380
+ dictionary;
6381
+ enabled;
6382
+ query;
6383
+ args;
6384
+ params;
6385
+ lastValue;
6148
6386
  get currentLang() {
6149
6387
  return this.language.currentLanguage;
6150
6388
  }
@@ -6208,9 +6446,9 @@ class TranslatePipe {
6208
6446
  }
6209
6447
  return this.lastValue;
6210
6448
  }
6211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Pipe }); }
6212
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: TranslatePipe, isStandalone: false, name: "translate", pure: false }); }
6213
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatePipe }); }
6449
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Pipe });
6450
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: TranslatePipe, isStandalone: false, name: "translate", pure: false });
6451
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatePipe });
6214
6452
  }
6215
6453
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TranslatePipe, decorators: [{
6216
6454
  type: Injectable
@@ -6235,8 +6473,8 @@ class ValuesPipe {
6235
6473
  ? value
6236
6474
  : Object.keys(value).map(key => value[key]);
6237
6475
  }
6238
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ValuesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
6239
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ValuesPipe, isStandalone: false, name: "values" }); }
6476
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ValuesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6477
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: ValuesPipe, isStandalone: false, name: "values" });
6240
6478
  }
6241
6479
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ValuesPipe, decorators: [{
6242
6480
  type: Pipe,
@@ -6247,17 +6485,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6247
6485
  }] });
6248
6486
 
6249
6487
  class AsyncMethodBase {
6488
+ disabled = signal(false);
6489
+ context = input({});
6490
+ onSuccess = output();
6491
+ onError = output();
6492
+ toaster = inject(TOASTER_SERVICE);
6493
+ cdr = inject(ChangeDetectorRef);
6494
+ element = inject(ElementRef);
6495
+ loading = signal(false);
6496
+ target = signal(this.element.nativeElement);
6497
+ previousTarget = computedPrevious(this.target);
6250
6498
  constructor() {
6251
- this.disabled = signal(false);
6252
- this.context = input({});
6253
- this.onSuccess = output();
6254
- this.onError = output();
6255
- this.toaster = inject(TOASTER_SERVICE);
6256
- this.cdr = inject(ChangeDetectorRef);
6257
- this.element = inject(ElementRef);
6258
- this.loading = signal(false);
6259
- this.target = signal(this.element.nativeElement);
6260
- this.previousTarget = computedPrevious(this.target);
6261
6499
  effect(() => {
6262
6500
  const target = this.target();
6263
6501
  if (!target)
@@ -6329,8 +6567,8 @@ class AsyncMethodBase {
6329
6567
  getArgs(ev) {
6330
6568
  return untracked(() => [this.context(), ev]);
6331
6569
  }
6332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncMethodBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6333
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: AsyncMethodBase, isStandalone: false, selector: "[__asmb__]", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSuccess: "onSuccess", onError: "onError" }, host: { listeners: { "click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0 }); }
6570
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncMethodBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6571
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: AsyncMethodBase, isStandalone: false, selector: "[__asmb__]", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSuccess: "onSuccess", onError: "onError" }, host: { listeners: { "click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0 });
6334
6572
  }
6335
6573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncMethodBase, decorators: [{
6336
6574
  type: Directive,
@@ -6344,17 +6582,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6344
6582
  }] } });
6345
6583
 
6346
6584
  class AsyncMethodDirective extends AsyncMethodBase {
6347
- constructor() {
6348
- super(...arguments);
6349
- this.method = input(null, { alias: "async-method" });
6350
- }
6585
+ method = input(null, { alias: "async-method" });
6351
6586
  getMethod() {
6352
6587
  return untracked(() => this.method());
6353
6588
  }
6354
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncMethodDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
6355
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: AsyncMethodDirective, isStandalone: false, selector: "[async-method]", inputs: { method: { classPropertyName: "method", publicName: "async-method", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6589
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncMethodDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6590
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: AsyncMethodDirective, isStandalone: false, selector: "[async-method]", inputs: { method: { classPropertyName: "method", publicName: "async-method", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
6356
6591
  { provide: AsyncMethodBase, useExisting: AsyncMethodDirective }
6357
- ], exportAs: ["async-method"], usesInheritance: true, ngImport: i0 }); }
6592
+ ], exportAs: ["async-method"], usesInheritance: true, ngImport: i0 });
6358
6593
  }
6359
6594
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncMethodDirective, decorators: [{
6360
6595
  type: Directive,
@@ -6369,6 +6604,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6369
6604
  }] });
6370
6605
 
6371
6606
  class AsyncMethodTargetDirective {
6607
+ element;
6608
+ asyncMethod;
6372
6609
  constructor(element, asyncMethod) {
6373
6610
  this.element = element;
6374
6611
  this.asyncMethod = asyncMethod;
@@ -6378,8 +6615,8 @@ class AsyncMethodTargetDirective {
6378
6615
  }
6379
6616
  asyncMethod.target.set(element.nativeElement);
6380
6617
  }
6381
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncMethodTargetDirective, deps: [{ token: i0.ElementRef }, { token: AsyncMethodBase, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
6382
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: AsyncMethodTargetDirective, isStandalone: false, selector: "[async-method-target]", ngImport: i0 }); }
6618
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncMethodTargetDirective, deps: [{ token: i0.ElementRef }, { token: AsyncMethodBase, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
6619
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: AsyncMethodTargetDirective, isStandalone: false, selector: "[async-method-target]", ngImport: i0 });
6383
6620
  }
6384
6621
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncMethodTargetDirective, decorators: [{
6385
6622
  type: Directive,
@@ -6394,6 +6631,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6394
6631
  const defaultClass = "default-image";
6395
6632
  const loadingClass = "loading-image";
6396
6633
  class BackgroundDirective {
6634
+ http;
6635
+ element;
6636
+ renderer;
6637
+ universal;
6638
+ background;
6639
+ backgroundSize;
6397
6640
  constructor(http, element, renderer, universal) {
6398
6641
  this.http = http;
6399
6642
  this.element = element;
@@ -6421,8 +6664,8 @@ class BackgroundDirective {
6421
6664
  return;
6422
6665
  this.renderer.setStyle(this.element.nativeElement, "background-size", this.backgroundSize);
6423
6666
  }
6424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BackgroundDirective, deps: [{ token: i1$1.HttpClient }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Directive }); }
6425
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: BackgroundDirective, isStandalone: false, selector: "[background]", inputs: { background: "background", backgroundSize: "backgroundSize" }, usesOnChanges: true, ngImport: i0 }); }
6667
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BackgroundDirective, deps: [{ token: i1$1.HttpClient }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Directive });
6668
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: BackgroundDirective, isStandalone: false, selector: "[background]", inputs: { background: "background", backgroundSize: "backgroundSize" }, usesOnChanges: true, ngImport: i0 });
6426
6669
  }
6427
6670
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BackgroundDirective, decorators: [{
6428
6671
  type: Directive,
@@ -6437,6 +6680,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6437
6680
  }] } });
6438
6681
 
6439
6682
  class ComponentLoaderDirective {
6683
+ vcr;
6684
+ loader;
6685
+ module;
6686
+ selector;
6687
+ cr;
6440
6688
  constructor(vcr, loader) {
6441
6689
  this.vcr = vcr;
6442
6690
  this.loader = loader;
@@ -6464,8 +6712,8 @@ class ComponentLoaderDirective {
6464
6712
  }
6465
6713
  this.cr.hostView.destroy();
6466
6714
  }
6467
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ComponentLoaderDirective, deps: [{ token: i0.ViewContainerRef }, { token: ComponentLoaderService }], target: i0.ɵɵFactoryTarget.Directive }); }
6468
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: ComponentLoaderDirective, isStandalone: false, selector: "[loadComponent]", inputs: { module: "module", selector: ["loadComponent", "selector"] }, usesOnChanges: true, ngImport: i0 }); }
6715
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ComponentLoaderDirective, deps: [{ token: i0.ViewContainerRef }, { token: ComponentLoaderService }], target: i0.ɵɵFactoryTarget.Directive });
6716
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: ComponentLoaderDirective, isStandalone: false, selector: "[loadComponent]", inputs: { module: "module", selector: ["loadComponent", "selector"] }, usesOnChanges: true, ngImport: i0 });
6469
6717
  }
6470
6718
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ComponentLoaderDirective, decorators: [{
6471
6719
  type: Directive,
@@ -6481,11 +6729,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6481
6729
  }] } });
6482
6730
 
6483
6731
  class DynamicTableTemplateDirective {
6732
+ ref;
6733
+ column;
6734
+ pure;
6484
6735
  constructor(ref) {
6485
6736
  this.ref = ref;
6486
6737
  }
6487
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicTableTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
6488
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: DynamicTableTemplateDirective, isStandalone: false, selector: "ng-template[column]", inputs: { column: "column", pure: "pure" }, ngImport: i0 }); }
6738
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicTableTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6739
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: DynamicTableTemplateDirective, isStandalone: false, selector: "ng-template[column]", inputs: { column: "column", pure: "pure" }, ngImport: i0 });
6489
6740
  }
6490
6741
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicTableTemplateDirective, decorators: [{
6491
6742
  type: Directive,
@@ -6500,6 +6751,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6500
6751
  }] } });
6501
6752
 
6502
6753
  class GlobalTemplateDirective {
6754
+ globalTemplates;
6755
+ template;
6756
+ id;
6503
6757
  constructor(globalTemplates, template) {
6504
6758
  this.globalTemplates = globalTemplates;
6505
6759
  this.template = template;
@@ -6510,8 +6764,8 @@ class GlobalTemplateDirective {
6510
6764
  ngOnDestroy() {
6511
6765
  this.globalTemplates.remove(this.id);
6512
6766
  }
6513
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplateDirective, deps: [{ token: GlobalTemplateService }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
6514
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: GlobalTemplateDirective, isStandalone: false, selector: "[globalTemplate]", inputs: { id: ["globalTemplate", "id"] }, ngImport: i0 }); }
6767
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplateDirective, deps: [{ token: GlobalTemplateService }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6768
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: GlobalTemplateDirective, isStandalone: false, selector: "[globalTemplate]", inputs: { id: ["globalTemplate", "id"] }, ngImport: i0 });
6515
6769
  }
6516
6770
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: GlobalTemplateDirective, decorators: [{
6517
6771
  type: Directive,
@@ -6525,9 +6779,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6525
6779
  }] } });
6526
6780
 
6527
6781
  class IconDirective {
6782
+ element;
6783
+ renderer;
6784
+ icons;
6785
+ icon;
6786
+ activeIcon;
6787
+ active;
6788
+ activeChange;
6528
6789
  get isActive() {
6529
6790
  return this.active;
6530
6791
  }
6792
+ iconsLoaded;
6531
6793
  constructor(element, renderer, icons) {
6532
6794
  this.element = element;
6533
6795
  this.renderer = renderer;
@@ -6561,8 +6823,8 @@ class IconDirective {
6561
6823
  this.element.nativeElement.innerHTML = icon;
6562
6824
  });
6563
6825
  }
6564
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ICON_SERVICE }], target: i0.ɵɵFactoryTarget.Directive }); }
6565
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: IconDirective, isStandalone: false, selector: "i[icon],b[icon],p[icon],span[icon],a[icon],h1[icon],h2[icon],h3[icon],h4[icon]", inputs: { icon: "icon", activeIcon: "activeIcon", active: "active" }, outputs: { activeChange: "activeChange" }, host: { listeners: { "click": "click()" }, properties: { "class.active": "this.isActive" } }, usesOnChanges: true, ngImport: i0 }); }
6826
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ICON_SERVICE }], target: i0.ɵɵFactoryTarget.Directive });
6827
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: IconDirective, isStandalone: false, selector: "i[icon],b[icon],p[icon],span[icon],a[icon],h1[icon],h2[icon],h3[icon],h4[icon]", inputs: { icon: "icon", activeIcon: "activeIcon", active: "active" }, outputs: { activeChange: "activeChange" }, host: { listeners: { "click": "click()" }, properties: { "class.active": "this.isActive" } }, usesOnChanges: true, ngImport: i0 });
6566
6828
  }
6567
6829
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconDirective, decorators: [{
6568
6830
  type: Directive,
@@ -6590,6 +6852,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6590
6852
  }] } });
6591
6853
 
6592
6854
  class NgxTemplateOutletDirective {
6855
+ _viewContainerRef;
6856
+ viewRef;
6857
+ context;
6858
+ additionalContext;
6859
+ ngxTemplateOutlet;
6593
6860
  static hasContextShapeChanged(ctxChange) {
6594
6861
  const prevCtxKeys = Object.keys(ctxChange.previousValue || {});
6595
6862
  const currCtxKeys = Object.keys(ctxChange.currentValue || {});
@@ -6660,8 +6927,8 @@ class NgxTemplateOutletDirective {
6660
6927
  context[propName] = ctx[propName];
6661
6928
  }
6662
6929
  }
6663
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxTemplateOutletDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
6664
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: NgxTemplateOutletDirective, isStandalone: false, selector: "[ngxTemplateOutlet]", inputs: { context: "context", additionalContext: "additionalContext", ngxTemplateOutlet: "ngxTemplateOutlet" }, usesOnChanges: true, ngImport: i0 }); }
6930
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxTemplateOutletDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
6931
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: NgxTemplateOutletDirective, isStandalone: false, selector: "[ngxTemplateOutlet]", inputs: { context: "context", additionalContext: "additionalContext", ngxTemplateOutlet: "ngxTemplateOutlet" }, usesOnChanges: true, ngImport: i0 });
6665
6932
  }
6666
6933
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxTemplateOutletDirective, decorators: [{
6667
6934
  type: Directive,
@@ -6678,12 +6945,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6678
6945
  }] } });
6679
6946
 
6680
6947
  class PaginationDirective {
6948
+ zone;
6949
+ renderer;
6950
+ element;
6681
6951
  get total() {
6682
6952
  return this.data ? this.data.total : 0;
6683
6953
  }
6684
6954
  get items() {
6685
6955
  return this.data ? this.data.items : [];
6686
6956
  }
6957
+ loader;
6958
+ page;
6959
+ itemsPerPage;
6960
+ updateTime;
6961
+ waitFor;
6962
+ pageChange;
6963
+ onRefresh;
6964
+ maxPage;
6965
+ data;
6966
+ updateTimer;
6967
+ controller;
6687
6968
  constructor(zone, renderer, element) {
6688
6969
  this.zone = zone;
6689
6970
  this.renderer = renderer;
@@ -6740,8 +7021,8 @@ class PaginationDirective {
6740
7021
  });
6741
7022
  });
6742
7023
  }
6743
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PaginationDirective, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
6744
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: PaginationDirective, isStandalone: false, selector: "[pagination]", inputs: { loader: ["pagination", "loader"], page: "page", itemsPerPage: "itemsPerPage", updateTime: "updateTime", waitFor: "waitFor" }, outputs: { pageChange: "pageChange", onRefresh: "onRefresh" }, exportAs: ["pagination"], usesOnChanges: true, ngImport: i0 }); }
7024
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PaginationDirective, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
7025
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: PaginationDirective, isStandalone: false, selector: "[pagination]", inputs: { loader: ["pagination", "loader"], page: "page", itemsPerPage: "itemsPerPage", updateTime: "updateTime", waitFor: "waitFor" }, outputs: { pageChange: "pageChange", onRefresh: "onRefresh" }, exportAs: ["pagination"], usesOnChanges: true, ngImport: i0 });
6745
7026
  }
6746
7027
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PaginationDirective, decorators: [{
6747
7028
  type: Directive,
@@ -6768,6 +7049,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6768
7049
  }] } });
6769
7050
 
6770
7051
  class PaginationItemDirective {
7052
+ pagination;
7053
+ viewContainer;
7054
+ templateRef;
7055
+ onRefresh;
6771
7056
  constructor(pagination, viewContainer, templateRef) {
6772
7057
  this.pagination = pagination;
6773
7058
  this.viewContainer = viewContainer;
@@ -6787,8 +7072,8 @@ class PaginationItemDirective {
6787
7072
  this.viewContainer.createEmbeddedView(this.templateRef, item);
6788
7073
  });
6789
7074
  }
6790
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PaginationItemDirective, deps: [{ token: PaginationDirective }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
6791
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: PaginationItemDirective, isStandalone: false, selector: "[paginationItem]", ngImport: i0 }); }
7075
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PaginationItemDirective, deps: [{ token: PaginationDirective }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
7076
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: PaginationItemDirective, isStandalone: false, selector: "[paginationItem]", ngImport: i0 });
6792
7077
  }
6793
7078
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PaginationItemDirective, decorators: [{
6794
7079
  type: Directive,
@@ -6799,6 +7084,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6799
7084
  }], ctorParameters: () => [{ type: PaginationDirective }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }] });
6800
7085
 
6801
7086
  class ResourceIfDirective {
7087
+ http;
7088
+ viewContainer;
7089
+ templateRef;
7090
+ universal;
7091
+ context;
7092
+ resource;
6802
7093
  set resourceIf(resource) {
6803
7094
  this.resource = resource;
6804
7095
  this.renderView();
@@ -6827,8 +7118,8 @@ class ResourceIfDirective {
6827
7118
  }, console.log);
6828
7119
  }
6829
7120
  }
6830
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ResourceIfDirective, deps: [{ token: i1$1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Directive }); }
6831
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: ResourceIfDirective, isStandalone: false, selector: "[resourceIf]", inputs: { resourceIf: "resourceIf" }, exportAs: ["resourceIf"], ngImport: i0 }); }
7121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ResourceIfDirective, deps: [{ token: i1$1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: UniversalService }], target: i0.ɵɵFactoryTarget.Directive });
7122
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: ResourceIfDirective, isStandalone: false, selector: "[resourceIf]", inputs: { resourceIf: "resourceIf" }, exportAs: ["resourceIf"], ngImport: i0 });
6832
7123
  }
6833
7124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ResourceIfDirective, decorators: [{
6834
7125
  type: Directive,
@@ -6842,6 +7133,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6842
7133
  }] } });
6843
7134
 
6844
7135
  class StickyDirective {
7136
+ cdr;
7137
+ events;
7138
+ element;
7139
+ isSticky;
7140
+ isUpdating;
7141
+ parentElement;
7142
+ updateTimer;
7143
+ eventForwarded;
6845
7144
  constructor(cdr, events, element) {
6846
7145
  this.cdr = cdr;
6847
7146
  this.events = events;
@@ -6869,8 +7168,8 @@ class StickyDirective {
6869
7168
  this.cdr.detectChanges();
6870
7169
  this.updateTimer.run();
6871
7170
  }
6872
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StickyDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: EventsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
6873
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: StickyDirective, isStandalone: false, selector: "[sticky]", host: { listeners: { "window:resize": "updateSticky()", "window:scroll": "updateSticky()" }, properties: { "class.sticky": "this.isSticky", "class.sticky-update": "this.isUpdating" } }, ngImport: i0 }); }
7171
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StickyDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: EventsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
7172
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: StickyDirective, isStandalone: false, selector: "[sticky]", host: { listeners: { "window:resize": "updateSticky()", "window:scroll": "updateSticky()" }, properties: { "class.sticky": "this.isSticky", "class.sticky-update": "this.isUpdating" } }, ngImport: i0 });
6874
7173
  }
6875
7174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StickyDirective, decorators: [{
6876
7175
  type: Directive,
@@ -6893,6 +7192,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6893
7192
  }] } });
6894
7193
 
6895
7194
  class StickyClassDirective {
7195
+ events;
7196
+ element;
7197
+ renderer;
7198
+ stickyClass;
7199
+ stickyUpdated;
6896
7200
  constructor(events, element, renderer) {
6897
7201
  this.events = events;
6898
7202
  this.element = element;
@@ -6910,8 +7214,8 @@ class StickyClassDirective {
6910
7214
  ngOnDestroy() {
6911
7215
  this.stickyUpdated.unsubscribe();
6912
7216
  }
6913
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StickyClassDirective, deps: [{ token: EventsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
6914
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: StickyClassDirective, isStandalone: false, selector: "[stickyClass]", inputs: { stickyClass: "stickyClass" }, ngImport: i0 }); }
7217
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StickyClassDirective, deps: [{ token: EventsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
7218
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: StickyClassDirective, isStandalone: false, selector: "[stickyClass]", inputs: { stickyClass: "stickyClass" }, ngImport: i0 });
6915
7219
  }
6916
7220
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: StickyClassDirective, decorators: [{
6917
7221
  type: Directive,
@@ -6924,7 +7228,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
6924
7228
  }] } });
6925
7229
 
6926
7230
  class DropdownDirective {
6927
- static { this.active = null; }
7231
+ element;
7232
+ static active = null;
7233
+ opened;
7234
+ disabled;
7235
+ /**
7236
+ * Determines if the dropdown should be closed even if we click inside it
7237
+ */
7238
+ closeInside;
7239
+ /**
7240
+ * Determines where the floating element needs to be placed
7241
+ */
7242
+ attachTo;
7243
+ /**
7244
+ * Determines the boundary element of the floating element when shifting
7245
+ */
7246
+ boundary;
7247
+ /**
7248
+ * Where to place the floating element relative to the reference element.
7249
+ */
7250
+ placement;
7251
+ /**
7252
+ * Optimizes the visibility of the floating element by choosing the placement
7253
+ * that has the most space available automatically, without needing to specify a
7254
+ * preferred placement. Alternative to `flip`.
7255
+ * @see https://floating-ui.com/docs/autoPlacement
7256
+ */
7257
+ autoPlacement;
7258
+ /**
7259
+ * Determines if the dropdown content should be displayed in a fixed full screen view under this window width
7260
+ * @default 0
7261
+ */
7262
+ mobileViewUnder;
7263
+ /**
7264
+ * Determines if the dropdown content should always be displayed in a fixed full screen view
7265
+ * @default false
7266
+ */
7267
+ fixed;
7268
+ /**
7269
+ * Determines if the dropdown should react to keys to close like 'Esc'
7270
+ * @default true
7271
+ */
7272
+ keyboardHandler;
7273
+ onShown;
7274
+ onHidden;
7275
+ onKeyboard;
7276
+ contentElement;
7277
+ onClick;
7278
+ onKeyDown;
6928
7279
  get nativeElement() {
6929
7280
  return this.element.nativeElement;
6930
7281
  }
@@ -7037,8 +7388,8 @@ class DropdownDirective {
7037
7388
  }, 10);
7038
7389
  return true;
7039
7390
  }
7040
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
7041
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: DropdownDirective, isStandalone: false, selector: "[dd],[drop-down]", inputs: { closeInside: "closeInside", attachTo: "attachTo", boundary: "boundary", placement: "placement", autoPlacement: "autoPlacement", mobileViewUnder: "mobileViewUnder", fixed: "fixed", keyboardHandler: "keyboardHandler", isDisabled: "isDisabled" }, outputs: { onShown: "onShown", onHidden: "onHidden", onKeyboard: "onKeyboard" }, host: { listeners: { "keydown.enter": "show($event)", "keydown.space": "show($event)" }, properties: { "class.open": "this.isOpened", "class.disabled": "this.getDisabled" } }, exportAs: ["dropdown"], ngImport: i0 }); }
7391
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
7392
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: DropdownDirective, isStandalone: false, selector: "[dd],[drop-down]", inputs: { closeInside: "closeInside", attachTo: "attachTo", boundary: "boundary", placement: "placement", autoPlacement: "autoPlacement", mobileViewUnder: "mobileViewUnder", fixed: "fixed", keyboardHandler: "keyboardHandler", isDisabled: "isDisabled" }, outputs: { onShown: "onShown", onHidden: "onHidden", onKeyboard: "onKeyboard" }, host: { listeners: { "keydown.enter": "show($event)", "keydown.space": "show($event)" }, properties: { "class.open": "this.isOpened", "class.disabled": "this.getDisabled" } }, exportAs: ["dropdown"], ngImport: i0 });
7042
7393
  }
7043
7394
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownDirective, decorators: [{
7044
7395
  type: Directive,
@@ -7087,6 +7438,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7087
7438
 
7088
7439
  const rectProps = ["x", "y", "width", "height"];
7089
7440
  class DropdownContentDirective {
7441
+ vcr;
7442
+ rootElem;
7443
+ dropdown;
7444
+ templateRef;
7445
+ subscription;
7446
+ attachTo;
7447
+ attachOutside;
7448
+ lastPlacement;
7449
+ cleanUp;
7090
7450
  constructor(vcr, rootElem, dropdown, templateRef) {
7091
7451
  this.vcr = vcr;
7092
7452
  this.rootElem = rootElem;
@@ -7266,8 +7626,8 @@ class DropdownContentDirective {
7266
7626
  this.createView(true);
7267
7627
  setTimeout(() => this.destroyView());
7268
7628
  }
7269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: ROOT_ELEMENT, optional: true }, { token: DropdownDirective, optional: true }, { token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
7270
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: DropdownContentDirective, isStandalone: false, selector: "[dropdownContent]", exportAs: ["dropdown-content"], ngImport: i0 }); }
7629
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: ROOT_ELEMENT, optional: true }, { token: DropdownDirective, optional: true }, { token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
7630
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: DropdownContentDirective, isStandalone: false, selector: "[dropdownContent]", exportAs: ["dropdown-content"], ngImport: i0 });
7271
7631
  }
7272
7632
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownContentDirective, decorators: [{
7273
7633
  type: Directive,
@@ -7288,12 +7648,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7288
7648
  }] }] });
7289
7649
 
7290
7650
  class DropdownToggleDirective extends AsyncMethodBase {
7291
- constructor() {
7292
- super(...arguments);
7293
- this.beforeOpen = input(null);
7294
- this.switch = input(true);
7295
- this.dropdown = inject(DropdownDirective);
7296
- }
7651
+ beforeOpen = input(null);
7652
+ switch = input(true);
7653
+ dropdown = inject(DropdownDirective);
7297
7654
  getMethod() {
7298
7655
  return untracked(() => this.beforeOpen());
7299
7656
  }
@@ -7308,10 +7665,10 @@ class DropdownToggleDirective extends AsyncMethodBase {
7308
7665
  }
7309
7666
  return true;
7310
7667
  }
7311
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownToggleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
7312
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: DropdownToggleDirective, isStandalone: false, selector: "[dropdownToggle]", inputs: { beforeOpen: { classPropertyName: "beforeOpen", publicName: "beforeOpen", isSignal: true, isRequired: false, transformFunction: null }, switch: { classPropertyName: "switch", publicName: "switch", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7668
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownToggleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7669
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: DropdownToggleDirective, isStandalone: false, selector: "[dropdownToggle]", inputs: { beforeOpen: { classPropertyName: "beforeOpen", publicName: "beforeOpen", isSignal: true, isRequired: false, transformFunction: null }, switch: { classPropertyName: "switch", publicName: "switch", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7313
7670
  { provide: AsyncMethodBase, useExisting: DropdownToggleDirective }
7314
- ], exportAs: ["dropdown-toggle"], usesInheritance: true, ngImport: i0 }); }
7671
+ ], exportAs: ["dropdown-toggle"], usesInheritance: true, ngImport: i0 });
7315
7672
  }
7316
7673
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownToggleDirective, decorators: [{
7317
7674
  type: Directive,
@@ -7326,19 +7683,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7326
7683
  }] });
7327
7684
 
7328
7685
  class TabsItemDirective {
7329
- constructor() {
7330
- this.value = input(null, { alias: "tabsItem" });
7331
- this.label = input("");
7332
- this.tooltip = input("");
7333
- this.icon = input("");
7334
- this.disabled = input(false);
7335
- this.path = input(null);
7336
- this.classes = input("");
7337
- this.element = inject(ElementRef, { optional: true });
7338
- this.template = inject(TemplateRef, { optional: true });
7339
- }
7340
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TabsItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7341
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: TabsItemDirective, isStandalone: false, selector: "[tabsItem]", inputs: { value: { classPropertyName: "value", publicName: "tabsItem", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
7686
+ value = input(null, { alias: "tabsItem" });
7687
+ label = input("");
7688
+ tooltip = input("");
7689
+ icon = input("");
7690
+ disabled = input(false);
7691
+ path = input(null);
7692
+ classes = input("");
7693
+ element = inject(ElementRef, { optional: true });
7694
+ template = inject(TemplateRef, { optional: true });
7695
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TabsItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7696
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: TabsItemDirective, isStandalone: false, selector: "[tabsItem]", inputs: { value: { classPropertyName: "value", publicName: "tabsItem", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
7342
7697
  }
7343
7698
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TabsItemDirective, decorators: [{
7344
7699
  type: Directive,
@@ -7349,14 +7704,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7349
7704
  }] });
7350
7705
 
7351
7706
  class TabsTemplateDirective extends TabsItemDirective {
7352
- constructor() {
7353
- super(...arguments);
7354
- this.value = input(null, { alias: "tab" });
7355
- }
7356
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TabsTemplateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
7357
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: TabsTemplateDirective, isStandalone: false, selector: "ng-template[tab]", inputs: { value: { classPropertyName: "value", publicName: "tab", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7707
+ value = input(null, { alias: "tab" });
7708
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TabsTemplateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7709
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: TabsTemplateDirective, isStandalone: false, selector: "ng-template[tab]", inputs: { value: { classPropertyName: "value", publicName: "tab", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
7358
7710
  { provide: TabsItemDirective, useExisting: TabsTemplateDirective }
7359
- ], usesInheritance: true, ngImport: i0 }); }
7711
+ ], usesInheritance: true, ngImport: i0 });
7360
7712
  }
7361
7713
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TabsTemplateDirective, decorators: [{
7362
7714
  type: Directive,
@@ -7370,6 +7722,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7370
7722
  }] });
7371
7723
 
7372
7724
  class UnorderedListItemDirective {
7725
+ elementRef;
7726
+ viewContainer;
7727
+ item;
7728
+ type;
7729
+ data;
7730
+ keyPrefix;
7731
+ listStyle;
7732
+ path;
7733
+ level;
7734
+ templates;
7735
+ defaultTemplates;
7736
+ isArray;
7737
+ isObject;
7738
+ valueIsArray;
7739
+ valueIsObject;
7740
+ valueType;
7373
7741
  get elem() {
7374
7742
  return this.elementRef.nativeElement;
7375
7743
  }
@@ -7415,8 +7783,8 @@ class UnorderedListItemDirective {
7415
7783
  return;
7416
7784
  this.item.classList.push(className);
7417
7785
  }
7418
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UnorderedListItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
7419
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: UnorderedListItemDirective, isStandalone: false, selector: "[unorderedListItem]", inputs: { item: ["unorderedListItem", "item"], type: "type", data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates", defaultTemplates: "defaultTemplates" }, usesOnChanges: true, ngImport: i0 }); }
7786
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UnorderedListItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
7787
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: UnorderedListItemDirective, isStandalone: false, selector: "[unorderedListItem]", inputs: { item: ["unorderedListItem", "item"], type: "type", data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates", defaultTemplates: "defaultTemplates" }, usesOnChanges: true, ngImport: i0 });
7420
7788
  }
7421
7789
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UnorderedListItemDirective, decorators: [{
7422
7790
  type: Directive,
@@ -7446,11 +7814,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7446
7814
  }] } });
7447
7815
 
7448
7816
  class UnorderedListTemplateDirective {
7817
+ templateRef;
7818
+ type;
7819
+ selector;
7449
7820
  constructor(templateRef) {
7450
7821
  this.templateRef = templateRef;
7451
7822
  }
7452
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UnorderedListTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
7453
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: UnorderedListTemplateDirective, isStandalone: false, selector: "ng-template[type][selector]", inputs: { type: "type", selector: "selector" }, ngImport: i0 }); }
7823
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UnorderedListTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
7824
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: UnorderedListTemplateDirective, isStandalone: false, selector: "ng-template[type][selector]", inputs: { type: "type", selector: "selector" }, ngImport: i0 });
7454
7825
  }
7455
7826
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UnorderedListTemplateDirective, decorators: [{
7456
7827
  type: Directive,
@@ -7465,33 +7836,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7465
7836
  }] } });
7466
7837
 
7467
7838
  class BtnComponent {
7468
- constructor() {
7469
- this.label = input("");
7470
- this.tooltip = input("");
7471
- this.icon = input("");
7472
- this.disabled = input(false);
7473
- this.path = input(null);
7474
- this.type = input("primary");
7475
- this.size = input("normal");
7476
- this.buttonType = inject(BUTTON_TYPE);
7477
- this.element = inject(ElementRef);
7478
- this.buttonProps = computed(() => {
7479
- return {
7480
- label: this.label(),
7481
- tooltip: this.tooltip(),
7482
- icon: this.icon(),
7483
- disabled: this.disabled(),
7484
- path: this.path(),
7485
- type: this.type(),
7486
- size: this.size()
7487
- };
7488
- });
7489
- }
7839
+ label = input("");
7840
+ tooltip = input("");
7841
+ icon = input("");
7842
+ disabled = input(false);
7843
+ path = input(null);
7844
+ type = input("primary");
7845
+ size = input("normal");
7846
+ buttonType = inject(BUTTON_TYPE);
7847
+ element = inject(ElementRef);
7848
+ buttonProps = computed(() => {
7849
+ return {
7850
+ label: this.label(),
7851
+ tooltip: this.tooltip(),
7852
+ icon: this.icon(),
7853
+ disabled: this.disabled(),
7854
+ path: this.path(),
7855
+ type: this.type(),
7856
+ size: this.size()
7857
+ };
7858
+ });
7490
7859
  contains(target) {
7491
7860
  return !(target instanceof HTMLElement) || this.element.nativeElement?.contains(target);
7492
7861
  }
7493
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7494
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.22", type: BtnComponent, isStandalone: false, selector: "btn", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container [ngComponentOutlet]=\"buttonType\"\r\n [ngComponentOutletInputs]=\"$any(buttonProps())\"></ng-container>\r\n", dependencies: [{ kind: "directive", type: i1$3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7862
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7863
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.22", type: BtnComponent, isStandalone: false, selector: "btn", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container [ngComponentOutlet]=\"buttonType\"\r\n [ngComponentOutletInputs]=\"$any(buttonProps())\"></ng-container>\r\n", dependencies: [{ kind: "directive", type: i1$3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
7495
7864
  }
7496
7865
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BtnComponent, decorators: [{
7497
7866
  type: Component,
@@ -7499,19 +7868,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7499
7868
  }] });
7500
7869
 
7501
7870
  class IconComponent {
7502
- constructor() {
7503
- this.name = input("trash");
7504
- this.iconType = inject(ICON_TYPE);
7505
- this.iconMap = inject(ICON_MAP);
7506
- this.iconProps = computed(() => {
7507
- const name = this.name();
7508
- return {
7509
- name: this.iconMap[name] || name,
7510
- };
7511
- });
7512
- }
7513
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7514
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.22", type: IconComponent, isStandalone: false, selector: "icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container [ngComponentOutlet]=\"iconType\"\r\n [ngComponentOutletInputs]=\"iconProps()\"></ng-container>\r\n", dependencies: [{ kind: "directive", type: i1$3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7871
+ name = input("trash");
7872
+ iconType = inject(ICON_TYPE);
7873
+ iconMap = inject(ICON_MAP);
7874
+ iconProps = computed(() => {
7875
+ const name = this.name();
7876
+ return {
7877
+ name: this.iconMap[name] || name,
7878
+ };
7879
+ });
7880
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7881
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.22", type: IconComponent, isStandalone: false, selector: "icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container [ngComponentOutlet]=\"iconType\"\r\n [ngComponentOutletInputs]=\"iconProps()\"></ng-container>\r\n", dependencies: [{ kind: "directive", type: i1$3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
7515
7882
  }
7516
7883
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconComponent, decorators: [{
7517
7884
  type: Component,
@@ -7519,11 +7886,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7519
7886
  }] });
7520
7887
 
7521
7888
  class BtnDefaultComponent {
7889
+ label;
7890
+ tooltip;
7891
+ icon;
7892
+ disabled;
7893
+ path;
7894
+ type;
7895
+ size;
7522
7896
  get bsSize() {
7523
7897
  return this.size === "small" ? "btn-sm" : "btn-md";
7524
7898
  }
7525
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BtnDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7526
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: BtnDefaultComponent, isStandalone: false, selector: "btn-default", inputs: { label: "label", tooltip: "tooltip", icon: "icon", disabled: "disabled", path: "path", type: "type", size: "size" }, ngImport: i0, template: "<button class=\"default-btn btn\"\r\n type=\"button\"\r\n async-method-target\r\n [title]=\"!tooltip ? '' : tooltip | translate\"\r\n [ngClass]=\"['btn-' + type, bsSize]\">\r\n <icon [name]=\"icon\" *ngIf=\"icon\"></icon>\r\n <span *ngIf=\"label\">{{ label | translate }}</span>\r\n</button>\r\n", styles: [".default-btn{display:flex;gap:5px}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: AsyncMethodTargetDirective, selector: "[async-method-target]" }, { kind: "component", type: IconComponent, selector: "icon", inputs: ["name"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
7899
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BtnDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7900
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: BtnDefaultComponent, isStandalone: false, selector: "btn-default", inputs: { label: "label", tooltip: "tooltip", icon: "icon", disabled: "disabled", path: "path", type: "type", size: "size" }, ngImport: i0, template: "<button class=\"default-btn btn\"\r\n type=\"button\"\r\n async-method-target\r\n [title]=\"!tooltip ? '' : tooltip | translate\"\r\n [ngClass]=\"['btn-' + type, bsSize]\">\r\n <icon [name]=\"icon\" *ngIf=\"icon\"></icon>\r\n <span *ngIf=\"label\">{{ label | translate }}</span>\r\n</button>\r\n", styles: [".default-btn{display:flex;gap:5px}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: AsyncMethodTargetDirective, selector: "[async-method-target]" }, { kind: "component", type: IconComponent, selector: "icon", inputs: ["name"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
7527
7901
  }
7528
7902
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: BtnDefaultComponent, decorators: [{
7529
7903
  type: Component,
@@ -7545,8 +7919,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7545
7919
  }] } });
7546
7920
 
7547
7921
  class CloseBtnComponent {
7548
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CloseBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7549
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: CloseBtnComponent, isStandalone: false, selector: "close-btn", ngImport: i0, template: "", isInline: true, styles: ["close-btn{--close-bg: var(--primary-color, rgba(0, 0, 0, .3));--close-color: #ffffff;--close-size: 18px;--close-distance: 4px;--close-spacing: 8px;position:relative;display:block;width:var(--close-size);height:var(--close-size);cursor:pointer;transition:.2s ease;background-color:var(--close-bg);border-radius:50%}close-btn:before,close-btn:after{--rotation: 45deg;content:\"\";position:absolute;top:50%;left:50%;width:calc(100% - var(--close-spacing));transform:translate(-50%,-50%) rotate(var(--rotation));height:1px;background:var(--close-color);transition:.2s ease}close-btn:after{--rotation: -45deg}\n"], encapsulation: i0.ViewEncapsulation.None }); }
7922
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CloseBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7923
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: CloseBtnComponent, isStandalone: false, selector: "close-btn", ngImport: i0, template: "", isInline: true, styles: ["close-btn{--close-bg: var(--primary-color, rgba(0, 0, 0, .3));--close-color: #ffffff;--close-size: 18px;--close-distance: 4px;--close-spacing: 8px;position:relative;display:block;width:var(--close-size);height:var(--close-size);cursor:pointer;transition:.2s ease;background-color:var(--close-bg);border-radius:50%}close-btn:before,close-btn:after{--rotation: 45deg;content:\"\";position:absolute;top:50%;left:50%;width:calc(100% - var(--close-spacing));transform:translate(-50%,-50%) rotate(var(--rotation));height:1px;background:var(--close-color);transition:.2s ease}close-btn:after{--rotation: -45deg}\n"], encapsulation: i0.ViewEncapsulation.None });
7550
7924
  }
7551
7925
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CloseBtnComponent, decorators: [{
7552
7926
  type: Component,
@@ -7554,10 +7928,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7554
7928
  }] });
7555
7929
 
7556
7930
  class ChipsComponent {
7931
+ cdr;
7932
+ testId;
7933
+ value;
7934
+ multiple;
7935
+ disabled;
7936
+ type;
7937
+ min;
7938
+ max;
7939
+ minLength;
7940
+ maxLength;
7941
+ step;
7942
+ placeholder;
7943
+ unique;
7944
+ strict;
7945
+ options;
7946
+ valueChange;
7947
+ chipDropdown;
7948
+ chipButtons;
7949
+ chipInput;
7950
+ inputStyles;
7951
+ valueOptions;
7952
+ filteredOptions;
7953
+ statuses;
7954
+ autoPlacement;
7955
+ undoList;
7956
+ previousValue;
7957
+ onChange = () => { };
7958
+ onTouched = () => { };
7557
7959
  constructor(cdr) {
7558
7960
  this.cdr = cdr;
7559
- this.onChange = () => { };
7560
- this.onTouched = () => { };
7561
7961
  this.testId = "chips";
7562
7962
  this.value = [];
7563
7963
  this.multiple = true;
@@ -7754,10 +8154,10 @@ class ChipsComponent {
7754
8154
  const values = this.valueOptions.map(o => o.value);
7755
8155
  this.filteredOptions = this.filteredOptions.filter(o => !values.includes(o.value));
7756
8156
  }
7757
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ChipsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
7758
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: ChipsComponent, isStandalone: false, selector: "chips", inputs: { testId: "testId", value: "value", multiple: "multiple", disabled: "disabled", type: "type", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", step: "step", placeholder: "placeholder", unique: "unique", strict: "strict", options: "options" }, outputs: { valueChange: "valueChange" }, providers: [
8157
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ChipsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8158
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: ChipsComponent, isStandalone: false, selector: "chips", inputs: { testId: "testId", value: "value", multiple: "multiple", disabled: "disabled", type: "type", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", step: "step", placeholder: "placeholder", unique: "unique", strict: "strict", options: "options" }, outputs: { valueChange: "valueChange" }, providers: [
7759
8159
  { provide: NG_VALUE_ACCESSOR, useExisting: ChipsComponent, multi: true }
7760
- ], viewQueries: [{ propertyName: "chipDropdown", first: true, predicate: ["chipDropdown"], descendants: true }, { propertyName: "chipButtons", first: true, predicate: ["chipButtons"], descendants: true }, { propertyName: "chipInput", first: true, predicate: ["chipInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div dd\r\n attachTo=\"root\"\r\n [closeInside]=\"false\"\r\n [autoPlacement]=\"autoPlacement\"\r\n [ngClass]=\"{disabled: disabled}\" class=\"chips\" #chipDropdown=\"dropdown\">\r\n <input class=\"chips-input\"\r\n dropdownToggle\r\n [switch]=\"false\"\r\n [attr.data-testid]=\"testId + '-input'\"\r\n [type]=\"type == 'number' ? 'number': 'text'\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"valueOptions.length == 0 && placeholder | translate\"\r\n [ngStyle]=\"inputStyles\"\r\n (blur)=\"onBlur($event)\"\r\n (keyup)=\"onInput($event)\"\r\n #chipInput/>\r\n <div class=\"chips-buttons\" #chipButtons [ngClass]=\"{disabled: disabled}\" (resize)=\"onResize()\">\r\n <ng-container *ngFor=\"let item of valueOptions; let ix = index; trackBy:trackBy\">\r\n <a class=\"chips-button\" [ngClass]=\"'chips-' + statuses[ix]\" (dblclick)=\"removeItem($event, ix)\">\r\n @if (item.picture) {\r\n <img [src]=\"item.picture | safe:'url'\"\r\n class=\"chip-picture\"\r\n referrerpolicy=\"no-referrer\" [attr.alt]=\"item.label\">\r\n\r\n }\r\n <span class=\"chips-label\"\r\n [attr.data-testid]=\"testId + '-label-' + ix\">{{ item.label }} </span>\r\n <close-btn class=\"chips-remove\"\r\n [attr.data-testid]=\"testId + '-delete-' + ix\"\r\n (click)=\"removeItem($event, ix)\" *ngIf=\"!disabled\"></close-btn>\r\n </a>\r\n </ng-container>\r\n </div>\r\n @if (options) {\r\n <div class=\"chips-dropdown\" *dropdownContent>\r\n <button [ngClass]=\"option.classes\"\r\n [disabled]=\"option.disabled\"\r\n (click)=\"enterOption(option.value)\"\r\n *ngFor=\"let option of filteredOptions\">\r\n <div class=\"select-option\">\r\n @if (option?.picture) {\r\n <img [src]=\"option.picture | safe:'url'\"\r\n class=\"select-option-picture\"\r\n referrerpolicy=\"no-referrer\" [attr.alt]=\"option.label\">\r\n }\r\n <div class=\"select-option-label\">\r\n {{ option.label }}\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".chips{--chips-border-size: var(--border-size, 1px);--chips-border-radius: var(--border-radius, 5px);--chips-top-border-radius: var(--chips-border-radius) var(--chips-border-radius) 0 0;--chips-bottom-border-radius: 0 0 var(--chips-border-radius) var(--chips-border-radius);--chips-bg-color: var(--bg-color, #ffffff);--chips-border-color: var(--border-color, #ced4da);--chips-highlight-color: var(--highlight-color, var(--primary-color, #888888));--chips-highlight-text-color: var(--highlight-text-color, #ffffff);--chips-text-color: var(--text-color, #151515);--chips-text-size: var(--text-size, 16px);--chips-padding-vertical: 6px;--chips-padding-horizontal: 12px;--chips-padding: var(--chips-padding-vertical) var(--chips-padding-horizontal);--chips-btn-padding: 12px;--chips-btn-gap: calc(var(--chips-btn-padding) / 2);--chips-btn-color: white;--chips-btn-valid-color: rgba(200, 255, 200, .7);--chips-btn-invalid-color: rgba(255, 200, 200, .7);position:relative;margin:5px 0;font-size:var(--chips-text-size);padding:var(--chips-padding);background:var(--chips-bg-color);color:var(--chips-text-color);border:var(--chips-border-size) solid var(--chips-border-color);border-radius:var(--chips-border-radius)}.chips *{box-sizing:border-box}.chips .chips-input{background:var(--chips-bg-color);padding:var(--chips-padding);font-size:var(--chips-text-size);outline:none;border:none;width:100%;-webkit-user-select:none;user-select:none;font-weight:400}.chips .chips-buttons{position:absolute;top:var(--chips-padding-vertical);left:var(--chips-padding-horizontal);max-width:calc(100% - var(--chips-padding-horizontal) * 2);display:flex;gap:5px;overflow:auto;border-radius:var(--chips-border-radius)}.chips .chips-button{background:var(--chipd-btn-color);color:var(--chips-text-color);border:var(--chips-border-size) solid rgba(0,0,0,.2);border-radius:var(--chips-border-radius);padding:var(--chips-padding-vertical) var(--chips-btn-gap) var(--chips-padding-vertical) var(--chips-btn-padding);-webkit-user-select:none;user-select:none;font-weight:400;outline:none;display:flex;gap:var(--chips-btn-gap);justify-content:center;align-items:center;line-height:1.2rem;text-decoration:none}.chips .chips-button.chips-valid{--chipd-btn-color: var(--chips-btn-valid-color) }.chips .chips-button.chips-invalid{--chipd-btn-color: var(--chips-btn-invalid-color) }.chips img.chip-picture{width:28px;height:28px;object-fit:cover}.chips .chips-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chips.disabled{opacity:.75}.chips.disabled .chips-button{padding-right:var(--chips-btn-padding)}.chips-dropdown:not(:empty){position:relative;z-index:1;width:var(--toggle-width, 0);display:flex;flex-direction:column;margin:-3px 0;padding:0;list-style:none;border:var(--chips-border-size) solid var(--chips-border-color);background:var(--chips-bg-color);border-radius:var(--chips-bottom-border-radius);overflow:hidden}.chips-dropdown:not(:empty) *{box-sizing:border-box}.chips-dropdown:not(:empty) button{border:none;background:none;cursor:pointer;padding:6px 12px;-webkit-user-select:none;user-select:none;text-align:left}.chips-dropdown:not(:empty) button:hover,.chips-dropdown:not(:empty) button.active{background-color:var(--chips-highlight-color);color:var(--chips-highlight-text-color)}.chips-dropdown:not(:empty) button:hover a,.chips-dropdown:not(:empty) button.active a{color:var(--chips-highlight-text-color)}.chips-dropdown:not(:empty) .select-option{display:flex;gap:8px;align-items:center;justify-content:center}.chips-dropdown:not(:empty) .select-option .select-option-picture{width:32px;height:32px;object-fit:cover}.chips-dropdown:not(:empty) .select-option .select-option-label{flex:1}.dropdown-placement-top .chips-dropdown{border-radius:var(--chips-top-border-radius)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: ["closeInside", "attachTo", "boundary", "placement", "autoPlacement", "mobileViewUnder", "fixed", "keyboardHandler", "isDisabled"], outputs: ["onShown", "onHidden", "onKeyboard"], exportAs: ["dropdown"] }, { kind: "directive", type: DropdownContentDirective, selector: "[dropdownContent]", exportAs: ["dropdown-content"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[dropdownToggle]", inputs: ["beforeOpen", "switch"], exportAs: ["dropdown-toggle"] }, { kind: "component", type: CloseBtnComponent, selector: "close-btn" }, { kind: "pipe", type: SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
8160
+ ], viewQueries: [{ propertyName: "chipDropdown", first: true, predicate: ["chipDropdown"], descendants: true }, { propertyName: "chipButtons", first: true, predicate: ["chipButtons"], descendants: true }, { propertyName: "chipInput", first: true, predicate: ["chipInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div dd\r\n attachTo=\"root\"\r\n [closeInside]=\"false\"\r\n [autoPlacement]=\"autoPlacement\"\r\n [ngClass]=\"{disabled: disabled}\" class=\"chips\" #chipDropdown=\"dropdown\">\r\n <input class=\"chips-input\"\r\n dropdownToggle\r\n [switch]=\"false\"\r\n [attr.data-testid]=\"testId + '-input'\"\r\n [type]=\"type == 'number' ? 'number': 'text'\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"valueOptions.length == 0 && placeholder | translate\"\r\n [ngStyle]=\"inputStyles\"\r\n (blur)=\"onBlur($event)\"\r\n (keyup)=\"onInput($event)\"\r\n #chipInput/>\r\n <div class=\"chips-buttons\" #chipButtons [ngClass]=\"{disabled: disabled}\" (resize)=\"onResize()\">\r\n <ng-container *ngFor=\"let item of valueOptions; let ix = index; trackBy:trackBy\">\r\n <a class=\"chips-button\" [ngClass]=\"'chips-' + statuses[ix]\" (dblclick)=\"removeItem($event, ix)\">\r\n @if (item.picture) {\r\n <img [src]=\"item.picture | safe:'url'\"\r\n class=\"chip-picture\"\r\n referrerpolicy=\"no-referrer\" [attr.alt]=\"item.label\">\r\n\r\n }\r\n <span class=\"chips-label\"\r\n [attr.data-testid]=\"testId + '-label-' + ix\">{{ item.label }} </span>\r\n <close-btn class=\"chips-remove\"\r\n [attr.data-testid]=\"testId + '-delete-' + ix\"\r\n (click)=\"removeItem($event, ix)\" *ngIf=\"!disabled\"></close-btn>\r\n </a>\r\n </ng-container>\r\n </div>\r\n @if (options) {\r\n <div class=\"chips-dropdown\" *dropdownContent>\r\n <button [ngClass]=\"option.classes\"\r\n [disabled]=\"option.disabled\"\r\n (click)=\"enterOption(option.value)\"\r\n *ngFor=\"let option of filteredOptions\">\r\n <div class=\"select-option\">\r\n @if (option?.picture) {\r\n <img [src]=\"option.picture | safe:'url'\"\r\n class=\"select-option-picture\"\r\n referrerpolicy=\"no-referrer\" [attr.alt]=\"option.label\">\r\n }\r\n <div class=\"select-option-label\">\r\n {{ option.label }}\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".chips{--chips-border-size: var(--border-size, 1px);--chips-border-radius: var(--border-radius, 5px);--chips-top-border-radius: var(--chips-border-radius) var(--chips-border-radius) 0 0;--chips-bottom-border-radius: 0 0 var(--chips-border-radius) var(--chips-border-radius);--chips-bg-color: var(--bg-color, #ffffff);--chips-border-color: var(--border-color, #ced4da);--chips-highlight-color: var(--highlight-color, var(--primary-color, #888888));--chips-highlight-text-color: var(--highlight-text-color, #ffffff);--chips-text-color: var(--text-color, #151515);--chips-text-size: var(--text-size, 16px);--chips-padding-vertical: 6px;--chips-padding-horizontal: 12px;--chips-padding: var(--chips-padding-vertical) var(--chips-padding-horizontal);--chips-btn-padding: 12px;--chips-btn-gap: calc(var(--chips-btn-padding) / 2);--chips-btn-color: white;--chips-btn-valid-color: rgba(200, 255, 200, .7);--chips-btn-invalid-color: rgba(255, 200, 200, .7);position:relative;margin:5px 0;font-size:var(--chips-text-size);padding:var(--chips-padding);background:var(--chips-bg-color);color:var(--chips-text-color);border:var(--chips-border-size) solid var(--chips-border-color);border-radius:var(--chips-border-radius)}.chips *{box-sizing:border-box}.chips .chips-input{background:var(--chips-bg-color);padding:var(--chips-padding);font-size:var(--chips-text-size);outline:none;border:none;width:100%;-webkit-user-select:none;user-select:none;font-weight:400}.chips .chips-buttons{position:absolute;top:var(--chips-padding-vertical);left:var(--chips-padding-horizontal);max-width:calc(100% - var(--chips-padding-horizontal) * 2);display:flex;gap:5px;overflow:auto;border-radius:var(--chips-border-radius)}.chips .chips-button{background:var(--chipd-btn-color);color:var(--chips-text-color);border:var(--chips-border-size) solid rgba(0,0,0,.2);border-radius:var(--chips-border-radius);padding:var(--chips-padding-vertical) var(--chips-btn-gap) var(--chips-padding-vertical) var(--chips-btn-padding);-webkit-user-select:none;user-select:none;font-weight:400;outline:none;display:flex;gap:var(--chips-btn-gap);justify-content:center;align-items:center;line-height:1.2rem;text-decoration:none}.chips .chips-button.chips-valid{--chipd-btn-color: var(--chips-btn-valid-color) }.chips .chips-button.chips-invalid{--chipd-btn-color: var(--chips-btn-invalid-color) }.chips img.chip-picture{width:28px;height:28px;object-fit:cover}.chips .chips-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chips.disabled{opacity:.75}.chips.disabled .chips-button{padding-right:var(--chips-btn-padding)}.chips-dropdown:not(:empty){position:relative;z-index:1;width:var(--toggle-width, 0);display:flex;flex-direction:column;margin:-3px 0;padding:0;list-style:none;border:var(--chips-border-size) solid var(--chips-border-color);background:var(--chips-bg-color);border-radius:var(--chips-bottom-border-radius);overflow:hidden}.chips-dropdown:not(:empty) *{box-sizing:border-box}.chips-dropdown:not(:empty) button{border:none;background:none;cursor:pointer;padding:6px 12px;-webkit-user-select:none;user-select:none;text-align:left}.chips-dropdown:not(:empty) button:hover,.chips-dropdown:not(:empty) button.active{background-color:var(--chips-highlight-color);color:var(--chips-highlight-text-color)}.chips-dropdown:not(:empty) button:hover a,.chips-dropdown:not(:empty) button.active a{color:var(--chips-highlight-text-color)}.chips-dropdown:not(:empty) .select-option{display:flex;gap:8px;align-items:center;justify-content:center}.chips-dropdown:not(:empty) .select-option .select-option-picture{width:32px;height:32px;object-fit:cover}.chips-dropdown:not(:empty) .select-option .select-option-label{flex:1}.dropdown-placement-top .chips-dropdown{border-radius:var(--chips-top-border-radius)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: ["closeInside", "attachTo", "boundary", "placement", "autoPlacement", "mobileViewUnder", "fixed", "keyboardHandler", "isDisabled"], outputs: ["onShown", "onHidden", "onKeyboard"], exportAs: ["dropdown"] }, { kind: "directive", type: DropdownContentDirective, selector: "[dropdownContent]", exportAs: ["dropdown-content"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[dropdownToggle]", inputs: ["beforeOpen", "switch"], exportAs: ["dropdown-toggle"] }, { kind: "component", type: CloseBtnComponent, selector: "close-btn" }, { kind: "pipe", type: SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
7761
8161
  }
7762
8162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: ChipsComponent, decorators: [{
7763
8163
  type: Component,
@@ -7805,7 +8205,177 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7805
8205
  args: ["chipInput"]
7806
8206
  }] } });
7807
8207
 
8208
+ class CodeEditorComponent {
8209
+ cdr;
8210
+ element;
8211
+ value;
8212
+ lang;
8213
+ disabled;
8214
+ valueChange;
8215
+ onChange;
8216
+ onTouched;
8217
+ langCompartment;
8218
+ extensions;
8219
+ rootElem;
8220
+ editor;
8221
+ editorElem;
8222
+ get root() {
8223
+ this.rootElem = this.rootElem || getRoot(this.element.nativeElement);
8224
+ return this.rootElem;
8225
+ }
8226
+ get rootNode() {
8227
+ return this.root;
8228
+ }
8229
+ constructor(cdr, element) {
8230
+ this.cdr = cdr;
8231
+ this.element = element;
8232
+ this.value = "";
8233
+ this.lang = "json";
8234
+ this.onChange = () => {
8235
+ };
8236
+ this.onTouched = () => {
8237
+ };
8238
+ this.extensions = {};
8239
+ }
8240
+ getLangExtension() {
8241
+ if (!this.extensions[this.lang]) {
8242
+ const lang = CM[`@codemirror/lang-${this.lang || "json"}`];
8243
+ const ext = lang[this.lang];
8244
+ this.extensions[this.lang] = ext();
8245
+ }
8246
+ return this.extensions[this.lang];
8247
+ }
8248
+ ngAfterViewInit() {
8249
+ Promise.all([
8250
+ LoaderUtils.loadScript("https://codemirror.net/codemirror.js", true),
8251
+ LoaderUtils.loadScript("https://cdn.jsdelivr.net/npm/jsonlint", true),
8252
+ ]).then(() => {
8253
+ const { basicSetup } = CM["codemirror"];
8254
+ const { Compartment } = CM["@codemirror/state"];
8255
+ const { EditorView } = CM["@codemirror/view"];
8256
+ const { linter } = CM["@codemirror/lint"];
8257
+ const langExtension = this.getLangExtension();
8258
+ const jsonLinter = linter((view) => {
8259
+ const diagnostics = [];
8260
+ const value = view.state.doc.toString();
8261
+ if (!value.trim() || this.lang !== "json")
8262
+ return diagnostics;
8263
+ try {
8264
+ jsonlint.parse(value);
8265
+ }
8266
+ catch (error) {
8267
+ const lexer = jsonlint.lexer;
8268
+ const location = lexer.yylloc;
8269
+ const pos = Number(lexer.matched?.length ?? 0);
8270
+ diagnostics.push({
8271
+ from: pos - lexer.yyleng,
8272
+ to: pos,
8273
+ severity: "error",
8274
+ message: error.message || `Parse error at line ${location.first_line} column ${location.first_column}, unexpected: "${lexer.match}"`
8275
+ });
8276
+ }
8277
+ return diagnostics; // The editor reruns this automatically on user text updates
8278
+ });
8279
+ const changeHandler = EditorView.updateListener.of((update) => {
8280
+ // This fires on EVERY change (keystrokes, selection shifts, focus tweaks)
8281
+ if (update.docChanged) {
8282
+ // Grab the full string payload of the document
8283
+ const value = update.state.doc.toString();
8284
+ if (this.lang === "json") {
8285
+ try {
8286
+ this.value = JSON.parse(value);
8287
+ }
8288
+ catch (e) {
8289
+ return null;
8290
+ }
8291
+ }
8292
+ else {
8293
+ this.value = value;
8294
+ }
8295
+ this.onChange(this.value);
8296
+ this.onTouched(this.value);
8297
+ }
8298
+ });
8299
+ // Initialize editor on an HTMLElement
8300
+ const value = this.value || "";
8301
+ this.langCompartment = new Compartment();
8302
+ this.editor = new EditorView({
8303
+ doc: !isString(value) ? JSON.stringify(value, null, 4) : value,
8304
+ extensions: [
8305
+ basicSetup,
8306
+ this.langCompartment.of(langExtension),
8307
+ jsonLinter,
8308
+ changeHandler
8309
+ ],
8310
+ parent: this.editorElem.nativeElement
8311
+ });
8312
+ });
8313
+ }
8314
+ ngOnChanges() {
8315
+ if (!this.editor)
8316
+ return;
8317
+ const value = this.value || "";
8318
+ this.lang = EDITOR_TYPES.includes(this.lang) ? this.lang : "json";
8319
+ this.editor.dispatch({
8320
+ effects: this.langCompartment.reconfigure(this.getLangExtension()),
8321
+ changes: {
8322
+ from: 0,
8323
+ to: this.editor.state.doc.length,
8324
+ insert: !isString(value) ? JSON.stringify(value, null, 4) : value
8325
+ }
8326
+ });
8327
+ }
8328
+ registerOnChange(fn) {
8329
+ this.onChange = fn;
8330
+ }
8331
+ registerOnTouched(fn) {
8332
+ this.onTouched = fn;
8333
+ }
8334
+ writeValue(value) {
8335
+ this.value = value;
8336
+ this.cdr.markForCheck();
8337
+ this.ngOnChanges();
8338
+ }
8339
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CodeEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
8340
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: CodeEditorComponent, isStandalone: false, selector: "code-editor", inputs: { value: "value", lang: "lang", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [
8341
+ { provide: NG_VALUE_ACCESSOR, useExisting: CodeEditorComponent, multi: true }
8342
+ ], viewQueries: [{ propertyName: "editorElem", first: true, predicate: ["editor"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"code-editor\" [ngClass]=\"{disabled: disabled}\">\r\n <div #editor></div>\r\n</div>\r\n", styles: [".code-editor>div{margin:10px 0}.code-editor>div .cm-editor{outline:none}.code-editor>div .cm-scroller{min-height:150px;max-height:345px;background:#fefefe;border:1px solid #ddd}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
8343
+ }
8344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: CodeEditorComponent, decorators: [{
8345
+ type: Component,
8346
+ args: [{ standalone: false, selector: "code-editor", encapsulation: ViewEncapsulation.None, providers: [
8347
+ { provide: NG_VALUE_ACCESSOR, useExisting: CodeEditorComponent, multi: true }
8348
+ ], template: "<div class=\"code-editor\" [ngClass]=\"{disabled: disabled}\">\r\n <div #editor></div>\r\n</div>\r\n", styles: [".code-editor>div{margin:10px 0}.code-editor>div .cm-editor{outline:none}.code-editor>div .cm-scroller{min-height:150px;max-height:345px;background:#fefefe;border:1px solid #ddd}\n"] }]
8349
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { value: [{
8350
+ type: Input
8351
+ }], lang: [{
8352
+ type: Input
8353
+ }], disabled: [{
8354
+ type: Input
8355
+ }], valueChange: [{
8356
+ type: Output
8357
+ }], editorElem: [{
8358
+ type: ViewChild,
8359
+ args: ["editor"]
8360
+ }] } });
8361
+
7808
8362
  class DropListComponent {
8363
+ cdr;
8364
+ disabled;
8365
+ unique;
8366
+ message;
8367
+ idField;
8368
+ labelField;
8369
+ value;
8370
+ context;
8371
+ prepareItem;
8372
+ checkFn;
8373
+ dropFn;
8374
+ itemTemplate;
8375
+ onChange;
8376
+ onTouched;
8377
+ valueMap;
8378
+ remove;
7809
8379
  constructor(cdr) {
7810
8380
  this.cdr = cdr;
7811
8381
  this.disabled = false;
@@ -7892,12 +8462,12 @@ class DropListComponent {
7892
8462
  this.onChange?.(value);
7893
8463
  this.onTouched?.();
7894
8464
  }
7895
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
7896
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DropListComponent, isStandalone: false, selector: "drop-list", inputs: { disabled: "disabled", unique: "unique", message: "message", idField: "idField", labelField: "labelField", value: "value", context: "context", prepareItem: "prepareItem", checkFn: "checkFn", dropFn: "dropFn" }, providers: [{
8465
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8466
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DropListComponent, isStandalone: false, selector: "drop-list", inputs: { disabled: "disabled", unique: "unique", message: "message", idField: "idField", labelField: "labelField", value: "value", context: "context", prepareItem: "prepareItem", checkFn: "checkFn", dropFn: "dropFn" }, providers: [{
7897
8467
  provide: NG_VALUE_ACCESSOR,
7898
8468
  useExisting: forwardRef(() => DropListComponent),
7899
8469
  multi: true,
7900
- }], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultTemplate let-item=\"item\">\r\n <div class=\"drop-list-item-label\">\r\n {{ item | getValue:labelField }}\r\n </div>\r\n</ng-template>\r\n<div class=\"drop-list\"\r\n #list\r\n (dragenter)=\"onDragEnter($event, list, this)\"\r\n (dragleave)=\"onDragLeave($event, list)\"\r\n (drop)=\"onDrop($event, list)\">\r\n <div class=\"drop-list-message\"\r\n [ngClass]=\"{'has-value': value?.length}\"\r\n [innerHTML]=\"message | translate | safe:'html'\"\r\n *ngIf=\"message\">\r\n </div>\r\n <ng-container *ngFor=\"let id of value; let ix = index\">\r\n <div class=\"drop-list-item\">\r\n <ng-template #noItemTemplate>\r\n <div class=\"drop-list-item-label just-id\">\r\n {{ id }}\r\n </div>\r\n </ng-template>\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate || defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{item: valueMap[id], id: id, remove: remove}\"\r\n *ngIf=\"valueMap[id]; else noItemTemplate\"></ng-container>\r\n <a class=\"remove-item-btn\" (click)=\"remove(ix)\"></a>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".drop-list{--message-size: 20px;--message-color: #7e7e7e;--message-drop-color: #efefef;--remove-bg: var(--primary-color, rgba(0, 0, 0, .2));--remove-color: #ffffff;--remove-size: 18px;--btn-distance: 4px;--remove-spacing: 8px;--btn-top-distance: var(--btn-distance);--btn-right-distance: var(--btn-distance);min-height:100px;border:2px #bfbfbf dashed;border-radius:10px;padding:10px;position:relative;display:flex;align-items:flex-start;justify-content:left;gap:10px;background-color:#0000000d;transition:.2s;flex-wrap:wrap}.drop-list .drop-list-message{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;top:0;left:0;pointer-events:none;font-size:var(--message-size);color:var(--message-color);transition:.2s}.drop-list .drop-list-message.has-value{display:none}.drop-list .drop-list-item{position:relative;background:#0003;padding:7px 23px 7px 10px;border-radius:5px;-webkit-user-select:none;user-select:none}.drop-list .drop-list-item-label:not(.just-id){min-width:50px;text-align:center}.drop-list .drop-list-item-label.just-id{max-width:100px;overflow:hidden;text-overflow:ellipsis;color:gray}.drop-list .drop-list-item-delete{font-size:14px;line-height:14px;text-align:center;cursor:pointer;background:#fff;border-radius:2px;height:14px;width:15px;position:absolute;top:4px;right:4px}.drop-list.drop-allowed{background-color:#0003;border-color:gray}.drop-list.drop-allowed .drop-list-message{color:var(--message-drop-color)}.drop-list a.remove-item-btn{--rotation: 45deg;position:absolute;top:var(--btn-top-distance);right:var(--btn-right-distance);width:var(--remove-size);height:var(--remove-size);cursor:pointer;transition:.2s ease;background-color:var(--remove-bg);border-radius:50%}.drop-list a.remove-item-btn:before,.drop-list a.remove-item-btn:after{content:\"\";position:absolute;top:50%;left:50%;width:calc(100% - var(--remove-spacing));transform:translate(-50%,-50%) rotate(var(--rotation));height:1px;background:var(--remove-color);transition:.2s ease}.drop-list a.remove-item-btn:after{--rotation: -45deg}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: GetValuePipe, name: "getValue" }, { kind: "pipe", type: SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
8470
+ }], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultTemplate let-item=\"item\">\r\n <div class=\"drop-list-item-label\">\r\n {{ item | getValue:labelField }}\r\n </div>\r\n</ng-template>\r\n<div class=\"drop-list\"\r\n #list\r\n (dragenter)=\"onDragEnter($event, list, this)\"\r\n (dragleave)=\"onDragLeave($event, list)\"\r\n (drop)=\"onDrop($event, list)\">\r\n <div class=\"drop-list-message\"\r\n [ngClass]=\"{'has-value': value?.length}\"\r\n [innerHTML]=\"message | translate | safe:'html'\"\r\n *ngIf=\"message\">\r\n </div>\r\n <ng-container *ngFor=\"let id of value; let ix = index\">\r\n <div class=\"drop-list-item\">\r\n <ng-template #noItemTemplate>\r\n <div class=\"drop-list-item-label just-id\">\r\n {{ id }}\r\n </div>\r\n </ng-template>\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate || defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{item: valueMap[id], id: id, remove: remove}\"\r\n *ngIf=\"valueMap[id]; else noItemTemplate\"></ng-container>\r\n <a class=\"remove-item-btn\" (click)=\"remove(ix)\"></a>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".drop-list{--message-size: 20px;--message-color: #7e7e7e;--message-drop-color: #efefef;--remove-bg: var(--primary-color, rgba(0, 0, 0, .2));--remove-color: #ffffff;--remove-size: 18px;--btn-distance: 4px;--remove-spacing: 8px;--btn-top-distance: var(--btn-distance);--btn-right-distance: var(--btn-distance);min-height:100px;border:2px #bfbfbf dashed;border-radius:10px;padding:10px;position:relative;display:flex;align-items:flex-start;justify-content:left;gap:10px;background-color:#0000000d;transition:.2s;flex-wrap:wrap}.drop-list .drop-list-message{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;top:0;left:0;pointer-events:none;font-size:var(--message-size);color:var(--message-color);transition:.2s}.drop-list .drop-list-message.has-value{display:none}.drop-list .drop-list-item{position:relative;background:#0003;padding:7px 23px 7px 10px;border-radius:5px;-webkit-user-select:none;user-select:none}.drop-list .drop-list-item-label:not(.just-id){min-width:50px;text-align:center}.drop-list .drop-list-item-label.just-id{max-width:100px;overflow:hidden;text-overflow:ellipsis;color:gray}.drop-list .drop-list-item-delete{font-size:14px;line-height:14px;text-align:center;cursor:pointer;background:#fff;border-radius:2px;height:14px;width:15px;position:absolute;top:4px;right:4px}.drop-list.drop-allowed{background-color:#0003;border-color:gray}.drop-list.drop-allowed .drop-list-message{color:var(--message-drop-color)}.drop-list a.remove-item-btn{--rotation: 45deg;position:absolute;top:var(--btn-top-distance);right:var(--btn-right-distance);width:var(--remove-size);height:var(--remove-size);cursor:pointer;transition:.2s ease;background-color:var(--remove-bg);border-radius:50%}.drop-list a.remove-item-btn:before,.drop-list a.remove-item-btn:after{content:\"\";position:absolute;top:50%;left:50%;width:calc(100% - var(--remove-spacing));transform:translate(-50%,-50%) rotate(var(--rotation));height:1px;background:var(--remove-color);transition:.2s ease}.drop-list a.remove-item-btn:after{--rotation: -45deg}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: GetValuePipe, name: "getValue" }, { kind: "pipe", type: SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
7901
8471
  }
7902
8472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropListComponent, decorators: [{
7903
8473
  type: Component,
@@ -7932,6 +8502,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7932
8502
  }] } });
7933
8503
 
7934
8504
  class DropdownBoxComponent {
8505
+ /**
8506
+ * Determines if the dropdown should be closed even if we click inside it
8507
+ */
8508
+ closeInside;
8509
+ /**
8510
+ * Determines where the floating element needs to be placed
8511
+ */
8512
+ attachTo;
8513
+ /**
8514
+ * Where to place the floating element relative to the reference element.
8515
+ */
8516
+ placement;
8517
+ /**
8518
+ * The axis that runs along the alignment of the floating element. Determines
8519
+ * whether to check for most space along this axis.
8520
+ * @default false
8521
+ */
8522
+ crossAxis;
8523
+ /**
8524
+ * Choose placements with a particular alignment.
8525
+ * @default undefined
8526
+ */
8527
+ alignment;
8528
+ /**
8529
+ * Whether to choose placements with the opposite alignment if the preferred
8530
+ * alignment does not fit.
8531
+ * @default true
8532
+ */
8533
+ autoAlignment;
8534
+ /**
8535
+ * Which placements are allowed to be chosen. Placements must be within the
8536
+ * `alignment` option if explicitly set.
8537
+ * @default allPlacements (variable)
8538
+ */
8539
+ allowedPlacements;
8540
+ /**
8541
+ * Adds a class to the main div element and also to the content
8542
+ * ('drop' by default which translates to 'drop-content-wrapper' in case of content)
8543
+ */
8544
+ componentClass;
8545
+ autoPlacement;
8546
+ content;
7935
8547
  constructor() {
7936
8548
  this.closeInside = true;
7937
8549
  this.attachTo = "root";
@@ -7956,8 +8568,8 @@ class DropdownBoxComponent {
7956
8568
  ngOnChanges() {
7957
8569
  this.makeAutoPlacementOpts();
7958
8570
  }
7959
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7960
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DropdownBoxComponent, isStandalone: false, selector: "dropdown-box", inputs: { closeInside: "closeInside", attachTo: "attachTo", placement: "placement", crossAxis: "crossAxis", alignment: "alignment", autoAlignment: "autoAlignment", allowedPlacements: "allowedPlacements", componentClass: "componentClass" }, viewQueries: [{ propertyName: "content", first: true, predicate: DropdownContentDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div dd class=\"dropdown-box\"\n [ngClass]=\"componentClass\"\n [closeInside]=\"closeInside\"\n [attachTo]=\"attachTo\"\n [placement]=\"placement\"\n [autoPlacement]=\"autoPlacement\">\n <div class=\"dropdown-box-toggle\" dropdownToggle>\n <a class=\"dropdown-box-toggle-link\">\n <ng-content select=\"[toggle-content]\"></ng-content>\n </a>\n </div>\n <div class=\"dropdown-box-content\" [ngClass]=\"componentClass + '-content-wrapper'\" *dropdownContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".dropdown-box{--dd-border-size: var(--border-size, 1px);--dd-border-radius: 5px;--dd-top-border-radius: var(--dd-border-radius) var(--dd-border-radius) 0 0;--dd-bottom-border-radius: 0 0 var(--dd-border-radius) var(--dd-border-radius);--dd-bg-color: var(--bg-color, #ffffff);--dd-border-color: var(--border-color, #ced4da);--dd-highlight-color: var(--highlight-color, var(--primary-color, #888888));--dd-highlight-text-color: var(--highlight-text-color, #ffffff);--dd-text-color: var(--text-color, #151515);--dd-arrow-size: var(--arrow-size, 6px);--dd-arrow-space: calc(var(--dd-arrow-size) * .5 + 1px);--dd-arrow-color: currentColor;--dd-arrow-rotation: 90;position:relative;z-index:2;display:inline-block;width:var(--content-width, 0);min-width:fit-content}.dropdown-box *{box-sizing:border-box}.dropdown-box a,.dropdown-box span{white-space:nowrap}.dropdown-box.table-sort-dropdown{display:none}.dropdown-box.table-sort-dropdown .table-toggle:hover,.dropdown-box li:hover,.dropdown-box li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-box.open{--dd-arrow-rotation: -90}.dropdown-box.open .dropdown-box-toggle{border-radius:var(--dd-top-border-radius)}.dropdown-box-toggle{min-width:fit-content;background:var(--dd-bg-color);color:var(--dd-text-color);cursor:pointer;border:var(--dd-border-size) solid var(--dd-border-color);border-radius:5px;padding:6px 12px;-webkit-user-select:none;user-select:none;font-weight:400;outline:none}.dropdown-box-toggle .toggle-placeholder{color:#495057}.dropdown-box-toggle a.dropdown-box-toggle-link{margin-right:calc(2 * var(--dd-arrow-size));padding-right:5px;min-width:fit-content;position:relative;display:block}.dropdown-box-toggle a.dropdown-box-toggle-link:after{content:\"\";position:absolute;left:calc(100% + var(--dd-arrow-size));top:calc(50% - var(--dd-arrow-size));border-top:var(--dd-arrow-size) solid transparent;border-bottom:var(--dd-arrow-size) solid transparent;border-left:var(--dd-arrow-size) solid var(--dd-arrow-color);transform:rotate(calc(var(--dd-arrow-rotation) * 1deg));transition:.2s ease}.dropdown-box-content{position:relative;z-index:1;min-width:var(--toggle-width, 0)}.dropdown-box-content *{box-sizing:border-box}.dropdown-box-content ul{margin:-1px 0 0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-border-radius);overflow:hidden;min-width:fit-content}.dropdown-box-content li{color:var(--dd-text-color);font-weight:400;text-align:left;min-width:fit-content;cursor:pointer;padding:6px 12px;-webkit-user-select:none;user-select:none}.dropdown-box-content li a{color:var(--dd-text-color);text-decoration:none;display:flex;gap:5px}.dropdown-box-content li:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-box-content li:hover a,.dropdown-box-content li.active a{color:var(--dd-highlight-text-color)}.dropdown-placement-top.open .dropdown-box-toggle{border-radius:var(--dd-bottom-border-radius)}.dropdown-placement-top .dropdown-box-content ul{margin-top:0;margin-bottom:-1px}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: ["closeInside", "attachTo", "boundary", "placement", "autoPlacement", "mobileViewUnder", "fixed", "keyboardHandler", "isDisabled"], outputs: ["onShown", "onHidden", "onKeyboard"], exportAs: ["dropdown"] }, { kind: "directive", type: DropdownContentDirective, selector: "[dropdownContent]", exportAs: ["dropdown-content"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[dropdownToggle]", inputs: ["beforeOpen", "switch"], exportAs: ["dropdown-toggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
8571
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8572
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DropdownBoxComponent, isStandalone: false, selector: "dropdown-box", inputs: { closeInside: "closeInside", attachTo: "attachTo", placement: "placement", crossAxis: "crossAxis", alignment: "alignment", autoAlignment: "autoAlignment", allowedPlacements: "allowedPlacements", componentClass: "componentClass" }, viewQueries: [{ propertyName: "content", first: true, predicate: DropdownContentDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div dd class=\"dropdown-box\"\n [ngClass]=\"componentClass\"\n [closeInside]=\"closeInside\"\n [attachTo]=\"attachTo\"\n [placement]=\"placement\"\n [autoPlacement]=\"autoPlacement\">\n <div class=\"dropdown-box-toggle\" dropdownToggle>\n <a class=\"dropdown-box-toggle-link\">\n <ng-content select=\"[toggle-content]\"></ng-content>\n </a>\n </div>\n <div class=\"dropdown-box-content\" [ngClass]=\"componentClass + '-content-wrapper'\" *dropdownContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".dropdown-box{--dd-border-size: var(--border-size, 1px);--dd-border-radius: 5px;--dd-top-border-radius: var(--dd-border-radius) var(--dd-border-radius) 0 0;--dd-bottom-border-radius: 0 0 var(--dd-border-radius) var(--dd-border-radius);--dd-bg-color: var(--bg-color, #ffffff);--dd-border-color: var(--border-color, #ced4da);--dd-highlight-color: var(--highlight-color, var(--primary-color, #888888));--dd-highlight-text-color: var(--highlight-text-color, #ffffff);--dd-text-color: var(--text-color, #151515);--dd-arrow-size: var(--arrow-size, 6px);--dd-arrow-space: calc(var(--dd-arrow-size) * .5 + 1px);--dd-arrow-color: currentColor;--dd-arrow-rotation: 90;position:relative;z-index:2;display:inline-block;width:var(--content-width, 0);min-width:fit-content}.dropdown-box *{box-sizing:border-box}.dropdown-box a,.dropdown-box span{white-space:nowrap}.dropdown-box.table-sort-dropdown{display:none}.dropdown-box.table-sort-dropdown .table-toggle:hover,.dropdown-box li:hover,.dropdown-box li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-box.open{--dd-arrow-rotation: -90}.dropdown-box.open .dropdown-box-toggle{border-radius:var(--dd-top-border-radius)}.dropdown-box-toggle{min-width:fit-content;background:var(--dd-bg-color);color:var(--dd-text-color);cursor:pointer;border:var(--dd-border-size) solid var(--dd-border-color);border-radius:5px;padding:6px 12px;-webkit-user-select:none;user-select:none;font-weight:400;outline:none}.dropdown-box-toggle .toggle-placeholder{color:#495057}.dropdown-box-toggle a.dropdown-box-toggle-link{margin-right:calc(2 * var(--dd-arrow-size));padding-right:5px;min-width:fit-content;position:relative;display:block}.dropdown-box-toggle a.dropdown-box-toggle-link:after{content:\"\";position:absolute;left:calc(100% + var(--dd-arrow-size));top:calc(50% - var(--dd-arrow-size));border-top:var(--dd-arrow-size) solid transparent;border-bottom:var(--dd-arrow-size) solid transparent;border-left:var(--dd-arrow-size) solid var(--dd-arrow-color);transform:rotate(calc(var(--dd-arrow-rotation) * 1deg));transition:.2s ease}.dropdown-box-content{position:relative;z-index:1;min-width:var(--toggle-width, 0)}.dropdown-box-content *{box-sizing:border-box}.dropdown-box-content ul{margin:-1px 0 0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-border-radius);overflow:hidden;min-width:fit-content}.dropdown-box-content li{color:var(--dd-text-color);font-weight:400;text-align:left;min-width:fit-content;cursor:pointer;padding:6px 12px;-webkit-user-select:none;user-select:none}.dropdown-box-content li a{color:var(--dd-text-color);text-decoration:none;display:flex;gap:5px}.dropdown-box-content li:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);color:var(--dd-highlight-text-color)}.dropdown-box-content li:hover a,.dropdown-box-content li.active a{color:var(--dd-highlight-text-color)}.dropdown-placement-top.open .dropdown-box-toggle{border-radius:var(--dd-bottom-border-radius)}.dropdown-placement-top .dropdown-box-content ul{margin-top:0;margin-bottom:-1px}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: DropdownDirective, selector: "[dd],[drop-down]", inputs: ["closeInside", "attachTo", "boundary", "placement", "autoPlacement", "mobileViewUnder", "fixed", "keyboardHandler", "isDisabled"], outputs: ["onShown", "onHidden", "onKeyboard"], exportAs: ["dropdown"] }, { kind: "directive", type: DropdownContentDirective, selector: "[dropdownContent]", exportAs: ["dropdown-content"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[dropdownToggle]", inputs: ["beforeOpen", "switch"], exportAs: ["dropdown-toggle"] }], encapsulation: i0.ViewEncapsulation.None });
7961
8573
  }
7962
8574
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DropdownBoxComponent, decorators: [{
7963
8575
  type: Component,
@@ -7984,34 +8596,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
7984
8596
  }] } });
7985
8597
 
7986
8598
  class DynamicTableCellComponent {
7987
- constructor() {
7988
- this.language = inject(LANGUAGE_SERVICE);
7989
- this.globalTemplates = inject(GlobalTemplateService);
7990
- this.item = input({});
7991
- this.column = input({ title: "" });
7992
- this.id = input("");
7993
- this.globalTemplatePrefix = input("dynamic-table");
7994
- this.fallbackTemplate = input(null);
7995
- this.templateKeys = toSignal(this.globalTemplates.templatesUpdated);
7996
- this.template = computed(() => {
7997
- const prefix = this.globalTemplatePrefix();
7998
- const key = `${prefix}-col-${this.id()}`;
7999
- const keys = this.templateKeys();
8000
- return !keys?.includes(key) ? null : this.globalTemplates.get(key);
8001
- });
8002
- this.context = computed(() => {
8003
- const item = this.item();
8004
- const id = this.id();
8005
- const value = ObjectUtils.getValue(item, id, null);
8006
- return {
8007
- item, id, value,
8008
- column: this.column(),
8009
- multi: Array.isArray(value)
8010
- };
8011
- });
8012
- }
8013
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicTableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8014
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicTableCellComponent, isStandalone: false, selector: "dynamic-table-cell", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, globalTemplatePrefix: { classPropertyName: "globalTemplatePrefix", publicName: "globalTemplatePrefix", isSignal: true, isRequired: false, transformFunction: null }, fallbackTemplate: { classPropertyName: "fallbackTemplate", publicName: "fallbackTemplate", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-template #fallback let-value=\"value\">\r\n {{ value ?? '-' }}\r\n</ng-template>\r\n<ng-template #defaultTemplate let-context let-column=\"column\" let-id=\"id\" let-value=\"value\">\r\n @switch (column.filterType) {\r\n @case ('checkbox') {\r\n <div class=\"table-checkbox\">\r\n <icon [name]=\"value ? 'check' : 'xmark'\"></icon>\r\n </div>\r\n }\r\n @case ('enum') {\r\n @let optionPrefix = column.enumPrefix || id;\r\n <div [ngClass]=\"`table-enum enum-${optionPrefix} enum-value-${value}`\">\r\n <span>{{ `${optionPrefix}.${value}` | translate }}</span>\r\n </div>\r\n }\r\n @default {\r\n <ng-container [ngxTemplateOutlet]=\"fallbackTemplate() || fallback\"\r\n [context]=\"context\"></ng-container>\r\n }\r\n }\r\n</ng-template>\r\n<ng-container [ngxTemplateOutlet]=\"template() || defaultTemplate\"\r\n [context]=\"context()\"\r\n [additionalContext]=\"{defaultTemplate}\"></ng-container>\r\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "component", type: IconComponent, selector: "icon", inputs: ["name"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
8599
+ language = inject(LANGUAGE_SERVICE);
8600
+ globalTemplates = inject(GlobalTemplateService);
8601
+ item = input({});
8602
+ column = input({ title: "" });
8603
+ id = input("");
8604
+ globalTemplatePrefix = input("dynamic-table");
8605
+ fallbackTemplate = input(null);
8606
+ templateKeys = toSignal(this.globalTemplates.templatesUpdated);
8607
+ template = computed(() => {
8608
+ const prefix = this.globalTemplatePrefix();
8609
+ const key = `${prefix}-col-${this.id()}`;
8610
+ const keys = this.templateKeys();
8611
+ return !keys?.includes(key) ? null : this.globalTemplates.get(key);
8612
+ });
8613
+ context = computed(() => {
8614
+ const item = this.item();
8615
+ const id = this.id();
8616
+ const value = ObjectUtils.getValue(item, id, null);
8617
+ return {
8618
+ item, id, value,
8619
+ column: this.column(),
8620
+ multi: Array.isArray(value)
8621
+ };
8622
+ });
8623
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicTableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8624
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicTableCellComponent, isStandalone: false, selector: "dynamic-table-cell", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, globalTemplatePrefix: { classPropertyName: "globalTemplatePrefix", publicName: "globalTemplatePrefix", isSignal: true, isRequired: false, transformFunction: null }, fallbackTemplate: { classPropertyName: "fallbackTemplate", publicName: "fallbackTemplate", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-template #fallback let-value=\"value\">\r\n {{ value ?? '-' }}\r\n</ng-template>\r\n<ng-template #defaultTemplate let-context let-column=\"column\" let-id=\"id\" let-value=\"value\">\r\n @switch (column.filterType) {\r\n @case ('checkbox') {\r\n <div class=\"table-checkbox\">\r\n <icon [name]=\"value ? 'check' : 'xmark'\"></icon>\r\n </div>\r\n }\r\n @case ('enum') {\r\n @let optionPrefix = column.enumPrefix || id;\r\n <div [ngClass]=\"`table-enum enum-${optionPrefix} enum-value-${value}`\">\r\n <span>{{ `${optionPrefix}.${value}` | translate }}</span>\r\n </div>\r\n }\r\n @default {\r\n <ng-container [ngxTemplateOutlet]=\"fallbackTemplate() || fallback\"\r\n [context]=\"context\"></ng-container>\r\n }\r\n }\r\n</ng-template>\r\n<ng-container [ngxTemplateOutlet]=\"template() || defaultTemplate\"\r\n [context]=\"context()\"\r\n [additionalContext]=\"{defaultTemplate}\"></ng-container>\r\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "component", type: IconComponent, selector: "icon", inputs: ["name"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
8015
8625
  }
8016
8626
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicTableCellComponent, decorators: [{
8017
8627
  type: Component,
@@ -8019,12 +8629,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
8019
8629
  }] });
8020
8630
 
8021
8631
  class PaginationMenuComponent {
8632
+ state;
8633
+ pagination;
8634
+ maxSize;
8635
+ urlParam;
8636
+ directionLinks;
8637
+ boundaryLinks;
8638
+ pages;
8022
8639
  get hasPrev() {
8023
8640
  return this.pagination.page > 1;
8024
8641
  }
8025
8642
  get hasNext() {
8026
8643
  return this.pagination.page < this.pagination.maxPage;
8027
8644
  }
8645
+ onRefresh;
8028
8646
  constructor(state, pagination) {
8029
8647
  this.state = state;
8030
8648
  this.pagination = pagination;
@@ -8074,8 +8692,8 @@ class PaginationMenuComponent {
8074
8692
  }
8075
8693
  this.pages = pages;
8076
8694
  }
8077
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PaginationMenuComponent, deps: [{ token: StateService }, { token: PaginationDirective }], target: i0.ɵɵFactoryTarget.Component }); }
8078
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: PaginationMenuComponent, isStandalone: false, selector: "pagination-menu", inputs: { maxSize: "maxSize", urlParam: "urlParam", directionLinks: "directionLinks", boundaryLinks: "boundaryLinks" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pg-menu\" *ngIf=\"pagination.total > pagination.itemsPerPage\">\r\n <ul class=\"pg-list\">\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"boundaryLinks\">\r\n <a class=\"page-link boundary-link previous\" (click)=\"paginate(1)\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"directionLinks\">\r\n <a class=\"page-link direction-link previous\" (click)=\"paginate(pagination.page - 1)\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{active: pagination.page == page}\" *ngFor=\"let page of pages\">\r\n <a class=\"page-link\" [ngClass]=\"{active: pagination.page == page}\" (click)=\"paginate(page)\">{{ page }}</a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"directionLinks\">\r\n <a class=\"page-link direction-link\" (click)=\"paginate(pagination.page + 1)\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"boundaryLinks\">\r\n <a class=\"page-link boundary-link\" (click)=\"paginate(pagination.maxPage)\"></a>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".pg-menu{--pg-border-size: var(--border-size, 1px);--pg-bg-color: var(--bg-color, #ffffff);--pg-border-color: var(--border-color, #ced4da);--pg-border-radius: var(--border-radius, 5px);--pg-highlight-color: var(--highlight-color, var(--primary-color, #888888));--pg-highlight-text-color: var(--highlight-text-color, #ffffff);--pg-text-color: var(--text-color, #151515);--pg-arrow-content: \"\";--pg-arrow-size: var(--arrow-size, 6px);--pg-arrow-space: calc(var(--pg-arrow-size) * .5 + 1px);--pg-arrow-color: currentColor;display:flex;align-items:center;justify-content:center;min-width:fit-content;margin:10px}.pg-menu *{box-sizing:border-box}.pg-menu ul.pg-list{margin:0;padding:0;list-style:none;border:var(--pg-border-size) solid var(--pg-border-color);background:var(--pg-bg-color);border-radius:var(--pg-border-radius);overflow:hidden;min-width:fit-content;display:flex}.pg-menu li{color:var(--pg-text-color);font-weight:400;text-align:left;min-width:fit-content;cursor:pointer;border-right:var(--pg-border-size) solid var(--pg-border-color);display:flex;align-items:center}.pg-menu li:last-child{border-right:none}.pg-menu li:not(.disabled):hover,.pg-menu li.active{background-color:var(--pg-highlight-color);color:var(--pg-highlight-text-color)}.pg-menu li.disabled a{cursor:default}.pg-menu a{display:block;min-width:36px;min-height:36px;height:auto;line-height:24px;text-align:center;vertical-align:top;padding:6px 12px;color:inherit}.pg-menu a.boundary-link,.pg-menu a.direction-link{position:relative}.pg-menu a.boundary-link:before,.pg-menu a.boundary-link:after,.pg-menu a.direction-link:before,.pg-menu a.direction-link:after{content:var(--pg-arrow-content);position:absolute;left:50%;top:calc(50% - var(--pg-arrow-size));border-top:var(--pg-arrow-size) solid transparent;border-bottom:var(--pg-arrow-size) solid transparent;border-left:var(--pg-arrow-size) solid var(--pg-arrow-color)}.pg-menu a.direction-link:before{display:none}.pg-menu a.direction-link:after{translate:-50% 0}.pg-menu a.boundary-link:before{translate:-100% 0}.pg-menu a.boundary-link.previous:before,.pg-menu a.boundary-link.previous:after,.pg-menu a.direction-link.previous:before,.pg-menu a.direction-link.previous:after{rotate:180deg}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
8695
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PaginationMenuComponent, deps: [{ token: StateService }, { token: PaginationDirective }], target: i0.ɵɵFactoryTarget.Component });
8696
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: PaginationMenuComponent, isStandalone: false, selector: "pagination-menu", inputs: { maxSize: "maxSize", urlParam: "urlParam", directionLinks: "directionLinks", boundaryLinks: "boundaryLinks" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pg-menu\" *ngIf=\"pagination.total > pagination.itemsPerPage\">\r\n <ul class=\"pg-list\">\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"boundaryLinks\">\r\n <a class=\"page-link boundary-link previous\" (click)=\"paginate(1)\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"directionLinks\">\r\n <a class=\"page-link direction-link previous\" (click)=\"paginate(pagination.page - 1)\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{active: pagination.page == page}\" *ngFor=\"let page of pages\">\r\n <a class=\"page-link\" [ngClass]=\"{active: pagination.page == page}\" (click)=\"paginate(page)\">{{ page }}</a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"directionLinks\">\r\n <a class=\"page-link direction-link\" (click)=\"paginate(pagination.page + 1)\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"boundaryLinks\">\r\n <a class=\"page-link boundary-link\" (click)=\"paginate(pagination.maxPage)\"></a>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".pg-menu{--pg-border-size: var(--border-size, 1px);--pg-bg-color: var(--bg-color, #ffffff);--pg-border-color: var(--border-color, #ced4da);--pg-border-radius: var(--border-radius, 5px);--pg-highlight-color: var(--highlight-color, var(--primary-color, #888888));--pg-highlight-text-color: var(--highlight-text-color, #ffffff);--pg-text-color: var(--text-color, #151515);--pg-arrow-content: \"\";--pg-arrow-size: var(--arrow-size, 6px);--pg-arrow-space: calc(var(--pg-arrow-size) * .5 + 1px);--pg-arrow-color: currentColor;display:flex;align-items:center;justify-content:center;min-width:fit-content;margin:10px}.pg-menu *{box-sizing:border-box}.pg-menu ul.pg-list{margin:0;padding:0;list-style:none;border:var(--pg-border-size) solid var(--pg-border-color);background:var(--pg-bg-color);border-radius:var(--pg-border-radius);overflow:hidden;min-width:fit-content;display:flex}.pg-menu li{color:var(--pg-text-color);font-weight:400;text-align:left;min-width:fit-content;cursor:pointer;border-right:var(--pg-border-size) solid var(--pg-border-color);display:flex;align-items:center}.pg-menu li:last-child{border-right:none}.pg-menu li:not(.disabled):hover,.pg-menu li.active{background-color:var(--pg-highlight-color);color:var(--pg-highlight-text-color)}.pg-menu li.disabled a{cursor:default}.pg-menu a{display:block;min-width:36px;min-height:36px;height:auto;line-height:24px;text-align:center;vertical-align:top;padding:6px 12px;color:inherit}.pg-menu a.boundary-link,.pg-menu a.direction-link{position:relative}.pg-menu a.boundary-link:before,.pg-menu a.boundary-link:after,.pg-menu a.direction-link:before,.pg-menu a.direction-link:after{content:var(--pg-arrow-content);position:absolute;left:50%;top:calc(50% - var(--pg-arrow-size));border-top:var(--pg-arrow-size) solid transparent;border-bottom:var(--pg-arrow-size) solid transparent;border-left:var(--pg-arrow-size) solid var(--pg-arrow-color)}.pg-menu a.direction-link:before{display:none}.pg-menu a.direction-link:after{translate:-50% 0}.pg-menu a.boundary-link:before{translate:-100% 0}.pg-menu a.boundary-link.previous:before,.pg-menu a.boundary-link.previous:after,.pg-menu a.direction-link.previous:before,.pg-menu a.direction-link.previous:after{rotate:180deg}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
8079
8697
  }
8080
8698
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: PaginationMenuComponent, decorators: [{
8081
8699
  type: Component,
@@ -8091,9 +8709,82 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
8091
8709
  }] } });
8092
8710
 
8093
8711
  class DynamicTableComponent {
8712
+ element;
8713
+ dataLoader;
8714
+ data;
8715
+ selected;
8716
+ page;
8717
+ urlParam;
8718
+ parallelData;
8719
+ columns;
8720
+ /**
8721
+ * Parameter for displaying a simple filter search box
8722
+ */
8723
+ showFilter;
8724
+ /**
8725
+ * Parameter for specifying a label for filter
8726
+ */
8727
+ filterLabel;
8728
+ /**
8729
+ * Parameter for specifying a placeholder for filter
8730
+ */
8731
+ placeholder;
8732
+ /**
8733
+ * Parameter for displaying an item per page selector dropdown with the specified numbers
8734
+ */
8735
+ showItems;
8736
+ /**
8737
+ * Parameter for setting how many items should be displayed by default
8738
+ */
8739
+ itemsPerPage;
8740
+ updateTime;
8741
+ filterTime;
8742
+ maxPages;
8743
+ directionLinks;
8744
+ boundaryLinks;
8745
+ orderBy;
8746
+ orderDescending;
8747
+ testId;
8748
+ titlePrefix;
8749
+ dragStartFn;
8750
+ dragEnterFn;
8751
+ dropFn;
8752
+ tableId;
8753
+ filter;
8754
+ query;
8755
+ hasQuery;
8756
+ columnDefs;
8757
+ cols;
8758
+ sortable;
8094
8759
  get items() {
8095
8760
  return !this.pagination ? [] : this.pagination.items;
8096
8761
  }
8762
+ localData;
8763
+ subscription;
8764
+ rowTemplate;
8765
+ wrapperTemplate;
8766
+ columnsTemplate;
8767
+ defaultRowTemplate;
8768
+ defaultWrapperTemplate;
8769
+ pagination;
8770
+ globalTemplatePrefix = input("dynamic-table");
8771
+ fallbackTemplate = contentChild("fallbackTemplate");
8772
+ templateDirectives = contentChildren(DynamicTableTemplateDirective);
8773
+ templates = computed(() => {
8774
+ return (this.templateDirectives() || []).reduce((result, directive) => {
8775
+ if (ObjectUtils.isArray(directive.column)) {
8776
+ directive.column.forEach(column => {
8777
+ result[column] = directive;
8778
+ });
8779
+ return result;
8780
+ }
8781
+ if (!ObjectUtils.isStringWithValue(directive.column))
8782
+ return result;
8783
+ result[directive.column] = directive;
8784
+ return result;
8785
+ }, {});
8786
+ });
8787
+ onClick = output();
8097
8788
  static compare(orderBy, a, b) {
8098
8789
  a = a.item ? a.item[orderBy] : null;
8099
8790
  b = b.item ? b.item[orderBy] : null;
@@ -8101,29 +8792,6 @@ class DynamicTableComponent {
8101
8792
  }
8102
8793
  constructor(element) {
8103
8794
  this.element = element;
8104
- this.globalTemplatePrefix = input("dynamic-table");
8105
- this.fallbackTemplate = contentChild("fallbackTemplate");
8106
- this.templateDirectives = contentChildren(DynamicTableTemplateDirective);
8107
- this.templates = computed(() => {
8108
- return (this.templateDirectives() || []).reduce((result, directive) => {
8109
- if (ObjectUtils.isArray(directive.column)) {
8110
- directive.column.forEach(column => {
8111
- result[column] = directive;
8112
- });
8113
- return result;
8114
- }
8115
- if (!ObjectUtils.isStringWithValue(directive.column))
8116
- return result;
8117
- result[directive.column] = directive;
8118
- return result;
8119
- }, {});
8120
- });
8121
- this.onClick = output();
8122
- this.loadData = async (page, itemsPerPage, controller) => {
8123
- const orderBy = this.columnDefs[this.orderBy]?.sort;
8124
- const dataLoader = this.dataLoader || this.loadLocalData;
8125
- return dataLoader.call(this, page, itemsPerPage, orderBy, this.orderDescending, this.filter, this.query, controller);
8126
- };
8127
8795
  this.placeholder = "";
8128
8796
  this.tableId = UniqueUtils.uuid();
8129
8797
  this.orderBy = "";
@@ -8297,6 +8965,11 @@ class DynamicTableComponent {
8297
8965
  this.itemsPerPage = count;
8298
8966
  this.refresh();
8299
8967
  }
8968
+ loadData = async (page, itemsPerPage, controller) => {
8969
+ const orderBy = this.columnDefs[this.orderBy]?.sort;
8970
+ const dataLoader = this.dataLoader || this.loadLocalData;
8971
+ return dataLoader.call(this, page, itemsPerPage, orderBy, this.orderDescending, this.filter, this.query, controller);
8972
+ };
8300
8973
  async loadLocalData(page, rowsPerPage, orderBy, orderDescending, filter, query) {
8301
8974
  if (!this.localData) {
8302
8975
  return {
@@ -8353,8 +9026,8 @@ class DynamicTableComponent {
8353
9026
  items: items
8354
9027
  };
8355
9028
  }
8356
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicTableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
8357
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicTableComponent, isStandalone: false, selector: "dynamic-table", inputs: { dataLoader: { classPropertyName: "dataLoader", publicName: "dataLoader", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: false, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: false, isRequired: false, transformFunction: null }, urlParam: { classPropertyName: "urlParam", publicName: "urlParam", isSignal: false, isRequired: false, transformFunction: null }, parallelData: { classPropertyName: "parallelData", publicName: "parallelData", isSignal: false, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: false, isRequired: false, transformFunction: null }, showFilter: { classPropertyName: "showFilter", publicName: "showFilter", isSignal: false, isRequired: false, transformFunction: null }, filterLabel: { classPropertyName: "filterLabel", publicName: "filterLabel", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, showItems: { classPropertyName: "showItems", publicName: "showItems", isSignal: false, isRequired: false, transformFunction: null }, itemsPerPage: { classPropertyName: "itemsPerPage", publicName: "itemsPerPage", isSignal: false, isRequired: false, transformFunction: null }, updateTime: { classPropertyName: "updateTime", publicName: "updateTime", isSignal: false, isRequired: false, transformFunction: null }, filterTime: { classPropertyName: "filterTime", publicName: "filterTime", isSignal: false, isRequired: false, transformFunction: null }, maxPages: { classPropertyName: "maxPages", publicName: "maxPages", isSignal: false, isRequired: false, transformFunction: null }, directionLinks: { classPropertyName: "directionLinks", publicName: "directionLinks", isSignal: false, isRequired: false, transformFunction: null }, boundaryLinks: { classPropertyName: "boundaryLinks", publicName: "boundaryLinks", isSignal: false, isRequired: false, transformFunction: null }, orderBy: { classPropertyName: "orderBy", publicName: "orderBy", isSignal: false, isRequired: false, transformFunction: null }, orderDescending: { classPropertyName: "orderDescending", publicName: "orderDescending", isSignal: false, isRequired: false, transformFunction: null }, testId: { classPropertyName: "testId", publicName: "testId", isSignal: false, isRequired: false, transformFunction: null }, titlePrefix: { classPropertyName: "titlePrefix", publicName: "titlePrefix", isSignal: false, isRequired: false, transformFunction: null }, dragStartFn: { classPropertyName: "dragStartFn", publicName: "dragStartFn", isSignal: false, isRequired: false, transformFunction: null }, dragEnterFn: { classPropertyName: "dragEnterFn", publicName: "dragEnterFn", isSignal: false, isRequired: false, transformFunction: null }, dropFn: { classPropertyName: "dropFn", publicName: "dropFn", isSignal: false, isRequired: false, transformFunction: null }, globalTemplatePrefix: { classPropertyName: "globalTemplatePrefix", publicName: "globalTemplatePrefix", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, queries: [{ propertyName: "fallbackTemplate", first: true, predicate: ["fallbackTemplate"], descendants: true, isSignal: true }, { propertyName: "templateDirectives", predicate: DynamicTableTemplateDirective, isSignal: true }, { propertyName: "rowTemplate", first: true, predicate: ["rowTemplate"], descendants: true, static: true }, { propertyName: "wrapperTemplate", first: true, predicate: ["wrapperTemplate"], descendants: true, static: true }], viewQueries: [{ propertyName: "columnsTemplate", first: true, predicate: ["columnsTemplate"], descendants: true, static: true }, { propertyName: "defaultRowTemplate", first: true, predicate: ["defaultRowTemplate"], descendants: true, static: true }, { propertyName: "defaultWrapperTemplate", first: true, predicate: ["defaultWrapperTemplate"], descendants: true, static: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@let columnTemplates = templates();\r\n@let prefix = globalTemplatePrefix();\r\n@let fallback = fallbackTemplate();\r\n\r\n<ng-template #defaultTemplate let-item=\"item\" let-column=\"column\" let-columnDef=\"columnDef\">\r\n <dynamic-table-cell [item]=\"item\"\r\n [column]=\"columnDef\"\r\n [id]=\"column\"\r\n [globalTemplatePrefix]=\"prefix\"\r\n [fallbackTemplate]=\"fallback\"></dynamic-table-cell>\r\n</ng-template>\r\n\r\n<ng-template #columnTemplate let-context let-column=\"column\" let-template=\"template\">\r\n @if (!template?.pure) {\r\n <td [ngClass]=\"'column-' + column\"\r\n [attr.data-testid]=\"testId + '-' + column + '-' + context.rowIndex\">\r\n <ng-container [ngxTemplateOutlet]=\"!template ? defaultTemplate : template.ref\"\r\n [context]=\"context\"></ng-container>\r\n </td>\r\n } @else {\r\n <ng-container [ngxTemplateOutlet]=\"template.ref\" [context]=\"context\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #columnsTemplate let-context>\r\n <ng-container *ngFor=\"let column of cols\"\r\n [ngxTemplateOutlet]=\"columnTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"{\r\n template: columnTemplates[column],\r\n column: column,\r\n columnDef: columnDefs[column]\r\n }\"></ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultRowTemplate let-context>\r\n <tr #elem\r\n [draggable]=\"!!dragStartFn\"\r\n [ngClass]=\"{active: selected === context.item}\"\r\n (dragstart)=\"onDragStart($event, elem, context.item)\"\r\n (dragenter)=\"onDragEnter($event, elem, context.item)\"\r\n (dragleave)=\"onDragLeave($event, elem)\"\r\n (drop)=\"onDrop($event, elem, context.item)\"\r\n (click)=\"onClick.emit(context.item)\">\r\n <ng-container [ngxTemplateOutlet]=\"columnsTemplate\"\r\n [context]=\"context\"></ng-container>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #headerTemplate let-column=\"column\" let-toggle=\"toggle\">\r\n <ng-template #defaultCol>\r\n <span>{{ columnDefs[column].title | translate }}</span>\r\n </ng-template>\r\n <ng-template #emptyCol>\r\n <span>-</span>\r\n </ng-template>\r\n <ng-container *ngIf=\"columnDefs[column]; else emptyCol\">\r\n <a *ngIf=\"columnDefs[column].sort; else defaultCol\"\r\n [ngClass]=\"['sort', orderBy !== column ? '' : (orderDescending ? 'sort-desc' : 'sort-asc')]\"\r\n (click)=\"setSorting(column, toggle)\">\r\n <span>{{ columnDefs[column].title | translate }}</span>\r\n </a>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<div class=\"dynamic-table\">\r\n <div class=\"table-features-row\">\r\n <ng-content select=\"[table-features-before]\"></ng-content>\r\n @if (showFilter) {\r\n <div class=\"table-input-wrap table-search-filter\">\r\n <label *ngIf=\"filterLabel\" [attr.for]=\"tableId\">\r\n {{ filterLabel | translate }}\r\n </label>\r\n <input type=\"text\"\r\n class=\"search-input\"\r\n [attr.id]=\"tableId\"\r\n [attr.data-testid]=\"testId + '-filter-input'\"\r\n [placeholder]=\"placeholder | translate\"\r\n [ngModel]=\"filter\"\r\n (ngModelChange)=\"setFilter($event)\"/>\r\n </div>\r\n }\r\n @if (sortable) {\r\n <dropdown-box componentClass=\"sort-dropdown\" #sortDd>\r\n <ng-container toggle-content\r\n [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: orderBy, toggle: sortDd}\"></ng-container>\r\n <ul>\r\n <ng-container *ngFor=\"let column of cols\">\r\n <li [ngClass]=\"'sort-column sort-' + column\" *ngIf=\"columnDefs[column].sort\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: column}\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </dropdown-box>\r\n }\r\n @if (showItems) {\r\n <div class=\"table-input-wrap table-items-count\">\r\n <label>\r\n {{ 'label.items.before' | translate }}\r\n </label>\r\n <dropdown-box>\r\n <ng-container toggle-content>\r\n {{ itemsPerPage }}\r\n </ng-container>\r\n <ul>\r\n <ng-container *ngFor=\"let count of showItems\">\r\n <li [ngClass]=\"'item-count count-' + count\" (click)=\"setItemsPerPage(count)\">\r\n {{ count }}\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </dropdown-box>\r\n <label>\r\n {{ 'label.items.after' | translate }}\r\n </label>\r\n </div>\r\n }\r\n <ng-content select=\"[table-features-after]\"></ng-content>\r\n </div>\r\n <div class=\"table-content-row\"\r\n #pagination=\"pagination\"\r\n [pagination]=\"loadData\"\r\n [page]=\"page\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n [updateTime]=\"updateTime\">\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\"\r\n [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n <div class=\"table-responsive\">\r\n <ng-template #defaultWrapperTemplate>\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"'header-column column-' + column\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: column}\"></ng-container>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"hasQuery\">\r\n @for (column of cols; track column) {\r\n @let columnDef = columnDefs[column];\r\n <th [ngClass]=\"['column-' + column, 'filter-column', 'filter-column-' + columnDef.filterType]\">\r\n @if (columnDef.filter) {\r\n @switch (columnDef.filterType) {\r\n @case ('enum') {\r\n @let optionPrefix = columnDefs[column].enumPrefix || column;\r\n <ng-template #optionItem let-option=\"option\">\r\n <span [ngClass]=\"`table-enum enum-${optionPrefix} enum-value-${option}`\">\r\n <span>{{ `${optionPrefix}.${option}` | translate }}</span>\r\n </span>\r\n </ng-template>\r\n <dropdown-box componentClass=\"filter-box\"\r\n [ngClass]=\"'filter-box-' + column\"\r\n [closeInside]=\"false\">\r\n <ng-container toggle-content>\r\n <span class=\"toggle-placeholder\" *ngIf=\"!query[column]\">\r\n {{ columnDefs[column].title | translate }}\r\n </span>\r\n <span [ngClass]=\"['option-' + option, column + '-option-' + option, option]\"\r\n *ngFor=\"let option of query[column] | values; let ix = index\">\r\n <ng-container *ngIf=\"ix > 0\">&nbsp;|&nbsp;</ng-container>\r\n <ng-container [ngTemplateOutlet]=\"optionItem\"\r\n [ngTemplateOutletContext]=\"{option: option}\"></ng-container>\r\n </span>\r\n </ng-container>\r\n <ul>\r\n @for (option of columnDefs[column].enum; track option) {\r\n <li (click)=\"setQueryValue(column, option)\">\r\n <a class=\"toggle-link\" [ngClass]=\"'toggle-link-' + column\">\r\n <input type=\"checkbox\" [checked]=\"query[column] | includes: option\">\r\n <ng-container [ngTemplateOutlet]=\"optionItem\"\r\n [ngTemplateOutletContext]=\"{option: option}\"></ng-container>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </dropdown-box>\r\n }\r\n @case ('checkbox') {\r\n <input type=\"checkbox\"\r\n class=\"table-checkbox\"\r\n [attr.data-testid]=\"testId + '-filter-' + column\"\r\n [placeholder]=\"columnDefs[column].title | translate\"\r\n [checked]=\"query[column] === true\"\r\n [indeterminate]=\"query[column] === undefined\"\r\n (click)=\"setQueryValue(column)\"/>\r\n }\r\n @default {\r\n <input class=\"search-input\"\r\n type=\"text\"\r\n [attr.data-testid]=\"testId + '-filter-' + column\"\r\n [placeholder]=\"columnDefs[column].title | translate\"\r\n [ngModel]=\"query[column]\"\r\n (ngModelChange)=\"setQueryValue(column, $event)\"/>\r\n }\r\n }\r\n }\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *paginationItem=\"let context\"\r\n [ngxTemplateOutlet]=\"rowTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"this\"></ng-container>\r\n <tr>\r\n <!-- Just an anchor/helper row for the loading state -->\r\n <td colspan=\"100%\"></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n\r\n <div class=\"table-wrapper\">\r\n <ng-content select=\"[table-top]\"></ng-content>\r\n <ng-container [ngxTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [context]=\"this\"></ng-container>\r\n <ng-content select=\"[table-bottom]\"></ng-content>\r\n </div>\r\n </div>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\"\r\n [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@keyframes table-load-spin{to{rotate:360deg}}.dynamic-table{--table-bg: transparent;--table-stripe-bg: rgba(210, 210, 210, .35);--border-size: 1px;--border-color: #ced4da;--bg-color: #ffffff;--text-color: #151515;--highlight-color: var(--primary-color, #888888);--highlight-text-color: #ffffff;--display-toggle: none;--arrow-size: 6px;--arrow-rotation: 90;--arrow-space: calc(var(--arrow-size) * .5 + 1px);--arrow-color: #c6c6c6}.dynamic-table *{box-sizing:border-box}.dynamic-table div.table-enum,.dynamic-table div.table-checkbox{text-align:center}.dynamic-table .search-input{background:var(--bg-color);color:var(--text-color);border:var(--border-size) solid var(--border-color);padding:var(--element-padding, 6px 12px);border-radius:5px;-webkit-user-select:none;user-select:none;font-weight:400;font-size:var(--table-input-font-size, 15px);line-height:var(--table-input-line-height, 18px);outline:none}.dynamic-table .search-input .toggle-placeholder,.dynamic-table .search-input ::placeholder{color:#495057}.dynamic-table .table-responsive{border:1px solid var(--border-color);overflow:hidden;overflow-x:auto;margin-bottom:1rem}.dynamic-table .table-features-row:not(:empty){display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:20px}.dynamic-table .table-content-row,.dynamic-table .table-content-row tbody{position:relative}.dynamic-table .table-content-row tbody tr:last-child td:first-child{padding:0;border-bottom-width:0}.dynamic-table .table-content-row.loading tbody{height:50px}.dynamic-table .table-content-row.loading tbody tr:last-child td:first-child:before{content:\"\";display:table-row;position:absolute;inset:1px;background-color:#32323240;z-index:1}.dynamic-table .table-content-row.loading tbody tr:last-child td:first-child:after{content:\"\";display:table-row;position:absolute;width:25px;height:25px;border:3px solid rgba(255,255,255,.75);border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:table-load-spin 575ms infinite linear;vertical-align:middle;margin-right:5px;top:50%;left:50%;translate:-50% -50%;z-index:2}.dynamic-table .sort-dropdown{display:none}.dynamic-table .table-input-wrap{display:flex;align-items:center;flex:1;gap:5px}.dynamic-table .table-input-wrap>label{margin:0;font-weight:700}.dynamic-table .table-input-wrap>input{width:300px;max-width:90%}.dynamic-table .table-items-count{flex:1}.dynamic-table .table-wrapper{position:relative}.dynamic-table table.table{border-collapse:collapse;margin:0;width:100%;font-family:inherit;font-size:inherit}.dynamic-table table.table th{text-align:left}.dynamic-table table.table th,.dynamic-table table.table td{text-align:left;padding:6px 12px;border:1px solid var(--border-color);vertical-align:middle;white-space:nowrap;width:var(--cell-width, 25%);min-width:fit-content}.dynamic-table table.table-sm th,.dynamic-table table.table-sm td{font-size:var(--font-size-sm);padding:4px 6px}.dynamic-table table.table thead th{font-weight:500}.dynamic-table table.table thead th .dropdown-box{display:block;width:100%;text-align:left}.dynamic-table table.table thead th .search-input{width:100%;padding:7px 12px}.dynamic-table table.table thead th span{display:inline-block;vertical-align:top}.dynamic-table table.table thead th a{cursor:pointer;text-align:left}.dynamic-table table.table thead th.filter-column{text-align:center}.dynamic-table table.table thead tr:first-child th{border-top-width:0}.dynamic-table table.table tbody tr:last-child td{border-top-width:0}.dynamic-table table.table tbody tr:last-child td,.dynamic-table table.table tbody tr:nth-last-child(2) td{border-bottom-width:0}.dynamic-table table.table thead tr th,.dynamic-table table.table tbody tr td{background-color:var(--table-bg)}.dynamic-table table.table thead tr th:first-child,.dynamic-table table.table tbody tr td:first-child{border-left-width:0}.dynamic-table table.table thead tr th:last-child,.dynamic-table table.table tbody tr td:last-child{border-right-width:0}.dynamic-table table.table tbody tr.active td{background-color:var(--highlight-color);color:var(--highlight-text-color)}.dynamic-table .table-striped>tbody>tr:nth-of-type(odd) td{background-color:var(--table-stripe-bg)}.dynamic-table .table-striped>tbody>tr:nth-of-type(odd).active td{background-color:var(--highlight-color);color:var(--highlight-text-color)}.sort-dropdown .dropdown-box-toggle a.dropdown-box-toggle-link{margin-right:0;padding-right:0}.sort-dropdown .dropdown-box-toggle a.dropdown-box-toggle-link:after{display:none}.sort-dropdown-content-wrapper a.sort,.dynamic-table a.sort{position:relative;display:block;margin-right:calc(var(--arrow-size) * 2);-webkit-user-select:none;user-select:none;padding-right:5px}.sort-dropdown-content-wrapper a.sort:before,.sort-dropdown-content-wrapper a.sort:after,.dynamic-table a.sort:before,.dynamic-table a.sort:after{content:\"\";position:absolute;transition:.2s ease;left:calc(100% + var(--arrow-size));top:calc(50% - var(--arrow-size));border-top:var(--arrow-size) solid transparent;border-bottom:var(--arrow-size) solid transparent;border-left:var(--arrow-size) solid var(--arrow-color);transform:rotate(calc(var(--arrow-rotation) * 1deg)) translate(var(--arrow-space))}.sort-dropdown-content-wrapper a.sort:before,.dynamic-table a.sort:before{--arrow-rotation: -90}.sort-dropdown-content-wrapper a.sort.sort-desc:before,.dynamic-table a.sort.sort-desc:before{--arrow-color: black}.sort-dropdown-content-wrapper a.sort.sort-asc:after,.dynamic-table a.sort.sort-asc:after{--arrow-color: black}.table-enum{--enum-color: #c6c6c6;--enum-radius: 5px}.table-enum span{display:inline-block;padding:2px 5px;background:color-mix(in srgb,var(--enum-color),rgba(255,255,255,.4666666667) 50%);color:color-mix(in srgb,var(--enum-color),#000 70%);border:1px solid var(--enum-color);border-radius:var(--enum-radius);-webkit-user-select:none;user-select:none}input.table-checkbox{appearance:none;cursor:pointer;width:16px;height:16px;border:1px solid black;border-radius:3px;background-color:#fff;position:relative;font-size:11px;line-height:11px;vertical-align:middle}input.table-checkbox:focus{outline:none}input.table-checkbox:focus-visible{outline:2px solid #acacac;outline-offset:0}input.table-checkbox:after{position:absolute;content:\"\\2716\\fe0e\";text-align:center;width:100%;height:100%}input.table-checkbox:checked:after{content:\"\\2714\\fe0e\"}input.table-checkbox:indeterminate:after{content:\"\\2501\"}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "directive", type: PaginationDirective, selector: "[pagination]", inputs: ["pagination", "page", "itemsPerPage", "updateTime", "waitFor"], outputs: ["pageChange", "onRefresh"], exportAs: ["pagination"] }, { kind: "directive", type: PaginationItemDirective, selector: "[paginationItem]" }, { kind: "component", type: DropdownBoxComponent, selector: "dropdown-box", inputs: ["closeInside", "attachTo", "placement", "crossAxis", "alignment", "autoAlignment", "allowedPlacements", "componentClass"] }, { kind: "component", type: DynamicTableCellComponent, selector: "dynamic-table-cell", inputs: ["item", "column", "id", "globalTemplatePrefix", "fallbackTemplate"] }, { kind: "component", type: PaginationMenuComponent, selector: "pagination-menu", inputs: ["maxSize", "urlParam", "directionLinks", "boundaryLinks"] }, { kind: "pipe", type: IncludesPipe, name: "includes" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: ValuesPipe, name: "values" }], encapsulation: i0.ViewEncapsulation.None }); }
9029
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicTableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
9030
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicTableComponent, isStandalone: false, selector: "dynamic-table", inputs: { dataLoader: { classPropertyName: "dataLoader", publicName: "dataLoader", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: false, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: false, isRequired: false, transformFunction: null }, urlParam: { classPropertyName: "urlParam", publicName: "urlParam", isSignal: false, isRequired: false, transformFunction: null }, parallelData: { classPropertyName: "parallelData", publicName: "parallelData", isSignal: false, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: false, isRequired: false, transformFunction: null }, showFilter: { classPropertyName: "showFilter", publicName: "showFilter", isSignal: false, isRequired: false, transformFunction: null }, filterLabel: { classPropertyName: "filterLabel", publicName: "filterLabel", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, showItems: { classPropertyName: "showItems", publicName: "showItems", isSignal: false, isRequired: false, transformFunction: null }, itemsPerPage: { classPropertyName: "itemsPerPage", publicName: "itemsPerPage", isSignal: false, isRequired: false, transformFunction: null }, updateTime: { classPropertyName: "updateTime", publicName: "updateTime", isSignal: false, isRequired: false, transformFunction: null }, filterTime: { classPropertyName: "filterTime", publicName: "filterTime", isSignal: false, isRequired: false, transformFunction: null }, maxPages: { classPropertyName: "maxPages", publicName: "maxPages", isSignal: false, isRequired: false, transformFunction: null }, directionLinks: { classPropertyName: "directionLinks", publicName: "directionLinks", isSignal: false, isRequired: false, transformFunction: null }, boundaryLinks: { classPropertyName: "boundaryLinks", publicName: "boundaryLinks", isSignal: false, isRequired: false, transformFunction: null }, orderBy: { classPropertyName: "orderBy", publicName: "orderBy", isSignal: false, isRequired: false, transformFunction: null }, orderDescending: { classPropertyName: "orderDescending", publicName: "orderDescending", isSignal: false, isRequired: false, transformFunction: null }, testId: { classPropertyName: "testId", publicName: "testId", isSignal: false, isRequired: false, transformFunction: null }, titlePrefix: { classPropertyName: "titlePrefix", publicName: "titlePrefix", isSignal: false, isRequired: false, transformFunction: null }, dragStartFn: { classPropertyName: "dragStartFn", publicName: "dragStartFn", isSignal: false, isRequired: false, transformFunction: null }, dragEnterFn: { classPropertyName: "dragEnterFn", publicName: "dragEnterFn", isSignal: false, isRequired: false, transformFunction: null }, dropFn: { classPropertyName: "dropFn", publicName: "dropFn", isSignal: false, isRequired: false, transformFunction: null }, globalTemplatePrefix: { classPropertyName: "globalTemplatePrefix", publicName: "globalTemplatePrefix", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, queries: [{ propertyName: "fallbackTemplate", first: true, predicate: ["fallbackTemplate"], descendants: true, isSignal: true }, { propertyName: "templateDirectives", predicate: DynamicTableTemplateDirective, isSignal: true }, { propertyName: "rowTemplate", first: true, predicate: ["rowTemplate"], descendants: true, static: true }, { propertyName: "wrapperTemplate", first: true, predicate: ["wrapperTemplate"], descendants: true, static: true }], viewQueries: [{ propertyName: "columnsTemplate", first: true, predicate: ["columnsTemplate"], descendants: true, static: true }, { propertyName: "defaultRowTemplate", first: true, predicate: ["defaultRowTemplate"], descendants: true, static: true }, { propertyName: "defaultWrapperTemplate", first: true, predicate: ["defaultWrapperTemplate"], descendants: true, static: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@let columnTemplates = templates();\r\n@let prefix = globalTemplatePrefix();\r\n@let fallback = fallbackTemplate();\r\n\r\n<ng-template #defaultTemplate let-item=\"item\" let-column=\"column\" let-columnDef=\"columnDef\">\r\n <dynamic-table-cell [item]=\"item\"\r\n [column]=\"columnDef\"\r\n [id]=\"column\"\r\n [globalTemplatePrefix]=\"prefix\"\r\n [fallbackTemplate]=\"fallback\"></dynamic-table-cell>\r\n</ng-template>\r\n\r\n<ng-template #columnTemplate let-context let-column=\"column\" let-template=\"template\">\r\n @if (!template?.pure) {\r\n <td [ngClass]=\"'column-' + column\"\r\n [attr.data-testid]=\"testId + '-' + column + '-' + context.rowIndex\">\r\n <ng-container [ngxTemplateOutlet]=\"!template ? defaultTemplate : template.ref\"\r\n [context]=\"context\"></ng-container>\r\n </td>\r\n } @else {\r\n <ng-container [ngxTemplateOutlet]=\"template.ref\" [context]=\"context\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #columnsTemplate let-context>\r\n <ng-container *ngFor=\"let column of cols\"\r\n [ngxTemplateOutlet]=\"columnTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"{\r\n template: columnTemplates[column],\r\n column: column,\r\n columnDef: columnDefs[column]\r\n }\"></ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultRowTemplate let-context>\r\n <tr #elem\r\n [draggable]=\"!!dragStartFn\"\r\n [ngClass]=\"{active: selected === context.item}\"\r\n (dragstart)=\"onDragStart($event, elem, context.item)\"\r\n (dragenter)=\"onDragEnter($event, elem, context.item)\"\r\n (dragleave)=\"onDragLeave($event, elem)\"\r\n (drop)=\"onDrop($event, elem, context.item)\"\r\n (click)=\"onClick.emit(context.item)\">\r\n <ng-container [ngxTemplateOutlet]=\"columnsTemplate\"\r\n [context]=\"context\"></ng-container>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #headerTemplate let-column=\"column\" let-toggle=\"toggle\">\r\n <ng-template #defaultCol>\r\n <span>{{ columnDefs[column].title | translate }}</span>\r\n </ng-template>\r\n <ng-template #emptyCol>\r\n <span>-</span>\r\n </ng-template>\r\n <ng-container *ngIf=\"columnDefs[column]; else emptyCol\">\r\n <a *ngIf=\"columnDefs[column].sort; else defaultCol\"\r\n [ngClass]=\"['sort', orderBy !== column ? '' : (orderDescending ? 'sort-desc' : 'sort-asc')]\"\r\n (click)=\"setSorting(column, toggle)\">\r\n <span>{{ columnDefs[column].title | translate }}</span>\r\n </a>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<div class=\"dynamic-table\">\r\n <div class=\"table-features-row\">\r\n <ng-content select=\"[table-features-before]\"></ng-content>\r\n @if (showFilter) {\r\n <div class=\"table-input-wrap table-search-filter\">\r\n <label *ngIf=\"filterLabel\" [attr.for]=\"tableId\">\r\n {{ filterLabel | translate }}\r\n </label>\r\n <input type=\"text\"\r\n class=\"search-input\"\r\n [attr.id]=\"tableId\"\r\n [attr.data-testid]=\"testId + '-filter-input'\"\r\n [placeholder]=\"placeholder | translate\"\r\n [ngModel]=\"filter\"\r\n (ngModelChange)=\"setFilter($event)\"/>\r\n </div>\r\n }\r\n @if (sortable) {\r\n <dropdown-box componentClass=\"sort-dropdown\" #sortDd>\r\n <ng-container toggle-content\r\n [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: orderBy, toggle: sortDd}\"></ng-container>\r\n <ul>\r\n <ng-container *ngFor=\"let column of cols\">\r\n <li [ngClass]=\"'sort-column sort-' + column\" *ngIf=\"columnDefs[column].sort\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: column}\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </dropdown-box>\r\n }\r\n @if (showItems) {\r\n <div class=\"table-input-wrap table-items-count\">\r\n <label>\r\n {{ 'label.items.before' | translate }}\r\n </label>\r\n <dropdown-box>\r\n <ng-container toggle-content>\r\n {{ itemsPerPage }}\r\n </ng-container>\r\n <ul>\r\n <ng-container *ngFor=\"let count of showItems\">\r\n <li [ngClass]=\"'item-count count-' + count\" (click)=\"setItemsPerPage(count)\">\r\n {{ count }}\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </dropdown-box>\r\n <label>\r\n {{ 'label.items.after' | translate }}\r\n </label>\r\n </div>\r\n }\r\n <ng-content select=\"[table-features-after]\"></ng-content>\r\n </div>\r\n <div class=\"table-content-row\"\r\n #pagination=\"pagination\"\r\n [pagination]=\"loadData\"\r\n [page]=\"page\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n [updateTime]=\"updateTime\">\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\"\r\n [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n <div class=\"table-responsive\">\r\n <ng-template #defaultWrapperTemplate>\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"'header-column column-' + column\">\r\n <ng-container [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{column: column}\"></ng-container>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"hasQuery\">\r\n @for (column of cols; track column) {\r\n @let columnDef = columnDefs[column];\r\n <th [ngClass]=\"['column-' + column, 'filter-column', 'filter-column-' + columnDef.filterType]\">\r\n @if (columnDef.filter) {\r\n @switch (columnDef.filterType) {\r\n @case ('enum') {\r\n @let optionPrefix = columnDefs[column].enumPrefix || column;\r\n <ng-template #optionItem let-option=\"option\">\r\n <span [ngClass]=\"`table-enum enum-${optionPrefix} enum-value-${option}`\">\r\n <span>{{ `${optionPrefix}.${option}` | translate }}</span>\r\n </span>\r\n </ng-template>\r\n <dropdown-box componentClass=\"filter-box\"\r\n [ngClass]=\"'filter-box-' + column\"\r\n [closeInside]=\"false\">\r\n <ng-container toggle-content>\r\n <span class=\"toggle-placeholder\" *ngIf=\"!query[column]\">\r\n {{ columnDefs[column].title | translate }}\r\n </span>\r\n <span [ngClass]=\"['option-' + option, column + '-option-' + option, option]\"\r\n *ngFor=\"let option of query[column] | values; let ix = index\">\r\n <ng-container *ngIf=\"ix > 0\">&nbsp;|&nbsp;</ng-container>\r\n <ng-container [ngTemplateOutlet]=\"optionItem\"\r\n [ngTemplateOutletContext]=\"{option: option}\"></ng-container>\r\n </span>\r\n </ng-container>\r\n <ul>\r\n @for (option of columnDefs[column].enum; track option) {\r\n <li (click)=\"setQueryValue(column, option)\">\r\n <a class=\"toggle-link\" [ngClass]=\"'toggle-link-' + column\">\r\n <input type=\"checkbox\" [checked]=\"query[column] | includes: option\">\r\n <ng-container [ngTemplateOutlet]=\"optionItem\"\r\n [ngTemplateOutletContext]=\"{option: option}\"></ng-container>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </dropdown-box>\r\n }\r\n @case ('checkbox') {\r\n <input type=\"checkbox\"\r\n class=\"table-checkbox\"\r\n [attr.data-testid]=\"testId + '-filter-' + column\"\r\n [placeholder]=\"columnDefs[column].title | translate\"\r\n [checked]=\"query[column] === true\"\r\n [indeterminate]=\"query[column] === undefined\"\r\n (click)=\"setQueryValue(column)\"/>\r\n }\r\n @default {\r\n <input class=\"search-input\"\r\n type=\"text\"\r\n [attr.data-testid]=\"testId + '-filter-' + column\"\r\n [placeholder]=\"columnDefs[column].title | translate\"\r\n [ngModel]=\"query[column]\"\r\n (ngModelChange)=\"setQueryValue(column, $event)\"/>\r\n }\r\n }\r\n }\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *paginationItem=\"let context\"\r\n [ngxTemplateOutlet]=\"rowTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"this\"></ng-container>\r\n <tr>\r\n <!-- Just an anchor/helper row for the loading state -->\r\n <td colspan=\"100%\"></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n\r\n <div class=\"table-wrapper\">\r\n <ng-content select=\"[table-top]\"></ng-content>\r\n <ng-container [ngxTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [context]=\"this\"></ng-container>\r\n <ng-content select=\"[table-bottom]\"></ng-content>\r\n </div>\r\n </div>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\"\r\n [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@keyframes table-load-spin{to{rotate:360deg}}.dynamic-table{--table-bg: transparent;--table-stripe-bg: rgba(210, 210, 210, .35);--border-size: 1px;--border-color: #ced4da;--bg-color: #ffffff;--text-color: #151515;--highlight-color: var(--primary-color, #888888);--highlight-text-color: #ffffff;--display-toggle: none;--arrow-size: 6px;--arrow-rotation: 90;--arrow-space: calc(var(--arrow-size) * .5 + 1px);--arrow-color: #c6c6c6}.dynamic-table *{box-sizing:border-box}.dynamic-table div.table-enum,.dynamic-table div.table-checkbox{text-align:center}.dynamic-table .search-input{background:var(--bg-color);color:var(--text-color);border:var(--border-size) solid var(--border-color);padding:var(--element-padding, 6px 12px);border-radius:5px;-webkit-user-select:none;user-select:none;font-weight:400;font-size:var(--table-input-font-size, 15px);line-height:var(--table-input-line-height, 18px);outline:none}.dynamic-table .search-input .toggle-placeholder,.dynamic-table .search-input ::placeholder{color:#495057}.dynamic-table .table-responsive{border:1px solid var(--border-color);overflow:hidden;overflow-x:auto;margin-bottom:1rem}.dynamic-table .table-features-row:not(:empty){display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:20px}.dynamic-table .table-content-row,.dynamic-table .table-content-row tbody{position:relative}.dynamic-table .table-content-row tbody tr:last-child td:first-child{padding:0;border-bottom-width:0}.dynamic-table .table-content-row.loading tbody{height:50px}.dynamic-table .table-content-row.loading tbody tr:last-child td:first-child:before{content:\"\";display:table-row;position:absolute;inset:1px;background-color:#32323240;z-index:1}.dynamic-table .table-content-row.loading tbody tr:last-child td:first-child:after{content:\"\";display:table-row;position:absolute;width:25px;height:25px;border:3px solid rgba(255,255,255,.75);border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:table-load-spin 575ms infinite linear;vertical-align:middle;margin-right:5px;top:50%;left:50%;translate:-50% -50%;z-index:2}.dynamic-table .sort-dropdown{display:none}.dynamic-table .table-input-wrap{display:flex;align-items:center;flex:1;gap:5px}.dynamic-table .table-input-wrap>label{margin:0;font-weight:700}.dynamic-table .table-input-wrap>input{width:300px;max-width:90%}.dynamic-table .table-items-count{flex:1}.dynamic-table .table-wrapper{position:relative}.dynamic-table table.table{border-collapse:collapse;margin:0;width:100%;font-family:inherit;font-size:inherit}.dynamic-table table.table th{text-align:left}.dynamic-table table.table th,.dynamic-table table.table td{text-align:left;padding:6px 12px;border:1px solid var(--border-color);vertical-align:middle;white-space:nowrap;width:var(--cell-width, 25%);min-width:fit-content}.dynamic-table table.table-sm th,.dynamic-table table.table-sm td{font-size:var(--font-size-sm);padding:4px 6px}.dynamic-table table.table thead th{font-weight:500}.dynamic-table table.table thead th .dropdown-box{display:block;width:100%;text-align:left}.dynamic-table table.table thead th .search-input{width:100%;padding:7px 12px}.dynamic-table table.table thead th span{display:inline-block;vertical-align:top}.dynamic-table table.table thead th a{cursor:pointer;text-align:left}.dynamic-table table.table thead th.filter-column{text-align:center}.dynamic-table table.table thead tr:first-child th{border-top-width:0}.dynamic-table table.table tbody tr:last-child td{border-top-width:0}.dynamic-table table.table tbody tr:last-child td,.dynamic-table table.table tbody tr:nth-last-child(2) td{border-bottom-width:0}.dynamic-table table.table thead tr th,.dynamic-table table.table tbody tr td{background-color:var(--table-bg)}.dynamic-table table.table thead tr th:first-child,.dynamic-table table.table tbody tr td:first-child{border-left-width:0}.dynamic-table table.table thead tr th:last-child,.dynamic-table table.table tbody tr td:last-child{border-right-width:0}.dynamic-table table.table tbody tr.active td{background-color:var(--highlight-color);color:var(--highlight-text-color)}.dynamic-table .table-striped>tbody>tr:nth-of-type(odd) td{background-color:var(--table-stripe-bg)}.dynamic-table .table-striped>tbody>tr:nth-of-type(odd).active td{background-color:var(--highlight-color);color:var(--highlight-text-color)}.sort-dropdown .dropdown-box-toggle a.dropdown-box-toggle-link{margin-right:0;padding-right:0}.sort-dropdown .dropdown-box-toggle a.dropdown-box-toggle-link:after{display:none}.sort-dropdown-content-wrapper a.sort,.dynamic-table a.sort{position:relative;display:block;margin-right:calc(var(--arrow-size) * 2);-webkit-user-select:none;user-select:none;padding-right:5px}.sort-dropdown-content-wrapper a.sort:before,.sort-dropdown-content-wrapper a.sort:after,.dynamic-table a.sort:before,.dynamic-table a.sort:after{content:\"\";position:absolute;transition:.2s ease;left:calc(100% + var(--arrow-size));top:calc(50% - var(--arrow-size));border-top:var(--arrow-size) solid transparent;border-bottom:var(--arrow-size) solid transparent;border-left:var(--arrow-size) solid var(--arrow-color);transform:rotate(calc(var(--arrow-rotation) * 1deg)) translate(var(--arrow-space))}.sort-dropdown-content-wrapper a.sort:before,.dynamic-table a.sort:before{--arrow-rotation: -90}.sort-dropdown-content-wrapper a.sort.sort-desc:before,.dynamic-table a.sort.sort-desc:before{--arrow-color: black}.sort-dropdown-content-wrapper a.sort.sort-asc:after,.dynamic-table a.sort.sort-asc:after{--arrow-color: black}.table-enum{--enum-color: #c6c6c6;--enum-radius: 5px}.table-enum span{display:inline-block;padding:2px 5px;background:color-mix(in srgb,var(--enum-color),rgba(255,255,255,.4666666667) 50%);color:color-mix(in srgb,var(--enum-color),#000 70%);border:1px solid var(--enum-color);border-radius:var(--enum-radius);-webkit-user-select:none;user-select:none}input.table-checkbox{appearance:none;cursor:pointer;width:16px;height:16px;border:1px solid black;border-radius:3px;background-color:#fff;position:relative;font-size:11px;line-height:11px;vertical-align:middle}input.table-checkbox:focus{outline:none}input.table-checkbox:focus-visible{outline:2px solid #acacac;outline-offset:0}input.table-checkbox:after{position:absolute;content:\"\\2716\\fe0e\";text-align:center;width:100%;height:100%}input.table-checkbox:checked:after{content:\"\\2714\\fe0e\"}input.table-checkbox:indeterminate:after{content:\"\\2501\"}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "directive", type: PaginationDirective, selector: "[pagination]", inputs: ["pagination", "page", "itemsPerPage", "updateTime", "waitFor"], outputs: ["pageChange", "onRefresh"], exportAs: ["pagination"] }, { kind: "directive", type: PaginationItemDirective, selector: "[paginationItem]" }, { kind: "component", type: DropdownBoxComponent, selector: "dropdown-box", inputs: ["closeInside", "attachTo", "placement", "crossAxis", "alignment", "autoAlignment", "allowedPlacements", "componentClass"] }, { kind: "component", type: DynamicTableCellComponent, selector: "dynamic-table-cell", inputs: ["item", "column", "id", "globalTemplatePrefix", "fallbackTemplate"] }, { kind: "component", type: PaginationMenuComponent, selector: "pagination-menu", inputs: ["maxSize", "urlParam", "directionLinks", "boundaryLinks"] }, { kind: "pipe", type: IncludesPipe, name: "includes" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: ValuesPipe, name: "values" }], encapsulation: i0.ViewEncapsulation.None });
8358
9031
  }
8359
9032
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicTableComponent, decorators: [{
8360
9033
  type: Component,
@@ -8428,8 +9101,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
8428
9101
  }] } });
8429
9102
 
8430
9103
  class FakeModuleComponent {
8431
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FakeModuleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8432
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: FakeModuleComponent, isStandalone: false, selector: "fake-module-component", ngImport: i0, template: "", isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
9104
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FakeModuleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9105
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: FakeModuleComponent, isStandalone: false, selector: "fake-module-component", ngImport: i0, template: "", isInline: true, encapsulation: i0.ViewEncapsulation.None });
8433
9106
  }
8434
9107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FakeModuleComponent, decorators: [{
8435
9108
  type: Component,
@@ -8442,11 +9115,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
8442
9115
  }] });
8443
9116
 
8444
9117
  class IconDefaultComponent {
8445
- constructor() {
8446
- this.name = "trash";
8447
- }
8448
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8449
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: IconDefaultComponent, isStandalone: false, selector: "icon-default", inputs: { name: "name" }, ngImport: i0, template: "<i class=\"fa-solid\" [ngClass]=\"'fa-' + name\"></i>\r\n", styles: [".fa-solid{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
9118
+ name = "trash";
9119
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9120
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: IconDefaultComponent, isStandalone: false, selector: "icon-default", inputs: { name: "name" }, ngImport: i0, template: "<i class=\"fa-solid\" [ngClass]=\"'fa-' + name\"></i>\r\n", styles: [".fa-solid{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
8450
9121
  }
8451
9122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: IconDefaultComponent, decorators: [{
8452
9123
  type: Component,
@@ -8456,6 +9127,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
8456
9127
  }] } });
8457
9128
 
8458
9129
  class InteractiveItemComponent {
9130
+ pos;
9131
+ rot;
9132
+ mFrame;
9133
+ mShapes;
8459
9134
  get id() {
8460
9135
  return null;
8461
9136
  }
@@ -8544,6 +9219,16 @@ class InteractiveItemComponent {
8544
9219
  }
8545
9220
  return "pointer";
8546
9221
  }
9222
+ direction;
9223
+ disabled;
9224
+ active;
9225
+ canvas;
9226
+ index;
9227
+ canvasParams;
9228
+ otherItems;
9229
+ hitShapes;
9230
+ validPos;
9231
+ validRot;
8547
9232
  constructor() {
8548
9233
  this.active = false;
8549
9234
  this.index = -1;
@@ -8665,8 +9350,8 @@ class InteractiveItemComponent {
8665
9350
  calcShape(x, y) {
8666
9351
  return new Point(x, y);
8667
9352
  }
8668
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8669
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: InteractiveItemComponent, isStandalone: false, selector: "__interactive-item__", inputs: { x: "x", y: "y", position: "position", rotation: "rotation", direction: "direction", disabled: "disabled" }, usesOnChanges: true, ngImport: i0, template: "", isInline: true }); }
9353
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9354
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: InteractiveItemComponent, isStandalone: false, selector: "__interactive-item__", inputs: { x: "x", y: "y", position: "position", rotation: "rotation", direction: "direction", disabled: "disabled" }, usesOnChanges: true, ngImport: i0, template: "", isInline: true });
8670
9355
  }
8671
9356
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveItemComponent, decorators: [{
8672
9357
  type: Component,
@@ -8691,6 +9376,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
8691
9376
 
8692
9377
  const emptyDash = [];
8693
9378
  class InteractiveCanvasComponent {
9379
+ /**
9380
+ * Injectable options
9381
+ * @private
9382
+ */
9383
+ options = injectOptions({
9384
+ infinite: false,
9385
+ resizeMode: "fit",
9386
+ panOffset: 0
9387
+ });
9388
+ renderer = inject(Renderer2);
9389
+ universal = inject(UniversalService);
9390
+ /**
9391
+ * Is the canvas infinitely scrollable?
9392
+ */
9393
+ infinite = input(this.options.infinite);
9394
+ resizeMode = input(this.options.resizeMode);
9395
+ horizontal = input(false);
9396
+ /**
9397
+ * Real life-size width of the canvas
9398
+ */
9399
+ width = input(100);
9400
+ /**
9401
+ * Real life-size height of the canvas
9402
+ */
9403
+ height = input(100);
9404
+ /**
9405
+ * Canvas params
9406
+ */
9407
+ params = input({});
9408
+ /**
9409
+ * Model signal for selected index
9410
+ */
9411
+ selectedIndex = model(0);
9412
+ /**
9413
+ * Relative offset of the panning. It is based on the rendered canvas height
9414
+ */
9415
+ panOffset = input(this.options.panOffset);
9416
+ renderCtx = input({});
9417
+ beforeItems = input([]);
9418
+ afterItems = input([]);
9419
+ onRotate = output();
9420
+ onItemPan = output();
9421
+ onItemPanned = output();
9422
+ onPan = output();
9423
+ onPanned = output();
9424
+ itemList = contentChildren(InteractiveItemComponent);
8694
9425
  get isInfinite() {
8695
9426
  return this.infinite();
8696
9427
  }
@@ -8725,53 +9456,30 @@ class InteractiveCanvasComponent {
8725
9456
  set hoveredItem(item) {
8726
9457
  this.hoveredIndex = !item ? -1 : this.items.indexOf(item);
8727
9458
  }
9459
+ xRange;
9460
+ yRange;
9461
+ ratio;
9462
+ styles;
9463
+ ctx;
9464
+ canvasWidth;
9465
+ canvasHeight;
9466
+ fullHeight;
9467
+ viewRatio;
9468
+ rotation;
9469
+ basePan;
9470
+ cycles;
9471
+ excludedAreas;
9472
+ tempCanvas;
9473
+ shouldDraw;
9474
+ hoveredIndex;
9475
+ containerElem;
9476
+ canvasElem;
9477
+ touched;
9478
+ panStartRotation;
9479
+ panStartPos;
9480
+ lockedIndex;
9481
+ oldLength;
8728
9482
  constructor() {
8729
- /**
8730
- * Injectable options
8731
- * @private
8732
- */
8733
- this.options = injectOptions({
8734
- infinite: false,
8735
- resizeMode: "fit",
8736
- panOffset: 0
8737
- });
8738
- this.renderer = inject(Renderer2);
8739
- this.universal = inject(UniversalService);
8740
- /**
8741
- * Is the canvas infinitely scrollable?
8742
- */
8743
- this.infinite = input(this.options.infinite);
8744
- this.resizeMode = input(this.options.resizeMode);
8745
- this.horizontal = input(false);
8746
- /**
8747
- * Real life-size width of the canvas
8748
- */
8749
- this.width = input(100);
8750
- /**
8751
- * Real life-size height of the canvas
8752
- */
8753
- this.height = input(100);
8754
- /**
8755
- * Canvas params
8756
- */
8757
- this.params = input({});
8758
- /**
8759
- * Model signal for selected index
8760
- */
8761
- this.selectedIndex = model(0);
8762
- /**
8763
- * Relative offset of the panning. It is based on the rendered canvas height
8764
- */
8765
- this.panOffset = input(this.options.panOffset);
8766
- this.renderCtx = input({});
8767
- this.beforeItems = input([]);
8768
- this.afterItems = input([]);
8769
- this.onRotate = output();
8770
- this.onItemPan = output();
8771
- this.onItemPanned = output();
8772
- this.onPan = output();
8773
- this.onPanned = output();
8774
- this.itemList = contentChildren(InteractiveItemComponent);
8775
9483
  this.tempCanvas = this.universal.isServer ? null : document.createElement("canvas");
8776
9484
  this.shouldDraw = !this.universal.isServer;
8777
9485
  this.hoveredIndex = null;
@@ -9071,8 +9779,8 @@ class InteractiveCanvasComponent {
9071
9779
  }
9072
9780
  ctx.restore();
9073
9781
  }
9074
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveCanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9075
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.22", type: InteractiveCanvasComponent, isStandalone: false, selector: "interactive-canvas", inputs: { infinite: { classPropertyName: "infinite", publicName: "infinite", isSignal: true, isRequired: false, transformFunction: null }, resizeMode: { classPropertyName: "resizeMode", publicName: "resizeMode", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null }, panOffset: { classPropertyName: "panOffset", publicName: "panOffset", isSignal: true, isRequired: false, transformFunction: null }, renderCtx: { classPropertyName: "renderCtx", publicName: "renderCtx", isSignal: true, isRequired: false, transformFunction: null }, beforeItems: { classPropertyName: "beforeItems", publicName: "beforeItems", isSignal: true, isRequired: false, transformFunction: null }, afterItems: { classPropertyName: "afterItems", publicName: "afterItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIndex: "selectedIndexChange", onRotate: "onRotate", onItemPan: "onItemPan", onItemPanned: "onItemPanned", onPan: "onPan", onPanned: "onPanned" }, host: { listeners: { "window:touchend": "onTouchEnd()", "window:mouseup": "onMouseUp()" } }, queries: [{ propertyName: "itemList", predicate: InteractiveItemComponent, isSignal: true }], viewQueries: [{ propertyName: "containerElem", first: true, predicate: ["containerElem"], descendants: true }, { propertyName: "canvasElem", first: true, predicate: ["canvasElem"], descendants: true }], ngImport: i0, template: "<div #containerElem\r\n [ngClass]=\"['interactive-canvas-container', horizontal() ? 'horizontal' : 'vertical']\"\r\n (resize)=\"resize()\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mousemove)=\"onMouseMove($event)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n (panend)=\"onPanEnd()\"\r\n (panmove)=\"onPanMove($event)\"\r\n (panstart)=\"onPanStart()\">\r\n <canvas #canvasElem class=\"interactive-canvas-element\"></canvas>\r\n</div>\r\n", styles: [".interactive-canvas-container{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.interactive-canvas-container .interactive-canvas-element{position:absolute;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
9782
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveCanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9783
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.22", type: InteractiveCanvasComponent, isStandalone: false, selector: "interactive-canvas", inputs: { infinite: { classPropertyName: "infinite", publicName: "infinite", isSignal: true, isRequired: false, transformFunction: null }, resizeMode: { classPropertyName: "resizeMode", publicName: "resizeMode", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null }, panOffset: { classPropertyName: "panOffset", publicName: "panOffset", isSignal: true, isRequired: false, transformFunction: null }, renderCtx: { classPropertyName: "renderCtx", publicName: "renderCtx", isSignal: true, isRequired: false, transformFunction: null }, beforeItems: { classPropertyName: "beforeItems", publicName: "beforeItems", isSignal: true, isRequired: false, transformFunction: null }, afterItems: { classPropertyName: "afterItems", publicName: "afterItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIndex: "selectedIndexChange", onRotate: "onRotate", onItemPan: "onItemPan", onItemPanned: "onItemPanned", onPan: "onPan", onPanned: "onPanned" }, host: { listeners: { "window:touchend": "onTouchEnd()", "window:mouseup": "onMouseUp()" } }, queries: [{ propertyName: "itemList", predicate: InteractiveItemComponent, isSignal: true }], viewQueries: [{ propertyName: "containerElem", first: true, predicate: ["containerElem"], descendants: true }, { propertyName: "canvasElem", first: true, predicate: ["canvasElem"], descendants: true }], ngImport: i0, template: "<div #containerElem\r\n [ngClass]=\"['interactive-canvas-container', horizontal() ? 'horizontal' : 'vertical']\"\r\n (resize)=\"resize()\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mousemove)=\"onMouseMove($event)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n (panend)=\"onPanEnd()\"\r\n (panmove)=\"onPanMove($event)\"\r\n (panstart)=\"onPanStart()\">\r\n <canvas #canvasElem class=\"interactive-canvas-element\"></canvas>\r\n</div>\r\n", styles: [".interactive-canvas-container{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.interactive-canvas-container .interactive-canvas-element{position:absolute;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
9076
9784
  }
9077
9785
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveCanvasComponent, decorators: [{
9078
9786
  type: Component,
@@ -9092,9 +9800,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
9092
9800
  }] } });
9093
9801
 
9094
9802
  class InteractiveCircleComponent extends InteractiveItemComponent {
9803
+ radius = input(10);
9095
9804
  constructor() {
9096
9805
  super();
9097
- this.radius = input(10);
9098
9806
  effect(() => {
9099
9807
  const radius = this.radius();
9100
9808
  this.mFrame = new Rect(0, 0, radius * 2, radius * 2);
@@ -9104,10 +9812,10 @@ class InteractiveCircleComponent extends InteractiveItemComponent {
9104
9812
  const radius = untracked(() => this.radius());
9105
9813
  return new Circle(x, y, radius * this.canvas.ratio);
9106
9814
  }
9107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9108
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.22", type: InteractiveCircleComponent, isStandalone: false, selector: "interactive-circle", inputs: { radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
9815
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9816
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.22", type: InteractiveCircleComponent, isStandalone: false, selector: "interactive-circle", inputs: { radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
9109
9817
  { provide: InteractiveItemComponent, useExisting: InteractiveCircleComponent },
9110
- ], usesInheritance: true, ngImport: i0, template: "", isInline: true }); }
9818
+ ], usesInheritance: true, ngImport: i0, template: "", isInline: true });
9111
9819
  }
9112
9820
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveCircleComponent, decorators: [{
9113
9821
  type: Component,
@@ -9122,10 +9830,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
9122
9830
  }], ctorParameters: () => [] });
9123
9831
 
9124
9832
  class InteractiveRectComponent extends InteractiveItemComponent {
9833
+ width = input(10);
9834
+ height = input(10);
9125
9835
  constructor() {
9126
9836
  super();
9127
- this.width = input(10);
9128
- this.height = input(10);
9129
9837
  effect(() => {
9130
9838
  this.mFrame = new Rect(0, 0, this.width(), this.height());
9131
9839
  });
@@ -9136,10 +9844,10 @@ class InteractiveRectComponent extends InteractiveItemComponent {
9136
9844
  const height = untracked(() => this.height());
9137
9845
  return new Rect(x, y, width * ratio, height * ratio, this.rotation);
9138
9846
  }
9139
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveRectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9140
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.22", type: InteractiveRectComponent, isStandalone: false, selector: "interactive-rect", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
9847
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveRectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9848
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.22", type: InteractiveRectComponent, isStandalone: false, selector: "interactive-rect", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
9141
9849
  { provide: InteractiveItemComponent, useExisting: InteractiveRectComponent },
9142
- ], usesInheritance: true, ngImport: i0, template: "", isInline: true }); }
9850
+ ], usesInheritance: true, ngImport: i0, template: "", isInline: true });
9143
9851
  }
9144
9852
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: InteractiveRectComponent, decorators: [{
9145
9853
  type: Component,
@@ -9154,58 +9862,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
9154
9862
  }], ctorParameters: () => [] });
9155
9863
 
9156
9864
  class TabsComponent {
9157
- constructor() {
9158
- this.router = inject(Router);
9159
- this.value = model();
9160
- this.options = input([]);
9161
- this.type = input("primary");
9162
- this.size = input("normal");
9163
- this.testId = input("tabs");
9164
- this.tabsClass = input("basic-tabs");
9165
- this.tabItems = contentChildren(TabsItemDirective);
9166
- this.selectedChange = output();
9167
- this.template = signal(null);
9168
- this.tabs = computed(() => {
9169
- const options = (this.options() || [])
9170
- .filter(option => ObjectUtils.isStringWithValue(option?.label));
9171
- const current = this.value();
9172
- this.tabItems().forEach(item => {
9173
- const value = item.value();
9174
- switchClass(item.element?.nativeElement, "hidden-tab", current !== value);
9175
- if (options.some(o => o.value === value))
9176
- return;
9177
- const label = item.label();
9178
- if (!label)
9179
- return;
9180
- options.push({
9181
- value,
9182
- label,
9183
- classes: item.classes(),
9184
- tooltip: item.tooltip(),
9185
- icon: item.icon(),
9186
- disabled: item.disabled(),
9187
- path: item.path(),
9188
- template: item.template
9189
- });
9190
- });
9191
- options.forEach(o => {
9192
- const active = current === o.value;
9193
- const classes = (Array.isArray(o.classes) ? o.classes : [o.classes || ""]).filter(c => !!c);
9194
- classes.push(active ? "active" : "inactive");
9195
- o.active = active;
9196
- o.className = classes.join(" ");
9865
+ router = inject(Router);
9866
+ value = model();
9867
+ options = input([]);
9868
+ type = input("primary");
9869
+ size = input("normal");
9870
+ testId = input("tabs");
9871
+ tabsClass = input("basic-tabs");
9872
+ tabItems = contentChildren(TabsItemDirective);
9873
+ selectedChange = output();
9874
+ template = signal(null);
9875
+ tabs = computed(() => {
9876
+ const options = (this.options() || [])
9877
+ .filter(option => ObjectUtils.isStringWithValue(option?.label));
9878
+ const current = this.value();
9879
+ this.tabItems().forEach(item => {
9880
+ const value = item.value();
9881
+ switchClass(item.element?.nativeElement, "hidden-tab", current !== value);
9882
+ if (options.some(o => o.value === value))
9883
+ return;
9884
+ const label = item.label();
9885
+ if (!label)
9886
+ return;
9887
+ options.push({
9888
+ value,
9889
+ label,
9890
+ classes: item.classes(),
9891
+ tooltip: item.tooltip(),
9892
+ icon: item.icon(),
9893
+ disabled: item.disabled(),
9894
+ path: item.path(),
9895
+ template: item.template
9197
9896
  });
9198
- return options;
9199
9897
  });
9200
- this.select = async (option) => {
9201
- if (option.path) {
9202
- await this.router.navigateByUrl(option.path);
9203
- return null;
9204
- }
9205
- this.value.set(option.value);
9206
- this.selectedChange.emit(option);
9898
+ options.forEach(o => {
9899
+ const active = current === o.value;
9900
+ const classes = (Array.isArray(o.classes) ? o.classes : [o.classes || ""]).filter(c => !!c);
9901
+ classes.push(active ? "active" : "inactive");
9902
+ o.active = active;
9903
+ o.className = classes.join(" ");
9904
+ });
9905
+ return options;
9906
+ });
9907
+ select = async (option) => {
9908
+ if (option.path) {
9909
+ await this.router.navigateByUrl(option.path);
9207
9910
  return null;
9208
- };
9911
+ }
9912
+ this.value.set(option.value);
9913
+ this.selectedChange.emit(option);
9914
+ return null;
9915
+ };
9916
+ constructor() {
9209
9917
  effect(() => {
9210
9918
  const tabOptions = this.tabs();
9211
9919
  const selectedOption = tabOptions.find(o => o.active);
@@ -9218,8 +9926,8 @@ class TabsComponent {
9218
9926
  }
9219
9927
  });
9220
9928
  }
9221
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9222
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: TabsComponent, isStandalone: false, selector: "tabs", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, testId: { classPropertyName: "testId", publicName: "testId", isSignal: true, isRequired: false, transformFunction: null }, tabsClass: { classPropertyName: "tabsClass", publicName: "tabsClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", selectedChange: "selectedChange" }, queries: [{ propertyName: "tabItems", predicate: TabsItemDirective, isSignal: true }], ngImport: i0, template: "@let tabList = tabs();\r\n@let tabType = type();\r\n@let tabSize = size();\r\n@let tabTemplate = template();\r\n@let testIdPrefix = testId() || \"tabs\";\r\n@if (tabList.length) {\r\n <ul class=\"ui-tabs\" [ngClass]=\"[tabsClass(), 'type-' + tabType]\" [attr.data-testid]=\"testIdPrefix\">\r\n @for (option of tabList; track option.value) {\r\n <li [ngClass]=\"option.className\" [attr.data-testid]=\"testIdPrefix + '-' + option.value\">\r\n <btn [label]=\"option.label\"\r\n [tooltip]=\"option.tooltip\"\r\n [icon]=\"option.icon\"\r\n [disabled]=\"option.disabled\"\r\n [path]=\"option.path\"\r\n [type]=\"option.active ? tabType : 'transparent'\"\r\n [size]=\"tabSize\"\r\n [async-method]=\"select\"\r\n [context]=\"option\"></btn>\r\n </li>\r\n }\r\n </ul>\r\n}\r\n@if (tabTemplate) {\r\n <div class=\"ui-tab\">\r\n <ng-container [ngTemplateOutlet]=\"tabTemplate\"></ng-container>\r\n </div>\r\n}\r\n<ng-content></ng-content>\r\n", styles: [".ui-tabs{--tabs-color: var(--primary-color, var(--bs-primary, var(--mat-sys-primary, #666666)));--tabs-border-radius: var(--element-radius, var(--mat-sys-corner-full, 5px));--tabs-bg: var(--tabs-color);--tabs-margin: 5px;--tabs-padding: 5px;display:flex;gap:5px;margin:0 0 var(--tabs-margin) 0;padding:var(--tabs-padding);position:relative;list-style-type:none}.ui-tabs:before{content:\"\";position:absolute;inset:0;background:var(--tabs-bg);border-radius:var(--tabs-border-radius);opacity:.25;z-index:0}.ui-tabs li{position:relative;z-index:1}.ui-tabs *{box-sizing:border-box}.ui-tabs.type-secondary{--tabs-color: var(--secondary-color, var(--bs-secondary, var(--mat-sys-secondary, #666666)))}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AsyncMethodDirective, selector: "[async-method]", inputs: ["async-method"], exportAs: ["async-method"] }, { kind: "component", type: BtnComponent, selector: "btn", inputs: ["label", "tooltip", "icon", "disabled", "path", "type", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9929
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9930
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: TabsComponent, isStandalone: false, selector: "tabs", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, testId: { classPropertyName: "testId", publicName: "testId", isSignal: true, isRequired: false, transformFunction: null }, tabsClass: { classPropertyName: "tabsClass", publicName: "tabsClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", selectedChange: "selectedChange" }, queries: [{ propertyName: "tabItems", predicate: TabsItemDirective, isSignal: true }], ngImport: i0, template: "@let tabList = tabs();\r\n@let tabType = type();\r\n@let tabSize = size();\r\n@let tabTemplate = template();\r\n@let testIdPrefix = testId() || \"tabs\";\r\n@if (tabList.length) {\r\n <ul class=\"ui-tabs\" [ngClass]=\"[tabsClass(), 'type-' + tabType]\" [attr.data-testid]=\"testIdPrefix\">\r\n @for (option of tabList; track option.value) {\r\n <li [ngClass]=\"option.className\" [attr.data-testid]=\"testIdPrefix + '-' + option.value\">\r\n <btn [label]=\"option.label\"\r\n [tooltip]=\"option.tooltip\"\r\n [icon]=\"option.icon\"\r\n [disabled]=\"option.disabled\"\r\n [path]=\"option.path\"\r\n [type]=\"option.active ? tabType : 'transparent'\"\r\n [size]=\"tabSize\"\r\n [async-method]=\"select\"\r\n [context]=\"option\"></btn>\r\n </li>\r\n }\r\n </ul>\r\n}\r\n@if (tabTemplate) {\r\n <div class=\"ui-tab\">\r\n <ng-container [ngTemplateOutlet]=\"tabTemplate\"></ng-container>\r\n </div>\r\n}\r\n<ng-content></ng-content>\r\n", styles: [".ui-tabs{--tabs-color: var(--primary-color, var(--bs-primary, var(--mat-sys-primary, #666666)));--tabs-border-radius: var(--element-radius, var(--mat-sys-corner-full, 5px));--tabs-bg: var(--tabs-color);--tabs-margin: 5px;--tabs-padding: 5px;display:flex;gap:5px;margin:0 0 var(--tabs-margin) 0;padding:var(--tabs-padding);position:relative;list-style-type:none}.ui-tabs:before{content:\"\";position:absolute;inset:0;background:var(--tabs-bg);border-radius:var(--tabs-border-radius);opacity:.25;z-index:0}.ui-tabs li{position:relative;z-index:1}.ui-tabs *{box-sizing:border-box}.ui-tabs.type-secondary{--tabs-color: var(--secondary-color, var(--bs-secondary, var(--mat-sys-secondary, #666666)))}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AsyncMethodDirective, selector: "[async-method]", inputs: ["async-method"], exportAs: ["async-method"] }, { kind: "component", type: BtnComponent, selector: "btn", inputs: ["label", "tooltip", "icon", "disabled", "path", "type", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
9223
9931
  }
9224
9932
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TabsComponent, decorators: [{
9225
9933
  type: Component,
@@ -9227,6 +9935,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
9227
9935
  }], ctorParameters: () => [] });
9228
9936
 
9229
9937
  class UnorderedListComponent {
9938
+ cdr;
9939
+ data;
9940
+ keyPrefix;
9941
+ listStyle;
9942
+ path;
9943
+ level;
9944
+ templates;
9945
+ isArray;
9946
+ isObject;
9947
+ defaultTemplates;
9948
+ templateDirectives;
9949
+ defaultKeyTemplate;
9950
+ defaultValueTemplate;
9951
+ defaultItemTemplate;
9230
9952
  constructor(cdr) {
9231
9953
  this.cdr = cdr;
9232
9954
  this.keyPrefix = "";
@@ -9251,8 +9973,8 @@ class UnorderedListComponent {
9251
9973
  };
9252
9974
  this.cdr.detectChanges();
9253
9975
  }
9254
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UnorderedListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
9255
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: UnorderedListComponent, isStandalone: false, selector: "unordered-list", inputs: { data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates" }, queries: [{ propertyName: "templateDirectives", predicate: UnorderedListTemplateDirective }], viewQueries: [{ propertyName: "defaultKeyTemplate", first: true, predicate: ["defaultKeyTemplate"], descendants: true }, { propertyName: "defaultValueTemplate", first: true, predicate: ["defaultValueTemplate"], descendants: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" #defaultKeyTemplate>\r\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\r\n</ng-template>\r\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-key=\"item.key\" let-value=\"item.value\" let-path=\"path\"\r\n let-templates=\"templates\" let-type=\"valueType\" #defaultValueTemplate>\r\n @if (type === 'enum') {\r\n <span [ngClass]=\"`list-enum enum-${key} enum-value-${value}`\">\r\n <span>{{ `${key}.${value}` | translate }}</span>\r\n </span>\r\n }\r\n @else if (type === 'object' || type === 'array') {\r\n <unordered-list [data]=\"value\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level + 1\"\r\n [templates]=\"templates\"></unordered-list>\r\n } @else {\r\n <span [innerHTML]=\"value\"></span>\r\n }\r\n</ng-template>\r\n<ng-template let-item=\"item\" let-data=\"data\" let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-path=\"path\" let-level=\"level\" let-templates=\"templates\" #defaultItemTemplate>\r\n <ng-template #itemKey>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"key\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-template #itemValue>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"value\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"!isArray\">\r\n <th *ngIf=\"listStyle == 'table'; else itemKey\">\r\n <ng-container [ngTemplateOutlet]=\"itemKey\"></ng-container>\r\n </th>\r\n </ng-container>\r\n <td *ngIf=\"listStyle == 'table'; else itemValue\">\r\n <ng-container [ngTemplateOutlet]=\"itemValue\"></ng-container>\r\n </td>\r\n</ng-template>\r\n<ng-template #value>\r\n <span [innerHTML]=\"data\"></span>\r\n</ng-template>\r\n<ng-container *ngIf=\"(isObject || isArray); else value\" [ngSwitch]=\"listStyle\">\r\n <ul [ngClass]=\"'level-' + level\" *ngSwitchCase=\"'list'\">\r\n <li *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container type=\"item\"\r\n [unorderedListItem]=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </li>\r\n </ul>\r\n <table [ngClass]=\"'level-' + level\" *ngSwitchDefault>\r\n <tr *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container type=\"item\"\r\n [unorderedListItem]=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </tr>\r\n </table>\r\n</ng-container>\r\n", styles: [".unordered-list *{box-sizing:border-box}.list-enum{--enum-color: #c6c6c6;--enum-radius: 5px}.list-enum span{display:inline-block;padding:2px 5px;background:color-mix(in srgb,var(--enum-color),rgba(255,255,255,.4666666667) 50%);color:color-mix(in srgb,var(--enum-color),#000 70%);border:1px solid var(--enum-color);border-radius:var(--enum-radius);-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: UnorderedListItemDirective, selector: "[unorderedListItem]", inputs: ["unorderedListItem", "type", "data", "keyPrefix", "listStyle", "path", "level", "templates", "defaultTemplates"] }, { kind: "component", type: UnorderedListComponent, selector: "unordered-list", inputs: ["data", "keyPrefix", "listStyle", "path", "level", "templates"] }, { kind: "pipe", type: EntriesPipe, name: "entries" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
9976
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UnorderedListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
9977
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: UnorderedListComponent, isStandalone: false, selector: "unordered-list", inputs: { data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates" }, queries: [{ propertyName: "templateDirectives", predicate: UnorderedListTemplateDirective }], viewQueries: [{ propertyName: "defaultKeyTemplate", first: true, predicate: ["defaultKeyTemplate"], descendants: true }, { propertyName: "defaultValueTemplate", first: true, predicate: ["defaultValueTemplate"], descendants: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" #defaultKeyTemplate>\r\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\r\n</ng-template>\r\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-key=\"item.key\" let-value=\"item.value\" let-path=\"path\"\r\n let-templates=\"templates\" let-type=\"valueType\" #defaultValueTemplate>\r\n @if (type === 'enum') {\r\n <span [ngClass]=\"`list-enum enum-${key} enum-value-${value}`\">\r\n <span>{{ `${key}.${value}` | translate }}</span>\r\n </span>\r\n }\r\n @else if (type === 'object' || type === 'array') {\r\n <unordered-list [data]=\"value\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level + 1\"\r\n [templates]=\"templates\"></unordered-list>\r\n } @else {\r\n <span [innerHTML]=\"value\"></span>\r\n }\r\n</ng-template>\r\n<ng-template let-item=\"item\" let-data=\"data\" let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-path=\"path\" let-level=\"level\" let-templates=\"templates\" #defaultItemTemplate>\r\n <ng-template #itemKey>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"key\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-template #itemValue>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"value\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"!isArray\">\r\n <th *ngIf=\"listStyle == 'table'; else itemKey\">\r\n <ng-container [ngTemplateOutlet]=\"itemKey\"></ng-container>\r\n </th>\r\n </ng-container>\r\n <td *ngIf=\"listStyle == 'table'; else itemValue\">\r\n <ng-container [ngTemplateOutlet]=\"itemValue\"></ng-container>\r\n </td>\r\n</ng-template>\r\n<ng-template #value>\r\n <span [innerHTML]=\"data\"></span>\r\n</ng-template>\r\n<ng-container *ngIf=\"(isObject || isArray); else value\" [ngSwitch]=\"listStyle\">\r\n <ul [ngClass]=\"'level-' + level\" *ngSwitchCase=\"'list'\">\r\n <li *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container type=\"item\"\r\n [unorderedListItem]=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </li>\r\n </ul>\r\n <table [ngClass]=\"'level-' + level\" *ngSwitchDefault>\r\n <tr *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container type=\"item\"\r\n [unorderedListItem]=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </tr>\r\n </table>\r\n</ng-container>\r\n", styles: [".unordered-list *{box-sizing:border-box}.list-enum{--enum-color: #c6c6c6;--enum-radius: 5px}.list-enum span{display:inline-block;padding:2px 5px;background:color-mix(in srgb,var(--enum-color),rgba(255,255,255,.4666666667) 50%);color:color-mix(in srgb,var(--enum-color),#000 70%);border:1px solid var(--enum-color);border-radius:var(--enum-radius);-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: UnorderedListItemDirective, selector: "[unorderedListItem]", inputs: ["unorderedListItem", "type", "data", "keyPrefix", "listStyle", "path", "level", "templates", "defaultTemplates"] }, { kind: "component", type: UnorderedListComponent, selector: "unordered-list", inputs: ["data", "keyPrefix", "listStyle", "path", "level", "templates"] }, { kind: "pipe", type: EntriesPipe, name: "entries" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
9256
9978
  }
9257
9979
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UnorderedListComponent, decorators: [{
9258
9980
  type: Component,
@@ -9284,6 +10006,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
9284
10006
  }] } });
9285
10007
 
9286
10008
  class UploadComponent {
10009
+ cdr;
10010
+ element;
10011
+ api;
10012
+ toaster;
10013
+ value;
10014
+ disabled;
10015
+ inline;
10016
+ accept;
10017
+ baseUrl;
10018
+ message;
10019
+ multiple;
10020
+ buttonText;
10021
+ makeUpload;
10022
+ preProcess;
10023
+ onUploaded;
10024
+ onRemove;
10025
+ uploadBtn;
10026
+ acceptAttr;
10027
+ isImage;
10028
+ dropAllowed;
10029
+ processing;
10030
+ onChange;
10031
+ onTouched;
10032
+ rootElem;
10033
+ fileImageCache;
10034
+ acceptTypes;
9287
10035
  get http() {
9288
10036
  return this.api.client;
9289
10037
  }
@@ -9493,10 +10241,10 @@ class UploadComponent {
9493
10241
  type = type.split("/").pop().replace(/\./g, "");
9494
10242
  return this.acceptTypes.includes(type);
9495
10243
  }
9496
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: API_SERVICE }, { token: TOASTER_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
9497
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: UploadComponent, isStandalone: false, selector: "upload", inputs: { value: "value", disabled: "disabled", inline: "inline", accept: "accept", baseUrl: "baseUrl", message: "message", multiple: "multiple", buttonText: "buttonText", makeUpload: "makeUpload", preProcess: "preProcess" }, outputs: { onUploaded: "onUploaded", onRemove: "onRemove" }, providers: [
10244
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: API_SERVICE }, { token: TOASTER_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
10245
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: UploadComponent, isStandalone: false, selector: "upload", inputs: { value: "value", disabled: "disabled", inline: "inline", accept: "accept", baseUrl: "baseUrl", message: "message", multiple: "multiple", buttonText: "buttonText", makeUpload: "makeUpload", preProcess: "preProcess" }, outputs: { onUploaded: "onUploaded", onRemove: "onRemove" }, providers: [
9498
10246
  { provide: NG_VALUE_ACCESSOR, useExisting: UploadComponent, multi: true }
9499
- ], viewQueries: [{ propertyName: "uploadBtn", first: true, predicate: ["uploadBtn"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #itemBgTemplate let-bg=\"bg\">\r\n @if (bg) {\r\n <div class=\"upload-item-bg\" [ngStyle]=\"{backgroundImage: `url('${bg}')`}\">\r\n <div>\r\n <img alt=\"item image\" [src]=\"bg | safe: 'url'\" />\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #itemTemplate let-item=\"item\" let-index=\"index\">\r\n <div class=\"upload-item\">\r\n <ng-container [ngTemplateOutlet]=\"itemBgTemplate\"\r\n [ngTemplateOutletContext]=\"{bg: isImage || (item | isType: 'file') ? getUrl(item) : null}\">\r\n </ng-container>\r\n @if (!disabled) {\r\n <close-btn class=\"remove-item-btn\" (click)=\"removeItem(index)\"></close-btn>\r\n }\r\n<!-- <btn size=\"small\" class=\"download-item-btn\" icon=\"download\"></btn>-->\r\n </div>\r\n</ng-template>\r\n\r\n<div class=\"file-upload\" [ngClass]=\"{disabled: disabled}\">\r\n <div class=\"upload-input\" [ngClass]=\"{'drop-allowed': dropAllowed}\">\r\n <input type=\"file\"\r\n #input\r\n [disabled]=\"disabled\"\r\n [multiple]=\"multiple\"\r\n [accept]=\"acceptAttr\"\r\n (dragenter)=\"onDragEnter($event)\"\r\n (dragleave)=\"onDrop()\"\r\n (drop)=\"onDrop()\"\r\n (click)=\"onInputClick($event)\"\r\n (blur)=\"onTouched($event)\"\r\n (change)=\"onInputChange($event)\"/>\r\n @if (message) {\r\n <div class=\"upload-message\"\r\n [ngClass]=\"{'has-value': $any(value)?.length}\"\r\n [innerHTML]=\"message | translate | safe:'html'\">\r\n </div>\r\n }\r\n <div class=\"upload-container\">\r\n\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: value, index: 0}\"\r\n *ngIf=\"!multiple && value\">\r\n </ng-container>\r\n <ng-container *ngIf=\"multiple\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, index: ix}\"\r\n *ngFor=\"let item of $any(value); let ix = index\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div class=\"upload-item\" *ngFor=\"let proc of processing\">\r\n <ng-container [ngTemplateOutlet]=\"itemBgTemplate\"\r\n [ngTemplateOutletContext]=\"{bg: proc.preview}\">\r\n </ng-container>\r\n <div class=\"upload-progress\">\r\n <div class=\"upload-progress-num\">{{ proc.progress }}%</div>\r\n <div class=\"upload-progress-bar\" [ngStyle]=\"{width: proc.progress + '%'}\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n @if (!disabled) {\r\n <btn class=\"upload-btn\" #uploadBtn [label]=\"buttonText\" (click)=\"input.click()\"></btn>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".file-upload{--upload-bg-lightness: 85%;--upload-bg-opacity: 1;--upload-padding: 5px;--upload-border-width: 2px;--upload-border-color: rgba(0, 0, 0, .25);--upload-progress-bg: var(--primary-color, var(--mat-sys-primary, black));--upload-progress-text: var(--text-color, var(--mat-sys-on-primary, white));--upload-item-size: 120px;--upload-item-radius: 5px;--message-size: 20px;--message-color: #7e7e7e;--message-drop-color: #474747;--btn-distance: 3px;--btn-top-distance: var(--btn-distance);--btn-left-distance: var(--btn-distance);--btn-right-distance: var(--btn-distance);margin:5px 0}.file-upload *{box-sizing:border-box}.file-upload.disabled{--upload-bg-lightness: 75%}.file-upload input[type=file]{display:block;position:absolute;inset:0;opacity:0}.file-upload input[type=file]::file-selector-button{width:100%;height:100%}.file-upload .upload-input{width:100%;border:var(--upload-border-width) var(--upload-border-color) dashed;border-radius:var(--upload-item-radius);background-color:hsl(0,0%,var(--upload-bg-lightness),var(--upload-bg-opacity));transition:.2s;flex-wrap:wrap;position:relative;padding:var(--upload-padding)}.file-upload .upload-input .upload-message{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;top:0;left:0;pointer-events:none;font-size:var(--message-size);color:var(--message-color);transition:.2s}.file-upload .upload-input .upload-message.has-value{display:none}.file-upload .upload-input .upload-container{position:relative;pointer-events:none;min-height:var(--upload-item-size);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.file-upload .upload-input .upload-item{position:relative;pointer-events:auto;width:var(--upload-item-size);height:var(--upload-item-size);border-radius:var(--upload-item-radius);border:2px solid white;overflow:hidden;display:flex;align-items:center;justify-content:center}.file-upload .upload-input .upload-item-bg{background:#fff center center no-repeat;background-size:cover;position:absolute;inset:0}.file-upload .upload-input .upload-item-bg div{width:100%;height:100%;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(15px)}.file-upload .upload-input .upload-item-bg img{max-width:100%;max-height:100%;object-fit:contain;background:#ffffffbf}.file-upload .upload-input .upload-progress{position:relative;width:90%;height:15px;border:1px solid darkgrey;background:#ffffff80}.file-upload .upload-input .upload-progress-bar{position:absolute;height:15px;background:var(--upload-progress-bg);top:0}.file-upload .upload-input .upload-progress-num{position:relative;z-index:1;font-size:12px;line-height:15px;text-align:center;color:var(--upload-progress-text)}.file-upload .upload-input.drop-allowed{--upload-bg-lightness: 95%}.file-upload .upload-input.drop-allowed .upload-message{color:var(--message-drop-color)}.file-upload .upload-btn{position:relative;margin-top:5px;width:fit-content;display:block}.file-upload .remove-item-btn{position:absolute;top:var(--btn-top-distance);right:var(--btn-right-distance)}.file-upload .download-item-btn{position:absolute;top:var(--btn-top-distance);left:var(--btn-left-distance)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: BtnComponent, selector: "btn", inputs: ["label", "tooltip", "icon", "disabled", "path", "type", "size"] }, { kind: "component", type: CloseBtnComponent, selector: "close-btn" }, { kind: "pipe", type: IsTypePipe, name: "isType" }, { kind: "pipe", type: SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
10247
+ ], viewQueries: [{ propertyName: "uploadBtn", first: true, predicate: ["uploadBtn"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #itemBgTemplate let-bg=\"bg\">\r\n @if (bg) {\r\n <div class=\"upload-item-bg\" [ngStyle]=\"{backgroundImage: `url('${bg}')`}\">\r\n <div>\r\n <img alt=\"item image\" [src]=\"bg | safe: 'url'\" />\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #itemTemplate let-item=\"item\" let-index=\"index\">\r\n <div class=\"upload-item\">\r\n <ng-container [ngTemplateOutlet]=\"itemBgTemplate\"\r\n [ngTemplateOutletContext]=\"{bg: isImage || (item | isType: 'file') ? getUrl(item) : null}\">\r\n </ng-container>\r\n @if (!disabled) {\r\n <close-btn class=\"remove-item-btn\" (click)=\"removeItem(index)\"></close-btn>\r\n }\r\n<!-- <btn size=\"small\" class=\"download-item-btn\" icon=\"download\"></btn>-->\r\n </div>\r\n</ng-template>\r\n\r\n<div class=\"file-upload\" [ngClass]=\"{disabled: disabled}\">\r\n <div class=\"upload-input\" [ngClass]=\"{'drop-allowed': dropAllowed}\">\r\n <input type=\"file\"\r\n #input\r\n [disabled]=\"disabled\"\r\n [multiple]=\"multiple\"\r\n [accept]=\"acceptAttr\"\r\n (dragenter)=\"onDragEnter($event)\"\r\n (dragleave)=\"onDrop()\"\r\n (drop)=\"onDrop()\"\r\n (click)=\"onInputClick($event)\"\r\n (blur)=\"onTouched($event)\"\r\n (change)=\"onInputChange($event)\"/>\r\n @if (message) {\r\n <div class=\"upload-message\"\r\n [ngClass]=\"{'has-value': $any(value)?.length}\"\r\n [innerHTML]=\"message | translate | safe:'html'\">\r\n </div>\r\n }\r\n <div class=\"upload-container\">\r\n\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: value, index: 0}\"\r\n *ngIf=\"!multiple && value\">\r\n </ng-container>\r\n <ng-container *ngIf=\"multiple\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{item: item, index: ix}\"\r\n *ngFor=\"let item of $any(value); let ix = index\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div class=\"upload-item\" *ngFor=\"let proc of processing\">\r\n <ng-container [ngTemplateOutlet]=\"itemBgTemplate\"\r\n [ngTemplateOutletContext]=\"{bg: proc.preview}\">\r\n </ng-container>\r\n <div class=\"upload-progress\">\r\n <div class=\"upload-progress-num\">{{ proc.progress }}%</div>\r\n <div class=\"upload-progress-bar\" [ngStyle]=\"{width: proc.progress + '%'}\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n @if (!disabled) {\r\n <btn class=\"upload-btn\" #uploadBtn [label]=\"buttonText\" (click)=\"input.click()\"></btn>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".file-upload{--upload-bg-lightness: 85%;--upload-bg-opacity: 1;--upload-padding: 5px;--upload-border-width: 2px;--upload-border-color: rgba(0, 0, 0, .25);--upload-progress-bg: var(--primary-color, var(--mat-sys-primary, black));--upload-progress-text: var(--text-color, var(--mat-sys-on-primary, white));--upload-item-size: 120px;--upload-item-radius: 5px;--message-size: 20px;--message-color: #7e7e7e;--message-drop-color: #474747;--btn-distance: 3px;--btn-top-distance: var(--btn-distance);--btn-left-distance: var(--btn-distance);--btn-right-distance: var(--btn-distance);margin:5px 0}.file-upload *{box-sizing:border-box}.file-upload.disabled{--upload-bg-lightness: 75%}.file-upload input[type=file]{display:block;position:absolute;inset:0;opacity:0}.file-upload input[type=file]::file-selector-button{width:100%;height:100%}.file-upload .upload-input{width:100%;border:var(--upload-border-width) var(--upload-border-color) dashed;border-radius:var(--upload-item-radius);background-color:hsl(0,0%,var(--upload-bg-lightness),var(--upload-bg-opacity));transition:.2s;flex-wrap:wrap;position:relative;padding:var(--upload-padding)}.file-upload .upload-input .upload-message{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;top:0;left:0;pointer-events:none;font-size:var(--message-size);color:var(--message-color);transition:.2s}.file-upload .upload-input .upload-message.has-value{display:none}.file-upload .upload-input .upload-container{position:relative;pointer-events:none;min-height:var(--upload-item-size);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.file-upload .upload-input .upload-item{position:relative;pointer-events:auto;width:var(--upload-item-size);height:var(--upload-item-size);border-radius:var(--upload-item-radius);border:2px solid white;overflow:hidden;display:flex;align-items:center;justify-content:center}.file-upload .upload-input .upload-item-bg{background:#fff center center no-repeat;background-size:cover;position:absolute;inset:0}.file-upload .upload-input .upload-item-bg div{width:100%;height:100%;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(15px)}.file-upload .upload-input .upload-item-bg img{max-width:100%;max-height:100%;object-fit:contain;background:#ffffffbf}.file-upload .upload-input .upload-progress{position:relative;width:90%;height:15px;border:1px solid darkgrey;background:#ffffff80}.file-upload .upload-input .upload-progress-bar{position:absolute;height:15px;background:var(--upload-progress-bg);top:0}.file-upload .upload-input .upload-progress-num{position:relative;z-index:1;font-size:12px;line-height:15px;text-align:center;color:var(--upload-progress-text)}.file-upload .upload-input.drop-allowed{--upload-bg-lightness: 95%}.file-upload .upload-input.drop-allowed .upload-message{color:var(--message-drop-color)}.file-upload .upload-btn{position:relative;margin-top:5px;width:fit-content;display:block}.file-upload .remove-item-btn{position:absolute;top:var(--btn-top-distance);right:var(--btn-right-distance)}.file-upload .download-item-btn{position:absolute;top:var(--btn-top-distance);left:var(--btn-left-distance)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: BtnComponent, selector: "btn", inputs: ["label", "tooltip", "icon", "disabled", "path", "type", "size"] }, { kind: "component", type: CloseBtnComponent, selector: "close-btn" }, { kind: "pipe", type: IsTypePipe, name: "isType" }, { kind: "pipe", type: SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
9500
10248
  }
9501
10249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: UploadComponent, decorators: [{
9502
10250
  type: Component,
@@ -9539,6 +10287,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
9539
10287
  }] } });
9540
10288
 
9541
10289
  class WysiwygComponent {
10290
+ cdr;
10291
+ element;
10292
+ value;
10293
+ disabled;
10294
+ valueChange;
10295
+ onChange;
10296
+ onTouched;
10297
+ rootElem;
10298
+ editor;
10299
+ editorElem;
9542
10300
  get root() {
9543
10301
  this.rootElem = this.rootElem || getRoot(this.element.nativeElement);
9544
10302
  return this.rootElem;
@@ -9597,10 +10355,10 @@ class WysiwygComponent {
9597
10355
  this.cdr.markForCheck();
9598
10356
  this.ngOnChanges();
9599
10357
  }
9600
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: WysiwygComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
9601
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: WysiwygComponent, isStandalone: false, selector: "wysiwyg", inputs: { value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [
10358
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: WysiwygComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
10359
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: WysiwygComponent, isStandalone: false, selector: "wysiwyg", inputs: { value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [
9602
10360
  { provide: NG_VALUE_ACCESSOR, useExisting: WysiwygComponent, multi: true }
9603
- ], viewQueries: [{ propertyName: "editorElem", first: true, predicate: ["editor"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"wysiwyg form-control\" [ngClass]=\"{disabled: disabled}\">\r\n <div #editor></div>\r\n</div>\r\n", styles: [".file-upload{--upload-bg-lightness: 85%;--upload-bg-opacity: 1;--upload-padding: 5px;--upload-border-width: 2px;--upload-border-color: rgba(0, 0, 0, .25);--upload-progress-bg: var(--primary-color, var(--mat-sys-primary, black));--upload-progress-text: var(--text-color, var(--mat-sys-on-primary, white));--upload-item-size: 120px;--upload-item-radius: 5px;--message-size: 20px;--message-color: #7e7e7e;--message-drop-color: #474747;--btn-distance: 3px;--btn-top-distance: var(--btn-distance);--btn-left-distance: var(--btn-distance);--btn-right-distance: var(--btn-distance);margin:5px 0}.file-upload *{box-sizing:border-box}.file-upload.disabled{--upload-bg-lightness: 75%}.file-upload input[type=file]{display:block;position:absolute;inset:0;opacity:0}.file-upload input[type=file]::file-selector-button{width:100%;height:100%}.file-upload .upload-input{width:100%;border:var(--upload-border-width) var(--upload-border-color) dashed;border-radius:var(--upload-item-radius);background-color:hsl(0,0%,var(--upload-bg-lightness),var(--upload-bg-opacity));transition:.2s;flex-wrap:wrap;position:relative;padding:var(--upload-padding)}.file-upload .upload-input .upload-message{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;top:0;left:0;pointer-events:none;font-size:var(--message-size);color:var(--message-color);transition:.2s}.file-upload .upload-input .upload-message.has-value{display:none}.file-upload .upload-input .upload-container{position:relative;pointer-events:none;min-height:var(--upload-item-size);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.file-upload .upload-input .upload-item{position:relative;pointer-events:auto;width:var(--upload-item-size);height:var(--upload-item-size);border-radius:var(--upload-item-radius);border:2px solid white;overflow:hidden;display:flex;align-items:center;justify-content:center}.file-upload .upload-input .upload-item-bg{background:#fff center center no-repeat;background-size:cover;position:absolute;inset:0}.file-upload .upload-input .upload-item-bg div{width:100%;height:100%;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(15px)}.file-upload .upload-input .upload-item-bg img{max-width:100%;max-height:100%;object-fit:contain;background:#ffffffbf}.file-upload .upload-input .upload-progress{position:relative;width:90%;height:15px;border:1px solid darkgrey;background:#ffffff80}.file-upload .upload-input .upload-progress-bar{position:absolute;height:15px;background:var(--upload-progress-bg);top:0}.file-upload .upload-input .upload-progress-num{position:relative;z-index:1;font-size:12px;line-height:15px;text-align:center;color:var(--upload-progress-text)}.file-upload .upload-input.drop-allowed{--upload-bg-lightness: 95%}.file-upload .upload-input.drop-allowed .upload-message{color:var(--message-drop-color)}.file-upload .upload-btn{position:relative;margin-top:5px;width:fit-content;display:block}.file-upload .remove-item-btn{position:absolute;top:var(--btn-top-distance);right:var(--btn-right-distance)}.file-upload .download-item-btn{position:absolute;top:var(--btn-top-distance);left:var(--btn-left-distance)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
10361
+ ], viewQueries: [{ propertyName: "editorElem", first: true, predicate: ["editor"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"wysiwyg form-control\" [ngClass]=\"{disabled: disabled}\">\r\n <div #editor></div>\r\n</div>\r\n", styles: [".file-upload{--upload-bg-lightness: 85%;--upload-bg-opacity: 1;--upload-padding: 5px;--upload-border-width: 2px;--upload-border-color: rgba(0, 0, 0, .25);--upload-progress-bg: var(--primary-color, var(--mat-sys-primary, black));--upload-progress-text: var(--text-color, var(--mat-sys-on-primary, white));--upload-item-size: 120px;--upload-item-radius: 5px;--message-size: 20px;--message-color: #7e7e7e;--message-drop-color: #474747;--btn-distance: 3px;--btn-top-distance: var(--btn-distance);--btn-left-distance: var(--btn-distance);--btn-right-distance: var(--btn-distance);margin:5px 0}.file-upload *{box-sizing:border-box}.file-upload.disabled{--upload-bg-lightness: 75%}.file-upload input[type=file]{display:block;position:absolute;inset:0;opacity:0}.file-upload input[type=file]::file-selector-button{width:100%;height:100%}.file-upload .upload-input{width:100%;border:var(--upload-border-width) var(--upload-border-color) dashed;border-radius:var(--upload-item-radius);background-color:hsl(0,0%,var(--upload-bg-lightness),var(--upload-bg-opacity));transition:.2s;flex-wrap:wrap;position:relative;padding:var(--upload-padding)}.file-upload .upload-input .upload-message{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;top:0;left:0;pointer-events:none;font-size:var(--message-size);color:var(--message-color);transition:.2s}.file-upload .upload-input .upload-message.has-value{display:none}.file-upload .upload-input .upload-container{position:relative;pointer-events:none;min-height:var(--upload-item-size);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.file-upload .upload-input .upload-item{position:relative;pointer-events:auto;width:var(--upload-item-size);height:var(--upload-item-size);border-radius:var(--upload-item-radius);border:2px solid white;overflow:hidden;display:flex;align-items:center;justify-content:center}.file-upload .upload-input .upload-item-bg{background:#fff center center no-repeat;background-size:cover;position:absolute;inset:0}.file-upload .upload-input .upload-item-bg div{width:100%;height:100%;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(15px)}.file-upload .upload-input .upload-item-bg img{max-width:100%;max-height:100%;object-fit:contain;background:#ffffffbf}.file-upload .upload-input .upload-progress{position:relative;width:90%;height:15px;border:1px solid darkgrey;background:#ffffff80}.file-upload .upload-input .upload-progress-bar{position:absolute;height:15px;background:var(--upload-progress-bg);top:0}.file-upload .upload-input .upload-progress-num{position:relative;z-index:1;font-size:12px;line-height:15px;text-align:center;color:var(--upload-progress-text)}.file-upload .upload-input.drop-allowed{--upload-bg-lightness: 95%}.file-upload .upload-input.drop-allowed .upload-message{color:var(--message-drop-color)}.file-upload .upload-btn{position:relative;margin-top:5px;width:fit-content;display:block}.file-upload .remove-item-btn{position:absolute;top:var(--btn-top-distance);right:var(--btn-right-distance)}.file-upload .download-item-btn{position:absolute;top:var(--btn-top-distance);left:var(--btn-left-distance)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
9604
10362
  }
9605
10363
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: WysiwygComponent, decorators: [{
9606
10364
  type: Component,
@@ -9681,6 +10439,7 @@ const components = [
9681
10439
  BtnDefaultComponent,
9682
10440
  ChipsComponent,
9683
10441
  CloseBtnComponent,
10442
+ CodeEditorComponent,
9684
10443
  DropListComponent,
9685
10444
  DropdownBoxComponent,
9686
10445
  DynamicTableComponent,
@@ -9925,11 +10684,11 @@ class NgxUtilsModule {
9925
10684
  ]
9926
10685
  };
9927
10686
  }
9928
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9929
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: NgxUtilsModule, declarations: [ChunkPipe, EntriesPipe, ExtraItemPropertiesPipe, FilterPipe, FindPipe, FormatNumberPipe, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplatePipe, GroupByPipe, IncludesPipe, IsTypePipe, JoinPipe, KeysPipe, MapPipe, MaxPipe, MinPipe, PopPipe, ReducePipe, RemapPipe, ReplacePipe, ReversePipe, RoundPipe, SafeHtmlPipe, ShiftPipe, SplitPipe, SyncAsyncPipe, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, AsyncMethodTargetDirective, BackgroundDirective, ComponentLoaderDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownContentDirective, DropdownToggleDirective, TabsItemDirective, TabsTemplateDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, BtnComponent, BtnDefaultComponent, ChipsComponent, CloseBtnComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, DynamicTableCellComponent, FakeModuleComponent, PaginationMenuComponent, IconComponent, IconDefaultComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, TabsComponent, UnorderedListComponent, UploadComponent, WysiwygComponent], imports: [CommonModule,
9930
- FormsModule], exports: [ChunkPipe, EntriesPipe, ExtraItemPropertiesPipe, FilterPipe, FindPipe, FormatNumberPipe, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplatePipe, GroupByPipe, IncludesPipe, IsTypePipe, JoinPipe, KeysPipe, MapPipe, MaxPipe, MinPipe, PopPipe, ReducePipe, RemapPipe, ReplacePipe, ReversePipe, RoundPipe, SafeHtmlPipe, ShiftPipe, SplitPipe, SyncAsyncPipe, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, AsyncMethodTargetDirective, BackgroundDirective, ComponentLoaderDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownContentDirective, DropdownToggleDirective, TabsItemDirective, TabsTemplateDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, BtnComponent, BtnDefaultComponent, ChipsComponent, CloseBtnComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, DynamicTableCellComponent, FakeModuleComponent, PaginationMenuComponent, IconComponent, IconDefaultComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, TabsComponent, UnorderedListComponent, UploadComponent, WysiwygComponent, FormsModule] }); }
9931
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxUtilsModule, providers: pipes, imports: [CommonModule,
9932
- FormsModule, FormsModule] }); }
10687
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10688
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: NgxUtilsModule, declarations: [ChunkPipe, EntriesPipe, ExtraItemPropertiesPipe, FilterPipe, FindPipe, FormatNumberPipe, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplatePipe, GroupByPipe, IncludesPipe, IsTypePipe, JoinPipe, KeysPipe, MapPipe, MaxPipe, MinPipe, PopPipe, ReducePipe, RemapPipe, ReplacePipe, ReversePipe, RoundPipe, SafeHtmlPipe, ShiftPipe, SplitPipe, SyncAsyncPipe, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, AsyncMethodTargetDirective, BackgroundDirective, ComponentLoaderDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownContentDirective, DropdownToggleDirective, TabsItemDirective, TabsTemplateDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, BtnComponent, BtnDefaultComponent, ChipsComponent, CloseBtnComponent, CodeEditorComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, DynamicTableCellComponent, FakeModuleComponent, PaginationMenuComponent, IconComponent, IconDefaultComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, TabsComponent, UnorderedListComponent, UploadComponent, WysiwygComponent], imports: [CommonModule,
10689
+ FormsModule], exports: [ChunkPipe, EntriesPipe, ExtraItemPropertiesPipe, FilterPipe, FindPipe, FormatNumberPipe, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplatePipe, GroupByPipe, IncludesPipe, IsTypePipe, JoinPipe, KeysPipe, MapPipe, MaxPipe, MinPipe, PopPipe, ReducePipe, RemapPipe, ReplacePipe, ReversePipe, RoundPipe, SafeHtmlPipe, ShiftPipe, SplitPipe, SyncAsyncPipe, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, AsyncMethodTargetDirective, BackgroundDirective, ComponentLoaderDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownContentDirective, DropdownToggleDirective, TabsItemDirective, TabsTemplateDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, BtnComponent, BtnDefaultComponent, ChipsComponent, CloseBtnComponent, CodeEditorComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, DynamicTableCellComponent, FakeModuleComponent, PaginationMenuComponent, IconComponent, IconDefaultComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, TabsComponent, UnorderedListComponent, UploadComponent, WysiwygComponent, FormsModule] });
10690
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxUtilsModule, providers: pipes, imports: [CommonModule,
10691
+ FormsModule, FormsModule] });
9933
10692
  }
9934
10693
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxUtilsModule, decorators: [{
9935
10694
  type: NgModule,
@@ -9957,5 +10716,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
9957
10716
  * Generated bundle index. Do not edit.
9958
10717
  */
9959
10718
 
9960
- export { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AsyncMethodTargetDirective, AuthGuard, BASE_CONFIG, BUTTON_TYPE, BackgroundDirective, BaseDialogService, BaseHttpClient, BaseHttpService, BaseToasterService, BtnComponent, BtnDefaultComponent, CONFIG_SERVICE, CacheService, CanvasColor, CanvasUtils, ChipsComponent, ChunkPipe, Circle, CloseBtnComponent, ComponentLoaderDirective, ComponentLoaderService, ConfigService, DIALOG_SERVICE, DateUtils, DragDropEventPlugin, DropListComponent, DropdownBoxComponent, DropdownContentDirective, DropdownDirective, DropdownToggleDirective, DynamicTableCellComponent, DynamicTableComponent, DynamicTableTemplateDirective, EPSILON, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, Enum, ErrorHandlerService, EventsService, ExclusionsRenderer, ExtraItemPropertiesPipe, FactoryDependencies, FakeModuleComponent, FileSystemEntry, FileUtils, FilterPipe, FindPipe, ForbiddenZone, FormatNumberPipe, FormatterService, GenericValue, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HitZoneRenderer, HrefSerializer, ICON_MAP, ICON_SERVICE, ICON_TYPE, IConfiguration, IconComponent, IconDefaultComponent, IconDirective, IconService, IncludesPipe, Initializer, InteractiveCanvasComponent, InteractiveCircleComponent, InteractiveItemComponent, InteractiveRectComponent, IsTypePipe, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, LocalHttpService, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, OPTIONS_TOKEN, ObjectType, ObjectUtils, ObservableUtils, OpenApiService, Oval, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PopPipe, PromiseService, RESIZE_DELAY, RESIZE_STRATEGY, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, RequestBag, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, RulerCanvasRenderer, SCHEMA_SELECTOR, SCRIPT_PARAMS, STATIC_SCHEMAS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, ShapeGroup, ShiftPipe, SocketClient, SocketService, SplitPipe, StateService, StaticAuthService, StaticLanguageService, StickyClassDirective, StickyDirective, StorageMode, StorageService, StringUtils, SyncAsyncPipe, TOASTER_SERVICE, TabsComponent, TabsItemDirective, TabsTemplateDirective, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, UploadComponent, ValuedPromise, ValuesPipe, WysiwygComponent, addPts, cachedFactory, cancelablePromise, checkTransitions, clamp, computedPrevious, createTypedProvider, cssStyles, cssVariables, diffEntities, distance, distanceSq, dividePts, dotProduct, ensurePoint, eqPts, getComponentDef, getCssVariables, getRoot, impatientPromise, injectOptions, isBrowser, isEqual, isPoint, isZero, lengthOfPt, lengthSq$1 as lengthSq, lerpPts, md5, multiplyPts, negatePt, normalizePt, normalizeRange, overflow, parseSelector, perpendicular, promiseTimeout, provideEntryComponents, provideOptions, provideWithOptions, rotateDeg, rotateRad, scalePt, selectorMatchesList, stringify, subPts, svgToDataUri, switchClass, toDegrees, toRadians, tripleProduct };
10719
+ export { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AsyncMethodTargetDirective, AuthGuard, BASE_CONFIG, BUTTON_TYPE, BackgroundDirective, BaseDialogService, BaseHttpClient, BaseHttpService, BaseToasterService, BtnComponent, BtnDefaultComponent, CONFIG_SERVICE, CacheService, CanvasColor, CanvasUtils, ChipsComponent, ChunkPipe, Circle, CloseBtnComponent, CodeEditorComponent, ComponentLoaderDirective, ComponentLoaderService, ConfigService, DIALOG_SERVICE, DateUtils, DragDropEventPlugin, DropListComponent, DropdownBoxComponent, DropdownContentDirective, DropdownDirective, DropdownToggleDirective, DynamicTableCellComponent, DynamicTableComponent, DynamicTableTemplateDirective, EDITOR_TYPES, EPSILON, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, Enum, ErrorHandlerService, EventsService, ExclusionsRenderer, ExtraItemPropertiesPipe, FactoryDependencies, FakeModuleComponent, FileSystemEntry, FileUtils, FilterPipe, FindPipe, ForbiddenZone, FormatNumberPipe, FormatterService, GenericValue, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HitZoneRenderer, HrefSerializer, ICON_MAP, ICON_SERVICE, ICON_TYPE, IConfiguration, IconComponent, IconDefaultComponent, IconDirective, IconService, IncludesPipe, Initializer, InteractiveCanvasComponent, InteractiveCircleComponent, InteractiveItemComponent, InteractiveRectComponent, IsTypePipe, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, LocalHttpService, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, OPTIONS_TOKEN, ObjectType, ObjectUtils, ObservableUtils, OpenApiService, Oval, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PopPipe, PromiseService, RESIZE_DELAY, RESIZE_STRATEGY, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, RequestBag, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, RulerCanvasRenderer, SCHEMA_SELECTOR, SCRIPT_PARAMS, STATIC_SCHEMAS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, ShapeGroup, ShiftPipe, SocketClient, SocketService, SplitPipe, StateService, StaticAuthService, StaticLanguageService, StickyClassDirective, StickyDirective, StorageMode, StorageService, StringUtils, SyncAsyncPipe, TOASTER_SERVICE, TabsComponent, TabsItemDirective, TabsTemplateDirective, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, UploadComponent, ValuedPromise, ValuesPipe, WysiwygComponent, addPts, cachedFactory, cancelablePromise, checkTransitions, clamp, computedPrevious, createTypedProvider, cssStyles, cssVariables, diffEntities, distance, distanceSq, dividePts, dotProduct, ensurePoint, eqPts, getComponentDef, getCssVariables, getRoot, getType, impatientPromise, injectOptions, isBrowser, isEqual, isFunction, isObject, isPoint, isString, isStringWithValue, isZero, lengthOfPt, lengthSq, lerpPts, md5, multiplyPts, negatePt, normalizePt, normalizeRange, overflow, parseSelector, perpendicular, promiseTimeout, provideEntryComponents, provideOptions, provideWithOptions, rotateDeg, rotateRad, scalePt, selectorMatchesList, stringify, subPts, svgToDataUri, switchClass, toDegrees, toRadians, toStringArray, tripleProduct };
9961
10720
  //# sourceMappingURL=stemy-ngx-utils.mjs.map