@stemy/ngx-utils 19.5.7 → 19.5.9

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.
@@ -1,7 +1,7 @@
1
1
  import 'zone.js';
2
- import * as i0 from '@angular/core';
3
- import { InjectionToken, PLATFORM_ID, Inject, Injectable, Optional, Injector, EventEmitter, isDevMode, ErrorHandler, createComponent, NgZone, Pipe, HostListener, HostBinding, Output, Input, Directive, ElementRef, forwardRef, ViewChild, Component, ContentChild, ViewEncapsulation, ContentChildren, APP_INITIALIZER, makeEnvironmentProviders, NgModule } from '@angular/core';
4
2
  import 'reflect-metadata';
3
+ import * as i0 from '@angular/core';
4
+ import { InjectionToken, PLATFORM_ID, Inject, Injectable, Optional, Injector, EventEmitter, isDevMode, ErrorHandler, createComponent, NgZone, Pipe, HostListener, HostBinding, Output, Input, Directive, ElementRef, input, inject, computed, ChangeDetectionStrategy, ViewEncapsulation, Component, ViewChild, forwardRef, ContentChild, ContentChildren, model, APP_INITIALIZER, makeEnvironmentProviders, NgModule } from '@angular/core';
5
5
  import * as i2 from '@angular/router';
6
6
  import { ActivatedRouteSnapshot, Scroll, NavigationEnd, Router, DefaultUrlSerializer, UrlTree, UrlSegmentGroup, UrlSegment, UrlSerializer, ROUTES } from '@angular/router';
7
7
  import { BehaviorSubject, Observable, firstValueFrom, Subject, Subscription, from, TimeoutError, combineLatest, lastValueFrom } from 'rxjs';
@@ -380,7 +380,6 @@ class ReflectUtils {
380
380
  }
381
381
  }
382
382
 
383
- const OPTIONS_TOKEN = new InjectionToken("custom-options-token");
384
383
  class CanvasColor {
385
384
  constructor(r, g, b, a = 255) {
386
385
  this.r = r;
@@ -389,21 +388,12 @@ class CanvasColor {
389
388
  this.a = a;
390
389
  }
391
390
  }
392
- const ICON_SERVICE = new InjectionToken("icon-service");
393
- const LANGUAGE_SERVICE = new InjectionToken("language-service");
394
- const AUTH_SERVICE = new InjectionToken("auth-service");
395
391
  // --- Storage Service ---
396
392
  var StorageMode;
397
393
  (function (StorageMode) {
398
394
  StorageMode[StorageMode["Local"] = 0] = "Local";
399
395
  StorageMode[StorageMode["Session"] = 1] = "Session";
400
396
  })(StorageMode || (StorageMode = {}));
401
- const TOASTER_SERVICE = new InjectionToken("toaster-service");
402
- const DIALOG_SERVICE = new InjectionToken("dialog-service");
403
- // --- Socket service ---
404
- const SOCKET_IO_PATH = new InjectionToken("socket-io-path");
405
- const PROMISE_SERVICE = new InjectionToken("promise-service");
406
- const WASI_IMPLEMENTATION = new InjectionToken("wasi-implementation");
407
397
  // --- Reflect utils ---
408
398
  function FactoryDependencies(...dependencies) {
409
399
  return function (target, method) {
@@ -482,17 +472,30 @@ class HttpPromise extends Promise {
482
472
  return this.then(null, onRejected);
483
473
  }
484
474
  }
485
- const EXPRESS_REQUEST = new InjectionToken("express-request");
486
- const API_SERVICE = new InjectionToken("api-service");
487
475
  // --- Resource if ---
488
476
  class ResourceIfContext {
489
477
  }
478
+ class IConfiguration {
479
+ }
480
+ // --- Valued promise ---
481
+ class ValuedPromise extends Promise {
482
+ }
483
+
484
+ const BUTTON_TYPE = new InjectionToken("button-component-type");
485
+ const OPTIONS_TOKEN = new InjectionToken("custom-options-token");
486
+ const ICON_SERVICE = new InjectionToken("icon-service");
487
+ const LANGUAGE_SERVICE = new InjectionToken("language-service");
488
+ const AUTH_SERVICE = new InjectionToken("auth-service");
489
+ const TOASTER_SERVICE = new InjectionToken("toaster-service");
490
+ const DIALOG_SERVICE = new InjectionToken("dialog-service");
491
+ const SOCKET_IO_PATH = new InjectionToken("socket-io-path");
492
+ const PROMISE_SERVICE = new InjectionToken("promise-service");
493
+ const WASI_IMPLEMENTATION = new InjectionToken("wasi-implementation");
494
+ const EXPRESS_REQUEST = new InjectionToken("express-request");
495
+ const API_SERVICE = new InjectionToken("api-service");
490
496
  const DYNAMIC_ENTRY_COMPONENTS = new InjectionToken("dynamic-entry-components");
491
497
  const DYNAMIC_MODULE_INFO = new InjectionToken("dynamic-module-info");
492
- // --- ConfigService ---
493
498
  const APP_BASE_URL = new InjectionToken("app-base-url");
494
- class IConfiguration {
495
- }
496
499
  const CONFIG_SERVICE = new InjectionToken("config-service");
497
500
  const BASE_CONFIG = new InjectionToken("base-config");
498
501
  const SCRIPT_PARAMS = new InjectionToken("script-params");
@@ -500,9 +503,6 @@ const ROOT_ELEMENT = new InjectionToken("app-root-element");
500
503
  const RESIZE_DELAY = new InjectionToken("resize-event-delay");
501
504
  const RESIZE_STRATEGY = new InjectionToken("resize-event-strategy");
502
505
  const ERROR_HANDLER = new InjectionToken("error-handler-callback");
503
- // --- Valued promise ---
504
- class ValuedPromise extends Promise {
505
- }
506
506
 
507
507
  class AjaxRequestHandler {
508
508
  static { this.isOverridden = false; }
@@ -6408,6 +6408,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
6408
6408
  type: Input
6409
6409
  }] } });
