@raintonic/formaui 0.2.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/CHANGELOG.md +7 -0
- package/README.md +145 -0
- package/fesm2022/raintonic-formaui-cdk-drag-drop.mjs +806 -0
- package/fesm2022/raintonic-formaui-cdk-drag-drop.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-cdk-form-field.mjs +86 -0
- package/fesm2022/raintonic-formaui-cdk-form-field.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-cdk-overlay.mjs +1757 -0
- package/fesm2022/raintonic-formaui-cdk-overlay.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-cdk-virtual-scroll.mjs +287 -0
- package/fesm2022/raintonic-formaui-cdk-virtual-scroll.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-accordion.mjs +217 -0
- package/fesm2022/raintonic-formaui-components-accordion.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-alert.mjs +161 -0
- package/fesm2022/raintonic-formaui-components-alert.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-autocomplete.mjs +726 -0
- package/fesm2022/raintonic-formaui-components-autocomplete.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-avatar.mjs +92 -0
- package/fesm2022/raintonic-formaui-components-avatar.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-badge.mjs +107 -0
- package/fesm2022/raintonic-formaui-components-badge.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-big-menu.mjs +68 -0
- package/fesm2022/raintonic-formaui-components-big-menu.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-breadcrumb.mjs +55 -0
- package/fesm2022/raintonic-formaui-components-breadcrumb.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-button-group.mjs +103 -0
- package/fesm2022/raintonic-formaui-components-button-group.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-button.mjs +241 -0
- package/fesm2022/raintonic-formaui-components-button.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-card.mjs +270 -0
- package/fesm2022/raintonic-formaui-components-card.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-checkbox.mjs +295 -0
- package/fesm2022/raintonic-formaui-components-checkbox.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-data-table.mjs +631 -0
- package/fesm2022/raintonic-formaui-components-data-table.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-date-picker.mjs +1331 -0
- package/fesm2022/raintonic-formaui-components-date-picker.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-divider.mjs +41 -0
- package/fesm2022/raintonic-formaui-components-divider.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-drawer.mjs +190 -0
- package/fesm2022/raintonic-formaui-components-drawer.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-dynamic-form.mjs +266 -0
- package/fesm2022/raintonic-formaui-components-dynamic-form.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-empty-state.mjs +33 -0
- package/fesm2022/raintonic-formaui-components-empty-state.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-file-upload.mjs +246 -0
- package/fesm2022/raintonic-formaui-components-file-upload.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-form-field.mjs +482 -0
- package/fesm2022/raintonic-formaui-components-form-field.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-icon.mjs +117 -0
- package/fesm2022/raintonic-formaui-components-icon.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-input.mjs +327 -0
- package/fesm2022/raintonic-formaui-components-input.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-list.mjs +149 -0
- package/fesm2022/raintonic-formaui-components-list.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-menu.mjs +896 -0
- package/fesm2022/raintonic-formaui-components-menu.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-number-input.mjs +345 -0
- package/fesm2022/raintonic-formaui-components-number-input.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-paginator.mjs +139 -0
- package/fesm2022/raintonic-formaui-components-paginator.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-password-input.mjs +306 -0
- package/fesm2022/raintonic-formaui-components-password-input.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-popover.mjs +451 -0
- package/fesm2022/raintonic-formaui-components-popover.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-progressbar.mjs +148 -0
- package/fesm2022/raintonic-formaui-components-progressbar.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-radio.mjs +260 -0
- package/fesm2022/raintonic-formaui-components-radio.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-select.mjs +1011 -0
- package/fesm2022/raintonic-formaui-components-select.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-side-panel.mjs +150 -0
- package/fesm2022/raintonic-formaui-components-side-panel.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-sidebar.mjs +257 -0
- package/fesm2022/raintonic-formaui-components-sidebar.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-skeleton.mjs +50 -0
- package/fesm2022/raintonic-formaui-components-skeleton.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-slider.mjs +347 -0
- package/fesm2022/raintonic-formaui-components-slider.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-spinner.mjs +63 -0
- package/fesm2022/raintonic-formaui-components-spinner.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-stepper.mjs +317 -0
- package/fesm2022/raintonic-formaui-components-stepper.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-tab.mjs +197 -0
- package/fesm2022/raintonic-formaui-components-tab.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-tag.mjs +78 -0
- package/fesm2022/raintonic-formaui-components-tag.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-time-picker.mjs +644 -0
- package/fesm2022/raintonic-formaui-components-time-picker.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-toggle.mjs +171 -0
- package/fesm2022/raintonic-formaui-components-toggle.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-toolbar.mjs +140 -0
- package/fesm2022/raintonic-formaui-components-toolbar.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-tooltip.mjs +555 -0
- package/fesm2022/raintonic-formaui-components-tooltip.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-tree-select.mjs +314 -0
- package/fesm2022/raintonic-formaui-components-tree-select.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-tree-table.mjs +103 -0
- package/fesm2022/raintonic-formaui-components-tree-table.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-components-tree.mjs +430 -0
- package/fesm2022/raintonic-formaui-components-tree.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-core.mjs +62 -0
- package/fesm2022/raintonic-formaui-core.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-services-dialog.mjs +798 -0
- package/fesm2022/raintonic-formaui-services-dialog.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-services-notification.mjs +391 -0
- package/fesm2022/raintonic-formaui-services-notification.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-services-theme.mjs +248 -0
- package/fesm2022/raintonic-formaui-services-theme.mjs.map +1 -0
- package/fesm2022/raintonic-formaui-test-utils.mjs +66 -0
- package/fesm2022/raintonic-formaui-test-utils.mjs.map +1 -0
- package/fesm2022/raintonic-formaui.mjs +15 -0
- package/fesm2022/raintonic-formaui.mjs.map +1 -0
- package/llms-full.txt +1627 -0
- package/llms.txt +60 -0
- package/package.json +251 -0
- package/styles/_fonts-entry.scss +3 -0
- package/styles/fonts/dm-mono-400-latin.woff2 +0 -0
- package/styles/fonts/inter-tight-latin-italic.woff2 +0 -0
- package/styles/fonts/inter-tight-latin.woff2 +0 -0
- package/styles/index.scss +127 -0
- package/styles/partials/_constants.scss +29 -0
- package/styles/partials/_fonts.scss +36 -0
- package/styles/partials/_grid.scss +171 -0
- package/styles/partials/_mixins.scss +145 -0
- package/styles/partials/_motion.scss +252 -0
- package/styles/partials/_theme.scss +275 -0
- package/styles/partials/_typography.scss +112 -0
- package/styles/partials/_utilities.scss +480 -0
- package/styles/partials/themes/_dark.scss +254 -0
- package/styles/partials/themes/_light.scss +254 -0
- package/types/raintonic-formaui-cdk-drag-drop.d.ts +196 -0
- package/types/raintonic-formaui-cdk-drag-drop.d.ts.map +1 -0
- package/types/raintonic-formaui-cdk-form-field.d.ts +62 -0
- package/types/raintonic-formaui-cdk-form-field.d.ts.map +1 -0
- package/types/raintonic-formaui-cdk-overlay.d.ts +843 -0
- package/types/raintonic-formaui-cdk-overlay.d.ts.map +1 -0
- package/types/raintonic-formaui-cdk-virtual-scroll.d.ts +112 -0
- package/types/raintonic-formaui-cdk-virtual-scroll.d.ts.map +1 -0
- package/types/raintonic-formaui-components-accordion.d.ts +124 -0
- package/types/raintonic-formaui-components-accordion.d.ts.map +1 -0
- package/types/raintonic-formaui-components-alert.d.ts +143 -0
- package/types/raintonic-formaui-components-alert.d.ts.map +1 -0
- package/types/raintonic-formaui-components-autocomplete.d.ts +193 -0
- package/types/raintonic-formaui-components-autocomplete.d.ts.map +1 -0
- package/types/raintonic-formaui-components-avatar.d.ts +52 -0
- package/types/raintonic-formaui-components-avatar.d.ts.map +1 -0
- package/types/raintonic-formaui-components-badge.d.ts +47 -0
- package/types/raintonic-formaui-components-badge.d.ts.map +1 -0
- package/types/raintonic-formaui-components-big-menu.d.ts +62 -0
- package/types/raintonic-formaui-components-big-menu.d.ts.map +1 -0
- package/types/raintonic-formaui-components-breadcrumb.d.ts +26 -0
- package/types/raintonic-formaui-components-breadcrumb.d.ts.map +1 -0
- package/types/raintonic-formaui-components-button-group.d.ts +61 -0
- package/types/raintonic-formaui-components-button-group.d.ts.map +1 -0
- package/types/raintonic-formaui-components-button.d.ts +116 -0
- package/types/raintonic-formaui-components-button.d.ts.map +1 -0
- package/types/raintonic-formaui-components-card.d.ts +191 -0
- package/types/raintonic-formaui-components-card.d.ts.map +1 -0
- package/types/raintonic-formaui-components-checkbox.d.ts +132 -0
- package/types/raintonic-formaui-components-checkbox.d.ts.map +1 -0
- package/types/raintonic-formaui-components-data-table.d.ts +368 -0
- package/types/raintonic-formaui-components-data-table.d.ts.map +1 -0
- package/types/raintonic-formaui-components-date-picker.d.ts +341 -0
- package/types/raintonic-formaui-components-date-picker.d.ts.map +1 -0
- package/types/raintonic-formaui-components-divider.d.ts +21 -0
- package/types/raintonic-formaui-components-divider.d.ts.map +1 -0
- package/types/raintonic-formaui-components-drawer.d.ts +48 -0
- package/types/raintonic-formaui-components-drawer.d.ts.map +1 -0
- package/types/raintonic-formaui-components-dynamic-form.d.ts +412 -0
- package/types/raintonic-formaui-components-dynamic-form.d.ts.map +1 -0
- package/types/raintonic-formaui-components-empty-state.d.ts +14 -0
- package/types/raintonic-formaui-components-empty-state.d.ts.map +1 -0
- package/types/raintonic-formaui-components-file-upload.d.ts +77 -0
- package/types/raintonic-formaui-components-file-upload.d.ts.map +1 -0
- package/types/raintonic-formaui-components-form-field.d.ts +271 -0
- package/types/raintonic-formaui-components-form-field.d.ts.map +1 -0
- package/types/raintonic-formaui-components-icon.d.ts +61 -0
- package/types/raintonic-formaui-components-icon.d.ts.map +1 -0
- package/types/raintonic-formaui-components-input.d.ts +149 -0
- package/types/raintonic-formaui-components-input.d.ts.map +1 -0
- package/types/raintonic-formaui-components-list.d.ts +48 -0
- package/types/raintonic-formaui-components-list.d.ts.map +1 -0
- package/types/raintonic-formaui-components-menu.d.ts +403 -0
- package/types/raintonic-formaui-components-menu.d.ts.map +1 -0
- package/types/raintonic-formaui-components-number-input.d.ts +127 -0
- package/types/raintonic-formaui-components-number-input.d.ts.map +1 -0
- package/types/raintonic-formaui-components-paginator.d.ts +37 -0
- package/types/raintonic-formaui-components-paginator.d.ts.map +1 -0
- package/types/raintonic-formaui-components-password-input.d.ts +111 -0
- package/types/raintonic-formaui-components-password-input.d.ts.map +1 -0
- package/types/raintonic-formaui-components-popover.d.ts +131 -0
- package/types/raintonic-formaui-components-popover.d.ts.map +1 -0
- package/types/raintonic-formaui-components-progressbar.d.ts +111 -0
- package/types/raintonic-formaui-components-progressbar.d.ts.map +1 -0
- package/types/raintonic-formaui-components-radio.d.ts +95 -0
- package/types/raintonic-formaui-components-radio.d.ts.map +1 -0
- package/types/raintonic-formaui-components-select.d.ts +307 -0
- package/types/raintonic-formaui-components-select.d.ts.map +1 -0
- package/types/raintonic-formaui-components-side-panel.d.ts +51 -0
- package/types/raintonic-formaui-components-side-panel.d.ts.map +1 -0
- package/types/raintonic-formaui-components-sidebar.d.ts +174 -0
- package/types/raintonic-formaui-components-sidebar.d.ts.map +1 -0
- package/types/raintonic-formaui-components-skeleton.d.ts +20 -0
- package/types/raintonic-formaui-components-skeleton.d.ts.map +1 -0
- package/types/raintonic-formaui-components-slider.d.ts +108 -0
- package/types/raintonic-formaui-components-slider.d.ts.map +1 -0
- package/types/raintonic-formaui-components-spinner.d.ts +42 -0
- package/types/raintonic-formaui-components-spinner.d.ts.map +1 -0
- package/types/raintonic-formaui-components-stepper.d.ts +126 -0
- package/types/raintonic-formaui-components-stepper.d.ts.map +1 -0
- package/types/raintonic-formaui-components-tab.d.ts +96 -0
- package/types/raintonic-formaui-components-tab.d.ts.map +1 -0
- package/types/raintonic-formaui-components-tag.d.ts +34 -0
- package/types/raintonic-formaui-components-tag.d.ts.map +1 -0
- package/types/raintonic-formaui-components-time-picker.d.ts +172 -0
- package/types/raintonic-formaui-components-time-picker.d.ts.map +1 -0
- package/types/raintonic-formaui-components-toggle.d.ts +70 -0
- package/types/raintonic-formaui-components-toggle.d.ts.map +1 -0
- package/types/raintonic-formaui-components-toolbar.d.ts +128 -0
- package/types/raintonic-formaui-components-toolbar.d.ts.map +1 -0
- package/types/raintonic-formaui-components-tooltip.d.ts +268 -0
- package/types/raintonic-formaui-components-tooltip.d.ts.map +1 -0
- package/types/raintonic-formaui-components-tree-select.d.ts +80 -0
- package/types/raintonic-formaui-components-tree-select.d.ts.map +1 -0
- package/types/raintonic-formaui-components-tree-table.d.ts +90 -0
- package/types/raintonic-formaui-components-tree-table.d.ts.map +1 -0
- package/types/raintonic-formaui-components-tree.d.ts +104 -0
- package/types/raintonic-formaui-components-tree.d.ts.map +1 -0
- package/types/raintonic-formaui-core.d.ts +115 -0
- package/types/raintonic-formaui-core.d.ts.map +1 -0
- package/types/raintonic-formaui-services-dialog.d.ts +451 -0
- package/types/raintonic-formaui-services-dialog.d.ts.map +1 -0
- package/types/raintonic-formaui-services-notification.d.ts +221 -0
- package/types/raintonic-formaui-services-notification.d.ts.map +1 -0
- package/types/raintonic-formaui-services-theme.d.ts +126 -0
- package/types/raintonic-formaui-services-theme.d.ts.map +1 -0
- package/types/raintonic-formaui-test-utils.d.ts +24 -0
- package/types/raintonic-formaui-test-utils.d.ts.map +1 -0
- package/types/raintonic-formaui.d.ts +4 -0
- package/types/raintonic-formaui.d.ts.map +1 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { DoCheck, OnDestroy, OutputEmitterRef, Signal, ElementRef } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { ErrorStateMatcher } from '@raintonic/formaui/core';
|
|
6
|
+
|
|
7
|
+
type FuiToggleLabelPosition = 'before' | 'after';
|
|
8
|
+
type FuiToggleSize = 'sm' | 'md';
|
|
9
|
+
interface FuiToggleChange {
|
|
10
|
+
source: unknown;
|
|
11
|
+
checked: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare class FuiToggleComponent implements ControlValueAccessor, DoCheck, OnDestroy {
|
|
15
|
+
static nextId: number;
|
|
16
|
+
readonly controlType = "fui-toggle";
|
|
17
|
+
readonly checkedInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
18
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
19
|
+
readonly requiredInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
20
|
+
readonly labelPosition: _angular_core.InputSignal<FuiToggleLabelPosition>;
|
|
21
|
+
readonly size: _angular_core.InputSignal<FuiToggleSize>;
|
|
22
|
+
readonly name: _angular_core.InputSignal<string | null>;
|
|
23
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
24
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string | null>;
|
|
25
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string | null>;
|
|
26
|
+
readonly errorStateMatcher: _angular_core.InputSignal<ErrorStateMatcher | null>;
|
|
27
|
+
readonly change: OutputEmitterRef<FuiToggleChange>;
|
|
28
|
+
private readonly _checked;
|
|
29
|
+
private readonly _focused;
|
|
30
|
+
private readonly _disabled;
|
|
31
|
+
private readonly _required;
|
|
32
|
+
private readonly _ngControlDisabled;
|
|
33
|
+
private readonly _errorState;
|
|
34
|
+
readonly checked: Signal<boolean>;
|
|
35
|
+
readonly focused: Signal<boolean>;
|
|
36
|
+
readonly errorState: Signal<boolean>;
|
|
37
|
+
readonly required: Signal<boolean>;
|
|
38
|
+
readonly disabled: Signal<boolean>;
|
|
39
|
+
readonly stateChanges: Subject<void>;
|
|
40
|
+
private _uid;
|
|
41
|
+
readonly id: string;
|
|
42
|
+
readonly inputId: string;
|
|
43
|
+
private _parentForm;
|
|
44
|
+
private _parentFormGroup;
|
|
45
|
+
private _defaultErrorStateMatcher;
|
|
46
|
+
private readonly _ngControlRef;
|
|
47
|
+
get ngControl(): NgControl | null;
|
|
48
|
+
readonly inputElement: Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
49
|
+
private _onChange;
|
|
50
|
+
private _onTouched;
|
|
51
|
+
private _formControlInitialized;
|
|
52
|
+
constructor();
|
|
53
|
+
ngDoCheck(): void;
|
|
54
|
+
ngOnDestroy(): void;
|
|
55
|
+
writeValue(value: boolean): void;
|
|
56
|
+
registerOnChange(fn: (value: boolean) => void): void;
|
|
57
|
+
registerOnTouched(fn: () => void): void;
|
|
58
|
+
setDisabledState(isDisabled: boolean): void;
|
|
59
|
+
onInputChange(event: Event): void;
|
|
60
|
+
onFocus(): void;
|
|
61
|
+
onBlur(): void;
|
|
62
|
+
toggle(): void;
|
|
63
|
+
focus(): void;
|
|
64
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiToggleComponent, never>;
|
|
65
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FuiToggleComponent, "fui-toggle", never, { "checkedInput": { "alias": "checked"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "requiredInput": { "alias": "required"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["*", "*"], true, never>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export { FuiToggleComponent };
|
|
69
|
+
export type { FuiToggleChange, FuiToggleLabelPosition, FuiToggleSize };
|
|
70
|
+
//# sourceMappingURL=raintonic-formaui-components-toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raintonic-formaui-components-toggle.d.ts","sources":["../../../lib/components/toggle/toggle.types.ts","../../../lib/components/toggle/toggle.component.ts"],"mappings":";;;;;;KAAY,sBAAsB;KACtB,aAAa;UAER,eAAe;;;AAG/B;;ACmBD,cAsBa,kBAAmB,YAAW,oBAAoB,EAAE,OAAO,EAAE,SAAS;;;2BAK5D,aAAA,CAAA,wBAAA;4BACC,aAAA,CAAA,wBAAA;4BACA,aAAA,CAAA,wBAAA;4BACA,aAAA,CAAA,WAAA,CAAA,sBAAA;mBACT,aAAA,CAAA,WAAA,CAAA,aAAA;mBACA,aAAA,CAAA,WAAA;wBACK,aAAA,CAAA,WAAA;6BACK,aAAA,CAAA,WAAA;8BACC,aAAA,CAAA,WAAA;gCACE,aAAA,CAAA,WAAA,CAAA,iBAAA;AAG1B,qBAAiB,gBAAgB,CAAC,eAAe;AAGjD;AACA;AACA;AACA;AACA;AACA;AAGA,sBAAkB,MAAM;AACxB,sBAAkB,MAAM;yBACL,MAAA;AACnB,uBAAmB,MAAM;AACzB,uBAAmB,MAAM;2BAIJ,OAAA;;;;;;;AASrB;AACA,qBAAiB,SAAS;AAI1B,2BAAuB,MAAM,CAAC,UAAU,CAAC,gBAAgB;;;;;AA0CzD;AAgBA;AAKA;;AAQA;AAGA;AAMA,yBAAqB,KAAK;AAU1B;AAOA;AAQA;AAUA;oDArKW,kBAAkB;sDAAlB,kBAAkB;AAwK9B;;;;","names":[]}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InputSignal, OutputEmitterRef, Signal } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Toolbar menu item interface
|
|
6
|
+
*/
|
|
7
|
+
interface FuiToolbarMenuItem {
|
|
8
|
+
id: string | number;
|
|
9
|
+
icon: string;
|
|
10
|
+
label: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
routerLink?: string | string[];
|
|
13
|
+
queryParams?: Record<string, string>;
|
|
14
|
+
fragment?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* User profile data interface
|
|
18
|
+
*/
|
|
19
|
+
interface FuiToolbarUserProfile {
|
|
20
|
+
name: string;
|
|
21
|
+
email: string;
|
|
22
|
+
avatar?: string;
|
|
23
|
+
initials?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* # FuiToolbar Component
|
|
27
|
+
*
|
|
28
|
+
* A top navigation toolbar following Carbon Design System principles.
|
|
29
|
+
* Provides space for logo, navigation menu items, and user profile area.
|
|
30
|
+
*
|
|
31
|
+
* ## Features
|
|
32
|
+
* - Logo area with customizable content
|
|
33
|
+
* - Icon-based navigation menu
|
|
34
|
+
* - User profile area with avatar/initials
|
|
35
|
+
* - Responsive design
|
|
36
|
+
* - Theme integration
|
|
37
|
+
* - Accessibility support
|
|
38
|
+
*
|
|
39
|
+
* ## Usage
|
|
40
|
+
*
|
|
41
|
+
* ### Basic Toolbar
|
|
42
|
+
* ```html
|
|
43
|
+
* <fui-toolbar
|
|
44
|
+
* [menuItems]="menuItems"
|
|
45
|
+
* [userProfile]="userProfile"
|
|
46
|
+
* (menuItemClick)="onMenuItemClick($event)"
|
|
47
|
+
* (userProfileClick)="onUserProfileClick()">
|
|
48
|
+
* <div logo>
|
|
49
|
+
* <img src="logo.svg" alt="Company Logo">
|
|
50
|
+
* </div>
|
|
51
|
+
* </fui-toolbar>
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* ### With Custom Logo
|
|
55
|
+
* ```html
|
|
56
|
+
* <fui-toolbar [menuItems]="menuItems" [userProfile]="userProfile">
|
|
57
|
+
* <div logo class="custom-logo">
|
|
58
|
+
* <h1>Holiday ERP</h1>
|
|
59
|
+
* </div>
|
|
60
|
+
* </fui-toolbar>
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* import { FuiToolbarComponent, FuiToolbarMenuItem, FuiToolbarUserProfile } from '@raintonic/formaui/components/toolbar';
|
|
66
|
+
*
|
|
67
|
+
* @Component({
|
|
68
|
+
* standalone: true,
|
|
69
|
+
* imports: [FuiToolbarComponent],
|
|
70
|
+
* template: `
|
|
71
|
+
* <fui-toolbar
|
|
72
|
+
* [menuItems]="menuItems"
|
|
73
|
+
* [userProfile]="userProfile"
|
|
74
|
+
* (menuItemClick)="onMenuItemClick($event)"
|
|
75
|
+
* (userProfileClick)="onUserProfileClick()">
|
|
76
|
+
* <div logo>
|
|
77
|
+
* <img src="assets/logo.svg" alt="Holiday ERP">
|
|
78
|
+
* </div>
|
|
79
|
+
* </fui-toolbar>
|
|
80
|
+
* `
|
|
81
|
+
* })
|
|
82
|
+
* export class AppLayoutComponent {
|
|
83
|
+
* menuItems: FuiToolbarMenuItem[] = [
|
|
84
|
+
* { id: 'dashboard', icon: 'house', label: 'Dashboard' },
|
|
85
|
+
* { id: 'orders', icon: 'shopping-cart', label: 'Orders' },
|
|
86
|
+
* { id: 'products', icon: 'package', label: 'Products' },
|
|
87
|
+
* { id: 'customers', icon: 'users', label: 'Customers' },
|
|
88
|
+
* ];
|
|
89
|
+
*
|
|
90
|
+
* userProfile: FuiToolbarUserProfile = {
|
|
91
|
+
* name: 'John Doe',
|
|
92
|
+
* email: 'john.doe@company.com',
|
|
93
|
+
* initials: 'JD'
|
|
94
|
+
* };
|
|
95
|
+
*
|
|
96
|
+
* onMenuItemClick(itemId: string | number): void {
|
|
97
|
+
* console.log('Menu item clicked:', itemId);
|
|
98
|
+
* }
|
|
99
|
+
*
|
|
100
|
+
* onUserProfileClick(): void {
|
|
101
|
+
* console.log('User profile clicked');
|
|
102
|
+
* }
|
|
103
|
+
* }
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
declare class FuiToolbarComponent {
|
|
107
|
+
readonly menuItems: InputSignal<FuiToolbarMenuItem[]>;
|
|
108
|
+
readonly userProfile: InputSignal<FuiToolbarUserProfile | null>;
|
|
109
|
+
readonly fixed: InputSignal<boolean>;
|
|
110
|
+
readonly activeMenuItemId: InputSignal<string | number>;
|
|
111
|
+
readonly ariaLabel: InputSignal<string>;
|
|
112
|
+
readonly userAriaLabel: InputSignal<string>;
|
|
113
|
+
readonly showSidebarToggle: InputSignal<boolean>;
|
|
114
|
+
readonly menuItemClick: OutputEmitterRef<string | number>;
|
|
115
|
+
readonly userProfileClick: OutputEmitterRef<void>;
|
|
116
|
+
readonly sidebarToggle: OutputEmitterRef<void>;
|
|
117
|
+
readonly firstName: Signal<string>;
|
|
118
|
+
readonly lastName: Signal<string>;
|
|
119
|
+
onMenuItemClick(item: FuiToolbarMenuItem): void;
|
|
120
|
+
onUserProfileClick(): void;
|
|
121
|
+
onSidebarToggleClick(): void;
|
|
122
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FuiToolbarComponent, never>;
|
|
123
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FuiToolbarComponent, "fui-toolbar", never, { "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "userProfile": { "alias": "userProfile"; "required": false; "isSignal": true; }; "fixed": { "alias": "fixed"; "required": false; "isSignal": true; }; "activeMenuItemId": { "alias": "activeMenuItemId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "userAriaLabel": { "alias": "userAriaLabel"; "required": false; "isSignal": true; }; "showSidebarToggle": { "alias": "showSidebarToggle"; "required": false; "isSignal": true; }; }, { "menuItemClick": "menuItemClick"; "userProfileClick": "userProfileClick"; "sidebarToggle": "sidebarToggle"; }, never, ["[logo]", "[more-buttons]"], true, never>;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export { FuiToolbarComponent };
|
|
127
|
+
export type { FuiToolbarMenuItem, FuiToolbarUserProfile };
|
|
128
|
+
//# sourceMappingURL=raintonic-formaui-components-toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raintonic-formaui-components-toolbar.d.ts","sources":["../../../lib/components/toolbar/toolbar.component.ts"],"mappings":";;;AAgBA;;AAEG;UACc,kBAAkB;AACjC;;;;AAIA;kBACc,MAAM;;AAErB;AAED;;AAEG;UACc,qBAAqB;;;;;AAKrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgFG;AACH,cAca,mBAAmB;wBAEV,WAAW,CAAC,kBAAkB;0BAC5B,WAAW,CAAC,qBAAqB;AACvD,oBAAgB,WAAW;+BACA,WAAW;wBACpB,WAAA;4BACI,WAAA;AAEtB,gCAA4B,WAAW;4BAGf,gBAAgB;AACxC,+BAA2B,gBAAgB;AAE3C,4BAAwB,gBAAgB;AAGxC,wBAAoB,MAAM;AAC1B,uBAAmB,MAAM;AAKzB,0BAAsB,kBAAkB;AAMxC;AAMA;yCApCW,mBAAmB;2CAAnB,mBAAmB;AAuC/B;;;;","names":[]}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { OnDestroy, Signal } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Available tooltip positions relative to the trigger element
|
|
6
|
+
*/
|
|
7
|
+
type TooltipPosition = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
|
|
8
|
+
/**
|
|
9
|
+
* Available tooltip sizes
|
|
10
|
+
*/
|
|
11
|
+
type TooltipSize = 'sm' | 'md' | 'lg';
|
|
12
|
+
/**
|
|
13
|
+
* Tooltip trigger events
|
|
14
|
+
*/
|
|
15
|
+
type TooltipTrigger = 'hover' | 'focus' | 'click' | 'manual';
|
|
16
|
+
/**
|
|
17
|
+
* Constants for validation
|
|
18
|
+
*/
|
|
19
|
+
declare const TOOLTIP_POSITIONS: readonly ["top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end", "left", "left-start", "left-end", "right", "right-start", "right-end"];
|
|
20
|
+
declare const TOOLTIP_SIZES: readonly ["sm", "md", "lg"];
|
|
21
|
+
declare const TOOLTIP_TRIGGERS: readonly ["hover", "focus", "click", "manual"];
|
|
22
|
+
/**
|
|
23
|
+
* Tooltip configuration interface
|
|
24
|
+
*/
|
|
25
|
+
interface TooltipConfig {
|
|
26
|
+
position?: TooltipPosition;
|
|
27
|
+
size?: TooltipSize;
|
|
28
|
+
trigger?: TooltipTrigger;
|
|
29
|
+
showDelay?: number;
|
|
30
|
+
hideDelay?: number;
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
maxWidth?: string;
|
|
33
|
+
offset?: number;
|
|
34
|
+
arrow?: boolean;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* # Tooltip Directive
|
|
39
|
+
*
|
|
40
|
+
* A professional tooltip directive that provides contextual information on hover, focus, or click.
|
|
41
|
+
* Follows Material Design patterns with full accessibility support and advanced positioning.
|
|
42
|
+
*
|
|
43
|
+
* ## Features
|
|
44
|
+
* - Multiple positioning options (12 positions)
|
|
45
|
+
* - Configurable trigger events (hover, focus, click, manual)
|
|
46
|
+
* - Multiple variants for different semantic meanings
|
|
47
|
+
* - Flexible sizing options
|
|
48
|
+
* - Smart positioning with collision detection
|
|
49
|
+
* - Customizable delays and animations
|
|
50
|
+
* - Full accessibility support (ARIA attributes, keyboard navigation)
|
|
51
|
+
* - Arrow indicator support
|
|
52
|
+
* - Responsive design with max-width control
|
|
53
|
+
* - Theme support (light/dark)
|
|
54
|
+
*
|
|
55
|
+
* ## Usage
|
|
56
|
+
*
|
|
57
|
+
* ### Basic Tooltip
|
|
58
|
+
* ```html
|
|
59
|
+
* <button fuiTooltip="Save your changes">Save</button>
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* ### Advanced Configuration
|
|
63
|
+
* ```html
|
|
64
|
+
* <button fuiTooltip="Delete this item permanently"
|
|
65
|
+
* fuiTooltipPosition="top"
|
|
66
|
+
* fuiTooltipVariant="error"
|
|
67
|
+
* fuiTooltipSize="lg"
|
|
68
|
+
* [fuiTooltipShowDelay]="500">
|
|
69
|
+
* Delete
|
|
70
|
+
* </button>
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* ### Click Trigger
|
|
74
|
+
* ```html
|
|
75
|
+
* <span fuiTooltip="Click to copy"
|
|
76
|
+
* fuiTooltipTrigger="click"
|
|
77
|
+
* fuiTooltipPosition="bottom">
|
|
78
|
+
* 📋 Copy to clipboard
|
|
79
|
+
* </span>
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* ### Manual Control
|
|
83
|
+
* ```html
|
|
84
|
+
* <div fuiTooltip="Manual tooltip"
|
|
85
|
+
* fuiTooltipTrigger="manual"
|
|
86
|
+
* [fuiTooltipShow]="showTooltip">
|
|
87
|
+
* Hover me
|
|
88
|
+
* </div>
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* import { FuiTooltipDirective } from '@raintonic/formaui/components/tooltip';
|
|
94
|
+
*
|
|
95
|
+
* @Component({
|
|
96
|
+
* standalone: true,
|
|
97
|
+
* imports: [FuiTooltipDirective],
|
|
98
|
+
* template: `
|
|
99
|
+
* <button fuiTooltip="This will save your work"
|
|
100
|
+
* fuiTooltipPosition="top"
|
|
101
|
+
* fuiTooltipVariant="info">
|
|
102
|
+
* Save Document
|
|
103
|
+
* </button>
|
|
104
|
+
* `
|
|
105
|
+
* })
|
|
106
|
+
* export class MyComponent { }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
declare class FuiTooltipDirective implements OnDestroy {
|
|
110
|
+
private static _nextId;
|
|
111
|
+
/**
|
|
112
|
+
* Tooltip content text
|
|
113
|
+
*/
|
|
114
|
+
readonly fuiTooltip: _angular_core.InputSignal<string>;
|
|
115
|
+
/**
|
|
116
|
+
* Tooltip position relative to the trigger element
|
|
117
|
+
* @default 'top'
|
|
118
|
+
*/
|
|
119
|
+
readonly fuiTooltipPosition: _angular_core.InputSignalWithTransform<TooltipPosition, string>;
|
|
120
|
+
/**
|
|
121
|
+
* Tooltip size
|
|
122
|
+
* @default 'md'
|
|
123
|
+
*/
|
|
124
|
+
readonly fuiTooltipSize: _angular_core.InputSignalWithTransform<TooltipSize, string>;
|
|
125
|
+
/**
|
|
126
|
+
* Tooltip trigger event
|
|
127
|
+
* @default 'hover'
|
|
128
|
+
*/
|
|
129
|
+
readonly fuiTooltipTrigger: _angular_core.InputSignalWithTransform<TooltipTrigger, string>;
|
|
130
|
+
/**
|
|
131
|
+
* Delay before showing tooltip (in milliseconds)
|
|
132
|
+
* @default 500
|
|
133
|
+
*/
|
|
134
|
+
readonly fuiTooltipShowDelay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
135
|
+
/**
|
|
136
|
+
* Delay before hiding tooltip (in milliseconds)
|
|
137
|
+
* @default 0
|
|
138
|
+
*/
|
|
139
|
+
readonly fuiTooltipHideDelay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
140
|
+
/**
|
|
141
|
+
* Whether the tooltip is disabled
|
|
142
|
+
* @default false
|
|
143
|
+
*/
|
|
144
|
+
readonly fuiTooltipDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
145
|
+
/**
|
|
146
|
+
* Maximum width of the tooltip
|
|
147
|
+
* @default '200px'
|
|
148
|
+
*/
|
|
149
|
+
readonly fuiTooltipMaxWidth: _angular_core.InputSignal<string>;
|
|
150
|
+
/**
|
|
151
|
+
* Offset distance from the trigger element (in pixels)
|
|
152
|
+
* @default 8
|
|
153
|
+
*/
|
|
154
|
+
readonly fuiTooltipOffset: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
155
|
+
/**
|
|
156
|
+
* Whether to show an arrow pointing to the trigger element
|
|
157
|
+
* @default true
|
|
158
|
+
*/
|
|
159
|
+
readonly fuiTooltipArrow: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
160
|
+
/**
|
|
161
|
+
* Manual control for showing/hiding tooltip (only works with trigger="manual")
|
|
162
|
+
* @default false
|
|
163
|
+
*/
|
|
164
|
+
readonly fuiTooltipShow: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
165
|
+
private readonly _isVisible;
|
|
166
|
+
private readonly _tooltipId;
|
|
167
|
+
private _overlayRef;
|
|
168
|
+
private _tooltipComponent;
|
|
169
|
+
private _showTimeout;
|
|
170
|
+
private _hideTimeout;
|
|
171
|
+
private _isHoveringTooltip;
|
|
172
|
+
readonly isVisible: Signal<boolean>;
|
|
173
|
+
readonly tooltipId: Signal<string>;
|
|
174
|
+
private readonly _elementRef;
|
|
175
|
+
private readonly _overlayService;
|
|
176
|
+
private readonly _environmentInjector;
|
|
177
|
+
constructor();
|
|
178
|
+
ngOnDestroy(): void;
|
|
179
|
+
onMouseEnter(): void;
|
|
180
|
+
onMouseLeave(): void;
|
|
181
|
+
onFocus(): void;
|
|
182
|
+
onBlur(): void;
|
|
183
|
+
onClick(): void;
|
|
184
|
+
onKeydown(event: KeyboardEvent): void;
|
|
185
|
+
/**
|
|
186
|
+
* Programmatically show the tooltip
|
|
187
|
+
*/
|
|
188
|
+
show(): void;
|
|
189
|
+
/**
|
|
190
|
+
* Programmatically hide the tooltip
|
|
191
|
+
*/
|
|
192
|
+
hide(): void;
|
|
193
|
+
/**
|
|
194
|
+
* Toggle tooltip visibility
|
|
195
|
+
*/
|
|
196
|
+
toggle(): void;
|
|
197
|
+
private _scheduleShow;
|
|
198
|
+
private _scheduleHide;
|
|
199
|
+
private _showTooltip;
|
|
200
|
+
private _hideTooltip;
|
|
201
|
+
private _createTooltip;
|
|
202
|
+
private _getPositionsForTooltipPosition;
|
|
203
|
+
private _destroyTooltip;
|
|
204
|
+
private _clearTimeouts;
|
|
205
|
+
private readonly _onDocumentClick;
|
|
206
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiTooltipDirective, never>;
|
|
207
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FuiTooltipDirective, "[fuiTooltip]", never, { "fuiTooltip": { "alias": "fuiTooltip"; "required": true; "isSignal": true; }; "fuiTooltipPosition": { "alias": "fuiTooltipPosition"; "required": false; "isSignal": true; }; "fuiTooltipSize": { "alias": "fuiTooltipSize"; "required": false; "isSignal": true; }; "fuiTooltipTrigger": { "alias": "fuiTooltipTrigger"; "required": false; "isSignal": true; }; "fuiTooltipShowDelay": { "alias": "fuiTooltipShowDelay"; "required": false; "isSignal": true; }; "fuiTooltipHideDelay": { "alias": "fuiTooltipHideDelay"; "required": false; "isSignal": true; }; "fuiTooltipDisabled": { "alias": "fuiTooltipDisabled"; "required": false; "isSignal": true; }; "fuiTooltipMaxWidth": { "alias": "fuiTooltipMaxWidth"; "required": false; "isSignal": true; }; "fuiTooltipOffset": { "alias": "fuiTooltipOffset"; "required": false; "isSignal": true; }; "fuiTooltipArrow": { "alias": "fuiTooltipArrow"; "required": false; "isSignal": true; }; "fuiTooltipShow": { "alias": "fuiTooltipShow"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* @component FuiTooltipComponent
|
|
212
|
+
* @selector fui-tooltip
|
|
213
|
+
* @description Internal tooltip component rendered by FuiTooltipDirective via the overlay system.
|
|
214
|
+
* Not intended for direct use; created programmatically by the directive.
|
|
215
|
+
*
|
|
216
|
+
* @input content - (required) Tooltip text content.
|
|
217
|
+
* @input position - (required) Tooltip position relative to the trigger element.
|
|
218
|
+
* @input size - (required) Tooltip size variant.
|
|
219
|
+
* @input maxWidth - (required) Maximum CSS width of the tooltip.
|
|
220
|
+
* @input arrow - (required) Whether to render an arrow indicator.
|
|
221
|
+
* @input tooltipId - (required) Unique ID for ARIA accessibility linking.
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* <!-- Used internally by FuiTooltipDirective -->
|
|
225
|
+
* <button fuiTooltip="Save your changes">Save</button>
|
|
226
|
+
*
|
|
227
|
+
* @internal
|
|
228
|
+
*/
|
|
229
|
+
declare class FuiTooltipComponent {
|
|
230
|
+
/**
|
|
231
|
+
* Tooltip content text
|
|
232
|
+
*/
|
|
233
|
+
readonly content: _angular_core.InputSignal<string>;
|
|
234
|
+
/**
|
|
235
|
+
* Tooltip position
|
|
236
|
+
*/
|
|
237
|
+
readonly position: _angular_core.InputSignal<TooltipPosition>;
|
|
238
|
+
/**
|
|
239
|
+
* Tooltip size
|
|
240
|
+
*/
|
|
241
|
+
readonly size: _angular_core.InputSignal<TooltipSize>;
|
|
242
|
+
/**
|
|
243
|
+
* Maximum width of the tooltip
|
|
244
|
+
*/
|
|
245
|
+
readonly maxWidth: _angular_core.InputSignal<string>;
|
|
246
|
+
/**
|
|
247
|
+
* Whether to show arrow
|
|
248
|
+
*/
|
|
249
|
+
readonly arrow: _angular_core.InputSignal<boolean>;
|
|
250
|
+
/**
|
|
251
|
+
* Tooltip ID for accessibility
|
|
252
|
+
*/
|
|
253
|
+
readonly tooltipId: _angular_core.InputSignal<string>;
|
|
254
|
+
/**
|
|
255
|
+
* Computed CSS classes for the tooltip
|
|
256
|
+
*/
|
|
257
|
+
readonly computedClasses: Signal<string>;
|
|
258
|
+
/**
|
|
259
|
+
* Computed arrow classes based on position
|
|
260
|
+
*/
|
|
261
|
+
readonly arrowClasses: Signal<string>;
|
|
262
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiTooltipComponent, never>;
|
|
263
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FuiTooltipComponent, "fui-tooltip", never, { "content": { "alias": "content"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": true; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": true; "isSignal": true; }; "arrow": { "alias": "arrow"; "required": true; "isSignal": true; }; "tooltipId": { "alias": "tooltipId"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
export { FuiTooltipComponent, FuiTooltipDirective, TOOLTIP_POSITIONS, TOOLTIP_SIZES, TOOLTIP_TRIGGERS };
|
|
267
|
+
export type { TooltipConfig, TooltipPosition, TooltipSize, TooltipTrigger };
|
|
268
|
+
//# sourceMappingURL=raintonic-formaui-components-tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raintonic-formaui-components-tooltip.d.ts","sources":["../../../lib/components/tooltip/tooltip.types.ts","../../../lib/components/tooltip/tooltip.directive.ts","../../../lib/components/tooltip/tooltip.component.ts"],"mappings":";;;AAAA;;AAEG;AACG,KAAM,eAAe;AAc3B;;AAEG;AACG,KAAM,WAAW;AAEvB;;AAEG;AACG,KAAM,cAAc;AAE1B;;AAEG;AACH,cAAa,iBAAiB;AAe9B,cAAa,aAAa;AAC1B,cAAa,gBAAgB;AAE7B;;AAEG;UACc,aAAa;eACjB,eAAe;WACnB,WAAW;cACR,cAAc;;;;;;;AAOzB;;AChCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEG;AACH,cAOa,mBAAoB,YAAW,SAAS;AACnD;AACA;;AAEG;yBACgB,aAAA,CAAA,WAAA;AAEnB;;;AAGG;iCACwB,aAAA,CAAA,wBAAA,CAAA,eAAA;AAI3B;;;AAGG;6BACoB,aAAA,CAAA,wBAAA,CAAA,WAAA;AAIvB;;;AAGG;gCACuB,aAAA,CAAA,wBAAA,CAAA,cAAA;AAI1B;;;AAGG;kCACyB,aAAA,CAAA,wBAAA;AAE5B;;;AAGG;kCACyB,aAAA,CAAA,wBAAA;AAE5B;;;AAGG;iCACwB,aAAA,CAAA,wBAAA;AAE3B;;;AAGG;iCACwB,aAAA,CAAA,WAAA;AAE3B;;;AAGG;+BACsB,aAAA,CAAA,wBAAA;AAEzB;;;AAGG;8BACqB,aAAA,CAAA,wBAAA;AAExB;;;AAGG;6BACoB,aAAA,CAAA,wBAAA;AAGvB;AACA;;;;;;AAQA,wBAAoB,MAAM;AAC1B,wBAAoB,MAAM;AAG1B;AACA;AACA;;AAyBA;AAMA;AAOA;AAOA;AAOA;AAOA;AAWA,qBAAiB,aAAa;AAO9B;;AAEG;AACH;AAMA;;AAEG;AACH;AAIA;;AAEG;AACH;AAQA;AAYA;AAgBA;AAgBA;AAUA;AAuDA;AAwDA;AAYA;AAWA;oDA7XW,mBAAmB;sDAAnB,mBAAmB;AAsY/B;;AC9eD;;;;;;;;;;;;;;;;;;AAkBG;AACH,cAgBa,mBAAmB;AAC9B;;AAEG;sBACa,aAAA,CAAA,WAAA;AAEhB;;AAEG;uBACc,aAAA,CAAA,WAAA,CAAA,eAAA;AAEjB;;AAEG;mBACU,aAAA,CAAA,WAAA,CAAA,WAAA;AAEb;;AAEG;uBACc,aAAA,CAAA,WAAA;AAEjB;;AAEG;oBACW,aAAA,CAAA,WAAA;AAEd;;AAEG;wBACe,aAAA,CAAA,WAAA;AAElB;;AAEG;AACH,8BAA0B,MAAM;AAUhC;;AAEG;AACH,2BAAuB,MAAM;oDA/ClB,mBAAmB;sDAAnB,mBAAmB;AA+D/B;;;;","names":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { OnDestroy, DoCheck, TemplateRef, Signal, ElementRef } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
4
|
+
import { Observable, Subject } from 'rxjs';
|
|
5
|
+
import { FuiFormFieldControl } from '@raintonic/formaui/core';
|
|
6
|
+
import { FuiTreeNode, FuiTreeNodeEvent, FuiTreeSelectionMode } from '@raintonic/formaui/components/tree';
|
|
7
|
+
|
|
8
|
+
interface FuiTreeSelectChange<T = any> {
|
|
9
|
+
value: FuiTreeNode<T> | FuiTreeNode<T>[] | null;
|
|
10
|
+
source: any;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare class FuiTreeSelectComponent<T = any> implements ControlValueAccessor, FuiFormFieldControl<T | T[]>, OnDestroy, DoCheck {
|
|
14
|
+
readonly nodes: _angular_core.InputSignal<FuiTreeNode<T>[]>;
|
|
15
|
+
readonly selectionMode: _angular_core.InputSignal<"multi" | "single" | "checkbox">;
|
|
16
|
+
readonly placeholderInput: _angular_core.InputSignal<string>;
|
|
17
|
+
readonly showSearch: _angular_core.InputSignal<boolean>;
|
|
18
|
+
readonly loadChildren: _angular_core.InputSignal<((node: FuiTreeNode<T>) => Observable<FuiTreeNode<T>[]>) | null>;
|
|
19
|
+
readonly nodeTemplate: _angular_core.InputSignal<TemplateRef<any> | null>;
|
|
20
|
+
readonly displayField: _angular_core.InputSignal<string | ((node: FuiTreeNode<T>) => string) | null>;
|
|
21
|
+
readonly disabledInput: _angular_core.InputSignal<boolean>;
|
|
22
|
+
readonly selectionChange: _angular_core.OutputEmitterRef<FuiTreeSelectChange<T>>;
|
|
23
|
+
readonly stateChanges: Subject<void>;
|
|
24
|
+
private readonly _value;
|
|
25
|
+
readonly value: Signal<T | T[] | null>;
|
|
26
|
+
readonly placeholder: Signal<string>;
|
|
27
|
+
readonly focused: _angular_core.WritableSignal<boolean>;
|
|
28
|
+
readonly empty: Signal<boolean>;
|
|
29
|
+
readonly required: _angular_core.WritableSignal<boolean>;
|
|
30
|
+
private readonly _disabled;
|
|
31
|
+
readonly disabled: Signal<boolean>;
|
|
32
|
+
readonly errorState: _angular_core.WritableSignal<boolean>;
|
|
33
|
+
readonly controlType = "fui-tree-select";
|
|
34
|
+
readonly id: string;
|
|
35
|
+
readonly _panelOpen: _angular_core.WritableSignal<boolean>;
|
|
36
|
+
readonly _treeId: string;
|
|
37
|
+
readonly _searchFilter: _angular_core.WritableSignal<string>;
|
|
38
|
+
private _overlayRef;
|
|
39
|
+
private readonly _ngControlRef;
|
|
40
|
+
get ngControl(): NgControl | null;
|
|
41
|
+
private readonly _overlayService;
|
|
42
|
+
private readonly _elementRef;
|
|
43
|
+
readonly _selectedNodes: _angular_core.WritableSignal<FuiTreeNode<T>[]>;
|
|
44
|
+
trigger?: ElementRef<HTMLDivElement>;
|
|
45
|
+
panel?: ElementRef<HTMLDivElement>;
|
|
46
|
+
private _onChange;
|
|
47
|
+
private _onTouched;
|
|
48
|
+
constructor();
|
|
49
|
+
toggle(): void;
|
|
50
|
+
open(): void;
|
|
51
|
+
close(): void;
|
|
52
|
+
onContainerClick(_event: MouseEvent): void;
|
|
53
|
+
setDescribedByIds(_ids: string[]): void;
|
|
54
|
+
_onTreeSelect(event: FuiTreeNodeEvent<T>): void;
|
|
55
|
+
_onTreeUnselect(event: FuiTreeNodeEvent<T>): void;
|
|
56
|
+
_getDisplayValue(): string;
|
|
57
|
+
_getSelectedDisplayValues(): string[];
|
|
58
|
+
_onSearchInput(event: Event): void;
|
|
59
|
+
_onKeydown(event: KeyboardEvent): void;
|
|
60
|
+
readonly _treeSelectionMode: Signal<FuiTreeSelectionMode>;
|
|
61
|
+
writeValue(value: any): void;
|
|
62
|
+
registerOnChange(fn: any): void;
|
|
63
|
+
registerOnTouched(fn: any): void;
|
|
64
|
+
setDisabledState(disabled: boolean): void;
|
|
65
|
+
ngOnDestroy(): void;
|
|
66
|
+
ngDoCheck(): void;
|
|
67
|
+
private _getNodeLabel;
|
|
68
|
+
private _deselectAll;
|
|
69
|
+
private _updateMultiSelection;
|
|
70
|
+
private _collectSelected;
|
|
71
|
+
private _syncSelectedFromValue;
|
|
72
|
+
private _createOverlay;
|
|
73
|
+
private _disposeOverlay;
|
|
74
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiTreeSelectComponent<any>, never>;
|
|
75
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FuiTreeSelectComponent<any>, "fui-tree-select", never, { "nodes": { "alias": "nodes"; "required": true; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "placeholderInput": { "alias": "placeholder"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "loadChildren": { "alias": "loadChildren"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "displayField": { "alias": "displayField"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { FuiTreeSelectComponent };
|
|
79
|
+
export type { FuiTreeSelectChange };
|
|
80
|
+
//# sourceMappingURL=raintonic-formaui-components-tree-select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raintonic-formaui-components-tree-select.d.ts","sources":["../../../lib/components/tree-select/tree-select.types.ts","../../../lib/components/tree-select/fui-tree-select.component.ts"],"mappings":";;;;;;;AAEM,UAAW,mBAAmB;AAClC,WAAO,WAAW,MAAM,WAAW;;AAEpC;;ACwBD,cAyBa,sBAAsB,qBACtB,oBAAoB,EAAE,mBAAmB,WAAW,SAAS,EAAE,OAAO;oBAGnE,aAAA,CAAA,WAAA,CAAA,WAAA;4BACQ,aAAA,CAAA,WAAA;+BACG,aAAA,CAAA,WAAA;yBACN,aAAA,CAAA,WAAA;AACnB,2BAAqB,aAAA,CAAA,WAAA,SAAiB,WAAW,QAAQ,UAAU,CAAC,WAAW;2BAC1D,aAAA,CAAA,WAAA,CAAA,WAAA;2BACA,aAAA,CAAA,WAAA,kBAA0B,WAAW;4BACpC,aAAA,CAAA,WAAA;8BAEE,aAAA,CAAA,gBAAA,CAAA,mBAAA;2BAGH,OAAA;AACrB;AACA,oBAAgB,MAAM;0BACF,MAAA;sBACJ,aAAA,CAAA,cAAA;oBACF,MAAA;uBAIG,aAAA,CAAA,cAAA;AACjB;uBACiB,MAAA;yBACE,aAAA,CAAA,cAAA;;;yBAKA,aAAA,CAAA,cAAA;;4BAEG,aAAA,CAAA,cAAA;;AAEtB;AACA,qBAAiB,SAAS;AAI1B;AACA;6BAGuB,aAAA,CAAA,cAAA,CAAA,WAAA;AAEkB,cAAU,UAAU,CAAC,cAAc;AACrC,YAAQ,UAAU,CAAC,cAAc;;;;AAmBxE;AAQA;AAYA;AAUA,6BAAyB,UAAU;AAInC;yBAKqB,gBAAgB;2BAkBd,gBAAgB;AAYvC;;AAUA,0BAAsB,KAAK;AAK3B,sBAAkB,aAAa;iCAcJ,MAAA,CAAA,oBAAA;AAK3B;AAMA;AAIA;AAIA;AAKA;AAKA;AAWA;AASA;AAOA;AAUA;AASA;AASA;AA+BA;oDAzRW,sBAAsB;sDAAtB,sBAAsB;AA+RlC;;;;","names":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
|
|
4
|
+
/** Tree table node */
|
|
5
|
+
interface FuiTreeTableNode<T = any> {
|
|
6
|
+
data: T;
|
|
7
|
+
children?: FuiTreeTableNode<T>[] | Observable<FuiTreeTableNode<T>[]>;
|
|
8
|
+
expanded?: boolean;
|
|
9
|
+
selected?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
leaf?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/** Flat representation of a tree table row */
|
|
14
|
+
interface FuiFlatTreeTableRow<T = any> {
|
|
15
|
+
data: T;
|
|
16
|
+
origin: FuiTreeTableNode<T>;
|
|
17
|
+
level: number;
|
|
18
|
+
expandable: boolean;
|
|
19
|
+
expanded: boolean;
|
|
20
|
+
selected: boolean;
|
|
21
|
+
disabled: boolean;
|
|
22
|
+
loading: boolean;
|
|
23
|
+
_flatIndex: number;
|
|
24
|
+
}
|
|
25
|
+
/** Tree table header - same structure as AdvancedDataTableHeader */
|
|
26
|
+
interface FuiTreeTableHeader {
|
|
27
|
+
label: string;
|
|
28
|
+
type: string;
|
|
29
|
+
field: string;
|
|
30
|
+
hasSort?: boolean;
|
|
31
|
+
hasFilter?: boolean;
|
|
32
|
+
stickyColumnStart?: boolean;
|
|
33
|
+
stickyColumnEnd?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/** Tree table configuration */
|
|
36
|
+
interface FuiTreeTableConfig {
|
|
37
|
+
headerSticky?: boolean;
|
|
38
|
+
headers: FuiTreeTableHeader[];
|
|
39
|
+
areRowsSelectable?: boolean;
|
|
40
|
+
/** Which column shows the tree structure. Defaults to first column. */
|
|
41
|
+
treeColumn?: string;
|
|
42
|
+
/** Indentation per level in pixels */
|
|
43
|
+
indentPx?: number;
|
|
44
|
+
}
|
|
45
|
+
/** Column filter */
|
|
46
|
+
interface FuiTreeTableColumnFilter {
|
|
47
|
+
field: string;
|
|
48
|
+
operator: string;
|
|
49
|
+
value: string | number | boolean | Date | (string | number | Date)[];
|
|
50
|
+
}
|
|
51
|
+
/** Row expand/collapse event */
|
|
52
|
+
interface FuiTreeTableRowEvent<T = any> {
|
|
53
|
+
row: FuiTreeTableNode<T>;
|
|
54
|
+
flatRow: FuiFlatTreeTableRow<T>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
declare class FuiTreeTableComponent<T = any> {
|
|
58
|
+
readonly config: _angular_core.InputSignal<FuiTreeTableConfig>;
|
|
59
|
+
readonly sort: _angular_core.InputSignal<{
|
|
60
|
+
field: string;
|
|
61
|
+
direction: "ASC" | "DESC";
|
|
62
|
+
} | null>;
|
|
63
|
+
readonly filters: _angular_core.InputSignal<FuiTreeTableColumnFilter[]>;
|
|
64
|
+
readonly enableRowHighlight: _angular_core.InputSignal<boolean>;
|
|
65
|
+
readonly emptyMessage: _angular_core.InputSignal<string>;
|
|
66
|
+
readonly nodes: _angular_core.InputSignal<FuiTreeTableNode<T>[]>;
|
|
67
|
+
readonly loadChildren: _angular_core.InputSignal<((node: FuiTreeTableNode<T>) => Observable<FuiTreeTableNode<T>[]>) | null>;
|
|
68
|
+
readonly sortChange: _angular_core.OutputEmitterRef<{
|
|
69
|
+
field: string;
|
|
70
|
+
direction: "ASC" | "DESC";
|
|
71
|
+
} | null>;
|
|
72
|
+
readonly filtersChange: _angular_core.OutputEmitterRef<FuiTreeTableColumnFilter[]>;
|
|
73
|
+
readonly rowDblClick: _angular_core.OutputEmitterRef<T>;
|
|
74
|
+
readonly rowExpand: _angular_core.OutputEmitterRef<FuiTreeTableRowEvent<T>>;
|
|
75
|
+
readonly rowCollapse: _angular_core.OutputEmitterRef<FuiTreeTableRowEvent<T>>;
|
|
76
|
+
private readonly _refreshCounter;
|
|
77
|
+
readonly flatRows: _angular_core.Signal<FuiFlatTreeTableRow<T>[]>;
|
|
78
|
+
readonly treeColumnField: _angular_core.Signal<string>;
|
|
79
|
+
readonly indentPx: _angular_core.Signal<number>;
|
|
80
|
+
private _flattenNodes;
|
|
81
|
+
onToggleRow(flatRow: FuiFlatTreeTableRow<T>): void;
|
|
82
|
+
onSortColumn(field: string): void;
|
|
83
|
+
getCellValue(row: T, field: string): any;
|
|
84
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FuiTreeTableComponent<any>, never>;
|
|
85
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FuiTreeTableComponent<any>, "fui-tree-table", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "enableRowHighlight": { "alias": "enableRowHighlight"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "nodes": { "alias": "nodes"; "required": true; "isSignal": true; }; "loadChildren": { "alias": "loadChildren"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "filtersChange": "filtersChange"; "rowDblClick": "rowDblClick"; "rowExpand": "rowExpand"; "rowCollapse": "rowCollapse"; }, never, never, true, never>;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { FuiTreeTableComponent };
|
|
89
|
+
export type { FuiFlatTreeTableRow, FuiTreeTableColumnFilter, FuiTreeTableConfig, FuiTreeTableHeader, FuiTreeTableNode, FuiTreeTableRowEvent };
|
|
90
|
+
//# sourceMappingURL=raintonic-formaui-components-tree-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raintonic-formaui-components-tree-table.d.ts","sources":["../../../lib/components/tree-table/tree-table.types.ts","../../../lib/components/tree-table/fui-tree-table.component.ts"],"mappings":";;;AAEA;AACM,UAAW,gBAAgB;;AAE/B,eAAW,gBAAgB,QAAQ,UAAU,CAAC,gBAAgB;;;;;AAK/D;AAED;AACM,UAAW,mBAAmB;;AAElC,YAAQ,gBAAgB;;;;;;;;AAQzB;AAED;UACiB,kBAAkB;;;;;;;;AAQlC;AAED;UACiB,kBAAkB;;aAExB,kBAAkB;;;;;;AAM5B;AAED;UACiB,wBAAwB;;;AAGvC,uCAAmC,IAAI,sBAAsB,IAAI;AAClE;AAED;AACM,UAAW,oBAAoB;AACnC,SAAK,gBAAgB;AACrB,aAAS,mBAAmB;AAC7B;;AC/CD,cAYa,qBAAqB;qBAEjB,aAAA,CAAA,WAAA,CAAA,kBAAA;AACf,mBAAa,aAAA,CAAA,WAAA;;AAAqC;AAA+B;sBACjE,aAAA,CAAA,WAAA,CAAA,wBAAA;iCACW,aAAA,CAAA,WAAA;2BACN,aAAA,CAAA,WAAA;oBAGP,aAAA,CAAA,WAAA,CAAA,gBAAA;AACd,2BAAqB,aAAA,CAAA,WAAA,SAAiB,gBAAgB,QAAQ,UAAU,CAAC,gBAAgB;AAGzF,yBAAmB,aAAA,CAAA,gBAAA;;AAAsC;AAA2B;4BAC9D,aAAA,CAAA,gBAAA,CAAA,wBAAA;0BACF,aAAA,CAAA,gBAAA;wBACF,aAAA,CAAA,gBAAA,CAAA,oBAAA;0BACE,aAAA,CAAA,gBAAA,CAAA,oBAAA;AAGpB;uBAEiB,aAAA,CAAA,MAAA,CAAA,mBAAA;8BAKO,aAAA,CAAA,MAAA;uBAKP,aAAA,CAAA,MAAA;AAGjB;yBA2BqB,mBAAmB;AAYxC;;oDA1EW,qBAAqB;sDAArB,qBAAqB;AA2FjC;;;;","names":[]}
|