@fxlt/common-ui 0.0.3 → 0.0.4-beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/components.css CHANGED
@@ -166,6 +166,58 @@ input[type='password'] {
166
166
  }
167
167
 
168
168
  /* system style */
169
+ .txt-heading-03 {
170
+ @apply font-semibold text-2xl tracking-normal leading-10 text-text-primary;
171
+ }
172
+ .txt-heading-04 {
173
+ @apply font-semibold text-xl tracking-normal leading-7 text-text-primary;
174
+ }
175
+ .txt-heading-05 {
176
+ @apply font-semibold text-lg tracking-normal leading-7 text-text-primary;
177
+ }
178
+ .txt-heading-06 {
179
+ @apply font-semibold text-base tracking-normal leading-6 text-text-primary;
180
+ }
181
+ .txt-heading-07 {
182
+ @apply font-semibold text-sm tracking-normal leading-5 text-text-primary;
183
+ }
184
+ .txt-heading-compact-02 {
185
+ @apply font-semibold text-sm tracking-normal leading-5 text-text-primary;
186
+ }
187
+ .txt-body-compact-01 {
188
+ @apply font-normal text-sm tracking-normal leading-5 text-text-primary;
189
+ }
190
+ .txt-body-01 {
191
+ @apply font-normal text-sm tracking-normal leading-5 text-text-primary;
192
+ }
193
+ .txt-body-02 {
194
+ @apply font-normal text-base tracking-normal leading-6 text-text-primary;
195
+ }
196
+ .txt-body-medium-01 {
197
+ @apply font-medium text-sm tracking-normal leading-5 text-text-primary;
198
+ }
199
+ .txt-body-medium-02 {
200
+ @apply font-medium text-base tracking-normal leading-6 text-text-primary;
201
+ }
202
+ .txt-body-p-bold {
203
+ @apply font-semibold text-sm tracking-normal leading-5 text-text-primary;
204
+ }
205
+ .txt-body-p-normal {
206
+ @apply font-normal text-sm tracking-normal leading-5 text-text-primary;
207
+ }
208
+ .txt-utility-caption {
209
+ @apply font-normal text-xs tracking-normal leading-4 text-text-primary;
210
+ }
211
+ .txt-utility-button {
212
+ @apply font-semibold text-sm tracking-normal leading-5 text-text-primary;
213
+ }
214
+ .txt-utility-description {
215
+ @apply font-light text-xs tracking-normal leading-4 text-text-secondary;
216
+ }
217
+ .txt-tag-label {
218
+ @apply font-medium text-xs;
219
+ }
220
+
169
221
  .txt-page-title {
170
222
  @apply text-3xl text-text-primary font-semibold tracking-normal leading-10;
171
223
  }
