@stemy/ngx-utils 19.5.7 → 19.5.10

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, contentChildren, Renderer2, 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,32 @@ 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 ICON_TYPE = new InjectionToken("icon-component-type");
485
+ const ICON_MAP = new InjectionToken("icon-map");
486
+ const BUTTON_TYPE = new InjectionToken("button-component-type");
487
+ const OPTIONS_TOKEN = new InjectionToken("custom-options-token");
488
+ const ICON_SERVICE = new InjectionToken("icon-service");
489
+ const LANGUAGE_SERVICE = new InjectionToken("language-service");
490
+ const AUTH_SERVICE = new InjectionToken("auth-service");
491
+ const TOASTER_SERVICE = new InjectionToken("toaster-service");
492
+ const DIALOG_SERVICE = new InjectionToken("dialog-service");
493
+ const SOCKET_IO_PATH = new InjectionToken("socket-io-path");
494
+ const PROMISE_SERVICE = new InjectionToken("promise-service");
495
+ const WASI_IMPLEMENTATION = new InjectionToken("wasi-implementation");
496
+ const EXPRESS_REQUEST = new InjectionToken("express-request");
497
+ const API_SERVICE = new InjectionToken("api-service");
490
498
  const DYNAMIC_ENTRY_COMPONENTS = new InjectionToken("dynamic-entry-components");
491
499
  const DYNAMIC_MODULE_INFO = new InjectionToken("dynamic-module-info");
492
- // --- ConfigService ---
493
500
  const APP_BASE_URL = new InjectionToken("app-base-url");
494
- class IConfiguration {
495
- }
496
501
  const CONFIG_SERVICE = new InjectionToken("config-service");
497
502
  const BASE_CONFIG = new InjectionToken("base-config");
498
503
  const SCRIPT_PARAMS = new InjectionToken("script-params");
@@ -500,9 +505,6 @@ const ROOT_ELEMENT = new InjectionToken("app-root-element");
500
505
  const RESIZE_DELAY = new InjectionToken("resize-event-delay");
501
506
  const RESIZE_STRATEGY = new InjectionToken("resize-event-strategy");
502
507
  const ERROR_HANDLER = new InjectionToken("error-handler-callback");
503
- // --- Valued promise ---
504
- class ValuedPromise extends Promise {
505
- }
506
508
 
507
509
  class AjaxRequestHandler {
508
510
  static { this.isOverridden = false; }
@@ -3682,6 +3684,7 @@ class StaticLanguageService {
3682
3684
  this.replaceLanguages(this.languageList.concat(languages));
3683
3685
  }
3684
3686
  getTranslationSync(key, params = null) {
3687
+ key = `${key ?? ""}`;
3685
3688
  if (!key)
3686
3689
  return "";
3687
3690
  try {
@@ -5550,13 +5553,13 @@ class IconDirective {
5550
5553
  });
5551
5554
  }
5552
5555
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IconDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ICON_SERVICE }], target: i0.ɵɵFactoryTarget.Directive }); }
5553
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: IconDirective, isStandalone: false, selector: "[icon]", inputs: { icon: "icon", activeIcon: "activeIcon", active: "active" }, outputs: { activeChange: "activeChange" }, host: { listeners: { "click": "click()" }, properties: { "class.active": "this.isActive" } }, usesOnChanges: true, ngImport: i0 }); }
5556
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", 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 }); }
5554
5557
  }
5555
5558
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IconDirective, decorators: [{
5556
5559
  type: Directive,
5557
5560
  args: [{
5558
5561
  standalone: false,
5559
- selector: "[icon]"
5562
+ selector: "i[icon],b[icon],p[icon],span[icon],a[icon],h1[icon],h2[icon],h3[icon],h4[icon]"
5560
5563
  }]
5561
5564
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
5562
5565
  type: Inject,
@@ -6312,6 +6315,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
6312
6315
  type: Input
6313
6316
  }] } });
6314
6317
 