6410
6410
 
6411
+ class BtnComponent {
6412
+ constructor() {
6413
+ this.label = input("");
6414
+ this.tooltip = input("");
6415
+ this.icon = input("");
6416
+ this.disabled = input(false);
6417
+ this.style = input("primary");
6418
+ this.size = input("normal");
6419
+ this.state = input("inactive");
6420
+ this.buttonType = inject(BUTTON_TYPE);
6421
+ this.buttonProps = computed(() => {
6422
+ return {
6423
+ label: this.label(),
6424
+ tooltip: this.tooltip(),
6425
+ icon: this.icon(),
6426
+ disabled: this.disabled(),
6427
+ style: this.style(),
6428
+ size: this.size(),
6429
+ state: this.state()
6430
+ };
6431
+ });
6432
+ }
6433
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6434
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.14", 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 }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"button-wrap\">\n <ng-container [ngComponentOutlet]=\"buttonType\"\n [ngComponentOutletInputs]=\"buttonProps()\"></ng-container>\n</div>\n", styles: [".button-wrap{display:inline-block}\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 }); }
6435
+ }
6436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BtnComponent, decorators: [{
6437
+ type: Component,
6438
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: "btn", template: "<div class=\"button-wrap\">\n <ng-container [ngComponentOutlet]=\"buttonType\"\n [ngComponentOutletInputs]=\"buttonProps()\"></ng-container>\n</div>\n", styles: [".button-wrap{display:inline-block}\n"] }]
6439
+ }] });
6440
+
6441
+ class BtnDefaultComponent {
6442
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BtnDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6443
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: BtnDefaultComponent, isStandalone: false, selector: "btn-default", inputs: { label: "label", tooltip: "tooltip", icon: "icon", disabled: "disabled", style: "style", size: "size", state: "state" }, ngImport: i0, template: "<div class=\"default-btn btn\"\n [title]=\"!tooltip ? '' : tooltip | translate\"\n [ngClass]=\"['btn-' + style, 'btn-' + size, 'btn-' + state]\">\n <i [icon]=\"icon\" *ngIf=\"icon\"></i>\n <span *ngIf=\"label\">{{ label | translate }}</span>\n</div>\n", styles: [".default-btn{display:inline-block}\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: IconDirective, selector: "[icon]", inputs: ["icon", "activeIcon", "active"], outputs: ["activeChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
6444
+ }
6445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BtnDefaultComponent, decorators: [{
6446
+ type: Component,
6447
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, selector: "btn-default", template: "<div class=\"default-btn btn\"\n [title]=\"!tooltip ? '' : tooltip | translate\"\n [ngClass]=\"['btn-' + style, 'btn-' + size, 'btn-' + state]\">\n <i [icon]=\"icon\" *ngIf=\"icon\"></i>\n <span *ngIf=\"label\">{{ label | translate }}</span>\n</div>\n", styles: [".default-btn{display:inline-block}\n"] }]
6448
+ }], propDecorators: { label: [{
6449
+ type: Input
6450
+ }], tooltip: [{
6451
+ type: Input
6452
+ }], icon: [{
6453
+ type: Input
6454
+ }], disabled: [{
6455
+ type: Input
6456
+ }], style: [{
6457
+ type: Input
6458
+ }], size: [{
6459
+ type: Input
6460
+ }], state: [{
6461
+ type: Input
6462
+ }] } });
6463
+
6411
6464
  class ChipsComponent {
6412
6465
  constructor(cdr) {
6413
6466
  this.cdr = cdr;
@@ -6438,9 +6491,16 @@ class ChipsComponent {
6438
6491
  registerOnTouched(fn) {
6439
6492
  this.onTouched = fn;
6440
6493
  }
6441
- writeValue(val) {
6442
- const values = Array.isArray(val) ? val : [val];
6443
- this.valueOptions = this.createValueOptions(values);
6494
+ ngOnChanges(changes) {
6495
+ if (changes.value) {
6496
+ const value = changes.value.currentValue;
6497
+ this.valueOptions = this.createValueOptions(Array.isArray(value) ? value : [value]);
6498
+ this.value = this.updateValue();
6499
+ }
6500
+ this.filterOptions();
6501
+ }
6502
+ writeValue(value) {
6503
+ this.valueOptions = this.createValueOptions(Array.isArray(value) ? value : [value]);
6444
6504
  this.value = this.updateValue();
6445
6505
  this.filterOptions();
6446
6506
  this.cdr.markForCheck();
@@ -6470,14 +6530,15 @@ class ChipsComponent {
6470
6530
  const container = this.chipContainer.nativeElement;
6471
6531
  const buttons = this.chipButtons.nativeElement;
6472
6532
  const style = getComputedStyle(buttons);
6473
- const vertical = parseFloat(style.top) * 2;
6474
- const horizontal = parseFloat(style.left) * 2;
6533
+ const vertical = parseFloat(style.top);
6534
+ const horizontal = parseFloat(style.gap);
6475
6535
  this.inputStyles = buttons.offsetWidth > container.offsetWidth * .7
6476
6536
  ? {
6477
6537
  paddingTop: `${buttons.offsetHeight + vertical}px`,
6538
+ paddingLeft: `0px`
6478
6539
  } : {
6479
6540
  paddingLeft: `${buttons.offsetWidth + horizontal}px`,
6480
- lineHeight: `${buttons.offsetHeight - vertical}px`
6541
+ lineHeight: `${buttons.offsetHeight - vertical * 2}px`
6481
6542
  };
6482
6543
  }
6483
6544
  onInput(ev) {
@@ -6490,23 +6551,21 @@ class ChipsComponent {
6490
6551
  if (ObjectUtils.isFunction(fn)) {
6491
6552
  fn();
6492
6553
  }
6493
- return;
6554
+ return false;
6494
6555
  }
6495
- return;
6556
+ return false;
6496
6557
  }
6497
6558
  if (ev.key == "Enter") {
6498
- this.enterOption(input.value);
6499
- return;
6559
+ return this.enterOption(input.value);
6500
6560
  }
6501
- if (ev.key == "Backspace") {
6502
- if (!input.value && !changed && this.valueOptions.length > 0) {
6503
- this.makeUndo();
6504
- this.updateValues(this.valueOptions.slice(0, this.valueOptions.length - 1));
6505
- this.onTouched(this.value);
6506
- return;
6507
- }
6561
+ if (ev.key == "Backspace" && !input.value && !changed && this.valueOptions.length > 0) {
6562
+ this.makeUndo();
6563
+ this.updateValues(this.valueOptions.slice(0, this.valueOptions.length - 1));
6564
+ this.onTouched(this.value);
6565
+ return false;
6508
6566
  }
6509
6567
  this.filterOptions();
6568
+ return true;
6510
6569
  }
6511
6570
  onBlur(ev) {
6512
6571
  const input = ev.target;
@@ -6519,7 +6578,7 @@ class ChipsComponent {
6519
6578
  option = this.filteredOptions.find(o => o.label?.match(regex));
6520
6579
  }
6521
6580
  if (!option || (this.unique && this.valueOptions.findIndex(o => o.value === option.value) >= 0)) {
6522
- return;
6581
+ return true;
6523
6582
  }
6524
6583
  this.makeUndo();
6525
6584
  this.updateValues(this.multiple ? this.valueOptions.concat(option) : [option]);
@@ -6529,6 +6588,7 @@ class ChipsComponent {
6529
6588
  input.value = "";
6530
6589
  setTimeout(input.focus.bind(input), 500);
6531
6590
  }
6591
+ return false;
6532
6592
  }
6533
6593
  trackBy(index, option) {
6534
6594
  return `${option.value}-${option.label}`;
@@ -6549,9 +6609,8 @@ class ChipsComponent {
6549
6609
  label,
6550
6610
  };
6551
6611
  }
6552
- createValueOptions(value) {
6553
- const array = Array.isArray(value) ? value : [value];
6554
- const values = array.map(v => {
6612
+ createValueOptions(values) {
6613
+ values = values.filter(ObjectUtils.isDefined).map(v => {
6555
6614
  if (this.type == "number") {
6556
6615
  v = String(v || "0").replace(/([^-\d|.,])/gi, "").replace(/\./gi, ",");
6557
6616
  const value = Math.round((parseFloat(v.replace(/,/gi, ".")) || 0) / this.step) * this.step;
@@ -6566,9 +6625,10 @@ class ChipsComponent {
6566
6625
  }
6567
6626
  updateValue() {
6568
6627
  this.statuses = this.valueOptions.map(o => {
6569
- if (this.type == "number")
6570
- return "primary";
6571
- return String(o.value).length < this.minLength ? "danger" : "primary";
6628
+ if (this.type == "number") {
6629
+ return Number(o.value) < this.min ? "invalid" : "valid";
6630
+ }
6631
+ return String(o.value).length < this.minLength ? "invalid" : "valid";
6572
6632
  });
6573
6633
  return this.multiple
6574
6634
  ? this.valueOptions.map(o => o.value)
@@ -6589,19 +6649,15 @@ class ChipsComponent {
6589
6649
  this.filteredOptions = this.filteredOptions.filter(o => !values.includes(o.value));
6590
6650
  }
6591
6651
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChipsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
6592
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ChipsComponent, isStandalone: false, selector: "chips", inputs: { value: "value", multiple: "multiple", disabled: "disabled", type: "type", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", step: "step", placeholder: "placeholder", unique: "unique", options: "options" }, outputs: { valueChange: "valueChange" }, providers: [{
6593
- provide: NG_VALUE_ACCESSOR,
6594
- useExisting: forwardRef(() => ChipsComponent),
6595
- multi: true,
6596
- }], viewQueries: [{ propertyName: "chipContainer", first: true, predicate: ["chipContainer"], descendants: true }, { propertyName: "chipButtons", first: true, predicate: ["chipButtons"], descendants: true }, { propertyName: "chipInput", first: true, predicate: ["chipInput"], descendants: true }], ngImport: i0, template: "<div class=\"chips\" #chipContainer>\n <div class=\"chip-buttons\" #chipButtons [ngClass]=\"{disabled: disabled}\" (resize)=\"onResize()\">\n <ng-container *ngFor=\"let item of valueOptions; let ix = index; trackBy:trackBy\">\n <a class=\"chip-button btn btn-sm\" [ngClass]=\"'btn' + statuses[ix]\" (dblclick)=\"removeItem($event, ix)\">\n <span *ngIf=\"item.props?.picture\" class=\"chip-picture\">\n <img [src]=\"item.props.picture | safe:'url'\"\n referrerpolicy=\"no-referrer\" [attr.alt]=\"item.label\">\n </span>\n <span class=\"chip-label\">{{ item.label }} </span>\n <span class=\"chip-remove\" (click)=\"removeItem($event, ix)\">x</span>\n </a>\n </ng-container>\n </div>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'number'\">\n <input type=\"number\"\n class=\"form-control\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"valueOptions.length == 0 && placeholder | translate\"\n [ngStyle]=\"inputStyles\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onInput($event)\"\n [typeahead]=\"filteredOptions\"\n typeaheadOptionField=\"label\"\n #chipInput/>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input type=\"text\"\n class=\"form-control\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [disabled]=\"disabled\"\n [placeholder]=\"valueOptions.length == 0 && placeholder | translate\"\n [ngStyle]=\"inputStyles\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onInput($event)\"\n [typeahead]=\"filteredOptions\"\n typeaheadOptionField=\"label\"\n #chipInput/>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".chips{position:relative}.chips .chip-buttons{position:absolute;top:4px;left:5px;max-width:calc(100% - 10px);display:flex;overflow:auto;border-radius:5px}.chips .chip-buttons .chip-button{margin-right:5px;margin-bottom:5px;text-transform:none}.chips .chip-buttons .chip-button .chip-picture{width:28px;height:28px;overflow:hidden;margin-right:5px}.chips .chip-buttons .chip-button .chip-picture img{max-height:100%}.chips .chip-buttons .chip-button .chip-label{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis}.chips .chip-buttons .chip-button .chip-remove{display:inline-block;background:#00000080;font-size:11px;padding:0 9px;margin-left:4px;border-radius:5px;margin-right:-4px}.select-option{display:flex;gap:8px;align-items:center;justify-content:center}.select-option .select-option-picture{width:32px;height:32px;overflow:hidden}.select-option .select-option-picture img{max-height:100%}.select-option .select-option-label{flex:1}\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: 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: "pipe", type: SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
6652
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ChipsComponent, isStandalone: false, selector: "chips", inputs: { value: "value", multiple: "multiple", disabled: "disabled", type: "type", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", step: "step", placeholder: "placeholder", unique: "unique", options: "options" }, outputs: { valueChange: "valueChange" }, providers: [
6653
+ { provide: NG_VALUE_ACCESSOR, useExisting: ChipsComponent, multi: true }
6654
+ ], viewQueries: [{ propertyName: "chipContainer", first: true, predicate: ["chipContainer"], descendants: true }, { propertyName: "chipButtons", first: true, predicate: ["chipButtons"], descendants: true }, { propertyName: "chipInput", first: true, predicate: ["chipInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"chips\" [ngClass]=\"{disabled: disabled}\" #chipContainer>\n <input class=\"chips-input\"\n [type]=\"type == 'number' ? 'number': 'text'\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"valueOptions.length == 0 && placeholder | translate\"\n [ngStyle]=\"inputStyles\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onInput($event)\"\n #chipInput/>\n <div class=\"chips-buttons\" #chipButtons [ngClass]=\"{disabled: disabled}\" (resize)=\"onResize()\">\n <ng-container *ngFor=\"let item of valueOptions; let ix = index; trackBy:trackBy\">\n <a class=\"chips-button\" [ngClass]=\"'chips-' + statuses[ix]\" (dblclick)=\"removeItem($event, ix)\">\n <span *ngIf=\"item.picture\" class=\"chip-picture\">\n <img [src]=\"item.picture | safe:'url'\"\n referrerpolicy=\"no-referrer\" [attr.alt]=\"item.label\">\n </span>\n <span class=\"chips-label\">{{ item.label }} </span>\n <span class=\"chips-remove\" (click)=\"removeItem($event, ix)\" *ngIf=\"!disabled\"></span>\n </a>\n </ng-container>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.chips{--chips-border-size: var(--border-size, 1px);--chips-border-radius: var(--border-radius, 5px);--chips-bg-color: var(--bg-color, #ffffff);--chips-border-color: var(--border-color, #ced4da);--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.disabled{opacity:.75}.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-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}.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 .chips-picture{width:28px;height:28px;overflow:hidden;margin-right:5px}.chips .chips-picture img{max-height:100%}.chips .chips-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chips .chips-remove{position:relative;background:#0003;margin-right:calc(var(--chips-btn-gap) * -1);width:1.2rem;height:1.2rem;font-size:12px;cursor:pointer;border-radius:5px}.chips .chips-remove:after{content:\"\\2716\";position:absolute;top:50%;left:50%;translate:-50% -50%}.select-option{display:flex;gap:8px;align-items:center;justify-content:center}.select-option .select-option-picture{width:32px;height:32px;overflow:hidden}.select-option .select-option-picture img{max-height:100%}.select-option .select-option-label{flex:1}\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: "pipe", type: SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
6597
6655
  }
6598
6656
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChipsComponent, decorators: [{
6599
6657
  type: Component,
6600
- args: [{ standalone: false, selector: "chips", providers: [{
6601
- provide: NG_VALUE_ACCESSOR,
6602
- useExisting: forwardRef(() => ChipsComponent),
6603
- multi: true,
6604
- }], template: "<div class=\"chips\" #chipContainer>\n <div class=\"chip-buttons\" #chipButtons [ngClass]=\"{disabled: disabled}\" (resize)=\"onResize()\">\n <ng-container *ngFor=\"let item of valueOptions; let ix = index; trackBy:trackBy\">\n <a class=\"chip-button btn btn-sm\" [ngClass]=\"'btn' + statuses[ix]\" (dblclick)=\"removeItem($event, ix)\">\n <span *ngIf=\"item.props?.picture\" class=\"chip-picture\">\n <img [src]=\"item.props.picture | safe:'url'\"\n referrerpolicy=\"no-referrer\" [attr.alt]=\"item.label\">\n </span>\n <span class=\"chip-label\">{{ item.label }} </span>\n <span class=\"chip-remove\" (click)=\"removeItem($event, ix)\">x</span>\n </a>\n </ng-container>\n </div>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'number'\">\n <input type=\"number\"\n class=\"form-control\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"valueOptions.length == 0 && placeholder | translate\"\n [ngStyle]=\"inputStyles\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onInput($event)\"\n [typeahead]=\"filteredOptions\"\n typeaheadOptionField=\"label\"\n #chipInput/>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input type=\"text\"\n class=\"form-control\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [disabled]=\"disabled\"\n [placeholder]=\"valueOptions.length == 0 && placeholder | translate\"\n [ngStyle]=\"inputStyles\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onInput($event)\"\n [typeahead]=\"filteredOptions\"\n typeaheadOptionField=\"label\"\n #chipInput/>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".chips{position:relative}.chips .chip-buttons{position:absolute;top:4px;left:5px;max-width:calc(100% - 10px);display:flex;overflow:auto;border-radius:5px}.chips .chip-buttons .chip-button{margin-right:5px;margin-bottom:5px;text-transform:none}.chips .chip-buttons .chip-button .chip-picture{width:28px;height:28px;overflow:hidden;margin-right:5px}.chips .chip-buttons .chip-button .chip-picture img{max-height:100%}.chips .chip-buttons .chip-button .chip-label{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis}.chips .chip-buttons .chip-button .chip-remove{display:inline-block;background:#00000080;font-size:11px;padding:0 9px;margin-left:4px;border-radius:5px;margin-right:-4px}.select-option{display:flex;gap:8px;align-items:center;justify-content:center}.select-option .select-option-picture{width:32px;height:32px;overflow:hidden}.select-option .select-option-picture img{max-height:100%}.select-option .select-option-label{flex:1}\n"] }]
6658
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, selector: "chips", providers: [
6659
+ { provide: NG_VALUE_ACCESSOR, useExisting: ChipsComponent, multi: true }
6660
+ ], template: "<div class=\"chips\" [ngClass]=\"{disabled: disabled}\" #chipContainer>\n <input class=\"chips-input\"\n [type]=\"type == 'number' ? 'number': 'text'\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"valueOptions.length == 0 && placeholder | translate\"\n [ngStyle]=\"inputStyles\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onInput($event)\"\n #chipInput/>\n <div class=\"chips-buttons\" #chipButtons [ngClass]=\"{disabled: disabled}\" (resize)=\"onResize()\">\n <ng-container *ngFor=\"let item of valueOptions; let ix = index; trackBy:trackBy\">\n <a class=\"chips-button\" [ngClass]=\"'chips-' + statuses[ix]\" (dblclick)=\"removeItem($event, ix)\">\n <span *ngIf=\"item.picture\" class=\"chip-picture\">\n <img [src]=\"item.picture | safe:'url'\"\n referrerpolicy=\"no-referrer\" [attr.alt]=\"item.label\">\n </span>\n <span class=\"chips-label\">{{ item.label }} </span>\n <span class=\"chips-remove\" (click)=\"removeItem($event, ix)\" *ngIf=\"!disabled\"></span>\n </a>\n </ng-container>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.chips{--chips-border-size: var(--border-size, 1px);--chips-border-radius: var(--border-radius, 5px);--chips-bg-color: var(--bg-color, #ffffff);--chips-border-color: var(--border-color, #ced4da);--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.disabled{opacity:.75}.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-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}.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 .chips-picture{width:28px;height:28px;overflow:hidden;margin-right:5px}.chips .chips-picture img{max-height:100%}.chips .chips-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chips .chips-remove{position:relative;background:#0003;margin-right:calc(var(--chips-btn-gap) * -1);width:1.2rem;height:1.2rem;font-size:12px;cursor:pointer;border-radius:5px}.chips .chips-remove:after{content:\"\\2716\";position:absolute;top:50%;left:50%;translate:-50% -50%}.select-option{display:flex;gap:8px;align-items:center;justify-content:center}.select-option .select-option-picture{width:32px;height:32px;overflow:hidden}.select-option .select-option-picture img{max-height:100%}.select-option .select-option-label{flex:1}\n"] }]
6605
6661
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { value: [{
6606
6662
  type: Input
6607
6663
  }], multiple: [{
@@ -6791,11 +6847,11 @@ class DropdownBoxComponent {
6791
6847
  this.makeAutoPlacementOpts();
6792
6848
  }
6793
6849
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DropdownBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6794
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", 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;font-size:var(--table-input-font-size, 15px);line-height:var(--table-input-line-height, 18px);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:0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);border-top-width:0;z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-bottom-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:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);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{border-top-width:var(--dd-border-size);border-bottom-width:0;border-radius:var(--dd-top-border-radius)}\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 }); }
6850
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", 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:0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);border-top-width:0;z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-bottom-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:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);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{border-top-width:var(--dd-border-size);border-bottom-width:0;border-radius:var(--dd-top-border-radius)}\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 }); }
6795
6851
  }
6796
6852
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DropdownBoxComponent, decorators: [{
6797
6853
  type: Component,
6798
- args: [{ standalone: false, encapsulation: ViewEncapsulation.None, selector: "dropdown-box", 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;font-size:var(--table-input-font-size, 15px);line-height:var(--table-input-line-height, 18px);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:0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);border-top-width:0;z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-bottom-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:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);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{border-top-width:var(--dd-border-size);border-bottom-width:0;border-radius:var(--dd-top-border-radius)}\n"] }]
6854
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, selector: "dropdown-box", 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:0;padding:0;list-style:none;border:var(--dd-border-size) solid var(--dd-border-color);border-top-width:0;z-index:1;background:var(--dd-bg-color);border-radius:var(--dd-bottom-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:hover,.dropdown-box-content li.active{background-color:var(--dd-highlight-color);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{border-top-width:var(--dd-border-size);border-bottom-width:0;border-radius:var(--dd-top-border-radius)}\n"] }]
6799
6855
  }], ctorParameters: () => [], propDecorators: { closeInside: [{
6800
6856
  type: Input
6801
6857
  }], attachTo: [{
@@ -7684,6 +7740,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
7684
7740
  type: Input
7685
7741
  }] } });
7686
7742
 
7743
+ class TabsComponent {
7744
+ constructor() {
7745
+ this.value = model();
7746
+ this.options = input([]);
7747
+ this.style = input("primary");
7748
+ this.size = input("normal");
7749
+ }
7750
+ select(option) {
7751
+ this.value.set(option.value);
7752
+ }
7753
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7754
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", 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 }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, ngImport: i0, template: "<div class=\"ui-tabs\">\n @for (option of options(); track option.value) {\n <btn [label]=\"option.label\"\n [tooltip]=\"option.tooltip\"\n [icon]=\"option.icon\"\n [disabled]=\"option.disabled\"\n [style]=\"style()\"\n [size]=\"size()\"\n [state]=\"option.value === value() ? 'active' : 'inactive'\"\n (click)=\"select(option)\"></btn>\n }\n</div>\n", styles: [".ui-tabs{display:flex}\n"], dependencies: [{ kind: "directive", type: IconDirective, selector: "[icon]", inputs: ["icon", "activeIcon", "active"], outputs: ["activeChange"] }, { kind: "component", type: BtnComponent, selector: "btn", inputs: ["label", "tooltip", "icon", "disabled", "style", "size", "state"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7755
+ }
7756
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TabsComponent, decorators: [{
7757
+ type: Component,
7758
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: "tabs", template: "<div class=\"ui-tabs\">\n @for (option of options(); track option.value) {\n <btn [label]=\"option.label\"\n [tooltip]=\"option.tooltip\"\n [icon]=\"option.icon\"\n [disabled]=\"option.disabled\"\n [style]=\"style()\"\n [size]=\"size()\"\n [state]=\"option.value === value() ? 'active' : 'inactive'\"\n (click)=\"select(option)\"></btn>\n }\n</div>\n", styles: [".ui-tabs{display:flex}\n"] }]
7759
+ }] });
7760
+
7687
7761
  class UnorderedListComponent {
7688
7762
  constructor(cdr) {
7689
7763
  this.cdr = cdr;
@@ -8038,12 +8112,15 @@ const directives = [
8038
8112
  ];
8039
8113
  // --- Components ---
8040
8114
  const components = [
8115
+ BtnComponent,
8116
+ BtnDefaultComponent,
8041
8117
  ChipsComponent,
8042
8118
  DropListComponent,
8043
8119
  DropdownBoxComponent,
8044
8120
  DynamicTableComponent,
8045
8121
  FakeModuleComponent,
8046
8122
  PaginationMenuComponent,
8123
+ TabsComponent,
8047
8124
  InteractiveCanvasComponent,
8048
8125
  InteractiveItemComponent,
8049
8126
  InteractiveCircleComponent,
@@ -8349,6 +8426,10 @@ class NgxUtilsModule {
8349
8426
  provide: WASI_IMPLEMENTATION,
8350
8427
  useExisting: (!config ? null : config.wasiImplementation) || Wasi
8351
8428
  },
8429
+ {
8430
+ provide: BUTTON_TYPE,
8431
+ useValue: (!config ? null : config.buttonType) || BtnDefaultComponent
8432
+ },
8352
8433
  {
8353
8434
  provide: APP_BASE_URL,
8354
8435
  useFactory: (!config ? null : config.baseUrl) || loadBaseUrl,
@@ -8421,8 +8502,8 @@ class NgxUtilsModule {
8421
8502
  constructor() {
8422
8503
  }
8423
8504
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NgxUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8424
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", 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, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, BackgroundDirective, ComponentLoaderDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownContentDirective, DropdownToggleDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, ChipsComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, FakeModuleComponent, PaginationMenuComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, UnorderedListComponent, UploadComponent], imports: [CommonModule,
8425
- 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, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, BackgroundDirective, ComponentLoaderDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownContentDirective, DropdownToggleDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, ChipsComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, FakeModuleComponent, PaginationMenuComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, UnorderedListComponent, UploadComponent, FormsModule] }); }
8505
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", 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, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, BackgroundDirective, ComponentLoaderDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownContentDirective, DropdownToggleDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, BtnComponent, BtnDefaultComponent, ChipsComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, FakeModuleComponent, PaginationMenuComponent, TabsComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, UnorderedListComponent, UploadComponent], imports: [CommonModule,
8506
+ 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, TranslatePipe, ValuesPipe, AsyncMethodBase, AsyncMethodDirective, BackgroundDirective, ComponentLoaderDirective, DynamicTableTemplateDirective, GlobalTemplateDirective, IconDirective, NgxTemplateOutletDirective, PaginationDirective, PaginationItemDirective, ResourceIfDirective, StickyDirective, StickyClassDirective, DropdownDirective, DropdownContentDirective, DropdownToggleDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, BtnComponent, BtnDefaultComponent, ChipsComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, FakeModuleComponent, PaginationMenuComponent, TabsComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, UnorderedListComponent, UploadComponent, FormsModule] }); }
8426
8507
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NgxUtilsModule, providers: pipes, imports: [CommonModule,
8427
8508
  FormsModule, FormsModule] }); }
8428
8509
  }
@@ -8452,5 +8533,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
8452
8533
  * Generated bundle index. Do not edit.
8453
8534
  */
8454
8535
 
8455
- export { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AuthGuard, BASE_CONFIG, BackgroundDirective, BaseDialogService, BaseHttpClient, BaseHttpService, BaseToasterService, CONFIG_SERVICE, CanvasColor, CanvasUtils, ChipsComponent, ChunkPipe, Circle, ComponentLoaderDirective, ComponentLoaderService, ConfigService, DIALOG_SERVICE, DateUtils, DragDropEventPlugin, DropListComponent, DropdownBoxComponent, DropdownContentDirective, DropdownDirective, DropdownToggleDirective, DynamicTableComponent, DynamicTableTemplateDirective, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, ErrorHandlerService, EventsService, ExtraItemPropertiesPipe, FactoryDependencies, FakeModuleComponent, FileSystemEntry, FileUtils, FilterPipe, FindPipe, ForbiddenZone, FormatNumberPipe, FormatterService, GenericValue, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HttpPromise, ICON_SERVICE, IConfiguration, IconDirective, IconService, IncludesPipe, Initializer, InteractiveCanvasComponent, InteractiveCircleComponent, InteractiveItemComponent, InteractiveRectComponent, IsTypePipe, JSONfn, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, LocalHttpService, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, OPTIONS_TOKEN, ObjectType, ObjectUtils, ObservableUtils, OpenApiService, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PopPipe, PromiseService, RESIZE_DELAY, RESIZE_STRATEGY, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, SCRIPT_PARAMS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, ShiftPipe, SocketClient, SocketService, SplitPipe, StateService, StaticAuthService, StaticLanguageService, StickyClassDirective, StickyDirective, StorageMode, StorageService, StringUtils, TOASTER_SERVICE, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, UploadComponent, ValuedPromise, ValuesPipe, Vector, WASI_IMPLEMENTATION, WasmService, cachedFactory, cancelablePromise, checkTransitions, getComponentDef, hashCode, impatientPromise, parseSelector, provideEntryComponents, provideWithOptions, selectorMatchesList };
8536
+ export { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AuthGuard, BASE_CONFIG, BUTTON_TYPE, BackgroundDirective, BaseDialogService, BaseHttpClient, BaseHttpService, BaseToasterService, BtnComponent, BtnDefaultComponent, CONFIG_SERVICE, CanvasColor, CanvasUtils, ChipsComponent, ChunkPipe, Circle, ComponentLoaderDirective, ComponentLoaderService, ConfigService, DIALOG_SERVICE, DateUtils, DragDropEventPlugin, DropListComponent, DropdownBoxComponent, DropdownContentDirective, DropdownDirective, DropdownToggleDirective, DynamicTableComponent, DynamicTableTemplateDirective, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, ErrorHandlerService, EventsService, ExtraItemPropertiesPipe, FactoryDependencies, FakeModuleComponent, FileSystemEntry, FileUtils, FilterPipe, FindPipe, ForbiddenZone, FormatNumberPipe, FormatterService, GenericValue, GetOffsetPipe, GetTypePipe, GetValuePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HttpPromise, ICON_SERVICE, IConfiguration, IconDirective, IconService, IncludesPipe, Initializer, InteractiveCanvasComponent, InteractiveCircleComponent, InteractiveItemComponent, InteractiveRectComponent, IsTypePipe, JSONfn, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, LocalHttpService, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, OPTIONS_TOKEN, ObjectType, ObjectUtils, ObservableUtils, OpenApiService, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PopPipe, PromiseService, RESIZE_DELAY, RESIZE_STRATEGY, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, SCRIPT_PARAMS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, ShiftPipe, SocketClient, SocketService, SplitPipe, StateService, StaticAuthService, StaticLanguageService, StickyClassDirective, StickyDirective, StorageMode, StorageService, StringUtils, TOASTER_SERVICE, TabsComponent, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, UploadComponent, ValuedPromise, ValuesPipe, Vector, WASI_IMPLEMENTATION, WasmService, cachedFactory, cancelablePromise, checkTransitions, getComponentDef, hashCode, impatientPromise, parseSelector, provideEntryComponents, provideWithOptions, selectorMatchesList };
8456
8537
  //# sourceMappingURL=stemy-ngx-utils.mjs.map