@@ -190,9 +242,6 @@ input[type='password'] {
190
242
  .txt-section-header {
191
243
  @apply mb-1 text-xl text-text-primary font-semibold tracking-normal leading-7;
192
244
  }
193
- .txt-dialog-header {
194
- @apply text-xl text-text-primary font-semibold tracking-normal leading-7 px-xl py-semi;
195
- }
196
245
  .txt-section-subtitle {
197
246
  @apply text-sm text-text-secondary font-normal tracking-normal;
198
247
  }
@@ -393,9 +442,12 @@ input[type='password'] {
393
442
  .table-status-col {
394
443
  width: 200px;
395
444
  }
445
+ .table-empty {
446
+ @apply w-full h-[100px] flex items-center justify-center;
447
+ }
396
448
  .dialog-container {
397
449
  @apply rounded-lg border border-border-default;
398
450
  }
399
- .table-empty {
400
- @apply w-full h-[100px] flex items-center justify-center;
451
+ .dialog-header {
452
+ @apply px-xl py-semi;
401
453
  }
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input, Component, createComponent, Injectable, ViewChild, Inject, EventEmitter, NgModule, HostListener, PLATFORM_ID, Output, Optional, Self, ChangeDetectionStrategy, TemplateRef, ContentChildren, importProvidersFrom } from '@angular/core';
3
- import * as i31 from '@angular/material/paginator';
2
+ import { Directive, Input, Component, createComponent, Injectable, ViewChild, Inject, EventEmitter, NgModule, HostListener, PLATFORM_ID, Output, Optional, Self, ChangeDetectionStrategy, TemplateRef, ContentChildren, ViewChildren, importProvidersFrom } from '@angular/core';
3
+ import * as i32 from '@angular/material/paginator';
4
4
  import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
5
- import * as i32 from '@angular/material/table';
5
+ import * as i33 from '@angular/material/table';
6
6
  import { MatTableDataSource, MatTable, MatTableModule } from '@angular/material/table';
7
7
  import * as i2 from '@angular/common';
8
8
  import { isPlatformBrowser, CommonModule } from '@angular/common';
@@ -23,36 +23,36 @@ import * as i2$2 from '@angular/router';
23
23
  import { catchError } from 'rxjs/operators';
24
24
  import * as i3$1 from '@angular/material/select';
25
25
  import { MatSelectModule } from '@angular/material/select';
26
- import * as i28 from '@angular/material/radio';
26
+ import * as i29 from '@angular/material/radio';
27
27
  import { MatRadioModule } from '@angular/material/radio';
28
- import * as i29 from '@angular/material/button';
28
+ import * as i30 from '@angular/material/button';
29
29
  import { MatButtonModule } from '@angular/material/button';
30
- import * as i30 from '@angular/material/icon';
30
+ import * as i31 from '@angular/material/icon';
31
31
  import { MatIconModule } from '@angular/material/icon';
32
- import * as i33 from '@angular/material/snack-bar';
32
+ import * as i34 from '@angular/material/snack-bar';
33
33
  import { MatSnackBarModule } from '@angular/material/snack-bar';
34
- import * as i35 from '@angular/material/checkbox';
34
+ import * as i36 from '@angular/material/checkbox';
35
35
  import { MatCheckboxModule } from '@angular/material/checkbox';
36
- import * as i36 from '@angular/material/card';
36
+ import * as i37 from '@angular/material/card';
37
37
  import { MatCardModule } from '@angular/material/card';
38
- import * as i37 from '@angular/material/datepicker';
38
+ import * as i38 from '@angular/material/datepicker';
39
39
  import { MatDatepickerModule } from '@angular/material/datepicker';
40
- import * as i38 from '@angular/material/timepicker';
40
+ import * as i39 from '@angular/material/timepicker';
41
41
  import { MatTimepickerModule } from '@angular/material/timepicker';
42
- import * as i39 from '@angular/material/badge';
42
+ import * as i40 from '@angular/material/badge';
43
43
  import { MatBadgeModule } from '@angular/material/badge';
44
- import * as i40 from '@angular/material/expansion';
44
+ import * as i41 from '@angular/material/expansion';
45
45
  import { MatExpansionModule } from '@angular/material/expansion';
46
- import * as i41 from '@angular/material/form-field';
46
+ import * as i42 from '@angular/material/form-field';
47
47
  import { MatFormFieldModule } from '@angular/material/form-field';
48
- import * as i42 from '@angular/material/menu';
48
+ import * as i43 from '@angular/material/menu';
49
49
  import { MatMenuModule } from '@angular/material/menu';
50
50
  import * as i3 from '@danielmoncada/angular-datetime-picker';
51
51
  import { OwlDateTimeModule, OwlNativeDateTimeModule, OWL_DATE_TIME_FORMATS } from '@danielmoncada/angular-datetime-picker';
52
52
  import * as i2$3 from 'ngx-echarts';
53
53
  import { NgxEchartsModule } from 'ngx-echarts';
54
54
  import { __decorate, __param } from 'tslib';
55
- import * as i25 from 'ngx-vflow';
55
+ import * as i26 from 'ngx-vflow';
56
56
  import { Vflow } from 'ngx-vflow';
57
57
  import { OwlMomentDateTimeModule } from '@danielmoncada/angular-datetime-picker-moment-adapter';
58
58
 
@@ -1192,6 +1192,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1192
1192
  args: [PLATFORM_ID]
1193
1193
  }] }] });