6318
+ class TabsItemDirective {
6319
+ constructor() {
6320
+ this.value = input(null, { alias: "tabsItem" });
6321
+ this.label = input("");
6322
+ this.tooltip = input("");
6323
+ this.icon = input("");
6324
+ this.disabled = input(false);
6325
+ this.element = inject(ElementRef);
6326
+ }
6327
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TabsItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6328
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.14", 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 } }, ngImport: i0 }); }
6329
+ }
6330
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TabsItemDirective, decorators: [{
6331
+ type: Directive,
6332
+ args: [{
6333
+ standalone: false,
6334
+ selector: "[tabsItem]"
6335
+ }]
6336
+ }] });
6337
+
6315
6338
  class UnorderedListItemDirective {
6316
6339
  get elem() {
6317
6340
  return this.elementRef.nativeElement;
@@ -6408,6 +6431,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
6408
6431
  type: Input
6409
6432
  }] } });
6410
6433
 
6434
+ class BtnComponent {
6435
+ constructor() {
6436
+ this.label = input("");
6437
+ this.tooltip = input("");
6438
+ this.icon = input("");
6439
+ this.disabled = input(false);
6440
+ this.style = input("primary");
6441
+ this.size = input("normal");
6442
+ this.buttonType = inject(BUTTON_TYPE);
6443
+ this.buttonProps = computed(() => {
6444
+ return {
6445
+ label: this.label(),
6446
+ tooltip: this.tooltip(),
6447
+ icon: this.icon(),
6448
+ disabled: this.disabled(),
6449
+ style: this.style(),
6450
+ size: this.size()
6451
+ };
6452
+ });
6453
+ }
6454
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6455
+ 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 } }, ngImport: i0, template: "<ng-container [ngComponentOutlet]=\"buttonType\"\n [ngComponentOutletInputs]=\"buttonProps()\"></ng-container>\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 }); }
6456
+ }
6457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BtnComponent, decorators: [{
6458
+ type: Component,
6459
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: "btn", template: "<ng-container [ngComponentOutlet]=\"buttonType\"\n [ngComponentOutletInputs]=\"buttonProps()\"></ng-container>\n" }]
6460
+ }] });
6461
+
6462
+ class IconComponent {
6463
+ constructor() {
6464
+ this.name = input("trash");
6465
+ this.iconType = inject(ICON_TYPE);
6466
+ this.iconMap = inject(ICON_MAP);
6467
+ this.iconProps = computed(() => {
6468
+ const name = this.name();
6469
+ return {
6470
+ name: this.iconMap[name] || name,
6471
+ };
6472
+ });
6473
+ }
6474
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6475
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.14", 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\"\n [ngComponentOutletInputs]=\"iconProps()\"></ng-container>\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 }); }
6476
+ }
6477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IconComponent, decorators: [{
6478
+ type: Component,
6479
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: "icon", template: "<ng-container [ngComponentOutlet]=\"iconType\"\n [ngComponentOutletInputs]=\"iconProps()\"></ng-container>\n" }]
6480
+ }] });
6481
+
6482
+ class BtnDefaultComponent {
6483
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BtnDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6484
+ 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" }, ngImport: i0, template: "<div class=\"default-btn btn\"\n [title]=\"!tooltip ? '' : tooltip | translate\"\n [ngClass]=\"['btn-' + style, 'btn-' + size]\">\n <icon [name]=\"icon\" *ngIf=\"icon\"></icon>\n <span *ngIf=\"label\">{{ label | translate }}</span>\n</div>\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: "component", type: IconComponent, selector: "icon", inputs: ["name"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
6485
+ }
6486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BtnDefaultComponent, decorators: [{
6487
+ type: Component,
6488
+ 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]\">\n <icon [name]=\"icon\" *ngIf=\"icon\"></icon>\n <span *ngIf=\"label\">{{ label | translate }}</span>\n</div>\n", styles: [".default-btn{display:flex;gap:5px}\n"] }]
6489
+ }], propDecorators: { label: [{
6490
+ type: Input
6491
+ }], tooltip: [{
6492
+ type: Input
6493
+ }], icon: [{
6494
+ type: Input
6495
+ }], disabled: [{
6496
+ type: Input
6497
+ }], style: [{
6498
+ type: Input
6499
+ }], size: [{
6500
+ type: Input
6501
+ }] } });
6502
+
6411
6503
  class ChipsComponent {
6412
6504
  constructor(cdr) {
6413
6505
  this.cdr = cdr;
@@ -6438,9 +6530,16 @@ class ChipsComponent {
6438
6530
  registerOnTouched(fn) {
6439
6531
  this.onTouched = fn;
6440
6532
  }
6441
- writeValue(val) {
6442
- const values = Array.isArray(val) ? val : [val];
6443
- this.valueOptions = this.createValueOptions(values);
6533
+ ngOnChanges(changes) {
6534
+ if (changes.value) {
6535
+ const value = changes.value.currentValue;
6536
+ this.valueOptions = this.createValueOptions(Array.isArray(value) ? value : [value]);
6537
+ this.value = this.updateValue();
6538
+ }
6539
+ this.filterOptions();
6540
+ }
6541
+ writeValue(value) {
6542
+ this.valueOptions = this.createValueOptions(Array.isArray(value) ? value : [value]);
6444
6543
  this.value = this.updateValue();
6445
6544
  this.filterOptions();
6446
6545
  this.cdr.markForCheck();
@@ -6470,14 +6569,15 @@ class ChipsComponent {
6470
6569
  const container = this.chipContainer.nativeElement;
6471
6570
  const buttons = this.chipButtons.nativeElement;
6472
6571
  const style = getComputedStyle(buttons);
6473
- const vertical = parseFloat(style.top) * 2;
6474
- const horizontal = parseFloat(style.left) * 2;
6572
+ const vertical = parseFloat(style.top);
6573
+ const horizontal = parseFloat(style.gap);
6475
6574
  this.inputStyles = buttons.offsetWidth > container.offsetWidth * .7
6476
6575
  ? {
6477
6576
  paddingTop: `${buttons.offsetHeight + vertical}px`,
6577
+ paddingLeft: `0px`
6478
6578
  } : {
6479
6579
  paddingLeft: `${buttons.offsetWidth + horizontal}px`,
6480
- lineHeight: `${buttons.offsetHeight - vertical}px`
6580
+ lineHeight: `${buttons.offsetHeight - vertical * 2}px`
6481
6581
  };
6482
6582
  }
6483
6583
  onInput(ev) {
@@ -6490,23 +6590,21 @@ class ChipsComponent {
6490
6590
  if (ObjectUtils.isFunction(fn)) {
6491
6591
  fn();
6492
6592
  }
6493
- return;
6593
+ return false;
6494
6594
  }
6495
- return;
6595
+ return false;
6496
6596
  }
6497
6597
  if (ev.key == "Enter") {
6498
- this.enterOption(input.value);
6499
- return;
6598
+ return this.enterOption(input.value);
6500
6599
  }
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
- }
6600
+ if (ev.key == "Backspace" && !input.value && !changed && this.valueOptions.length > 0) {
6601
+ this.makeUndo();
6602
+ this.updateValues(this.valueOptions.slice(0, this.valueOptions.length - 1));
6603
+ this.onTouched(this.value);
6604
+ return false;
6508
6605
  }
6509
6606
  this.filterOptions();
6607
+ return true;
6510
6608
  }
6511
6609
  onBlur(ev) {
6512
6610
  const input = ev.target;
@@ -6519,7 +6617,7 @@ class ChipsComponent {
6519
6617
  option = this.filteredOptions.find(o => o.label?.match(regex));
6520
6618
  }
6521
6619
  if (!option || (this.unique && this.valueOptions.findIndex(o => o.value === option.value) >= 0)) {
6522
- return;
6620
+ return true;
6523
6621
  }
6524
6622
  this.makeUndo();
6525
6623
  this.updateValues(this.multiple ? this.valueOptions.concat(option) : [option]);
@@ -6529,6 +6627,7 @@ class ChipsComponent {
6529
6627
  input.value = "";
6530
6628
  setTimeout(input.focus.bind(input), 500);
6531
6629
  }
6630
+ return false;
6532
6631
  }
6533
6632
  trackBy(index, option) {
6534
6633
  return `${option.value}-${option.label}`;
@@ -6549,9 +6648,8 @@ class ChipsComponent {
6549
6648
  label,
6550
6649
  };
6551
6650
  }
6552
- createValueOptions(value) {
6553
- const array = Array.isArray(value) ? value : [value];
6554
- const values = array.map(v => {
6651
+ createValueOptions(values) {
6652
+ values = values.filter(ObjectUtils.isDefined).map(v => {
6555
6653
  if (this.type == "number") {
6556
6654
  v = String(v || "0").replace(/([^-\d|.,])/gi, "").replace(/\./gi, ",");
6557
6655
  const value = Math.round((parseFloat(v.replace(/,/gi, ".")) || 0) / this.step) * this.step;
@@ -6566,9 +6664,10 @@ class ChipsComponent {
6566
6664
  }
6567
6665
  updateValue() {
6568
6666
  this.statuses = this.valueOptions.map(o => {
6569
- if (this.type == "number")
6570
- return "primary";
6571
- return String(o.value).length < this.minLength ? "danger" : "primary";
6667
+ if (this.type == "number") {
6668
+ return Number(o.value) < this.min ? "invalid" : "valid";
6669
+ }
6670
+ return String(o.value).length < this.minLength ? "invalid" : "valid";
6572
6671
  });
6573
6672
  return this.multiple
6574
6673
  ? this.valueOptions.map(o => o.value)
@@ -6589,19 +6688,15 @@ class ChipsComponent {
6589
6688
  this.filteredOptions = this.filteredOptions.filter(o => !values.includes(o.value));
6590
6689
  }
6591
6690
  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" }] }); }
6691
+ 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: [
6692
+ { provide: NG_VALUE_ACCESSOR, useExisting: ChipsComponent, multi: true }
6693
+ ], 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
6694
  }
6598
6695
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChipsComponent, decorators: [{
6599
6696
  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"] }]
6697
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, selector: "chips", providers: [
6698
+ { provide: NG_VALUE_ACCESSOR, useExisting: ChipsComponent, multi: true }
6699
+ ], 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
6700
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { value: [{
6606
6701
  type: Input
6607
6702
  }], multiple: [{
@@ -6791,11 +6886,11 @@ class DropdownBoxComponent {
6791
6886
  this.makeAutoPlacementOpts();
6792
6887
  }
6793
6888
  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 }); }
6889
+ 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
6890
  }
6796
6891
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DropdownBoxComponent, decorators: [{
6797
6892
  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"] }]
6893
+ 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
6894
  }], ctorParameters: () => [], propDecorators: { closeInside: [{
6800
6895
  type: Input
6801
6896
  }], attachTo: [{
@@ -7199,6 +7294,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
7199
7294
  }]
7200
7295
  }] });
7201
7296
 
7297
+ class IconDefaultComponent {
7298
+ constructor() {
7299
+ this.name = "trash";
7300
+ }
7301
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IconDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7302
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: IconDefaultComponent, isStandalone: false, selector: "icon-default", inputs: { name: "name" }, ngImport: i0, template: "<i class=\"fa-solid\" [ngClass]=\"'fa-' + name\"></i>\n", styles: [".fa-solid{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
7303
+ }
7304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IconDefaultComponent, decorators: [{
7305
+ type: Component,
7306
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, selector: "icon-default", template: "<i class=\"fa-solid\" [ngClass]=\"'fa-' + name\"></i>\n", styles: [".fa-solid{display:inline-block}\n"] }]
7307
+ }], propDecorators: { name: [{
7308
+ type: Input
7309
+ }] } });
7310
+
7202
7311
  class InteractiveItemComponent {
7203
7312
  set x(value) {
7204
7313
  if (isNaN(value))
@@ -7684,6 +7793,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
7684
7793
  type: Input
7685
7794
  }] } });
7686
7795
 
7796
+ class TabsComponent {
7797
+ constructor() {
7798
+ this.value = model();
7799
+ this.options = input([]);
7800
+ this.style = input("primary");
7801
+ this.size = input("normal");
7802
+ this.tabItems = contentChildren(TabsItemDirective);
7803
+ this.renderer = inject(Renderer2);
7804
+ this.tabs = computed(() => {
7805
+ const options = Array.from(this.options() || []);
7806
+ const current = this.value();
7807
+ this.tabItems().forEach(item => {
7808
+ const value = item.value();
7809
+ if (current === value) {
7810
+ this.renderer.removeClass(item.element.nativeElement, "hidden-tab");
7811
+ }
7812
+ else {
7813
+ this.renderer.addClass(item.element.nativeElement, "hidden-tab");
7814
+ }
7815
+ if (options.some(o => o.value === value))
7816
+ return;
7817
+ options.push({
7818
+ value,
7819
+ label: item.label(),
7820
+ tooltip: item.tooltip(),
7821
+ icon: item.icon(),
7822
+ disabled: item.disabled(),
7823
+ });
7824
+ });
7825
+ options.forEach(o => {
7826
+ o.active = current === o.value;
7827
+ });
7828
+ return options;
7829
+ });
7830
+ }
7831
+ select(value) {
7832
+ this.value.set(value);
7833
+ }
7834
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7835
+ 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" }, queries: [{ propertyName: "tabItems", predicate: TabsItemDirective, isSignal: true }], ngImport: i0, template: "<ul class=\"ui-tabs\" [ngClass]=\"'style-' + style()\">\n @for (option of tabs(); track option.value) {\n <li [ngClass]=\"option.active ? 'active' : 'inactive'\">\n <btn [label]=\"option.label\"\n [tooltip]=\"option.tooltip\"\n [icon]=\"option.icon\"\n [disabled]=\"option.disabled\"\n [style]=\"option.active ? style() : 'transparent'\"\n [size]=\"size()\"\n (click)=\"select(option.value)\"></btn>\n </li>\n }\n</ul>\n<ng-content></ng-content>\n", styles: [".ui-tabs{--tabs-bg: var(--primary-color, var(--bs-primary, #666666));--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);opacity:.25;border-radius:5px;z-index:0}.ui-tabs li{position:relative;z-index:1}.ui-tabs *{box-sizing:border-box}.ui-tabs.style-secondary{--tabs-bg: var(--secondary-color, var(--bs-secondary, #666666))}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BtnComponent, selector: "btn", inputs: ["label", "tooltip", "icon", "disabled", "style", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7836
+ }
7837
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TabsComponent, decorators: [{
7838
+ type: Component,
7839
+ args: [{ standalone: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: "tabs", template: "<ul class=\"ui-tabs\" [ngClass]=\"'style-' + style()\">\n @for (option of tabs(); track option.value) {\n <li [ngClass]=\"option.active ? 'active' : 'inactive'\">\n <btn [label]=\"option.label\"\n [tooltip]=\"option.tooltip\"\n [icon]=\"option.icon\"\n [disabled]=\"option.disabled\"\n [style]=\"option.active ? style() : 'transparent'\"\n [size]=\"size()\"\n (click)=\"select(option.value)\"></btn>\n </li>\n }\n</ul>\n<ng-content></ng-content>\n", styles: [".ui-tabs{--tabs-bg: var(--primary-color, var(--bs-primary, #666666));--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);opacity:.25;border-radius:5px;z-index:0}.ui-tabs li{position:relative;z-index:1}.ui-tabs *{box-sizing:border-box}.ui-tabs.style-secondary{--tabs-bg: var(--secondary-color, var(--bs-secondary, #666666))}\n"] }]
7840
+ }] });
7841
+
7687
7842
  class UnorderedListComponent {
7688
7843
  constructor(cdr) {
7689
7844
  this.cdr = cdr;
@@ -8033,21 +8188,27 @@ const directives = [
8033
8188
  DropdownDirective,
8034
8189
  DropdownContentDirective,
8035
8190
  DropdownToggleDirective,
8191
+ TabsItemDirective,
8036
8192
  UnorderedListItemDirective,
8037
8193
  UnorderedListTemplateDirective
8038
8194
  ];
8039
8195
  // --- Components ---
8040
8196
  const components = [
8197
+ BtnComponent,
8198
+ BtnDefaultComponent,
8041
8199
  ChipsComponent,
8042
8200
  DropListComponent,
8043
8201
  DropdownBoxComponent,
8044
8202
  DynamicTableComponent,
8045
8203
  FakeModuleComponent,
8046
8204
  PaginationMenuComponent,
8205
+ IconComponent,
8206
+ IconDefaultComponent,
8047
8207
  InteractiveCanvasComponent,
8048
8208
  InteractiveItemComponent,
8049
8209
  InteractiveCircleComponent,
8050
8210
  InteractiveRectComponent,
8211
+ TabsComponent,
8051
8212
  UnorderedListComponent,
8052
8213
  UploadComponent
8053
8214
  ];
@@ -8349,6 +8510,18 @@ class NgxUtilsModule {
8349
8510
  provide: WASI_IMPLEMENTATION,
8350
8511
  useExisting: (!config ? null : config.wasiImplementation) || Wasi
8351
8512
  },
8513
+ {
8514
+ provide: ICON_TYPE,
8515
+ useValue: (!config ? null : config.iconType) || IconDefaultComponent,
8516
+ },
8517
+ {
8518
+ provide: ICON_MAP,
8519
+ useValue: (!config ? null : config.iconMap) || {},
8520
+ },
8521
+ {
8522
+ provide: BUTTON_TYPE,
8523
+ useValue: (!config ? null : config.buttonType) || BtnDefaultComponent
8524
+ },
8352
8525
  {
8353
8526
  provide: APP_BASE_URL,
8354
8527
  useFactory: (!config ? null : config.baseUrl) || loadBaseUrl,
@@ -8421,8 +8594,8 @@ class NgxUtilsModule {
8421
8594
  constructor() {
8422
8595
  }
8423
8596
  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] }); }
8597
+ 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, TabsItemDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, BtnComponent, BtnDefaultComponent, ChipsComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, FakeModuleComponent, PaginationMenuComponent, IconComponent, IconDefaultComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, TabsComponent, UnorderedListComponent, UploadComponent], imports: [CommonModule,
8598
+ 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, TabsItemDirective, UnorderedListItemDirective, UnorderedListTemplateDirective, BtnComponent, BtnDefaultComponent, ChipsComponent, DropListComponent, DropdownBoxComponent, DynamicTableComponent, FakeModuleComponent, PaginationMenuComponent, IconComponent, IconDefaultComponent, InteractiveCanvasComponent, InteractiveItemComponent, InteractiveCircleComponent, InteractiveRectComponent, TabsComponent, UnorderedListComponent, UploadComponent, FormsModule] }); }
8426
8599
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NgxUtilsModule, providers: pipes, imports: [CommonModule,
8427
8600
  FormsModule, FormsModule] }); }
8428
8601
  }
@@ -8452,5 +8625,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
8452
8625
  * Generated bundle index. Do not edit.
8453
8626
  */
8454
8627
 
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 };
8628
+ 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_MAP, ICON_SERVICE, ICON_TYPE, IConfiguration, IconComponent, IconDefaultComponent, 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, TabsItemDirective, 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
8629
  //# sourceMappingURL=stemy-ngx-utils.mjs.map