@foxeltech/angular-ui 0.3.1 → 0.4.0
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/fesm2022/foxeltech-angular-ui-chart.mjs +392 -0
- package/fesm2022/foxeltech-angular-ui-chart.mjs.map +1 -0
- package/fesm2022/foxeltech-angular-ui-flow.mjs +38 -0
- package/fesm2022/foxeltech-angular-ui-flow.mjs.map +1 -0
- package/fesm2022/foxeltech-angular-ui-rich-text.mjs +156 -0
- package/fesm2022/foxeltech-angular-ui-rich-text.mjs.map +1 -0
- package/fesm2022/foxeltech-angular-ui.mjs +773 -1382
- package/fesm2022/foxeltech-angular-ui.mjs.map +1 -1
- package/fx-icons.svg +97 -0
- package/package.json +14 -8
- package/src/lib/styles/tailwind.css +0 -1
- package/src/lib/ui/components/button/button.component.html +14 -14
- package/src/lib/ui/components/checkbox/checkbox.component.html +2 -2
- package/src/lib/ui/components/circle-progress-bar/circle-progress-bar.component.html +2 -2
- package/src/lib/ui/components/datetime-picker/datetime-picker.component.html +49 -27
- package/src/lib/ui/components/datetime-picker/datetime-picker.component.scss +25 -137
- package/src/lib/ui/components/dnd-upload/dnd-upload.component.html +3 -3
- package/src/lib/ui/components/drawer/drawer.component.html +1 -1
- package/src/lib/ui/components/empty-state/empty-state.component.html +2 -2
- package/src/lib/ui/components/hero-icon/hero-icon.component.html +10 -9
- package/src/lib/ui/components/info-field/info-field.component.html +1 -1
- package/src/lib/ui/components/input/input.component.html +6 -6
- package/src/lib/ui/components/kanban-board/kanban-board.component.html +1 -1
- package/src/lib/ui/components/loading-panel/loading-panel.component.html +1 -1
- package/src/lib/ui/components/master-detail/master-detail.component.html +9 -9
- package/src/lib/ui/components/menu/menu.component.html +27 -0
- package/src/lib/ui/components/radio-button/radio-button.component.html +3 -3
- package/src/lib/ui/components/radio-button-toggle/radio-button-toggle.component.html +3 -3
- package/src/lib/ui/components/search-bar/search-bar.component.html +1 -1
- package/src/lib/ui/components/section-card/section-card.component.html +1 -1
- package/src/lib/ui/components/select/select.component.html +6 -6
- package/src/lib/ui/components/skeleton-detail/skeleton-detail.component.html +2 -2
- package/src/lib/ui/components/skeleton-list/skeleton-list.component.html +1 -1
- package/src/lib/ui/components/skeleton-table-loading/skeleton-table-loading.component.html +5 -5
- package/src/lib/ui/components/slider/slider.component.html +7 -7
- package/src/lib/ui/components/stat-cards/stat-cards.component.html +1 -1
- package/src/lib/ui/components/switch/switch.component.html +1 -1
- package/src/lib/ui/components/tab-group/tab-group.component.html +4 -4
- package/src/lib/ui/components/table-cell/table-cell.component.html +2 -2
- package/src/lib/ui/components/tag/tag.component.html +4 -4
- package/src/lib/ui/components/toast/toast.component.html +7 -7
- package/src/lib/ui/components/toast-container/toast-container.component.html +1 -0
- package/src/lib/ui/components/tree-diagram/tree-diagram.component.html +2 -2
- package/tailwind.css +0 -1
- package/types/foxeltech-angular-ui-chart.d.ts +53 -0
- package/types/foxeltech-angular-ui-flow.d.ts +14 -0
- package/types/foxeltech-angular-ui-rich-text.d.ts +35 -0
- package/types/foxeltech-angular-ui.d.ts +394 -387
- package/src/lib/ui/components/chart/chart.component.html +0 -20
- package/src/lib/ui/components/chart/chart.component.scss +0 -49
- package/src/lib/ui/components/flow-connection/flow-connection.component.html +0 -10
- package/src/lib/ui/components/flow-connection/flow-connection.component.scss +0 -0
- package/src/lib/ui/components/rich-text-area/rich-text-area.component.html +0 -3
- package/src/lib/ui/components/rich-text-area/rich-text-area.component.scss +0 -18
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<div class="flex flex-col text-left mb-4 w-full" [class]="class">
|
|
1
|
+
<div class="flex flex-col text-left mb-4 w-full" [class]="class()">
|
|
2
2
|
<!-- A radiogroup has no single control a <label> could point at — name it via aria-labelledby. -->
|
|
3
3
|
@if(label){<span class="txt-field-label" [id]="groupId + '-label'">
|
|
4
4
|
{{ label }}
|
|
5
|
-
@if(required) {<span class="txt-required" aria-hidden="true">*</span>} </span
|
|
5
|
+
@if(required()) {<span class="txt-required" aria-hidden="true">*</span>} </span
|
|
6
6
|
>}
|
|
7
7
|
|
|
8
8
|
<div
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
role="radiogroup"
|
|
11
11
|
[attr.aria-labelledby]="label ? groupId + '-label' : null"
|
|
12
12
|
>
|
|
13
|
-
@for(opt of options; track opt){<button
|
|
13
|
+
@for(opt of options(); track opt){<button
|
|
14
14
|
type="button"
|
|
15
15
|
role="radio"
|
|
16
16
|
[attr.aria-checked]="value === opt.value"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<div class="mb-4 text-left w-full" [class]="class">
|
|
1
|
+
<div class="mb-4 text-left w-full" [class]="class()">
|
|
2
2
|
@if (label) {
|
|
3
3
|
<label class="block txt-field-label" [attr.for]="fieldId">
|
|
4
4
|
{{ label }}
|
|
5
|
-
@if (required) {
|
|
5
|
+
@if (required()) {
|
|
6
6
|
<span class="txt-required" aria-hidden="true">*</span>
|
|
7
7
|
}
|
|
8
8
|
@if (tooltip) {
|
|
@@ -25,18 +25,18 @@
|
|
|
25
25
|
>
|
|
26
26
|
<mat-select
|
|
27
27
|
[id]="fieldId"
|
|
28
|
-
[required]="!!required"
|
|
28
|
+
[required]="!!required()"
|
|
29
29
|
[attr.aria-invalid]="invalid || null"
|
|
30
30
|
[attr.aria-describedby]="invalid ? fieldId + '-error' : null"
|
|
31
|
-
[placeholder]="placeholder"
|
|
31
|
+
[placeholder]="placeholder()"
|
|
32
32
|
[disabled]="disabled"
|
|
33
|
-
[multiple]="multiple"
|
|
33
|
+
[multiple]="multiple()"
|
|
34
34
|
[value]="value"
|
|
35
35
|
(selectionChange)="onSelectionChange($event.value)"
|
|
36
36
|
(openedChange)="onOpened($event)"
|
|
37
37
|
(blur)="onTouched()"
|
|
38
38
|
>
|
|
39
|
-
@if (enableSearch) {
|
|
39
|
+
@if (enableSearch()) {
|
|
40
40
|
<div class="px-semi w-full">
|
|
41
41
|
<input
|
|
42
42
|
type="text"
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
</div>
|
|
10
10
|
</div>
|
|
11
11
|
|
|
12
|
-
@for (c of range(cards); track c) {
|
|
12
|
+
@for (c of range(cards()); track c) {
|
|
13
13
|
<div class="card-common flex flex-col gap-large">
|
|
14
14
|
<div class="h-4 w-1/3 rounded bg-bg-hover"></div>
|
|
15
15
|
<div class="flex flex-col gap-normal">
|
|
16
|
-
@for (r of range(rows); track r) {
|
|
16
|
+
@for (r of range(rows()); track r) {
|
|
17
17
|
<div class="h-3 rounded bg-bg-hover" [style.width.%]="rowWidth(r)"></div>
|
|
18
18
|
}
|
|
19
19
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div class="flex flex-col gap-normal animate-pulse">
|
|
2
|
-
@for (r of range(rows); track r) {
|
|
2
|
+
@for (r of range(rows()); track r) {
|
|
3
3
|
<div class="rounded-lg border border-border-default p-semi">
|
|
4
4
|
<div class="flex items-center gap-normal mb-small">
|
|
5
5
|
<div class="w-8 h-8 rounded-lg bg-bg-hover shrink-0"></div>
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
<div class="w-full animate-pulse space-y-normal">
|
|
2
2
|
<div
|
|
3
3
|
class="grid gap-small"
|
|
4
|
-
[ngStyle]="{ 'grid-template-columns': 'repeat(' + columns + ', minmax(0, 1fr))' }"
|
|
4
|
+
[ngStyle]="{ 'grid-template-columns': 'repeat(' + columns() + ', minmax(0, 1fr))' }"
|
|
5
5
|
>
|
|
6
|
-
@for(col of [].constructor(columns); track col) {
|
|
6
|
+
@for(col of [].constructor(columns()); track col) {
|
|
7
7
|
<div class="h-6 bg-bg-hover rounded"></div>
|
|
8
8
|
}
|
|
9
9
|
</div>
|
|
10
10
|
|
|
11
|
-
@for(row of [].constructor(rows); track row) {
|
|
11
|
+
@for(row of [].constructor(rows()); track row) {
|
|
12
12
|
<div
|
|
13
13
|
class="grid gap-small"
|
|
14
|
-
[ngStyle]="{ 'grid-template-columns': 'repeat(' + columns + ', minmax(0, 1fr))' }"
|
|
14
|
+
[ngStyle]="{ 'grid-template-columns': 'repeat(' + columns() + ', minmax(0, 1fr))' }"
|
|
15
15
|
>
|
|
16
|
-
@for(col of [].constructor(columns); track col) {
|
|
16
|
+
@for(col of [].constructor(columns()); track col) {
|
|
17
17
|
<div class="h-7 bg-bg-hover rounded"></div>
|
|
18
18
|
}
|
|
19
19
|
</div>
|
|
@@ -11,24 +11,24 @@
|
|
|
11
11
|
class="relative touch-none py-4"
|
|
12
12
|
(click)="onTrackClick($event)"
|
|
13
13
|
[attr.aria-disabled]="disabled"
|
|
14
|
-
[attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
|
|
14
|
+
[attr.aria-orientation]="vertical() ? 'vertical' : 'horizontal'"
|
|
15
15
|
>
|
|
16
16
|
<div
|
|
17
17
|
class="relative flex items-center"
|
|
18
|
-
[ngClass]="{ 'flex-col h-48': vertical }"
|
|
18
|
+
[ngClass]="{ 'flex-col h-48': vertical() }"
|
|
19
19
|
>
|
|
20
20
|
<div
|
|
21
21
|
class="relative flex-1 rounded-full bg-gray-600 h-2"
|
|
22
|
-
[ngClass]="{ 'w-1 rotate-0 h-full w-auto bg-border-gray-700': vertical }"
|
|
22
|
+
[ngClass]="{ 'w-1 rotate-0 h-full w-auto bg-border-gray-700': vertical() }"
|
|
23
23
|
>
|
|
24
|
-
@if (!vertical) {
|
|
24
|
+
@if (!vertical()) {
|
|
25
25
|
<div
|
|
26
26
|
class="absolute left-0 top-0 h-full rounded-full bg-primary"
|
|
27
27
|
[style.width.%]="percent"
|
|
28
28
|
></div>
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
@if (vertical) {
|
|
31
|
+
@if (vertical()) {
|
|
32
32
|
<div
|
|
33
33
|
class="absolute bottom-0 left-0 w-full rounded-full bg-primary"
|
|
34
34
|
[style.height.%]="percent"
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
[ngStyle]="thumbStyle()"
|
|
44
44
|
role="slider"
|
|
45
45
|
aria-label="Slider"
|
|
46
|
-
[attr.aria-valuemin]="min"
|
|
47
|
-
[attr.aria-valuemax]="max"
|
|
46
|
+
[attr.aria-valuemin]="min()"
|
|
47
|
+
[attr.aria-valuemax]="max()"
|
|
48
48
|
[attr.aria-valuenow]="value"
|
|
49
49
|
[attr.aria-disabled]="disabled"
|
|
50
50
|
tabindex="0"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type="button"
|
|
3
3
|
role="switch"
|
|
4
4
|
[attr.aria-checked]="!!value"
|
|
5
|
-
[attr.aria-label]="ariaLabel || null"
|
|
5
|
+
[attr.aria-label]="ariaLabel() || null"
|
|
6
6
|
[disabled]="disabled"
|
|
7
7
|
class="relative flex items-center w-10 h-5 rounded-full transition-colors duration-300 cursor-pointer disabled:cursor-not-allowed focus-visible:ring-2 focus-visible:ring-primary/50"
|
|
8
8
|
[ngClass]="{
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
class="relative flex overflow-x-auto no-scrollbar scroll-smooth"
|
|
29
29
|
(scroll)="onScroll()"
|
|
30
30
|
>
|
|
31
|
-
@for (tab of tabs
|
|
31
|
+
@for (tab of tabs(); track tab; let i = $index) {
|
|
32
32
|
<button
|
|
33
33
|
type="button"
|
|
34
34
|
role="tab"
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
i === activeIndex ? 'txt-field-label text-gradient-primary-start' : 'txt-placeholder'
|
|
56
56
|
"
|
|
57
57
|
>
|
|
58
|
-
{{ tab.label }}
|
|
58
|
+
{{ tab.label() }}
|
|
59
59
|
</div>
|
|
60
60
|
</div>
|
|
61
61
|
</button>
|
|
@@ -89,10 +89,10 @@
|
|
|
89
89
|
|
|
90
90
|
<!-- Tab content -->
|
|
91
91
|
<div class="transition-all duration-300 ease-in-out mt-4">
|
|
92
|
-
@for (tab of tabs
|
|
92
|
+
@for (tab of tabs(); track tab; let i = $index) {
|
|
93
93
|
@if (i === activeIndex) {
|
|
94
94
|
<div role="tabpanel" class="animate-fadeIn">
|
|
95
|
-
<ng-container *ngTemplateOutlet="tab.content"></ng-container>
|
|
95
|
+
<ng-container *ngTemplateOutlet="tab.content()"></ng-container>
|
|
96
96
|
</div>
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
@if (!loading) {
|
|
1
|
+
@if (!loading()) {
|
|
2
2
|
<div animate.enter="fade-in-animation" class="inline-block my-normal">
|
|
3
3
|
<ng-content />
|
|
4
4
|
</div>
|
|
5
5
|
} @else {
|
|
6
|
-
<div animate.enter="fade-in-animation" class="skeleton-load my-semi" [class]="skeletonClass"></div>
|
|
6
|
+
<div animate.enter="fade-in-animation" class="skeleton-load my-semi" [class]="skeletonClass()"></div>
|
|
7
7
|
}
|
|
@@ -6,18 +6,18 @@
|
|
|
6
6
|
[attr.role]="clicked.observed ? 'button' : null"
|
|
7
7
|
[attr.tabindex]="clicked.observed ? 0 : null"
|
|
8
8
|
[class]="
|
|
9
|
-
`flex flex-row gap-small ${rounded ? 'tag-round' : 'tag-square'} tag-${type}${solid ? '-solid' : ''}${clicked.observed ? ' cursor-pointer focus-visible:ring-2 focus-visible:ring-primary/50' : ''}`
|
|
9
|
+
`flex flex-row gap-small ${rounded() ? 'tag-round' : 'tag-square'} tag-${type()}${solid() ? '-solid' : ''}${clicked.observed ? ' cursor-pointer focus-visible:ring-2 focus-visible:ring-primary/50' : ''}`
|
|
10
10
|
"
|
|
11
11
|
>
|
|
12
12
|
@if (icon) {
|
|
13
13
|
<fx-ui-hero-icon
|
|
14
|
-
[class]="`flex txt-tag-${type} ${solid && type !== 'default' ? 'text-white' : ''}`"
|
|
14
|
+
[class]="`flex txt-tag-${type()} ${solid() && type() !== 'default' ? 'text-white' : ''}`"
|
|
15
15
|
[icon]="icon"
|
|
16
16
|
[size]="18"
|
|
17
17
|
></fx-ui-hero-icon>
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
<div [class]="`txt-tag-${type} ${solid && type !== 'default' ? 'text-white font-medium' : ''}`">
|
|
21
|
-
{{ label }}
|
|
20
|
+
<div [class]="`txt-tag-${type()} ${solid() && type() !== 'default' ? 'text-white font-medium' : ''}`">
|
|
21
|
+
{{ label() }}
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<div
|
|
2
2
|
animate.enter="horizontal-fade-in-animation"
|
|
3
3
|
animate.leave="horizontal-fade-out-animation"
|
|
4
|
-
[attr.role]="type === 'error' ? 'alert' : 'status'"
|
|
4
|
+
[attr.role]="type() === 'error' ? 'alert' : 'status'"
|
|
5
5
|
class="flex border-l-[3px] items-center bg-bg-primary gap-semi min-w-[250px] max-w-[400px] px-large py-semi rounded shadow-lg transition-all duration-300 ease-in-out transform opacity-100 translate-y-0"
|
|
6
6
|
[ngClass]="{
|
|
7
|
-
'border-success': type === 'success',
|
|
8
|
-
'border-critical': type === 'error',
|
|
9
|
-
'border-warning': type === 'warning',
|
|
10
|
-
'border-information': type === 'info'
|
|
7
|
+
'border-success': type() === 'success',
|
|
8
|
+
'border-critical': type() === 'error',
|
|
9
|
+
'border-warning': type() === 'warning',
|
|
10
|
+
'border-information': type() === 'info'
|
|
11
11
|
}"
|
|
12
12
|
>
|
|
13
13
|
<div class="" aria-hidden="true">
|
|
14
|
-
@switch (type) { @case('success') {
|
|
14
|
+
@switch (type()) { @case('success') {
|
|
15
15
|
<fx-ui-hero-icon
|
|
16
16
|
icon="check-circle"
|
|
17
17
|
[solid]="true"
|
|
@@ -46,6 +46,6 @@
|
|
|
46
46
|
@if (title) {
|
|
47
47
|
<strong class="txt-field-label">{{ title }}</strong>
|
|
48
48
|
}
|
|
49
|
-
<p class="txt-default">{{ message }}</p>
|
|
49
|
+
<p class="txt-default">{{ message() }}</p>
|
|
50
50
|
</div>
|
|
51
51
|
</div>
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
#root
|
|
6
6
|
class="mx-auto w-fit bg-blue-600 text-white px-7 py-3 rounded-md font-semibold text-center"
|
|
7
7
|
>
|
|
8
|
-
{{ data.label }}
|
|
8
|
+
{{ data().label }}
|
|
9
9
|
</div>
|
|
10
10
|
|
|
11
11
|
<!-- CHILDREN -->
|
|
12
12
|
<div class="mt-16 flex justify-center gap-16">
|
|
13
|
-
@for (child of data.children; track child) {
|
|
13
|
+
@for (child of data().children; track child) {
|
|
14
14
|
<div
|
|
15
15
|
#child
|
|
16
16
|
class="w-48 bg-rose-600 text-white px-4 py-4 rounded-lg text-center"
|
package/tailwind.css
CHANGED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { OnChanges, AfterViewInit, OnDestroy, ElementRef, ChangeDetectorRef } from '@angular/core';
|
|
3
|
+
import { EChartsOption, ECharts } from 'echarts';
|
|
4
|
+
|
|
5
|
+
type IChartType = 'bar' | 'pie' | 'sunburst' | 'auto';
|
|
6
|
+
declare class ChartComponent implements OnChanges, AfterViewInit, OnDestroy {
|
|
7
|
+
private ref;
|
|
8
|
+
private cdr;
|
|
9
|
+
readonly type: _angular_core.InputSignal<IChartType>;
|
|
10
|
+
readonly data: _angular_core.InputSignal<any>;
|
|
11
|
+
readonly options: _angular_core.InputSignal<EChartsOption | undefined>;
|
|
12
|
+
readonly palette: _angular_core.InputSignal<string[] | undefined>;
|
|
13
|
+
readonly height: _angular_core.InputSignal<string>;
|
|
14
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
15
|
+
readonly pieLegendAlign: _angular_core.InputSignal<string | number>;
|
|
16
|
+
readonly pieLegendPosition: _angular_core.InputSignal<string | number>;
|
|
17
|
+
readonly showPieLabel: _angular_core.InputSignal<boolean>;
|
|
18
|
+
readonly mobileWidth: _angular_core.InputSignal<number>;
|
|
19
|
+
readonly labelFontFamily: _angular_core.InputSignal<string>;
|
|
20
|
+
readonly emptyText: _angular_core.InputSignal<string>;
|
|
21
|
+
readonly chartClick: _angular_core.OutputEmitterRef<any>;
|
|
22
|
+
readonly chartInit: _angular_core.OutputEmitterRef<ECharts>;
|
|
23
|
+
chartOptions: EChartsOption;
|
|
24
|
+
isEmpty: boolean;
|
|
25
|
+
labelFontSize: number;
|
|
26
|
+
private chartInstance?;
|
|
27
|
+
private resizeObserver?;
|
|
28
|
+
private intersectionObserver?;
|
|
29
|
+
private canInit;
|
|
30
|
+
private isMobile;
|
|
31
|
+
private containerWidth;
|
|
32
|
+
constructor(ref: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
|
|
33
|
+
ngAfterViewInit(): void;
|
|
34
|
+
ngOnChanges(): void;
|
|
35
|
+
ngOnDestroy(): void;
|
|
36
|
+
onThemeChange(): void;
|
|
37
|
+
onChartClick(event: any): void;
|
|
38
|
+
onChartInit(chart: any): void;
|
|
39
|
+
private updateResponsiveState;
|
|
40
|
+
private forceMediaRecalc;
|
|
41
|
+
private rebuildChart;
|
|
42
|
+
private checkEmpty;
|
|
43
|
+
private registry;
|
|
44
|
+
private calcPieLayout;
|
|
45
|
+
private detectType;
|
|
46
|
+
private buildOptions;
|
|
47
|
+
private resolvePalette;
|
|
48
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartComponent, never>;
|
|
49
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartComponent, "fx-ui-chart", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "pieLegendAlign": { "alias": "pieLegendAlign"; "required": false; "isSignal": true; }; "pieLegendPosition": { "alias": "pieLegendPosition"; "required": false; "isSignal": true; }; "showPieLabel": { "alias": "showPieLabel"; "required": false; "isSignal": true; }; "mobileWidth": { "alias": "mobileWidth"; "required": false; "isSignal": true; }; "labelFontFamily": { "alias": "labelFontFamily"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; }, { "chartClick": "chartClick"; "chartInit": "chartInit"; }, never, never, true, never>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { ChartComponent };
|
|
53
|
+
export type { IChartType };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Node, Edge, Connection } from 'ngx-vflow';
|
|
3
|
+
|
|
4
|
+
declare class FlowConnection {
|
|
5
|
+
readonly nodes: _angular_core.InputSignal<Node[]>;
|
|
6
|
+
edges: Edge[];
|
|
7
|
+
readonly backgroundColor: _angular_core.InputSignal<any>;
|
|
8
|
+
readonly view: _angular_core.InputSignal<any>;
|
|
9
|
+
handleConnection(connection: Connection): void;
|
|
10
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlowConnection, never>;
|
|
11
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlowConnection, "fx-ui-flow-connection", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "edges": { "alias": "edges"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "view": { "alias": "view"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { FlowConnection };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit, ElementRef } from '@angular/core';
|
|
3
|
+
import { FxComponent } from '@foxeltech/angular-ui';
|
|
4
|
+
|
|
5
|
+
declare class QuillStyleLoaderService {
|
|
6
|
+
private platformId;
|
|
7
|
+
private loaded;
|
|
8
|
+
private loadingPromise;
|
|
9
|
+
constructor(platformId: object);
|
|
10
|
+
/**
|
|
11
|
+
* Load Quill CSS (only in browser). Returns a promise that resolves when
|
|
12
|
+
* the CSS links have been appended.
|
|
13
|
+
*/
|
|
14
|
+
load(): Promise<void>;
|
|
15
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<QuillStyleLoaderService, never>;
|
|
16
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<QuillStyleLoaderService>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
declare class RichTextAreaComponent extends FxComponent<any> implements AfterViewInit {
|
|
20
|
+
private styleLoader;
|
|
21
|
+
private platformId;
|
|
22
|
+
readonly editorContainer: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
23
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
24
|
+
readonly toolbarOptions: _angular_core.InputSignal<any>;
|
|
25
|
+
readonly contentChange: _angular_core.OutputEmitterRef<string>;
|
|
26
|
+
private quillInstance;
|
|
27
|
+
constructor(styleLoader: QuillStyleLoaderService, platformId: object);
|
|
28
|
+
ngAfterViewInit(): Promise<void>;
|
|
29
|
+
writeValue(value: any): void;
|
|
30
|
+
setDisabledState(isDisabled: boolean): void;
|
|
31
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextAreaComponent, never>;
|
|
32
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextAreaComponent, "fx-ui-rich-text-area", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "toolbarOptions": { "alias": "toolbarOptions"; "required": false; "isSignal": true; }; }, { "contentChange": "contentChange"; }, never, never, true, never>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { QuillStyleLoaderService, RichTextAreaComponent };
|