1194
1194
 
1195
+ class ThemeService {
1196
+ renderer;
1197
+ lightClass = 'light_theme';
1198
+ theme$ = new BehaviorSubject('dark');
1199
+ themeStorageKey = 'host-theme';
1200
+ constructor(rendererFactory) {
1201
+ this.renderer = rendererFactory.createRenderer(null, null);
1202
+ const savedTheme = localStorage.getItem(this.themeStorageKey);
1203
+ if (savedTheme) {
1204
+ this.setLightMode(savedTheme === 'light');
1205
+ }
1206
+ else {
1207
+ const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
1208
+ const isDark = document.body.classList.contains(this.lightClass) || prefersDark;
1209
+ this.setLightMode(isDark);
1210
+ }
1211
+ }
1212
+ setLightMode(enable) {
1213
+ if (enable) {
1214
+ this.renderer.addClass(document.body, this.lightClass);
1215
+ this.theme$.next('light');
1216
+ localStorage.setItem(this.themeStorageKey, 'light');
1217
+ }
1218
+ else {
1219
+ this.renderer.removeClass(document.body, this.lightClass);
1220
+ this.theme$.next('dark');
1221
+ localStorage.setItem(this.themeStorageKey, 'dark');
1222
+ }
1223
+ window.dispatchEvent(new CustomEvent('theme-changed', { detail: { dark: !enable } }));
1224
+ }
1225
+ toggleTheme() {
1226
+ const isLight = this.theme$.value === 'light';
1227
+ this.setLightMode(!isLight);
1228
+ }
1229
+ themeChanges() {
1230
+ return this.theme$.asObservable();
1231
+ }
1232
+ getCurrentTheme() {
1233
+ return this.theme$.value;
1234
+ }
1235
+ isLight() {
1236
+ return this.theme$.value === 'light';
1237
+ }
1238
+ getLogoPath() {
1239
+ return 'assets/images/logo.png';
1240
+ }
1241
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ThemeService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
1242
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ThemeService, providedIn: 'root' });
1243
+ }
1244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ThemeService, decorators: [{
1245
+ type: Injectable,
1246
+ args: [{ providedIn: 'root' }]
1247
+ }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
1248
+
1195
1249
  const MATERIAL_MODULE = [
1196
1250
  MatSelectModule,
1197
1251
  MatRadioModule,
@@ -1863,7 +1917,7 @@ class FlowConnection {
1863
1917
  ];
1864
1918
  }
1865
1919
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: FlowConnection, deps: [], target: i0.ɵɵFactoryTarget.Component });
1866
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.4", type: FlowConnection, isStandalone: false, selector: "fx-ui-flow-connection", inputs: { nodes: "nodes", edges: "edges", backgroundColor: "backgroundColor", view: "view" }, ngImport: i0, template: "<vflow\n [background]=\"{\n type: 'solid',\n color: `rgba(var(${backgroundColor})`\n}\"\n [nodes]=\"nodes\"\n [edges]=\"edges\"\n (onConnect)=\"handleConnection($event)\"\n [view]=\"view\"\n/>\n", styles: [""], dependencies: [{ kind: "component", type: i25.VflowComponent, selector: "vflow", inputs: ["view", "minZoom", "maxZoom", "background", "optimization", "entitiesSelectable", "keyboardShortcuts", "connection", "snapGrid", "elevateNodesOnSelect", "elevateEdgesOnSelect", "nodes", "alignmentHelper", "edges"], outputs: ["onComponentNodeEvent"] }, { kind: "directive", type: i25.ConnectionControllerDirective, selector: "[onConnect], [onReconnect]", outputs: ["onConnect", "onReconnect"] }] });
1920
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.4", type: FlowConnection, isStandalone: false, selector: "fx-ui-flow-connection", inputs: { nodes: "nodes", edges: "edges", backgroundColor: "backgroundColor", view: "view" }, ngImport: i0, template: "<vflow\n [background]=\"{\n type: 'solid',\n color: `rgba(var(${backgroundColor})`\n}\"\n [nodes]=\"nodes\"\n [edges]=\"edges\"\n (onConnect)=\"handleConnection($event)\"\n [view]=\"view\"\n/>\n", styles: [""], dependencies: [{ kind: "component", type: i26.VflowComponent, selector: "vflow", inputs: ["view", "minZoom", "maxZoom", "background", "optimization", "entitiesSelectable", "keyboardShortcuts", "connection", "snapGrid", "elevateNodesOnSelect", "elevateEdgesOnSelect", "nodes", "alignmentHelper", "edges"], outputs: ["onComponentNodeEvent"] }, { kind: "directive", type: i26.ConnectionControllerDirective, selector: "[onConnect], [onReconnect]", outputs: ["onConnect", "onReconnect"] }] });
1867
1921
  }
1868
1922
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: FlowConnection, decorators: [{
1869
1923
  type: Component,
@@ -2662,6 +2716,109 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2662
2716
  type: Input
2663
2717
  }] } });
2664
2718
 
2719
+ class TreeDiagram {
2720
+ zone;
2721
+ cdr;
2722
+ data;
2723
+ container;
2724
+ root;
2725
+ children;
2726
+ lines = [];
2727
+ svgWidth = 0;
2728
+ svgHeight = 0;
2729
+ resizeObserver;
2730
+ rafId;
2731
+ constructor(zone, cdr) {
2732
+ this.zone = zone;
2733
+ this.cdr = cdr;
2734
+ }
2735
+ ngAfterViewInit() {
2736
+ this.zone.runOutsideAngular(() => {
2737
+ this.resizeObserver = new ResizeObserver((entries) => {
2738
+ const rect = entries[0].contentRect;
2739
+ if (rect.width === 0 || rect.height === 0)
2740
+ return;
2741
+ this.scheduleDraw();
2742
+ });
2743
+ this.resizeObserver.observe(this.container.nativeElement);
2744
+ setTimeout(() => this.scheduleDraw(), 50);
2745
+ setTimeout(() => this.scheduleDraw(), 150);
2746
+ });
2747
+ this.children.changes.subscribe(() => this.scheduleDraw());
2748
+ }
2749
+ ngOnDestroy() {
2750
+ this.resizeObserver?.disconnect();
2751
+ if (this.rafId)
2752
+ cancelAnimationFrame(this.rafId);
2753
+ }
2754
+ scheduleDraw() {
2755
+ if (this.rafId)
2756
+ cancelAnimationFrame(this.rafId);
2757
+ this.rafId = requestAnimationFrame(() => {
2758
+ this.drawLines();
2759
+ });
2760
+ }
2761
+ drawLines() {
2762
+ if (!this.root || !this.children.length)
2763
+ return;
2764
+ const containerEl = this.container.nativeElement;
2765
+ const rect = containerEl.getBoundingClientRect();
2766
+ if (rect.width === 0 || rect.height === 0)
2767
+ return;
2768
+ const rootRect = this.root.nativeElement.getBoundingClientRect();
2769
+ const rootX = rootRect.left + rootRect.width / 2 - rect.left;
2770
+ const rootBottomY = rootRect.bottom - rect.top;
2771
+ const childRects = this.children.map(c => c.nativeElement.getBoundingClientRect());
2772
+ const childCenters = childRects.map(r => ({
2773
+ x: r.left + r.width / 2 - rect.left,
2774
+ y: r.top - rect.top
2775
+ }));
2776
+ const horizontalY = childCenters[0].y - 24;
2777
+ this.zone.run(() => {
2778
+ this.svgWidth = rect.width;
2779
+ this.svgHeight = rect.height;
2780
+ this.lines = [
2781
+ {
2782
+ x1: rootX,
2783
+ y1: rootBottomY,
2784
+ x2: rootX,
2785
+ y2: horizontalY
2786
+ },
2787
+ {
2788
+ x1: childCenters[0].x,
2789
+ y1: horizontalY,
2790
+ x2: childCenters[childCenters.length - 1].x,
2791
+ y2: horizontalY
2792
+ },
2793
+ ...childCenters.map(c => ({
2794
+ x1: c.x,
2795
+ y1: horizontalY,
2796
+ x2: c.x,
2797
+ y2: c.y
2798
+ }))
2799
+ ];
2800
+ });
2801
+ this.cdr.detectChanges();
2802
+ }
2803
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeDiagram, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2804
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.4", type: TreeDiagram, isStandalone: false, selector: "fx-ui-tree-diagram", inputs: { data: "data" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "root", first: true, predicate: ["root"], descendants: true }, { propertyName: "children", predicate: ["child"], descendants: true }], ngImport: i0, template: "<div class=\"relative p-8\" #container>\n\n <!-- ROOT -->\n <div\n #root\n class=\"mx-auto w-fit bg-blue-600 text-white px-7 py-3 rounded-md font-semibold text-center\"\n >\n {{ data.label }}\n </div>\n\n <!-- CHILDREN -->\n <div class=\"mt-16 flex justify-center gap-16\">\n <div\n *ngFor=\"let child of data.children\"\n #child\n class=\"w-48 bg-rose-600 text-white px-4 py-4 rounded-lg text-center\"\n >\n <div class=\"font-semibold text-lg\">{{ child.label }}</div>\n <div class=\"mt-1 text-sm opacity-90\">{{ child.status }}</div>\n </div>\n </div>\n\n <!-- SVG CONNECTORS -->\n <svg\n class=\"absolute inset-0 pointer-events-none\"\n [attr.width]=\"svgWidth\"\n [attr.height]=\"svgHeight\"\n >\n <line\n *ngFor=\"let line of lines\"\n [attr.x1]=\"line.x1\"\n [attr.y1]=\"line.y1\"\n [attr.x2]=\"line.x2\"\n [attr.y2]=\"line.y2\"\n stroke=\"#1f2937\"\n stroke-width=\"2\"\n />\n </svg>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
2805
+ }
2806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeDiagram, decorators: [{
2807
+ type: Component,
2808
+ args: [{ selector: 'fx-ui-tree-diagram', standalone: false, template: "<div class=\"relative p-8\" #container>\n\n <!-- ROOT -->\n <div\n #root\n class=\"mx-auto w-fit bg-blue-600 text-white px-7 py-3 rounded-md font-semibold text-center\"\n >\n {{ data.label }}\n </div>\n\n <!-- CHILDREN -->\n <div class=\"mt-16 flex justify-center gap-16\">\n <div\n *ngFor=\"let child of data.children\"\n #child\n class=\"w-48 bg-rose-600 text-white px-4 py-4 rounded-lg text-center\"\n >\n <div class=\"font-semibold text-lg\">{{ child.label }}</div>\n <div class=\"mt-1 text-sm opacity-90\">{{ child.status }}</div>\n </div>\n </div>\n\n <!-- SVG CONNECTORS -->\n <svg\n class=\"absolute inset-0 pointer-events-none\"\n [attr.width]=\"svgWidth\"\n [attr.height]=\"svgHeight\"\n >\n <line\n *ngFor=\"let line of lines\"\n [attr.x1]=\"line.x1\"\n [attr.y1]=\"line.y1\"\n [attr.x2]=\"line.x2\"\n [attr.y2]=\"line.y2\"\n stroke=\"#1f2937\"\n stroke-width=\"2\"\n />\n </svg>\n\n</div>\n" }]
2809
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { data: [{
2810
+ type: Input
2811
+ }], container: [{
2812
+ type: ViewChild,
2813
+ args: ['container']
2814
+ }], root: [{
2815
+ type: ViewChild,
2816
+ args: ['root']
2817
+ }], children: [{
2818
+ type: ViewChildren,
2819
+ args: ['child']
2820
+ }] } });
2821
+
2665
2822
  const FX_COMPONENTS = [
2666
2823
  InputComponent,
2667
2824
  SelectComponent,
@@ -2686,6 +2843,7 @@ const FX_COMPONENTS = [
2686
2843
  SkeletonTableLoadingComponent,
2687
2844
  FlowConnection,
2688
2845
  CircleProgressBar,
2846
+ TreeDiagram,
2689
2847
  ];
2690
2848
 
2691
2849
  class ConfirmationDialogComponent {
@@ -2741,7 +2899,7 @@ const MY_MOMENT_FORMATS = {
2741
2899
  };
2742
2900
  class UiModule {
2743
2901
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: UiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2744
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: UiModule, declarations: [InputComponent, SelectComponent, RadioButtonComponent, CheckboxComponent, DndUploadComponent, ButtonComponent, RadioButtonToggleComponent, DatetimePicker, LoadingPanel, SearchBarComponent, TabGroupComponent, TabComponent, HeroIconComponent, ToastComponent, ToastContainerComponent, TagComponent, ChartComponent, SliderComponent, SwitchComponent, RichTextAreaComponent, SkeletonTableLoadingComponent, FlowConnection, CircleProgressBar, ConfirmationDialogComponent], imports: [CommonModule,
2902
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: UiModule, declarations: [InputComponent, SelectComponent, RadioButtonComponent, CheckboxComponent, DndUploadComponent, ButtonComponent, RadioButtonToggleComponent, DatetimePicker, LoadingPanel, SearchBarComponent, TabGroupComponent, TabComponent, HeroIconComponent, ToastComponent, ToastContainerComponent, TagComponent, ChartComponent, SliderComponent, SwitchComponent, RichTextAreaComponent, SkeletonTableLoadingComponent, FlowConnection, CircleProgressBar, TreeDiagram, ConfirmationDialogComponent], imports: [CommonModule,
2745
2903
  FormsModule,
2746
2904
  ReactiveFormsModule,
2747
2905
  OwlDateTimeModule,
@@ -2749,14 +2907,14 @@ class UiModule {
2749
2907
  OwlMomentDateTimeModule,
2750
2908
  HasPermissionDirective,
2751
2909
  TrimOnBlurDirective,
2752
- NgHeroiconsModule, i25.VflowComponent, i25.HandleComponent, i25.ResizableComponent, i25.SelectableDirective, i25.MiniMapComponent, i25.NodeToolbarComponent, i25.CustomTemplateEdgeComponent, i25.DragHandleDirective, i25.ConnectionControllerDirective, i25.NodeHtmlTemplateDirective, i25.NodeSvgTemplateDirective, i25.GroupNodeTemplateDirective, i25.EdgeLabelHtmlTemplateDirective, i25.EdgeTemplateDirective, i25.ConnectionTemplateDirective, i25.HandleTemplateDirective, i2$3.NgxEchartsModule, i3$1.MatSelectModule, i28.MatRadioModule, i29.MatButtonModule, i30.MatIconModule, i31.MatPaginatorModule, i32.MatTableModule, i33.MatSnackBarModule, i1$1.MatDialogModule, i35.MatCheckboxModule, i36.MatCardModule, i37.MatDatepickerModule, i38.MatTimepickerModule, i39.MatBadgeModule, i40.MatExpansionModule, i41.MatFormFieldModule, i42.MatMenuModule], exports: [InputComponent, SelectComponent, RadioButtonComponent, CheckboxComponent, DndUploadComponent, ButtonComponent, RadioButtonToggleComponent, DatetimePicker, LoadingPanel, SearchBarComponent, TabGroupComponent, TabComponent, HeroIconComponent, ToastComponent, ToastContainerComponent, TagComponent, ChartComponent, SliderComponent, SwitchComponent, RichTextAreaComponent, SkeletonTableLoadingComponent, FlowConnection, CircleProgressBar, ConfirmationDialogComponent,
2910
+ NgHeroiconsModule, i26.VflowComponent, i26.HandleComponent, i26.ResizableComponent, i26.SelectableDirective, i26.MiniMapComponent, i26.NodeToolbarComponent, i26.CustomTemplateEdgeComponent, i26.DragHandleDirective, i26.ConnectionControllerDirective, i26.NodeHtmlTemplateDirective, i26.NodeSvgTemplateDirective, i26.GroupNodeTemplateDirective, i26.EdgeLabelHtmlTemplateDirective, i26.EdgeTemplateDirective, i26.ConnectionTemplateDirective, i26.HandleTemplateDirective, i2$3.NgxEchartsModule, i3$1.MatSelectModule, i29.MatRadioModule, i30.MatButtonModule, i31.MatIconModule, i32.MatPaginatorModule, i33.MatTableModule, i34.MatSnackBarModule, i1$1.MatDialogModule, i36.MatCheckboxModule, i37.MatCardModule, i38.MatDatepickerModule, i39.MatTimepickerModule, i40.MatBadgeModule, i41.MatExpansionModule, i42.MatFormFieldModule, i43.MatMenuModule], exports: [InputComponent, SelectComponent, RadioButtonComponent, CheckboxComponent, DndUploadComponent, ButtonComponent, RadioButtonToggleComponent, DatetimePicker, LoadingPanel, SearchBarComponent, TabGroupComponent, TabComponent, HeroIconComponent, ToastComponent, ToastContainerComponent, TagComponent, ChartComponent, SliderComponent, SwitchComponent, RichTextAreaComponent, SkeletonTableLoadingComponent, FlowConnection, CircleProgressBar, TreeDiagram, ConfirmationDialogComponent,
2753
2911
  // Module
2754
2912
  FormsModule,
2755
2913
  ReactiveFormsModule,
2756
2914
  OwlDateTimeModule,
2757
2915
  OwlNativeDateTimeModule,
2758
2916
  HasPermissionDirective,
2759
- NgHeroiconsModule, i3$1.MatSelectModule, i28.MatRadioModule, i29.MatButtonModule, i30.MatIconModule, i31.MatPaginatorModule, i32.MatTableModule, i33.MatSnackBarModule, i1$1.MatDialogModule, i35.MatCheckboxModule, i36.MatCardModule, i37.MatDatepickerModule, i38.MatTimepickerModule, i39.MatBadgeModule, i40.MatExpansionModule, i41.MatFormFieldModule, i42.MatMenuModule] });
2917
+ NgHeroiconsModule, i3$1.MatSelectModule, i29.MatRadioModule, i30.MatButtonModule, i31.MatIconModule, i32.MatPaginatorModule, i33.MatTableModule, i34.MatSnackBarModule, i1$1.MatDialogModule, i36.MatCheckboxModule, i37.MatCardModule, i38.MatDatepickerModule, i39.MatTimepickerModule, i40.MatBadgeModule, i41.MatExpansionModule, i42.MatFormFieldModule, i43.MatMenuModule] });
2760
2918
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: UiModule, providers: [
2761
2919
  importProvidersFrom(NgHeroiconsModule.forRoot()),
2762
2920
  { provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS },
@@ -2766,13 +2924,13 @@ class UiModule {
2766
2924
  OwlDateTimeModule,
2767
2925
  OwlNativeDateTimeModule,
2768
2926
  OwlMomentDateTimeModule,
2769
- NgHeroiconsModule, i25.VflowComponent, i25.HandleComponent, i25.ResizableComponent, i25.MiniMapComponent, i25.NodeToolbarComponent, i25.CustomTemplateEdgeComponent, NgxEchartsModule.forRoot({ echarts: () => import('echarts') }), MATERIAL_MODULE,
2927
+ NgHeroiconsModule, i26.VflowComponent, i26.HandleComponent, i26.ResizableComponent, i26.MiniMapComponent, i26.NodeToolbarComponent, i26.CustomTemplateEdgeComponent, NgxEchartsModule.forRoot({ echarts: () => import('echarts') }), MATERIAL_MODULE,
2770
2928
  // Module
2771
2929
  FormsModule,
2772
2930
  ReactiveFormsModule,
2773
2931
  OwlDateTimeModule,
2774
2932
  OwlNativeDateTimeModule,
2775
- NgHeroiconsModule, i3$1.MatSelectModule, i28.MatRadioModule, i29.MatButtonModule, i30.MatIconModule, i31.MatPaginatorModule, i32.MatTableModule, i33.MatSnackBarModule, i1$1.MatDialogModule, i35.MatCheckboxModule, i36.MatCardModule, i37.MatDatepickerModule, i38.MatTimepickerModule, i39.MatBadgeModule, i40.MatExpansionModule, i41.MatFormFieldModule, i42.MatMenuModule] });
2933
+ NgHeroiconsModule, i3$1.MatSelectModule, i29.MatRadioModule, i30.MatButtonModule, i31.MatIconModule, i32.MatPaginatorModule, i33.MatTableModule, i34.MatSnackBarModule, i1$1.MatDialogModule, i36.MatCheckboxModule, i37.MatCardModule, i38.MatDatepickerModule, i39.MatTimepickerModule, i40.MatBadgeModule, i41.MatExpansionModule, i42.MatFormFieldModule, i43.MatMenuModule] });
2776
2934
  }
2777
2935
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: UiModule, decorators: [{
2778
2936
  type: NgModule,
@@ -2820,5 +2978,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2820
2978
  * Generated bundle index. Do not edit.
2821
2979
  */
2822
2980
 
2823
- export { AuthInterceptor, AuthStateService, BaseComponent, BaseDialogComponent, BaseResolver, BaseTableComponent, BreadcrumbService, ButtonComponent, ChartComponent, CheckboxComponent, CircleProgressBar, ConfirmationDialogComponent, DatetimePicker, DndUploadComponent, FlowConnection, FxLoadingService, FxStorageService, FxToastrService, FxUtils, HasPermissionDirective, HeroIconComponent, HttpLoaderFactory, HttpWrapper, InputComponent, LoadingPanel, MY_MOMENT_FORMATS, PermissionGuard, PermissionService, QuillStyleLoaderService, RadioButtonComponent, RadioButtonToggleComponent, RichTextAreaComponent, SearchBarComponent, SelectComponent, SkeletonTableLoadingComponent, SliderComponent, SwitchComponent, TabComponent, TabGroupComponent, TagComponent, ToastComponent, ToastContainerComponent, TranslationModule, TranslationService, TrimOnBlurDirective, UiModule };
2981
+ export { AuthInterceptor, AuthStateService, BaseComponent, BaseDialogComponent, BaseResolver, BaseTableComponent, BreadcrumbService, ButtonComponent, ChartComponent, CheckboxComponent, CircleProgressBar, ConfirmationDialogComponent, DatetimePicker, DndUploadComponent, FlowConnection, FxLoadingService, FxStorageService, FxToastrService, FxUtils, HasPermissionDirective, HeroIconComponent, HttpLoaderFactory, HttpWrapper, InputComponent, LoadingPanel, MY_MOMENT_FORMATS, PermissionGuard, PermissionService, QuillStyleLoaderService, RadioButtonComponent, RadioButtonToggleComponent, RichTextAreaComponent, SearchBarComponent, SelectComponent, SkeletonTableLoadingComponent, SliderComponent, SwitchComponent, TabComponent, TabGroupComponent, TagComponent, ThemeService, ToastComponent, ToastContainerComponent, TranslationModule, TranslationService, TreeDiagram, TrimOnBlurDirective, UiModule };
2824
2982
  //# sourceMappingURL=fxlt-common-ui.mjs.map